[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
- [PATCH] rumpkernel: pci-userspace: Ask for permission to use PCI CONF2 registers,
Damien Zammit <=