Home | History | Annotate | Download | only in include
History log of /src/sys/arch/hpcarm/include/vmparam.h
RevisionDateAuthorComments
 1.33  27-Mar-2019  christos - expose vmparams to userland on arm, like other archs do.
- remove unneeded includes
 1.32  02-Nov-2017  skrll branches: 1.32.4;
ISA exists on more that just shark. Fix a comment about this.
 1.31  23-Feb-2015  joerg Use default PAGER_MAP_DEFAULT_SIZE for ARM and PowerPC, exception
acorn26. This bumps the KVA reservation from 4MB to 16MB and avoids
long hangs on my Cubietruck under IO. acorn26 is kept as it does have a
ridiculous low 32MB KVA limit.
 1.30  17-Feb-2012  christos branches: 1.30.2; 1.30.16;
expose more for kmemuser
 1.29  06-Nov-2010  uebayasi branches: 1.29.8; 1.29.12;
Remove incomplete, never worked dynamic run-time memory registration
(uvm_page_physload(9)). This functionality will be re-added later.
 1.28  25-Oct-2007  yamt branches: 1.28.40; 1.28.42;
defparam PAGER_MAP_SIZE.
 1.27  11-Dec-2005  christos branches: 1.27.30; 1.27.46; 1.27.48; 1.27.50; 1.27.54;
merge ktrace-lwp.
 1.26  07-Aug-2003  agc branches: 1.26.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.25  22-May-2003  thorpej branches: 1.25.2;
Move KERNEL_VM_SIZE into the C files where its used.
 1.24  22-May-2003  thorpej Use virtual_avail and virtual_end to compute the size of the available
