[coreboot-gerrit] New patch to review for coreboot: mainboard: Support ROM_SIZE > 16 MiB
Leroy P Leahy (leroy.p.leahy@intel.com)
gerrit at coreboot.org
Wed Jun 8 21:50:30 CEST 2016
Leroy P Leahy (leroy.p.leahy at intel.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/15108
-gerrit
commit 42e95ef8c8248498363160836bcc85d17c75dccb
Author: Lee Leahy <leroy.p.leahy at intel.com>
Date: Wed Jun 8 12:47:07 2016 -0700
mainboard: Support ROM_SIZE > 16 MiB
Support ROM_SIZE greater than 16 MiB. Work around SMBIOS rom size
limitation of 16 MiB by specifying 16 MiB as the ROM size.
TEST=Build and run on neoncity
Change-Id: I3f464599cd8a1b6482db8b9deab03126c8b92128
Signed-off-by: Lee Leahy <Leroy.P.Leahy at intel.com>
---
src/arch/x86/smbios.c | 3 ++-
src/mainboard/Kconfig | 20 ++++++++++++++++++++
2 files changed, 22 insertions(+), 1 deletion(-)
diff --git a/src/arch/x86/smbios.c b/src/arch/x86/smbios.c
index 7b6dda1..a1ea61e 100644
--- a/src/arch/x86/smbios.c
+++ b/src/arch/x86/smbios.c
@@ -292,7 +292,8 @@ static int smbios_write_type0(unsigned long *current, int handle)
#endif
#endif /* CONFIG_CHROMEOS */
- t->bios_rom_size = (CONFIG_ROM_SIZE / 65535) - 1;
+ t->bios_rom_size = (CONFIG_ROM_SIZE > (16 * 1024 * 1024))
+ ? 255 : (CONFIG_ROM_SIZE / 65535) - 1;
t->system_bios_major_release = 4;
t->bios_characteristics =
diff --git a/src/mainboard/Kconfig b/src/mainboard/Kconfig
index ab8ee26..dade4a1 100644
--- a/src/mainboard/Kconfig
+++ b/src/mainboard/Kconfig
@@ -28,6 +28,10 @@ config BOARD_ROMSIZE_KB_12288
bool
config BOARD_ROMSIZE_KB_16384
bool
+config BOARD_ROMSIZE_KB_32768
+ bool
+config BOARD_ROMSIZE_KB_65536
+ bool
# TODO: No help text possible for choice fields?
choice
@@ -42,6 +46,8 @@ choice
default COREBOOT_ROMSIZE_KB_8192 if BOARD_ROMSIZE_KB_8192
default COREBOOT_ROMSIZE_KB_12288 if BOARD_ROMSIZE_KB_12288
default COREBOOT_ROMSIZE_KB_16384 if BOARD_ROMSIZE_KB_16384
+ default COREBOOT_ROMSIZE_KB_32768 if BOARD_ROMSIZE_KB_32768
+ default COREBOOT_ROMSIZE_KB_65536 if BOARD_ROMSIZE_KB_65536
help
Select the size of the ROM chip you intend to flash coreboot on.
@@ -98,6 +104,16 @@ config COREBOOT_ROMSIZE_KB_16384
help
Choose this option if you have a 16384 KB (16 MB) ROM chip.
+config COREBOOT_ROMSIZE_KB_32768
+ bool "32768 KB (32 MB)"
+ help
+ Choose this option if you have a 32768 KB (32 MB) ROM chip.
+
+config COREBOOT_ROMSIZE_KB_16384
+ bool "65536 KB (64 MB)"
+ help
+ Choose this option if you have a 65536 KB (64 MB) ROM chip.
+
endchoice
# Map the config names to an integer (KB).
@@ -113,6 +129,8 @@ config COREBOOT_ROMSIZE_KB
default 8192 if COREBOOT_ROMSIZE_KB_8192
default 12288 if COREBOOT_ROMSIZE_KB_12288
default 16384 if COREBOOT_ROMSIZE_KB_16384
+ default 32768 if COREBOOT_ROMSIZE_KB_32768
+ default 65536 if COREBOOT_ROMSIZE_KB_65536
# Map the config names to a hex value (bytes).
config ROM_SIZE
@@ -127,6 +145,8 @@ config ROM_SIZE
default 0x800000 if COREBOOT_ROMSIZE_KB_8192
default 0xc00000 if COREBOOT_ROMSIZE_KB_12288
default 0x1000000 if COREBOOT_ROMSIZE_KB_16384
+ default 0x2000000 if COREBOOT_ROMSIZE_KB_32768
+ default 0x4000000 if COREBOOT_ROMSIZE_KB_65536
config ENABLE_POWER_BUTTON
bool "Enable the power button" if POWER_BUTTON_IS_OPTIONAL
More information about the coreboot-gerrit
mailing list