Commit Graph
67978 Commits
Author SHA1 Message Date
UndefineandRatcheT2497 901266253a LibACPI: Add support for buffers
Co-authored-by: RatcheT2497 <[email protected]>
2026-11-01 15:08:28 +01:00
UndefineandRatcheT2497 7150a99e75 LibACPI: Add support for strings
Co-authored-by: RatcheT2497 <[email protected]>
2026-11-01 15:08:28 +01:00
UndefineandRatcheT2497 afbe9b228c LibACPI: Add support for reading DeviceOp
Co-authored-by: RatcheT2497 <[email protected]>
2026-11-01 15:08:28 +01:00
UndefineandRatcheT2497 70f7715bca LibACPI: Add support for reading methods
For now just create a node, but don't actually do anything with the
body as it's not needed for now.

Co-authored-by: RatcheT2497 <[email protected]>
2026-11-01 15:08:28 +01:00
UndefineandRatcheT2497 c9e5fa6ada LibACPI: Support reading OpRegionOp and FieldOp
Those two always come in pairs so lets do it in one commit. This
doesn't yet support evaluating fields as it's not yet needed and would
require setting up callbacks from the interpreter.

Co-authored-by: RatcheT2497 <[email protected]>
2026-11-01 15:08:28 +01:00
Undefine cc1e5ef63b LibACPI: Move object formatting to a dedicated formatter 2026-11-01 15:08:28 +01:00
Undefine 3b0289a11c LibACPI: Make OpcodeFrame start point to right after the opcode
This makes some math later easier and less error prone since some
opcodes have two bytes.
2026-11-01 15:08:28 +01:00
Undefine dbfa58bcbe LibACPI: Remove the Node constructor
It was mistakenly added in the previous PR even though it never has any
other argument than nullptr.
2026-11-01 15:08:28 +01:00
UndefineandRatcheT2497 c4de12f577 LibACPI: Add missing opcodes to named_object_filter
The comment noted these should be added, but I accidentally left them
out when refactoring.

Co-authored-by: RatcheT2497 <[email protected]>
2026-11-01 15:08:28 +01:00
Undefine beb73684de LibACPI: Fix a crash on filtered opcode at root
When an opcode would get filtered at root it would try to get the
opcode value to print the error message, which is absent on the root
frame.
2026-11-01 15:08:28 +01:00
Undefine e8b902135b LibACPI: Add a finish_operand variant without an actual operand
Sometimes reading an operand doesn't produce an operand, but a node or
something else.
2026-11-01 15:08:28 +01:00
Undefine e508d85725 LibACPI: Add missing AddressSpace enum values 2026-11-01 15:08:28 +01:00
Undefine 67f36a38ff LibACPI: Add missing GenericAddressStructure spec links 2026-11-01 15:08:28 +01:00
Undefine ea03a27ac6 LibACPI: Allow repeating an operand over a byte count
Some opcodes encode how many bytes a list of something takes, this
will be needed very soon.
2026-11-01 15:08:28 +01:00
Eduardo Casadei b2b6f02449 LibShell: Display the source file path on errors
Includes the source file path with line and collumn numbers in the error
messages and also corrects the shown line number to start at 1 instead
of 0.
2026-10-31 22:27:38 +01:00
Sönke Holz 54c20eb309 Meta: Disable "portability-no-assembler" clang-tidy check
"hicpp-no-assembler" was renamed to "portability-no-assembler" in
clang-tidy 23, so our "portability-*" wildcard enabled this check.
2026-10-31 12:54:29 -04:00
Eduardo Casadei 393d8e150b Tests/Shell: Properly test Shell's cd
Fixes the issue of the test using braced parameter expansion, which is
not part of Shell's syntax, and correctaly sets up the test directory,
ensuring its path is fully resolved to avoid issues on macOS.
2026-10-31 10:45:18 +01:00
Eduardo Casadei 5e844e387d Tests/Shell: Reenable the valid.sh test 2026-10-31 10:21:34 +01:00
Eduardo Casadei d4f0fa7002 Tests/Shell: Reenable the backgrounding.sh test
Reeanables the test and makes it run inside of a temporary directory
instead of the current working directory.
2026-10-31 10:21:34 +01:00
Lucas Chollet f84f37465e Kernel: Use u64 for block counts in the FileSystem API
We already use 8-bytes types for the statvfs syscall, so this change
allows filesystems that support massive sizes to be able to report them
to userspace without being truncated.
2026-10-30 16:19:42 +01:00
Lucas Chollet 3e9763f13e init: Limit the size of /tmp to 90% of the available RAM 2026-10-30 16:19:42 +01:00
Lucas Chollet d87eb4ab2a Kernel/FileSystem: Use 64-bits types in FileSystemSpecificOption
The rest of the plumbing already used 64-bits types, making
FileSystemSpecificOption silently truncate the arguments.

With this patch, we can now create RAMFS filesystems with a size above
4 GiB.
2026-10-30 16:19:42 +01:00
Lucas Chollet ea9747d3a5 Kernel/FileSystem: Remove unused declaration and stale comment 2026-10-30 16:19:42 +01:00
Lucas Chollet b17001d847 Kernel/FileSystem: Share more code in option parsing functions 2026-10-30 16:19:42 +01:00
Lucas Chollet d3ed66350c Kernel/RAMFS: Add an option to control the maximum filesystem size 2026-10-30 16:19:42 +01:00
Lucas Chollet 5176348184 Kernel/RAMFS: Report filesystem usage
For the moment, this only considers the size of files' content without
counting the inodes' cost. While being imprecise, this should already
give a pretty good estimate of the RAM usage caused by these
filesystems.

