x2apic
struct vm_x2apic x2apic;
bzero(&x2apic, sizeof(x2apic));
error = vcpu_ioctl(vcpu, VM_GET_X2APIC_STATE, &x2apic);
*state = x2apic.state;
struct vm_x2apic x2apic;
bzero(&x2apic, sizeof(x2apic));
x2apic.state = state;
error = vcpu_ioctl(vcpu, VM_SET_X2APIC_STATE, &x2apic);
if (x2apic(vlapic))
vlapic_calcdest(vlapic->vm, &dmask, dest, phys, false, x2apic(vlapic));
if (x2apic(vlapic)) {
KASSERT(x2apic(vlapic), ("SELF_IPI does not exist in xAPIC mode"));
if (x2apic(vlapic) && mmio_access) {
if (!x2apic(vlapic) && !mmio_access) {
if (x2apic(vlapic)) {
if (x2apic(vlapic))
if (x2apic(vlapic) && mmio_access) {
if (!x2apic(vlapic) && !mmio_access) {
if (x2apic(vlapic))
if (x2apic(vlapic))
if (x2apic(vlapic)) {
if (x2apic(vlapic)) {
if (x2apic(vlapic))
struct vm_x2apic *x2apic;
x2apic = (struct vm_x2apic *)data;
error = vm_set_x2apic_state(vcpu, x2apic->state);
struct vm_x2apic *x2apic;
x2apic = (struct vm_x2apic *)data;
error = vm_get_x2apic_state(vcpu, &x2apic->state);
ACPI_SRAT_X2APIC_CPU_AFFINITY *x2apic;
x2apic = (ACPI_SRAT_X2APIC_CPU_AFFINITY *)entry;
x2apic->ApicId, x2apic->ProximityDomain,
(x2apic->Flags & ACPI_SRAT_CPU_ENABLED) ?
if (!(x2apic->Flags & ACPI_SRAT_CPU_ENABLED))
KASSERT(cpu_find(x2apic->ApicId) == NULL,
("Duplicate local APIC ID %u", x2apic->ApicId));
cpup = cpu_add(x2apic->ApicId, x2apic->ProximityDomain);
x2apic->ApicId);
ACPI_MADT_LOCAL_X2APIC *x2apic;
x2apic = (ACPI_MADT_LOCAL_X2APIC *)entry;
madt_parse_cpu(x2apic->LocalApicId, x2apic->LapicFlags);
ACPI_MADT_LOCAL_X2APIC *x2apic;
x2apic = (ACPI_MADT_LOCAL_X2APIC *)entry;
madt_add_cpu(x2apic->Uid, x2apic->LocalApicId,
x2apic->LapicFlags);
ACPI_SRAT_X2APIC_CPU_AFFINITY *x2apic;
x2apic = (ACPI_SRAT_X2APIC_CPU_AFFINITY *)srat;
acpi_print_srat_cpu(x2apic->ApicId, x2apic->ProximityDomain,
x2apic->Flags);
ACPI_MADT_LOCAL_X2APIC *x2apic;
x2apic = (ACPI_MADT_LOCAL_X2APIC *)mp;
acpi_print_cpu_uid(x2apic->Uid, NULL);
acpi_print_local_apic(x2apic->LocalApicId, x2apic->LapicFlags);