I’m running:
OvmfPkg/build.sh -a X64 qemu -debugcon file:debug.log -global 
isa-debugcon.iobase=0x402 -s

and I’m debugging changes in UefiCpuPkg/Library/CpuExceptionHandlerLib to make 
it work properly with clang. I’m working through the issues, but I noticed that 
InternalPrintMessage() is redirecting to 0x3f8 so the data does not get printed 
out to the log. 

It looks like:
~/work/src/edk2(master)>git grep gUartBase | grep '='
PcAtChipsetPkg/Library/SerialIoLib/SerialPortLib.c:46:UINT16  gUartBase = 0x3F8;

So basically this crash info is hard coded to standard PC UART, but 
DEBUG()/ASSERT() prints go to 0x402 (and thus the log). Does that mean OVMF 
really needs an extra instance of this lib that redirects to the correct port? 
Or do we need a PCD setting for the PcAtChipsetPkg SerialIoLib instance?

Sorry I’ve not had time to track down what the DEBUG/ASSERT code is actually 
doing. Changing the interrupt catching assembly code is distracting enough…. 

Thanks,

Andrew Fish

PS The issues with lots of relocations came up before on the mailing list in 
regards to clang and UefiCpuPkg/Library/CpuExceptionHandlerLib. I’ve got it 
compiling, but I’m hanging in a CpuDeadLoop() @ So 
UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeSmmCpuException.c:122 So it looks 
like my changing the way interrupts get hooked has some side effect in the code 
I need to debug.
------------------------------------------------------------------------------
Infragistics Professional
Build stunning WinForms apps today!
Reboot your WinForms applications with our WinForms controls. 
Build a bridge from your legacy apps to the future.
http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to