Hello Andreas Sandberg,
I'd like you to do a code review. Please visit
https://gem5-review.googlesource.com/6781
to review the following change.
Change subject: arch-arm: Instruction size methods in StaticInst class
......................................................................
arch-arm: Instruction size methods in StaticInst class
This patch is introducing some methods in StaticInst so that is possible
to get the instruction size in byte of the instruction (can be 2 bytes
in Thumb) and the correct opcode (The machInst field contains some
appended metadata)
Change-Id: I3bed4d9fd7c77feaeded40ded192afe445d306ea
Signed-off-by: Giacomo Travaglini <[email protected]>
Reviewed-by: Andreas Sandberg <[email protected]>
---
M src/arch/arm/insts/static_inst.hh
1 file changed, 19 insertions(+), 0 deletions(-)
diff --git a/src/arch/arm/insts/static_inst.hh
b/src/arch/arm/insts/static_inst.hh
index 431e81b..4595646 100644
--- a/src/arch/arm/insts/static_inst.hh
+++ b/src/arch/arm/insts/static_inst.hh
@@ -423,6 +423,25 @@
{
return intWidth;
}
+
+ /** Returns the byte size of current instruction */
+ ssize_t
+ instSize() const
+ {
+ return (!machInst.thumb || machInst.bigThumb) ? 4 : 2;
+ }
+
+ /**
+ * Returns the real encoding of the instruction:
+ * the machInst field is in fact always 64 bit wide and
+ * contains some instruction metadata, which means it differs
+ * from the real opcode.
+ */
+ MachInst
+ encoding() const
+ {
+ return static_cast<MachInst>(mask(instSize() * 8));
+ }
};
}
--
To view, visit https://gem5-review.googlesource.com/6781
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I3bed4d9fd7c77feaeded40ded192afe445d306ea
Gerrit-Change-Number: 6781
Gerrit-PatchSet: 1
Gerrit-Owner: Giacomo Travaglini <[email protected]>
Gerrit-Reviewer: Andreas Sandberg <[email protected]>
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev