Patrick Rudolph has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/32617
Change subject: mb/lenovo/*: Add support for VBOOT on 12MiB devices ......................................................................
mb/lenovo/*: Add support for VBOOT on 12MiB devices
Enable VBOOT support on all devices that have a 8 MiB flash, using a single RW_MAIN_A partition, allowing the use of tianocore payload in both RW_MAIN_A and WP_RO.
* Add VBNV section to cmos.layout * Add FMAP for VBOOT and regular boot * Select Kconfigs for VBOOT * Enable VBOOT_SLOTS_RW_A by default
Untested.
Change-Id: I8a35a06ece1e9d57a2ef23970e61ae26fafce543 Signed-off-by: Patrick Rudolph patrick.rudolph@9elements.com --- M src/mainboard/lenovo/t430/Kconfig A src/mainboard/lenovo/t430/board.fmd M src/mainboard/lenovo/t430/cmos.layout A src/mainboard/lenovo/t430/vboot-rwa.fmd M src/mainboard/lenovo/t430s/Kconfig A src/mainboard/lenovo/t430s/board.fmd M src/mainboard/lenovo/t430s/cmos.layout A src/mainboard/lenovo/t430s/vboot-rwa.fmd M src/mainboard/lenovo/t530/Kconfig A src/mainboard/lenovo/t530/board.fmd M src/mainboard/lenovo/t530/cmos.layout A src/mainboard/lenovo/t530/vboot-rwa.fmd M src/mainboard/lenovo/x131e/Kconfig A src/mainboard/lenovo/x131e/board.fmd M src/mainboard/lenovo/x131e/cmos.layout A src/mainboard/lenovo/x131e/vboot-rwa.fmd M src/mainboard/lenovo/x1_carbon_gen1/Kconfig A src/mainboard/lenovo/x1_carbon_gen1/board.fmd M src/mainboard/lenovo/x1_carbon_gen1/cmos.layout A src/mainboard/lenovo/x1_carbon_gen1/vboot-rwa.fmd M src/mainboard/lenovo/x230/Kconfig A src/mainboard/lenovo/x230/board.fmd M src/mainboard/lenovo/x230/cmos.layout A src/mainboard/lenovo/x230/vboot-rwa.fmd 24 files changed, 408 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/17/32617/1
diff --git a/src/mainboard/lenovo/t430/Kconfig b/src/mainboard/lenovo/t430/Kconfig index dbeaadb..fdccd66 100644 --- a/src/mainboard/lenovo/t430/Kconfig +++ b/src/mainboard/lenovo/t430/Kconfig @@ -26,6 +26,21 @@ select INTEL_GMA_HAVE_VBT select MAINBOARD_USES_IFD_GBE_REGION
+config VBOOT + select VBOOT_VBNV_CMOS + select GBB_FLAG_DISABLE_LID_SHUTDOWN + select GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC + select GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC + select GBB_FLAG_DISABLE_FWMP + select HAS_RECOVERY_MRC_CACHE + +config VBOOT_SLOTS_RW_AB + default y + +config VBOOT_VBNV_OFFSET + hex + default 0x2a + config MAINBOARD_DIR string default lenovo/t430 diff --git a/src/mainboard/lenovo/t430/board.fmd b/src/mainboard/lenovo/t430/board.fmd new file mode 100644 index 0000000..9180e12 --- /dev/null +++ b/src/mainboard/lenovo/t430/board.fmd @@ -0,0 +1,16 @@ +FLASH@0xff400000 0xc00000 { + SI_ALL@0x0 0x500000 { + SI_DESC@0x0 0x1000 + SI_GBE@0x1000 0x2000 + SI_ME@0x3000 0x4ed000 + } + SI_BIOS@0x500000 0x700000 { + RW_MRC_CACHE@0 0x10000 + SMMSTORE(PRESERVE)@0x10000 0x40000 + + WP_RO@0x50000 0x6a0000 { + FMAP@0x0 0x800 + COREBOOT(CBFS)@0x1000 0x69f000 + } + } +} diff --git a/src/mainboard/lenovo/t430/cmos.layout b/src/mainboard/lenovo/t430/cmos.layout index 1b50e7f..f9757f0 100644 --- a/src/mainboard/lenovo/t430/cmos.layout +++ b/src/mainboard/lenovo/t430/cmos.layout @@ -80,6 +80,9 @@ #437 3 r 0 unused 440 8 h 0 volume
+# VBOOT +448 128 r 0 vbnv + # SandyBridge MRC Scrambler Seed values 896 32 r 0 mrc_scrambler_seed 928 32 r 0 mrc_scrambler_seed_s3 diff --git a/src/mainboard/lenovo/t430/vboot-rwa.fmd b/src/mainboard/lenovo/t430/vboot-rwa.fmd new file mode 100644 index 0000000..58eb9e3 --- /dev/null +++ b/src/mainboard/lenovo/t430/vboot-rwa.fmd @@ -0,0 +1,34 @@ +FLASH@0xff400000 0xc00000 { + SI_ALL@0x0 0x500000 { + SI_DESC@0x0 0x1000 + SI_GBE@0x1000 0x2000 + SI_ME@0x3000 0x4ed000 + } + SI_BIOS@0x500000 0x700000 { + RW_SECTION_A@0x00000 0x280000 { + VBLOCK_A@0x0 0x10000 + FW_MAIN_A(CBFS)@0x10000 0x16ffc0 + RW_FWID_A@0x17ffc0 0x40 + } + RW_SECTION_B@0x280000 0x280000 { + VBLOCK_B@0x0 0x10000 + FW_MAIN_B(CBFS)@0x10000 0x16ffc0 + RW_FWID_B@0x17ffc0 0x40 + } + UNIFIED_MRC_CACHE@0x500000 0x20000 { + RECOVERY_MRC_CACHE@0x0 0x10000 + RW_MRC_CACHE@0x10000 0x10000 + } + RW_VPD(PRESERVE)@0x520000 0x1000 + SMMSTORE(PRESERVE)@0x521000 0x40000 + + WP_RO@0x581000 0x17f000 { + FMAP@0x0 0x800 + RO_FRID@0x800 0x40 + RO_PADDING@0x840 0x7c0 + RO_VPD(PRESERVE)@0x1000 0x1000 + GBB@0x2000 0x1e000 + COREBOOT(CBFS)@0x20000 0x15f000 + } + } +} diff --git a/src/mainboard/lenovo/t430s/Kconfig b/src/mainboard/lenovo/t430s/Kconfig index bad1837..a56f577 100644 --- a/src/mainboard/lenovo/t430s/Kconfig +++ b/src/mainboard/lenovo/t430s/Kconfig @@ -26,6 +26,21 @@ # Workaround for EC/KBC IRQ1. select SERIRQ_CONTINUOUS_MODE
+config VBOOT + select VBOOT_VBNV_CMOS + select GBB_FLAG_DISABLE_LID_SHUTDOWN + select GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC + select GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC + select GBB_FLAG_DISABLE_FWMP + select HAS_RECOVERY_MRC_CACHE + +config VBOOT_SLOTS_RW_AB + default y + +config VBOOT_VBNV_OFFSET + hex + default 0x2a + config MAINBOARD_DIR string default lenovo/t430s diff --git a/src/mainboard/lenovo/t430s/board.fmd b/src/mainboard/lenovo/t430s/board.fmd new file mode 100644 index 0000000..9180e12 --- /dev/null +++ b/src/mainboard/lenovo/t430s/board.fmd @@ -0,0 +1,16 @@ +FLASH@0xff400000 0xc00000 { + SI_ALL@0x0 0x500000 { + SI_DESC@0x0 0x1000 + SI_GBE@0x1000 0x2000 + SI_ME@0x3000 0x4ed000 + } + SI_BIOS@0x500000 0x700000 { + RW_MRC_CACHE@0 0x10000 + SMMSTORE(PRESERVE)@0x10000 0x40000 + + WP_RO@0x50000 0x6a0000 { + FMAP@0x0 0x800 + COREBOOT(CBFS)@0x1000 0x69f000 + } + } +} diff --git a/src/mainboard/lenovo/t430s/cmos.layout b/src/mainboard/lenovo/t430s/cmos.layout index 97d97ed..891a294 100644 --- a/src/mainboard/lenovo/t430s/cmos.layout +++ b/src/mainboard/lenovo/t430s/cmos.layout @@ -80,6 +80,9 @@ #436 4 r 0 unused 440 8 h 0 volume
+# VBOOT +448 128 r 0 vbnv + # SandyBridge MRC Scrambler Seed values 896 32 r 0 mrc_scrambler_seed 928 32 r 0 mrc_scrambler_seed_s3 diff --git a/src/mainboard/lenovo/t430s/vboot-rwa.fmd b/src/mainboard/lenovo/t430s/vboot-rwa.fmd new file mode 100644 index 0000000..58eb9e3 --- /dev/null +++ b/src/mainboard/lenovo/t430s/vboot-rwa.fmd @@ -0,0 +1,34 @@ +FLASH@0xff400000 0xc00000 { + SI_ALL@0x0 0x500000 { + SI_DESC@0x0 0x1000 + SI_GBE@0x1000 0x2000 + SI_ME@0x3000 0x4ed000 + } + SI_BIOS@0x500000 0x700000 { + RW_SECTION_A@0x00000 0x280000 { + VBLOCK_A@0x0 0x10000 + FW_MAIN_A(CBFS)@0x10000 0x16ffc0 + RW_FWID_A@0x17ffc0 0x40 + } + RW_SECTION_B@0x280000 0x280000 { + VBLOCK_B@0x0 0x10000 + FW_MAIN_B(CBFS)@0x10000 0x16ffc0 + RW_FWID_B@0x17ffc0 0x40 + } + UNIFIED_MRC_CACHE@0x500000 0x20000 { + RECOVERY_MRC_CACHE@0x0 0x10000 + RW_MRC_CACHE@0x10000 0x10000 + } + RW_VPD(PRESERVE)@0x520000 0x1000 + SMMSTORE(PRESERVE)@0x521000 0x40000 + + WP_RO@0x581000 0x17f000 { + FMAP@0x0 0x800 + RO_FRID@0x800 0x40 + RO_PADDING@0x840 0x7c0 + RO_VPD(PRESERVE)@0x1000 0x1000 + GBB@0x2000 0x1e000 + COREBOOT(CBFS)@0x20000 0x15f000 + } + } +} diff --git a/src/mainboard/lenovo/t530/Kconfig b/src/mainboard/lenovo/t530/Kconfig index b36460d..df011e4 100644 --- a/src/mainboard/lenovo/t530/Kconfig +++ b/src/mainboard/lenovo/t530/Kconfig @@ -27,6 +27,21 @@
if BOARD_LENOVO_BASEBOARD_T530
+config VBOOT + select VBOOT_VBNV_CMOS + select GBB_FLAG_DISABLE_LID_SHUTDOWN + select GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC + select GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC + select GBB_FLAG_DISABLE_FWMP + select HAS_RECOVERY_MRC_CACHE + +config VBOOT_SLOTS_RW_AB + default y + +config VBOOT_VBNV_OFFSET + hex + default 0x2a + config VARIANT_DIR string default "t530" if BOARD_LENOVO_T530 diff --git a/src/mainboard/lenovo/t530/board.fmd b/src/mainboard/lenovo/t530/board.fmd new file mode 100644 index 0000000..9180e12 --- /dev/null +++ b/src/mainboard/lenovo/t530/board.fmd @@ -0,0 +1,16 @@ +FLASH@0xff400000 0xc00000 { + SI_ALL@0x0 0x500000 { + SI_DESC@0x0 0x1000 + SI_GBE@0x1000 0x2000 + SI_ME@0x3000 0x4ed000 + } + SI_BIOS@0x500000 0x700000 { + RW_MRC_CACHE@0 0x10000 + SMMSTORE(PRESERVE)@0x10000 0x40000 + + WP_RO@0x50000 0x6a0000 { + FMAP@0x0 0x800 + COREBOOT(CBFS)@0x1000 0x69f000 + } + } +} diff --git a/src/mainboard/lenovo/t530/cmos.layout b/src/mainboard/lenovo/t530/cmos.layout index 3400a4d..0c8c546 100644 --- a/src/mainboard/lenovo/t530/cmos.layout +++ b/src/mainboard/lenovo/t530/cmos.layout @@ -81,6 +81,9 @@
440 8 h 0 volume
+# VBOOT +448 128 r 0 vbnv + # SandyBridge MRC Scrambler Seed values 896 32 r 0 mrc_scrambler_seed 928 32 r 0 mrc_scrambler_seed_s3 diff --git a/src/mainboard/lenovo/t530/vboot-rwa.fmd b/src/mainboard/lenovo/t530/vboot-rwa.fmd new file mode 100644 index 0000000..58eb9e3 --- /dev/null +++ b/src/mainboard/lenovo/t530/vboot-rwa.fmd @@ -0,0 +1,34 @@ +FLASH@0xff400000 0xc00000 { + SI_ALL@0x0 0x500000 { + SI_DESC@0x0 0x1000 + SI_GBE@0x1000 0x2000 + SI_ME@0x3000 0x4ed000 + } + SI_BIOS@0x500000 0x700000 { + RW_SECTION_A@0x00000 0x280000 { + VBLOCK_A@0x0 0x10000 + FW_MAIN_A(CBFS)@0x10000 0x16ffc0 + RW_FWID_A@0x17ffc0 0x40 + } + RW_SECTION_B@0x280000 0x280000 { + VBLOCK_B@0x0 0x10000 + FW_MAIN_B(CBFS)@0x10000 0x16ffc0 + RW_FWID_B@0x17ffc0 0x40 + } + UNIFIED_MRC_CACHE@0x500000 0x20000 { + RECOVERY_MRC_CACHE@0x0 0x10000 + RW_MRC_CACHE@0x10000 0x10000 + } + RW_VPD(PRESERVE)@0x520000 0x1000 + SMMSTORE(PRESERVE)@0x521000 0x40000 + + WP_RO@0x581000 0x17f000 { + FMAP@0x0 0x800 + RO_FRID@0x800 0x40 + RO_PADDING@0x840 0x7c0 + RO_VPD(PRESERVE)@0x1000 0x1000 + GBB@0x2000 0x1e000 + COREBOOT(CBFS)@0x20000 0x15f000 + } + } +} diff --git a/src/mainboard/lenovo/x131e/Kconfig b/src/mainboard/lenovo/x131e/Kconfig index e7da8d0..3da7b3b 100644 --- a/src/mainboard/lenovo/x131e/Kconfig +++ b/src/mainboard/lenovo/x131e/Kconfig @@ -21,6 +21,21 @@ select SERIRQ_CONTINUOUS_MODE select INTEL_GMA_HAVE_VBT
+config VBOOT + select VBOOT_VBNV_CMOS + select GBB_FLAG_DISABLE_LID_SHUTDOWN + select GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC + select GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC + select GBB_FLAG_DISABLE_FWMP + select HAS_RECOVERY_MRC_CACHE + +config VBOOT_SLOTS_RW_AB + default y + +config VBOOT_VBNV_OFFSET + hex + default 0x2a + config MAINBOARD_DIR string default lenovo/x131e diff --git a/src/mainboard/lenovo/x131e/board.fmd b/src/mainboard/lenovo/x131e/board.fmd new file mode 100644 index 0000000..9180e12 --- /dev/null +++ b/src/mainboard/lenovo/x131e/board.fmd @@ -0,0 +1,16 @@ +FLASH@0xff400000 0xc00000 { + SI_ALL@0x0 0x500000 { + SI_DESC@0x0 0x1000 + SI_GBE@0x1000 0x2000 + SI_ME@0x3000 0x4ed000 + } + SI_BIOS@0x500000 0x700000 { + RW_MRC_CACHE@0 0x10000 + SMMSTORE(PRESERVE)@0x10000 0x40000 + + WP_RO@0x50000 0x6a0000 { + FMAP@0x0 0x800 + COREBOOT(CBFS)@0x1000 0x69f000 + } + } +} diff --git a/src/mainboard/lenovo/x131e/cmos.layout b/src/mainboard/lenovo/x131e/cmos.layout index 93c74fb..41b8354 100644 --- a/src/mainboard/lenovo/x131e/cmos.layout +++ b/src/mainboard/lenovo/x131e/cmos.layout @@ -79,6 +79,9 @@
440 8 h 0 volume
+# VBOOT +448 128 r 0 vbnv + # SandyBridge MRC Scrambler Seed values 896 32 r 0 mrc_scrambler_seed 928 32 r 0 mrc_scrambler_seed_s3 diff --git a/src/mainboard/lenovo/x131e/vboot-rwa.fmd b/src/mainboard/lenovo/x131e/vboot-rwa.fmd new file mode 100644 index 0000000..58eb9e3 --- /dev/null +++ b/src/mainboard/lenovo/x131e/vboot-rwa.fmd @@ -0,0 +1,34 @@ +FLASH@0xff400000 0xc00000 { + SI_ALL@0x0 0x500000 { + SI_DESC@0x0 0x1000 + SI_GBE@0x1000 0x2000 + SI_ME@0x3000 0x4ed000 + } + SI_BIOS@0x500000 0x700000 { + RW_SECTION_A@0x00000 0x280000 { + VBLOCK_A@0x0 0x10000 + FW_MAIN_A(CBFS)@0x10000 0x16ffc0 + RW_FWID_A@0x17ffc0 0x40 + } + RW_SECTION_B@0x280000 0x280000 { + VBLOCK_B@0x0 0x10000 + FW_MAIN_B(CBFS)@0x10000 0x16ffc0 + RW_FWID_B@0x17ffc0 0x40 + } + UNIFIED_MRC_CACHE@0x500000 0x20000 { + RECOVERY_MRC_CACHE@0x0 0x10000 + RW_MRC_CACHE@0x10000 0x10000 + } + RW_VPD(PRESERVE)@0x520000 0x1000 + SMMSTORE(PRESERVE)@0x521000 0x40000 + + WP_RO@0x581000 0x17f000 { + FMAP@0x0 0x800 + RO_FRID@0x800 0x40 + RO_PADDING@0x840 0x7c0 + RO_VPD(PRESERVE)@0x1000 0x1000 + GBB@0x2000 0x1e000 + COREBOOT(CBFS)@0x20000 0x15f000 + } + } +} diff --git a/src/mainboard/lenovo/x1_carbon_gen1/Kconfig b/src/mainboard/lenovo/x1_carbon_gen1/Kconfig index 520853c..29060d9 100644 --- a/src/mainboard/lenovo/x1_carbon_gen1/Kconfig +++ b/src/mainboard/lenovo/x1_carbon_gen1/Kconfig @@ -26,6 +26,21 @@ # Workaround for EC/KBC IRQ1. select SERIRQ_CONTINUOUS_MODE
+config VBOOT + select VBOOT_VBNV_CMOS + select GBB_FLAG_DISABLE_LID_SHUTDOWN + select GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC + select GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC + select GBB_FLAG_DISABLE_FWMP + select HAS_RECOVERY_MRC_CACHE + +config VBOOT_SLOTS_RW_AB + default y + +config VBOOT_VBNV_OFFSET + hex + default 0x2a + config MAINBOARD_DIR string default lenovo/x1_carbon_gen1 diff --git a/src/mainboard/lenovo/x1_carbon_gen1/board.fmd b/src/mainboard/lenovo/x1_carbon_gen1/board.fmd new file mode 100644 index 0000000..9180e12 --- /dev/null +++ b/src/mainboard/lenovo/x1_carbon_gen1/board.fmd @@ -0,0 +1,16 @@ +FLASH@0xff400000 0xc00000 { + SI_ALL@0x0 0x500000 { + SI_DESC@0x0 0x1000 + SI_GBE@0x1000 0x2000 + SI_ME@0x3000 0x4ed000 + } + SI_BIOS@0x500000 0x700000 { + RW_MRC_CACHE@0 0x10000 + SMMSTORE(PRESERVE)@0x10000 0x40000 + + WP_RO@0x50000 0x6a0000 { + FMAP@0x0 0x800 + COREBOOT(CBFS)@0x1000 0x69f000 + } + } +} diff --git a/src/mainboard/lenovo/x1_carbon_gen1/cmos.layout b/src/mainboard/lenovo/x1_carbon_gen1/cmos.layout index bb25261..55a8a58 100644 --- a/src/mainboard/lenovo/x1_carbon_gen1/cmos.layout +++ b/src/mainboard/lenovo/x1_carbon_gen1/cmos.layout @@ -80,6 +80,9 @@
440 8 h 0 volume
+# VBOOT +448 128 r 0 vbnv + # SandyBridge MRC Scrambler Seed values 896 32 r 0 mrc_scrambler_seed 928 32 r 0 mrc_scrambler_seed_s3 diff --git a/src/mainboard/lenovo/x1_carbon_gen1/vboot-rwa.fmd b/src/mainboard/lenovo/x1_carbon_gen1/vboot-rwa.fmd new file mode 100644 index 0000000..58eb9e3 --- /dev/null +++ b/src/mainboard/lenovo/x1_carbon_gen1/vboot-rwa.fmd @@ -0,0 +1,34 @@ +FLASH@0xff400000 0xc00000 { + SI_ALL@0x0 0x500000 { + SI_DESC@0x0 0x1000 + SI_GBE@0x1000 0x2000 + SI_ME@0x3000 0x4ed000 + } + SI_BIOS@0x500000 0x700000 { + RW_SECTION_A@0x00000 0x280000 { + VBLOCK_A@0x0 0x10000 + FW_MAIN_A(CBFS)@0x10000 0x16ffc0 + RW_FWID_A@0x17ffc0 0x40 + } + RW_SECTION_B@0x280000 0x280000 { + VBLOCK_B@0x0 0x10000 + FW_MAIN_B(CBFS)@0x10000 0x16ffc0 + RW_FWID_B@0x17ffc0 0x40 + } + UNIFIED_MRC_CACHE@0x500000 0x20000 { + RECOVERY_MRC_CACHE@0x0 0x10000 + RW_MRC_CACHE@0x10000 0x10000 + } + RW_VPD(PRESERVE)@0x520000 0x1000 + SMMSTORE(PRESERVE)@0x521000 0x40000 + + WP_RO@0x581000 0x17f000 { + FMAP@0x0 0x800 + RO_FRID@0x800 0x40 + RO_PADDING@0x840 0x7c0 + RO_VPD(PRESERVE)@0x1000 0x1000 + GBB@0x2000 0x1e000 + COREBOOT(CBFS)@0x20000 0x15f000 + } + } +} diff --git a/src/mainboard/lenovo/x230/Kconfig b/src/mainboard/lenovo/x230/Kconfig index 5b34b83..e7d7720 100644 --- a/src/mainboard/lenovo/x230/Kconfig +++ b/src/mainboard/lenovo/x230/Kconfig @@ -27,6 +27,21 @@ # Workaround for EC/KBC IRQ1. select SERIRQ_CONTINUOUS_MODE
+config VBOOT + select VBOOT_VBNV_CMOS + select GBB_FLAG_DISABLE_LID_SHUTDOWN + select GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC + select GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC + select GBB_FLAG_DISABLE_FWMP + select HAS_RECOVERY_MRC_CACHE + +config VBOOT_SLOTS_RW_AB + default y + +config VBOOT_VBNV_OFFSET + hex + default 0x2a + config MAINBOARD_DIR string default lenovo/x230 diff --git a/src/mainboard/lenovo/x230/board.fmd b/src/mainboard/lenovo/x230/board.fmd new file mode 100644 index 0000000..9180e12 --- /dev/null +++ b/src/mainboard/lenovo/x230/board.fmd @@ -0,0 +1,16 @@ +FLASH@0xff400000 0xc00000 { + SI_ALL@0x0 0x500000 { + SI_DESC@0x0 0x1000 + SI_GBE@0x1000 0x2000 + SI_ME@0x3000 0x4ed000 + } + SI_BIOS@0x500000 0x700000 { + RW_MRC_CACHE@0 0x10000 + SMMSTORE(PRESERVE)@0x10000 0x40000 + + WP_RO@0x50000 0x6a0000 { + FMAP@0x0 0x800 + COREBOOT(CBFS)@0x1000 0x69f000 + } + } +} diff --git a/src/mainboard/lenovo/x230/cmos.layout b/src/mainboard/lenovo/x230/cmos.layout index 27197fb..9903400 100644 --- a/src/mainboard/lenovo/x230/cmos.layout +++ b/src/mainboard/lenovo/x230/cmos.layout @@ -80,6 +80,9 @@
440 8 h 0 volume
+# VBOOT +448 128 r 0 vbnv + # SandyBridge MRC Scrambler Seed values 896 32 r 0 mrc_scrambler_seed 928 32 r 0 mrc_scrambler_seed_s3 diff --git a/src/mainboard/lenovo/x230/vboot-rwa.fmd b/src/mainboard/lenovo/x230/vboot-rwa.fmd new file mode 100644 index 0000000..58eb9e3 --- /dev/null +++ b/src/mainboard/lenovo/x230/vboot-rwa.fmd @@ -0,0 +1,34 @@ +FLASH@0xff400000 0xc00000 { + SI_ALL@0x0 0x500000 { + SI_DESC@0x0 0x1000 + SI_GBE@0x1000 0x2000 + SI_ME@0x3000 0x4ed000 + } + SI_BIOS@0x500000 0x700000 { + RW_SECTION_A@0x00000 0x280000 { + VBLOCK_A@0x0 0x10000 + FW_MAIN_A(CBFS)@0x10000 0x16ffc0 + RW_FWID_A@0x17ffc0 0x40 + } + RW_SECTION_B@0x280000 0x280000 { + VBLOCK_B@0x0 0x10000 + FW_MAIN_B(CBFS)@0x10000 0x16ffc0 + RW_FWID_B@0x17ffc0 0x40 + } + UNIFIED_MRC_CACHE@0x500000 0x20000 { + RECOVERY_MRC_CACHE@0x0 0x10000 + RW_MRC_CACHE@0x10000 0x10000 + } + RW_VPD(PRESERVE)@0x520000 0x1000 + SMMSTORE(PRESERVE)@0x521000 0x40000 + + WP_RO@0x581000 0x17f000 { + FMAP@0x0 0x800 + RO_FRID@0x800 0x40 + RO_PADDING@0x840 0x7c0 + RO_VPD(PRESERVE)@0x1000 0x1000 + GBB@0x2000 0x1e000 + COREBOOT(CBFS)@0x20000 0x15f000 + } + } +}
Martin Kepplinger has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32617 )
Change subject: mb/lenovo/*: Add support for VBOOT on 12MiB devices ......................................................................
Patch Set 1:
commit message says "8 MiB flash" here. Also, why not "a and b", like https://review.coreboot.org/c/coreboot/+/29816 tries to do?
Also, some hints on how to test would be great in order to get it tested :) thanks!
Patrick Rudolph has uploaded a new patch set (#2) to the change originally created by Patrick Rudolph. ( https://review.coreboot.org/c/coreboot/+/32617 )
Change subject: mb/lenovo/*: Add support for VBOOT on 12MiB devices ......................................................................
mb/lenovo/*: Add support for VBOOT on 12MiB devices
Enable VBOOT support on all devices that have a 12 MiB flash, using RW_MAIN_A + RW_MAIN_B partition, allowing the use of tianocore payload in both RW_MAIN_A, RW_MAIN_B and WP_RO.
* Add VBNV section to cmos.layout * Add FMAP for VBOOT and regular boot * Select Kconfigs for VBOOT * Enable VBOOT_SLOTS_RW_AB by default
Untested.
Change-Id: I8a35a06ece1e9d57a2ef23970e61ae26fafce543 Signed-off-by: Patrick Rudolph patrick.rudolph@9elements.com --- M src/mainboard/lenovo/t430/Kconfig A src/mainboard/lenovo/t430/board.fmd M src/mainboard/lenovo/t430/cmos.layout A src/mainboard/lenovo/t430/vboot-rwa.fmd M src/mainboard/lenovo/t430s/Kconfig A src/mainboard/lenovo/t430s/board.fmd M src/mainboard/lenovo/t430s/cmos.layout A src/mainboard/lenovo/t430s/vboot-rwa.fmd M src/mainboard/lenovo/t530/Kconfig A src/mainboard/lenovo/t530/board.fmd M src/mainboard/lenovo/t530/cmos.layout A src/mainboard/lenovo/t530/vboot-rwa.fmd M src/mainboard/lenovo/x131e/Kconfig A src/mainboard/lenovo/x131e/board.fmd M src/mainboard/lenovo/x131e/cmos.layout A src/mainboard/lenovo/x131e/vboot-rwa.fmd M src/mainboard/lenovo/x1_carbon_gen1/Kconfig A src/mainboard/lenovo/x1_carbon_gen1/board.fmd M src/mainboard/lenovo/x1_carbon_gen1/cmos.layout A src/mainboard/lenovo/x1_carbon_gen1/vboot-rwa.fmd M src/mainboard/lenovo/x230/Kconfig A src/mainboard/lenovo/x230/board.fmd M src/mainboard/lenovo/x230/cmos.layout A src/mainboard/lenovo/x230/vboot-rwa.fmd 24 files changed, 408 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/17/32617/2
Patrick Rudolph has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32617 )
Change subject: mb/lenovo/*: Add support for VBOOT on 12MiB devices ......................................................................
Patch Set 2:
commit message says "8 MiB flash" here. Also, why not "a and b", like https://review.coreboot.org/c/coreboot/+/29816 tries to do?
I just copied the commit message.
Also, some hints on how to test would be great in order to get it tested :) thanks!
Enable CONFIG_VBOOT and CONFIG_H8_FN_KEY_AS_VBOOT_RECOVERY_SW on default config. It will boot RW_MAIN_A/RW_MAIN_B on regular boot and WP_RO if you hold Fn-Key on boot.
Martin Kepplinger has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32617 )
Change subject: mb/lenovo/*: Add support for VBOOT on 12MiB devices ......................................................................
Patch Set 2:
Patch Set 2:
commit message says "8 MiB flash" here. Also, why not "a and b", like https://review.coreboot.org/c/coreboot/+/29816 tries to do?
I just copied the commit message.
Also, some hints on how to test would be great in order to get it tested :) thanks!
Enable CONFIG_VBOOT and CONFIG_H8_FN_KEY_AS_VBOOT_RECOVERY_SW on default config. It will boot RW_MAIN_A/RW_MAIN_B on regular boot and WP_RO if you hold Fn-Key on boot.
thanks. now the vboot-rwa.fmd filenames suggest "a only". shouldn't that be "vboot-rw-ab.fmd" or "vboot-rwab.fmd"? As a different board has "vboot-ro.fmd" already, I guess this should match the content...
Philipp Deppenwiese has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32617 )
Change subject: mb/lenovo/*: Add support for VBOOT on 12MiB devices ......................................................................
Patch Set 2: Code-Review+2
Philipp Deppenwiese has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32617 )
Change subject: mb/lenovo/*: Add support for VBOOT on 12MiB devices ......................................................................
Patch Set 2:
Füg mal hier noch die pfade zu den FMDs hinzu
Hello Alexander Couzens, Patrick Rudolph, Philipp Deppenwiese, build bot (Jenkins),
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/32617
to look at the new patch set (#3).
Change subject: mb/lenovo/*: Add support for VBOOT on 12MiB devices ......................................................................
mb/lenovo/*: Add support for VBOOT on 12MiB devices
Enable VBOOT support on all devices that have a 12 MiB flash, using RW_MAIN_A + RW_MAIN_B partition, allowing the use of tianocore payload in both RW_MAIN_A, RW_MAIN_B and WP_RO.
* Add VBNV section to cmos.layout * Add FMAP for VBOOT and regular boot * Select Kconfigs for VBOOT * Enable VBOOT_SLOTS_RW_AB by default
Untested.
Change-Id: I8a35a06ece1e9d57a2ef23970e61ae26fafce543 Signed-off-by: Patrick Rudolph patrick.rudolph@9elements.com --- M src/mainboard/lenovo/t430/Kconfig A src/mainboard/lenovo/t430/board.fmd M src/mainboard/lenovo/t430/cmos.layout A src/mainboard/lenovo/t430/vboot-rwab.fmd M src/mainboard/lenovo/t430s/Kconfig A src/mainboard/lenovo/t430s/board.fmd M src/mainboard/lenovo/t430s/cmos.layout A src/mainboard/lenovo/t430s/vboot-rwab.fmd M src/mainboard/lenovo/t530/Kconfig A src/mainboard/lenovo/t530/board.fmd M src/mainboard/lenovo/t530/cmos.layout A src/mainboard/lenovo/t530/vboot-rwab.fmd M src/mainboard/lenovo/x131e/Kconfig A src/mainboard/lenovo/x131e/board.fmd M src/mainboard/lenovo/x131e/cmos.layout A src/mainboard/lenovo/x131e/vboot-rwab.fmd M src/mainboard/lenovo/x1_carbon_gen1/Kconfig A src/mainboard/lenovo/x1_carbon_gen1/board.fmd M src/mainboard/lenovo/x1_carbon_gen1/cmos.layout A src/mainboard/lenovo/x1_carbon_gen1/vboot-rwab.fmd M src/mainboard/lenovo/x230/Kconfig A src/mainboard/lenovo/x230/board.fmd M src/mainboard/lenovo/x230/cmos.layout A src/mainboard/lenovo/x230/vboot-rwab.fmd 24 files changed, 438 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/17/32617/3
Patrick Rudolph has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32617 )
Change subject: mb/lenovo/*: Add support for VBOOT on 12MiB devices ......................................................................
Patch Set 3:
Patch Set 2:
Patch Set 2:
commit message says "8 MiB flash" here. Also, why not "a and b", like https://review.coreboot.org/c/coreboot/+/29816 tries to do?
I just copied the commit message.
Also, some hints on how to test would be great in order to get it tested :) thanks!
Enable CONFIG_VBOOT and CONFIG_H8_FN_KEY_AS_VBOOT_RECOVERY_SW on default config. It will boot RW_MAIN_A/RW_MAIN_B on regular boot and WP_RO if you hold Fn-Key on boot.
thanks. now the vboot-rwa.fmd filenames suggest "a only". shouldn't that be "vboot-rw-ab.fmd" or "vboot-rwab.fmd"? As a different board has "vboot-ro.fmd" already, I guess this should match the content...
* changed file name to vboot-rwab.fmd * Added missing Kconfig for default fmap
Patrick Rudolph has uploaded a new patch set (#4) to the change originally created by Patrick Rudolph. ( https://review.coreboot.org/c/coreboot/+/32617 )
Change subject: mb/lenovo/*: Add support for VBOOT on 12MiB devices ......................................................................
mb/lenovo/*: Add support for VBOOT on 12MiB devices
Enable VBOOT support on all devices that have a 12 MiB flash, using RW_MAIN_A + RW_MAIN_B partition, allowing the use of tianocore payload in both RW_MAIN_A, RW_MAIN_B and WP_RO.
* Add VBNV section to cmos.layout * Add FMAP for VBOOT * Select Kconfigs for VBOOT * Enable VBOOT_SLOTS_RW_AB by default
Untested.
Change-Id: I8a35a06ece1e9d57a2ef23970e61ae26fafce543 Signed-off-by: Patrick Rudolph patrick.rudolph@9elements.com --- M src/mainboard/lenovo/t430/Kconfig M src/mainboard/lenovo/t430/cmos.layout A src/mainboard/lenovo/t430/vboot-rwab.fmd M src/mainboard/lenovo/t430s/Kconfig M src/mainboard/lenovo/t430s/cmos.layout A src/mainboard/lenovo/t430s/vboot-rwab.fmd M src/mainboard/lenovo/t530/Kconfig M src/mainboard/lenovo/t530/cmos.layout A src/mainboard/lenovo/t530/vboot-rwab.fmd M src/mainboard/lenovo/x131e/Kconfig M src/mainboard/lenovo/x131e/cmos.layout A src/mainboard/lenovo/x131e/vboot-rwab.fmd M src/mainboard/lenovo/x1_carbon_gen1/Kconfig M src/mainboard/lenovo/x1_carbon_gen1/cmos.layout A src/mainboard/lenovo/x1_carbon_gen1/vboot-rwab.fmd M src/mainboard/lenovo/x230/Kconfig M src/mainboard/lenovo/x230/cmos.layout A src/mainboard/lenovo/x230/vboot-rwab.fmd 18 files changed, 336 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/17/32617/4
Patrick Rudolph has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32617 )
Change subject: mb/lenovo/*: Add support for VBOOT on 12MiB devices ......................................................................
Patch Set 4:
Removed default FMAP on non VBOOT boot path.
Martin Kepplinger has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32617 )
Change subject: mb/lenovo/*: Add support for VBOOT on 12MiB devices ......................................................................
Patch Set 4: Code-Review+1
(1 comment)
fwiw, I think this is fine since we can add other vboot formats anytime later.
https://review.coreboot.org/#/c/32617/3/src/mainboard/lenovo/x230/board.fmd File src/mainboard/lenovo/x230/board.fmd:
https://review.coreboot.org/#/c/32617/3/src/mainboard/lenovo/x230/board.fmd@... PS3, Line 9: SMMSTORE(PRESERVE)@0x10000 0x40000 is that region really necessary? if so, why? sorry if that's a general or off-topic question.
Patrick Rudolph has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32617 )
Change subject: mb/lenovo/*: Add support for VBOOT on 12MiB devices ......................................................................
Patch Set 4:
(1 comment)
https://review.coreboot.org/#/c/32617/3/src/mainboard/lenovo/x230/board.fmd File src/mainboard/lenovo/x230/board.fmd:
https://review.coreboot.org/#/c/32617/3/src/mainboard/lenovo/x230/board.fmd@... PS3, Line 9: SMMSTORE(PRESERVE)@0x10000 0x40000
is that region really necessary? if so, why? sorry if that's a general or off-topic question.
it allows to use the SMMSTORE once https://review.coreboot.org/c/coreboot/+/30012 is merged, which is used by tianocore (or any other payload) for NVRAM storage.
Arthur Heymans has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32617 )
Change subject: mb/lenovo/*: Add support for VBOOT on 12MiB devices ......................................................................
Patch Set 4:
(9 comments)
I haven't looked at the rest of the patch, but you can optimize the fmap.
https://review.coreboot.org/#/c/32617/4/src/mainboard/lenovo/t530/vboot-rwab... File src/mainboard/lenovo/t530/vboot-rwab.fmd:
https://review.coreboot.org/#/c/32617/4/src/mainboard/lenovo/t530/vboot-rwab... PS4, Line 8: 0x00000 no need to define the base.
https://review.coreboot.org/#/c/32617/4/src/mainboard/lenovo/t530/vboot-rwab... PS4, Line 9: @0x0 only define size
https://review.coreboot.org/#/c/32617/4/src/mainboard/lenovo/t530/vboot-rwab... PS4, Line 10: @0x10000 0x16ffc0 don't define anything such that it fills up RW_SECTION_A
https://review.coreboot.org/#/c/32617/4/src/mainboard/lenovo/t530/vboot-rwab... PS4, Line 11: @0x17ffc0 Don't define the base.
https://review.coreboot.org/#/c/32617/4/src/mainboard/lenovo/t530/vboot-rwab... PS4, Line 13: RW_SECTION_B@0x280000 0x280000 { : VBLOCK_B@0x0 0x10000 : FW_MAIN_B(CBFS)@0x10000 0x16ffc0 : RW_FWID_B@0x17ffc0 0x40 : } see RW_SECTION_B
https://review.coreboot.org/#/c/32617/4/src/mainboard/lenovo/t530/vboot-rwab... PS4, Line 22: @0x520000 don't define the base
https://review.coreboot.org/#/c/32617/4/src/mainboard/lenovo/t530/vboot-rwab... PS4, Line 25: 0x581000 0x17f000 don't define this at all to make sure it fills up all the space.
https://review.coreboot.org/#/c/32617/4/src/mainboard/lenovo/t530/vboot-rwab... PS4, Line 26: FMAP@0x0 0x800 : RO_FRID@0x800 0x40 : RO_PADDING@0x840 0x7c0 : RO_VPD(PRESERVE)@0x1000 0x1000 : GBB@0x2000 0x1e000 only define sizes on these.
https://review.coreboot.org/#/c/32617/4/src/mainboard/lenovo/t530/vboot-rwab... PS4, Line 31: @0x20000 0x15f000 Don't define base/size such that it it will take in all available space.
Felix Singer has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32617 )
Change subject: mb/lenovo/*: Add support for VBOOT on 12MiB devices ......................................................................
Patch Set 4: Code-Review+1
Works on x230.
Jonas Moehle has uploaded a new patch set (#5) to the change originally created by Patrick Rudolph. ( https://review.coreboot.org/c/coreboot/+/32617 )
Change subject: mb/lenovo/*: Add support for VBOOT on 12MiB devices ......................................................................
mb/lenovo/*: Add support for VBOOT on 12MiB devices
Enable VBOOT support on all devices that have a 12 MiB flash, using RW_MAIN_A + RW_MAIN_B partition, allowing the use of tianocore payload in both RW_MAIN_A, RW_MAIN_B and WP_RO.
* Add VBNV section to cmos.layout * Add FMAP for VBOOT * Select Kconfigs for VBOOT * Enable VBOOT_SLOTS_RW_AB by default
Untested.
Change-Id: I8a35a06ece1e9d57a2ef23970e61ae26fafce543 Signed-off-by: Patrick Rudolph patrick.rudolph@9elements.com Signed-off-by: Jonas Moehle ad-min@mailbox.org --- M src/mainboard/lenovo/t430/Kconfig M src/mainboard/lenovo/t430/cmos.layout A src/mainboard/lenovo/t430/vboot-rwab.fmd M src/mainboard/lenovo/t430s/Kconfig M src/mainboard/lenovo/t430s/cmos.layout A src/mainboard/lenovo/t430s/vboot-rwab.fmd M src/mainboard/lenovo/t440p/Kconfig M src/mainboard/lenovo/t440p/cmos.layout A src/mainboard/lenovo/t440p/vboot-rwab.fmd M src/mainboard/lenovo/t530/Kconfig M src/mainboard/lenovo/t530/cmos.layout A src/mainboard/lenovo/t530/vboot-rwab.fmd M src/mainboard/lenovo/x131e/Kconfig M src/mainboard/lenovo/x131e/cmos.layout A src/mainboard/lenovo/x131e/vboot-rwab.fmd M src/mainboard/lenovo/x1_carbon_gen1/Kconfig M src/mainboard/lenovo/x1_carbon_gen1/cmos.layout A src/mainboard/lenovo/x1_carbon_gen1/vboot-rwab.fmd M src/mainboard/lenovo/x230/Kconfig M src/mainboard/lenovo/x230/cmos.layout A src/mainboard/lenovo/x230/vboot-rwab.fmd 21 files changed, 392 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/17/32617/5
Jonas Moehle has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32617 )
Change subject: mb/lenovo/*: Add support for VBOOT on 12MiB devices ......................................................................
Patch Set 5:
I've added T440P in this patchset. Not sure why it wasn't included when it has a 12 MB EEPROM as well.
The bases are now undefined where suggested by Arthur Heymans.
Patrick Rudolph has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32617 )
Change subject: mb/lenovo/*: Add support for VBOOT on 12MiB devices ......................................................................
Patch Set 5:
(10 comments)
https://review.coreboot.org/c/coreboot/+/32617/4/src/mainboard/lenovo/t530/v... File src/mainboard/lenovo/t530/vboot-rwab.fmd:
https://review.coreboot.org/c/coreboot/+/32617/4/src/mainboard/lenovo/t530/v... PS4, Line 8: 0x00000
no need to define the base.
Done
https://review.coreboot.org/c/coreboot/+/32617/4/src/mainboard/lenovo/t530/v... PS4, Line 9: @0x0
only define size
Done
https://review.coreboot.org/c/coreboot/+/32617/4/src/mainboard/lenovo/t530/v... PS4, Line 10: @0x10000 0x16ffc0
don't define anything such that it fills up RW_SECTION_A
Done
https://review.coreboot.org/c/coreboot/+/32617/4/src/mainboard/lenovo/t530/v... PS4, Line 11: @0x17ffc0
Don't define the base.
Done
https://review.coreboot.org/c/coreboot/+/32617/4/src/mainboard/lenovo/t530/v... PS4, Line 13: RW_SECTION_B@0x280000 0x280000 { : VBLOCK_B@0x0 0x10000 : FW_MAIN_B(CBFS)@0x10000 0x16ffc0 : RW_FWID_B@0x17ffc0 0x40 : }
see RW_SECTION_B
Done
https://review.coreboot.org/c/coreboot/+/32617/4/src/mainboard/lenovo/t530/v... PS4, Line 22: @0x520000
don't define the base
Done
https://review.coreboot.org/c/coreboot/+/32617/4/src/mainboard/lenovo/t530/v... PS4, Line 25: 0x581000 0x17f000
don't define this at all to make sure it fills up all the space.
Done
https://review.coreboot.org/c/coreboot/+/32617/4/src/mainboard/lenovo/t530/v... PS4, Line 26: FMAP@0x0 0x800 : RO_FRID@0x800 0x40 : RO_PADDING@0x840 0x7c0 : RO_VPD(PRESERVE)@0x1000 0x1000 : GBB@0x2000 0x1e000
only define sizes on these.
Done
https://review.coreboot.org/c/coreboot/+/32617/4/src/mainboard/lenovo/t530/v... PS4, Line 31: @0x20000 0x15f000
Don't define base/size such that it it will take in all available space.
Done
https://review.coreboot.org/c/coreboot/+/32617/3/src/mainboard/lenovo/x230/b... File src/mainboard/lenovo/x230/board.fmd:
https://review.coreboot.org/c/coreboot/+/32617/3/src/mainboard/lenovo/x230/b... PS3, Line 9: SMMSTORE(PRESERVE)@0x10000 0x40000
it allows to use the SMMSTORE once https://review.coreboot. […]
Done
Patrick Rudolph has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32617 )
Change subject: mb/lenovo/*: Add support for VBOOT on 12MiB devices ......................................................................
Patch Set 5:
(1 comment)
https://review.coreboot.org/c/coreboot/+/32617/5//COMMIT_MSG Commit Message:
https://review.coreboot.org/c/coreboot/+/32617/5//COMMIT_MSG@18 PS5, Line 18: Untested. if you tested it on real hardware please update the commit message. Felix tested it on the x230, so this should work on all IvyBridge devices.
Jonas Moehle has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32617 )
Change subject: mb/lenovo/*: Add support for VBOOT on 12MiB devices ......................................................................
Patch Set 5:
(1 comment)
Patch Set 5:
(1 comment)
It's still untested on the T440P. Haven't had time for proper testing yet.
https://review.coreboot.org/c/coreboot/+/32617/5//COMMIT_MSG Commit Message:
https://review.coreboot.org/c/coreboot/+/32617/5//COMMIT_MSG@18 PS5, Line 18: Untested.
if you tested it on real hardware please update the commit message. […]
It's still untested on the T440P. Haven't had time for proper testing yet.
Felix Singer has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32617 )
Change subject: mb/lenovo/*: Add support for VBOOT on 12MiB devices ......................................................................
Patch Set 5:
(1 comment)
https://review.coreboot.org/c/coreboot/+/32617/5//COMMIT_MSG Commit Message:
https://review.coreboot.org/c/coreboot/+/32617/5//COMMIT_MSG@18 PS5, Line 18: Untested.
It's still untested on the T440P. Haven't had time for proper testing yet.
As far as I can see the T440P blocks the progress here, right? IMO we should remove it from this commit and create a seperate commit for it. So we can merge this one at least.
Iru Cai (vimacs) has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32617 )
Change subject: mb/lenovo/*: Add support for VBOOT on 12MiB devices ......................................................................
Patch Set 5:
looks good to me on T440p boot log at: https://paste.debian.net/1125313
Felix Singer has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32617 )
Change subject: mb/lenovo/*: Add support for VBOOT on 12MiB devices ......................................................................
Patch Set 5: Code-Review+1
(1 comment)
https://review.coreboot.org/c/coreboot/+/32617/5//COMMIT_MSG Commit Message:
https://review.coreboot.org/c/coreboot/+/32617/5//COMMIT_MSG@18 PS5, Line 18: Untested.
As far as I can see the T440P blocks the progress here, right? IMO we should remove it from this com […]
Done
Peter Lemenkov has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32617 )
Change subject: mb/lenovo/*: Add support for VBOOT on 12MiB devices ......................................................................
Patch Set 5: Code-Review+1
Felix Singer has uploaded a new patch set (#6) to the change originally created by Patrick Rudolph. ( https://review.coreboot.org/c/coreboot/+/32617 )
Change subject: mb/lenovo/*: Add support for VBOOT on 12MiB devices ......................................................................
mb/lenovo/*: Add support for VBOOT on 12MiB devices
Enable VBOOT support on all devices that have a 12 MiB flash, using RW_MAIN_A + RW_MAIN_B partition, allowing the use of tianocore payload in both RW_MAIN_A, RW_MAIN_B and WP_RO.
* Add VBNV section to cmos.layout * Add FMAP for VBOOT * Select Kconfigs for VBOOT * Enable VBOOT_SLOTS_RW_AB by default
Tested on x230 and T440p.
Change-Id: I8a35a06ece1e9d57a2ef23970e61ae26fafce543 Signed-off-by: Patrick Rudolph patrick.rudolph@9elements.com Signed-off-by: Jonas Moehle ad-min@mailbox.org --- M src/mainboard/lenovo/t430/Kconfig M src/mainboard/lenovo/t430/cmos.layout A src/mainboard/lenovo/t430/vboot-rwab.fmd M src/mainboard/lenovo/t430s/Kconfig M src/mainboard/lenovo/t430s/cmos.layout A src/mainboard/lenovo/t430s/vboot-rwab.fmd M src/mainboard/lenovo/t440p/Kconfig M src/mainboard/lenovo/t440p/cmos.layout A src/mainboard/lenovo/t440p/vboot-rwab.fmd M src/mainboard/lenovo/t530/Kconfig M src/mainboard/lenovo/t530/cmos.layout A src/mainboard/lenovo/t530/vboot-rwab.fmd M src/mainboard/lenovo/x131e/Kconfig M src/mainboard/lenovo/x131e/cmos.layout A src/mainboard/lenovo/x131e/vboot-rwab.fmd M src/mainboard/lenovo/x1_carbon_gen1/Kconfig M src/mainboard/lenovo/x1_carbon_gen1/cmos.layout A src/mainboard/lenovo/x1_carbon_gen1/vboot-rwab.fmd M src/mainboard/lenovo/x230/Kconfig M src/mainboard/lenovo/x230/cmos.layout A src/mainboard/lenovo/x230/vboot-rwab.fmd 21 files changed, 392 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/17/32617/6
Arthur Heymans has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32617 )
Change subject: mb/lenovo/*: Add support for VBOOT on 12MiB devices ......................................................................
Patch Set 6: Code-Review+2
(1 comment)
https://review.coreboot.org/c/coreboot/+/32617/6/src/mainboard/lenovo/t430s/... File src/mainboard/lenovo/t430s/Kconfig:
https://review.coreboot.org/c/coreboot/+/32617/6/src/mainboard/lenovo/t430s/... PS6, Line 45: FMDFILE maybe the default for for FMDFILE could be changed to 'default "src/mainboard/$(CONFIG_MAINBOARD_DIR)/board.fmd" if VBOOT && !CHROMEOS' ?
Nico Huber has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32617 )
Change subject: mb/lenovo/*: Add support for VBOOT on 12MiB devices ......................................................................
Patch Set 6:
(3 comments)
https://review.coreboot.org/c/coreboot/+/32617/6/src/mainboard/lenovo/t430/K... File src/mainboard/lenovo/t430/Kconfig:
https://review.coreboot.org/c/coreboot/+/32617/6/src/mainboard/lenovo/t430/K... PS6, Line 35: select HAS_RECOVERY_MRC_CACHE Alas, this has no help text. What are its benefits?
https://review.coreboot.org/c/coreboot/+/32617/6/src/mainboard/lenovo/t430/c... File src/mainboard/lenovo/t430/cmos.layout:
https://review.coreboot.org/c/coreboot/+/32617/6/src/mainboard/lenovo/t430/c... PS6, Line 142: checksum 392 447 984 Is `vbnv` not checksummed on purpose?
https://review.coreboot.org/c/coreboot/+/32617/6/src/mainboard/lenovo/t430/v... File src/mainboard/lenovo/t430/vboot-rwab.fmd:
https://review.coreboot.org/c/coreboot/+/32617/6/src/mainboard/lenovo/t430/v... PS6, Line 5: SI_ME@0x3000 0x4ed000 Why the gap?
Patrick Rudolph has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32617 )
Change subject: mb/lenovo/*: Add support for VBOOT on 12MiB devices ......................................................................
Patch Set 6:
(1 comment)
https://review.coreboot.org/c/coreboot/+/32617/6/src/mainboard/lenovo/t430/c... File src/mainboard/lenovo/t430/cmos.layout:
https://review.coreboot.org/c/coreboot/+/32617/6/src/mainboard/lenovo/t430/c... PS6, Line 142: checksum 392 447 984
Is `vbnv` not checksummed on purpose?
Correct, it's not accessed by get|set_option
Hello Martin Kepplinger, Alexander Couzens, Patrick Rudolph, Jonas Moehle, Arthur Heymans, Peter Lemenkov, Felix Singer, Philipp Deppenwiese, build bot (Jenkins),
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/32617
to look at the new patch set (#7).
Change subject: mb/lenovo/*: Add support for VBOOT on 12MiB devices ......................................................................
mb/lenovo/*: Add support for VBOOT on 12MiB devices
Enable VBOOT support on all devices that have a 12 MiB flash, using RW_MAIN_A + RW_MAIN_B partition, allowing the use of tianocore payload in both RW_MAIN_A, RW_MAIN_B and WP_RO.
* Add VBNV section to cmos.layout * Add FMAP for VBOOT * Select Kconfigs for VBOOT * Enable VBOOT_SLOTS_RW_AB by default
The VBNV is intentionally not covered by the CMOS checksum.
Tested on x230 and T440p.
Change-Id: I8a35a06ece1e9d57a2ef23970e61ae26fafce543 Signed-off-by: Patrick Rudolph patrick.rudolph@9elements.com Signed-off-by: Jonas Moehle ad-min@mailbox.org --- M src/mainboard/lenovo/t430/Kconfig M src/mainboard/lenovo/t430/cmos.layout A src/mainboard/lenovo/t430/vboot-rwab.fmd M src/mainboard/lenovo/t430s/Kconfig M src/mainboard/lenovo/t430s/cmos.layout A src/mainboard/lenovo/t430s/vboot-rwab.fmd M src/mainboard/lenovo/t440p/Kconfig M src/mainboard/lenovo/t440p/cmos.layout A src/mainboard/lenovo/t440p/vboot-rwab.fmd M src/mainboard/lenovo/t530/Kconfig M src/mainboard/lenovo/t530/cmos.layout A src/mainboard/lenovo/t530/vboot-rwab.fmd M src/mainboard/lenovo/x131e/Kconfig M src/mainboard/lenovo/x131e/cmos.layout A src/mainboard/lenovo/x131e/vboot-rwab.fmd M src/mainboard/lenovo/x1_carbon_gen1/Kconfig M src/mainboard/lenovo/x1_carbon_gen1/cmos.layout A src/mainboard/lenovo/x1_carbon_gen1/vboot-rwab.fmd M src/mainboard/lenovo/x230/Kconfig M src/mainboard/lenovo/x230/cmos.layout A src/mainboard/lenovo/x230/vboot-rwab.fmd 21 files changed, 392 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/17/32617/7
Patrick Rudolph has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32617 )
Change subject: mb/lenovo/*: Add support for VBOOT on 12MiB devices ......................................................................
Patch Set 7:
(3 comments)
https://review.coreboot.org/c/coreboot/+/32617/6/src/mainboard/lenovo/t430/K... File src/mainboard/lenovo/t430/Kconfig:
https://review.coreboot.org/c/coreboot/+/32617/6/src/mainboard/lenovo/t430/K... PS6, Line 35: select HAS_RECOVERY_MRC_CACHE
Alas, this has no help text. […]
Enables the MRC cache for the recovery path. It looks like it makes no difference on SandyBridge.
https://review.coreboot.org/c/coreboot/+/32617/6/src/mainboard/lenovo/t430/c... File src/mainboard/lenovo/t430/cmos.layout:
https://review.coreboot.org/c/coreboot/+/32617/6/src/mainboard/lenovo/t430/c... PS6, Line 142: checksum 392 447 984
Correct, it's not accessed by get|set_option
Updated the commit message.
https://review.coreboot.org/c/coreboot/+/32617/6/src/mainboard/lenovo/t430/v... File src/mainboard/lenovo/t430/vboot-rwab.fmd:
https://review.coreboot.org/c/coreboot/+/32617/6/src/mainboard/lenovo/t430/v... PS6, Line 5: SI_ME@0x3000 0x4ed000
Why the gap?
typo, remove the hardcoded values
Peter Lemenkov has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32617 )
Change subject: mb/lenovo/*: Add support for VBOOT on 12MiB devices ......................................................................
Patch Set 7: Code-Review+1
Felix Singer has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32617 )
Change subject: mb/lenovo/*: Add support for VBOOT on 12MiB devices ......................................................................
Patch Set 7: Code-Review+2
Patrick Georgi has submitted this change. ( https://review.coreboot.org/c/coreboot/+/32617 )
Change subject: mb/lenovo/*: Add support for VBOOT on 12MiB devices ......................................................................
mb/lenovo/*: Add support for VBOOT on 12MiB devices
Enable VBOOT support on all devices that have a 12 MiB flash, using RW_MAIN_A + RW_MAIN_B partition, allowing the use of tianocore payload in both RW_MAIN_A, RW_MAIN_B and WP_RO.
* Add VBNV section to cmos.layout * Add FMAP for VBOOT * Select Kconfigs for VBOOT * Enable VBOOT_SLOTS_RW_AB by default
The VBNV is intentionally not covered by the CMOS checksum.
Tested on x230 and T440p.
Change-Id: I8a35a06ece1e9d57a2ef23970e61ae26fafce543 Signed-off-by: Patrick Rudolph patrick.rudolph@9elements.com Signed-off-by: Jonas Moehle ad-min@mailbox.org Reviewed-on: https://review.coreboot.org/c/coreboot/+/32617 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Peter Lemenkov lemenkov@gmail.com Reviewed-by: Felix Singer felixsinger@posteo.net --- M src/mainboard/lenovo/t430/Kconfig M src/mainboard/lenovo/t430/cmos.layout A src/mainboard/lenovo/t430/vboot-rwab.fmd M src/mainboard/lenovo/t430s/Kconfig M src/mainboard/lenovo/t430s/cmos.layout A src/mainboard/lenovo/t430s/vboot-rwab.fmd M src/mainboard/lenovo/t440p/Kconfig M src/mainboard/lenovo/t440p/cmos.layout A src/mainboard/lenovo/t440p/vboot-rwab.fmd M src/mainboard/lenovo/t530/Kconfig M src/mainboard/lenovo/t530/cmos.layout A src/mainboard/lenovo/t530/vboot-rwab.fmd M src/mainboard/lenovo/x131e/Kconfig M src/mainboard/lenovo/x131e/cmos.layout A src/mainboard/lenovo/x131e/vboot-rwab.fmd M src/mainboard/lenovo/x1_carbon_gen1/Kconfig M src/mainboard/lenovo/x1_carbon_gen1/cmos.layout A src/mainboard/lenovo/x1_carbon_gen1/vboot-rwab.fmd M src/mainboard/lenovo/x230/Kconfig M src/mainboard/lenovo/x230/cmos.layout A src/mainboard/lenovo/x230/vboot-rwab.fmd 21 files changed, 392 insertions(+), 0 deletions(-)
Approvals: build bot (Jenkins): Verified Peter Lemenkov: Looks good to me, but someone else must approve Felix Singer: Looks good to me, approved
diff --git a/src/mainboard/lenovo/t430/Kconfig b/src/mainboard/lenovo/t430/Kconfig index 78da385..a73a1b2 100644 --- a/src/mainboard/lenovo/t430/Kconfig +++ b/src/mainboard/lenovo/t430/Kconfig @@ -26,6 +26,25 @@ select INTEL_GMA_HAVE_VBT select MAINBOARD_USES_IFD_GBE_REGION
+config VBOOT + select VBOOT_VBNV_CMOS + select GBB_FLAG_DISABLE_LID_SHUTDOWN + select GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC + select GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC + select GBB_FLAG_DISABLE_FWMP + select HAS_RECOVERY_MRC_CACHE + +config VBOOT_SLOTS_RW_AB + default y + +config VBOOT_VBNV_OFFSET + hex + default 0x2a + +config FMDFILE + string + default "src/mainboard/$(CONFIG_MAINBOARD_DIR)/vboot-rwab.fmd" if VBOOT + config MAINBOARD_DIR string default "lenovo/t430" diff --git a/src/mainboard/lenovo/t430/cmos.layout b/src/mainboard/lenovo/t430/cmos.layout index 1b50e7f..f9757f0 100644 --- a/src/mainboard/lenovo/t430/cmos.layout +++ b/src/mainboard/lenovo/t430/cmos.layout @@ -80,6 +80,9 @@ #437 3 r 0 unused 440 8 h 0 volume
+# VBOOT +448 128 r 0 vbnv + # SandyBridge MRC Scrambler Seed values 896 32 r 0 mrc_scrambler_seed 928 32 r 0 mrc_scrambler_seed_s3 diff --git a/src/mainboard/lenovo/t430/vboot-rwab.fmd b/src/mainboard/lenovo/t430/vboot-rwab.fmd new file mode 100644 index 0000000..1747c0e --- /dev/null +++ b/src/mainboard/lenovo/t430/vboot-rwab.fmd @@ -0,0 +1,34 @@ +FLASH@0xff400000 0xc00000 { + SI_ALL@0x0 0x500000 { + SI_DESC@0x0 0x1000 + SI_GBE@0x1000 0x2000 + SI_ME + } + SI_BIOS@0x500000 0x700000 { + RW_SECTION_A 0x280000 { + VBLOCK_A 0x10000 + FW_MAIN_A(CBFS) + RW_FWID_A 0x40 + } + RW_SECTION_B 0x280000 { + VBLOCK_B 0x10000 + FW_MAIN_B(CBFS) + RW_FWID_B 0x40 + } + UNIFIED_MRC_CACHE@0x500000 0x20000 { + RECOVERY_MRC_CACHE@0x0 0x10000 + RW_MRC_CACHE@0x10000 0x10000 + } + RW_VPD(PRESERVE) 0x1000 + SMMSTORE(PRESERVE)@0x521000 0x40000 + + WP_RO { + FMAP 0x800 + RO_FRID 0x40 + RO_PADDING 0x7c0 + RO_VPD(PRESERVE) 0x1000 + GBB 0x1e000 + COREBOOT(CBFS) + } + } +} diff --git a/src/mainboard/lenovo/t430s/Kconfig b/src/mainboard/lenovo/t430s/Kconfig index 36f03ae..5162e05 100644 --- a/src/mainboard/lenovo/t430s/Kconfig +++ b/src/mainboard/lenovo/t430s/Kconfig @@ -27,6 +27,25 @@ # Workaround for EC/KBC IRQ1. select SERIRQ_CONTINUOUS_MODE
+config VBOOT + select VBOOT_VBNV_CMOS + select GBB_FLAG_DISABLE_LID_SHUTDOWN + select GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC + select GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC + select GBB_FLAG_DISABLE_FWMP + select HAS_RECOVERY_MRC_CACHE + +config VBOOT_SLOTS_RW_AB + default y + +config VBOOT_VBNV_OFFSET + hex + default 0x2a + +config FMDFILE + string + default "src/mainboard/$(CONFIG_MAINBOARD_DIR)/vboot-rwab.fmd" if VBOOT + config MAINBOARD_DIR string default "lenovo/t430s" diff --git a/src/mainboard/lenovo/t430s/cmos.layout b/src/mainboard/lenovo/t430s/cmos.layout index 97d97ed..891a294 100644 --- a/src/mainboard/lenovo/t430s/cmos.layout +++ b/src/mainboard/lenovo/t430s/cmos.layout @@ -80,6 +80,9 @@ #436 4 r 0 unused 440 8 h 0 volume
+# VBOOT +448 128 r 0 vbnv + # SandyBridge MRC Scrambler Seed values 896 32 r 0 mrc_scrambler_seed 928 32 r 0 mrc_scrambler_seed_s3 diff --git a/src/mainboard/lenovo/t430s/vboot-rwab.fmd b/src/mainboard/lenovo/t430s/vboot-rwab.fmd new file mode 100644 index 0000000..1747c0e --- /dev/null +++ b/src/mainboard/lenovo/t430s/vboot-rwab.fmd @@ -0,0 +1,34 @@ +FLASH@0xff400000 0xc00000 { + SI_ALL@0x0 0x500000 { + SI_DESC@0x0 0x1000 + SI_GBE@0x1000 0x2000 + SI_ME + } + SI_BIOS@0x500000 0x700000 { + RW_SECTION_A 0x280000 { + VBLOCK_A 0x10000 + FW_MAIN_A(CBFS) + RW_FWID_A 0x40 + } + RW_SECTION_B 0x280000 { + VBLOCK_B 0x10000 + FW_MAIN_B(CBFS) + RW_FWID_B 0x40 + } + UNIFIED_MRC_CACHE@0x500000 0x20000 { + RECOVERY_MRC_CACHE@0x0 0x10000 + RW_MRC_CACHE@0x10000 0x10000 + } + RW_VPD(PRESERVE) 0x1000 + SMMSTORE(PRESERVE)@0x521000 0x40000 + + WP_RO { + FMAP 0x800 + RO_FRID 0x40 + RO_PADDING 0x7c0 + RO_VPD(PRESERVE) 0x1000 + GBB 0x1e000 + COREBOOT(CBFS) + } + } +} diff --git a/src/mainboard/lenovo/t440p/Kconfig b/src/mainboard/lenovo/t440p/Kconfig index faaa73a..95cb1dc 100644 --- a/src/mainboard/lenovo/t440p/Kconfig +++ b/src/mainboard/lenovo/t440p/Kconfig @@ -23,6 +23,25 @@ select SYSTEM_TYPE_LAPTOP select MAINBOARD_USES_IFD_GBE_REGION
+config VBOOT + select VBOOT_VBNV_CMOS + select GBB_FLAG_DISABLE_LID_SHUTDOWN + select GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC + select GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC + select GBB_FLAG_DISABLE_FWMP + select HAS_RECOVERY_MRC_CACHE + +config VBOOT_SLOTS_RW_AB + default y + +config VBOOT_VBNV_OFFSET + hex + default 0x2a + +config FMDFILE + string + default "src/mainboard/$(CONFIG_MAINBOARD_DIR)/vboot-rwab.fmd" if VBOOT + config MAINBOARD_DIR string default "lenovo/t440p" diff --git a/src/mainboard/lenovo/t440p/cmos.layout b/src/mainboard/lenovo/t440p/cmos.layout index 9c09104..be0b503 100644 --- a/src/mainboard/lenovo/t440p/cmos.layout +++ b/src/mainboard/lenovo/t440p/cmos.layout @@ -73,6 +73,9 @@ #437 3 r 0 unused 440 8 h 0 volume
+# VBOOT +448 128 r 0 vbnv + # coreboot config options: check sums 984 16 h 0 check_sum
diff --git a/src/mainboard/lenovo/t440p/vboot-rwab.fmd b/src/mainboard/lenovo/t440p/vboot-rwab.fmd new file mode 100644 index 0000000..1747c0e --- /dev/null +++ b/src/mainboard/lenovo/t440p/vboot-rwab.fmd @@ -0,0 +1,34 @@ +FLASH@0xff400000 0xc00000 { + SI_ALL@0x0 0x500000 { + SI_DESC@0x0 0x1000 + SI_GBE@0x1000 0x2000 + SI_ME + } + SI_BIOS@0x500000 0x700000 { + RW_SECTION_A 0x280000 { + VBLOCK_A 0x10000 + FW_MAIN_A(CBFS) + RW_FWID_A 0x40 + } + RW_SECTION_B 0x280000 { + VBLOCK_B 0x10000 + FW_MAIN_B(CBFS) + RW_FWID_B 0x40 + } + UNIFIED_MRC_CACHE@0x500000 0x20000 { + RECOVERY_MRC_CACHE@0x0 0x10000 + RW_MRC_CACHE@0x10000 0x10000 + } + RW_VPD(PRESERVE) 0x1000 + SMMSTORE(PRESERVE)@0x521000 0x40000 + + WP_RO { + FMAP 0x800 + RO_FRID 0x40 + RO_PADDING 0x7c0 + RO_VPD(PRESERVE) 0x1000 + GBB 0x1e000 + COREBOOT(CBFS) + } + } +} diff --git a/src/mainboard/lenovo/t530/Kconfig b/src/mainboard/lenovo/t530/Kconfig index 04b7528..233d4d3 100644 --- a/src/mainboard/lenovo/t530/Kconfig +++ b/src/mainboard/lenovo/t530/Kconfig @@ -28,6 +28,25 @@
if BOARD_LENOVO_BASEBOARD_T530
+config VBOOT + select VBOOT_VBNV_CMOS + select GBB_FLAG_DISABLE_LID_SHUTDOWN + select GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC + select GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC + select GBB_FLAG_DISABLE_FWMP + select HAS_RECOVERY_MRC_CACHE + +config VBOOT_SLOTS_RW_AB + default y + +config VBOOT_VBNV_OFFSET + hex + default 0x2a + +config FMDFILE + string + default "src/mainboard/$(CONFIG_MAINBOARD_DIR)/vboot-rwab.fmd" if VBOOT + config VARIANT_DIR string default "t530" if BOARD_LENOVO_T530 diff --git a/src/mainboard/lenovo/t530/cmos.layout b/src/mainboard/lenovo/t530/cmos.layout index 3400a4d..0c8c546 100644 --- a/src/mainboard/lenovo/t530/cmos.layout +++ b/src/mainboard/lenovo/t530/cmos.layout @@ -81,6 +81,9 @@
440 8 h 0 volume
+# VBOOT +448 128 r 0 vbnv + # SandyBridge MRC Scrambler Seed values 896 32 r 0 mrc_scrambler_seed 928 32 r 0 mrc_scrambler_seed_s3 diff --git a/src/mainboard/lenovo/t530/vboot-rwab.fmd b/src/mainboard/lenovo/t530/vboot-rwab.fmd new file mode 100644 index 0000000..1747c0e --- /dev/null +++ b/src/mainboard/lenovo/t530/vboot-rwab.fmd @@ -0,0 +1,34 @@ +FLASH@0xff400000 0xc00000 { + SI_ALL@0x0 0x500000 { + SI_DESC@0x0 0x1000 + SI_GBE@0x1000 0x2000 + SI_ME + } + SI_BIOS@0x500000 0x700000 { + RW_SECTION_A 0x280000 { + VBLOCK_A 0x10000 + FW_MAIN_A(CBFS) + RW_FWID_A 0x40 + } + RW_SECTION_B 0x280000 { + VBLOCK_B 0x10000 + FW_MAIN_B(CBFS) + RW_FWID_B 0x40 + } + UNIFIED_MRC_CACHE@0x500000 0x20000 { + RECOVERY_MRC_CACHE@0x0 0x10000 + RW_MRC_CACHE@0x10000 0x10000 + } + RW_VPD(PRESERVE) 0x1000 + SMMSTORE(PRESERVE)@0x521000 0x40000 + + WP_RO { + FMAP 0x800 + RO_FRID 0x40 + RO_PADDING 0x7c0 + RO_VPD(PRESERVE) 0x1000 + GBB 0x1e000 + COREBOOT(CBFS) + } + } +} diff --git a/src/mainboard/lenovo/x131e/Kconfig b/src/mainboard/lenovo/x131e/Kconfig index 2cf3a8f..352be84 100644 --- a/src/mainboard/lenovo/x131e/Kconfig +++ b/src/mainboard/lenovo/x131e/Kconfig @@ -21,6 +21,25 @@ select SERIRQ_CONTINUOUS_MODE select INTEL_GMA_HAVE_VBT
+config VBOOT + select VBOOT_VBNV_CMOS + select GBB_FLAG_DISABLE_LID_SHUTDOWN + select GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC + select GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC + select GBB_FLAG_DISABLE_FWMP + select HAS_RECOVERY_MRC_CACHE + +config VBOOT_SLOTS_RW_AB + default y + +config VBOOT_VBNV_OFFSET + hex + default 0x2a + +config FMDFILE + string + default "src/mainboard/$(CONFIG_MAINBOARD_DIR)/vboot-rwab.fmd" if VBOOT + config MAINBOARD_DIR string default "lenovo/x131e" diff --git a/src/mainboard/lenovo/x131e/cmos.layout b/src/mainboard/lenovo/x131e/cmos.layout index 93c74fb..41b8354 100644 --- a/src/mainboard/lenovo/x131e/cmos.layout +++ b/src/mainboard/lenovo/x131e/cmos.layout @@ -79,6 +79,9 @@
440 8 h 0 volume
+# VBOOT +448 128 r 0 vbnv + # SandyBridge MRC Scrambler Seed values 896 32 r 0 mrc_scrambler_seed 928 32 r 0 mrc_scrambler_seed_s3 diff --git a/src/mainboard/lenovo/x131e/vboot-rwab.fmd b/src/mainboard/lenovo/x131e/vboot-rwab.fmd new file mode 100644 index 0000000..1747c0e --- /dev/null +++ b/src/mainboard/lenovo/x131e/vboot-rwab.fmd @@ -0,0 +1,34 @@ +FLASH@0xff400000 0xc00000 { + SI_ALL@0x0 0x500000 { + SI_DESC@0x0 0x1000 + SI_GBE@0x1000 0x2000 + SI_ME + } + SI_BIOS@0x500000 0x700000 { + RW_SECTION_A 0x280000 { + VBLOCK_A 0x10000 + FW_MAIN_A(CBFS) + RW_FWID_A 0x40 + } + RW_SECTION_B 0x280000 { + VBLOCK_B 0x10000 + FW_MAIN_B(CBFS) + RW_FWID_B 0x40 + } + UNIFIED_MRC_CACHE@0x500000 0x20000 { + RECOVERY_MRC_CACHE@0x0 0x10000 + RW_MRC_CACHE@0x10000 0x10000 + } + RW_VPD(PRESERVE) 0x1000 + SMMSTORE(PRESERVE)@0x521000 0x40000 + + WP_RO { + FMAP 0x800 + RO_FRID 0x40 + RO_PADDING 0x7c0 + RO_VPD(PRESERVE) 0x1000 + GBB 0x1e000 + COREBOOT(CBFS) + } + } +} diff --git a/src/mainboard/lenovo/x1_carbon_gen1/Kconfig b/src/mainboard/lenovo/x1_carbon_gen1/Kconfig index 91ba208..f49805c 100644 --- a/src/mainboard/lenovo/x1_carbon_gen1/Kconfig +++ b/src/mainboard/lenovo/x1_carbon_gen1/Kconfig @@ -26,6 +26,25 @@ # Workaround for EC/KBC IRQ1. select SERIRQ_CONTINUOUS_MODE
+config VBOOT + select VBOOT_VBNV_CMOS + select GBB_FLAG_DISABLE_LID_SHUTDOWN + select GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC + select GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC + select GBB_FLAG_DISABLE_FWMP + select HAS_RECOVERY_MRC_CACHE + +config VBOOT_SLOTS_RW_AB + default y + +config VBOOT_VBNV_OFFSET + hex + default 0x2a + +config FMDFILE + string + default "src/mainboard/$(CONFIG_MAINBOARD_DIR)/vboot-rwab.fmd" if VBOOT + config MAINBOARD_DIR string default "lenovo/x1_carbon_gen1" diff --git a/src/mainboard/lenovo/x1_carbon_gen1/cmos.layout b/src/mainboard/lenovo/x1_carbon_gen1/cmos.layout index bb25261..55a8a58 100644 --- a/src/mainboard/lenovo/x1_carbon_gen1/cmos.layout +++ b/src/mainboard/lenovo/x1_carbon_gen1/cmos.layout @@ -80,6 +80,9 @@
440 8 h 0 volume
+# VBOOT +448 128 r 0 vbnv + # SandyBridge MRC Scrambler Seed values 896 32 r 0 mrc_scrambler_seed 928 32 r 0 mrc_scrambler_seed_s3 diff --git a/src/mainboard/lenovo/x1_carbon_gen1/vboot-rwab.fmd b/src/mainboard/lenovo/x1_carbon_gen1/vboot-rwab.fmd new file mode 100644 index 0000000..1747c0e --- /dev/null +++ b/src/mainboard/lenovo/x1_carbon_gen1/vboot-rwab.fmd @@ -0,0 +1,34 @@ +FLASH@0xff400000 0xc00000 { + SI_ALL@0x0 0x500000 { + SI_DESC@0x0 0x1000 + SI_GBE@0x1000 0x2000 + SI_ME + } + SI_BIOS@0x500000 0x700000 { + RW_SECTION_A 0x280000 { + VBLOCK_A 0x10000 + FW_MAIN_A(CBFS) + RW_FWID_A 0x40 + } + RW_SECTION_B 0x280000 { + VBLOCK_B 0x10000 + FW_MAIN_B(CBFS) + RW_FWID_B 0x40 + } + UNIFIED_MRC_CACHE@0x500000 0x20000 { + RECOVERY_MRC_CACHE@0x0 0x10000 + RW_MRC_CACHE@0x10000 0x10000 + } + RW_VPD(PRESERVE) 0x1000 + SMMSTORE(PRESERVE)@0x521000 0x40000 + + WP_RO { + FMAP 0x800 + RO_FRID 0x40 + RO_PADDING 0x7c0 + RO_VPD(PRESERVE) 0x1000 + GBB 0x1e000 + COREBOOT(CBFS) + } + } +} diff --git a/src/mainboard/lenovo/x230/Kconfig b/src/mainboard/lenovo/x230/Kconfig index e7edf6b..bf70950 100644 --- a/src/mainboard/lenovo/x230/Kconfig +++ b/src/mainboard/lenovo/x230/Kconfig @@ -27,6 +27,25 @@ # Workaround for EC/KBC IRQ1. select SERIRQ_CONTINUOUS_MODE
+config VBOOT + select VBOOT_VBNV_CMOS + select GBB_FLAG_DISABLE_LID_SHUTDOWN + select GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC + select GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC + select GBB_FLAG_DISABLE_FWMP + select HAS_RECOVERY_MRC_CACHE + +config VBOOT_SLOTS_RW_AB + default y + +config VBOOT_VBNV_OFFSET + hex + default 0x2a + +config FMDFILE + string + default "src/mainboard/$(CONFIG_MAINBOARD_DIR)/vboot-rwab.fmd" if VBOOT + config MAINBOARD_DIR string default "lenovo/x230" diff --git a/src/mainboard/lenovo/x230/cmos.layout b/src/mainboard/lenovo/x230/cmos.layout index 27197fb..9903400 100644 --- a/src/mainboard/lenovo/x230/cmos.layout +++ b/src/mainboard/lenovo/x230/cmos.layout @@ -80,6 +80,9 @@
440 8 h 0 volume
+# VBOOT +448 128 r 0 vbnv + # SandyBridge MRC Scrambler Seed values 896 32 r 0 mrc_scrambler_seed 928 32 r 0 mrc_scrambler_seed_s3 diff --git a/src/mainboard/lenovo/x230/vboot-rwab.fmd b/src/mainboard/lenovo/x230/vboot-rwab.fmd new file mode 100644 index 0000000..1747c0e --- /dev/null +++ b/src/mainboard/lenovo/x230/vboot-rwab.fmd @@ -0,0 +1,34 @@ +FLASH@0xff400000 0xc00000 { + SI_ALL@0x0 0x500000 { + SI_DESC@0x0 0x1000 + SI_GBE@0x1000 0x2000 + SI_ME + } + SI_BIOS@0x500000 0x700000 { + RW_SECTION_A 0x280000 { + VBLOCK_A 0x10000 + FW_MAIN_A(CBFS) + RW_FWID_A 0x40 + } + RW_SECTION_B 0x280000 { + VBLOCK_B 0x10000 + FW_MAIN_B(CBFS) + RW_FWID_B 0x40 + } + UNIFIED_MRC_CACHE@0x500000 0x20000 { + RECOVERY_MRC_CACHE@0x0 0x10000 + RW_MRC_CACHE@0x10000 0x10000 + } + RW_VPD(PRESERVE) 0x1000 + SMMSTORE(PRESERVE)@0x521000 0x40000 + + WP_RO { + FMAP 0x800 + RO_FRID 0x40 + RO_PADDING 0x7c0 + RO_VPD(PRESERVE) 0x1000 + GBB 0x1e000 + COREBOOT(CBFS) + } + } +}