@@ -113,6 +113,10 @@ int xencall5(xencall_handle *xcall, unsi
uint64_t arg1, uint64_t arg2, uint64_t arg3,
uint64_t arg4, uint64_t arg5);
+/* Variant(s) of the above, as needed, returning "long" instead of "int". */
+long xencall2L(xencall_handle *xcall, unsigned int op,
+ uint64_t arg1, uint64_t arg2);
+
/*
* Allocate and free memory which is suitable for use as a pointer
* argument to a hypercall.
@@ -127,6 +127,17 @@ int xencall2(xencall_handle *xcall, unsi
return osdep_hypercall(xcall, &call);
}
+long xencall2L(xencall_handle *xcall, unsigned int op,
+ uint64_t arg1, uint64_t arg2)
+{
+ privcmd_hypercall_t call = {
+ .op = op,
+ .arg = { arg1, arg2 },
+ };
+
+ return osdep_hypercall(xcall, &call);
+}
+
int xencall3(xencall_handle *xcall, unsigned int op,
uint64_t arg1, uint64_t arg2, uint64_t arg3)
{
@@ -27,3 +27,8 @@ VERS_1.2 {
global:
xencall_fd;
} VERS_1.1;
+
+VERS_1.3 {
+ global:
+ xencall2L;
+} VERS_1.2;