13 Commits

Author SHA1 Message Date
b8b6c94cae
kernel+init: Create a device node in /dev to access the CDROM from userspace!
Still using PIO, though.
2023-06-04 11:14:03 +02:00
cf549b41ea
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-04 11:14:03 +02:00
ac040f6252
kernel/ATA: Calculate block sizes for ATA devices as well 2023-06-04 11:14:02 +02:00
d27e7cf6e2
kernel/ATA: Send a READ CAPACITY packet to an ATA drive on initialization 2023-06-04 11:14:02 +02:00
e0f41b0daf
kernel/ATA: Read the PCI Busmaster registers and start preparing for DMA 2023-06-04 11:14:02 +02:00
5c731b035b
kernel/ATA: Read the Busmaster base port and verify it 2023-06-04 11:14:01 +02:00
4e413b0615
kernel: Handle device BARs properly 2023-06-04 11:14:01 +02:00
3630d2f027
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-04 11:14:01 +02:00
3168271ad4
kernel/ATA: Implement enough to send an IDENTIFY command and read the model number :) 2023-06-04 11:14:01 +02:00
66071854e4
kernel/ATA: Handle drive IRQs in compatibility mode 2023-06-04 11:14:01 +02:00
f113ef7e89
kernel/ATA: Start reading/writing registers and detecting drives 2023-06-04 11:14:00 +02:00
7333249e6e
kernel: Warn if no ATA controller is found 2023-06-04 11:14:00 +02:00
6f852e3447
kernel/x86_64: Add basic ATA controller and channel identification 2023-06-04 11:14:00 +02:00