Lines Matching refs:uc
23 struct ucall *uc; in ucall_init() local
32 uc = &hdr->ucalls[i]; in ucall_init()
33 uc->hva = uc; in ucall_init()
43 struct ucall *uc; in ucall_alloc() local
51 uc = &ucall_pool->ucalls[i]; in ucall_alloc()
52 memset(uc->args, 0, sizeof(uc->args)); in ucall_alloc()
53 return uc; in ucall_alloc()
67 static void ucall_free(struct ucall *uc) in ucall_free() argument
70 clear_bit(uc - ucall_pool->ucalls, ucall_pool->in_use); in ucall_free()
75 struct ucall *uc; in ucall() local
79 uc = ucall_alloc(); in ucall()
81 WRITE_ONCE(uc->cmd, cmd); in ucall()
87 WRITE_ONCE(uc->args[i], va_arg(va, uint64_t)); in ucall()
90 ucall_arch_do_ucall((vm_vaddr_t)uc->hva); in ucall()
92 ucall_free(uc); in ucall()
95 uint64_t get_ucall(struct kvm_vcpu *vcpu, struct ucall *uc) in get_ucall() argument
100 if (!uc) in get_ucall()
101 uc = &ucall; in get_ucall()
108 memcpy(uc, addr, sizeof(*uc)); in get_ucall()
111 memset(uc, 0, sizeof(*uc)); in get_ucall()
114 return uc->cmd; in get_ucall()