diff options
author | Kanoj Sarcar <kanoj@engr.sgi.com> | 2000-06-12 17:39:31 +0000 |
---|---|---|
committer | Kanoj Sarcar <kanoj@engr.sgi.com> | 2000-06-12 17:39:31 +0000 |
commit | 96680a4e6d55df5988c7b9fae26b459c4e94fb95 (patch) | |
tree | 0f71fac70269e2792780dae92a6333f713a76ada /arch/mips64/kernel/head.S | |
parent | d664fc3c7e5dfcff2bf348050ace5894c7648b3a (diff) |
Fix the code that puts in (possibly different) tlblo0/tlblo1 entries
for the mapped kernel. Compute the "pfn" field properly.
Diffstat (limited to 'arch/mips64/kernel/head.S')
-rw-r--r-- | arch/mips64/kernel/head.S | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/mips64/kernel/head.S b/arch/mips64/kernel/head.S index 29b7e17c0..5949dbfd9 100644 --- a/arch/mips64/kernel/head.S +++ b/arch/mips64/kernel/head.S @@ -59,9 +59,11 @@ dsll t1, NASID_SHFT # Shift text nasid into place dsll t2, NASID_SHFT # Same for data nasid or t1, t1, t0 # Physical load address of kernel text - or t2, t1, t0 # Physical load address of kernel data - dsrl t1, 6 # Put physical address into place - dsrl t2, 6 # Put physical address into place + or t2, t2, t0 # Physical load address of kernel data + dsrl t1, 12 # 4K pfn + dsrl t2, 12 # 4K pfn + dsll t1, 6 # Get pfn into place + dsll t2, 6 # Get pfn into place li t0, ((_PAGE_GLOBAL|_PAGE_VALID| _CACHE_CACHABLE_COW) >> 6) or t0, t0, t1 mtc0 t0, CP0_ENTRYLO0 # physaddr, VG, cach exlwr |