Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/sys



Module Name:    src
Committed By:   dyoung
Date:           Mon Apr  4 20:37:57 UTC 2011

Modified Files:
        src/sys/arch/alpha/include: pci_machdep.h
        src/sys/arch/alpha/pci: pci_1000.c pci_1000a.c pci_2100_a50.c
            pci_2100_a500.c pci_550.c pci_6600.c pci_alphabook1.c
            pci_axppci_33.c pci_eb164.c pci_eb64plus.c pci_eb66.c pci_kn20aa.c
            pci_kn300.c pci_kn8ae.c pci_up1000.c pciide_machdep.c
        src/sys/arch/arc/include: pci_machdep.h
        src/sys/arch/arc/pci: necpb.c
        src/sys/arch/arm/footbridge: footbridge_pci.c
        src/sys/arch/arm/gemini: gemini_pci.c
        src/sys/arch/arm/include: pci_machdep.h
        src/sys/arch/arm/marvell: pci_machdep.c
        src/sys/arch/arm/s3c2xx0: s3c2800_pci.c
        src/sys/arch/arm/xscale: becc_pci.c
        src/sys/arch/atari/include: pci_machdep.h
        src/sys/arch/atari/pci: pci_machdep.c pciide_machdep.c
        src/sys/arch/cats/pci: pciide_machdep.c
        src/sys/arch/cobalt/include: pci_machdep.h
        src/sys/arch/cobalt/pci: pci_machdep.c pciide_machdep.c
        src/sys/arch/evbarm/cp3100: cp3100_pci.c
        src/sys/arch/evbarm/hdl_g: hdlg_pci.c
        src/sys/arch/evbarm/ifpga: ifpga_pci.c
        src/sys/arch/evbarm/iq31244: iq31244_pci.c
        src/sys/arch/evbarm/iq80310: iq80310_pci.c
        src/sys/arch/evbarm/iq80321: iq80321_pci.c
        src/sys/arch/evbarm/ixdp425: ixdp425_pci.c
        src/sys/arch/evbarm/ixm1200: ixm1200_pci.c
        src/sys/arch/evbarm/npwr_fc: npwr_fc_pci.c
        src/sys/arch/evbarm/nslu2: nslu2_pci.c
        src/sys/arch/evbmips/alchemy: board.h dbau1500.c dbau1550.c machdep.c
            mtx-1.c omsal400.c pciide_machdep.c
        src/sys/arch/evbmips/malta: malta_intr.c
        src/sys/arch/evbmips/malta/pci: pciide_machdep.c
        src/sys/arch/evbppc/include: pmppc_pci_machdep.h
        src/sys/arch/evbppc/obs405: obs200_machdep.c obs266_machdep.c
        src/sys/arch/evbppc/pmppc/pci: pci_machdep.c
        src/sys/arch/evbppc/walnut: machdep.c
        src/sys/arch/hp700/dev: apic.c dino.c elroyvar.h
        src/sys/arch/hp700/include: pci_machdep.h
        src/sys/arch/i386/pci: gcscide.c piixpcib.c
        src/sys/arch/mips/adm5120/dev: admpci.c
        src/sys/arch/mips/alchemy/dev: aupcivar.h
        src/sys/arch/mips/include: pci_machdep.h
        src/sys/arch/mips/rmi: rmixl_pcie.c rmixl_pcix.c
        src/sys/arch/netwinder/pci: pciide_machdep.c
        src/sys/arch/powerpc/booke/pci: pq3pci.c
        src/sys/arch/powerpc/include: pci_machdep.h
        src/sys/arch/powerpc/include/ibm4xx: pci_machdep.h
        src/sys/arch/powerpc/pci: pci_machdep_common.c pci_machdep_ofw.c
        src/sys/arch/prep/include: pci_machdep.h
        src/sys/arch/prep/pci: pci_machdep.c
        src/sys/arch/sandpoint/include: pci_machdep.h
        src/sys/arch/sandpoint/pci: pci_machdep.c pciide_machdep.c
        src/sys/arch/sparc/include: pci_machdep.h
        src/sys/arch/sparc/sparc: pci_machdep.c
        src/sys/arch/sparc64/dev: pci_machdep.c psycho.c pyro.c schizo.c
        src/sys/arch/sparc64/include: pci_machdep.h
        src/sys/arch/x86/acpi: acpi_cpu_md.c
        src/sys/arch/x86/include: pci_machdep_common.h
        src/sys/arch/x86/pci: ichlpcib.c pci_intr_machdep.c pciide_machdep.c
        src/sys/arch/xen/include: pci_machdep.h
        src/sys/arch/xen/xen: pci_intr_machdep.c pciide_machdep.c xpci_xenbus.c
        src/sys/dev/marvell: mvpex.c mvpexvar.h
        src/sys/dev/pci: acardide.c aceride.c agp.c agp_i810.c agp_intel.c
            artsata.c cmdide.c cs4280.c cypide.c ehci_pci.c geodeide.c hptide.c
            iteide.c ixpide.c jmide.c nside.c optiide.c pci.c pci_map.c
            pciide_common.c pciidevar.h pcivar.h pdcide.c pdcsata.c piixide.c
            rccide.c satalink.c schide.c siside.c slide.c stpcide.c svwsata.c
            toshide.c viaide.c
        src/sys/external/bsd/drm/dist/bsd-core: mga_drv.c

