/openbmc/linux/arch/x86/kvm/vmx/ |
H A D | nested.c | 183 if (to_vmx(vcpu)->nested.hv_evmcs_vmptr != EVMPTR_INVALID) in nested_vmx_failValid() 184 to_vmx(vcpu)->nested.need_vmcs12_to_shadow_sync = true; in nested_vmx_failValid() 197 if (vmx->nested.current_vmptr == INVALID_GPA && in nested_vmx_fail() 198 !evmptr_is_valid(vmx->nested.hv_evmcs_vmptr)) in nested_vmx_fail() 225 vmx->nested.need_vmcs12_to_shadow_sync = false; in vmx_disable_shadow_vmcs() 233 if (evmptr_is_valid(vmx->nested.hv_evmcs_vmptr)) { in nested_release_evmcs() 234 kvm_vcpu_unmap(vcpu, &vmx->nested.hv_evmcs_map, true); in nested_release_evmcs() 235 vmx->nested.hv_evmcs = NULL; in nested_release_evmcs() 238 vmx->nested.hv_evmcs_vmptr = EVMPTR_INVALID; in nested_release_evmcs() 241 hv_vcpu->nested.pa_page_gpa = INVALID_GPA; in nested_release_evmcs() [all …]
|
H A D | nested.h | 41 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() 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 …]
|
H A D | vmx.c | 118 static bool __read_mostly nested = 1; variable 119 module_param(nested, bool, S_IRUGO); 1323 if (vmx->nested.need_vmcs12_to_shadow_sync) in vmx_prepare_switch_to_guest() 1782 vmx->nested.mtf_pending = true; in vmx_update_emulated_instruction() 1785 vmx->nested.mtf_pending = false; in vmx_update_emulated_instruction() 1981 if (!nested) in vmx_get_msr_feature() 1983 return vmx_get_vmx_msr(&vmcs_config.nested, msr->index, &msr->data); in vmx_get_msr_feature() 2068 if (vmx_get_vmx_msr(&vmx->nested.msrs, msr_info->index, in vmx_get_msr() 2269 ((vmx->nested.msrs.entry_ctls_high & VM_ENTRY_LOAD_BNDCFGS) || in vmx_set_msr() 2270 (vmx->nested.msrs.exit_ctls_high & VM_EXIT_CLEAR_BNDCFGS))) in vmx_set_msr() [all …]
|
/openbmc/linux/arch/x86/kvm/svm/ |
H A D | nested.c | 62 u64 cr3 = svm->nested.ctl.nested_cr3; in nested_svm_get_tdp_pdptr() 81 return svm->nested.ctl.nested_cr3; in nested_svm_get_tdp_cr3() 99 svm->nested.ctl.nested_cr3); in nested_svm_init_mmu_context() 120 if (!(svm->nested.ctl.virt_ext & VIRTUAL_VMLOAD_VMSAVE_ENABLE_MASK)) in nested_vmcb_needs_vls_intercept() 139 g = &svm->nested.ctl; in recalc_intercepts() 194 struct hv_vmcb_enlightenments *hve = &svm->nested.ctl.hv_enlightenments; in nested_svm_vmrun_msrpm() 205 if (!svm->nested.force_msr_bitmap_recalc && in nested_svm_vmrun_msrpm() 208 (svm->nested.ctl.clean & BIT(HV_VMCB_NESTED_ENLIGHTENMENTS))) in nested_svm_vmrun_msrpm() 211 if (!(vmcb12_is_intercept(&svm->nested.ctl, INTERCEPT_MSR_PROT))) in nested_svm_vmrun_msrpm() 227 offset = svm->nested.ctl.msrpm_base_pa + (p * 4); in nested_svm_vmrun_msrpm() [all …]
|
H A D | hyperv.h | 17 struct hv_vmcb_enlightenments *hve = &svm->nested.ctl.hv_enlightenments; in nested_svm_hv_update_vm_vp_ids() 23 hv_vcpu->nested.pa_page_gpa = hve->partition_assist_page; in nested_svm_hv_update_vm_vp_ids() 24 hv_vcpu->nested.vm_id = hve->hv_vm_id; in nested_svm_hv_update_vm_vp_ids() 25 hv_vcpu->nested.vp_id = hve->hv_vp_id; in nested_svm_hv_update_vm_vp_ids() 31 struct hv_vmcb_enlightenments *hve = &svm->nested.ctl.hv_enlightenments; in nested_svm_l2_tlb_flush_enabled()
|
H A D | svm.h | 237 struct svm_nested_state nested; member 448 (svm->nested.ctl.int_ctl & V_GIF_ENABLE_MASK); in nested_vgif_enabled() 457 return svm->nested.vmcb02.ptr; in get_vgif_vmcb() 494 return svm->nested.ctl.nested_ctl & SVM_NESTED_CTL_NP_ENABLE; in nested_npt_enabled() 500 (svm->nested.ctl.int_ctl & V_NMI_ENABLE_MASK); in nested_vnmi_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()
|
/openbmc/linux/Documentation/virt/kvm/x86/ |
H A D | running-nested-guests.rst | 4 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 …]
|
H A D | index.rst | 16 nested-vmx 17 running-nested-guests
|
H A D | nested-vmx.rst | 16 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.
|
/openbmc/linux/rust/macros/ |
H A D | zeroable.rs | 23 let mut nested = 0; in derive() localVariable 27 TokenTree::Punct(p) if nested == 0 && p.as_char() == ',' => { in derive() 36 TokenTree::Punct(p) if nested == 0 && p.as_char() == '\'' => { in derive() 40 TokenTree::Punct(p) if nested == 0 && p.as_char() == ':' => { in derive() 48 nested += 1; in derive() 52 assert!(nested > 0); in derive() 53 nested -= 1; in derive() 59 assert_eq!(nested, 0); in derive()
|
/openbmc/linux/Documentation/networking/ |
H A D | ethtool-netlink.rst | 53 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) attribute 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 | 317 | ``ETHTOOL_A_STRSET_HEADER`` | nested | request header | 319 | ``ETHTOOL_A_STRSET_STRINGSETS`` | nested | string set to request | 321 | | ``ETHTOOL_A_STRINGSETS_STRINGSET+`` | nested | one string set | 329 | ``ETHTOOL_A_STRSET_HEADER`` | nested | reply header | [all …]
|
/openbmc/qemu/tests/qapi-schema/ |
H A D | alternate-nested.err | 1 alternate-nested.json: In alternate 'Alt2': 2 alternate-nested.json:4: branch 'nested' cannot use alternate type 'Alt1'
|
H A D | alternate-nested.json | 1 # we reject a nested alternate branch 5 'data': { 'nested': 'Alt1', 'b': 'bool' } }
|
H A D | nested-struct-data.err | 1 nested-struct-data.json: In command 'foo': 2 nested-struct-data.json:2: 'data' member 'a' should be a type name or array
|
H A D | nested-struct-data-invalid-dict.err | 1 nested-struct-data-invalid-dict.json: In command 'foo': 2 nested-struct-data-invalid-dict.json:3: 'data' member 'a' misses key 'type'
|
/openbmc/qemu/tests/unit/ |
H A D | test-nested-aio-poll.c | 28 bool nested; member 50 g_assert(!td->nested); in io_poll_ready() 51 td->nested = true; in io_poll_ready() 59 td->nested = false; in io_poll_ready()
|
/openbmc/linux/tools/perf/bench/ |
H A D | epoll-ctl.c | 57 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()
|
H A D | epoll-wait.c | 105 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()
|
/openbmc/linux/net/netfilter/ipset/ |
H A D | ip_set_bitmap_gen.h | 93 struct nlattr *nested; in mtype_head() local 96 nested = nla_nest_start(skb, IPSET_ATTR_DATA); in mtype_head() 97 if (!nested) in mtype_head() 106 nla_nest_end(skb, nested); in mtype_head() 205 struct nlattr *adt, *nested; in mtype_list() local 227 nested = nla_nest_start(skb, IPSET_ATTR_DATA); in mtype_list() 228 if (!nested) { in mtype_list() 241 nla_nest_end(skb, nested); in mtype_list() 251 nla_nest_cancel(skb, nested); in mtype_list()
|
H A D | ip_set_list_set.c | 457 struct nlattr *nested; in list_set_head() local 460 nested = nla_nest_start(skb, IPSET_ATTR_DATA); in list_set_head() 461 if (!nested) in list_set_head() 470 nla_nest_end(skb, nested); in list_set_head() 482 struct nlattr *atd, *nested; in list_set_list() local 500 nested = nla_nest_start(skb, IPSET_ATTR_DATA); in list_set_list() 501 if (!nested) in list_set_list() 508 nla_nest_end(skb, nested); in list_set_list() 518 nla_nest_cancel(skb, nested); in list_set_list()
|
/openbmc/linux/scripts/coccinelle/locks/ |
H A D | flags.cocci | 2 /// 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)
|
/openbmc/linux/arch/powerpc/kvm/ |
H A D | book3s_hv_p9_entry.c | 137 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()
|
/openbmc/linux/arch/um/os-Linux/ |
H A D | signal.c | 196 int nested, bail; in hard_handler() local 212 nested = pending & 1; in hard_handler() 227 if (!nested) in hard_handler() 228 pending = from_irq_stack(nested); in hard_handler()
|
/openbmc/qemu/hw/ppc/ |
H A D | spapr_nested.c | 19 spapr->nested.capabilities_set = false; in spapr_nested_reset() 24 spapr->nested.api = 0; in spapr_nested_reset() 30 return spapr->nested.api; in spapr_nested_api() 42 patb = spapr->nested.ptcr & PTCR_PATB; in spapr_get_pate_nested_hv() 43 pats = spapr->nested.ptcr & PTCR_PATS; in spapr_get_pate_nested_hv() 69 guest = g_hash_table_lookup(spapr->nested.guests, GINT_TO_POINTER(guestid)); in spapr_get_nested_guest() 105 spapr->nested.ptcr = ptcr; /* Save new partition table */ in h_set_ptbl() 343 if (spapr->nested.ptcr == 0) { in h_enter_nested() 1264 if (!spapr->nested.capabilities_set) { in h_guest_set_capabilities() 1265 spapr->nested.capabilities_set = true; in h_guest_set_capabilities() [all …]
|
/openbmc/linux/Documentation/dev-tools/ |
H A D | ktap.rst | 16 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
|