mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
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: Hirokazu Takata <takata@linux-m32r.org>
This commit is contained in:
parent
17d857be64
commit
2cff5e1a83
@ -150,9 +150,13 @@ ENTRY(tme_handler)
|
||||
|
||||
; pmd = pmd_offset(pgd, address);
|
||||
ld r3, @r3 ; r3: pmd data
|
||||
ldi r2, #-4096
|
||||
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);
|
||||
and r2, r3 ; r2: pte base addr
|
||||
srl3 r3, r0, #10
|
||||
@ -263,9 +267,9 @@ ENTRY(tme_handler)
|
||||
ld r1, @r3 ; r1: pmd
|
||||
beqz r1, 3f ; pmd_none(*pmd) ?
|
||||
;
|
||||
and3 r1, r1, #0xeff
|
||||
ldi r4, #611 ; _KERNPG_TABLE(=611)
|
||||
bne r1, r4, 3f ; !pmd_bad(*pmd) ?
|
||||
and3 r1, r1, #0x3ff
|
||||
ldi r4, #0x163 ; _KERNPG_TABLE(=0x163)
|
||||
bne r1, r4, 3f ; pmd_bad(*pmd) ?
|
||||
|
||||
.fillinsn
|
||||
4:
|
||||
|
Loading…
Reference in New Issue
Block a user