| /kernel/linux/linux-5.10/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 13 | (Nested Guest) | | (Nested Guest) | 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 [all …]
|
| D | nested-vmx.rst | 4 Nested VMX 15 The "Nested VMX" feature adds this missing capability - of running guest 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, 22 "The Turtles Project: Design and Implementation of Nested Virtualization", 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 disabled by default. It can be enabled by giving 41 the "nested=1" option to the kvm-intel module. [all …]
|
| /kernel/linux/linux-6.6/Documentation/virt/kvm/x86/ |
| 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 15 | (Nested Guest) | | (Nested Guest) | 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 [all …]
|
| D | nested-vmx.rst | 4 Nested VMX 15 The "Nested VMX" feature adds this missing capability - of running guest 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, 22 "The Turtles Project: Design and Implementation of Nested Virtualization", 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 [all …]
|
| /kernel/linux/linux-5.10/include/uapi/linux/ |
| D | devlink.h | 360 DEVLINK_ATTR_DPIPE_TABLES, /* nested */ 361 DEVLINK_ATTR_DPIPE_TABLE, /* nested */ 364 DEVLINK_ATTR_DPIPE_TABLE_MATCHES, /* nested */ 365 DEVLINK_ATTR_DPIPE_TABLE_ACTIONS, /* nested */ 368 DEVLINK_ATTR_DPIPE_ENTRIES, /* nested */ 369 DEVLINK_ATTR_DPIPE_ENTRY, /* nested */ 371 DEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES, /* nested */ 372 DEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES, /* nested */ 375 DEVLINK_ATTR_DPIPE_MATCH, /* nested */ 376 DEVLINK_ATTR_DPIPE_MATCH_VALUE, /* nested */ [all …]
|
| D | if_macsec.h | 43 MACSEC_ATTR_RXSC_CONFIG, /* config, nested macsec_rxsc_attrs */ 44 MACSEC_ATTR_SA_CONFIG, /* config, nested macsec_sa_attrs */ 45 MACSEC_ATTR_SECY, /* dump, nested macsec_secy_attrs */ 46 MACSEC_ATTR_TXSA_LIST, /* dump, nested, macsec_sa_attrs for each TXSA */ 47 MACSEC_ATTR_RXSC_LIST, /* dump, nested, macsec_rxsc_attrs for each RXSC */ 48 MACSEC_ATTR_TXSC_STATS, /* dump, nested, macsec_txsc_stats_attr */ 49 MACSEC_ATTR_SECY_STATS, /* dump, nested, macsec_secy_stats_attr */ 50 MACSEC_ATTR_OFFLOAD, /* config, nested, macsec_offload_attrs */ 81 MACSEC_RXSC_ATTR_SA_LIST, /* dump, nested */ 82 MACSEC_RXSC_ATTR_STATS, /* dump, nested, macsec_rxsc_stats_attr */ [all …]
|
| D | openvswitch.h | 157 * extracted from the packet as nested %OVS_KEY_ATTR_* attributes. This allows 161 * for %OVS_PACKET_CMD_EXECUTE. It has nested %OVS_ACTION_ATTR_* attributes. 172 * extracted from the packet as nested %OVS_TUNNEL_KEY_ATTR_* attributes. 185 OVS_PACKET_ATTR_KEY, /* Nested OVS_KEY_ATTR_* attributes. */ 186 OVS_PACKET_ATTR_ACTIONS, /* Nested OVS_ACTION_ATTR_* attributes. */ 188 OVS_PACKET_ATTR_EGRESS_TUN_KEY, /* Nested OVS_TUNNEL_KEY_ATTR_* 262 OVS_VPORT_ATTR_OPTIONS, /* nested attributes, varies by vport type */ 315 OVS_KEY_ATTR_ENCAP, /* Nested set of encapsulated attributes. */ 330 OVS_KEY_ATTR_TUNNEL, /* Nested set of ovs_tunnel attributes */ 345 OVS_KEY_ATTR_NSH, /* Nested set of ovs_nsh_key_* */ [all …]
|
| D | net_dropmon.h | 77 NET_DM_ATTR_IN_PORT, /* nested */ 85 NET_DM_ATTR_STATS, /* nested */ 86 NET_DM_ATTR_HW_STATS, /* nested */ 90 NET_DM_ATTR_HW_ENTRIES, /* nested */ 91 NET_DM_ATTR_HW_ENTRY, /* nested */
|
| /kernel/linux/linux-6.6/include/uapi/linux/ |
| D | devlink.h | 298 DEVLINK_ATTR_SELFTEST_RESULT, /* nested */ 419 DEVLINK_ATTR_DPIPE_TABLES, /* nested */ 420 DEVLINK_ATTR_DPIPE_TABLE, /* nested */ 423 DEVLINK_ATTR_DPIPE_TABLE_MATCHES, /* nested */ 424 DEVLINK_ATTR_DPIPE_TABLE_ACTIONS, /* nested */ 427 DEVLINK_ATTR_DPIPE_ENTRIES, /* nested */ 428 DEVLINK_ATTR_DPIPE_ENTRY, /* nested */ 430 DEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES, /* nested */ 431 DEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES, /* nested */ 434 DEVLINK_ATTR_DPIPE_MATCH, /* nested */ [all …]
|
| D | if_macsec.h | 45 MACSEC_ATTR_RXSC_CONFIG, /* config, nested macsec_rxsc_attrs */ 46 MACSEC_ATTR_SA_CONFIG, /* config, nested macsec_sa_attrs */ 47 MACSEC_ATTR_SECY, /* dump, nested macsec_secy_attrs */ 48 MACSEC_ATTR_TXSA_LIST, /* dump, nested, macsec_sa_attrs for each TXSA */ 49 MACSEC_ATTR_RXSC_LIST, /* dump, nested, macsec_rxsc_attrs for each RXSC */ 50 MACSEC_ATTR_TXSC_STATS, /* dump, nested, macsec_txsc_stats_attr */ 51 MACSEC_ATTR_SECY_STATS, /* dump, nested, macsec_secy_stats_attr */ 52 MACSEC_ATTR_OFFLOAD, /* config, nested, macsec_offload_attrs */ 83 MACSEC_RXSC_ATTR_SA_LIST, /* dump, nested */ 84 MACSEC_RXSC_ATTR_STATS, /* dump, nested, macsec_rxsc_stats_attr */ [all …]
|
| D | openvswitch.h | 168 * extracted from the packet as nested %OVS_KEY_ATTR_* attributes. This allows 172 * for %OVS_PACKET_CMD_EXECUTE. It has nested %OVS_ACTION_ATTR_* attributes. 183 * extracted from the packet as nested %OVS_TUNNEL_KEY_ATTR_* attributes. 196 OVS_PACKET_ATTR_KEY, /* Nested OVS_KEY_ATTR_* attributes. */ 197 OVS_PACKET_ATTR_ACTIONS, /* Nested OVS_ACTION_ATTR_* attributes. */ 199 OVS_PACKET_ATTR_EGRESS_TUN_KEY, /* Nested OVS_TUNNEL_KEY_ATTR_* 273 OVS_VPORT_ATTR_OPTIONS, /* nested attributes, varies by vport type */ 340 OVS_KEY_ATTR_ENCAP, /* Nested set of encapsulated attributes. */ 355 OVS_KEY_ATTR_TUNNEL, /* Nested set of ovs_tunnel attributes */ 370 OVS_KEY_ATTR_NSH, /* Nested set of ovs_nsh_key_* */ [all …]
|
| D | net_dropmon.h | 77 NET_DM_ATTR_IN_PORT, /* nested */ 85 NET_DM_ATTR_STATS, /* nested */ 86 NET_DM_ATTR_HW_STATS, /* nested */ 90 NET_DM_ATTR_HW_ENTRIES, /* nested */ 91 NET_DM_ATTR_HW_ENTRY, /* nested */
|
| /kernel/linux/linux-6.6/Documentation/netlink/specs/ |
| D | ethtool.yaml | 53 nested-attributes: bitset-bit 66 nested-attributes: bitset-bits 89 nested-attributes: string 103 nested-attributes: strings 111 nested-attributes: stringset 118 nested-attributes: header 122 nested-attributes: stringsets 133 nested-attributes: header 137 nested-attributes: bitset 145 nested-attributes: header [all …]
|
| D | ovs_flow.yaml | 379 nested-attributes: key-attrs 381 Nested attributes specifying the flow key. Always present in 386 nested-attributes: action-attrs 388 Nested attributes specifying the actions to take for packets that 393 nested attributes must be given. 426 nested-attributes: key-attrs 428 Nested attributes specifying the mask bits for wildcarded flow 468 nested-attributes: key-attrs 529 nested-attributes: tunnel-key-attrs 578 nested-attributes: ovs-nsh-key-attrs [all …]
|
| /kernel/linux/linux-6.6/arch/x86/kvm/svm/ |
| D | nested.c | 44 * TODO: track the cause of the nested page fault, and in nested_svm_inject_npf_exit() 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() 161 * We want to see VMMCALLs from a nested guest only when Hyper-V L2 TLB in recalc_intercepts() 188 * Merge L0's (KVM) and L1's (Nested VMCB) MSR permission bitmaps. The function 194 struct hv_vmcb_enlightenments *hve = &svm->nested.ctl.hv_enlightenments; in nested_svm_vmrun_msrpm() 200 * - Nested hypervisor (L1) is attempting to launch the same L2 as in nested_svm_vmrun_msrpm() [all …]
|
| 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()
|
| /kernel/linux/linux-5.10/arch/x86/kvm/svm/ |
| D | nested.c | 39 * TODO: track the cause of the nested page fault, and in nested_svm_inject_npf_exit() 59 if (vmcb_is_intercept(&svm->nested.ctl, INTERCEPT_EXCEPTION_OFFSET + PF_VECTOR) && in svm_inject_page_fault_nested() 60 !svm->nested.nested_run_pending) { in svm_inject_page_fault_nested() 74 u64 cr3 = svm->nested.ctl.nested_cr3; in nested_svm_get_tdp_pdptr() 89 return svm->nested.ctl.nested_cr3; in nested_svm_get_tdp_cr3() 95 struct vmcb *hsave = svm->nested.hsave; in nested_svm_init_mmu_context() 101 svm->nested.ctl.nested_cr3); in nested_svm_init_mmu_context() 126 h = &svm->nested.hsave->control; in recalc_intercepts() 127 g = &svm->nested.ctl; in recalc_intercepts() 145 /* We don't want to see VMMCALLs from a nested guest */ in recalc_intercepts() [all …]
|
| /kernel/linux/linux-5.10/arch/x86/kvm/vmx/ |
| 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() 52 * in vmx_set_nested_state; if it is satisfied, the nested state must include 65 return is_guest_mode(vcpu) || vmx->nested.current_vmptr != -1ull || in vmx_has_valid_vmcs12() 66 vmx->nested.hv_evmcs; in vmx_has_valid_vmcs12() 73 return vmx->nested.vpid02 ? vmx->nested.vpid02 : vmx->vpid; in nested_get_vpid02() 88 * Return the cr0 value that a nested guest would read. This is a combination 105 return vmx_misc_cr3_count(to_vmx(vcpu)->nested.msrs.misc_low); in nested_cpu_vmx_misc_cr3_count() 115 return to_vmx(vcpu)->nested.msrs.misc_low & in nested_cpu_has_vmwrite_any_field() 121 return to_vmx(vcpu)->nested.msrs.misc_low & VMX_MISC_ZERO_LEN_INS; in nested_cpu_has_zero_length_injection() [all …]
|
| D | nested.c | 12 #include "nested.h" 195 if (vmx->nested.current_vmptr == -1ull && !vmx->nested.hv_evmcs) in nested_vmx_fail() 205 pr_debug_ratelimited("kvm: nested vmx abort, indicator %d\n", indicator); in nested_vmx_abort() 222 vmx->nested.need_vmcs12_to_shadow_sync = false; in vmx_disable_shadow_vmcs() 229 if (!vmx->nested.hv_evmcs) in nested_release_evmcs() 232 kvm_vcpu_unmap(vcpu, &vmx->nested.hv_evmcs_map, true); in nested_release_evmcs() 233 vmx->nested.hv_evmcs_vmptr = 0; in nested_release_evmcs() 234 vmx->nested.hv_evmcs = NULL; in nested_release_evmcs() 276 * Free whatever needs to be freed from vmx->nested when L1 goes down, or 286 if (!vmx->nested.vmxon && !vmx->nested.smm.vmxon) in free_nested() [all …]
|
| /kernel/linux/linux-6.6/arch/x86/kvm/vmx/ |
| 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() 51 * in vmx_set_nested_state; if it is satisfied, the nested state must include 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() 82 * Return the cr0/4 value that a nested guest would read. This is a combination 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() [all …]
|
| D | nested.c | 13 #include "nested.h" 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() 208 pr_debug_ratelimited("nested vmx abort, indicator %d\n", indicator); in nested_vmx_abort() 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() [all …]
|
| /kernel/linux/linux-6.6/include/uapi/rdma/ |
| D | rdma_netlink.h | 380 RDMA_NLDEV_ATTR_RES_SUMMARY, /* nested table */ 381 RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY, /* nested table */ 385 RDMA_NLDEV_ATTR_RES_QP, /* nested table */ 386 RDMA_NLDEV_ATTR_RES_QP_ENTRY, /* nested table */ 425 RDMA_NLDEV_ATTR_RES_CM_ID, /* nested table */ 426 RDMA_NLDEV_ATTR_RES_CM_ID_ENTRY, /* nested table */ 437 RDMA_NLDEV_ATTR_RES_CQ, /* nested table */ 438 RDMA_NLDEV_ATTR_RES_CQ_ENTRY, /* nested table */ 443 RDMA_NLDEV_ATTR_RES_MR, /* nested table */ 444 RDMA_NLDEV_ATTR_RES_MR_ENTRY, /* nested table */ [all …]
|
| /kernel/linux/linux-6.6/rust/macros/ |
| 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()
|
| /kernel/linux/linux-5.10/include/uapi/rdma/ |
| D | rdma_netlink.h | 374 RDMA_NLDEV_ATTR_RES_SUMMARY, /* nested table */ 375 RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY, /* nested table */ 379 RDMA_NLDEV_ATTR_RES_QP, /* nested table */ 380 RDMA_NLDEV_ATTR_RES_QP_ENTRY, /* nested table */ 419 RDMA_NLDEV_ATTR_RES_CM_ID, /* nested table */ 420 RDMA_NLDEV_ATTR_RES_CM_ID_ENTRY, /* nested table */ 431 RDMA_NLDEV_ATTR_RES_CQ, /* nested table */ 432 RDMA_NLDEV_ATTR_RES_CQ_ENTRY, /* nested table */ 437 RDMA_NLDEV_ATTR_RES_MR, /* nested table */ 438 RDMA_NLDEV_ATTR_RES_MR_ENTRY, /* nested table */ [all …]
|
| /kernel/linux/linux-5.10/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 | 291 | ``ETHTOOL_A_STRSET_HEADER`` | nested | request header | 293 | ``ETHTOOL_A_STRSET_STRINGSETS`` | nested | string set to request | 295 | | ``ETHTOOL_A_STRINGSETS_STRINGSET+`` | nested | one string set | 303 | ``ETHTOOL_A_STRSET_HEADER`` | nested | reply header | [all …]
|