[coreboot] Libpayload dies with NMI exception on qemu-q35

Martin Roth gaumless at gmail.com
Tue Apr 5 03:55:17 CEST 2016


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 at 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 at coreboot.org
> https://www.coreboot.org/mailman/listinfo/coreboot



More information about the coreboot mailing list