/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; member 444 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; variable 175 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; variable 113 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 KVM 5 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-vmx 32 running-nested-guests
|
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.
|
/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; variable 137 …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; variable 78 …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() 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()
|
D | ip_set_list_set.c | 462 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-v5.15/scripts/coccinelle/locks/ |
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)
|
/Linux-v5.15/arch/um/os-Linux/ |
D | signal.c | 184 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-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() local 100 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 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-v5.15/arch/x86/kvm/ |
D | Makefile | 30 vmx/evmcs.o vmx/nested.o vmx/posted_intr.o 33 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() 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-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
|