|
Barrelfish
|
Intel 64 local APIC driver. More...
Functions | |
| 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_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_mask_timer (void) |
| void | apic_unmask_timer (void) |
| void | systime_set_timeout (systime_t timeout) |
Variables | |
| uint64_t | apic_systime_frequency_ratio |
| Ratio of APIC frequency to systime frequency * 2^32. | |
| uint8_t | apic_id |
| bool | apic_bsp = true |
Intel 64 local APIC driver.
| 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.
| void systime_set_timeout | ( | systime_t | timeout | ) |
Set a point at which a timer interrupt should occur if it's in a past, trigger immediately
| bool apic_bsp = true |
True if we're on the BSP
| uint8_t apic_id |
The kernel's APIC ID.
1.8.11