diff options
Diffstat (limited to 'arch/mips/kernel')
| -rw-r--r-- | arch/mips/kernel/.gitignore | 1 | ||||
| -rw-r--r-- | arch/mips/kernel/kgdb.c | 7 | ||||
| -rw-r--r-- | arch/mips/kernel/scall32-o32.S | 6 | ||||
| -rw-r--r-- | arch/mips/kernel/scall64-64.S | 6 | ||||
| -rw-r--r-- | arch/mips/kernel/scall64-n32.S | 6 | ||||
| -rw-r--r-- | arch/mips/kernel/scall64-o32.S | 6 | ||||
| -rw-r--r-- | arch/mips/kernel/setup.c | 42 |
7 files changed, 47 insertions, 27 deletions
diff --git a/arch/mips/kernel/.gitignore b/arch/mips/kernel/.gitignore new file mode 100644 index 000000000000..c5f676c3c224 --- /dev/null +++ b/arch/mips/kernel/.gitignore | |||
| @@ -0,0 +1 @@ | |||
| vmlinux.lds | |||
diff --git a/arch/mips/kernel/kgdb.c b/arch/mips/kernel/kgdb.c index c5a8b2d21ca4..8f6d58ede33c 100644 --- a/arch/mips/kernel/kgdb.c +++ b/arch/mips/kernel/kgdb.c | |||
| @@ -62,13 +62,13 @@ void arch_kgdb_breakpoint(void) | |||
| 62 | 62 | ||
| 63 | static void kgdb_call_nmi_hook(void *ignored) | 63 | static void kgdb_call_nmi_hook(void *ignored) |
| 64 | { | 64 | { |
| 65 | kgdb_nmicallback(raw_smp_processor_id(), (void *)0); | 65 | kgdb_nmicallback(raw_smp_processor_id(), NULL); |
| 66 | } | 66 | } |
| 67 | 67 | ||
| 68 | void kgdb_roundup_cpus(unsigned long flags) | 68 | void kgdb_roundup_cpus(unsigned long flags) |
| 69 | { | 69 | { |
| 70 | local_irq_enable(); | 70 | local_irq_enable(); |
| 71 | smp_call_function(kgdb_call_nmi_hook, NULL, NULL); | 71 | smp_call_function(kgdb_call_nmi_hook, NULL, 0); |
| 72 | local_irq_disable(); | 72 | local_irq_disable(); |
| 73 | } | 73 | } |
| 74 | 74 | ||
| @@ -190,9 +190,6 @@ static int kgdb_mips_notify(struct notifier_block *self, unsigned long cmd, | |||
| 190 | struct pt_regs *regs = args->regs; | 190 | struct pt_regs *regs = args->regs; |
| 191 | int trap = (regs->cp0_cause & 0x7c) >> 2; | 191 | int trap = (regs->cp0_cause & 0x7c) >> 2; |
| 192 | 192 | ||
| 193 | if (fixup_exception(regs)) | ||
| 194 | return NOTIFY_DONE; | ||
| 195 | |||
| 196 | /* Userpace events, ignore. */ | 193 | /* Userpace events, ignore. */ |
| 197 | if (user_mode(regs)) | 194 | if (user_mode(regs)) |
| 198 | return NOTIFY_DONE; | 195 | return NOTIFY_DONE; |
diff --git a/arch/mips/kernel/scall32-o32.S b/arch/mips/kernel/scall32-o32.S index fc4fd4d705e2..5e75a316f6b1 100644 --- a/arch/mips/kernel/scall32-o32.S +++ b/arch/mips/kernel/scall32-o32.S | |||
| @@ -647,6 +647,12 @@ einval: li v0, -EINVAL | |||
| 647 | sys sys_timerfd_create 2 | 647 | sys sys_timerfd_create 2 |
| 648 | sys sys_timerfd_gettime 2 | 648 | sys sys_timerfd_gettime 2 |
| 649 | sys sys_timerfd_settime 4 | 649 | sys sys_timerfd_settime 4 |
| 650 | sys sys_signalfd4 4 | ||
| 651 | sys sys_eventfd2 2 /* 4325 */ | ||
| 652 | sys sys_epoll_create1 1 | ||
| 653 | sys sys_dup3 3 | ||
| 654 | sys sys_pipe2 2 | ||
| 655 | sys sys_inotify_init1 1 | ||
| 650 | .endm | 656 | .endm |
| 651 | 657 | ||
| 652 | /* We pre-compute the number of _instruction_ bytes needed to | 658 | /* We pre-compute the number of _instruction_ bytes needed to |
diff --git a/arch/mips/kernel/scall64-64.S b/arch/mips/kernel/scall64-64.S index 2b73fd1e4528..3d58204c9d44 100644 --- a/arch/mips/kernel/scall64-64.S +++ b/arch/mips/kernel/scall64-64.S | |||
| @@ -481,4 +481,10 @@ sys_call_table: | |||
| 481 | PTR sys_timerfd_create /* 5280 */ | 481 | PTR sys_timerfd_create /* 5280 */ |
| 482 | PTR sys_timerfd_gettime | 482 | PTR sys_timerfd_gettime |
| 483 | PTR sys_timerfd_settime | 483 | PTR sys_timerfd_settime |
| 484 | PTR sys_signalfd4 | ||
| 485 | PTR sys_eventfd2 | ||
| 486 | PTR sys_epoll_create1 /* 5285 */ | ||
| 487 | PTR sys_dup3 | ||
| 488 | PTR sys_pipe2 | ||
| 489 | PTR sys_inotify_init1 | ||
| 484 | .size sys_call_table,.-sys_call_table | 490 | .size sys_call_table,.-sys_call_table |
diff --git a/arch/mips/kernel/scall64-n32.S b/arch/mips/kernel/scall64-n32.S index 2654e75d2fef..da7f1b6ea0fb 100644 --- a/arch/mips/kernel/scall64-n32.S +++ b/arch/mips/kernel/scall64-n32.S | |||
| @@ -407,4 +407,10 @@ EXPORT(sysn32_call_table) | |||
| 407 | PTR sys_timerfd_create | 407 | PTR sys_timerfd_create |
| 408 | PTR sys_timerfd_gettime /* 5285 */ | 408 | PTR sys_timerfd_gettime /* 5285 */ |
| 409 | PTR sys_timerfd_settime | 409 | PTR sys_timerfd_settime |
| 410 | PTR sys_signalfd4 | ||
| 411 | PTR sys_eventfd2 | ||
| 412 | PTR sys_epoll_create1 | ||
| 413 | PTR sys_dup3 /* 5290 */ | ||
| 414 | PTR sys_pipe2 | ||
| 415 | PTR sys_inotify_init1 | ||
| 410 | .size sysn32_call_table,.-sysn32_call_table | 416 | .size sysn32_call_table,.-sysn32_call_table |
diff --git a/arch/mips/kernel/scall64-o32.S b/arch/mips/kernel/scall64-o32.S index 76167bea5a70..d7cd1aac9ada 100644 --- a/arch/mips/kernel/scall64-o32.S +++ b/arch/mips/kernel/scall64-o32.S | |||
| @@ -529,4 +529,10 @@ sys_call_table: | |||
| 529 | PTR sys_timerfd_create | 529 | PTR sys_timerfd_create |
| 530 | PTR sys_timerfd_gettime | 530 | PTR sys_timerfd_gettime |
| 531 | PTR sys_timerfd_settime | 531 | PTR sys_timerfd_settime |
| 532 | PTR compat_sys_signalfd4 | ||
| 533 | PTR sys_eventfd2 /* 4325 */ | ||
| 534 | PTR sys_epoll_create1 | ||
| 535 | PTR sys_dup3 | ||
| 536 | PTR sys_pipe2 | ||
| 537 | PTR sys_inotify_init1 | ||
| 532 | .size sys_call_table,.-sys_call_table | 538 | .size sys_call_table,.-sys_call_table |
diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c index 8af84867e74d..2aae76bce293 100644 --- a/arch/mips/kernel/setup.c +++ b/arch/mips/kernel/setup.c | |||
| @@ -78,7 +78,7 @@ void __init add_memory_region(phys_t start, phys_t size, long type) | |||
| 78 | 78 | ||
| 79 | /* Sanity check */ | 79 | /* Sanity check */ |
| 80 | if (start + size < start) { | 80 | if (start + size < start) { |
| 81 | printk("Trying to add an invalid memory region, skipped\n"); | 81 | pr_warning("Trying to add an invalid memory region, skipped\n"); |
| 82 | return; | 82 | return; |
| 83 | } | 83 | } |
| 84 | 84 | ||
| @@ -92,7 +92,7 @@ void __init add_memory_region(phys_t start, phys_t size, long type) | |||
| 92 | } | 92 | } |
| 93 | 93 | ||
| 94 | if (x == BOOT_MEM_MAP_MAX) { | 94 | if (x == BOOT_MEM_MAP_MAX) { |
| 95 | printk("Ooops! Too many entries in the memory map!\n"); | 95 | pr_err("Ooops! Too many entries in the memory map!\n"); |
| 96 | return; | 96 | return; |
| 97 | } | 97 | } |
| 98 | 98 | ||
| @@ -108,22 +108,22 @@ static void __init print_memory_map(void) | |||
| 108 | const int field = 2 * sizeof(unsigned long); | 108 | const int field = 2 * sizeof(unsigned long); |
| 109 | 109 | ||
| 110 | for (i = 0; i < boot_mem_map.nr_map; i++) { | 110 | for (i = 0; i < boot_mem_map.nr_map; i++) { |
| 111 | printk(" memory: %0*Lx @ %0*Lx ", | 111 | printk(KERN_INFO " memory: %0*Lx @ %0*Lx ", |
| 112 | field, (unsigned long long) boot_mem_map.map[i].size, | 112 | field, (unsigned long long) boot_mem_map.map[i].size, |
| 113 | field, (unsigned long long) boot_mem_map.map[i].addr); | 113 | field, (unsigned long long) boot_mem_map.map[i].addr); |
| 114 | 114 | ||
| 115 | switch (boot_mem_map.map[i].type) { | 115 | switch (boot_mem_map.map[i].type) { |
| 116 | case BOOT_MEM_RAM: | 116 | case BOOT_MEM_RAM: |
| 117 | printk("(usable)\n"); | 117 | printk(KERN_CONT "(usable)\n"); |
| 118 | break; | 118 | break; |
| 119 | case BOOT_MEM_ROM_DATA: | 119 | case BOOT_MEM_ROM_DATA: |
| 120 | printk("(ROM data)\n"); | 120 | printk(KERN_CONT "(ROM data)\n"); |
| 121 | break; | 121 | break; |
| 122 | case BOOT_MEM_RESERVED: | 122 | case BOOT_MEM_RESERVED: |
| 123 | printk("(reserved)\n"); | 123 | printk(KERN_CONT "(reserved)\n"); |
| 124 | break; | 124 | break; |
| 125 | default: | 125 | default: |
| 126 | printk("type %lu\n", boot_mem_map.map[i].type); | 126 | printk(KERN_CONT "type %lu\n", boot_mem_map.map[i].type); |
| 127 | break; | 127 | break; |
| 128 | } | 128 | } |
| 129 | } | 129 | } |
| @@ -185,11 +185,11 @@ static unsigned long __init init_initrd(void) | |||
| 185 | 185 | ||
| 186 | sanitize: | 186 | sanitize: |
| 187 | if (initrd_start & ~PAGE_MASK) { | 187 | if (initrd_start & ~PAGE_MASK) { |
| 188 | printk(KERN_ERR "initrd start must be page aligned\n"); | 188 | pr_err("initrd start must be page aligned\n"); |
| 189 | goto disable; | 189 | goto disable; |
| 190 | } | 190 | } |
| 191 | if (initrd_start < PAGE_OFFSET) { | 191 | if (initrd_start < PAGE_OFFSET) { |
| 192 | printk(KERN_ERR "initrd start < PAGE_OFFSET\n"); | 192 | pr_err("initrd start < PAGE_OFFSET\n"); |
| 193 | goto disable; | 193 | goto disable; |
| 194 | } | 194 | } |
| 195 | 195 | ||
| @@ -221,18 +221,18 @@ static void __init finalize_initrd(void) | |||
| 221 | goto disable; | 221 | goto disable; |
| 222 | } | 222 | } |
| 223 | if (__pa(initrd_end) > PFN_PHYS(max_low_pfn)) { | 223 | if (__pa(initrd_end) > PFN_PHYS(max_low_pfn)) { |
| 224 | printk("Initrd extends beyond end of memory"); | 224 | printk(KERN_ERR "Initrd extends beyond end of memory"); |
| 225 | goto disable; | 225 | goto disable; |
| 226 | } | 226 | } |
| 227 | 227 | ||
| 228 | reserve_bootmem(__pa(initrd_start), size, BOOTMEM_DEFAULT); | 228 | reserve_bootmem(__pa(initrd_start), size, BOOTMEM_DEFAULT); |
| 229 | initrd_below_start_ok = 1; | 229 | initrd_below_start_ok = 1; |
| 230 | 230 | ||
| 231 | printk(KERN_INFO "Initial ramdisk at: 0x%lx (%lu bytes)\n", | 231 | pr_info("Initial ramdisk at: 0x%lx (%lu bytes)\n", |
| 232 | initrd_start, size); | 232 | initrd_start, size); |
| 233 | return; | 233 | return; |
| 234 | disable: | 234 | disable: |
| 235 | printk(" - disabling initrd\n"); | 235 | printk(KERN_CONT " - disabling initrd\n"); |
| 236 | initrd_start = 0; | 236 | initrd_start = 0; |
| 237 | initrd_end = 0; | 237 | initrd_end = 0; |
| 238 | } | 238 | } |
| @@ -310,14 +310,12 @@ static void __init bootmem_init(void) | |||
| 310 | if (min_low_pfn >= max_low_pfn) | 310 | if (min_low_pfn >= max_low_pfn) |
| 311 | panic("Incorrect memory mapping !!!"); | 311 | panic("Incorrect memory mapping !!!"); |
| 312 | if (min_low_pfn > ARCH_PFN_OFFSET) { | 312 | if (min_low_pfn > ARCH_PFN_OFFSET) { |
| 313 | printk(KERN_INFO | 313 | pr_info("Wasting %lu bytes for tracking %lu unused pages\n", |
| 314 | "Wasting %lu bytes for tracking %lu unused pages\n", | 314 | (min_low_pfn - ARCH_PFN_OFFSET) * sizeof(struct page), |
| 315 | (min_low_pfn - ARCH_PFN_OFFSET) * sizeof(struct page), | 315 | min_low_pfn - ARCH_PFN_OFFSET); |
| 316 | min_low_pfn - ARCH_PFN_OFFSET); | ||
| 317 | } else if (min_low_pfn < ARCH_PFN_OFFSET) { | 316 | } else if (min_low_pfn < ARCH_PFN_OFFSET) { |
| 318 | printk(KERN_INFO | 317 | pr_info("%lu free pages won't be used\n", |
| 319 | "%lu free pages won't be used\n", | 318 | ARCH_PFN_OFFSET - min_low_pfn); |
| 320 | ARCH_PFN_OFFSET - min_low_pfn); | ||
| 321 | } | 319 | } |
| 322 | min_low_pfn = ARCH_PFN_OFFSET; | 320 | min_low_pfn = ARCH_PFN_OFFSET; |
| 323 | 321 | ||
| @@ -471,7 +469,7 @@ static void __init arch_mem_init(char **cmdline_p) | |||
| 471 | /* call board setup routine */ | 469 | /* call board setup routine */ |
| 472 | plat_mem_setup(); | 470 | plat_mem_setup(); |
| 473 | 471 | ||
| 474 | printk("Determined physical RAM map:\n"); | 472 | pr_info("Determined physical RAM map:\n"); |
| 475 | print_memory_map(); | 473 | print_memory_map(); |
| 476 | 474 | ||
| 477 | strlcpy(command_line, arcs_cmdline, sizeof(command_line)); | 475 | strlcpy(command_line, arcs_cmdline, sizeof(command_line)); |
| @@ -482,7 +480,7 @@ static void __init arch_mem_init(char **cmdline_p) | |||
| 482 | parse_early_param(); | 480 | parse_early_param(); |
| 483 | 481 | ||
| 484 | if (usermem) { | 482 | if (usermem) { |
| 485 | printk("User-defined physical RAM map:\n"); | 483 | pr_info("User-defined physical RAM map:\n"); |
| 486 | print_memory_map(); | 484 | print_memory_map(); |
| 487 | } | 485 | } |
| 488 | 486 | ||
