<p>Joel Kitching has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/28189">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">acpi: remove CBMEM_ID_ACPI_GNVS_PTR entry<br><br>Since we can retrieve the address of ACPI GNVS directly<br>from CBMEM_ID_ACPI_GNVS, there is no need to store and<br>update a pointer separately.<br><br>Signed-off-by: Joel Kitching <kitching@google.com><br>Change-Id: I59f3d0547a4a724e66617c791ad82c9f504cadea<br>---<br>M src/arch/x86/acpi.c<br>M src/arch/x86/acpi_s3.c<br>M src/arch/x86/include/arch/acpi.h<br>M src/commonlib/include/commonlib/cbmem_id.h<br>M src/soc/amd/stoneyridge/acpi.c<br>M src/soc/intel/baytrail/southcluster.c<br>M src/soc/intel/braswell/acpi.c<br>M src/soc/intel/broadwell/lpc.c<br>M src/soc/intel/common/block/acpi/acpi.c<br>M src/soc/intel/denverton_ns/acpi.c<br>M src/soc/intel/fsp_baytrail/acpi.c<br>M src/soc/intel/skylake/acpi.c<br>M src/southbridge/intel/fsp_rangeley/lpc.c<br>M src/southbridge/intel/lynxpoint/lpc.c<br>14 files changed, 4 insertions(+), 25 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/89/28189/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/arch/x86/acpi.c b/src/arch/x86/acpi.c</span><br><span>index 8d7579d..78eeaa7 100644</span><br><span>--- a/src/arch/x86/acpi.c</span><br><span>+++ b/src/arch/x86/acpi.c</span><br><span>@@ -1252,13 +1252,6 @@</span><br><span>       return wake_vec;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-void acpi_save_gnvs(u32 gnvs_address)</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">- u32 *gnvs = cbmem_add(CBMEM_ID_ACPI_GNVS_PTR, sizeof(*gnvs));</span><br><span style="color: hsl(0, 100%, 40%);">-   if (gnvs)</span><br><span style="color: hsl(0, 100%, 40%);">-               *gnvs = gnvs_address;</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> __weak int acpi_get_gpe(int gpe)</span><br><span> {</span><br><span>      return -1; /* implemented by SOC */</span><br><span>diff --git a/src/arch/x86/acpi_s3.c b/src/arch/x86/acpi_s3.c</span><br><span>index f6ed108..28e8f89 100644</span><br><span>--- a/src/arch/x86/acpi_s3.c</span><br><span>+++ b/src/arch/x86/acpi_s3.c</span><br><span>@@ -226,13 +226,13 @@</span><br><span> void acpi_resume(void *wake_vec)</span><br><span> {</span><br><span>    if (IS_ENABLED(CONFIG_HAVE_SMI_HANDLER)) {</span><br><span style="color: hsl(0, 100%, 40%);">-              u32 *gnvs_address = cbmem_find(CBMEM_ID_ACPI_GNVS_PTR);</span><br><span style="color: hsl(120, 100%, 40%);">+               u32 *gnvs_address = cbmem_find(CBMEM_ID_ACPI_GNVS);</span><br><span> </span><br><span>              /* Restore GNVS pointer in SMM if found */</span><br><span style="color: hsl(0, 100%, 40%);">-              if (gnvs_address && *gnvs_address) {</span><br><span style="color: hsl(120, 100%, 40%);">+          if (gnvs_address) {</span><br><span>                  printk(BIOS_DEBUG, "Restore GNVS pointer to 0x%08x\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                               *gnvs_address);</span><br><span style="color: hsl(0, 100%, 40%);">-                  smm_setup_structures((void *)*gnvs_address, NULL, NULL);</span><br><span style="color: hsl(120, 100%, 40%);">+                             (u32)gnvs_address);</span><br><span style="color: hsl(120, 100%, 40%);">+                    smm_setup_structures((void *)gnvs_address, NULL, NULL);</span><br><span>              }</span><br><span>    }</span><br><span> </span><br><span>diff --git a/src/arch/x86/include/arch/acpi.h b/src/arch/x86/include/arch/acpi.h</span><br><span>index 1811965..40fbd54 100644</span><br><span>--- a/src/arch/x86/include/arch/acpi.h</span><br><span>+++ b/src/arch/x86/include/arch/acpi.h</span><br><span>@@ -771,8 +771,6 @@</span><br><span> unsigned long acpi_create_hest_error_source(acpi_hest_t *hest,</span><br><span>   acpi_hest_esd_t *esd, u16 type, void *data, u16 len);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-void acpi_save_gnvs(u32 gnvs_address);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> /* For ACPI S3 support. */</span><br><span> void acpi_fail_wakeup(void);</span><br><span> void acpi_resume(void *wake_vec);</span><br><span>diff --git a/src/commonlib/include/commonlib/cbmem_id.h b/src/commonlib/include/commonlib/cbmem_id.h</span><br><span>index 287de1d..042ea6e 100644</span><br><span>--- a/src/commonlib/include/commonlib/cbmem_id.h</span><br><span>+++ b/src/commonlib/include/commonlib/cbmem_id.h</span><br><span>@@ -19,7 +19,6 @@</span><br><span> </span><br><span> #define CBMEM_ID_ACPI                0x41435049</span><br><span> #define CBMEM_ID_ACPI_GNVS        0x474e5653</span><br><span style="color: hsl(0, 100%, 40%);">-#define CBMEM_ID_ACPI_GNVS_PTR        0x474e5650</span><br><span> #define CBMEM_ID_AFTER_CAR        0xc4787a93</span><br><span> #define CBMEM_ID_AGESA_RUNTIME    0x41474553</span><br><span> #define CBMEM_ID_AMDMCT_MEMINFO 0x494D454E</span><br><span>@@ -81,7 +80,6 @@</span><br><span> #define CBMEM_ID_TO_NAME_TABLE                           \</span><br><span>   { CBMEM_ID_ACPI,                "ACPI       " }, \</span><br><span>         { CBMEM_ID_ACPI_GNVS,           "ACPI GNVS  " }, \</span><br><span style="color: hsl(0, 100%, 40%);">-    { CBMEM_ID_ACPI_GNVS_PTR,       "GNVS PTR   " }, \</span><br><span>         { CBMEM_ID_AGESA_RUNTIME,       "AGESA RSVD " }, \</span><br><span>         { CBMEM_ID_AFTER_CAR,           "AFTER CAR  " }, \</span><br><span>         { CBMEM_ID_AMDMCT_MEMINFO,      "AMDMEM INFO" }, \</span><br><span>diff --git a/src/soc/amd/stoneyridge/acpi.c b/src/soc/amd/stoneyridge/acpi.c</span><br><span>index 466b545..7b4f07b 100644</span><br><span>--- a/src/soc/amd/stoneyridge/acpi.c</span><br><span>+++ b/src/soc/amd/stoneyridge/acpi.c</span><br><span>@@ -293,7 +293,6 @@</span><br><span> </span><br><span>  if (gnvs) {</span><br><span>          acpi_create_gnvs(gnvs);</span><br><span style="color: hsl(0, 100%, 40%);">-         acpi_save_gnvs((uintptr_t)gnvs);</span><br><span> </span><br><span>                 /* Add it to DSDT */</span><br><span>                 acpigen_write_scope("\\");</span><br><span>diff --git a/src/soc/intel/baytrail/southcluster.c b/src/soc/intel/baytrail/southcluster.c</span><br><span>index 8dd8986..83f4227 100644</span><br><span>--- a/src/soc/intel/baytrail/southcluster.c</span><br><span>+++ b/src/soc/intel/baytrail/southcluster.c</span><br><span>@@ -509,7 +509,6 @@</span><br><span> </span><br><span>      if (gnvs) {</span><br><span>          acpi_create_gnvs(gnvs);</span><br><span style="color: hsl(0, 100%, 40%);">-         acpi_save_gnvs((unsigned long)gnvs);</span><br><span>                 /* And tell SMI about it */</span><br><span>          smm_setup_structures(gnvs, NULL, NULL);</span><br><span> </span><br><span>diff --git a/src/soc/intel/braswell/acpi.c b/src/soc/intel/braswell/acpi.c</span><br><span>index 91d4925..ebca9fa 100644</span><br><span>--- a/src/soc/intel/braswell/acpi.c</span><br><span>+++ b/src/soc/intel/braswell/acpi.c</span><br><span>@@ -542,7 +542,6 @@</span><br><span>                   gnvs->cid1 = wifi_regulatory_domain();</span><br><span>            else</span><br><span>                         gnvs->cid1 = WRDD_DEFAULT_REGULATORY_DOMAIN;</span><br><span style="color: hsl(0, 100%, 40%);">-         acpi_save_gnvs((unsigned long)gnvs);</span><br><span>                 /* And tell SMI about it */</span><br><span>          smm_setup_structures(gnvs, NULL, NULL);</span><br><span> </span><br><span>diff --git a/src/soc/intel/broadwell/lpc.c b/src/soc/intel/broadwell/lpc.c</span><br><span>index c13c92a..ff7ff81 100644</span><br><span>--- a/src/soc/intel/broadwell/lpc.c</span><br><span>+++ b/src/soc/intel/broadwell/lpc.c</span><br><span>@@ -607,7 +607,6 @@</span><br><span> </span><br><span>       if (gnvs) {</span><br><span>          acpi_create_gnvs(gnvs);</span><br><span style="color: hsl(0, 100%, 40%);">-         acpi_save_gnvs((unsigned long)gnvs);</span><br><span>                 /* And tell SMI about it */</span><br><span>          smm_setup_structures(gnvs, NULL, NULL);</span><br><span> </span><br><span>diff --git a/src/soc/intel/common/block/acpi/acpi.c b/src/soc/intel/common/block/acpi/acpi.c</span><br><span>index 01a4928..17ee85c 100644</span><br><span>--- a/src/soc/intel/common/block/acpi/acpi.c</span><br><span>+++ b/src/soc/intel/common/block/acpi/acpi.c</span><br><span>@@ -237,7 +237,6 @@</span><br><span> </span><br><span>   if (gnvs) {</span><br><span>          acpi_create_gnvs(gnvs);</span><br><span style="color: hsl(0, 100%, 40%);">-         acpi_save_gnvs((uintptr_t) gnvs);</span><br><span>            /* And tell SMI about it */</span><br><span>          smm_setup_structures(gnvs, NULL, NULL);</span><br><span> </span><br><span>diff --git a/src/soc/intel/denverton_ns/acpi.c b/src/soc/intel/denverton_ns/acpi.c</span><br><span>index 640dc79..07278c5 100644</span><br><span>--- a/src/soc/intel/denverton_ns/acpi.c</span><br><span>+++ b/src/soc/intel/denverton_ns/acpi.c</span><br><span>@@ -319,7 +319,6 @@</span><br><span> </span><br><span>       if (gnvs) {</span><br><span>          acpi_create_gnvs(gnvs);</span><br><span style="color: hsl(0, 100%, 40%);">-         acpi_save_gnvs((unsigned long)gnvs);</span><br><span>                 /* And tell SMI about it */</span><br><span>          smm_setup_structures(gnvs, NULL, NULL);</span><br><span> </span><br><span>diff --git a/src/soc/intel/fsp_baytrail/acpi.c b/src/soc/intel/fsp_baytrail/acpi.c</span><br><span>index 7ce1b35..748b6cf 100644</span><br><span>--- a/src/soc/intel/fsp_baytrail/acpi.c</span><br><span>+++ b/src/soc/intel/fsp_baytrail/acpi.c</span><br><span>@@ -594,7 +594,6 @@</span><br><span> </span><br><span>       if (gnvs) {</span><br><span>          acpi_create_gnvs(gnvs);</span><br><span style="color: hsl(0, 100%, 40%);">-         acpi_save_gnvs((unsigned long)gnvs);</span><br><span>                 /* And tell SMI about it */</span><br><span>          smm_setup_structures(gnvs, NULL, NULL);</span><br><span> </span><br><span>diff --git a/src/soc/intel/skylake/acpi.c b/src/soc/intel/skylake/acpi.c</span><br><span>index 5bed118..06c4ede 100644</span><br><span>--- a/src/soc/intel/skylake/acpi.c</span><br><span>+++ b/src/soc/intel/skylake/acpi.c</span><br><span>@@ -668,7 +668,6 @@</span><br><span>       if (gnvs) {</span><br><span>          acpi_create_gnvs(gnvs);</span><br><span>              acpi_mainboard_gnvs(gnvs);</span><br><span style="color: hsl(0, 100%, 40%);">-              acpi_save_gnvs((unsigned long)gnvs);</span><br><span>                 /* And tell SMI about it */</span><br><span>          smm_setup_structures(gnvs, NULL, NULL);</span><br><span> </span><br><span>diff --git a/src/southbridge/intel/fsp_rangeley/lpc.c b/src/southbridge/intel/fsp_rangeley/lpc.c</span><br><span>index a8b8757..88cc73f 100644</span><br><span>--- a/src/southbridge/intel/fsp_rangeley/lpc.c</span><br><span>+++ b/src/southbridge/intel/fsp_rangeley/lpc.c</span><br><span>@@ -434,7 +434,6 @@</span><br><span>       if (gnvs) {</span><br><span>          memset(gnvs, 0, sizeof(*gnvs));</span><br><span>              acpi_create_gnvs(gnvs);</span><br><span style="color: hsl(0, 100%, 40%);">-         acpi_save_gnvs((unsigned long)gnvs);</span><br><span> #if IS_ENABLED(CONFIG_HAVE_SMI_HANDLER)</span><br><span>              /* And tell SMI about it */</span><br><span>          smm_setup_structures(gnvs, NULL, NULL);</span><br><span>diff --git a/src/southbridge/intel/lynxpoint/lpc.c b/src/southbridge/intel/lynxpoint/lpc.c</span><br><span>index 9d686de..8f695cd 100644</span><br><span>--- a/src/southbridge/intel/lynxpoint/lpc.c</span><br><span>+++ b/src/southbridge/intel/lynxpoint/lpc.c</span><br><span>@@ -779,7 +779,6 @@</span><br><span>               gnvs->ndid = gfx->ndid;</span><br><span>                memcpy(gnvs->did, gfx->did, sizeof(gnvs->did));</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-            acpi_save_gnvs((unsigned long)gnvs);</span><br><span>                 /* And tell SMI about it */</span><br><span>          smm_setup_structures(gnvs, NULL, NULL);</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://review.coreboot.org/28189">change 28189</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://review.coreboot.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://review.coreboot.org/28189"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: coreboot </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I59f3d0547a4a724e66617c791ad82c9f504cadea </div>
<div style="display:none"> Gerrit-Change-Number: 28189 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Joel Kitching <kitching@google.com> </div>