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
This commit is contained in:
Linus Torvalds 2015-05-16 15:46:30 -07:00
Родитель 2ed3d79564 e05cb56821
Коммит 518af3cb8c
9 изменённых файлов: 10 добавлений и 17 удалений

Просмотреть файл

@ -277,7 +277,7 @@ LDFLAGS += -m $(ld-emul)
ifdef CONFIG_MIPS ifdef CONFIG_MIPS
CHECKFLAGS += $(shell $(CC) $(KBUILD_CFLAGS) -dM -E -x c /dev/null | \ CHECKFLAGS += $(shell $(CC) $(KBUILD_CFLAGS) -dM -E -x c /dev/null | \
egrep -vw '__GNUC_(|MINOR_|PATCHLEVEL_)_' | \ egrep -vw '__GNUC_(|MINOR_|PATCHLEVEL_)_' | \
sed -e "s/^\#define /-D'/" -e "s/ /'='/" -e "s/$$/'/") sed -e "s/^\#define /-D'/" -e "s/ /'='/" -e "s/$$/'/" -e 's/\$$/&&/g')
ifdef CONFIG_64BIT ifdef CONFIG_64BIT
CHECKFLAGS += -m64 CHECKFLAGS += -m64
endif endif

Просмотреть файл

@ -304,7 +304,7 @@ do { \
\ \
current->thread.abi = &mips_abi; \ current->thread.abi = &mips_abi; \
\ \
current->thread.fpu.fcr31 = current_cpu_data.fpu_csr31; \ current->thread.fpu.fcr31 = boot_cpu_data.fpu_csr31; \
} while (0) } while (0)
#endif /* CONFIG_32BIT */ #endif /* CONFIG_32BIT */
@ -366,7 +366,7 @@ do { \
else \ else \
current->thread.abi = &mips_abi; \ current->thread.abi = &mips_abi; \
\ \
current->thread.fpu.fcr31 = current_cpu_data.fpu_csr31; \ current->thread.fpu.fcr31 = boot_cpu_data.fpu_csr31; \
\ \
p = personality(current->personality); \ p = personality(current->personality); \
if (p != PER_LINUX32 && p != PER_LINUX) \ if (p != PER_LINUX32 && p != PER_LINUX) \

Просмотреть файл

@ -176,7 +176,7 @@ int ptrace_setfpregs(struct task_struct *child, __u32 __user *data)
__get_user(value, data + 64); __get_user(value, data + 64);
fcr31 = child->thread.fpu.fcr31; fcr31 = child->thread.fpu.fcr31;
mask = current_cpu_data.fpu_msk31; mask = boot_cpu_data.fpu_msk31;
child->thread.fpu.fcr31 = (value & ~mask) | (fcr31 & mask); child->thread.fpu.fcr31 = (value & ~mask) | (fcr31 & mask);
/* FIR may not be written. */ /* FIR may not be written. */

Просмотреть файл

@ -92,7 +92,7 @@ static void __init cps_smp_setup(void)
#ifdef CONFIG_MIPS_MT_FPAFF #ifdef CONFIG_MIPS_MT_FPAFF
/* If we have an FPU, enroll ourselves in the FPU-full mask */ /* If we have an FPU, enroll ourselves in the FPU-full mask */
if (cpu_has_fpu) if (cpu_has_fpu)
cpu_set(0, mt_fpu_cpumask); cpumask_set_cpu(0, &mt_fpu_cpumask);
#endif /* CONFIG_MIPS_MT_FPAFF */ #endif /* CONFIG_MIPS_MT_FPAFF */
} }

Просмотреть файл

@ -269,7 +269,6 @@ static void __show_regs(const struct pt_regs *regs)
*/ */
printk("epc : %0*lx %pS\n", field, regs->cp0_epc, printk("epc : %0*lx %pS\n", field, regs->cp0_epc,
(void *) regs->cp0_epc); (void *) regs->cp0_epc);
printk(" %s\n", print_tainted());
printk("ra : %0*lx %pS\n", field, regs->regs[31], printk("ra : %0*lx %pS\n", field, regs->regs[31],
(void *) regs->regs[31]); (void *) regs->regs[31]);

Просмотреть файл

@ -2389,7 +2389,6 @@ enum emulation_result kvm_mips_complete_mmio_load(struct kvm_vcpu *vcpu,
{ {
unsigned long *gpr = &vcpu->arch.gprs[vcpu->arch.io_gpr]; unsigned long *gpr = &vcpu->arch.gprs[vcpu->arch.io_gpr];
enum emulation_result er = EMULATE_DONE; enum emulation_result er = EMULATE_DONE;
unsigned long curr_pc;
if (run->mmio.len > sizeof(*gpr)) { if (run->mmio.len > sizeof(*gpr)) {
kvm_err("Bad MMIO length: %d", run->mmio.len); 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,
goto done; goto done;
} }
/*
* Update PC and hold onto current PC in case there is
* an error and we want to rollback the PC
*/
curr_pc = vcpu->arch.pc;
er = update_pc(vcpu, vcpu->arch.pending_load_cause); er = update_pc(vcpu, vcpu->arch.pending_load_cause);
if (er == EMULATE_FAIL) if (er == EMULATE_FAIL)
return er; return er;

Просмотреть файл

@ -889,7 +889,7 @@ static inline void cop1_cfc(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
break; break;
case FPCREG_RID: case FPCREG_RID:
value = current_cpu_data.fpu_id; value = boot_cpu_data.fpu_id;
break; break;
default: default:
@ -921,7 +921,7 @@ static inline void cop1_ctc(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
(void *)xcp->cp0_epc, MIPSInst_RT(ir), value); (void *)xcp->cp0_epc, MIPSInst_RT(ir), value);
/* Preserve read-only bits. */ /* Preserve read-only bits. */
mask = current_cpu_data.fpu_msk31; mask = boot_cpu_data.fpu_msk31;
fcr31 = (value & ~mask) | (fcr31 & mask); fcr31 = (value & ~mask) | (fcr31 & mask);
break; break;

Просмотреть файл

@ -495,7 +495,7 @@ static void r4k_tlb_configure(void)
if (cpu_has_rixi) { if (cpu_has_rixi) {
/* /*
* Enable the no read, no exec bits, and enable large virtual * Enable the no read, no exec bits, and enable large physical
* address. * address.
*/ */
#ifdef CONFIG_64BIT #ifdef CONFIG_64BIT

Просмотреть файл

@ -130,9 +130,9 @@ struct platform_device ip32_rtc_device = {
.resource = ip32_rtc_resources, .resource = ip32_rtc_resources,
}; };
+static int __init sgio2_rtc_devinit(void) static __init int sgio2_rtc_devinit(void)
{ {
return platform_device_register(&ip32_rtc_device); return platform_device_register(&ip32_rtc_device);
} }
device_initcall(sgio2_cmos_devinit); device_initcall(sgio2_rtc_devinit);