WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] Remove DOM0_IOPL_PERMISSION since it doesn't make much s

To: xen-changelog@xxxxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] Remove DOM0_IOPL_PERMISSION since it doesn't make much sense.
From: BitKeeper Bot <riel@xxxxxxxxxxx>
Date: Wed, 23 Mar 2005 18:18:19 +0000
Delivery-date: Wed, 23 Mar 2005 19:07:09 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-archive: <http://sourceforge.net/mailarchive/forum.php?forum=xen-changelog>
List-help: <mailto:xen-changelog-request@lists.sourceforge.net?subject=help>
List-id: <xen-changelog.lists.sourceforge.net>
List-post: <mailto:xen-changelog@lists.sourceforge.net>
List-subscribe: <https://lists.sourceforge.net/lists/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.sourceforge.net?subject=subscribe>
List-unsubscribe: <https://lists.sourceforge.net/lists/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.sourceforge.net?subject=unsubscribe>
Reply-to: Xen Development List <xen-devel@xxxxxxxxxxxxxxxxxxxxx>
Sender: xen-changelog-admin@xxxxxxxxxxxxxxxxxxxxx
ChangeSet 1.1356, 2005/03/23 18:18:19+00:00, kaf24@xxxxxxxxxxxxxxxxxxxx

        Remove DOM0_IOPL_PERMISSION since it doesn't make much sense.
        All admin checks go throu the bitmap mask. Even privileged domains
        (inc. domain0) must have a mask.
        Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>



 arch/x86/dom0_ops.c       |   20 --------------------
 arch/x86/traps.c          |    3 ---
 common/physdev.c          |   21 +++++++++++----------
 include/asm-x86/domain.h  |    1 -
 include/public/dom0_ops.h |    9 +--------
 5 files changed, 12 insertions(+), 42 deletions(-)


diff -Nru a/xen/arch/x86/dom0_ops.c b/xen/arch/x86/dom0_ops.c
--- a/xen/arch/x86/dom0_ops.c   2005-03-23 14:03:10 -05:00
+++ b/xen/arch/x86/dom0_ops.c   2005-03-23 14:03:10 -05:00
@@ -136,26 +136,6 @@
     }
     break;
 
