@@ -268,7 +268,7 @@ NativeRegisterContextLinux_x86_64::NativeRegisterContextLinux_x86_64(
268268 uint32_t concrete_frame_idx)
269269 : NativeRegisterContextLinux(native_thread, concrete_frame_idx,
270270 CreateRegisterInfoInterface (target_arch)),
271- m_xstate_type(eXStateTypeNotValid ), m_fpr(), m_iovec(), m_ymm_set(),
271+ m_xstate_type(XStateType::Invalid ), m_fpr(), m_iovec(), m_ymm_set(),
272272 m_mpx_set(), m_reg_info(), m_gpr_x86_64() {
273273 // Set up data about ranges of valid registers.
274274 switch (target_arch.GetMachine ()) {
@@ -664,12 +664,12 @@ Error NativeRegisterContextLinux_x86_64::ReadAllRegisterValues(
664664
665665 ::memcpy (dst, &m_gpr_x86_64, GetRegisterInfoInterface().GetGPRSize());
666666 dst += GetRegisterInfoInterface ().GetGPRSize ();
667- if (GetXStateType () == eXStateTypeFXSAVE )
667+ if (GetXStateType () == XStateType::FXSAVE )
668668 ::memcpy (dst, &m_fpr.xstate.fxsave, sizeof (m_fpr.xstate.fxsave));
669- else if (GetXStateType () == eXStateTypeXSAVE ) {
669+ else if (GetXStateType () == XStateType::XSAVE ) {
670670 lldb::ByteOrder byte_order = GetByteOrder ();
671671
672- if (IsCPUFeatureAvailable (avx)) {
672+ if (IsCPUFeatureAvailable (RegSet:: avx)) {
673673 // Assemble the YMM register content from the register halves.
674674 for (uint32_t reg = m_reg_info.first_ymm ; reg <= m_reg_info.last_ymm ;
675675 ++reg) {
@@ -684,7 +684,7 @@ Error NativeRegisterContextLinux_x86_64::ReadAllRegisterValues(
684684 }
685685 }
686686
687- if (IsCPUFeatureAvailable (mpx)) {
687+ if (IsCPUFeatureAvailable (RegSet:: mpx)) {
688688 for (uint32_t reg = m_reg_info.first_mpxr ; reg <= m_reg_info.last_mpxc ;
689689 ++reg) {
690690 if (!CopyXSTATEtoMPX (reg)) {
@@ -756,19 +756,19 @@ Error NativeRegisterContextLinux_x86_64::WriteAllRegisterValues(
756756 return error;
757757
758758 src += GetRegisterInfoInterface ().GetGPRSize ();
759- if (GetXStateType () == eXStateTypeFXSAVE )
759+ if (GetXStateType () == XStateType::FXSAVE )
760760 ::memcpy (&m_fpr.xstate.fxsave, src, sizeof (m_fpr.xstate.fxsave));
761- else if (GetXStateType () == eXStateTypeXSAVE )
761+ else if (GetXStateType () == XStateType::XSAVE )
762762 ::memcpy (&m_fpr.xstate.xsave, src, sizeof (m_fpr.xstate.xsave));
763763
764764 error = WriteFPR ();
765765 if (error.Fail ())
766766 return error;
767767
768- if (GetXStateType () == eXStateTypeXSAVE ) {
768+ if (GetXStateType () == XStateType::XSAVE ) {
769769 lldb::ByteOrder byte_order = GetByteOrder ();
770770
771- if (IsCPUFeatureAvailable (avx)) {
771+ if (IsCPUFeatureAvailable (RegSet:: avx)) {
772772 // Parse the YMM register content from the register halves.
773773 for (uint32_t reg = m_reg_info.first_ymm ; reg <= m_reg_info.last_ymm ;
774774 ++reg) {
@@ -783,7 +783,7 @@ Error NativeRegisterContextLinux_x86_64::WriteAllRegisterValues(
783783 }
784784 }
785785
786- if (IsCPUFeatureAvailable (mpx)) {
786+ if (IsCPUFeatureAvailable (RegSet:: mpx)) {
787787 for (uint32_t reg = m_reg_info.first_mpxr ; reg <= m_reg_info.last_mpxc ;
788788 ++reg) {
789789 if (!CopyMPXtoXSTATE (reg)) {
@@ -808,7 +808,7 @@ bool NativeRegisterContextLinux_x86_64::HasFXSAVE() const {
808808 if (!__get_cpuid (1 , &rax, &rbx, &rcx, &rdx))
809809 return false ;
810810 if ((rdx & bit_FXSAVE) == bit_FXSAVE) {
811- m_xstate_type = eXStateTypeFXSAVE ;
811+ m_xstate_type = XStateType::FXSAVE ;
812812 if (const_cast <NativeRegisterContextLinux_x86_64 *>(this )->ReadFPR ().Fail ())
813813 return false ;
814814 return true ;
@@ -823,7 +823,7 @@ bool NativeRegisterContextLinux_x86_64::HasXSAVE() const {
823823 if (!__get_cpuid (1 , &rax, &rbx, &rcx, &rdx))
824824 return false ;
825825 if ((rcx & bit_OSXSAVE) == bit_OSXSAVE) {
826- m_xstate_type = eXStateTypeXSAVE ;
826+ m_xstate_type = XStateType::XSAVE ;
827827 if (const_cast <NativeRegisterContextLinux_x86_64 *>(this )->ReadFPR ().Fail ())
828828 return false ;
829829 return true ;
@@ -841,10 +841,10 @@ bool NativeRegisterContextLinux_x86_64::IsCPUFeatureAvailable(
841841
842842 __get_cpuid (1 , &rax, &rbx, &rcx, &rdx);
843843 switch (feature_code) {
844- case avx: // Check if CPU has AVX and if there is kernel support, by reading in the XCR0 area of XSAVE.
844+ case RegSet:: avx: // Check if CPU has AVX and if there is kernel support, by reading in the XCR0 area of XSAVE.
845845 if (((rcx & bit_AVX) != 0 ) && ((m_fpr.xstate .xsave .i387 .xcr0 & mask_XSTATE_AVX) == mask_XSTATE_AVX))
846846 return true ;
847- case mpx: // Check if CPU has MPX and if there is kernel support, by reading in the XCR0 area of XSAVE.
847+ case RegSet:: mpx: // Check if CPU has MPX and if there is kernel support, by reading in the XCR0 area of XSAVE.
848848 if (__get_cpuid_max (0 , NULL ) > 7 ) {
849849 __cpuid_count (7 , 0 , rax, rbx, rcx, rdx);
850850 if (((rbx & bit_MPX) != 0 ) && ((m_fpr.xstate .xsave .i387 .xcr0 & mask_XSTATE_MPX) == mask_XSTATE_MPX))
@@ -859,14 +859,14 @@ bool NativeRegisterContextLinux_x86_64::IsRegisterSetAvailable(
859859 uint32_t set_index) const {
860860 uint32_t num_sets = k_num_register_sets - k_num_extended_register_sets;
861861
862- switch (set_index) {
863- case gpr:
864- case fpu:
862+ switch (static_cast <RegSet>( set_index) ) {
863+ case RegSet:: gpr:
864+ case RegSet:: fpu:
865865 return (set_index < num_sets);
866- case avx:
867- return IsCPUFeatureAvailable (avx);
868- case mpx:
869- return IsCPUFeatureAvailable (mpx);
866+ case RegSet:: avx:
867+ return IsCPUFeatureAvailable (RegSet:: avx);
868+ case RegSet:: mpx:
869+ return IsCPUFeatureAvailable (RegSet:: mpx);
870870 default :
871871 return false ;
872872 }
@@ -879,11 +879,11 @@ bool NativeRegisterContextLinux_x86_64::IsGPR(uint32_t reg_index) const {
879879
880880NativeRegisterContextLinux_x86_64::XStateType
881881NativeRegisterContextLinux_x86_64::GetXStateType () const {
882- if (m_xstate_type == eXStateTypeNotValid ) {
882+ if (m_xstate_type == XStateType::Invalid ) {
883883 if (HasXSAVE ())
884- m_xstate_type = eXStateTypeXSAVE ;
884+ m_xstate_type = XStateType::XSAVE ;
885885 else if (HasFXSAVE ())
886- m_xstate_type = eXStateTypeFXSAVE ;
886+ m_xstate_type = XStateType::FXSAVE ;
887887 }
888888 return m_xstate_type;
889889}
@@ -898,7 +898,7 @@ Error NativeRegisterContextLinux_x86_64::WriteFPR() {
898898 const lldb_private::ArchSpec &target_arch =
899899 GetRegisterInfoInterface ().GetTargetArchitecture ();
900900 switch (fpr_type) {
901- case XStateType::eXStateTypeFXSAVE :
901+ case XStateType::FXSAVE :
902902 // For 32-bit inferiors on x86_32/x86_64 architectures,
903903 // FXSAVE area can be written using PTRACE_SETREGSET ptrace api
904904 // For 64-bit inferiors on x86_64 architectures,
@@ -913,7 +913,7 @@ Error NativeRegisterContextLinux_x86_64::WriteFPR() {
913913 assert (false && " Unhandled target architecture." );
914914 break ;
915915 }
916- case XStateType::eXStateTypeXSAVE :
916+ case XStateType::XSAVE :
917917 return WriteRegisterSet (&m_iovec, sizeof (m_fpr.xstate .xsave ),
918918 NT_X86_XSTATE);
919919 default :
@@ -922,7 +922,7 @@ Error NativeRegisterContextLinux_x86_64::WriteFPR() {
922922}
923923
924924bool NativeRegisterContextLinux_x86_64::IsAVX (uint32_t reg_index) const {
925- if (!IsCPUFeatureAvailable (avx))
925+ if (!IsCPUFeatureAvailable (RegSet:: avx))
926926 return false ;
927927 return (m_reg_info.first_ymm <= reg_index &&
928928 reg_index <= m_reg_info.last_ymm );
@@ -985,9 +985,9 @@ bool NativeRegisterContextLinux_x86_64::CopyYMMtoXSTATE(
985985void *NativeRegisterContextLinux_x86_64::GetFPRBuffer () {
986986 const XStateType xstate_type = GetXStateType ();
987987 switch (xstate_type) {
988- case XStateType::eXStateTypeFXSAVE :
988+ case XStateType::FXSAVE :
989989 return &m_fpr.xstate .fxsave ;
990- case XStateType::eXStateTypeXSAVE :
990+ case XStateType::XSAVE :
991991 return &m_iovec;
992992 default :
993993 return nullptr ;
@@ -997,9 +997,9 @@ void *NativeRegisterContextLinux_x86_64::GetFPRBuffer() {
997997size_t NativeRegisterContextLinux_x86_64::GetFPRSize () {
998998 const XStateType xstate_type = GetXStateType ();
999999 switch (xstate_type) {
1000- case XStateType::eXStateTypeFXSAVE :
1000+ case XStateType::FXSAVE :
10011001 return sizeof (m_fpr.xstate .fxsave );
1002- case XStateType::eXStateTypeXSAVE :
1002+ case XStateType::XSAVE :
10031003 return sizeof (m_iovec);
10041004 default :
10051005 return 0 ;
@@ -1011,7 +1011,7 @@ Error NativeRegisterContextLinux_x86_64::ReadFPR() {
10111011 const lldb_private::ArchSpec &target_arch =
10121012 GetRegisterInfoInterface ().GetTargetArchitecture ();
10131013 switch (xstate_type) {
1014- case XStateType::eXStateTypeFXSAVE :
1014+ case XStateType::FXSAVE :
10151015 // For 32-bit inferiors on x86_32/x86_64 architectures,
10161016 // FXSAVE area can be read using PTRACE_GETREGSET ptrace api
10171017 // For 64-bit inferiors on x86_64 architectures,
@@ -1025,15 +1025,15 @@ Error NativeRegisterContextLinux_x86_64::ReadFPR() {
10251025 assert (false && " Unhandled target architecture." );
10261026 break ;
10271027 }
1028- case XStateType::eXStateTypeXSAVE :
1028+ case XStateType::XSAVE :
10291029 return ReadRegisterSet (&m_iovec, sizeof (m_fpr.xstate .xsave ), NT_X86_XSTATE);
10301030 default :
10311031 return Error (" Unrecognized FPR type" );
10321032 }
10331033}
10341034
10351035bool NativeRegisterContextLinux_x86_64::IsMPX (uint32_t reg_index) const {
1036- if (!IsCPUFeatureAvailable (mpx))
1036+ if (!IsCPUFeatureAvailable (RegSet:: mpx))
10371037 return false ;
10381038 return (m_reg_info.first_mpxr <= reg_index &&
10391039 reg_index <= m_reg_info.last_mpxc );
0 commit comments