diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-05-16 18:46:30 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-05-16 18:46:30 -0400 |
| commit | 518af3cb8ccaf32057db6046e241ec393d6c7b98 (patch) | |
| tree | 3d08cdcc3abeec7a406e49010e8c201f9ddc29c2 | |
| parent | 2ed3d79564cff70b7a6e6516ce6324928971d1e0 (diff) | |
| parent | e05cb56821288ad972541a468570418105c30215 (diff) | |
Merge branch 'master' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
Pull MIPS fixes from Ralf Baechle:
"Seven small fixes. The shortlog below is a good description so no
need to elaborate.
It has sat in linux-next and survived the usual automated testing by
Imagination's test farm"
* 'master' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
MIPS: tlb-r4k: Fix PG_ELPA comment
MIPS: Fix up obsolete cpu_set usage
MIPS: IP32: Fix build errors in reset code in DS1685 platform hook.
MIPS: KVM: Fix unused variable build warning
MIPS: traps: remove extra Tainted: line from __show_regs() output
MIPS: Fix wrong CHECKFLAGS (sparse builds) with GCC 5.1
MIPS: Fix a preemption issue with thread's FPU defaults
| -rw-r--r-- | arch/mips/Makefile | 2 | ||||
| -rw-r--r-- | arch/mips/include/asm/elf.h | 4 | ||||
| -rw-r--r-- | arch/mips/kernel/ptrace.c | 2 | ||||
| -rw-r--r-- | arch/mips/kernel/smp-cps.c | 2 | ||||
| -rw-r--r-- | arch/mips/kernel/traps.c | 1 | ||||
| -rw-r--r-- | arch/mips/kvm/emulate.c | 6 | ||||
| -rw-r--r-- | arch/mips/math-emu/cp1emu.c | 4 | ||||
| -rw-r--r-- | arch/mips/mm/tlb-r4k.c | 2 | ||||
| -rw-r--r-- | arch/mips/sgi-ip32/ip32-platform.c | 4 |
9 files changed, 10 insertions, 17 deletions
diff --git a/arch/mips/Makefile b/arch/mips/Makefile index 5200f649dd4e..ae2dd59050f7 100644 --- a/arch/mips/Makefile +++ b/arch/mips/Makefile | |||
| @@ -277,7 +277,7 @@ LDFLAGS += -m $(ld-emul) | |||
| 277 | ifdef CONFIG_MIPS | 277 | ifdef CONFIG_MIPS |
| 278 | CHECKFLAGS += $(shell $(CC) $(KBUILD_CFLAGS) -dM -E -x c /dev/null | \ | 278 | CHECKFLAGS += $(shell $(CC) $(KBUILD_CFLAGS) -dM -E -x c /dev/null | \ |
| 279 | egrep -vw '__GNUC_(|MINOR_|PATCHLEVEL_)_' | \ | 279 | egrep -vw '__GNUC_(|MINOR_|PATCHLEVEL_)_' | \ |
| 280 | sed -e "s/^\#define /-D'/" -e "s/ /'='/" -e "s/$$/'/") | 280 | sed -e "s/^\#define /-D'/" -e "s/ /'='/" -e "s/$$/'/" -e 's/\$$/&&/g') |
| 281 | ifdef CONFIG_64BIT | 281 | ifdef CONFIG_64BIT |
| 282 | CHECKFLAGS += -m64 | 282 | CHECKFLAGS += -m64 |
| 283 | endif | 283 | endif |
diff --git a/arch/mips/include/asm/elf.h b/arch/mips/include/asm/elf.h index a594d8ed9698..f19e890b99d2 100644 --- a/arch/mips/include/asm/elf.h +++ b/arch/mips/include/asm/elf.h | |||
| @@ -304,7 +304,7 @@ do { \ | |||
| 304 | \ | 304 | \ |
| 305 | current->thread.abi = &mips_abi; \ | 305 | current->thread.abi = &mips_abi; \ |
| 306 | \ | 306 | \ |
| 307 | current->thread.fpu.fcr31 = current_cpu_data.fpu_csr31; \ | 307 | current->thread.fpu.fcr31 = boot_cpu_data.fpu_csr31; \ |
| 308 | } while (0) | 308 | } while (0) |
| 309 | 309 | ||
| 310 | #endif /* CONFIG_32BIT */ | 310 | #endif /* CONFIG_32BIT */ |
| @@ -366,7 +366,7 @@ do { \ | |||
| 366 | else \ | 366 | else \ |
| 367 | current->thread.abi = &mips_abi; \ | 367 | current->thread.abi = &mips_abi; \ |
| 368 | \ | 368 | \ |
| 369 | current->thread.fpu.fcr31 = current_cpu_data.fpu_csr31; \ | 369 | current->thread.fpu.fcr31 = boot_cpu_data.fpu_csr31; \ |
| 370 | \ | 370 | \ |
| 371 | p = personality(current->personality); \ | 371 | p = personality(current->personality); \ |
| 372 | if (p != PER_LINUX32 && p != PER_LINUX) \ | 372 | if (p != PER_LINUX32 && p != PER_LINUX) \ |
diff --git a/arch/mips/kernel/ptrace.c b/arch/mips/kernel/ptrace.c index d544e774eea6..e933a309f2ea 100644 --- a/arch/mips/kernel/ptrace.c +++ b/arch/mips/kernel/ptrace.c | |||
| @@ -176,7 +176,7 @@ int ptrace_setfpregs(struct task_struct *child, __u32 __user *data) | |||
| 176 | 176 | ||
| 177 | __get_user(value, data + 64); | 177 | __get_user(value, data + 64); |
| 178 | fcr31 = child->thread.fpu.fcr31; | 178 | fcr31 = child->thread.fpu.fcr31; |
| 179 | mask = current_cpu_data.fpu_msk31; | 179 | mask = boot_cpu_data.fpu_msk31; |
| 180 | child->thread.fpu.fcr31 = (value & ~mask) | (fcr31 & mask); | 180 | child->thread.fpu.fcr31 = (value & ~mask) | (fcr31 & mask); |
| 181 | 181 | ||
| 182 | /* FIR may not be written. */ | 182 | /* FIR may not be written. */ |
diff --git a/arch/mips/kernel/smp-cps.c b/arch/mips/kernel/smp-cps.c index 7e011f95bb8e..4251d390b5b6 100644 --- a/arch/mips/kernel/smp-cps.c +++ b/arch/mips/kernel/smp-cps.c | |||
| @@ -92,7 +92,7 @@ static void __init cps_smp_setup(void) | |||
| 92 | #ifdef CONFIG_MIPS_MT_FPAFF | 92 | #ifdef CONFIG_MIPS_MT_FPAFF |
| 93 | /* If we have an FPU, enroll ourselves in the FPU-full mask */ | 93 | /* If we have an FPU, enroll ourselves in the FPU-full mask */ |
| 94 | if (cpu_has_fpu) | 94 | if (cpu_has_fpu) |
| 95 | cpu_set(0, mt_fpu_cpumask); | 95 | cpumask_set_cpu(0, &mt_fpu_cpumask); |
| 96 | #endif /* CONFIG_MIPS_MT_FPAFF */ | 96 | #endif /* CONFIG_MIPS_MT_FPAFF */ |
| 97 | } | 97 | } |
| 98 | 98 | ||
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c index ba32e48d4697..d2d1c1933bc9 100644 --- a/arch/mips/kernel/traps.c +++ b/arch/mips/kernel/traps.c | |||
| @@ -269,7 +269,6 @@ static void __show_regs(const struct pt_regs *regs) | |||
| 269 | */ | 269 | */ |
| 270 | printk("epc : %0*lx %pS\n", field, regs->cp0_epc, | 270 | printk("epc : %0*lx %pS\n", field, regs->cp0_epc, |
| 271 | (void *) regs->cp0_epc); | 271 | (void *) regs->cp0_epc); |
| 272 | printk(" %s\n", print_tainted()); | ||
| 273 | printk("ra : %0*lx %pS\n", field, regs->regs[31], | 272 | printk("ra : %0*lx %pS\n", field, regs->regs[31], |
| 274 | (void *) regs->regs[31]); | 273 | (void *) regs->regs[31]); |
| 275 | 274 | ||
diff --git a/arch/mips/kvm/emulate.c b/arch/mips/kvm/emulate.c index 6230f376a44e..4b50c5787e25 100644 --- a/arch/mips/kvm/emulate.c +++ b/arch/mips/kvm/emulate.c | |||
| @@ -2389,7 +2389,6 @@ enum emulation_result kvm_mips_complete_mmio_load(struct kvm_vcpu *vcpu, | |||
| 2389 | { | 2389 | { |
| 2390 | unsigned long *gpr = &vcpu->arch.gprs[vcpu->arch.io_gpr]; | 2390 | unsigned long *gpr = &vcpu->arch.gprs[vcpu->arch.io_gpr]; |
| 2391 | enum emulation_result er = EMULATE_DONE; | 2391 | enum emulation_result er = EMULATE_DONE; |
| 2392 | unsigned long curr_pc; | ||
| 2393 | 2392 | ||
| 2394 | if (run->mmio.len > sizeof(*gpr)) { | 2393 | if (run->mmio.len > sizeof(*gpr)) { |
| 2395 | kvm_err("Bad MMIO length: %d", run->mmio.len); | 2394 | kvm_err("Bad MMIO length: %d", run->mmio.len); |
| @@ -2397,11 +2396,6 @@ enum emulation_result kvm_mips_complete_mmio_load(struct kvm_vcpu *vcpu, | |||
| 2397 | goto done; | 2396 | goto done; |
| 2398 | } | 2397 | } |
| 2399 | 2398 | ||
| 2400 | /* | ||
| 2401 | * Update PC and hold onto current PC in case there is | ||
| 2402 | * an error and we want to rollback the PC | ||
| 2403 | */ | ||
| 2404 | curr_pc = vcpu->arch.pc; | ||
| 2405 | er = update_pc(vcpu, vcpu->arch.pending_load_cause); | 2399 | er = update_pc(vcpu, vcpu->arch.pending_load_cause); |
| 2406 | if (er == EMULATE_FAIL) | 2400 | if (er == EMULATE_FAIL) |
| 2407 | return er; | 2401 | return er; |
diff --git a/arch/mips/math-emu/cp1emu.c b/arch/mips/math-emu/cp1emu.c index d31c537ace1d..22b9b2cb9219 100644 --- a/arch/mips/math-emu/cp1emu.c +++ b/arch/mips/math-emu/cp1emu.c | |||
| @@ -889,7 +889,7 @@ static inline void cop1_cfc(struct pt_regs *xcp, struct mips_fpu_struct *ctx, | |||
| 889 | break; | 889 | break; |
| 890 | 890 | ||
| 891 | case FPCREG_RID: | 891 | case FPCREG_RID: |
| 892 | value = current_cpu_data.fpu_id; | 892 | value = boot_cpu_data.fpu_id; |
| 893 | break; | 893 | break; |
| 894 | 894 | ||
| 895 | default: | 895 | default: |
| @@ -921,7 +921,7 @@ static inline void cop1_ctc(struct pt_regs *xcp, struct mips_fpu_struct *ctx, | |||
| 921 | (void *)xcp->cp0_epc, MIPSInst_RT(ir), value); | 921 | (void *)xcp->cp0_epc, MIPSInst_RT(ir), value); |
| 922 | 922 | ||
| 923 | /* Preserve read-only bits. */ | 923 | /* Preserve read-only bits. */ |
| 924 | mask = current_cpu_data.fpu_msk31; | 924 | mask = boot_cpu_data.fpu_msk31; |
| 925 | fcr31 = (value & ~mask) | (fcr31 & mask); | 925 | fcr31 = (value & ~mask) | (fcr31 & mask); |
| 926 | break; | 926 | break; |
| 927 | 927 | ||
diff --git a/arch/mips/mm/tlb-r4k.c b/arch/mips/mm/tlb-r4k.c index a27a088e6f9f..08318ecb803a 100644 --- a/arch/mips/mm/tlb-r4k.c +++ b/arch/mips/mm/tlb-r4k.c | |||
| @@ -495,7 +495,7 @@ static void r4k_tlb_configure(void) | |||
| 495 | 495 | ||
| 496 | if (cpu_has_rixi) { | 496 | if (cpu_has_rixi) { |
| 497 | /* | 497 | /* |
| 498 | * Enable the no read, no exec bits, and enable large virtual | 498 | * Enable the no read, no exec bits, and enable large physical |
| 499 | * address. | 499 | * address. |
| 500 | */ | 500 | */ |
| 501 | #ifdef CONFIG_64BIT | 501 | #ifdef CONFIG_64BIT |
diff --git a/arch/mips/sgi-ip32/ip32-platform.c b/arch/mips/sgi-ip32/ip32-platform.c index 0134db2ad0a8..5a2a82148d8d 100644 --- a/arch/mips/sgi-ip32/ip32-platform.c +++ b/arch/mips/sgi-ip32/ip32-platform.c | |||
| @@ -130,9 +130,9 @@ struct platform_device ip32_rtc_device = { | |||
| 130 | .resource = ip32_rtc_resources, | 130 | .resource = ip32_rtc_resources, |
| 131 | }; | 131 | }; |
| 132 | 132 | ||
| 133 | +static int __init sgio2_rtc_devinit(void) | 133 | static __init int sgio2_rtc_devinit(void) |
| 134 | { | 134 | { |
| 135 | return platform_device_register(&ip32_rtc_device); | 135 | return platform_device_register(&ip32_rtc_device); |
| 136 | } | 136 | } |
| 137 | 137 | ||
| 138 | device_initcall(sgio2_cmos_devinit); | 138 | device_initcall(sgio2_rtc_devinit); |
