[U-Boot] bootefi selftest on qemu-x86_64

Hi Heinrich,
Did you ever get 'bootefi selftest' pass on qemu-x86_64? I got:
=> bootefi selftest WARNING: booting without device tree lib/efi_selftest/efi_selftest.c(242): ERROR: Cannot open loaded image protocol
Regards, Bin

On 10/09/2018 11:27 AM, Bin Meng wrote:
Hi Heinrich,
Did you ever get 'bootefi selftest' pass on qemu-x86_64? I got:
=> bootefi selftest WARNING: booting without device tree lib/efi_selftest/efi_selftest.c(242): ERROR: Cannot open loaded image protocol
Regards, Bin
Hello Bin,
when running qemu-x86_64_defconfig with
qemu-system-x86_64 -bios denx/u-boot.rom -machine pc-i440fx-2.5 --nographic
it hangs in an endless loop:
U-Boot 2018.11-rc1-00130-g0a60a81ba3 (Oct 09 2018 - 18:23:16 +0200)
QEMU Virtual CPU version 2.5+DRAM: 128 MiB
U-Boot SPL 2018.11-rc1-00130-g0a60a81ba3 (Oct 09 2018 - 18:23:16 +0200) CPU: x86_64, vendor AMD, device 663h Trying to boot from SPI Jumping to 64-bit U-Boot: Note many features are missing
U-Boot 2018.11-rc1-00130-g0a60a81ba3 (Oct 09 2018 - 18:23:16 +0200)
QEMU Virtual CPU version 2.5+DRAM: 128 MiB
U-Boot SPL 2018.11-rc1-00130-g0a60a81ba3 (Oct 09 2018 - 18:23:16 +0200) CPU: x86_64, vendor AMD, device 663h Trying to boot from SPI Jumping to 64-bit U-Boot: Note many features are missing
U-Boot 2018.11-rc1-00130-g0a60a81ba3 (Oct 09 2018 - 18:23:16 +0200)
QEMU Virtual CPU version 2.5+DRAM: 128 MiB
....
How did you succeed to reach the console?
There is a doc/README.x86 but nothing on x86_64. Could you, please, add the missing information in said README.x86.
I could not find qemu-x86_64_defconfig in .travis.yml. Shouldn't we try to run the target there too?
I am using Debian Buster: gcc 8.2.0 qemu 2.12.0
Best regards
Heinrich

Hi Heinrich,
On Wed, Oct 10, 2018 at 12:48 AM Heinrich Schuchardt xypron.glpk@gmx.de wrote:
On 10/09/2018 11:27 AM, Bin Meng wrote:
Hi Heinrich,
Did you ever get 'bootefi selftest' pass on qemu-x86_64? I got:
=> bootefi selftest WARNING: booting without device tree lib/efi_selftest/efi_selftest.c(242): ERROR: Cannot open loaded image protocol
Regards, Bin
Hello Bin,
when running qemu-x86_64_defconfig with
qemu-system-x86_64 -bios denx/u-boot.rom -machine pc-i440fx-2.5 --nographic
it hangs in an endless loop:
U-Boot 2018.11-rc1-00130-g0a60a81ba3 (Oct 09 2018 - 18:23:16 +0200)
QEMU Virtual CPU version 2.5+DRAM: 128 MiB
U-Boot SPL 2018.11-rc1-00130-g0a60a81ba3 (Oct 09 2018 - 18:23:16 +0200) CPU: x86_64, vendor AMD, device 663h Trying to boot from SPI Jumping to 64-bit U-Boot: Note many features are missing
U-Boot 2018.11-rc1-00130-g0a60a81ba3 (Oct 09 2018 - 18:23:16 +0200)
QEMU Virtual CPU version 2.5+DRAM: 128 MiB
U-Boot SPL 2018.11-rc1-00130-g0a60a81ba3 (Oct 09 2018 - 18:23:16 +0200) CPU: x86_64, vendor AMD, device 663h Trying to boot from SPI Jumping to 64-bit U-Boot: Note many features are missing
U-Boot 2018.11-rc1-00130-g0a60a81ba3 (Oct 09 2018 - 18:23:16 +0200)
QEMU Virtual CPU version 2.5+DRAM: 128 MiB
....
How did you succeed to reach the console?
It is a bug and I noticed this when testing GCC 8.1.0. Patches will be sent soon.
There is a doc/README.x86 but nothing on x86_64. Could you, please, add the missing information in said README.x86.
Will do.
I could not find qemu-x86_64_defconfig in .travis.yml. Shouldn't we try to run the target there too?
I tried this but it fails with EFI selftesting.
I am using Debian Buster: gcc 8.2.0 qemu 2.12.0
Regards, Bin

