[Lldb-commits] [lldb] r192336 - POSIX RegisterContext for mips64
Ed Maste
emaste at freebsd.org
Wed Oct 9 18:04:21 PDT 2013
Author: emaste
Date: Wed Oct 9 20:04:21 2013
New Revision: 192336
URL: http://llvm.org/viewvc/llvm-project?rev=192336&view=rev
Log:
POSIX RegisterContext for mips64
Based on the POSIX x86_64 register context. This is sufficient for opening
a mips64 (big endian) core file. Subsequent changes will connect the
disassembler, dynamic loader support, ABI, etc.
Review: http://llvm-reviews.chandlerc.com/D1873
(Missed "svn add" on this file in r192335)
Added:
lldb/trunk/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.h
Added: lldb/trunk/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.h?rev=192336&view=auto
==============================================================================
--- lldb/trunk/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.h (added)
+++ lldb/trunk/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.h Wed Oct 9 20:04:21 2013
@@ -0,0 +1,58 @@
+//===-- RegisterContextCorePOSIX_mips64.h ----------------------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===---------------------------------------------------------------------===//
+
+#ifndef liblldb_RegisterContextCorePOSIX_mips64_H_
+#define liblldb_RegisterContextCorePOSIX_mips64_H_
+
+#include "Plugins/Process/POSIX/RegisterContextPOSIX_mips64.h"
+
+class RegisterContextCorePOSIX_mips64 :
+ public RegisterContextPOSIX_mips64
+{
+public:
+ RegisterContextCorePOSIX_mips64 (lldb_private::Thread &thread,
+ RegisterInfoInterface *register_info,
+ const lldb_private::DataExtractor &gpregset,
+ const lldb_private::DataExtractor &fpregset);
+
+ ~RegisterContextCorePOSIX_mips64();
+
+ virtual bool
+ ReadRegister(const lldb_private::RegisterInfo *reg_info, lldb_private::RegisterValue &value);
+
+ virtual bool
+ WriteRegister(const lldb_private::RegisterInfo *reg_info, const lldb_private::RegisterValue &value);
+
+ bool
+ ReadAllRegisterValues(lldb::DataBufferSP &data_sp);
+
+ bool
+ WriteAllRegisterValues(const lldb::DataBufferSP &data_sp);
+
+ bool
+ HardwareSingleStep(bool enable);
+
+protected:
+ bool
+ ReadGPR();
+
+ bool
+ ReadFPR();
+
+ bool
+ WriteGPR();
+
+ bool
+ WriteFPR();
+
+private:
+ uint64_t m_reg[40];
+};
+
+#endif // #ifndef liblldb_RegisterContextCorePOSIX_mips64_H_
More information about the lldb-commits
mailing list