On Tue, 22 Mar 2022 at 18:59, Philippe Mathieu-Daudé <philippe.mathieu.da...@gmail.com> wrote: > On 22/3/22 16:56, Peter Maydell wrote: > > This works, but I worry a bit that it might have unexpected > > side effects, and setting globals (even if thread-local) to > > cause side-effects elsewhere isn't ideal... > > Yeah, gdbstub is like a JTAG probe, CPU accessors/views shouldn't be > involved. Having current_cpu==NULL seems the correct behavior. > > There was a thread few years ago about an issue similar to this one. > IIRC it was about how to have qtest commands select a different address > space instead of the 'current cpu' one. > > I wonder why target_memory_rw_debug() involves CPU at all. Maybe it is > simply not using the correct API?
gdb lets you look at specific threads (CPUs). When you're looking at a given CPU you want that CPU's view of the world. Most importantly, you want the virtual-to-physical mapping that that CPU currently has set up... -- PMM