Richard Henderson schrieb:
> Define L1_MAP_ADDR_SPACE_BITS to be either the virtual address size
> (in user mode) or physical address size (in system mode), and use
> that to size l1_map.  This rewrites page_find_alloc, page_flush_tb,
> and walk_memory_regions.
>
> Use TARGET_PHYS_ADDR_SPACE_BITS for the physical memory map based
> off of l1_phys_map.  This rewrites page_phys_find_alloc and
> phys_page_for_each.
>
> Signed-off-by: Richard Henderson <r...@twiddle.net>
> ---
>  cpu-all.h |    7 +-
>  exec.c    |  451 
> +++++++++++++++++++++++++++++++++++++------------------------
>  2 files changed, 278 insertions(+), 180 deletions(-)

This patch breaks remote debugging (QEMU crash).

Test scenario:

x86_64 debian host, mips malta (32/64 bit, big/little endian) target

start qemu system emulation with a malta kernel and options -s -S,
attach remote debugger, start mips kernel with "c" in debugger =>
qemu crash:

page_flush_tb is filled with zero in page_flush_tb
tb_phys_invalidate is called, access fault in tb_remove.

Other targets might be affected, too.

Regards,
Stefan Weil



Reply via email to