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é <philmd@linaro.org>
Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
Message-Id: <20251001150529.14122-22-philmd@linaro.org>
This commit is contained in:
Philippe Mathieu-Daudé 2025-10-01 16:10:21 +02:00
parent c89d1c879a
commit e9048f099b
2 changed files with 20 additions and 4 deletions

View file

@ -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);

View file

@ -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