Lines Matching refs:vsie

579 	for (i = 0; i < kvm->arch.vsie.page_count; i++) {
580 page = READ_ONCE(kvm->arch.vsie.pages[i]);
899 * Handle a fault during vsie execution on a gmap shadow.
946 /* rewind the psw and clear the vsie icpt, so we can retry execution */
1077 * Run the vsie on a shadow scb and a shadow gmap, without any further
1210 * Register the shadow scb at the VCPU, e.g. for kicking out of vsie.
1220 * therefore the vsie -> Simulate Wait state.
1249 * Run the vsie on a shadowed scb, managing the gmap shadow, handling
1303 * Get or create a vsie page for a scb address.
1305 * Returns: - address of a vsie page (cached or new one)
1316 page = radix_tree_lookup(&kvm->arch.vsie.addr_to_page, addr >> 9);
1330 mutex_lock(&kvm->arch.vsie.mutex);
1331 if (kvm->arch.vsie.page_count < nr_vcpus) {
1334 mutex_unlock(&kvm->arch.vsie.mutex);
1338 kvm->arch.vsie.pages[kvm->arch.vsie.page_count] = page;
1339 kvm->arch.vsie.page_count++;
1343 page = kvm->arch.vsie.pages[kvm->arch.vsie.next];
1347 kvm->arch.vsie.next++;
1348 kvm->arch.vsie.next %= nr_vcpus;
1350 radix_tree_delete(&kvm->arch.vsie.addr_to_page, page->index >> 9);
1354 if (radix_tree_insert(&kvm->arch.vsie.addr_to_page, addr >> 9, page)) {
1356 mutex_unlock(&kvm->arch.vsie.mutex);
1359 mutex_unlock(&kvm->arch.vsie.mutex);
1369 /* put a vsie page acquired via get_vsie_page */
1430 /* Init the vsie data structures. To be called when a vm is initialized. */
1433 mutex_init(&kvm->arch.vsie.mutex);
1434 INIT_RADIX_TREE(&kvm->arch.vsie.addr_to_page, GFP_KERNEL);
1437 /* Destroy the vsie data structures. To be called when a vm is destroyed. */
1444 mutex_lock(&kvm->arch.vsie.mutex);
1445 for (i = 0; i < kvm->arch.vsie.page_count; i++) {
1446 page = kvm->arch.vsie.pages[i];
1447 kvm->arch.vsie.pages[i] = NULL;
1451 radix_tree_delete(&kvm->arch.vsie.addr_to_page, page->index >> 9);
1454 kvm->arch.vsie.page_count = 0;
1455 mutex_unlock(&kvm->arch.vsie.mutex);