On 07/05/2016 02:41 PM, Michael Rolnik wrote:
right it accesses CPU registers but from helper context. the flow is as follows1. there is a write to [0x0000: 0x0100) region 2. tlb_fill is called, it does the following a. sets env->fullwr b. calls cpu_loop_exit_restore. c. the whole block is retranslated and instead of st it generates helper_fullwr for each store within this TB. 3. helper_fullwr calls cpu_physical_memory_write 4. sample_io_write is called and register is changed since the whole thing is done from within a helper
It is my opinion that helper_fullwr should simply modify the respective registers. There's no point adding two more layers of calls.
You also need to reset env->fullwr at some point. r~
