gem5 v24.0.0.0
Loading...
Searching...
No Matches
process.hh
Go to the documentation of this file.
1/*
2 * Copyright (c) 2007-2008 The Florida State University
3 * Copyright (c) 2009 The University of Edinburgh
4 * Copyright (c) 2021 IBM Corporation
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions are
9 * met: redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer;
11 * redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the distribution;
14 * neither the name of the copyright holders nor the names of its
15 * contributors may be used to endorse or promote products derived from
16 * this software without specific prior written permission.
17 *
18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */
30
31#ifndef __POWER_PROCESS_HH__
32#define __POWER_PROCESS_HH__
33
34#include "sim/process.hh"
35
36namespace gem5
37{
38
39namespace loader
40{
41class ObjectFile;
42} // namespace loader
43
44class PowerProcess : public Process
45{
46 protected:
47 void initState() override;
48
49 public:
50 PowerProcess(const ProcessParams &params, loader::ObjectFile *objFile);
51
52 template <typename IntType>
53 void argsInit(int pageSize);
54};
55
56} // namespace gem5
57
59{
60 HWCAP_FEATURE_32 = 1ULL << 31, // Always set for powerpc64
61 HWCAP_FEATURE_64 = 1ULL << 30, // Always set for powerpc64
66 HWCAP_FEATURE_NO_TB = 1ULL << 20, // 601/403gx have no timebase
67 HWCAP_FEATURE_POWER4 = 1ULL << 19, // POWER4 ISA 2.00
68 HWCAP_FEATURE_POWER5 = 1ULL << 18, // POWER5 ISA 2.02
69 HWCAP_FEATURE_POWER5_PLUS = 1ULL << 17, // POWER5+ ISA 2.03
70 HWCAP_FEATURE_CELL_BE = 1ULL << 16, // CELL Broadband Engine
71 HWCAP_FEATURE_BOOKE = 1ULL << 15, // ISA Category Embedded
72 HWCAP_FEATURE_SMT = 1ULL << 14, // Simultaneous Multi-Threading
74 HWCAP_FEATURE_ARCH_2_05 = 1ULL << 12, // ISA 2.05
75 HWCAP_FEATURE_PA6T = 1ULL << 11, // PA Semi 6T Core
76 HWCAP_FEATURE_HAS_DFP = 1ULL << 10, // Decimal FP Unit
77 HWCAP_FEATURE_POWER6_EXT = 1ULL << 9, // P6 + mffgpr/mftgpr
78 HWCAP_FEATURE_ARCH_2_06 = 1ULL << 8, // ISA 2.06
79 HWCAP_FEATURE_HAS_VSX = 1ULL << 7, // P7 Vector Extension
82 HWCAP_FEATURE_PPC_LE = 1ULL << 0
83};
84
86{
87 HWCAP2_FEATURE_ARCH_2_07 = 1ULL << 31, // ISA 2.07
88 HWCAP2_FEATURE_HAS_HTM = 1ULL << 30, // Hardware Transactional Memory
89 HWCAP2_FEATURE_HAS_DSCR = 1ULL << 29, // Data Stream Control Register
90 HWCAP2_FEATURE_HAS_EBB = 1ULL << 28, // Event Base Branching
91 HWCAP2_FEATURE_HAS_ISEL = 1ULL << 27, // Integer Select
92 HWCAP2_FEATURE_HAS_TAR = 1ULL << 26, // Target Address Register
93 HWCAP2_FEATURE_HAS_VCRYPTO = 1ULL << 25, // Vector AES category
95 HWCAP2_FEATURE_ARCH_3_00 = 1ULL << 23, // ISA 3.0
96 HWCAP2_FEATURE_HAS_IEEE128 = 1ULL << 22, // VSX IEEE Binary Float 128-bit
97};
98
99#endif // __POWER_PROCESS_HH__
PowerHWCAPFeature
Definition process.hh:59
@ HWCAP_FEATURE_POWER4
Definition process.hh:67
@ HWCAP_FEATURE_PPC_LE
Definition process.hh:82
@ HWCAP_FEATURE_PSERIES_PERFMON_COMPAT
Definition process.hh:80
@ HWCAP_FEATURE_SMT
Definition process.hh:72
@ HWCAP_FEATURE_BOOKE
Definition process.hh:71
@ HWCAP_FEATURE_ARCH_2_05
Definition process.hh:74
@ HWCAP_FEATURE_ARCH_2_06
Definition process.hh:78
@ HWCAP_FEATURE_NO_TB
Definition process.hh:66
@ HWCAP_FEATURE_HAS_DFP
Definition process.hh:76
@ HWCAP_FEATURE_TRUE_LE
Definition process.hh:81
@ HWCAP_FEATURE_HAS_VSX
Definition process.hh:79
@ HWCAP_FEATURE_POWER6_EXT
Definition process.hh:77
@ HWCAP_FEATURE_POWER5
Definition process.hh:68
@ HWCAP_FEATURE_UNIFIED_CACHE
Definition process.hh:65
@ HWCAP_FEATURE_PA6T
Definition process.hh:75
@ HWCAP_FEATURE_HAS_ALTIVEC
Definition process.hh:62
@ HWCAP_FEATURE_HAS_FPU
Definition process.hh:63
@ HWCAP_FEATURE_64
Definition process.hh:61
@ HWCAP_FEATURE_ICACHE_SNOOP
Definition process.hh:73
@ HWCAP_FEATURE_HAS_MMU
Definition process.hh:64
@ HWCAP_FEATURE_POWER5_PLUS
Definition process.hh:69
@ HWCAP_FEATURE_CELL_BE
Definition process.hh:70
@ HWCAP_FEATURE_32
Definition process.hh:60
PowerHWCAP2Feature
Definition process.hh:86
@ HWCAP2_FEATURE_HAS_VCRYPTO
Definition process.hh:93
@ HWCAP2_FEATURE_HTM_NOSC
Definition process.hh:94
@ HWCAP2_FEATURE_ARCH_3_00
Definition process.hh:95
@ HWCAP2_FEATURE_HAS_ISEL
Definition process.hh:91
@ HWCAP2_FEATURE_HAS_DSCR
Definition process.hh:89
@ HWCAP2_FEATURE_HAS_HTM
Definition process.hh:88
@ HWCAP2_FEATURE_HAS_TAR
Definition process.hh:92
@ HWCAP2_FEATURE_ARCH_2_07
Definition process.hh:87
@ HWCAP2_FEATURE_HAS_IEEE128
Definition process.hh:96
@ HWCAP2_FEATURE_HAS_EBB
Definition process.hh:90
PowerProcess(const ProcessParams &params, loader::ObjectFile *objFile)
Definition process.cc:55
void argsInit(int pageSize)
Definition process.cc:139
void initState() override
initState() is called on each SimObject when not restoring from a checkpoint.
Definition process.cc:82
loader::ObjectFile * objFile
Definition process.hh:223
const Params & params() const
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
Definition binary32.hh:36

Generated on Tue Jun 18 2024 16:24:06 for gem5 by doxygen 1.11.0