-    case DOM0_IOPL_PERMISSION:
-    {
-        struct domain *d;
-
-        ret = -EINVAL;
-        if ( op->u.iopl_permission.max_iopl > 3 )
-            break;
-
-        ret = -ESRCH;
-        if ( unlikely((d = find_domain_by_id(
-            op->u.iopl_permission.domain)) == NULL) )
-            break;
-
-        ret = 0;
-        d->arch.max_iopl = op->u.iopl_permission.max_iopl;
-
-        put_domain(d);
-    }
-    break;
-
     case DOM0_IOPORT_PERMISSION:
     {
         struct domain *d;
diff -Nru a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
--- a/xen/arch/x86/traps.c      2005-03-23 14:03:10 -05:00
+++ b/xen/arch/x86/traps.c      2005-03-23 14:03:10 -05:00
@@ -417,9 +417,6 @@
     struct domain *d = ed->domain;
     u16 x;
 
-    if ( IS_PRIV(d) || (d->arch.max_iopl >= (KERNEL_MODE(ed, regs) ? 1 : 3)) )
-        return 1;
-
     if ( d->arch.iobmp_mask != NULL )
     {
         x = *(u16 *)(d->arch.iobmp_mask + (port >> 3));
diff -Nru a/xen/common/physdev.c b/xen/common/physdev.c
--- a/xen/common/physdev.c      2005-03-23 14:03:10 -05:00
+++ b/xen/common/physdev.c      2005-03-23 14:03:10 -05:00
@@ -744,13 +744,17 @@
 
 
 /* Domain 0 has read access to all devices. */
-void physdev_init_dom0(struct domain *p)
+void physdev_init_dom0(struct domain *d)
 {
     struct pci_dev *dev;
     phys_dev_t *pdev;
 
-    INFO("Give DOM0 read access to all PCI devices\n");
+    /* Access to all I/O ports. */
+    d->arch.iobmp_mask = xmalloc_array(u8, IOBMP_BYTES);
+    BUG_ON(d->arch.iobmp_mask == NULL);
+    memset(d->arch.iobmp_mask, 0, IOBMP_BYTES);
 
+    /* Access to all PCI devices. */
     pci_for_each_dev(dev)
     {
         if ( pcidev_dom0_hidden(dev) )
@@ -759,20 +763,17 @@
             continue;
         }
 
-
-        if ( (pdev = xmalloc(phys_dev_t)) == NULL ) {
-            INFO("failed to allocate physical device structure!\n");
-            break;
-        }
+        pdev = xmalloc(phys_dev_t);
+        BUG_ON(pdev == NULL);
 
         pdev->dev = dev;
         pdev->flags = ACC_WRITE;
         pdev->state = 0;
-        pdev->owner = p;
-        list_add(&pdev->node, &p->pcidev_list);
+        pdev->owner = d;
+        list_add(&pdev->node, &d->pcidev_list);
     }
 
-    set_bit(DF_PHYSDEV, &p->d_flags);
+    set_bit(DF_PHYSDEV, &d->d_flags);
 }
 
 
diff -Nru a/xen/include/asm-x86/domain.h b/xen/include/asm-x86/domain.h
--- a/xen/include/asm-x86/domain.h      2005-03-23 14:03:10 -05:00
+++ b/xen/include/asm-x86/domain.h      2005-03-23 14:03:10 -05:00
@@ -20,7 +20,6 @@
 
     /* I/O-port access bitmap mask. */
     u8 *iobmp_mask;       /* Address of IO bitmap mask, or NULL.      */
-    int max_iopl;         /* Maximum achievable IOPL. */
 
     /* shadow mode status and controls */
     unsigned int shadow_mode;  /* flags to control shadow table operation */
diff -Nru a/xen/include/public/dom0_ops.h b/xen/include/public/dom0_ops.h
--- a/xen/include/public/dom0_ops.h     2005-03-23 14:03:10 -05:00
+++ b/xen/include/public/dom0_ops.h     2005-03-23 14:03:10 -05:00
@@ -407,13 +407,7 @@
     u32     _pad0;
 } PACKED dom0_microcode_t; /* 16 bytes */
 
-#define DOM0_IOPL_PERMISSION     36
-typedef struct {
-    domid_t domain;                   /* 0: domain to be affected */
-    u16     max_iopl;                 /* 2: new effective IOPL limit */
-} PACKED dom0_iopl_permission_t; /* 4 bytes */
-
-#define DOM0_IOPORT_PERMISSION   37
+#define DOM0_IOPORT_PERMISSION   36
 typedef struct {
     domid_t domain;                   /* 0: domain to be affected */
     u16     first_port;               /* 2: first port int range */
@@ -455,7 +449,6 @@
         dom0_read_memtype_t      read_memtype;
         dom0_perfccontrol_t      perfccontrol;
         dom0_microcode_t         microcode;
-        dom0_iopl_permission_t   iopl_permission;
         dom0_ioport_permission_t ioport_permission;
     } PACKED u;
 } PACKED dom0_op_t; /* 80 bytes */


-------------------------------------------------------
This SF.net email is sponsored by Microsoft Mobile & Embedded DevCon 2005
Attend MEDC 2005 May 9-12 in Vegas. Learn more about the latest Windows
Embedded(r) & Windows Mobile(tm) platforms, applications & content.  Register
by 3/29 & save $300 http://ads.osdn.com/?ad_id=6883&alloc_id=15149&op=click
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] Remove DOM0_IOPL_PERMISSION since it doesn't make much sense., BitKeeper Bot <=