Commit Graph

1769 Commits

Author SHA1 Message Date
9f298841a4
kernel: Start reading the MBR partition table from the ATAPI drive
All checks were successful
continuous-integration/drone/pr Build is passing
2023-05-27 19:02:08 +02:00
eea398160a
ATA: Mark the CDROM as a block device 2023-05-27 19:02:08 +02:00
15d8c9dd82
kernel/ATA: Pass extra information to DeviceRegistry
This is needed since merging e7d482e from main.
2023-05-27 19:02:08 +02:00
09fc6e9fc4
kernel+init: Create a device node in /dev to access the CDROM from userspace!
Still using PIO, though.
2023-05-27 19:02:08 +02:00
1a0d7e8021
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-05-27 19:02:08 +02:00
c3c25f9855
kernel/x86_64: Implement writing to PCI fields 2023-05-27 19:02:08 +02:00
d8addf1c8e
kernel/PCI: Add bit enum for the Command field 2023-05-27 19:02:08 +02:00
b935d3c4c3
kernel: Actually register interrupt handlers properly 2023-05-27 19:02:08 +02:00
4edc4a8d08
kernel/ATA: Calculate block sizes for ATA devices as well 2023-05-27 19:02:08 +02:00
7445d56b58
kernel/ATA: Send a READ CAPACITY packet to an ATA drive on initialization 2023-05-27 19:02:07 +02:00
613d41a2a6
kernel/ATA: Read the PCI Busmaster registers and start preparing for DMA 2023-05-27 19:02:07 +02:00
8b32faa335
kernel/ATA: Read the Busmaster base port and verify it 2023-05-27 19:02:07 +02:00
8ec02b4147
kernel: Handle device BARs properly 2023-05-27 19:02:07 +02:00
8c6d770f70
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-05-27 19:02:07 +02:00
03b2df9cd8
kernel/ATA: Implement enough to send an IDENTIFY command and read the model number :) 2023-05-27 19:02:07 +02:00
d80739b0f7
kernel/ATA: Handle drive IRQs in compatibility mode 2023-05-27 19:02:07 +02:00
2505d914c2
kernel/CPU: Allow passing arbitrary data to interrupt handlers 2023-05-27 19:02:07 +02:00
e616af3b89
kernel/ATA: Start reading/writing registers and detecting drives 2023-05-27 19:02:07 +02:00
0dc3b5e2e1
kernel: Warn if no ATA controller is found 2023-05-27 19:02:07 +02:00
1361c8c7b8
kernel: Add a KMutex class and use that for ATA::Controller locking 2023-05-27 19:02:06 +02:00
5a9d8b86f5
kernel/x86_64: Add basic ATA controller and channel identification 2023-05-27 19:02:06 +02:00
034d7d96b1
kernel/PCI: Add more PCI field types 2023-05-27 19:02:06 +02:00
60ea6aae54
kernel/x86_64: Add a way to register IRQ handlers from other kernel subsystems 2023-05-27 19:02:03 +02:00
d572d56460
libc: Add dummy time fields to struct stat
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-27 12:22:06 +02:00
18115ca04a
libc: Add alloca.h
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-27 12:11:51 +02:00
8d90d146b2
libc: Fix including sys/time.h
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-27 12:06:00 +02:00
88d1da59e8
kernel+libc: Add access()
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-27 12:04:27 +02:00
bd8aaa917f
kernel+libc+ln: Add support for userspace hard link creation
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-27 11:32:40 +02:00
a98e9e8009
kernel: Add /dev/full
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-27 10:42:45 +02:00
b0506bf88f
kernel: Add umask
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-26 22:27:49 +02:00
d89a823924
kernel: Return EACCES when trying to chdir to an unaccessible directory 2023-05-26 20:49:13 +02:00
cba0a23db9
kernel: Make the framebuffer a block device
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-26 20:36:35 +02:00
7cdb967730
kernel: compilation fix
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-26 20:30:39 +02:00
62e14e7580
kernel+libos+apps: Support block devices and disallow seeking character devices or pipes
Some checks failed
continuous-integration/drone/push Build is failing
2023-05-26 20:27:47 +02:00
38fae0c97b
ls: Show file modes visually
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-26 18:22:50 +02:00
4dcee8f828
sh: Print "exit" on EOF only when the shell is in interactive mode
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-26 17:29:41 +02:00
84c1871d30
libc: Check if a shell is available if system()'s command argument is NULL 2023-05-26 17:27:37 +02:00
3a51807fa6
kernel+stat: Handle pipes correctly in stat()
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-23 20:54:25 +02:00
9cdfdbc6f9
kernel: Handle unnamed pipes in stat()
Some checks failed
continuous-integration/drone/push Build is failing
2023-05-23 20:49:26 +02:00
1094042a7d
kernel: Implement st_dev and st_rdev
Some checks failed
continuous-integration/drone/push Build is failing
2023-05-23 20:45:24 +02:00
1a6ad11462
kernel+libc+libos+ls: Add readlink()
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-23 15:42:38 +02:00
b61307e5cb
ls: Add -1 and --directory
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-23 14:53:38 +02:00
04d074538f
ls: Don't do caching now that password/group file reading is more reasonable
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-20 22:10:01 +02:00
2c798b8bf0
Update README to match repository description
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-20 22:00:52 +02:00
597aada09e
ls+stat: Handle symbolic links properly
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-20 21:49:25 +02:00
4ec1af5e51
apps: Add ln 2023-05-20 21:49:25 +02:00
7a8ef52408
libos: Support not following symlinks 2023-05-20 21:49:25 +02:00
cb205c851c
libc: Add symlink(), symlinkat(), and lstat() 2023-05-20 21:49:25 +02:00
67a9d130e2
kernel: Add initial support for symbolic links :D 2023-05-20 21:49:24 +02:00
b75bd4cd14
libluna: Add PathParser::has_next() 2023-05-20 16:39:18 +02:00