1. 21 1月, 2015 1 次提交
    • A
      arm/arm64: KVM: split GICv2 specific emulation code from vgic.c · 1d916229
      Andre Przywara 提交于
      vgic.c is currently a mixture of generic vGIC emulation code and
      functions specific to emulating a GICv2. To ease the addition of
      GICv3, split off strictly v2 specific parts into a new file
      vgic-v2-emul.c.
      Signed-off-by: NAndre Przywara <andre.przywara@arm.com>
      Acked-by: NChristoffer Dall <christoffer.dall@linaro.org>
      
      -------
      As the diff isn't always obvious here (and to aid eventual rebases),
      here is a list of high-level changes done to the code:
      * added new file to respective arm/arm64 Makefiles
      * moved GICv2 specific functions to vgic-v2-emul.c:
        - handle_mmio_misc()
        - handle_mmio_set_enable_reg()
        - handle_mmio_clear_enable_reg()
        - handle_mmio_set_pending_reg()
        - handle_mmio_clear_pending_reg()
        - handle_mmio_priority_reg()
        - vgic_get_target_reg()
        - vgic_set_target_reg()
        - handle_mmio_target_reg()
        - handle_mmio_cfg_reg()
        - handle_mmio_sgi_reg()
        - vgic_v2_unqueue_sgi()
        - read_set_clear_sgi_pend_reg()
        - write_set_clear_sgi_pend_reg()
        - handle_mmio_sgi_set()
        - handle_mmio_sgi_clear()
        - vgic_v2_handle_mmio()
        - vgic_get_sgi_sources()
        - vgic_dispatch_sgi()
        - vgic_v2_queue_sgi()
        - vgic_v2_map_resources()
        - vgic_v2_init()
        - vgic_v2_add_sgi_source()
        - vgic_v2_init_model()
        - vgic_v2_init_emulation()
        - handle_cpu_mmio_misc()
        - handle_mmio_abpr()
        - handle_cpu_mmio_ident()
        - vgic_attr_regs_access()
        - vgic_create() (renamed to vgic_v2_create())
        - vgic_destroy() (renamed to vgic_v2_destroy())
        - vgic_has_attr() (renamed to vgic_v2_has_attr())
        - vgic_set_attr() (renamed to vgic_v2_set_attr())
        - vgic_get_attr() (renamed to vgic_v2_get_attr())
        - struct kvm_mmio_range vgic_dist_ranges[]
        - struct kvm_mmio_range vgic_cpu_ranges[]
        - struct kvm_device_ops kvm_arm_vgic_v2_ops {}
      Signed-off-by: NChristoffer Dall <christoffer.dall@linaro.org>
      1d916229