On 07/05/2016 02:41 PM, Michael Rolnik wrote:
right it accesses CPU registers but from helper context.
the flow is as follows

1. 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~

Reply via email to