Message ID | 20221015050750.4185-3-vikram.garhwal@amd.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v1,01/12] hw/xen: Correct build config for xen_pt_stub | expand |
On 15/10/2022 06:07, Vikram Garhwal wrote: > xen-mapcache.c contains common functions which can be used for enabling Xen on > aarch64 with IOREQ handling. Moving it out from hw/i386/xen to hw/xen to make it > accessible for both aarch64 and x86. > > Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com> > Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com> > --- > hw/i386/meson.build | 1 + > hw/i386/xen/meson.build | 1 - > hw/i386/xen/trace-events | 5 ----- > hw/xen/meson.build | 4 ++++ > hw/xen/trace-events | 5 +++++ > hw/{i386 => }/xen/xen-mapcache.c | 0 > 6 files changed, 10 insertions(+), 6 deletions(-) > rename hw/{i386 => }/xen/xen-mapcache.c (100%) > > diff --git a/hw/i386/meson.build b/hw/i386/meson.build > index 213e2e82b3..cfdbfdcbcb 100644 > --- a/hw/i386/meson.build > +++ b/hw/i386/meson.build > @@ -33,5 +33,6 @@ subdir('kvm') > subdir('xen') > > i386_ss.add_all(xenpv_ss) > +i386_ss.add_all(xen_ss) > > hw_arch += {'i386': i386_ss} > diff --git a/hw/i386/xen/meson.build b/hw/i386/xen/meson.build > index be84130300..2fcc46e6ca 100644 > --- a/hw/i386/xen/meson.build > +++ b/hw/i386/xen/meson.build > @@ -1,6 +1,5 @@ > i386_ss.add(when: 'CONFIG_XEN', if_true: files( > 'xen-hvm.c', > - 'xen-mapcache.c', > 'xen_apic.c', > 'xen_platform.c', > 'xen_pvdevice.c', > diff --git a/hw/i386/xen/trace-events b/hw/i386/xen/trace-events > index 5d6be61090..a0c89d91c4 100644 > --- a/hw/i386/xen/trace-events > +++ b/hw/i386/xen/trace-events > @@ -21,8 +21,3 @@ xen_map_resource_ioreq(uint32_t id, void *addr) "id: %u addr: %p" > cpu_ioreq_config_read(void *req, uint32_t sbdf, uint32_t reg, uint32_t size, uint32_t data) "I/O=%p sbdf=0x%x reg=%u size=%u data=0x%x" > cpu_ioreq_config_write(void *req, uint32_t sbdf, uint32_t reg, uint32_t size, uint32_t data) "I/O=%p sbdf=0x%x reg=%u size=%u data=0x%x" > > -# xen-mapcache.c > -xen_map_cache(uint64_t phys_addr) "want 0x%"PRIx64 > -xen_remap_bucket(uint64_t index) "index 0x%"PRIx64 > -xen_map_cache_return(void* ptr) "%p" > - > diff --git a/hw/xen/meson.build b/hw/xen/meson.build > index ae0ace3046..19d0637c46 100644 > --- a/hw/xen/meson.build > +++ b/hw/xen/meson.build > @@ -22,3 +22,7 @@ else > endif > > specific_ss.add_all(when: ['CONFIG_XEN', xen], if_true: xen_specific_ss) > + > +xen_ss = ss.source_set() > + > +xen_ss.add(when: 'CONFIG_XEN', if_true: files('xen-mapcache.c')) Curious as to why you couldn't just add this to the softmmu_ss list above? Paul > diff --git a/hw/xen/trace-events b/hw/xen/trace-events > index 3da3fd8348..2c8f238f42 100644 > --- a/hw/xen/trace-events > +++ b/hw/xen/trace-events > @@ -41,3 +41,8 @@ xs_node_vprintf(char *path, char *value) "%s %s" > xs_node_vscanf(char *path, char *value) "%s %s" > xs_node_watch(char *path) "%s" > xs_node_unwatch(char *path) "%s" > + > +# xen-mapcache.c > +xen_map_cache(uint64_t phys_addr) "want 0x%"PRIx64 > +xen_remap_bucket(uint64_t index) "index 0x%"PRIx64 > +xen_map_cache_return(void* ptr) "%p" > diff --git a/hw/i386/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c > similarity index 100% > rename from hw/i386/xen/xen-mapcache.c > rename to hw/xen/xen-mapcache.c
Hi Paul, From: Paul Durrant <xadimgnik@gmail.com> Date: Wednesday, October 19, 2022 at 7:54 AM To: Garhwal, Vikram <vikram.garhwal@amd.com>, qemu-devel@nongnu.org <qemu-devel@nongnu.org> Cc: Stabellini, Stefano <stefano.stabellini@amd.com>, Michael S. Tsirkin <mst@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Paolo Bonzini <pbonzini@redhat.com>, Richard Henderson <richard.henderson@linaro.org>, Eduardo Habkost <eduardo@habkost.net>, Stefano Stabellini <sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, open list:X86 Xen CPUs <xen-devel@lists.xenproject.org> Subject: Re: [PATCH v1 02/12] hw/i386/xen/: move xen-mapcache.c to hw/xen/ On 15/10/2022 06:07, Vikram Garhwal wrote: > xen-mapcache.c contains common functions which can be used for enabling Xen on > aarch64 with IOREQ handling. Moving it out from hw/i386/xen to hw/xen to make it > accessible for both aarch64 and x86. > > Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com> > Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com> > --- > hw/i386/meson.build | 1 + > hw/i386/xen/meson.build | 1 - > hw/i386/xen/trace-events | 5 ----- > hw/xen/meson.build | 4 ++++ > hw/xen/trace-events | 5 +++++ > hw/{i386 => }/xen/xen-mapcache.c | 0 > 6 files changed, 10 insertions(+), 6 deletions(-) > rename hw/{i386 => }/xen/xen-mapcache.c (100%) > > diff --git a/hw/i386/meson.build b/hw/i386/meson.build > index 213e2e82b3..cfdbfdcbcb 100644 > --- a/hw/i386/meson.build > +++ b/hw/i386/meson.build > @@ -33,5 +33,6 @@ subdir('kvm') > subdir('xen') > > i386_ss.add_all(xenpv_ss) > +i386_ss.add_all(xen_ss) > > hw_arch += {'i386': i386_ss} > diff --git a/hw/i386/xen/meson.build b/hw/i386/xen/meson.build > index be84130300..2fcc46e6ca 100644 > --- a/hw/i386/xen/meson.build > +++ b/hw/i386/xen/meson.build > @@ -1,6 +1,5 @@ > i386_ss.add(when: 'CONFIG_XEN', if_true: files( > 'xen-hvm.c', > - 'xen-mapcache.c', > 'xen_apic.c', > 'xen_platform.c', > 'xen_pvdevice.c', > diff --git a/hw/i386/xen/trace-events b/hw/i386/xen/trace-events > index 5d6be61090..a0c89d91c4 100644 > --- a/hw/i386/xen/trace-events > +++ b/hw/i386/xen/trace-events > @@ -21,8 +21,3 @@ xen_map_resource_ioreq(uint32_t id, void *addr) "id: %u addr: %p" > cpu_ioreq_config_read(void *req, uint32_t sbdf, uint32_t reg, uint32_t size, uint32_t data) "I/O=%p sbdf=0x%x reg=%u size=%u data=0x%x" > cpu_ioreq_config_write(void *req, uint32_t sbdf, uint32_t reg, uint32_t size, uint32_t data) "I/O=%p sbdf=0x%x reg=%u size=%u data=0x%x" > > -# xen-mapcache.c > -xen_map_cache(uint64_t phys_addr) "want 0x%"PRIx64 > -xen_remap_bucket(uint64_t index) "index 0x%"PRIx64 > -xen_map_cache_return(void* ptr) "%p" > - > diff --git a/hw/xen/meson.build b/hw/xen/meson.build > index ae0ace3046..19d0637c46 100644 > --- a/hw/xen/meson.build > +++ b/hw/xen/meson.build > @@ -22,3 +22,7 @@ else > endif > > specific_ss.add_all(when: ['CONFIG_XEN', xen], if_true: xen_specific_ss) > + > +xen_ss = ss.source_set() > + > +xen_ss.add(when: 'CONFIG_XEN', if_true: files('xen-mapcache.c')) Curious as to why you couldn't just add this to the softmmu_ss list above? Moving it to softmmu_ss breaks the build as it builds without XEN_CONFIG. I think xen option in “softmmu_ss.add(when: ['CONFIG_XEN', xen], if_true: files” is problem here. I see below error: /sysemu/xen-mapcache.h:16:8: error: attempt to use poisoned "CONFIG_XEN" #ifdef CONFIG_XEN ^ ../hw/xen/xen-mapcache.c:106:6: error: redefinition of 'xen_map_cache_init' void xen_map_cache_init(phys_offset_to_gaddr_t f, void *opaque) Paul > diff --git a/hw/xen/trace-events b/hw/xen/trace-events > index 3da3fd8348..2c8f238f42 100644 > --- a/hw/xen/trace-events > +++ b/hw/xen/trace-events > @@ -41,3 +41,8 @@ xs_node_vprintf(char *path, char *value) "%s %s" > xs_node_vscanf(char *path, char *value) "%s %s" > xs_node_watch(char *path) "%s" > xs_node_unwatch(char *path) "%s" > + > +# xen-mapcache.c > +xen_map_cache(uint64_t phys_addr) "want 0x%"PRIx64 > +xen_remap_bucket(uint64_t index) "index 0x%"PRIx64 > +xen_map_cache_return(void* ptr) "%p" > diff --git a/hw/i386/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c > similarity index 100% > rename from hw/i386/xen/xen-mapcache.c > rename to hw/xen/xen-mapcache.c
diff --git a/hw/i386/meson.build b/hw/i386/meson.build index 213e2e82b3..cfdbfdcbcb 100644 --- a/hw/i386/meson.build +++ b/hw/i386/meson.build @@ -33,5 +33,6 @@ subdir('kvm') subdir('xen') i386_ss.add_all(xenpv_ss) +i386_ss.add_all(xen_ss) hw_arch += {'i386': i386_ss} diff --git a/hw/i386/xen/meson.build b/hw/i386/xen/meson.build index be84130300..2fcc46e6ca 100644 --- a/hw/i386/xen/meson.build +++ b/hw/i386/xen/meson.build @@ -1,6 +1,5 @@ i386_ss.add(when: 'CONFIG_XEN', if_true: files( 'xen-hvm.c', - 'xen-mapcache.c', 'xen_apic.c', 'xen_platform.c', 'xen_pvdevice.c', diff --git a/hw/i386/xen/trace-events b/hw/i386/xen/trace-events index 5d6be61090..a0c89d91c4 100644 --- a/hw/i386/xen/trace-events +++ b/hw/i386/xen/trace-events @@ -21,8 +21,3 @@ xen_map_resource_ioreq(uint32_t id, void *addr) "id: %u addr: %p" cpu_ioreq_config_read(void *req, uint32_t sbdf, uint32_t reg, uint32_t size, uint32_t data) "I/O=%p sbdf=0x%x reg=%u size=%u data=0x%x" cpu_ioreq_config_write(void *req, uint32_t sbdf, uint32_t reg, uint32_t size, uint32_t data) "I/O=%p sbdf=0x%x reg=%u size=%u data=0x%x" -# xen-mapcache.c -xen_map_cache(uint64_t phys_addr) "want 0x%"PRIx64 -xen_remap_bucket(uint64_t index) "index 0x%"PRIx64 -xen_map_cache_return(void* ptr) "%p" - diff --git a/hw/xen/meson.build b/hw/xen/meson.build index ae0ace3046..19d0637c46 100644 --- a/hw/xen/meson.build +++ b/hw/xen/meson.build @@ -22,3 +22,7 @@ else endif specific_ss.add_all(when: ['CONFIG_XEN', xen], if_true: xen_specific_ss) + +xen_ss = ss.source_set() + +xen_ss.add(when: 'CONFIG_XEN', if_true: files('xen-mapcache.c')) diff --git a/hw/xen/trace-events b/hw/xen/trace-events index 3da3fd8348..2c8f238f42 100644 --- a/hw/xen/trace-events +++ b/hw/xen/trace-events @@ -41,3 +41,8 @@ xs_node_vprintf(char *path, char *value) "%s %s" xs_node_vscanf(char *path, char *value) "%s %s" xs_node_watch(char *path) "%s" xs_node_unwatch(char *path) "%s" + +# xen-mapcache.c +xen_map_cache(uint64_t phys_addr) "want 0x%"PRIx64 +xen_remap_bucket(uint64_t index) "index 0x%"PRIx64 +xen_map_cache_return(void* ptr) "%p" diff --git a/hw/i386/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c similarity index 100% rename from hw/i386/xen/xen-mapcache.c rename to hw/xen/xen-mapcache.c