arm: Mark uninitialized new TLB entries as not valid
authorNikos Nikoleris <nikos.nikoleris@arm.com>
Mon, 20 Jun 2016 14:51:31 +0000 (15:51 +0100)
committerNikos Nikoleris <nikos.nikoleris@arm.com>
Mon, 20 Jun 2016 14:51:31 +0000 (15:51 +0100)
Previously when we initialized the TLB we would allocate a number of
TLB entries which would be marked as valid. As a result the TLB
contained an entry which would be considered a valid entry for the 0
page.

Change-Id: I23ace86426a171a4f6200ebeb29ad57c21647036
Reviewed-by: Curtis Dunham <curtis.dunham@arm.com>
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
src/arch/arm/pagetable.hh

index 6d306d6e04c939b4ee89efa64fa244829b94e16a..856e0d54580104f75e50aacf620ce7ae34ef8618 100644 (file)
@@ -168,7 +168,7 @@ struct TlbEntry : public Serializable
          pfn(0), size(0), vpn(0), attributes(0), lookupLevel(L1), asid(0),
          vmid(0), N(0), innerAttrs(0), outerAttrs(0), ap(0), hap(0x3),
          domain(DomainType::Client), mtype(MemoryType::StronglyOrdered),
-         longDescFormat(false), isHyp(false), global(false), valid(true),
+         longDescFormat(false), isHyp(false), global(false), valid(false),
          ns(true), nstid(true), el(0), nonCacheable(false),
          shareable(false), outerShareable(false), xn(0), pxn(0)
     {