提交 7f9114b7 编写于 作者: L Liran Alon 提交者: Paolo Bonzini

hw/i386/vmport: Allow x2apic without IR

Signal to guest that hypervisor supports x2apic without VT-d/IOMMU
Interrupt-Remapping support. This allows guest to use x2apic in
case all APIC IDs fits in 8-bit (i.e. Max APIC ID < 255).

See Linux kernel commit 4cca6ea04d31 ("x86/apic: Allow x2apic
without IR on VMware platform") and Linux try_to_enable_x2apic()
function.
Reviewed-by: NNikita Leshenko <nikita.leshchenko@oracle.com>
Signed-off-by: NLiran Alon <liran.alon@oracle.com>
Message-Id: <20200312165431.82118-14-liran.alon@oracle.com>
Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
上级 acacd355
......@@ -176,7 +176,14 @@ static uint32_t vmport_cmd_ram_size(void *opaque, uint32_t addr)
static uint32_t vmport_cmd_get_vcpu_info(void *opaque, uint32_t addr)
{
return 1 << VCPU_INFO_RESERVED_BIT;
X86CPU *cpu = X86_CPU(current_cpu);
uint32_t ret = 0;
if (cpu->env.features[FEAT_1_ECX] & CPUID_EXT_X2APIC) {
ret |= 1 << VCPU_INFO_LEGACY_X2APIC_BIT;
}
return ret;
}
static const MemoryRegionOps vmport_ops = {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册