From: Paolo Bonzini <pbonzini@redhat.com>
To: "Peter Maydell" <peter.maydell@linaro.org>,
"QEMU Developers" <qemu-devel@nongnu.org>,
"Lluís Vilanova" <vilanova@ac.upc.edu>
Subject: Re: [Qemu-devel] [PATCH 00/15] Clean up cpu-ldst ld/st memory accessors
Date: Thu, 15 Jan 2015 21:01:39 +0100 [thread overview]
Message-ID: <54B81CA3.6040300@redhat.com> (raw)
In-Reply-To: <87oapzdfm2.fsf@fimbulvetr.bsc.es>
On 15/01/2015 20:10, Lluís Vilanova wrote:
> Peter Maydell writes:
>
>> On 15 January 2015 at 15:32, Lluís Vilanova <vilanova@ac.upc.edu> 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 :-)
>
> Technically, I did not rearrange it :)
>
> http://pastebin.ubuntu.com/9757456/
>
> PS: some info from the original is missing
Removing even more info, ld/st_*_phys is just an optimized version of
address_space_rw/read/write, so we can merge them and get to something
readable...
Paolo
# dot -T pdf -o qemu-mem.pdf qemu-mem.dot
digraph QEMU {
mr [label="MemoryRegion callbacks"];
host_mem [label="ld/st_*_p, memcpy, etc.\n(host memory)"];
io_mem_mem [label="io_mem_read/write"];
io_mem [label="io_read/write*"];
as_mem [label="address_space_rw/read/write\nld/st_*_phys"];
helper_mem [label="helper_ld_*"];
cpu_phys_mem [label="cpu_physical_memory_rw"];
cpu_phys_rom [label="cpu_physical_memory_write_rom"];
dma_mem [label="dma_memory_rw"];
cpu_mem [label="cpu_ld/st_*"];
tcg [label="Generated TCG code"];
cpu_phys_mem_debug [label="cpu_physical_memory_rw_debug"];
io_mem_mem -> mr;
io_mem -> io_mem_mem;
as_mem -> io_mem_mem;
as_mem -> host_mem;
helper_mem -> io_mem;
helper_mem -> host_mem;
cpu_phys_mem -> as_mem;
cpu_phys_rom -> host_mem;
dma_mem -> as_mem;
cpu_mem -> helper_mem;
cpu_mem -> host_mem;
tcg -> helper_mem;
tcg -> host_mem;
cpu_phys_mem_debug -> cpu_phys_mem;
cpu_phys_mem_debug -> cpu_phys_rom;
}
next prev parent reply other threads:[~2015-01-15 20:01 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-15 15:01 [Qemu-devel] [PATCH 00/15] Clean up cpu-ldst ld/st memory accessors Peter Maydell
2015-01-15 15:01 ` [Qemu-devel] [PATCH 01/15] cpu_ldst.h: Remove unused ldul_ macros Peter Maydell
2015-01-15 15:01 ` [Qemu-devel] [PATCH 02/15] monitor.c: Use ld*_p() instead of ld*_raw() Peter Maydell
2015-01-15 15:54 ` Alex Bennée
2015-01-15 15:01 ` [Qemu-devel] [PATCH 03/15] target-sparc: Don't use {ld, st}*_raw functions Peter Maydell
2015-01-15 15:55 ` Alex Bennée
2015-01-15 15:01 ` [Qemu-devel] [PATCH 04/15] linux-user/elfload.c: Don't use _raw accessor functions Peter Maydell
2015-01-15 15:56 ` Alex Bennée
2015-01-15 15:01 ` [Qemu-devel] [PATCH 05/15] bsd-user/elfload.c: Don't use ldl() or ldq_raw() Peter Maydell
2015-01-15 15:57 ` Alex Bennée
2015-01-15 15:01 ` [Qemu-devel] [PATCH 06/15] linux-user/vm86.c: Use cpu_ldl_data &c rather than plain ldl &c Peter Maydell
2015-01-15 15:58 ` Alex Bennée
2015-01-15 15:01 ` [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 16:03 ` Alex Bennée
2015-01-15 15:01 ` [Qemu-devel] [PATCH 08/15] target-mips: Don't use _raw load/store accessors Peter Maydell
2015-01-19 9:05 ` Alex Bennée
2015-01-19 10:29 ` Peter Maydell
2015-01-19 15:09 ` Alex Bennée
2015-01-15 15:01 ` [Qemu-devel] [PATCH 09/15] cpu_ldst.h: Drop unused ld/st*_kernel defines Peter Maydell
2015-01-19 9:09 ` Alex Bennée
2015-01-15 15:01 ` [Qemu-devel] [PATCH 10/15] cpu_ldst.h: Remove unused very short ld*/st* defines Peter Maydell
2015-01-19 9:09 ` Alex Bennée
2015-01-15 15:01 ` [Qemu-devel] [PATCH 11/15] cpu_ldst.h: Use inline functions for usermode cpu_ld/st accessors Peter Maydell
2015-01-15 15:01 ` [Qemu-devel] [PATCH 12/15] cpu_ldst_template.h: Use ld*_p directly rather than via ld*_raw macros Peter Maydell
2015-01-15 15:01 ` [Qemu-devel] [PATCH 13/15] cpu_ldst.h: Drop unused _raw macros, saddr() and laddr() Peter Maydell
2015-01-15 15:01 ` [Qemu-devel] [PATCH 14/15] cpu_ldst_template.h: Drop unused cpu_ldfq/stfq/ldfl/stfl accessors Peter Maydell
2015-01-15 15:01 ` [Qemu-devel] [PATCH 15/15] cpu_ldst.h, cpu-all.h, bswap.h: Update documentation on ld/st accessors Peter Maydell
2015-01-15 15:32 ` [Qemu-devel] [PATCH 00/15] Clean up cpu-ldst ld/st memory accessors Lluís Vilanova
2015-01-15 18:24 ` Peter Maydell
2015-01-15 19:10 ` Lluís Vilanova
2015-01-15 20:01 ` Paolo Bonzini [this message]
2015-01-16 18:50 ` Richard Henderson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=54B81CA3.6040300@redhat.com \
--to=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=vilanova@ac.upc.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).