|
cbb44a5a10
|
kernel/ATA: Route interrupts to the correct drive
continuous-integration/drone/pr Build is failing
|
2023-06-03 20:59:01 +02:00 |
|
|
7545cb055c
|
kernel: Start reading the MBR partition table from the ATAPI drive
|
2023-06-03 20:59:01 +02:00 |
|
|
159bdeffb9
|
ATA: Mark the CDROM as a block device
|
2023-06-03 20:59:01 +02:00 |
|
|
6ea67bfb61
|
kernel/ATA: Pass extra information to DeviceRegistry
This is needed since merging e7d482e from main.
|
2023-06-03 20:59:01 +02:00 |
|
|
b63f0f8009
|
kernel+init: Create a device node in /dev to access the CDROM from userspace!
Still using PIO, though.
|
2023-06-03 20:59:00 +02:00 |
|
|
0ab0aaf129
|
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 20:59:00 +02:00 |
|
|
804bc78dbb
|
kernel/x86_64: Implement writing to PCI fields
|
2023-06-03 20:59:00 +02:00 |
|
|
0254849a5c
|
kernel/PCI: Add bit enum for the Command field
|
2023-06-03 20:59:00 +02:00 |
|
|
544c6abccd
|
kernel: Actually register interrupt handlers properly
|
2023-06-03 20:58:59 +02:00 |
|
|
b8f173bced
|
kernel/ATA: Calculate block sizes for ATA devices as well
|
2023-06-03 20:58:59 +02:00 |
|
|
3733b0f26e
|
kernel/ATA: Send a READ CAPACITY packet to an ATA drive on initialization
|
2023-06-03 20:58:59 +02:00 |
|
|
d01f751e6d
|
kernel/ATA: Read the PCI Busmaster registers and start preparing for DMA
|
2023-06-03 20:58:59 +02:00 |
|
|
963b645ed1
|
kernel/ATA: Read the Busmaster base port and verify it
|
2023-06-03 20:58:58 +02:00 |
|
|
73890bc8f3
|
kernel: Handle device BARs properly
|
2023-06-03 20:58:58 +02:00 |
|
|
c4249f172d
|
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 20:58:58 +02:00 |
|
|
6fca8eeeaa
|
kernel/ATA: Implement enough to send an IDENTIFY command and read the model number :)
|
2023-06-03 20:58:58 +02:00 |
|
|
9466161213
|
kernel/ATA: Handle drive IRQs in compatibility mode
|
2023-06-03 20:58:57 +02:00 |
|
|
ffe970ef60
|
kernel/CPU: Allow passing arbitrary data to interrupt handlers
|
2023-06-03 20:58:57 +02:00 |
|
|
805dea84a6
|
kernel/ATA: Start reading/writing registers and detecting drives
|
2023-06-03 20:58:57 +02:00 |
|
|
25c9274a66
|
kernel: Warn if no ATA controller is found
|
2023-06-03 20:58:57 +02:00 |
|
|
dfd01d3e2a
|
kernel: Add a KMutex class and use that for ATA::Controller locking
|
2023-06-03 20:58:57 +02:00 |
|
|
c0ae3df706
|
kernel/x86_64: Add basic ATA controller and channel identification
|
2023-06-03 20:58:56 +02:00 |
|
|
476dcaf67d
|
kernel/PCI: Add more PCI field types
|
2023-06-03 20:58:56 +02:00 |
|
|
c3c088ba66
|
kernel/x86_64: Add a way to register IRQ handlers from other kernel subsystems
|
2023-06-03 20:58:53 +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 |
|
|
11a4f8cc90
|
kernel: Wake the parent process when a child exits because of a page fault
|
2023-05-28 21:50:13 +02:00 |
|
|
916a73ca95
|
kernel: Rework the timer subsystem to count in microseconds
continuous-integration/drone/push Build is passing
|
2023-05-07 21:51:36 +02:00 |
|
|
72dadc6706
|
kernel: Define a constant to check for default memory access
continuous-integration/drone/push Build is failing
|
2023-05-07 21:38:38 +02:00 |
|
|
b25e212880
|
kernel: Make a generic function for checking memory flags
continuous-integration/drone/push Build is failing
|
2023-05-07 21:37:01 +02:00 |
|
|
293a992133
|
kernel: Add a kernel_wait_for_event() function to avoid weird calls to kernel_wait in kthreads
continuous-integration/drone/push Build is passing
|
2023-05-04 23:43:00 +02:00 |
|
|
4a7f68b989
|
kernel: Add a convenience wake_up() function
|
2023-05-04 23:35:54 +02:00 |
|
|
3ed9e578c7
|
kernel/x86_64: Wake the IO thread up only when there is an IO event, instead of polling every 10 ms
|
2023-05-04 23:07:09 +02:00 |
|
|
abaf24d0da
|
kernel/CPU: Move some stuff to StringView
|
2023-05-03 17:35:46 +02:00 |
|
|
77dcfab5ef
|
kernel: Run the initialization process in a thread
continuous-integration/drone/push Build is passing
This way we can give it more stack and also reclaim it later!
|
2023-04-28 13:23:07 +02:00 |
|
|
5d56638851
|
kernel: Ignore all non-bootstrap processors
continuous-integration/drone/push Build is passing
|
2023-04-22 12:25:43 +02:00 |
|
|
df95126ccd
|
kernel: Remove unneeded debug logs & random cleanups
continuous-integration/drone/push Build is passing
|
2023-04-14 21:10:38 +02:00 |
|
apio
|
ed0727332b
|
x86_64/CPU: Assign a proper IRQ number to the keyboard interrupt
continuous-integration/drone/push Build is passing
Ah, the dangers of copy-and-paste...
|
2023-04-04 12:13:34 +00:00 |
|
|
d48d0efb07
|
kernel: Add names to threads
continuous-integration/drone/push Build is passing
|
2023-03-24 21:05:38 +01:00 |
|
|
f084b57f39
|
kernel+sh: Allow using Ctrl+D to send EOF
continuous-integration/drone/push Build is failing
|
2023-03-24 17:21:21 +01:00 |
|
|
d63c8abbfd
|
kernel/x86_64: Terminate page faults in a waitpid-friendly way
|
2023-03-24 00:52:17 +01:00 |
|
|
03adaa356c
|
kernel: Avoid printing keypresses twice
|
2023-03-23 21:33:50 +01:00 |
|
|
d33fccc66f
|
kernel: Implement reading from /dev/console
|
2023-03-19 19:15:19 +01:00 |
|
|
cd00e41f59
|
arch/x86_64: Decode keyboard scancodes
continuous-integration/drone/push Build is passing
|
2023-03-19 11:17:43 +01:00 |
|
|
54f2d35416
|
kernel: Add the fork() system call
|
2023-03-18 23:45:48 +01:00 |
|
|
8c72e9a49a
|
kernel: Add an exec() system call
continuous-integration/drone/push Build is passing
Doesn't support arguments or environment for now.
|
2023-03-16 22:44:58 +01:00 |
|
|
e30eec4213
|
kernel/x86_64: Avoid kernel panics when a page fault occurs in a userspace thread
|
2023-03-07 21:08:05 +01:00 |
|
|
ca85a69442
|
kernel: Save floating-point environment when switching in and out of userspace threads
|
2023-03-07 20:59:11 +01:00 |
|
|
de38eb6877
|
luna: Remove pure_cstyle_format
continuous-integration/drone/push Build is passing
It was causing a lot of code duplication. If someone doesn't have errors, just return {} from the callback and unwrap the Result.
|
2023-03-02 13:38:21 +01:00 |
|
|
519aa347dd
|
x86_64: Remove recursive mapping related things from MMU.h
continuous-integration/drone/push Build is passing
|
2023-02-27 13:07:52 +01:00 |
|
|
3ec54fafde
|
x86_64/MMU: Do not allocate level 1 page tables for huge page entries
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
This would leak memory, since we would never end up using them.
|
2023-02-27 12:55:15 +01:00 |
|