misc: Merge branch v20.1.0.3 hotfix into develop
authorBobby R. Bruce <bbruce@ucdavis.edu>
Wed, 3 Feb 2021 19:48:51 +0000 (11:48 -0800)
committerBobby R. Bruce <bbruce@ucdavis.edu>
Wed, 3 Feb 2021 19:48:51 +0000 (11:48 -0800)
Change-Id: I12cca586627718bf41fe24f0fcd3f10c4fe48b2d

1  2 
src/arch/arm/ArmISA.py
src/arch/arm/ArmSystem.py
src/arch/arm/isa.cc
src/arch/arm/isa.hh
src/arch/arm/system.cc
src/arch/arm/system.hh

index bc5f823786d3dd34d37c06595255a1c66ef45e4e,0725726895422aed7d2850ac4bb24981057c365c..59d3919d51c76be8ceef4177bd4ae89787836c96
@@@ -113,11 -108,10 +113,11 @@@ class ArmISA(BaseISA)
      # 4K | 64K | !16K | !BigEndEL0 | !SNSMem | !BigEnd | 8b ASID | 40b PA
      id_aa64mmfr0_el1 = Param.UInt64(0x0000000000f00002,
          "AArch64 Memory Model Feature Register 0")
-     # PAN | HPDS | VHE
-     id_aa64mmfr1_el1 = Param.UInt64(0x0000000000101100,
+     # PAN | HPDS | !VHE
+     id_aa64mmfr1_el1 = Param.UInt64(0x0000000000101000,
          "AArch64 Memory Model Feature Register 1")
 -    id_aa64mmfr2_el1 = Param.UInt64(0x0000000000000000,
 +    # |VARANGE
 +    id_aa64mmfr2_el1 = Param.UInt64(0x0000000000010000,
          "AArch64 Memory Model Feature Register 2")
  
      # Any access (read/write) to an unimplemented
Simple merge
index f4fabc16a33da90aae5406e21aef4fd257b71309,8adbdabdb0af1d8e111d39ce9724225e3e5d7bc8..2429e5cb0421dbb7c1fc0483e2331ca994c0996e
@@@ -100,9 -101,10 +101,10 @@@ ISA::ISA(const Params &p) : BaseISA(p)
          haveLargeAsid64 = false;
          physAddrRange = 32;  // dummy value
          haveSVE = true;
+         haveVHE = false;
          havePAN = false;
          haveSecEL2 = true;
 -        sveVL = p->sve_vl_se;
 +        sveVL = p.sve_vl_se;
          haveLSE = true;
          haveTME = true;
      }
Simple merge
index 7f5fa1313d0ef781e826586d83dd805fc4ddc872,0bbc701e92055b85934bd2bf6cf17ce29b810a04..783366dd38e791a628706f3b55ec127e27ca0358
@@@ -63,22 -64,23 +63,23 @@@ ArmSystem::ArmSystem(const Params &p
        _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);
Simple merge