mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-30 04:39:38 +00:00
Merge branch 'x86/urgent' into x86/fpu, to resolve a conflict
Conflicts:
arch/x86/kernel/i387.c
This commit is conflicting:
e88221c50c
("x86/fpu: Disable XSAVES* support for now")
These functions changed a lot, move the quirk to arch/x86/kernel/fpu/init.c's
fpu__init_system_xstate_size_legacy().
Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
commit
6f56a8d024
3 changed files with 20 additions and 3 deletions
|
@ -162,7 +162,7 @@ Description: Discover CPUs in the same CPU frequency coordination domain
|
||||||
What: /sys/devices/system/cpu/cpu*/cache/index3/cache_disable_{0,1}
|
What: /sys/devices/system/cpu/cpu*/cache/index3/cache_disable_{0,1}
|
||||||
Date: August 2008
|
Date: August 2008
|
||||||
KernelVersion: 2.6.27
|
KernelVersion: 2.6.27
|
||||||
Contact: discuss@x86-64.org
|
Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
|
||||||
Description: Disable L3 cache indices
|
Description: Disable L3 cache indices
|
||||||
|
|
||||||
These files exist in every CPU's cache/index3 directory. Each
|
These files exist in every CPU's cache/index3 directory. Each
|
||||||
|
|
|
@ -708,6 +708,7 @@ static int mce_no_way_out(struct mce *m, char **msg, unsigned long *validp,
|
||||||
struct pt_regs *regs)
|
struct pt_regs *regs)
|
||||||
{
|
{
|
||||||
int i, ret = 0;
|
int i, ret = 0;
|
||||||
|
char *tmp;
|
||||||
|
|
||||||
for (i = 0; i < mca_cfg.banks; i++) {
|
for (i = 0; i < mca_cfg.banks; i++) {
|
||||||
m->status = mce_rdmsrl(MSR_IA32_MCx_STATUS(i));
|
m->status = mce_rdmsrl(MSR_IA32_MCx_STATUS(i));
|
||||||
|
@ -716,9 +717,11 @@ static int mce_no_way_out(struct mce *m, char **msg, unsigned long *validp,
|
||||||
if (quirk_no_way_out)
|
if (quirk_no_way_out)
|
||||||
quirk_no_way_out(i, m, regs);
|
quirk_no_way_out(i, m, regs);
|
||||||
}
|
}
|
||||||
if (mce_severity(m, mca_cfg.tolerant, msg, true) >=
|
|
||||||
MCE_PANIC_SEVERITY)
|
if (mce_severity(m, mca_cfg.tolerant, &tmp, true) >= MCE_PANIC_SEVERITY) {
|
||||||
|
*msg = tmp;
|
||||||
ret = 1;
|
ret = 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
|
@ -167,6 +167,20 @@ static void __init fpu__init_system_xstate_size_legacy(void)
|
||||||
else
|
else
|
||||||
xstate_size = sizeof(struct fregs_state);
|
xstate_size = sizeof(struct fregs_state);
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
* Quirk: we don't yet handle the XSAVES* instructions
|
||||||
|
* correctly, as we don't correctly convert between
|
||||||
|
* standard and compacted format when interfacing
|
||||||
|
* with user-space - so disable it for now.
|
||||||
|
*
|
||||||
|
* The difference is small: with recent CPUs the
|
||||||
|
* compacted format is only marginally smaller than
|
||||||
|
* the standard FPU state format.
|
||||||
|
*
|
||||||
|
* ( This is easy to backport while we are fixing
|
||||||
|
* XSAVES* support. )
|
||||||
|
*/
|
||||||
|
setup_clear_cpu_cap(X86_FEATURE_XSAVES);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in a new issue