Home
last modified time | relevance | path

Searched refs:mmio (Results 1 – 4 of 4) sorted by relevance

/virt/kvm/arm/
Dvgic-v3-emul.c53 struct kvm_exit_mmio *mmio, phys_addr_t offset) in handle_mmio_rao_wi() argument
57 vgic_reg_access(mmio, &reg, offset, in handle_mmio_rao_wi()
64 struct kvm_exit_mmio *mmio, phys_addr_t offset) in handle_mmio_ctlr() argument
76 vgic_reg_access(mmio, &reg, offset, in handle_mmio_ctlr()
78 if (mmio->is_write) { in handle_mmio_ctlr()
94 struct kvm_exit_mmio *mmio, phys_addr_t offset) in handle_mmio_typer() argument
102 vgic_reg_access(mmio, &reg, offset, in handle_mmio_typer()
109 struct kvm_exit_mmio *mmio, phys_addr_t offset) in handle_mmio_iidr() argument
114 vgic_reg_access(mmio, &reg, offset, in handle_mmio_iidr()
121 struct kvm_exit_mmio *mmio, in handle_mmio_set_enable_reg_dist() argument
[all …]
Dvgic-v2-emul.c44 struct kvm_exit_mmio *mmio, phys_addr_t offset) in handle_mmio_misc() argument
52 vgic_reg_access(mmio, &reg, word_offset, in handle_mmio_misc()
54 if (mmio->is_write) { in handle_mmio_misc()
64 vgic_reg_access(mmio, &reg, word_offset, in handle_mmio_misc()
70 vgic_reg_access(mmio, &reg, word_offset, in handle_mmio_misc()
79 struct kvm_exit_mmio *mmio, in handle_mmio_set_enable_reg() argument
82 return vgic_handle_enable_reg(vcpu->kvm, mmio, offset, in handle_mmio_set_enable_reg()
87 struct kvm_exit_mmio *mmio, in handle_mmio_clear_enable_reg() argument
90 return vgic_handle_enable_reg(vcpu->kvm, mmio, offset, in handle_mmio_clear_enable_reg()
95 struct kvm_exit_mmio *mmio, in handle_mmio_set_pending_reg() argument
[all …]
Dvgic.h70 void vgic_reg_access(struct kvm_exit_mmio *mmio, u32 *reg,
72 bool handle_mmio_raz_wi(struct kvm_vcpu *vcpu, struct kvm_exit_mmio *mmio,
76 u32 mmio_data_read(struct kvm_exit_mmio *mmio, u32 mask) in mmio_data_read() argument
78 return le32_to_cpu(*((u32 *)mmio->data)) & mask; in mmio_data_read()
82 void mmio_data_write(struct kvm_exit_mmio *mmio, u32 mask, u32 value) in mmio_data_write() argument
84 *((u32 *)mmio->data) = cpu_to_le32(value) & mask; in mmio_data_write()
91 bool (*handle_mmio)(struct kvm_vcpu *vcpu, struct kvm_exit_mmio *mmio,
110 bool vgic_handle_enable_reg(struct kvm *kvm, struct kvm_exit_mmio *mmio,
113 bool vgic_handle_set_pending_reg(struct kvm *kvm, struct kvm_exit_mmio *mmio,
116 bool vgic_handle_clear_pending_reg(struct kvm *kvm, struct kvm_exit_mmio *mmio,
[all …]
Dvgic.c427 void vgic_reg_access(struct kvm_exit_mmio *mmio, u32 *reg, in vgic_reg_access() argument
431 u32 mask = (1UL << (mmio->len * 8)) - 1; in vgic_reg_access()
446 if (mmio->is_write) { in vgic_reg_access()
447 u32 data = mmio_data_read(mmio, mask) << word_offset; in vgic_reg_access()
472 mmio_data_write(mmio, mask, regval >> word_offset); in vgic_reg_access()
477 bool handle_mmio_raz_wi(struct kvm_vcpu *vcpu, struct kvm_exit_mmio *mmio, in handle_mmio_raz_wi() argument
480 vgic_reg_access(mmio, NULL, offset, in handle_mmio_raz_wi()
485 bool vgic_handle_enable_reg(struct kvm *kvm, struct kvm_exit_mmio *mmio, in vgic_handle_enable_reg() argument
493 vgic_reg_access(mmio, reg, offset, mode); in vgic_handle_enable_reg()
494 if (mmio->is_write) { in vgic_handle_enable_reg()
[all …]