Lines Matching refs:region
817 const struct vgic_register_region *region = elt; in match_region() local
819 if (offset < region->reg_offset) in match_region()
822 if (offset >= region->reg_offset + region->len) in match_region()
912 const struct vgic_register_region *region, in check_region() argument
931 if ((region->access_flags & flags) && IS_ALIGNED(addr, len)) { in check_region()
932 if (!region->bits_per_irq) in check_region()
936 return VGIC_ADDR_TO_INTID(addr, region->bits_per_irq) < nr_irqs; in check_region()
946 const struct vgic_register_region *region; in vgic_get_mmio_region() local
948 region = vgic_find_mmio_region(iodev->regions, iodev->nr_regions, in vgic_get_mmio_region()
950 if (!region || !check_region(vcpu->kvm, region, addr, len)) in vgic_get_mmio_region()
953 return region; in vgic_get_mmio_region()
960 const struct vgic_register_region *region; in vgic_uaccess_read() local
963 region = vgic_get_mmio_region(vcpu, iodev, addr, sizeof(u32)); in vgic_uaccess_read()
964 if (!region) { in vgic_uaccess_read()
970 if (region->uaccess_read) in vgic_uaccess_read()
971 *val = region->uaccess_read(r_vcpu, addr, sizeof(u32)); in vgic_uaccess_read()
973 *val = region->read(r_vcpu, addr, sizeof(u32)); in vgic_uaccess_read()
982 const struct vgic_register_region *region; in vgic_uaccess_write() local
985 region = vgic_get_mmio_region(vcpu, iodev, addr, sizeof(u32)); in vgic_uaccess_write()
986 if (!region) in vgic_uaccess_write()
990 if (region->uaccess_write) in vgic_uaccess_write()
991 return region->uaccess_write(r_vcpu, addr, sizeof(u32), *val); in vgic_uaccess_write()
993 region->write(r_vcpu, addr, sizeof(u32), *val); in vgic_uaccess_write()
1013 const struct vgic_register_region *region; in dispatch_mmio_read() local
1016 region = vgic_get_mmio_region(vcpu, iodev, addr, len); in dispatch_mmio_read()
1017 if (!region) { in dispatch_mmio_read()
1024 data = region->read(vcpu, addr, len); in dispatch_mmio_read()
1027 data = region->read(vcpu, addr, len); in dispatch_mmio_read()
1030 data = region->read(iodev->redist_vcpu, addr, len); in dispatch_mmio_read()
1033 data = region->its_read(vcpu->kvm, iodev->its, addr, len); in dispatch_mmio_read()
1045 const struct vgic_register_region *region; in dispatch_mmio_write() local
1048 region = vgic_get_mmio_region(vcpu, iodev, addr, len); in dispatch_mmio_write()
1049 if (!region) in dispatch_mmio_write()
1054 region->write(vcpu, addr, len, data); in dispatch_mmio_write()
1057 region->write(vcpu, addr, len, data); in dispatch_mmio_write()
1060 region->write(iodev->redist_vcpu, addr, len, data); in dispatch_mmio_write()
1063 region->its_write(vcpu->kvm, iodev->its, addr, len, data); in dispatch_mmio_write()