Log Message:
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'


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/alpha/include/pci_machdep.h
cvs rdiff -u -r1.22 -r1.23 src/sys/arch/alpha/pci/pci_1000.c
cvs rdiff -u -r1.24 -r1.25 src/sys/arch/alpha/pci/pci_1000a.c
cvs rdiff -u -r1.37 -r1.38 src/sys/arch/alpha/pci/pci_2100_a50.c
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/alpha/pci/pci_2100_a500.c
cvs rdiff -u -r1.33 -r1.34 src/sys/arch/alpha/pci/pci_550.c \
    src/sys/arch/alpha/pci/pci_kn300.c
cvs rdiff -u -r1.20 -r1.21 src/sys/arch/alpha/pci/pci_6600.c
cvs rdiff -u -r1.14 -r1.15 src/sys/arch/alpha/pci/pci_alphabook1.c
cvs rdiff -u -r1.34 -r1.35 src/sys/arch/alpha/pci/pci_axppci_33.c
cvs rdiff -u -r1.41 -r1.42 src/sys/arch/alpha/pci/pci_eb164.c
cvs rdiff -u -r1.21 -r1.22 src/sys/arch/alpha/pci/pci_eb64plus.c \
    src/sys/arch/alpha/pci/pci_eb66.c
cvs rdiff -u -r1.51 -r1.52 src/sys/arch/alpha/pci/pci_kn20aa.c
cvs rdiff -u -r1.25 -r1.26 src/sys/arch/alpha/pci/pci_kn8ae.c
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/alpha/pci/pci_up1000.c
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/alpha/pci/pciide_machdep.c
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/arc/include/pci_machdep.h
cvs rdiff -u -r1.34 -r1.35 src/sys/arch/arc/pci/necpb.c
cvs rdiff -u -r1.18 -r1.19 src/sys/arch/arm/footbridge/footbridge_pci.c
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/arm/gemini/gemini_pci.c
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/arm/include/pci_machdep.h
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/arm/marvell/pci_machdep.c
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/arm/s3c2xx0/s3c2800_pci.c
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/arm/xscale/becc_pci.c
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/atari/include/pci_machdep.h
cvs rdiff -u -r1.48 -r1.49 src/sys/arch/atari/pci/pci_machdep.c
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/atari/pci/pciide_machdep.c
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/cats/pci/pciide_machdep.c
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/cobalt/include/pci_machdep.h
cvs rdiff -u -r1.28 -r1.29 src/sys/arch/cobalt/pci/pci_machdep.c
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/cobalt/pci/pciide_machdep.c
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/evbarm/cp3100/cp3100_pci.c
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/evbarm/hdl_g/hdlg_pci.c
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/evbarm/ifpga/ifpga_pci.c
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/evbarm/iq31244/iq31244_pci.c
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/evbarm/iq80310/iq80310_pci.c
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/evbarm/iq80321/iq80321_pci.c
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/evbarm/ixdp425/ixdp425_pci.c
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/evbarm/ixm1200/ixm1200_pci.c
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/evbarm/npwr_fc/npwr_fc_pci.c
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/evbarm/nslu2/nslu2_pci.c
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/evbmips/alchemy/board.h \
    src/sys/arch/evbmips/alchemy/dbau1500.c \
    src/sys/arch/evbmips/alchemy/mtx-1.c
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/evbmips/alchemy/dbau1550.c
cvs rdiff -u -r1.49 -r1.50 src/sys/arch/evbmips/alchemy/machdep.c
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/evbmips/alchemy/omsal400.c
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/evbmips/alchemy/pciide_machdep.c
cvs rdiff -u -r1.20 -r1.21 src/sys/arch/evbmips/malta/malta_intr.c
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/evbmips/malta/pci/pciide_machdep.c
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/evbppc/include/pmppc_pci_machdep.h
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/evbppc/obs405/obs200_machdep.c
cvs rdiff -u -r1.14 -r1.15 src/sys/arch/evbppc/obs405/obs266_machdep.c
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/evbppc/pmppc/pci/pci_machdep.c
cvs rdiff -u -r1.47 -r1.48 src/sys/arch/evbppc/walnut/machdep.c
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/hp700/dev/apic.c
cvs rdiff -u -r1.30 -r1.31 src/sys/arch/hp700/dev/dino.c
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/hp700/dev/elroyvar.h
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/hp700/include/pci_machdep.h
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/i386/pci/gcscide.c
cvs rdiff -u -r1.19 -r1.20 src/sys/arch/i386/pci/piixpcib.c
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/mips/adm5120/dev/admpci.c
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/mips/alchemy/dev/aupcivar.h
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/mips/include/pci_machdep.h
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/mips/rmi/rmixl_pcie.c
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/mips/rmi/rmixl_pcix.c
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/netwinder/pci/pciide_machdep.c
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/powerpc/booke/pci/pq3pci.c
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/powerpc/include/pci_machdep.h
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/powerpc/include/ibm4xx/pci_machdep.h
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/powerpc/pci/pci_machdep_common.c
cvs rdiff -u -r1.14 -r1.15 src/sys/arch/powerpc/pci/pci_machdep_ofw.c
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/prep/include/pci_machdep.h
cvs rdiff -u -r1.33 -r1.34 src/sys/arch/prep/pci/pci_machdep.c
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/sandpoint/include/pci_machdep.h
cvs rdiff -u -r1.25 -r1.26 src/sys/arch/sandpoint/pci/pci_machdep.c
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/sandpoint/pci/pciide_machdep.c
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/sparc/include/pci_machdep.h
cvs rdiff -u -r1.14 -r1.15 src/sys/arch/sparc/sparc/pci_machdep.c
cvs rdiff -u -r1.70 -r1.71 src/sys/arch/sparc64/dev/pci_machdep.c
cvs rdiff -u -r1.104 -r1.105 src/sys/arch/sparc64/dev/psycho.c
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/sparc64/dev/pyro.c
cvs rdiff -u -r1.18 -r1.19 src/sys/arch/sparc64/dev/schizo.c
cvs rdiff -u -r1.24 -r1.25 src/sys/arch/sparc64/include/pci_machdep.h
cvs rdiff -u -r1.57 -r1.58 src/sys/arch/x86/acpi/acpi_cpu_md.c
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/x86/include/pci_machdep_common.h
cvs rdiff -u -r1.28 -r1.29 src/sys/arch/x86/pci/ichlpcib.c
cvs rdiff -u -r1.18 -r1.19 src/sys/arch/x86/pci/pci_intr_machdep.c
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/x86/pci/pciide_machdep.c
cvs rdiff -u -r1.17 -r1.18 src/sys/arch/xen/include/pci_machdep.h
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/xen/xen/pci_intr_machdep.c
cvs rdiff -u -r1.17 -r1.18 src/sys/arch/xen/xen/pciide_machdep.c
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/xen/xen/xpci_xenbus.c
cvs rdiff -u -r1.3 -r1.4 src/sys/dev/marvell/mvpex.c
cvs rdiff -u -r1.1 -r1.2 src/sys/dev/marvell/mvpexvar.h
cvs rdiff -u -r1.24 -r1.25 src/sys/dev/pci/acardide.c
cvs rdiff -u -r1.29 -r1.30 src/sys/dev/pci/aceride.c
cvs rdiff -u -r1.78 -r1.79 src/sys/dev/pci/agp.c
cvs rdiff -u -r1.72 -r1.73 src/sys/dev/pci/agp_i810.c
cvs rdiff -u -r1.36 -r1.37 src/sys/dev/pci/agp_intel.c
cvs rdiff -u -r1.20 -r1.21 src/sys/dev/pci/artsata.c src/sys/dev/pci/rccide.c \
    src/sys/dev/pci/stpcide.c
