On Sat, May 9, 2026 at 5:57 PM <[email protected]> wrote:
>
> From: Fangyu Yu <[email protected]>
>
> Fix IOCOUNTINH.CY toggle detection by comparing normalized CY bit
> rather than XORing whole register with boolean.
>
> Fixes: 2cf2a6c027ba ("hw/riscv/riscv-iommu: add IOCOUNTINH mmio writes")
> Signed-off-by: Fangyu Yu <[email protected]>
Thanks!
Applied to riscv-to-apply.next
Alistair
> ---
> hw/riscv/riscv-iommu-hpm.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/hw/riscv/riscv-iommu-hpm.c b/hw/riscv/riscv-iommu-hpm.c
> index e8d284ac8b..5bf80a8db9 100644
> --- a/hw/riscv/riscv-iommu-hpm.c
> +++ b/hw/riscv/riscv-iommu-hpm.c
> @@ -245,7 +245,8 @@ void riscv_iommu_process_iocntinh_cy(RISCVIOMMUState *s,
> bool prev_cy_inh)
> s, RISCV_IOMMU_REG_IOCOUNTINH);
>
> /* We only need to process CY bit toggle. */
> - if (!(inhibit ^ prev_cy_inh)) {
> + bool cy_inh = !!(inhibit & RISCV_IOMMU_IOCOUNTINH_CY);
> + if (cy_inh == prev_cy_inh) {
> return;
> }
>
> --
> 2.50.1
>
>