1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-06-01 10:08:10 +00:00

Kernel: Introduce the new Storage subsystem

This new subsystem is somewhat replacing the IDE disk code we had with a
new flexible design.

StorageDevice is a generic class that represent a generic storage
device. It is meant that specific storage hardware will override the
interface. StorageController is a generic class that represent
a storage controller that can be found in a machine.

The IDEController class governs two IDEChannels. An IDEChannel is
responsible to manage the master & slave devices of the channel,
therefore an IDEChannel is an IRQHandler.
This commit is contained in:
Liav A 2020-12-19 12:50:57 +02:00 committed by Andreas Kling
parent 39c1783387
commit 0a2b00a1bf
12 changed files with 604 additions and 213 deletions

View file

@ -31,8 +31,6 @@ set(KERNEL_SOURCES
Devices/MBRPartitionTable.cpp
Devices/MBVGADevice.cpp
Devices/NullDevice.cpp
Devices/PATAChannel.cpp
Devices/PATADiskDevice.cpp
Devices/PCSpeaker.cpp
Devices/PS2MouseDevice.cpp
Devices/RandomDevice.cpp
@ -41,6 +39,10 @@ set(KERNEL_SOURCES
Devices/UHCIController.cpp
Devices/VMWareBackdoor.cpp
Devices/ZeroDevice.cpp
Storage/StorageDevice.cpp
Storage/IDEController.cpp
Storage/IDEChannel.cpp
Storage/PATADiskDevice.cpp
DoubleBuffer.cpp
FileSystem/BlockBasedFileSystem.cpp
FileSystem/Custody.cpp