History log of /openbsd-current/sys/arch/macppc/pci/ht.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.19 13-Mar-2022 mpi

Constify struct cfattach.

ok miod@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.18 30-Aug-2015 mpi

Map the whole config1 space based on the size read from the
device-tree.

With this change, supplementary PCIe cards are now properly
detected.

This should prevents the kernel from faulting when reading
unmapped PCI addresses as reported by Donovan Watteau on ppc@.

ok kettenis@


Revision tags: OPENBSD_5_8_BASE
# 1.17 25-Jun-2015 miod

OF_getprop() returns an int, so comparing its return value against sizeof casts
it to unsigned, and we need to also check for negative values.
All users of OF_getprop() did this but that one.

ok mpi@


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE
# 1.16 07-Aug-2013 mpi

Mimic what's done on sparc64 and parse the OpenFirmware device tree to
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@


Revision tags: OPENBSD_5_3_BASE OPENBSD_5_4_BASE
# 1.15 21-Jan-2013 mpi

Only the mpcpcibus driver is actually using these structures so merge them
in the appropriate .c file and remove unused fields while here.


Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE
# 1.14 04-Dec-2010 miod

Introduce a new pci routine, pci_conf_size(), which returns the size of a
given pcitag_t configuration address space. Currently, all pci controllers
will return the usual 0x100 bytes of PCI configuration space, but this will
eventually change on PCIe-capable controlers.
ok kettenis@


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE
# 1.13 22-Aug-2009 mk

Constify the what/name parameter of pci_intr_establish().

Tested by myself, sthen, oga, kettenis, and jasper.
Input from sthen and jasper.

ok kettenis

(Manpage follows shortly.)


Revision tags: OPENBSD_4_6_BASE
# 1.12 29-Mar-2009 kettenis

bzero pci attach args


Revision tags: OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE
# 1.11 08-May-2007 deraadt

correct dmesg output


Revision tags: OPENBSD_4_1_BASE
# 1.10 14-Dec-2006 kettenis

Make pci subsystem aware of domains. Each host bridge gets assigned a unique
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@


Revision tags: OPENBSD_4_0_BASE
# 1.9 13-Mar-2006 brad

* Add "pcitag_t *pba_bridgetag" to pci_attach_args. This is set to
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@


Revision tags: OPENBSD_3_9_BASE
# 1.8 14-Dec-2005 kettenis

Prevent access to PCI config space for function >0 on bus 0.
Fixes Xorg PCI scan.
ok drahn@


# 1.7 13-Nov-2005 drahn

Map the config space area based on sc_maxdevs. (removes panic)


# 1.6 16-Oct-2005 kettenis

Allow PCI_INTERRUPT_PIN_NONE for the interrupt pin.
HyperTransport delivers interrupts via messages and does not define any
interrupt pins. (The documentation even warns that some operating systems
will not function correctly without a non-zero value in its Interrupt Pin
configuration space register.)

ok deraadt@


# 1.5 30-Sep-2005 kettenis

Determine the number of attached devices from OF.
Map enough memory for up to 8 devices.
Handle unconnected interrupt lines.
ok drahn@


# 1.4 30-Sep-2005 deraadt

pretty print


# 1.3 30-Sep-2005 drahn

Allow fcn 1 to attach (mac-io on G5 tower)


# 1.2 29-Sep-2005 kettenis

Clean up ht_intr_map() a bit.


# 1.1 29-Sep-2005 kettenis

Add driver for HyperTransport as found in G5 Macs.
ok drahn@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.18 30-Aug-2015 mpi

Map the whole config1 space based on the size read from the
device-tree.

With this change, supplementary PCIe cards are now properly
detected.

This should prevents the kernel from faulting when reading
unmapped PCI addresses as reported by Donovan Watteau on ppc@.

ok kettenis@


Revision tags: OPENBSD_5_8_BASE
# 1.17 25-Jun-2015 miod

OF_getprop() returns an int, so comparing its return value against sizeof casts
it to unsigned, and we need to also check for negative values.
All users of OF_getprop() did this but that one.

ok mpi@


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE
# 1.16 07-Aug-2013 mpi

Mimic what's done on sparc64 and parse the OpenFirmware device tree to
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@


Revision tags: OPENBSD_5_3_BASE OPENBSD_5_4_BASE
# 1.15 21-Jan-2013 mpi

Only the mpcpcibus driver is actually using these structures so merge them
in the appropriate .c file and remove unused fields while here.


Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE
# 1.14 04-Dec-2010 miod

Introduce a new pci routine, pci_conf_size(), which returns the size of a
given pcitag_t configuration address space. Currently, all pci controllers
will return the usual 0x100 bytes of PCI configuration space, but this will
eventually change on PCIe-capable controlers.
ok kettenis@


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE
# 1.13 22-Aug-2009 mk

Constify the what/name parameter of pci_intr_establish().

Tested by myself, sthen, oga, kettenis, and jasper.
Input from sthen and jasper.

ok kettenis

(Manpage follows shortly.)


Revision tags: OPENBSD_4_6_BASE
# 1.12 29-Mar-2009 kettenis

bzero pci attach args


Revision tags: OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE
# 1.11 08-May-2007 deraadt

correct dmesg output


Revision tags: OPENBSD_4_1_BASE
# 1.10 14-Dec-2006 kettenis

Make pci subsystem aware of domains. Each host bridge gets assigned a unique
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@


Revision tags: OPENBSD_4_0_BASE
# 1.9 13-Mar-2006 brad

* Add "pcitag_t *pba_bridgetag" to pci_attach_args. This is set to
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@


Revision tags: OPENBSD_3_9_BASE
# 1.8 14-Dec-2005 kettenis

Prevent access to PCI config space for function >0 on bus 0.
Fixes Xorg PCI scan.
ok drahn@


# 1.7 13-Nov-2005 drahn

Map the config space area based on sc_maxdevs. (removes panic)


# 1.6 16-Oct-2005 kettenis

Allow PCI_INTERRUPT_PIN_NONE for the interrupt pin.
HyperTransport delivers interrupts via messages and does not define any
interrupt pins. (The documentation even warns that some operating systems
will not function correctly without a non-zero value in its Interrupt Pin
configuration space register.)

ok deraadt@


# 1.5 30-Sep-2005 kettenis

Determine the number of attached devices from OF.
Map enough memory for up to 8 devices.
Handle unconnected interrupt lines.
ok drahn@


# 1.4 30-Sep-2005 deraadt

pretty print


# 1.3 30-Sep-2005 drahn

Allow fcn 1 to attach (mac-io on G5 tower)


# 1.2 29-Sep-2005 kettenis

Clean up ht_intr_map() a bit.


# 1.1 29-Sep-2005 kettenis

Add driver for HyperTransport as found in G5 Macs.
ok drahn@