[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 0/12 - gnumach] SMP almost working!

From: Damien Zammit
Subject: [PATCH 0/12 - gnumach] SMP almost working!
Date: Tue, 25 Oct 2022 10:55:24 +0000

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
[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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]