summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2020-01-14 15:47:43 -0800
committerGabe Black <gabeblack@google.com>2020-01-22 07:09:05 +0000
commit4252c03c3f4ee7aed09a1bccfbd5855052cbbc03 (patch)
tree6141eae1ce1b1090532aa0469ac459a4ef9143a3
parent11f7344cdc215e6950e54f53956e4298ed1fee2b (diff)
downloadgem5-4252c03c3f4ee7aed09a1bccfbd5855052cbbc03.tar.xz
arm: Remove checkpointing from the ARM TLBs.
All of the state being checkpointed would either be provided by the config directly, or would be brought into the TLB through normal fill operations. Having this state in the checkpoint complicates the checkpoint and significantly decreases compatibility with other TLB implementations, or even variations of the same TLB, for instance if the size was changed. Change-Id: I4ea079dd01ff18fbc458b3aaaf88519dbcfdd869 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24389 Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com> Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com> Tested-by: kokoro <noreply+kokoro@google.com>
-rw-r--r--src/arch/arm/tlb.cc34
-rw-r--r--src/arch/arm/tlb.hh4
2 files changed, 0 insertions, 38 deletions
diff --git a/src/arch/arm/tlb.cc b/src/arch/arm/tlb.cc
index 1e4904c71..af0f86266 100644
--- a/src/arch/arm/tlb.cc
+++ b/src/arch/arm/tlb.cc
@@ -405,40 +405,6 @@ TLB::takeOverFrom(BaseTLB *_otlb)
}
void
-TLB::serialize(CheckpointOut &cp) const
-{
- DPRINTF(Checkpoint, "Serializing Arm TLB\n");
-
- SERIALIZE_SCALAR(_attr);
- SERIALIZE_SCALAR(haveLPAE);
- SERIALIZE_SCALAR(directToStage2);
- SERIALIZE_SCALAR(stage2Req);
- SERIALIZE_SCALAR(stage2DescReq);
-
- int num_entries = size;
- SERIALIZE_SCALAR(num_entries);
- for (int i = 0; i < size; i++)
- table[i].serializeSection(cp, csprintf("TlbEntry%d", i));
-}
-
-void
-TLB::unserialize(CheckpointIn &cp)
-{
- DPRINTF(Checkpoint, "Unserializing Arm TLB\n");
-
- UNSERIALIZE_SCALAR(_attr);
- UNSERIALIZE_SCALAR(haveLPAE);
- UNSERIALIZE_SCALAR(directToStage2);
- UNSERIALIZE_SCALAR(stage2Req);
- UNSERIALIZE_SCALAR(stage2DescReq);
-
- int num_entries;
- UNSERIALIZE_SCALAR(num_entries);
- for (int i = 0; i < min(size, num_entries); i++)
- table[i].unserializeSection(cp, csprintf("TlbEntry%d", i));
-}
-
-void
TLB::regStats()
{
BaseTLB::regStats();
diff --git a/src/arch/arm/tlb.hh b/src/arch/arm/tlb.hh
index ea78a21b5..6314ef2d6 100644
--- a/src/arch/arm/tlb.hh
+++ b/src/arch/arm/tlb.hh
@@ -383,10 +383,6 @@ class TLB : public BaseTLB
void drainResume() override;
- // Checkpointing
- void serialize(CheckpointOut &cp) const override;
- void unserialize(CheckpointIn &cp) override;
-
void regStats() override;
void regProbePoints() override;