X86_CR4_OSXSAVE
if (native_read_cr4() & X86_CR4_OSXSAVE)
if (native_read_cr4() & X86_CR4_OSXSAVE)
if (cr4 & X86_CR4_OSXSAVE)
if (cr4 & X86_CR4_OSXSAVE)
| X86_CR4_OSXSAVE | X86_CR4_SMEP | X86_CR4_FSGSBASE \
cr4_set_bits(X86_CR4_OSXSAVE);
cr4_clear_bits(X86_CR4_OSXSAVE);
kvm_is_cr4_bit_set(vcpu, X86_CR4_OSXSAVE));
if (!(ctxt->ops->get_cr(ctxt, 4) & X86_CR4_OSXSAVE))
if (!(ops->get_cr(ctxt, 4) & X86_CR4_OSXSAVE)
if ((cr4 ^ old_cr4) & (X86_CR4_OSXSAVE | X86_CR4_PKE))
if ((cr4 ^ old_cr4) & (X86_CR4_OSXSAVE | X86_CR4_PKE))
cr4_fixed1_update(X86_CR4_OSXSAVE, ecx, feature_bit(XSAVE));
if (!kvm_is_cr4_bit_set(vcpu, X86_CR4_OSXSAVE))
__reserved_bits |= X86_CR4_OSXSAVE; \
sregs.cr4 |= X86_CR4_OSXSAVE;
sregs.cr4 ^= X86_CR4_OSXSAVE;
GUEST_ASSERT(get_cr4() & X86_CR4_OSXSAVE);
sregs.cr4 &= ~X86_CR4_OSXSAVE;
TEST_INVALID_CR_BIT(vcpu, cr4, sregs, X86_CR4_OSXSAVE);
cr4 |= X86_CR4_OSXSAVE;
TEST_ASSERT(!!(sregs.cr4 & X86_CR4_OSXSAVE) ==
(sregs.cr4 & X86_CR4_OSXSAVE) ? "set" : "clear");
set_cr4(get_cr4() | X86_CR4_OSXSAVE);