@@ -1871,9 +1871,16 @@ static void smart_init(struct nfit_test *t)
1871
1871
}
1872
1872
}
1873
1873
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
+
1874
1880
static int nfit_test0_alloc (struct nfit_test * t )
1875
1881
{
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
1877
1884
+ sizeof (struct acpi_nfit_memory_map ) * NUM_MEM
1878
1885
+ sizeof (struct acpi_nfit_control_region ) * NUM_DCR
1879
1886
+ offsetof(struct acpi_nfit_control_region ,
@@ -1937,7 +1944,8 @@ static int nfit_test0_alloc(struct nfit_test *t)
1937
1944
1938
1945
static int nfit_test1_alloc (struct nfit_test * t )
1939
1946
{
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
1941
1949
+ sizeof (struct acpi_nfit_memory_map ) * 2
1942
1950
+ offsetof(struct acpi_nfit_control_region , window_size ) * 2 ;
1943
1951
int i ;
@@ -2000,7 +2008,7 @@ static void nfit_test0_setup(struct nfit_test *t)
2000
2008
*/
2001
2009
spa = nfit_buf ;
2002
2010
spa -> header .type = ACPI_NFIT_TYPE_SYSTEM_ADDRESS ;
2003
- spa -> header .length = sizeof ( * spa );
2011
+ spa -> header .length = sizeof_spa ( spa );
2004
2012
memcpy (spa -> range_guid , to_nfit_uuid (NFIT_SPA_PM ), 16 );
2005
2013
spa -> range_index = 0 + 1 ;
2006
2014
spa -> address = t -> spa_set_dma [0 ];
@@ -2014,7 +2022,7 @@ static void nfit_test0_setup(struct nfit_test *t)
2014
2022
*/
2015
2023
spa = nfit_buf + offset ;
2016
2024
spa -> header .type = ACPI_NFIT_TYPE_SYSTEM_ADDRESS ;
2017
- spa -> header .length = sizeof ( * spa );
2025
+ spa -> header .length = sizeof_spa ( spa );
2018
2026
memcpy (spa -> range_guid , to_nfit_uuid (NFIT_SPA_PM ), 16 );
2019
2027
spa -> range_index = 1 + 1 ;
2020
2028
spa -> address = t -> spa_set_dma [1 ];
@@ -2024,7 +2032,7 @@ static void nfit_test0_setup(struct nfit_test *t)
2024
2032
/* spa2 (dcr0) dimm0 */
2025
2033
spa = nfit_buf + offset ;
2026
2034
spa -> header .type = ACPI_NFIT_TYPE_SYSTEM_ADDRESS ;
2027
- spa -> header .length = sizeof ( * spa );
2035
+ spa -> header .length = sizeof_spa ( spa );
2028
2036
memcpy (spa -> range_guid , to_nfit_uuid (NFIT_SPA_DCR ), 16 );
2029
2037
spa -> range_index = 2 + 1 ;
2030
2038
spa -> address = t -> dcr_dma [0 ];
@@ -2034,7 +2042,7 @@ static void nfit_test0_setup(struct nfit_test *t)
2034
2042
/* spa3 (dcr1) dimm1 */
2035
2043
spa = nfit_buf + offset ;
2036
2044
spa -> header .type = ACPI_NFIT_TYPE_SYSTEM_ADDRESS ;
2037
- spa -> header .length = sizeof ( * spa );
2045
+ spa -> header .length = sizeof_spa ( spa );
2038
2046
memcpy (spa -> range_guid , to_nfit_uuid (NFIT_SPA_DCR ), 16 );
2039
2047
spa -> range_index = 3 + 1 ;
2040
2048
spa -> address = t -> dcr_dma [1 ];
@@ -2044,7 +2052,7 @@ static void nfit_test0_setup(struct nfit_test *t)
2044
2052
/* spa4 (dcr2) dimm2 */
2045
2053
spa = nfit_buf + offset ;
2046
2054
spa -> header .type = ACPI_NFIT_TYPE_SYSTEM_ADDRESS ;
2047
- spa -> header .length = sizeof ( * spa );
2055
+ spa -> header .length = sizeof_spa ( spa );
2048
2056
memcpy (spa -> range_guid , to_nfit_uuid (NFIT_SPA_DCR ), 16 );
2049
2057
spa -> range_index = 4 + 1 ;
2050
2058
spa -> address = t -> dcr_dma [2 ];
@@ -2054,7 +2062,7 @@ static void nfit_test0_setup(struct nfit_test *t)
2054
2062
/* spa5 (dcr3) dimm3 */
2055
2063
spa = nfit_buf + offset ;
2056
2064
spa -> header .type = ACPI_NFIT_TYPE_SYSTEM_ADDRESS ;
2057
- spa -> header .length = sizeof ( * spa );
2065
+ spa -> header .length = sizeof_spa ( spa );
2058
2066
memcpy (spa -> range_guid , to_nfit_uuid (NFIT_SPA_DCR ), 16 );
2059
2067
spa -> range_index = 5 + 1 ;
2060
2068
spa -> address = t -> dcr_dma [3 ];
@@ -2064,7 +2072,7 @@ static void nfit_test0_setup(struct nfit_test *t)
2064
2072
/* spa6 (bdw for dcr0) dimm0 */
2065
2073
spa = nfit_buf + offset ;
2066
2074
spa -> header .type = ACPI_NFIT_TYPE_SYSTEM_ADDRESS ;
2067
- spa -> header .length = sizeof ( * spa );
2075
+ spa -> header .length = sizeof_spa ( spa );
2068
2076
memcpy (spa -> range_guid , to_nfit_uuid (NFIT_SPA_BDW ), 16 );
2069
2077
spa -> range_index = 6 + 1 ;
2070
2078
spa -> address = t -> dimm_dma [0 ];
@@ -2074,7 +2082,7 @@ static void nfit_test0_setup(struct nfit_test *t)
2074
2082
/* spa7 (bdw for dcr1) dimm1 */
2075
2083
spa = nfit_buf + offset ;
2076
2084
spa -> header .type = ACPI_NFIT_TYPE_SYSTEM_ADDRESS ;
2077
- spa -> header .length = sizeof ( * spa );
2085
+ spa -> header .length = sizeof_spa ( spa );
2078
2086
memcpy (spa -> range_guid , to_nfit_uuid (NFIT_SPA_BDW ), 16 );
2079
2087
spa -> range_index = 7 + 1 ;
2080
2088
spa -> address = t -> dimm_dma [1 ];
@@ -2084,7 +2092,7 @@ static void nfit_test0_setup(struct nfit_test *t)
2084
2092
/* spa8 (bdw for dcr2) dimm2 */
2085
2093
spa = nfit_buf + offset ;
2086
2094
spa -> header .type = ACPI_NFIT_TYPE_SYSTEM_ADDRESS ;
2087
- spa -> header .length = sizeof ( * spa );
2095
+ spa -> header .length = sizeof_spa ( spa );
2088
2096
memcpy (spa -> range_guid , to_nfit_uuid (NFIT_SPA_BDW ), 16 );
2089
2097
spa -> range_index = 8 + 1 ;
2090
2098
spa -> address = t -> dimm_dma [2 ];
@@ -2094,7 +2102,7 @@ static void nfit_test0_setup(struct nfit_test *t)
2094
2102
/* spa9 (bdw for dcr3) dimm3 */
2095
2103
spa = nfit_buf + offset ;
2096
2104
spa -> header .type = ACPI_NFIT_TYPE_SYSTEM_ADDRESS ;
2097
- spa -> header .length = sizeof ( * spa );
2105
+ spa -> header .length = sizeof_spa ( spa );
2098
2106
memcpy (spa -> range_guid , to_nfit_uuid (NFIT_SPA_BDW ), 16 );
2099
2107
spa -> range_index = 9 + 1 ;
2100
2108
spa -> address = t -> dimm_dma [3 ];
@@ -2581,7 +2589,7 @@ static void nfit_test0_setup(struct nfit_test *t)
2581
2589
/* spa10 (dcr4) dimm4 */
2582
2590
spa = nfit_buf + offset ;
2583
2591
spa -> header .type = ACPI_NFIT_TYPE_SYSTEM_ADDRESS ;
2584
- spa -> header .length = sizeof ( * spa );
2592
+ spa -> header .length = sizeof_spa ( spa );
2585
2593
memcpy (spa -> range_guid , to_nfit_uuid (NFIT_SPA_DCR ), 16 );
2586
2594
spa -> range_index = 10 + 1 ;
2587
2595
spa -> address = t -> dcr_dma [4 ];
@@ -2595,7 +2603,7 @@ static void nfit_test0_setup(struct nfit_test *t)
2595
2603
*/
2596
2604
spa = nfit_buf + offset ;
2597
2605
spa -> header .type = ACPI_NFIT_TYPE_SYSTEM_ADDRESS ;
2598
- spa -> header .length = sizeof ( * spa );
2606
+ spa -> header .length = sizeof_spa ( spa );
2599
2607
memcpy (spa -> range_guid , to_nfit_uuid (NFIT_SPA_PM ), 16 );
2600
2608
spa -> range_index = 11 + 1 ;
2601
2609
spa -> address = t -> spa_set_dma [2 ];
@@ -2605,7 +2613,7 @@ static void nfit_test0_setup(struct nfit_test *t)
2605
2613
/* spa12 (bdw for dcr4) dimm4 */
2606
2614
spa = nfit_buf + offset ;
2607
2615
spa -> header .type = ACPI_NFIT_TYPE_SYSTEM_ADDRESS ;
2608
- spa -> header .length = sizeof ( * spa );
2616
+ spa -> header .length = sizeof_spa ( spa );
2609
2617
memcpy (spa -> range_guid , to_nfit_uuid (NFIT_SPA_BDW ), 16 );
2610
2618
spa -> range_index = 12 + 1 ;
2611
2619
spa -> address = t -> dimm_dma [4 ];
@@ -2739,7 +2747,7 @@ static void nfit_test1_setup(struct nfit_test *t)
2739
2747
/* spa0 (flat range with no bdw aliasing) */
2740
2748
spa = nfit_buf + offset ;
2741
2749
spa -> header .type = ACPI_NFIT_TYPE_SYSTEM_ADDRESS ;
2742
- spa -> header .length = sizeof ( * spa );
2750
+ spa -> header .length = sizeof_spa ( spa );
2743
2751
memcpy (spa -> range_guid , to_nfit_uuid (NFIT_SPA_PM ), 16 );
2744
2752
spa -> range_index = 0 + 1 ;
2745
2753
spa -> address = t -> spa_set_dma [0 ];
@@ -2749,7 +2757,7 @@ static void nfit_test1_setup(struct nfit_test *t)
2749
2757
/* virtual cd region */
2750
2758
spa = nfit_buf + offset ;
2751
2759
spa -> header .type = ACPI_NFIT_TYPE_SYSTEM_ADDRESS ;
2752
- spa -> header .length = sizeof ( * spa );
2760
+ spa -> header .length = sizeof_spa ( spa );
2753
2761
memcpy (spa -> range_guid , to_nfit_uuid (NFIT_SPA_VCD ), 16 );
2754
2762
spa -> range_index = 0 ;
2755
2763
spa -> address = t -> spa_set_dma [1 ];
0 commit comments