Commit 2cff5e1a authored by Hirokazu Takata's avatar Hirokazu Takata

m32r: fix tme_handler

Fix pmd_bad check code of tme_handler (TLB Miss Exception handler).
The correct _KERNPG_TABLE value is not 0x263(=611) but 0x163.
Signed-off-by: default avatarHirokazu Takata <takata@linux-m32r.org>
parent 17d857be
...@@ -150,9 +150,13 @@ ENTRY(tme_handler) ...@@ -150,9 +150,13 @@ ENTRY(tme_handler)
; pmd = pmd_offset(pgd, address); ; pmd = pmd_offset(pgd, address);
ld r3, @r3 ; r3: pmd data ld r3, @r3 ; r3: pmd data
ldi r2, #-4096
beqz r3, 3f ; pmd_none(*pmd) ? beqz r3, 3f ; pmd_none(*pmd) ?
and3 r2, r3, #0xfff
add3 r2, r2, #-355 ; _KERNPG_TABLE(=0x163)
bnez r2, 3f ; pmd_bad(*pmd) ?
ldi r2, #-4096
; pte = pte_offset(pmd, address); ; pte = pte_offset(pmd, address);
and r2, r3 ; r2: pte base addr and r2, r3 ; r2: pte base addr
srl3 r3, r0, #10 srl3 r3, r0, #10
...@@ -263,9 +267,9 @@ ENTRY(tme_handler) ...@@ -263,9 +267,9 @@ ENTRY(tme_handler)
ld r1, @r3 ; r1: pmd ld r1, @r3 ; r1: pmd
beqz r1, 3f ; pmd_none(*pmd) ? beqz r1, 3f ; pmd_none(*pmd) ?
; ;
and3 r1, r1, #0xeff and3 r1, r1, #0x3ff
ldi r4, #611 ; _KERNPG_TABLE(=611) ldi r4, #0x163 ; _KERNPG_TABLE(=0x163)
bne r1, r4, 3f ; !pmd_bad(*pmd) ? bne r1, r4, 3f ; pmd_bad(*pmd) ?
.fillinsn .fillinsn
4: 4:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment