Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 fixes from Peter Anvin: "There is a small EFI fix and a big power regression fix in this batch. My queue also had a fix for downing a CPU when there are insufficient number of IRQ vectors available, but I'm holding that one for now due to recent bug reports" * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/efi: Don't select EFI from certain special ACPI drivers x86 idle: Repair large-server 50-watt idle-power regression
This commit is contained in:
commit
8cf126d927
|
@ -387,7 +387,8 @@ static void init_intel(struct cpuinfo_x86 *c)
|
||||||
set_cpu_cap(c, X86_FEATURE_PEBS);
|
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);
|
set_cpu_cap(c, X86_FEATURE_CLFLUSH_MONITOR);
|
||||||
|
|
||||||
#ifdef CONFIG_X86_64
|
#ifdef CONFIG_X86_64
|
||||||
|
|
|
@ -348,7 +348,6 @@ source "drivers/acpi/apei/Kconfig"
|
||||||
config ACPI_EXTLOG
|
config ACPI_EXTLOG
|
||||||
tristate "Extended Error Log support"
|
tristate "Extended Error Log support"
|
||||||
depends on X86_MCE && X86_LOCAL_APIC
|
depends on X86_MCE && X86_LOCAL_APIC
|
||||||
select EFI
|
|
||||||
select UEFI_CPER
|
select UEFI_CPER
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
|
|
@ -2,7 +2,6 @@ config ACPI_APEI
|
||||||
bool "ACPI Platform Error Interface (APEI)"
|
bool "ACPI Platform Error Interface (APEI)"
|
||||||
select MISC_FILESYSTEMS
|
select MISC_FILESYSTEMS
|
||||||
select PSTORE
|
select PSTORE
|
||||||
select EFI
|
|
||||||
select UEFI_CPER
|
select UEFI_CPER
|
||||||
depends on X86
|
depends on X86
|
||||||
help
|
help
|
||||||
|
|
|
@ -14,3 +14,4 @@ obj-$(CONFIG_FIRMWARE_MEMMAP) += memmap.o
|
||||||
|
|
||||||
obj-$(CONFIG_GOOGLE_FIRMWARE) += google/
|
obj-$(CONFIG_GOOGLE_FIRMWARE) += google/
|
||||||
obj-$(CONFIG_EFI) += efi/
|
obj-$(CONFIG_EFI) += efi/
|
||||||
|
obj-$(CONFIG_UEFI_CPER) += efi/
|
||||||
|
|
|
@ -36,7 +36,7 @@ config EFI_VARS_PSTORE_DEFAULT_DISABLE
|
||||||
backend for pstore by default. This setting can be overridden
|
backend for pstore by default. This setting can be overridden
|
||||||
using the efivars module's pstore_disable parameter.
|
using the efivars module's pstore_disable parameter.
|
||||||
|
|
||||||
config UEFI_CPER
|
|
||||||
def_bool n
|
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
|
config UEFI_CPER
|
||||||
|
bool
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#
|
#
|
||||||
# Makefile for linux kernel
|
# Makefile for linux kernel
|
||||||
#
|
#
|
||||||
obj-y += efi.o vars.o
|
obj-$(CONFIG_EFI) += efi.o vars.o
|
||||||
obj-$(CONFIG_EFI_VARS) += efivars.o
|
obj-$(CONFIG_EFI_VARS) += efivars.o
|
||||||
obj-$(CONFIG_EFI_VARS_PSTORE) += efi-pstore.o
|
obj-$(CONFIG_EFI_VARS_PSTORE) += efi-pstore.o
|
||||||
obj-$(CONFIG_UEFI_CPER) += cper.o
|
obj-$(CONFIG_UEFI_CPER) += cper.o
|
||||||
|
|
|
@ -377,6 +377,9 @@ static int intel_idle(struct cpuidle_device *dev,
|
||||||
|
|
||||||
if (!current_set_polling_and_test()) {
|
if (!current_set_polling_and_test()) {
|
||||||
|
|
||||||
|
if (this_cpu_has(X86_FEATURE_CLFLUSH_MONITOR))
|
||||||
|
clflush((void *)¤t_thread_info()->flags);
|
||||||
|
|
||||||
__monitor((void *)¤t_thread_info()->flags, 0, 0);
|
__monitor((void *)¤t_thread_info()->flags, 0, 0);
|
||||||
smp_mb();
|
smp_mb();
|
||||||
if (!need_resched())
|
if (!need_resched())
|
||||||
|
|
Loading…
Reference in New Issue