/*
* Flush and invalidate entire cache (__NR_prem_flush)
*/
-asmlinkage long sys_prem_flush(void)
+SYSCALL_DEFINE0(prem_flush)
{
__flush_dcache_all();
return 0;
}
/* Invoke prem_guard_set hypercall implemented in Jailhouse hypervisor */
-asmlinkage long sys_premguard(unsigned long phase, unsigned long budget,
- unsigned long timeout)
+SYSCALL_DEFINE3(premguard, unsigned long, phase, unsigned long, budget,
+ unsigned long, timeout)
{
register uint64_t num_result asm("x0") = 9;
register uint64_t __arg1 asm("x1") = phase;
return num_result;
}
-/* Invoke prem_memguard_check hypercall implemented in Jailhouse hypervisor */
-asmlinkage long sys_memguard(unsigned long budget_time, unsigned long budget_memory,
- unsigned long flags)
+/* Invoke memguard hypercall implemented in the Jailhouse hypervisor */
+SYSCALL_DEFINE3(memguard, unsigned long, budget_time,
+ unsigned long, budget_memory,
+ unsigned long, flags)
{
register uint64_t num_result asm("x0") = 10;
register uint64_t __arg1 asm("x1") = budget_time;
asmlinkage long sys_rt_sigreturn_wrapper(void);
#define sys_rt_sigreturn sys_rt_sigreturn_wrapper
-cond_syscall(sys_prem_irq_disable);
-cond_syscall(sys_prem_irq_enable);
-cond_syscall(sys_prem_flush);
-cond_syscall(sys_premguard);
-cond_syscall(sys_memguard);
-
#undef __SYSCALL
#define __SYSCALL(nr, sym) [nr] = sym,
/* membarrier */
cond_syscall(sys_membarrier);
+
+/* prem */
+cond_syscall(sys_prem_irq_disable);
+cond_syscall(sys_prem_irq_enable);
+cond_syscall(sys_prem_flush);
+cond_syscall(sys_premguard);
+cond_syscall(sys_memguard);