summaryrefslogtreecommitdiffstats
path: root/sys/powerpc
Commit message (Collapse)AuthorAgeFilesLines
* Work-in-progress for the 'Kauai' ATA device in Mac notebooks. Thegrehan2004-02-121-0/+190
| | | | | device seems to be the macio ATA cell with a PCI front-end, and has no relation to PIIX-style ATA/PCI devices.
* Add sys file required for IEEE fp functions.grehan2004-02-121-0/+37
| | | | Submitted by: Suleiman Souhlal <refugee@segfaulted.com>
* Interrupt statistics, vmstat -i now works.grehan2004-02-115-26/+59
| | | | | | Submitted by: Suleiman Souhlal <refugee@segfaulted.com> Slightly modified by: grehan Derived from: i386
* Clean up header files, which fixes compile warning.grehan2004-02-111-10/+1
|
* - constify devinfo strings to eliminate compile warninggrehan2004-02-112-18/+18
| | | | - remove trailing whitespace
* - fix compile warningsgrehan2004-02-112-52/+10
| | | | - removed obsolete NetBSD-derived ADB conditionals
* - fixed trailing whitespace and indentationgrehan2004-02-111-11/+10
| | | | - removed unused variable to fix compile warning
* Fix compile warninggrehan2004-02-111-0/+1
|
* - remove trailing whitespacegrehan2004-02-111-11/+13
| | | | - fix compile warnings. badaddr() will go to a header file soon.
* Cleaned up param.h:grehan2004-02-1112-30/+28
| | | | | | | | | | | - culled long-dead #define's - segment register defs moved to sr.h - NPMAPS moved to pmap.h - KERNBASE moved to vmparam.h - removed include of <machine/cpu.h> and fixed src files that relied on this. Modifying segment register code no longer causes gcc rebuilds :-)
* Invalide pcb's fpu cpu # by setting it to INT_MAX, not NULL.grehan2004-02-111-4/+5
|
* Add sysctl hw.uma_mdpages to track how many pages have been allocatedgrehan2004-02-112-0/+18
| | | | by UMA_MD_SMALL_ALLOC
* Correctly create interrupt key for PCI, which is the OpenFirmwaregrehan2004-02-101-11/+17
| | | | | | | pci-hi/med/lo + node 'interrupts' property. This worked by accident until recent notebooks required correct operation. Tested by: Suleiman Souhlal <refugee@segfaulted.com>
* Disable branch-target instruction cache on MPC7457 as outlinedgrehan2004-02-091-2/+3
| | | | | | in Motorola processor errata. Submitted by: Suleiman Souhlal <refugee@segfaulted.com>
* Recognize MPC7547 (aka G4+)grehan2004-02-091-1/+7
|
* Definitions for MPC7457 CPU type and HID0 bitsgrehan2004-02-092-35/+42
|
* - add a description of what .gdbinit should contain.grehan2004-02-041-9/+25
| | | | | | | | | - add an option for the output device in the hope that this can be made non-blocking at some stage. - define an alias for the disk device, required by dev/ofw/ofw_disk.c - shift iobus to 0x9000000 so as not to clash with the OpenFirmware entry point of 0x8000400 when address decoding. - down-tone comments about the disk dev config :-)
* Remove pmap_pvo_allocf zone alloc function. It was a way ofgrehan2004-02-043-81/+12
| | | | | | | | | | | | using the direct-mapping of physmem to force PTE data structures to be physically addressable so the interrupt-time real-mode DSI trap handler could perform PTE spills. However, the memory may have been > 256Mb, which would have caused a BAT spill and double-interrupt. The new trap code no longer handles PTE spills, so the requirement that these pages be direct-mapped no longer applies. The irony is UMA_MD_SMALL_ALLOC will return direct mappings for these structs :-)
* Major overhaul of common trap codegrehan2004-02-042-1616/+710
| | | | | | | | | | | | | | | | | | | | | | | | | - remove unused 601 and tlb exception code - remove interrupt-time PTE spill code. The pmap code will now take care of pinning kernel PTEs, and there are no longer issues about physical mapping of PTE data structures - All segment registers are switched on kernel entry/exit, allowing the kernel to have more virtual space and for user virtual space to extend to 4G. - The temporary register save area has been shifted from unused exception vector space to the per-cpu data area. This allows interrupts to be delivered to multiple CPUs - ISI traps no longer spill to BAT tables. It is assumed that all of kernel instruction memory is pinned. - shift from 'ldmw/stmw' instructions to individual register loads/stores when saving context. All PPC manuals indicate this should be much faster. - use '%r' for register names throughout. TODO: need to test if DSI traps were the result of kernel stack guard-page hits. Reworked from: NetBSD
* - remove unused trap definitionsgrehan2004-02-042-12/+22
| | | | | | - ISI traps are now handled by the generic trap routine - direct diagnostic traps to DDB if defined - remove unused asngen pcpu init
* - Lots more symbols required by the new trap_subr codegrehan2004-02-041-0/+40
|
* - Add definition for GET_CPUINFO, required by new trap_subr codegrehan2004-02-042-12/+8
| | | | - garbage-collect unused defs
* Move temporary register save area from exception-vector memory togrehan2004-02-041-3/+15
| | | | | | per-CPU memory. This allows for interrupt handling on multiple CPUs. Obtained from: NetBSD
* Allow child devices to set the OpenFirmware device node ivargrehan2004-02-042-4/+10
|
* - removed debug printf that was a false positive on non-OpenPIC systemsgrehan2004-02-041-7/+5
| | | | - white space nits
* Use device alias "mpic" to locate the macio OpenPIC. This worksgrehan2004-02-031-6/+5
| | | | | | on the new 12/15/17" PowerBooks that don't have the "interrupt-controller" property underneath "/chosen", which was the previous way of searching.
* When UMA_MD_SMALL_ALLOC is defined, pmap_kextract will be calledgrehan2004-01-293-0/+30
| | | | | | | | for direct-mapped addresses. Assume that any address less than KVA is one of these and return it. Also assert that an address is KVA does have a valid mapping - callers of pmap_kextract don't check the return value, since they assume that they have a valid virtual address.
* Implement UMA_MD_SMALL_ALLOC, since the BAT registers allow directgrehan2004-01-293-0/+170
| | | | | | | 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.
* - Recruit some new ULE users by making it the default scheduler in GENERIC.jeff2004-01-241-1/+1
| | | | | ULE will be in a probationary period to determine whether it will be left as the default in 5.3 which would likely mean the rest of the 5.x series.
* Add PFIL_HOOKS to the GENERIC kernel configuration, primarily sonectar2004-01-241-0/+1
| | | | | | that one can load the IPFilter module (which requires PFIL_HOOKS). Requested by: Many, for over a year
* Add syscons options and enable USB, since there is no conflict betweengrehan2004-01-211-12/+21
| | | | | the OpenFirmware console and the syscons console when using a USB keyboard.
* - Catch up with panic __LINE__/__FILE__ changes by moving panic callsgrehan2004-01-214-24/+16
| | | | | out of asm. - remove some long-dead code from machdep.c
* A syscons implementation using the 8-bit framebuffer set up bygrehan2004-01-216-0/+927
| | | | | | | OpenFirmware. Not at all optimized, but provides a PC-style user-experience. Tested on revA imac, B&W G3, 2k iBook, and G4 eMac.
* Update 128-bit long double constants to match what is expectedgrehan2004-01-211-9/+10
| | | | by libc
* Catch up with ATA UMA changesgrehan2004-01-152-0/+2
|
* Use a device identify entry point to attach to nexus, since thegrehan2004-01-131-9/+27
| | | | nexus code no longer searches for interrupt controllers.
* Make the OpenPic driver bus-independent, with attachments forgrehan2004-01-134-164/+557
| | | | | | | | | | the MacIO chip and PSIM's IOBus. Bus-specific drivers should use the identify method to attach themselves to nexus so interrupt can be allocated before the h/w is probed. The 'early attach' routine in openpic is used for this stage of boot. When h/w is probed, the openpic can be attached properly. It will enable interrupts allocated prior to this.
* Remove hard-coded knowledge of specific OFW devices. Use bus_generic_probegrehan2004-01-133-110/+133
| | | | | | | | | | | and add_child entry point to allow devices to use the identify method to add themselves if need be (e.g. openpic, syscons). Export interrupt-controller-add routine for extern int cntlr drivers. Eliminate recursive OFW device-tree walk and only iterate the top-level ala sparc64. Allow child devices to set the device type with write_ivars. Step 1 of many in removing the hard-dependency on OpenFirmware.
* Catch up with ATA changes by including <sys/sema.h>grehan2004-01-132-0/+2
|
* Make sigaltstack as per-threaded, because per-process sigaltstack statedavidxu2004-01-032-10/+10
| | | | | | | | | | | | | is useless for threaded programs, multiple threads can not share same stack. The alternative signal stack is private for thread, no lock is needed, the orignal P_ALTSTACK is now moved into td_pflags and renamed to TDP_ALTSTACK. For single thread or Linux clone() based threaded program, there is no semantic changed, because those programs only have one kernel thread in every process. Reviewed by: deischen, dfr
* Track three new sendfile-related statistics:silby2003-12-282-0/+2
| | | | | | - The number of times sendfile had to do disk I/O - The number of times sfbuf allocation failed - The number of times sfbuf allocation had to wait
* Move the declaration of sfbufspeak and sfbufsused to mbuf.h,silby2003-12-282-4/+2
| | | | | | | and use imax instead of max, as sfbufspeak and sfbufsused are signed. Submitted by: bde
* Track current and peak sfbuf usage, export the values via sysctl.silby2003-12-272-0/+8
|
* GC the unused <machine/kse.h> file.peter2003-12-241-38/+0
|
* Add an additional field to the elf brandinfo structure to supportpeter2003-12-231-2/+17
| | | | | quicker exec-time replacement of the elf interpreter on an emulation environment where an entire /compat/* tree isn't really warranted.
* Disable the per-vm_page PTE cache. This was not being invalidatedgrehan2003-12-163-0/+6
| | | | | | | | correctly, resulting in the dreaded "vm_pageout_flush: partially invalid page" panic. The caching issue will be revisited in the future, but opt for safety over performance in the meantime. Tested by: gallatin
* imac revA-D and beige G3 OpenFirmware uses the "ide" string forgrehan2003-12-101-1/+2
| | | | ATA drives.
* - removed obsolete ppc_exit/ppc_boot functionsgrehan2003-12-103-38/+122
| | | | | | | - OpenFirmware returns overlapping memory regions. Use a simple brute force algorithm to merge these into non-overlapping regions. This fixes bugs in reporting of available memory and also prevents pages from being added twice in the VM system.
* Remove redundant declaration of ddb_trapgallatin2003-12-091-1/+0
|
* pmap_query_bit() should return false if the bit is not set.gallatin2003-12-093-3/+3
| | | | Reviewed by: grehan
OpenPOWER on IntegriCloud