Commit Graph

1724 Commits

Author SHA1 Message Date
662d061f89
kernel/ATA: Calculate block sizes for ATA devices as well 2023-05-18 22:55:29 +02:00
3315a79de0
kernel/ATA: Send a READ CAPACITY packet to an ATA drive on initialization 2023-05-18 22:55:28 +02:00
92bff6deb4
kernel/ATA: Read the PCI Busmaster registers and start preparing for DMA 2023-05-18 22:55:28 +02:00
d8c30c40a3
kernel/ATA: Read the Busmaster base port and verify it 2023-05-18 22:55:28 +02:00
e5e2a7bda6
kernel: Handle device BARs properly 2023-05-18 22:55:28 +02:00
52dd5501f3
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 22:55:28 +02:00
f50e153313
kernel/ATA: Implement enough to send an IDENTIFY command and read the model number :) 2023-05-18 22:55:28 +02:00
ffb70932f3
kernel/ATA: Handle drive IRQs in compatibility mode 2023-05-18 22:55:27 +02:00
25bcba413f
kernel/CPU: Allow passing arbitrary data to interrupt handlers 2023-05-18 22:55:27 +02:00
064ff307dc
kernel/ATA: Start reading/writing registers and detecting drives 2023-05-18 22:55:27 +02:00
454a586296
kernel: Warn if no ATA controller is found 2023-05-18 22:55:27 +02:00
67e7633ffd
kernel: Add a KMutex class and use that for ATA::Controller locking 2023-05-18 22:55:27 +02:00
c3c0fc71f1
kernel/x86_64: Add basic ATA controller and channel identification 2023-05-18 22:55:27 +02:00
3e88a5a689
kernel/PCI: Add more PCI field types 2023-05-18 22:55:27 +02:00
9f7dc7ae79
kernel/x86_64: Add a way to register IRQ handlers from other kernel subsystems 2023-05-18 22:55:19 +02:00
3db0c4fed2
apps: Add ps
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-18 21:59:38 +02:00
1506331872
kernel+libc: Add the pstat() system call
Luna-specific, but I like it.
2023-05-18 21:48:47 +02:00
0dbfbe6395
libc+apps: Avoid calling endpwent() and endgrent() after every call to get{pw,gr}{nam,uid,gid} 2023-05-18 21:47:46 +02:00
84bed3ceb3
kernel+libc: Remove mknod()
All checks were successful
continuous-integration/drone/push Build is passing
Now that we automatically create files in /dev, mknod() is not needed anymore.
2023-05-18 19:42:14 +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