| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
ok patrick@, mlarkin@, deraadt@
|
|
|
|
|
|
|
|
|
|
|
|
| |
The idea is that as soon the kernel driver switches out of vga text
mode, it can disable decoding of legacy vga io and mmio and call
pci_disable_legacy_vga() to take itself out of arbitration. The
PCIGETVGA ioctl is extended such that it returns the legacy decoding
state of a device. The X server can then query this state for all
graphics devices in the system (through libpciaccess) and decide
whether it needs to do arbitration.
ok jsg@
|
|
|
|
|
|
|
|
| |
enumerate the pci devices. This allow us to not store the interrupt
vector in the interrupt line register and to not try to attach pci
devices disabled by firmware.
With inputs from and ok kettenis@
|
|
|
|
|
|
|
|
| |
attaching the same PCI bus twice and in the long run this will allown us
to hot plug PCI busses and support CardBus on machines where the firmware
doesn't assign a bus number to CardBus devices.
While there, print a bit more information for memory and io conflicts.
|
| |
|
|
|
|
| |
and/or device. Discussed with miod@
|
|
|
|
|
|
| |
Message Signalled Interrupts.
ok krw@ with a fix pointed out by many
|
|
|
|
|
| |
traversal code to suspend/resume
ok oga kettenis blambert
|
|
|
|
|
|
|
| |
the size of those BARs. Make pcidump use this new ioctl to print the size
of PCI BARs.
ok deraadt@, miod@
|
|
|
|
| |
ok deraadt@
|
|
|
|
|
|
| |
(deepest sleep) state upon suspend, and restore power upon resume.
ok deraadt@
|
|
|
|
| |
messages for devices using prefetchable memory sitting behind bridges.
|
|
|
|
|
|
|
|
|
|
|
|
| |
keeping a per-bus extent containing the address space available to the bus.
Address space assigned to devices will be removed from these extents when
we attach a bus. And when we try to map a PCI BAR that hasn't had address
space assigned to it, we will allocate free space from this extent.
This won't do anything until the parent devices actually allocate and
initialize the extents.
ok oga@
|
|
|
|
|
|
|
|
| |
rescan the pci bus if it already has devices attached to it. Make sure we
clear the list of attached devices when we receive a surprise removal
interrupt. Fixes kurt@'s T43.
ok miod@, krw@
|
|
|
|
|
|
| |
dlg is playing with.
'put it in' dlg@
|
|
|
|
| |
ok by many.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
for PCI-PCI bridges and passing the mapping to the attached bus device.
MD code can use these when mapping PCI device interrupts. This diff adds
such code for amd64 and i386. This fixes interrupt mapping for devices that
sit behind two PCI-PCI bridges where the firmware only provides a mapping
for the first PCI-PCI bridge.
tested by sturm@, krw@, and a few others, ok deraadt@
|
|
|
|
|
| |
pulled into get at pcireg_t. otherwise it would hit nasty _KERNEL stuff;
discussed with miod and dlg
|
|
|
|
|
|
|
|
|
|
|
| |
Use these two functions in pci_devinfo() to remove some duplicated code and
make it easier to read. Remove two now unused variables. This shrinks the
size of the resulting object code.
Drivers (or other kernel code) can now get at the PCI vendor and/or product
strings using pci_findvendor() and pci_findproduct().
ok claudio, deraadt, mglocker
|
|
|
|
|
|
|
|
| |
domain number such that we can distinguish between busses with the same bus
number that are behind different host bridges. Domains can be accessed by
using different device nodes.
ok deraadt@
|
|
|
|
|
|
| |
inetrrupt routing information.
ok deraadt@
|
|
|
|
|
|
|
|
| |
configuration space address, pci_mapreg_probe().
From NetBSD
ok dlg@
|
|
|
|
|
|
|
| |
PCI bus, from NetBSD. This is useful for things like finding
another device in a driver ie ISA bridge in pciide.
ok brad@ grange@, looks ok kettenis@
|
|
|
|
|
|
|
| |
- defer access to interrupt configuration register, as its existence depends on
HDRTYPE.
From itojun NetBSD
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
make the "generic" PCI bus enumeration code the standard case which
gets used if nothing else is defined in MD headers,
introduce a "PCI_MACHDEP_ENUMERATE_BUS" CPP definition which can
be used by MD headers (just 1 port atm) to plug in special code
rev 1.62
* Implement a machine-dependent pci_enumerate_bus() for sparc64 which
uses OFW device nodes to enumerate the bus. When a PCI bus that is
behind a bridge is attached, pci_attach_hook() allocates a new PCI
chipset tag for the new bus and sets it's "curnode" to the OFW node
of the bridge. This is used as a starting point when enumerating
that bus. Root busses get the OFW node of the host bridge (psycho).
rev 1.59
Split the code that enumerates the PCI bus and that actually probes
for a device into two functions:
* pci_probe_device() actually probes/attaches the device specified
by the provide pcitag_t.
* pci_enumerate_bus() enumerates the bus, and calls pci_probe_device()
for each device on the bus. A pci_enumerate_bus_generic() is provided
which implements the old method of doing this: If something found at
dev0/func0, determine number of functions and probe each one.
From NetBSD
ok kettenis@
Tested on a good number of amd64/i386/macppc/sparc64 systems
|
|
|
|
|
|
|
|
|
|
| |
NULL for root PCI busses. For busses behind a bridge, it points to
a persistent copy of the bridge's pcitag_t. This can be very useful
for machine-dependent PCI bus enumeration code.
From NetBSD
ok grange@ kettenis@
|
|
|
|
| |
ok krw@ kettenis@
|
|
|
|
| |
From NetBSD
|
| |
|
|
|
|
|
|
| |
From NetBSD
ok deraadt@ miod@
|
| |
|
|
|
|
| |
ok mickey@
|
| |
|
|
|
|
|
| |
pci_attach_args.
drahn@ deraadt@ ok
|
| |
|
|
|
|
|
|
|
| |
hacked by art@ from netbsd sources and then later debugged
by me into the shape where it can host itself.
no bootloader yet as needs redoing from the
recent advanced i386 sources (anyone? ;)
|
|
|
|
| |
ok henning@
|
|
|
|
| |
ok deraadt@ henning@ krw@
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
only i810 driver was tested though.
based on the netbsd's lkm, initially ported
by hunter@dg.net.ua and later made into shape by mickey.
testing by art@ and millert@ .
|
| |
|
| |
|
|
|
|
|
|
| |
If compiled with PCI_VERBOSE, this function looks up a vendor string based
on a vendor id. Otherwise, it returns NULL.
From NetBSD
|
| |
|