summaryrefslogtreecommitdiff
path: root/src/mem
diff options
context:
space:
mode:
authorAli Saidi <saidi@eecs.umich.edu>2006-11-23 01:42:57 -0500
committerAli Saidi <saidi@eecs.umich.edu>2006-11-23 01:42:57 -0500
commit271b9a5435ac26c836774b25ad1fa68e2351d25a (patch)
tree4e411c5f80fdc2030f147777b9a5860ad32fdb6e /src/mem
parentef5b842247ec3f13cc7c321324130eab0f636052 (diff)
downloadgem5-271b9a5435ac26c836774b25ad1fa68e2351d25a.tar.xz
first cut at a sparc tlb
src/arch/sparc/SConscript: Add code to serialize/unserialze tlb entries src/arch/sparc/asi.cc: src/arch/sparc/asi.hh: update asi names for how they're listed in the supplement add asis add more asi functions src/arch/sparc/isa_traits.hh: move the interrupt stuff and some basic address space stuff into isa traits src/arch/sparc/miscregfile.cc: src/arch/sparc/miscregfile.hh: add mmu registers to tlb get rid of implicit asi stuff... the tlb will handle it src/arch/sparc/regfile.hh: make isnt/dataAsid return ints not asis src/arch/sparc/tlb.cc: src/arch/sparc/tlb.hh: first cut at sparc tlb src/arch/sparc/vtophys.hh: pagatable nedes to be included here src/mem/request.hh: add asi and if the request is a memory mapped register to the requset object src/sim/host.hh: fix incorrect definition of LL --HG-- extra : convert_revision : 6c85cd1681c62c8cd8eab04f70b1f15a034b0aa3
Diffstat (limited to 'src/mem')
-rw-r--r--src/mem/request.hh15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/mem/request.hh b/src/mem/request.hh
index e54984fcd..5817b24e0 100644
--- a/src/mem/request.hh
+++ b/src/mem/request.hh
@@ -95,6 +95,11 @@ class Request
/** The address space ID. */
int asid;
+ /** The ASI is any -- SPARC ONLY */
+ int asi;
+ /** This request is to a memory mapped register. */
+ bool mmapedReg;
+
/** The virtual address of the request. */
Addr vaddr;
@@ -215,6 +220,16 @@ class Request
/** Accessor function for asid.*/
int getAsid() { assert(validAsidVaddr); return asid; }
+ /** Accessor function for asi.*/
+ int getAsi() { assert(validAsidVaddr); return asi; }
+ /** Accessor function for asi.*/
+ void setAsi(int a) { assert(validAsidVaddr); asi = a; }
+
+ /** Accessor function for asi.*/
+ bool getMmapedReg() { assert(validPaddr); return mmapedReg; }
+ /** Accessor function for asi.*/
+ void setMmapedReg(bool r) { assert(validPaddr); mmapedReg = r; }
+
/** Accessor function to check if sc result is valid. */
bool scResultValid() { return validScResult; }
/** Accessor function for store conditional return value.*/