Re: [PATCH 2/2] KVM: SVM: Extend host physical APIC ID field to support more than 8-bit

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Paolo,

On 11/17/2021 8:06 PM, Paolo Bonzini wrote:
On 11/10/21 11:18, Suravee Suthikulpanit wrote:
+    if (level_type != 2 || !x2apic_mode) {
+        avic_host_physical_id_mask = 0xffULL;
+        goto out;
+    }
+
+    core_mask_width = eax & 0xF;
+
+    max_phys_mask_width = get_count_order(apic_get_max_phys_apicid());
+
+    /*
+     * Sanity check to ensure core_mask_width for a processor does not
+     * exceed the calculated mask.
+     */
+    if (WARN_ON(core_mask_width > max_phys_mask_width))
+        return -EINVAL;

Can it just use apic_get_max_phys_apicid() in x2apic mode, and 0xff in !x2apic mode?  I'm not sure why you need to check CPUID[0xb,0x1].

This is mainly for sanity check of the max_physical_apicid (derived from information in ACPI or MP table),
which can be removed if you think not necessary.

Suravee



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux