diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2010-06-02 12:58:10 -0500 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2010-06-02 12:58:10 -0500 |
commit | 1d5233958ad208e3b229e394ba5ab689b82d8cac (patch) | |
tree | de69dd4bac297c10f9e6355b06b5e1f5f12c9e90 /src/arch/arm/tlb.hh | |
parent | 7b397925af7fd9864189387179137dd4ac40dfad (diff) | |
download | gem5-1d5233958ad208e3b229e394ba5ab689b82d8cac.tar.xz |
ARM: Implement the V7 version of alignment checking.
Diffstat (limited to 'src/arch/arm/tlb.hh')
-rw-r--r-- | src/arch/arm/tlb.hh | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/arch/arm/tlb.hh b/src/arch/arm/tlb.hh index d2c035b31..d6fe981b9 100644 --- a/src/arch/arm/tlb.hh +++ b/src/arch/arm/tlb.hh @@ -86,6 +86,21 @@ struct TlbEntry class TLB : public BaseTLB { + public: + enum ArmFlags { + AlignmentMask = 0x7, + + AlignByte = 0x0, + AlignHalfWord = 0x1, + AlignWord = 0x3, + AlignDoubleWord = 0x7, + + AllowUnaligned = 0x8, + // Because zero otherwise looks like a valid setting and may be used + // accidentally, this bit must be non-zero to show it was used on + // purpose. + MustBeOne = 0x10 + }; protected: typedef std::multimap<Addr, int> PageTable; PageTable lookupTable; // Quick lookup into page table |