[Buildroot] [PATCH 1/6 v2] hppa: Add new architecture

Vincent Stehlé vincent.stehle at laposte.net
Sun Sep 21 12:54:17 UTC 2025


Add support for the Precision Architecture (a.k.a. PA-RISC),
a 32-bit architecture developed by Hewlett Packard.

While at it, add this arch to myself in DEVELOPERS.

Signed-off-by: Vincent Stehlé <vincent.stehle at laposte.net>
Cc: Romain Naour <romain.naour at gmail.com>
Cc: Julien Olivain <ju.o at free.fr>
---

Changes v1 -> v2:
  - Select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT since our internal
    toolchain backend don't support yet this architecture
    (suggested by Romain)
  - Switch to big endian  (suggested by Julien)

 DEVELOPERS          |  2 ++
 arch/Config.in      | 13 +++++++++++++
 arch/Config.in.hppa | 22 ++++++++++++++++++++++
 arch/arch.mk.hppa   | 13 +++++++++++++
 4 files changed, 50 insertions(+)
 create mode 100644 arch/Config.in.hppa
 create mode 100644 arch/arch.mk.hppa

diff --git a/DEVELOPERS b/DEVELOPERS
index 16d9ee892b..f464871da4 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -3360,6 +3360,8 @@ F:	package/edk2-non-osi/
 F:	support/testing/tests/boot/test_edk2.py
 
 N:	Vincent Stehlé <vincent.stehle at laposte.net>
+F:	arch/Config.in.hppa
+F:	arch/arch.mk.hppa
 F:	board/arm/foundation-v8/
 F:	board/bananapi/bananapi-m2-zero/
 F:	configs/arm_foundationv8_defconfig
diff --git a/arch/Config.in b/arch/Config.in
index 34422c0d50..b1c5a5e763 100644
--- a/arch/Config.in
+++ b/arch/Config.in
@@ -73,6 +73,15 @@ config BR2_aarch64_be
 	  http://www.arm.com/products/processors/instruction-set-architectures/armv8-architecture.php
 	  http://en.wikipedia.org/wiki/ARM
 
+config BR2_hppa
+	bool "HPPA"
+	select BR2_USE_MMU
+	select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
+	help
+	  Precision Architecture (a.k.a. PA-RISC) is a 32-bit
+	  (big endian) architecture developed by Hewlett Packard.
+	  https://en.wikipedia.org/wiki/PA-RISC
+
 config BR2_i386
 	bool "i386"
 	select BR2_USE_MMU
@@ -393,6 +402,10 @@ if BR2_arm || BR2_armeb || BR2_aarch64 || BR2_aarch64_be
 source "arch/Config.in.arm"
 endif
 
+if BR2_hppa
+source "arch/Config.in.hppa"
+endif
+
 if BR2_loongarch64
 source "arch/Config.in.loongarch"
 endif
diff --git a/arch/Config.in.hppa b/arch/Config.in.hppa
new file mode 100644
index 0000000000..5768469f30
--- /dev/null
+++ b/arch/Config.in.hppa
@@ -0,0 +1,22 @@
+choice
+	prompt "Target Architecture Type"
+	help
+	  Architecture type (or version) to use.
+
+config BR2_parisc10
+	bool "PA-RISC 1.0"
+config BR2_parisc11
+	bool "PA-RISC 1.1"
+endchoice
+
+config BR2_ARCH
+	default "hppa"
+
+config BR2_NORMALIZED_ARCH
+	default "parisc"
+
+config BR2_ENDIAN
+	default "BIG"
+
+config BR2_READELF_ARCH_NAME
+	default "HPPA"
diff --git a/arch/arch.mk.hppa b/arch/arch.mk.hppa
new file mode 100644
index 0000000000..9d22e4371f
--- /dev/null
+++ b/arch/arch.mk.hppa
@@ -0,0 +1,13 @@
+#
+# Configure the GCC_TARGET_ARCH variable.
+#
+
+ifeq ($(BR2_hppa),y)
+
+ifeq ($(BR2_parisc10),y)
+GCC_TARGET_ARCH := 1.0
+else ifeq ($(BR2_parisc11),y)
+GCC_TARGET_ARCH := 1.1
+endif
+
+endif
-- 
2.51.0



More information about the buildroot mailing list