mirror of https://github.com/xemu-project/xemu.git
hw/arm/virt: Set virtio-iommu aw-bits default value to 48
On ARM we set 48b as a default (matching SMMUv3 SMMU_IDR5.VAX == 0). hw_compat_8_2 is used to handle the compatibility for machine types before 9.0 (default was 64 bits). Signed-off-by: Eric Auger <eric.auger@redhat.com> Reviewed-by: Zhenzhong Duan <Zhenzhong.duan@intel.com> Message-Id: <20240307134445.92296-9-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
9b588be373
commit
62d776002c
|
@ -85,11 +85,28 @@
|
||||||
#include "hw/char/pl011.h"
|
#include "hw/char/pl011.h"
|
||||||
#include "qemu/guest-random.h"
|
#include "qemu/guest-random.h"
|
||||||
|
|
||||||
|
static GlobalProperty arm_virt_compat[] = {
|
||||||
|
{ TYPE_VIRTIO_IOMMU_PCI, "aw-bits", "48" },
|
||||||
|
};
|
||||||
|
static const size_t arm_virt_compat_len = G_N_ELEMENTS(arm_virt_compat);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This cannot be called from the virt_machine_class_init() because
|
||||||
|
* TYPE_VIRT_MACHINE is abstract and mc->compat_props g_ptr_array_new()
|
||||||
|
* only is called on virt non abstract class init.
|
||||||
|
*/
|
||||||
|
static void arm_virt_compat_set(MachineClass *mc)
|
||||||
|
{
|
||||||
|
compat_props_add(mc->compat_props, arm_virt_compat,
|
||||||
|
arm_virt_compat_len);
|
||||||
|
}
|
||||||
|
|
||||||
#define DEFINE_VIRT_MACHINE_LATEST(major, minor, latest) \
|
#define DEFINE_VIRT_MACHINE_LATEST(major, minor, latest) \
|
||||||
static void virt_##major##_##minor##_class_init(ObjectClass *oc, \
|
static void virt_##major##_##minor##_class_init(ObjectClass *oc, \
|
||||||
void *data) \
|
void *data) \
|
||||||
{ \
|
{ \
|
||||||
MachineClass *mc = MACHINE_CLASS(oc); \
|
MachineClass *mc = MACHINE_CLASS(oc); \
|
||||||
|
arm_virt_compat_set(mc); \
|
||||||
virt_machine_##major##_##minor##_options(mc); \
|
virt_machine_##major##_##minor##_options(mc); \
|
||||||
mc->desc = "QEMU " # major "." # minor " ARM Virtual Machine"; \
|
mc->desc = "QEMU " # major "." # minor " ARM Virtual Machine"; \
|
||||||
if (latest) { \
|
if (latest) { \
|
||||||
|
|
Loading…
Reference in New Issue