Hi Richard and Alex, I am trying to implement efficient x86 guest on ARM64 host virtualization where the host has FEAT_LRCPC2 instructions. If I translate every x86 load to LDAPR and every x86 store to STLR, it will meet the memory consistency requirements.
The necessary condition for using these RCpc instructions is the alignment. The manual states that alignment fault will be raised if: * Not all bytes of the memory access lie within a 16-byte quantity aligned to 16 bytes, and * The value of SCTLR_ELx.nAA applicable to the current Exception level is 0. How does TCG check for alignment? How do I check if the guest memory access is within the 16-byte alignment? Will alignment fault be raised if it is not? Any pointers are greatly appreciated! Thank you, -- Pranith
