ladybird/Kernel/PCI
Tom bc107d0b33 Kernel: Add SMP IPI support
We can now properly initialize all processors without
crashing by sending SMP IPI messages to synchronize memory
between processors.

We now initialize the APs once we have the scheduler running.
This is so that we can process IPI messages from the other
cores.

Also rework interrupt handling a bit so that it's more of a
1:1 mapping. We need to allocate non-sharable interrupts for
IPIs.

This also fixes the occasional hang/crash because all
CPUs now synchronize memory with each other.
2020-07-06 17:07:44 +02:00
..
Access.cpp Kernel: Keep records of PCI::Address & PCI::ID pairs for enumeration 2020-04-11 10:02:31 +02:00
Access.h Kernel: Keep records of PCI::Address & PCI::ID pairs for enumeration 2020-04-11 10:02:31 +02:00
Definitions.h Kernel: Keep records of PCI::Address & PCI::ID pairs for enumeration 2020-04-11 10:02:31 +02:00
Device.cpp Kernel: Use nested Kernel::PCI namespaces more to reduce PCI:: spam 2020-04-08 17:29:37 +02:00
Device.h Kernel: Change get_pci_address() to pci_address() in PCI::Device class 2020-02-24 11:27:03 +01:00
Initializer.cpp Kernel: Add SMP IPI support 2020-07-06 17:07:44 +02:00
Initializer.h Kernel: Simplify PCI initialization logic 2020-04-08 17:39:17 +02:00
IOAccess.cpp Kernel: Absorb LibBareMetal back into the kernel 2020-05-16 12:00:04 +02:00
IOAccess.h Meta: Add a script check the presence of "#pragma once" in header files 2020-05-29 07:59:45 +02:00
MMIOAccess.cpp Kernel: Add Region helpers for accessing underlying physical pages 2020-04-28 17:05:14 +02:00
MMIOAccess.h Meta: Add a script check the presence of "#pragma once" in header files 2020-05-29 07:59:45 +02:00