mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-09-23 09:47:44 +00:00
hv/mod_irq: cleanup x86 lapic/ioapic header files
Declarations referenced nowhere else are moved into the c file. Tracked-On: #5825 Signed-off-by: Jason Chen CJ <jason.cj.chen@intel.com>
This commit is contained in:
@@ -17,6 +17,27 @@
|
||||
|
||||
#define NR_MAX_GSI (CONFIG_MAX_IOAPIC_NUM * CONFIG_MAX_IOAPIC_LINES)
|
||||
|
||||
#define DEFAULT_DEST_MODE IOAPIC_RTE_DESTMODE_LOGICAL
|
||||
#define DEFAULT_DELIVERY_MODE IOAPIC_RTE_DELMODE_LOPRI
|
||||
|
||||
/*
|
||||
* is_valid is by default false when all the
|
||||
* static variables, part of .bss, are initialized to 0s
|
||||
* It is set to true, if the corresponding
|
||||
* gsi falls in ranges identified by IOAPIC data
|
||||
* in ACPI MADT in ioapic_setup_irqs.
|
||||
*/
|
||||
|
||||
struct gsi_table {
|
||||
bool is_valid;
|
||||
struct {
|
||||
uint8_t acpi_id;
|
||||
uint8_t index;
|
||||
uint32_t pin;
|
||||
void *base_addr;
|
||||
} ioapic_info;
|
||||
};
|
||||
|
||||
static struct gsi_table gsi_table_data[NR_MAX_GSI];
|
||||
static uint32_t ioapic_max_nr_gsi;
|
||||
static spinlock_t ioapic_lock = { .head = 0U, .tail = 0U, };
|
||||
|
@@ -11,6 +11,33 @@
|
||||
#include <per_cpu.h>
|
||||
#include <cpu_caps.h>
|
||||
#include <lapic.h>
|
||||
#include <apicreg.h>
|
||||
|
||||
/* intr_lapic_icr_delivery_mode */
|
||||
#define INTR_LAPIC_ICR_FIXED 0x0U
|
||||
#define INTR_LAPIC_ICR_LP 0x1U
|
||||
#define INTR_LAPIC_ICR_SMI 0x2U
|
||||
#define INTR_LAPIC_ICR_NMI 0x4U
|
||||
#define INTR_LAPIC_ICR_INIT 0x5U
|
||||
#define INTR_LAPIC_ICR_STARTUP 0x6U
|
||||
|
||||
/* intr_lapic_icr_dest_mode */
|
||||
#define INTR_LAPIC_ICR_PHYSICAL 0x0U
|
||||
#define INTR_LAPIC_ICR_LOGICAL 0x1U
|
||||
|
||||
/* intr_lapic_icr_level */
|
||||
#define INTR_LAPIC_ICR_DEASSERT 0x0U
|
||||
#define INTR_LAPIC_ICR_ASSERT 0x1U
|
||||
|
||||
/* intr_lapic_icr_trigger */
|
||||
#define INTR_LAPIC_ICR_EDGE 0x0U
|
||||
#define INTR_LAPIC_ICR_LEVEL 0x1U
|
||||
|
||||
/* intr_lapic_icr_shorthand */
|
||||
#define INTR_LAPIC_ICR_USE_DEST_ARRAY 0x0U
|
||||
#define INTR_LAPIC_ICR_SELF 0x1U
|
||||
#define INTR_LAPIC_ICR_ALL_INC_SELF 0x2U
|
||||
#define INTR_LAPIC_ICR_ALL_EX_SELF 0x3U
|
||||
|
||||
union lapic_base_msr {
|
||||
uint64_t value;
|
||||
@@ -87,7 +114,7 @@ void init_lapic(uint16_t pcpu_id)
|
||||
clear_lapic_isr();
|
||||
}
|
||||
|
||||
void save_lapic(struct lapic_regs *regs)
|
||||
static void save_lapic(struct lapic_regs *regs)
|
||||
{
|
||||
regs->tpr.v = (uint32_t) msr_read(MSR_IA32_EXT_APIC_TPR);
|
||||
regs->ppr.v = (uint32_t) msr_read(MSR_IA32_EXT_APIC_PPR);
|
||||
|
Reference in New Issue
Block a user