[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