Subject: CVS commit: [ppcoea-renovation] src/sys/arch/ofppc
To: None <source-changes@NetBSD.org>
From: Tim Rightnour <garbled@netbsd.org>
List: source-changes
Date: 06/21/2007 18:49:49
Module Name:	src
Committed By:	garbled
Date:		Thu Jun 21 18:49:49 UTC 2007

Modified Files:
	src/sys/arch/ofppc/conf [ppcoea-renovation]: GENERIC files.ofppc
	src/sys/arch/ofppc/include [ppcoea-renovation]: autoconf.h bus.h cpu.h
	    disklabel.h intr.h pci_machdep.h types.h
	src/sys/arch/ofppc/ofppc [ppcoea-renovation]: autoconf.c cpu.c locore.S
	    machdep.c mainbus.c
Added Files:
	src/sys/arch/ofppc/include [ppcoea-renovation]: grfioctl.h
	    isa_machdep.h openpicreg.h pio.h
	src/sys/arch/ofppc/isa [ppcoea-renovation]: isa_machdep.c
	src/sys/arch/ofppc/pci [ppcoea-renovation]: ofwpci.c
Removed Files:
	src/sys/arch/ofppc/conf [ppcoea-renovation]: BRIQ
	src/sys/arch/ofppc/firepower [ppcoea-renovation]: firepower.c
	    firepower_bus_io.c firepower_bus_mem.c firepower_dma.c
	    firepower_intr.c firepower_pci.c firepowerreg.h firepowervar.h
	src/sys/arch/ofppc/include [ppcoea-renovation]: irq.h platform.h
	src/sys/arch/ofppc/ofppc [ppcoea-renovation]: clock.c conf.c disksubr.c
	    platform.c
	src/sys/arch/ofppc/ofwgen [ppcoea-renovation]: ofwgen.c ofwgen_intr.c
	    ofwgenvar.h
	src/sys/arch/ofppc/pci [ppcoea-renovation]: pci_bus_io_chipdep.c
	    pci_bus_mem_chipdep.c

Log Message:
Completely rewrite ofppc from scratch.

1) Change it to be like the other ppc ports, and directly interface with
hardware, rather than trying to be slick and access everything through
the OFW.  Instead, we gather configuration information from OFW, and use
that to discover hardware.

2) Change it over to powerpc bus_space and bus_dma.

3) Timecounters, generic soft interrupts.

4) Make use of the shared code in powerpc. (pic code, oea, bat code, etc)

5) Probably other stuff..  almost nothing remains of the original port.

It is assumed that in it's present state this will not run on any
machines.  However, it should be pretty close, and will just need some
massaging and care from someone with access to hardware to make it work.
The code is written to target a CHRP compatible machine, but there is no
reason it cannot be ported to other machines like the Pegasos or Efika.
I simply don't have the knowledge of those machines to structure the code
for them, but I have attempted to keep it generic enough that such work
could still be done.

If anyone with access to hardware would like to take this on, I will
gladly assist as much as possible.


To generate a diff of this commit:
cvs rdiff -r1.29 -r0 src/sys/arch/ofppc/conf/BRIQ
cvs rdiff -r1.97 -r1.97.16.1 src/sys/arch/ofppc/conf/GENERIC
cvs rdiff -r1.26.10.1 -r1.26.10.2 src/sys/arch/ofppc/conf/files.ofppc
cvs rdiff -r1.16.32.1 -r0 src/sys/arch/ofppc/firepower/firepower.c
cvs rdiff -r1.3 -r0 src/sys/arch/ofppc/firepower/firepower_bus_io.c \
    src/sys/arch/ofppc/firepower/firepower_bus_mem.c \
    src/sys/arch/ofppc/firepower/firepower_dma.c \
    src/sys/arch/ofppc/firepower/firepowerreg.h
cvs rdiff -r1.10 -r0 src/sys/arch/ofppc/firepower/firepower_intr.c
cvs rdiff -r1.4 -r0 src/sys/arch/ofppc/firepower/firepower_pci.c
cvs rdiff -r1.2 -r0 src/sys/arch/ofppc/firepower/firepowervar.h
cvs rdiff -r1.5 -r1.5.72.1 src/sys/arch/ofppc/include/autoconf.h
cvs rdiff -r1.10 -r1.10.10.1 src/sys/arch/ofppc/include/bus.h
cvs rdiff -r1.19 -r1.19.72.1 src/sys/arch/ofppc/include/cpu.h
cvs rdiff -r1.6 -r1.6.68.1 src/sys/arch/ofppc/include/disklabel.h
cvs rdiff -r0 -r1.1.2.1 src/sys/arch/ofppc/include/grfioctl.h \
    src/sys/arch/ofppc/include/isa_machdep.h \
    src/sys/arch/ofppc/include/openpicreg.h src/sys/arch/ofppc/include/pio.h
cvs rdiff -r1.9 -r1.9.10.1 src/sys/arch/ofppc/include/intr.h
cvs rdiff -r1.1 -r0 src/sys/arch/ofppc/include/irq.h
cvs rdiff -r1.4 -r1.4.38.1 src/sys/arch/ofppc/include/pci_machdep.h
cvs rdiff -r1.2 -r0 src/sys/arch/ofppc/include/platform.h
cvs rdiff -r1.7 -r1.7.10.1 src/sys/arch/ofppc/include/types.h
cvs rdiff -r0 -r1.1.2.1 src/sys/arch/ofppc/isa/isa_machdep.c
cvs rdiff -r1.15 -r1.15.38.1 src/sys/arch/ofppc/ofppc/autoconf.c
cvs rdiff -r1.13 -r0 src/sys/arch/ofppc/ofppc/clock.c
cvs rdiff -r1.17 -r0 src/sys/arch/ofppc/ofppc/conf.c
cvs rdiff -r1.7 -r1.7.38.1 src/sys/arch/ofppc/ofppc/cpu.c
cvs rdiff -r1.19 -r0 src/sys/arch/ofppc/ofppc/disksubr.c
cvs rdiff -r1.35 -r1.35.38.1 src/sys/arch/ofppc/ofppc/locore.S
cvs rdiff -r1.91 -r1.91.10.1 src/sys/arch/ofppc/ofppc/machdep.c
cvs rdiff -r1.13 -r1.13.38.1 src/sys/arch/ofppc/ofppc/mainbus.c
cvs rdiff -r1.6 -r0 src/sys/arch/ofppc/ofppc/platform.c
cvs rdiff -r1.4 -r0 src/sys/arch/ofppc/ofwgen/ofwgen.c
cvs rdiff -r1.11 -r0 src/sys/arch/ofppc/ofwgen/ofwgen_intr.c
cvs rdiff -r1.2 -r0 src/sys/arch/ofppc/ofwgen/ofwgenvar.h
cvs rdiff -r0 -r1.1.2.1 src/sys/arch/ofppc/pci/ofwpci.c
cvs rdiff -r1.5 -r0 src/sys/arch/ofppc/pci/pci_bus_io_chipdep.c \
    src/sys/arch/ofppc/pci/pci_bus_mem_chipdep.c

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