|
354ffd033c
|
VFS: Add a size() method to inodes to implement seeking to the end of a file
continuous-integration/drone/push Build is passing
|
2023-03-12 14:49:21 +01:00 |
|
|
b54a7f3a80
|
kernel+libc: Add O_* flags and parse them in open()
continuous-integration/drone/push Build is passing
O_RDONLY, O_WRONLY, O_RDWR, O_TRUNC, O_CREAT and O_EXCL are fully implemented.
O_APPEND is partially implemented.
Other flags are not here yet.
|
2023-03-12 14:43:58 +01:00 |
|
|
c6aa2fe4ad
|
VFS: Populate the initial filesystem based on the initial ramdisk
|
2023-03-11 10:23:46 +01:00 |
|
|
ac304073b4
|
tmpfs: Disallow creating files/folders with already used names
|
2023-03-11 10:14:42 +01:00 |
|
|
d95ef110c9
|
vfs: Add support for creating directories given a full path
|
2023-03-11 01:13:44 +01:00 |
|
|
e5a41d2d52
|
tmpfs: Implement FileInode read() and write()
|
2023-03-11 00:52:39 +01:00 |
|
|
6fbf97292a
|
VFS: Implement resolve_path() using PathParser
continuous-integration/drone/push Build is passing
Already works better than old luna (handles .. correctly)
|
2023-03-10 22:18:48 +01:00 |
|
|
ff770b7328
|
VFS+TmpFS: Add support for creating subdirectories (mkdir)
continuous-integration/drone/push Build is passing
|
2023-03-10 21:09:08 +01:00 |
|
|
abdd460525
|
tmpfs: use adopt_shared_if_nonnull instead of plain adopt_shared in FileSystem::create()
|
2023-03-07 22:16:52 +01:00 |
|
|
65dd3cd7fb
|
TmpFS: Use StaticString<128> instead of char[128]
|
2023-02-27 15:22:39 +01:00 |
|
|
8ba571a30e
|
TmpFS: Use a fixed char array in DirInode's Entry instead of OwnedStringView
|
2023-02-27 15:22:39 +01:00 |
|
|
01b6294f76
|
kernel: Implement creating file inodes in tmpfs directories
|
2023-02-27 15:22:38 +01:00 |
|
|
a65f4311aa
|
tmpfs: make the root inode a DirInode instead of a FileInode
|
2023-02-27 15:22:38 +01:00 |
|
|
dd2f31d8d0
|
tmpfs: add DirInode skeleton
|
2023-02-27 15:22:38 +01:00 |
|
|
5fb292bc0e
|
tmpfs: rename tmpfs::Inode to tmpfs::FileInode
|
2023-02-27 15:22:37 +01:00 |
|
|
d3bda46325
|
tmpfs: Make m_next_inode_number atomic
|
2023-02-27 15:22:37 +01:00 |
|
|
ba9d725481
|
kernel: Rename FileSystem::root() to root_inode() and add a shortcut for the root filesystem's root inode
|
2023-02-27 15:22:37 +01:00 |
|
|
3a2b8bcfd7
|
kernel: Make a factory function for filesystem creation of inodes, and add inode numbers
Now every filesystem must provide fs->create_file_inode() for new inodes :)
|
2023-02-27 15:22:37 +01:00 |
|
|
a49555addc
|
kernel: Add a subclass of VFS::Inode to make it easier to implement file inodes
|
2023-02-27 15:22:36 +01:00 |
|
|
c422d11682
|
kernel: Start working on a VFS implementation using OOP and SharedPtr
|
2023-02-27 15:22:24 +01:00 |
|
|
cf758fdfdc
|
Initial commit :)
|
2022-11-13 10:09:09 +01:00 |
|
|
42efc21110
|
Start implementing read and write support in tmpfs
write seems to work fine, read just hangs there, waiting.
|
2022-11-12 20:11:26 +01:00 |
|
|
046065c533
|
Fix tmpfs
|
2022-11-12 19:05:47 +01:00 |
|
|
3451d50a37
|
Try building a tmpfs, but weird stuff happens
|
2022-11-12 18:13:41 +01:00 |
|
|
511bb7a8c1
|
Kernel: Make readdir() available in created InitRD directories
|
2022-11-12 18:11:58 +01:00 |
|
|
58fb422161
|
Kernel: Return a Result in MemoryManager and strdup_from_user
|
2022-11-12 11:56:40 +01:00 |
|
|
559d074ce4
|
Kernel: Make a more convenient wrapper for basename() and dirname()
|
2022-11-12 10:39:25 +01:00 |
|
|
078f3f5862
|
Kernel: Add a remainder to refactor the initial ramdisk code
|
2022-11-09 16:07:49 +01:00 |
|
|
d76af10e70
|
Kernel: Move initrd into the fs/ folder
It makes more sense to put it in there.
|
2022-11-09 16:03:16 +01:00 |
|
|
98da473fdc
|
Run clang-format
|
2022-11-08 19:07:43 +01:00 |
|
|
44815b08c7
|
Kernel: Use copy_from_user() and copy_to_user() in read/write
This is huge. Finally, we can do proper reads/writes with invalid addresses, or big buffers.
|
2022-11-06 15:19:23 +01:00 |
|
|
b2fb740d99
|
Kernel: Refuse to mkdir any directory named . or ..
|
2022-11-05 12:09:01 +01:00 |
|
|
2c08de044f
|
Kernel, libc: Add support for querying the framebuffer's scanline via ioctl()
|
2022-11-03 20:20:22 +01:00 |
|
|
71633e264f
|
Kernel: Make the serial port writable for everyone :)
|
2022-11-03 17:13:32 +01:00 |
|
|
249c79f8a3
|
Kernel, libc: Add ioctl()
Right now, only the framebuffer supports this system call, to query its dimensions.
|
2022-11-02 20:59:42 +01:00 |
|
|
8f2308c80d
|
Kernel: Implement mmap-able device files (regular files are not mmap-able yet)
|
2022-11-02 20:24:07 +01:00 |
|
|
42a805fd60
|
Kernel: Move the translated keyboard to /dev/console and make /dev/kbd provide raw scancodes
|
2022-11-02 19:51:54 +01:00 |
|
|
af0f4d2037
|
Kernel: Remove /dev/uptime
This information can now be fetched with clock_gettime.
|
2022-10-30 10:16:53 +01:00 |
|
|
e640c6e245
|
Kernel, libc, userspace: Add file timestamps (atime,ctime,mtime)
|
2022-10-30 09:57:17 +01:00 |
|
|
0115cce750
|
Kernel/VFS: Add file owners and file modes, and check those in system calls
|
2022-10-28 17:10:28 +02:00 |
|
|
41f7232b77
|
Devices: Return EOF after first read for some devices
Still not optimal.
|
2022-10-26 20:54:47 +02:00 |
|
|
ec2c314234
|
Kernel: Add /dev/null
|
2022-10-25 17:59:55 +02:00 |
|
|
14367f07b5
|
Kernel: Add support for getdents() to DeviceFS
|
2022-10-23 14:05:55 +02:00 |
|
|
78d72c2f0c
|
Kernel, libc: Add a getdents() system call
This is meant to be a low-level interface to implement dirent.h on top of.
|
2022-10-23 14:03:46 +02:00 |
|
|
0faabe02e5
|
Kernel, libc: Implement O_CLOEXEC
|
2022-10-22 10:28:02 +02:00 |
|
|
b2f5a0502f
|
Kernel, libc: Implement O_NONBLOCK
|
2022-10-21 21:51:03 +02:00 |
|
|
da61e3648f
|
Kernel: Implement blocking reads
This is a huge step forward!! bc actually runs now, without echo or backspace, but it runs!!
|
2022-10-21 21:26:19 +02:00 |
|
|
bef9158450
|
Kernel, libc: Add isatty() and F_ISTTY to fcntl()
|
2022-10-21 18:34:31 +02:00 |
|
|
a06e1c5a21
|
VFS: Remove warning when file is not found
That is a common ocurrence.
|
2022-10-20 19:11:50 +02:00 |
|
|
47bdfecedb
|
Devices: Add /dev/uptime
This file contains how many milliseconds have passed since boot at the time of reading it :)
|
2022-10-19 21:11:12 +02:00 |
|