arch: Make the decoder decode() method virtual.

Change-Id: I60f0c4ffbd63069caaee190a78f007df79b61808
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/52078
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Maintainer: Gabe Black <gabe.black@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
Gabe Black
2021-10-25 02:54:47 -07:00
parent ce60dc8d3a
commit 3d52a0ea97
7 changed files with 19 additions and 17 deletions

View File

@@ -124,6 +124,19 @@ class InstDecoder
* @param fetchPC The address this chunk was fetched from.
*/
virtual void moreBytes(const PCStateBase &pc, Addr fetchPC) = 0;
/**
* Decode an instruction or fetch it from the code cache.
*
* This method decodes the currently pending pre-decoded
* instruction. Data must be fed to the decoder using moreBytes()
* until instReady() is true before calling this method.
*
* @param pc Instruction pointer that we are decoding.
* @return A pointer to a static instruction or NULL if the
* decoder isn't ready (see instReady()).
*/
virtual StaticInstPtr decode(PCStateBase &pc) = 0;
};
} // namespace gem5