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>
This commit is contained in:
@@ -404,40 +404,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()
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user