Commit Graph

2221 Commits

Author SHA1 Message Date
5cd7b40165 Kernel: Make BananBootloader info struct header compatible with C 2024-08-18 20:51:10 +03:00
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
ff62c262fe Kernel: Fix PS/2 scancode set 2 keycodes for the bottom row keys 2024-08-18 20:51:10 +03:00
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
40c6989374 Kernel: Implement AML ObjectTypeOp 2024-08-18 20:51:10 +03:00
71dc373610 Kernel: "Fix" AML _OSI string to return true for windows strings
This is the way its supposed to be done as other code paths are
untested...
2024-08-18 20:51:10 +03:00
0fa16cf982 Kernel: Fix and add some AML to_underlying functions 2024-08-18 20:44:51 +03:00
8902032b42 BuildSystem: Cleanup kernel cmake file 2024-08-18 20:44:12 +03:00
368f5e9799 Kernel: Add command lineoption nousb that will disable usb controller 2024-08-16 22:09:24 +03:00
46b34817d2 snake: Remove random goto statements when regenerating apple's position 2024-08-16 17:36:37 +03:00
b1fe24bb57 Kernel: Hack AML integers to work better
Something is trying to store into a constant integers. Just by copying
not returning any integers as constants fixes it xD
2024-08-16 13:04:52 +03:00
490a28ee7a Kernel/AML: General cleanup and compliance improvements 2024-08-15 23:14:13 +03:00
75884ca6b8 Kernel/AML: Allow calling method through named objects 2024-08-15 23:13:32 +03:00
d729d7f570 Kernel: Implement AML storing to Buffer 2024-08-15 23:12:52 +03:00
6408bb2efa Kernel: Add AML API for getting underlying value of nodes 2024-08-15 23:11:59 +03:00
d8dabab4fb Kernel: Implement AML CopyObjectOp 2024-08-15 20:55:55 +03:00
4dc107f77a Kernel: Fix AML Register/Reference accesses 2024-08-15 20:55:18 +03:00
eaf06d239c Kernel: Cleanup and fix AML Method calls 2024-08-15 20:54:55 +03:00
d9b3a4bf77 Kernel: Add more conversions for AML Integer, Register, String 2024-08-15 20:51:04 +03:00
cf970d5914 Kernel: Add better conversion for AML Alias, Name and Reference 2024-08-15 20:48:35 +03:00
1cfe3dd4da Kernel: Implement AML BreakOp and ContinueOp 2024-08-15 19:08:00 +03:00
51d1e47bfe Kernel: Fix AML CreateFieldOp to take bit index instead of byte index 2024-08-15 19:05:58 +03:00
e0a447bfaf Kernel: Add _GL to ACPI root namespace 2024-08-15 02:28:22 +03:00
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
44d5c8c4b4 Kernel: Implement AML To{Buffer,Integer,String}Op 2024-08-14 20:28:32 +03:00
17b7e9e772 Kernel: Allow all named objects to fail cleanly if name exists 2024-08-14 20:28:00 +03:00
8a2a444f33 BAN: Make formatting functions inline 2024-08-14 20:26:55 +03:00
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
fd018b32d0 BAN: Implement GUID::to_string 2024-08-14 13:23:27 +03:00
e000c7d818 BAN: Use static_cast instead of C-style cast in RefPtr deletion 2024-08-14 13:23:27 +03:00
bb40069773 Kernel: Add nice debug prints for device addition/removal 2024-08-14 13:23:27 +03:00
37d5b60f5c Kernel: Implement AML {Event,Reset,Signal,Wait}Op 2024-08-14 11:59:34 +03:00
37e6cd6500 General: Update README contribution information 2024-08-14 10:34:41 +03:00
feadea0e91 Kernel: Fix AML unaligned integer reads and buffer shifts over 32 2024-08-13 23:44:17 +03:00
f71a29b6c4 Kernel: Implement AliasOp for AML interpreter 2024-08-13 22:42:37 +03:00
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
dd79db6383 Kernel: AML implement CreateFieldOp 2024-08-13 18:52:48 +03:00
723e458bd7 Kernel/Terminal: Update terminal color themes and fix TTY bright/dark 2024-08-12 21:15:55 +03:00
25a47f0df3 LibC: Implement ungetc()
I didn't really test this, but I think this implementation does what it
needs to :)
2024-08-12 19:14:55 +03:00
39be57424c Kernel: Fix SYS_SEEK with SEEK_END
I was subtracting the offset from file end when I should have added it.
2024-08-12 19:13:27 +03:00
45ffa1b79c General: Update README feature list
README did not contain anything about GUI or USB which I have had for
maybe a month now :D
2024-08-12 15:14:04 +03:00
f37e1c2229 Kernel: Map .rodata as read only instead of read-write 2024-08-12 14:28:52 +03:00
1bd7b86e60 Terminal: Implement cursor blinking
This looks much nicer than the old static cursor
2024-08-12 14:24:17 +03:00
18e7cf2069 Terminal: Add cursor rendering
Cursor is now shown at the current position. It can be hidden (or shown)
with the ansi `\033[?25h` or `\033[?25l`
2024-08-12 00:50:06 +03:00
60b4d90608 LibGUI: Add Window::get_pixel()
This is fine as its not reading from video memory
2024-08-12 00:49:35 +03:00
5197000124 LibC: Fix qsort for types bigger than 64 bytes 2024-08-11 18:00:05 +03:00
71d4060993 Ports: Update port building instructions 2024-08-11 17:58:10 +03:00
34c6ad7277 Base: Add sample png image and make it the default GUI background 2024-08-11 01:16:23 +03:00
9e79ef2a91 Terminal: Use pseudo terminal instead of pipes
Terminal can now send signals from keyboard (ctrl+c) to programs running
in the terminal!
2024-08-11 01:02:59 +03:00
4d1b32f770 Kernel: open does not need TTY_INIT to set the controlling terminal 2024-08-11 01:02:59 +03:00