1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 08:08:12 +00:00
serenity/Kernel/Devices
Liav A f5090ab810 Kernel: Restore ATA PIO functionality
First, before this change, specifying 'force_pio' in the kernel
commandline was meaningless because we nevertheless set the DMA flag to
be enabled.

Also, we had a problem in which we used IO::repeated_out16() in PIO
write method. This might work on buggy emulators, but I suspect that on
real hardware this code will fail.

The most difficult problem was to restore the PIO read operation.
Apparently, it seems that we can't use IO::repeated_in16() here because
it will read zeroed data. Currently we rely on a simple loop that
invokes IO::in16() to a buffer. Also, the interrupt handling stage in
the PIO read method is moved to be handled inside the loop of reading
the requested sectors.
2020-04-15 12:35:10 +02:00
..
BlockDevice.cpp Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
BlockDevice.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
BXVGADevice.cpp Kernel: Keep records of PCI::Address & PCI::ID pairs for enumeration 2020-04-11 10:02:31 +02:00
BXVGADevice.h Kernel: Add explicit offset parameter to File::read etc 2020-04-10 11:59:30 +02:00
CharacterDevice.cpp Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
CharacterDevice.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
Device.cpp Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
Device.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
DiskPartition.cpp Kernel: Add explicit offset parameter to File::read etc 2020-04-10 11:59:30 +02:00
DiskPartition.h Kernel: Add explicit offset parameter to File::read etc 2020-04-10 11:59:30 +02:00
EBRPartitionTable.cpp Kernel: Use klog() instead of kprintf() 2020-03-02 22:23:39 +01:00
EBRPartitionTable.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
FullDevice.cpp Kernel: Add explicit offset parameter to File::read etc 2020-04-10 11:59:30 +02:00
FullDevice.h Kernel: Add explicit offset parameter to File::read etc 2020-04-10 11:59:30 +02:00
GPTPartitionTable.cpp Kernel: Use klog() instead of kprintf() 2020-03-02 22:23:39 +01:00
GPTPartitionTable.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
KeyboardDevice.cpp Kernel: Add explicit offset parameter to File::read etc 2020-04-10 11:59:30 +02:00
KeyboardDevice.h Kernel: Add explicit offset parameter to File::read etc 2020-04-10 11:59:30 +02:00
MBRPartitionTable.cpp Kernel: Use klog() instead of kprintf() 2020-03-02 22:23:39 +01:00
MBRPartitionTable.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
MBVGADevice.cpp Kernel: Implement basic support for sys$mmap() with MAP_PRIVATE 2020-02-28 23:25:00 +01:00
MBVGADevice.h Kernel: Add explicit offset parameter to File::read etc 2020-04-10 11:59:30 +02:00
NullDevice.cpp Kernel: Add explicit offset parameter to File::read etc 2020-04-10 11:59:30 +02:00
NullDevice.h Kernel: Add explicit offset parameter to File::read etc 2020-04-10 11:59:30 +02:00
PATAChannel.cpp Kernel: Restore ATA PIO functionality 2020-04-15 12:35:10 +02:00
PATAChannel.h Kernel: Use a const reference to RegisterState in IRQ handling 2020-03-19 15:48:00 +01:00
PATADiskDevice.cpp Kernel: Add explicit offset parameter to File::read etc 2020-04-10 11:59:30 +02:00
PATADiskDevice.h Kernel: Add explicit offset parameter to File::read etc 2020-04-10 11:59:30 +02:00
PCSpeaker.cpp Kernel: Introduce the new Time management subsystem 2020-03-19 15:48:00 +01:00
PCSpeaker.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
PS2MouseDevice.cpp Kernel: Add explicit offset parameter to File::read etc 2020-04-10 11:59:30 +02:00
PS2MouseDevice.h Kernel: Add explicit offset parameter to File::read etc 2020-04-10 11:59:30 +02:00
RandomDevice.cpp Kernel: Add explicit offset parameter to File::read etc 2020-04-10 11:59:30 +02:00
RandomDevice.h Kernel: Add explicit offset parameter to File::read etc 2020-04-10 11:59:30 +02:00
SB16.cpp Kernel: Add explicit offset parameter to File::read etc 2020-04-10 11:59:30 +02:00
SB16.h Kernel: Add explicit offset parameter to File::read etc 2020-04-10 11:59:30 +02:00
SerialDevice.cpp Kernel: Add explicit offset parameter to File::read etc 2020-04-10 11:59:30 +02:00
SerialDevice.h Kernel: Add explicit offset parameter to File::read etc 2020-04-10 11:59:30 +02:00
VMWareBackdoor.cpp Kernel: Assert if we try to initialize VMWareBackdoor more than once 2020-04-11 10:02:31 +02:00
VMWareBackdoor.h Kernel: Simplify VMWareBackdoor somewhat 2020-04-08 17:19:46 +02:00
ZeroDevice.cpp Kernel: Add explicit offset parameter to File::read etc 2020-04-10 11:59:30 +02:00
ZeroDevice.h Kernel: Add explicit offset parameter to File::read etc 2020-04-10 11:59:30 +02:00