1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * ESI service calls.
4  *
5  * Copyright (c) Copyright 2005-2006 Hewlett-Packard Development Company, L.P.
6  * 	Alex Williamson <alex.williamson@hp.com>
7  */
8 #ifndef esi_h
9 #define esi_h
10 
11 #include <linux/efi.h>
12 
13 #define ESI_QUERY			0x00000001
14 #define ESI_OPEN_HANDLE			0x02000000
15 #define ESI_CLOSE_HANDLE		0x02000001
16 
17 enum esi_proc_type {
18 	ESI_PROC_SERIALIZED,	/* calls need to be serialized */
19 	ESI_PROC_MP_SAFE,	/* MP-safe, but not reentrant */
20 	ESI_PROC_REENTRANT	/* MP-safe and reentrant */
21 };
22 
23 extern struct ia64_sal_retval esi_call_phys (void *, u64 *);
24 extern int ia64_esi_call(efi_guid_t, struct ia64_sal_retval *,
25 			 enum esi_proc_type,
26 			 u64, u64, u64, u64, u64, u64, u64, u64);
27 extern int ia64_esi_call_phys(efi_guid_t, struct ia64_sal_retval *, u64, u64,
28                               u64, u64, u64, u64, u64, u64);
29 
30 #endif /* esi_h */
31