diff --git a/hypervisor/arch/x86/Kconfig b/hypervisor/arch/x86/Kconfig index 53c30f09d..478194286 100644 --- a/hypervisor/arch/x86/Kconfig +++ b/hypervisor/arch/x86/Kconfig @@ -42,11 +42,6 @@ config MAX_VCPUS_PER_VM range 1 8 default 4 -config NR_IOAPICS - int "Maximum number of IOAPICs supported" - range 1 2 - default 1 - config MAX_IOMMU_NUM int "Maximum number of iommu dev" range 1 2 diff --git a/hypervisor/arch/x86/ioapic.c b/hypervisor/arch/x86/ioapic.c index cde81b7bd..d8cb07195 100644 --- a/hypervisor/arch/x86/ioapic.c +++ b/hypervisor/arch/x86/ioapic.c @@ -18,7 +18,7 @@ static struct gsi_table gsi_table[NR_MAX_GSI]; static uint32_t nr_gsi; static spinlock_t ioapic_lock; -static union ioapic_rte saved_rte[CONFIG_NR_IOAPICS][IOAPIC_MAX_PIN]; +static union ioapic_rte saved_rte[NR_IOAPICS][IOAPIC_MAX_PIN]; /* * the irq to ioapic pin mapping should extract from ACPI MADT table @@ -351,7 +351,7 @@ void setup_ioapic_irqs(void) spinlock_init(&ioapic_lock); for (ioapic_id = 0U; - ioapic_id < CONFIG_NR_IOAPICS; ioapic_id++) { + ioapic_id < NR_IOAPICS; ioapic_id++) { void *addr; uint8_t pin, nr_pins; @@ -403,7 +403,7 @@ void suspend_ioapic(void) { uint8_t ioapic_id, ioapic_pin; - for (ioapic_id = 0U; ioapic_id < CONFIG_NR_IOAPICS; ioapic_id++) { + for (ioapic_id = 0U; ioapic_id < NR_IOAPICS; ioapic_id++) { void *addr; uint8_t nr_pins; @@ -420,7 +420,7 @@ void resume_ioapic(void) { uint8_t ioapic_id, ioapic_pin; - for (ioapic_id = 0U; ioapic_id < CONFIG_NR_IOAPICS; ioapic_id++) { + for (ioapic_id = 0U; ioapic_id < NR_IOAPICS; ioapic_id++) { void *addr; uint8_t nr_pins; diff --git a/hypervisor/bsp/include/sbl/platform_acpi_info.h b/hypervisor/bsp/include/sbl/platform_acpi_info.h index 8f61759b1..ab3185e1f 100644 --- a/hypervisor/bsp/include/sbl/platform_acpi_info.h +++ b/hypervisor/bsp/include/sbl/platform_acpi_info.h @@ -12,6 +12,9 @@ #define ACPI_INFO_VALIDATED +/* APIC */ +#define NR_IOAPICS 1U + /* pm sstate data */ #define PM1A_EVT_SPACE_ID SPACE_SYSTEM_IO #define PM1A_EVT_BIT_WIDTH 0x20U diff --git a/hypervisor/bsp/include/uefi/platform_acpi_info.h b/hypervisor/bsp/include/uefi/platform_acpi_info.h index 8cb4a57d3..9ffbefa23 100644 --- a/hypervisor/bsp/include/uefi/platform_acpi_info.h +++ b/hypervisor/bsp/include/uefi/platform_acpi_info.h @@ -10,6 +10,9 @@ #ifndef PLATFORM_ACPI_INFO_H #define PLATFORM_ACPI_INFO_H +/* APIC */ +#define NR_IOAPICS 1U + /* pm sstate data */ #define PM1A_EVT_SPACE_ID SPACE_SYSTEM_IO #define PM1A_EVT_BIT_WIDTH 0U diff --git a/hypervisor/include/arch/x86/ioapic.h b/hypervisor/include/arch/x86/ioapic.h index 97036db73..9f9486b02 100644 --- a/hypervisor/include/arch/x86/ioapic.h +++ b/hypervisor/include/arch/x86/ioapic.h @@ -14,7 +14,7 @@ #define IOAPIC_MAX_LINES 120U #define NR_LEGACY_IRQ 16U #define NR_LEGACY_PIN NR_LEGACY_IRQ -#define NR_MAX_GSI (CONFIG_NR_IOAPICS * IOAPIC_MAX_LINES) +#define NR_MAX_GSI (NR_IOAPICS * IOAPIC_MAX_LINES) void setup_ioapic_irqs(void);