Ping!
This is mostly reviewed maybe the 6th patch needs a little look.
Thanks,
Fred
On 04/28/2017 04:59 PM, fred.kon...@greensocs.com wrote:
> From: KONRAD Frederic
>
> This series allows to execute code from mmio areas.
> The main goal of this is to be able to run code for example from an SPI
> device.
>
> The three first patch fixes the way get_page_addr_code fills the TLB.
>
> The sixth patch implements the mmio execution helpers: the device must
> implement the request_ptr callback of the MemoryRegion and will be notified
> when the guest wants to execute code from it.
>
> The fouth and fifth patch introduces mmio_interface device which allows to
> dynamically map a host pointer somewhere into the memory.
>
> The last patch implements the execution from the SPI memories in the
> xilinx_spips model.
>
> Thanks,
> Fred
>
> V2 -> V3:
> * Reorder patches to allow bisection.
> * Rebase on current master.
> * Use an async work to invalidate the mmio region.
> * Clear the dirty of the region before invalidating it.
> V1 -> V2:
> * Fix the DPRINTF error.
> RFC -> V1:
> * Use an interface (mmio-interface) to fix any reference leak issue.
>
> KONRAD Frederic (7):
> cputlb: cleanup get_page_addr_code to use VICTIM_TLB_HIT
> cputlb: move get_page_addr_code
> cputlb: fix the way get_page_addr_code fills the tlb
> qdev: add MemoryRegion property
> introduce mmio_interface
> exec: allow to get a pointer for some mmio memory region
> xilinx_spips: allow mmio execution
>
> cputlb.c | 82 ++---
> hw/misc/Makefile.objs| 1 +
> hw/misc/mmio_interface.c | 128
> +++
> hw/ssi/xilinx_spips.c| 74 --
> include/exec/memory.h| 35 +++
> include/hw/misc/mmio_interface.h | 49 +++
> include/hw/qdev-properties.h | 2 +
> memory.c | 111 +
> 8 files changed, 428 insertions(+), 54 deletions(-)
> create mode 100644 hw/misc/mmio_interface.c
> create mode 100644 include/hw/misc/mmio_interface.h
>