Go to the source code of this file.
|
#define | _hypercall64_0(type, hcall) |
|
#define | _hypercall64_1(type, hcall, a1) |
|
#define | _hypercall64_2(type, hcall, a1, a2) |
|
#define | _hypercall64_3(type, hcall, a1, a2, a3) |
|
#define | _hypercall64_4(type, hcall, a1, a2, a3, a4) |
|
#define | _hypercall64_5(type, hcall, a1, a2, a3, a4, a5) |
|
◆ _hypercall64_0
#define _hypercall64_0 |
( |
|
type, |
|
|
|
hcall |
|
) |
| |
Value: ({ \
long res; \
asm volatile ( \
"call hypercall_page + %c[offset]" \
: "=a" (res) \
: [offset] "i" (hcall * 32) \
: "memory" ); \
(type)res; \
})
Definition at line 10 of file hypercall-x86_64.h.
◆ _hypercall64_1
#define _hypercall64_1 |
( |
|
type, |
|
|
|
hcall, |
|
|
|
a1 |
|
) |
| |
Value: ({ \
long res, _a1 = (long)(a1); \
asm volatile ( \
"call hypercall_page + %c[offset]" \
: "=a" (res), "+D" (_a1) \
: [offset] "i" (hcall * 32) \
: "memory" ); \
(type)res; \
})
Definition at line 21 of file hypercall-x86_64.h.
◆ _hypercall64_2
#define _hypercall64_2 |
( |
|
type, |
|
|
|
hcall, |
|
|
|
a1, |
|
|
|
a2 |
|
) |
| |
Value: ({ \
long res, _a1 = (long)(a1), _a2 = (long)(a2); \
asm volatile ( \
"call hypercall_page + %c[offset]" \
: "=a" (res), "+D" (_a1), "+S" (_a2) \
: [offset] "i" (hcall * 32) \
: "memory" ); \
(type)res; \
})
Definition at line 32 of file hypercall-x86_64.h.
◆ _hypercall64_3
#define _hypercall64_3 |
( |
|
type, |
|
|
|
hcall, |
|
|
|
a1, |
|
|
|
a2, |
|
|
|
a3 |
|
) |
| |
Value: ({ \
long res, _a1 = (long)(a1), _a2 = (long)(a2), _a3 = (long)(a3); \
asm volatile ( \
"call hypercall_page + %c[offset]" \
: "=a" (res), "+D" (_a1), "+S" (_a2), "+d" (_a3) \
: [offset] "i" (hcall * 32) \
: "memory" ); \
(type)res; \
})
Definition at line 43 of file hypercall-x86_64.h.
◆ _hypercall64_4
#define _hypercall64_4 |
( |
|
type, |
|
|
|
hcall, |
|
|
|
a1, |
|
|
|
a2, |
|
|
|
a3, |
|
|
|
a4 |
|
) |
| |
Value: ({ \
long res, _a1 = (long)(a1), _a2 = (long)(a2), _a3 = (long)(a3); \
register long _a4 asm ("r10") = (long)(a4); \
asm volatile ( \
"call hypercall_page + %c[offset]" \
: "=a" (res), "+D" (_a1), "+S" (_a2), "+d" (_a3), \
"+r" (_a4) \
: [offset] "i" (hcall * 32) \
: "memory" ); \
(type)res; \
})
Definition at line 54 of file hypercall-x86_64.h.
◆ _hypercall64_5
#define _hypercall64_5 |
( |
|
type, |
|
|
|
hcall, |
|
|
|
a1, |
|
|
|
a2, |
|
|
|
a3, |
|
|
|
a4, |
|
|
|
a5 |
|
) |
| |
Value: ({ \
long res, _a1 = (long)(a1), _a2 = (long)(a2), _a3 = (long)(a3); \
register long _a4 asm ("r10") = (long)(a4); \
register long _a5 asm ("r8") = (long)(a5); \
asm volatile ( \
"call hypercall_page + %c[offset]" \
: "=a" (res), "+D" (_a1), "+S" (_a2), "+d" (_a3), \
"+r" (_a4), "+r" (_a5) \
: [offset] "i" (hcall * 32) \
: "memory" ); \
(type)res; \
})
Definition at line 67 of file hypercall-x86_64.h.