return num_result;
}
+
+/* Invoke prem_memguard_check hypercall implemented in Jailhouse hypervisor */
+asmlinkage long sys_prem_memguard_check(unsigned long periods, unsigned long events_per_period,
+ unsigned long preemtion)
+{
+ register uint64_t num_result asm("x0") = 10;
+ register uint64_t __arg1 asm("x1") = periods;
+ register uint64_t __arg2 asm("x2") = events_per_period;
+ register uint64_t __arg3 asm("x3") = preemtion;
+
+ asm volatile(
+ "hvc #0x4a48"
+ : "=r" (num_result)
+ : "r" (num_result), "r" (__arg1), "r" (__arg2), "r" (__arg3)
+ : "memory");
+
+ return num_result;
+}
+
#undef __SYSCALL
#define __SYSCALL(nr, sym) [nr] = sym,