isa.cc (13599:05e9234fef20) isa.cc (13691:9c9a28fdb97f)
1/*
2 * Copyright (c) 2010-2018 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 50 unchanged lines hidden (view full) ---

59{
60
61ISA::ISA(Params *p)
62 : SimObject(p),
63 system(NULL),
64 _decoderFlavour(p->decoderFlavour),
65 _vecRegRenameMode(Enums::Full),
66 pmu(p->pmu),
1/*
2 * Copyright (c) 2010-2018 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 50 unchanged lines hidden (view full) ---

59{
60
61ISA::ISA(Params *p)
62 : SimObject(p),
63 system(NULL),
64 _decoderFlavour(p->decoderFlavour),
65 _vecRegRenameMode(Enums::Full),
66 pmu(p->pmu),
67 haveGICv3CPUInterface(false),
67 impdefAsNop(p->impdef_nop)
68{
69 miscRegs[MISCREG_SCTLR_RST] = 0;
70
71 // Hook up a dummy device if we haven't been configured with a
72 // real PMU. By using a dummy device, we don't need to check that
73 // the PMU exist every time we try to access a PMU register.
74 if (!pmu)

--- 16 unchanged lines hidden (view full) ---

91 } else {
92 highestELIs64 = true; // ArmSystem::highestELIs64 does the same
93 haveSecurity = haveLPAE = haveVirtualization = false;
94 haveCrypto = true;
95 haveLargeAsid64 = false;
96 physAddrRange = 32; // dummy value
97 }
98
68 impdefAsNop(p->impdef_nop)
69{
70 miscRegs[MISCREG_SCTLR_RST] = 0;
71
72 // Hook up a dummy device if we haven't been configured with a
73 // real PMU. By using a dummy device, we don't need to check that
74 // the PMU exist every time we try to access a PMU register.
75 if (!pmu)

--- 16 unchanged lines hidden (view full) ---

92 } else {
93 highestELIs64 = true; // ArmSystem::highestELIs64 does the same
94 haveSecurity = haveLPAE = haveVirtualization = false;
95 haveCrypto = true;
96 haveLargeAsid64 = false;
97 physAddrRange = 32; // dummy value
98 }
99
99 // GICv3 CPU interface system registers are supported
100 haveGICv3CPUInterface = false;
101
102 if (system && dynamic_cast<Gicv3 *>(system->getGIC())) {
103 haveGICv3CPUInterface = true;
104 }
105
106 // Initial rename mode depends on highestEL
107 const_cast<Enums::VecRegRenameMode&>(_vecRegRenameMode) =
108 highestELIs64 ? Enums::Full : Enums::Elem;
109
110 initializeMiscRegMetadata();
111 preUnflattenMiscReg();
112
113 clear();

--- 269 unchanged lines hidden (view full) ---

383void
384ISA::startup(ThreadContext *tc)
385{
386 pmu->setThreadContext(tc);
387
388 if (system) {
389 Gicv3 *gicv3 = dynamic_cast<Gicv3 *>(system->getGIC());
390 if (gicv3) {
100 // Initial rename mode depends on highestEL
101 const_cast<Enums::VecRegRenameMode&>(_vecRegRenameMode) =
102 highestELIs64 ? Enums::Full : Enums::Elem;
103
104 initializeMiscRegMetadata();
105 preUnflattenMiscReg();
106
107 clear();

--- 269 unchanged lines hidden (view full) ---

377void
378ISA::startup(ThreadContext *tc)
379{
380 pmu->setThreadContext(tc);
381
382 if (system) {
383 Gicv3 *gicv3 = dynamic_cast<Gicv3 *>(system->getGIC());
384 if (gicv3) {
385 haveGICv3CPUInterface = true;
391 gicv3CpuInterface.reset(gicv3->getCPUInterface(tc->contextId()));
392 gicv3CpuInterface->setISA(this);
393 }
394 }
395}
396
397
398RegVal

--- 1640 unchanged lines hidden ---
386 gicv3CpuInterface.reset(gicv3->getCPUInterface(tc->contextId()));
387 gicv3CpuInterface->setISA(this);
388 }
389 }
390}
391
392
393RegVal

--- 1640 unchanged lines hidden ---