xref: /freebsd/sys/arm64/include/efi.h (revision 8efb1500d4f17d397048ed3e56e4af9b855bccb6)
1559a7b20SKonstantin Belousov /*-
27a158e82SAndrew Turner  * Copyright (c) 2017 Andrew Turner
37a158e82SAndrew Turner  * All rights reserved.
47a158e82SAndrew Turner  *
57a158e82SAndrew Turner  * This software was developed by SRI International and the University of
67a158e82SAndrew Turner  * Cambridge Computer Laboratory under DARPA/AFRL contract FA8750-10-C-0237
77a158e82SAndrew Turner  * ("CTSRD"), as part of the DARPA CRASH research programme.
87a158e82SAndrew Turner  *
97a158e82SAndrew Turner  * Redistribution and use in source and binary forms, with or without
107a158e82SAndrew Turner  * modification, are permitted provided that the following conditions
117a158e82SAndrew Turner  * are met:
127a158e82SAndrew Turner  * 1. Redistributions of source code must retain the above copyright
137a158e82SAndrew Turner  *    notice, this list of conditions and the following disclaimer.
147a158e82SAndrew Turner  * 2. Redistributions in binary form must reproduce the above copyright
157a158e82SAndrew Turner  *    notice, this list of conditions and the following disclaimer in the
167a158e82SAndrew Turner  *    documentation and/or other materials provided with the distribution.
177a158e82SAndrew Turner  *
187a158e82SAndrew Turner  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
197a158e82SAndrew Turner  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
207a158e82SAndrew Turner  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
217a158e82SAndrew Turner  * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
227a158e82SAndrew Turner  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
237a158e82SAndrew Turner  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
247a158e82SAndrew Turner  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
257a158e82SAndrew Turner  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
267a158e82SAndrew Turner  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
277a158e82SAndrew Turner  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
287a158e82SAndrew Turner  * SUCH DAMAGE.
29559a7b20SKonstantin Belousov  */
30559a7b20SKonstantin Belousov 
31d5d97bedSMike Karels #ifdef __arm__
32d5d97bedSMike Karels #include <arm/efi.h>
33d5d97bedSMike Karels #else /* !__arm__ */
34d5d97bedSMike Karels 
35559a7b20SKonstantin Belousov #ifndef __ARM64_INCLUDE_EFI_H_
36559a7b20SKonstantin Belousov #define __ARM64_INCLUDE_EFI_H_
37559a7b20SKonstantin Belousov 
38559a7b20SKonstantin Belousov #define	EFIABI_ATTR
39559a7b20SKonstantin Belousov 
407a158e82SAndrew Turner #ifdef _KERNEL
41a29bff7aSGreg V #define ARCH_MAY_USE_EFI
42a29bff7aSGreg V 
437a158e82SAndrew Turner #define	EFI_TIME_LOCK()
447a158e82SAndrew Turner #define	EFI_TIME_UNLOCK()
457a158e82SAndrew Turner #define	EFI_TIME_OWNED()
4650cd0be7SKonstantin Belousov 
47*8efb1500SAndrew Turner #define	EFI_RT_HANDLE_FAULTS_DEFAULT	1
487a158e82SAndrew Turner #endif
497a158e82SAndrew Turner 
5050cd0be7SKonstantin Belousov struct efirt_callinfo {
5150cd0be7SKonstantin Belousov 	const char	*ec_name;
5250cd0be7SKonstantin Belousov 	register_t	ec_efi_status;
5350cd0be7SKonstantin Belousov 	register_t	ec_fptr;
5450cd0be7SKonstantin Belousov 	register_t	ec_argcnt;
5550cd0be7SKonstantin Belousov 	register_t	ec_arg1;
5650cd0be7SKonstantin Belousov 	register_t	ec_arg2;
5750cd0be7SKonstantin Belousov 	register_t	ec_arg3;
5850cd0be7SKonstantin Belousov 	register_t	ec_arg4;
5950cd0be7SKonstantin Belousov 	register_t	ec_arg5;
6050cd0be7SKonstantin Belousov };
6150cd0be7SKonstantin Belousov 
62559a7b20SKonstantin Belousov #endif /* __ARM64_INCLUDE_EFI_H_ */
63d5d97bedSMike Karels 
64d5d97bedSMike Karels #endif /* !__arm__ */
65