diff options
Diffstat (limited to 'arch/m32r')
| -rw-r--r-- | arch/m32r/include/asm/pgtable-2level.h | 4 | ||||
| -rw-r--r-- | arch/m32r/include/asm/pgtable.h | 13 | ||||
| -rw-r--r-- | arch/m32r/include/asm/thread_info.h | 5 | ||||
| -rw-r--r-- | arch/m32r/kernel/signal.c | 2 | ||||
| -rw-r--r-- | arch/m32r/mm/fault.c | 2 |
5 files changed, 4 insertions, 22 deletions
diff --git a/arch/m32r/include/asm/pgtable-2level.h b/arch/m32r/include/asm/pgtable-2level.h index 9cdaf7350ef6..8fd8ee70266a 100644 --- a/arch/m32r/include/asm/pgtable-2level.h +++ b/arch/m32r/include/asm/pgtable-2level.h | |||
| @@ -70,9 +70,5 @@ static inline pmd_t *pmd_offset(pgd_t * dir, unsigned long address) | |||
| 70 | #define pfn_pte(pfn, prot) __pte(((pfn) << PAGE_SHIFT) | pgprot_val(prot)) | 70 | #define pfn_pte(pfn, prot) __pte(((pfn) << PAGE_SHIFT) | pgprot_val(prot)) |
| 71 | #define pfn_pmd(pfn, prot) __pmd(((pfn) << PAGE_SHIFT) | pgprot_val(prot)) | 71 | #define pfn_pmd(pfn, prot) __pmd(((pfn) << PAGE_SHIFT) | pgprot_val(prot)) |
| 72 | 72 | ||
| 73 | #define PTE_FILE_MAX_BITS 29 | ||
| 74 | #define pte_to_pgoff(pte) (((pte_val(pte) >> 2) & 0x7f) | (((pte_val(pte) >> 10)) << 7)) | ||
| 75 | #define pgoff_to_pte(off) ((pte_t) { (((off) & 0x7f) << 2) | (((off) >> 7) << 10) | _PAGE_FILE }) | ||
| 76 | |||
| 77 | #endif /* __KERNEL__ */ | 73 | #endif /* __KERNEL__ */ |
| 78 | #endif /* _ASM_M32R_PGTABLE_2LEVEL_H */ | 74 | #endif /* _ASM_M32R_PGTABLE_2LEVEL_H */ |
diff --git a/arch/m32r/include/asm/pgtable.h b/arch/m32r/include/asm/pgtable.h index 103ce6710f07..8c1fb902a9ce 100644 --- a/arch/m32r/include/asm/pgtable.h +++ b/arch/m32r/include/asm/pgtable.h | |||
| @@ -53,7 +53,7 @@ extern unsigned long empty_zero_page[1024]; | |||
| 53 | #define PGDIR_MASK (~(PGDIR_SIZE - 1)) | 53 | #define PGDIR_MASK (~(PGDIR_SIZE - 1)) |
| 54 | 54 | ||
| 55 | #define USER_PTRS_PER_PGD (TASK_SIZE / PGDIR_SIZE) | 55 | #define USER_PTRS_PER_PGD (TASK_SIZE / PGDIR_SIZE) |
| 56 | #define FIRST_USER_ADDRESS 0 | 56 | #define FIRST_USER_ADDRESS 0UL |
| 57 | 57 | ||
| 58 | #ifndef __ASSEMBLY__ | 58 | #ifndef __ASSEMBLY__ |
| 59 | /* Just any arbitrary offset to the start of the vmalloc VM area: the | 59 | /* Just any arbitrary offset to the start of the vmalloc VM area: the |
| @@ -80,8 +80,6 @@ extern unsigned long empty_zero_page[1024]; | |||
| 80 | */ | 80 | */ |
| 81 | 81 | ||
| 82 | #define _PAGE_BIT_DIRTY 0 /* software: page changed */ | 82 | #define _PAGE_BIT_DIRTY 0 /* software: page changed */ |
| 83 | #define _PAGE_BIT_FILE 0 /* when !present: nonlinear file | ||
| 84 | mapping */ | ||
| 85 | #define _PAGE_BIT_PRESENT 1 /* Valid: page is valid */ | 83 | #define _PAGE_BIT_PRESENT 1 /* Valid: page is valid */ |
| 86 | #define _PAGE_BIT_GLOBAL 2 /* Global */ | 84 | #define _PAGE_BIT_GLOBAL 2 /* Global */ |
| 87 | #define _PAGE_BIT_LARGE 3 /* Large */ | 85 | #define _PAGE_BIT_LARGE 3 /* Large */ |
| @@ -93,7 +91,6 @@ extern unsigned long empty_zero_page[1024]; | |||
| 93 | #define _PAGE_BIT_PROTNONE 9 /* software: if not present */ | 91 | #define _PAGE_BIT_PROTNONE 9 /* software: if not present */ |
| 94 | 92 | ||
| 95 | #define _PAGE_DIRTY (1UL << _PAGE_BIT_DIRTY) | 93 | #define _PAGE_DIRTY (1UL << _PAGE_BIT_DIRTY) |
| 96 | #define _PAGE_FILE (1UL << _PAGE_BIT_FILE) | ||
| 97 | #define _PAGE_PRESENT (1UL << _PAGE_BIT_PRESENT) | 94 | #define _PAGE_PRESENT (1UL << _PAGE_BIT_PRESENT) |
| 98 | #define _PAGE_GLOBAL (1UL << _PAGE_BIT_GLOBAL) | 95 | #define _PAGE_GLOBAL (1UL << _PAGE_BIT_GLOBAL) |
| 99 | #define _PAGE_LARGE (1UL << _PAGE_BIT_LARGE) | 96 | #define _PAGE_LARGE (1UL << _PAGE_BIT_LARGE) |
| @@ -206,14 +203,6 @@ static inline int pte_write(pte_t pte) | |||
| 206 | return pte_val(pte) & _PAGE_WRITE; | 203 | return pte_val(pte) & _PAGE_WRITE; |
| 207 | } | 204 | } |
| 208 | 205 | ||
| 209 | /* | ||
| 210 | * The following only works if pte_present() is not true. | ||
| 211 | */ | ||
| 212 | static inline int pte_file(pte_t pte) | ||
| 213 | { | ||
| 214 | return pte_val(pte) & _PAGE_FILE; | ||
| 215 | } | ||
| 216 | |||
| 217 | static inline int pte_special(pte_t pte) | 206 | static inline int pte_special(pte_t pte) |
| 218 | { | 207 | { |
| 219 | return 0; | 208 | return 0; |
diff --git a/arch/m32r/include/asm/thread_info.h b/arch/m32r/include/asm/thread_info.h index 00171703402f..32422d0211c3 100644 --- a/arch/m32r/include/asm/thread_info.h +++ b/arch/m32r/include/asm/thread_info.h | |||
| @@ -34,7 +34,6 @@ struct thread_info { | |||
| 34 | 0-0xBFFFFFFF for user-thread | 34 | 0-0xBFFFFFFF for user-thread |
| 35 | 0-0xFFFFFFFF for kernel-thread | 35 | 0-0xFFFFFFFF for kernel-thread |
| 36 | */ | 36 | */ |
| 37 | struct restart_block restart_block; | ||
| 38 | 37 | ||
| 39 | __u8 supervisor_stack[0]; | 38 | __u8 supervisor_stack[0]; |
| 40 | }; | 39 | }; |
| @@ -49,7 +48,6 @@ struct thread_info { | |||
| 49 | #define TI_CPU 0x00000010 | 48 | #define TI_CPU 0x00000010 |
| 50 | #define TI_PRE_COUNT 0x00000014 | 49 | #define TI_PRE_COUNT 0x00000014 |
| 51 | #define TI_ADDR_LIMIT 0x00000018 | 50 | #define TI_ADDR_LIMIT 0x00000018 |
| 52 | #define TI_RESTART_BLOCK 0x000001C | ||
| 53 | 51 | ||
| 54 | #endif | 52 | #endif |
| 55 | 53 | ||
| @@ -68,9 +66,6 @@ struct thread_info { | |||
| 68 | .cpu = 0, \ | 66 | .cpu = 0, \ |
| 69 | .preempt_count = INIT_PREEMPT_COUNT, \ | 67 | .preempt_count = INIT_PREEMPT_COUNT, \ |
| 70 | .addr_limit = KERNEL_DS, \ | 68 | .addr_limit = KERNEL_DS, \ |
| 71 | .restart_block = { \ | ||
| 72 | .fn = do_no_restart_syscall, \ | ||
| 73 | }, \ | ||
| 74 | } | 69 | } |
| 75 | 70 | ||
| 76 | #define init_thread_info (init_thread_union.thread_info) | 71 | #define init_thread_info (init_thread_union.thread_info) |
diff --git a/arch/m32r/kernel/signal.c b/arch/m32r/kernel/signal.c index 95408b8f130a..7736c6660a15 100644 --- a/arch/m32r/kernel/signal.c +++ b/arch/m32r/kernel/signal.c | |||
| @@ -48,7 +48,7 @@ restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc, | |||
| 48 | unsigned int err = 0; | 48 | unsigned int err = 0; |
| 49 | 49 | ||
| 50 | /* Always make any pending restarted system calls return -EINTR */ | 50 | /* Always make any pending restarted system calls return -EINTR */ |
| 51 | current_thread_info()->restart_block.fn = do_no_restart_syscall; | 51 | current->restart_block.fn = do_no_restart_syscall; |
| 52 | 52 | ||
| 53 | #define COPY(x) err |= __get_user(regs->x, &sc->sc_##x) | 53 | #define COPY(x) err |= __get_user(regs->x, &sc->sc_##x) |
| 54 | COPY(r4); | 54 | COPY(r4); |
diff --git a/arch/m32r/mm/fault.c b/arch/m32r/mm/fault.c index e9c6a8014bd6..e3d4d4890104 100644 --- a/arch/m32r/mm/fault.c +++ b/arch/m32r/mm/fault.c | |||
| @@ -200,6 +200,8 @@ good_area: | |||
| 200 | if (unlikely(fault & VM_FAULT_ERROR)) { | 200 | if (unlikely(fault & VM_FAULT_ERROR)) { |
| 201 | if (fault & VM_FAULT_OOM) | 201 | if (fault & VM_FAULT_OOM) |
| 202 | goto out_of_memory; | 202 | goto out_of_memory; |
| 203 | else if (fault & VM_FAULT_SIGSEGV) | ||
| 204 | goto bad_area; | ||
| 203 | else if (fault & VM_FAULT_SIGBUS) | 205 | else if (fault & VM_FAULT_SIGBUS) |
| 204 | goto do_sigbus; | 206 | goto do_sigbus; |
| 205 | BUG(); | 207 | BUG(); |
