From 4f5775df64b1b16ef4a3a02b12e4ac8a6370baed Mon Sep 17 00:00:00 2001 From: Andreas Sandberg Date: Tue, 15 Oct 2013 13:26:34 +0200 Subject: mem: Rename the ASI_BITS flag field in Request ASI_BITS in the Request object were originally used to store a memory request's ASI on SPARC. This is not the case any more since other ISAs use the ASI bits to store architecture-dependent information. This changeset renames the ASI_BITS to ARCH_BITS which better describes their use. Additionally, the getAsi() accessor is renamed to getArchFlags(). --- src/mem/request.hh | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) (limited to 'src/mem') diff --git a/src/mem/request.hh b/src/mem/request.hh index c3a3f47dc..f37e34dd4 100644 --- a/src/mem/request.hh +++ b/src/mem/request.hh @@ -86,10 +86,17 @@ class Request { public: typedef uint32_t FlagsType; + typedef uint8_t ArchFlagsType; typedef ::Flags Flags; - /** ASI information for this request if it exists. */ - static const FlagsType ASI_BITS = 0x000000FF; + /** + * Architecture specific flags. + * + * These bits int the flag field are reserved for + * architecture-specific code. For example, SPARC uses them to + * represent ASIs. + */ + static const FlagsType ARCH_BITS = 0x000000FF; /** The request was an instruction fetch. */ static const FlagsType INST_FETCH = 0x00000100; /** The virtual address is also the physical address. */ @@ -422,6 +429,13 @@ class Request _flags.set(flags); } + void + setArchFlags(Flags flags) + { + assert(privateFlags.isSet(VALID_PADDR|VALID_VADDR)); + _flags.set(flags & ARCH_BITS); + } + /** Accessor function for vaddr.*/ Addr getVaddr() @@ -452,12 +466,12 @@ class Request _asid = asid; } - /** Accessor function for asi.*/ - uint8_t - getAsi() + /** Accessor function for architecture-specific flags.*/ + ArchFlagsType + getArchFlags() { - assert(privateFlags.isSet(VALID_VADDR)); - return _flags & ASI_BITS; + assert(privateFlags.isSet(VALID_PADDR|VALID_VADDR)); + return _flags & ARCH_BITS; } /** Accessor function to check if sc result is valid. */ -- cgit v1.2.3