qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] gdbstub: Fix i386/x86_64 machine description an


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH] gdbstub: Fix i386/x86_64 machine description and add control registers
Date: Mon, 28 Jan 2019 10:56:01 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.3.1

On 24/01/19 21:29, Doug Gale wrote:
> The machine description we send is being (silently) thrown on the floor
> by GDB and GDB silently uses the default machine description.
> 
> With current QEMU, if you debug gdb, and set debug_xml=1 and continue,
> then attach to qemu gdbstub from the debugged gdb, you will see the xml
> parse fail completely, and gdb will fall back to the default machine
> description, silently, and changes to our xml (in qemu source code) have
> no effect. They might as well be empty.
> 
> The point of fixing the machine description was IDE's with GDB
> integration will break on QEMU. The default machine description has
> fs_base, which fails to be retrieved, whick breaks the whole register
> window (in qt-creator at least, likely others). With my patch the
> register window works perfectly.
> 
> I didn't delete anything, I removed the superfluous nesting of files by
> xi:include and moved the description into a single xml file. I added
> fs_base, gs_base, k_gs_base, cr0/2/3/4/6, efer.
> 
> Removing the nesting into xml includes fixes it because the xml parse
> fails on <feature nested within <feature, so I solved it by removing
> unnecessary include indirections and placed the data inline.


Thanks, I put this as a commit message:

The machine description we send is being (silently) thrown on the floor
by GDB and GDB silently uses the default machine description, because
the xml parse fails on <feature> nested within <feature>.
Changes to the xml in qemu source code have no effect.

In addition, the default machine description has fs_base, which fails to
be retrieved, which breaks the whole register window.  Add it and the
other control registers.

Thanks,

Paolo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]