arch/x86/ioapic: Clear vector table first

Always clear vector 0 entry before optionally overwriting it
with the i8259 timer redirection.

Change-Id: Ia2e96f43e6494711f9fc4fd74229f5817b04b48d
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/55286
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Furquan Shaikh <furquan@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Kyösti Mälkki 2021-06-06 06:19:15 +03:00
parent 5c2594e179
commit c545baaf47
1 changed files with 2 additions and 8 deletions

View File

@ -138,17 +138,11 @@ void ioapic_set_boot_config(void *ioapic_base, bool irq_on_fsb)
void setup_ioapic_helper(void *ioapic_base, u8 ioapic_id, bool enable_virtual_wire)
{
int first = 0, last;
set_ioapic_id(ioapic_base, ioapic_id);
clear_ioapic(ioapic_base);
if (enable_virtual_wire) {
if (enable_virtual_wire)
route_i8259_irq0(ioapic_base);
first = 1;
}
last = ioapic_interrupt_count(ioapic_base) - 1;
clear_vectors(ioapic_base, first, last);
}