Barrelfish
|
Header file for the APIC implementation. More...
Functions | |
void | apic_init (void) |
This function initializes the local APIC. This function initialzes the local APIC by writes to the memory mapped registers and by enabling it in the MSR. | |
void | apic_send_init_assert (uint8_t destination, uint8_t destination_shorthand) |
Send an INIT IPI (assert mode) This function sends an INIT IPI to the destination processor or the processors included in the shorthand in assert mode. More... | |
void | apic_send_init_deassert (void) |
Send an INIT IPI (de-assert mode) This function sends an INIT IPI to all processors. INIT IPIs in de-assert mode are always sent to all processors, regardless of the destination value and the destination shorthand value. | |
void | apic_send_start_up (uint8_t destination, uint8_t destination_shorthand, uint8_t realmode_startpage) |
Send a Start-Up IPI. More... | |
void | apic_send_std_ipi (uint8_t destination, uint8_t destination_shorthand, uint8_t vector) |
Send an standard IPI to the definded target APIC This function sends an standard IPI to the target APIC. More... | |
void | apic_eoi (void) |
This function sends an EOI to the local APIC An End-Of-Interrupt is sent to the local APIC. This function should be called at the end of an interrupt handler. | |
void | apic_seoi (uint8_t int_nr) |
This function sends a specific EOI to the local APIC A specific End-Of-Interrupt is sent to the local APIC. This function should be called at the end of an interrupt handler. | |
void | apic_timer_init (bool masked, bool periodic) |
Initializes the local APIC timer. More... | |
void | apic_perfcnt_init (void) |
Initializes performance counter overflow interrupt. | |
void | apic_perfcnt_stop (void) |
Initializes performance counter overflow interrupt. | |
void | apic_mask_timer (void) |
void | apic_unmask_timer (void) |
Variables | |
uint64_t | apic_systime_frequency_ratio |
Ratio of APIC frequency to systime frequency * 2^32. | |
uint8_t | apic_id |
bool | apic_bsp |
Header file for the APIC implementation.
void apic_mask_timer | ( | void | ) |
Mask the timer interrupt.
void apic_send_init_assert | ( | uint8_t | destination, |
uint8_t | destination_shorthand | ||
) |
Send an INIT IPI (assert mode) This function sends an INIT IPI to the destination processor or the processors included in the shorthand in assert mode.
destination | The destination, if shorthand = xapic_none |
destination_shorthand | THe shorthand of the destination which may be xapic_none, xapic_self, xapic_all_inc or xapic_all_exc |
void apic_send_start_up | ( | uint8_t | destination, |
uint8_t | destination_shorthand, | ||
uint8_t | realmode_startpage | ||
) |
Send a Start-Up IPI.
This function sends a Start-Up IPI to the destination processor or the processors included in the shorthand.
destination | The destination, if shorthand = xapic_none |
destination_shorthand | THe shorthand of the destination which may be xapic_none, xapic_self, xapic_all_inc or xapic_all_exc |
void apic_send_std_ipi | ( | uint8_t | destination, |
uint8_t | destination_shorthand, | ||
uint8_t | vector | ||
) |
Send an standard IPI to the definded target APIC This function sends an standard IPI to the target APIC.
destination | The destination, if shorthand = xapic_none |
destination_shorthand | THe shorthand of the destination which may be xapic_none, xapic_self, xapic_all_inc or xapic_all_exc |
void apic_timer_init | ( | bool | masked, |
bool | periodic | ||
) |
Initializes the local APIC timer.
masked | Mask interrupt |
periodic | Periodic or one-shot |
void apic_unmask_timer | ( | void | ) |
Unmask the timer interrupt.
bool apic_bsp |
True if we're on the BSP
uint8_t apic_id |
The kernel's APIC ID.