4f85115526
The new pci code is moved to port/pci.[hc] and shared by all ports. Each port has its own PCI controller implementation, providing the pcicfgrw*() functions for low level pci config space access. The locking for pcicfgrw*() is now done by the caller (only port/pci.c). Device drivers now need to include "../port/pci.h" in addition to "io.h". The new code now checks bridge windows and membars, while enumerating the bus, giving the pc driver a chance to re-assign them. This is needed because some UEFI implementations fail to assign the bars for some devices, so we need to do it outselfs. (See pcireservemem()). While working on this, it was discovered that the pci code assimed the smallest I/O bar size is 16 (pcibarsize()), which is wrong. I/O bars can be as small as 4 bytes. Bit 1 in an I/O bar is also reserved and should be masked off, making the port mask: port = bar & ~3;
169 lines
2.2 KiB
Plaintext
169 lines
2.2 KiB
Plaintext
# pc - 386 pc terminal with local disk
|
|
dev
|
|
root
|
|
cons
|
|
swap
|
|
arch
|
|
pnp pci
|
|
env
|
|
pipe
|
|
proc
|
|
mnt
|
|
srv
|
|
shr
|
|
dup
|
|
rtc
|
|
ssl
|
|
tls
|
|
cap
|
|
kprof
|
|
fs
|
|
dtracy
|
|
|
|
ether netif
|
|
bridge netif log
|
|
ip arp chandial ip ipv6 ipaux iproute netlog nullmedium pktmedium inferno
|
|
|
|
draw screen vga vgax vgasoft
|
|
mouse mouse
|
|
kbd
|
|
vga pci
|
|
|
|
sd
|
|
floppy dma
|
|
aoe
|
|
lpt
|
|
|
|
audio dma
|
|
pccard pci
|
|
i82365 cis
|
|
uart
|
|
usb
|
|
|
|
segment
|
|
vmx
|
|
|
|
link
|
|
segdesc
|
|
devpccard pci
|
|
devi82365
|
|
cputemp pci
|
|
apm apmjump
|
|
ether2000 pci ether8390
|
|
ether2114x pci
|
|
ether589 etherelnk3
|
|
ether79c970 pci
|
|
ether8003 ether8390
|
|
ether8139 pci
|
|
ether8169 pci ethermii
|
|
# should be obsoleted by igbe
|
|
# ether82543gc pci
|
|
ether82557 pci
|
|
ether82563 pci
|
|
ether82598 pci
|
|
ether83815 pci
|
|
etherx550 pci
|
|
etherbcm pci
|
|
etherdp83820 pci ethermii
|
|
etherec2t ether8390
|
|
etherelnk3 pci
|
|
etherga620 pci
|
|
etherigbe pci ethermii
|
|
ethervgbe pci ethermii
|
|
ethervt6102 pci ethermii
|
|
ethervt6105m pci ethermii
|
|
ethersink
|
|
ethersmc pci devi82365 cis
|
|
etheryuk pci
|
|
etherwavelan wavelan devi82365 cis pci
|
|
etheriwl pci wifi
|
|
etherwpi pci wifi
|
|
etherrt2860 pci wifi
|
|
ethervirtio pci
|
|
ethermedium
|
|
pcmciamodem
|
|
netdevmedium
|
|
loopbackmedium
|
|
usbuhci pci
|
|
usbohci pci
|
|
usbehci usbehcipc
|
|
usbxhci pci
|
|
|
|
audiosb16 dma
|
|
audioac97 pci audioac97mix
|
|
audiohda pci
|
|
|
|
misc
|
|
pci pcipc
|
|
|
|
archacpi mp apic squidboy ec
|
|
archmp mp apic squidboy
|
|
mtrr
|
|
|
|
sdaoe
|
|
sdide pci sdscsi
|
|
sd53c8xx pci sdscsi
|
|
sdmylex pci sdscsi
|
|
sdiahci pci sdscsi led
|
|
sdodin pci sdscsi led
|
|
sdvirtio pci sdscsi
|
|
sdmmc pci pmmc
|
|
sdnvme pci
|
|
sdloop
|
|
sdram
|
|
|
|
uarti8250
|
|
uartisa
|
|
uartpci pci
|
|
|
|
vgasoft =cur swcursor
|
|
vga3dfx +cur
|
|
vgaark2000pv +cur
|
|
vgabt485 =cur
|
|
vgaclgd542x +cur
|
|
vgaclgd546x +cur
|
|
vgact65545 +cur
|
|
vgacyber938x +cur
|
|
vgaet4000 +cur
|
|
vgageode +cur
|
|
vgahiqvideo +cur
|
|
vgai81x +cur
|
|
vgaigfx +cur
|
|
vgamach64xx +cur
|
|
vgamga2164w +cur
|
|
vgamga4xx +cur
|
|
vganeomagic +cur
|
|
vganvidia +cur
|
|
vgaradeon +cur
|
|
vgargb524 =cur
|
|
vgas3 +cur vgasavage
|
|
vgat2r4 +cur
|
|
vgatvp3020 =cur
|
|
vgatvp3026 =cur
|
|
vgavesa
|
|
vgavmware +cur
|
|
|
|
dtracysys
|
|
dtracytimer
|
|
|
|
ip
|
|
tcp
|
|
udp
|
|
rudp
|
|
ipifc
|
|
icmp
|
|
icmp6
|
|
gre
|
|
ipmux
|
|
esp
|
|
il
|
|
|
|
port
|
|
int cpuserver = 0;
|
|
|
|
bootdir
|
|
/$objtype/bin/paqfs
|
|
/$objtype/bin/auth/factotum
|
|
bootfs.paq
|
|
boot
|