diff options
author | Michael Shalayeff <mickey@cvs.openbsd.org> | 1999-06-30 18:59:07 +0000 |
---|---|---|
committer | Michael Shalayeff <mickey@cvs.openbsd.org> | 1999-06-30 18:59:07 +0000 |
commit | 327ffdf6c1ccb72c296e7bd90f3e8658d35bf6c7 (patch) | |
tree | 2518d374f82c80738445d1a155a8358315a1c460 | |
parent | 676947623ff19a80e6813ecf80b065992bd70cd3 (diff) |
do not allocate pv_entries for the block-mapped area
-rw-r--r-- | sys/arch/hppa/hppa/pmap.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/sys/arch/hppa/hppa/pmap.c b/sys/arch/hppa/hppa/pmap.c index 717a17d1d23..adcc98b5e3a 100644 --- a/sys/arch/hppa/hppa/pmap.c +++ b/sys/arch/hppa/hppa/pmap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pmap.c,v 1.15 1999/06/11 15:51:35 mickey Exp $ */ +/* $OpenBSD: pmap.c,v 1.16 1999/06/30 18:59:06 mickey Exp $ */ /* * Copyright (c) 1998 Michael Shalayeff @@ -713,8 +713,14 @@ pmap_bootstrap(vstart, vend) NB: It sez CR_VTOP, but we (and the TLB handlers) know better ... */ mtctl(hpt_table, CR_VTOP); + /* + * we know that btlb_insert() will round it up to the next + * power of two at least anyway + */ + for (physmem = 1; physmem < btoc(addr); physmem *= 2); + /* map the kernel space, which will give us virtual_avail */ - *vstart = hppa_round_page(addr + totalphysmem * + *vstart = hppa_round_page(addr + (totalphysmem - physmem) * (sizeof(struct pv_entry) * maxproc / 8 + sizeof(struct vm_page))); if (btlb_insert(kernel_pmap->pmap_space, 0, 0, vstart, |