On 2/19/24 18:19, Nicholas Piggin wrote:
+bool llsc_prot =
+#ifdef TARGET_HAS_LLSC_PROT
+cpu_physical_memory_get_dirty_flag(addr, DIRTY_MEMORY_LLSC_PROT);
+#else
+false;
+#endif
We're trying to get rid of all target-specific adjustments to TCG.
We are not keen to introduce a
This uses the cpu physical memory dirty mechanism to provide a LL/SC
protection system, so that a CPU can set llsc protection on a block of
memory, and it can check whether any other CPUs have stored to that
memory in a way that can be done race-free to perform a store
conditional on that check.
Q