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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.