On 4 September 2015 at 08:26, Pavel Fedin <p.fe...@samsung.com> wrote: > 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.
This is an internal detail of the device's implementation, so you shouldn't expose it to users of the device. Create a single 128K container memory region, and map your two 64K regions into it. Then just expose the one container region from the GIC device. thanks -- PMM