Patrick Rudolph has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/45174 )
Change subject: nb/intel/ironlake/raminit: Fix compiler bug ......................................................................
nb/intel/ironlake/raminit: Fix compiler bug
This fixes e1d1fe454cf27d6b1c2ef5625f1cefc1a9c6ec9d initialize 'reply.command'.
The compiler now optimized away the final condition, resulting in a binary that always calls die().
Fix that behaviour by using volatile. Tested on Lenovo T410: Boots again into Linux.
Change-Id: I63cffc8812bd22695c01bf57283ca593b12e3d87 Signed-off-by: Patrick Rudolph patrick.rudolph@9elements.com --- M src/northbridge/intel/ironlake/raminit.c 1 file changed, 1 insertion(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/74/45174/1
diff --git a/src/northbridge/intel/ironlake/raminit.c b/src/northbridge/intel/ironlake/raminit.c index 81ba450..5d58b27 100644 --- a/src/northbridge/intel/ironlake/raminit.c +++ b/src/northbridge/intel/ironlake/raminit.c @@ -1770,7 +1770,7 @@
static void send_heci_uma_message(struct raminfo *info) { - struct uma_reply { + volatile struct uma_reply { u8 group_id; u8 command; u8 reserved;
Paul Menzel has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/45174 )
Change subject: nb/intel/ironlake/raminit: Fix compiler bug ......................................................................
Patch Set 1:
(2 comments)
https://review.coreboot.org/c/coreboot/+/45174/1//COMMIT_MSG Commit Message:
https://review.coreboot.org/c/coreboot/+/45174/1//COMMIT_MSG@9 PS1, Line 9: This fixes e1d1fe454cf27d6b1c2ef5625f1cefc1a9c6ec9d Please add *commit* before the hash, so Gerrit converts it to a link.
https://review.coreboot.org/c/coreboot/+/45174/1//COMMIT_MSG@13 PS1, Line 13: a binary that always calls die(). Mention the condition, so one does not have to look for it?
Angel Pons has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/45174 )
Change subject: nb/intel/ironlake/raminit: Fix compiler bug ......................................................................
Patch Set 1: Code-Review+1
Angel Pons has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/45174 )
Change subject: nb/intel/ironlake/raminit: Fix compiler bug ......................................................................
Patch Set 1:
(1 comment)
https://review.coreboot.org/c/coreboot/+/45174/1/src/northbridge/intel/ironl... File src/northbridge/intel/ironlake/raminit.c:
https://review.coreboot.org/c/coreboot/+/45174/1/src/northbridge/intel/ironl... PS1, Line 1803: (u32 *) This cast might be causing problems
Nico Huber has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/45174 )
Change subject: nb/intel/ironlake/raminit: Fix compiler bug ......................................................................
Patch Set 1: Code-Review+2
(1 comment)
It looks good enough until somebody wants to fix the whole code. Can we get the commit message polished to merge this? I have a bad feeling to keep master broken all the time :-/
https://review.coreboot.org/c/coreboot/+/45174/1//COMMIT_MSG Commit Message:
https://review.coreboot.org/c/coreboot/+/45174/1//COMMIT_MSG@7 PS1, Line 7: nb/intel/ironlake/raminit: Fix compiler bug I would say "Work around" not fix.
Angel Pons has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/45174 )
Change subject: nb/intel/ironlake/raminit: Fix compiler bug ......................................................................
Patch Set 1: Code-Review+2
Patch Set 1: Code-Review+2
(1 comment)
It looks good enough until somebody wants to fix the whole code. Can we get the commit message polished to merge this? I have a bad feeling to keep master broken all the time :-/
Same feelings here.
Hello build bot (Jenkins), Nico Huber, Angel Pons, Patrick Rudolph,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/45174
to look at the new patch set (#2).
Change subject: nb/intel/ironlake/raminit: Work around compiler bug ......................................................................
nb/intel/ironlake/raminit: Work around compiler bug
This fixes commit e1d1fe454cf27d6b1c2ef5625f1cefc1a9c6ec9d initialize 'reply.command'.
The compiler now optimized away the final condition, that checks the result of heci message, resulting in a binary that always calls die().
Fix that behaviour by using volatile. Tested on Lenovo T410: Boots again into Linux.
Change-Id: I63cffc8812bd22695c01bf57283ca593b12e3d87 Signed-off-by: Patrick Rudolph patrick.rudolph@9elements.com --- M src/northbridge/intel/ironlake/raminit.c 1 file changed, 1 insertion(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/74/45174/2
Patrick Rudolph has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/45174 )
Change subject: nb/intel/ironlake/raminit: Work around compiler bug ......................................................................
Patch Set 1:
(4 comments)
https://review.coreboot.org/c/coreboot/+/45174/1//COMMIT_MSG Commit Message:
https://review.coreboot.org/c/coreboot/+/45174/1//COMMIT_MSG@7 PS1, Line 7: nb/intel/ironlake/raminit: Fix compiler bug
I would say "Work around" not fix.
Done
https://review.coreboot.org/c/coreboot/+/45174/1//COMMIT_MSG@9 PS1, Line 9: This fixes e1d1fe454cf27d6b1c2ef5625f1cefc1a9c6ec9d
Please add *commit* before the hash, so Gerrit converts it to a link.
Done
https://review.coreboot.org/c/coreboot/+/45174/1//COMMIT_MSG@13 PS1, Line 13: a binary that always calls die().
Mention the condition, so one does not have to look for it?
Done
https://review.coreboot.org/c/coreboot/+/45174/1/src/northbridge/intel/ironl... File src/northbridge/intel/ironlake/raminit.c:
https://review.coreboot.org/c/coreboot/+/45174/1/src/northbridge/intel/ironl... PS1, Line 1803: (u32 *)
This cast might be causing problems
Ack
Werner Zeh has removed Name of user not set #1003096 from this change. ( https://review.coreboot.org/c/coreboot/+/45174 )
Change subject: nb/intel/ironlake/raminit: Work around compiler bug ......................................................................
Removed reviewer null with the following votes:
* Verified+1 by Name of user not set (1003096)
Nico Huber has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/45174 )
Change subject: nb/intel/ironlake/raminit: Work around compiler bug ......................................................................
Patch Set 2: Code-Review+2
Nico Huber has submitted this change. ( https://review.coreboot.org/c/coreboot/+/45174 )
Change subject: nb/intel/ironlake/raminit: Work around compiler bug ......................................................................
nb/intel/ironlake/raminit: Work around compiler bug
This fixes commit e1d1fe454cf27d6b1c2ef5625f1cefc1a9c6ec9d initialize 'reply.command'.
The compiler now optimized away the final condition, that checks the result of heci message, resulting in a binary that always calls die().
Fix that behaviour by using volatile. Tested on Lenovo T410: Boots again into Linux.
Change-Id: I63cffc8812bd22695c01bf57283ca593b12e3d87 Signed-off-by: Patrick Rudolph patrick.rudolph@9elements.com Reviewed-on: https://review.coreboot.org/c/coreboot/+/45174 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Nico Huber nico.h@gmx.de --- M src/northbridge/intel/ironlake/raminit.c 1 file changed, 1 insertion(+), 1 deletion(-)
Approvals: build bot (Jenkins): Verified Nico Huber: Looks good to me, approved
diff --git a/src/northbridge/intel/ironlake/raminit.c b/src/northbridge/intel/ironlake/raminit.c index 81ba450..5d58b27 100644 --- a/src/northbridge/intel/ironlake/raminit.c +++ b/src/northbridge/intel/ironlake/raminit.c @@ -1770,7 +1770,7 @@
static void send_heci_uma_message(struct raminfo *info) { - struct uma_reply { + volatile struct uma_reply { u8 group_id; u8 command; u8 reserved;
9elements QA has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/45174 )
Change subject: nb/intel/ironlake/raminit: Work around compiler bug ......................................................................
Patch Set 3:
Automatic boot test returned (PASS/FAIL/TOTAL): 8/1/9 "QEMU x86 q35/ich9" (x86_32) using payload TianoCore : SUCCESS : https://lava.9esec.io/r/19452 "QEMU x86 q35/ich9" (x86_32) using payload SeaBIOS : SUCCESS : https://lava.9esec.io/r/19451 "QEMU x86 i440fx/piix4" (x86_64) using payload SeaBIOS : FAIL : https://lava.9esec.io/r/19450 "QEMU x86 i440fx/piix4" (x86_32) using payload SeaBIOS : SUCCESS : https://lava.9esec.io/r/19449 "QEMU AArch64" using payload LinuxBoot_u-root_kexec : SUCCESS : https://lava.9esec.io/r/19448 "HP Z220 SFF Workstation" (x86_32) using payload LinuxBoot_BusyBox_kexec : SUCCESS : https://lava.9esec.io/r/19456 "HP Z220 SFF Workstation" (x86_32) using payload LinuxBoot_BusyBox_kexec : SUCCESS : https://lava.9esec.io/r/19455 "HP Compaq 8200 Elite SFF PC" (x86_32) using payload TianoCore : SUCCESS : https://lava.9esec.io/r/19454 "HP Compaq 8200 Elite SFF PC" (x86_32) using payload SeaBIOS : SUCCESS : https://lava.9esec.io/r/19453
Please note: This test is under development and might not be accurate at all!