Releases: Bareflank/pal
June 2022 Release 1
This release includes:
- Bug fixes and improvements for Rust code generation
- Bug fixes and improvements for the Cargo build interface
August 2021 Release
This release includes:
- Rust code generators
- Drivers (Windows and Linux) to forward PAL from userspace->kernel
- Refactored CMake build interface
- Experimental Cargo build interface
- Better support for peripheral devices (memory mapped, and x86 port I/O)
- Examples
- Updated integration tests
- Updated README
October 2020 Release
This release introduces three major changes to the PAL project:
-
A revised function naming convention for generated C code. This release changes the pattern for public-facing C APIs to
pal_<verb>_<noun>
, away from the previous patternpal_<noun>_<verb>
. For example, an accessor for reading the ia32_feature_control MSR of the Intel platform is nowpal_get_ia32_feature_control()
, rather thanpal_ia32_feature_control_get()
-
Support for system instruction code generation on the Intel platform. This feature includes data definitions (.yml files) for many system instructions within Intel x64, libpal assembly routines to back each defined instruction, and code generation capabilities that create C and C++ APIs for interfacing with those instructions.
-
AMD register data definitions for MSRs, CPUID functions, VMCB fields, and control registers. This will be used as the basis for generating AMD compatible register access functions in a future release
July 2020 Release
This release introduces a new component to the project: libpal. This component will provide execute-like operations for CPU instructions, and will incrementally become a new access mechanism backend for PAL generated source code.
April 2020 Release 1
This release contains minor bug fixes
- Bug fix for incorrectly generated accessors for VMCS fields that aren't 64 bits wide
- Removed header dependencies for printf while PAL is configured with a different print mechanism
March 2020 Release 1
- Update pal for build compatibility when building as a sub-project CMake's FetchContent module
- Add support for building using CMake + Windows + Ninja
- Add experimental support for ACPI