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