In order to hide some of the differences between v4.0 and v4.1, move the doorbell management out of the KVM code, and into the GICv4-specific layer. This allows the calling code to ask for the doorbell when blocking, and otherwise to leave the doorbell permanently disabled. This matches the v4.1 code perfectly, and only results in a minor refactoring of the v4.0 code.
Showing the changes to include/linux (1 of 5 files). Show all
Unified · Split
| @@ -125,7 +125,8 @@ struct its_cmd_info { · 124 unmodified lines | |||
| 125 | 125 | ||
| 126 | int its_alloc_vcpu_irqs(struct its_vm *vm); | 126 | int its_alloc_vcpu_irqs(struct its_vm *vm); |
| 127 | void its_free_vcpu_irqs(struct its_vm *vm); | 127 | void its_free_vcpu_irqs(struct its_vm *vm); |
| 128 | int its_schedule_vpe(struct its_vpe *vpe, bool on); | 128 | int its_make_vpe_resident(struct its_vpe *vpe, bool g0en, bool g1en); |
| 129 | int its_make_vpe_non_resident(struct its_vpe *vpe, bool db); | ||
| 129 | int its_invall_vpe(struct its_vpe *vpe); | 130 | int its_invall_vpe(struct its_vpe *vpe); |
| 130 | int its_map_vlpi(int irq, struct its_vlpi_map *map); | 131 | int its_map_vlpi(int irq, struct its_vlpi_map *map); |
| 131 | int its_get_vlpi(int irq, struct its_vlpi_map *map); | 132 | int its_get_vlpi(int irq, struct its_vlpi_map *map); |