summaryrefslogtreecommitdiff
path: root/target/config
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2014-04-15 16:50:50 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2014-04-15 16:50:50 +0200
commit786605b21d3996df956bf785b020996cc7df3763 (patch)
treed40b956ce805150c73bc22bc33fbaa097e323f3d /target/config
parent67f34421f0ae00adc39cbf016e4b33d2817b854d (diff)
add basic support for aarch64 with ARMv8 foundation model, toolchain and kernel works, userland broken.
Diffstat (limited to 'target/config')
-rw-r--r--target/config/Config.in11
-rw-r--r--target/config/Config.in.arch.choice6
-rw-r--r--target/config/Config.in.arch.default4
-rw-r--r--target/config/Config.in.runtime2
-rw-r--r--target/config/Config.in.system.choice1
5 files changed, 23 insertions, 1 deletions
diff --git a/target/config/Config.in b/target/config/Config.in
index d7bf385a2..c5d06be79 100644
--- a/target/config/Config.in
+++ b/target/config/Config.in
@@ -187,6 +187,7 @@ config ADK_TARGET_LIBC_PATH
config ADK_TARGET_KERNEL_MINICONFIG
string
+ default "arm-fm" if ADK_TARGET_SYSTEM_ARM_FM
default "qemu-microblaze-s3adsp1800" if ADK_TARGET_QEMU_MICROBLAZE_MODEL_S3ADSP1800
default "qemu-microblaze-ml605" if ADK_TARGET_QEMU_MICROBLAZE_MODEL_ML605
default "qemu-arm-versatilepb" if ADK_TARGET_QEMU_ARM_MODEL_VERSATILEPB
@@ -557,6 +558,9 @@ config ADK_CPU_ARM1176JZF_S
config ADK_CPU_CORTEX_A9
boolean
+config ADK_CPU_ARMV8
+ boolean
+
config ADK_TARGET_CPU_ARCH
string
default "x86_64" if ADK_CPU_X86_64
@@ -574,6 +578,7 @@ config ADK_TARGET_CPU_ARCH
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 "aarch64" if ADK_LINUX_AARCH64 && ADK_little
default "arm" if ADK_LINUX_ARM && ADK_little
default "sparc" if ADK_LINUX_SPARC
default "sparc64" if ADK_LINUX_SPARC64
@@ -606,6 +611,7 @@ config ADK_TARGET_CFLAGS
default "-march=loongson2f -Wa,-mfix-loongson2f-nop" if ADK_CPU_LOONGSON2F
default "-march=mips32" if ADK_CPU_MIPS32
default "-march=mips64" if ADK_CPU_MIPS64
+ default "-march=armv8-a" if ADK_CPU_ARMV8
default "-march=armv5te -mtune=iwmmxt" if ADK_CPU_XSCALE
default "-march=armv5te -mtune=arm926ej-s -mfloat-abi=soft" if ADK_CPU_ARM926EJ_S && ADK_soft_float
default "-march=armv5te -mtune=arm926ej-s -mfloat-abi=hard" if ADK_CPU_ARM926EJ_S && ADK_hard_float
@@ -636,6 +642,7 @@ config ADK_TARGET_CMDLINE
default "console=ttyS0,115200" if ADK_TARGET_QEMU_ARM_MODEL_SPITZ
default "console=ttyAMA0" if ADK_TARGET_QEMU_ARM_MODEL_VERSATILEPB
default "console=ttyAMA0" if ADK_TARGET_QEMU_ARM_MODEL_VEXPRESS_A9
+ default "console=ttyAMA0" if ADK_TARGET_SYSTEM_ARM_FM
default "console=ttySC1" if ADK_TARGET_SYSTEM_QEMU_SH4
default "console=ttySC1" if ADK_TARGET_SYSTEM_QEMU_SH4EB
default "console=ttyS0,115200" if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D13
@@ -668,6 +675,7 @@ config ADK_TARGET_LIB_UCLIBC
boolean
select ADK_uclibc
depends on \
+ !ADK_LINUX_AARCH64 && \
!ADK_LINUX_M68K && \
!ADK_LINUX_MICROBLAZE && \
!ADK_LINUX_SPARC64 && \
@@ -682,6 +690,7 @@ config ADK_TARGET_LIB_GLIBC
boolean
select ADK_glibc
depends on \
+ ADK_LINUX_AARCH64 || \
ADK_LINUX_ARM || \
ADK_LINUX_M68K || \
ADK_LINUX_MICROBLAZE || \
@@ -771,6 +780,7 @@ config ADK_TARGET_ROOTFS_INITRAMFS_PIGGYBACK
select ADK_LINUX_INITRAMFS_BUILTIN
depends on \
ADK_HARDWARE_QEMU || \
+ ADK_LINUX_AARCH64 || \
ADK_LINUX_ARM || \
ADK_LINUX_M68K || \
ADK_LINUX_MICROBLAZE || \
@@ -826,6 +836,7 @@ config ADK_TARGET_ROOTFS_NFSROOT
select ADK_KERNEL_IP_PNP_DHCP
depends on !ADK_HARDWARE_QEMU && !ADK_HARDWARE_VBOX && !ADK_TARGET_SYSTEM_ARANYM_M68K
depends on !ADK_TARGET_SYSTEM_RASPBERRY_PI
+ depends on !ADK_TARGET_SYSTEM_ARM_FM
help
Root filesystem mounted via NFS. (DHCP)
diff --git a/target/config/Config.in.arch.choice b/target/config/Config.in.arch.choice
index c2fc7f2f3..54141eb3a 100644
--- a/target/config/Config.in.arch.choice
+++ b/target/config/Config.in.arch.choice
@@ -4,6 +4,12 @@ prompt "Target architecture"
config ADK_CHOOSE_TARGET_ARCH
bool "Choose target architecture"
+config ADK_LINUX_AARCH64
+ bool "aarch64 system"
+ select ADK_aarch64
+ help
+ Support for AARCH64 systems.
+
config ADK_LINUX_ARM
bool "arm system"
select ADK_arm
diff --git a/target/config/Config.in.arch.default b/target/config/Config.in.arch.default
index 90401de3d..df7e422f3 100644
--- a/target/config/Config.in.arch.default
+++ b/target/config/Config.in.arch.default
@@ -1,4 +1,7 @@
# target architectures
+config ADK_aarch64
+ bool
+
config ADK_arm
bool
@@ -34,6 +37,7 @@ config ADK_x86
config ADK_TARGET_ARCH
string
+ default "aarch64" if ADK_aarch64
default "arm" if ADK_arm
default "m68k" if ADK_m68k
default "microblaze" if ADK_microblaze
diff --git a/target/config/Config.in.runtime b/target/config/Config.in.runtime
index ea023d0df..d953c1189 100644
--- a/target/config/Config.in.runtime
+++ b/target/config/Config.in.runtime
@@ -88,7 +88,7 @@ config ADK_RUNTIME_CONSOLE_SERIAL_DEVICE
string
default "hvc0" if ADK_TARGET_SYSTEM_QEMU_PPC64
default "ttyUL0" if ADK_TARGET_QEMU_MICROBLAZE_MODEL_S3ADSP1800
- default "ttyAMA0" if ADK_TARGET_QEMU_ARM_MODEL_VERSATILEPB || ADK_TARGET_QEMU_ARM_MODEL_VEXPRESS_A9
+ default "ttyAMA0" if ADK_TARGET_QEMU_ARM_MODEL_VERSATILEPB || ADK_TARGET_QEMU_ARM_MODEL_VEXPRESS_A9 || ADK_TARGET_SYSTEM_ARM_FM
default "ttySC1" if ADK_TARGET_SYSTEM_QEMU_SH4 || ADK_TARGET_SYSTEM_QEMU_SH4EB
default "ttymxc0" if ADK_TARGET_SYSTEM_CUBOX_I
default "ttyS0"
diff --git a/target/config/Config.in.system.choice b/target/config/Config.in.system.choice
index 54e4e621a..ccbaa1e82 100644
--- a/target/config/Config.in.system.choice
+++ b/target/config/Config.in.system.choice
@@ -1,3 +1,4 @@
+source "target/aarch64/Config.in"
source "target/arm/Config.in"
source "target/m68k/Config.in"
source "target/microblaze/Config.in"