[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen master] VTD: Remove the check for reserved device scope type



commit 749bc93f7a1ad47640cc7876d27641e98a08bf61
Author:     Yang Zhang <yang.z.zhang@xxxxxxxxx>
AuthorDate: Tue Apr 16 10:36:05 2013 +0200
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Tue Apr 16 10:36:05 2013 +0200

    VTD: Remove the check for reserved device scope type
    
    Though we only have four valid types now, the new type may be added in 
future.
    It's better to remove the check and only deal with the type that we can
    recognize.
    
    Signed-off-by: Yang Zhang <yang.z.zhang@xxxxxxxxx>
    Signed-off-by: Xiantao Zhang <xiantao.zhang@xxxxxxxxx>
    Acked-by: Keir Fraser <keir@xxxxxxx>
    
    Add log message for this case.
    
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
---
 xen/drivers/passthrough/vtd/dmar.c |   10 ++++++++--
 xen/include/acpi/actbl2.h          |    1 -
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/dmar.c 
b/xen/drivers/passthrough/vtd/dmar.c
index 370d5d6..c810dbc 100644
--- a/xen/drivers/passthrough/vtd/dmar.c
+++ b/xen/drivers/passthrough/vtd/dmar.c
@@ -283,8 +283,7 @@ static int __init scope_device_count(const void *start, 
const void *end)
     while ( start < end )
     {
         scope = start;
-        if ( (scope->length < MIN_SCOPE_LEN) ||
-             (scope->entry_type >= ACPI_DMAR_SCOPE_TYPE_RESERVED) )
+        if ( scope->length < MIN_SCOPE_LEN )
         {
             dprintk(XENLOG_WARNING VTDPREFIX, "Invalid device scope.\n");
             return -EINVAL;
@@ -409,6 +408,13 @@ static int __init acpi_parse_dev_scope(
             }
 
             break;
+
+        default:
+            if ( iommu_verbose )
+                printk(XENLOG_WARNING VTDPREFIX "Unknown scope type %#x\n",
+                       acpi_scope->entry_type);
+            start += acpi_scope->length;
+            continue;
         }
         scope->devices[didx++] = PCI_BDF(bus, path->dev, path->fn);
         start += acpi_scope->length;
diff --git a/xen/include/acpi/actbl2.h b/xen/include/acpi/actbl2.h
index a28226a..87bc6b3 100644
--- a/xen/include/acpi/actbl2.h
+++ b/xen/include/acpi/actbl2.h
@@ -303,7 +303,6 @@ enum acpi_dmar_scope_type {
        ACPI_DMAR_SCOPE_TYPE_BRIDGE = 2,
        ACPI_DMAR_SCOPE_TYPE_IOAPIC = 3,
        ACPI_DMAR_SCOPE_TYPE_HPET = 4,
-       ACPI_DMAR_SCOPE_TYPE_RESERVED = 5       /* 5 and greater are reserved */
 };
 
 struct acpi_dmar_pci_path {
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.