Hi,
I just tried to boot coreinfo in qemu-q35, and it got an NMI exception after a second:
Run img/coreinfo Calling addr 0x00100000
<coreinfo starts and shows information> Non-Maskable-Interrupt Exception Error code: n/a EIP: 0x00104175 CS: 0x0010 EFLAGS: 0x00000093 EAX: 0x52797503 ECX: 0x00000000 EDX: 0x00000001 EBX: 0x5a769ba0 ESP: 0x0015917c EBP: 0x0000011a ESI: 0x31ef541a EDI: 0x00000001 DS: 0x0018 ES: 0x0018 SS: 0x0018 FS: 0x0018 GS: 0x0018 Dumping stack: 0x159360: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0x159340: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0x159320: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0x159300: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0x1592e0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0x1592c0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0x1592a0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0x159280: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0x159260: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0x159240: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0x159220: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0x159200: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0x1591e0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0x1591c0: 00000000 00000000 00100051 00006fb4 00000000 00000000 00000000 00000000 0x1591a0: 001591d0 001591c0 ffe27904 001020d0 0010546b 00104d07 00104f88 001020d0 0x159180: 00006fb4 001591d0 001591a8 0010209c 000001f4 00000000 001591d0 00006fb4 0x159160: 00000000 001591d0 00006fb4 001591d0 00104175 00000010 00000093 001591d0
This happens reliably both with and without SeaBIOS and in both qemu-system-i386 and qemu-system-x86_64 (version 2.5.0).
The coreinfo application code is apparently irrelevant: I replaced coreinfo's main() with a printf and an endless loop and still get the same result.
What could be causing this?
Jonathan
Hi Jonathan,
What command line are you using to start QEMU? I just tested it and it's working for me, but I'm not getting the USB devices showing up, which may be why it's working.
Here's what I used: qemu-system-x86_64 -bios build/coreboot.rom -serial stdio -M q35 -smp 2 -m 2G
This is from the current origin/master: c445b4f
Here's my coreboot defconfig - save this to .config and run 'make olddefconfig' CONFIG_BOARD_EMULATION_QEMU_X86_Q35=y CONFIG_COREBOOT_ROMSIZE_KB_1024=y CONFIG_COREINFO_SECONDARY_PAYLOAD=y
% qemu-x86_64 -version qemu-x86_64 version 2.0.0 (Debian 2.0.0+dfsg-2ubuntu1.22), Copyright (c) 2003-2008 Fabrice Bellard
Hope this helps Martin
coreinfo 0.1 PCI Device List ─────────────────────────────────────────────── 0:00.00 8086:29C0 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 0:01.00 1013:00B8 ┌─────────────────────────────── 0:02.00 8086:100E 00│86 80 C0 29 00 00 00 00 00 00 00 06 10 00 00 00 0:1F.00 8086:2918 10│00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0:1F.02 8086:2922 20│00 00 00 00 00 00 00 00 00 00 00 00 F4 1A 00 11 0:1F.03 8086:2930 30│00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
On Mon, Apr 4, 2016 at 6:53 PM, Jonathan Neuschäfer j.neuschaefer@gmx.net wrote:
Hi,
I just tried to boot coreinfo in qemu-q35, and it got an NMI exception after a second:
Run img/coreinfo Calling addr 0x00100000
<coreinfo starts and shows information> Non-Maskable-Interrupt Exception Error code: n/a EIP: 0x00104175 CS: 0x0010 EFLAGS: 0x00000093 EAX: 0x52797503 ECX: 0x00000000 EDX: 0x00000001 EBX: 0x5a769ba0 ESP: 0x0015917c EBP: 0x0000011a ESI: 0x31ef541a EDI: 0x00000001 DS: 0x0018 ES: 0x0018 SS: 0x0018 FS: 0x0018 GS: 0x0018 Dumping stack: 0x159360: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0x159340: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0x159320: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0x159300: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0x1592e0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0x1592c0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0x1592a0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0x159280: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0x159260: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0x159240: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0x159220: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0x159200: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0x1591e0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0x1591c0: 00000000 00000000 00100051 00006fb4 00000000 00000000 00000000 00000000 0x1591a0: 001591d0 001591c0 ffe27904 001020d0 0010546b 00104d07 00104f88 001020d0 0x159180: 00006fb4 001591d0 001591a8 0010209c 000001f4 00000000 001591d0 00006fb4 0x159160: 00000000 001591d0 00006fb4 001591d0 00104175 00000010 00000093 001591d0
This happens reliably both with and without SeaBIOS and in both qemu-system-i386 and qemu-system-x86_64 (version 2.5.0).
The coreinfo application code is apparently irrelevant: I replaced coreinfo's main() with a printf and an endless loop and still get the same result.
What could be causing this?
Jonathan
-- coreboot mailing list: coreboot@coreboot.org https://www.coreboot.org/mailman/listinfo/coreboot