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