bug-hurd
[Top][All Lists]
Advanced

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

[PATCH] rumpkernel: pci-userspace: Ask for permission to use PCI CONF2 r


From: Damien Zammit
Subject: [PATCH] rumpkernel: pci-userspace: Ask for permission to use PCI CONF2 registers
Date: Sun, 21 Aug 2022 07:00:49 +0000

Rationale: QEMU allocates actual io ports in the 0xc000 - 0xcfff
range, therefore we still need to allow rump to access these ports,
in case they are allocated to real pci hardware.
---
 debian/patches/machirqdev.diff | 21 ++++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)

diff --git a/debian/patches/machirqdev.diff b/debian/patches/machirqdev.diff
index 2f74ca619..41894d288 100644
--- a/debian/patches/machirqdev.diff
+++ b/debian/patches/machirqdev.diff
@@ -40,7 +40,7 @@
  #include "mach_debug_U.h"
  #include <mach/vm_param.h>
  #include <mach.h>
-@@ -89,6 +89,7 @@
+@@ -89,11 +89,10 @@ static int numdevs = -1;

  static mach_port_t master_host;
  static mach_port_t master_device;
@@ -48,6 +48,25 @@

  #define PCI_CFG1_START 0xcf8
  #define PCI_CFG1_END   0xcff
+-#define PCI_CFG2_START 0xc000
+-#define PCI_CFG2_END   0xcfff
+
+ int
+ rumpcomp_pci_iospace_init(void)
+@@ -105,11 +104,8 @@ rumpcomp_pci_iospace_init(void)
+       /* 0-0xcf7 */
+       if (ioperm(0, PCI_CFG1_START, 1))
+               return rumpuser_component_errtrans(errno);
+-      /* 0xd00-0xbfff */
+-      if (ioperm(PCI_CFG1_END+1, PCI_CFG2_START - (PCI_CFG1_END+1), 1))
+-              return rumpuser_component_errtrans(errno);
+-      /* 0xd000-0xffff */
+-      if (ioperm(PCI_CFG2_END+1, 0x10000 - (PCI_CFG2_END+1), 1))
++      /* 0xd00-0xffff */
++      if (ioperm(PCI_CFG1_END+1, 0x10000 - (PCI_CFG1_END+1), 1))
+               return rumpuser_component_errtrans(errno);
+
+       return 0;
 @@ -131,6 +132,9 @@
        if (get_privileged_ports (&master_host, &master_device))
                err(1, "get_privileged_ports");
--
2.34.1





reply via email to

[Prev in Thread] Current Thread [Next in Thread]