#
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
|