]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[arm] Support building as a Linux userspace binary for AArch64
authorMichael Brown <mcb30@ipxe.org>
Sun, 22 Jan 2023 20:31:30 +0000 (20:31 +0000)
committerMichael Brown <mcb30@ipxe.org>
Sun, 22 Jan 2023 20:36:57 +0000 (20:36 +0000)
Add support for building as a Linux userspace binary for AArch64.
This allows the self-test suite to be more easily run for the 64-bit
ARM code.  For example:

  # On a native AArch64 system:
  #
  make bin-arm64-efi/tests.linux && ./bin-arm64-efi/tests.linux

  # On a non-AArch64 system (e.g. x86_64) via cross-compilation,
  # assuming that kernel and glibc headers are present within
  # /usr/aarch64-linux-gnu/sys-root/:
  #
  make bin-arm64-linux/tests.linux CROSS=aarch64-linux-gnu- && \
  qemu-aarch64 -L /usr/aarch64-linux-gnu/sys-root/ \
               ./bin-arm64-linux/tests.linux

Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/arch/arm/Makefile.linux [new file with mode: 0644]
src/arch/arm64/Makefile.linux [new file with mode: 0644]

diff --git a/src/arch/arm/Makefile.linux b/src/arch/arm/Makefile.linux
new file mode 100644 (file)
index 0000000..4259044
--- /dev/null
@@ -0,0 +1,6 @@
+# -*- makefile -*- : Force emacs to use Makefile mode
+
+# Include generic Linux Makefile
+#
+MAKEDEPS       += Makefile.linux
+include Makefile.linux
diff --git a/src/arch/arm64/Makefile.linux b/src/arch/arm64/Makefile.linux
new file mode 100644 (file)
index 0000000..4f09523
--- /dev/null
@@ -0,0 +1,10 @@
+# -*- makefile -*- : Force emacs to use Makefile mode
+
+# Starting virtual address
+#
+LDFLAGS += -Ttext=0x400000
+
+# Include generic Linux Makefile
+#
+MAKEDEPS += arch/arm/Makefile.linux
+include arch/arm/Makefile.linux