* [Qemu-devel] [PULL 0/2] Plan obsolescense of exec.c memory functions @ 2011-12-15 13:35 Avi Kivity 2011-12-15 13:35 ` [Qemu-devel] [PATCH 1/2] etraxfs_eth: drop bogus cpu_unregister_io_memory() Avi Kivity ` (3 more replies) 0 siblings, 4 replies; 11+ messages in thread From: Avi Kivity @ 2011-12-15 13:35 UTC (permalink / raw) To: Anthony Liguori; +Cc: qemu-devel Exile some exec.c functions to a private header, to prevent accidental reuse. Please pull from git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git memory/exec-obsolete Avi Kivity (2): etraxfs_eth: drop bogus cpu_unregister_io_memory() memory: move obsolete exec.c functions to a private header cpu-common.h | 36 ----------------------------- exec-obsolete.h | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ exec.c | 3 ++ hw/etraxfs_eth.c | 3 -- memory.c | 3 ++ 5 files changed, 72 insertions(+), 39 deletions(-) create mode 100644 exec-obsolete.h -- 1.7.7.1 ^ permalink raw reply [flat|nested] 11+ messages in thread
* [Qemu-devel] [PATCH 1/2] etraxfs_eth: drop bogus cpu_unregister_io_memory() 2011-12-15 13:35 [Qemu-devel] [PULL 0/2] Plan obsolescense of exec.c memory functions Avi Kivity @ 2011-12-15 13:35 ` Avi Kivity 2011-12-15 13:35 ` [Qemu-devel] [PATCH 2/2] memory: move obsolete exec.c functions to a private header Avi Kivity ` (2 subsequent siblings) 3 siblings, 0 replies; 11+ messages in thread From: Avi Kivity @ 2011-12-15 13:35 UTC (permalink / raw) To: Anthony Liguori; +Cc: qemu-devel Leftover call to cpu_unregister_io_memory() can segfault on cleanup. Remove. Signed-off-by: Avi Kivity <avi@redhat.com> --- hw/etraxfs_eth.c | 3 --- 1 files changed, 0 insertions(+), 3 deletions(-) diff --git a/hw/etraxfs_eth.c b/hw/etraxfs_eth.c index 5ac2d15..b525258 100644 --- a/hw/etraxfs_eth.c +++ b/hw/etraxfs_eth.c @@ -323,7 +323,6 @@ struct fs_eth MemoryRegion mmio; NICState *nic; NICConf conf; - int ethregs; /* Two addrs in the filter. */ uint8_t macaddr[2][6]; @@ -571,8 +570,6 @@ static void eth_cleanup(VLANClientState *nc) { struct fs_eth *eth = DO_UPCAST(NICState, nc, nc)->opaque; - cpu_unregister_io_memory(eth->ethregs); - /* Disconnect the client. */ eth->dma_out->client.push = NULL; eth->dma_out->client.opaque = NULL; -- 1.7.7.1 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Qemu-devel] [PATCH 2/2] memory: move obsolete exec.c functions to a private header 2011-12-15 13:35 [Qemu-devel] [PULL 0/2] Plan obsolescense of exec.c memory functions Avi Kivity 2011-12-15 13:35 ` [Qemu-devel] [PATCH 1/2] etraxfs_eth: drop bogus cpu_unregister_io_memory() Avi Kivity @ 2011-12-15 13:35 ` Avi Kivity 2011-12-15 14:21 ` [Qemu-devel] [PULL 0/2] Plan obsolescense of exec.c memory functions Paolo Bonzini 2011-12-19 15:01 ` Anthony Liguori 3 siblings, 0 replies; 11+ messages in thread From: Avi Kivity @ 2011-12-15 13:35 UTC (permalink / raw) To: Anthony Liguori; +Cc: qemu-devel This will help avoid accidental usage. Signed-off-by: Avi Kivity <avi@redhat.com> --- cpu-common.h | 36 ------------------------------ exec-obsolete.h | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ exec.c | 3 ++ memory.c | 3 ++ 4 files changed, 72 insertions(+), 36 deletions(-) create mode 100644 exec-obsolete.h diff --git a/cpu-common.h b/cpu-common.h index 7c9cef8..d1463a1 100644 --- a/cpu-common.h +++ b/cpu-common.h @@ -38,34 +38,7 @@ typedef unsigned long ram_addr_t; typedef void CPUWriteMemoryFunc(void *opaque, target_phys_addr_t addr, uint32_t value); typedef uint32_t CPUReadMemoryFunc(void *opaque, target_phys_addr_t addr); -void cpu_register_physical_memory_log(target_phys_addr_t start_addr, - ram_addr_t size, - ram_addr_t phys_offset, - ram_addr_t region_offset, - bool log_dirty); - -static inline void cpu_register_physical_memory_offset(target_phys_addr_t start_addr, - ram_addr_t size, - ram_addr_t phys_offset, - ram_addr_t region_offset) -{ - cpu_register_physical_memory_log(start_addr, size, phys_offset, - region_offset, false); -} - -static inline void cpu_register_physical_memory(target_phys_addr_t start_addr, - ram_addr_t size, - ram_addr_t phys_offset) -{ - cpu_register_physical_memory_offset(start_addr, size, phys_offset, 0); -} - ram_addr_t cpu_get_physical_page_desc(target_phys_addr_t addr); -ram_addr_t qemu_ram_alloc_from_ptr(DeviceState *dev, const char *name, - ram_addr_t size, void *host); -ram_addr_t qemu_ram_alloc(DeviceState *dev, const char *name, ram_addr_t size); -void qemu_ram_free(ram_addr_t addr); -void qemu_ram_free_from_ptr(ram_addr_t addr); void qemu_ram_remap(ram_addr_t addr, ram_addr_t length); /* This should only be used for ram local to a device. */ void *qemu_get_ram_ptr(ram_addr_t addr); @@ -78,11 +51,6 @@ void qemu_put_ram_ptr(void *addr); int qemu_ram_addr_from_host(void *ptr, ram_addr_t *ram_addr); ram_addr_t qemu_ram_addr_from_host_nofail(void *ptr); -int cpu_register_io_memory(CPUReadMemoryFunc * const *mem_read, - CPUWriteMemoryFunc * const *mem_write, - void *opaque, enum device_endian endian); -void cpu_unregister_io_memory(int table_address); - 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, @@ -131,10 +99,6 @@ void cpu_unregister_phys_memory_client(CPUPhysMemoryClient *); * batching which can make a major impact on performance when using * virtualization. */ -void qemu_register_coalesced_mmio(target_phys_addr_t addr, ram_addr_t size); - -void qemu_unregister_coalesced_mmio(target_phys_addr_t addr, ram_addr_t size); - void qemu_flush_coalesced_mmio_buffer(void); uint32_t ldub_phys(target_phys_addr_t addr); diff --git a/exec-obsolete.h b/exec-obsolete.h new file mode 100644 index 0000000..bf0dea5 --- /dev/null +++ b/exec-obsolete.h @@ -0,0 +1,66 @@ +/* + * Declarations for obsolete exec.c functions + * + * Copyright 2011 Red Hat, Inc. and/or its affiliates + * + * Authors: + * Avi Kivity <avi@redhat.com> + * + * This work is licensed under the terms of the GNU GPL, version 2. See + * the COPYING file in the top-level directory. + * + */ + +/* + * This header is for use by exec.c and memory.c ONLY. Do not include it. + * The functions declared here will be removed soon. + */ + +#ifndef EXEC_OBSOLETE_H +#define EXEC_OBSOLETE_H + +#ifndef WANT_EXEC_OBSOLETE +#error Do not include exec-obsolete.h +#endif + +#ifndef CONFIG_USER_ONLY + +ram_addr_t qemu_ram_alloc_from_ptr(DeviceState *dev, const char *name, + ram_addr_t size, void *host); +ram_addr_t qemu_ram_alloc(DeviceState *dev, const char *name, ram_addr_t size); +void qemu_ram_free(ram_addr_t addr); +void qemu_ram_free_from_ptr(ram_addr_t addr); + +int cpu_register_io_memory(CPUReadMemoryFunc * const *mem_read, + CPUWriteMemoryFunc * const *mem_write, + void *opaque, enum device_endian endian); +void cpu_unregister_io_memory(int table_address); + +void cpu_register_physical_memory_log(target_phys_addr_t start_addr, + ram_addr_t size, + ram_addr_t phys_offset, + ram_addr_t region_offset, + bool log_dirty); + +static inline void cpu_register_physical_memory_offset(target_phys_addr_t start_addr, + ram_addr_t size, + ram_addr_t phys_offset, + ram_addr_t region_offset) +{ + cpu_register_physical_memory_log(start_addr, size, phys_offset, + region_offset, false); +} + +static inline void cpu_register_physical_memory(target_phys_addr_t start_addr, + ram_addr_t size, + ram_addr_t phys_offset) +{ + cpu_register_physical_memory_offset(start_addr, size, phys_offset, 0); +} + +void qemu_register_coalesced_mmio(target_phys_addr_t addr, ram_addr_t size); +void qemu_unregister_coalesced_mmio(target_phys_addr_t addr, ram_addr_t size); + +#endif + +#endif diff --git a/exec.c b/exec.c index 4f79cbb..8fbf7e4 100644 --- a/exec.c +++ b/exec.c @@ -57,6 +57,9 @@ #include "trace.h" #endif +#define WANT_EXEC_OBSOLETE +#include "exec-obsolete.h" + //#define DEBUG_TB_INVALIDATE //#define DEBUG_FLUSH //#define DEBUG_TLB diff --git a/memory.c b/memory.c index adfdf14..d2ba9c4 100644 --- a/memory.c +++ b/memory.c @@ -18,6 +18,9 @@ #include "kvm.h" #include <assert.h> +#define WANT_EXEC_OBSOLETE +#include "exec-obsolete.h" + unsigned memory_region_transaction_depth = 0; typedef struct AddrRange AddrRange; -- 1.7.7.1 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PULL 0/2] Plan obsolescense of exec.c memory functions 2011-12-15 13:35 [Qemu-devel] [PULL 0/2] Plan obsolescense of exec.c memory functions Avi Kivity 2011-12-15 13:35 ` [Qemu-devel] [PATCH 1/2] etraxfs_eth: drop bogus cpu_unregister_io_memory() Avi Kivity 2011-12-15 13:35 ` [Qemu-devel] [PATCH 2/2] memory: move obsolete exec.c functions to a private header Avi Kivity @ 2011-12-15 14:21 ` Paolo Bonzini 2011-12-15 14:22 ` Avi Kivity 2011-12-19 15:01 ` Anthony Liguori 3 siblings, 1 reply; 11+ messages in thread From: Paolo Bonzini @ 2011-12-15 14:21 UTC (permalink / raw) To: Avi Kivity; +Cc: qemu-devel On 12/15/2011 02:35 PM, Avi Kivity wrote: > Exile some exec.c functions to a private header, to prevent accidental reuse. > > Please pull from > > git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git memory/exec-obsolete > > Avi Kivity (2): > etraxfs_eth: drop bogus cpu_unregister_io_memory() > memory: move obsolete exec.c functions to a private header > > cpu-common.h | 36 ----------------------------- > exec-obsolete.h | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ > exec.c | 3 ++ > hw/etraxfs_eth.c | 3 -- > memory.c | 3 ++ > 5 files changed, 72 insertions(+), 39 deletions(-) > create mode 100644 exec-obsolete.h I would prefer exec-private.h or memory-private.h. Right now, the situation is that exec.c provides a low-level interface to memory.c. If the situation changes, the header will disappear. Paolo ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PULL 0/2] Plan obsolescense of exec.c memory functions 2011-12-15 14:21 ` [Qemu-devel] [PULL 0/2] Plan obsolescense of exec.c memory functions Paolo Bonzini @ 2011-12-15 14:22 ` Avi Kivity 2011-12-15 14:26 ` Anthony Liguori 0 siblings, 1 reply; 11+ messages in thread From: Avi Kivity @ 2011-12-15 14:22 UTC (permalink / raw) To: Paolo Bonzini; +Cc: qemu-devel On 12/15/2011 04:21 PM, Paolo Bonzini wrote: > >> cpu-common.h | 36 ----------------------------- >> exec-obsolete.h | 66 >> ++++++++++++++++++++++++++++++++++++++++++++++++++++++ >> exec.c | 3 ++ >> hw/etraxfs_eth.c | 3 -- >> memory.c | 3 ++ >> 5 files changed, 72 insertions(+), 39 deletions(-) >> create mode 100644 exec-obsolete.h > > > I would prefer exec-private.h or memory-private.h. Right now, the > situation is that exec.c provides a low-level interface to memory.c. > If the situation changes, the header will disappear. Since the header is going to disappear, does it really matter? I plan on removing it long before 1.1. -- error compiling committee.c: too many arguments to function ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PULL 0/2] Plan obsolescense of exec.c memory functions 2011-12-15 14:22 ` Avi Kivity @ 2011-12-15 14:26 ` Anthony Liguori 0 siblings, 0 replies; 11+ messages in thread From: Anthony Liguori @ 2011-12-15 14:26 UTC (permalink / raw) To: Avi Kivity; +Cc: Paolo Bonzini, qemu-devel On 12/15/2011 08:22 AM, Avi Kivity wrote: > On 12/15/2011 04:21 PM, Paolo Bonzini wrote: >> >>> cpu-common.h | 36 ----------------------------- >>> exec-obsolete.h | 66 >>> ++++++++++++++++++++++++++++++++++++++++++++++++++++++ >>> exec.c | 3 ++ >>> hw/etraxfs_eth.c | 3 -- >>> memory.c | 3 ++ >>> 5 files changed, 72 insertions(+), 39 deletions(-) >>> create mode 100644 exec-obsolete.h >> >> >> I would prefer exec-private.h or memory-private.h. Right now, the >> situation is that exec.c provides a low-level interface to memory.c. >> If the situation changes, the header will disappear. > > Since the header is going to disappear, does it really matter? I plan > on removing it long before 1.1. I don't think it does. Regards, Anthony Liguori > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PULL 0/2] Plan obsolescense of exec.c memory functions 2011-12-15 13:35 [Qemu-devel] [PULL 0/2] Plan obsolescense of exec.c memory functions Avi Kivity ` (2 preceding siblings ...) 2011-12-15 14:21 ` [Qemu-devel] [PULL 0/2] Plan obsolescense of exec.c memory functions Paolo Bonzini @ 2011-12-19 15:01 ` Anthony Liguori 2011-12-19 15:06 ` Avi Kivity 3 siblings, 1 reply; 11+ messages in thread From: Anthony Liguori @ 2011-12-19 15:01 UTC (permalink / raw) To: Avi Kivity; +Cc: qemu-devel On 12/15/2011 07:35 AM, Avi Kivity wrote: > Exile some exec.c functions to a private header, to prevent accidental reuse. > > Please pull from > > git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git memory/exec-obsolete This breaks the Xen build. Perhaps we need to merge your patches to convert Xen to the memory API first? cc1: warnings being treated as errors /home/anthony/git/qemu/xen-all.c: In function ‘xen_ram_init’: /home/anthony/git/qemu/xen-all.c:169:5: error: implicit declaration of function ‘cpu_register_physical_memory’ /home/anthony/git/qemu/xen-all.c:169:5: error: nested extern declaration of ‘cpu_register_physical_memory’ make[1]: *** [xen-all.o] Error 1 Regards, Anthony Liguori > > Avi Kivity (2): > etraxfs_eth: drop bogus cpu_unregister_io_memory() > memory: move obsolete exec.c functions to a private header > > cpu-common.h | 36 ----------------------------- > exec-obsolete.h | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ > exec.c | 3 ++ > hw/etraxfs_eth.c | 3 -- > memory.c | 3 ++ > 5 files changed, 72 insertions(+), 39 deletions(-) > create mode 100644 exec-obsolete.h > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PULL 0/2] Plan obsolescense of exec.c memory functions 2011-12-19 15:01 ` Anthony Liguori @ 2011-12-19 15:06 ` Avi Kivity 2011-12-19 15:34 ` Avi Kivity 0 siblings, 1 reply; 11+ messages in thread From: Avi Kivity @ 2011-12-19 15:06 UTC (permalink / raw) To: Anthony Liguori; +Cc: qemu-devel On 12/19/2011 05:01 PM, Anthony Liguori wrote: > On 12/15/2011 07:35 AM, Avi Kivity wrote: >> Exile some exec.c functions to a private header, to prevent >> accidental reuse. >> >> Please pull from >> >> git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git >> memory/exec-obsolete > > This breaks the Xen build. Perhaps we need to merge your patches to > convert Xen to the memory API first? > > cc1: warnings being treated as errors > /home/anthony/git/qemu/xen-all.c: In function ‘xen_ram_init’: > /home/anthony/git/qemu/xen-all.c:169:5: error: implicit declaration of > function ‘cpu_register_physical_memory’ > /home/anthony/git/qemu/xen-all.c:169:5: error: nested extern > declaration of ‘cpu_register_physical_memory’ > make[1]: *** [xen-all.o] Error 1 Yeah, I'll redo and repost. -- error compiling committee.c: too many arguments to function ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PULL 0/2] Plan obsolescense of exec.c memory functions 2011-12-19 15:06 ` Avi Kivity @ 2011-12-19 15:34 ` Avi Kivity 2011-12-19 16:15 ` Anthony Liguori 0 siblings, 1 reply; 11+ messages in thread From: Avi Kivity @ 2011-12-19 15:34 UTC (permalink / raw) To: Anthony Liguori; +Cc: qemu-devel On 12/19/2011 05:06 PM, Avi Kivity wrote: > On 12/19/2011 05:01 PM, Anthony Liguori wrote: > > On 12/15/2011 07:35 AM, Avi Kivity wrote: > >> Exile some exec.c functions to a private header, to prevent > >> accidental reuse. > >> > >> Please pull from > >> > >> git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git > >> memory/exec-obsolete > > > > This breaks the Xen build. Perhaps we need to merge your patches to > > convert Xen to the memory API first? > > > > cc1: warnings being treated as errors > > /home/anthony/git/qemu/xen-all.c: In function ‘xen_ram_init’: > > /home/anthony/git/qemu/xen-all.c:169:5: error: implicit declaration of > > function ‘cpu_register_physical_memory’ > > /home/anthony/git/qemu/xen-all.c:169:5: error: nested extern > > declaration of ‘cpu_register_physical_memory’ > > make[1]: *** [xen-all.o] Error 1 > > Yeah, I'll redo and repost. > It's now in the memory/xen and memory/exec-obsolete branches of qemu-kvm.git (latter based on the former). -- error compiling committee.c: too many arguments to function ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PULL 0/2] Plan obsolescense of exec.c memory functions 2011-12-19 15:34 ` Avi Kivity @ 2011-12-19 16:15 ` Anthony Liguori 2011-12-19 17:12 ` Avi Kivity 0 siblings, 1 reply; 11+ messages in thread From: Anthony Liguori @ 2011-12-19 16:15 UTC (permalink / raw) To: Avi Kivity; +Cc: qemu-devel On 12/19/2011 09:34 AM, Avi Kivity wrote: > On 12/19/2011 05:06 PM, Avi Kivity wrote: >> On 12/19/2011 05:01 PM, Anthony Liguori wrote: >>> On 12/15/2011 07:35 AM, Avi Kivity wrote: >>>> Exile some exec.c functions to a private header, to prevent >>>> accidental reuse. >>>> >>>> Please pull from >>>> >>>> git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git >>>> memory/exec-obsolete >>> >>> This breaks the Xen build. Perhaps we need to merge your patches to >>> convert Xen to the memory API first? >>> >>> cc1: warnings being treated as errors >>> /home/anthony/git/qemu/xen-all.c: In function ‘xen_ram_init’: >>> /home/anthony/git/qemu/xen-all.c:169:5: error: implicit declaration of >>> function ‘cpu_register_physical_memory’ >>> /home/anthony/git/qemu/xen-all.c:169:5: error: nested extern >>> declaration of ‘cpu_register_physical_memory’ >>> make[1]: *** [xen-all.o] Error 1 >> >> Yeah, I'll redo and repost. >> > > It's now in the memory/xen and memory/exec-obsolete branches of > qemu-kvm.git (latter based on the former). Pulled both of these. Thanks. Regards, Anthony Liguori > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PULL 0/2] Plan obsolescense of exec.c memory functions 2011-12-19 16:15 ` Anthony Liguori @ 2011-12-19 17:12 ` Avi Kivity 0 siblings, 0 replies; 11+ messages in thread From: Avi Kivity @ 2011-12-19 17:12 UTC (permalink / raw) To: Anthony Liguori; +Cc: qemu-devel On 12/19/2011 06:15 PM, Anthony Liguori wrote: > > Pulled both of these. Thanks. I notice the merge logs are fairly silent. You can make them more interesting by setting the git config variable merge.log to true. -- error compiling committee.c: too many arguments to function ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2011-12-19 17:12 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-12-15 13:35 [Qemu-devel] [PULL 0/2] Plan obsolescense of exec.c memory functions Avi Kivity 2011-12-15 13:35 ` [Qemu-devel] [PATCH 1/2] etraxfs_eth: drop bogus cpu_unregister_io_memory() Avi Kivity 2011-12-15 13:35 ` [Qemu-devel] [PATCH 2/2] memory: move obsolete exec.c functions to a private header Avi Kivity 2011-12-15 14:21 ` [Qemu-devel] [PULL 0/2] Plan obsolescense of exec.c memory functions Paolo Bonzini 2011-12-15 14:22 ` Avi Kivity 2011-12-15 14:26 ` Anthony Liguori 2011-12-19 15:01 ` Anthony Liguori 2011-12-19 15:06 ` Avi Kivity 2011-12-19 15:34 ` Avi Kivity 2011-12-19 16:15 ` Anthony Liguori 2011-12-19 17:12 ` Avi Kivity
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).