Hi,
I am trying to run nuttx in a Qemu x86_64 VM but seem to be hitting some
issue during early boot (as far as I can tell). I am using commit
deb3b13759fe08 ("Udate TODO List") from yesterday.
Following the instructions for the board qemu-intel64, I configured and
built the nuttx.elf using -
./tools/configure.sh qemu-intel64:nsh
make
I then built an iso using grub-mkrescue and booted with qemu using
qemu-system-x86_64 -cpu host -enable-kvm -m 2G -cdrom boot.iso -boot d
-nographic -serial mon:stdio
Seeing the output on the serial console, it feels like the cpu gets into
a reboot loop with BIOS messages followed by grub loading the nuttx
binary.
I am using qemu[0] and gcc[1] shipped with Debian Bullseye (testing).
Next I tried debugging (by passing "-s -S" to Qemu and connecting via
gdb) to see if it was anything obvious or if I was missing some Qemu
options.
Single stepping through the early startup code
(arch/x86_64/src/intel64/intel64_head.S) suggests an unhandled exception
is taken at the start of __nxstart. Considering the code has a comment
indicating that it's executing from high memory, I am guessing an issue
with the memory setup before getting here is causing an issue.
Does anybody else see this issue? As I am not familiar with Nuttx I am
wondering if I am missing something obvious.
Happy to try suggestions / patches.
Thanks,
Punit
[0] Qemu Version
% qemu-system-x86_64 --version
QEMU emulator version 5.0.0 (Debian 1:5.0-5)
Copyright (c) 2003-2020 Fabrice Bellard and the QEMU Project developers
[1] GCC Version
% gcc --version
gcc (Debian 9.3.0-12) 9.3.0
...