diff options
author | Michael Shalayeff <mickey@cvs.openbsd.org> | 2002-03-15 21:44:19 +0000 |
---|---|---|
committer | Michael Shalayeff <mickey@cvs.openbsd.org> | 2002-03-15 21:44:19 +0000 |
commit | 272e5ac533a4d733e5bb17d6eb9b1a8ce4c26df5 (patch) | |
tree | 1f73911329d48df3f982381c1abebeeb499bdb8a /sys/arch/hppa/include/cpufunc.h | |
parent | 95b13325476dd5114a97010e5cffb1a38740bb62 (diff) |
rewrite a pmap to use multilevel page tables.
lower 12 bits contain the perms, no unused bits left,
but a couple for off-tlb use (as the ref implemented now).
do not use the hvt, which might get some use later
if proven to speed thigs up, tlb handlers would po
another dozen of insns though, but if that's worth its...
move on the data seg and map kernel text rdonly (idea form fredette),
since all of the page0 mods done before that we are all fine
except for some viper fluff, but later w/ that.
this also picks up a bit more of ddb magic for bpt and ss.
tlb handlers can use a little bit more of attention,
but things, visually, seem to be much faster already, --
sorry, no benchmarks for now.
* effort sponsored in part by the `henry st. old ale house'
* and mr.pete and mr.lee in particular in thier generous entrirety.
* the proj took a little more that 72man*h as it was expected,
* but within murhy's law estimations.
Diffstat (limited to 'sys/arch/hppa/include/cpufunc.h')
-rw-r--r-- | sys/arch/hppa/include/cpufunc.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/arch/hppa/include/cpufunc.h b/sys/arch/hppa/include/cpufunc.h index b967a53614d..6b85c9e3aef 100644 --- a/sys/arch/hppa/include/cpufunc.h +++ b/sys/arch/hppa/include/cpufunc.h @@ -1,4 +1,4 @@ -/* $OpenBSD: cpufunc.h,v 1.18 2002/03/14 01:26:32 millert Exp $ */ +/* $OpenBSD: cpufunc.h,v 1.19 2002/03/15 21:44:18 mickey Exp $ */ /* * Copyright (c) 1998,2000 Michael Shalayeff @@ -218,13 +218,14 @@ ledctl(int on, int off, int toggle) #endif #ifdef _KERNEL +extern int (*cpu_hpt_init)(vaddr_t hpt, vsize_t hptsize); + void ficache(pa_space_t sp, vaddr_t va, vsize_t size); void fdcache(pa_space_t sp, vaddr_t va, vsize_t size); void pdcache(pa_space_t sp, vaddr_t va, vsize_t size); void fcacheall(void); void ptlball(void); -int btlb_insert(pa_space_t space, vaddr_t va, paddr_t pa, - vsize_t *lenp, u_int prot); +int btlb_insert(pa_space_t space, vaddr_t va, paddr_t pa, vsize_t *lenp, u_int prot); hppa_hpa_t cpu_gethpa(int n); #endif |