From: Paolo Bonzini <pbonzini@redhat.com>
To: "Dr. David Alan Gilbert (git)" <dgilbert@redhat.com>,
qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] Move RAMBlock and ram_list to ram_addr.h
Date: Sat, 15 Aug 2015 01:36:38 +0200 [thread overview]
Message-ID: <55CE7B86.3070907@redhat.com> (raw)
In-Reply-To: <1439547914-18249-1-git-send-email-dgilbert@redhat.com>
On 14/08/2015 12:25, Dr. David Alan Gilbert (git) wrote:
> From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
>
> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> ---
> include/exec/cpu-all.h | 41 -----------------------------------------
> include/exec/ram_addr.h | 40 ++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 40 insertions(+), 41 deletions(-)
>
> diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
> index ea6a9a6..175f376 100644
> --- a/include/exec/cpu-all.h
> +++ b/include/exec/cpu-all.h
> @@ -273,44 +273,6 @@ CPUArchState *cpu_copy(CPUArchState *env);
>
> #if !defined(CONFIG_USER_ONLY)
>
> -/* memory API */
> -
> -typedef struct RAMBlock RAMBlock;
> -
> -struct RAMBlock {
> - struct rcu_head rcu;
> - struct MemoryRegion *mr;
> - uint8_t *host;
> - ram_addr_t offset;
> - ram_addr_t used_length;
> - ram_addr_t max_length;
> - void (*resized)(const char*, uint64_t length, void *host);
> - uint32_t flags;
> - /* Protected by iothread lock. */
> - char idstr[256];
> - /* RCU-enabled, writes protected by the ramlist lock */
> - QLIST_ENTRY(RAMBlock) next;
> - int fd;
> -};
> -
> -static inline void *ramblock_ptr(RAMBlock *block, ram_addr_t offset)
> -{
> - assert(offset < block->used_length);
> - assert(block->host);
> - return (char *)block->host + offset;
> -}
> -
> -typedef struct RAMList {
> - QemuMutex mutex;
> - /* Protected by the iothread lock. */
> - unsigned long *dirty_memory[DIRTY_MEMORY_NUM];
> - RAMBlock *mru_block;
> - /* RCU-enabled, writes protected by the ramlist lock. */
> - QLIST_HEAD(, RAMBlock) blocks;
> - uint32_t version;
> -} RAMList;
> -extern RAMList ram_list;
> -
> /* Flags stored in the low bits of the TLB virtual address. These are
> defined so that fast path ram access is all zeros. */
> /* Zero if TLB entry is valid. */
> @@ -323,9 +285,6 @@ extern RAMList ram_list;
>
> void dump_exec_info(FILE *f, fprintf_function cpu_fprintf);
> void dump_opcount_info(FILE *f, fprintf_function cpu_fprintf);
> -ram_addr_t last_ram_offset(void);
> -void qemu_mutex_lock_ramlist(void);
> -void qemu_mutex_unlock_ramlist(void);
> #endif /* !CONFIG_USER_ONLY */
>
> int cpu_memory_rw_debug(CPUState *cpu, target_ulong addr,
> diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h
> index c113f21..c400a75 100644
> --- a/include/exec/ram_addr.h
> +++ b/include/exec/ram_addr.h
> @@ -22,6 +22,46 @@
> #ifndef CONFIG_USER_ONLY
> #include "hw/xen/xen.h"
>
> +typedef struct RAMBlock RAMBlock;
> +
> +struct RAMBlock {
> + struct rcu_head rcu;
> + struct MemoryRegion *mr;
> + uint8_t *host;
> + ram_addr_t offset;
> + ram_addr_t used_length;
> + ram_addr_t max_length;
> + void (*resized)(const char*, uint64_t length, void *host);
> + uint32_t flags;
> + /* Protected by iothread lock. */
> + char idstr[256];
> + /* RCU-enabled, writes protected by the ramlist lock */
> + QLIST_ENTRY(RAMBlock) next;
> + int fd;
> +};
> +
> +static inline void *ramblock_ptr(RAMBlock *block, ram_addr_t offset)
> +{
> + assert(offset < block->used_length);
> + assert(block->host);
> + return (char *)block->host + offset;
> +}
> +
> +typedef struct RAMList {
> + QemuMutex mutex;
> + /* Protected by the iothread lock. */
> + unsigned long *dirty_memory[DIRTY_MEMORY_NUM];
> + RAMBlock *mru_block;
> + /* RCU-enabled, writes protected by the ramlist lock. */
> + QLIST_HEAD(, RAMBlock) blocks;
> + uint32_t version;
> +} RAMList;
> +extern RAMList ram_list;
> +
> +ram_addr_t last_ram_offset(void);
> +void qemu_mutex_lock_ramlist(void);
> +void qemu_mutex_unlock_ramlist(void);
> +
> ram_addr_t qemu_ram_alloc_from_file(ram_addr_t size, MemoryRegion *mr,
> bool share, const char *mem_path,
> Error **errp);
>
Thanks!
Paolo
next prev parent reply other threads:[~2015-08-14 23:36 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-14 10:25 [Qemu-devel] [PATCH] Move RAMBlock and ram_list to ram_addr.h Dr. David Alan Gilbert (git)
2015-08-14 23:36 ` Paolo Bonzini [this message]
2015-08-15 21:02 ` Peter Crosthwaite
2015-08-17 8:19 ` Dr. David Alan Gilbert
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=55CE7B86.3070907@redhat.com \
--to=pbonzini@redhat.com \
--cc=dgilbert@redhat.com \
--cc=qemu-devel@nongnu.org \
/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.