Hello!

> Why have separate ITS_CONTROL and ITS_TRANSLATION entries, given
> that the ITS pages are architecturally required to be contiguous
> and the dt binding doesn't require you to specify the two addresses
> separately?

 It is more convenient for ITS implementation. I already have the code for it, 
and for ITS device it is useful to have two separate sysbus-mmio regions, one 
for control and one for translation. Because control area is fed to KVM and 
translation area is handled by qemu in userspace, because it has to catch 
writes and inject them as KVM_SIGNAL_MSI ioctl's. So, i have to map two 
regions, therefore i need two bases. Sizes are just added together when i 
create DT binding.
 Well, i could do the opposite, store them as a single region in memory map, 
and just add the appropriate offset when mapping the second sysbus-mmio region. 
It's the same amount of arithmetic, actually. What would you prefer?

Kind regards,
Pavel Fedin
Expert Engineer
Samsung Electronics Research center Russia



Reply via email to