FABRIC-3.10.8 MC-1a: the core table, and amd64's second core online and parked
hal/smp.c: dense logical core ids, a heap-sized core table, one-at-a-time bring-up under a 1 s bound, park-wake reporting at the idle point. amd64: MADT enumeration, a relocation-free real->long-mode trampoline copied below 1 MiB, INIT-SIPI-SIPI via the LAPIC ICR; QEMU -smp 2. Core 1 reports online with GS on its own block, parks with 0 wakes; aarch64/riscv64 report 1 core until MC-1b/c. 3-ISA acceptance clean. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
8c068e00e3
commit
24bde47481
@@ -67,6 +67,11 @@ int apic_init(BootInfo *boot_info);
|
||||
* destination field when programming I/O APIC redirection entries. */
|
||||
uint8_t apic_id(void);
|
||||
|
||||
/* amd64 (FABRIC-3.10.8 MC-1a): send one IPI -- ICR high = destination,
|
||||
* then ICR low = `icr_low` -- and wait for its delivery status to clear.
|
||||
* Returns 0 once delivered, -1 if still pending after the bound. */
|
||||
int apic_send_ipi(uint8_t dest_apic_id, uint32_t icr_low);
|
||||
|
||||
/* Send End-of-Interrupt signal */
|
||||
void apic_eoi(void);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user