diff options
-rw-r--r-- | arch/mips/Kconfig | 15 | ||||
-rw-r--r-- | arch/mips/kernel/mcount.S | 2 | ||||
-rw-r--r-- | arch/mips/kernel/time.c | 10 | ||||
-rw-r--r-- | arch/mips/loongson/common/Makefile | 3 | ||||
-rw-r--r-- | arch/mips/mm/gup.c | 3 | ||||
-rw-r--r-- | arch/mips/powertv/Kconfig | 9 | ||||
-rw-r--r-- | arch/mips/powertv/asic/asic_devices.c | 12 | ||||
-rw-r--r-- | arch/mips/powertv/init.c | 4 | ||||
-rw-r--r-- | arch/mips/powertv/reset.c | 12 | ||||
-rw-r--r-- | arch/mips/txx9/generic/setup.c | 2 |
10 files changed, 18 insertions, 54 deletions
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index a1a088b2d54d..c2917906caaa 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig | |||
@@ -132,7 +132,6 @@ config BCM63XX | |||
132 | select IRQ_CPU | 132 | select IRQ_CPU |
133 | select SYS_HAS_CPU_MIPS32_R1 | 133 | select SYS_HAS_CPU_MIPS32_R1 |
134 | select SYS_HAS_CPU_BMIPS4350 if !BCM63XX_CPU_6338 && !BCM63XX_CPU_6345 && !BCM63XX_CPU_6348 | 134 | select SYS_HAS_CPU_BMIPS4350 if !BCM63XX_CPU_6338 && !BCM63XX_CPU_6345 && !BCM63XX_CPU_6348 |
135 | select NR_CPUS_DEFAULT_2 | ||
136 | select SYS_SUPPORTS_32BIT_KERNEL | 135 | select SYS_SUPPORTS_32BIT_KERNEL |
137 | select SYS_SUPPORTS_BIG_ENDIAN | 136 | select SYS_SUPPORTS_BIG_ENDIAN |
138 | select SYS_HAS_EARLY_PRINTK | 137 | select SYS_HAS_EARLY_PRINTK |
@@ -612,7 +611,6 @@ config SIBYTE_SWARM | |||
612 | select BOOT_ELF32 | 611 | select BOOT_ELF32 |
613 | select DMA_COHERENT | 612 | select DMA_COHERENT |
614 | select HAVE_PATA_PLATFORM | 613 | select HAVE_PATA_PLATFORM |
615 | select NR_CPUS_DEFAULT_2 | ||
616 | select SIBYTE_SB1250 | 614 | select SIBYTE_SB1250 |
617 | select SWAP_IO_SPACE | 615 | select SWAP_IO_SPACE |
618 | select SYS_HAS_CPU_SB1 | 616 | select SYS_HAS_CPU_SB1 |
@@ -626,7 +624,6 @@ config SIBYTE_LITTLESUR | |||
626 | select BOOT_ELF32 | 624 | select BOOT_ELF32 |
627 | select DMA_COHERENT | 625 | select DMA_COHERENT |
628 | select HAVE_PATA_PLATFORM | 626 | select HAVE_PATA_PLATFORM |
629 | select NR_CPUS_DEFAULT_2 | ||
630 | select SIBYTE_SB1250 | 627 | select SIBYTE_SB1250 |
631 | select SWAP_IO_SPACE | 628 | select SWAP_IO_SPACE |
632 | select SYS_HAS_CPU_SB1 | 629 | select SYS_HAS_CPU_SB1 |
@@ -638,7 +635,6 @@ config SIBYTE_SENTOSA | |||
638 | bool "Sibyte BCM91250E-Sentosa" | 635 | bool "Sibyte BCM91250E-Sentosa" |
639 | select BOOT_ELF32 | 636 | select BOOT_ELF32 |
640 | select DMA_COHERENT | 637 | select DMA_COHERENT |
641 | select NR_CPUS_DEFAULT_2 | ||
642 | select SIBYTE_SB1250 | 638 | select SIBYTE_SB1250 |
643 | select SWAP_IO_SPACE | 639 | select SWAP_IO_SPACE |
644 | select SYS_HAS_CPU_SB1 | 640 | select SYS_HAS_CPU_SB1 |
@@ -1866,7 +1862,6 @@ config MIPS_MT_SMP | |||
1866 | select CPU_MIPSR2_IRQ_VI | 1862 | select CPU_MIPSR2_IRQ_VI |
1867 | select CPU_MIPSR2_IRQ_EI | 1863 | select CPU_MIPSR2_IRQ_EI |
1868 | select MIPS_MT | 1864 | select MIPS_MT |
1869 | select NR_CPUS_DEFAULT_2 | ||
1870 | select SMP | 1865 | select SMP |
1871 | select SYS_SUPPORTS_SCHED_SMT if SMP | 1866 | select SYS_SUPPORTS_SCHED_SMT if SMP |
1872 | select SYS_SUPPORTS_SMP | 1867 | select SYS_SUPPORTS_SMP |
@@ -2177,12 +2172,6 @@ config SYS_SUPPORTS_MIPS_CMP | |||
2177 | config SYS_SUPPORTS_SMP | 2172 | config SYS_SUPPORTS_SMP |
2178 | bool | 2173 | bool |
2179 | 2174 | ||
2180 | config NR_CPUS_DEFAULT_1 | ||
2181 | bool | ||
2182 | |||
2183 | config NR_CPUS_DEFAULT_2 | ||
2184 | bool | ||
2185 | |||
2186 | config NR_CPUS_DEFAULT_4 | 2175 | config NR_CPUS_DEFAULT_4 |
2187 | bool | 2176 | bool |
2188 | 2177 | ||
@@ -2200,10 +2189,8 @@ config NR_CPUS_DEFAULT_64 | |||
2200 | 2189 | ||
2201 | config NR_CPUS | 2190 | config NR_CPUS |
2202 | int "Maximum number of CPUs (2-64)" | 2191 | int "Maximum number of CPUs (2-64)" |
2203 | range 1 64 if NR_CPUS_DEFAULT_1 | 2192 | range 2 64 |
2204 | depends on SMP | 2193 | depends on SMP |
2205 | default "1" if NR_CPUS_DEFAULT_1 | ||
2206 | default "2" if NR_CPUS_DEFAULT_2 | ||
2207 | default "4" if NR_CPUS_DEFAULT_4 | 2194 | default "4" if NR_CPUS_DEFAULT_4 |
2208 | default "8" if NR_CPUS_DEFAULT_8 | 2195 | default "8" if NR_CPUS_DEFAULT_8 |
2209 | default "16" if NR_CPUS_DEFAULT_16 | 2196 | default "16" if NR_CPUS_DEFAULT_16 |
diff --git a/arch/mips/kernel/mcount.S b/arch/mips/kernel/mcount.S index a03e93c4a946..539b6294b613 100644 --- a/arch/mips/kernel/mcount.S +++ b/arch/mips/kernel/mcount.S | |||
@@ -83,7 +83,7 @@ _mcount: | |||
83 | PTR_S MCOUNT_RA_ADDRESS_REG, PT_R12(sp) | 83 | PTR_S MCOUNT_RA_ADDRESS_REG, PT_R12(sp) |
84 | #endif | 84 | #endif |
85 | 85 | ||
86 | move a0, ra /* arg1: self return address */ | 86 | PTR_SUBU a0, ra, 8 /* arg1: self address */ |
87 | .globl ftrace_call | 87 | .globl ftrace_call |
88 | ftrace_call: | 88 | ftrace_call: |
89 | nop /* a placeholder for the call to a real tracing function */ | 89 | nop /* a placeholder for the call to a real tracing function */ |
diff --git a/arch/mips/kernel/time.c b/arch/mips/kernel/time.c index 9d686bf97b0e..364d26ae4215 100644 --- a/arch/mips/kernel/time.c +++ b/arch/mips/kernel/time.c | |||
@@ -121,6 +121,14 @@ void __init time_init(void) | |||
121 | { | 121 | { |
122 | plat_time_init(); | 122 | plat_time_init(); |
123 | 123 | ||
124 | if (!mips_clockevent_init() || !cpu_has_mfc0_count_bug()) | 124 | /* |
125 | * The use of the R4k timer as a clock event takes precedence; | ||
126 | * if reading the Count register might interfere with the timer | ||
127 | * interrupt, then we don't use the timer as a clock source. | ||
128 | * We may still use the timer as a clock source though if the | ||
129 | * timer interrupt isn't reliable; the interference doesn't | ||
130 | * matter then, because we don't use the interrupt. | ||
131 | */ | ||
132 | if (mips_clockevent_init() != 0 || !cpu_has_mfc0_count_bug()) | ||
125 | init_mips_clocksource(); | 133 | init_mips_clocksource(); |
126 | } | 134 | } |
diff --git a/arch/mips/loongson/common/Makefile b/arch/mips/loongson/common/Makefile index 4c57b3e5743f..9e4484ccbb03 100644 --- a/arch/mips/loongson/common/Makefile +++ b/arch/mips/loongson/common/Makefile | |||
@@ -3,8 +3,9 @@ | |||
3 | # | 3 | # |
4 | 4 | ||
5 | obj-y += setup.o init.o cmdline.o env.o time.o reset.o irq.o \ | 5 | obj-y += setup.o init.o cmdline.o env.o time.o reset.o irq.o \ |
6 | pci.o bonito-irq.o mem.o machtype.o platform.o | 6 | bonito-irq.o mem.o machtype.o platform.o |
7 | obj-$(CONFIG_GPIOLIB) += gpio.o | 7 | obj-$(CONFIG_GPIOLIB) += gpio.o |
8 | obj-$(CONFIG_PCI) += pci.o | ||
8 | 9 | ||
9 | # | 10 | # |
10 | # Serial port support | 11 | # Serial port support |
diff --git a/arch/mips/mm/gup.c b/arch/mips/mm/gup.c index d4ea5c9c4a93..06ce17c2a905 100644 --- a/arch/mips/mm/gup.c +++ b/arch/mips/mm/gup.c | |||
@@ -12,6 +12,7 @@ | |||
12 | #include <linux/swap.h> | 12 | #include <linux/swap.h> |
13 | #include <linux/hugetlb.h> | 13 | #include <linux/hugetlb.h> |
14 | 14 | ||
15 | #include <asm/cpu-features.h> | ||
15 | #include <asm/pgtable.h> | 16 | #include <asm/pgtable.h> |
16 | 17 | ||
17 | static inline pte_t gup_get_pte(pte_t *ptep) | 18 | static inline pte_t gup_get_pte(pte_t *ptep) |
@@ -273,7 +274,7 @@ int get_user_pages_fast(unsigned long start, int nr_pages, int write, | |||
273 | len = (unsigned long) nr_pages << PAGE_SHIFT; | 274 | len = (unsigned long) nr_pages << PAGE_SHIFT; |
274 | 275 | ||
275 | end = start + len; | 276 | end = start + len; |
276 | if (end < start) | 277 | if (end < start || cpu_has_dc_aliases) |
277 | goto slow_irqon; | 278 | goto slow_irqon; |
278 | 279 | ||
279 | /* XXX: batch / limit 'nr' */ | 280 | /* XXX: batch / limit 'nr' */ |
diff --git a/arch/mips/powertv/Kconfig b/arch/mips/powertv/Kconfig index 1a1b03ea6398..dd91fbacbcba 100644 --- a/arch/mips/powertv/Kconfig +++ b/arch/mips/powertv/Kconfig | |||
@@ -1,14 +1,7 @@ | |||
1 | config BOOTLOADER_DRIVER | ||
2 | bool "PowerTV Bootloader Driver Support" | ||
3 | default n | ||
4 | depends on POWERTV | ||
5 | help | ||
6 | Use this option if you want to load bootloader driver. | ||
7 | |||
8 | config BOOTLOADER_FAMILY | 1 | config BOOTLOADER_FAMILY |
9 | string "POWERTV Bootloader Family string" | 2 | string "POWERTV Bootloader Family string" |
10 | default "85" | 3 | default "85" |
11 | depends on POWERTV && !BOOTLOADER_DRIVER | 4 | depends on POWERTV |
12 | help | 5 | help |
13 | This value should be specified when the bootloader driver is disabled | 6 | This value should be specified when the bootloader driver is disabled |
14 | and must be exactly two characters long. Families supported are: | 7 | and must be exactly two characters long. Families supported are: |
diff --git a/arch/mips/powertv/asic/asic_devices.c b/arch/mips/powertv/asic/asic_devices.c index 0238af1ba503..8380605d597d 100644 --- a/arch/mips/powertv/asic/asic_devices.c +++ b/arch/mips/powertv/asic/asic_devices.c | |||
@@ -147,20 +147,10 @@ static __init noinline void platform_set_family(void) | |||
147 | if (check_forcefamily(forced_family) == 0) | 147 | if (check_forcefamily(forced_family) == 0) |
148 | bootldr_family = BOOTLDRFAMILY(forced_family[0], | 148 | bootldr_family = BOOTLDRFAMILY(forced_family[0], |
149 | forced_family[1]); | 149 | forced_family[1]); |
150 | else { | 150 | else |
151 | |||
152 | #ifdef CONFIG_BOOTLOADER_DRIVER | ||
153 | bootldr_family = (unsigned short) kbldr_GetSWFamily(); | ||
154 | #else | ||
155 | #if defined(CONFIG_BOOTLOADER_FAMILY) | ||
156 | bootldr_family = (unsigned short) BOOTLDRFAMILY( | 151 | bootldr_family = (unsigned short) BOOTLDRFAMILY( |
157 | CONFIG_BOOTLOADER_FAMILY[0], | 152 | CONFIG_BOOTLOADER_FAMILY[0], |
158 | CONFIG_BOOTLOADER_FAMILY[1]); | 153 | CONFIG_BOOTLOADER_FAMILY[1]); |
159 | #else | ||
160 | #error "Unknown Bootloader Family" | ||
161 | #endif | ||
162 | #endif | ||
163 | } | ||
164 | 154 | ||
165 | pr_info("Bootloader Family = 0x%04X\n", bootldr_family); | 155 | pr_info("Bootloader Family = 0x%04X\n", bootldr_family); |
166 | 156 | ||
diff --git a/arch/mips/powertv/init.c b/arch/mips/powertv/init.c index a01baff52cae..498926377e51 100644 --- a/arch/mips/powertv/init.c +++ b/arch/mips/powertv/init.c | |||
@@ -87,8 +87,4 @@ void __init prom_init(void) | |||
87 | 87 | ||
88 | configure_platform(); | 88 | configure_platform(); |
89 | prom_meminit(); | 89 | prom_meminit(); |
90 | |||
91 | #ifndef CONFIG_BOOTLOADER_DRIVER | ||
92 | pr_info("\nBootloader driver isn't loaded...\n"); | ||
93 | #endif | ||
94 | } | 90 | } |
diff --git a/arch/mips/powertv/reset.c b/arch/mips/powertv/reset.c index 0007652cb774..11c32fbf2784 100644 --- a/arch/mips/powertv/reset.c +++ b/arch/mips/powertv/reset.c | |||
@@ -21,24 +21,12 @@ | |||
21 | #include <linux/io.h> | 21 | #include <linux/io.h> |
22 | #include <asm/reboot.h> /* Not included by linux/reboot.h */ | 22 | #include <asm/reboot.h> /* Not included by linux/reboot.h */ |
23 | 23 | ||
24 | #ifdef CONFIG_BOOTLOADER_DRIVER | ||
25 | #include <asm/mach-powertv/kbldr.h> | ||
26 | #endif | ||
27 | |||
28 | #include <asm/mach-powertv/asic_regs.h> | 24 | #include <asm/mach-powertv/asic_regs.h> |
29 | #include "reset.h" | 25 | #include "reset.h" |
30 | 26 | ||
31 | static void mips_machine_restart(char *command) | 27 | static void mips_machine_restart(char *command) |
32 | { | 28 | { |
33 | #ifdef CONFIG_BOOTLOADER_DRIVER | ||
34 | /* | ||
35 | * Call the bootloader's reset function to ensure | ||
36 | * that persistent data is flushed before hard reset | ||
37 | */ | ||
38 | kbldr_SetCauseAndReset(); | ||
39 | #else | ||
40 | writel(0x1, asic_reg_addr(watchdog)); | 29 | writel(0x1, asic_reg_addr(watchdog)); |
41 | #endif | ||
42 | } | 30 | } |
43 | 31 | ||
44 | void mips_reboot_setup(void) | 32 | void mips_reboot_setup(void) |
diff --git a/arch/mips/txx9/generic/setup.c b/arch/mips/txx9/generic/setup.c index 681e7f86c080..2b0b83c171e0 100644 --- a/arch/mips/txx9/generic/setup.c +++ b/arch/mips/txx9/generic/setup.c | |||
@@ -350,7 +350,7 @@ static void __init select_board(void) | |||
350 | } | 350 | } |
351 | 351 | ||
352 | /* select "default" board */ | 352 | /* select "default" board */ |
353 | #ifdef CONFIG_CPU_TX39XX | 353 | #ifdef CONFIG_TOSHIBA_JMR3927 |
354 | txx9_board_vec = &jmr3927_vec; | 354 | txx9_board_vec = &jmr3927_vec; |
355 | #endif | 355 | #endif |
356 | #ifdef CONFIG_CPU_TX49XX | 356 | #ifdef CONFIG_CPU_TX49XX |