On Sat, Nov 10, 2012 at 04:44:58PM +0100, Christoffer Dall wrote:
[...]
> @@ -141,7 +519,98 @@ struct mmio_range *find_matching_range(const struct 
> mmio_range *ranges,
>   */
>  bool vgic_handle_mmio(struct kvm_vcpu *vcpu, struct kvm_run *run, struct 
> kvm_exit_mmio *mmio)
>  {
> -     return KVM_EXIT_MMIO;
> +     const struct mmio_range *range;
> +     struct vgic_dist *dist = &vcpu->kvm->arch.vgic;
> +     unsigned long base = dist->vgic_dist_base;
> +     bool updated_state;
> +
> +     if (!irqchip_in_kernel(vcpu->kvm) ||
> +         mmio->phys_addr < base ||
> +         (mmio->phys_addr + mmio->len) > (base + dist->vgic_dist_size))
> +             return false;
> +
> +     range = find_matching_range(vgic_ranges, mmio, base);
> +     if (unlikely(!range || !range->handle_mmio)) {
> +             pr_warn("Unhandled access %d %08llx %d\n",
> +                     mmio->is_write, mmio->phys_addr, mmio->len);
> +             return false;
> +     }
> +
> +     spin_lock(&vcpu->kvm->arch.vgic.lock);
> +     updated_state = range->handle_mmio(vcpu, mmio,mmio->phys_addr - 
> range->base - base);
Missing space after ','.
Checkpatch may fail here.

Regards
Dong Aisheng

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to