The branch main has been updated by jhb:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=856d3167995a5c9e1fc69a69ad393ab9e552c420

commit 856d3167995a5c9e1fc69a69ad393ab9e552c420
Author:     John Baldwin <j...@freebsd.org>
AuthorDate: 2025-02-05 14:50:15 +0000
Commit:     John Baldwin <j...@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 <jrt...@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
 

Reply via email to