Up to [cvs.NetBSD.org] / src / sys / arch / x86 / x86
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
Pull up following revision(s) (requested by riastradh in ticket #292): sys/arch/arm/arm/efi_runtime.c: revision 1.11 sys/dev/efi/efi.h: revision 1.3 sys/arch/x86/x86/efi_machdep.c: revision 1.5 sys/arch/x86/x86/efi_machdep.c: revision 1.6 sys/dev/efi.c: revision 1.5 sys/dev/efi.c: revision 1.6 sys/dev/efi.c: revision 1.7 sys/dev/efi.c: revision 1.8 sys/dev/efi.c: revision 1.9 sys/dev/efivar.h: revision 1.2 sys/sys/efiio.h: revision 1.3 efi(4): Parenthesize EFIERR argument out of paranoia. PR kern/57076 efi(4): Move error macros to efi.h. PR kern/57076 efi(4): Implement MI parts of EFIIOC_GET_TABLE. Intended to be compatible with FreeBSD. Not yet supported on any architectures. PR kern/57076 efi(4): Implement EFIIOC_GET_TABLE on x86. PR kern/57076 efi(4): Translate between size_t and unsigned long. Fixes i386 build. PR kern/57076 efi(4): Fix logic to handle buffer sizing. Can't KASSERT(datasize <= databufsize) because the caller is allowed to pass in a too-small size and get ERR_BUFFER_TOO_SMALL back, with the actual size returned so it can resize its buffer. So just clamp the size to the smaller of what the caller provided and what the firwmare provided, instead of asserting anything. PR kern/57076
efi(4): Implement EFIIOC_GET_TABLE on x86. PR kern/57076 XXX pullup-10
efi(4): Move error macros to efi.h. PR kern/57076 XXX pullup-10
s/reqest/request/, s/requst/request/ and s/reuqest/request/ in comments.
x86/efi: Print uuids in slightly more standard notation. Anyone need a spare hyphen? We had a few extras, apparently. XXX pullup-8 XXX pullup-9
x86: Support EFI runtime services. This creates a special pmap, efi_runtime_pmap, which avoids setting PTE_U but allows mappings to lie in what would normally be user VM -- this way we don't fall afoul of SMAP/SMEP when executing EFI runtime services from CPL 0. SVS does not apply to the EFI runtime pmap. The mechanism is intended to work with either physical addressing or virtual addressing; currently the bootloader does physical addressing but in principle it could be modified to do virtual addressing instead, if it allocated virtual pages, assigned them in the memory map, and issued RT->SetVirtualAddressMap. Not sure pmap_activate_sync and pmap_deactivate_sync are correct, need more review from an x86 wizard. If this causes fallout, it can be disabled temporarily without reverting anything by just making efi_runtime_init return immediately without doing anything, or by removing options EFI_RUNTIME. amd64-only for now pending type fixes and testing on i386.
x86: Rename x86/efi.c -> x86/efi_machdep.c. Avoid collision with dev/efi.c.