Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/vax eliminate TRUNC_PAGE() and ROUND_PAGE() in favo...
details: https://anonhg.NetBSD.org/src/rev/37aa6e7330b8
branches: trunk
changeset: 499492:37aa6e7330b8
user: chs <chs%NetBSD.org@localhost>
date: Tue Nov 21 05:49:07 2000 +0000
description:
eliminate TRUNC_PAGE() and ROUND_PAGE() in favor of their
lowercase counterparts. also, a little misc cleanup.
diffstat:
sys/arch/vax/include/pmap.h | 6 +-----
sys/arch/vax/include/pte.h | 12 ++++++------
sys/arch/vax/vax/locore.c | 4 ++--
sys/arch/vax/vax/pmap.c | 42 ++++++++++++++++--------------------------
sys/arch/vax/vsa/vsbus.c | 14 +++++++-------
5 files changed, 32 insertions(+), 46 deletions(-)
diffs (249 lines):
diff -r 1c786210a299 -r 37aa6e7330b8 sys/arch/vax/include/pmap.h
--- a/sys/arch/vax/include/pmap.h Tue Nov 21 05:23:37 2000 +0000
+++ b/sys/arch/vax/include/pmap.h Tue Nov 21 05:49:07 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.h,v 1.40 2000/08/08 19:06:53 ragge Exp $ */
+/* $NetBSD: pmap.h,v 1.41 2000/11/21 05:49:07 chs Exp $ */
/*
* Copyright (c) 1987 Carnegie-Mellon University
@@ -87,10 +87,6 @@
int pv_attr; /* write/modified bits */
};
-/* ROUND_PAGE used before vm system is initialized */
-#define ROUND_PAGE(x) (((uint)(x) + PGOFSET) & ~PGOFSET)
-#define TRUNC_PAGE(x) ((uint)(x) & ~PGOFSET)
-
/* Mapping macros used when allocating SPT */
#define MAPVIRT(ptr, count) \
(vaddr_t)ptr = virtual_avail; \
diff -r 1c786210a299 -r 37aa6e7330b8 sys/arch/vax/include/pte.h
--- a/sys/arch/vax/include/pte.h Tue Nov 21 05:23:37 2000 +0000
+++ b/sys/arch/vax/include/pte.h Tue Nov 21 05:49:07 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: pte.h,v 1.17 2000/10/15 11:00:38 ragge Exp $ */
+/* $NetBSD: pte.h,v 1.18 2000/11/21 05:49:08 chs Exp $ */
/*
* Copyright (c) 1994 Ludd, University of Lule}, Sweden.
@@ -91,19 +91,19 @@
r; \
})
#define kvtophys(va) ({ \
- long r; \
+ paddr_t r; \
asm("extzv $9,$21,%1,%0;ashl $9,*" VAX_SYSMAP "[%0],%0;insv %1,$0,$9,%0" \
: "=&r"(r) : "g"(va) : "cc"); \
r; \
})
#else /* __GNUC__ */
#define kvtophys(va) \
- (((kvtopte(va))->pg_pfn << VAX_PGSHIFT) | ((int)(va) & VAX_PGOFSET))
+ (((kvtopte(va))->pg_pfn << VAX_PGSHIFT) | ((paddr_t)(va) & VAX_PGOFSET))
#define kvtopte(va) (&Sysmap[PG_PFNUM(va)])
#endif /* __GNUC__ */
#define uvtopte(va, pcb) \
- (((unsigned)va < 0x40000000) ? \
- &((pcb->P0BR)[PG_PFNUM(va)]) : \
- &((pcb->P1BR)[PG_PFNUM(va)]))
+ (((vaddr_t)va < 0x40000000) ? \
+ &(((pcb)->P0BR)[PG_PFNUM(va)]) : \
+ &(((pcb)->P1BR)[PG_PFNUM(va)]))
#endif
diff -r 1c786210a299 -r 37aa6e7330b8 sys/arch/vax/vax/locore.c
--- a/sys/arch/vax/vax/locore.c Tue Nov 21 05:23:37 2000 +0000
+++ b/sys/arch/vax/vax/locore.c Tue Nov 21 05:49:07 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: locore.c,v 1.52 2000/09/04 11:46:33 ragge Exp $ */
+/* $NetBSD: locore.c,v 1.53 2000/11/21 05:49:08 chs Exp $ */
/*
* Copyright (c) 1994, 1998 Ludd, University of Lule}, Sweden.
* All rights reserved.
@@ -271,7 +271,7 @@
avail_end += VAX_NBPG * 128;
boothowto = prpb->rpb_bootr5;
- avail_end = TRUNC_PAGE(avail_end); /* be sure */
+ avail_end &= ~PGOFSET; /* be sure */
proc0.p_addr = (void *)proc0paddr; /* XXX */
diff -r 1c786210a299 -r 37aa6e7330b8 sys/arch/vax/vax/pmap.c
--- a/sys/arch/vax/vax/pmap.c Tue Nov 21 05:23:37 2000 +0000
+++ b/sys/arch/vax/vax/pmap.c Tue Nov 21 05:49:07 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.89 2000/10/31 20:15:09 ragge Exp $ */
+/* $NetBSD: pmap.c,v 1.90 2000/11/21 05:49:08 chs Exp $ */
/*
* Copyright (c) 1994, 1998, 1999 Ludd, University of Lule}, Sweden.
* All rights reserved.
@@ -150,6 +150,10 @@
struct pcb *pcb = (struct pcb *)proc0paddr;
pmap_t pmap = pmap_kernel();
+ /* Set logical page size */
+ uvmexp.pagesize = NBPG;
+ uvm_setpagesize();
+
/*
* Calculation of the System Page Table is somewhat a pain,
* because it must be in contiguous physical memory and all
@@ -201,17 +205,17 @@
mtpr((unsigned)Sysmap - KERNBASE, PR_SBR);
/* Map Interrupt stack and set red zone */
- istack = (unsigned)Sysmap + ROUND_PAGE(sysptsize * 4);
+ istack = (unsigned)Sysmap + round_page(sysptsize * 4);
mtpr(istack + ISTACK_SIZE, PR_ISP);
kvtopte(istack)->pg_v = 0;
/* Some scratch pages */
- scratch = ((u_int)istack + ISTACK_SIZE);
+ scratch = istack + ISTACK_SIZE;
/* Physical-to-virtual translation table */
- (unsigned)pv_table = scratch + 4 * VAX_NBPG;
+ pv_table = (struct pv_entry *)(scratch + 4 * VAX_NBPG);
- avail_start = (unsigned)pv_table + (ROUND_PAGE(avail_end >> PGSHIFT)) *
+ avail_start = (vaddr_t)pv_table + (round_page(avail_end >> PGSHIFT)) *
sizeof(struct pv_entry) - KERNBASE;
/* Kernel message buffer */
@@ -221,10 +225,6 @@
/* zero all mapped physical memory from Sysmap to here */
memset((void *)istack, 0, (avail_start + KERNBASE) - istack);
- /* Set logical page size */
- uvmexp.pagesize = NBPG;
- uvm_setpagesize();
-
/* QDSS console mapping hack */
#if NQD > 0
qdearly();
@@ -243,9 +243,9 @@
if (dep_call->cpu_steal_pages)
(*dep_call->cpu_steal_pages)();
- avail_start = ROUND_PAGE(avail_start);
- virtual_avail = ROUND_PAGE(virtual_avail);
- virtual_end = TRUNC_PAGE(virtual_end);
+ avail_start = round_page(avail_start);
+ virtual_avail = round_page(virtual_avail);
+ virtual_end = trunc_page(virtual_end);
#if 0 /* Breaks cninit() on some machines */
@@ -500,8 +500,6 @@
#ifdef PMAPDEBUG
if(startpmapdebug)printf("pmap_destroy: pmap %p\n",pmap);
#endif
- if (pmap == NULL)
- return;
simple_lock(&pmap->pm_lock);
count = --pmap->ref_count;
@@ -509,7 +507,7 @@
if (count == 0) {
pmap_release(pmap);
- FREE((caddr_t)pmap, M_VMPMAP);
+ FREE(pmap, M_VMPMAP);
}
}
@@ -674,9 +672,6 @@
printf("pmap_enter: pmap %p v %lx p %lx prot %x wired %d access %x\n",
pmap, v, p, prot, wired, flags & VM_PROT_ALL);
#endif
- /* Can this happen with UVM??? */
- if (pmap == 0)
- return (KERN_SUCCESS);
RECURSESTART;
/* Find addess of correct pte */
@@ -690,9 +685,6 @@
i = (v >> VAX_PGSHIFT);
if (i >= (pmap->pm_p0lr & ~AST_MASK))
panic("P0 too small in pmap_enter");
- patch = (int *)pmap->pm_p0br;
- newpte = (p >> VAX_PGSHIFT) |
- (prot & VM_PROT_WRITE ? PG_RW : PG_RO);
} else {
patch = (int *)pmap->pm_p1br;
i = (v - 0x40000000) >> VAX_PGSHIFT;
@@ -700,9 +692,9 @@
panic("pmap_enter: must expand P1");
if (v < pmap->pm_stack)
pmap->pm_stack = v;
- newpte = (p >> VAX_PGSHIFT) |
- (prot & VM_PROT_WRITE ? PG_RW : PG_RO);
}
+ newpte = (p >> VAX_PGSHIFT) |
+ (prot & VM_PROT_WRITE ? PG_RW : PG_RO);
/*
* Check if a pte page must be mapped in.
@@ -745,7 +737,6 @@
newpte |= PG_W;
oldpte = patch[i] & ~(PG_V|PG_M);
-
pv = pv_table + (p >> PGSHIFT);
/* wiring change? */
@@ -1025,8 +1016,7 @@
pte = (u_int *)mfpr(PR_P0BR);
pte += PG_PFNUM(addr);
if (bits & 2) { /* PTE reference */
- pte = (u_int *)TRUNC_PAGE(pte);
- pte = (u_int *)kvtopte(pte);
+ pte = (u_int *)kvtopte(trunc_page((vaddr_t)pte));
if (pte[0] == 0) /* Check for CVAX bug */
return 1;
pa = (u_int)pte & ~KERNBASE;
diff -r 1c786210a299 -r 37aa6e7330b8 sys/arch/vax/vsa/vsbus.c
--- a/sys/arch/vax/vsa/vsbus.c Tue Nov 21 05:23:37 2000 +0000
+++ b/sys/arch/vax/vsa/vsbus.c Tue Nov 21 05:49:07 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: vsbus.c,v 1.29 2000/06/29 07:14:37 mrg Exp $ */
+/* $NetBSD: vsbus.c,v 1.30 2000/11/21 05:49:08 chs Exp $ */
/*
* Copyright (c) 1996, 1999 Ludd, University of Lule}, Sweden.
* All rights reserved.
@@ -301,13 +301,13 @@
struct pte *pte;
paddr_t pa;
- if ((long)to & KERNBASE) { /* In kernel space */
+ if ((vaddr_t)to & KERNBASE) { /* In kernel space */
bcopy(from, to, len);
return;
}
- pte = uvtopte(TRUNC_PAGE(to), (&p->p_addr->u_pcb));
+ pte = uvtopte(trunc_page((vaddr_t)to), &p->p_addr->u_pcb);
if ((vaddr_t)to & PGOFSET) {
- int cz = ROUND_PAGE(to) - (vaddr_t)to;
+ int cz = round_page((vaddr_t)to) - (vaddr_t)to;
pa = (pte->pg_pfn << VAX_PGSHIFT) | (NBPG - cz) | KERNBASE;
bcopy(from, (caddr_t)pa, min(cz, len));
@@ -332,13 +332,13 @@
struct pte *pte;
paddr_t pa;
- if ((long)from & KERNBASE) { /* In kernel space */
+ if ((vaddr_t)from & KERNBASE) { /* In kernel space */
bcopy(from, to, len);
return;
}
- pte = uvtopte(TRUNC_PAGE(from), (&p->p_addr->u_pcb));
+ pte = uvtopte(trunc_page((vaddr_t)from), &p->p_addr->u_pcb);
if ((vaddr_t)from & PGOFSET) {
- int cz = ROUND_PAGE(from) - (vaddr_t)from;
+ int cz = round_page((vaddr_t)from) - (vaddr_t)from;
pa = (pte->pg_pfn << VAX_PGSHIFT) | (NBPG - cz) | KERNBASE;
bcopy((caddr_t)pa, to, min(cz, len));
Home |
Main Index |
Thread Index |
Old Index