Bananymous
8956835d95
Kernel: Make sys_.*at use VFS relative path finding
2024-09-14 21:15:58 +03:00
Bananymous
ea4ec2eafc
Kernel: Make OpenFileDescrptor store VFS::File instead of inode+path
2024-09-14 20:10:21 +03:00
Bananymous
3a352078de
Kernel: Make VirtualFileSystem::File non copyable
2024-09-14 20:09:28 +03:00
Bananymous
6060b39548
Kernel: Implement relative file searching in VFS
2024-09-14 19:44:20 +03:00
Bananymous
2b52ea4c6f
Kernel: Make Inode::can_access const
2024-09-14 19:39:41 +03:00
Bananymous
b41738b47b
Kernel: Fix ACPI name formatting functions
2024-09-14 19:39:13 +03:00
Bananymous
467ac6c365
Kernel/LibC: Implement SOCK_CLOEXEC and SOCK_NONBLOCK
...
This removes the need for fcntl after creating a socket :)
2024-09-11 21:59:11 +03:00
Bananymous
c77ad5fb34
Kernel: Implement copy-on-write memory for file backed `mmap`s
2024-09-11 19:33:50 +03:00
Bananymous
c65613901f
Kernel: Fix AML aliases and package elements
2024-09-10 16:18:42 +03:00
Bananymous
2bf65ef512
Kernel: Invoke ELF interpreter instead if it is specified
2024-08-28 17:06:32 +03:00
Bananymous
d20752c318
Kernel: Make OpenFileDescritorSet::open take rvalue
...
This gets rid of some implicit allocations from copy constructors
2024-08-28 16:36:10 +03:00
Bananymous
991ae4383a
Kernel/LibC: Implement fchmod
2024-08-25 15:07:42 +03:00
Bananymous
fb35f06cf5
Kernel: Add better support for bootloaders loading the kernel
...
Before I assumed that bootloaders loaded the kernel at physical address
0, but this patch kinda allows loading to different addresses. This
still doesn't fully work as kernel bootstrap paging relies on kernel
being loaded at 0
2024-08-22 14:48:21 +03:00
Bananymous
37cd4ed504
Kernel: Add support for CSI @, b, d to VirtualTerminal
2024-08-22 14:04:45 +03:00
Bananymous
23194d1f53
Kernel: Implement basic random device to /dev/random
2024-08-22 14:02:26 +03:00
Bananymous
5cd7b40165
Kernel: Make BananBootloader info struct header compatible with C
2024-08-18 20:51:10 +03:00
Bananymous
c7b134ba4b
Kernel: Fix NVMe controller namespace numbering
...
namespace numbers were incrementing globally instead of per controller.
This led to two single namespace controllers creating nvme0n1 and
nvme1n2
2024-08-18 20:51:10 +03:00
Bananymous
42e2c15e0c
Kernel: Add ps2=<scancode set> command line argument
...
This allows forcing specific scancode set on broken PS/2 emulations
2024-08-18 20:51:10 +03:00
Bananymous
40c6989374
Kernel: Implement AML ObjectTypeOp
2024-08-18 20:51:10 +03:00
Bananymous
0fa16cf982
Kernel: Fix and add some AML to_underlying functions
2024-08-18 20:44:51 +03:00
Bananymous
368f5e9799
Kernel: Add command lineoption `nousb` that will disable usb controller
2024-08-16 22:09:24 +03:00
Bananymous
490a28ee7a
Kernel/AML: General cleanup and compliance improvements
2024-08-15 23:14:13 +03:00
Bananymous
d729d7f570
Kernel: Implement AML storing to Buffer
2024-08-15 23:12:52 +03:00
Bananymous
6408bb2efa
Kernel: Add AML API for getting underlying value of nodes
2024-08-15 23:11:59 +03:00
Bananymous
d8dabab4fb
Kernel: Implement AML CopyObjectOp
2024-08-15 20:55:55 +03:00
Bananymous
4dc107f77a
Kernel: Fix AML Register/Reference accesses
2024-08-15 20:55:18 +03:00
Bananymous
eaf06d239c
Kernel: Cleanup and fix AML Method calls
2024-08-15 20:54:55 +03:00
Bananymous
d9b3a4bf77
Kernel: Add more conversions for AML Integer, Register, String
2024-08-15 20:51:04 +03:00
Bananymous
cf970d5914
Kernel: Add better conversion for AML Alias, Name and Reference
2024-08-15 20:48:35 +03:00
Bananymous
1cfe3dd4da
Kernel: Implement AML BreakOp and ContinueOp
2024-08-15 19:08:00 +03:00
Bananymous
51d1e47bfe
Kernel: Fix AML CreateFieldOp to take bit index instead of byte index
2024-08-15 19:05:58 +03:00
Bananymous
e0a447bfaf
Kernel: Add _GL to ACPI root namespace
2024-08-15 02:28:22 +03:00
Bananymous
3f5ee6f414
Kernel: Rewrite the AML conversion API
...
This doesn't currently make the interpreter any better, but it will make
further implementation easier to be spec (or hardware...) compliant
2024-08-15 02:25:45 +03:00
Bananymous
44d5c8c4b4
Kernel: Implement AML To{Buffer,Integer,String}Op
2024-08-14 20:28:32 +03:00
Bananymous
17b7e9e772
Kernel: Allow all named objects to fail cleanly if name exists
2024-08-14 20:28:00 +03:00
Bananymous
957df08932
Kernel: root command line option can be specified as an UUID
...
Format is the same as in linux
root=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
This makes it easier to boot when computer has multiple disks installed
2024-08-14 13:23:27 +03:00
Bananymous
37d5b60f5c
Kernel: Implement AML {Event,Reset,Signal,Wait}Op
2024-08-14 11:59:34 +03:00
Bananymous
feadea0e91
Kernel: Fix AML unaligned integer reads and buffer shifts over 32
2024-08-13 23:44:17 +03:00
Bananymous
f71a29b6c4
Kernel: Implement AliasOp for AML interpreter
2024-08-13 22:42:37 +03:00
Bananymous
ec4cfdee23
Kernel: Fix and cleanup a lot of AML code
...
Node now have APIs to convert them to buffer, integer and string. This
allows possibility to handle methods that need explicitly use one of the
overloads instead of integer.
This patch also adds handling of DebugOp. This is used quite heavily in
uACPIs test suite.
2024-08-13 22:42:37 +03:00
Bananymous
dd79db6383
Kernel: AML implement CreateFieldOp
2024-08-13 18:52:48 +03:00
Bananymous
723e458bd7
Kernel/Terminal: Update terminal color themes and fix TTY bright/dark
2024-08-12 21:15:55 +03:00
Bananymous
a5a097fa4a
Kernel/LibC: Add initial pseudo terminal support
...
This patch implements posix_openpt() and ptsname()
grantpt() and unlockpt() are left in LibC as stubs, as posix_openpt
currently does all of the needed work.
2024-08-11 01:02:59 +03:00
Bananymous
ad645f31d0
Kernel/LibC: Add setsid()
2024-08-11 00:58:12 +03:00
Bananymous
bac3219a01
Kernel: Fix `Pipe::can_read_impl()`
...
The logic was inversed, which made all select calls report incorrectly
for pipes. This made terminal emulator just freeze.
2024-08-10 18:18:25 +03:00
Bananymous
1c67b5e812
Kernel: Fix wait syscall to report status of exited children
2024-08-09 16:52:35 +03:00
Bananymous
b6c964c444
Kernel: Rewrite pipes
...
Pipes have now a fixed size buffer and pipe clone and close is working
again.
2024-08-09 16:50:19 +03:00
Bananymous
44f0ec601f
Kernel: Expose /proc/meminfo and fix /proc/<pid>/meminfo
...
Thread was unconditionally calling <stack>->size() without validating
that the stack actually exists
2024-08-09 15:58:56 +03:00
Bananymous
a33b63d066
Kernel/LibC: Implement alarm() and setitimer()
...
This makes vim able to start!
2024-08-01 21:09:56 +03:00
Bananymous
6de350ce9d
Kernel/LibC: Cleanup, fix and implement a lot of signal code
...
This patch implements sigsets and some of their usages
2024-08-01 17:01:18 +03:00