On 28/03/15 01:13, Andre Przywara wrote: > Currently we have struct kvm_exit_mmio for encapsulating MMIO abort > data to be passed on from syndrome decoding all the way down to the > VGIC register handlers. Now as we switch the MMIO handling to be > routed through the KVM MMIO bus, it does not make sense anymore to > use that structure already from the beginning. So we keep the data in > local variables until we put them into the kvm_io_bus framework. > Then we fill kvm_exit_mmio in the VGIC only, making it a VGIC private > structure. On that way we replace the data buffer in that structure > with a pointer pointing to a single location in a local variable, so > we get rid of some copying on the way. > With all of the virtual GIC emulation code now being registered with > the kvm_io_bus, we can remove all of the old MMIO handling code and > its dispatching functionality. > > I didn't bother to rename kvm_exit_mmio (to vgic_mmio or something), > because that touches a lot of code lines without any good reason. > > This is based on an original patch by Nikolay. > > Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> > Cc: Nikolay Nikolaev <n.nikolaev@xxxxxxxxxxxxxxxxxxxxxx> > --- > Hi, > > this is a new version of PATCH v3 11/11, which does not use kvm_run > in the write case anymore. That should fix the problem that Marc and > Christoffer mentioned. The trick is to not use a structure at all, > but instead just pass on the needed values as parameters. By folding > handle_kernel_mmio() into io_mem_abort() we save some code and avoid > passing too many parameters. > As this is the last patch and the only one changed, I just send out > this one and rely on v3 for the other patches. If a complete respin > on the list is preferred, let me know. Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> I've put this into queue, together with Nikolay's (reworked) patch. I'm currently taking the whole thing for a spin on a few boxesm and will hopefully push it into -next by the end of the day. Thanks, M. -- Jazz is not dead. It just smells funny... -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html