History log of /src/sys/arch/powerpc/pci/pci_machdep_common.c |
Revision | | Date | Author | Comments |
1.25 |
| 08-Dec-2021 |
andvar | fix various typos in comments and log messages.
|
1.24 |
| 06-Jul-2020 |
rin | Style and cosmetic changes. No binary changes intended.
|
1.23 |
| 02-Mar-2018 |
macallan | IRQ0 is perfectly legal to use on at least some macppc, so don't treat it as an error or something special with this svwsata works on my PCI-X G5
|
1.22 |
| 01-Jun-2017 |
chs | remove checks for failure after memory allocation calls that cannot fail:
kmem_alloc() with KM_SLEEP kmem_zalloc() with KM_SLEEP percpu_alloc() pserialize_create() psref_class_create()
all of these paths include an assertion that the allocation has not failed, so callers should not assert that again.
|
1.21 |
| 19-Oct-2016 |
nonaka | Added MSI/MSI-X and interrupt_distribute(9) support for powerpc.
|
1.20 |
| 29-Mar-2014 |
christos | branches: 1.20.6; 1.20.10; make pci_intr_string and eisa_intr_string take a buffer and a length instead of relying in local static storage.
|
1.19 |
| 25-Mar-2014 |
matt | sprintf -> snprintf
|
1.18 |
| 28-Apr-2013 |
macallan | branches: 1.18.4; remove PMAC_G5 kludge - fixed this elsewhere
|
1.17 |
| 11-Apr-2013 |
macallan | temporary kludge for G5 - on mine some devices are configured with interrupt pin 0 but a valid IRQ line, so don't treat that as an error if PMAC_G5 is set
|
1.16 |
| 18-Jan-2013 |
matt | Use structure initializers.
|
1.15 |
| 01-Feb-2012 |
matt | branches: 1.15.6; Use kmem instead of malloc. Remove unneeded <sys/malloc.h> includes.
|
1.14 |
| 17-Aug-2011 |
matt | branches: 1.14.2; 1.14.6; First pass of the new PCI MSI/MSI ABI definitions. (return EOPNOTSUPP for now).
|
1.13 |
| 22-Jun-2011 |
matt | Add support pci_intr_setattr. Export non-inline version of pci api for modules (_MODULE is defined). Fix definition of pc_conf_hook and pc_conf_interrupt. Switch to using inlines instead of macros. Switch ibm4xx to use <powerpc/pci_machdep.h>
|
1.12 |
| 18-Jun-2011 |
matt | Use <sys/foo.h> instead of <machine/foo.h> if such a file exists. Don't assume <sys/cpu.h> includes <powerpc/subarch/cpu*.h>. Include it explicitly.
|
1.11 |
| 17-Jun-2011 |
matt | struct device * -> device_t struct cfdata * -> cfdata_t split device/softc (CFATTACH_DECL_NEW) use device_accessors and device_private constify
|
1.10 |
| 04-Apr-2011 |
dyoung | branches: 1.10.2; Neither pci_dma64_available(), pci_probe_device(), pci_mapreg_map(9), pci_find_rom(), pci_intr_map(9), pci_enumerate_bus(), nor the match predicate passed to pciide_compat_intr_establish() should ever modify their pci_attach_args argument, so make their pci_attach_args arguments const and deal with the fallout throughout the kernel.
For the most part, these changes add a 'const' where there was no 'const' before, however, some drivers and MD code used to modify pci_attach_args. Now those drivers either copy their pci_attach_args and modify the copy, or refrain from modifying pci_attach_args:
Xen: according to Manuel Bouyer, writing to pci_attach_args in pci_intr_map() was a leftover from Xen 2. Probably a bug. I stopped writing it. I have not tested this change.
siside(4): sis_hostbr_match() needlessly wrote to pci_attach_args. Probably a bug. I use a temporary variable. I have not tested this change.
slide(4): sl82c105_chip_map() overwrote the caller's pci_attach_args. Probably a bug. Use a local pci_attach_args. I have not tested this change.
viaide(4): via_sata_chip_map() and via_sata_chip_map_new() overwrote the caller's pci_attach_args. Probably a bug. Make a local copy of the caller's pci_attach_args and modify the copy. I have not tested this change.
While I'm here, make pci_mapreg_submap() static.
With these changes in place, I have tested the compilation of these kernels:
alpha GENERIC amd64 GENERIC XEN3_DOM0 arc GENERIC atari HADES MILAN-PCIIDE bebox GENERIC cats GENERIC cobalt GENERIC evbarm-eb NSLU2 evbarm-el ADI_BRH ARMADILLO9 CP3100 GEMINI GEMINI_MASTER GEMINI_SLAVE GUMSTIX HDL_G IMX31LITE INTEGRATOR IQ31244 IQ80310 IQ80321 IXDP425 IXM1200 KUROBOX_PRO LUBBOCK MARVELL_NAS NAPPI SHEEVAPLUG SMDK2800 TEAMASA_NPWR TEAMASA_NPWR_FC TS7200 TWINTAIL ZAO425 evbmips-el AP30 DBAU1500 DBAU1550 MALTA MERAKI MTX-1 OMSAL400 RB153 WGT624V3 evbmips64-el XLSATX evbppc EV64260 MPC8536DS MPC8548CDS OPENBLOCKS200 OPENBLOCKS266 OPENBLOCKS266_OPT P2020RDB PMPPC RB800 WALNUT hp700 GENERIC i386 ALL XEN3_DOM0 XEN3_DOMU ibmnws GENERIC macppc GENERIC mvmeppc GENERIC netwinder GENERIC ofppc GENERIC prep GENERIC sandpoint GENERIC sgimips GENERIC32_IP2x sparc GENERIC_SUN4U KRUPS sparc64 GENERIC
As of Sun Apr 3 15:26:26 CDT 2011, I could not compile these kernels with or without my patches in place:
### evbmips-el GDIUM
nbmake: nbmake: don't know how to make /home/dyoung/pristine-nbsd/src/sys/arch/mips/mips/softintr.c. Stop
### evbarm-el MPCSA_GENERIC src/sys/arch/evbarm/conf/MPCSA_GENERIC:318: ds1672rtc*: unknown device `ds1672rtc'
### ia64 GENERIC
/tmp/genassym.28085/assym.c: In function 'f111': /tmp/genassym.28085/assym.c:67: error: invalid application of 'sizeof' to incomplete type 'struct pcb' /tmp/genassym.28085/assym.c:76: error: dereferencing pointer to incomplete type
### sgimips GENERIC32_IP3x
crmfb.o: In function `crmfb_attach': crmfb.c:(.text+0x2304): undefined reference to `ddc_read_edid' crmfb.c:(.text+0x2304): relocation truncated to fit: R_MIPS_26 against `ddc_read_edid' crmfb.c:(.text+0x234c): undefined reference to `edid_parse' crmfb.c:(.text+0x234c): relocation truncated to fit: R_MIPS_26 against `edid_parse' crmfb.c:(.text+0x2354): undefined reference to `edid_print' crmfb.c:(.text+0x2354): relocation truncated to fit: R_MIPS_26 against `edid_print'
|
1.9 |
| 13-Dec-2010 |
matt | branches: 1.9.2; Change definition of pc_bus_maxdevs to get a void * instead a pci_chipset_tag_t to match its use in pci_bus_maxdevs. This makes it the same as pci_conf_read and pci_conf_write. Change all struct device * to device_t. [Obviously nothing ever used the first argument to pc_bus_maxdevs since it could have never worked because it wasn't being passed a pci_chipset_tag_t.]
|
1.8 |
| 28-Apr-2008 |
martin | branches: 1.8.22; 1.8.26; Remove clause 3 and 4 from TNF licenses
|
1.7 |
| 17-Jan-2008 |
garbled | branches: 1.7.6; 1.7.8; 1.7.10; Add support to ofppc for the IBM 7044-270 machine. This is a POWER3-II based machine. Currently the kernel to run on this machine is incompatible with the standard GENERIC kernel, so for now, we have a separate GENERIC_B64. Eventually, I hope to combine the two.
Please note, this is a port of 32bit ofppc, not a powerpc64 port.
Thanks to Matt Thomas and Kevin Bowling for helping to make this port possible.
Summary of changes:
Change ofwpci to use the ofmethod config for configuring the PCI bus, rather than indirect configuration. Move the wiring of the interrupt controllers from at the start of the boot, into the configuration of the first PCI bus. Rewrite the map_isa_ioregs() hack to work on a machine without BATs Fix a ton of bugs in the genofw_find_pics routine, and in the map_space code. Split the pic_openpic into openpic_common and pic_openpic. Create a new pic_distopenpic driver, for the distributed openpic found on some newer IBM machines. Fix a bad panic in pmap_extract on 64bit bridge mode
|
1.6 |
| 25-Dec-2007 |
macallan | get rid of macppc's private pci_bus_dma_tag
|
1.5 |
| 24-Dec-2007 |
macallan | check for __HAVE_PRIVATE_PCI_BUS_DMA_TAG instead of macppc when (not) declaring pci_bus_dma_tag while there move #include <machine/isa_machdep.h> to the ISA block so archs without ISA won't see it. Now macppc builds again.
|
1.4 |
| 20-Dec-2007 |
phx | VT8231 IDE workaround for native mode with "compatibility" interrupts 14/15. This time done right by calling pciide_machdep_compat_intr_establish() to get a MD interrupt handler. Verified that it compiles for XEN again.
|
1.3 |
| 15-Dec-2007 |
perry | __FUNCTION__ -> __func__
|
1.2 |
| 17-Oct-2007 |
garbled | branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8; 1.2.10; 1.2.14; Merge the ppcoea-renovation branch to HEAD.
This branch was a major cleanup and rototill of many of the various OEA cpu based PPC ports that focused on sharing as much code as possible between the various ports to eliminate near-identical copies of files in every tree. Additionally there is a new PIC system that unifies the interface to interrupt code for all different OEA ppc arches. The work for this branch was done by a variety of people, too long to list here.
TODO: bebox still needs work to complete the transition to -renovation. ofppc still needs a bunch of work, which I will be looking at. ev64260 still needs to be renovated amigappc was not attempted.
NOTES: pmppc was removed as an arch, and moved to a evbppc target.
|
1.1 |
| 01-May-2007 |
garbled | branches: 1.1.2; 1.1.6; 1.1.8; file pci_machdep_common.c was initially added on branch ppcoea-renovation.
|
1.1.8.1 |
| 18-Oct-2007 |
yamt | sync with head.
|
1.1.6.1 |
| 02-Nov-2007 |
joerg | More diff reduce to HEAD due to botched up merging.
|
1.1.2.4 |
| 09-May-2007 |
garbled | Convert pmppc to generic pci. Also fix the prototype for pci_conf_interrupt while I'm here.
|
1.1.2.3 |
| 06-May-2007 |
macallan | switch macppc over to generic PCI code from arch/powerpc/pci
|
1.1.2.2 |
| 01-May-2007 |
garbled | Add a generic pci_intr_map() function (looks like macppc and ibmnws use this)
|
1.1.2.1 |
| 01-May-2007 |
garbled | Per suggestion from Matt, rename these two files.
|
1.2.14.2 |
| 19-Jan-2008 |
bouyer | Sync with HEAD
|
1.2.14.1 |
| 02-Jan-2008 |
bouyer | Sync with HEAD
|
1.2.10.1 |
| 26-Dec-2007 |
ad | Sync with head.
|
1.2.8.4 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.2.8.3 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.2.8.2 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.2.8.1 |
| 17-Oct-2007 |
matt | file pci_machdep_common.c was added on branch matt-armv6 on 2007-11-06 23:20:48 +0000
|
1.2.6.1 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.2.4.3 |
| 21-Jan-2008 |
yamt | sync with head
|
1.2.4.2 |
| 27-Oct-2007 |
yamt | sync with head.
|
1.2.4.1 |
| 17-Oct-2007 |
yamt | file pci_machdep_common.c was added on branch yamt-lazymbuf on 2007-10-27 11:27:56 +0000
|
1.2.2.2 |
| 23-Oct-2007 |
ad | Sync with head.
|
1.2.2.1 |
| 17-Oct-2007 |
ad | file pci_machdep_common.c was added on branch vmlocking on 2007-10-23 20:36:12 +0000
|
1.7.10.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.7.8.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.7.6.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.8.26.1 |
| 07-Jan-2011 |
matt | Change bus_maxdevs to be passed pc->pc_conf_v instead pc (e.g. like the rest of the conf calls).
|
1.8.22.2 |
| 21-Apr-2011 |
rmind | sync with head
|
1.8.22.1 |
| 05-Mar-2011 |
rmind | sync with head
|
1.9.2.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.10.2.1 |
| 23-Jun-2011 |
cherry | Catchup with rmind-uvmplock merge.
|
1.14.6.1 |
| 18-Feb-2012 |
mrg | merge to -current.
|
1.14.2.3 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.14.2.2 |
| 23-Jan-2013 |
yamt | sync with head
|
1.14.2.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.15.6.3 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.15.6.2 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.15.6.1 |
| 25-Feb-2013 |
tls | resync with head
|
1.18.4.1 |
| 18-May-2014 |
rmind | sync with head
|
1.20.10.1 |
| 04-Nov-2016 |
pgoyette | Sync with HEAD
|
1.20.6.2 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
1.20.6.1 |
| 05-Dec-2016 |
skrll | Sync with HEAD
|