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
c26e347e91
Kernel: Fix AML FieldUnit conversion and NameString construction
2024-12-18 18:29:04 +02:00
1b94957b07
Kernel: Copy AML NameString base when moving it :)
2024-12-18 18:28:16 +02:00
2e39668605
aoc2024: Implement day18 solution
2024-12-18 14:06:32 +02:00
0642c569b4
TaskBar: Show battery percentage if available
2024-12-18 14:06:32 +02:00
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
b9fe564d78
Kernel: Check for GCC when ignoring Wmaybe-uninitialized
2024-12-18 01:45:36 +02:00
437fa45ca2
Kernel: Add helper to find ACPI devices with EISA id
2024-12-18 01:45:00 +02:00
85e215650c
Kernel: Implement AML ToStringOp
2024-12-18 01:44:33 +02:00
7eb186dad4
Kernel: Add to_sv() helper for AML String
2024-12-18 01:43:46 +02:00
2259614640
Kernel: Remove unused function from ACPI namespace
2024-12-18 01:43:04 +02:00
a584e1a4ec
aoc2024: Implement day17 solution
2024-12-17 23:30:37 +02:00
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
463bb72d24
aoc2024: Implement day16 solution
2024-12-16 17:23:08 +02:00
8b312a47e6
BAN: Allow MUST and TRY to contain commas
2024-12-16 17:22:40 +02:00
46d4e32510
Kenrel: Validate inode open mode on read/write syscalls
2024-12-15 20:49:12 +02:00
1815a913c3
Kernel: Remove unnecessary hash map lookups
2024-12-15 20:47:40 +02:00
a7e06715ba
aoc2024: Implement day15 solution
2024-12-15 20:45:57 +02:00
a89fd95864
aoc2024: Implement day14 solution
2024-12-14 23:52:22 +02:00
9ba9469bb1
aoc2024: Optimize day12
...
There is actually no need for hash maps
2024-12-14 03:58:11 +02:00
4dbf173ed4
aoc2024: Implement day13 solution
2024-12-14 03:17:55 +02:00
8936cca9cf
aoc2024: Implement day12 solution
2024-12-12 17:03:31 +02:00
1c704680a8
aoc2024: Implement day11 solution
...
Finally we got a problem where trivial solution does not work
2024-12-11 09:05:52 +02:00
3e36834751
aoc2024: Implement day10 solution
2024-12-10 17:26:39 +02:00
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
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
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
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
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
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
cf9ba737f0
aoc2024: Implement day7 solution
2024-12-07 07:34:21 +02:00
2d0690ae2d
Kernel: Cleanup most of syscalls dealing with files
2024-12-07 05:33:04 +02:00
71a2d0971f
Kernel: Remove unnecessary reverse from VFS file search
2024-12-07 01:41:23 +02:00
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
fbc0319cb6
aoc2024: Implement day6 solution
2024-12-07 01:08:08 +02:00
e8bc3c2d80
General: Add intructions to run doom to README
2024-12-06 20:25:09 +02:00
fe192e07fb
General: Update README feature list
2024-12-05 19:49:38 +02:00
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
72d9e4c1e7
Kernel: Remove accidental debug prints from fcntl syscall
2024-12-05 17:34:32 +02:00
cb7d5c9d09
userspace: Implement dirname utility
2024-12-05 08:30:30 +02:00
097ab82529
userspace: Implement basename utility
2024-12-05 08:30:06 +02:00
ccb603d77f
aoc2024: Implement day5 solution
2024-12-05 08:16:34 +02:00
d7b02db832
aoc2024: Implement day4 solution
2024-12-05 08:16:12 +02:00
56cc5da9fb
userspace: Implement ln utility
2024-12-05 08:14:45 +02:00
1903079f96
LibC: Fix popen to return correct return value instead of -1
2024-12-05 06:47:10 +02:00
b6d0950ee9
LibC: Fix strftime implementation
...
This implementation now passes every musl-libc test :)
2024-12-05 06:46:31 +02:00
c1a32a4041
LibC: Implement mktime
2024-12-05 06:43:35 +02:00
8fa443879c
ports: Add working tcc port!
...
You can actually now compile programs within banan-os!!
2024-12-04 21:23:09 +02:00
3a465cb94f
DynamicLoader: Don't write to pltgot if it does not exist
...
This makes `tcc` compile runnable executables
2024-12-04 21:11:43 +02:00
49133dce48
Kernel: Make pipe check data every 100ms
...
This prevents dead lock if read-end does not detect data before blocking
why write-end already notified.
2024-12-03 21:54:27 +02:00