[coreboot] patch: smm support
Carl-Daniel Hailfinger
c-d.hailfinger.devel.2006 at gmx.net
Fri Dec 5 23:11:21 CET 2008
On 05.12.2008 22:17, ron minnich wrote:
> Add support for creating an smm top-level object.
>
> Whether SMM is added or not depends on the mainboard. To enable SMM,
> the Kconfig variable SMM should be set, and the SMM variable should be
> defined in the mainbard.
>
> Also correct a type CONFIG_HPET should be HPET.
>
> Signed-off-by: Ronald G. Minnich <rminnich at gmail.com>
>
> Index: mainboard/kontron/Kconfig
> ===================================================================
> --- mainboard/kontron/Kconfig (revision 1064)
> +++ mainboard/kontron/Kconfig (working copy)
> @@ -32,6 +32,7 @@
> select SOUTHBRIDGE_INTEL_I82801GX
> select SUPERIO_WINBOND_W83627THG
> select PIRQ_TABLE
> + select SMM
> help
> Kontron 986LCD-M Series mainboards
>
> Index: mainboard/kontron/986lcd-m/mainboard.h
> ===================================================================
> --- mainboard/kontron/986lcd-m/mainboard.h (revision 1064)
> +++ mainboard/kontron/986lcd-m/mainboard.h (working copy)
> @@ -31,3 +31,5 @@
> /* nowhere else to go yet */
> #define TEST_SMM_FLASH_LOCKDOWN 0
>
> +#define TTYS0_BASE 0x3f8
> +
> Index: mainboard/kontron/986lcd-m/Makefile
> ===================================================================
> --- mainboard/kontron/986lcd-m/Makefile (revision 1064)
> +++ mainboard/kontron/986lcd-m/Makefile (working copy)
> @@ -35,3 +35,4 @@
> $(Q)printf " BUILD DUMMY VPD\n"
> $(Q)dd if=/dev/zero of=$(obj)/coreboot.vpd bs=256 count=1 $(SILENT)
>
> +SMM=$(obj)/southbridge/intel/i82801gx/smm.elf
Hm. Here you use the = operator.
> Index: arch/x86/Kconfig
> ===================================================================
> --- arch/x86/Kconfig (revision 1064)
> +++ arch/x86/Kconfig (working copy)
> @@ -72,13 +72,21 @@
> arch/x86/Makefile for more hints on possible values.
> It is usually set in mainboard/*/Kconfig.
>
> -config CONFIG_HPET
> +config HPET
> boolean
> depends CPU_AMD_K8
> help
> Whether to configure a High Precision Event Timer (HPET). Note that
> HPETs are known to be bug-prone.
>
> +config SMM
> + boolean
> + help
> + Whether to configure System Management Mode support.
> + This is mainboard-enabled. This is a tricky option that
> + should not be enabled/disabled casually, as some chipsets
> + will not work without some form of SMM enabled.
> +
> config K8_REV_F_SUPPORT
> hex
> default 0 if CPU_AMD_K8
> Index: arch/x86/Makefile
> ===================================================================
> --- arch/x86/Makefile (revision 1064)
> +++ arch/x86/Makefile (working copy)
> @@ -48,7 +48,7 @@
> COMPRESSFLAG := -C nrv2b
> endif
>
> -$(obj)/coreboot.rom $(obj)/coreboot.map: $(obj)/coreboot.bootblock $(obj)/util/lar/lar lzma nrv2b $(obj)/coreboot.initram $(obj)/coreboot.stage2 $(obj)/option_table
> +$(obj)/coreboot.rom $(obj)/coreboot.map: $(obj)/coreboot.bootblock $(obj)/util/lar/lar lzma nrv2b $(obj)/coreboot.initram $(obj)/coreboot.stage2 $(obj)/option_table $(SMM)
> $(Q)printf " LAR $(subst $(shell pwd)/,,$(@))\n"
> $(Q)rm -f $(obj)/coreboot.rom
> $(Q)cd $(obj) && \
> @@ -74,6 +74,10 @@
> $(Q)printf " ZEROING lar -z ./coreboot.rom\n"
> $(Q)cd $(obj) && ./util/lar/lar -z ./coreboot.rom
> endif
> +ifeq ($(CONFIG_SMM),y)
> + $(Q)printf " Adding smm.elf\n"
> + $(Q)cd $(obj) && ./util/lar/lar -e $(COMPRESSFLAG) -a $(obj)/coreboot.rom $(SMM):normal/smm;
> +endif
> $(Q)# QEMU wants bios.bin:
> $(Q)# Run "qemu -L build/ -serial stdio -hda /dev/zero".
> $(Q)printf " CP $(subst $(shell pwd)/,,$(obj)/bios.bin)\n"
> Index: Makefile
> ===================================================================
> --- Makefile (revision 1064)
> +++ Makefile (working copy)
> @@ -109,6 +109,9 @@
> # the compiler actually used for the build (e.g. on cross compiler setups).
> CFLAGS += -nostdinc -isystem `$(CC) -print-file-name=include`
>
> +# Optional SMM
> +SMM=
Same here.
> +
> include lib/Makefile
> include device/Makefile
> include mainboard/$(MAINBOARDDIR)/Makefile
>
>
If you explain or change the makefile hunks I commented on, the patch is
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net>
Regards,
Carl-Daniel
--
http://www.hailfinger.org/
More information about the coreboot
mailing list