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