summaryrefslogtreecommitdiff
path: root/target
diff options
context:
space:
mode:
Diffstat (limited to 'target')
-rw-r--r--target/config/Config.in61
-rw-r--r--target/mips/sys-available/qemu-mips643
-rw-r--r--target/mips/sys-available/qemu-mips64el5
-rw-r--r--target/mips/sys-available/toolchain-mips648
-rw-r--r--target/mips/sys-available/toolchain-mips64el8
-rw-r--r--target/mips/sys-available/toolchain-mips64eln3212
-rw-r--r--target/mips/sys-available/toolchain-mips64eln6412
-rw-r--r--target/mips/sys-available/toolchain-mips64n3212
-rw-r--r--target/mips/sys-available/toolchain-mips64n6412
9 files changed, 85 insertions, 48 deletions
diff --git a/target/config/Config.in b/target/config/Config.in
index 0eab0aecf..d8b73d2fa 100644
--- a/target/config/Config.in
+++ b/target/config/Config.in
@@ -87,8 +87,6 @@ prompt "Target Kernel"
depends on ADK_TARGET_SYSTEM_LEMOTE_YEELONG \
|| ADK_TARGET_SYSTEM_QEMU_MIPS64 \
|| ADK_TARGET_SYSTEM_QEMU_MIPS64EL \
- || ADK_TARGET_SYSTEM_TOOLCHAIN_MIPS64 \
- || ADK_TARGET_SYSTEM_TOOLCHAIN_MIPS64EL \
|| ADK_LINUX_X86_64
config ADK_TARGET_KERNEL64
@@ -133,26 +131,19 @@ config ADK_TARGET_ABI
default "eabihf" if ADK_eabihf
config ADK_TARGET_MIPS_ABI
- depends on ADK_TARGET_KERNEL64 && ADK_LINUX_MIPS
+ depends on ADK_LINUX_MIPS
string
default "32" if ADK_o32
default "n32" if ADK_n32
default "64" if ADK_n64
-config ADK_TARGET_ABI_MIPS_O32
- boolean
- select ADK_o32
- depends on !ADK_TARGET_KERNEL64 && ADK_LINUX_MIPS
- default y
-
choice
prompt "Target ABI"
-depends on ADK_TARGET_KERNEL64 && ADK_LINUX_MIPS
+depends on ADK_TARGET_KERNEL64 && ADK_LINUX_MIPS && !ADK_TOOLCHAIN
config ADK_TARGET_ABI_N32
boolean "N32 ABI (new)"
select ADK_n32
- depends on !ADK_TARGET_LIB_MUSL
config ADK_TARGET_ABI_O32
boolean "O32 ABI (old)"
@@ -161,13 +152,12 @@ config ADK_TARGET_ABI_O32
config ADK_TARGET_ABI_N64
boolean "N64 ABI"
select ADK_n64
- depends on !ADK_TARGET_LIB_MUSL
endchoice
choice
prompt "Target ABI"
-depends on ADK_TARGET_KERNEL64 && ADK_LINUX_X86_64
+depends on ADK_TARGET_KERNEL64 && ADK_LINUX_X86_64 && !ADK_TOOLCHAIN
config ADK_TARGET_ABI_64
boolean "64 Bit ABI"
@@ -558,8 +548,8 @@ config ADK_TARGET_CPU_ARCH
default "m68k" if ADK_LINUX_M68K
default "microblaze" if ADK_LINUX_MICROBLAZE && ADK_big
default "microblazeel" if ADK_LINUX_MICROBLAZE && ADK_little
- default "mips64" if ADK_LINUX_MIPS && ADK_big && ADK_TARGET_KERNEL64
- default "mips64el" if ADK_LINUX_MIPS && ADK_little && ADK_TARGET_KERNEL64
+ default "mips64" if ADK_LINUX_MIPS && ADK_big && ADK_LINUX_64
+ default "mips64el" if ADK_LINUX_MIPS && ADK_little && ADK_LINUX_64
default "mips" if ADK_LINUX_MIPS && ADK_big
default "mipsel" if ADK_LINUX_MIPS && ADK_little
default "arm" if ADK_LINUX_ARM && ADK_little
@@ -570,26 +560,26 @@ config ADK_TARGET_CPU_ARCH
default "sh4eb" if ADK_LINUX_SH && ADK_big
default "ppc" if ADK_CPU_PPC
default "ppc64" if ADK_CPU_PPC64
- default "mips64el" if ADK_native && ADK_lemote_yeelong
+ default "mips64el" if ADK_native && ADK_lemote_yeelong
config ADK_TARGET_ABI_CFLAGS
string
- default "-mabi=32" if ADK_TARGET_ABI_O32 || ADK_TARGET_ABI_MIPS_O32
- default "-mabi=n32" if ADK_TARGET_ABI_N32
- default "-mabi=64" if ADK_TARGET_ABI_N64
- default "-m32" if ADK_TARGET_ABI_32
- default "-mx32" if ADK_TARGET_ABI_X32
- default "-m64" if ADK_TARGET_ABI_64
+ default "-mabi=32" if ADK_o32
+ default "-mabi=n32" if ADK_n32
+ default "-mabi=64" if ADK_n64
+ default "-m32" if ADK_32
+ default "-mx32" if ADK_x32
+ default "-m64" if ADK_64
config ADK_TARGET_ABI_LDFLAGS
string
- default "-Wl,-m -Wl,elf_i386" if ADK_TARGET_ABI_32
+ default "-Wl,-m -Wl,elf_i386" if ADK_32
config ADK_TARGET_KERNEL_LDFLAGS
string
- default "-mabi=64" if ADK_TARGET_ABI_N32 && ADK_TARGET_KERNEL64
- default "-mabi=64" if ADK_TARGET_ABI_O32 && ADK_TARGET_KERNEL64
- default "-mabi=64" if ADK_TARGET_ABI_N64 && ADK_TARGET_KERNEL64
+ default "-mabi=64" if ADK_n32 && ADK_TARGET_KERNEL64
+ default "-mabi=64" if ADK_o32 && ADK_TARGET_KERNEL64
+ default "-mabi=64" if ADK_n64 && ADK_TARGET_KERNEL64
default ""
config ADK_TARGET_CFLAGS
@@ -685,7 +675,6 @@ config ADK_TARGET_LIB_GLIBC
select ADK_glibc
depends on \
ADK_LINUX_ARM || \
- ADK_LINUX_ARMEB || \
ADK_LINUX_M68K || \
ADK_LINUX_MICROBLAZE || \
ADK_LINUX_MIPS || \
@@ -726,25 +715,25 @@ config ADK_TARGET_SUFFIX
string
default "gnueabihf" if ADK_TARGET_LIB_GLIBC && ADK_eabihf
default "gnueabi" if ADK_TARGET_LIB_GLIBC && ADK_eabi
- default "gnuabi64" if ADK_TARGET_LIB_GLIBC && ADK_n64 && ADK_TARGET_KERNEL64
- default "gnuabin32" if ADK_TARGET_LIB_GLIBC && ADK_n32 && ADK_TARGET_KERNEL64
- default "gnuabi32" if ADK_TARGET_LIB_GLIBC && ADK_o32 && ADK_TARGET_KERNEL64
+ default "gnuabi64" if ADK_TARGET_LIB_GLIBC && ADK_n64
+ default "gnuabin32" if ADK_TARGET_LIB_GLIBC && ADK_n32
+ default "gnuabi32" if ADK_TARGET_LIB_GLIBC && ADK_o32
default "gnu32" if ADK_TARGET_LIB_GLIBC && ADK_32 && ADK_TARGET_KERNEL64
default "gnux32" if ADK_TARGET_LIB_GLIBC && ADK_x32 && ADK_TARGET_KERNEL64
default "gnu" if ADK_TARGET_LIB_GLIBC
default "uclibcgnueabihf" if ADK_TARGET_LIB_UCLIBC && ADK_eabihf
default "uclibcgnueabi" if ADK_TARGET_LIB_UCLIBC && ADK_eabi
- default "uclibcabi64" if ADK_TARGET_LIB_UCLIBC && ADK_n64 && ADK_TARGET_KERNEL64
- default "uclibcabin32" if ADK_TARGET_LIB_UCLIBC && ADK_n32 && ADK_TARGET_KERNEL64
- default "uclibcabi32" if ADK_TARGET_LIB_UCLIBC && ADK_o32 && ADK_TARGET_KERNEL64
+ default "uclibcabi64" if ADK_TARGET_LIB_UCLIBC && ADK_n64
+ default "uclibcabin32" if ADK_TARGET_LIB_UCLIBC && ADK_n32
+ default "uclibcabi32" if ADK_TARGET_LIB_UCLIBC && ADK_o32
default "uclibc32" if ADK_TARGET_LIB_UCLIBC && ADK_32 && ADK_TARGET_KERNEL64
default "uclibcx32" if ADK_TARGET_LIB_UCLIBC && ADK_x32 && ADK_TARGET_KERNEL64
default "uclibc" if ADK_TARGET_LIB_UCLIBC
default "muslgnueabihf" if ADK_TARGET_LIB_MUSL && ADK_eabihf
default "muslgnueabi" if ADK_TARGET_LIB_MUSL && ADK_eabi
- default "muslabi64" if ADK_TARGET_LIB_MUSL && ADK_n64 && ADK_TARGET_KERNEL64
- default "muslabin32" if ADK_TARGET_LIB_MUSL && ADK_n32 && ADK_TARGET_KERNEL64
- default "muslabi32" if ADK_TARGET_LIB_MUSL && ADK_o32 && ADK_TARGET_KERNEL64
+ default "muslabi64" if ADK_TARGET_LIB_MUSL && ADK_n64
+ default "muslabin32" if ADK_TARGET_LIB_MUSL && ADK_n32
+ default "muslabi32" if ADK_TARGET_LIB_MUSL && ADK_o32
default "musl32" if ADK_TARGET_LIB_MUSL && ADK_32 && ADK_TARGET_KERNEL64
default "muslx32" if ADK_TARGET_LIB_MUSL && ADK_x32 && ADK_TARGET_KERNEL64
default "musl" if ADK_TARGET_LIB_MUSL
diff --git a/target/mips/sys-available/qemu-mips64 b/target/mips/sys-available/qemu-mips64
index 7a7562edc..924c70bc4 100644
--- a/target/mips/sys-available/qemu-mips64
+++ b/target/mips/sys-available/qemu-mips64
@@ -4,9 +4,8 @@ config ADK_TARGET_SYSTEM_QEMU_MIPS64
select ADK_big
select ADK_qemu_mips64
select ADK_CPU_MIPS64
+ select ADK_LINUX_64
select ADK_HARDWARE_QEMU
- select ADK_TARGET_WITH_VGA
- select ADK_TARGET_WITH_INPUT
select ADK_TARGET_KERNEL_VMLINUZ
select ADK_USE_KERNEL_MINICONFIG
help
diff --git a/target/mips/sys-available/qemu-mips64el b/target/mips/sys-available/qemu-mips64el
index 34d44c054..14b548632 100644
--- a/target/mips/sys-available/qemu-mips64el
+++ b/target/mips/sys-available/qemu-mips64el
@@ -4,12 +4,9 @@ config ADK_TARGET_SYSTEM_QEMU_MIPS64EL
select ADK_little
select ADK_qemu_mips64el
select ADK_CPU_MIPS64
- select ADK_TARGET_KERNEL64
+ select ADK_LINUX_64
select ADK_HARDWARE_QEMU
- select ADK_TARGET_WITH_VGA
- select ADK_TARGET_WITH_INPUT
select ADK_TARGET_KERNEL_VMLINUZ
select ADK_USE_KERNEL_MINICONFIG
help
Qemu support for mips64 little endian architecture.
-
diff --git a/target/mips/sys-available/toolchain-mips64 b/target/mips/sys-available/toolchain-mips64
index 9cc19e299..e9ea69170 100644
--- a/target/mips/sys-available/toolchain-mips64
+++ b/target/mips/sys-available/toolchain-mips64
@@ -1,10 +1,12 @@
config ADK_TARGET_SYSTEM_TOOLCHAIN_MIPS64
- bool "Toolchain only (mips64 big endian)"
+ bool "Toolchain only (mips64 big endian o32 ABI)"
select ADK_mips
select ADK_big
- select ADK_CPU_MIPS64
+ select ADK_o32
select ADK_toolchain_mips64
+ select ADK_CPU_MIPS64
+ select ADK_LINUX_64
select ADK_TOOLCHAIN
select ADK_TARGET_PACKAGE_TGZ
help
- MIPS64 big endian toolchain.
+ MIPS64 big endian o32 ABI toolchain.
diff --git a/target/mips/sys-available/toolchain-mips64el b/target/mips/sys-available/toolchain-mips64el
index 2cb27d99c..0d54692ee 100644
--- a/target/mips/sys-available/toolchain-mips64el
+++ b/target/mips/sys-available/toolchain-mips64el
@@ -1,10 +1,12 @@
config ADK_TARGET_SYSTEM_TOOLCHAIN_MIPS64EL
- bool "Toolchain only (mips64 little endian)"
+ bool "Toolchain only (mips64 little endian o32 ABI)"
select ADK_mips
select ADK_little
- select ADK_CPU_MIPS64
+ select ADK_o32
select ADK_toolchain_mips64el
+ select ADK_CPU_MIPS64
+ select ADK_LINUX_64
select ADK_TOOLCHAIN
select ADK_TARGET_PACKAGE_TGZ
help
- MIPS64 little endian toolchain.
+ MIPS64 little endian o32 ABI toolchain.
diff --git a/target/mips/sys-available/toolchain-mips64eln32 b/target/mips/sys-available/toolchain-mips64eln32
new file mode 100644
index 000000000..9c0f44381
--- /dev/null
+++ b/target/mips/sys-available/toolchain-mips64eln32
@@ -0,0 +1,12 @@
+config ADK_TARGET_SYSTEM_TOOLCHAIN_MIPS64ELN32
+ bool "Toolchain only (mips64 little endian n32 ABI)"
+ select ADK_mips
+ select ADK_little
+ select ADK_n32
+ select ADK_toolchain_mips64el
+ select ADK_CPU_MIPS64
+ select ADK_LINUX_64
+ select ADK_TOOLCHAIN
+ select ADK_TARGET_PACKAGE_TGZ
+ help
+ MIPS64 little endian n32 ABI toolchain.
diff --git a/target/mips/sys-available/toolchain-mips64eln64 b/target/mips/sys-available/toolchain-mips64eln64
new file mode 100644
index 000000000..2795598d8
--- /dev/null
+++ b/target/mips/sys-available/toolchain-mips64eln64
@@ -0,0 +1,12 @@
+config ADK_TARGET_SYSTEM_TOOLCHAIN_MIPS64ELN64
+ bool "Toolchain only (mips64 little endian n64 ABI)"
+ select ADK_mips
+ select ADK_little
+ select ADK_n64
+ select ADK_toolchain_mips64el
+ select ADK_CPU_MIPS64
+ select ADK_LINUX_64
+ select ADK_TOOLCHAIN
+ select ADK_TARGET_PACKAGE_TGZ
+ help
+ MIPS64 little endian n64 ABI toolchain.
diff --git a/target/mips/sys-available/toolchain-mips64n32 b/target/mips/sys-available/toolchain-mips64n32
new file mode 100644
index 000000000..e2acd59b3
--- /dev/null
+++ b/target/mips/sys-available/toolchain-mips64n32
@@ -0,0 +1,12 @@
+config ADK_TARGET_SYSTEM_TOOLCHAIN_MIPS64N32
+ bool "Toolchain only (mips64 big endian n32 ABI)"
+ select ADK_mips
+ select ADK_big
+ select ADK_n32
+ select ADK_toolchain_mips64
+ select ADK_CPU_MIPS64
+ select ADK_LINUX_64
+ select ADK_TOOLCHAIN
+ select ADK_TARGET_PACKAGE_TGZ
+ help
+ MIPS64 big endian n64 ABI toolchain.
diff --git a/target/mips/sys-available/toolchain-mips64n64 b/target/mips/sys-available/toolchain-mips64n64
new file mode 100644
index 000000000..e544008f4
--- /dev/null
+++ b/target/mips/sys-available/toolchain-mips64n64
@@ -0,0 +1,12 @@
+config ADK_TARGET_SYSTEM_TOOLCHAIN_MIPS64N64
+ bool "Toolchain only (mips64 big endian n64 ABI)"
+ select ADK_mips
+ select ADK_big
+ select ADK_n64
+ select ADK_toolchain_mips64
+ select ADK_CPU_MIPS64
+ select ADK_LINUX_64
+ select ADK_TOOLCHAIN
+ select ADK_TARGET_PACKAGE_TGZ
+ help
+ MIPS64 big endian n64 ABI toolchain.