serenity/Kernel/Arch
Liav A d61c23569e Kernel/VirtIO: Introduce the concept of transport options
The VirtIO specification defines many types of devices with different
purposes, and it also defines 3 possible transport mediums where devices
could be connected to the host machine.

We only care about the PCIe transport, but this commit puts the actual
foundations for supporting the lean MMIO transport too in the future.

To ensure things are kept abstracted but still functional, the VirtIO
transport code is responsible for what is deemed as related to an actual
transport type - allocation of interrupt handlers and tinkering with low
level transport-related registers, etc.
2023-09-16 14:04:17 -06:00
..
aarch64 Kernel: Use Processor::wait_check in loops waiting for HW to respond 2023-09-15 11:07:35 -06:00
riscv64 Kernel/riscv64: Add basic SBI support 2023-09-07 11:56:34 -06:00
x86_64 Kernel: Use Processor::wait_check in loops waiting for HW to respond 2023-09-15 11:07:35 -06:00
CPU.h Kernel: Reorganize Arch/x86 directory to Arch/x86_64 after i686 removal 2022-12-28 11:53:41 +01:00
CurrentTime.h Kernel: Abstract platform-specific current time methods from Scheduler 2022-10-14 14:13:51 +02:00
DebugOutput.h Kernel: Abstract platform-specific serial port access from kprintf 2022-09-20 18:43:05 +01:00
DeferredCallEntry.h Kernel: Extract DeferredCallEntry from Arch/Processor.h 2021-12-11 13:23:27 -08:00
DeferredCallPool.cpp Kernel: Move deferred call code into separate DeferredCallPool class 2023-04-03 20:01:28 -06:00
DeferredCallPool.h Kernel: Move deferred call code into separate DeferredCallPool class 2023-04-03 20:01:28 -06:00
Delay.h Kernel: Move IO delay code to x86 architecture subdirectory 2022-09-20 18:43:05 +01:00
init.cpp Kernel/VirtIO: Introduce the concept of transport options 2023-09-16 14:04:17 -06:00
InterruptManagement.h Kernel: Reorganize Arch/x86 directory to Arch/x86_64 after i686 removal 2022-12-28 11:53:41 +01:00
Interrupts.h Kernel: Add reserve_interrupt_handlers API 2023-05-07 21:16:41 +02:00
IRQController.h Kernel: Reorganize Arch/x86 directory to Arch/x86_64 after i686 removal 2022-12-28 11:53:41 +01:00
mcontext.h Toolchain: Add (basic) support for riscv64 2023-08-11 09:20:08 +02:00
PageDirectory.h Kernel: Reorganize Arch/x86 directory to Arch/x86_64 after i686 removal 2022-12-28 11:53:41 +01:00
PageFault.cpp Kernel: Move Performance-measurement code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
PageFault.h Kernel: Move ExecutionMode.h to the Security subdirectory 2023-06-04 21:32:34 +02:00
PCIMSI.h Kernel: Implement helpers to manipulate MSI(x) data structures 2023-05-07 21:16:41 +02:00
PowerState.h Kernel: Simplify reboot & poweroff code flow a bit 2023-06-27 20:04:42 +02:00
Processor.cpp Kernel: Add enum InterruptsState and helper functions 2022-08-26 12:51:57 +02:00
Processor.h Kernel: Reorganize Arch/x86 directory to Arch/x86_64 after i686 removal 2022-12-28 11:53:41 +01:00
ProcessorSpecificDataID.h Kernel: Extract ProcessorSpecificDataID from from Arch/Processor.h 2021-12-11 13:23:27 -08:00
RegisterState.h Kernel: Reorganize Arch/x86 directory to Arch/x86_64 after i686 removal 2022-12-28 11:53:41 +01:00
SafeMem.h Everywhere: Fix order of includes and #pragma once 2022-09-18 18:30:05 -07:00
SmapDisabler.h Kernel: Split SmapDisabler so header is platform independent 2021-10-15 21:48:45 +01:00
ThreadRegisters.h Kernel: Move ThreadRegisters into arch-specific directory 2022-12-29 19:32:20 -07:00
TrapFrame.h Kernel: Reorganize Arch/x86 directory to Arch/x86_64 after i686 removal 2022-12-28 11:53:41 +01:00