From: Philippe Mathieu-Daudé Date: Wed, 1 Oct 2025 14:10:21 +0000 (+0200) Subject: exec/cpu: Declare cpu_memory_rw_debug() in 'hw/core/cpu.h' and document X-Git-Tag: v10.2.0-rc1~26^2~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e9048f099b3142fb21ed40cd3ce0557d44e56d06;p=thirdparty%2Fqemu.git exec/cpu: Declare cpu_memory_rw_debug() in 'hw/core/cpu.h' and document cpu_memory_rw_debug() dispatches to CPUClass::memory_rw_debug(), move its declaration closer to the CPU API. Document. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Zhao Liu Message-Id: <20251001150529.14122-22-philmd@linaro.org> --- diff --git a/include/exec/cpu-common.h b/include/exec/cpu-common.h index 67e15c8e50..e0be4ee2b8 100644 --- a/include/exec/cpu-common.h +++ b/include/exec/cpu-common.h @@ -150,10 +150,6 @@ typedef int (RAMBlockIterFunc)(RAMBlock *rb, void *opaque); int qemu_ram_foreach_block(RAMBlockIterFunc func, void *opaque); -/* 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 */ void list_cpus(void); diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h index e79e8e0a8e..9615051774 100644 --- a/include/hw/core/cpu.h +++ b/include/hw/core/cpu.h @@ -688,6 +688,26 @@ int cpu_write_elf32_note(WriteCoreDumpFunction f, CPUState *cpu, int cpu_write_elf32_qemunote(WriteCoreDumpFunction f, CPUState *cpu, void *opaque); +/** + * cpu_memory_rw_debug: + * @cpu: The CPU whose memory is to be accessed + * @addr: guest virtual address + * @ptr: buffer with the data transferred + * @len: the number of bytes to read or write + * @is_write: indicates the transfer direction + * + * Take a virtual address, convert it to a physical address via + * an MMU lookup using the current settings of the specified CPU, + * and then perform the access (using address_space_rw() for + * reads or address_space_write_rom() for writes). + * + * This function is intended for use by the GDB stub and similar code. + * + * Returns: 0 on success, -1 on error + */ +int cpu_memory_rw_debug(CPUState *cpu, vaddr addr, + void *ptr, size_t len, bool is_write); + /** * cpu_get_crash_info: * @cpu: The CPU to get crash information for