From 573f7d40be086b35b25d242818ae0e9c26d05022 Mon Sep 17 00:00:00 2001 From: Stefan Reinauer Date: Tue, 21 Jul 2009 21:50:34 +0000 Subject: Intel ICH7 updates - code restructuring (move ich7 out of i945) - ACPI fixes - major SMI handler updates - make sure SMBus lives where we expect it - try to get usb debug working Signed-off-by: Stefan Reinauer Acked-by: Peter Stuge git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4456 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- src/southbridge/intel/i82801gx/i82801gx_smi.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'src/southbridge/intel/i82801gx/i82801gx_smi.c') diff --git a/src/southbridge/intel/i82801gx/i82801gx_smi.c b/src/southbridge/intel/i82801gx/i82801gx_smi.c index ccbb7334e5..636d2eb3af 100644 --- a/src/southbridge/intel/i82801gx/i82801gx_smi.c +++ b/src/southbridge/intel/i82801gx/i82801gx_smi.c @@ -27,10 +27,7 @@ #include #include #include -#include "chip.h" - -// Future TODO: Move to i82801gx directory -#include "../../../northbridge/intel/i945/ich7.h" +#include "i82801gx.h" extern unsigned char smm[]; extern unsigned int smm_len; @@ -318,8 +315,12 @@ void smm_install(void) void smm_init(void) { + // FIXME is this a race condition? smm_relocate(); smm_install(); + + // We're done. Make sure SMIs can happen! + smi_set_eos(); } void smm_lock(void) @@ -333,3 +334,13 @@ void smm_lock(void) D_LCK | G_SMRAME | C_BASE_SEG); } +void smm_setup_structures(void *gnvs, void *tcg, void *smi1) +{ + /* The GDT or coreboot table is going to live here. But a long time + * after we relocated the GNVS, so this is not troublesome. + */ + *(u32 *)0x500 = (u32)gnvs; + *(u32 *)0x504 = (u32)tcg; + *(u32 *)0x508 = (u32)smi1; + outb(0xea, 0xb2); +} -- cgit v1.2.3