gem5
v20.1.0.0
arch
arm
fastmodel
iris
isa.cc
Go to the documentation of this file.
1
/*
2
* Copyright 2020 Google Inc.
3
*
4
* Redistribution and use in source and binary forms, with or without
5
* modification, are permitted provided that the following conditions are
6
* met: redistributions of source code must retain the above copyright
7
* notice, this list of conditions and the following disclaimer;
8
* redistributions in binary form must reproduce the above copyright
9
* notice, this list of conditions and the following disclaimer in the
10
* documentation and/or other materials provided with the distribution;
11
* neither the name of the copyright holders nor the names of its
12
* contributors may be used to endorse or promote products derived from
13
* this software without specific prior written permission.
14
*
15
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
16
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
17
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
18
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
19
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
20
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
21
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
*/
27
28
#include "
arch/arm/fastmodel/iris/isa.hh
"
29
30
#include "
arch/arm/miscregs.hh
"
31
#include "
cpu/thread_context.hh
"
32
#include "params/IrisISA.hh"
33
#include "
sim/serialize.hh
"
34
35
void
36
Iris::ISA::serialize
(
CheckpointOut
&
cp
)
const
37
{
38
RegVal
miscRegs[
ArmISA::NUM_PHYS_MISCREGS
];
39
for
(
int
i
= 0;
i
<
ArmISA::NUM_PHYS_MISCREGS
;
i
++)
40
miscRegs[
i
] =
tc
->
readMiscRegNoEffect
(
i
);
41
SERIALIZE_ARRAY
(miscRegs,
ArmISA::NUM_PHYS_MISCREGS
);
42
}
43
44
Iris::ISA
*
45
IrisISAParams::create()
46
{
47
return
new
Iris::ISA
(
this
);
48
}
ThreadContext::readMiscRegNoEffect
virtual RegVal readMiscRegNoEffect(RegIndex misc_reg) const =0
isa.hh
serialize.hh
ArmISA::i
Bitfield< 7 > i
Definition:
miscregs_types.hh:63
cp
Definition:
cprintf.cc:40
BaseISA::tc
ThreadContext * tc
Definition:
isa.hh:52
Iris::ISA
Definition:
isa.hh:36
SERIALIZE_ARRAY
#define SERIALIZE_ARRAY(member, size)
Definition:
serialize.hh:832
miscregs.hh
CheckpointOut
std::ostream CheckpointOut
Definition:
serialize.hh:63
Iris::ISA::serialize
void serialize(CheckpointOut &cp) const
Serialize an object.
Definition:
isa.cc:36
ArmISA::NUM_PHYS_MISCREGS
@ NUM_PHYS_MISCREGS
Definition:
miscregs.hh:1057
thread_context.hh
RegVal
uint64_t RegVal
Definition:
types.hh:168
Generated on Wed Sep 30 2020 14:01:58 for gem5 by
doxygen
1.8.17