diff options
Diffstat (limited to 'arch/sparc')
-rw-r--r-- | arch/sparc/kernel/vmlinux.lds.S | 1 | ||||
-rw-r--r-- | arch/sparc/mm/highmem.c | 8 |
2 files changed, 4 insertions, 5 deletions
diff --git a/arch/sparc/kernel/vmlinux.lds.S b/arch/sparc/kernel/vmlinux.lds.S index 5cc5ff7f8824..b73e6b9067ed 100644 --- a/arch/sparc/kernel/vmlinux.lds.S +++ b/arch/sparc/kernel/vmlinux.lds.S | |||
@@ -11,6 +11,7 @@ SECTIONS | |||
11 | . = 0x10000 + SIZEOF_HEADERS; | 11 | . = 0x10000 + SIZEOF_HEADERS; |
12 | .text 0xf0004000 : | 12 | .text 0xf0004000 : |
13 | { | 13 | { |
14 | _text = .; | ||
14 | *(.text) | 15 | *(.text) |
15 | SCHED_TEXT | 16 | SCHED_TEXT |
16 | LOCK_TEXT | 17 | LOCK_TEXT |
diff --git a/arch/sparc/mm/highmem.c b/arch/sparc/mm/highmem.c index 4d8ed9c65182..01fc6c254292 100644 --- a/arch/sparc/mm/highmem.c +++ b/arch/sparc/mm/highmem.c | |||
@@ -35,7 +35,7 @@ void *kmap_atomic(struct page *page, enum km_type type) | |||
35 | unsigned long vaddr; | 35 | unsigned long vaddr; |
36 | 36 | ||
37 | /* even !CONFIG_PREEMPT needs this, for in_atomic in do_page_fault */ | 37 | /* even !CONFIG_PREEMPT needs this, for in_atomic in do_page_fault */ |
38 | inc_preempt_count(); | 38 | pagefault_disable(); |
39 | if (!PageHighMem(page)) | 39 | if (!PageHighMem(page)) |
40 | return page_address(page); | 40 | return page_address(page); |
41 | 41 | ||
@@ -70,8 +70,7 @@ void kunmap_atomic(void *kvaddr, enum km_type type) | |||
70 | unsigned long idx = type + KM_TYPE_NR*smp_processor_id(); | 70 | unsigned long idx = type + KM_TYPE_NR*smp_processor_id(); |
71 | 71 | ||
72 | if (vaddr < FIXADDR_START) { // FIXME | 72 | if (vaddr < FIXADDR_START) { // FIXME |
73 | dec_preempt_count(); | 73 | pagefault_enable(); |
74 | preempt_check_resched(); | ||
75 | return; | 74 | return; |
76 | } | 75 | } |
77 | 76 | ||
@@ -97,8 +96,7 @@ void kunmap_atomic(void *kvaddr, enum km_type type) | |||
97 | #endif | 96 | #endif |
98 | #endif | 97 | #endif |
99 | 98 | ||
100 | dec_preempt_count(); | 99 | pagefault_enable(); |
101 | preempt_check_resched(); | ||
102 | } | 100 | } |
103 | 101 | ||
104 | /* We may be fed a pagetable here by ptep_to_xxx and others. */ | 102 | /* We may be fed a pagetable here by ptep_to_xxx and others. */ |