summaryrefslogtreecommitdiff
path: root/sys/src/9/port/portfns.h
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2020-11-03 20:46:09 +0100
committercinap_lenrek <cinap_lenrek@felloff.net>2020-11-03 20:46:09 +0100
commit0ba91ae22a06af3a7561db15973dd98f715cc9eb (patch)
tree6f5871cee6c3880847b6548902855a2f45e397da /sys/src/9/port/portfns.h
parentaad55ccc2d1e4004574ce96389ee8e5cd9bb2444 (diff)
pc, pc64: allocate i/o port space for unassigned pci bars, move ioalloc() to port/iomap.c
With some newer UEFI firmware, not all pci bars get programmed and we have to assign them ourselfs. This was already done for memory bars. This change adds the same for i/o port space, by providing a ioreservewin() function which can be used to allocate port space within the parent pci-pci bridge window. Also, the pci code now allocates the pci config space i/o ports 0xCF8/0xCFC so userspace needs to use devpnp to access pci config space now. (see latest realemu change). Also, this moves the ioalloc()/iofree() code out of devarch into port/iomap.c as it can be shared with the ppc mtx kernel.
Diffstat (limited to 'sys/src/9/port/portfns.h')
-rw-r--r--sys/src/9/port/portfns.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/src/9/port/portfns.h b/sys/src/9/port/portfns.h
index d50ffb6fb..04550987f 100644
--- a/sys/src/9/port/portfns.h
+++ b/sys/src/9/port/portfns.h
@@ -138,6 +138,12 @@ ulong imagereclaim(int);
long incref(Ref*);
void init0(void);
void initseg(void);
+int ioalloc(ulong, ulong, ulong, char*);
+void iofree(ulong);
+void iomapinit(ulong);
+int ioreserve(ulong, ulong, ulong, char*);
+int ioreservewin(ulong, ulong, ulong, ulong, char*);
+int iounused(ulong, ulong);
int iprint(char*, ...);
void isdir(Chan*);
int iseve(void);