>
> How is [it] possible [that AcpiTimerLibConstructor() runs in 32bit mode] ?
> AFAIR you have an X64 build.


Laszlo, I'm just reporting what gdb is demanding: "set arch i386" for the
constructor (which displays 32bit flat 0xfffcxxxx addresses), and "set arch
i386:x86-64" for the hang location (which displays 64bit flat 0x3e55xxxx
addresses).  Since OVMF is a boot rom it has to bring the cpu up from i8086
to i386 to x86-64 modes and apparently various parts of the code run in
different modes.

find Build -type f -name '*.obj' -print0 \
> | xargs -0 -r -- objdump -d -- >~/tmp/disasm
> less ~/tmp/disasm
> Then search for \$0x408, and scroll up for the function name. In my
> build there are three functions with this constant:
> - UnicodeStrToAsciiStr
> - LibPatchPcdSetPtr
> - EhcAsyncInterruptTransfer
> None of which seem relevant.


Yes, that's what I'm finding as well.  And looking at AcpiTimerLib.obj via
objdump tells me that the hang code is not from AcpiTimerLib at all.

Is there any chance you have pulled in the TscTimerLib from the
> PerformancePkg into the X64 part of your build?


Michael, well, there is no TscTimerLib.obj in Build/OvmfX64/DEBUG_GCC46/X64
(and in fact no where in the Build directory at all), I've never built the
PerformancePkg.


Curiouser and curiouser ... even the .efi files, scanned with

find Build -type f -name '*.efi' -print0 | xargs -0 -r -- objdump -d -- |
grep '$0x408,'

return *only*   mov $0x408,%edx   where clearly the executing code includes
   mov $0x408,%ecx  !   Where is this bit of rogue code coming from??



What prevents you from setting DEBUG_VERBOSE


With DEBUG_VERBOSE on and -debugcon file:debug.log -global
isa-debugcon.iobase=0x402  added to the qemu command line, debug.log
remains empty.  I've never seen any debug output from this flag nor via
-debugcon.  My OVMF build line is:

$ build -D SOURCE_DEBUG_ENABLE -D FD_SIZE_2MB -D DEBUG_ON_SERIAL_PORT -p
OvmfPkg/OvmfPkgX64.dsc -a X64 -t GCC46

(when I add other debug code and rebuild, I do see the changes in gdb so
I'm not missing something obvious)

Yes it is very easy to rebuild OVMF and try it out with qemu+gdb which is
why I'm pushing to get debug with symbols working -- my other avenue (an In
circuit Test Probe on real hardware will be laborious).

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

Reply via email to