From 22d90e34f95307d143249b53f3bb48f0a674ecbd Mon Sep 17 00:00:00 2001 From: Alexandru Gagniuc Date: Mon, 14 Apr 2014 14:38:19 -0500 Subject: southbridge/hudson: Pass GEVENT SMIs to mainboard_smi_gpi() Change-Id: Ifc368974a7a0dc0756431654fb89668e3846801a Signed-off-by: Alexandru Gagniuc Reviewed-on: http://review.coreboot.org/5502 Reviewed-by: Aaron Durbin Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel --- src/southbridge/amd/agesa/hudson/smihandler.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/southbridge') diff --git a/src/southbridge/amd/agesa/hudson/smihandler.c b/src/southbridge/amd/agesa/hudson/smihandler.c index 0bf0cdd1d3..923fd93bf0 100644 --- a/src/southbridge/amd/agesa/hudson/smihandler.c +++ b/src/southbridge/amd/agesa/hudson/smihandler.c @@ -37,6 +37,14 @@ static void process_smi_sci(void) static void process_gpe_smi(void) { const uint32_t status = smi_read32(0x80); + const uint32_t gevent_mask = (1 << 24) - 1; + + /* Only Bits [23:0] indicate GEVENT SMIs. */ + if (status & gevent_mask) { + /* A GEVENT SMI occured */ + if (mainboard_smi_gpi) + mainboard_smi_gpi(status & gevent_mask); + } /* Clear events to prevent re-entering SMI if event isn't handled */ smi_write32(0x80, status); -- cgit v1.2.3