On Tue, 2023-02-14 at 20:24 +0800, Robert Hoo wrote: > On Tue, 2023-02-14 at 17:00 +0800, Binbin Wu wrote: > > According to the code of set_cr4_guest_host_mask, > > vcpu->arch.cr4_guest_owned_bits is a subset of > > KVM_POSSIBLE_CR4_GUEST_BITS, > > and X86_CR4_LAM_SUP is not included in KVM_POSSIBLE_CR4_GUEST_BITS. > > No matter change CR4_RESERVED_BITS or not, X86_CR4_LAM_SUP will > > always be set in CR4_GUEST_HOST_MASK. yes, bits set to 1 in a guest/host mask means it's owned by the host. > > > > > > set_cr4_guest_host_mask(): > vcpu->arch.cr4_guest_owned_bits = KVM_POSSIBLE_CR4_GUEST_BITS & > ~vcpu->arch.cr4_guest_rsvd_bits; > > kvm_vcpu_after_set_cpuid(): > vcpu->arch.cr4_guest_rsvd_bits = > __cr4_reserved_bits(guest_cpuid_has, vcpu);