Message ID | 20230523163600.83391-9-philmd@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | hw/virtio: Build various target-agnostic objects just once | expand |
On 5/23/23 09:35, Philippe Mathieu-Daudé wrote: > In order to have virtio-iommu.c become target-agnostic, > we need to avoid using TARGET_PAGE_MASK. Get it with the > qemu_target_page_mask() helper. > > Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> > --- > hw/virtio/virtio-iommu.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/hw/virtio/virtio-iommu.c b/hw/virtio/virtio-iommu.c > index 1cd258135d..85905a9e3d 100644 > --- a/hw/virtio/virtio-iommu.c > +++ b/hw/virtio/virtio-iommu.c > @@ -20,6 +20,7 @@ > #include "qemu/osdep.h" > #include "qemu/log.h" > #include "qemu/iov.h" > +#include "exec/target_page.h" > #include "hw/qdev-properties.h" > #include "hw/virtio/virtio.h" > #include "sysemu/kvm.h" > @@ -1164,7 +1165,7 @@ static void virtio_iommu_device_realize(DeviceState *dev, Error **errp) > * in vfio realize > */ > s->config.bypass = s->boot_bypass; > - s->config.page_size_mask = TARGET_PAGE_MASK; > + s->config.page_size_mask = qemu_target_page_mask(); This could be = -(uint64_t)qemu_target_page_size() without adding the new function. But either way, Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~
On 23/05/2023 18.35, Philippe Mathieu-Daudé wrote: > In order to have virtio-iommu.c become target-agnostic, > we need to avoid using TARGET_PAGE_MASK. Get it with the > qemu_target_page_mask() helper. > > Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> > --- > hw/virtio/virtio-iommu.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/hw/virtio/virtio-iommu.c b/hw/virtio/virtio-iommu.c > index 1cd258135d..85905a9e3d 100644 > --- a/hw/virtio/virtio-iommu.c > +++ b/hw/virtio/virtio-iommu.c > @@ -20,6 +20,7 @@ > #include "qemu/osdep.h" > #include "qemu/log.h" > #include "qemu/iov.h" > +#include "exec/target_page.h" > #include "hw/qdev-properties.h" > #include "hw/virtio/virtio.h" > #include "sysemu/kvm.h" > @@ -1164,7 +1165,7 @@ static void virtio_iommu_device_realize(DeviceState *dev, Error **errp) > * in vfio realize > */ > s->config.bypass = s->boot_bypass; > - s->config.page_size_mask = TARGET_PAGE_MASK; > + s->config.page_size_mask = qemu_target_page_mask(); > s->config.input_range.end = UINT64_MAX; > s->config.domain_range.end = UINT32_MAX; > s->config.probe_size = VIOMMU_PROBE_SIZE; Reviewed-by: Thomas Huth <thuth@redhat.com>
Hi Philippe, On 5/23/23 18:35, Philippe Mathieu-Daudé wrote: > In order to have virtio-iommu.c become target-agnostic, > we need to avoid using TARGET_PAGE_MASK. Get it with the > qemu_target_page_mask() helper. > > Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Eric Auger <eric.auger@redhat.com> Eric > --- > hw/virtio/virtio-iommu.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/hw/virtio/virtio-iommu.c b/hw/virtio/virtio-iommu.c > index 1cd258135d..85905a9e3d 100644 > --- a/hw/virtio/virtio-iommu.c > +++ b/hw/virtio/virtio-iommu.c > @@ -20,6 +20,7 @@ > #include "qemu/osdep.h" > #include "qemu/log.h" > #include "qemu/iov.h" > +#include "exec/target_page.h" > #include "hw/qdev-properties.h" > #include "hw/virtio/virtio.h" > #include "sysemu/kvm.h" > @@ -1164,7 +1165,7 @@ static void virtio_iommu_device_realize(DeviceState *dev, Error **errp) > * in vfio realize > */ > s->config.bypass = s->boot_bypass; > - s->config.page_size_mask = TARGET_PAGE_MASK; > + s->config.page_size_mask = qemu_target_page_mask(); > s->config.input_range.end = UINT64_MAX; > s->config.domain_range.end = UINT32_MAX; > s->config.probe_size = VIOMMU_PROBE_SIZE;
On 24/5/23 01:28, Richard Henderson wrote: > On 5/23/23 09:35, Philippe Mathieu-Daudé wrote: >> In order to have virtio-iommu.c become target-agnostic, >> we need to avoid using TARGET_PAGE_MASK. Get it with the >> qemu_target_page_mask() helper. >> >> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> >> --- >> hw/virtio/virtio-iommu.c | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> @@ -1164,7 +1165,7 @@ static void >> virtio_iommu_device_realize(DeviceState *dev, Error **errp) >> * in vfio realize >> */ >> s->config.bypass = s->boot_bypass; >> - s->config.page_size_mask = TARGET_PAGE_MASK; >> + s->config.page_size_mask = qemu_target_page_mask(); > > This could be > > = -(uint64_t)qemu_target_page_size() > > without adding the new function. Alex recommended on IRC to add a helper "by all means" :) > But either way, > > Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Thanks!
diff --git a/hw/virtio/virtio-iommu.c b/hw/virtio/virtio-iommu.c index 1cd258135d..85905a9e3d 100644 --- a/hw/virtio/virtio-iommu.c +++ b/hw/virtio/virtio-iommu.c @@ -20,6 +20,7 @@ #include "qemu/osdep.h" #include "qemu/log.h" #include "qemu/iov.h" +#include "exec/target_page.h" #include "hw/qdev-properties.h" #include "hw/virtio/virtio.h" #include "sysemu/kvm.h" @@ -1164,7 +1165,7 @@ static void virtio_iommu_device_realize(DeviceState *dev, Error **errp) * in vfio realize */ s->config.bypass = s->boot_bypass; - s->config.page_size_mask = TARGET_PAGE_MASK; + s->config.page_size_mask = qemu_target_page_mask(); s->config.input_range.end = UINT64_MAX; s->config.domain_range.end = UINT32_MAX; s->config.probe_size = VIOMMU_PROBE_SIZE;
In order to have virtio-iommu.c become target-agnostic, we need to avoid using TARGET_PAGE_MASK. Get it with the qemu_target_page_mask() helper. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> --- hw/virtio/virtio-iommu.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)