From: Nathan Chen <nathanc@nvidia.com>
Set the default oas value to auto. The default Output Address Size used
to be 44-bit, but we change it to match what the host IOMMU properties
report so that users do not have to introspect host IDR5 for the OAS.
Signed-off-by: Nathan Chen <nathanc@nvidia.com>
---
hw/arm/smmuv3.c | 4 ++--
hw/core/machine.c | 1 +
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/hw/arm/smmuv3.c b/hw/arm/smmuv3.c
index 0ab6d1e762..7d537b7947 100644
--- a/hw/arm/smmuv3.c
+++ b/hw/arm/smmuv3.c
@@ -2155,7 +2155,7 @@ static const Property smmuv3_properties[] = {
/* RIL can be turned off for accel cases */
DEFINE_PROP_ON_OFF_AUTO("ril", SMMUv3State, ril, ON_OFF_AUTO_AUTO),
DEFINE_PROP_ON_OFF_AUTO("ats", SMMUv3State, ats, ON_OFF_AUTO_AUTO),
- DEFINE_PROP_OAS_MODE("oas", SMMUv3State, oas, OAS_MODE_44),
+ DEFINE_PROP_OAS_MODE("oas", SMMUv3State, oas, OAS_MODE_AUTO),
DEFINE_PROP_SSIDSIZE_MODE("ssidsize", SMMUv3State, ssidsize,
SSID_SIZE_MODE_AUTO),
};
@@ -2190,7 +2190,7 @@ static void smmuv3_class_init(ObjectClass *klass, const void *data)
"platform has ATS support before enabling this.");
object_class_property_set_description(klass, "oas",
"Specify Output Address Size (for accel=on). Supported values "
- "are 44 or 48 bits. Defaults to 44 bits.");
+ "are 44 or 48 bits. Defaults to auto.");
object_class_property_set_description(klass, "ssidsize",
"Number of bits used to represent SubstreamIDs (SSIDs). "
"A value of N allows SSIDs in the range [0 .. 2^N - 1]. "
diff --git a/hw/core/machine.c b/hw/core/machine.c
index aa208a2d9a..a668bb2ec3 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -43,6 +43,7 @@ GlobalProperty hw_compat_11_0[] = {
{ TYPE_ARM_SMMUV3, "ats", "off" },
{ TYPE_ARM_SMMUV3, "ril", "on" },
{ TYPE_ARM_SMMUV3, "ssidsize", "0" },
+ { TYPE_ARM_SMMUV3, "oas", "44" },
};
GlobalProperty hw_compat_10_2[] = {
--
2.43.0