> Similarly, I think we could make the universal type for integer and control
> registers, a uint64_t, and floating point registers doubles. The actual
> type consumed by instructions could be down converted to something smaller
> if necessary with no loss of information.

There are structs where packing matters.
See for example arch/arm/remote_gdb.hh, there is regCache32 and regCache64
whose only difference is the size of integer registers.  If we were to unify
both, declaring them as uint64_t and downconverting to uint32_t as needed,
it would break guest debugging, because the struct would incorrectly
serialize on the wire.

This is why we introduced these structs.
They used to be arrays, of element-size big enough to hold the longest
register, and the result was that the G-packet would contain garbage.
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to