summaryrefslogtreecommitdiff
path: root/Kernel/Firmware/BIOS.h
AgeCommit message (Collapse)Author
2022-06-17Kerenl/Firmware: Add map_ebda and map_bios methods in the original placeLiav A
In a previous commit I moved everything into the new subdirectories in FileSystem/SysFS directory without trying to actually make changes in the code itself too much. Now it's time to split the code to make it more readable and understandable, hence this change occurs now.
2022-06-17Kernel/SysFS: Stop cluttering the codebase with pieces of SysFS partsLiav A
Instead, start to put everything in one place to resemble the directory structure of the SysFS when actually using it.
2022-04-01Kernel: Allow SysFS components to have non-zero sizeLiav A
This is important for dmidecode because it does an fstat on the DMI blobs, trying to figure out their size. Because we already know the size of the blobs when creating the SysFS components, there's no performance penalty whatsoever, and this allows dmidecode to not use the /dev/mem device as a fallback.
2022-04-01Kernel: Declare DMI SysFS BIOS classes as finalLiav A
2022-04-01Kernel: Declare blob sizes of SysFS BIOS classes as constLiav A
2022-04-01Kernel: Initialize primitive data members of SysFS BIOS classesLiav A
2022-01-13Kernel: Make map_bios() and map_ebda() fallible using ErrorOrIdan Horowitz
2022-01-07Everywhere: Fix many spelling errorsmjz19910
2021-12-14Kernel/SysFS: Make it clear that some components must be created in bootLiav A
Using the phrase "create" doesn't give information on whether the object must be allocated or a failure to do so can be handled gracefully. Therefore, we must use better phrase for such purpose, so "must_create" for the allocate-and-construct static methods is definitely good choice.
2021-12-14Kernel/SysFS: Prevent allocation for component name during constructionLiav A
Instead, allocate before constructing the object and pass NonnullOwnPtr of KString to the object if needed. Some classes can determine their names as they have a known attribute to look for or have a static name.
2021-11-08Kernel: Replace KResult and KResultOr<T> with Error and ErrorOr<T>Andreas Kling
We now use AK::Error and AK::ErrorOr<T> in both kernel and userspace! This was a slightly tedious refactoring that took a long time, so it's not unlikely that some bugs crept in. Nevertheless, it does pass basic functionality testing, and it's just real nice to finally see the same pattern in all contexts. :^)
2021-11-02Kernel: Switch BIOSSysFSComponent constructor to AK::StringViewBrian Gianforcaro
These are constants, they don't need to be dynamically allocated. Another minor step towards removing `AK::String` from the Kernel and improving OOM safety.
2021-09-12Kernel: Unify BIOS and ACPI components in the SysFS firmware directoryLiav A
Both should reside in the SysFS firmware directory which is normally located in /sys/firmware. Also, apply some OOM-safety patterns when creating the BIOS and ACPI directories.
2021-09-12Kernel: Move ACPI and BIOS code into the new Firmware directoryLiav A
This will somwhat help unify them also under the same SysFS directory in the commit. Also, it feels much more like this change reflects the reality that both ACPI and the BIOS are part of the firmware on x86 computers.