qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Christopher Caulfield <ctcaulfield@gmail.com>
To: "Alex Bennée" <alex.bennee@linaro.org>
Cc: Peter Maydell <peter.maydell@linaro.org>,
	qemu-devel@nongnu.org, alexsmendez@live.com
Subject: Re: QEMU on x64
Date: Fri, 12 Nov 2021 15:18:36 -0800	[thread overview]
Message-ID: <CAGu1Vjht4zbgVqkib0zXZypGs1W+dvdFEH9W--zyrn5-UabtQg@mail.gmail.com> (raw)
In-Reply-To: <CAGu1Vjix18j69s2n4VjB=zJWvH2rKUeXhhinboCVx0Ba9vuPCw@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 4799 bytes --]

Hi folks! Wanted to share some documentation if you all want to give QEMU a
try within WinDbg. This is something we've been invested in supporting.

   - Link to public project:
   https://github.com/microsoft/WinDbg-Samples/tree/master/Exdi/exdigdbsrv
   <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2FWinDbg-Samples%2Ftree%2Fmaster%2FExdi%2Fexdigdbsrv&data=04%7C01%7CChristopher.Caulfield%40microsoft.com%7C7f9c66afb4f74e9cd61e08d9a625465a%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637723501320501730%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Bd%2Bvx2JaYtse35JmHigFtWLQzbXv1H9gZ1NseZB%2BF38%3D&reserved=0>
   - Link to external readme:  WinDbg-Samples/ExdiGdbSrv_readme.md at
   master · microsoft/WinDbg-Samples · GitHub
   <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2FWinDbg-Samples%2Fblob%2Fmaster%2FExdi%2Fexdigdbsrv%2Fdoc%2FExdiGdbSrv_readme.md&data=04%7C01%7CChristopher.Caulfield%40microsoft.com%7C7f9c66afb4f74e9cd61e08d9a625465a%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637723501320511728%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=kWn9Tlqtx1erYK8Pg0AHCSqNOLAYh171Cb9EmrR9cLg%3D&reserved=0>
   .

Anyone planning to add the missing x86-64 system registers to the QEMU
x86-64 GDb server?: QEMU registers support on x64 (#510) · Issues · QEMU /
QEMU · GitLab <https://gitlab.com/qemu-project/qemu/-/issues/510>? (I just
realized the title isn't great - O well...)

Thanks so much!
-Christopher

On Mon, Aug 2, 2021 at 6:34 PM Christopher Caulfield <ctcaulfield@gmail.com>
wrote:

> Thanks folks! I went ahead and made a feature/issue request based on
> Paolo's suggestion:
> QEMU registers support on x64 (#510) · Issues · QEMU / QEMU · GitLab
> <https://gitlab.com/qemu-project/qemu/-/issues/510>
>
> Please let me know if someone has the cycles to support this.
>
> -Christopher
>
> On Mon, Aug 2, 2021 at 10:37 AM Alex Bennée <alex.bennee@linaro.org>
> wrote:
>
>>
>> Peter Maydell <peter.maydell@linaro.org> writes:
>>
>> > On Fri, 30 Jul 2021 at 19:05, Christopher Caulfield
>> > <ctcaulfield@gmail.com> wrote:
>> >> This is Christopher from the debugging experiences team at Microsoft
>> focused on kernel debugging. I am reaching out with a few questions about
>> QEMU on x64.
>> >>
>> >> Is it possible for the QEMU-x86-64 GDB Server to send the full set
>> >> of x64 system registers (whether they are included in a separated
>> >> system xml file or as part of the core registers xml file)?
>> >
>> > Do you mean "is it possible for somebody to write code for
>> > QEMU to make it do that", or "does QEMU do it today if you pass
>> > it the right command line option" ? The answer to the former
>> > is "yes", to the latter "no". (If you want the debugger to
>> > be able to write to the system registers this might be a little
>> > trickier, mostly in terms of "auditing the code to make sure this
>> > can't confuse QEMU if you change some sysreg under its feet.".)
>> >
>> >> e.g. System registers missing from i386-64bit.xml file
>> >
>> >> DWORD64 IDTBase;
>> >> DWORD64 IDTLimit;
>> >> DWORD64 GDTBase;
>> >> DWORD64 GDTLimit;
>> >> DWORD SelLDT;
>> >> SEG64_DESC_INFO SegLDT;
>> >> DWORD SelTSS;
>> >> SEG64_DESC_INFO SegTSS;
>> >>
>> >> How can I access x64 MSR registers by using the QEMU-x86-64 GDB server?
>> >>
>> >> #define MSR_EFER 0xc0000080 // extended function enable register
>> >
>> > EFER is in the xml ("x64_efer") so should be already accessible.
>> > For anything else you're going to need to write some code to
>> > make it happen.
>> >
>> >>is there any plan to support reading/writing to MSRs via QEMU-x86-64
>> >GDB server?
>>
>> Not at the moment but I am keen to see any eventual solution try to be
>> generic rather than hardwired for one architecture. The ARM code
>> currently builds custom XML from it's register descriptors to expose
>> it's MSR registers to the gdbstub. Ideally architecture front ends
>> should register their registers with a new subsystem which can then do
>> the glue between gdbstub as well as other systems that also care about
>> register values (logging, HMP, TCG plugins).
>>
>> That said I'm not going to block any patches that just fix up the
>> current XML and target/i386/gdbstub code. I'm not familiar enough with
>> what the internal register representation state is for x86 w.r.t to TCG
>> and hypervisor based running modes.
>>
>> > Not that I know of. We'd be happy to review patches if you want to
>> > write them.
>> >
>> > thanks
>> > -- PMM
>>
>>
>> --
>> Alex Bennée
>>
>

[-- Attachment #2: Type: text/html, Size: 6603 bytes --]

  reply	other threads:[~2021-11-12 23:25 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-30 17:36 QEMU on x64 Christopher Caulfield
2021-07-30 18:13 ` Peter Maydell
2021-08-02 17:27   ` Alex Bennée
2021-08-03  1:34     ` Christopher Caulfield
2021-11-12 23:18       ` Christopher Caulfield [this message]
2021-08-02  9:05 ` Paolo Bonzini

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-all 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=CAGu1Vjht4zbgVqkib0zXZypGs1W+dvdFEH9W--zyrn5-UabtQg@mail.gmail.com \
    --to=ctcaulfield@gmail.com \
    --cc=alex.bennee@linaro.org \
    --cc=alexsmendez@live.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /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;
as well as URLs for NNTP newsgroup(s).