w11 - cpp 0.794
Backend server for Rlink and w11
Loading...
Searching...
No Matches
Rw11Cpu.ipp
Go to the documentation of this file.
1// $Id: Rw11Cpu.ipp 1186 2019-07-12 17:49:59Z mueller $
2// SPDX-License-Identifier: GPL-3.0-or-later
3// Copyright 2013-2019 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
4//
5// Revision History:
6// Date Rev Version Comment
7// 2019-06-07 1160 1.2.7 Stats() not longer const
8// 2019-04-30 1143 1.2.6 add HasM9312()
9// 2019-04-13 1131 1.2.5 add MemSize()
10// 2019-02-15 1112 1.2.4 add HasIbtst()
11// 2018-09-23 1050 1.2.3 add HasPcnt()
12// 2017-02-17 851 1.2.2 probe/setup auxilliary devices: kw11l,kw11p,iist
13// 2015-07-12 700 1.2.1 use ..CpuAct instead ..CpuGo (new active based lam)
14// 2015-03-21 659 1.2 add RAddrMap
15// 2014-12-25 621 1.1 Adopt for 4k word ibus window; add IAddrMap
16// 2013-04-12 504 1.0 Initial version
17// 2013-01-27 478 0.1 First draft
18// ---------------------------------------------------------------------------
19
24// all method definitions in namespace Retro
25namespace Retro {
26
27//------------------------------------------+-----------------------------------
29
30inline Rw11& Rw11Cpu::W11() const
31{
32 return *fpW11;
33}
34
35//------------------------------------------+-----------------------------------
37
39{
40 return fpW11->Server();
41}
42
43//------------------------------------------+-----------------------------------
45
47{
48 return fpW11->Connect();
49}
50
51//------------------------------------------+-----------------------------------
53
55{
56 return fpW11->LogFile();
57}
58
59//------------------------------------------+-----------------------------------
61
62inline const std::string& Rw11Cpu::Type() const
63{
64 return fType;
65}
66
67//------------------------------------------+-----------------------------------
69
70inline size_t Rw11Cpu::Index() const
71{
72 return fIndex;
73}
74
75//------------------------------------------+-----------------------------------
77
78inline uint16_t Rw11Cpu::Base() const
79{
80 return fBase;
81}
82
83//------------------------------------------+-----------------------------------
85
86inline uint16_t Rw11Cpu::IBase() const
87{
88 return fIBase;
89}
90
91//------------------------------------------+-----------------------------------
93
94inline uint32_t Rw11Cpu::MemSize() const
95{
96 return fMemSize;
97}
98
99//------------------------------------------+-----------------------------------
101
102inline bool Rw11Cpu::HasScnt() const
103{
104 return fHasScnt;
105}
106
107//------------------------------------------+-----------------------------------
109
110inline bool Rw11Cpu::HasPcnt() const
111{
112 return fHasPcnt;
113}
114
115//------------------------------------------+-----------------------------------
117
118inline bool Rw11Cpu::HasCmon() const
119{
120 return fHasCmon;
121}
122
123//------------------------------------------+-----------------------------------
125
126inline uint16_t Rw11Cpu::HasHbpt() const
127{
128 return fHasHbpt;
129}
130
131//------------------------------------------+-----------------------------------
133
134inline bool Rw11Cpu::HasIbmon() const
135{
136 return fHasIbmon;
137}
138
139//------------------------------------------+-----------------------------------
141
142inline bool Rw11Cpu::HasIbtst() const
143{
144 return fHasIbtst;
145}
146
147//------------------------------------------+-----------------------------------
149
150inline bool Rw11Cpu::HasM9312() const
151{
152 return fHasM9312;
153}
154
155//------------------------------------------+-----------------------------------
157
158inline bool Rw11Cpu::HasKw11l() const
159{
160 return fHasKw11l;
161}
162
163//------------------------------------------+-----------------------------------
165
166inline bool Rw11Cpu::HasKw11p() const
167{
168 return fHasKw11p;
169}
170
171//------------------------------------------+-----------------------------------
173
174inline bool Rw11Cpu::HasIist() const
175{
176 return fHasIist;
177}
178
179//------------------------------------------+-----------------------------------
181
182inline uint16_t Rw11Cpu::CpuStat() const
183{
184 return fCpuStat;
185}
186
187//------------------------------------------+-----------------------------------
189
190inline bool Rw11Cpu::CpuAct() const
191{
192 return fCpuAct;
193}
194
195//------------------------------------------+-----------------------------------
197
198inline uint16_t Rw11Cpu::IbusRemoteAddr(uint16_t ibaddr) const
199{
200 return fIBase + (ibaddr & 017777)/2;
201}
202
203//------------------------------------------+-----------------------------------
205
206inline bool Rw11Cpu::IAddrMapInsert(const std::string& name, uint16_t ibaddr)
207{
208 return fIAddrMap.Insert(name, ibaddr);
209}
210
211//------------------------------------------+-----------------------------------
213
214inline bool Rw11Cpu::IAddrMapErase(const std::string& name)
215{
216 return fIAddrMap.Erase(name);
217}
218
219//------------------------------------------+-----------------------------------
221
222inline bool Rw11Cpu::IAddrMapErase(uint16_t ibaddr)
223{
224 return fIAddrMap.Erase(ibaddr);
225}
226
227//------------------------------------------+-----------------------------------
229
231{
232 return fIAddrMap.Clear();
233}
234
235//------------------------------------------+-----------------------------------
237
238inline const RlinkAddrMap& Rw11Cpu::IAddrMap() const
239{
240 return fIAddrMap;
241}
242
243//------------------------------------------+-----------------------------------
245
246inline bool Rw11Cpu::RAddrMapInsert(const std::string& name, uint16_t ibaddr)
247{
248 return fRAddrMap.Insert(name, ibaddr);
249}
250
251//------------------------------------------+-----------------------------------
253
254inline bool Rw11Cpu::RAddrMapErase(const std::string& name)
255{
256 return fRAddrMap.Erase(name);
257}
258
259//------------------------------------------+-----------------------------------
261
262inline bool Rw11Cpu::RAddrMapErase(uint16_t ibaddr)
263{
264 return fRAddrMap.Erase(ibaddr);
265}
266
267//------------------------------------------+-----------------------------------
269
271{
272 return fRAddrMap.Clear();
273}
274
275//------------------------------------------+-----------------------------------
277
278inline const RlinkAddrMap& Rw11Cpu::RAddrMap() const
279{
280 return fRAddrMap;
281}
282
283//------------------------------------------+-----------------------------------
285
287{
288 return fStats;
289}
290
291} // end namespace Retro
bool Erase(const std::string &name)
FIXME_docs.
bool Insert(const std::string &name, uint16_t addr)
FIXME_docs.
void Clear()
FIXME_docs.
FIXME_docs.
Definition: RlogFile.hpp:34
FIXME_docs.
Definition: Rstats.hpp:28
bool HasPcnt() const
FIXME_docs.
Definition: Rw11Cpu.ipp:110
const RlinkAddrMap & IAddrMap() const
FIXME_docs.
Definition: Rw11Cpu.ipp:238
bool HasIbmon() const
FIXME_docs.
Definition: Rw11Cpu.ipp:134
uint16_t Base() const
FIXME_docs.
Definition: Rw11Cpu.ipp:78
bool fHasIbtst
has ibtst (ibus tester)
Definition: Rw11Cpu.hpp:345
bool fHasIist
has iist (smp comm)
Definition: Rw11Cpu.hpp:349
void IAddrMapClear()
FIXME_docs.
Definition: Rw11Cpu.ipp:230
RlinkConnect & Connect() const
FIXME_docs.
Definition: Rw11Cpu.ipp:46
bool CpuAct() const
FIXME_docs.
Definition: Rw11Cpu.ipp:190
void RAddrMapClear()
FIXME_docs.
Definition: Rw11Cpu.ipp:270
uint16_t IBase() const
FIXME_docs.
Definition: Rw11Cpu.ipp:86
bool fHasM9312
has m9312 (boot rom)
Definition: Rw11Cpu.hpp:346
uint16_t fHasHbpt
has dmhbpt (hardware breakpoint)
Definition: Rw11Cpu.hpp:343
RlinkAddrMap fRAddrMap
rbus name<->address mapping
Definition: Rw11Cpu.hpp:356
RlogFile & LogFile() const
FIXME_docs.
Definition: Rw11Cpu.ipp:54
Rstats fStats
statistics
Definition: Rw11Cpu.hpp:357
bool HasM9312() const
FIXME_docs.
Definition: Rw11Cpu.ipp:150
RlinkServer & Server() const
FIXME_docs.
Definition: Rw11Cpu.ipp:38
bool IAddrMapInsert(const std::string &name, uint16_t ibaddr)
FIXME_docs.
Definition: Rw11Cpu.ipp:206
uint16_t fIBase
Definition: Rw11Cpu.hpp:338
bool HasIbtst() const
FIXME_docs.
Definition: Rw11Cpu.ipp:142
bool HasKw11p() const
FIXME_docs.
Definition: Rw11Cpu.ipp:166
uint16_t HasHbpt() const
FIXME_docs.
Definition: Rw11Cpu.ipp:126
size_t Index() const
FIXME_docs.
Definition: Rw11Cpu.ipp:70
bool fHasIbmon
has ibmon (ibus monitor)
Definition: Rw11Cpu.hpp:344
uint32_t fMemSize
memory size in byte
Definition: Rw11Cpu.hpp:339
bool fHasScnt
has dmscnt (state counter)
Definition: Rw11Cpu.hpp:340
uint16_t fBase
Definition: Rw11Cpu.hpp:337
bool HasKw11l() const
FIXME_docs.
Definition: Rw11Cpu.ipp:158
Rw11 * fpW11
Definition: Rw11Cpu.hpp:334
uint32_t MemSize() const
FIXME_docs.
Definition: Rw11Cpu.ipp:94
bool IAddrMapErase(const std::string &name)
FIXME_docs.
Definition: Rw11Cpu.ipp:214
bool HasIist() const
FIXME_docs.
Definition: Rw11Cpu.ipp:174
bool fHasPcnt
has dmpcnt (perf counters)
Definition: Rw11Cpu.hpp:341
uint16_t IbusRemoteAddr(uint16_t ibaddr) const
FIXME_docs.
Definition: Rw11Cpu.ipp:198
const RlinkAddrMap & RAddrMap() const
FIXME_docs.
Definition: Rw11Cpu.ipp:278
size_t fIndex
Definition: Rw11Cpu.hpp:336
Rw11 & W11() const
FIXME_docs.
Definition: Rw11Cpu.ipp:30
uint16_t fCpuStat
Definition: Rw11Cpu.hpp:351
bool HasScnt() const
FIXME_docs.
Definition: Rw11Cpu.ipp:102
bool HasCmon() const
FIXME_docs.
Definition: Rw11Cpu.ipp:118
bool fHasKw11l
has kw11-l (line clock)
Definition: Rw11Cpu.hpp:347
RlinkAddrMap fIAddrMap
ibus name<->address mapping
Definition: Rw11Cpu.hpp:355
bool RAddrMapErase(const std::string &name)
FIXME_docs.
Definition: Rw11Cpu.ipp:254
uint16_t CpuStat() const
FIXME_docs.
Definition: Rw11Cpu.ipp:182
bool RAddrMapInsert(const std::string &name, uint16_t rbaddr)
FIXME_docs.
Definition: Rw11Cpu.ipp:246
std::string fType
Definition: Rw11Cpu.hpp:335
bool fHasCmon
has dmcmon (cpu monitor)
Definition: Rw11Cpu.hpp:342
bool fHasKw11p
has kw11-p (prog clock)
Definition: Rw11Cpu.hpp:348
Rstats & Stats()
FIXME_docs.
Definition: Rw11Cpu.ipp:286
const std::string & Type() const
FIXME_docs.
Definition: Rw11Cpu.ipp:62
FIXME_docs.
Definition: Rw11.hpp:31
RlinkConnect & Connect() const
FIXME_docs.
Definition: Rw11.ipp:38
RlinkServer & Server() const
FIXME_docs.
Definition: Rw11.ipp:30
RlogFile & LogFile() const
FIXME_docs.
Definition: Rw11.ipp:46
Declaration of class ReventLoop.
Definition: ReventLoop.cpp:47