| /Linux-v5.15/arch/x86/kvm/svm/ | 
| D | nested.c | 61        if (vmcb_is_intercept(&svm->nested.ctl, INTERCEPT_EXCEPTION_OFFSET + PF_VECTOR) &&  in svm_inject_page_fault_nested()62 	   !svm->nested.nested_run_pending) {  in svm_inject_page_fault_nested()
 76 	u64 cr3 = svm->nested.ctl.nested_cr3;  in nested_svm_get_tdp_pdptr()
 91 	return svm->nested.ctl.nested_cr3;  in nested_svm_get_tdp_cr3()
 109 				svm->nested.ctl.nested_cr3);  in nested_svm_init_mmu_context()
 134 	g = &svm->nested.ctl;  in recalc_intercepts()
 206 	if (!(vmcb_is_intercept(&svm->nested.ctl, INTERCEPT_MSR_PROT)))  in nested_svm_vmrun_msrpm()
 217 		offset = svm->nested.ctl.msrpm_base_pa + (p * 4);  in nested_svm_vmrun_msrpm()
 222 		svm->nested.msrpm[p] = svm->msrpm[p] | value;  in nested_svm_vmrun_msrpm()
 225 	svm->vmcb->control.msrpm_base_pa = __sme_set(__pa(svm->nested.msrpm));  in nested_svm_vmrun_msrpm()
 [all …]
 
 | 
| D | svm.h | 154 	struct svm_nested_state nested;  member444 	return is_guest_mode(vcpu) && (svm->nested.ctl.int_ctl & V_INTR_MASKING_MASK);  in nested_svm_virtualize_tpr()
 449 	return vmcb_is_intercept(&svm->nested.ctl, INTERCEPT_SMI);  in nested_exit_on_smi()
 454 	return vmcb_is_intercept(&svm->nested.ctl, INTERCEPT_INTR);  in nested_exit_on_intr()
 459 	return vmcb_is_intercept(&svm->nested.ctl, INTERCEPT_NMI);  in nested_exit_on_nmi()
 
 | 
