3c3
< # Copyright (c) 2009 ARM Limited
---
> # Copyright (c) 2009, 2013 ARM Limited
44a45
> # Basic stage 1 translation objects
48a50
> is_stage2 = Param.Bool(False, "Is this object for stage 2 translation?")
59a62,86
> is_stage2 = Param.Bool(False, "Is this a stage 2 TLB?")
>
> # Stage 2 translation objects, only used when virtualisation is being used
> class ArmStage2TableWalker(ArmTableWalker):
> is_stage2 = True
>
> class ArmStage2TLB(ArmTLB):
> size = 32
> walker = ArmStage2TableWalker()
> is_stage2 = True
>
> class ArmStage2MMU(SimObject):
> type = 'ArmStage2MMU'
> cxx_class = 'ArmISA::Stage2MMU'
> cxx_header = 'arch/arm/stage2_mmu.hh'
> tlb = Param.ArmTLB("Stage 1 TLB")
> stage2_tlb = Param.ArmTLB("Stage 2 TLB")
>
> class ArmStage2IMMU(ArmStage2MMU):
> tlb = Parent.itb
> stage2_tlb = ArmStage2TLB(walker = ArmStage2TableWalker())
>
> class ArmStage2DMMU(ArmStage2MMU):
> tlb = Parent.dtb
> stage2_tlb = ArmStage2TLB(walker = ArmStage2TableWalker())