RegisterContextKDP_arm.cpp revision ec15f50fdd7011fc155ab4fe71d4887ffe31df4e
1//===-- RegisterContextKDP_arm.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 "RegisterContextKDP_arm.h"
11
12// C Includes
13// C++ Includes
14// Other libraries and framework includes
15// Project includes
16#include "ProcessKDP.h"
17#include "ThreadKDP.h"
18
19using namespace lldb;
20using namespace lldb_private;
21
22
23RegisterContextKDP_arm::RegisterContextKDP_arm (ThreadKDP &thread, uint32_t concrete_frame_idx) :
24    RegisterContextDarwin_arm (thread, concrete_frame_idx),
25    m_kdp_thread (thread)
26{
27}
28
29RegisterContextKDP_arm::~RegisterContextKDP_arm()
30{
31}
32
33int
34RegisterContextKDP_arm::DoReadGPR (lldb::tid_t tid, int flavor, GPR &gpr)
35{
36    Error error;
37    if (m_kdp_thread.GetKDPProcess().GetCommunication().SendRequestReadRegisters (tid, GPRRegSet, &gpr, sizeof(gpr), error))
38    {
39        if (error.Success())
40            return 0;
41    }
42    return -1;
43}
44
45int
46RegisterContextKDP_arm::DoReadFPU (lldb::tid_t tid, int flavor, FPU &fpu)
47{
48    Error error;
49    if (m_kdp_thread.GetKDPProcess().GetCommunication().SendRequestReadRegisters (tid, FPURegSet, &fpu, sizeof(fpu), error))
50    {
51        if (error.Success())
52            return 0;
53    }
54    return -1;
55}
56
57int
58RegisterContextKDP_arm::DoReadEXC (lldb::tid_t tid, int flavor, EXC &exc)
59{
60    Error error;
61    if (m_kdp_thread.GetKDPProcess().GetCommunication().SendRequestReadRegisters (tid, EXCRegSet, &exc, sizeof(exc), error))
62    {
63        if (error.Success())
64            return 0;
65    }
66    return -1;
67}
68
69int
70RegisterContextKDP_arm::DoReadDBG (lldb::tid_t tid, int flavor, DBG &dbg)
71{
72    Error error;
73    if (m_kdp_thread.GetKDPProcess().GetCommunication().SendRequestReadRegisters (tid, DBGRegSet, &dbg, sizeof(dbg), error))
74    {
75        if (error.Success())
76            return 0;
77    }
78    return -1;
79}
80
81int
82RegisterContextKDP_arm::DoWriteGPR (lldb::tid_t tid, int flavor, const GPR &gpr)
83{
84    return -1;
85}
86
87int
88RegisterContextKDP_arm::DoWriteFPU (lldb::tid_t tid, int flavor, const FPU &fpu)
89{
90    return -1;
91}
92
93int
94RegisterContextKDP_arm::DoWriteEXC (lldb::tid_t tid, int flavor, const EXC &exc)
95{
96    return -1;
97}
98
99int
100RegisterContextKDP_arm::DoWriteDBG (lldb::tid_t tid, int flavor, const DBG &dbg)
101{
102    return -1;
103}
104
105
106