diff options
author | Gabe Black <gabeblack@google.com> | 2020-01-14 15:47:43 -0800 |
---|---|---|
committer | Gabe Black <gabeblack@google.com> | 2020-01-22 07:09:05 +0000 |
commit | 4252c03c3f4ee7aed09a1bccfbd5855052cbbc03 (patch) | |
tree | 6141eae1ce1b1090532aa0469ac459a4ef9143a3 /src/arch | |
parent | 11f7344cdc215e6950e54f53956e4298ed1fee2b (diff) | |
download | gem5-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>
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/arm/tlb.cc | 34 | ||||
-rw-r--r-- | src/arch/arm/tlb.hh | 4 |
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; |