diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2007-08-26 20:33:57 -0700 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2007-08-26 20:33:57 -0700 |
commit | 9b49a78cfdc0bd6f8afdb0d066ea39778095d7ac (patch) | |
tree | b4a977c8d7379ac552d245847825a73b61bf8c5b /src/sim/faults.hh | |
parent | 80d51650c8bce1503e5ce3877f3bfe21d3e57d45 (diff) | |
download | gem5-9b49a78cfdc0bd6f8afdb0d066ea39778095d7ac.tar.xz |
Address translation: Make the page table more flexible.
The page table now stores actual page table entries. It is still a templated
class here, but this will be corrected in the near future.
--HG--
extra : convert_revision : 804dcc6320414c2b3ab76a74a15295bd24e1d13d
Diffstat (limited to 'src/sim/faults.hh')
-rw-r--r-- | src/sim/faults.hh | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/sim/faults.hh b/src/sim/faults.hh index f2e638945..cfc6ad105 100644 --- a/src/sim/faults.hh +++ b/src/sim/faults.hh @@ -77,13 +77,23 @@ class UnimpFault : public FaultBase }; #if !FULL_SYSTEM -class PageTableFault : public FaultBase +class GenericPageTableFault : public FaultBase { private: Addr vaddr; public: - FaultName name() const {return "M5 page table fault";} - PageTableFault(Addr va) : vaddr(va) {} + FaultName name() const {return "Generic page table fault";} + GenericPageTableFault(Addr va) : vaddr(va) {} + void invoke(ThreadContext * tc); +}; + +class GenericAlignmentFault : public FaultBase +{ + private: + Addr vaddr; + public: + FaultName name() const {return "Generic alignment fault";} + GenericAlignmentFault(Addr va) : vaddr(va) {} void invoke(ThreadContext * tc); }; #endif |