sys: Remove $FreeBSD$: one-line sh patternRemove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
Fix some modules to export more used symbolsand remove non-present symbols that are now reported by kmod_syms.awk.Reviewed by: emasteSponsored by: The FreeBSD FoundationMFC after: 1 weekDiffer
Fix some modules to export more used symbolsand remove non-present symbols that are now reported by kmod_syms.awk.Reviewed by: emasteSponsored by: The FreeBSD FoundationMFC after: 1 weekDifferential revision: https://reviews.freebsd.org/D32878
show more ...
Add missing DPSRCS entry for assym.inc.This brings in various CLEANFILES/DEPENDOBJS handling.MFC after: 2 weeksSponsored by: DellEMC
Fix `make` in sys/modulesSponsored by: The FreeBSD Foundation
Catch exceptions during EFI RT calls on amd64.This appeared to be required to have EFI RT support and EFI RTCenabled by default, because there are too many reports of faultingcalls on many differ
Catch exceptions during EFI RT calls on amd64.This appeared to be required to have EFI RT support and EFI RTCenabled by default, because there are too many reports of faultingcalls on many different machines. The knob is added to leave theexceptions unhandled to allow to debug the actual bugs.Reviewed by: kevansSponsored by: The FreeBSD FoundationMFC after: 1 weekApproved by: re (rgrimes)Differential revision: https://reviews.freebsd.org/D16972
Add a driver for the EFI RTC. This uses the EFI Runtime Services to querythe system time.As we seem to only read this time on boot, and this is the only source oftime on many arm64 machines we ne
Add a driver for the EFI RTC. This uses the EFI Runtime Services to querythe system time.As we seem to only read this time on boot, and this is the only source oftime on many arm64 machines we need to enable this by default there. Asthis is not always the case with U-Boot firmware, or when we have beenbooted from a non-UEFI environment we only enable the device driver whenthe Runtime Services are present and reading the time doesn't result in anerror.PR: 212185Reviewed by: imp, kibTested by: emasteRelnotes: yesSponsored by: DARPA, AFRLDifferential Revision: https://reviews.freebsd.org/D12650
To prepare for adding EFI runtime services support on arm64 move themachine independent parts of the existing code to a new file that can beshared between amd64 and arm64.Reviewed by: kib (previo
To prepare for adding EFI runtime services support on arm64 move themachine independent parts of the existing code to a new file that can beshared between amd64 and arm64.Reviewed by: kib (previous version), impSponsored by: DARPA, AFRLDifferential Revision: https://reviews.freebsd.org/D12434
sys/modules: normalize .CURDIR-relative paths to SRCTOPThis simplifies make output/logicTested with: `cd sys/modules; make ALL_MODULES=` on amd64MFC after: 1 monthSponsored by: Dell EMC Isilon
Create /dev/efidev to provide an ioctl interface touserland. It supports userland interfaces to UEFI Runtime Services. This isindended to the the MI portion of EFI RuntimeServices support.Differ
Create /dev/efidev to provide an ioctl interface touserland. It supports userland interfaces to UEFI Runtime Services. This isindended to the the MI portion of EFI RuntimeServices support.Differential Revision: https://reviews.freebsd.org/D8128Reviewed by: kib@, wblock@, Ganael Laplanche
Hopefully, fix build of the module outside the kernel tree.Sponsored by: The FreeBSD FoundationMFC after: 2 weeks
Add kernel interfaces to call EFI Runtime Services.Runtime services require special execution environment for the call.Besides that, OS must inform firmware about runtime virtual memory mapwhich
Add kernel interfaces to call EFI Runtime Services.Runtime services require special execution environment for the call.Besides that, OS must inform firmware about runtime virtual memory mapwhich will be active during the calls, with the SetVirtualAddressMap()runtime call, done while the 1:1 mapping is still used. There are twocomplication: the SetVirtualAddressMap() effectively must be done fromloader, which needs to know kernel address map in advance. More,despite not explicitely mentioned in the specification, both 1:1 andthe map passed to SetVirtualAddressMap() must be active during theSetVirtualAddressMap() call. Second, there are buggy BIOSes whichrequire both mappings active during runtime calls as well, most likelybecause they fail to identify all relocations to perform.On amd64, we can get rid of both problems by providing 1:1 mapping forthe duration of runtime calls, by temprorary remapping user addresses.As result, we avoid the need for loader to know about future kerneladdress map, and avoid bugs in BIOSes. Typically BIOS only mapssomething in low 4G. If not runtime bugs, we would take advantage ofthe DMAP, as previous versions of this patch did.Similar but more complicated trick can be used even for i386 and 32bitruntime, if and when the EFI boot on i386 is supported. We would needa trampoline page, since potentially whole 4G of VA would be switchedon calls, instead of only userspace portion on amd64.Context switches are disabled for the duration of the call, FPU accessis granted, and interrupts are not disabled. The later is possiblebecause kernel is mapped during calls.To test, the sysctl mib debug.efi_time is provided, setting it to 1makes one call to EFI get_time() runtime service, on success the efitmstructure is printed to the control terminal. Load efirt.ko, or addEFIRT option to the kernel config, to enable code.Discussed with: emaste, impTested by: emaste (mac, qemu)Sponsored by: The FreeBSD FoundationMFC after: 2 weeks