summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/include/cpu/x86/smm.h3
-rw-r--r--src/southbridge/intel/common/smihandler.c6
-rw-r--r--src/southbridge/intel/fsp_bd82x6x/smihandler.c8
-rw-r--r--src/southbridge/intel/fsp_i89xx/smihandler.c7
-rw-r--r--src/southbridge/intel/ibexpeak/smihandler.c7
5 files changed, 7 insertions, 24 deletions
diff --git a/src/include/cpu/x86/smm.h b/src/include/cpu/x86/smm.h
index 3cda35b557..379b512e93 100644
--- a/src/include/cpu/x86/smm.h
+++ b/src/include/cpu/x86/smm.h
@@ -507,9 +507,6 @@ void smi_release_lock(void);
extern unsigned char _binary_smm_start[];
extern unsigned char _binary_smm_end[];
-/* Get PMBASE address */
-u16 smm_get_pmbase(void);
-
struct smm_runtime {
u32 smbase;
u32 save_state_size;
diff --git a/src/southbridge/intel/common/smihandler.c b/src/southbridge/intel/common/smihandler.c
index 8dce9bb129..0ad400cde0 100644
--- a/src/southbridge/intel/common/smihandler.c
+++ b/src/southbridge/intel/common/smihandler.c
@@ -35,12 +35,6 @@ u16 get_pmbase(void)
return lpc_get_pmbase();
}
-/* Defined in <cpu/x86/smm.h> which is used outside of common code*/
-u16 smm_get_pmbase(void)
-{
- return lpc_get_pmbase();
-}
-
void gpi_route_interrupt(u8 gpi, u8 mode)
{
u32 gpi_rout;
diff --git a/src/southbridge/intel/fsp_bd82x6x/smihandler.c b/src/southbridge/intel/fsp_bd82x6x/smihandler.c
index c868ec6cf8..dedc4beb50 100644
--- a/src/southbridge/intel/fsp_bd82x6x/smihandler.c
+++ b/src/southbridge/intel/fsp_bd82x6x/smihandler.c
@@ -23,6 +23,8 @@
#include <elog.h>
#include <halt.h>
#include <pc80/mc146818rtc.h>
+#include <southbridge/intel/common/pmbase.h>
+
#include "pch.h"
#include "nvs.h"
@@ -37,10 +39,6 @@
* initialize it with a sane value
*/
static u16 pmbase = DEFAULT_PMBASE;
-u16 smm_get_pmbase(void)
-{
- return pmbase;
-}
static u8 smm_initialized = 0;
@@ -729,7 +727,7 @@ void southbridge_smi_handler(void)
u32 smi_sts;
/* Update global variable pmbase */
- pmbase = pci_read_config16(PCI_DEV(0, 0x1f, 0), 0x40) & 0xfffc;
+ pmbase = lpc_get_pmbase();
/* We need to clear the SMI status registers, or we won't see what's
* happening in the following calls.
diff --git a/src/southbridge/intel/fsp_i89xx/smihandler.c b/src/southbridge/intel/fsp_i89xx/smihandler.c
index 0ef7ba8ffb..e22faad577 100644
--- a/src/southbridge/intel/fsp_i89xx/smihandler.c
+++ b/src/southbridge/intel/fsp_i89xx/smihandler.c
@@ -23,6 +23,7 @@
#include <elog.h>
#include <halt.h>
#include <pc80/mc146818rtc.h>
+#include <southbridge/intel/common/pmbase.h>
#include "pch.h"
#include "nvs.h"
@@ -37,10 +38,6 @@
* initialize it with a sane value
*/
static u16 pmbase = DEFAULT_PMBASE;
-u16 smm_get_pmbase(void)
-{
- return pmbase;
-}
static u8 smm_initialized = 0;
@@ -726,7 +723,7 @@ void southbridge_smi_handler(void)
u32 smi_sts;
/* Update global variable pmbase */
- pmbase = pci_read_config16(PCI_DEV(0, 0x1f, 0), 0x40) & 0xfffc;
+ pmbase = lpc_get_pmbase();
/* We need to clear the SMI status registers, or we won't see what's
* happening in the following calls.
diff --git a/src/southbridge/intel/ibexpeak/smihandler.c b/src/southbridge/intel/ibexpeak/smihandler.c
index 8e2f603cb5..4da76cf558 100644
--- a/src/southbridge/intel/ibexpeak/smihandler.c
+++ b/src/southbridge/intel/ibexpeak/smihandler.c
@@ -23,6 +23,7 @@
#include <elog.h>
#include <halt.h>
#include <pc80/mc146818rtc.h>
+#include <southbridge/intel/common/pmbase.h>
#include "pch.h"
#include "nvs.h"
@@ -39,10 +40,6 @@
* initialize it with a sane value
*/
static u16 pmbase = DEFAULT_PMBASE;
-u16 smm_get_pmbase(void)
-{
- return pmbase;
-}
static u8 smm_initialized = 0;
@@ -829,7 +826,7 @@ void southbridge_smi_handler(void)
u32 smi_sts;
/* Update global variable pmbase */
- pmbase = pci_read_config16(PCI_DEV(0, 0x1f, 0), 0x40) & 0xfffc;
+ pmbase = lpc_get_pmbase();
/* We need to clear the SMI status registers, or we won't see what's
* happening in the following calls.