diff options
| author | Ingo Molnar <mingo@elte.hu> | 2010-08-31 03:45:21 -0400 |
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2010-08-31 03:45:46 -0400 |
| commit | daab7fc734a53fdeaf844b7c03053118ad1769da (patch) | |
| tree | 575deb3cdcc6dda562acaed6f7c29bc81ae01cf2 /arch/microblaze/mm | |
| parent | 774ea0bcb27f57b6fd521b3b6c43237782fed4b9 (diff) | |
| parent | 2bfc96a127bc1cc94d26bfaa40159966064f9c8c (diff) | |
Merge commit 'v2.6.36-rc3' into x86/memblock
Conflicts:
arch/x86/kernel/trampoline.c
mm/memblock.c
Merge reason: Resolve the conflicts, update to latest upstream.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/microblaze/mm')
| -rw-r--r-- | arch/microblaze/mm/fault.c | 16 | ||||
| -rw-r--r-- | arch/microblaze/mm/init.c | 7 |
2 files changed, 1 insertions, 22 deletions
diff --git a/arch/microblaze/mm/fault.c b/arch/microblaze/mm/fault.c index bab922993185..57bd2a09610c 100644 --- a/arch/microblaze/mm/fault.c +++ b/arch/microblaze/mm/fault.c | |||
| @@ -37,10 +37,6 @@ | |||
| 37 | #include <linux/uaccess.h> | 37 | #include <linux/uaccess.h> |
| 38 | #include <asm/exceptions.h> | 38 | #include <asm/exceptions.h> |
| 39 | 39 | ||
| 40 | #if defined(CONFIG_KGDB) | ||
| 41 | int debugger_kernel_faults = 1; | ||
| 42 | #endif | ||
| 43 | |||
| 44 | static unsigned long pte_misses; /* updated by do_page_fault() */ | 40 | static unsigned long pte_misses; /* updated by do_page_fault() */ |
| 45 | static unsigned long pte_errors; /* updated by do_page_fault() */ | 41 | static unsigned long pte_errors; /* updated by do_page_fault() */ |
| 46 | 42 | ||
| @@ -81,10 +77,6 @@ void bad_page_fault(struct pt_regs *regs, unsigned long address, int sig) | |||
| 81 | } | 77 | } |
| 82 | 78 | ||
| 83 | /* kernel has accessed a bad area */ | 79 | /* kernel has accessed a bad area */ |
| 84 | #if defined(CONFIG_KGDB) | ||
| 85 | if (debugger_kernel_faults) | ||
| 86 | debugger(regs); | ||
| 87 | #endif | ||
| 88 | die("kernel access of bad area", regs, sig); | 80 | die("kernel access of bad area", regs, sig); |
| 89 | } | 81 | } |
| 90 | 82 | ||
| @@ -115,13 +107,6 @@ void do_page_fault(struct pt_regs *regs, unsigned long address, | |||
| 115 | if ((error_code & 0x13) == 0x13 || (error_code & 0x11) == 0x11) | 107 | if ((error_code & 0x13) == 0x13 || (error_code & 0x11) == 0x11) |
| 116 | is_write = 0; | 108 | is_write = 0; |
| 117 | 109 | ||
| 118 | #if defined(CONFIG_KGDB) | ||
| 119 | if (debugger_fault_handler && regs->trap == 0x300) { | ||
| 120 | debugger_fault_handler(regs); | ||
| 121 | return; | ||
| 122 | } | ||
| 123 | #endif /* CONFIG_KGDB */ | ||
| 124 | |||
| 125 | if (unlikely(in_atomic() || !mm)) { | 110 | if (unlikely(in_atomic() || !mm)) { |
| 126 | if (kernel_mode(regs)) | 111 | if (kernel_mode(regs)) |
| 127 | goto bad_area_nosemaphore; | 112 | goto bad_area_nosemaphore; |
| @@ -226,7 +211,6 @@ good_area: | |||
| 226 | * make sure we exit gracefully rather than endlessly redo | 211 | * make sure we exit gracefully rather than endlessly redo |
| 227 | * the fault. | 212 | * the fault. |
| 228 | */ | 213 | */ |
| 229 | survive: | ||
| 230 | fault = handle_mm_fault(mm, vma, address, is_write ? FAULT_FLAG_WRITE : 0); | 214 | fault = handle_mm_fault(mm, vma, address, is_write ? FAULT_FLAG_WRITE : 0); |
| 231 | if (unlikely(fault & VM_FAULT_ERROR)) { | 215 | if (unlikely(fault & VM_FAULT_ERROR)) { |
| 232 | if (fault & VM_FAULT_OOM) | 216 | if (fault & VM_FAULT_OOM) |
diff --git a/arch/microblaze/mm/init.c b/arch/microblaze/mm/init.c index 32a702b621c8..840026c5bc56 100644 --- a/arch/microblaze/mm/init.c +++ b/arch/microblaze/mm/init.c | |||
| @@ -134,13 +134,8 @@ void __init setup_memory(void) | |||
| 134 | * for 4GB of memory, using 4kB pages), plus 1 page | 134 | * for 4GB of memory, using 4kB pages), plus 1 page |
| 135 | * (in case the address isn't page-aligned). | 135 | * (in case the address isn't page-aligned). |
| 136 | */ | 136 | */ |
| 137 | #ifndef CONFIG_MMU | 137 | map_size = init_bootmem_node(NODE_DATA(0), |
| 138 | map_size = init_bootmem_node(NODE_DATA(0), PFN_UP(TOPHYS((u32)klimit)), | ||
| 139 | min_low_pfn, max_low_pfn); | ||
| 140 | #else | ||
| 141 | map_size = init_bootmem_node(&contig_page_data, | ||
| 142 | PFN_UP(TOPHYS((u32)klimit)), min_low_pfn, max_low_pfn); | 138 | PFN_UP(TOPHYS((u32)klimit)), min_low_pfn, max_low_pfn); |
| 143 | #endif | ||
| 144 | memblock_reserve(PFN_UP(TOPHYS((u32)klimit)) << PAGE_SHIFT, map_size); | 139 | memblock_reserve(PFN_UP(TOPHYS((u32)klimit)) << PAGE_SHIFT, map_size); |
| 145 | 140 | ||
| 146 | /* free bootmem is whole main memory */ | 141 | /* free bootmem is whole main memory */ |
