Age | Commit message (Collapse) | Author |
|
|
|
entry. Also terminate the search as soon as this entry is found.
|
|
removing by using the va it is replacing it with, NO!.
Calculate the va of the mapping by inverting the pte_hi calculation
producing bits 4-19 of the address. This is enough to correctly invalidate
the tlb entry for the mapping being removed.
|
|
well (not at all) with shortages of the vm_map where the pages are mapped
(usually kmem_map).
Try to deal with it:
- group all information the backend allocator for a pool in a separate
struct. The pool will only have a pointer to that struct.
- change the pool_init API to reflect that.
- link all pools allocating from the same allocator on a linked list.
- Since an allocator is responsible to wait for physical memory it will
only fail (waitok) when it runs out of its backing vm_map, carefully
drain pools using the same allocator so that va space is freed.
(see comments in code for caveats and details).
- change pool_reclaim to return if it actually succeeded to free some
memory, use that information to make draining easier and more efficient.
- get rid of PR_URGENT, noone uses it.
|
|
|
|
protection was not good enough. work from theo, pefo, toby.
|
|
memory, pmap structure.
|
|
counted as soft interrupts.
|
|
successfully ran 'make build'.
|
|
in the po lists, it will NOT have the PTE_VALID bit set. Thus valid
mappings could be ignored if enough mappings existed for that PTEG pair.
This explains the bus_dma panics.
|
|
It is not valid to call pool_put() from that context.
If called from that context, put the freed item on one of two lists
(race safe), poalloc() will attempt to fetch from there, and pofree()
will clean up if called from a normal context.
|
|
in ptrace.h, not in md header files.
Protect vector functions/variables with _KERNEL.
|
|
|
|
misc pmap usage fixes.
|
|
date: 2000/02/11 19:22:52; author: thorpej;
Add some very simple code to auto-size the kmem_map. We take the
amount of physical memory, divide it by 4, and then allow machine
dependent code to place upper and lower bounds on the size. Export
the computed value to userspace via the new "vm.nkmempages" sysctl.
NKMEMCLUSTERS is now deprecated and will generate an error if you
attempt to use it. The new option, should you choose to use it,
is called NKMEMPAGES, and two new options NKMEMPAGES_MIN and
NKMEMPAGES_MAX allow the user to configure the bounds in the kernel
config file.
|
|
|
|
|
|
it was fixed 2x, leaving one instance of the error.
|
|
vm_map_t -> struct vm_map *
vm_map_entry_t -> struct vm_map_entry *
simple_lock_data_t -> struct simplelock
(uvm not done yet, coming in the next commit)
|
|
pmap_update API (right now it's nop).
|
|
|
|
This time we're getting rid of KERN_* and VM_PAGER_* error codes and
use errnos instead.
|
|
functions. Seems to have no effect on system run time (it should have...)
reduces GENERIC kernel size by 52k.
|
|
the 'as' in openbsd source tree does not yet support altivec instructions.
The pieces to enable it have been put in macppc/conf/GENERIC and
macppc/conf/Makefile.macppc in comments.
Once 'as' is updated the kernel option should be removed.
|
|
kernel much. This has been there quite a while.
|
|
|
|
(Look ma, I might have broken the tree)
|
|
instead of doing fork1, cpu_set_kpc. This lets us retire cpu_set_kpc and
avoid a multiprocessor race.
This commit breaks vax because it doesn't look like any other arch, someone
working on vax might want to look at this and try to adapt the code to be
more like the rest of the world.
Idea and uvm parts from NetBSD.
|
|
(although they are leftovers from an earlier bad time, the macppc
decided that it's a good idea to use them.)
|
|
|
|
Why did Motorola put this exception misaligned with respect to all other
exceptions?
Altivec is not supported. This will cause any process executing altivec
instructions to recieve an illegal instruction signal.
|
|
|
|
restoring it when the copying/copyout/badaddr functions finish.
|
|
|
|
Changes to the pmap_enter code so that the pmap_kenter/pmap_kremove
has a method to create mappings without adding them to the _pv lists
(part of the point of pmap_k* functions). Also adds an interface
so that device mappings can be created with cacheable attributes.
So that devices such as display memory can be mapped writethru
greatly increasing their speed.
|
|
instead of just address. Managed to test this out a few times today.
|
|
The buffer cache is initialized with pmap_k* for all powerpc systems.
Does not cause a problem with current code because pmap_k* are only
wrappers around pmap_enter/remove.
|
|
possible bugs in it which could cause the code to spin indefinately
attempting to remove all mappings for a page.
This is now able to survive a paging death program and additional other
testing.
|
|
|
|
eventually; drahn@ ok
|
|
This seems to improve the reliablity of the system.
Thanks to those who tested this.
|
|
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.
|
|
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/pci to macppc/pci
The file pci_machdep.h was not moved in this conversion.
It needs to be check if it is correct that should be the only shared
powerpc/pci file. Or if that file too should be MD, or more files MI.
|
|
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/mac to macppc/dev
|
|
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/include to macppc/include
Some files were not "moved" but wrapper files were created which include
the powerpc/include version.
Several of the powerpc/include files where changed to reflect that they
are POWERPC_* not MACHINE_*.
|
|
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/powerpc to macppc/macppc
This moves hardware specific files from the common directory to the
platform specific directory. This leaves common files.
With this change all of the debugger (db_) files have been moved to
the platform specific directory. The debugger should be reconsidered
and commonized.
|
|
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/compile to macppc/compile
|
|
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/stand to macppc/stand
|
|
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/stand/boot.mac to macppc/stand/boot.mac
These files are the bootloader for the older Openfirmware, not currently
supported.
|
|
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/stand/mbr to macppc/stand/mbr
|