[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
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
- [PATCH 0/12 - gnumach] SMP almost working!,
Damien Zammit <=
- [PATCH 01/12] kdb: Fix TODO for multiprocessor, Damien Zammit, 2022/10/25
- [PATCH 03/12] bios32: Use phystokv() on low bios addresses, Damien Zammit, 2022/10/25
- [PATCH 02/12] kern/startup: Disable interrupts before starting APs, Damien Zammit, 2022/10/25
- [PATCH 04/12] acpi: Add lapic_addr, Damien Zammit, 2022/10/25
- [PATCH 07/12] i386/pit: Tune delays, Damien Zammit, 2022/10/25