On 8/3/23 06:10, Peter Maydell wrote:
On Thu, 27 Jul 2023 at 17:33, Richard Henderson
- mop = MO_128;
- if (s->align_mem) {
- mop |= MO_ALIGN_8;
- }
- mop = finalize_memop_pair(s, mop);
+ mop = MO_128 | MO_ALIGN | MO_ATOM_IFALIGN_PAIR;
So here we're implicitly assuming TAG_GRANULE is 16 and
then relying on the codegen for a MO_128 | MO_ALIGN
operation to give us the alignment fault if the guest
address isn't aligned to the tag granule, right ?
Yes.
Previously we also put s->be_data into the MemOp
(via finalize_memop_pair() calling finalize_memop_atom()).
Don't we still need to do that ?
Whoops, yes.
r~