Re: [RFC PATCH 2/3] tcg: add a ll/sc protection facility

2024-02-20 Thread Richard Henderson
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

[RFC PATCH 2/3] tcg: add a ll/sc protection facility

2024-02-19 Thread Nicholas Piggin
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