Damien Zammit, le mar. 06 févr. 2024 03:06:28 +, a ecrit:
> +printf("Sending IPIs to APIC ID %u...\n", apic_id);
> +err = smp_send_ipi_init(apic_id);
> +hpet_mdelay(10);
> +err = smp_send_ipi_startup(apic_id, start_eip / PAGE_SIZE);
> +hpet_udelay(200);
> +err = smp_send
To be fixed: Find a way to allocate memory below 1MiB.
Otherwise, this hardcodes 0x3000 as the starting eip.
TESTED: works in qemu
TESTED: works hardware with AMD cpu
---
i386/i386/mp_desc.c | 15 +++--
i386/i386/smp.c | 126 +---
i386/i386/smp.h