diff options
author | Konstantin Belousov <kib@FreeBSD.org> | 2018-09-02 21:37:05 +0000 |
---|---|---|
committer | Konstantin Belousov <kib@FreeBSD.org> | 2018-09-02 21:37:05 +0000 |
commit | 50cd0be78f3e7fc069f5a06a4dc9aac35a4c0af0 (patch) | |
tree | b4dd97e402be82e6732923105fd8cf33ff6d286e /sys/amd64/include | |
parent | 1565fb29a78f0e70bd1dd4287ee7b87854131c1e (diff) | |
download | src-50cd0be78f3e7fc069f5a06a4dc9aac35a4c0af0.tar.gz src-50cd0be78f3e7fc069f5a06a4dc9aac35a4c0af0.zip |
Catch exceptions during EFI RT calls on amd64.
This appeared to be required to have EFI RT support and EFI RTC
enabled by default, because there are too many reports of faulting
calls on many different machines. The knob is added to leave the
exceptions unhandled to allow to debug the actual bugs.
Reviewed by: kevans
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Approved by: re (rgrimes)
Differential revision: https://reviews.freebsd.org/D16972
Notes
Notes:
svn path=/head/; revision=338437
Diffstat (limited to 'sys/amd64/include')
-rw-r--r-- | sys/amd64/include/efi.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/sys/amd64/include/efi.h b/sys/amd64/include/efi.h index 9fa54ee023fb..082223792ac0 100644 --- a/sys/amd64/include/efi.h +++ b/sys/amd64/include/efi.h @@ -51,6 +51,27 @@ #define EFI_TIME_LOCK() mtx_lock(&atrtc_time_lock) #define EFI_TIME_UNLOCK() mtx_unlock(&atrtc_time_lock) #define EFI_TIME_OWNED() mtx_assert(&atrtc_time_lock, MA_OWNED) + +#define EFI_RT_HANDLE_FAULTS_DEFAULT 1 #endif +struct efirt_callinfo { + const char *ec_name; + register_t ec_efi_status; + register_t ec_fptr; + register_t ec_argcnt; + register_t ec_arg1; + register_t ec_arg2; + register_t ec_arg3; + register_t ec_arg4; + register_t ec_arg5; + register_t ec_rbx; + register_t ec_rsp; + register_t ec_rbp; + register_t ec_r12; + register_t ec_r13; + register_t ec_r14; + register_t ec_r15; +}; + #endif /* __AMD64_INCLUDE_EFI_H_ */ |