#
12619:00be589dbe16 |
|
27-Mar-2018 |
Gabe Black <gabeblack@google.com> |
cpu: Stop extracting inst_flags from the machInst.
The instruction representation is already encoded in the trace protobuf, so there's no reason to encode a part of it again. This is especially true since this supposedly generic code is extracting the first 8 bits of the machInst, a totally arbitrary set of bits for most ISAs. If certain bits within a machine instruction are actually relevant, the consumer of the trace should be able to interpret the instruction bytes which are already there and extract the same bits within the context of whatever ISA they're appropriate for.
Change-Id: Idaebe6a110d7d4812c3d7c434582d5a9470bcec1 Reviewed-on: https://gem5-review.googlesource.com/9401 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Maintainer: Gabe Black <gabeblack@google.com>
|
#
12618:948975cd5d16 |
|
23-Mar-2018 |
Gabe Black <gabeblack@google.com> |
cpu: Proposed fix for backwards compatibility in proto/inst.proto.
I haven't tested this at all, but this may fix backwards compatibility in inst.proto by removing the oneof construct.
Change-Id: Iba19744791c2c577c3b442402f8cc6dcef8550bd Reviewed-on: https://gem5-review.googlesource.com/9361 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Maintainer: Gabe Black <gabeblack@google.com>
|
#
12602:69eb7c6e5f7f |
|
25-Jan-2018 |
Gabe Black <gabeblack@google.com> |
cpu: Make the protobuf inst tracer accept variable sized instructions.
This change adds an inst_bytes field which is of type bytes, and puts it in a oneof with the previously required inst field. If an instruction's encoding happens to be 4 bytes long, the original inst field will be used. Otherwise, the new variably sized inst_bytes field will be used.
Because this tracer doesn't have visibility into how the data in inst_bytes is structured, it can't do any endian conversion itself. To maintain compatibility between producers and consumers who may have different endiannesses, all data should be manually converted to little endian before being stored in this field.
inst will be converted into little endian by protobuf, and so compatibility doesn't have to be handled manually.
Change-Id: I290713f70e7124d8aa9550c022c71334939d84a6 Reviewed-on: https://gem5-review.googlesource.com/7561 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Maintainer: Gabe Black <gabeblack@google.com>
|
#
11807:63325e5b0a9d |
|
27-Jan-2017 |
Nikos Nikoleris <nikos.nikoleris@arm.com> |
proto: Fix warnings for protoc v3
protoc v3 introduces a new syntax for proto files and warns when the syntax is not explicitly stated.
protoc relies on the fact that undefined preprocessor symbols are explanded to 0 but since we use -Wundef they end up generating warnings.
Change-Id: If07abeb54e932469c8f2c4d38634a97fdae40f77 Reviewed-by: Andreas Hansson <andreas.hansson@arm.com> Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Signed-off-by: Jason Lowe-Power <jason@lowepower.com>
|
#
10695:ef2c71a5f02e |
|
16-Feb-2015 |
Ali Saidi <Ali.Saidi@ARM.com> |
cpu: add support for outputing a protobuf formatted CPU trace
Doesn't support x86 due to static instruction representation.
|