This namespace has gone through the deprecation period and can now be removed. Change-Id: I87b763fccfcdf720909dfbda9c3fc8f6dea36a61 Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/67362 Tested-by: kokoro <noreply+kokoro@google.com>
100 lines
4.1 KiB
C++
100 lines
4.1 KiB
C++
/*
|
|
* Copyright (c) 2007-2008 The Florida State University
|
|
* Copyright (c) 2009 The University of Edinburgh
|
|
* Copyright (c) 2021 IBM Corporation
|
|
* All rights reserved.
|
|
*
|
|
* Redistribution and use in source and binary forms, with or without
|
|
* modification, are permitted provided that the following conditions are
|
|
* met: redistributions of source code must retain the above copyright
|
|
* notice, this list of conditions and the following disclaimer;
|
|
* redistributions in binary form must reproduce the above copyright
|
|
* notice, this list of conditions and the following disclaimer in the
|
|
* documentation and/or other materials provided with the distribution;
|
|
* neither the name of the copyright holders nor the names of its
|
|
* contributors may be used to endorse or promote products derived from
|
|
* this software without specific prior written permission.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
*/
|
|
|
|
#ifndef __POWER_PROCESS_HH__
|
|
#define __POWER_PROCESS_HH__
|
|
|
|
#include "sim/process.hh"
|
|
|
|
namespace gem5
|
|
{
|
|
|
|
namespace loader
|
|
{
|
|
class ObjectFile;
|
|
} // namespace loader
|
|
|
|
class PowerProcess : public Process
|
|
{
|
|
protected:
|
|
void initState() override;
|
|
|
|
public:
|
|
PowerProcess(const ProcessParams ¶ms, loader::ObjectFile *objFile);
|
|
|
|
template <typename IntType>
|
|
void argsInit(int pageSize);
|
|
};
|
|
|
|
} // namespace gem5
|
|
|
|
enum PowerHWCAPFeature
|
|
{
|
|
HWCAP_FEATURE_32 = 1ULL << 31, // Always set for powerpc64
|
|
HWCAP_FEATURE_64 = 1ULL << 30, // Always set for powerpc64
|
|
HWCAP_FEATURE_HAS_ALTIVEC = 1ULL << 28,
|
|
HWCAP_FEATURE_HAS_FPU = 1ULL << 27,
|
|
HWCAP_FEATURE_HAS_MMU = 1ULL << 26,
|
|
HWCAP_FEATURE_UNIFIED_CACHE = 1ULL << 24,
|
|
HWCAP_FEATURE_NO_TB = 1ULL << 20, // 601/403gx have no timebase
|
|
HWCAP_FEATURE_POWER4 = 1ULL << 19, // POWER4 ISA 2.00
|
|
HWCAP_FEATURE_POWER5 = 1ULL << 18, // POWER5 ISA 2.02
|
|
HWCAP_FEATURE_POWER5_PLUS = 1ULL << 17, // POWER5+ ISA 2.03
|
|
HWCAP_FEATURE_CELL_BE = 1ULL << 16, // CELL Broadband Engine
|
|
HWCAP_FEATURE_BOOKE = 1ULL << 15, // ISA Category Embedded
|
|
HWCAP_FEATURE_SMT = 1ULL << 14, // Simultaneous Multi-Threading
|
|
HWCAP_FEATURE_ICACHE_SNOOP = 1ULL << 13,
|
|
HWCAP_FEATURE_ARCH_2_05 = 1ULL << 12, // ISA 2.05
|
|
HWCAP_FEATURE_PA6T = 1ULL << 11, // PA Semi 6T Core
|
|
HWCAP_FEATURE_HAS_DFP = 1ULL << 10, // Decimal FP Unit
|
|
HWCAP_FEATURE_POWER6_EXT = 1ULL << 9, // P6 + mffgpr/mftgpr
|
|
HWCAP_FEATURE_ARCH_2_06 = 1ULL << 8, // ISA 2.06
|
|
HWCAP_FEATURE_HAS_VSX = 1ULL << 7, // P7 Vector Extension
|
|
HWCAP_FEATURE_PSERIES_PERFMON_COMPAT = 1ULL << 6,
|
|
HWCAP_FEATURE_TRUE_LE = 1ULL << 1,
|
|
HWCAP_FEATURE_PPC_LE = 1ULL << 0
|
|
};
|
|
|
|
enum PowerHWCAP2Feature
|
|
{
|
|
HWCAP2_FEATURE_ARCH_2_07 = 1ULL << 31, // ISA 2.07
|
|
HWCAP2_FEATURE_HAS_HTM = 1ULL << 30, // Hardware Transactional Memory
|
|
HWCAP2_FEATURE_HAS_DSCR = 1ULL << 29, // Data Stream Control Register
|
|
HWCAP2_FEATURE_HAS_EBB = 1ULL << 28, // Event Base Branching
|
|
HWCAP2_FEATURE_HAS_ISEL = 1ULL << 27, // Integer Select
|
|
HWCAP2_FEATURE_HAS_TAR = 1ULL << 26, // Target Address Register
|
|
HWCAP2_FEATURE_HAS_VCRYPTO = 1ULL << 25, // Vector AES category
|
|
HWCAP2_FEATURE_HTM_NOSC = 1ULL << 24,
|
|
HWCAP2_FEATURE_ARCH_3_00 = 1ULL << 23, // ISA 3.0
|
|
HWCAP2_FEATURE_HAS_IEEE128 = 1ULL << 22, // VSX IEEE Binary Float 128-bit
|
|
};
|
|
|
|
#endif // __POWER_PROCESS_HH__
|