}
}
-llvm::Optional<enum NativeRegisterContextFreeBSD_x86_64::RegSetKind>
-NativeRegisterContextFreeBSD_x86_64::GetSetForNativeRegNum(int reg_num) const {
+llvm::Optional<NativeRegisterContextFreeBSD_x86_64::RegSetKind>
+NativeRegisterContextFreeBSD_x86_64::GetSetForNativeRegNum(
+ uint32_t reg_num) const {
switch (GetRegisterInfoInterface().GetTargetArchitecture().GetMachine()) {
case llvm::Triple::x86:
if (reg_num >= k_first_gpr_i386 && reg_num <= k_last_gpr_i386)
llvm_unreachable("Register does not belong to any register set");
}
-Status NativeRegisterContextFreeBSD_x86_64::ReadRegisterSet(uint32_t set) {
+Status NativeRegisterContextFreeBSD_x86_64::ReadRegisterSet(RegSetKind set) {
switch (set) {
case GPRegSet:
return NativeProcessFreeBSD::PtraceWrapper(PT_GETREGS, m_thread.GetID(),
llvm_unreachable("NativeRegisterContextFreeBSD_x86_64::ReadRegisterSet");
}
-Status NativeRegisterContextFreeBSD_x86_64::WriteRegisterSet(uint32_t set) {
+Status NativeRegisterContextFreeBSD_x86_64::WriteRegisterSet(RegSetKind set) {
switch (set) {
case GPRegSet:
return NativeProcessFreeBSD::PtraceWrapper(PT_SETREGS, m_thread.GetID(),
return error;
}
- llvm::Optional<enum RegSetKind> opt_set = GetSetForNativeRegNum(reg);
+ llvm::Optional<RegSetKind> opt_set = GetSetForNativeRegNum(reg);
if (!opt_set) {
// This is likely an internal register for lldb use only and should not be
// directly queried.
return error;
}
- enum RegSetKind set = opt_set.getValue();
+ RegSetKind set = opt_set.getValue();
error = ReadRegisterSet(set);
if (error.Fail())
return error;
return error;
}
- llvm::Optional<enum RegSetKind> opt_set = GetSetForNativeRegNum(reg);
+ llvm::Optional<RegSetKind> opt_set = GetSetForNativeRegNum(reg);
if (!opt_set) {
// This is likely an internal register for lldb use only and should not be
// directly queried.
return error;
}
- enum RegSetKind set = opt_set.getValue();
+ RegSetKind set = opt_set.getValue();
error = ReadRegisterSet(set);
if (error.Fail())
return error;
}
uint8_t *
-NativeRegisterContextFreeBSD_x86_64::GetOffsetRegSetData(uint32_t set,
+NativeRegisterContextFreeBSD_x86_64::GetOffsetRegSetData(RegSetKind set,
size_t reg_offset) {
uint8_t *base;
switch (set) {
break;
case YMMRegSet:
llvm_unreachable("GetRegSetData() is unsuitable for this regset.");
+ case MPXRegSet:
+ llvm_unreachable("MPX regset should have returned error");
}
assert(reg_offset >= m_regset_offsets[set]);
return base + (reg_offset - m_regset_offsets[set]);
std::array<uint32_t, MaxRegSet + 1> m_xsave_offsets;
std::array<size_t, MaxRegSet + 1> m_regset_offsets;
- llvm::Optional<enum RegSetKind> GetSetForNativeRegNum(int reg_num) const;
+ llvm::Optional<RegSetKind> GetSetForNativeRegNum(uint32_t reg_num) const;
- Status ReadRegisterSet(uint32_t set);
- Status WriteRegisterSet(uint32_t set);
+ Status ReadRegisterSet(RegSetKind set);
+ Status WriteRegisterSet(RegSetKind set);
- uint8_t *GetOffsetRegSetData(uint32_t set, size_t reg_offset);
+ uint8_t *GetOffsetRegSetData(RegSetKind set, size_t reg_offset);
struct YMMSplitPtr {
void *xmm;