coreboot-kgpe-d16/src/include
Aaron Durbin 1fef1f5177 haswell: reserve default SMRAM space
Currently the OS is free to use the memory located at the default
SMRAM space because it is not marked reserved in the e820. This can
lead to memory corruption on S3 resume because SMM setup doesn't save
this range before using it to relocate SMRAM.

Resulting tables:

	coreboot memory table:
	 0. 0000000000000000-0000000000000fff: CONFIGURATION TABLES
	 1. 0000000000001000-000000000002ffff: RAM
	 2. 0000000000030000-000000000003ffff: RESERVED
	 3. 0000000000040000-000000000009ffff: RAM
	 4. 00000000000a0000-00000000000fffff: RESERVED
	 5. 0000000000100000-0000000000efffff: RAM
	 6. 0000000000f00000-0000000000ffffff: RESERVED
	 7. 0000000001000000-00000000acebffff: RAM
	 8. 00000000acec0000-00000000acffffff: CONFIGURATION TABLES
	 9. 00000000ad000000-00000000af9fffff: RESERVED
	10. 00000000f0000000-00000000f3ffffff: RESERVED
	11. 00000000fed10000-00000000fed19fff: RESERVED
	12. 00000000fed84000-00000000fed84fff: RESERVED
	13. 0000000100000000-000000018f5fffff: RAM

	e820 map has 13 items:
	  0: 0000000000000000 - 0000000000030000 = 1 RAM
	  1: 0000000000030000 - 0000000000040000 = 2 RESERVED
	  2: 0000000000040000 - 000000000009f400 = 1 RAM
	  3: 000000000009f400 - 00000000000a0000 = 2 RESERVED
	  4: 00000000000f0000 - 0000000000100000 = 2 RESERVED
	  5: 0000000000100000 - 0000000000f00000 = 1 RAM
	  6: 0000000000f00000 - 0000000001000000 = 2 RESERVED
	  7: 0000000001000000 - 00000000acec0000 = 1 RAM
	  8: 00000000acec0000 - 00000000afa00000 = 2 RESERVED
	  9: 00000000f0000000 - 00000000f4000000 = 2 RESERVED
	  10: 00000000fed10000 - 00000000fed1a000 = 2 RESERVED
	  11: 00000000fed84000 - 00000000fed85000 = 2 RESERVED
	  12: 0000000100000000 - 000000018f600000 = 1 RAM

Booted and checked e820 as well as coreboot table information.

Change-Id: Ie4985c748b591bf8c0d6a2b59549b698c9ad6cfe
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/2688
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
2013-03-15 16:58:37 +01:00
..
boot cbmem: replace pointer type by uint64_t 2013-01-11 19:56:43 +01:00
console GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
cpu haswell: reserve default SMRAM space 2013-03-15 16:58:37 +01:00
device haswell: add PCI id support 2013-03-14 05:10:13 +01:00
pc80 GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
smp Clean up #ifs 2012-05-08 00:34:34 +02:00
assert.h
cbfs.h Extend CBFS to support arbitrary ROM source media. 2013-01-30 17:58:32 +01:00
cbfs_core.h Extend CBFS to support arbitrary ROM source media. 2013-01-30 17:58:32 +01:00
cbmem.h Implement GCC code coverage analysis 2013-01-12 19:09:55 +01:00
coverage.h Implement GCC code coverage analysis 2013-01-12 19:09:55 +01:00
delay.h Clean up #ifs 2012-05-08 00:34:34 +02:00
ehci.h Fix usb debug dongle support 2011-10-31 04:06:10 +01:00
elog.h ELOG: Add EC events to elog header 2012-11-09 19:03:24 +01:00
endian.h Extend CBFS to support arbitrary ROM source media. 2013-01-30 17:58:32 +01:00
fallback.h Make set_boot_successful depend on PC80_SYSTEM 2012-11-30 21:33:35 +01:00
gpio.h add gpio.h for generic GPIO-related definitions 2013-02-04 05:38:32 +01:00
ip_checksum.h
kconfig.h Add config_enabled() from Linux 2012-05-08 00:36:09 +02:00
lib.h Clean up stack checking code 2012-11-13 18:25:17 +01:00
reset.h Clean up #ifs 2012-05-08 00:34:34 +02:00
sdram_mode.h GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
smbios.h Extend smbios api to allow runtime change of mainboard serial and version 2012-07-25 14:13:04 +02:00
spd.h GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
spd_ddr2.h GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
spi-generic.h spi-generic.h: Adapt include guard 2013-02-11 22:34:17 +01:00
spi_flash.h Whitespace: Replace tab character in license text with two spaces 2013-02-20 23:30:45 +01:00
stddef.h stddef.h: move to generic code 2012-12-08 06:54:16 +01:00
stdlib.h Add back dummy free() 2012-12-19 22:37:43 +01:00
string.h Fix strcpy() 2013-01-03 00:56:59 +01:00
swab.h Add macros for 64bit byte order swapping 2011-10-21 14:13:19 +02:00
timestamp.h Add method for delaying adding of timestamps 2012-11-13 18:24:53 +01:00
trace.h GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
types.h GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
uart.h move uartmem_getbaseaddr() to generic uart header 2013-02-19 19:01:29 +01:00
uart8250.h move uartmem_getbaseaddr() to generic uart header 2013-02-19 19:01:29 +01:00
usb_ch9.h
usbdebug.h USBDEBUG: buffer up to 8 bytes 2012-07-26 15:52:00 +02:00
version.h
watchdog.h watchdog.h: Fix compile time error on disabling watchdog handling 2013-03-12 12:06:43 +01:00