[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 00/15] Clean up cpu-ldst ld/st memory accessors
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH 00/15] Clean up cpu-ldst ld/st memory accessors |
Date: |
Thu, 15 Jan 2015 18:24:11 +0000 |
On 15 January 2015 at 15:32, Lluís Vilanova <address@hidden> wrote:
> I haven't reviewed the patches, but that's a much appreciated cleanup! I was
> also trying to make sense of all the variants while implementing guest memory
> access tracing
I drew the following terrible ASCII art diagram of the remaining
memory access functions...
(pastebin link for those without fixed-width mail clients:
http://pastebin.ubuntu.com/9757219/ )
If anybody feels they can rearrange it into something less
confusing do feel free :-)
+--------------------------------------------------------------------------------------------------------------+
|
|
|
+-------------------------------------------------------------------------------------------------+
|
| |
| |
| |
| |
| |
+--------------------------------------------------------------------------------------+
| |
| | |
| | |
| | |
v v |
| | | MemoryRegion callbacks
ld/st_*_p, memcpy, etc ! <--+
| | | ^
on host memory
| | | |
^ ^ ^
| | | |
| | |
| | | |
| | |
| | | |
| | |
| | | |
+ | |
| | | +
+ld/st_*_phys ! | |
| | | +-----------------> io_mem_read,
<-----------+ | |
| | | + io_mem_write !
| |
| | | io_read*, io_write* <---+
| |
| | | ^ |
| |
| | | | |
+ |
| | | | +
address_space_{rw,read,write} ! |
| | | + ^
^ |
| | +helper_ld_* <------+ |
| |
| | ^ | |
| |
| | | | |
| +
| | | | cpu_physical_memory_rw &c+---+
| cpu_physical_memory_write_rom !
| | | | ^ !
| ^
| | | | |
+ |
| | + | |
dma_memory_rw &c ! |
| +----+ cpu_ld/st_* ! | |
|
| | |
|
| + |
|
+-------------+ generated TCG code |
+
+-----------------+
cpu_physical_memory_rw_debug !
! marks APIs intended for use by other parts of QEMU
-- PMM
- [Qemu-devel] [PATCH 15/15] cpu_ldst.h, cpu-all.h, bswap.h: Update documentation on ld/st accessors, (continued)
- [Qemu-devel] [PATCH 15/15] cpu_ldst.h, cpu-all.h, bswap.h: Update documentation on ld/st accessors, Peter Maydell, 2015/01/15
- [Qemu-devel] [PATCH 07/15] linux-user/main.c (m68k): Use get_user_u16 rather than lduw in cpu_loop, Peter Maydell, 2015/01/15
- [Qemu-devel] [PATCH 05/15] bsd-user/elfload.c: Don't use ldl() or ldq_raw(), Peter Maydell, 2015/01/15
- [Qemu-devel] [PATCH 02/15] monitor.c: Use ld*_p() instead of ld*_raw(), Peter Maydell, 2015/01/15
- [Qemu-devel] [PATCH 04/15] linux-user/elfload.c: Don't use _raw accessor functions, Peter Maydell, 2015/01/15
- Re: [Qemu-devel] [PATCH 00/15] Clean up cpu-ldst ld/st memory accessors, Lluís Vilanova, 2015/01/15
- Re: [Qemu-devel] [PATCH 00/15] Clean up cpu-ldst ld/st memory accessors,
Peter Maydell <=
- Re: [Qemu-devel] [PATCH 00/15] Clean up cpu-ldst ld/st memory accessors, Richard Henderson, 2015/01/16