From a1e82259759ce7290269aeca6742098f1adbf2fd Mon Sep 17 00:00:00 2001 From: Ali Saidi Date: Mon, 8 Nov 2010 13:58:25 -0600 Subject: ARM: Add checkpointing support --- src/arch/arm/table_walker.cc | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'src/arch/arm/table_walker.cc') diff --git a/src/arch/arm/table_walker.cc b/src/arch/arm/table_walker.cc index ddf9fe5d3..c7c00924d 100644 --- a/src/arch/arm/table_walker.cc +++ b/src/arch/arm/table_walker.cc @@ -59,10 +59,20 @@ TableWalker::~TableWalker() } -unsigned int -drain(Event *de) +unsigned int TableWalker::drain(Event *de) { - panic("Not implemented\n"); + if (stateQueueL1.size() != 0 || stateQueueL2.size() != 0) + { + changeState(Draining); + DPRINTF(Checkpoint, "TableWalker busy, wait to drain\n"); + return 1; + } + else + { + changeState(Drained); + DPRINTF(Checkpoint, "TableWalker free, no need to drain\n"); + return 0; + } } Port* -- cgit v1.2.3