Hi Oleksandr,

On 15/11/2023 19:38, Oleksandr Tyshchenko wrote:
The ioreq.c code was always meant to be generic and is always for every
emulated MMIO. So you want to limit any change in it. Checking the MMIO
region belongs to the hostbridge and doing the translation is IMHO not a
good idea to do in ioreq.c. Instead you want to do the conversion from
MMIO to (sbdf, offset) in virtio_pci_mmio{read, write}(). So the job of
ioreq.c is to simply find the correct Device Model and forward it.



Are you about virtio_pci_ioreq_server_get_addr() called from
arch_ioreq_server_get_type_addr()? If so and if I am not mistaken the
x86 also check what PCI device is targeted there.
Well yes. We can do better to avoid extra complexity for each MMIO.

Note that the x86 version is somewhat more light-weight.

Cheers,

--
Julien Grall

Reply via email to