Lines Matching refs:vsie

594 	for (i = 0; i < kvm->arch.vsie.page_count; i++) {
595 page = READ_ONCE(kvm->arch.vsie.pages[i]);
914 * Handle a fault during vsie execution on a gmap shadow.
961 /* rewind the psw and clear the vsie icpt, so we can retry execution */
1092 * Run the vsie on a shadow scb and a shadow gmap, without any further
1229 * Register the shadow scb at the VCPU, e.g. for kicking out of vsie.
1239 * therefore the vsie -> Simulate Wait state.
1268 * Run the vsie on a shadowed scb, managing the gmap shadow, handling
1322 * Get or create a vsie page for a scb address.
1324 * Returns: - address of a vsie page (cached or new one)
1335 page = radix_tree_lookup(&kvm->arch.vsie.addr_to_page, addr >> 9);
1349 mutex_lock(&kvm->arch.vsie.mutex);
1350 if (kvm->arch.vsie.page_count < nr_vcpus) {
1353 mutex_unlock(&kvm->arch.vsie.mutex);
1357 kvm->arch.vsie.pages[kvm->arch.vsie.page_count] = page;
1358 kvm->arch.vsie.page_count++;
1362 page = kvm->arch.vsie.pages[kvm->arch.vsie.next];
1366 kvm->arch.vsie.next++;
1367 kvm->arch.vsie.next %= nr_vcpus;
1369 radix_tree_delete(&kvm->arch.vsie.addr_to_page, page->index >> 9);
1373 if (radix_tree_insert(&kvm->arch.vsie.addr_to_page, addr >> 9, page)) {
1375 mutex_unlock(&kvm->arch.vsie.mutex);
1378 mutex_unlock(&kvm->arch.vsie.mutex);
1388 /* put a vsie page acquired via get_vsie_page */
1449 /* Init the vsie data structures. To be called when a vm is initialized. */
1452 mutex_init(&kvm->arch.vsie.mutex);
1453 INIT_RADIX_TREE(&kvm->arch.vsie.addr_to_page, GFP_KERNEL_ACCOUNT);
1456 /* Destroy the vsie data structures. To be called when a vm is destroyed. */
1463 mutex_lock(&kvm->arch.vsie.mutex);
1464 for (i = 0; i < kvm->arch.vsie.page_count; i++) {
1465 page = kvm->arch.vsie.pages[i];
1466 kvm->arch.vsie.pages[i] = NULL;
1470 radix_tree_delete(&kvm->arch.vsie.addr_to_page, page->index >> 9);
1473 kvm->arch.vsie.page_count = 0;
1474 mutex_unlock(&kvm->arch.vsie.mutex);