diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2020-11-03 20:46:09 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2020-11-03 20:46:09 +0100 |
commit | 0ba91ae22a06af3a7561db15973dd98f715cc9eb (patch) | |
tree | 6f5871cee6c3880847b6548902855a2f45e397da /sys/src/9/port/portfns.h | |
parent | aad55ccc2d1e4004574ce96389ee8e5cd9bb2444 (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.h | 6 |
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); |