git: 856d3167995a - main - arm64: Hook up efi_rt_arch_call in efirt.ko
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 05 Feb 2025 14:50:46 UTC
The branch main has been updated by jhb:
URL: https://cgit.FreeBSD.org/src/commit/?id=856d3167995a5c9e1fc69a69ad393ab9e552c420
commit 856d3167995a5c9e1fc69a69ad393ab9e552c420
Author: John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2025-02-05 14:50:15 +0000
Commit: John Baldwin <jhb@FreeBSD.org>
CommitDate: 2025-02-05 14:50:15 +0000
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 <jrtc27@FreeBSD.org>
Reviewed by: imp, andrew
Obtained from: CheriBSD
Fixes: d7f930b80e89 ("arm64: Implement efi_rt_arch_call")
Differential Revision: https://reviews.freebsd.org/D48715
---
sys/arm64/arm64/efirt_support.S | 4 ++--
sys/modules/efirt/Makefile | 7 ++++---
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/sys/arm64/arm64/efirt_support.S b/sys/arm64/arm64/efirt_support.S
index b7bef7500ee4..994380f1691e 100644
--- a/sys/arm64/arm64/efirt_support.S
+++ b/sys/arm64/arm64/efirt_support.S
@@ -85,7 +85,7 @@ ENTRY(efi_rt_arch_call)
ret
END(efi_rt_arch_call)
-ENTRY(efi_rt_fault)
+LENTRY(efi_rt_fault)
/* Clear pcb_onfault */
SET_FAULT_HANDLER(xzr, x11)
/* Load curthread */
@@ -96,6 +96,6 @@ ENTRY(efi_rt_fault)
/* Normal exit returning an error */
ldr x0, =EFAULT
b .Lefi_rt_arch_call_exit
-END(efi_rt_fault)
+LEND(efi_rt_fault)
GNU_PROPERTY_AARCH64_FEATURE_1_NOTE(GNU_PROPERTY_AARCH64_FEATURE_1_VAL)
diff --git a/sys/modules/efirt/Makefile b/sys/modules/efirt/Makefile
index 2befdcb7dd8d..4738996fd4e6 100644
--- a/sys/modules/efirt/Makefile
+++ b/sys/modules/efirt/Makefile
@@ -4,16 +4,17 @@
KMOD= efirt
SRCS= efirt.c efirt_machdep.c efidev.c
SRCS+= efirtc.c
+SRCS+= efirt_support.S
SRCS+= device_if.h bus_if.h clock_if.h
+DPSRCS+= assym.inc
.if ${MACHINE_CPUARCH} == "amd64"
SRCS+= opt_hwpmc_hooks.h opt_kstack_pages.h
-SRCS+= efirt_support.S
-DPSRCS+= assym.inc
+.endif
+
efirt_support.o: efirt_support.S assym.inc
${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \
${.IMPSRC} -o ${.TARGET}
-.endif
EXPORT_SYMS= YES