Lines Matching refs:vm
133 void uv_create_guest(struct vm *vm) in uv_create_guest() argument
142 .state_origin = (uint64_t)vm->sblk, in uv_create_guest()
148 uvcb_cgc.guest_stor_origin = vm->sblk->mso; in uv_create_guest()
149 uvcb_cgc.guest_stor_len = vm->sblk->msl - vm->sblk->mso + SZ_1M; in uv_create_guest()
155 vm->uv.conf_base_stor = memalign_pages_flags(PAGE_SIZE * 4, uvcb_qui.conf_base_phys_stor_len, 0); in uv_create_guest()
160 vm->uv.conf_var_stor = memalign_pages_flags(PAGE_SIZE, vsize,0); in uv_create_guest()
161 uvcb_cgc.conf_base_stor_origin = (uint64_t)vm->uv.conf_base_stor; in uv_create_guest()
162 uvcb_cgc.conf_var_stor_origin = (uint64_t)vm->uv.conf_var_stor; in uv_create_guest()
165 vm->uv.cpu_stor = memalign_pages_flags(PAGE_SIZE, uvcb_qui.cpu_stor_len, 0); in uv_create_guest()
166 uvcb_csc.stor_origin = (uint64_t)vm->uv.cpu_stor; in uv_create_guest()
169 vm->save_area.guest.asce = uvcb_cgc.guest_asce; in uv_create_guest()
170 uvcb_cgc.guest_sca = (uint64_t)vm->sca; in uv_create_guest()
175 vm->uv.vm_handle = uvcb_cgc.guest_handle; in uv_create_guest()
178 vm->uv.vcpu_handle = uvcb_csc.cpu_handle; in uv_create_guest()
188 vm->sblk->sdf = 2; in uv_create_guest()
189 vm->sblk->sidad = (uint64_t)alloc_page(); in uv_create_guest()
190 vm->sblk->pv_handle_cpu = uvcb_csc.cpu_handle; in uv_create_guest()
191 vm->sblk->pv_handle_config = uvcb_cgc.guest_handle; in uv_create_guest()
194 void uv_destroy_guest(struct vm *vm) in uv_destroy_guest() argument
199 cc = uv_cmd_nodata(vm->sblk->pv_handle_cpu, in uv_destroy_guest()
202 free_page((void *)vm->sblk->sidad); in uv_destroy_guest()
203 free_pages(vm->uv.cpu_stor); in uv_destroy_guest()
205 cc = uv_cmd_nodata(vm->sblk->pv_handle_config, in uv_destroy_guest()
208 free_pages(vm->uv.conf_base_stor); in uv_destroy_guest()
209 free_pages(vm->uv.conf_var_stor); in uv_destroy_guest()
211 free_pages((void *)(vm->uv.asce & PAGE_MASK)); in uv_destroy_guest()
212 memset(&vm->uv, 0, sizeof(vm->uv)); in uv_destroy_guest()
215 vm->save_area.guest.asce = stctg(1); in uv_destroy_guest()
216 vm->sblk->sdf = 0; in uv_destroy_guest()
217 vm->sblk->sidad = 0; in uv_destroy_guest()
218 vm->sblk->pv_handle_cpu = 0; in uv_destroy_guest()
219 vm->sblk->pv_handle_config = 0; in uv_destroy_guest()
222 int uv_unpack(struct vm *vm, uint64_t addr, uint64_t len, uint64_t tweak) in uv_unpack() argument
227 cc = uv_unp_page(vm->uv.vm_handle, addr, tweak, i * PAGE_SIZE); in uv_unpack()
234 void uv_verify_load(struct vm *vm) in uv_verify_load() argument
239 cc = uv_cmd_nodata(vm->uv.vm_handle, UVC_CMD_VERIFY_IMG, &rc, &rrc); in uv_verify_load()
241 cc = uv_set_cpu_state(vm->uv.vcpu_handle, PV_CPU_STATE_OPR_LOAD); in uv_verify_load()