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

Reply via email to