64-bit ARM With Linux 6.10: Building FIT Images & Optional Disabling 32-bit User-Space
Merged last week for the Linux 6.10 kernel were all of the 64-bit ARM (ARM64 / AArch64) architecture changes. There is ACPI FACS support, the ability to easily construct FIT images, and a new command-line option for disabling 32-bit application support.
ARM64 now supports Firmware ACPI Control Structure (FACS) signature feature that is necessary to reboot out of hibernation on some hardware. FACS stores the hardware signature at last boot, a global lock to synchronize access to shared hardware resources between the OSPM and external controller environment, the OSPM's Waking Vector, and other data can be found within the FACS table.
The ARM64 code within Linux 6.10 also adds support for building Flat Image Tree (FIT) images. Flat Image Trees is a compiled Linux kernel paired with the associated DeviceTree that is compressed and then easily distributed. Flat Image Tree images can be booted directly by the likes of U-Boot, Coreboot, and LinuxBoot.
The ARM64 code in Linux 6.10 also now honors the "arm64.no32bit_el0" option. Using arm64.no32bit_el0 can allow for unconditionally disabling the execution of 32-bit user-space applications atop the AArch64 system. The ARM64 arm64.no32bit_el0 option is similar to x86_64's ia32_emulation option added last year for allowing 32-bit x86 user-space support to be disabled.
Some of the other ARM64 changes in the new kernel include some memory management optimizations, support for userfaultfd write protection, best-effort unwinding support for USER_STACKTRACE, the Neoverse-V2 part number is now added, and other changes. More details on all the ARM64 feature changes in Linux 6.10 via this pull.
ARM64 now supports Firmware ACPI Control Structure (FACS) signature feature that is necessary to reboot out of hibernation on some hardware. FACS stores the hardware signature at last boot, a global lock to synchronize access to shared hardware resources between the OSPM and external controller environment, the OSPM's Waking Vector, and other data can be found within the FACS table.
The ARM64 code within Linux 6.10 also adds support for building Flat Image Tree (FIT) images. Flat Image Trees is a compiled Linux kernel paired with the associated DeviceTree that is compressed and then easily distributed. Flat Image Tree images can be booted directly by the likes of U-Boot, Coreboot, and LinuxBoot.
The Gigabyte G242-P36 ARM server.
The ARM64 code in Linux 6.10 also now honors the "arm64.no32bit_el0" option. Using arm64.no32bit_el0 can allow for unconditionally disabling the execution of 32-bit user-space applications atop the AArch64 system. The ARM64 arm64.no32bit_el0 option is similar to x86_64's ia32_emulation option added last year for allowing 32-bit x86 user-space support to be disabled.
Some of the other ARM64 changes in the new kernel include some memory management optimizations, support for userfaultfd write protection, best-effort unwinding support for USER_STACKTRACE, the Neoverse-V2 part number is now added, and other changes. More details on all the ARM64 feature changes in Linux 6.10 via this pull.
2 Comments