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 |