| D | svm.c | 174 static int nested = true;  variable175 module_param(nested, int, S_IRUGO);
 641 	msrpm = is_guest_mode(vcpu) ? to_svm(vcpu)->nested.msrpm:  in msr_write_intercepted()
 923 	if (nested) {  in svm_set_cpu_caps()
 995 	if (nested) {  in svm_hardware_setup()
 1107 	return svm->nested.ctl.tsc_offset;  in svm_get_l2_tsc_offset()
 1258 	svm->nested.vmcb12_gpa = INVALID_GPA;  in init_vmcb()
 1259 	svm->nested.last_vmcb12_gpa = INVALID_GPA;  in init_vmcb()
 1565 			(svm->nested.ctl.int_ctl & V_TPR_MASK));  in svm_clear_vintr()
 1567 		svm->vmcb->control.int_ctl |= svm->nested.ctl.int_ctl &  in svm_clear_vintr()
 [all …]
 
 | 
| /Linux-v5.15/arch/x86/kvm/vmx/ | 
| D | nested.c | 180 	if (to_vmx(vcpu)->nested.hv_evmcs_vmptr != EVMPTR_INVALID)  in nested_vmx_failValid()181 		to_vmx(vcpu)->nested.need_vmcs12_to_shadow_sync = true;  in nested_vmx_failValid()
 194 	if (vmx->nested.current_vmptr == -1ull &&  in nested_vmx_fail()
 195 	    !evmptr_is_valid(vmx->nested.hv_evmcs_vmptr))  in nested_vmx_fail()
 222 	vmx->nested.need_vmcs12_to_shadow_sync = false;  in vmx_disable_shadow_vmcs()
 229 	if (evmptr_is_valid(vmx->nested.hv_evmcs_vmptr)) {  in nested_release_evmcs()
 230 		kvm_vcpu_unmap(vcpu, &vmx->nested.hv_evmcs_map, true);  in nested_release_evmcs()
 231 		vmx->nested.hv_evmcs = NULL;  in nested_release_evmcs()
 234 	vmx->nested.hv_evmcs_vmptr = EVMPTR_INVALID;  in nested_release_evmcs()
 286 	if (!vmx->nested.vmxon && !vmx->nested.smm.vmxon)  in free_nested()
 [all …]
 
 | 
| D | nested.h | 42 	return to_vmx(vcpu)->nested.cached_vmcs12;  in get_vmcs12()47 	return to_vmx(vcpu)->nested.cached_shadow_vmcs12;  in get_shadow_vmcs12()
 60 	return vmx->nested.current_vmptr != -1ull ||  in vmx_has_valid_vmcs12()
 61 		vmx->nested.hv_evmcs_vmptr != EVMPTR_INVALID;  in vmx_has_valid_vmcs12()
 68 	return vmx->nested.vpid02 ? vmx->nested.vpid02 : vmx->vpid;  in nested_get_vpid02()
 100 	return vmx_misc_cr3_count(to_vmx(vcpu)->nested.msrs.misc_low);  in nested_cpu_vmx_misc_cr3_count()
 110 	return to_vmx(vcpu)->nested.msrs.misc_low &  in nested_cpu_has_vmwrite_any_field()
 116 	return to_vmx(vcpu)->nested.msrs.misc_low & VMX_MISC_ZERO_LEN_INS;  in nested_cpu_has_zero_length_injection()
 121 	return to_vmx(vcpu)->nested.msrs.procbased_ctls_high &  in nested_cpu_supports_monitor_trap_flag()
 127 	return to_vmx(vcpu)->nested.msrs.secondary_ctls_high &  in nested_cpu_has_vmx_shadow_vmcs()
 [all …]
 
 | 
| D | vmx.c | 112 static bool __read_mostly nested = 1;  variable113 module_param(nested, bool, S_IRUGO);
 1138     	if (vmx->nested.need_vmcs12_to_shadow_sync)  in vmx_prepare_switch_to_guest()
 1576 		vmx->nested.mtf_pending = true;  in vmx_update_emulated_instruction()
 1578 		vmx->nested.mtf_pending = false;  in vmx_update_emulated_instruction()
 1731 	return nested && guest_cpuid_has(vcpu, X86_FEATURE_VMX);  in nested_vmx_allowed()
 1746 		if (!nested)  in vmx_get_msr_feature()
 1748 		return vmx_get_vmx_msr(&vmcs_config.nested, msr->index, &msr->data);  in vmx_get_msr_feature()
 1836 		if (vmx_get_vmx_msr(&vmx->nested.msrs, msr_info->index,  in vmx_get_msr()
 1847 		    vmx->nested.enlightened_vmcs_enabled)  in vmx_get_msr()
 [all …]
 
 | 
| /Linux-v5.15/Documentation/virt/kvm/ | 
| D | running-nested-guests.rst | 2 Running nested guests with KVM5 A nested guest is the ability to run a guest inside another guest (it
 34 - L2 – level-2 guest; a VM running on L1, this is the "nested guest"
 42           resulting in at least four levels in a nested setup — L0 (bare
 44           (guest hypervisor), L3 (nested guest).
 54 There are several scenarios where nested KVM can be useful, to name a
 59   Provider, using nested KVM lets you rent a large enough "guest
 61   multiple nested guests (level-2 guests), running different OSes, on
 64 - Live migration of "guest hypervisors" and their nested guests, for
 74 Enabling "nested" (x86)
 [all …]
 
 | 
| D | index.rst | 18    nested-vmx32    running-nested-guests
 
 | 
| D | nested-vmx.rst | 16 hypervisors (which use VMX) with their own nested guests. It does so by20 We describe in much greater detail the theory behind the nested VMX feature,
 32 In nested virtualization, we have three levels: The host (KVM), which we call
 33 L0, the guest hypervisor, which we call L1, and its nested guest, which we
 37 Running nested VMX
 40 The nested VMX feature is enabled by default since Linux kernel v4.20. For
 41 older Linux kernel, it can be enabled by giving the "nested=1" option to the
 65 As a VMX implementation, nested VMX presents a VMCS structure to L1.
 
 | 
| /Linux-v5.15/Documentation/networking/ | 
| D | ethtool-netlink.rst | 48 Each request or reply message contains a nested attribute with common header.84 type is used. For arbitrary length bitmaps, ethtool netlink uses a nested
 104 Compact form: nested (bitset) atrribute contents:
 129 Bit-by-bit form: nested (bitset) attribute contents:
 136  | ``ETHTOOL_A_BITSET_BITS``          | nested | array of bits               |
 138  | | ``ETHTOOL_A_BITSET_BITS_BIT+``   | nested | one bit                     |
 301  | ``ETHTOOL_A_STRSET_HEADER``           | nested | request header         |
 303  | ``ETHTOOL_A_STRSET_STRINGSETS``       | nested | string set to request  |
 305  | | ``ETHTOOL_A_STRINGSETS_STRINGSET+`` | nested | one string set         |
 313  | ``ETHTOOL_A_STRSET_HEADER``           | nested | reply header          |
 [all …]
 
 | 
| /Linux-v5.15/tools/perf/bench/ | 
| D | epoll-wait.c | 104 static unsigned int nested = 0;  variable137 …OPT_UINTEGER( 'N', "nested",  &nested,   "Nesting level epoll hierarchy (default is 0, no nesting)…
 245 	if (nested > EPOLL_MAXNESTS)  in nest_epollfd()
 246 		nested = EPOLL_MAXNESTS;  in nest_epollfd()
 248 	epollfdp = calloc(nested, sizeof(*epollfdp));  in nest_epollfd()
 252 	for (i = 0; i < nested; i++) {  in nest_epollfd()
 261 	for (i = nested - 1; i; i--) {  in nest_epollfd()
 317 			if (nested)  in do_threads()
 446 		if (nested)  in bench_epoll_wait()
 451 	printinfo("Nesting level(s): %d\n", nested);  in bench_epoll_wait()
 
 | 
| D | epoll-ctl.c | 56 static unsigned int nested = 0;  variable78 …OPT_UINTEGER( 'N', "nested",  &nested,   "Nesting level epoll hierarchy (default is 0, no nesting)…
 104 	if (nested > EPOLL_MAXNESTS)  in nest_epollfd()
 105 		nested = EPOLL_MAXNESTS;  in nest_epollfd()
 106 	printinfo("Nesting level(s): %d\n", nested);  in nest_epollfd()
 108 	epollfdp = calloc(nested, sizeof(int));  in nest_epollfd()
 112 	for (i = 0; i < nested; i++) {  in nest_epollfd()
 121 	for (i = nested - 1; i; i--) {  in nest_epollfd()
 331 	if (nested)  in bench_epoll_ctl()
 
 | 
| /Linux-v5.15/net/netfilter/ipset/ | 
| D | ip_set_bitmap_gen.h | 95 	struct nlattr *nested;  in mtype_head()  local98 	nested = nla_nest_start(skb, IPSET_ATTR_DATA);  in mtype_head()
 99 	if (!nested)  in mtype_head()
 108 	nla_nest_end(skb, nested);  in mtype_head()
 207 	struct nlattr *adt, *nested;  in mtype_list()  local
 229 		nested = nla_nest_start(skb, IPSET_ATTR_DATA);  in mtype_list()
 230 		if (!nested) {  in mtype_list()
 243 		nla_nest_end(skb, nested);  in mtype_list()
 253 	nla_nest_cancel(skb, nested);  in mtype_list()
 
 | 
| D | ip_set_list_set.c | 462 	struct nlattr *nested;  in list_set_head()  local465 	nested = nla_nest_start(skb, IPSET_ATTR_DATA);  in list_set_head()
 466 	if (!nested)  in list_set_head()
 475 	nla_nest_end(skb, nested);  in list_set_head()
 487 	struct nlattr *atd, *nested;  in list_set_list()  local
 505 		nested = nla_nest_start(skb, IPSET_ATTR_DATA);  in list_set_list()
 506 		if (!nested)  in list_set_list()
 513 		nla_nest_end(skb, nested);  in list_set_list()
 523 	nla_nest_cancel(skb, nested);  in list_set_list()
 
 | 
| /Linux-v5.15/scripts/coccinelle/locks/ | 
| D | flags.cocci | 2 /// Find nested lock+irqsave functions that use the same flags variables73 cocci.print_secs("nested lock+irqsave that reuses flags",p2)
 80 msg="ERROR: nested lock+irqsave that reuses flags from line %s." % (p1[0].line)
 
 | 
| /Linux-v5.15/arch/um/os-Linux/ | 
| D | signal.c | 184 		int nested, bail;  in hard_handler()  local200 		nested = pending & 1;  in hard_handler()
 215 		if (!nested)  in hard_handler()
 216 			pending = from_irq_stack(nested);  in hard_handler()
 
 | 
| /Linux-v5.15/arch/powerpc/kvm/ | 
| D | book3s_hv_p9_entry.c | 97 	struct kvm_nested_guest *nested = vcpu->arch.nested;  in switch_mmu_to_guest_radix()  local100 	lpid = nested ? nested->shadow_lpid : kvm->arch.lpid;  in switch_mmu_to_guest_radix()
 189 	struct kvm_nested_guest *nested = vcpu->arch.nested;  in kvmhv_vcpu_entry_p9()  local
 312 	kvmppc_check_need_tlb_flush(kvm, vc->pcpu, nested);  in kvmhv_vcpu_entry_p9()
 
 | 
| D | book3s_64_mmu_radix.c | 101 	if (vcpu->arch.nested)  in kvmhv_copy_tofrom_guest_radix()102 		lpid = vcpu->arch.nested->shadow_lpid;  in kvmhv_copy_tofrom_guest_radix()
 781 bool kvmppc_hv_handle_set_rc(struct kvm *kvm, bool nested, bool writing,  in kvmppc_hv_handle_set_rc()  argument
 797 	if (nested)  in kvmppc_hv_handle_set_rc()
 1293 	struct kvm_nested_guest *nested;  in debugfs_radix_read()  local
 1329 	nested = NULL;  in debugfs_radix_read()
 1335 			if (nested) {  in debugfs_radix_read()
 1336 				kvmhv_put_nested(nested);  in debugfs_radix_read()
 1337 				nested = NULL;  in debugfs_radix_read()
 1348 				nested = kvmhv_get_nested(kvm, p->lpid, false);  in debugfs_radix_read()
 [all …]
 
 | 
| /Linux-v5.15/Documentation/x86/ | 
| D | kernel-stacks.rst | 28   hardware interrupt (i.e. not a nested hardware interrupt) then the54 nested IST interrupts then the handler must adjust the IST values on
 59 nested.  For example, a debug interrupt can safely be interrupted by an
 62 IST events with the same code to be nested.  However in most cases, the
 95   To handle nested #DB correctly there exist two instances of DB stacks. On
 97   so a nested #DB starts from a clean stack. The nested #DB switches
 
 | 
| /Linux-v5.15/arch/x86/kvm/ | 
| D | Makefile | 30 			   vmx/evmcs.o vmx/nested.o vmx/posted_intr.o33 kvm-amd-y		+= svm/svm.o svm/vmenter.o svm/pmu.o svm/nested.o svm/avic.o svm/sev.o
 
 | 
| /Linux-v5.15/Documentation/filesystems/ | 
| D | ceph.rst | 23  * Recursive accounting (nested files, directories, bytes)56 a snapshot on any subdirectory (and its nested contents) in the
 60 Ceph also provides some recursive accounting on directories for nested
 62 system will reveal the total number of nested regular files and
 63 subdirectories, and a summation of all nested file sizes.  This makes
 129 	the summation of file sizes over all files nested beneath that
 
 | 
| /Linux-v5.15/arch/um/kernel/ | 
| D | irq.c | 711 	int nested;  in to_irq_stack()  local733 	nested = (ti->real_thread != NULL);  in to_irq_stack()
 734 	if (!nested) {  in to_irq_stack()
 747 	*mask_out |= mask | nested;  in to_irq_stack()
 751 unsigned long from_irq_stack(int nested)  in from_irq_stack()  argument
 
 | 
| /Linux-v5.15/scripts/coccinelle/misc/ | 
| D | irqf_oneshot.cocci | 106 …ING: Threaded IRQ with no primary handler requested without IRQF_ONESHOT (unless it is nested IRQ)"112 …ING: Threaded IRQ with no primary handler requested without IRQF_ONESHOT (unless it is nested IRQ)"
 
 | 
| /Linux-v5.15/tools/perf/scripts/python/Perf-Trace-Util/ | 
| D | Build | 3 …EMBED_CCOPTS) -Wno-redundant-decls -Wno-strict-prototypes -Wno-unused-parameter -Wno-nested-externs
 | 
| /Linux-v5.15/arch/x86/hyperv/ | 
| D | Makefile | 2 obj-y			:= hv_init.o mmu.o nested.o irqdomain.o
 |