diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-14 12:46:06 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-14 12:46:06 -0500 |
commit | 414f827c46973ba39320cfb43feb55a0eeb9b4e8 (patch) | |
tree | 45e860974ef698e71370a0ebdddcff4f14fbdf9e /drivers | |
parent | 86a71dbd3e81e8870d0f0e56b87875f57e58222b (diff) | |
parent | 126b1922367fbe5513daa675a2abd13ed3917f4e (diff) |
Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6
* 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6: (94 commits)
[PATCH] x86-64: Remove mk_pte_phys()
[PATCH] i386: Fix broken CONFIG_COMPAT_VDSO on i386
[PATCH] i386: fix 32-bit ioctls on x64_32
[PATCH] x86: Unify pcspeaker platform device code between i386/x86-64
[PATCH] i386: Remove extern declaration from mm/discontig.c, put in header.
[PATCH] i386: Rename cpu_gdt_descr and remove extern declaration from smpboot.c
[PATCH] i386: Move mce_disabled to asm/mce.h
[PATCH] i386: paravirt unhandled fallthrough
[PATCH] x86_64: Wire up compat epoll_pwait
[PATCH] x86: Don't require the vDSO for handling a.out signals
[PATCH] i386: Fix Cyrix MediaGX detection
[PATCH] i386: Fix warning in cpu initialization
[PATCH] i386: Fix warning in microcode.c
[PATCH] x86: Enable NMI watchdog for AMD Family 0x10 CPUs
[PATCH] x86: Add new CPUID bits for AMD Family 10 CPUs in /proc/cpuinfo
[PATCH] i386: Remove fastcall in paravirt.[ch]
[PATCH] x86-64: Fix wrong gcc check in bitops.h
[PATCH] x86-64: survive having no irq mapping for a vector
[PATCH] i386: geode configuration fixes
[PATCH] i386: add option to show more code in oops reports
...
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/acpi/namespace/nsinit.c | 9 | ||||
-rw-r--r-- | drivers/kvm/vmx.c | 12 |
2 files changed, 15 insertions, 6 deletions
diff --git a/drivers/acpi/namespace/nsinit.c b/drivers/acpi/namespace/nsinit.c index 326af8fc0ce7..33db2241044e 100644 --- a/drivers/acpi/namespace/nsinit.c +++ b/drivers/acpi/namespace/nsinit.c | |||
@@ -45,6 +45,7 @@ | |||
45 | #include <acpi/acnamesp.h> | 45 | #include <acpi/acnamesp.h> |
46 | #include <acpi/acdispat.h> | 46 | #include <acpi/acdispat.h> |
47 | #include <acpi/acinterp.h> | 47 | #include <acpi/acinterp.h> |
48 | #include <linux/nmi.h> | ||
48 | 49 | ||
49 | #define _COMPONENT ACPI_NAMESPACE | 50 | #define _COMPONENT ACPI_NAMESPACE |
50 | ACPI_MODULE_NAME("nsinit") | 51 | ACPI_MODULE_NAME("nsinit") |
@@ -534,7 +535,15 @@ acpi_ns_init_one_device(acpi_handle obj_handle, | |||
534 | info->parameter_type = ACPI_PARAM_ARGS; | 535 | info->parameter_type = ACPI_PARAM_ARGS; |
535 | info->flags = ACPI_IGNORE_RETURN_VALUE; | 536 | info->flags = ACPI_IGNORE_RETURN_VALUE; |
536 | 537 | ||
538 | /* | ||
539 | * Some hardware relies on this being executed as atomically | ||
540 | * as possible (without an NMI being received in the middle of | ||
541 | * this) - so disable NMIs and initialize the device: | ||
542 | */ | ||
543 | acpi_nmi_disable(); | ||
537 | status = acpi_ns_evaluate(info); | 544 | status = acpi_ns_evaluate(info); |
545 | acpi_nmi_enable(); | ||
546 | |||
538 | if (ACPI_SUCCESS(status)) { | 547 | if (ACPI_SUCCESS(status)) { |
539 | walk_info->num_INI++; | 548 | walk_info->num_INI++; |
540 | 549 | ||
diff --git a/drivers/kvm/vmx.c b/drivers/kvm/vmx.c index 1e640b899175..fd4e91734388 100644 --- a/drivers/kvm/vmx.c +++ b/drivers/kvm/vmx.c | |||
@@ -1879,12 +1879,6 @@ again: | |||
1879 | 1879 | ||
1880 | asm ("mov %0, %%ds; mov %0, %%es" : : "r"(__USER_DS)); | 1880 | asm ("mov %0, %%ds; mov %0, %%es" : : "r"(__USER_DS)); |
1881 | 1881 | ||
1882 | /* | ||
1883 | * Profile KVM exit RIPs: | ||
1884 | */ | ||
1885 | if (unlikely(prof_on == KVM_PROFILING)) | ||
1886 | profile_hit(KVM_PROFILING, (void *)vmcs_readl(GUEST_RIP)); | ||
1887 | |||
1888 | kvm_run->exit_type = 0; | 1882 | kvm_run->exit_type = 0; |
1889 | if (fail) { | 1883 | if (fail) { |
1890 | kvm_run->exit_type = KVM_EXIT_TYPE_FAIL_ENTRY; | 1884 | kvm_run->exit_type = KVM_EXIT_TYPE_FAIL_ENTRY; |
@@ -1907,6 +1901,12 @@ again: | |||
1907 | 1901 | ||
1908 | reload_tss(); | 1902 | reload_tss(); |
1909 | } | 1903 | } |
1904 | /* | ||
1905 | * Profile KVM exit RIPs: | ||
1906 | */ | ||
1907 | if (unlikely(prof_on == KVM_PROFILING)) | ||
1908 | profile_hit(KVM_PROFILING, (void *)vmcs_readl(GUEST_RIP)); | ||
1909 | |||
1910 | vcpu->launched = 1; | 1910 | vcpu->launched = 1; |
1911 | kvm_run->exit_type = KVM_EXIT_TYPE_VM_EXIT; | 1911 | kvm_run->exit_type = KVM_EXIT_TYPE_VM_EXIT; |
1912 | r = kvm_handle_exit(kvm_run, vcpu); | 1912 | r = kvm_handle_exit(kvm_run, vcpu); |