The value for LOGICAL_BLOCK_SIZE is quite arbitrary as the filesystem
doesn't have blocks, so it's only used as a unit (counting in KiB
instead of bytes).

For the moment, the default maximum size is set to zero (disabled), so
no limits are enforced, it just reports the number of used blocks.
2026-10-30 16:19:42 +01:00
Lucas Chollet ccdd6504f9 Kernel: Don't traverse the whole tree in find_regions_intersecting
When using the default iterator, the region tree is traversed in
ascending order. This mean that as soon as we find a region that is
above the tested range, we can safely exit the loop.

This was a major bottleneck in test-js, with this patch the runtime goes
from 6.761s to 4.680 (using a best-of-five).
2026-10-29 15:03:29 +01:00
Undefine b5d4da532a Tests: Add a simple test for the LibACPI AML Interpreter
The test .aml file was built with iASL 20260930, using
`iasl Tests/LibACPI/test-inputs/scope_and_name.dsl`
2026-10-28 18:13:04 +01:00
UndefineandRatcheT2497 bc4f17f9f1 Lagom: Build the acpi utility
It's very useful for testing LibACPI without having to boot Serenity
every time.

Co-authored-by: RatcheT2497 <[email protected]>
2026-10-28 18:13:04 +01:00
UndefineandRatcheT2497 d5710bef80 Utilities: Add a simple utility to test out LibACPI
This is a simple program meant to load a AML table and dump out the
root namespace afterwards.

Co-authored-by: RatcheT2497 <[email protected]>
2026-10-28 18:13:04 +01:00
UndefineandRatcheT2497 95ab8a7e1a LibACPI: Add a skeleton of a AML interpreter
This a simple skeleton for a non recursive AML parser + interpreter.
For now it support very little stuff, only a couple of opcodes but that
is enough to load a very very simple AML table.

Co-authored-by: RatcheT2497 <[email protected]>
2026-10-28 18:13:04 +01:00
Sönke Holz 7af126f893 LibGL: Support GL_PROXY_TEXTURE_2D
Proxy textures don't have any image data. They can be used to determine
if a given texture configuration is supported by the implementation.

To support proxy textures in gl_tex_image_2d, we need to tweak the error
handling, since proxy textures don't report an error for unsupported
dimensions:
GL spec 1.5, 3.8.11 Texture State and Proxy State:
"When TexImage3D is executed with target specified as PROXY_TEXTURE_3D,
 the three-dimensional proxy state values of the specified
 level-of-detail are recomputed and updated. If the image array would
 not be supported by TexImage3D called with target set to TEXTURE_3D,
 no error is generated, but the proxy width, height, depth,
 border width, and component resolutions are set to zero."
(The same also applies to TexImage2D.)
2026-10-28 15:15:37 +01:00
Sönke Holz e225bb4255 LibGL: Make null textures have a size of 0x0
GL spec 1.5, 3.8.11 Texture State and Proxy State:
"Each initial texture array is null (zero width, height, and depth,
 zero border width, internal format 1, with the compressed flag
 set to FALSE, a zero compressed size, and zero-sized components)."

GL spec 1.5, 3.8.1 Texture Image Specification:
"An image with zero width, height, or depth indicates the null texture."

Previously, retrieving the texture size for an uninitialized texture
would have resulted in a crash. Since Texture2D initially has a null
device image and device images are not allowed to be 0x0 (GPU::Image
VERIFYs that), represent 0x0 textures by having a null device image.
2026-10-28 15:15:37 +01:00
Sönke Holz a9f9a09406 Ports: Update neovim to 0.12.6 2026-10-27 10:57:51 +01:00
Sönke Holz a9cceea102 Ports: Update luv checksum
The release tarball was modified two days after 6e1780bd0b updated
it to this version.
2026-10-27 10:57:51 +01:00
Linus Groh 1f27b3904e Ports: Update openrct2 to 0.5.6 2026-10-26 09:02:03 -04:00
Linus Groh 7af9692b49 Ports: Backport a nlohmann-json build fix
OpenRCT2 builds with -fno-char8_t, which triggers this. No release
contains the fix yet.

See: https://github.com/nlohmann/json/pull/4736
2026-10-26 09:02:03 -04:00
Linus Groh 789b77360b Ports: Update vim to 9.2.1225 2026-10-24 18:07:54 -04:00
Linus Groh 70384bd65c Ports: Update tree-sitter-vimdoc to 4.3.0 2026-10-24 18:07:54 -04:00
Linus Groh 7713046fb5 Ports: Update tree-sitter-markdown to 0.5.4 2026-10-24 18:07:54 -04:00
Linus Groh 63daaa441d Ports: Update sqlite to 3.54.1 2026-10-24 18:07:54 -04:00
Linus Groh c2eea84496 Ports: Update python3 to 3.15.1 2026-10-24 18:07:54 -04:00
Linus Groh 8eb64724d9 Ports: Update pkgconf to 3.0.10 2026-10-24 18:07:54 -04:00
Linus Groh adde1848e0 Ports: Update php to 8.5.12 2026-10-24 18:07:54 -04:00
Linus Groh a069ae3102 Ports: Update patch to 2.8.1 2026-10-24 18:07:54 -04:00
Linus Groh e153b25ee8 Ports: Update openssl to 4.1.0 2026-10-24 18:07:54 -04:00
Linus Groh ba66909e55 Ports: Update nano to 9.3 2026-10-24 18:07:54 -04:00
Linus Groh 28eba4e808 Ports: Update libunistring to 1.5 2026-10-24 18:07:54 -04:00
Linus Groh 4f32b9d98a Ports: Update jdupes to 1.31.3 2026-10-24 18:07:54 -04:00
Linus Groh b907ae66fe Ports: Update libjodycode to 4.2 2026-10-24 18:07:54 -04:00