kernel VM space for VM_MAX_KERNEL_BUF, and move the definition into
generic ARM code.
 1.23  21-May-2003  thorpej Move KERNEL_VM_BASE inside where it is used (it won't be there for long).
 1.22  03-May-2003  thorpej Don't expose KERNEL_TEXT_BASE outside of board-specific code. This gives
individual board start-up code more flexibility about where the kernel
starts in the kernel address space.
 1.21  03-May-2003  thorpej Remove old pmap support for platforms which have fully switched over.
 1.20  28-Apr-2003  thorpej Don't define APTE_BASE if ARM32_PMAP_NEW is defined; the new pmap
doesn't use it.
 1.19  02-Apr-2003  thorpej Use PAGE_SIZE rather than NBPG.
 1.18  14-Sep-2002  thorpej Back out previous; it breaks binary compatibility between platforms
in the same MACHINE_ARCH.
 1.17  14-Sep-2002  mycroft Move some #defines out of _KERNEL.
 1.16  23-Mar-2002  thorpej * Change all uses of KERNEL_SPACE_START to KERNEL_BASE.
* Delete now unused KERNEL_SPACE_START.
 1.15  23-Mar-2002  thorpej * Fix the definition of KERNEL_BASE.
* Define KERNEL_TEXT_BASE, APTE_BASE, and KERNEL_VM_BASE in terms of
KERNEL_BASE.
 1.14  23-Mar-2002  thorpej Slignt cleanup.
 1.13  23-Mar-2002  thorpej * Rename PROCESS_PAGE_TBLS_BASE -> PTE_BASE
* Rename ALT_PAGE_TBLS_BASE -> APTE_BASE
* Garbage-collect PAGE_TABLE_SPACE_START
 1.12  03-Mar-2002  chris Implement pmap_growkernel for arm32 based ports.
Note that this has been compiled on some systems, cats, IQ80310, IPAQ, netwinder and shark (note that shark's build is currently broken due to other reasons), but only actually run on cats.
Shark doesn't make use of the functionality as I believe there has to be a correlation between OFW and the kernel tables so that calls into OFW work.
 1.11  23-Feb-2002  toshii Make KERNEL_VM_SIZE a little larger so that ubc_init doesn't fail from
ENOMEM.
 1.10  23-Nov-2001  thorpej Move even more constants into the shared 32-bit vmparam.h header.
Cleanup elsewhere will have to be done before we can sanitize this
header any further.
 1.9  23-Nov-2001  thorpej - Move more contents of various <machine/vmparam.h> files into
<arm/arm32/vmparam.h> (mostly the stuff that's tied to the pmap
implementation).
- Since the MMU definitions in pte.h are specific to ARM processors
that support 32-bit mode, move pte.h to <arm/arm32/pte.h>.
- Make the Netwinder startup file build again (use PT_B|PT_C, rather
than PT_CACHEABLE, since the latter expands to a variable these days).
 1.8  15-Nov-2001  soren MAXSLP is defined to be a machine-independent scheduling parameter,
so move it into sys/param.h.
 1.7  11-Nov-2001  thorpej branches: 1.7.2;
Pull in common 32-bit ARM VM parameters.
 1.6  11-Aug-2001  chris branches: 1.6.4;
Checking a whole host of pmap changes:
Improved locking (not that we actually use it on a uniprocessor, but one day :)
Removed unneeded splvm's
tweaked pmap_clean_page code to only flush the cache if the page is mapped in the current pmap (based on diff from richard E)
Adopted pv entry allocation mechanism from i386.
Laid framework for returning ptp's when we've finished with them rather than holding onto them till the process exits.
ptp's are now allocated with a uvm object for the pmap, means that we can walk a list to free them off in pmap_release, until they get freed off by pmap_remove.

Also implemented a page zeroing function when the processor is idling. Note that hpcarm may wish to disable this.

I believe this code to be stable, if anyone has any problems please shout up.
 1.5  02-Aug-2001  toshii Change the start address to load the kernel. We have 768k more free
memory now.
 1.4  15-May-2001  toshii branches: 1.4.2;
Change _ARM32_*_H_ to _HPCARM_*_H_.
 1.3  01-May-2001  thorpej Per discussion w/ chuck and chuck, restructure the md page stuff
to use a structure called "vm_page_md", and use __HAVE_VM_PAGE_MD
and __HAVE_PMAP_PHYSSEG.
 1.2  29-Apr-2001  thorpej Add a VM_MDPAGE_MEMBERS macro that defines pmap-specific data for
each vm_page structure. Add a VM_MDPAGE_INIT() macro to init this
data when pages are initialized by UVM. These macros are mandatory,
but ports may #define them to nothing if they are not needed/used.

This deprecates struct pmap_physseg. As a transitional measure,
allow a port to #define PMAP_PHYSSEG so that it can continue to
use it until its pmap is converted to use VM_MDPAGE_MEMBERS.

Use all this stuff to eliminate a lot of extra work in the Alpha
pmap module (it's smaller and faster now). Changes to other pmap
modules will follow.
 1.1  23-Feb-2001  ichiro branches: 1.1.2; 1.1.4;
hpcarm:
kernel for StrongARM-based WinCE PDA machine.
 1.1.4.2  12-Mar-2001  bouyer Sync with HEAD.
 1.1.4.1  23-Feb-2001  bouyer file vmparam.h was added on branch thorpej_scsipi on 2001-03-12 13:28:31 +0000
 1.1.2.1  21-Jun-2001  nathanw Catch up to -current.
 1.4.2.6  10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.4.2.5  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.4.2.4  16-Mar-2002  jdolecek Catch up with -current.
 1.4.2.3  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.4.2.2  25-Aug-2001  thorpej Merge Aug 24 -current into the kqueue branch.
 1.4.2.1  03-Aug-2001  lukem update to -current
 1.6.4.1  12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.7.2.5  17-Apr-2002  nathanw Catch up to -current.
 1.7.2.4  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.7.2.3  28-Feb-2002  nathanw Catch up to -current.
 1.7.2.2  08-Jan-2002  nathanw Catch up to -current.
 1.7.2.1  11-Nov-2001  nathanw file vmparam.h was added on branch nathanw_sa on 2002-01-08 00:24:55 +0000
 1.25.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.25.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.25.2.1  03-Aug-2004  skrll Sync with HEAD
 1.26.16.1  27-Oct-2007  yamt sync with head.
 1.27.54.1  13-Nov-2007  bouyer Sync with HEAD
 1.27.50.1  06-Nov-2007  matt sync with HEAD
 1.27.48.1  28-Oct-2007  joerg Sync with HEAD.
 1.27.46.1  01-Nov-2007  rjs Sync with HEAD.
 1.27.30.1  03-Dec-2007  ad Sync with HEAD.
 1.28.42.1  05-Mar-2011  rmind sync with head
 1.28.40.1  26-Apr-2010  uebayasi Remove the unfinished code to add a memory segment after uvm_page_init().
It doesn't even compile.

(In the future, we should allocate struct vm_page [] on the added memory
segment for NUMA's sake.)
 1.29.12.1  18-Feb-2012  mrg merge to -current.
 1.29.8.1  17-Apr-2012  yamt sync with head
 1.30.16.1  06-Apr-2015  skrll Sync with HEAD
 1.30.2.1  03-Dec-2017  jdolecek update from HEAD
 1.32.4.1  10-Jun-2019  christos Sync with HEAD

RSS XML Feed