Re: [PATCH] hw/riscv/riscv-iommu: Fix IOCOUNTINH.CY toggle detection
On Sat, May 9, 2026 at 5:57 PM wrote:
>
> From: Fangyu Yu
>
> 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
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
>
>
Re: [PATCH] hw/riscv/riscv-iommu: Fix IOCOUNTINH.CY toggle detection
On 5/9/2026 3:49 PM, [email protected] wrote: From: Fangyu Yu 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 Reviewed-by: Nutty Liu Thanks, Nutty --- 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; }
Re: [PATCH] hw/riscv/riscv-iommu: Fix IOCOUNTINH.CY toggle detection
On 5/9/2026 4:49 AM, [email protected] wrote: From: Fangyu Yu 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 --- Reviewed-by: Daniel Henrique Barboza 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; }
[PATCH] hw/riscv/riscv-iommu: Fix IOCOUNTINH.CY toggle detection
From: Fangyu Yu
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
---
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
