Hung-Te Lin has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/35612 )
Change subject: mb/google/kukui: Extend FMAP to 8MB layout ......................................................................
mb/google/kukui: Extend FMAP to 8MB layout
The SPI flash component requirement for Kukui family is 8K so we should update FMAP for that:
- Add more comments to alignment or size recommendation. - Enlarge RO to 4M, and RW_SECTION_{A,B} both 1M. - BOOTBLOCK: 32K->128K, aligned with other ARM boards. - Reorder the sections for better alignment.
BUG=b:134624821 TEST=Built Kukui image and boots on Rev2 units.
Change-Id: Id342d57dc95c6197d05b8a265742a2866c35ae09 Signed-off-by: Hung-Te Lin hungte@chromium.org --- M src/mainboard/google/kukui/chromeos.fmd 1 file changed, 24 insertions(+), 21 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/12/35612/1
diff --git a/src/mainboard/google/kukui/chromeos.fmd b/src/mainboard/google/kukui/chromeos.fmd index d183273..0b54e84 100644 --- a/src/mainboard/google/kukui/chromeos.fmd +++ b/src/mainboard/google/kukui/chromeos.fmd @@ -1,30 +1,33 @@ -FLASH@0x0 0x800000 { - WP_RO@0x0 0x200000 { - RO_SECTION@0x0 0x1f8000 { - BOOTBLOCK@0 32K - FMAP@0x8000 0x1000 - COREBOOT(CBFS)@0x9000 0x1ec000 +FLASH@0x0 8M { + WP_RO@0x0 4M { + RO_SECTION { + BOOTBLOCK 128K + FMAP 4K # Offset better aligned with larger values. + COREBOOT(CBFS) GBB 0x2f00 RO_FRID 0x100 } - RO_VPD(PRESERVE)@0x1f8000 0x8000 + RO_VPD(PRESERVE) 32K # Recommended size: at least 16K. } - RW_SECTION_A@0x200000 0x7c000 { - VBLOCK_A@0x0 0x2000 - FW_MAIN_A(CBFS) 0x79f00 + RW_SECTION_A 1M { + VBLOCK_A 8K + FW_MAIN_A(CBFS) RW_FWID_A 0x100 } - RW_SHARED@0x27c000 0x1000 { - SHARED_DATA@0x0 0x1000 - } - RW_NVRAM(PRESERVE)@0x27d000 0x2000 - # ELOG driver has hard-coded the size to 4k. - RW_ELOG(PRESERVE)@0x27f000 0x1000 - RW_SECTION_B@0x280000 0x7c000 { - VBLOCK_B@0x0 0x2000 - FW_MAIN_B(CBFS) 0x79f00 + RW_SECTION_B 1M { + VBLOCK_B 8K + FW_MAIN_B(CBFS) RW_FWID_B 0x100 } - RW_VPD(PRESERVE)@0x2fc000 0x4000 - RW_LEGACY(CBFS)@0x300000 0x100000 + RW_PRESERVE(PRESERVE) 36K { + RW_VPD 16K # Recommended size: at least 8K. + RW_NVRAM 8K # 8K at aligned address. + RW_DDR_TRAINING 8K + RW_ELOG 4K # ELOG driver hard-coded 4K size. + } + RW_UNUSED + RW_SHARED 4K { + SHARED_DATA 4K # 4K or less for netboot params. + } + RW_LEGACY(CBFS) 1M # Minimal 1M. }
Julius Werner has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/35612 )
Change subject: mb/google/kukui: Extend FMAP to 8MB layout ......................................................................
Patch Set 1:
(1 comment)
https://review.coreboot.org/c/coreboot/+/35612/1/src/mainboard/google/kukui/... File src/mainboard/google/kukui/chromeos.fmd:
https://review.coreboot.org/c/coreboot/+/35612/1/src/mainboard/google/kukui/... PS1, Line 28: RW_UNUSED Why waste so much? If you have space left over I'd suggest to distribute it among the FW_MAIN sections and RW_LEGACY. (There's no particular reason to align anything other than the FMAP by anything more than 4K that I'm aware of.)
Hello Yu-Ping Wu, Julius Werner, build bot (Jenkins),
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/35612
to look at the new patch set (#2).
Change subject: mb/google/kukui: Extend FMAP to 8MB layout ......................................................................
mb/google/kukui: Extend FMAP to 8MB layout
The SPI flash component requirement for Kukui family is 8K so we should update FMAP for that:
- Add more comments for alignment and size recommendation. - Enlarge RO to 4M, and RW_SECTION_{A,B} both 1M. - BOOTBLOCK: 32K->128K, aligned with other ARM boards. - Move all sections to be preserved into RW_PRESERVE. - Preserve RW_DDR_TRAINING for new calibration. - Reorder the sections for better alignment.
BUG=b:134624821 TEST=Built Kukui image and boots. dump_fmap -h image-kukui.bin: # name start end size RW_LEGACY 00700000 00800000 00100000 RW_SHARED 006f7000 00700000 00009000 RW_UNUSED 006f8000 00700000 00008000 SHARED_DATA 006f7000 006f8000 00001000 RW_SECTION_B 00580000 006f7000 00177000 RW_FWID_B 006f6f00 006f7000 00000100 FW_MAIN_B 00582000 006f6f00 00174f00 VBLOCK_B 00580000 00582000 00002000 RW_PRESERVE 00577000 00580000 00009000 RW_ELOG 0057f000 00580000 00001000 RW_DDR_TRAINING 0057d000 0057f000 00002000 RW_NVRAM 0057b000 0057d000 00002000 RW_VPD 00577000 0057b000 00004000 RW_SECTION_A 00400000 00577000 00177000 RW_FWID_A 00576f00 00577000 00000100 FW_MAIN_A 00402000 00576f00 00174f00 VBLOCK_A 00400000 00402000 00002000 WP_RO 00000000 00400000 00400000 RO_VPD 003f8000 00400000 00008000 RO_SECTION 00000000 003f8000 003f8000 RO_FRID 003f7f00 003f8000 00000100 GBB 003f5000 003f7f00 00002f00 COREBOOT 00021000 003f5000 003d4000 FMAP 00020000 00021000 00001000 BOOTBLOCK 00000000 00020000 00020000
Change-Id: Id342d57dc95c6197d05b8a265742a2866c35ae09 Signed-off-by: Hung-Te Lin hungte@chromium.org --- M src/mainboard/google/kukui/chromeos.fmd 1 file changed, 33 insertions(+), 20 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/12/35612/2
Hung-Te Lin has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/35612 )
Change subject: mb/google/kukui: Extend FMAP to 8MB layout ......................................................................
Patch Set 2:
(1 comment)
https://review.coreboot.org/c/coreboot/+/35612/1/src/mainboard/google/kukui/... File src/mainboard/google/kukui/chromeos.fmd:
https://review.coreboot.org/c/coreboot/+/35612/1/src/mainboard/google/kukui/... PS1, Line 28: RW_UNUSED
Why waste so much? If you have space left over I'd suggest to distribute it among the FW_MAIN sectio […]
Done
Hello Yu-Ping Wu, Julius Werner, build bot (Jenkins),
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/35612
to look at the new patch set (#3).
Change subject: mb/google/kukui: Extend FMAP to 8MB layout ......................................................................
mb/google/kukui: Extend FMAP to 8MB layout
The SPI flash component requirement for Kukui family is 8K so we should update FMAP for that:
- Add more comments for alignment and size recommendation. - Enlarge RO to 4M, and RW_SECTION_{A,B} both ~1.5M. - BOOTBLOCK: 32K->128K, aligned with other ARM boards. - Move all sections to be preserved into RW_PRESERVE. - Preserve RW_DDR_TRAINING for new calibration. - Reorder the sections for better alignment.
BUG=b:134624821 TEST=Built Kukui image and boots. dump_fmap -h image-kukui.bin: # name start end size RW_LEGACY 00700000 00800000 00100000 RW_SHARED 006f7000 00700000 00009000 RW_UNUSED 006f8000 00700000 00008000 SHARED_DATA 006f7000 006f8000 00001000 RW_SECTION_B 00580000 006f7000 00177000 RW_FWID_B 006f6f00 006f7000 00000100 FW_MAIN_B 00582000 006f6f00 00174f00 VBLOCK_B 00580000 00582000 00002000 RW_PRESERVE 00577000 00580000 00009000 RW_ELOG 0057f000 00580000 00001000 RW_DDR_TRAINING 0057d000 0057f000 00002000 RW_NVRAM 0057b000 0057d000 00002000 RW_VPD 00577000 0057b000 00004000 RW_SECTION_A 00400000 00577000 00177000 RW_FWID_A 00576f00 00577000 00000100 FW_MAIN_A 00402000 00576f00 00174f00 VBLOCK_A 00400000 00402000 00002000 WP_RO 00000000 00400000 00400000 RO_VPD 003f8000 00400000 00008000 RO_SECTION 00000000 003f8000 003f8000 RO_FRID 003f7f00 003f8000 00000100 GBB 003f5000 003f7f00 00002f00 COREBOOT 00021000 003f5000 003d4000 FMAP 00020000 00021000 00001000 BOOTBLOCK 00000000 00020000 00020000
Change-Id: Id342d57dc95c6197d05b8a265742a2866c35ae09 Signed-off-by: Hung-Te Lin hungte@chromium.org --- M src/mainboard/google/kukui/chromeos.fmd 1 file changed, 31 insertions(+), 20 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/12/35612/3
Hello Yu-Ping Wu, Julius Werner, build bot (Jenkins),
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/35612
to look at the new patch set (#4).
Change subject: mb/google/kukui: Extend FMAP to 8MB layout ......................................................................
mb/google/kukui: Extend FMAP to 8MB layout
The SPI flash component requirement for Kukui family is 8K so we should update FMAP for that:
- Add more comments for alignment and size recommendation. - Enlarge RO to 4M, and RW_SECTION_{A,B} both ~1.5M. - BOOTBLOCK: 32K->128K, aligned with other ARM boards. - Preserve RW_DDR_TRAINING for new calibration. - Reorder the sections for better alignment. - RW_MISC to contain RW sections that should be merged when creating AU image.
BUG=b:134624821 TEST=Built Kukui image and boots. dump_fmap -h image-kukui.bin: # name start end size RW_LEGACY 00700000 00800000 00100000 RW_SHARED 006f7000 00700000 00009000 RW_UNUSED 006f8000 00700000 00008000 SHARED_DATA 006f7000 006f8000 00001000 RW_SECTION_B 00580000 006f7000 00177000 RW_FWID_B 006f6f00 006f7000 00000100 FW_MAIN_B 00582000 006f6f00 00174f00 VBLOCK_B 00580000 00582000 00002000 RW_MISC 00577000 00580000 00009000 RW_ELOG 0057f000 00580000 00001000 RW_DDR_TRAINING 0057d000 0057f000 00002000 RW_NVRAM 0057b000 0057d000 00002000 RW_VPD 00577000 0057b000 00004000 RW_SECTION_A 00400000 00577000 00177000 RW_FWID_A 00576f00 00577000 00000100 FW_MAIN_A 00402000 00576f00 00174f00 VBLOCK_A 00400000 00402000 00002000 WP_RO 00000000 00400000 00400000 RO_VPD 003f8000 00400000 00008000 RO_SECTION 00000000 003f8000 003f8000 RO_FRID 003f7f00 003f8000 00000100 GBB 003f5000 003f7f00 00002f00 COREBOOT 00021000 003f5000 003d4000 FMAP 00020000 00021000 00001000 BOOTBLOCK 00000000 00020000 00020000
Change-Id: Id342d57dc95c6197d05b8a265742a2866c35ae09 Signed-off-by: Hung-Te Lin hungte@chromium.org --- M src/mainboard/google/kukui/chromeos.fmd 1 file changed, 35 insertions(+), 20 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/12/35612/4
Yu-Ping Wu has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/35612 )
Change subject: mb/google/kukui: Extend FMAP to 8MB layout ......................................................................
Patch Set 4: Code-Review+1
Hung-Te Lin has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/35612 )
Change subject: mb/google/kukui: Extend FMAP to 8MB layout ......................................................................
Patch Set 4:
Hi Julius, can we have your final check on this?
Paul Menzel has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/35612 )
Change subject: mb/google/kukui: Extend FMAP to 8MB layout ......................................................................
Patch Set 4:
(2 comments)
https://review.coreboot.org/c/coreboot/+/35612/4//COMMIT_MSG Commit Message:
https://review.coreboot.org/c/coreboot/+/35612/4//COMMIT_MSG@9 PS4, Line 9: 8K 8 MB?
https://review.coreboot.org/c/coreboot/+/35612/4/src/mainboard/google/kukui/... File src/mainboard/google/kukui/chromeos.fmd:
https://review.coreboot.org/c/coreboot/+/35612/4/src/mainboard/google/kukui/... PS4, Line 4: # RO_FRID, RW_FWID*, GBB, or any unused / padding / CBFS type sections. Remove the leading space?
Hello Yu-Ping Wu, Julius Werner, build bot (Jenkins), Patrick Georgi,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/35612
to look at the new patch set (#5).
Change subject: mb/google/kukui: Extend FMAP to 8MB layout ......................................................................
mb/google/kukui: Extend FMAP to 8MB layout
The SPI flash component requirement for Kukui family is 8M so we should update FMAP for that:
- Add more comments for alignment and size recommendation. - Enlarge RO to 4M, and RW_SECTION_{A,B} both ~1.5M. - BOOTBLOCK: 32K->128K, aligned with other ARM boards. - Preserve RW_DDR_TRAINING for new calibration. - Reorder the sections for better alignment. - RW_MISC to contain RW sections that should be merged when creating AU image.
BUG=b:134624821 TEST=Built Kukui image and boots. dump_fmap -h image-kukui.bin: # name start end size RW_LEGACY 00700000 00800000 00100000 RW_SHARED 006f7000 00700000 00009000 RW_UNUSED 006f8000 00700000 00008000 SHARED_DATA 006f7000 006f8000 00001000 RW_SECTION_B 00580000 006f7000 00177000 RW_FWID_B 006f6f00 006f7000 00000100 FW_MAIN_B 00582000 006f6f00 00174f00 VBLOCK_B 00580000 00582000 00002000 RW_MISC 00577000 00580000 00009000 RW_ELOG 0057f000 00580000 00001000 RW_DDR_TRAINING 0057d000 0057f000 00002000 RW_NVRAM 0057b000 0057d000 00002000 RW_VPD 00577000 0057b000 00004000 RW_SECTION_A 00400000 00577000 00177000 RW_FWID_A 00576f00 00577000 00000100 FW_MAIN_A 00402000 00576f00 00174f00 VBLOCK_A 00400000 00402000 00002000 WP_RO 00000000 00400000 00400000 RO_VPD 003f8000 00400000 00008000 RO_SECTION 00000000 003f8000 003f8000 RO_FRID 003f7f00 003f8000 00000100 GBB 003f5000 003f7f00 00002f00 COREBOOT 00021000 003f5000 003d4000 FMAP 00020000 00021000 00001000 BOOTBLOCK 00000000 00020000 00020000
Change-Id: Id342d57dc95c6197d05b8a265742a2866c35ae09 Signed-off-by: Hung-Te Lin hungte@chromium.org --- M src/mainboard/google/kukui/chromeos.fmd 1 file changed, 35 insertions(+), 20 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/12/35612/5
Hello Yu-Ping Wu, Julius Werner, build bot (Jenkins), Patrick Georgi,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/35612
to look at the new patch set (#6).
Change subject: mb/google/kukui: Extend FMAP to 8MB layout ......................................................................
mb/google/kukui: Extend FMAP to 8MB layout
The SPI flash component requirement for Kukui family is 8M so we should update FMAP for that:
- Add more comments for alignment and size recommendation. - Enlarge RO to 4M, and RW_SECTION_{A,B} both ~1.5M. - BOOTBLOCK: 32K->128K, aligned with other ARM boards. - Preserve RW_DDR_TRAINING for new calibration. - Reorder the sections for better alignment. - RW_MISC to contain RW sections that should be merged when creating AU image.
BUG=b:134624821 TEST=Built Kukui image and boots. dump_fmap -h image-kukui.bin: # name start end size RW_LEGACY 00700000 00800000 00100000 RW_SHARED 006f7000 00700000 00009000 RW_UNUSED 006f8000 00700000 00008000 SHARED_DATA 006f7000 006f8000 00001000 RW_SECTION_B 00580000 006f7000 00177000 RW_FWID_B 006f6f00 006f7000 00000100 FW_MAIN_B 00582000 006f6f00 00174f00 VBLOCK_B 00580000 00582000 00002000 RW_MISC 00577000 00580000 00009000 RW_ELOG 0057f000 00580000 00001000 RW_DDR_TRAINING 0057d000 0057f000 00002000 RW_NVRAM 0057b000 0057d000 00002000 RW_VPD 00577000 0057b000 00004000 RW_SECTION_A 00400000 00577000 00177000 RW_FWID_A 00576f00 00577000 00000100 FW_MAIN_A 00402000 00576f00 00174f00 VBLOCK_A 00400000 00402000 00002000 WP_RO 00000000 00400000 00400000 RO_VPD 003f8000 00400000 00008000 RO_SECTION 00000000 003f8000 003f8000 RO_FRID 003f7f00 003f8000 00000100 GBB 003f5000 003f7f00 00002f00 COREBOOT 00021000 003f5000 003d4000 FMAP 00020000 00021000 00001000 BOOTBLOCK 00000000 00020000 00020000
Change-Id: Id342d57dc95c6197d05b8a265742a2866c35ae09 Signed-off-by: Hung-Te Lin hungte@chromium.org --- M src/mainboard/google/kukui/chromeos.fmd 1 file changed, 35 insertions(+), 20 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/12/35612/6
Hung-Te Lin has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/35612 )
Change subject: mb/google/kukui: Extend FMAP to 8MB layout ......................................................................
Patch Set 6:
(2 comments)
https://review.coreboot.org/c/coreboot/+/35612/4//COMMIT_MSG Commit Message:
https://review.coreboot.org/c/coreboot/+/35612/4//COMMIT_MSG@9 PS4, Line 9: 8K
8 MB?
Done
https://review.coreboot.org/c/coreboot/+/35612/4/src/mainboard/google/kukui/... File src/mainboard/google/kukui/chromeos.fmd:
https://review.coreboot.org/c/coreboot/+/35612/4/src/mainboard/google/kukui/... PS4, Line 4: # RO_FRID, RW_FWID*, GBB, or any unused / padding / CBFS type sections.
Remove the leading space?
Done
Julius Werner has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/35612 )
Change subject: mb/google/kukui: Extend FMAP to 8MB layout ......................................................................
Patch Set 6: Code-Review+2
(3 comments)
https://review.coreboot.org/c/coreboot/+/35612/6/src/mainboard/google/kukui/... File src/mainboard/google/kukui/chromeos.fmd:
https://review.coreboot.org/c/coreboot/+/35612/6/src/mainboard/google/kukui/... PS6, Line 40: RW_SHARED 36K { nit: why not just leave this unspecified...
https://review.coreboot.org/c/coreboot/+/35612/6/src/mainboard/google/kukui/... PS6, Line 42: RW_UNUSED ...don't have this...
https://review.coreboot.org/c/coreboot/+/35612/6/src/mainboard/google/kukui/... PS6, Line 44: RW_LEGACY(CBFS) 1M # Minimal 1M. ...and leave this unspecified so it fills remaining space?
Hello Yu-Ping Wu, Julius Werner, build bot (Jenkins), Patrick Georgi,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/35612
to look at the new patch set (#7).
Change subject: mb/google/kukui: Extend FMAP to 8MB layout ......................................................................
mb/google/kukui: Extend FMAP to 8MB layout
The SPI flash component requirement for Kukui family is 8M so we should update FMAP for that:
- Add more comments for alignment and size recommendation. - Enlarge RO to 4M, and RW_SECTION_{A,B} both ~1.5M. - BOOTBLOCK: 32K->128K, aligned with other ARM boards. - Preserve RW_DDR_TRAINING for new calibration. - Reorder the sections for better alignment. - RW_MISC to contain RW sections that should be merged when creating AU image.
BUG=b:134624821 TEST=Built Kukui image and boots. dump_fmap -h image-kukui.bin: # name start end size RW_LEGACY 00700000 00800000 00100000 RW_SHARED 006f7000 00700000 00009000 RW_UNUSED 006f8000 00700000 00008000 SHARED_DATA 006f7000 006f8000 00001000 RW_SECTION_B 00580000 006f7000 00177000 RW_FWID_B 006f6f00 006f7000 00000100 FW_MAIN_B 00582000 006f6f00 00174f00 VBLOCK_B 00580000 00582000 00002000 RW_MISC 00577000 00580000 00009000 RW_ELOG 0057f000 00580000 00001000 RW_DDR_TRAINING 0057d000 0057f000 00002000 RW_NVRAM 0057b000 0057d000 00002000 RW_VPD 00577000 0057b000 00004000 RW_SECTION_A 00400000 00577000 00177000 RW_FWID_A 00576f00 00577000 00000100 FW_MAIN_A 00402000 00576f00 00174f00 VBLOCK_A 00400000 00402000 00002000 WP_RO 00000000 00400000 00400000 RO_VPD 003f8000 00400000 00008000 RO_SECTION 00000000 003f8000 003f8000 RO_FRID 003f7f00 003f8000 00000100 GBB 003f5000 003f7f00 00002f00 COREBOOT 00021000 003f5000 003d4000 FMAP 00020000 00021000 00001000 BOOTBLOCK 00000000 00020000 00020000
Change-Id: Id342d57dc95c6197d05b8a265742a2866c35ae09 Signed-off-by: Hung-Te Lin hungte@chromium.org --- M src/mainboard/google/kukui/chromeos.fmd 1 file changed, 35 insertions(+), 20 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/12/35612/7
Hung-Te Lin has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/35612 )
Change subject: mb/google/kukui: Extend FMAP to 8MB layout ......................................................................
Patch Set 7:
(3 comments)
https://review.coreboot.org/c/coreboot/+/35612/6/src/mainboard/google/kukui/... File src/mainboard/google/kukui/chromeos.fmd:
https://review.coreboot.org/c/coreboot/+/35612/6/src/mainboard/google/kukui/... PS6, Line 40: RW_SHARED 36K {
nit: why not just leave this unspecified...
I tried that before, but the fmt tool currently seem to not support having two unspecified region in same level, even if one can be decided by its children regions.
https://review.coreboot.org/c/coreboot/+/35612/6/src/mainboard/google/kukui/... PS6, Line 42: RW_UNUSED
...don't have this...
RW_SHARED has special meaning and will be copied on A/B AU so I'd like to reserve some space for it. Let me put that in the fmd comment.
https://review.coreboot.org/c/coreboot/+/35612/6/src/mainboard/google/kukui/... PS6, Line 44: RW_LEGACY(CBFS) 1M # Minimal 1M.
... […]
I'd like the make the regions in more similar size so if we have to move or revise in future (so updating will be easier).
Julius Werner has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/35612 )
Change subject: mb/google/kukui: Extend FMAP to 8MB layout ......................................................................
Patch Set 7: Code-Review+2
(3 comments)
https://review.coreboot.org/c/coreboot/+/35612/6/src/mainboard/google/kukui/... File src/mainboard/google/kukui/chromeos.fmd:
https://review.coreboot.org/c/coreboot/+/35612/6/src/mainboard/google/kukui/... PS6, Line 40: RW_SHARED 36K {
I tried that before, but the fmt tool currently seem to not support having two unspecified region i […]
That is... very odd. I was pretty sure it can do that (because IIRC it depth-first searches the nodes and then fixes up the variable one after it bubbled up everything from the others). Maybe there's a specific limitation if it's directly under the root node? (Of course the size of this node is only defined when you don't have the RW_UNUSED below... did you take that out to test it?)
https://review.coreboot.org/c/coreboot/+/35612/6/src/mainboard/google/kukui/... PS6, Line 42: RW_UNUSED
RW_SHARED has special meaning and will be copied on A/B AU so I'd like to reserve some space for it. […]
It does? I'm pretty sure it doesn't, anymore. The only thing in here I'm aware of is the netboot data. If it's supposed to have anything else (even reserve for future expansion) we should explicitly specify what that is.
https://review.coreboot.org/c/coreboot/+/35612/6/src/mainboard/google/kukui/... PS6, Line 44: RW_LEGACY(CBFS) 1M # Minimal 1M.
I'd like the make the regions in more similar size so if we have to move or revise in future (so upd […]
Not quite sure what you mean here? (It's just a CBFS, it should be able to deal with being bigger or smaller as long as everything fits. There are already plenty of other RW_LEGACY regions that aren't exactly 1MB if that's what you mean.)
Hung-Te Lin has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/35612 )
Change subject: mb/google/kukui: Extend FMAP to 8MB layout ......................................................................
Patch Set 7:
(3 comments)
https://review.coreboot.org/c/coreboot/+/35612/6/src/mainboard/google/kukui/... File src/mainboard/google/kukui/chromeos.fmd:
https://review.coreboot.org/c/coreboot/+/35612/6/src/mainboard/google/kukui/... PS6, Line 40: RW_SHARED 36K {
That is... very odd. […]
I tried again and still failed. Here's my change:
RW_SHARED { SHARED_DATA 4K } RW_LEGACY(CBFS)
And here's build failure:
FMAP build-jacuzzi/util/cbfstool/fmaptool -h build-jacuzzi/fmap_config.h build-jacuzzi/fmap.fmd build-jacuzzi/fmap.fmap E: Cannot determine either offset or size of section 'RW_LEGACY' FATAL: Failed while processing provided descriptor
https://review.coreboot.org/c/coreboot/+/35612/6/src/mainboard/google/kukui/... PS6, Line 42: RW_UNUSED
It does? I'm pretty sure it doesn't, anymore. […]
Sorry that was actually "Recovery", and not A/B AU. Already documented that in the fmd (not SHARED_DATA, it's RW_SHARED).
On x86 the RW_SHARED used to contain also DEF_CFG, RW_ENVIRONMENT, VBLOCK_DEV. It's probably true SHARED_DATA is probably useless now, but since the firmware updater is still having the logic (update the block on recovery), I'd like to keep it noted properly.
https://review.coreboot.org/c/coreboot/+/35612/6/src/mainboard/google/kukui/... PS6, Line 44: RW_LEGACY(CBFS) 1M # Minimal 1M.
Not quite sure what you mean here? (It's just a CBFS, it should be able to deal with being bigger or […]
The firmware updater used to have a logic on preserving sections "if the new size is smaller, drop the contents" so I'd like the regions being in known sizes so I can be more sure about that will happen if we decide to move or resize them.
Meanwhile, having an explicit "1M" also helps to ensure "this won't be less than 1M". Otherwise someone modifying RW_SHARED may accidentally consumed too much data and ate the space for RW_LEGACY.
Hung-Te Lin has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/35612 )
Change subject: mb/google/kukui: Extend FMAP to 8MB layout ......................................................................
Patch Set 7:
ping - can we get this merged?
Patrick Georgi has submitted this change. ( https://review.coreboot.org/c/coreboot/+/35612 )
Change subject: mb/google/kukui: Extend FMAP to 8MB layout ......................................................................
mb/google/kukui: Extend FMAP to 8MB layout
The SPI flash component requirement for Kukui family is 8M so we should update FMAP for that:
- Add more comments for alignment and size recommendation. - Enlarge RO to 4M, and RW_SECTION_{A,B} both ~1.5M. - BOOTBLOCK: 32K->128K, aligned with other ARM boards. - Preserve RW_DDR_TRAINING for new calibration. - Reorder the sections for better alignment. - RW_MISC to contain RW sections that should be merged when creating AU image.
BUG=b:134624821 TEST=Built Kukui image and boots. dump_fmap -h image-kukui.bin: # name start end size RW_LEGACY 00700000 00800000 00100000 RW_SHARED 006f7000 00700000 00009000 RW_UNUSED 006f8000 00700000 00008000 SHARED_DATA 006f7000 006f8000 00001000 RW_SECTION_B 00580000 006f7000 00177000 RW_FWID_B 006f6f00 006f7000 00000100 FW_MAIN_B 00582000 006f6f00 00174f00 VBLOCK_B 00580000 00582000 00002000 RW_MISC 00577000 00580000 00009000 RW_ELOG 0057f000 00580000 00001000 RW_DDR_TRAINING 0057d000 0057f000 00002000 RW_NVRAM 0057b000 0057d000 00002000 RW_VPD 00577000 0057b000 00004000 RW_SECTION_A 00400000 00577000 00177000 RW_FWID_A 00576f00 00577000 00000100 FW_MAIN_A 00402000 00576f00 00174f00 VBLOCK_A 00400000 00402000 00002000 WP_RO 00000000 00400000 00400000 RO_VPD 003f8000 00400000 00008000 RO_SECTION 00000000 003f8000 003f8000 RO_FRID 003f7f00 003f8000 00000100 GBB 003f5000 003f7f00 00002f00 COREBOOT 00021000 003f5000 003d4000 FMAP 00020000 00021000 00001000 BOOTBLOCK 00000000 00020000 00020000
Change-Id: Id342d57dc95c6197d05b8a265742a2866c35ae09 Signed-off-by: Hung-Te Lin hungte@chromium.org Reviewed-on: https://review.coreboot.org/c/coreboot/+/35612 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Julius Werner jwerner@chromium.org --- M src/mainboard/google/kukui/chromeos.fmd 1 file changed, 35 insertions(+), 20 deletions(-)
Approvals: build bot (Jenkins): Verified Julius Werner: Looks good to me, approved
diff --git a/src/mainboard/google/kukui/chromeos.fmd b/src/mainboard/google/kukui/chromeos.fmd index d183273..2635854 100644 --- a/src/mainboard/google/kukui/chromeos.fmd +++ b/src/mainboard/google/kukui/chromeos.fmd @@ -1,30 +1,45 @@ -FLASH@0x0 0x800000 { - WP_RO@0x0 0x200000 { - RO_SECTION@0x0 0x1f8000 { - BOOTBLOCK@0 32K - FMAP@0x8000 0x1000 - COREBOOT(CBFS)@0x9000 0x1ec000 +# Firmware Layout Description for Chrome OS. +# +# The size and address of every section must be aligned to at least 4K, except: +# RO_FRID, RW_FWID*, GBB, or any unused / padding / CBFS type sections. +# +# 'FMAP' may be found by binary search so its starting address should be better +# aligned to larger values. +# +# For sections to be preserved on update, add (PRESERVE) to individual sections +# instead of a group section; otherwise the preserved data may be wrong if you +# resize or reorder sections inside a group. + +FLASH@0x0 8M { + WP_RO@0x0 4M { + RO_SECTION { + BOOTBLOCK 128K + FMAP 4K + COREBOOT(CBFS) GBB 0x2f00 RO_FRID 0x100 } - RO_VPD(PRESERVE)@0x1f8000 0x8000 + RO_VPD(PRESERVE) 32K # At least 16K. } - RW_SECTION_A@0x200000 0x7c000 { - VBLOCK_A@0x0 0x2000 - FW_MAIN_A(CBFS) 0x79f00 + RW_SECTION_A 1500K { + VBLOCK_A 8K + FW_MAIN_A(CBFS) RW_FWID_A 0x100 } - RW_SHARED@0x27c000 0x1000 { - SHARED_DATA@0x0 0x1000 + RW_MISC 36K { + RW_VPD(PRESERVE) 16K # At least 8K. + RW_NVRAM(PRESERVE) 8K + RW_DDR_TRAINING(PRESERVE) 8K + RW_ELOG(PRESERVE) 4K # ELOG driver hard-coded size in 4K. } - RW_NVRAM(PRESERVE)@0x27d000 0x2000 - # ELOG driver has hard-coded the size to 4k. - RW_ELOG(PRESERVE)@0x27f000 0x1000 - RW_SECTION_B@0x280000 0x7c000 { - VBLOCK_B@0x0 0x2000 - FW_MAIN_B(CBFS) 0x79f00 + RW_SECTION_B 1500K { + VBLOCK_B 8K + FW_MAIN_B(CBFS) RW_FWID_B 0x100 } - RW_VPD(PRESERVE)@0x2fc000 0x4000 - RW_LEGACY(CBFS)@0x300000 0x100000 + RW_SHARED 36K { # Will be force updated on recovery. + SHARED_DATA 4K # 4K or less for netboot params. + RW_UNUSED + } + RW_LEGACY(CBFS) 1M # Minimal 1M. }