[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