Source-Changes archive

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

CVS commit: syssrc/sys/arch



Module Name:    syssrc
Committed By:   thorpej
Date:           Wed Jul 31 17:34:27 UTC 2002

Modified Files:
        syssrc/sys/arch/arm/arm32: bus_dma.c pmap.c
        syssrc/sys/arch/arm/footbridge/isa: isadma_machdep.c
        syssrc/sys/arch/arm/include: bus.h
        syssrc/sys/arch/arm/include/arm32: pmap.h
        syssrc/sys/arch/arm/ixp12x0: ixp12x0_pci_dma.c
        syssrc/sys/arch/arm/xscale: i80312_pci_dma.c i80312var.h i80321.c
            i80321_local_dma.c i80321_pci_dma.c i80321var.h
        syssrc/sys/arch/cats/cats: cats_machdep.c
        syssrc/sys/arch/cats/isa: isa_machdep.c
        syssrc/sys/arch/evbarm/ifpga: ifpga.c ifpga_pci.c
        syssrc/sys/arch/evbarm/integrator: int_bus_dma.c int_bus_dma.h
        syssrc/sys/arch/netwinder/isa: isa_machdep.c
        syssrc/sys/arch/netwinder/netwinder: netwinder_machdep.c
        syssrc/sys/arch/shark/isa: isadma_machdep.c
        syssrc/sys/arch/shark/ofw: ofw.c

Log Message:
Overhaul how DMA ranges work in the ARM bus_dma implementation.

A new "arm32_dma_range" structure now describes a DMA window, with
a system address base, bus address base, and length.  In addition to
providing info about which memory regions are legal for DMA, the new
structure provides address translation support, as well.

As before, if a tag does not list any ranges, then all addresses are
considered valid, and no DMA address translation is performed.

This allows us to remove a large chunk of code which was duplicated and
tweaked slightly (to do the address translation) from the stock ARM
bus_dma in the XScale IOP and ARM Integrator ports.

Test compiled on all ARM platforms, test booted on Intel IQ80321 and Shark.


To generate a diff of this commit:
cvs rdiff -r1.14 -r1.15 syssrc/sys/arch/arm/arm32/bus_dma.c
cvs rdiff -r1.102 -r1.103 syssrc/sys/arch/arm/arm32/pmap.c
cvs rdiff -r1.1 -r1.2 syssrc/sys/arch/arm/footbridge/isa/isadma_machdep.c
cvs rdiff -r1.5 -r1.6 syssrc/sys/arch/arm/include/bus.h
cvs rdiff -r1.54 -r1.55 syssrc/sys/arch/arm/include/arm32/pmap.h
cvs rdiff -r1.1 -r1.2 syssrc/sys/arch/arm/ixp12x0/ixp12x0_pci_dma.c
cvs rdiff -r1.4 -r1.5 syssrc/sys/arch/arm/xscale/i80312_pci_dma.c \
    syssrc/sys/arch/arm/xscale/i80321.c \
    syssrc/sys/arch/arm/xscale/i80321_pci_dma.c \
    syssrc/sys/arch/arm/xscale/i80321var.h
cvs rdiff -r1.5 -r1.6 syssrc/sys/arch/arm/xscale/i80312var.h
cvs rdiff -r1.2 -r1.3 syssrc/sys/arch/arm/xscale/i80321_local_dma.c
cvs rdiff -r1.31 -r1.32 syssrc/sys/arch/cats/cats/cats_machdep.c
cvs rdiff -r1.5 -r1.6 syssrc/sys/arch/cats/isa/isa_machdep.c
cvs rdiff -r1.9 -r1.10 syssrc/sys/arch/evbarm/ifpga/ifpga.c
cvs rdiff -r1.2 -r1.3 syssrc/sys/arch/evbarm/ifpga/ifpga_pci.c
cvs rdiff -r1.9 -r1.10 syssrc/sys/arch/evbarm/integrator/int_bus_dma.c
cvs rdiff -r1.1 -r1.2 syssrc/sys/arch/evbarm/integrator/int_bus_dma.h
cvs rdiff -r1.4 -r1.5 syssrc/sys/arch/netwinder/isa/isa_machdep.c
cvs rdiff -r1.33 -r1.34 \
    syssrc/sys/arch/netwinder/netwinder/netwinder_machdep.c
cvs rdiff -r1.1 -r1.2 syssrc/sys/arch/shark/isa/isadma_machdep.c
cvs rdiff -r1.16 -r1.17 syssrc/sys/arch/shark/ofw/ofw.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