1 //===-- RegisterContextCoreFreeBSD_x86_64.cpp -------------------------*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 #include "lldb/Core/DataExtractor.h" 11 #include "lldb/Core/RegisterValue.h" 12 #include "lldb/Target/Thread.h" 13 #include "RegisterContextCoreFreeBSD_x86_64.h" 14 15 RegisterContextCoreFreeBSD_x86_64::RegisterContextCoreFreeBSD_x86_64(Thread &thread, 16 const DataExtractor &gpregset, const DataExtractor &fpregset) 17 : RegisterContextFreeBSD_x86_64(thread, 0) 18 { 19 size_t size, len; 20 21 size = GetGPRSize(); 22 m_gpregset = new uint8_t[size]; 23 len = gpregset.ExtractBytes(0, size, lldb::eByteOrderLittle, m_gpregset); 24 assert(len == size); 25 } 26 27 RegisterContextCoreFreeBSD_x86_64::~RegisterContextCoreFreeBSD_x86_64() 28 { 29 delete [] m_gpregset; 30 } 31 32 bool 33 RegisterContextCoreFreeBSD_x86_64::ReadRegister(const RegisterInfo *reg_info, RegisterValue &value) 34 { 35 value = *(uint64_t *)(m_gpregset + reg_info->byte_offset); 36 return true; 37 } 38 39 bool 40 RegisterContextCoreFreeBSD_x86_64::ReadAllRegisterValues(lldb::DataBufferSP &data_sp) 41 { 42 return false; 43 } 44 45 bool 46 RegisterContextCoreFreeBSD_x86_64::WriteRegister(const RegisterInfo *reg_info, const RegisterValue &value) 47 { 48 return false; 49 } 50 51 bool 52 RegisterContextCoreFreeBSD_x86_64::WriteAllRegisterValues(const lldb::DataBufferSP &data_sp) 53 { 54 return false; 55 } 56 57 bool 58 RegisterContextCoreFreeBSD_x86_64::UpdateAfterBreakpoint() 59 { 60 return false; 61 } 62 63 bool 64 RegisterContextCoreFreeBSD_x86_64::HardwareSingleStep(bool enable) 65 { 66 return false; 67 } 68 69