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); |