/virt/kvm/arm/vgic/ |
D | vgic-kvm-device.c | 346 u32 *reg, bool is_write) in vgic_v2_attr_regs_access() argument 373 ret = vgic_v2_cpuif_uaccess(vcpu, is_write, addr, reg); in vgic_v2_attr_regs_access() 376 ret = vgic_v2_dist_uaccess(vcpu, is_write, addr, reg); in vgic_v2_attr_regs_access() 402 u32 reg; in vgic_v2_set_attr() local 404 if (get_user(reg, uaddr)) in vgic_v2_set_attr() 407 return vgic_v2_attr_regs_access(dev, attr, ®, true); in vgic_v2_set_attr() 427 u32 reg = 0; in vgic_v2_get_attr() local 429 ret = vgic_v2_attr_regs_access(dev, attr, ®, false); in vgic_v2_get_attr() 432 return put_user(reg, uaddr); in vgic_v2_get_attr() 510 u64 *reg, bool is_write) in vgic_v3_attr_regs_access() argument [all …]
|
D | vgic-mmio-v3.c | 27 u64 update_64bit_reg(u64 reg, unsigned int offset, unsigned int len, in update_64bit_reg() argument 33 reg &= ~GENMASK_ULL(upper, lower); in update_64bit_reg() 36 return reg | ((u64)val << lower); in update_64bit_reg() 336 u64 vgic_sanitise_field(u64 reg, u64 field_mask, int field_shift, in vgic_sanitise_field() argument 339 u64 field = (reg & field_mask) >> field_shift; in vgic_sanitise_field() 342 return (reg & ~field_mask) | field; in vgic_sanitise_field() 351 static u64 vgic_sanitise_pendbaser(u64 reg) in vgic_sanitise_pendbaser() argument 353 reg = vgic_sanitise_field(reg, GICR_PENDBASER_SHAREABILITY_MASK, in vgic_sanitise_pendbaser() 356 reg = vgic_sanitise_field(reg, GICR_PENDBASER_INNER_CACHEABILITY_MASK, in vgic_sanitise_pendbaser() 359 reg = vgic_sanitise_field(reg, GICR_PENDBASER_OUTER_CACHEABILITY_MASK, in vgic_sanitise_pendbaser() [all …]
|
D | vgic-its.c | 471 u64 reg = GITS_TYPER_PLPIS; in vgic_mmio_read_its_typer() local 481 reg |= GIC_ENCODE_SZ(VITS_TYPER_DEVBITS, 5) << GITS_TYPER_DEVBITS_SHIFT; in vgic_mmio_read_its_typer() 482 reg |= GIC_ENCODE_SZ(VITS_TYPER_IDBITS, 5) << GITS_TYPER_IDBITS_SHIFT; in vgic_mmio_read_its_typer() 483 reg |= GIC_ENCODE_SZ(abi->ite_esz, 4) << GITS_TYPER_ITT_ENTRY_SIZE_SHIFT; in vgic_mmio_read_its_typer() 485 return extract_bytes(reg, addr & 7, len); in vgic_mmio_read_its_typer() 1443 static u64 vgic_sanitise_its_baser(u64 reg) in vgic_sanitise_its_baser() argument 1445 reg = vgic_sanitise_field(reg, GITS_BASER_SHAREABILITY_MASK, in vgic_sanitise_its_baser() 1448 reg = vgic_sanitise_field(reg, GITS_BASER_INNER_CACHEABILITY_MASK, in vgic_sanitise_its_baser() 1451 reg = vgic_sanitise_field(reg, GITS_BASER_OUTER_CACHEABILITY_MASK, in vgic_sanitise_its_baser() 1456 reg = (reg & ~GITS_BASER_PAGE_SIZE_MASK) | GITS_BASER_PAGE_SIZE_64K; in vgic_sanitise_its_baser() [all …]
|
D | vgic-mmio.h | 114 u64 update_64bit_reg(u64 reg, unsigned int offset, unsigned int len, 202 u64 vgic_sanitise_outer_cacheability(u64 reg); 203 u64 vgic_sanitise_inner_cacheability(u64 reg); 204 u64 vgic_sanitise_shareability(u64 reg); 205 u64 vgic_sanitise_field(u64 reg, u64 field_mask, int field_shift,
|
D | vgic.h | 31 #define VGIC_AFFINITY_LEVEL(reg, level) \ argument 32 ((((reg) & VGIC_AFFINITY_## level ##_MASK) \ 243 u64 *reg);
|
/virt/kvm/arm/ |
D | pmu.c | 86 u64 eventsel, reg; in kvm_pmu_idx_has_chain_evtype() local 93 reg = PMEVTYPER0_EL0 + select_idx; in kvm_pmu_idx_has_chain_evtype() 94 eventsel = __vcpu_sys_reg(vcpu, reg) & ARMV8_PMU_EVTYPE_EVENT; in kvm_pmu_idx_has_chain_evtype() 107 u64 counter, counter_high, reg, enabled, running; in kvm_pmu_get_pair_counter_value() local 111 reg = PMEVCNTR0_EL0 + pmc->idx; in kvm_pmu_get_pair_counter_value() 113 counter = __vcpu_sys_reg(vcpu, reg); in kvm_pmu_get_pair_counter_value() 114 counter_high = __vcpu_sys_reg(vcpu, reg + 1); in kvm_pmu_get_pair_counter_value() 118 reg = (pmc->idx == ARMV8_PMU_CYCLE_IDX) in kvm_pmu_get_pair_counter_value() 120 counter = __vcpu_sys_reg(vcpu, reg); in kvm_pmu_get_pair_counter_value() 164 u64 reg; in kvm_pmu_set_counter_value() local [all …]
|
D | psci.c | 496 int kvm_arm_get_fw_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg) in kvm_arm_get_fw_reg() argument 498 void __user *uaddr = (void __user *)(long)reg->addr; in kvm_arm_get_fw_reg() 501 switch (reg->id) { in kvm_arm_get_fw_reg() 506 val = get_kernel_wa_level(reg->id) & KVM_REG_FEATURE_LEVEL_MASK; in kvm_arm_get_fw_reg() 509 val = get_kernel_wa_level(reg->id) & KVM_REG_FEATURE_LEVEL_MASK; in kvm_arm_get_fw_reg() 519 if (copy_to_user(uaddr, &val, KVM_REG_SIZE(reg->id))) in kvm_arm_get_fw_reg() 525 int kvm_arm_set_fw_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg) in kvm_arm_set_fw_reg() argument 527 void __user *uaddr = (void __user *)(long)reg->addr; in kvm_arm_set_fw_reg() 531 if (copy_from_user(&val, uaddr, KVM_REG_SIZE(reg->id))) in kvm_arm_set_fw_reg() 534 switch (reg->id) { in kvm_arm_set_fw_reg() [all …]
|
D | arm.c | 1106 struct kvm_one_reg reg; in kvm_arch_vcpu_ioctl() local 1113 if (copy_from_user(®, argp, sizeof(reg))) in kvm_arch_vcpu_ioctl() 1117 r = kvm_arm_set_reg(vcpu, ®); in kvm_arch_vcpu_ioctl() 1119 r = kvm_arm_get_reg(vcpu, ®); in kvm_arch_vcpu_ioctl() 1145 r = kvm_arm_copy_reg_indices(vcpu, user_list->reg); in kvm_arch_vcpu_ioctl()
|