HomeFreeBSD

EFIRT: SetVirtualAddressMap with 1:1 mapping after exiting boot services

Description

EFIRT: SetVirtualAddressMap with 1:1 mapping after exiting boot services

This fixes a problem encountered on the Lenovo Thinkpad X220/Yoga 11e where
runtime services would try to inexplicably jump to other parts of memory
where it shouldn't be when attempting to enumerate EFI vars, causing a
panic.

The virtual mapping is enabled by default and can be disabled by setting
efi_disable_vmap in loader.conf(5).

Reviewed by: kib (earlier version)
MFC after: 3 weeks
Differential Revision: https://reviews.freebsd.org/D14677

Details

Provenance
kevansAuthored on
Reviewer
kib
Differential Revision
D14677: EFIRT: SetVirtualAddressMap with 1:1 mapping after exiting boot services
Parents
rS330867: MFC r330271:
Branches
Unknown
Tags
Unknown