Message ID | 20181122112947.7586-2-peter.maydell@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | Avoid cpu_physical_memory_read() in generic code | expand |
On 22/11/18 12:29, Peter Maydell wrote: > Currently disas.c reads physical memory using > cpu_physical_memory_read(). This effectively hard-codes > assuming that all CPUs have the same view of physical > memory. Switch to address_space_read() instead, which > lets us use the AddressSpace for the CPU we're > disassembling for. > > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> > --- > disas.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/disas.c b/disas.c > index 5325b7e6be6..f9c517b3588 100644 > --- a/disas.c > +++ b/disas.c > @@ -588,7 +588,10 @@ static int > physical_read_memory(bfd_vma memaddr, bfd_byte *myaddr, int length, > struct disassemble_info *info) > { > - cpu_physical_memory_read(memaddr, myaddr, length); > + CPUDebug *s = container_of(info, CPUDebug, info); > + > + address_space_read(s->cpu->as, memaddr, MEMTXATTRS_UNSPECIFIED, > + myaddr, length); > return 0; > } > >
diff --git a/disas.c b/disas.c index 5325b7e6be6..f9c517b3588 100644 --- a/disas.c +++ b/disas.c @@ -588,7 +588,10 @@ static int physical_read_memory(bfd_vma memaddr, bfd_byte *myaddr, int length, struct disassemble_info *info) { - cpu_physical_memory_read(memaddr, myaddr, length); + CPUDebug *s = container_of(info, CPUDebug, info); + + address_space_read(s->cpu->as, memaddr, MEMTXATTRS_UNSPECIFIED, + myaddr, length); return 0; }
Currently disas.c reads physical memory using cpu_physical_memory_read(). This effectively hard-codes assuming that all CPUs have the same view of physical memory. Switch to address_space_read() instead, which lets us use the AddressSpace for the CPU we're disassembling for. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> --- disas.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) -- 2.19.1