1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2026-01-16 09:01:00 +00:00
serenity/Kernel/Storage/ATA
Liav A 4744ccbff0 Kernel/Storage: Add LUN address to each StorageDevice
LUN address is essentially how people used to address SCSI devices back
in the day we had these devices more in use. However, SCSI was taken as
an abstraction layer for many Unix and Unix-like systems, so it still
common to see LUN addresses in use. In Serenity, we don't really provide
such abstraction layer, and therefore until now, we didn't use LUNs too.
However (again), this changes, as we want to let users to address their
devices under SysFS easily. LUNs make sense in that regard, because they
can be easily adapted to different interfaces besides SCSI.
For example, for legacy ATA hard drive being connected to the first IDE
controller which was enumerated on the PCI bus, and then to the primary
channel as slave device, the LUN address would be 0:0:1.

To make this happen, we add unique ID number to each StorageController,
which increments by 1 for each new instance of StorageController. Then,
we adapt the ATA and NVMe devices to use these numbers and generate LUN
in the construction time.
2022-07-15 12:29:23 +02:00
..
AHCI.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
AHCIController.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
AHCIController.h Kernel/Storage: Do proper locking & reset in the AHCIController code 2022-07-08 01:06:47 +03:00
AHCIInterruptHandler.cpp Kernel/Storage: Rename AHCIPortHandler => AHCIInterruptHandler 2022-07-08 01:06:47 +03:00
AHCIInterruptHandler.h Kernel/Storage: Rename AHCIPortHandler => AHCIInterruptHandler 2022-07-08 01:06:47 +03:00
AHCIPort.cpp Kernel+Userland: Rename prefix of user_physical => physical 2022-07-14 23:27:46 +02:00
AHCIPort.h Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
ATA.h Kernel/Storage: Move all ATA related code to a new subdirectory 2021-11-13 10:05:22 +01:00
ATAController.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
ATADevice.cpp Kernel/Storage: Add LUN address to each StorageDevice 2022-07-15 12:29:23 +02:00
ATADevice.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
ATADiskDevice.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
ATADiskDevice.h Kernel: Export both interface type and command set of a StorageDevice 2022-07-15 12:29:23 +02:00
ATAPIDiscDevice.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
ATAPIDiscDevice.h Kernel: Export both interface type and command set of a StorageDevice 2022-07-15 12:29:23 +02:00
BMIDEChannel.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
BMIDEChannel.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
IDEChannel.cpp Kernel/Storage: Check IDE error condition under the correct lock 2022-07-15 12:27:32 +02:00
IDEChannel.h Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
IDEController.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
IDEController.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
ISAIDEController.cpp Kernel/Storage: Don't try to enumerate PCI adapters if PCI is disabled 2022-03-02 18:41:54 +01:00
ISAIDEController.h Kernel/Storage: Don't try to enumerate PCI adapters if PCI is disabled 2022-03-02 18:41:54 +01:00
PCIIDEController.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
PCIIDEController.h Kernel/Storage: Don't try to enumerate PCI adapters if PCI is disabled 2022-03-02 18:41:54 +01:00