History log of /openbsd-current/sys/arch/powerpc/conf/files.powerpc
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.57 06-Jan-2023 miod

Remove copystr(9), unless used internally by copy{in,out}str.


# 1.56 22-Oct-2022 gkoehler

AltiVec assist for subnormal floats in vectors

The old CPU in a macppc traps AltiVec instructions when they encounter
denormal or subnormal floats. Emulate most of them. They operate on
vectors of 4 single-precision floats. The emulations either use
scalar operations (so vmaddfp becomes 4 of fmadds) or a formula (like
vrsqrtefp's 1 / sqrt(b) = 1 / sqrt(b * 2**126) * 2**63).

I am forgetting to emulate some instructions (at least vrfin, vrfiz,
vrfip, vrfim). If I don't emulate it, it will still cause SIGFPE.

Mac OS never emulated these instructions, but set AltiVec's "non-Java"
NJ bit (which changes all subnormal floats to zero). FreeBSD also
sets NJ; NetBSD does SIGFPE; Linux emulates them. The POWER9 running
OpenBSD/powerpc64 does them in hardware (without trapping).

ok kettenis@ miod@


Revision tags: OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE OPENBSD_7_1_BASE OPENBSD_7_2_BASE
# 1.55 25-Jan-2018 mpi

Move common mutex implementations to a MI place.

Archs not yet converted can to the jump by defining __USE_MI_MUTEX.

ok visa@


Revision tags: OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.54 05-Mar-2016 mpi

One ddb interface is enough for ppc.


Revision tags: OPENBSD_5_9_BASE
# 1.53 14-Aug-2015 dlg

replace the asm mutexes with a c implementation.

there's no real functional advantage to this, except that it will
make it easier to add deadlock detection to the code.

this is modelled on the c mutex implementation thats on alpha,
mips64, and hppa.

ok mpi@ kettenis@


Revision tags: OPENBSD_5_8_BASE
# 1.52 17-Jul-2015 tedu

remove obsolete INET kernel option


# 1.51 26-Jun-2015 dlg

move the ppc mplock implementation from macppc to powerpc.

ok mpi@


Revision tags: OPENBSD_5_7_BASE
# 1.50 20-Jan-2015 mpi

Merge two copies of the (almost) identical bus space code into one file.

This brings bus_space_mmap(9) to socppc and change its bus_space_map(9)
implementation to use kernel_map instead of phys_map like macppc and
everybody else.


# 1.49 20-Jan-2015 mpi

Merge two copies of the same dma code into one file and sync the headers.

ok kettenis@


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.48 13-Jun-2013 deraadt

don't use a ridiculous private copy of bcopy which is just like libc.
At least try to do a better job in libkern (not yet, but one day soon)


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.47 01-Oct-2009 kettenis

Generic soft interrupts for macppc. Tested by mk@, deraadt@
ok miod@


Revision tags: OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.46 25-Apr-2008 jmc

neccessary -> necessary; from Pierre Riteau


Revision tags: OPENBSD_4_3_BASE
# 1.45 25-Nov-2007 deraadt

libkern, begone. Move to a new mechanism where config(8)'s "file"
directive can select between MI and MD versions of these files. At
the same time, adjust the boot programs to pick exactly what they need,
instead of the 7 or 8 mechanisms previously used.

There will be some fallout from this, but testing it all by myself is a
ridiculously slow process; it will be finished in-tree.

Various developers were very nice and avoided making fun of me when I
was gibbering in the corner..


# 1.44 14-Nov-2007 thib

Turn the spl* macros into functions.
Shaves a few bytes of the kernel.
No measurable performance loss.

ok drahn@, kettenis@


# 1.43 10-Oct-2007 art

Make context switching much more MI:
- Move the functionality of choosing a process from cpu_switch into
a much simpler function: cpu_switchto. Instead of having the locore
code walk the run queues, let the MI code choose the process we
want to run and only implement the context switching itself in MD
code.
- Let MD context switching run without worrying about spls or locks.
- Instead of having the idle loop implemented with special contexts
in MD code, implement one idle proc for each cpu. make the idle
loop MI with MD hooks.
- Change the proc lists from the old style vax queues to TAILQs.
- Change the sleep queue from vax queues to TAILQs. This makes
wakeup() go from O(n^2) to O(n)

there will be some MD fallout, but it will be fixed shortly.
There's also a few cleanups to be done after this.

deraadt@, kettenis@ ok


Revision tags: OPENBSD_4_2_BASE
# 1.42 22-Mar-2007 kettenis

Move powerpc to __HAVE_MUTEX. With help from drahn@. Tested by nick@, xsa@,
deraadt@.

"reads right" deraadt@


Revision tags: OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE
# 1.41 08-Nov-2005 kettenis

Add support for 64-bit SPRs.
ok drahn@


Revision tags: OPENBSD_3_8_BASE
# 1.40 02-May-2005 brad

New in{,4}_cksum that is between 1.5 and 5 times faster than the
old version depending on CPU type.

From NetBSD

ok drahn@


# 1.39 01-May-2005 brad

To allow for MD override of in4_cksum()...

ok deraadt@


Revision tags: OPENBSD_3_7_BASE
# 1.38 08-Mar-2005 tdeval

Cosmetics...
Mainly remove space between locators parens, replace spaces with tabs
where appropriate and consistently align dependencies.


Revision tags: OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE SMP_SYNC_A SMP_SYNC_B UBC_SYNC_A
# 1.37 09-Jan-2003 miod

Remove fetch(9) and store(9) functions from the kernel, and replace the few
remaining instances of them with appropriate copy(9) usage.

ok art@, tested on all arches unless my memory is non-ECC


Revision tags: OPENBSD_3_2_BASE UBC_SYNC_B
# 1.36 08-Jun-2002 miod

One ddb to rule them all.

Move the ddb files form macppc/macppc to powerpc/ddb, so that mvmeppc
can benefit from the better ddb that was in macppc.
db_interface.c is left as an md part.


Revision tags: OPENBSD_3_1_BASE
# 1.35 13-Mar-2002 drahn

Complete rewrite of the powerpc pmap handling, Instead of keeping
the spill list for each PTEG, the V->P translations are stored in
trees for each pmap. All valid kernel mappings are preallocated
in 1-1 memory so that tlb spill/loads for kernel accesses can be
looked up while physical, user mappings are not guaranteed to
be 1-1 mapped, thus the kernel must go virtual to look up user
mappings. While this is more expensive, the tree search is much
lower cost than the long linked list search. Also on each pmap_remove()
it was necessary to search the linked lists for each possible mapping,
now it just looks up the entry in the tree.
This change gives a 25-36% speedup in 'make build' time. What was
around 2:50 is now around 1:55 on a 733MHz G4.

This change causes a likely existing bug to appear quite often,
it deals with the segment register invalidation in kernel mode.
Because of that problem, currently this change limits the physical
memory used to 256MB. This limitation will be fixed soon, it is not
an error in the pmap code.

* Effort sponsored in part by the Defense Advanced Research Projects
* Agency (DARPA) and Air Force Research Laboratory, Air Force
* Materiel Command, USAF, under agreement number F30602-01-2-0537.


Revision tags: OPENBSD_3_0_BASE UBC_BASE
# 1.34 01-Sep-2001 drahn

branches: 1.34.4;
The "powerpc" port which has supported the newer Apple Macintosh powerpc based
is being renamed to macppc. This is to allow sharing of common code
between different powerpc base platforms.

Most of the work involved in the renaming process was performed by miod@

Files moved from powerpc/conf to macppc/conf

files.powerpc was modified to keep powerpc common files.


# 1.33 04-Jul-2001 niklas

$OpenBSD$


# 1.32 26-Jun-2001 drahn

Add pciide support for powerpc.
Yes Theo, you found my bug, but the tree broke
because you referenced devices that were not enabled, yet.


# 1.31 26-Jun-2001 mickey

accomodate for i2o addition


# 1.30 25-Jun-2001 deraadt

obio -> macobio, and cleanups


# 1.29 25-Jun-2001 drahn

Add support for airport cards on powerpc.
Only tested on Ti, but may/should work on
other systems.


# 1.28 29-May-2001 drahn

Hardware clock support, via adb.
This reduces the dependancy on openfirmware somewhat.
Since Openfirmware is not actually used for anything,
it is no longer necessary to configure it. so several lines of
useless dmesg are now gone.

This does not have clock setting code enabled yet.
All of the code is in place, but needs further testing before
it is trusted.

I wish Apple would store UTC not localtime in the hardware clock,
besides the fact that the clock base is 1904.

Need to keep the clock sane for dual boot machines.


# 1.27 11-May-2001 deraadt

unify rd(4) even more


# 1.26 11-May-2001 deraadt

unify


Revision tags: OPENBSD_2_9_BASE
# 1.25 29-Mar-2001 drahn

Add support for new gpio, abtn, and awacs devices.
Some cleanup, hints at future direction.


# 1.24 01-Mar-2001 drahn

Fix (or a least hack around) console configuration changes to wscons.
Needs to be looked at closer, but seems to work. Mostly copied from i386.


# 1.23 30-Jan-2001 drahn

Missed this file in adding ADB keyboard and mouse files for powerpc.


Revision tags: OPENBSD_2_8_BASE
# 1.22 16-Oct-2000 drahn

configuration changes to enable the uni-north memory controller to enable
the ethernet pci bus. Allows the gm ethernet controller to configure.


# 1.21 06-Sep-2000 rahnds

Remove isa pieces, add vgafb as a powerpc specific device.


# 1.20 07-Jul-2000 rahnds

esp files commented out for now, since the MI esp driver was added.
the mac esp driver was not yet ported, when that is done, this will
be readded appropriately.


Revision tags: OPENBSD_2_7_BASE
# 1.19 31-Mar-2000 rahnds

Add pchb PCi Host Bridge dummy device to print devices nicely, instead of
"not configured"


# 1.18 25-Mar-2000 rahnds

if_gm attaches on pci, not macobio.


# 1.17 23-Mar-2000 rahnds

add mii and if_gm ethernet.


# 1.16 20-Mar-2000 rahnds

early support for busdma added, allows USBMAC config to attach ohci USB,
however, it claims "legacy support: unsupported" which then causes
the imac to not config USB further.

Changes to *MAC to support openpic interrupt controller, G4 (uninorth)
is almost supported, but hangs during root mount.


Revision tags: SMP_BASE kame_19991208
# 1.15 25-Nov-1999 rahnds

branches: 1.15.2;
Properly fix the last checkin, the pseudo device rd is now a mi device and
is not to be specified in files.<arch> but if the arch has rd_attach_hook
and rd_open_hook, the file that these are in need to be included in
that files.<arch> file.


# 1.14 25-Nov-1999 rahnds

Add back rd_ md hooks that was incorrectly removed with the recent rd changes.


# 1.13 08-Nov-1999 rahnds

Support for imac drivers, Additional configurations for mac kernels.
Some mac drivers mentioned in the config files may not be be currently
supported.


# 1.12 08-Nov-1999 mickey

move MI definition of rd into it's MI place also fixing
attributes, allowing kernels to exist w/ rd as the only disk device.
tested on a few archs; niels@ & millert@ ok


Revision tags: OPENBSD_2_6_BASE
# 1.11 30-Jul-1999 deraadt

acd goes away


Revision tags: OPENBSD_2_5_BASE
# 1.10 23-Jan-1999 rahnds

Fixes to update to that the powerpc port builds again.
These change were necessary due to the following changes:
The change/import of the "generic" isa/pcppi driver. The powerpc
port currently has it's own copy of that driver. The two versions
need to be merged.
The parameter changes to cpu_set_kpc. The powerpc change was not quite correct.


Revision tags: OPENBSD_2_4_BASE
# 1.9 27-Sep-1998 rahnds

add wscons support to powerpc port.
This contains several pieces of the port
MI:
vgafb, on powerpc under openfirmware the vga card comes up in gfx mode.
instead of resetting it to text mode, vgafb treats this as a raster
display. The mechanism used may not have been the best, it's
interface to wscons is as a text display, and it does the character
plotting itself.
font_8x16.c was stolen from the atari port for use.

MD:
ppcppi support stolen from alpha
pms.c, pckbd.c and the rest of the support files were
used nearly directly.

powerpc
conf.c to support wscon, vga/kbd
machdep.c hack to get around a bus_space_set_region,bus_space_copy error.
ofw_machdep.c some hack code on the road to supporting wscons as console.


# 1.8 09-Sep-1998 rahnds

Fix openfirmware attachment for openfirmware only systems.
if only ofrtc, still need the openfirmware support files.


# 1.7 22-Aug-1998 rahnds

Various changes to allow mixing of ofw drivers and real drivers.
NCR driver seems to work.
Major changes are isa can be child of pci or mainbus.
ofroot is child of mainbus not root.
ofw bus configured before pci bus
Note that if a pci device configures accessing of driver will crash
the system. they need to be exclusive.


# 1.6 29-May-1998 rahnds

Major changes here and there, tweaks elsewhere.
Support for Openfirmware drivers was reintroduced so that more systems
were supported. This should work with the real driver configurations
as well.

Bootloader files were deleted/replaced with the newer versions in the
subdirectory. Some effort has been made to be closer to support booting
(at least the bootloader) on the Mac.

Config files that end with OFW are the openfirmware versions of the kernels
without have native drivers.

Native driver support has not been changed, presumably it still works.
I couldn't test that.


Revision tags: OPENBSD_2_3_BASE
# 1.5 06-Apr-1998 pefo

New config stuff + Makefile fix to make gcc 2.8.1 work. Thanks to Dale Rahn!


Revision tags: OPENBSD_2_2_BASE
# 1.4 13-Oct-1997 pefo

Monolithic PowerPC kernel configuration files


Revision tags: OPENBSD_2_1_BASE
# 1.3 06-Feb-1997 rahnds

PowerPC pieces for ramdisk (rd) changes this is adds majors,
rd_root pieces, config file to generate MINIROOT with rdroot and
MAKEDEV changes as well as adding the rd device to known device types.


# 1.2 28-Dec-1996 rahnds

Changes necessary to make the kernel compile and boot.
Some merging with NetBSD port.


# 1.1 21-Dec-1996 rahnds

branches: 1.1.1;
Initial revision


# 1.56 22-Oct-2022 gkoehler

AltiVec assist for subnormal floats in vectors

The old CPU in a macppc traps AltiVec instructions when they encounter
denormal or subnormal floats. Emulate most of them. They operate on
vectors of 4 single-precision floats. The emulations either use
scalar operations (so vmaddfp becomes 4 of fmadds) or a formula (like
vrsqrtefp's 1 / sqrt(b) = 1 / sqrt(b * 2**126) * 2**63).

I am forgetting to emulate some instructions (at least vrfin, vrfiz,
vrfip, vrfim). If I don't emulate it, it will still cause SIGFPE.

Mac OS never emulated these instructions, but set AltiVec's "non-Java"
NJ bit (which changes all subnormal floats to zero). FreeBSD also
sets NJ; NetBSD does SIGFPE; Linux emulates them. The POWER9 running
OpenBSD/powerpc64 does them in hardware (without trapping).

ok kettenis@ miod@


Revision tags: OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE OPENBSD_7_1_BASE OPENBSD_7_2_BASE
# 1.55 25-Jan-2018 mpi

Move common mutex implementations to a MI place.

Archs not yet converted can to the jump by defining __USE_MI_MUTEX.

ok visa@


Revision tags: OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.54 05-Mar-2016 mpi

One ddb interface is enough for ppc.


Revision tags: OPENBSD_5_9_BASE
# 1.53 14-Aug-2015 dlg

replace the asm mutexes with a c implementation.

there's no real functional advantage to this, except that it will
make it easier to add deadlock detection to the code.

this is modelled on the c mutex implementation thats on alpha,
mips64, and hppa.

ok mpi@ kettenis@


Revision tags: OPENBSD_5_8_BASE
# 1.52 17-Jul-2015 tedu

remove obsolete INET kernel option


# 1.51 26-Jun-2015 dlg

move the ppc mplock implementation from macppc to powerpc.

ok mpi@


Revision tags: OPENBSD_5_7_BASE
# 1.50 20-Jan-2015 mpi

Merge two copies of the (almost) identical bus space code into one file.

This brings bus_space_mmap(9) to socppc and change its bus_space_map(9)
implementation to use kernel_map instead of phys_map like macppc and
everybody else.


# 1.49 20-Jan-2015 mpi

Merge two copies of the same dma code into one file and sync the headers.

ok kettenis@


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.48 13-Jun-2013 deraadt

don't use a ridiculous private copy of bcopy which is just like libc.
At least try to do a better job in libkern (not yet, but one day soon)


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.47 01-Oct-2009 kettenis

Generic soft interrupts for macppc. Tested by mk@, deraadt@
ok miod@


Revision tags: OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.46 25-Apr-2008 jmc

neccessary -> necessary; from Pierre Riteau


Revision tags: OPENBSD_4_3_BASE
# 1.45 25-Nov-2007 deraadt

libkern, begone. Move to a new mechanism where config(8)'s "file"
directive can select between MI and MD versions of these files. At
the same time, adjust the boot programs to pick exactly what they need,
instead of the 7 or 8 mechanisms previously used.

There will be some fallout from this, but testing it all by myself is a
ridiculously slow process; it will be finished in-tree.

Various developers were very nice and avoided making fun of me when I
was gibbering in the corner..


# 1.44 14-Nov-2007 thib

Turn the spl* macros into functions.
Shaves a few bytes of the kernel.
No measurable performance loss.

ok drahn@, kettenis@


# 1.43 10-Oct-2007 art

Make context switching much more MI:
- Move the functionality of choosing a process from cpu_switch into
a much simpler function: cpu_switchto. Instead of having the locore
code walk the run queues, let the MI code choose the process we
want to run and only implement the context switching itself in MD
code.
- Let MD context switching run without worrying about spls or locks.
- Instead of having the idle loop implemented with special contexts
in MD code, implement one idle proc for each cpu. make the idle
loop MI with MD hooks.
- Change the proc lists from the old style vax queues to TAILQs.
- Change the sleep queue from vax queues to TAILQs. This makes
wakeup() go from O(n^2) to O(n)

there will be some MD fallout, but it will be fixed shortly.
There's also a few cleanups to be done after this.

deraadt@, kettenis@ ok


Revision tags: OPENBSD_4_2_BASE
# 1.42 22-Mar-2007 kettenis

Move powerpc to __HAVE_MUTEX. With help from drahn@. Tested by nick@, xsa@,
deraadt@.

"reads right" deraadt@


Revision tags: OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE
# 1.41 08-Nov-2005 kettenis

Add support for 64-bit SPRs.
ok drahn@


Revision tags: OPENBSD_3_8_BASE
# 1.40 02-May-2005 brad

New in{,4}_cksum that is between 1.5 and 5 times faster than the
old version depending on CPU type.

From NetBSD

ok drahn@


# 1.39 01-May-2005 brad

To allow for MD override of in4_cksum()...

ok deraadt@


Revision tags: OPENBSD_3_7_BASE
# 1.38 08-Mar-2005 tdeval

Cosmetics...
Mainly remove space between locators parens, replace spaces with tabs
where appropriate and consistently align dependencies.


Revision tags: OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE SMP_SYNC_A SMP_SYNC_B UBC_SYNC_A
# 1.37 09-Jan-2003 miod

Remove fetch(9) and store(9) functions from the kernel, and replace the few
remaining instances of them with appropriate copy(9) usage.

ok art@, tested on all arches unless my memory is non-ECC


Revision tags: OPENBSD_3_2_BASE UBC_SYNC_B
# 1.36 08-Jun-2002 miod

One ddb to rule them all.

Move the ddb files form macppc/macppc to powerpc/ddb, so that mvmeppc
can benefit from the better ddb that was in macppc.
db_interface.c is left as an md part.


Revision tags: OPENBSD_3_1_BASE
# 1.35 13-Mar-2002 drahn

Complete rewrite of the powerpc pmap handling, Instead of keeping
the spill list for each PTEG, the V->P translations are stored in
trees for each pmap. All valid kernel mappings are preallocated
in 1-1 memory so that tlb spill/loads for kernel accesses can be
looked up while physical, user mappings are not guaranteed to
be 1-1 mapped, thus the kernel must go virtual to look up user
mappings. While this is more expensive, the tree search is much
lower cost than the long linked list search. Also on each pmap_remove()
it was necessary to search the linked lists for each possible mapping,
now it just looks up the entry in the tree.
This change gives a 25-36% speedup in 'make build' time. What was
around 2:50 is now around 1:55 on a 733MHz G4.

This change causes a likely existing bug to appear quite often,
it deals with the segment register invalidation in kernel mode.
Because of that problem, currently this change limits the physical
memory used to 256MB. This limitation will be fixed soon, it is not
an error in the pmap code.

* Effort sponsored in part by the Defense Advanced Research Projects
* Agency (DARPA) and Air Force Research Laboratory, Air Force
* Materiel Command, USAF, under agreement number F30602-01-2-0537.


Revision tags: OPENBSD_3_0_BASE UBC_BASE
# 1.34 01-Sep-2001 drahn

branches: 1.34.4;
The "powerpc" port which has supported the newer Apple Macintosh powerpc based
is being renamed to macppc. This is to allow sharing of common code
between different powerpc base platforms.

Most of the work involved in the renaming process was performed by miod@

Files moved from powerpc/conf to macppc/conf

files.powerpc was modified to keep powerpc common files.


# 1.33 04-Jul-2001 niklas

$OpenBSD$


# 1.32 26-Jun-2001 drahn

Add pciide support for powerpc.
Yes Theo, you found my bug, but the tree broke
because you referenced devices that were not enabled, yet.


# 1.31 26-Jun-2001 mickey

accomodate for i2o addition


# 1.30 25-Jun-2001 deraadt

obio -> macobio, and cleanups


# 1.29 25-Jun-2001 drahn

Add support for airport cards on powerpc.
Only tested on Ti, but may/should work on
other systems.


# 1.28 29-May-2001 drahn

Hardware clock support, via adb.
This reduces the dependancy on openfirmware somewhat.
Since Openfirmware is not actually used for anything,
it is no longer necessary to configure it. so several lines of
useless dmesg are now gone.

This does not have clock setting code enabled yet.
All of the code is in place, but needs further testing before
it is trusted.

I wish Apple would store UTC not localtime in the hardware clock,
besides the fact that the clock base is 1904.

Need to keep the clock sane for dual boot machines.


# 1.27 11-May-2001 deraadt

unify rd(4) even more


# 1.26 11-May-2001 deraadt

unify


Revision tags: OPENBSD_2_9_BASE
# 1.25 29-Mar-2001 drahn

Add support for new gpio, abtn, and awacs devices.
Some cleanup, hints at future direction.


# 1.24 01-Mar-2001 drahn

Fix (or a least hack around) console configuration changes to wscons.
Needs to be looked at closer, but seems to work. Mostly copied from i386.


# 1.23 30-Jan-2001 drahn

Missed this file in adding ADB keyboard and mouse files for powerpc.


Revision tags: OPENBSD_2_8_BASE
# 1.22 16-Oct-2000 drahn

configuration changes to enable the uni-north memory controller to enable
the ethernet pci bus. Allows the gm ethernet controller to configure.


# 1.21 06-Sep-2000 rahnds

Remove isa pieces, add vgafb as a powerpc specific device.


# 1.20 07-Jul-2000 rahnds

esp files commented out for now, since the MI esp driver was added.
the mac esp driver was not yet ported, when that is done, this will
be readded appropriately.


Revision tags: OPENBSD_2_7_BASE
# 1.19 31-Mar-2000 rahnds

Add pchb PCi Host Bridge dummy device to print devices nicely, instead of
"not configured"


# 1.18 25-Mar-2000 rahnds

if_gm attaches on pci, not macobio.


# 1.17 23-Mar-2000 rahnds

add mii and if_gm ethernet.


# 1.16 20-Mar-2000 rahnds

early support for busdma added, allows USBMAC config to attach ohci USB,
however, it claims "legacy support: unsupported" which then causes
the imac to not config USB further.

Changes to *MAC to support openpic interrupt controller, G4 (uninorth)
is almost supported, but hangs during root mount.


Revision tags: SMP_BASE kame_19991208
# 1.15 25-Nov-1999 rahnds

branches: 1.15.2;
Properly fix the last checkin, the pseudo device rd is now a mi device and
is not to be specified in files.<arch> but if the arch has rd_attach_hook
and rd_open_hook, the file that these are in need to be included in
that files.<arch> file.


# 1.14 25-Nov-1999 rahnds

Add back rd_ md hooks that was incorrectly removed with the recent rd changes.


# 1.13 08-Nov-1999 rahnds

Support for imac drivers, Additional configurations for mac kernels.
Some mac drivers mentioned in the config files may not be be currently
supported.


# 1.12 08-Nov-1999 mickey

move MI definition of rd into it's MI place also fixing
attributes, allowing kernels to exist w/ rd as the only disk device.
tested on a few archs; niels@ & millert@ ok


Revision tags: OPENBSD_2_6_BASE
# 1.11 30-Jul-1999 deraadt

acd goes away


Revision tags: OPENBSD_2_5_BASE
# 1.10 23-Jan-1999 rahnds

Fixes to update to that the powerpc port builds again.
These change were necessary due to the following changes:
The change/import of the "generic" isa/pcppi driver. The powerpc
port currently has it's own copy of that driver. The two versions
need to be merged.
The parameter changes to cpu_set_kpc. The powerpc change was not quite correct.


Revision tags: OPENBSD_2_4_BASE
# 1.9 27-Sep-1998 rahnds

add wscons support to powerpc port.
This contains several pieces of the port
MI:
vgafb, on powerpc under openfirmware the vga card comes up in gfx mode.
instead of resetting it to text mode, vgafb treats this as a raster
display. The mechanism used may not have been the best, it's
interface to wscons is as a text display, and it does the character
plotting itself.
font_8x16.c was stolen from the atari port for use.

MD:
ppcppi support stolen from alpha
pms.c, pckbd.c and the rest of the support files were
used nearly directly.

powerpc
conf.c to support wscon, vga/kbd
machdep.c hack to get around a bus_space_set_region,bus_space_copy error.
ofw_machdep.c some hack code on the road to supporting wscons as console.


# 1.8 09-Sep-1998 rahnds

Fix openfirmware attachment for openfirmware only systems.
if only ofrtc, still need the openfirmware support files.


# 1.7 22-Aug-1998 rahnds

Various changes to allow mixing of ofw drivers and real drivers.
NCR driver seems to work.
Major changes are isa can be child of pci or mainbus.
ofroot is child of mainbus not root.
ofw bus configured before pci bus
Note that if a pci device configures accessing of driver will crash
the system. they need to be exclusive.


# 1.6 29-May-1998 rahnds

Major changes here and there, tweaks elsewhere.
Support for Openfirmware drivers was reintroduced so that more systems
were supported. This should work with the real driver configurations
as well.

Bootloader files were deleted/replaced with the newer versions in the
subdirectory. Some effort has been made to be closer to support booting
(at least the bootloader) on the Mac.

Config files that end with OFW are the openfirmware versions of the kernels
without have native drivers.

Native driver support has not been changed, presumably it still works.
I couldn't test that.


Revision tags: OPENBSD_2_3_BASE
# 1.5 06-Apr-1998 pefo

New config stuff + Makefile fix to make gcc 2.8.1 work. Thanks to Dale Rahn!


Revision tags: OPENBSD_2_2_BASE
# 1.4 13-Oct-1997 pefo

Monolithic PowerPC kernel configuration files


Revision tags: OPENBSD_2_1_BASE
# 1.3 06-Feb-1997 rahnds

PowerPC pieces for ramdisk (rd) changes this is adds majors,
rd_root pieces, config file to generate MINIROOT with rdroot and
MAKEDEV changes as well as adding the rd device to known device types.


# 1.2 28-Dec-1996 rahnds

Changes necessary to make the kernel compile and boot.
Some merging with NetBSD port.


# 1.1 21-Dec-1996 rahnds

branches: 1.1.1;
Initial revision


# 1.55 25-Jan-2018 mpi

Move common mutex implementations to a MI place.

Archs not yet converted can to the jump by defining __USE_MI_MUTEX.

ok visa@


Revision tags: OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.54 05-Mar-2016 mpi

One ddb interface is enough for ppc.


Revision tags: OPENBSD_5_9_BASE
# 1.53 14-Aug-2015 dlg

replace the asm mutexes with a c implementation.

there's no real functional advantage to this, except that it will
make it easier to add deadlock detection to the code.

this is modelled on the c mutex implementation thats on alpha,
mips64, and hppa.

ok mpi@ kettenis@


Revision tags: OPENBSD_5_8_BASE
# 1.52 17-Jul-2015 tedu

remove obsolete INET kernel option


# 1.51 26-Jun-2015 dlg

move the ppc mplock implementation from macppc to powerpc.

ok mpi@


Revision tags: OPENBSD_5_7_BASE
# 1.50 20-Jan-2015 mpi

Merge two copies of the (almost) identical bus space code into one file.

This brings bus_space_mmap(9) to socppc and change its bus_space_map(9)
implementation to use kernel_map instead of phys_map like macppc and
everybody else.


# 1.49 20-Jan-2015 mpi

Merge two copies of the same dma code into one file and sync the headers.

ok kettenis@


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.48 13-Jun-2013 deraadt

don't use a ridiculous private copy of bcopy which is just like libc.
At least try to do a better job in libkern (not yet, but one day soon)


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.47 01-Oct-2009 kettenis

Generic soft interrupts for macppc. Tested by mk@, deraadt@
ok miod@


Revision tags: OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.46 25-Apr-2008 jmc

neccessary -> necessary; from Pierre Riteau


Revision tags: OPENBSD_4_3_BASE
# 1.45 25-Nov-2007 deraadt

libkern, begone. Move to a new mechanism where config(8)'s "file"
directive can select between MI and MD versions of these files. At
the same time, adjust the boot programs to pick exactly what they need,
instead of the 7 or 8 mechanisms previously used.

There will be some fallout from this, but testing it all by myself is a
ridiculously slow process; it will be finished in-tree.

Various developers were very nice and avoided making fun of me when I
was gibbering in the corner..


# 1.44 14-Nov-2007 thib

Turn the spl* macros into functions.
Shaves a few bytes of the kernel.
No measurable performance loss.

ok drahn@, kettenis@


# 1.43 10-Oct-2007 art

Make context switching much more MI:
- Move the functionality of choosing a process from cpu_switch into
a much simpler function: cpu_switchto. Instead of having the locore
code walk the run queues, let the MI code choose the process we
want to run and only implement the context switching itself in MD
code.
- Let MD context switching run without worrying about spls or locks.
- Instead of having the idle loop implemented with special contexts
in MD code, implement one idle proc for each cpu. make the idle
loop MI with MD hooks.
- Change the proc lists from the old style vax queues to TAILQs.
- Change the sleep queue from vax queues to TAILQs. This makes
wakeup() go from O(n^2) to O(n)

there will be some MD fallout, but it will be fixed shortly.
There's also a few cleanups to be done after this.

deraadt@, kettenis@ ok


Revision tags: OPENBSD_4_2_BASE
# 1.42 22-Mar-2007 kettenis

Move powerpc to __HAVE_MUTEX. With help from drahn@. Tested by nick@, xsa@,
deraadt@.

"reads right" deraadt@


Revision tags: OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE
# 1.41 08-Nov-2005 kettenis

Add support for 64-bit SPRs.
ok drahn@


Revision tags: OPENBSD_3_8_BASE
# 1.40 02-May-2005 brad

New in{,4}_cksum that is between 1.5 and 5 times faster than the
old version depending on CPU type.

From NetBSD

ok drahn@


# 1.39 01-May-2005 brad

To allow for MD override of in4_cksum()...

ok deraadt@


Revision tags: OPENBSD_3_7_BASE
# 1.38 08-Mar-2005 tdeval

Cosmetics...
Mainly remove space between locators parens, replace spaces with tabs
where appropriate and consistently align dependencies.


Revision tags: OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE SMP_SYNC_A SMP_SYNC_B UBC_SYNC_A
# 1.37 09-Jan-2003 miod

Remove fetch(9) and store(9) functions from the kernel, and replace the few
remaining instances of them with appropriate copy(9) usage.

ok art@, tested on all arches unless my memory is non-ECC


Revision tags: OPENBSD_3_2_BASE UBC_SYNC_B
# 1.36 08-Jun-2002 miod

One ddb to rule them all.

Move the ddb files form macppc/macppc to powerpc/ddb, so that mvmeppc
can benefit from the better ddb that was in macppc.
db_interface.c is left as an md part.


Revision tags: OPENBSD_3_1_BASE
# 1.35 13-Mar-2002 drahn

Complete rewrite of the powerpc pmap handling, Instead of keeping
the spill list for each PTEG, the V->P translations are stored in
trees for each pmap. All valid kernel mappings are preallocated
in 1-1 memory so that tlb spill/loads for kernel accesses can be
looked up while physical, user mappings are not guaranteed to
be 1-1 mapped, thus the kernel must go virtual to look up user
mappings. While this is more expensive, the tree search is much
lower cost than the long linked list search. Also on each pmap_remove()
it was necessary to search the linked lists for each possible mapping,
now it just looks up the entry in the tree.
This change gives a 25-36% speedup in 'make build' time. What was
around 2:50 is now around 1:55 on a 733MHz G4.

This change causes a likely existing bug to appear quite often,
it deals with the segment register invalidation in kernel mode.
Because of that problem, currently this change limits the physical
memory used to 256MB. This limitation will be fixed soon, it is not
an error in the pmap code.

* Effort sponsored in part by the Defense Advanced Research Projects
* Agency (DARPA) and Air Force Research Laboratory, Air Force
* Materiel Command, USAF, under agreement number F30602-01-2-0537.


Revision tags: OPENBSD_3_0_BASE UBC_BASE
# 1.34 01-Sep-2001 drahn

branches: 1.34.4;
The "powerpc" port which has supported the newer Apple Macintosh powerpc based
is being renamed to macppc. This is to allow sharing of common code
between different powerpc base platforms.

Most of the work involved in the renaming process was performed by miod@

Files moved from powerpc/conf to macppc/conf

files.powerpc was modified to keep powerpc common files.


# 1.33 04-Jul-2001 niklas

$OpenBSD$


# 1.32 26-Jun-2001 drahn

Add pciide support for powerpc.
Yes Theo, you found my bug, but the tree broke
because you referenced devices that were not enabled, yet.


# 1.31 26-Jun-2001 mickey

accomodate for i2o addition


# 1.30 25-Jun-2001 deraadt

obio -> macobio, and cleanups


# 1.29 25-Jun-2001 drahn

Add support for airport cards on powerpc.
Only tested on Ti, but may/should work on
other systems.


# 1.28 29-May-2001 drahn

Hardware clock support, via adb.
This reduces the dependancy on openfirmware somewhat.
Since Openfirmware is not actually used for anything,
it is no longer necessary to configure it. so several lines of
useless dmesg are now gone.

This does not have clock setting code enabled yet.
All of the code is in place, but needs further testing before
it is trusted.

I wish Apple would store UTC not localtime in the hardware clock,
besides the fact that the clock base is 1904.

Need to keep the clock sane for dual boot machines.


# 1.27 11-May-2001 deraadt

unify rd(4) even more


# 1.26 11-May-2001 deraadt

unify


Revision tags: OPENBSD_2_9_BASE
# 1.25 29-Mar-2001 drahn

Add support for new gpio, abtn, and awacs devices.
Some cleanup, hints at future direction.


# 1.24 01-Mar-2001 drahn

Fix (or a least hack around) console configuration changes to wscons.
Needs to be looked at closer, but seems to work. Mostly copied from i386.


# 1.23 30-Jan-2001 drahn

Missed this file in adding ADB keyboard and mouse files for powerpc.


Revision tags: OPENBSD_2_8_BASE
# 1.22 16-Oct-2000 drahn

configuration changes to enable the uni-north memory controller to enable
the ethernet pci bus. Allows the gm ethernet controller to configure.


# 1.21 06-Sep-2000 rahnds

Remove isa pieces, add vgafb as a powerpc specific device.


# 1.20 07-Jul-2000 rahnds

esp files commented out for now, since the MI esp driver was added.
the mac esp driver was not yet ported, when that is done, this will
be readded appropriately.


Revision tags: OPENBSD_2_7_BASE
# 1.19 31-Mar-2000 rahnds

Add pchb PCi Host Bridge dummy device to print devices nicely, instead of
"not configured"


# 1.18 25-Mar-2000 rahnds

if_gm attaches on pci, not macobio.


# 1.17 23-Mar-2000 rahnds

add mii and if_gm ethernet.


# 1.16 20-Mar-2000 rahnds

early support for busdma added, allows USBMAC config to attach ohci USB,
however, it claims "legacy support: unsupported" which then causes
the imac to not config USB further.

Changes to *MAC to support openpic interrupt controller, G4 (uninorth)
is almost supported, but hangs during root mount.


Revision tags: SMP_BASE kame_19991208
# 1.15 25-Nov-1999 rahnds

branches: 1.15.2;
Properly fix the last checkin, the pseudo device rd is now a mi device and
is not to be specified in files.<arch> but if the arch has rd_attach_hook
and rd_open_hook, the file that these are in need to be included in
that files.<arch> file.


# 1.14 25-Nov-1999 rahnds

Add back rd_ md hooks that was incorrectly removed with the recent rd changes.


# 1.13 08-Nov-1999 rahnds

Support for imac drivers, Additional configurations for mac kernels.
Some mac drivers mentioned in the config files may not be be currently
supported.


# 1.12 08-Nov-1999 mickey

move MI definition of rd into it's MI place also fixing
attributes, allowing kernels to exist w/ rd as the only disk device.
tested on a few archs; niels@ & millert@ ok


Revision tags: OPENBSD_2_6_BASE
# 1.11 30-Jul-1999 deraadt

acd goes away


Revision tags: OPENBSD_2_5_BASE
# 1.10 23-Jan-1999 rahnds

Fixes to update to that the powerpc port builds again.
These change were necessary due to the following changes:
The change/import of the "generic" isa/pcppi driver. The powerpc
port currently has it's own copy of that driver. The two versions
need to be merged.
The parameter changes to cpu_set_kpc. The powerpc change was not quite correct.


Revision tags: OPENBSD_2_4_BASE
# 1.9 27-Sep-1998 rahnds

add wscons support to powerpc port.
This contains several pieces of the port
MI:
vgafb, on powerpc under openfirmware the vga card comes up in gfx mode.
instead of resetting it to text mode, vgafb treats this as a raster
display. The mechanism used may not have been the best, it's
interface to wscons is as a text display, and it does the character
plotting itself.
font_8x16.c was stolen from the atari port for use.

MD:
ppcppi support stolen from alpha
pms.c, pckbd.c and the rest of the support files were
used nearly directly.

powerpc
conf.c to support wscon, vga/kbd
machdep.c hack to get around a bus_space_set_region,bus_space_copy error.
ofw_machdep.c some hack code on the road to supporting wscons as console.


# 1.8 09-Sep-1998 rahnds

Fix openfirmware attachment for openfirmware only systems.
if only ofrtc, still need the openfirmware support files.


# 1.7 22-Aug-1998 rahnds

Various changes to allow mixing of ofw drivers and real drivers.
NCR driver seems to work.
Major changes are isa can be child of pci or mainbus.
ofroot is child of mainbus not root.
ofw bus configured before pci bus
Note that if a pci device configures accessing of driver will crash
the system. they need to be exclusive.


# 1.6 29-May-1998 rahnds

Major changes here and there, tweaks elsewhere.
Support for Openfirmware drivers was reintroduced so that more systems
were supported. This should work with the real driver configurations
as well.

Bootloader files were deleted/replaced with the newer versions in the
subdirectory. Some effort has been made to be closer to support booting
(at least the bootloader) on the Mac.

Config files that end with OFW are the openfirmware versions of the kernels
without have native drivers.

Native driver support has not been changed, presumably it still works.
I couldn't test that.


Revision tags: OPENBSD_2_3_BASE
# 1.5 06-Apr-1998 pefo

New config stuff + Makefile fix to make gcc 2.8.1 work. Thanks to Dale Rahn!


Revision tags: OPENBSD_2_2_BASE
# 1.4 13-Oct-1997 pefo

Monolithic PowerPC kernel configuration files


Revision tags: OPENBSD_2_1_BASE
# 1.3 06-Feb-1997 rahnds

PowerPC pieces for ramdisk (rd) changes this is adds majors,
rd_root pieces, config file to generate MINIROOT with rdroot and
MAKEDEV changes as well as adding the rd device to known device types.


# 1.2 28-Dec-1996 rahnds

Changes necessary to make the kernel compile and boot.
Some merging with NetBSD port.


# 1.1 21-Dec-1996 rahnds

branches: 1.1.1;
Initial revision


Revision tags: OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.54 05-Mar-2016 mpi

One ddb interface is enough for ppc.


Revision tags: OPENBSD_5_9_BASE
# 1.53 14-Aug-2015 dlg

replace the asm mutexes with a c implementation.

there's no real functional advantage to this, except that it will
make it easier to add deadlock detection to the code.

this is modelled on the c mutex implementation thats on alpha,
mips64, and hppa.

ok mpi@ kettenis@


Revision tags: OPENBSD_5_8_BASE
# 1.52 17-Jul-2015 tedu

remove obsolete INET kernel option


# 1.51 26-Jun-2015 dlg

move the ppc mplock implementation from macppc to powerpc.

ok mpi@


Revision tags: OPENBSD_5_7_BASE
# 1.50 20-Jan-2015 mpi

Merge two copies of the (almost) identical bus space code into one file.

This brings bus_space_mmap(9) to socppc and change its bus_space_map(9)
implementation to use kernel_map instead of phys_map like macppc and
everybody else.


# 1.49 20-Jan-2015 mpi

Merge two copies of the same dma code into one file and sync the headers.

ok kettenis@


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.48 13-Jun-2013 deraadt

don't use a ridiculous private copy of bcopy which is just like libc.
At least try to do a better job in libkern (not yet, but one day soon)


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.47 01-Oct-2009 kettenis

Generic soft interrupts for macppc. Tested by mk@, deraadt@
ok miod@


Revision tags: OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.46 25-Apr-2008 jmc

neccessary -> necessary; from Pierre Riteau


Revision tags: OPENBSD_4_3_BASE
# 1.45 25-Nov-2007 deraadt

libkern, begone. Move to a new mechanism where config(8)'s "file"
directive can select between MI and MD versions of these files. At
the same time, adjust the boot programs to pick exactly what they need,
instead of the 7 or 8 mechanisms previously used.

There will be some fallout from this, but testing it all by myself is a
ridiculously slow process; it will be finished in-tree.

Various developers were very nice and avoided making fun of me when I
was gibbering in the corner..


# 1.44 14-Nov-2007 thib

Turn the spl* macros into functions.
Shaves a few bytes of the kernel.
No measurable performance loss.

ok drahn@, kettenis@


# 1.43 10-Oct-2007 art

Make context switching much more MI:
- Move the functionality of choosing a process from cpu_switch into
a much simpler function: cpu_switchto. Instead of having the locore
code walk the run queues, let the MI code choose the process we
want to run and only implement the context switching itself in MD
code.
- Let MD context switching run without worrying about spls or locks.
- Instead of having the idle loop implemented with special contexts
in MD code, implement one idle proc for each cpu. make the idle
loop MI with MD hooks.
- Change the proc lists from the old style vax queues to TAILQs.
- Change the sleep queue from vax queues to TAILQs. This makes
wakeup() go from O(n^2) to O(n)

there will be some MD fallout, but it will be fixed shortly.
There's also a few cleanups to be done after this.

deraadt@, kettenis@ ok


Revision tags: OPENBSD_4_2_BASE
# 1.42 22-Mar-2007 kettenis

Move powerpc to __HAVE_MUTEX. With help from drahn@. Tested by nick@, xsa@,
deraadt@.

"reads right" deraadt@


Revision tags: OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE
# 1.41 08-Nov-2005 kettenis

Add support for 64-bit SPRs.
ok drahn@


Revision tags: OPENBSD_3_8_BASE
# 1.40 02-May-2005 brad

New in{,4}_cksum that is between 1.5 and 5 times faster than the
old version depending on CPU type.

From NetBSD

ok drahn@


# 1.39 01-May-2005 brad

To allow for MD override of in4_cksum()...

ok deraadt@


Revision tags: OPENBSD_3_7_BASE
# 1.38 08-Mar-2005 tdeval

Cosmetics...
Mainly remove space between locators parens, replace spaces with tabs
where appropriate and consistently align dependencies.


Revision tags: OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE SMP_SYNC_A SMP_SYNC_B UBC_SYNC_A
# 1.37 09-Jan-2003 miod

Remove fetch(9) and store(9) functions from the kernel, and replace the few
remaining instances of them with appropriate copy(9) usage.

ok art@, tested on all arches unless my memory is non-ECC


Revision tags: OPENBSD_3_2_BASE UBC_SYNC_B
# 1.36 08-Jun-2002 miod

One ddb to rule them all.

Move the ddb files form macppc/macppc to powerpc/ddb, so that mvmeppc
can benefit from the better ddb that was in macppc.
db_interface.c is left as an md part.


Revision tags: OPENBSD_3_1_BASE
# 1.35 13-Mar-2002 drahn

Complete rewrite of the powerpc pmap handling, Instead of keeping
the spill list for each PTEG, the V->P translations are stored in
trees for each pmap. All valid kernel mappings are preallocated
in 1-1 memory so that tlb spill/loads for kernel accesses can be
looked up while physical, user mappings are not guaranteed to
be 1-1 mapped, thus the kernel must go virtual to look up user
mappings. While this is more expensive, the tree search is much
lower cost than the long linked list search. Also on each pmap_remove()
it was necessary to search the linked lists for each possible mapping,
now it just looks up the entry in the tree.
This change gives a 25-36% speedup in 'make build' time. What was
around 2:50 is now around 1:55 on a 733MHz G4.

This change causes a likely existing bug to appear quite often,
it deals with the segment register invalidation in kernel mode.
Because of that problem, currently this change limits the physical
memory used to 256MB. This limitation will be fixed soon, it is not
an error in the pmap code.

* Effort sponsored in part by the Defense Advanced Research Projects
* Agency (DARPA) and Air Force Research Laboratory, Air Force
* Materiel Command, USAF, under agreement number F30602-01-2-0537.


Revision tags: OPENBSD_3_0_BASE UBC_BASE
# 1.34 01-Sep-2001 drahn

branches: 1.34.4;
The "powerpc" port which has supported the newer Apple Macintosh powerpc based
is being renamed to macppc. This is to allow sharing of common code
between different powerpc base platforms.

Most of the work involved in the renaming process was performed by miod@

Files moved from powerpc/conf to macppc/conf

files.powerpc was modified to keep powerpc common files.


# 1.33 04-Jul-2001 niklas

$OpenBSD$


# 1.32 26-Jun-2001 drahn

Add pciide support for powerpc.
Yes Theo, you found my bug, but the tree broke
because you referenced devices that were not enabled, yet.


# 1.31 26-Jun-2001 mickey

accomodate for i2o addition


# 1.30 25-Jun-2001 deraadt

obio -> macobio, and cleanups


# 1.29 25-Jun-2001 drahn

Add support for airport cards on powerpc.
Only tested on Ti, but may/should work on
other systems.


# 1.28 29-May-2001 drahn

Hardware clock support, via adb.
This reduces the dependancy on openfirmware somewhat.
Since Openfirmware is not actually used for anything,
it is no longer necessary to configure it. so several lines of
useless dmesg are now gone.

This does not have clock setting code enabled yet.
All of the code is in place, but needs further testing before
it is trusted.

I wish Apple would store UTC not localtime in the hardware clock,
besides the fact that the clock base is 1904.

Need to keep the clock sane for dual boot machines.


# 1.27 11-May-2001 deraadt

unify rd(4) even more


# 1.26 11-May-2001 deraadt

unify


Revision tags: OPENBSD_2_9_BASE
# 1.25 29-Mar-2001 drahn

Add support for new gpio, abtn, and awacs devices.
Some cleanup, hints at future direction.


# 1.24 01-Mar-2001 drahn

Fix (or a least hack around) console configuration changes to wscons.
Needs to be looked at closer, but seems to work. Mostly copied from i386.


# 1.23 30-Jan-2001 drahn

Missed this file in adding ADB keyboard and mouse files for powerpc.


Revision tags: OPENBSD_2_8_BASE
# 1.22 16-Oct-2000 drahn

configuration changes to enable the uni-north memory controller to enable
the ethernet pci bus. Allows the gm ethernet controller to configure.


# 1.21 06-Sep-2000 rahnds

Remove isa pieces, add vgafb as a powerpc specific device.


# 1.20 07-Jul-2000 rahnds

esp files commented out for now, since the MI esp driver was added.
the mac esp driver was not yet ported, when that is done, this will
be readded appropriately.


Revision tags: OPENBSD_2_7_BASE
# 1.19 31-Mar-2000 rahnds

Add pchb PCi Host Bridge dummy device to print devices nicely, instead of
"not configured"


# 1.18 25-Mar-2000 rahnds

if_gm attaches on pci, not macobio.


# 1.17 23-Mar-2000 rahnds

add mii and if_gm ethernet.


# 1.16 20-Mar-2000 rahnds

early support for busdma added, allows USBMAC config to attach ohci USB,
however, it claims "legacy support: unsupported" which then causes
the imac to not config USB further.

Changes to *MAC to support openpic interrupt controller, G4 (uninorth)
is almost supported, but hangs during root mount.


Revision tags: SMP_BASE kame_19991208
# 1.15 25-Nov-1999 rahnds

branches: 1.15.2;
Properly fix the last checkin, the pseudo device rd is now a mi device and
is not to be specified in files.<arch> but if the arch has rd_attach_hook
and rd_open_hook, the file that these are in need to be included in
that files.<arch> file.


# 1.14 25-Nov-1999 rahnds

Add back rd_ md hooks that was incorrectly removed with the recent rd changes.


# 1.13 08-Nov-1999 rahnds

Support for imac drivers, Additional configurations for mac kernels.
Some mac drivers mentioned in the config files may not be be currently
supported.


# 1.12 08-Nov-1999 mickey

move MI definition of rd into it's MI place also fixing
attributes, allowing kernels to exist w/ rd as the only disk device.
tested on a few archs; niels@ & millert@ ok


Revision tags: OPENBSD_2_6_BASE
# 1.11 30-Jul-1999 deraadt

acd goes away


Revision tags: OPENBSD_2_5_BASE
# 1.10 23-Jan-1999 rahnds

Fixes to update to that the powerpc port builds again.
These change were necessary due to the following changes:
The change/import of the "generic" isa/pcppi driver. The powerpc
port currently has it's own copy of that driver. The two versions
need to be merged.
The parameter changes to cpu_set_kpc. The powerpc change was not quite correct.


Revision tags: OPENBSD_2_4_BASE
# 1.9 27-Sep-1998 rahnds

add wscons support to powerpc port.
This contains several pieces of the port
MI:
vgafb, on powerpc under openfirmware the vga card comes up in gfx mode.
instead of resetting it to text mode, vgafb treats this as a raster
display. The mechanism used may not have been the best, it's
interface to wscons is as a text display, and it does the character
plotting itself.
font_8x16.c was stolen from the atari port for use.

MD:
ppcppi support stolen from alpha
pms.c, pckbd.c and the rest of the support files were
used nearly directly.

powerpc
conf.c to support wscon, vga/kbd
machdep.c hack to get around a bus_space_set_region,bus_space_copy error.
ofw_machdep.c some hack code on the road to supporting wscons as console.


# 1.8 09-Sep-1998 rahnds

Fix openfirmware attachment for openfirmware only systems.
if only ofrtc, still need the openfirmware support files.


# 1.7 22-Aug-1998 rahnds

Various changes to allow mixing of ofw drivers and real drivers.
NCR driver seems to work.
Major changes are isa can be child of pci or mainbus.
ofroot is child of mainbus not root.
ofw bus configured before pci bus
Note that if a pci device configures accessing of driver will crash
the system. they need to be exclusive.


# 1.6 29-May-1998 rahnds

Major changes here and there, tweaks elsewhere.
Support for Openfirmware drivers was reintroduced so that more systems
were supported. This should work with the real driver configurations
as well.

Bootloader files were deleted/replaced with the newer versions in the
subdirectory. Some effort has been made to be closer to support booting
(at least the bootloader) on the Mac.

Config files that end with OFW are the openfirmware versions of the kernels
without have native drivers.

Native driver support has not been changed, presumably it still works.
I couldn't test that.


Revision tags: OPENBSD_2_3_BASE
# 1.5 06-Apr-1998 pefo

New config stuff + Makefile fix to make gcc 2.8.1 work. Thanks to Dale Rahn!


Revision tags: OPENBSD_2_2_BASE
# 1.4 13-Oct-1997 pefo

Monolithic PowerPC kernel configuration files


Revision tags: OPENBSD_2_1_BASE
# 1.3 06-Feb-1997 rahnds

PowerPC pieces for ramdisk (rd) changes this is adds majors,
rd_root pieces, config file to generate MINIROOT with rdroot and
MAKEDEV changes as well as adding the rd device to known device types.


# 1.2 28-Dec-1996 rahnds

Changes necessary to make the kernel compile and boot.
Some merging with NetBSD port.


# 1.1 21-Dec-1996 rahnds

branches: 1.1.1;
Initial revision