|
2722bd73af
|
kernel: Start reading the MBR partition table from the ATAPI drive
|
2023-06-03 21:02:37 +02:00 |
|
|
b8541747c2
|
ATA: Mark the CDROM as a block device
|
2023-06-03 21:02:37 +02:00 |
|
|
37a3f13de7
|
kernel/ATA: Pass extra information to DeviceRegistry
This is needed since merging e7d482e from main.
|
2023-06-03 21:02:37 +02:00 |
|
|
d69e75eb5a
|
kernel+init: Create a device node in /dev to access the CDROM from userspace!
Still using PIO, though.
|
2023-06-03 21:02:37 +02:00 |
|
|
1b141da3a2
|
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-03 21:02:36 +02:00 |
|
|
d79560a531
|
kernel/x86_64: Implement writing to PCI fields
|
2023-06-03 21:02:36 +02:00 |
|
|
4a5929f880
|
kernel/PCI: Add bit enum for the Command field
|
2023-06-03 21:02:36 +02:00 |
|
|
8f4052210e
|
kernel: Actually register interrupt handlers properly
|
2023-06-03 21:02:36 +02:00 |
|
|
7d49f1d172
|
kernel/ATA: Calculate block sizes for ATA devices as well
|
2023-06-03 21:02:36 +02:00 |
|
|
a5ddc17dc5
|
kernel/ATA: Send a READ CAPACITY packet to an ATA drive on initialization
|
2023-06-03 21:02:36 +02:00 |
|
|
b847655058
|
kernel/ATA: Read the PCI Busmaster registers and start preparing for DMA
|
2023-06-03 21:02:35 +02:00 |
|
|
5b906f8dfd
|
kernel/ATA: Read the Busmaster base port and verify it
|
2023-06-03 21:02:35 +02:00 |
|
|
5cf1dea121
|
kernel: Handle device BARs properly
|
2023-06-03 21:02:35 +02:00 |
|
|
88c3a031fb
|
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-03 21:02:35 +02:00 |
|
|
2cdb36b904
|
kernel/ATA: Implement enough to send an IDENTIFY command and read the model number :)
|
2023-06-03 21:02:35 +02:00 |
|
|
cf7527cb03
|
kernel/ATA: Handle drive IRQs in compatibility mode
|
2023-06-03 21:02:34 +02:00 |
|
|
6fcf059da0
|
kernel/CPU: Allow passing arbitrary data to interrupt handlers
|
2023-06-03 21:02:34 +02:00 |
|
|
91c14ba093
|
kernel/ATA: Start reading/writing registers and detecting drives
|
2023-06-03 21:02:34 +02:00 |
|
|
4d1ed6c48b
|
kernel: Warn if no ATA controller is found
|
2023-06-03 21:02:34 +02:00 |
|
|
bb3d11e03b
|
kernel: Add a KMutex class and use that for ATA::Controller locking
|
2023-06-03 21:02:34 +02:00 |
|
|
74a772f780
|
kernel/x86_64: Add basic ATA controller and channel identification
|
2023-06-03 21:02:33 +02:00 |
|
|
aa24dce06a
|
kernel/PCI: Add more PCI field types
|
2023-06-03 21:02:33 +02:00 |
|
|
79d00dafff
|
kernel/x86_64: Add a way to register IRQ handlers from other kernel subsystems
|
2023-06-03 21:02:33 +02:00 |
|
|
3283991ec6
|
kernel: Keep the old Timer::ticks_ms() API.
continuous-integration/drone/push Build is passing
Removing this API broke the ATA branch.
|
2023-06-03 21:02:18 +02:00 |
|
|
e10cc2d954
|
libc: Add the internal TRY_OR_SET_ERRNO macro
continuous-integration/drone/push Build is passing
Similar mechanism to TRY(), but propagating C-like errors instead of Results on failure.
|
2023-06-03 20:20:01 +02:00 |
|
|
6b4d41529e
|
libc: Fix execvp() calling the shell after an ENOEXEC
continuous-integration/drone/push Build is passing
|
2023-06-03 17:00:24 +02:00 |
|
|
6ad7491300
|
sh: Skip comments (and shebangs!)
|
2023-06-03 16:59:18 +02:00 |
|
|
8bcec00a9d
|
kernel: Change the timer subsystem to use timespecs natively
continuous-integration/drone/push Build is passing
|
2023-06-03 13:15:10 +02:00 |
|
|
d2334a67dd
|
apps: Add mktemp
continuous-integration/drone/push Build is passing
|
2023-06-03 12:15:57 +02:00 |
|
|
fd62de6474
|
libluna: Do not sort empty arrays; avoids a segfault
continuous-integration/drone/push Build is passing
|
2023-06-03 11:55:46 +02:00 |
|
|
1090815c8d
|
kernel: Honor the sticky bit
|
2023-06-03 11:55:10 +02:00 |
|
|
89d7866abb
|
libos: Show the sticky bit on symbolic modes
|
2023-06-03 11:35:13 +02:00 |
|
|
0540879959
|
init+initrd: Create /tmp and mount it on boot
|
2023-06-03 11:34:53 +02:00 |
|
|
cc72a1655d
|
libc+libluna: Move libluna hooks out of libc and into a central place in libluna
continuous-integration/drone/push Build is passing
|
2023-06-03 11:18:52 +02:00 |
|
|
ff952cfe16
|
kernel+init: Let userspace control devfs mountpoints
continuous-integration/drone/push Build is passing
|
2023-06-02 21:45:31 +02:00 |
|
|
dcb8ab569a
|
libc: Add basic sys/param.h for programs that want it
continuous-integration/drone/push Build is passing
|
2023-05-31 22:15:22 +02:00 |
|
|
d467f6257d
|
libc: Define EXIT_* macros and strto(u)ll in stdlib.h
|
2023-05-31 22:15:05 +02:00 |
|
|
5c68d50070
|
libc: Add a very bare-bones locale.h
|
2023-05-31 22:12:50 +02:00 |
|
|
d40654a00c
|
libos+ls: Allow calling ArgumentParser::short_usage() directly
continuous-integration/drone/push Build is passing
|
2023-05-28 21:57:04 +02:00 |
|
|
51a5727c8d
|
libluna: Fix a crash in quicksort
continuous-integration/drone/push Build is passing
|
2023-05-28 21:51:50 +02:00 |
|
|
069f1c0f97
|
ls: Sort displayed entries
|
2023-05-28 21:51:50 +02:00 |
|
|
e864ef2d36
|
libos: Add a way to also list entry sizes, modes and mtimes
|
2023-05-28 21:51:50 +02:00 |
|
|
11a4f8cc90
|
kernel: Wake the parent process when a child exits because of a page fault
|
2023-05-28 21:50:13 +02:00 |
|
|
30e4ef970e
|
all: Minor version bump up to 0.2.0
continuous-integration/drone/push Build is passing
|
2023-05-27 19:32:59 +02:00 |
|
|
d572d56460
|
libc: Add dummy time fields to struct stat
continuous-integration/drone/push Build is passing
|
2023-05-27 12:22:06 +02:00 |
|
|
18115ca04a
|
libc: Add alloca.h
continuous-integration/drone/push Build is passing
|
2023-05-27 12:11:51 +02:00 |
|
|
8d90d146b2
|
libc: Fix including sys/time.h
continuous-integration/drone/push Build is passing
|
2023-05-27 12:06:00 +02:00 |
|
|
88d1da59e8
|
kernel+libc: Add access()
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
continuous-integration/drone/push Build is passing
|
2023-05-27 11:32:40 +02:00 |
|
|
a98e9e8009
|
kernel: Add /dev/full
continuous-integration/drone/push Build is passing
|
2023-05-27 10:42:45 +02:00 |
|