mirror of https://github.com/xemu-project/xemu.git
exec: Make cpu_memory_rw_debug() target agnostic
cpu_memory_rw_debug() is declared in "exec/cpu-all.h" which contains target-specific declarations. To be able to use it from target agnostic source, move the declaration to the generic "exec/cpu-common.h" header. Replace the target-specific 'target_ulong' type by 'vaddr' which better reflects the argument type, and is target agnostic. Suggested-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20220207075426.81934-5-f4bug@amsat.org>
This commit is contained in:
parent
06445fbdb6
commit
73842ef04a
6
cpu.c
6
cpu.c
|
@ -415,11 +415,11 @@ void cpu_abort(CPUState *cpu, const char *fmt, ...)
|
||||||
|
|
||||||
/* physical memory access (slow version, mainly for debug) */
|
/* physical memory access (slow version, mainly for debug) */
|
||||||
#if defined(CONFIG_USER_ONLY)
|
#if defined(CONFIG_USER_ONLY)
|
||||||
int cpu_memory_rw_debug(CPUState *cpu, target_ulong addr,
|
int cpu_memory_rw_debug(CPUState *cpu, vaddr addr,
|
||||||
void *ptr, target_ulong len, bool is_write)
|
void *ptr, size_t len, bool is_write)
|
||||||
{
|
{
|
||||||
int flags;
|
int flags;
|
||||||
target_ulong l, page;
|
vaddr l, page;
|
||||||
void * p;
|
void * p;
|
||||||
uint8_t *buf = ptr;
|
uint8_t *buf = ptr;
|
||||||
|
|
||||||
|
|
|
@ -433,10 +433,6 @@ int cpu_exec(CPUState *cpu);
|
||||||
void tcg_exec_realizefn(CPUState *cpu, Error **errp);
|
void tcg_exec_realizefn(CPUState *cpu, Error **errp);
|
||||||
void tcg_exec_unrealizefn(CPUState *cpu);
|
void tcg_exec_unrealizefn(CPUState *cpu);
|
||||||
|
|
||||||
/* Returns: 0 on success, -1 on error */
|
|
||||||
int cpu_memory_rw_debug(CPUState *cpu, target_ulong addr,
|
|
||||||
void *ptr, target_ulong len, bool is_write);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* cpu_set_cpustate_pointers(cpu)
|
* cpu_set_cpustate_pointers(cpu)
|
||||||
* @cpu: The cpu object
|
* @cpu: The cpu object
|
||||||
|
|
|
@ -128,6 +128,10 @@ int ram_block_discard_range(RAMBlock *rb, uint64_t start, size_t length);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Returns: 0 on success, -1 on error */
|
||||||
|
int cpu_memory_rw_debug(CPUState *cpu, vaddr addr,
|
||||||
|
void *ptr, size_t len, bool is_write);
|
||||||
|
|
||||||
/* vl.c */
|
/* vl.c */
|
||||||
extern int singlestep;
|
extern int singlestep;
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
#include "qapi/qmp/qerror.h"
|
#include "qapi/qmp/qerror.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "exec/gdbstub.h"
|
||||||
#include "sysemu/hw_accel.h"
|
#include "sysemu/hw_accel.h"
|
||||||
#include "exec/exec-all.h"
|
#include "exec/cpu-common.h"
|
||||||
#include "qemu/thread.h"
|
#include "qemu/thread.h"
|
||||||
#include "qemu/plugin.h"
|
#include "qemu/plugin.h"
|
||||||
#include "sysemu/cpus.h"
|
#include "sysemu/cpus.h"
|
||||||
|
|
|
@ -3436,11 +3436,11 @@ address_space_write_cached_slow(MemoryRegionCache *cache, hwaddr addr,
|
||||||
#include "memory_ldst.c.inc"
|
#include "memory_ldst.c.inc"
|
||||||
|
|
||||||
/* virtual memory access for debug (includes writing to ROM) */
|
/* virtual memory access for debug (includes writing to ROM) */
|
||||||
int cpu_memory_rw_debug(CPUState *cpu, target_ulong addr,
|
int cpu_memory_rw_debug(CPUState *cpu, vaddr addr,
|
||||||
void *ptr, target_ulong len, bool is_write)
|
void *ptr, size_t len, bool is_write)
|
||||||
{
|
{
|
||||||
hwaddr phys_addr;
|
hwaddr phys_addr;
|
||||||
target_ulong l, page;
|
vaddr l, page;
|
||||||
uint8_t *buf = ptr;
|
uint8_t *buf = ptr;
|
||||||
|
|
||||||
cpu_synchronize_state(cpu);
|
cpu_synchronize_state(cpu);
|
||||||
|
|
Loading…
Reference in New Issue