Similarly, the interrupts object checkpoints both an array of bools
(interrupts), and a scalar bit vector (intStatus) which hold the same
information. That information *does* need to be in the checkpoint as far as
I can tell, but it doesn't need to be in there twice.

Gabe

On Mon, Jan 13, 2020 at 6:11 PM Gabe Black <[email protected]> wrote:

> Hi folks. I'm looking at checkpointing fast models, and one thing I'll
> have to put into the checkpoint is something for the TLBs. I was looking at
> what they checkpoint, and I think all of it should be removed from
> checkpoints.
>
> As far as I know:
>
> _attr: A cached value which is an implementation detail and not
> architecturally visible.
> haveLPAE: A setting which is not architectural/software visible state.
> directToStage2: Derived state which comes from miscregs. Can be recovered
> on first use by updateMiscRegs if miscRegValid is false (which it is on
> construction).
> stage2Reg, stage2DescReq: Information about in flight translations? These
> should not be in flight when a checkpoint is taken since state should have
> drained.
>
> TLB entries which can be reloaded in the new TLB. The new TLB won't
> necessarily have the same size as the old one, and so can't necessarily
> have the same table of entries. The entries are not (as far as I know)
> architecturally visible.
>
> All of this state can and should be removed from checkpoints as far as I
> can tell. Please let me know if I'm wrong about some bit of this.
>
> Gabe
>
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to