Commit Graph

1723 Commits

Author SHA1 Message Date
295d94000e
kernel/x86_64: Implement writing to PCI fields 2023-05-18 16:23:25 +02:00
39305ace07
kernel/PCI: Add bit enum for the Command field 2023-05-18 16:23:25 +02:00
deaff4cd14
kernel: Actually register interrupt handlers properly 2023-05-18 16:23:25 +02:00
2e8d2d4703
kernel/ATA: Calculate block sizes for ATA devices as well 2023-05-18 16:23:24 +02:00
538e34002c
kernel/ATA: Send a READ CAPACITY packet to an ATA drive on initialization 2023-05-18 16:23:24 +02:00
2e4ab68f4c
kernel/ATA: Read the PCI Busmaster registers and start preparing for DMA 2023-05-18 16:23:24 +02:00
845f4ede9a
kernel/ATA: Read the Busmaster base port and verify it 2023-05-18 16:23:24 +02:00
d6efcba17d
kernel: Handle device BARs properly 2023-05-18 16:23:24 +02:00
734ae6b0bc
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-18 16:23:23 +02:00
3818776f12
kernel/ATA: Implement enough to send an IDENTIFY command and read the model number :) 2023-05-18 16:23:23 +02:00
8aa4b22669
kernel/ATA: Handle drive IRQs in compatibility mode 2023-05-18 16:23:23 +02:00
8b915516bf
kernel/CPU: Allow passing arbitrary data to interrupt handlers 2023-05-18 16:23:23 +02:00
446a7e3d8f
kernel/ATA: Start reading/writing registers and detecting drives 2023-05-18 16:23:23 +02:00
ed89b34883
kernel: Warn if no ATA controller is found 2023-05-18 16:23:23 +02:00
027535bb8f
kernel: Add a KMutex class and use that for ATA::Controller locking 2023-05-18 16:23:22 +02:00
2f56f44c3f
kernel/x86_64: Add basic ATA controller and channel identification 2023-05-18 16:23:22 +02:00
9a0a80b2c5
kernel/PCI: Add more PCI field types 2023-05-18 16:23:22 +02:00
516ba1138d
kernel/x86_64: Add a way to register IRQ handlers from other kernel subsystems 2023-05-18 16:23:22 +02:00
d7c563aebd
kernel: Add reference counting for mounts
All checks were successful
continuous-integration/drone/push Build is passing
This will make sure we cannot unmount a file system while there is another one mounted inside it.
2023-05-18 16:22:31 +02:00
3a73d49aa1
kernel: Remove a mount from the mountpoint list after unmounting it 2023-05-18 16:18:09 +02:00
8f6bd29da3
kernel: Make file system reference counting work for current directories
All checks were successful
continuous-integration/drone/push Build is passing
Also, make pipes usable again.
2023-05-17 20:37:01 +02:00
1f4c4928cc
kernel+libc+apps: Add mount and umount syscalls, libc wrappers, and utilities
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-17 20:30:15 +02:00
29174ca228
kernel/VFS: Add a way to unmount file systems 2023-05-17 19:52:26 +02:00
e7d482e78a
kernel+init: Add a VFS mount system and auto-populate the devfs 2023-05-17 19:40:37 +02:00
4d106b6b8c
libos: Add error handling to vector argument usage
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-13 13:22:49 +02:00
65d3195caa
libos: Allow ArgumentParser users to specify they want leftover arguments
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-13 13:22:10 +02:00
dc7e503342
tests: Test character formatting
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-13 12:50:10 +02:00
e481ce45d0
tests: Add way more tests to TestFormat now that formatting is fixed 2023-05-13 12:45:14 +02:00
e098a3269a
libluna: Treat a negative precision as if precision was omitted 2023-05-13 12:40:03 +02:00
38541e22e9
libluna: Fix flag shenanigans in cstyle_format
Finally, zero-pad and left-align work properly!
2023-05-13 12:39:31 +02:00
5911b052dc
libluna: Add more options to to_dynamic_unit()
All checks were successful
continuous-integration/drone/push Build is passing
Also, make the output look more like how it is on linux.
2023-05-13 12:01:09 +02:00
a5ad8e16de
ls: Add the --human-readable flag 2023-05-13 11:15:28 +02:00
300d68088b
libos: Add FileSystem::stat()
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-12 23:47:20 +02:00
64d0f30bd9
kernel: Disallow write-related flags when opening a directory, not only when the directory flag is set
All checks were successful
continuous-integration/drone/push Build is passing
Also return EISDIR instead of EINVAL as that is what Dr. POSIX mandates.
2023-05-11 21:29:49 +02:00
1035b91a3d
su: Do not change directory/set variables by default, instead add a --login option
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-11 20:11:09 +02:00
a935039e78
sh: Prioritize /etc/passwd over the USER environment variable 2023-05-11 20:10:10 +02:00
18130847c1
libc: Fix some environment-related bugs 2023-05-11 20:09:46 +02:00
411c6c40cd
kernel: Add the fchmodat() and fchownat() system calls
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-11 19:49:03 +02:00
4a3a92e9d4
libc: Move chmod from unistd.h to sys/stat.h
All checks were successful
continuous-integration/drone/push Build is passing
Apparently that's where it's supposed to be.
2023-05-11 19:40:34 +02:00
4a764bc315
tests+libluna: Start testing Format.cpp
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-11 16:56:28 +02:00
e203772488
README: Update broken link to ELF loader
All checks were successful
continuous-integration/drone/push Build is passing
The ELF loader was moved into the thread/ subdirectory in 0c1d33f2ec.
2023-05-10 22:58:37 +02:00
efc6d03f23
kernel+libc: Add support for unnamed pipes
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-10 22:48:31 +02:00
1a2fce5316
kernel+libc: Add the O_TMPFILE open flag and the tmpfile() function
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-09 22:04:34 +02:00
4753e80583
kernel: Make DeviceRegistry store the created devices instead of creating them when requested
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-09 18:31:27 +02:00
35b1b36599
tools+tests: Add a system to run all tests at once automatically
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-07 23:04:24 +02:00
916a73ca95
kernel: Rework the timer subsystem to count in microseconds
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-07 21:51:36 +02:00
9bab4c62a1
kernel: Compilation fixes
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-07 21:42:03 +02:00
72dadc6706
kernel: Define a constant to check for default memory access
Some checks failed
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
Some checks failed
continuous-integration/drone/push Build is failing
2023-05-07 21:37:01 +02:00
88180b34bd
initrd: Show default credentials in the motd
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-06 22:12:06 +02:00