mirror of https://github.com/xemu-project/xemu.git
exec: add cpu_synchronize_state to cpu_memory_rw_debug
I sometimes got "Cannot access memory" when using the x command on the monitor. Turns out that the cpu env did contain stale data (e.g. wrong control register content for page table origin). We must synchronize the state of the CPU before walking the page tables. A similar issues happens for a remote gdb, so lets do the cpu_synchronize_state in cpu_memory_rw_debug. Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Message-Id: <1488896348-13560-1-git-send-email-borntraeger@de.ibm.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
1e356fc14b
commit
79ca7a1b89
2
exec.c
2
exec.c
|
@ -43,6 +43,7 @@
|
|||
#include "exec/ioport.h"
|
||||
#include "sysemu/dma.h"
|
||||
#include "sysemu/numa.h"
|
||||
#include "sysemu/hw_accel.h"
|
||||
#include "exec/address-spaces.h"
|
||||
#include "sysemu/xen-mapcache.h"
|
||||
#include "trace-root.h"
|
||||
|
@ -3309,6 +3310,7 @@ int cpu_memory_rw_debug(CPUState *cpu, target_ulong addr,
|
|||
hwaddr phys_addr;
|
||||
target_ulong page;
|
||||
|
||||
cpu_synchronize_state(cpu);
|
||||
while (len > 0) {
|
||||
int asidx;
|
||||
MemTxAttrs attrs;
|
||||
|
|
Loading…
Reference in New Issue