misc: Merge branch v20.1.0.3 hotfix into develop
[gem5.git] / src / arch / arm / system.cc
index 0bbc701e92055b85934bd2bf6cf17ce29b810a04..783366dd38e791a628706f3b55ec127e27ca0358 100644 (file)
 #include "dev/arm/gic_v2.hh"
 #include "mem/physical.hh"
 
-using namespace std;
 using namespace Linux;
 using namespace ArmISA;
 
-ArmSystem::ArmSystem(Params *p)
+ArmSystem::ArmSystem(const Params &p)
     : System(p),
-      _haveSecurity(p->have_security),
-      _haveLPAE(p->have_lpae),
-      _haveVirtualization(p->have_virtualization),
-      _haveCrypto(p->have_crypto),
+      _haveSecurity(p.have_security),
+      _haveLPAE(p.have_lpae),
+      _haveVirtualization(p.have_virtualization),
+      _haveCrypto(p.have_crypto),
       _genericTimer(nullptr),
       _gic(nullptr),
       _pwrCtrl(nullptr),
-      _highestELIs64(p->highest_el_is_64),
-      _physAddrRange64(p->phys_addr_range_64),
-      _haveLargeAsid64(p->have_large_asid_64),
-      _haveTME(p->have_tme),
-      _haveSVE(p->have_sve),
-      _sveVL(p->sve_vl),
-      _haveLSE(p->have_lse),
-      _haveVHE(p->have_vhe),
-      _havePAN(p->have_pan),
-      _haveSecEL2(p->have_secel2),
-      semihosting(p->semihosting),
-      multiProc(p->multi_proc)
-{
-      if (p->auto_reset_addr) {
+      _highestELIs64(p.highest_el_is_64),
+      _physAddrRange64(p.phys_addr_range_64),
+      _haveLargeAsid64(p.have_large_asid_64),
+      _haveTME(p.have_tme),
+      _haveSVE(p.have_sve),
+      _sveVL(p.sve_vl),
+      _haveLSE(p.have_lse),
+      _haveVHE(p.have_vhe),
+      _havePAN(p.have_pan),
+      _haveSecEL2(p.have_secel2),
+      semihosting(p.semihosting),
+      multiProc(p.multi_proc)
+{
+    if (p.auto_reset_addr) {
         _resetAddr = workload->getEntry();
     } else {
-        _resetAddr = p->reset_addr;
+        _resetAddr = p.reset_addr;
         warn_if(workload->getEntry() != _resetAddr,
                 "Workload entry point %#x and reset address %#x are different",
                 workload->getEntry(), _resetAddr);
@@ -96,7 +95,7 @@ ArmSystem::ArmSystem(Params *p)
 
     if (_highestELIs64 && (
             _physAddrRange64 < 32 ||
-            _physAddrRange64 > 48 ||
+            _physAddrRange64 > MaxPhysAddrRange ||
             (_physAddrRange64 % 4 != 0 && _physAddrRange64 != 42))) {
         fatal("Invalid physical address range (%d)\n", _physAddrRange64);
     }
@@ -235,9 +234,3 @@ ArmSystem::callClearWakeRequest(ThreadContext *tc)
     if (FVPBasePwrCtrl *pwr_ctrl = getArmSystem(tc)->getPowerController())
         pwr_ctrl->clearWakeRequest(tc);
 }
-
-ArmSystem *
-ArmSystemParams::create()
-{
-    return new ArmSystem(this);
-}