Shouldn't need to use volatile and atomic stores/loads as all the stuff touching this will always run on the main emulation thread.