feat: add support for aarch64 timer/interrupts, port MontaukOS userspace
This commit is contained in:
1 parent
8b6379fb7e
commit
8c09ccef66
101 files changed
+1720
-629
No files matched your search
@@ -0,0 +1,35 @@
|
||||
--- a/bfd/config.bfd
|
||||
+++ b/bfd/config.bfd
|
||||
@@ -248,6 +248,11 @@
|
||||
targ_selvecs="aarch64_elf64_be_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_le_vec arm_elf32_be_vec aarch64_pei_le_vec aarch64_pe_le_vec"
|
||||
want64=true
|
||||
;;
|
||||
+ aarch64-*-montauk*)
|
||||
+ targ_defvec=aarch64_elf64_le_vec
|
||||
+ targ_selvecs=aarch64_elf64_be_vec
|
||||
+ want64=true
|
||||
+ ;;
|
||||
aarch64-*-pe* | aarch64-*-mingw*)
|
||||
targ_defvec=aarch64_pe_le_vec
|
||||
targ_selvecs="aarch64_pe_le_vec aarch64_pei_le_vec aarch64_elf64_le_vec aarch64_elf64_be_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_le_vec arm_elf32_be_vec pdb_vec"
|
||||
--- a/gas/configure.tgt
|
||||
+++ b/gas/configure.tgt
|
||||
@@ -128,6 +128,7 @@
|
||||
case ${generic_target} in
|
||||
aarch64*-*-elf*) fmt=elf;;
|
||||
aarch64*-*-fuchsia*) fmt=elf;;
|
||||
+ aarch64*-*-montauk*) fmt=elf;;
|
||||
aarch64*-*-haiku*) fmt=elf em=haiku ;;
|
||||
aarch64*-*-genode*) fmt=elf;;
|
||||
aarch64*-*-linux*) fmt=elf em=linux
|
||||
--- a/ld/configure.tgt
|
||||
+++ b/ld/configure.tgt
|
||||
@@ -89,6 +89,8 @@
|
||||
targ_emul=aarch64elf
|
||||
targ_extra_emuls="aarch64elf32 aarch64elf32b aarch64elfb armelf armelfb"
|
||||
;;
|
||||
+aarch64-*-montauk*) targ_emul=aarch64elf
|
||||
+ ;;
|
||||
aarch64-*-cloudabi*) targ_emul=aarch64cloudabi
|
||||
targ_extra_emuls=aarch64cloudabib
|
||||
;;
|
||||
@@ -0,0 +1,40 @@
|
||||
--- a/gcc/config.gcc
|
||||
+++ b/gcc/config.gcc
|
||||
@@ -1189,7 +1189,7 @@
|
||||
esac
|
||||
|
||||
case ${target} in
|
||||
-aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*)
|
||||
+aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems* | aarch64*-*-montauk*)
|
||||
tm_file="${tm_file} elfos.h newlib-stdint.h"
|
||||
tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-errata.h aarch64/aarch64-elf-raw.h"
|
||||
tmake_file="${tmake_file} aarch64/t-aarch64"
|
||||
@@ -1204,6 +1204,11 @@
|
||||
tm_file="${tm_file} aarch64/rtems.h rtems.h"
|
||||
tmake_file="${tmake_file} aarch64/t-aarch64-rtems"
|
||||
;;
|
||||
+ aarch64-*-montauk*)
|
||||
+ tm_file="${tm_file} aarch64/montauk.h"
|
||||
+ # As for x86_64-montauk: the libc has no stdint.h of its own.
|
||||
+ use_gcc_stdint=provide
|
||||
+ ;;
|
||||
esac
|
||||
case $target in
|
||||
aarch64_be-*)
|
||||
--- a/libgcc/config.host
|
||||
+++ b/libgcc/config.host
|
||||
@@ -418,6 +418,14 @@
|
||||
tmake_file="${tmake_file} t-dfprules"
|
||||
md_unwind_header=aarch64/aarch64-unwind.h
|
||||
;;
|
||||
+aarch64*-*-montauk*)
|
||||
+ extra_parts="$extra_parts crtbegin.o crtend.o crtfastmath.o"
|
||||
+ tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
|
||||
+ tmake_file="${tmake_file} ${cpu_type}/t-lse t-slibgcc-libgcc"
|
||||
+ tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp t-crtfm"
|
||||
+ tmake_file="${tmake_file} t-dfprules"
|
||||
+ md_unwind_header=aarch64/aarch64-unwind.h
|
||||
+ ;;
|
||||
aarch64*-*-freebsd*)
|
||||
extra_parts="$extra_parts crtfastmath.o"
|
||||
tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
|
||||
Reference in new issue
Block a user