Hi Heinrich,
On Wed, Oct 10, 2018 at 7:56 AM Bin Meng bmeng.cn@gmail.com wrote:
Hi Heinrich,
On Wed, Oct 10, 2018 at 12:48 AM Heinrich Schuchardt xypron.glpk@gmx.de wrote:
On 10/09/2018 11:27 AM, Bin Meng wrote:
Hi Heinrich,
Did you ever get 'bootefi selftest' pass on qemu-x86_64? I got:
=> bootefi selftest WARNING: booting without device tree lib/efi_selftest/efi_selftest.c(242): ERROR: Cannot open loaded image protocol
Regards, Bin
Hello Bin,
when running qemu-x86_64_defconfig with
qemu-system-x86_64 -bios denx/u-boot.rom -machine pc-i440fx-2.5 --nographic
it hangs in an endless loop:
U-Boot 2018.11-rc1-00130-g0a60a81ba3 (Oct 09 2018 - 18:23:16 +0200)
QEMU Virtual CPU version 2.5+DRAM: 128 MiB
U-Boot SPL 2018.11-rc1-00130-g0a60a81ba3 (Oct 09 2018 - 18:23:16 +0200) CPU: x86_64, vendor AMD, device 663h Trying to boot from SPI Jumping to 64-bit U-Boot: Note many features are missing
U-Boot 2018.11-rc1-00130-g0a60a81ba3 (Oct 09 2018 - 18:23:16 +0200)
QEMU Virtual CPU version 2.5+DRAM: 128 MiB
U-Boot SPL 2018.11-rc1-00130-g0a60a81ba3 (Oct 09 2018 - 18:23:16 +0200) CPU: x86_64, vendor AMD, device 663h Trying to boot from SPI Jumping to 64-bit U-Boot: Note many features are missing
U-Boot 2018.11-rc1-00130-g0a60a81ba3 (Oct 09 2018 - 18:23:16 +0200)
QEMU Virtual CPU version 2.5+DRAM: 128 MiB
....
How did you succeed to reach the console?
Forgot to mention, that I searched the ML and did see you and Ivan Gorinov discussed running 'bootefi selftest' on qemu-x86_64 [1] before and there was patch submitted to support "x86 64-bit setjmp/longjmp" needed by EFI. So I assume you guys had figured it out. But my testing shows that the bug (endless reset loop) is still there, and it is related to compiler being used. But I thought you might get a compiler that happened to work for you hence I asked the 'bootefi selftest' status.
Anyway I have figured out the root cause, and please try that.
It is a bug and I noticed this when testing GCC 8.1.0. Patches will be sent soon.
There is a doc/README.x86 but nothing on x86_64. Could you, please, add the missing information in said README.x86.
Will do.
I could not find qemu-x86_64_defconfig in .travis.yml. Shouldn't we try to run the target there too?
I tried this but it fails with EFI selftesting.
I am using Debian Buster: gcc 8.2.0 qemu 2.12.0
[1] https://lists.denx.de/pipermail/u-boot/2018-June/331836.html
Regards, Bin
participants (2)
-
Bin Meng
-
Heinrich Schuchardt