powerpc/pseries/svm: Add helpers for UV_SHARE_PAGE and UV_UNSHARE_PAGE
authorRam Pai <linuxram@us.ibm.com>
Tue, 20 Aug 2019 02:13:15 +0000 (23:13 -0300)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 29 Aug 2019 23:55:40 +0000 (09:55 +1000)
These functions are used when the guest wants to grant the hypervisor
access to certain pages.

Signed-off-by: Ram Pai <linuxram@us.ibm.com>
Signed-off-by: Thiago Jung Bauermann <bauerman@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20190820021326.6884-6-bauerman@linux.ibm.com
arch/powerpc/include/asm/ultravisor-api.h
arch/powerpc/include/asm/ultravisor.h

index 34c8711..0f5b2d7 100644 (file)
@@ -26,5 +26,7 @@
 #define UV_WRITE_PATE                  0xF104
 #define UV_RETURN                      0xF11C
 #define UV_ESM                         0xF110
+#define UV_SHARE_PAGE                  0xF130
+#define UV_UNSHARE_PAGE                        0xF134
 
 #endif /* _ASM_POWERPC_ULTRAVISOR_API_H */
index d7aa97a..e5c8413 100644 (file)
@@ -31,4 +31,14 @@ static inline int uv_register_pate(u64 lpid, u64 dw0, u64 dw1)
        return ucall_norets(UV_WRITE_PATE, lpid, dw0, dw1);
 }
 
+static inline int uv_share_page(u64 pfn, u64 npages)
+{
+       return ucall_norets(UV_SHARE_PAGE, pfn, npages);
+}
+
+static inline int uv_unshare_page(u64 pfn, u64 npages)
+{
+       return ucall_norets(UV_UNSHARE_PAGE, pfn, npages);
+}
+
 #endif /* _ASM_POWERPC_ULTRAVISOR_H */