cvs rdiff -u -r1.31 -r1.32 src/sys/dev/pci/cmdide.c
cvs rdiff -u -r1.60 -r1.61 src/sys/dev/pci/cs4280.c
cvs rdiff -u -r1.23 -r1.24 src/sys/dev/pci/cypide.c
cvs rdiff -u -r1.50 -r1.51 src/sys/dev/pci/ehci_pci.c
cvs rdiff -u -r1.18 -r1.19 src/sys/dev/pci/geodeide.c \
    src/sys/dev/pci/ixpide.c src/sys/dev/pci/optiide.c
cvs rdiff -u -r1.27 -r1.28 src/sys/dev/pci/hptide.c src/sys/dev/pci/pci_map.c
cvs rdiff -u -r1.11 -r1.12 src/sys/dev/pci/iteide.c
cvs rdiff -u -r1.9 -r1.10 src/sys/dev/pci/jmide.c
cvs rdiff -u -r1.1 -r1.2 src/sys/dev/pci/nside.c src/sys/dev/pci/schide.c
cvs rdiff -u -r1.135 -r1.136 src/sys/dev/pci/pci.c
cvs rdiff -u -r1.48 -r1.49 src/sys/dev/pci/pciide_common.c
cvs rdiff -u -r1.42 -r1.43 src/sys/dev/pci/pciidevar.h \
    src/sys/dev/pci/satalink.c
cvs rdiff -u -r1.91 -r1.92 src/sys/dev/pci/pcivar.h
cvs rdiff -u -r1.28 -r1.29 src/sys/dev/pci/pdcide.c
cvs rdiff -u -r1.19 -r1.20 src/sys/dev/pci/pdcsata.c
cvs rdiff -u -r1.56 -r1.57 src/sys/dev/pci/piixide.c
cvs rdiff -u -r1.26 -r1.27 src/sys/dev/pci/siside.c
cvs rdiff -u -r1.21 -r1.22 src/sys/dev/pci/slide.c
cvs rdiff -u -r1.12 -r1.13 src/sys/dev/pci/svwsata.c
cvs rdiff -u -r1.3 -r1.4 src/sys/dev/pci/toshide.c
cvs rdiff -u -r1.71 -r1.72 src/sys/dev/pci/viaide.c
cvs rdiff -u -r1.7 -r1.8 src/sys/external/bsd/drm/dist/bsd-core/mga_drv.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



Home | Main Index | Thread Index | Old Index