x86-64: revert mmconfig part of c/s 24425:053a44894279
authorJan Beulich <jbeulich@suse.com>
Fri, 22 Jun 2012 08:05:05 +0000 (10:05 +0200)
committerJan Beulich <jbeulich@suse.com>
Fri, 22 Jun 2012 08:05:05 +0000 (10:05 +0200)
These additions did not fulfill their purpose - they checked hypervisor
config space accesses instead of guest (Dom0) ones.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
xen/arch/x86/x86_64/mmconfig_64.c

index f2e7fedfecade9ede01d7cfa4588929ff19f56c9..16d432ed3aa4c9105082ba6ab2a1ae644e0020a1 100644 (file)
@@ -14,7 +14,6 @@
 #include <xen/xmalloc.h>
 #include <xen/pci.h>
 #include <xen/pci_regs.h>
-#include <xsm/xsm.h>
 
 #include "mmconfig.h"
 
@@ -59,7 +58,6 @@ int pci_mmcfg_read(unsigned int seg, unsigned int bus,
               unsigned int devfn, int reg, int len, u32 *value)
 {
     char __iomem *addr;
-    uint32_t mbdf;
 
     /* Why do we have this when nobody checks it. How about a BUG()!? -AK */
     if (unlikely((bus > 255) || (devfn > 255) || (reg > 4095))) {
@@ -67,12 +65,6 @@ err:        *value = -1;
         return -EINVAL;
     }
 
-    mbdf = (seg << 16) | (bus << 8) | devfn;
-    if (xsm_pci_config_permission(current->domain, mbdf, reg, reg + len - 1, 0)) {
-        *value = -1;
-        return -EPERM;
-    }
-
     addr = pci_dev_base(seg, bus, devfn);
     if (!addr)
         goto err;
@@ -96,16 +88,11 @@ int pci_mmcfg_write(unsigned int seg, unsigned int bus,
                unsigned int devfn, int reg, int len, u32 value)
 {
     char __iomem *addr;
-    uint32_t mbdf;
 
     /* Why do we have this when nobody checks it. How about a BUG()!? -AK */
     if (unlikely((bus > 255) || (devfn > 255) || (reg > 4095)))
         return -EINVAL;
 
-    mbdf = (seg << 16) | (bus << 8) | devfn;
-    if (xsm_pci_config_permission(current->domain, mbdf, reg, reg + len - 1, 1))
-        return -EPERM;
-
     addr = pci_dev_base(seg, bus, devfn);
     if (!addr)
         return -EINVAL;