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:
Коммит
518af3cb8c
|
@ -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);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче