public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Kinney, Michael D" <michael.d.kinney@intel.com>
To: Laszlo Ersek <lersek@redhat.com>,
	wang xiaofeng <winggundum82@163.com>,
	"Kinney, Michael D" <michael.d.kinney@intel.com>
Cc: "edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Subject: Re: Qestion about how to debug OVMF with UDT on QEMU
Date: Wed, 9 Aug 2017 18:21:39 +0000	[thread overview]
Message-ID: <E92EE9817A31E24EB0585FDF735412F5A7D73E70@ORSMSX113.amr.corp.intel.com> (raw)
In-Reply-To: <dc4a01de-606a-cb3d-31b2-e54384b1f1ae@redhat.com>

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

  reply	other threads:[~2017-08-09 18:19 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
2017-08-09 19:37     ` Laszlo Ersek
2017-08-10  5:50       ` wang xiaofeng

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E92EE9817A31E24EB0585FDF735412F5A7D73E70@ORSMSX113.amr.corp.intel.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox