apic: add support for x2APIC mode
authorBui Quang Minh <minhquangbui99@gmail.com>
Thu, 11 Jan 2024 15:43:59 +0000 (22:43 +0700)
committerMichael S. Tsirkin <mst@redhat.com>
Wed, 14 Feb 2024 11:09:32 +0000 (06:09 -0500)
commitb5ee0468e9d28c6bd47cce70f90b5032dd10ecc2
treec423b901c9b931ba9f44c69524fb5c11dc65b4a0
parentb2101358e591c9f0a93739dd3aee72935a79af80
apic: add support for x2APIC mode

This commit extends the APIC ID to 32-bit long and remove the 255 max APIC
ID limit in userspace APIC. The array that manages local APICs is now
dynamically allocated based on the max APIC ID of created x86 machine.
Also, new x2APIC IPI destination determination scheme, self IPI and x2APIC
mode register access are supported.

Signed-off-by: Bui Quang Minh <minhquangbui99@gmail.com>
Message-Id: <20240111154404.5333-3-minhquangbui99@gmail.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
hw/i386/x86.c
hw/intc/apic.c
hw/intc/apic_common.c
include/hw/i386/apic.h
include/hw/i386/apic_internal.h
target/i386/cpu-sysemu.c
target/i386/cpu.h