summaryrefslogtreecommitdiff
path: root/target/config
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2024-05-04 18:58:42 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2024-05-04 18:59:21 +0200
commit5fa28f6a9631d6be707e99f04511dc1675eec491 (patch)
tree2120f815239d72e2bb56bed69059b29d7e0666e6 /target/config
parent6f7be8c93a8ae1df7ff984d1025c043d31146fc6 (diff)
xtensa: preliminary support for upcoming FDPIC support in uClibc-ng
Diffstat (limited to 'target/config')
-rw-r--r--target/config/Config.in.abi14
-rw-r--r--target/config/Config.in.binfmt3
-rw-r--r--target/config/Config.in.binutils4
-rw-r--r--target/config/Config.in.compiler4
-rw-r--r--target/config/Config.in.cpu6
-rw-r--r--target/config/Config.in.libc1
6 files changed, 28 insertions, 4 deletions
diff --git a/target/config/Config.in.abi b/target/config/Config.in.abi
index 9995ba51d..db799f70e 100644
--- a/target/config/Config.in.abi
+++ b/target/config/Config.in.abi
@@ -3,6 +3,18 @@
choice
prompt "ABI"
+depends on ADK_TARGET_ARCH_XTENSA && ADK_TARGET_CPU_XTENSA_DC233C
+
+config ADK_TARGET_ABI_WINDOWED
+ bool "Windowed ABI"
+
+config ADK_TARGET_ABI_CALL0
+ bool "Call0 ABI"
+
+endchoice
+
+choice
+prompt "ABI"
depends on ADK_TARGET_ARCH_MIPS64
config ADK_TARGET_ABI_N32
@@ -62,6 +74,8 @@ config ADK_TARGET_ABI
default "x32" if ADK_TARGET_ABI_X32
default "eabihf" if ADK_TARGET_ARCH_ARM && ADK_TARGET_HARD_FLOAT
default "eabi" if ADK_TARGET_ARCH_ARM
+ default "windowed" if ADK_TARGET_ABI_WINDOWED
+ default "call0" if ADK_TARGET_ABI_CALL0
config ADK_TARGET_ABI_RISCV
depends on ADK_TARGET_ARCH_RISCV32 || ADK_TARGET_ARCH_RISCV64
diff --git a/target/config/Config.in.binfmt b/target/config/Config.in.binfmt
index 2c690724a..704ca073d 100644
--- a/target/config/Config.in.binfmt
+++ b/target/config/Config.in.binfmt
@@ -24,7 +24,8 @@ config ADK_TARGET_BINFMT_FLAT
config ADK_TARGET_BINFMT_FDPIC
bool "FDPIC"
select BUSYBOX_NOMMU
- depends on ADK_TARGET_ARCH_ARM || ADK_TARGET_ARCH_BFIN || ADK_TARGET_ARCH_FRV || ADK_TARGET_ARCH_SH
+ depends on ADK_TARGET_ARCH_ARM || ADK_TARGET_ARCH_BFIN || ADK_TARGET_ARCH_FRV || ADK_TARGET_ARCH_SH \
+ || ADK_TARGET_ARCH_XTENSA
depends on !ADK_TARGET_WITH_MMU
config ADK_TARGET_BINFMT_DSBT
diff --git a/target/config/Config.in.binutils b/target/config/Config.in.binutils
index b93eaf31d..3caf9a1d8 100644
--- a/target/config/Config.in.binutils
+++ b/target/config/Config.in.binutils
@@ -55,4 +55,8 @@ config ADK_TOOLCHAIN_BINUTILS_KVX
bool "kvx-coolidge"
depends on ADK_TARGET_ARCH_KVX
+config ADK_TOOLCHAIN_BINUTILS_XTENSA
+ bool "xtensa-fdpic-abi-spec-1.1"
+ depends on ADK_TARGET_ARCH_XTENSA
+
endchoice
diff --git a/target/config/Config.in.compiler b/target/config/Config.in.compiler
index f5ca63b75..8d7b442b5 100644
--- a/target/config/Config.in.compiler
+++ b/target/config/Config.in.compiler
@@ -111,4 +111,8 @@ config ADK_TOOLCHAIN_GCC_KVX
bool "coolidge"
depends on ADK_TARGET_ARCH_KVX
+config ADK_TOOLCHAIN_GCC_XTENSA
+ bool "xtensa-fdpic-abi-spec-1.1"
+ depends on ADK_TARGET_ARCH_XTENSA
+
endchoice
diff --git a/target/config/Config.in.cpu b/target/config/Config.in.cpu
index c06eca95b..d7984a44e 100644
--- a/target/config/Config.in.cpu
+++ b/target/config/Config.in.cpu
@@ -1830,9 +1830,9 @@ config ADK_TARGET_CPU_XTENSA_DC233C
select ADK_TARGET_SUPPORTS_THREADS
select ADK_TARGET_SUPPORTS_NPTL
select ADK_TARGET_SUPPORTS_LT
- select ADK_TARGET_KERNEL_UIMAGE
- select ADK_LINUX_KERNEL_XTENSA_VARIANT_DC233C if ADK_TARGET_OS_LINUX
- select ADK_LINUX_KERNEL_INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX if ADK_TARGET_OS_LINUX
+ select ADK_TARGET_KERNEL_IMAGE
+ select ADK_LINUX_KERNEL_XTENSA_VARIANT_DC233C if ADK_TARGET_WITH_MMU
+ select ADK_LINUX_KERNEL_INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX if ADK_TARGET_WITH_MMU
depends on ADK_TARGET_ARCH_XTENSA
config ADK_TARGET_CPU_XTENSA_DC232B
diff --git a/target/config/Config.in.libc b/target/config/Config.in.libc
index c05475fb5..c4b287072 100644
--- a/target/config/Config.in.libc
+++ b/target/config/Config.in.libc
@@ -220,6 +220,7 @@ config ADK_TARGET_SUFFIX
default "gnux32" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ABI_X32 && ADK_LINUX_64
default "gnuspe" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ARCH_PPC && ADK_TARGET_ARCH_PPC_WITH_SPE
default "gnu" if ADK_TARGET_LIB_GLIBC
+ default "uclibcfdpic" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ARCH_XTENSA && ADK_TARGET_BINFMT_FDPIC
default "uclinuxfdpiceabi" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ARCH_ARM && ADK_TARGET_BINFMT_FDPIC
default "uclibceabihf" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ARCH_ARM && ADK_TARGET_HARD_FLOAT
default "uclibceabi" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ARCH_ARM