arch,sim: Use _m5opRange in System::allocPhysPages.
authorGabe Black <gabeblack@google.com>
Tue, 26 Nov 2019 00:25:33 +0000 (16:25 -0800)
committerGabe Black <gabeblack@google.com>
Fri, 7 Feb 2020 07:37:38 +0000 (07:37 +0000)
This removes the hardcoded assumption that the m5 ops live at the
address they use in x86.

Jira Issue: https://gem5.atlassian.net/browse/GEM5-187

Change-Id: Ia551d7cf5b08f926c7756541c92a2af9bb73b88a
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/23181
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/arch/arm/system.hh
src/sim/system.cc
src/sim/system.hh

index 90fed14a790f676d4d8a805441bbcba6855d2054..771d738a27e0e946dc187ad476ca5369ce379873 100644 (file)
@@ -269,12 +269,6 @@ class ArmSystem : public System
         return mask(physAddrRange());
     }
 
-    /**
-     * Range used by memory-mapped m5 pseudo-ops if enabled. Returns
-     * an invalid/empty range if disabled.
-     */
-    const AddrRange &m5opRange() const { return _m5opRange; }
-
     /** Is Arm Semihosting support enabled? */
     bool haveSemihosting() const { return semihosting != nullptr; }
 
index b5b59ef6de52a970dfa18b8d1c3b7749ceaec738..46fa3848f1bc948e42ee2d9ce2872384ac35db95 100644 (file)
@@ -432,8 +432,7 @@ System::allocPhysPages(int npages)
 
     Addr next_return_addr = pagePtr << PageShift;
 
-    AddrRange m5opRange(0xffff0000, 0x100000000);
-    if (m5opRange.contains(next_return_addr)) {
+    if (_m5opRange.contains(next_return_addr)) {
         warn("Reached m5ops MMIO region\n");
         return_addr = 0xffffffff;
         pagePtr = 0xffffffff >> PageShift;
index 638e352493ff36a1ec63a4d6c05450de692d176a..6a8b50297c48fffdd77f91fed10ecb181ed91d7f 100644 (file)
@@ -584,6 +584,12 @@ class System : public SimObject, public PCEventScope
 
     const Params *params() const { return (const Params *)_params; }
 
+    /**
+     * Range used by memory-mapped m5 pseudo-ops if enabled. Returns
+     * an invalid/empty range if disabled.
+     */
+    const AddrRange &m5opRange() const { return _m5opRange; }
+
   public:
 
     /**