Are you already implemented startup IPI cicle? I was stucked raising it, 
because the AP keep freezed after load GDT in gdt_init()

El martes 25 de octubre de 2022, Damien Zammit escribió:
> This patch series is based on Almu's work on SMP,
> with additional work by me and refactored for upstream.
> 
> My goal is to have --enable-ncpus=X and --{enable/disable}-apic
> working with X >= 1.  That means PIC should still work with SMP on i386.
> 
> With --enable-ncpus=1 and --disable-apic
> it still works as before.
> 
> With --enable-ncpus=2 and --disable-apic
> it hangs at boot with -smp 1 (timer routing issue?)
> 
> With --enable-ncpus=2 and --enable-apic
> it general protection faults with -smp 1 or 2 (nested interrupts?)
> 
> The first 6 patches are independent from each other
> and quite small:
> [PATCH 01/12] kdb: Fix TODO for multiprocessor
> [PATCH 02/12] kern/startup: Disable interrupts before starting APs
> [PATCH 03/12] bios32: Use phystokv() on low bios addresses
> [PATCH 04/12] acpi: Add lapic_addr
> [PATCH 05/12] linux: Reduce worst case wait to 10 seconds for disks
> [PATCH 06/12] linux drivers: Don't depend on curr_pic_mask for APIC
> 
> The rest of the patches are to be reviewed in order of increasing
> difficulty:
> [PATCH 07/12] i386/pit: Tune delays
> [PATCH 08/12] i386: Add AP variants of descriptor tables
> [PATCH 09/12] i386: Fix lapic and ioapic for smp
> [PATCH 10/12] Add cpu_number and cpuboot
> [PATCH 11/12] i386: Fix race in multiprocessor ktss
> 
> The last commit is difficult to split up and includes changes in locore.S:
> [PATCH 12/12] i386: Refactor int stacks to be per cpu for SMP
> 
> 
>

-- 
Enviado desde mi dispositivo Sailfish

Reply via email to