xref: /linux/arch/powerpc/include/asm/ultravisor-api.h (revision c95baf12f5077419db01313ab61c2aac007d40cd)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Ultravisor API.
4  *
5  * Copyright 2019, IBM Corporation.
6  *
7  */
8 #ifndef _ASM_POWERPC_ULTRAVISOR_API_H
9 #define _ASM_POWERPC_ULTRAVISOR_API_H
10 
11 #include <asm/hvcall.h>
12 
13 /* Return codes */
14 #define U_BUSY			H_BUSY
15 #define U_FUNCTION		H_FUNCTION
16 #define U_NOT_AVAILABLE		H_NOT_AVAILABLE
17 #define U_P2			H_P2
18 #define U_P3			H_P3
19 #define U_P4			H_P4
20 #define U_P5			H_P5
21 #define U_PARAMETER		H_PARAMETER
22 #define U_PERMISSION		H_PERMISSION
23 #define U_SUCCESS		H_SUCCESS
24 
25 /* opcodes */
26 #define UV_WRITE_PATE			0xF104
27 #define UV_RETURN			0xF11C
28 #define UV_ESM				0xF110
29 #define UV_REGISTER_MEM_SLOT		0xF120
30 #define UV_UNREGISTER_MEM_SLOT		0xF124
31 #define UV_PAGE_IN			0xF128
32 #define UV_PAGE_OUT			0xF12C
33 #define UV_SHARE_PAGE			0xF130
34 #define UV_UNSHARE_PAGE			0xF134
35 #define UV_UNSHARE_ALL_PAGES		0xF140
36 #define UV_PAGE_INVAL			0xF138
37 #define UV_SVM_TERMINATE		0xF13C
38 
39 #endif /* _ASM_POWERPC_ULTRAVISOR_API_H */
40