summaryrefslogtreecommitdiffstats
path: root/sys/conf/files.powerpc
Commit message (Collapse)AuthorAgeFilesLines
* Insert a layer of indirection to the pmap code, using a kobj forgrehan2005-11-081-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the interface. This allows run-time selection of MMU code, based on CPU-type detection, or tunable-overrides when testing new code. Pre-requisite for G5 support. conf/files.powerpc - remove pmap.c - add mmu_if.h, mmu_oea.c, pmap_dispatch.c powerpc/include/mmuvar.h - definitions for MMU implementations powerpc/include/pmap.h - remove pmap_pte_spill declaration - add pmap_mmu_install declaration - size the phys_avail array - pmap_bootstrapped is now global-scope powerpc/powerpc/machdep.c - call kobj_machdep_init early in the boot sequence to allow kobj usage prior to SI_SUB_LOCK - install the OEA pmap code. This will be moved to CPU-specific init code in the future. powerpc/powerpc/mmu_if.m - Kobj MMU interface definitions powerpc/powerpc/pmap_dispatch.c - central dispatch for pmap calls - contains the global mmu kobj and the routine to locate the the mmu implementation and init the kobj
* Refactor the NETSMBCRYPTO option so that it does the same on allmarcel2005-06-121-0/+1
| | | | | | | | platforms. ARM is excluded as it doesn't yet have any crypto sources. Approved by: re (dwhite) MFC after: 1 day
* MFP4:jkoshy2005-06-091-0/+1
| | | | | | | | | | | | | | | | - Implement sampling modes and logging support in hwpmc(4). - Separate MI and MD parts of hwpmc(4) and allow sharing of PMC implementations across different architectures. Add support for P4 (EMT64) style PMCs to the amd64 code. - New pmcstat(8) options: -E (exit time counts) -W (counts every context switch), -R (print log file). - pmc(3) API changes, improve our ability to keep ABI compatibility in the future. Add more 'alias' names for commonly used events. - bug fixes & documentation.
* Divorce critical sections from spinlocks. Critical sections as denoted byjhb2005-04-041-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | critical_enter() and critical_exit() are now solely a mechanism for deferring kernel preemptions. They no longer have any affect on interrupts. This means that standalone critical sections are now very cheap as they are simply unlocked integer increments and decrements for the common case. Spin mutexes now use a separate KPI implemented in MD code: spinlock_enter() and spinlock_exit(). This KPI is responsible for providing whatever MD guarantees are needed to ensure that a thread holding a spin lock won't be preempted by any other code that will try to lock the same lock. For now all archs continue to block interrupts in a "spinlock section" as they did formerly in all critical sections. Note that I've also taken this opportunity to push a few things into MD code rather than MI. For example, critical_fork_exit() no longer exists. Instead, MD code ensures that new threads have the correct state when they are created. Also, we no longer try to fixup the idlethreads for APs in MI code. Instead, each arch sets the initial curthread and adjusts the state of the idle thread it borrows in order to perform the initial context switch. This change is largely a big NOP, but the cleaner separation it provides will allow for more efficient alternative locking schemes in other parts of the kernel (bare critical sections rather than per-CPU spin mutexes for per-CPU data for example). Reviewed by: grehan, cognet, arch@, others Tested on: i386, alpha, sparc64, powerpc, arm, possibly more
* Add /dev/mem and /dev/kmem to powerpc.ssouhlal2004-08-161-0/+1
| | | | Approved by: grehan (mentor)
* - Introduce an ofw_bus kobj-interface for retrieving the OFW node and amarius2004-08-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | subset ("compatible", "device_type", "model" and "name") of the standard properties in drivers for devices on Open Firmware supported busses. The standard properties "reg", "interrupts" und "address" are not covered by this interface because they are only of interest in the respective bridge code. There's a remaining standard property "status" which is unclear how to support properly but which also isn't used in FreeBSD at present. This ofw_bus kobj-interface allows to replace the various (ebus_get_node(), ofw_pci_get_node(), etc.) and partially inconsistent (central_get_type() vs. sbus_get_device_type(), etc.) existing IVAR ones with a common one. This in turn allows to simplify and remove code-duplication in drivers for devices that can hang off of more than one OFW supported bus. - Convert the sparc64 Central, EBus, FHC, PCI and SBus bus drivers and the drivers for their children to use the ofw_bus kobj-interface. The IVAR- interfaces of the Central, EBus and FHC are entirely replaced by this. The PCI bus driver used its own kobj-interface and now also uses the ofw_bus one. The IVARs special to the SBus, e.g. for retrieving the burst size, remain. Beware: this causes an ABI-breakage for modules of drivers which used the IVAR-interfaces, i.e. esp(4), hme(4), isp(4) and uart(4), which need to be recompiled. The style-inconsistencies introduced in some of the bus drivers will be fixed by tmm@ in a generic clean-up of the respective drivers later (he requested to add the changes in the "new" style). - Convert the powerpc MacIO bus driver and the drivers for its children to use the ofw_bus kobj-interface. This invloves removing the IVARs related to the "reg" property which were unused and a leftover from the NetBSD origini of the code. There's no ABI-breakage caused by this because none of these driver are currently built as modules. There are other powerpc bus drivers which can be converted to the ofw_bus kobj-interface, e.g. the PCI bus driver, which should be done together with converting powerpc to use the OFW PCI code from sparc64. - Make the SBus and FHC front-end of zs(4) and the sparc64 eeprom(4) take advantage of the ofw_bus kobj-interface and simplify them a bit. Reviewed by: grehan, tmm Approved by: re (scottl) Discussed with: tmm Tested with: Sun AX1105, AXe, Ultra 2, Ultra 60; PPC cross-build on i386
* db_memrw.c has been subsumed into db_interface.c ala sparc64grehan2004-07-121-1/+0
|
* Fix build for non-WITNESS casegrehan2004-07-111-0/+1
| | | | spotted by: Suleiman Souhlal <refugee@segfaulted.com>
* Add an implementation of uiomove_fromphys() for PowerPC. Thisalc2004-03-231-0/+1
| | | | | | implementation uses the direct virtual-to-physical mapping. Discussed with: grehan
* Work-in-progress for the 'Kauai' ATA device in Mac notebooks. Thegrehan2004-02-121-0/+1
| | | | | device seems to be the macio ATA cell with a PCI front-end, and has no relation to PIIX-style ATA/PCI devices.
* Implement UMA_MD_SMALL_ALLOC, since the BAT registers allow directgrehan2004-01-291-0/+1
| | | | | | | addressing of memory. Makes a substantial improvement for apps that stress the limited amount of KVM on PPC (e.g. untarring the ports tree). uma_machdep.c stolen from amd64/ia64.
* Add syscons files, and also generate a syscons font since Applegrehan2004-01-211-0/+19
| | | | SVGA adapters don't have one available in their ROMs.
* - add openpic macio and psim/iobus attachmentsgrehan2004-01-151-4/+6
| | | | - alpha sort powermac files
* Add ffsl(), fls() flsl() to platforms that don't already have them.des2004-01-131-0/+3
|
* Hook grackle system controller/heathrow interrupt controller to PPC build.grehan2003-06-281-0/+2
|
* Standardize handling of locore.[sS] etc. files.ru2003-02-281-0/+1
| | | | Submitted by: jake, bde, ru
* Add apple partition map GEOM modulegrehan2003-02-241-0/+1
|
* Add a driver that attaches to the gpio node of macio and allows you to enterbenno2003-02-061-0/+1
| | | | | | | DDB when the interrupt button (aka the "programmer's switch") is pressed. This isn't unfortunately an NMI, but it's a handy way to get into DDB quickly if needed.
* Add cpu.c. This contains one exported function, cpu_setup(), which handlesbenno2003-02-051-0/+1
| | | | | | setup of and printing information about cpus. Obtained from: NetBSD (parts)
* Build glue for zs_macio.benno2003-02-011-1/+1
|
* NO_GEOM cleanup: remove subr_disklabel.c from powerpc and x86_64.phk2003-01-281-1/+0
|
* Convert remaining .s files to .Sgrehan2003-01-221-3/+3
| | | | Approved by: benno
* Remove subr_diskslice.c and subr_diskmbr.c which I can find no trace ofphk2003-01-171-2/+0
| | | | why should be needed in the powerpc files. Not compile tested.
* Move subr_disklabel.c and subr_diskslice.c from being MI to MD files,phk2003-01-171-0/+2
| | | | so that they can be left out where they are unneeded.
* Add a pcib variant to allow us to fix up interrupt assignments.benno2003-01-091-0/+1
| | | | We probably want to do something wrt bus enumeration as well at some point.
* - added macio and psim filesgrehan2002-09-191-1/+8
| | | | | | - removed unused extintr.c Approved by: benno
* Add setjmp (needed for DDB).benno2002-07-101-0/+1
|
* Add DDB support.benno2002-07-101-0/+1
|
* Driver for the Apple UniNorth Host-PCI bridge.benno2002-07-091-0/+2
| | | | | This is in a PowerMac-specific subdirectory as it is hoped that we will support more than just the PowerMac platform.
* Add ofw_pci.c in the pci case.benno2002-07-091-0/+2
|
* 1) Add busdma machdep code.benno2002-07-091-0/+1
| | | | | | 2) Add bus_pio.h and bus_memio.h (which do nothing). Submitted by: Peter Grehan <peterg@ptree32.com.au> (1)
* Driver for OpenPIC compatible interrupt controllers.benno2002-07-091-0/+1
| | | | It's fairly PowerMac specific at the moment, but that should be fixable.
* Add interrupt handling support code.benno2002-07-091-0/+2
| | | | | | I've tried to make this fairly platform-independant as some PowerPC platforms may not have openpic-style interrupt controllers. This may not have the best performance but it works for now.
* Add in_cksum.cbenno2002-06-291-0/+1
|
* Many fixes to low-level trap and interrupt handling:benno2002-06-291-0/+1
| | | | | | | | | - Tidy up clock code. Don't repeatedly call hardclock(). - Remove intrnames, decrnest and intrcnt from locore.s - Coalesce all trap handling into a single stub that then calls a dispatch function. Submitted by: Peter Grehan <peterg@ptree32.com.au>
* Build the fpu support routines.benno2002-05-131-0/+1
|
* Add sigcode.Sbenno2002-04-301-0/+1
|
* Add ofwd to the GENERIC config for powerpc.benno2002-04-151-0/+1
|
* Compromise for critical*()/cpu_critical*() recommit. Cleanup the interruptdillon2002-03-271-0/+1
| | | | | | | | | | | | | | | | | | | disablement assumptions in kern_fork.c by adding another API call, cpu_critical_fork_exit(). Cleanup the td_savecrit field by moving it from MI to MD. Temporarily move cpu_critical*() from <arch>/include/cpufunc.h to <arch>/<arch>/critical.c (stage-2 will clean this up). Implement interrupt deferral for i386 that allows interrupts to remain enabled inside critical sections. This also fixes an IPI interlock bug, and requires uses of icu_lock to be enclosed in a true interrupt disablement. This is the stage-1 commit. Stage-2 will occur after stage-1 has stabilized, and will move cpu_critical*() into its own header file(s) + other things. This commit may break non-i386 architectures in trivial ways. This should be temporary. Reviewed by: core Approved by: core
* Collect all functions for copying to and from userspace into the one file.benno2002-03-211-5/+2
| | | | | This allows me to reimplement [sf]u{byte,word} as separate functions and not as calls to copy{in,out}.
* - Speedup 3DES by using assembly code for i386.ume2002-03-051-0/+3
| | | | | | | - Sync des/blowfish to more recent openssl. Obtained from: KAME/NetBSD MFC after: 2 weeks
* Move procfs_* from procfs_machdep.c into sys_process.c, and rename them todes2001-10-211-1/+0
| | | | | | proc_* in the process; procfs_machdep.c is no longer needed. Run-tested on i386, build-tested on Alpha, untested on other platforms.
* Add -msoft-float to COPTS to stop GCC attempting to be "smart" and usingbenno2001-06-271-0/+6
| | | | floating point registers for various optimisation tweaks.
* The final commit for the first phase of PowerPC support.benno2001-06-171-0/+52
This adds the config stuff needed to build kernels. Reviewed by: obrien
OpenPOWER on IntegriCloud