Hi Eric, On 1/12/21 4:04 PM, Alexandru Elisei wrote: > Hi Eric, > > On 12/12/20 6:50 PM, Eric Auger wrote: >> Instead of converting the vgic_io_device handle to a kvm_io_device >> handled and then do the oppositive, pass a vgic_io_device pointer all >> along the call chain. > To me, it looks like the commit message describes what the patch does instead of > why it does it. > > What are "vgic_io_device handle" and "kvm_io_device handled"? Sorry, I think I got it now. You were referring to the argument types struct vgic_io_device and struct kvm_io_device. The patch looks like a very good cleanup. How changing to commit message to sound something like this (feel free to ignore/change it if you think of something else): vgic_uaccess() takes a struct vgic_io_device argument, converts it to a struct kvm_io_device and passes it to the read/write accessor functions, which convert it back to a struct vgic_io_device. Avoid the indirection by passing the struct vgic_io_device argument directly to vgic_uaccess_{read,write). Thanks, Alex > > Thanks, > Alex >> Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> >> --- >> arch/arm64/kvm/vgic/vgic-mmio.c | 10 ++++------ >> 1 file changed, 4 insertions(+), 6 deletions(-) >> >> diff --git a/arch/arm64/kvm/vgic/vgic-mmio.c b/arch/arm64/kvm/vgic/vgic-mmio.c >> index b2d73fc0d1ef..48c6067fc5ec 100644 >> --- a/arch/arm64/kvm/vgic/vgic-mmio.c >> +++ b/arch/arm64/kvm/vgic/vgic-mmio.c >> @@ -938,10 +938,9 @@ vgic_get_mmio_region(struct kvm_vcpu *vcpu, struct vgic_io_device *iodev, >> return region; >> } >> >> -static int vgic_uaccess_read(struct kvm_vcpu *vcpu, struct kvm_io_device *dev, >> +static int vgic_uaccess_read(struct kvm_vcpu *vcpu, struct vgic_io_device *iodev, >> gpa_t addr, u32 *val) >> { >> - struct vgic_io_device *iodev = kvm_to_vgic_iodev(dev); >> const struct vgic_register_region *region; >> struct kvm_vcpu *r_vcpu; >> >> @@ -960,10 +959,9 @@ static int vgic_uaccess_read(struct kvm_vcpu *vcpu, struct kvm_io_device *dev, >> return 0; >> } >> >> -static int vgic_uaccess_write(struct kvm_vcpu *vcpu, struct kvm_io_device *dev, >> +static int vgic_uaccess_write(struct kvm_vcpu *vcpu, struct vgic_io_device *iodev, >> gpa_t addr, const u32 *val) >> { >> - struct vgic_io_device *iodev = kvm_to_vgic_iodev(dev); >> const struct vgic_register_region *region; >> struct kvm_vcpu *r_vcpu; >> >> @@ -986,9 +984,9 @@ int vgic_uaccess(struct kvm_vcpu *vcpu, struct vgic_io_device *dev, >> bool is_write, int offset, u32 *val) >> { >> if (is_write) >> - return vgic_uaccess_write(vcpu, &dev->dev, offset, val); >> + return vgic_uaccess_write(vcpu, dev, offset, val); >> else >> - return vgic_uaccess_read(vcpu, &dev->dev, offset, val); >> + return vgic_uaccess_read(vcpu, dev, offset, val); >> } >> >> static int dispatch_mmio_read(struct kvm_vcpu *vcpu, struct kvm_io_device *dev, > _______________________________________________ > kvmarm mailing list > kvmarm@xxxxxxxxxxxxxxxxxxxxx > https://lists.cs.columbia.edu/mailman/listinfo/kvmarm _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm