]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - include/kvm/arm_vgic.h
Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
[karo-tx-linux.git] / include / kvm / arm_vgic.h
index 581a59ea7e346a60d99539b6b9e8c30f975919d0..ef718586321ce0dea03aabe8b114beca9cb71a74 100644 (file)
@@ -148,7 +148,6 @@ struct vgic_its {
        gpa_t                   vgic_its_base;
 
        bool                    enabled;
-       bool                    initialized;
        struct vgic_io_device   iodev;
        struct kvm_device       *dev;
 
@@ -162,6 +161,9 @@ struct vgic_its {
        u32                     creadr;
        u32                     cwriter;
 
+       /* migration ABI revision in use */
+       u32                     abi_rev;
+
        /* Protects the device and collection lists */
        struct mutex            its_lock;
        struct list_head        device_list;
@@ -193,7 +195,10 @@ struct vgic_dist {
                /* either a GICv2 CPU interface */
                gpa_t                   vgic_cpu_base;
                /* or a number of GICv3 redistributor regions */
-               gpa_t                   vgic_redist_base;
+               struct {
+                       gpa_t           vgic_redist_base;
+                       gpa_t           vgic_redist_free_offset;
+               };
        };
 
        /* distributor enabled */
@@ -283,6 +288,7 @@ extern struct static_key_false vgic_v2_cpuif_trap;
 
 int kvm_vgic_addr(struct kvm *kvm, unsigned long type, u64 *addr, bool write);
 void kvm_vgic_early_init(struct kvm *kvm);
+int kvm_vgic_vcpu_init(struct kvm_vcpu *vcpu);
 int kvm_vgic_create(struct kvm *kvm, u32 type);
 void kvm_vgic_destroy(struct kvm *kvm);
 void kvm_vgic_vcpu_early_init(struct kvm_vcpu *vcpu);