summaryrefslogtreecommitdiffstats
path: root/sys/powerpc
Commit message (Collapse)AuthorAgeFilesLines
* Update to newer trap code from NetBSD.benno2002-05-093-887/+897
| | | | Obtained from: NetBSD
* Add an assertion that we have a current pmap set before we try and return.benno2002-05-092-2/+16
|
* The per-cpu curpmap is now set by pmap_activate. We don't need to do it herebenno2002-05-093-36/+6
| | | | anymore.
* - Add a prototype for the setfault() function.benno2002-05-092-12/+4
| | | | - Remove some stray printf()s.
* 1. Better track the executable status of mappings.benno2002-05-094-39/+170
| | | | | | | 2. Set a pcpu variable to the real address of the active pmap (used when exiting from traps. Obtained from: NetBSD (1)
* Rename the constants for the contents of the PVR register so as not tobenno2002-05-091-17/+17
| | | | conflict with cpu names used in config files..
* Don't export timecounter structures under debug. with sysctl, theyphk2002-04-302-6/+0
| | | | contain no truly interesting data anymore.
* Commit of stuff that's been sitting in my tree for a while.benno2002-04-2913-2831/+2845
| | | | | | | | | | | Highlights include: - New low-level trap code from NetBSD. The high level code still needs a lot of work. - Fixes for some pmap handling in thread switching. - The kernel will now get to attempting to jump into init in user mode. There are some pmap/trap issues which prevent it from actually getting there though. Obtained from: NetBSD (parts)
* - Add back calls to setfault that were removed when these functions were moved.benno2002-04-292-28/+148
|
* Tidy up some loose ends.peter2002-04-294-40/+0
| | | | | | | | | | | | i386/ia64/alpha - catch up to sparc64/ppc: - replace pmap_kernel() with refs to kernel_pmap - change kernel_pmap pointer to (&kernel_pmap_store) (this is a speedup since ld can set these at compile/link time) all platforms (as suggested by jake): - gc unused pmap_reference - gc unused pmap_destroy - gc unused struct pmap.pm_count (we never used pm_count - we track address space sharing at the vmspace)
* MFi386 1.222: Remove vm_map_growstack() and acquisition and release of Giantalc2002-04-272-34/+4
| | | | around vm_fault() in trap_pfault().
* Don't use the symbol name to lookup the symbol value when we can usemarcel2002-04-251-8/+8
| | | | | | | | | | | | the symbol index defined by the relocation. The elf_lookup() support function is to be used by elf_reloc() when symbol lookups need to be done. The elf_lookup() function operates on the symbol index and will do a symbol name based lookup when such is required, otherwise it uses the symbol index directly. This solves the problem seen on ia64 where the symbol hash table does not contain local symbols and a symbol name based lookup would fail for those symbols. Don't pass the symbol name to elf_reloc(), as it isn't used any more.
* Replace inline asm with it's inline function wrapper.benno2002-04-202-2/+2
|
* Correct a comment.benno2002-04-163-3/+3
|
* Implement the following functions:benno2002-04-163-24/+216
| | | | | | | | | - pmap_kextract - pmap_object_init_pt - pmap_protect - pmap_remove_pages I'm pretty sure pmap_remove_pages is at least somewhat bogus.
* Remove some dead code.benno2002-04-163-48/+0
|
* Use mtsrin() instead of inline asm.benno2002-04-163-9/+6
|
* Change the value of PMAP_BOOTSTRAP so we don't stomp on the PTE index value.benno2002-04-163-3/+3
|
* Add inlines for mtsrin and mfsrin.benno2002-04-161-0/+17
|
* Pass vm_page_t instead of physical addresses to pmap_zero_page[_area]()peter2002-04-153-9/+12
| | | | | | | | | | | and pmap_copy_page(). This gets rid of a couple more physical addresses in upper layers, with the eventual aim of supporting PAE and dealing with the physical addressing mostly within pmap. (We will need either 64 bit physical addresses or page indexes, possibly both depending on the circumstances. Leaving this to pmap itself gives more flexibilitly.) Reviewed by: jake Tested on: i386, ia64 and (I believe) sparc64. (my alpha was hosed)
* Add ofwd to the GENERIC config for powerpc.benno2002-04-151-0/+1
|
* Add a nexus device.benno2002-04-153-0/+517
| | | | Copied from: sparc64
* Turn some CTR's into CTR0's.benno2002-04-153-6/+6
|
* GC an extraneous prototype of delay().benno2002-04-151-1/+0
|
* Include <sys/cdefs.h> for definition of __BSD_VISIBLE.mike2002-04-121-0/+1
| | | | Pointy hat to: mike
* Remove the hack for segsz_t from <sys/types.h>; use the normalmike2002-04-101-0/+1
| | | | _BSD_FOO_T_ method for defining segsz_t.
* Add manifest constants: _LITTLE_ENDIAN, _BIG_ENDIAN, _PDP_ENDIAN, andmike2002-04-101-6/+15
| | | | | | _BYTE_ORDER. These are far more useful than their non-underscored equivalents as these can be used in restricted namespace environments. Mark the non-underscored variants as deprecated.
* GC various bits and pieces of USERCONFIG from all over the place.phk2002-04-092-24/+0
|
* GC the "dumplo" variable, which is no longer used.phk2002-04-072-2/+0
| | | | A lot of sys/*/*/machdep.c seems not to be.
* - Move the MI mutexes sched_lock and Giant from being declared in thejhb2002-04-022-46/+6
| | | | | | | | | | various machdep.c's to being declared in kern_mutex.c. - Add a new function mutex_init() used to perform early initialization needed for mutexes such as setting up thread0's contested lock list and initializing MI mutexes. Change the various MD startup routines to call this function instead of duplicating all the code themselves. Tested on: alpha, i386
* Stage-2 commit of the critical*() code. This re-inlines cpu_critical_enter()dillon2002-04-013-26/+76
| | | | | | | | | | | | | | | | | | | | | and cpu_critical_exit() and moves associated critical prototypes into their own header file, <arch>/<arch>/critical.h, which is only included by the three MI source files that need it. Backout and re-apply improperly comitted syntactical cleanups made to files that were still under active development. Backout improperly comitted program structure changes that moved localized declarations to the top of two procedures. Partially re-apply one of the program structure changes to move 'mask' into an intermediate block rather then in three separate sub-blocks to make the code more readable. Re-integrate bug fixes that Jake made to the sparc64 code. Note: In general, developers should not gratuitously move declarations out of sub-blocks. They are where they are for reasons of structure, grouping, readability, compiler-localizability, and to avoid developer-introduced bugs similar to several found in recent years in the VFS and VM code. Reviewed by: jake
* Centralize the "bootdev" and "dumpdev" variables. They are still prettyphk2002-03-311-3/+0
| | | | | bogus all things considered, but at least now they don't camouflage as being MD variables.
* Use the MI vm_map_growstack() instead of the MD grow_stack() in trap(). Removealc2002-03-304-34/+6
| | | | the MD grow_stack().
* Add a new mtx_init option "MTX_DUPOK" which allows duplicate acquires of locksjeff2002-03-272-2/+2
| | | | | | | | | | | with this flag. Remove the dup_list and dup_ok code from subr_witness. Now we just check for the flag instead of doing string compares. Also, switch the process lock, process group lock, and uma per cpu locks over to this interface. The original mechanism did not work well for uma because per cpu lock names are unique to each zone. Approved by: jhb
* Compromise for critical*()/cpu_critical*() recommit. Cleanup the interruptdillon2002-03-273-22/+70
| | | | | | | | | | | | | | | | | | | 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
* Guard against redefining __gnuc_va_list.obrien2002-03-241-1/+2
|
* ASM versions of __FBSDID.obrien2002-03-231-0/+6
|
* Collect all functions for copying to and from userspace into the one file.benno2002-03-219-475/+520
| | | | | This allows me to reimplement [sf]u{byte,word} as separate functions and not as calls to copy{in,out}.
* - Make all inlines for manipulating supervisor-level registers accept/returnbenno2002-03-211-6/+13
| | | | | register_t values. - Implement an inline for isync.
* GC some unused, bogus interrupt functions and replace them with properbenno2002-03-211-20/+6
| | | | implementations of intr_disable and intr_restore.
* Remove references to vm_zone.h and switch over to the new uma API.jeff2002-03-213-36/+36
|
* Remove __P.alfred2002-03-2019-136/+132
| | | | Reveiwed by: benno
* Change the way we ensure td_ucred is NULL if DIAGNOSTIC is defined.jhb2002-03-202-26/+6
| | | | | | | | | | | | Instead of caching the ucred reference, just go ahead and eat the decerement and increment of the refcount. Now that Giant is pushed down into crfree(), we no longer have to get Giant in the common case. In the case when we are actually free'ing the ucred, we would normally free it on the next kernel entry, so the cost there is not new, just in a different place. This also removse td_cache_ucred from struct thread. This is still only done #ifdef DIAGNOSTIC. Tested on: i386, alpha
* Increment pmap_pvo_count in the right place.benno2002-03-203-3/+3
|
* This is the first part of the new kernel memory allocator. This replacesjeff2002-03-193-0/+69
| | | | | | malloc(9) and vm_zone with a slab like allocator. Reviewed by: arch@
* Changes and fixes in preparation for UMA:benno2002-03-173-36/+87
| | | | | | - Bootstrap pvo entries are now allocated by stealing pages. - Just return if we're pmap_enter'ing a mapping that's already there. Don't remove it and re-enter it.
* Lowercase all of the trap names.benno2002-03-172-96/+96
|
* Clean up and fix up copyin and copyout.benno2002-03-172-28/+40
|
* Move the definition of PT_[GS]ET{,DB,FP}REGS from the MD ptrace.h to thedes2002-03-161-10/+0
| | | | | MI ptrace.h, since all platforms define them. Keep the MD ptrace.h around for FIX_SSTEP (which is currently only needed on Alpha).
* Correct a typo. (* that should've been &)benno2002-03-113-3/+3
|
OpenPOWER on IntegriCloud