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