"As I understand it, write_volati..." <- > <@jannic:matrix.org> As I understand it, write_volatile is underspecified. It's unclear what should happen if `T` is larger than what the hardware can read/write in a single memory access. It's unclear how it should interact with regular memory accesses (pointer provenance etc.). "In particular, a race between a write_volatile and any other operation (reading or writing) on the same location is undefined behavior." may be too strict for some use cases. (The MMIO register may actually be used to provide synchronization, like the rp2040 spinlocks. So it's intended to access the register simultaneously from multiple cores.) > While it may be possible to solve this issues by updating the specification of read_/write_volatile, it seems desirable to make it very clear that the interface is only meant for MMIO access and is not allowed to be used on "normal" memory locations covered by the rust memory model. Just noting this is a very good and as far as I am aware completely accurate summary :D