1#ifndef __HAL__APIC__APIC_H__
2#define __HAL__APIC__APIC_H__
11#define APIC_ICR_LOW 0x300
12#define APIC_ICR_HIGH 0x310
13#define APIC_LOGIC_DEST 0xD0
14#define APIC_ARBITATION_PRIOR 0x090
17#define LVT_TIMER 0x320
18#define TIMER_INITIAL_COUNT 0x380
19#define TIMER_DIVIDE_CONFIG 0x3E0
20#define TIMER_CURRENT_COUNT 0x390
21#define APIC_TIMER_PERIOD (1 << 17)
22#define APIC_TIMER_ONE_SHOT (0 << 17)
23#define APIC_TIMER_DEADLINE (2 << 17)
25#define APIC_LVT_TMR 0x0320
26#define APIC_LVT_PERF 0x0340
27#define APIC_LVT_LINT0 0x0350
28#define APIC_LVT_LINT1 0x0360
29#define APIC_LVT_ERR 0x0370
30#define APIC_ESR 0x0280
void apic_send_ipi(uint8_t vector, uint8_t dest)
void vxAPICCreateTimer(uint32_t type, uint64_t freq_us, uint16_t vector)
void vxAPICCreateDeadlineTimer(const uint8_t vector, const uint64_t freq_us)
void apic_write(uint32_t reg, uint32_t value)
uint32_t apic_read(uint32_t reg)
bool vxTSChasInvariant(void)