acpi: calibrate local APIC timer on BSP

This commit is contained in:
2023-03-28 21:38:47 +01:00
parent 9828f35d36
commit e0e6f4a9ae
8 changed files with 133 additions and 9 deletions

View File

@@ -6,6 +6,7 @@
extern uint8_t acpi_bsp_lapic_id(void);
extern char ap_trampoline[];
/*
static int __used send_ipi(void *lapic, unsigned int target_id, uint32_t payload)
{
uintptr_t lapic_ptr = (uintptr_t)lapic;
@@ -30,15 +31,14 @@ static int __used init_ap(struct acpi_madt_record *rec, void *bsp_lapic, uint8_t
return 0;
}
/* send init IPI */
send_ipi(bsp_lapic, lapic-> l_apic_id, 0xC500);
send_ipi(bsp_lapic, lapic-> l_apic_id, 0x8500);
/* send startup IPI */
send_ipi(bsp_lapic, lapic-> l_apic_id, 0x4600 | (AP_TRAMPOLINE_PADDR >> VM_PAGE_SHIFT));
printk("acpi: core %u online [AP]", lapic->l_apic_id);
return 0;
}
*/
/*
kern_status_t acpi_smp_init(void)