Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/sh5/sh5 - g/c an accidentally committed debug hack
details: https://anonhg.NetBSD.org/src/rev/d00896323b98
branches: trunk
changeset: 537941:d00896323b98
user: scw <scw%NetBSD.org@localhost>
date: Tue Oct 08 16:01:07 2002 +0000
description:
- g/c an accidentally committed debug hack
- use sh5_trunc_page() instead of masking with SH5_PTEH_EPN mask
where appropriate. The latter is not safe in 64-bit mode.
diffstat:
sys/arch/sh5/sh5/pmap.c | 19 +++++++++----------
1 files changed, 9 insertions(+), 10 deletions(-)
diffs (89 lines):
diff -r 66bb09282b0b -r d00896323b98 sys/arch/sh5/sh5/pmap.c
--- a/sys/arch/sh5/sh5/pmap.c Tue Oct 08 15:59:32 2002 +0000
+++ b/sys/arch/sh5/sh5/pmap.c Tue Oct 08 16:01:07 2002 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.16 2002/10/07 15:02:07 scw Exp $ */
+/* $NetBSD: pmap.c,v 1.17 2002/10/08 16:01:07 scw Exp $ */
/*
* Copyright 2002 Wasabi Systems, Inc.
@@ -296,7 +296,7 @@
ptel_t pvo_ptel; /* PTEL for this mapping */
};
-#define PVO_VADDR(pvo) ((pvo)->pvo_vaddr & SH5_PTEH_EPN_MASK)
+#define PVO_VADDR(pvo) (sh5_trunc_page((pvo)->pvo_vaddr))
#define PVO_ISEXECUTABLE(pvo) ((pvo)->pvo_ptel & SH5_PTEL_PR_X)
#define PVO_ISWIRED(pvo) ((pvo)->pvo_vaddr & PVO_WIRED)
#define PVO_ISMANAGED(pvo) ((pvo)->pvo_vaddr & PVO_MANAGED)
@@ -737,7 +737,7 @@
{
ptel_t ptel;
- __cpu_tlbinv(PVO_VADDR(pvo) | SH5_PTEH_SH,
+ __cpu_tlbinv((pteh_t)PVO_VADDR(pvo) | SH5_PTEH_SH,
SH5_PTEH_EPN_MASK | SH5_PTEH_SH);
ptel = pmap_kernel_ipt[idx];
@@ -1040,7 +1040,6 @@
*/
size = sh5_round_page(MSGBUFSIZE);
initmsgbuf((caddr_t)avail, size);
- *((vaddr_t *)0xc0000000) = avail;
avail = sh5_round_page(avail + size);
mr[0].mr_start += size;
@@ -1512,7 +1511,7 @@
struct pvo_entry *pvo;
int idx;
- va &= SH5_PTEH_EPN_MASK;
+ va = sh5_trunc_page(va);
if (va < SH5_KSEG0_BASE) {
idx = va_to_pteg(pm->pm_vsid, va);
@@ -1580,7 +1579,7 @@
oldptel = *ptel;
*ptel = 0;
- __cpu_tlbinv((kva & SH5_PTEH_EPN_MASK) | SH5_PTEH_SH,
+ __cpu_tlbinv(((pteh_t)kva & SH5_PTEH_EPN_MASK) | SH5_PTEH_SH,
SH5_PTEH_EPN_MASK | SH5_PTEH_SH);
pmap_cache_sync_unmap(kva, oldptel);
@@ -1650,7 +1649,7 @@
int i, s;
int poolflags = PR_NOWAIT;
- va &= SH5_PTEH_EPN_MASK;
+ va = sh5_trunc_page(va);
#ifdef PMAP_DIAG
if (pm == pmap_kernel() && va < SH5_KSEG1_BASE) {
@@ -2202,7 +2201,7 @@
pvo = pmap_pvo_find_va(pm, va, NULL);
if (pvo != NULL) {
*pap = (pvo->pvo_ptel & SH5_PTEL_PPN_MASK) |
- (va & ~SH5_PTEH_EPN_MASK);
+ sh5_page_offset(va);
found = TRUE;
PMPRINTF(("%smanaged pvo. pa 0x%lx\n",
PVO_ISMANAGED(pvo) ? "" : "un", *pap));
@@ -2211,7 +2210,7 @@
idx = kva_to_iptidx(va);
if (idx >= 0 && pmap_kernel_ipt[idx]) {
*pap = (pmap_kernel_ipt[idx] & SH5_PTEL_PPN_MASK) |
- (va & ~SH5_PTEH_EPN_MASK);
+ sh5_page_offset(va);
found = TRUE;
PMPRINTF(("no pvo, but kipt pa 0x%lx\n", *pap));
}
@@ -2700,7 +2699,7 @@
} else {
KDASSERT(idx >= 0);
- __cpu_tlbinv(PVO_VADDR(pvo) | SH5_PTEH_SH,
+ __cpu_tlbinv((pteh_t)PVO_VADDR(pvo) | SH5_PTEH_SH,
SH5_PTEH_EPN_MASK | SH5_PTEH_SH);
/*
Home |
Main Index |
Thread Index |
Old Index