Page MenuHomeFreeBSD

arm64: Hook up efi_rt_arch_call in efirt.ko
ClosedPublic

Authored by jhb on Wed, Jan 29, 4:17 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Feb 5, 2:57 PM
Unknown Object (File)
Mon, Feb 3, 11:21 PM
Unknown Object (File)
Sun, Feb 2, 12:13 AM
Subscribers

Details

Summary

Note that this requires marking efi_rt_fault as a non-preemptible
local symbol.

Co-authored-by: Jessica Clarke <jrtc27@FreeBSD.org>
Obtained from: CheriBSD
Fixes: d7f930b80e89 ("arm64: Implement efi_rt_arch_call")

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

jhb requested review of this revision.Wed, Jan 29, 4:17 PM
This revision is now accepted and ready to land.Wed, Jan 29, 4:18 PM
sys/arm64/arm64/efirt_support.S
99
sys/modules/efirt/Makefile
15

Is this needed? We only build this module on arm64 and amd64.

sys/modules/efirt/Makefile
15

I think there is a desire to have EFI on RISC-V, so leaving this MD might be prudent.

sys/modules/efirt/Makefile
15

Maybe just make it unconditional then. Stubs for this one routine are trivial.

This revision now requires review to proceed.Wed, Jan 29, 4:59 PM
sys/modules/efirt/Makefile
15

I would hope new architectures would implement the fault safe efi_rt_arch_call so at some point we could remove efi_rt_arch_call_nofault if we decided it was no longer useful.

sys/modules/efirt/Makefile
15

Right.
We also have to implement PA != VA for these calls for LinuxBoot to work since Linux sers that up and we are stuck with it.

sys/modules/efirt/Makefile
15

CHERI can't yet have a nofault variant until we have a CHERI-aware firmware since kernel fault handlers don't work. But I could remove this .if I guess if you feel strongly.

This revision is now accepted and ready to land.Mon, Feb 3, 2:01 PM
This revision was automatically updated to reflect the committed changes.