|
ba46399bbd
|
kernel/ATA: Remove debug messages
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
|
2023-06-16 21:34:36 +02:00 |
|
|
738b218a49
|
kernel/ATA+MBR: Dynamically generate device names + create devices for MBR partitions
continuous-integration/drone/pr Build is passing
|
2023-06-16 21:30:50 +02:00 |
|
|
72b8ebe02c
|
kernel: Make the MBR code read from a device instead of an inode
continuous-integration/drone/pr Build is failing
|
2023-06-16 21:10:33 +02:00 |
|
|
72e798cedb
|
kernel: Do not automatically read the MBR partition table from /dev/cdrom
Since ff952cfe16 made /dev mounted from userspace, /dev/cdrom does not exist when ATA drives are scanned.
|
2023-06-16 21:10:33 +02:00 |
|
|
7593947c33
|
kernel/ATA: Route interrupts to the correct drive
|
2023-06-16 21:10:33 +02:00 |
|
|
93922932fa
|
kernel: Start reading the MBR partition table from the ATAPI drive
|
2023-06-16 21:10:33 +02:00 |
|
|
a3beaa4d53
|
ATA: Mark the CDROM as a block device
|
2023-06-16 21:10:33 +02:00 |
|
|
bb0db450b3
|
kernel/ATA: Pass extra information to DeviceRegistry
This is needed since merging e7d482e from main.
|
2023-06-16 21:10:33 +02:00 |
|
|
a0fa1f2cfd
|
kernel+init: Create a device node in /dev to access the CDROM from userspace!
Still using PIO, though.
|
2023-06-16 21:10:33 +02:00 |
|
|
2fa11a5ae3
|
kernel/ATA: Read the CDROM's first sector using ATAPI PIO!!
Sadly, for some reason, DMA is not working right now.
This is a problem, as PIO is inconvenient. But hey, it works for now!
|
2023-06-16 21:10:32 +02:00 |
|
|
cc8450751c
|
kernel/x86_64: Implement writing to PCI fields
|
2023-06-16 21:10:32 +02:00 |
|
|
3762d3f959
|
kernel/PCI: Add bit enum for the Command field
|
2023-06-16 21:10:32 +02:00 |
|
|
a99c5e325d
|
kernel: Actually register interrupt handlers properly
|
2023-06-16 21:10:32 +02:00 |
|
|
82db0e39ea
|
kernel/ATA: Calculate block sizes for ATA devices as well
|
2023-06-16 21:10:32 +02:00 |
|
|
46c45068e0
|
kernel/ATA: Send a READ CAPACITY packet to an ATA drive on initialization
|
2023-06-16 21:10:32 +02:00 |
|
|
cfcde5af55
|
kernel/ATA: Read the PCI Busmaster registers and start preparing for DMA
|
2023-06-16 21:10:31 +02:00 |
|
|
268252c89e
|
kernel/ATA: Read the Busmaster base port and verify it
|
2023-06-16 21:10:31 +02:00 |
|
|
5d16754632
|
kernel: Handle device BARs properly
|
2023-06-16 21:10:31 +02:00 |
|
|
6307b01689
|
kernel/ATA: Read ATA strings properly instead of backwards
Now we can see the model string. What does it say...
"QEMU DVD-ROM". Let's go!
|
2023-06-16 21:10:31 +02:00 |
|
|
e118c9ea0d
|
kernel/ATA: Implement enough to send an IDENTIFY command and read the model number :)
|
2023-06-16 21:10:31 +02:00 |
|
|
ee691bbb0f
|
kernel/ATA: Handle drive IRQs in compatibility mode
|
2023-06-16 21:10:31 +02:00 |
|
|
739950e8f0
|
kernel/CPU: Allow passing arbitrary data to interrupt handlers
|
2023-06-16 21:10:31 +02:00 |
|
|
3a84127fd6
|
kernel/ATA: Start reading/writing registers and detecting drives
|
2023-06-16 21:10:30 +02:00 |
|
|
e8507d23ee
|
kernel: Warn if no ATA controller is found
|
2023-06-16 21:10:30 +02:00 |
|
|
d9a1e8a980
|
kernel: Add a KMutex class and use that for ATA::Controller locking
|
2023-06-16 21:10:30 +02:00 |
|
|
7efc6dc985
|
kernel/x86_64: Add basic ATA controller and channel identification
|
2023-06-16 21:10:30 +02:00 |
|
|
beeafb73e6
|
kernel/PCI: Add more PCI field types
|
2023-06-16 21:10:30 +02:00 |
|
|
f0caf010bf
|
kernel/x86_64: Add a way to register IRQ handlers from other kernel subsystems
|
2023-06-16 21:10:26 +02:00 |
|