diff options
| author | David Howells <dhowells@redhat.com> | 2005-01-04 05:23:55 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-01-04 05:23:55 -0800 |
| commit | 3ad3f96cbbd7010d32e7cfec8636ccdcad40b43c (patch) | |
| tree | 624559a43bc6157bdc27d0c15ff5cbc336ceb984 /include | |
| parent | 48f9284591b75d33d15c5d873a8480faef5ed172 (diff) | |
[PATCH] FRV: pagetable handling fixes
The attached patch makes the following fixes to the frv arch:
(1) pte_offset() should no longer be around; the fault handler should use
pte_offset_kernel() instead when fixing up vmalloc misses.
(2) The PGEs/PMEs do not hold PTEs. They have greater address resolution and
fewer control bits.
(3) The data access error pattern in ESR15.EC should be 10000 not 10100.
Signed-Off-By: David Howells <dhowells@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-frv/pgtable.h | 3 | ||||
| -rw-r--r-- | include/asm-frv/spr-regs.h | 2 |
2 files changed, 2 insertions, 3 deletions
diff --git a/include/asm-frv/pgtable.h b/include/asm-frv/pgtable.h index 3d98a145441c..03707bd82811 100644 --- a/include/asm-frv/pgtable.h +++ b/include/asm-frv/pgtable.h @@ -255,7 +255,7 @@ static inline pmd_t *pmd_offset(pgd_t *dir, unsigned long address) #define PAGE_KERNEL_RO MAKE_GLOBAL(__PAGE_KERNEL_RO) #define PAGE_KERNEL_NOCACHE MAKE_GLOBAL(__PAGE_KERNEL_NOCACHE) -#define _PAGE_TABLE (_PAGE_PRESENT | xAMPRx_SS_16Kb | xAMPRx_D | _PAGE_ACCESSED) +#define _PAGE_TABLE (_PAGE_PRESENT | xAMPRx_SS_16Kb) #ifndef __ASSEMBLY__ @@ -385,7 +385,6 @@ static inline pte_t pte_modify(pte_t pte, pgprot_t newprot) /* Find an entry in the third-level page table.. */ #define __pte_index(address) ((address >> PAGE_SHIFT) & (PTRS_PER_PTE - 1)) -#define pte_offset(dir, address) ((pte_t *) pmd_page(*(dir)) + __pte_index(address)) /* * the pte page can be thought of an array like this: pte_t[PTRS_PER_PTE] diff --git a/include/asm-frv/spr-regs.h b/include/asm-frv/spr-regs.h index c505d3517e7e..ef472f058d9c 100644 --- a/include/asm-frv/spr-regs.h +++ b/include/asm-frv/spr-regs.h @@ -204,7 +204,7 @@ #define ESRx_EC_PRIV_INSN 0x00000008 /* - privileged_instruction */ #define ESRx_EC_ILL_INSN 0x0000000a /* - illegal_instruction */ #define ESRx_EC_MP_EXCEP 0x0000001c /* - mp_exception */ -#define ESRx_EC_DATA_ACCESS 0x00000024 /* - data_access_error */ +#define ESRx_EC_DATA_ACCESS 0x00000020 /* - data_access_error */ #define ESRx_EC_DIVISION 0x00000026 /* - division_exception */ #define ESRx_EC_ITLB_MISS 0x00000034 /* - instruction_access_TLB_miss */ #define ESRx_EC_DTLB_MISS 0x00000036 /* - data_access_TLB_miss */ |
