Merge tag 'v3.13-rc7' into x86/efi-kexec to resolve conflicts
Conflicts: arch/x86/platform/efi/efi.c drivers/firmware/efi/Kconfig Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
@@ -387,7 +387,8 @@ static void init_intel(struct cpuinfo_x86 *c)
|
||||
set_cpu_cap(c, X86_FEATURE_PEBS);
|
||||
}
|
||||
|
||||
if (c->x86 == 6 && c->x86_model == 29 && cpu_has_clflush)
|
||||
if (c->x86 == 6 && cpu_has_clflush &&
|
||||
(c->x86_model == 29 || c->x86_model == 46 || c->x86_model == 47))
|
||||
set_cpu_cap(c, X86_FEATURE_CLFLUSH_MONITOR);
|
||||
|
||||
#ifdef CONFIG_X86_64
|
||||
|
||||
@@ -262,11 +262,20 @@ struct cpu_hw_events {
|
||||
__EVENT_CONSTRAINT(c, n, INTEL_ARCH_EVENT_MASK, \
|
||||
HWEIGHT(n), 0, PERF_X86_EVENT_PEBS_ST_HSW)
|
||||
|
||||
#define EVENT_CONSTRAINT_END \
|
||||
EVENT_CONSTRAINT(0, 0, 0)
|
||||
/*
|
||||
* We define the end marker as having a weight of -1
|
||||
* to enable blacklisting of events using a counter bitmask
|
||||
* of zero and thus a weight of zero.
|
||||
* The end marker has a weight that cannot possibly be
|
||||
* obtained from counting the bits in the bitmask.
|
||||
*/
|
||||
#define EVENT_CONSTRAINT_END { .weight = -1 }
|
||||
|
||||
/*
|
||||
* Check for end marker with weight == -1
|
||||
*/
|
||||
#define for_each_event_constraint(e, c) \
|
||||
for ((e) = (c); (e)->weight; (e)++)
|
||||
for ((e) = (c); (e)->weight != -1; (e)++)
|
||||
|
||||
/*
|
||||
* Extra registers for specific events.
|
||||
|
||||
@@ -558,6 +558,17 @@ void native_machine_shutdown(void)
|
||||
{
|
||||
/* Stop the cpus and apics */
|
||||
#ifdef CONFIG_X86_IO_APIC
|
||||
/*
|
||||
* Disabling IO APIC before local APIC is a workaround for
|
||||
* erratum AVR31 in "Intel Atom Processor C2000 Product Family
|
||||
* Specification Update". In this situation, interrupts that target
|
||||
* a Logical Processor whose Local APIC is either in the process of
|
||||
* being hardware disabled or software disabled are neither delivered
|
||||
* nor discarded. When this erratum occurs, the processor may hang.
|
||||
*
|
||||
* Even without the erratum, it still makes sense to quiet IO APIC
|
||||
* before disabling Local APIC.
|
||||
*/
|
||||
disable_IO_APIC();
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user