FreeBSD/sys/x86/acpica/madt.c
/*
 * Parse an entry for an NMI routed to a local APIC LVT pin.
 */
Parse an entry for an NMI routed to a local APIC LVT pin.
Parse an entry for an NMI routed to a local APIC LVT pin .
static void
madt_handle_local_nmi(u_int acpi_id, UINT8 Lint, UINT16 IntiFlags)
{
	u_int apic_id, pin;
	if (acpi_id == 0xffffffff)
		apic_id = APIC_ID_ALL;
	else if (madt_find_cpu(acpi_id, &apic_id) != 0) {
		if (bootverbose)
			printf("MADT: Ignoring local NMI routed to "
			    "ACPI CPU %u\n", acpi_id);
		return;
	}
	if (Lint == 0)
		pin = APIC_LVT_LINT0;
	else
		pin = APIC_LVT_LINT1;
	lapic_set_lvt_mode(apic_id, pin, APIC_LVT_DM_NMI);
	if (!(IntiFlags & ACPI_MADT_TRIGGER_CONFORMS))
		lapic_set_lvt_triggermode(apic_id, pin,
		    interrupt_trigger(IntiFlags, 0));
	if (!(IntiFlags & ACPI_MADT_POLARITY_CONFORMS))
		lapic_set_lvt_polarity(apic_id, pin,
		    interrupt_polarity(IntiFlags, 0));
}
static void madt_handle_local_nmi ( u_int acpi_id , UINT8 Lint , UINT16 IntiFlags ) { u_int apic_id , pin ; if ( acpi_id == 0xffffffff ) apic_id = APIC_ID_ALL ; else if ( madt_find_cpu ( acpi_id , & apic_id ) != 0 ) { if ( bootverbose ) printf ( " " " \n " , acpi_id ) ; return ; } if ( Lint == 0 ) pin = APIC_LVT_LINT0 ; else pin = APIC_LVT_LINT1 ; lapic_set_lvt_mode ( apic_id , pin , APIC_LVT_DM_NMI ) ; if ( ! ( IntiFlags & ACPI_MADT_TRIGGER_CONFORMS ) ) lapic_set_lvt_triggermode ( apic_id , pin , interrupt_trigger ( IntiFlags , 0 ) ) ; if ( ! ( IntiFlags & ACPI_MADT_POLARITY_CONFORMS ) ) lapic_set_lvt_polarity ( apic_id , pin , interrupt_polarity ( IntiFlags , 0 ) ) ; }
Parse an entry for an NMI routed to a local APIC LVT pin.
Parse an entry for an NMI routed to a local APIC LVT pin .