@@ -1871,9 +1871,16 @@ static void smart_init(struct nfit_test *t)
18711871 }
18721872}
18731873
1874+ static size_t sizeof_spa (struct acpi_nfit_system_address * spa )
1875+ {
1876+ /* until spa location cookie support is added... */
1877+ return sizeof (* spa ) - 8 ;
1878+ }
1879+
18741880static int nfit_test0_alloc (struct nfit_test * t )
18751881{
1876- size_t nfit_size = sizeof (struct acpi_nfit_system_address ) * NUM_SPA
1882+ struct acpi_nfit_system_address * spa = NULL ;
1883+ size_t nfit_size = sizeof_spa (spa ) * NUM_SPA
18771884 + sizeof (struct acpi_nfit_memory_map ) * NUM_MEM
18781885 + sizeof (struct acpi_nfit_control_region ) * NUM_DCR
18791886 + offsetof(struct acpi_nfit_control_region ,
@@ -1937,7 +1944,8 @@ static int nfit_test0_alloc(struct nfit_test *t)
19371944
19381945static int nfit_test1_alloc (struct nfit_test * t )
19391946{
1940- size_t nfit_size = sizeof (struct acpi_nfit_system_address ) * 2
1947+ struct acpi_nfit_system_address * spa = NULL ;
1948+ size_t nfit_size = sizeof_spa (spa ) * 2
19411949 + sizeof (struct acpi_nfit_memory_map ) * 2
19421950 + offsetof(struct acpi_nfit_control_region , window_size ) * 2 ;
19431951 int i ;
@@ -2000,7 +2008,7 @@ static void nfit_test0_setup(struct nfit_test *t)
20002008 */
20012009 spa = nfit_buf ;
20022010 spa -> header .type = ACPI_NFIT_TYPE_SYSTEM_ADDRESS ;
2003- spa -> header .length = sizeof ( * spa );
2011+ spa -> header .length = sizeof_spa ( spa );
20042012 memcpy (spa -> range_guid , to_nfit_uuid (NFIT_SPA_PM ), 16 );
20052013 spa -> range_index = 0 + 1 ;
20062014 spa -> address = t -> spa_set_dma [0 ];
@@ -2014,7 +2022,7 @@ static void nfit_test0_setup(struct nfit_test *t)
20142022 */
20152023 spa = nfit_buf + offset ;
20162024 spa -> header .type = ACPI_NFIT_TYPE_SYSTEM_ADDRESS ;
2017- spa -> header .length = sizeof ( * spa );
2025+ spa -> header .length = sizeof_spa ( spa );
20182026 memcpy (spa -> range_guid , to_nfit_uuid (NFIT_SPA_PM ), 16 );
20192027 spa -> range_index = 1 + 1 ;
20202028 spa -> address = t -> spa_set_dma [1 ];
@@ -2024,7 +2032,7 @@ static void nfit_test0_setup(struct nfit_test *t)
20242032 /* spa2 (dcr0) dimm0 */
20252033 spa = nfit_buf + offset ;
20262034 spa -> header .type = ACPI_NFIT_TYPE_SYSTEM_ADDRESS ;
2027- spa -> header .length = sizeof ( * spa );
2035+ spa -> header .length = sizeof_spa ( spa );
20282036 memcpy (spa -> range_guid , to_nfit_uuid (NFIT_SPA_DCR ), 16 );
20292037 spa -> range_index = 2 + 1 ;
20302038 spa -> address = t -> dcr_dma [0 ];
@@ -2034,7 +2042,7 @@ static void nfit_test0_setup(struct nfit_test *t)
20342042 /* spa3 (dcr1) dimm1 */
20352043 spa = nfit_buf + offset ;
20362044 spa -> header .type = ACPI_NFIT_TYPE_SYSTEM_ADDRESS ;
2037- spa -> header .length = sizeof ( * spa );
2045+ spa -> header .length = sizeof_spa ( spa );
20382046 memcpy (spa -> range_guid , to_nfit_uuid (NFIT_SPA_DCR ), 16 );
20392047 spa -> range_index = 3 + 1 ;
20402048 spa -> address = t -> dcr_dma [1 ];
@@ -2044,7 +2052,7 @@ static void nfit_test0_setup(struct nfit_test *t)
20442052 /* spa4 (dcr2) dimm2 */
20452053 spa = nfit_buf + offset ;
20462054 spa -> header .type = ACPI_NFIT_TYPE_SYSTEM_ADDRESS ;
2047- spa -> header .length = sizeof ( * spa );
2055+ spa -> header .length = sizeof_spa ( spa );
20482056 memcpy (spa -> range_guid , to_nfit_uuid (NFIT_SPA_DCR ), 16 );
20492057 spa -> range_index = 4 + 1 ;
20502058 spa -> address = t -> dcr_dma [2 ];
@@ -2054,7 +2062,7 @@ static void nfit_test0_setup(struct nfit_test *t)
20542062 /* spa5 (dcr3) dimm3 */
20552063 spa = nfit_buf + offset ;
20562064 spa -> header .type = ACPI_NFIT_TYPE_SYSTEM_ADDRESS ;
2057- spa -> header .length = sizeof ( * spa );
2065+ spa -> header .length = sizeof_spa ( spa );
20582066 memcpy (spa -> range_guid , to_nfit_uuid (NFIT_SPA_DCR ), 16 );
20592067 spa -> range_index = 5 + 1 ;
20602068 spa -> address = t -> dcr_dma [3 ];
@@ -2064,7 +2072,7 @@ static void nfit_test0_setup(struct nfit_test *t)
20642072 /* spa6 (bdw for dcr0) dimm0 */
20652073 spa = nfit_buf + offset ;
20662074 spa -> header .type = ACPI_NFIT_TYPE_SYSTEM_ADDRESS ;
2067- spa -> header .length = sizeof ( * spa );
2075+ spa -> header .length = sizeof_spa ( spa );
20682076 memcpy (spa -> range_guid , to_nfit_uuid (NFIT_SPA_BDW ), 16 );
20692077 spa -> range_index = 6 + 1 ;
20702078 spa -> address = t -> dimm_dma [0 ];
@@ -2074,7 +2082,7 @@ static void nfit_test0_setup(struct nfit_test *t)
20742082 /* spa7 (bdw for dcr1) dimm1 */
20752083 spa = nfit_buf + offset ;
20762084 spa -> header .type = ACPI_NFIT_TYPE_SYSTEM_ADDRESS ;
2077- spa -> header .length = sizeof ( * spa );
2085+ spa -> header .length = sizeof_spa ( spa );
20782086 memcpy (spa -> range_guid , to_nfit_uuid (NFIT_SPA_BDW ), 16 );
20792087 spa -> range_index = 7 + 1 ;
20802088 spa -> address = t -> dimm_dma [1 ];
@@ -2084,7 +2092,7 @@ static void nfit_test0_setup(struct nfit_test *t)
20842092 /* spa8 (bdw for dcr2) dimm2 */
20852093 spa = nfit_buf + offset ;
20862094 spa -> header .type = ACPI_NFIT_TYPE_SYSTEM_ADDRESS ;
2087- spa -> header .length = sizeof ( * spa );
2095+ spa -> header .length = sizeof_spa ( spa );
20882096 memcpy (spa -> range_guid , to_nfit_uuid (NFIT_SPA_BDW ), 16 );
20892097 spa -> range_index = 8 + 1 ;
20902098 spa -> address = t -> dimm_dma [2 ];
@@ -2094,7 +2102,7 @@ static void nfit_test0_setup(struct nfit_test *t)
20942102 /* spa9 (bdw for dcr3) dimm3 */
20952103 spa = nfit_buf + offset ;
20962104 spa -> header .type = ACPI_NFIT_TYPE_SYSTEM_ADDRESS ;
2097- spa -> header .length = sizeof ( * spa );
2105+ spa -> header .length = sizeof_spa ( spa );
20982106 memcpy (spa -> range_guid , to_nfit_uuid (NFIT_SPA_BDW ), 16 );
20992107 spa -> range_index = 9 + 1 ;
21002108 spa -> address = t -> dimm_dma [3 ];
@@ -2581,7 +2589,7 @@ static void nfit_test0_setup(struct nfit_test *t)
25812589 /* spa10 (dcr4) dimm4 */
25822590 spa = nfit_buf + offset ;
25832591 spa -> header .type = ACPI_NFIT_TYPE_SYSTEM_ADDRESS ;
2584- spa -> header .length = sizeof ( * spa );
2592+ spa -> header .length = sizeof_spa ( spa );
25852593 memcpy (spa -> range_guid , to_nfit_uuid (NFIT_SPA_DCR ), 16 );
25862594 spa -> range_index = 10 + 1 ;
25872595 spa -> address = t -> dcr_dma [4 ];
@@ -2595,7 +2603,7 @@ static void nfit_test0_setup(struct nfit_test *t)
25952603 */
25962604 spa = nfit_buf + offset ;
25972605 spa -> header .type = ACPI_NFIT_TYPE_SYSTEM_ADDRESS ;
2598- spa -> header .length = sizeof ( * spa );
2606+ spa -> header .length = sizeof_spa ( spa );
25992607 memcpy (spa -> range_guid , to_nfit_uuid (NFIT_SPA_PM ), 16 );
26002608 spa -> range_index = 11 + 1 ;
26012609 spa -> address = t -> spa_set_dma [2 ];
@@ -2605,7 +2613,7 @@ static void nfit_test0_setup(struct nfit_test *t)
26052613 /* spa12 (bdw for dcr4) dimm4 */
26062614 spa = nfit_buf + offset ;
26072615 spa -> header .type = ACPI_NFIT_TYPE_SYSTEM_ADDRESS ;
2608- spa -> header .length = sizeof ( * spa );
2616+ spa -> header .length = sizeof_spa ( spa );
26092617 memcpy (spa -> range_guid , to_nfit_uuid (NFIT_SPA_BDW ), 16 );
26102618 spa -> range_index = 12 + 1 ;
26112619 spa -> address = t -> dimm_dma [4 ];
@@ -2739,7 +2747,7 @@ static void nfit_test1_setup(struct nfit_test *t)
27392747 /* spa0 (flat range with no bdw aliasing) */
27402748 spa = nfit_buf + offset ;
27412749 spa -> header .type = ACPI_NFIT_TYPE_SYSTEM_ADDRESS ;
2742- spa -> header .length = sizeof ( * spa );
2750+ spa -> header .length = sizeof_spa ( spa );
27432751 memcpy (spa -> range_guid , to_nfit_uuid (NFIT_SPA_PM ), 16 );
27442752 spa -> range_index = 0 + 1 ;
27452753 spa -> address = t -> spa_set_dma [0 ];
@@ -2749,7 +2757,7 @@ static void nfit_test1_setup(struct nfit_test *t)
27492757 /* virtual cd region */
27502758 spa = nfit_buf + offset ;
27512759 spa -> header .type = ACPI_NFIT_TYPE_SYSTEM_ADDRESS ;
2752- spa -> header .length = sizeof ( * spa );
2760+ spa -> header .length = sizeof_spa ( spa );
27532761 memcpy (spa -> range_guid , to_nfit_uuid (NFIT_SPA_VCD ), 16 );
27542762 spa -> range_index = 0 ;
27552763 spa -> address = t -> spa_set_dma [1 ];
0 commit comments