FreeBSD/sys/x86/x86/local_apic.c
/*
 * Called from the mca_init() to activate the CMC interrupt if this CPU is
 * responsible for monitoring any MC banks for CMC events.  Since mca_init()
 * is called prior to lapic_setup() during boot, this just needs to unmask
 * this CPU's LVT_CMCI entry.
 */
Called from the mca_init() to activate the CMC interrupt if this CPU is
responsible for monitoring any MC banks for CMC events.  Since mca_init()
is called prior to lapic_setup() during boot, this just needs to unmask
this CPU's LVT_CMCI entry.
Called from the mca_init () to activate the CMC interrupt if this CPU is responsible for monitoring any MC banks for CMC events . Since mca_init () is called prior to lapic_setup () during boot this just needs to unmask this CPU ' s LVT_CMCI entry .
static void
native_lapic_enable_cmc(void)
{
	u_int apic_id;
#ifdef DEV_ATPIC
	if (!x2apic_mode && lapic_map == NULL)
		return;
#endif
	apic_id = PCPU_GET(apic_id);
	KASSERT(lapics[apic_id].la_present,
	    ("%s: missing APIC %u", __func__, apic_id));
	lapics[apic_id].la_lvts[APIC_LVT_CMCI].lvt_masked = 0;
	lapics[apic_id].la_lvts[APIC_LVT_CMCI].lvt_active = 1;
	if (bootverbose)
		printf("lapic%u: CMCI unmasked\n", apic_id);
}
static void native_lapic_enable_cmc ( void ) { u_int apic_id ; #ifdef DEV_ATPIC if ( ! x2apic_mode && lapic_map == NULL ) return ; #endif apic_id = PCPU_GET ( apic_id ) ; KASSERT ( lapics [ apic_id ] . la_present , ( " " , __func__ , apic_id ) ) ; lapics [ apic_id ] . la_lvts [ APIC_LVT_CMCI ] . lvt_masked = 0 ; lapics [ apic_id ] . la_lvts [ APIC_LVT_CMCI ] . lvt_active = 1 ; if ( bootverbose ) printf ( " \n " , apic_id ) ; }
Called from the mca_init() to activate the CMC interrupt if this CPU is
 responsible for monitoring any MC banks for CMC events.
Called from the mca_init () to activate the CMC interrupt if this CPU is responsible for monitoring any MC banks for CMC events .