Home
last modified time | relevance | path

Searched refs:hideleg (Results 1 – 5 of 5) sorted by relevance

/openbmc/linux/arch/riscv/kvm/
H A Dmain.c25 unsigned long hideleg, hedeleg; in kvm_arch_hardware_enable() local
36 hideleg = 0; in kvm_arch_hardware_enable()
37 hideleg |= (1UL << IRQ_VS_SOFT); in kvm_arch_hardware_enable()
38 hideleg |= (1UL << IRQ_VS_TIMER); in kvm_arch_hardware_enable()
39 hideleg |= (1UL << IRQ_VS_EXT); in kvm_arch_hardware_enable()
40 csr_write(CSR_HIDELEG, hideleg); in kvm_arch_hardware_enable()
/openbmc/qemu/target/riscv/
H A Dcpu_helper.c414 uint64_t irqs = riscv_cpu_all_pending(env) & env->mideleg & env->hideleg; in riscv_cpu_vsirq_pending()
415 uint64_t irqs_f_vs = env->hvip & env->hvien & ~env->hideleg & env->vsie; in riscv_cpu_vsirq_pending()
461 irqs = ((pending & env->mideleg & ~env->hideleg) | irqs_f) & -hsie; in riscv_cpu_local_irq_pending()
468 irqs_f_vs = env->hvip & env->hvien & ~env->hideleg & env->vsie; in riscv_cpu_local_irq_pending()
471 irq_delegated = pending & env->mideleg & env->hideleg; in riscv_cpu_local_irq_pending()
1743 uint64_t hdeleg = async ? env->hideleg : env->hedeleg; in riscv_cpu_do_interrupt()
H A Dcsr.c2623 env->hideleg; in rmw_vsie64()
2624 uint64_t nalias_mask = LOCAL_INTERRUPTS & (~env->hideleg & env->hvien); in rmw_vsie64()
2873 uint64_t rval, mask = env->hideleg & VS_MODE_INTERRUPTS; in rmw_vsip64()
2877 mask |= env->hvien & ~env->hideleg; in rmw_vsip64()
3238 *ret_val = env->hideleg & vs_delegable_ints; in rmw_hideleg64()
3241 env->hideleg = (env->hideleg & ~mask) | (new_val & mask); in rmw_hideleg64()
3312 uint64_t alias_mask = (env->hideleg | ~env->hvien) | VS_MODE_INTERRUPTS; in rmw_hvip64()
3313 uint64_t nalias_mask = (~env->hideleg & env->hvien); in rmw_hvip64()
3324 alias_mask &= (env->hideleg | ~VS_MODE_INTERRUPTS); in rmw_hvip64()
3331 nalias_mask &= (env->hideleg | env->hvien); in rmw_hvip64()
[all …]
H A Dmachine.c88 VMSTATE_UINT64(env.hideleg, RISCVCPU),
H A Dcpu.h253 uint64_t hideleg; member