Skip to content

Commit 856d316

Browse files
committed
arm64: Hook up efi_rt_arch_call in efirt.ko
Note that this requires marking efi_rt_fault as a non-preemptible local symbol. Co-authored-by: Jessica Clarke <[email protected]> Reviewed by: imp, andrew Obtained from: CheriBSD Fixes: d7f930b ("arm64: Implement efi_rt_arch_call") Differential Revision: https://reviews.freebsd.org/D48715
1 parent 0e4c4cc commit 856d316

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

sys/arm64/arm64/efirt_support.S

+2-2
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ ENTRY(efi_rt_arch_call)
8585
ret
8686
END(efi_rt_arch_call)
8787

88-
ENTRY(efi_rt_fault)
88+
LENTRY(efi_rt_fault)
8989
/* Clear pcb_onfault */
9090
SET_FAULT_HANDLER(xzr, x11)
9191
/* Load curthread */
@@ -96,6 +96,6 @@ ENTRY(efi_rt_fault)
9696
/* Normal exit returning an error */
9797
ldr x0, =EFAULT
9898
b .Lefi_rt_arch_call_exit
99-
END(efi_rt_fault)
99+
LEND(efi_rt_fault)
100100

101101
GNU_PROPERTY_AARCH64_FEATURE_1_NOTE(GNU_PROPERTY_AARCH64_FEATURE_1_VAL)

sys/modules/efirt/Makefile

+4-3
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,17 @@
44
KMOD= efirt
55
SRCS= efirt.c efirt_machdep.c efidev.c
66
SRCS+= efirtc.c
7+
SRCS+= efirt_support.S
78
SRCS+= device_if.h bus_if.h clock_if.h
9+
DPSRCS+= assym.inc
810

911
.if ${MACHINE_CPUARCH} == "amd64"
1012
SRCS+= opt_hwpmc_hooks.h opt_kstack_pages.h
11-
SRCS+= efirt_support.S
12-
DPSRCS+= assym.inc
13+
.endif
14+
1315
efirt_support.o: efirt_support.S assym.inc
1416
${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \
1517
${.IMPSRC} -o ${.TARGET}
16-
.endif
1718

1819
EXPORT_SYMS= YES
1920

0 commit comments

Comments
 (0)