* Qestion about how to debug OVMF with UDT on QEMU
@ 2017-08-09 7:34 wang xiaofeng
2017-08-09 11:02 ` Laszlo Ersek
0 siblings, 1 reply; 5+ messages in thread
From: wang xiaofeng @ 2017-08-09 7:34 UTC (permalink / raw)
To: edk2-devel@lists.01.org
Hello All,
I try to debug OVMF with UDT on QEMU in windows.
I build OVMF on windows 7 with VS2013 . And also runs it in QEMUWin32.
I add DEFINE SOURCE_DEBUG_ENABLE = TRUE in ovmf.dsc and build a new bios. From makefile it seems this feature is enabled for OVMF SecMain
$(BIN_DIR)\SourceLevelDebugPkg\Library\PeCoffExtraActionLibDebug\PeCoffExtraActionLibDebug\OUTPUT\PeCoffExtraActionLib.lib \
$(BIN_DIR)\SourceLevelDebugPkg\Library\DebugAgent\SecPeiDebugAgentLib\OUTPUT\SecPeiDebugAgentLib.lib \
But how can I link it to the local Windows UDT(which I have tested works for real hardware bios by serail port )?
Another question is why OVMF fdf don;t include DebugAgentPei.inf?
Or I have to enable at least 1 or 2 VM for this task?
Thanks in advance!
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Qestion about how to debug OVMF with UDT on QEMU
2017-08-09 7:34 Qestion about how to debug OVMF with UDT on QEMU wang xiaofeng
@ 2017-08-09 11:02 ` Laszlo Ersek
2017-08-09 18:21 ` Kinney, Michael D
0 siblings, 1 reply; 5+ messages in thread
From: Laszlo Ersek @ 2017-08-09 11:02 UTC (permalink / raw)
To: wang xiaofeng, Michael Kinney; +Cc: edk2-devel@lists.01.org
On 08/09/17 09:34, wang xiaofeng wrote:
> Hello All,
> I try to debug OVMF with UDT on QEMU in windows.
> I build OVMF on windows 7 with VS2013 . And also runs it in QEMUWin32.
> I add DEFINE SOURCE_DEBUG_ENABLE = TRUE in ovmf.dsc and build a new bios. From makefile it seems this feature is enabled for OVMF SecMain
>
>
> $(BIN_DIR)\SourceLevelDebugPkg\Library\PeCoffExtraActionLibDebug\PeCoffExtraActionLibDebug\OUTPUT\PeCoffExtraActionLib.lib \
> $(BIN_DIR)\SourceLevelDebugPkg\Library\DebugAgent\SecPeiDebugAgentLib\OUTPUT\SecPeiDebugAgentLib.lib \
>
>
> But how can I link it to the local Windows UDT(which I have tested works for real hardware bios by serail port )?
> Another question is why OVMF fdf don;t include DebugAgentPei.inf?
> Or I have to enable at least 1 or 2 VM for this task?
> Thanks in advance!
In the past I've tried to set up the UDK debugger between two virtual
machines, using a UNIX domain socket to connect their serial ports. It
didn't work, the debugger protocol kept falling apart. I suspected that
the emulated serial ports didn't follow the timings of physical serial
ports closely enough.
So, I never use SOURCE_DEBUG_ENABLE, but I think others on the list may
have gotten it to work? Mike perhaps?
Thanks
Laszlo
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Qestion about how to debug OVMF with UDT on QEMU
2017-08-09 11:02 ` Laszlo Ersek
@ 2017-08-09 18:21 ` Kinney, Michael D
2017-08-09 19:37 ` Laszlo Ersek
0 siblings, 1 reply; 5+ messages in thread
From: Kinney, Michael D @ 2017-08-09 18:21 UTC (permalink / raw)
To: Laszlo Ersek, wang xiaofeng, Kinney, Michael D; +Cc: edk2-devel@lists.01.org
Laszlo,
I works really well for me using QEMU on Windows.
* Build OVMF setting -D SOURCE_DEBUG_ENABLE and -D DEBUG_ON_SERIAL_PORT.
* Configure The UDK Debugger SoftDebugger.ini file to use TCP port 20716
[Debug Port]
Channel = TCP
Server = localhost
Port = 20716
* Configure QEMU so the monitor and serial port
are redirected to a tcp ports 20717 and 20716.
-monitor tcp:localhost:20717,server
-serial tcp:localhost:20716,server
I use a batch file to launch the UDK debugger and
and terminal emulators immediately before running
QEMU because the tcp server in QEMU will
timeout of a connect does not happen quickly.
start "Monitor" /B "c:\Program Files (x86)\teraterm\ttermpro.exe" localhost:20717 /nossh
start "Debugger" /B "C:\Program Files (x86)\Intel\Intel(R) UEFI Development Kit Debugger Tool\eXdi.exe" /LaunchWinDbg
start "Console" /B "c:\Program Files (x86)\teraterm\ttermpro.exe" localhost:20715 /nossh
start "QEMU" /B "%QEMU_PATH%\qemu-system-i386w.exe" ^
-machine q35,smm=on,accel=tcg -cpu Nehalem ^
-global ICH9-LPC.disable_s3=1 ^
-drive if=pflash,format=raw,unit=0,file=%EDKII_BUILD_OUTPUT%\FV\OVMF_CODE.fd,readonly=on ^
-drive if=pflash,format=raw,unit=1,file=%EDKII_BUILD_OUTPUT%\FV\OVMF_VARS.fd ^
-monitor tcp:localhost:20717,server ^
-serial tcp:localhost:20716,server
Since the serial connections are redirected to tcp ports
on the localhost, this actually provide an excellent
UDK Debugger experience.
Best regards,
Mike
> -----Original Message-----
> From: Laszlo Ersek [mailto:lersek@redhat.com]
> Sent: Wednesday, August 9, 2017 4:03 AM
> To: wang xiaofeng <winggundum82@163.com>; Kinney, Michael D
> <michael.d.kinney@intel.com>
> Cc: edk2-devel@lists.01.org
> Subject: Re: [edk2] Qestion about how to debug OVMF with UDT on
> QEMU
>
> On 08/09/17 09:34, wang xiaofeng wrote:
> > Hello All,
> > I try to debug OVMF with UDT on QEMU in windows.
> > I build OVMF on windows 7 with VS2013 . And also runs it in
> QEMUWin32.
> > I add DEFINE SOURCE_DEBUG_ENABLE = TRUE in ovmf.dsc
> and build a new bios. From makefile it seems this feature is
> enabled for OVMF SecMain
> >
> >
> >
> $(BIN_DIR)\SourceLevelDebugPkg\Library\PeCoffExtraActionLibDebug
> \PeCoffExtraActionLibDebug\OUTPUT\PeCoffExtraActionLib.lib \
> >
> $(BIN_DIR)\SourceLevelDebugPkg\Library\DebugAgent\SecPeiDebugAge
> ntLib\OUTPUT\SecPeiDebugAgentLib.lib \
> >
> >
> > But how can I link it to the local Windows UDT(which I
> have tested works for real hardware bios by serail port )?
> > Another question is why OVMF fdf don;t include
> DebugAgentPei.inf?
> > Or I have to enable at least 1 or 2 VM for this task?
> > Thanks in advance!
>
> In the past I've tried to set up the UDK debugger between two
> virtual
> machines, using a UNIX domain socket to connect their serial
> ports. It
> didn't work, the debugger protocol kept falling apart. I
> suspected that
> the emulated serial ports didn't follow the timings of physical
> serial
> ports closely enough.
>
> So, I never use SOURCE_DEBUG_ENABLE, but I think others on the
> list may
> have gotten it to work? Mike perhaps?
>
> Thanks
> Laszlo
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Qestion about how to debug OVMF with UDT on QEMU
2017-08-09 18:21 ` Kinney, Michael D
@ 2017-08-09 19:37 ` Laszlo Ersek
2017-08-10 5:50 ` wang xiaofeng
0 siblings, 1 reply; 5+ messages in thread
From: Laszlo Ersek @ 2017-08-09 19:37 UTC (permalink / raw)
To: Kinney, Michael D, wang xiaofeng; +Cc: edk2-devel@lists.01.org
On 08/09/17 20:21, Kinney, Michael D wrote:
> Laszlo,
>
> I works really well for me using QEMU on Windows.
>
> * Build OVMF setting -D SOURCE_DEBUG_ENABLE and -D DEBUG_ON_SERIAL_PORT.
>
> * Configure The UDK Debugger SoftDebugger.ini file to use TCP port 20716
>
> [Debug Port]
> Channel = TCP
> Server = localhost
> Port = 20716
>
> * Configure QEMU so the monitor and serial port
> are redirected to a tcp ports 20717 and 20716.
>
> -monitor tcp:localhost:20717,server
> -serial tcp:localhost:20716,server
>
> I use a batch file to launch the UDK debugger and
> and terminal emulators immediately before running
> QEMU because the tcp server in QEMU will
> timeout of a connect does not happen quickly.
>
> start "Monitor" /B "c:\Program Files (x86)\teraterm\ttermpro.exe" localhost:20717 /nossh
> start "Debugger" /B "C:\Program Files (x86)\Intel\Intel(R) UEFI Development Kit Debugger Tool\eXdi.exe" /LaunchWinDbg
> start "Console" /B "c:\Program Files (x86)\teraterm\ttermpro.exe" localhost:20715 /nossh
>
> start "QEMU" /B "%QEMU_PATH%\qemu-system-i386w.exe" ^
> -machine q35,smm=on,accel=tcg -cpu Nehalem ^
> -global ICH9-LPC.disable_s3=1 ^
> -drive if=pflash,format=raw,unit=0,file=%EDKII_BUILD_OUTPUT%\FV\OVMF_CODE.fd,readonly=on ^
> -drive if=pflash,format=raw,unit=1,file=%EDKII_BUILD_OUTPUT%\FV\OVMF_VARS.fd ^
> -monitor tcp:localhost:20717,server ^
> -serial tcp:localhost:20716,server
>
> Since the serial connections are redirected to tcp ports
> on the localhost, this actually provide an excellent
> UDK Debugger experience.
Thanks for the writeup. :) Maybe we should put this in the wiki
(although I'm completely aware of how I would react if this was
suggested to me in response to an email of mine :) )
And, perhaps I should give this another try sometime :)
Thank you!
Laszlo
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Qestion about how to debug OVMF with UDT on QEMU
2017-08-09 19:37 ` Laszlo Ersek
@ 2017-08-10 5:50 ` wang xiaofeng
0 siblings, 0 replies; 5+ messages in thread
From: wang xiaofeng @ 2017-08-10 5:50 UTC (permalink / raw)
To: Laszlo Ersek; +Cc: Kinney, Michael D, edk2-devel@lists.01.org
HI Michael,
I have tried your suggestion. ttermpro.exe shows connection refused in my Win7 after command "start "Monitor" /B %TERA_TERM_PATH% localhost:20717 /nossh"
the tool also cannot work lonely.
Any other software or configuration should I apply?
Thanks!
At 2017-08-10 03:37:01, "Laszlo Ersek" <lersek@redhat.com> wrote:
>On 08/09/17 20:21, Kinney, Michael D wrote:
>> Laszlo,
>>
>> I works really well for me using QEMU on Windows.
>>
>> * Build OVMF setting -D SOURCE_DEBUG_ENABLE and -D DEBUG_ON_SERIAL_PORT.
>>
>> * Configure The UDK Debugger SoftDebugger.ini file to use TCP port 20716
>>
>> [Debug Port]
>> Channel = TCP
>> Server = localhost
>> Port = 20716
>>
>> * Configure QEMU so the monitor and serial port
>> are redirected to a tcp ports 20717 and 20716.
>>
>> -monitor tcp:localhost:20717,server
>> -serial tcp:localhost:20716,server
>>
>> I use a batch file to launch the UDK debugger and
>> and terminal emulators immediately before running
>> QEMU because the tcp server in QEMU will
>> timeout of a connect does not happen quickly.
>>
>> start "Monitor" /B "c:\Program Files (x86)\teraterm\ttermpro.exe" localhost:20717 /nossh
>> start "Debugger" /B "C:\Program Files (x86)\Intel\Intel(R) UEFI Development Kit Debugger Tool\eXdi.exe" /LaunchWinDbg
>> start "Console" /B "c:\Program Files (x86)\teraterm\ttermpro.exe" localhost:20715 /nossh
>>
>> start "QEMU" /B "%QEMU_PATH%\qemu-system-i386w.exe" ^
>> -machine q35,smm=on,accel=tcg -cpu Nehalem ^
>> -global ICH9-LPC.disable_s3=1 ^
>> -drive if=pflash,format=raw,unit=0,file=%EDKII_BUILD_OUTPUT%\FV\OVMF_CODE.fd,readonly=on ^
>> -drive if=pflash,format=raw,unit=1,file=%EDKII_BUILD_OUTPUT%\FV\OVMF_VARS.fd ^
>> -monitor tcp:localhost:20717,server ^
>> -serial tcp:localhost:20716,server
>>
>> Since the serial connections are redirected to tcp ports
>> on the localhost, this actually provide an excellent
>> UDK Debugger experience.
>
>Thanks for the writeup. :) Maybe we should put this in the wiki
>(although I'm completely aware of how I would react if this was
>suggested to me in response to an email of mine :) )
>
>And, perhaps I should give this another try sometime :)
>
>Thank you!
>Laszlo
\x16�&
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2017-08-10 5:48 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-09 7:34 Qestion about how to debug OVMF with UDT on QEMU wang xiaofeng
2017-08-09 11:02 ` Laszlo Ersek
2017-08-09 18:21 ` Kinney, Michael D
2017-08-09 19:37 ` Laszlo Ersek
2017-08-10 5:50 ` wang xiaofeng
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox