Home | History | Annotate | Download | only in include
History log of /src/sys/arch/prep/include/platform.h
RevisionDateAuthorComments
 1.17  18-Jun-2011  matt struct device * -> device_t
struct cfdata * -> cfdata_t
use device accessors, use device_private.
some softc/device_t splits (macppc needs a bunch more)
aprint*_dev used considerably more
 1.16  28-Apr-2008  martin branches: 1.16.32;
Remove clause 3 and 4 from TNF licenses
 1.15  17-Oct-2007  garbled branches: 1.15.16; 1.15.18; 1.15.20;
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.14  27-Jun-2006  garbled branches: 1.14.14; 1.14.22; 1.14.32; 1.14.34; 1.14.36; 1.14.38;
General fixups:
1) Fix support for the powerstack E1. This machine needs to use the 8259
directly, and cannot use the prep interrupt vector register. Place a
quirk entry in the table for the machine.
2) Add a new com0_vreset boot image. The vreset code only works on a few
machines, and breaks others like the 7025-F40. Its only limitedly useful
when used with the com0, so just make it an optional image the user can
install by hand if they want.
3) Bump the bootloader to 1.8 with the above change.
 1.13  09-Jun-2006  garbled branches: 1.13.2;
Completely rework how we look up PCI interrupts on prep:

1) Rather than build an array of the pci->intr mappings, build a proplib
tree.
2) add a SIMPLEQ of device properties to the pci_chipset_tag to hold the
proplib trees of each bus.
3) Move the interrupt routing code from pci_conf_interrupt to pci_map_intr()
4) Deal properly with non-native PCI bridge chips that are not recognized
by the prep firmware, and therefore are not noted in the residual data.

The major win of this restructure is #4. Hopefully I haven't broken
anything. Tested on a 7248-100, 7043-140 and 7024-E20.
 1.12  09-Mar-2006  garbled branches: 1.12.4;
Prep super-commit:

1) create new pnpbus psuedo bus. This is a bus layer that reads the PNP
tree from the residual data and allows attachment of devices with the
information given therein. Based loosely on i386/pnpbios.

2) Delete obio bus, as with the pnp bus we no longer need it.

3) Create a number of functions that gather the information needed to set
up the machine from the residual data, rather than hardcoding it in.

4) Create a quirk table for machines that are bizzare enough that the
residual information is not sufficient. (such as the 6015)

5) Using the data gathering routines and the quirk table, delete struct
platform completely from the architecture. Prep is now almost completely
dynamic in figuring out the machine it is running on and setting things
up properly.

6) Add a wdc_pnpbus driver which attaches the wdc controller found on
some 7248's and the 6015. This replaces the now-defunct wdc_obio.

7) delete all the mot_* and ibm_* files, and replace them with a single
ibm_machdep.c which only contains the quirk functions for the 6015 and
the 6050.

8) Modify GENERIC to work with all this stuff.
 1.11  23-Feb-2006  garbled branches: 1.11.2; 1.11.4;
Commit support for the IBM Model 7024 E20 and E30. (E30 not tested).

Changes:
Added a pci-EISA bridge device and associated glue to the prep port.
Adapted from i386.
Change pci_intr_fixup_*() to pass the pin argument on all platforms.
Make PCI_NETBSD_CONFIGURE leave the MPIC alone. We map it separately.

7024 kernel was also succ. tested on an IBM 7043, so no regression there.
 1.10  11-Dec-2005  christos branches: 1.10.2; 1.10.4; 1.10.6;
merge ktrace-lwp.
 1.9  13-Jan-2005  kleink branches: 1.9.10;
Pass the interrupt swizzle down to the platforms' fixup functions.
N.B. Only using it on the ulmb60xa for now.
 1.8  26-Jun-2004  kleink Add platform support for the IBM RS/6000 6015 a/k/a 7020-001 a/k/a 40P.
 1.7  16-Jan-2003  matt branches: 1.7.2;
Add platform support for the IBM PPS Model 6040 (E) (aka ThinkPad 820).
 1.6  30-May-2002  nonaka Support IBM RS/6000 43P 7043-140.
 1.5  02-May-2002  nonaka branches: 1.5.2;
Added IBM Personal Power Series 830 IDE controller support.
 1.4  02-May-2002  nonaka rename reset_ibm_generic() -> reset_prep_generic().
 1.3  26-Feb-2002  kleink Add platform support for the Motorola Ultra Plus and Ultra 60x boards.

Note that this currently matches only the boards built into Bull Estrella
systems, as Bull chose to change the board identification string whose
original content is not known at this time.
 1.2  24-Feb-2002  kleink In order to support both indirect PCI configuration space access as well
as direct-mapped PCI configuration space access (such as implemented on
the IBM 27-82650 PCI Host Bridge), switch to a function vector based
PCI configuration space access implementation. The appropriate PCI
chipset tag is provided by platform-specific code.
 1.1  20-Jun-2001  nonaka branches: 1.1.2; 1.1.8;
Seprate model depended code. (based on arc 'struct platform')

files.prep:
- add new files entry.

pci_machdep.c:
- use dev/pci/pciconf.c instead of mine for pci io/mem addr/intr fixup.

cpu.c:
- separate code

machdep.c:
- call ident_platform()

mainbus.c:
- call pci_configure_bus(), if defined PCI_NETBSD_CONFIGURE

ibm_machdep.c:
- for IBM PReP generic

ibm_6050.c:
- for IBM Personal Power Series 830/850

ibm_7248.c:
- for IBM RS6000/43P deppendency
 1.1.8.4  17-Jan-2003  thorpej Sync with HEAD.
 1.1.8.3  20-Jun-2002  nathanw Catch up to -current.
 1.1.8.2  28-Feb-2002  nathanw Catch up to -current.
 1.1.8.1  20-Jun-2001  nathanw file platform.h was added on branch nathanw_sa on 2002-02-28 04:11:29 +0000
 1.1.2.2  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.2.1  16-Mar-2002  jdolecek Catch up with -current.
 1.5.2.1  15-Jul-2002  gehenna catch up with -current.
 1.7.2.4  17-Jan-2005  skrll Sync with HEAD.
 1.7.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.7.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.7.2.1  03-Aug-2004  skrll Sync with HEAD
 1.9.10.3  27-Oct-2007  yamt sync with head.
 1.9.10.2  30-Dec-2006  yamt sync with head.
 1.9.10.1  21-Jun-2006  yamt sync with head.
 1.10.6.1  22-Apr-2006  simonb Sync with head.
 1.10.4.1  09-Sep-2006  rpaulo sync with head
 1.10.2.1  01-Mar-2006  yamt sync with head.
 1.11.4.1  19-Apr-2006  elad sync with head - hopefully this will work
 1.11.2.3  11-Aug-2006  yamt sync with head
 1.11.2.2  26-Jun-2006  yamt sync with head.
 1.11.2.1  13-Mar-2006  yamt sync with head.
 1.12.4.1  19-Jun-2006  chap Sync with head.
 1.13.2.1  13-Jul-2006  gdamore Merge from HEAD.
 1.14.38.1  25-Oct-2007  bouyer Sync with HEAD.
 1.14.36.1  18-Oct-2007  yamt sync with head.
 1.14.34.1  06-Nov-2007  matt sync with HEAD
 1.14.32.1  26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.14.22.1  01-May-2007  garbled Convert prep to use the new generic powerpc PCI stuff. There are
probably a few more things that can be made generic here. Tested on
7248-100.
 1.14.14.1  23-Oct-2007  ad Sync with head.
 1.15.20.1  16-May-2008  yamt sync with head.
 1.15.18.1  18-May-2008  yamt sync with head.
 1.15.16.1  02-Jun-2008  mjf Sync with HEAD.
 1.16.32.1  23-Jun-2011  cherry Catchup with rmind-uvmplock merge.

RSS XML Feed