Lines Matching refs:uc

31 	struct ucall *uc;  in ucall_init()  local
41 uc = &hdr->ucalls[i]; in ucall_init()
42 uc->hva = uc; in ucall_init()
52 struct ucall *uc; in ucall_alloc() local
60 uc = &ucall_pool->ucalls[i]; in ucall_alloc()
61 memset(uc->args, 0, sizeof(uc->args)); in ucall_alloc()
62 return uc; in ucall_alloc()
76 static void ucall_free(struct ucall *uc) in ucall_free() argument
79 clear_bit(uc - ucall_pool->ucalls, ucall_pool->in_use); in ucall_free()
85 struct ucall *uc; in ucall_assert() local
88 uc = ucall_alloc(); in ucall_assert()
89 uc->cmd = cmd; in ucall_assert()
91 WRITE_ONCE(uc->args[GUEST_ERROR_STRING], (uint64_t)(exp)); in ucall_assert()
92 WRITE_ONCE(uc->args[GUEST_FILE], (uint64_t)(file)); in ucall_assert()
93 WRITE_ONCE(uc->args[GUEST_LINE], line); in ucall_assert()
96 guest_vsnprintf(uc->buffer, UCALL_BUFFER_LEN, fmt, va); in ucall_assert()
99 ucall_arch_do_ucall((vm_vaddr_t)uc->hva); in ucall_assert()
101 ucall_free(uc); in ucall_assert()
106 struct ucall *uc; in ucall_fmt() local
109 uc = ucall_alloc(); in ucall_fmt()
110 uc->cmd = cmd; in ucall_fmt()
113 guest_vsnprintf(uc->buffer, UCALL_BUFFER_LEN, fmt, va); in ucall_fmt()
116 ucall_arch_do_ucall((vm_vaddr_t)uc->hva); in ucall_fmt()
118 ucall_free(uc); in ucall_fmt()
123 struct ucall *uc; in ucall() local
127 uc = ucall_alloc(); in ucall()
129 WRITE_ONCE(uc->cmd, cmd); in ucall()
135 WRITE_ONCE(uc->args[i], va_arg(va, uint64_t)); in ucall()
138 ucall_arch_do_ucall((vm_vaddr_t)uc->hva); in ucall()
140 ucall_free(uc); in ucall()
143 uint64_t get_ucall(struct kvm_vcpu *vcpu, struct ucall *uc) in get_ucall() argument
148 if (!uc) in get_ucall()
149 uc = &ucall; in get_ucall()
156 memcpy(uc, addr, sizeof(*uc)); in get_ucall()
159 memset(uc, 0, sizeof(*uc)); in get_ucall()
162 return uc->cmd; in get_ucall()