aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2021-06-02 22:01:28 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2021-06-03 19:47:31 +0000
commita603d41aca48ff21df59967c55ddef181e16ec14 (patch)
tree07b16f909ccde3de9da4662197ef06b73fb64602
parent33755dbb207878c10fd99de39dadf89fad713bc7 (diff)
downloadsrc-a603d41aca48ff21df59967c55ddef181e16ec14.tar.gz
src-a603d41aca48ff21df59967c55ddef181e16ec14.zip
madt_setup_local: skip further checks if ACPI DMAR table already disabled x2APIC
Reviewed by: markj Tested by: David Sebek <dasebek@gmail.com> Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D30624
-rw-r--r--sys/x86/acpica/madt.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/x86/acpica/madt.c b/sys/x86/acpica/madt.c
index 5683f7eb321d..11c7b9de52d7 100644
--- a/sys/x86/acpica/madt.c
+++ b/sys/x86/acpica/madt.c
@@ -158,7 +158,9 @@ madt_setup_local(void)
reason = "by DMAR table";
acpi_unmap_table(dmartbl);
}
- if (vm_guest == VM_GUEST_VMWARE) {
+ if (reason != NULL) {
+ /* Already disabled */
+ } else if (vm_guest == VM_GUEST_VMWARE) {
vmware_hvcall(VMW_HVCMD_GETVCPU_INFO, p);
if ((p[0] & VMW_VCPUINFO_VCPU_RESERVED) != 0 ||
(p[0] & VMW_VCPUINFO_LEGACY_X2APIC) == 0)