aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2010-03-25 10:01:05 +0000
committerKeir Fraser <keir.fraser@citrix.com>2010-03-25 10:01:05 +0000
commit024ce79aea88be56dae38cf54e054e6d354bb585 (patch)
tree9d82cc0b33e30e321dc419cb7432f679234822e3
parentf81bf6953cf77cdd623bea373026eb77dac4d40a (diff)
downloadxen-024ce79aea88be56dae38cf54e054e6d354bb585.tar.gz
xen-024ce79aea88be56dae38cf54e054e6d354bb585.tar.bz2
xen-024ce79aea88be56dae38cf54e054e6d354bb585.zip
VT-d: should not disable VT-d when find unknown DMAR structure type
Now 4 DMAR structure types are supported (type value 0 ~ 3). Type values > 3 are reserved for future use. Current implementation disables VT-d when find unknown DMAR structure type, this may lead to VT-d disabling on future platforms before supporting new types on Xen. For forward compatibility, just skip unknown structures by skipping the appropriate number of bytes indicated by the Length field, and then VT-d still can be used. Signed-off-by: Weidong Han <weidong.han@intel.com>
-rw-r--r--xen/drivers/passthrough/vtd/dmar.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/xen/drivers/passthrough/vtd/dmar.c b/xen/drivers/passthrough/vtd/dmar.c
index 310a66da3e..a20f76a574 100644
--- a/xen/drivers/passthrough/vtd/dmar.c
+++ b/xen/drivers/passthrough/vtd/dmar.c
@@ -713,7 +713,6 @@ static int __init acpi_parse_dmar(struct acpi_table_header *table)
dprintk(XENLOG_WARNING VTDPREFIX,
"Unknown DMAR structure type %x\n",
entry_header->type);
- ret = -EINVAL;
break;
}
if ( ret )