coreboot/src/cpu/x86
David Hendricks bb0d5ef97a x86: Initialize drivers in SMM context if needed
This adds a block in the SMI handler to call init functions for
drivers which may be used in SMM. A static variable is used to
ensure the init functions are only called once.

BUG=chrome-os-partner:29580
BRANCH=mccloud
TEST=Built and booted on mccloud, system no longer hangs when
pressing power button at the dev mode screen. Also tested on parrot.

Original-Signed-off-by: David Hendricks <dhendrix@chromium.org>
Original-Change-Id: I225f572f7b3072bec2bc06aac3fb50d90a2e30ee
Original-Reviewed-on: https://chromium-review.googlesource.com/204764
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
(cherry picked from commit 9315c485de)
Signed-off-by: Marc Jones <marc.jones@se-eng.com>

Change-Id: I8d2b21765c35c7ac7746986d5334dca17dcd6861
Reviewed-on: http://review.coreboot.org/8134
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
2015-01-09 07:44:57 +01:00
..
16bit x86 bootblock: improve clang compatibility 2014-02-19 20:56:19 +01:00
32bit Remove whitespace. 2012-02-17 19:04:31 +01:00
cache post code: Replaced hard-coded post code with macro 2012-01-23 22:50:56 +01:00
lapic arch/x86: Declare GDT symbols and move_gdt() 2014-12-31 09:51:50 +01:00
mtrr x86/mtrr: Enable MTRR's before enabling caching 2014-09-25 23:24:03 +02:00
name cpu,Makefile.inc: Trivial - drop trailing blank lines at EOF 2014-07-17 02:20:12 +02:00
pae cpu/x86/pae/pgtbl.c: Unsigned comparison < 0 always false 2014-06-29 13:02:13 +02:00
smm x86: Initialize drivers in SMM context if needed 2015-01-09 07:44:57 +01:00
tsc cpu,Makefile.inc: Trivial - drop trailing blank lines at EOF 2014-07-17 02:20:12 +02:00
car.c CBMEM: Always build for x86 romstage 2014-12-30 17:47:22 +01:00
fpu_enable.inc GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
Kconfig x86: Set BOOT_MEDIA_SPI_BUS 2014-12-15 23:59:00 +01:00
Makefile.inc CBMEM: Always build for x86 romstage 2014-12-30 17:47:22 +01:00
mirror_payload.c x86: add MIRROR_PAYLOAD_TO_RAM_BEFORE_LOADING option 2014-03-07 15:30:27 +01:00
mp_init.c arch/x86: Declare GDT symbols and move_gdt() 2014-12-31 09:51:50 +01:00
sipi_vector.S rmodules: use rmodtool to create rmodules 2014-03-20 23:55:55 +01:00
sse_enable.inc GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00