ETISS 0.11.2
ExtendableTranslatingInstructionSetSimulator(version0.11.2)
Loading...
Searching...
No Matches
GDBCore.h
Go to the documentation of this file.
1// SPDX-License-Identifier: BSD-3-Clause
2//
3// This file is part of ETISS. It is licensed under the BSD 3-Clause License; you may not use this file except in
4// compliance with the License. You should have received a copy of the license along with this project. If not, see the
5// LICENSE file.
17#ifndef ETISS_INCLUDE_GDB_GDBCORE_H_
18#define ETISS_INCLUDE_GDB_GDBCORE_H_
19
20#include "etiss/Misc.h"
21#include <string>
22
23namespace etiss
24{
25
26namespace plugin
27{
28
29namespace gdb
30{
31
39{
40 public:
41 virtual ~GDBCore();
46 virtual std::string mapRegister(unsigned index);
51 virtual unsigned mapRegister(std::string name);
55 virtual unsigned mappedRegisterCount();
59 virtual bool isLittleEndian();
66 virtual etiss::uint64 getInstructionPointer(ETISS_CPU *cpu);
67
68 public:
69 static const unsigned INVALIDMAPPING = (unsigned)-1;
70};
71
72} // namespace gdb
73
74} // namespace plugin
75} // namespace etiss
76
77#endif
general configuration and logging
provides to architecture dependent registers as defined by gdb
Definition GDBCore.h:39
static const unsigned INVALIDMAPPING
Definition GDBCore.h:69
virtual etiss::uint64 getInstructionPointer(ETISS_CPU *cpu)
allows to calculate the index of the instruction to be executed for breakpoint checks.
Definition GDBCore.cpp:37
virtual unsigned mappedRegisterCount()
returns the number of registers in the gdb defined register list
Definition GDBCore.cpp:29
virtual std::string mapRegister(unsigned index)
the returned string identifies the register at the given index as defined by gdb.
Definition GDBCore.cpp:21
virtual bool isLittleEndian()
returns true if the values are expected to be little endian
Definition GDBCore.cpp:33
forwards: include/jit/*
Definition Benchmark.h:17
basic cpu state structure needed for execution of any cpu architecture.
Definition CPU.h:51