Ok, while qemu emulation is not stopped, periodic samples of 0xb008 (using
the qemu cmd "i/w 0xb008") do indeed return running timer-like values.
AcpiTimerLibConstructor() runs in 32bit mode and uses 0xb0nn values, but at
the point of my hang the cpu is in 64bit mode and is reading from 0x0408
instead of 0xb008. Disassembly shows that 0x0408 is a constant compiled
into the source:
0x3e5576e2: push %rbp
0x3e5576e3: mov %rsp,%rbp
0x3e5576e6: sub $0x20,%rsp
0x3e5576ea: mov $0x408,%ecx
0x3e5576ef: movabs $0x3e5579fa,%rax
0x3e5576f9: callq *%rax
0x3e5576fb: leaveq
0x3e5576fc: retq
(this next part of the conversation will move to the new gdb symbol debug
thread - but I wanted Laszlo to see this last comment/question)
> You need the debug symbols for the qemu binary. Your distro may provide them
> in a separate package, or not at all. In the latter case you should rebuild
> from source (with --enable-debug), or rebuild your distro's package with
> debug symbols enabled.
gdb needs qemu *symbols* in order for breakpoints to work? I thought the
gdbserver built into qemu would simply provide the proper API over the
remote link. I can however see why a released version of qemu would not
have --enable-debug turned on (disabling breakpointing).
Duane
------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel