GNU Linux-libre 4.14.266-gnu1
[releases.git] / arch / ia64 / include / asm / esi.h
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 */