On 15 October 2017 at 17:47, Ramy Sameh <ramysame...@gmail.com> wrote: > I was tracking the calling of function pl011_read, and I noticed that it is > called from function *memory_region_read_accessor *in memory.c > > I also noticed that all peripherals reading functions (e.g. pl050_read, > pl190_read ... etc) in the emulated VersatilePB board, are called from the > same location in *memory_region_read_accessor.* > > *My question is*: Is this calling procedure done for the emulated > VersatilePB board *only*, or this is the case for the peripherals in all > emulated systems ?
Broadly speaking, yes, all peripheral device read and write functions are invoked via the memory subsystem code (which is the part of QEMU that figures out what memory region covers whatever the physical address that the guest wrote to is). thanks -- PMM