Age | Commit message (Collapse) | Author |
|
|
|
boolean_t pmap_extract(struct pmap *, vaddr_t, paddr_t *).
Matches NetBSD. Tested by various people on various platforms.
|
|
|
|
- Change pmap_change_wiring to pmap_unwire because it's only called that way.
- Remove pmap_pageable because it's seldom implemented and when it is, it's
either almost useless or incorrect. The same information is already passed
to the pmap anyway by pmap_enter and pmap_unwire.
|
|
And remove that memory price comment from 1981. It is amusing, but also
confusing because the math in there is only correct on vax.
|
|
Move it from cpu_startup() to main().
|
|
CLSIZE -> 1
CLBYTES -> PAGE_SIZE
OLOFSET -> PAGE_MASK
etc.
At the same time some archs needed some cleaning in vmparam.h so that
goes in at the same time.
|
|
|
|
|
|
- use a flag to specify allocations for 24 bit devices
- compatibility macros to deal with the 32 bit devices
This fixes the 'le at sbus' on sun4m problem (with the extent fixes
earlier), and allows the Artecon ethernet cards to work in sun4m machines.
|
|
|
|
|
|
|
|
UQUAD_MAX, QUAD_MAX, and QUAD_MIN respectively.
|
|
|
|
|
|
cpu_exit no longer frees the vmspace and u-area. This is now handled by a
separate kernel thread "reaper". This is to avoid sleeping locks in the
critical path of cpu_exit where we're not allowed to sleep.
From NetBSD
|
|
when the monitor is blanked.
|
|
|
|
|
|
off_t to be visible in stdio.h even in strict ansi mode. This is needed
for ftello()/fseeko() and it allows us to remove the horrible fpos_t hack.
|
|
|
|
|
|
(SFADDR -> SFAR, SFSTAT -> SFSR, AFADDR -> AFAR, AFSTAT -> AFSR).
|
|
|
|
|
|
On some sun4m the pagetables must be uncached. This is indicated by the
CPUFLG_CACHEPAGETABLES in cpuinfo.flags. This was done in pmap_bootstrap4m.
The problem is that the CPUFLG_CACHEPAGETABLES is not set until after
pmap_bootstrap4m, so even the machines that could cache the pagetables
had them uncached, reducing performance.
Fix this by creating pmap_cache_enable that is called just after the
cache has been switched on (XXX - actually, we should call it before, but
CPUFLG_CACHEPAGETABLES can be set in the code that enables the cache).
|
|
a memory and allow the range to be cached again.
Make kvm_uncache and kvm_recache to macros that call kvm_setcache.
(also in the commit: Fix protection for pmap_kenter* and remove a redundant
call to uvm_setpagesize).
|
|
|
|
|
|
(and friends).
|
|
- MACHINE_NONCONTIG will no longer work and all code that is not
MACHINE_NEW_NONCONTIG is removed.
- Kill the pv_table hack which adds complexity to the code and wastes some
memory, let the vm "handle" the pv lists through the vm_physmem array,
this makes allocation a lot easier.
- kill the managed() macro, since it was only used to see if pvhead would
end up in a "hole" in pv_table.
- pvhead() is now a function that returns NULL if the page is unmanaged. It
also takes a page number as an argument instead of the physical address,
since in most cases pvhead was called as pvhead(ptoa(pa)) anyway and it
did an atop internally.
|
|
|
|
|
|
the access type that caused this mapping. This is to simplify pmaps
with mod/ref emulation (none for the moment) and in some cases speed
up pmap_is_{referenced,modified}.
At the same time, clean up some mappings that had too high protection.
XXX - the access type is incorrect in old vm, it's only used by uvm and MD code.
The actual use of this in pmap_enter implementations is not in this commit.
|
|
|
|
|
|
o fga5000 vme-sbus bridge
o system config registers
o flash memory
and daadio VME board driver
|
|
|
|
|
|
remove "register" keywords
Various cleanups.
|
|
|
|
|
|
|
|
|
|
(don't forget that cpp is `lazy':
#define A B
#define B value
#if A == value
works, since A isn't extended before it's needed, by which time B is known)
|
|
|
|
|
|
|
|
|