No description
  • C 98.5%
  • Assembly 0.6%
  • Python 0.3%
  • Perl 0.3%
  • Makefile 0.2%
Find a file
Michael Brown ff6e52063e [crypto] Add AES acceleration using the Arm Cryptographic Extensions
Implement AES hardware acceleration for AArch64 using the AES subset
of the Cryptographic Extensions.  All supported runtime environments
already allow for use of the SIMD/FP registers, and so the only
required compiler quirk is to annotate the functions as being
permitted to emit the AES instructions.

Feature detection relies upon the ability to read the ID_AA64ISAR0_EL1
system register.  This works as expected in all supported runtime
environments:

  - As a UEFI binary, we are running in a real EL1 and so can just
    read the system register for the current (and only active) core

  - As a Linux userspace binary running in EL0, the kernel (since
    4.11) will emulate the read to report the subset of features that
    are supported by all online cores

  - As a Linux userspace binary run via QEMU's binary translation,
    QEMU (since 4.0.0) will similarly emulate the read to report the
    features supported by the selected CPU model

Signed-off-by: Michael Brown <mcb30@ipxe.org>
2026-09-07 15:14:39 +01:00
.claude/skills/ipxe-security-review [doc] Add agent-facing instructions 2026-08-06 12:47:53 +01:00
.github [test] Add a build target for slow self-tests 2026-09-04 18:32:39 +01:00
contrib [cloud] Separate snapshot deletion from image deletion for Alibaba Cloud 2026-04-24 12:55:29 +01:00
src [crypto] Add AES acceleration using the Arm Cryptographic Extensions 2026-09-07 15:14:39 +01:00
AGENTS.md [doc] Add agent-facing instructions 2026-08-06 12:47:53 +01:00
CHANGELOG.md [release] Release version 2.0.0 2026-03-06 15:48:55 +00:00
CLAUDE.md [doc] Add agent-facing instructions 2026-08-06 12:47:53 +01:00
CONTRIBUTING.md [doc] Add security policy document 2026-08-06 00:01:56 +01:00
COPYING [legal] Update GPLv2 licence text 2015-02-26 17:59:53 +00:00
COPYING.GPLv2 [legal] Update GPLv2 licence text 2015-02-26 17:59:53 +00:00
COPYING.UBDL [legal] Add support for the Unmodified Binary Distribution Licence 2015-03-02 12:07:14 +00:00
README.md [doc] Fix header levels in Markdown files 2026-02-20 00:24:24 +00:00
RELEASE.md [doc] Add release process documentation 2026-02-25 22:10:59 +00:00
RELNOTES.tmpl.md [ci] Include Secure Boot ISO and USB images in release artifacts 2026-03-02 22:19:52 +00:00
SECURITY.md [doc] Add security policy document 2026-08-06 00:01:56 +01:00

iPXE network bootloader

Build Coverity Release

iPXE is the leading open source network boot firmware. It provides a full PXE implementation enhanced with additional features such as:

  • boot from a web server via HTTP or HTTPS,

  • boot from an iSCSI, FCoE, or AoE SAN,

  • control the boot process with a script,

  • create interactive forms and menus.

You can use iPXE to replace the existing PXE ROM on your network card, or you can chainload into iPXE to obtain the features of iPXE without the hassle of reflashing.

iPXE is free, open-source software licensed under the GNU GPL (with some portions under GPL-compatible licences).

You can download the rolling release binaries (built from the latest commit), or use the most recent stable release.

For full documentation, visit the iPXE website.