On 30/07/21 19:36, Christopher Caulfield wrote:
Hi QEMU community,

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.

 1. 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)?
      * 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;

Yes, that is possible.

 2. How can I access x64 MSR registers by using the QEMU-x86-64 GDB server?
      * #define MSR_EFER 0xc0000080 // extended function enable register
        #define MSR_STAR 0xc0000081 // system call selectors
        #define MSR_LSTAR 0xc0000082 // system call 64-bit entry
        #define MSR_CSTAR 0xc0000083 // system call 32-bit entry
 3. Going off of #2 - can you access it via reading GDB memory command?
    if not - is there any plan to support reading/writing to MSRs via
    QEMU-x86-64 GDB server?

Right now it's not possible, but for specific MSRs it's possible to add them to the XML and export them.

Can you create an issue on https://gitlab.com/qemu-project/qemu/-/issues please?

Paolo


Reply via email to