Home
last modified time | relevance | path

Searched refs:nested (Results 1 – 25 of 126) sorted by relevance

123456

/Linux-v6.1/arch/x86/kvm/svm/
Dnested.c61 u64 cr3 = svm->nested.ctl.nested_cr3; in nested_svm_get_tdp_pdptr()
76 return svm->nested.ctl.nested_cr3; in nested_svm_get_tdp_cr3()
94 svm->nested.ctl.nested_cr3); in nested_svm_init_mmu_context()
115 if (!(svm->nested.ctl.virt_ext & VIRTUAL_VMLOAD_VMSAVE_ENABLE_MASK)) in nested_vmcb_needs_vls_intercept()
134 g = &svm->nested.ctl; in recalc_intercepts()
183 (struct hv_enlightenments *)svm->nested.ctl.reserved_sw; in nested_svm_vmrun_msrpm()
194 if (!svm->nested.force_msr_bitmap_recalc && in nested_svm_vmrun_msrpm()
197 (svm->nested.ctl.clean & BIT(VMCB_HV_NESTED_ENLIGHTENMENTS))) in nested_svm_vmrun_msrpm()
200 if (!(vmcb12_is_intercept(&svm->nested.ctl, INTERCEPT_MSR_PROT))) in nested_svm_vmrun_msrpm()
216 offset = svm->nested.ctl.msrpm_base_pa + (p * 4); in nested_svm_vmrun_msrpm()
[all …]
Dsvm.h235 struct svm_nested_state nested; member
476 return svm->vgif_enabled && (svm->nested.ctl.int_ctl & V_GIF_ENABLE_MASK); in nested_vgif_enabled()
485 return svm->nested.vmcb02.ptr; in get_vgif_vmcb()
522 return svm->nested.ctl.nested_ctl & SVM_NESTED_CTL_NP_ENABLE; in nested_npt_enabled()
573 return is_guest_mode(vcpu) && (svm->nested.ctl.int_ctl & V_INTR_MASKING_MASK); in nested_svm_virtualize_tpr()
578 return vmcb12_is_intercept(&svm->nested.ctl, INTERCEPT_SMI); in nested_exit_on_smi()
583 return vmcb12_is_intercept(&svm->nested.ctl, INTERCEPT_INTR); in nested_exit_on_intr()
588 return vmcb12_is_intercept(&svm->nested.ctl, INTERCEPT_NMI); in nested_exit_on_nmi()
Dsvm.c196 static int nested = true; variable
197 module_param(nested, int, S_IRUGO);
726 msrpm = is_guest_mode(vcpu) ? to_svm(vcpu)->nested.msrpm: in msr_write_intercepted()
772 svm->nested.force_msr_bitmap_recalc = true; in set_msr_interception_bitmap()
985 if (unlikely(svm->nested.ctl.virt_ext & LBR_CTL_ENABLE_MASK)) in svm_update_lbrv()
1087 return svm->nested.ctl.tsc_offset; in svm_get_l2_tsc_offset()
1277 svm->nested.vmcb12_gpa = INVALID_GPA; in init_vmcb()
1278 svm->nested.last_vmcb12_gpa = INVALID_GPA; in init_vmcb()
1592 (svm->nested.ctl.int_ctl & V_TPR_MASK)); in svm_clear_vintr()
1594 svm->vmcb->control.int_ctl |= svm->nested.ctl.int_ctl & in svm_clear_vintr()
[all …]
/Linux-v6.1/arch/x86/kvm/vmx/
Dnested.c181 if (to_vmx(vcpu)->nested.hv_evmcs_vmptr != EVMPTR_INVALID) in nested_vmx_failValid()
182 to_vmx(vcpu)->nested.need_vmcs12_to_shadow_sync = true; in nested_vmx_failValid()
195 if (vmx->nested.current_vmptr == INVALID_GPA && in nested_vmx_fail()
196 !evmptr_is_valid(vmx->nested.hv_evmcs_vmptr)) in nested_vmx_fail()
223 vmx->nested.need_vmcs12_to_shadow_sync = false; in vmx_disable_shadow_vmcs()
230 if (evmptr_is_valid(vmx->nested.hv_evmcs_vmptr)) { in nested_release_evmcs()
231 kvm_vcpu_unmap(vcpu, &vmx->nested.hv_evmcs_map, true); in nested_release_evmcs()
232 vmx->nested.hv_evmcs = NULL; in nested_release_evmcs()
235 vmx->nested.hv_evmcs_vmptr = EVMPTR_INVALID; in nested_release_evmcs()
293 if (!vmx->nested.vmxon && !vmx->nested.smm.vmxon) in free_nested()
[all …]
Dnested.h41 return to_vmx(vcpu)->nested.cached_vmcs12; in get_vmcs12()
46 return to_vmx(vcpu)->nested.cached_shadow_vmcs12; in get_shadow_vmcs12()
59 return vmx->nested.current_vmptr != -1ull || in vmx_has_valid_vmcs12()
60 vmx->nested.hv_evmcs_vmptr != EVMPTR_INVALID; in vmx_has_valid_vmcs12()
67 return vmx->nested.vpid02 ? vmx->nested.vpid02 : vmx->vpid; in nested_get_vpid02()
99 return vmx_misc_cr3_count(to_vmx(vcpu)->nested.msrs.misc_low); in nested_cpu_vmx_misc_cr3_count()
109 return to_vmx(vcpu)->nested.msrs.misc_low & in nested_cpu_has_vmwrite_any_field()
115 return to_vmx(vcpu)->nested.msrs.misc_low & VMX_MISC_ZERO_LEN_INS; in nested_cpu_has_zero_length_injection()
120 return to_vmx(vcpu)->nested.msrs.procbased_ctls_high & in nested_cpu_supports_monitor_trap_flag()
126 return to_vmx(vcpu)->nested.msrs.secondary_ctls_high & in nested_cpu_has_vmx_shadow_vmcs()
[all …]
Dvmx.c116 static bool __read_mostly nested = 1; variable
117 module_param(nested, bool, S_IRUGO);
1217 if (vmx->nested.need_vmcs12_to_shadow_sync) in vmx_prepare_switch_to_guest()
1669 vmx->nested.mtf_pending = true; in vmx_update_emulated_instruction()
1672 vmx->nested.mtf_pending = false; in vmx_update_emulated_instruction()
1834 return nested && guest_cpuid_has(vcpu, X86_FEATURE_VMX); in nested_vmx_allowed()
1849 if (!nested) in vmx_get_msr_feature()
1851 return vmx_get_vmx_msr(&vmcs_config.nested, msr->index, &msr->data); in vmx_get_msr_feature()
1939 if (vmx_get_vmx_msr(&vmx->nested.msrs, msr_info->index, in vmx_get_msr()
2142 ((vmx->nested.msrs.entry_ctls_high & VM_ENTRY_LOAD_BNDCFGS) || in vmx_set_msr()
[all …]
/Linux-v6.1/Documentation/virt/kvm/x86/
Drunning-nested-guests.rst4 Running nested guests with KVM
7 A nested guest is the ability to run a guest inside another guest (it
36 - L2 – level-2 guest; a VM running on L1, this is the "nested guest"
44 resulting in at least four levels in a nested setup — L0 (bare
46 (guest hypervisor), L3 (nested guest).
56 There are several scenarios where nested KVM can be useful, to name a
61 Provider, using nested KVM lets you rent a large enough "guest
63 multiple nested guests (level-2 guests), running different OSes, on
66 - Live migration of "guest hypervisors" and their nested guests, for
76 Enabling "nested" (x86)
[all …]
Dindex.rst16 nested-vmx
17 running-nested-guests
Dnested-vmx.rst16 hypervisors (which use VMX) with their own nested guests. It does so by
20 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-v6.1/Documentation/networking/
Dethtool-netlink.rst53 Each request or reply message contains a nested attribute with common header.
89 type is used. For arbitrary length bitmaps, ethtool netlink uses a nested
109 Compact form: nested (bitset) atrribute contents:
134 Bit-by-bit form: nested (bitset) attribute contents:
141 | ``ETHTOOL_A_BITSET_BITS`` | nested | array of bits |
143 | | ``ETHTOOL_A_BITSET_BITS_BIT+`` | nested | one bit |
312 | ``ETHTOOL_A_STRSET_HEADER`` | nested | request header |
314 | ``ETHTOOL_A_STRSET_STRINGSETS`` | nested | string set to request |
316 | | ``ETHTOOL_A_STRINGSETS_STRINGSET+`` | nested | one string set |
324 | ``ETHTOOL_A_STRSET_HEADER`` | nested | reply header |
[all …]
/Linux-v6.1/net/netfilter/ipset/
Dip_set_bitmap_gen.h95 struct nlattr *nested; in mtype_head() local
98 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()
Dip_set_list_set.c462 struct nlattr *nested; in list_set_head() local
465 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-v6.1/tools/perf/bench/
Depoll-ctl.c57 static unsigned int nested = 0; variable
79 …OPT_UINTEGER( 'N', "nested", &nested, "Nesting level epoll hierarchy (default is 0, no nesting)…
105 if (nested > EPOLL_MAXNESTS) in nest_epollfd()
106 nested = EPOLL_MAXNESTS; in nest_epollfd()
107 printinfo("Nesting level(s): %d\n", nested); in nest_epollfd()
109 epollfdp = calloc(nested, sizeof(int)); in nest_epollfd()
113 for (i = 0; i < nested; i++) { in nest_epollfd()
122 for (i = nested - 1; i; i--) { in nest_epollfd()
345 if (nested) in bench_epoll_ctl()
Depoll-wait.c105 static unsigned int nested = 0; variable
138 …OPT_UINTEGER( 'N', "nested", &nested, "Nesting level epoll hierarchy (default is 0, no nesting)…
246 if (nested > EPOLL_MAXNESTS) in nest_epollfd()
247 nested = EPOLL_MAXNESTS; in nest_epollfd()
249 epollfdp = calloc(nested, sizeof(*epollfdp)); in nest_epollfd()
253 for (i = 0; i < nested; i++) { in nest_epollfd()
262 for (i = nested - 1; i; i--) { in nest_epollfd()
325 if (nested) in do_threads()
460 if (nested) in bench_epoll_wait()
465 printinfo("Nesting level(s): %d\n", nested); in bench_epoll_wait()
/Linux-v6.1/scripts/coccinelle/locks/
Dflags.cocci2 /// Find nested lock+irqsave functions that use the same flags variables
73 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-v6.1/arch/um/os-Linux/
Dsignal.c184 int nested, bail; in hard_handler() local
200 nested = pending & 1; in hard_handler()
215 if (!nested) in hard_handler()
216 pending = from_irq_stack(nested); in hard_handler()
/Linux-v6.1/arch/powerpc/kvm/
Dbook3s_hv_p9_entry.c137 if (!vcpu->arch.nested) { in store_vcpu_state()
201 if (!vcpu->arch.nested) { in restore_p9_host_os_sprs()
303 struct kvm_nested_guest *nested = vcpu->arch.nested; in switch_mmu_to_guest_radix() local
307 lpid = nested ? nested->shadow_lpid : kvm->arch.lpid; in switch_mmu_to_guest_radix()
454 struct kvm_nested_guest *nested) in check_need_tlb_flush() argument
460 if (nested) in check_need_tlb_flush()
461 need_tlb_flush = &nested->need_tlb_flush; in check_need_tlb_flush()
536 struct kvm_nested_guest *nested = vcpu->arch.nested; in kvmhv_vcpu_entry_p9() local
703 check_need_tlb_flush(kvm, vc->pcpu, nested); in kvmhv_vcpu_entry_p9()
Dbook3s_64_mmu_radix.c106 if (vcpu->arch.nested) in kvmhv_copy_tofrom_guest_radix()
107 lpid = vcpu->arch.nested->shadow_lpid; in kvmhv_copy_tofrom_guest_radix()
787 bool kvmppc_hv_handle_set_rc(struct kvm *kvm, bool nested, bool writing, in kvmppc_hv_handle_set_rc() argument
803 if (nested) in kvmppc_hv_handle_set_rc()
1299 struct kvm_nested_guest *nested; in debugfs_radix_read() local
1335 nested = NULL; in debugfs_radix_read()
1341 if (nested) { in debugfs_radix_read()
1342 kvmhv_put_nested(nested); in debugfs_radix_read()
1343 nested = NULL; in debugfs_radix_read()
1354 nested = kvmhv_get_nested(kvm, p->lpid, false); in debugfs_radix_read()
[all …]
/Linux-v6.1/Documentation/dev-tools/
Dktap.rst16 KTAP test results describe a series of tests (which may be nested: i.e., test
29 information, in particular nested test results, may be lost. Also note that
46 start of the nested test results. This differs from TAP14, which uses a
59 Plan lines follow version lines to indicate the number of nested tests.
185 In KTAP, tests can be nested. This is done by having a test include within its
201 An example of a test with two nested subtests:
214 An example format with multiple levels of nested testing:
240 allows an arbitrary number of tests to be nested no yes
245 The TAP14 specification does permit nested tests, but instead of using another
246 nested version line, uses a line of the form
/Linux-v6.1/Documentation/x86/
Dkernel-stacks.rst28 hardware interrupt (i.e. not a nested hardware interrupt) then the
54 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-v6.1/tools/testing/selftests/kvm/lib/
Dperf_test_util.c147 if (pta->nested) in perf_test_create_vm()
168 if (pta->nested) in perf_test_create_vm()
207 if (pta->nested) { in perf_test_create_vm()
/Linux-v6.1/arch/x86/kvm/
DMakefile25 vmx/evmcs.o vmx/nested.o vmx/posted_intr.o
28 kvm-amd-y += svm/svm.o svm/vmenter.o svm/pmu.o svm/nested.o svm/avic.o svm/sev.o
/Linux-v6.1/arch/um/kernel/
Dirq.c711 int nested; in to_irq_stack() local
733 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-v6.1/scripts/coccinelle/misc/
Dirqf_oneshot.cocci106 …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-v6.1/tools/perf/scripts/python/Perf-Trace-Util/
DBuild3 …EMBED_CCOPTS) -Wno-redundant-decls -Wno-strict-prototypes -Wno-unused-parameter -Wno-nested-externs

123456