File tree 5 files changed +10
-1
lines changed
5 files changed +10
-1
lines changed Original file line number Diff line number Diff line change @@ -15,6 +15,7 @@ support corresponds to ``S`` values in the ``MAINTAINERS`` file.
15
15
============= ================ ==============================================
16
16
Architecture Level of support Constraints
17
17
============= ================ ==============================================
18
+ ``arm64 `` Maintained Little Endian only.
18
19
``loongarch `` Maintained -
19
20
``um `` Maintained ``x86_64 `` only.
20
21
``x86 `` Maintained ``x86_64 `` only.
Original file line number Diff line number Diff line change @@ -229,6 +229,7 @@ config ARM64
229
229
select HAVE_FUNCTION_ARG_ACCESS_API
230
230
select MMU_GATHER_RCU_TABLE_FREE
231
231
select HAVE_RSEQ
232
+ select HAVE_RUST if CPU_LITTLE_ENDIAN
232
233
select HAVE_STACKPROTECTOR
233
234
select HAVE_SYSCALL_TRACEPOINTS
234
235
select HAVE_KPROBES
Original file line number Diff line number Diff line change @@ -41,6 +41,8 @@ KBUILD_CFLAGS += -mgeneral-regs-only \
41
41
KBUILD_CFLAGS += $(call cc-disable-warning, psabi)
42
42
KBUILD_AFLAGS += $(compat_vdso )
43
43
44
+ KBUILD_RUSTFLAGS += --target=aarch64-unknown-none -Ctarget-feature="-neon"
45
+
44
46
KBUILD_CFLAGS += $(call cc-option,-mabi=lp64)
45
47
KBUILD_AFLAGS += $(call cc-option,-mabi=lp64)
46
48
65
67
66
68
ifeq ($(CONFIG_ARM64_BTI_KERNEL ) ,y)
67
69
KBUILD_CFLAGS += -mbranch-protection=pac-ret+bti
70
+ KBUILD_RUSTFLAGS += -Zbranch-protection=bti,pac-ret
68
71
else ifeq ($(CONFIG_ARM64_PTR_AUTH_KERNEL),y)
72
+ KBUILD_RUSTFLAGS += -Zbranch-protection=pac-ret
69
73
ifeq ($(CONFIG_CC_HAS_BRANCH_PROT_PAC_RET),y)
70
74
KBUILD_CFLAGS += -mbranch-protection=pac-ret
71
75
else
Original file line number Diff line number Diff line change @@ -297,6 +297,7 @@ bindgen_skip_c_flags := -mno-fp-ret-in-387 -mpreferred-stack-boundary=% \
297
297
298
298
# Derived from `scripts/Makefile.clang`.
299
299
BINDGEN_TARGET_x86 := x86_64-linux-gnu
300
+ BINDGEN_TARGET_arm64 := aarch64-linux-gnu
300
301
BINDGEN_TARGET := $(BINDGEN_TARGET_$(SRCARCH ) )
301
302
302
303
# All warnings are inhibited since GCC builds are very experimental,
Original file line number Diff line number Diff line change @@ -148,7 +148,9 @@ fn main() {
148
148
let mut ts = TargetSpec :: new ( ) ;
149
149
150
150
// `llvm-target`s are taken from `scripts/Makefile.clang`.
151
- if cfg. has ( "X86_64" ) {
151
+ if cfg. has ( "ARM64" ) {
152
+ panic ! ( "arm64 uses the builtin rustc aarch64-unknown-none target" ) ;
153
+ } else if cfg. has ( "X86_64" ) {
152
154
ts. push ( "arch" , "x86_64" ) ;
153
155
ts. push (
154
156
"data-layout" ,
You can’t perform that action at this time.
0 commit comments