From: Anthony Liguori <anthony@codemonkey.ws>
To: Glauber Costa <glommer@redhat.com>
Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org, avi@redhat.com,
stefano.stabellini@eu.citrix.com, Ian.Jackson@eu.citrix.com
Subject: Re: [PATCH 2/5] isolate io handling routing
Date: Wed, 17 Dec 2008 14:54:01 -0600 [thread overview]
Message-ID: <494966E9.90504@codemonkey.ws> (raw)
In-Reply-To: <1229546822-11972-3-git-send-email-glommer@redhat.com>
Glauber Costa wrote:
> introduce cpu_physical_memory_do_io, which handles
> the mmio part of cpu_physical_memory_rw. KVM can use
> it to do mmio, since mmio is essentially the same for
> both KVM and tcg.
>
> Signed-off-by: Glauber Costa <glommer@redhat.com>
> ---
> cpu-all.h | 2 +
> exec.c | 89 ++++++++++++++++++++++++++++++++++--------------------------
> 2 files changed, 52 insertions(+), 39 deletions(-)
>
> diff --git a/cpu-all.h b/cpu-all.h
> index 648264c..d46da05 100644
> --- a/cpu-all.h
> +++ b/cpu-all.h
> @@ -910,6 +910,8 @@ int cpu_register_io_memory(int io_index,
> CPUWriteMemoryFunc **cpu_get_io_memory_write(int io_index);
> CPUReadMemoryFunc **cpu_get_io_memory_read(int io_index);
>
> +int cpu_physical_memory_do_io(target_phys_addr_t addr, uint8_t *buf, int l,
> + int is_write, unsigned long pd);
> void cpu_physical_memory_rw(target_phys_addr_t addr, uint8_t *buf,
> int len, int is_write);
> static inline void cpu_physical_memory_read(target_phys_addr_t addr,
> diff --git a/exec.c b/exec.c
> index 44f6a42..04eadfe 100644
> --- a/exec.c
> +++ b/exec.c
> @@ -2891,12 +2891,58 @@ void cpu_physical_memory_rw(target_phys_addr_t addr, uint8_t *buf,
> }
>
> #else
> +int cpu_physical_memory_do_io(target_phys_addr_t addr, uint8_t *buf, int l, int is_write, unsigned long pd)
> +{
> + int io_index;
> + uint32_t val;
> +
> + io_index = (pd >> IO_MEM_SHIFT) & (IO_MEM_NB_ENTRIES - 1);
> + if (is_write) {
> + /* XXX: could force cpu_single_env to NULL to avoid
>
That's some big identing :-)
Regards,
Anthony Liguori
WARNING: multiple messages have this Message-ID (diff)
From: Anthony Liguori <anthony@codemonkey.ws>
To: Glauber Costa <glommer@redhat.com>
Cc: stefano.stabellini@eu.citrix.com, Ian.Jackson@eu.citrix.com,
qemu-devel@nongnu.org, kvm@vger.kernel.org, avi@redhat.com
Subject: [Qemu-devel] Re: [PATCH 2/5] isolate io handling routing
Date: Wed, 17 Dec 2008 14:54:01 -0600 [thread overview]
Message-ID: <494966E9.90504@codemonkey.ws> (raw)
In-Reply-To: <1229546822-11972-3-git-send-email-glommer@redhat.com>
Glauber Costa wrote:
> introduce cpu_physical_memory_do_io, which handles
> the mmio part of cpu_physical_memory_rw. KVM can use
> it to do mmio, since mmio is essentially the same for
> both KVM and tcg.
>
> Signed-off-by: Glauber Costa <glommer@redhat.com>
> ---
> cpu-all.h | 2 +
> exec.c | 89 ++++++++++++++++++++++++++++++++++--------------------------
> 2 files changed, 52 insertions(+), 39 deletions(-)
>
> diff --git a/cpu-all.h b/cpu-all.h
> index 648264c..d46da05 100644
> --- a/cpu-all.h
> +++ b/cpu-all.h
> @@ -910,6 +910,8 @@ int cpu_register_io_memory(int io_index,
> CPUWriteMemoryFunc **cpu_get_io_memory_write(int io_index);
> CPUReadMemoryFunc **cpu_get_io_memory_read(int io_index);
>
> +int cpu_physical_memory_do_io(target_phys_addr_t addr, uint8_t *buf, int l,
> + int is_write, unsigned long pd);
> void cpu_physical_memory_rw(target_phys_addr_t addr, uint8_t *buf,
> int len, int is_write);
> static inline void cpu_physical_memory_read(target_phys_addr_t addr,
> diff --git a/exec.c b/exec.c
> index 44f6a42..04eadfe 100644
> --- a/exec.c
> +++ b/exec.c
> @@ -2891,12 +2891,58 @@ void cpu_physical_memory_rw(target_phys_addr_t addr, uint8_t *buf,
> }
>
> #else
> +int cpu_physical_memory_do_io(target_phys_addr_t addr, uint8_t *buf, int l, int is_write, unsigned long pd)
> +{
> + int io_index;
> + uint32_t val;
> +
> + io_index = (pd >> IO_MEM_SHIFT) & (IO_MEM_NB_ENTRIES - 1);
> + if (is_write) {
> + /* XXX: could force cpu_single_env to NULL to avoid
>
That's some big identing :-)
Regards,
Anthony Liguori
next prev parent reply other threads:[~2008-12-17 20:54 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-17 20:46 [PATCH 0/5] Replace tcg memory functions Glauber Costa
2008-12-17 20:46 ` [Qemu-devel] " Glauber Costa
2008-12-17 20:46 ` [PATCH 1/5] re-register whole area upon lfb unmap Glauber Costa
2008-12-17 20:46 ` [Qemu-devel] " Glauber Costa
2008-12-17 20:46 ` [PATCH 2/5] isolate io handling routing Glauber Costa
2008-12-17 20:46 ` [Qemu-devel] " Glauber Costa
2008-12-17 20:47 ` [PATCH 3/5] replace cpu_physical_memory_rw Glauber Costa
2008-12-17 20:47 ` [Qemu-devel] " Glauber Costa
2008-12-17 20:47 ` [PATCH 4/5] hook cpu_register_physical_mem Glauber Costa
2008-12-17 20:47 ` [Qemu-devel] " Glauber Costa
2008-12-17 20:47 ` [PATCH 5/5] cache slot lookup Glauber Costa
2008-12-17 20:47 ` [Qemu-devel] " Glauber Costa
2008-12-18 9:41 ` Avi Kivity
2008-12-18 9:41 ` [Qemu-devel] " Avi Kivity
2008-12-18 10:48 ` Glauber Costa
2008-12-18 10:48 ` [Qemu-devel] " Glauber Costa
2008-12-18 11:00 ` Daniel P. Berrange
2008-12-18 11:00 ` Daniel P. Berrange
2008-12-18 11:07 ` Glauber Costa
2008-12-18 11:24 ` Avi Kivity
2008-12-18 11:24 ` [Qemu-devel] " Avi Kivity
2008-12-17 20:56 ` [PATCH 3/5] replace cpu_physical_memory_rw Anthony Liguori
2008-12-17 20:56 ` [Qemu-devel] " Anthony Liguori
2008-12-17 21:00 ` Glauber Costa
2008-12-17 21:00 ` [Qemu-devel] " Glauber Costa
2008-12-17 20:54 ` Anthony Liguori [this message]
2008-12-17 20:54 ` [Qemu-devel] Re: [PATCH 2/5] isolate io handling routing Anthony Liguori
2008-12-17 20:53 ` [PATCH 1/5] re-register whole area upon lfb unmap Anthony Liguori
2008-12-17 20:53 ` [Qemu-devel] " Anthony Liguori
2008-12-25 20:08 ` andrzej zaborowski
2008-12-25 20:08 ` andrzej zaborowski
2008-12-22 17:10 ` [Qemu-devel] [PATCH 0/5] Replace tcg memory functions Ian Jackson
2008-12-22 17:18 ` Glauber Costa
2008-12-22 17:18 ` Glauber Costa
2008-12-22 17:22 ` Ian Jackson
2008-12-22 17:22 ` Ian Jackson
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=494966E9.90504@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=Ian.Jackson@eu.citrix.com \
--cc=avi@redhat.com \
--cc=glommer@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=qemu-devel@nongnu.org \
--cc=stefano.stabellini@eu.citrix.com \
/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.