Bananymous
00b0dcd306
Kernel: Reorder ACPI initialization method calls
2024-12-19 02:35:09 +02:00
Bananymous
53c356a940
Kernel: Implement AML MatchOp
2024-12-18 19:26:19 +02:00
Bananymous
a7f3351c0e
TaskBar: Prevent possible division by zero
...
If battery reports its full capacity as zero, battery percentage
calculation did a division by zero crashing the TaskBar :)
2024-12-18 18:36:26 +02:00
Bananymous
3a6cdfff45
Kernel: Fix ACPI namespace initialization
...
Now _REG, _STA, _INI are called in the order my laptop expects them to
be called. This was kinda weird because what uACPI was doing did not
work.
\_SB_.PCI0.LPC0.EC0_.BAT0._STA required \_SB_.PCI0.LPC0.EC0_._REG to be
called
\_SB_.PCI0.LPC0.EC0_._REG required \_SB_.PCI0._STA to be called
Now I call all the _REG methods of a device after calling _STA/_INI and
after performing the whole _STA/_INI sequence i call rest of missing
_REG functions
2024-12-18 18:30:45 +02:00
Bananymous
c26e347e91
Kernel: Fix AML FieldUnit conversion and NameString construction
2024-12-18 18:29:04 +02:00
Bananymous
1b94957b07
Kernel: Copy AML NameString base when moving it :)
2024-12-18 18:28:16 +02:00
Bananymous
2e39668605
aoc2024: Implement day18 solution
2024-12-18 14:06:32 +02:00
Bananymous
0642c569b4
TaskBar: Show battery percentage if available
2024-12-18 14:06:32 +02:00
Bananymous
4e364bd2f6
Kernel: Add support for ACPI Control Method Batteries
...
The implementation is kinda weird but it exposes some battery
information to userspace!
2024-12-18 14:06:32 +02:00
Bananymous
b9fe564d78
Kernel: Check for GCC when ignoring Wmaybe-uninitialized
2024-12-18 01:45:36 +02:00
Bananymous
437fa45ca2
Kernel: Add helper to find ACPI devices with EISA id
2024-12-18 01:45:00 +02:00
Bananymous
85e215650c
Kernel: Implement AML ToStringOp
2024-12-18 01:44:33 +02:00
Bananymous
7eb186dad4
Kernel: Add to_sv() helper for AML String
2024-12-18 01:43:46 +02:00
Bananymous
2259614640
Kernel: Remove unused function from ACPI namespace
2024-12-18 01:43:04 +02:00
Bananymous
a584e1a4ec
aoc2024: Implement day17 solution
2024-12-17 23:30:37 +02:00
Bananymous
869f4011a1
Kernel: Replace the old AML interpreter by a new, better one
...
The old AML interpreter was trash and did not follow value/reference
semantics at all. It was also super slow, one of my machines taking over
7 seconds to parse ACPI namespace and call _INI and _STA.
2024-12-17 03:36:33 +02:00
Bananymous
463bb72d24
aoc2024: Implement day16 solution
2024-12-16 17:23:08 +02:00
Bananymous
8b312a47e6
BAN: Allow MUST and TRY to contain commas
2024-12-16 17:22:40 +02:00
Bananymous
46d4e32510
Kenrel: Validate inode open mode on read/write syscalls
2024-12-15 20:49:12 +02:00
Bananymous
1815a913c3
Kernel: Remove unnecessary hash map lookups
2024-12-15 20:47:40 +02:00
Bananymous
a7e06715ba
aoc2024: Implement day15 solution
2024-12-15 20:45:57 +02:00
Bananymous
a89fd95864
aoc2024: Implement day14 solution
2024-12-14 23:52:22 +02:00
Bananymous
9ba9469bb1
aoc2024: Optimize day12
...
There is actually no need for hash maps
2024-12-14 03:58:11 +02:00
Bananymous
4dbf173ed4
aoc2024: Implement day13 solution
2024-12-14 03:17:55 +02:00
Bananymous
8936cca9cf
aoc2024: Implement day12 solution
2024-12-12 17:03:31 +02:00
Bananymous
1c704680a8
aoc2024: Implement day11 solution
...
Finally we got a problem where trivial solution does not work
2024-12-11 09:05:52 +02:00
Bananymous
3e36834751
aoc2024: Implement day10 solution
2024-12-10 17:26:39 +02:00
Bananymous
581caff638
BuildSystem: Install base sysroot only once
...
Base sysroot is not only installed when creating the syroot directory
for the first time. To get it installed again, you have to either delete
the old sysroot diretory or run clean target
This makes it so its actually possible to edit files specified in the
base sysroot without random hacks.
2024-12-10 16:44:59 +02:00
Bananymous
8b612ba547
aoc2024: Implement day9 solution
...
part2 is kinda unoptimized, it should not use expanded input, but I did
not feel like rewriting my parsing code :)
2024-12-09 16:20:21 +02:00
Bananymous
90820f24a4
BAN: Make HashMap::{insert,emplace}{,_or_assign} return an iterator
...
This reduces the number of lookups done into the hash map :)
2024-12-09 03:37:13 +02:00
Bananymous
12a37500b0
Kernel: Fix triple-fault in vitual tty
...
This was happening when printing non-utf8 data while having virtual tty
as the debug console.
2024-12-09 03:35:51 +02:00
Bananymous
3ae6ffdb01
ports/tcc: Create usr/include/sys/ucontext.h
...
This file does not have to contain anything, tcc just requires that it
exists.
2024-12-08 20:42:04 +02:00
Bananymous
c4e76b391e
aoc2024: Implement day8 solution
...
I did not feel like optimizing this one, so its a O(n^2) looking over
every cell in the grid. Performs way faster than my optimized day6
solution tho :DD
2024-12-08 16:14:39 +02:00
Bananymous
cf9ba737f0
aoc2024: Implement day7 solution
2024-12-07 07:34:21 +02:00
Bananymous
2d0690ae2d
Kernel: Cleanup most of syscalls dealing with files
2024-12-07 05:33:04 +02:00
Bananymous
71a2d0971f
Kernel: Remove unnecessary reverse from VFS file search
2024-12-07 01:41:23 +02:00
Bananymous
3bf57e0748
Kernel: Add . and .. entries to /proc/<pid> directories
...
This allows to run `cd ..` in one of these directories
2024-12-07 01:37:40 +02:00
Bananymous
fbc0319cb6
aoc2024: Implement day6 solution
2024-12-07 01:08:08 +02:00
Bananymous
e8bc3c2d80
General: Add intructions to run doom to README
2024-12-06 20:25:09 +02:00
Bananymous
fe192e07fb
General: Update README feature list
2024-12-05 19:49:38 +02:00
Bananymous
51b6329c86
Kernel: Make backspace \b and delete 0x7F
...
This is what `vim` seems to expect and imo makes way more sense.
2024-12-05 17:34:37 +02:00
Bananymous
72d9e4c1e7
Kernel: Remove accidental debug prints from fcntl syscall
2024-12-05 17:34:32 +02:00
Bananymous
cb7d5c9d09
userspace: Implement `dirname` utility
2024-12-05 08:30:30 +02:00
Bananymous
097ab82529
userspace: Implement `basename` utility
2024-12-05 08:30:06 +02:00
Bananymous
ccb603d77f
aoc2024: Implement day5 solution
2024-12-05 08:16:34 +02:00
Bananymous
d7b02db832
aoc2024: Implement day4 solution
2024-12-05 08:16:12 +02:00
Bananymous
56cc5da9fb
userspace: Implement `ln` utility
2024-12-05 08:14:45 +02:00
Bananymous
1903079f96
LibC: Fix popen to return correct return value instead of -1
2024-12-05 06:47:10 +02:00
Bananymous
b6d0950ee9
LibC: Fix strftime implementation
...
This implementation now passes every musl-libc test :)
2024-12-05 06:46:31 +02:00
Bananymous
c1a32a4041
LibC: Implement mktime
2024-12-05 06:43:35 +02:00