[PATCH] riscv: hwprobe: use _BITULL() rather than BIT() in MIPS vendor uapi header

Zongmin Zhou posted 1 patch 1 week ago
arch/riscv/include/uapi/asm/vendor/mips.h | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
[PATCH] riscv: hwprobe: use _BITULL() rather than BIT() in MIPS vendor uapi header
Posted by Zongmin Zhou 1 week ago
From: Zongmin Zhou <zhouzongmin@kylinos.cn>

BIT() is a kernel-internal macro that is not available to userspace, but
the MIPS vendor extension uapi header uses it without defining or
including it. Any userspace program that includes this header and uses
RISCV_HWPROBE_VENDOR_EXT_XMIPSEXECTL fails to build.

Use _BITULL(0) from linux/const.h instead, which keeps the value at 1,
so there is no ABI change.

Fixes: bb4b0f8a1bcb ("riscv: hwprobe: Add MIPS vendor extension probing")
Signed-off-by: Zongmin Zhou <zhouzongmin@kylinos.cn>
---
 arch/riscv/include/uapi/asm/vendor/mips.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/riscv/include/uapi/asm/vendor/mips.h b/arch/riscv/include/uapi/asm/vendor/mips.h
index e65ab268b265..a31c23afe74f 100644
--- a/arch/riscv/include/uapi/asm/vendor/mips.h
+++ b/arch/riscv/include/uapi/asm/vendor/mips.h
@@ -1,3 +1,5 @@
 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
 
-#define RISCV_HWPROBE_VENDOR_EXT_XMIPSEXECTL	BIT(0)
+#include <linux/const.h>
+
+#define RISCV_HWPROBE_VENDOR_EXT_XMIPSEXECTL	_BITULL(0)
-- 
2.34.1


No virus found
		Checked by Hillstone Network AntiVirus
Re: [PATCH] riscv: hwprobe: use _BITULL() rather than BIT() in MIPS vendor uapi header
Posted by Paul Walmsley 6 days, 1 hour ago
On Thu, 17 Sep 2026, Zongmin Zhou wrote:

> From: Zongmin Zhou <zhouzongmin@kylinos.cn>
> 
> BIT() is a kernel-internal macro that is not available to userspace, but
> the MIPS vendor extension uapi header uses it without defining or
> including it. Any userspace program that includes this header and uses
> RISCV_HWPROBE_VENDOR_EXT_XMIPSEXECTL fails to build.
> 
> Use _BITULL(0) from linux/const.h instead, which keeps the value at 1,
> so there is no ABI change.
> 
> Fixes: bb4b0f8a1bcb ("riscv: hwprobe: Add MIPS vendor extension probing")
> Signed-off-by: Zongmin Zhou <zhouzongmin@kylinos.cn>

Thanks, queued for v7.3-rc.


- Paul
Re: [PATCH] riscv: hwprobe: use _BITULL() rather than BIT() in MIPS vendor uapi header
Posted by Jesse Taube 1 week ago
On Thu, Sep 17, 2026 at 3:54 AM Zongmin Zhou <min_halo@163.com> wrote:
>
> From: Zongmin Zhou <zhouzongmin@kylinos.cn>
>
> BIT() is a kernel-internal macro that is not available to userspace, but
> the MIPS vendor extension uapi header uses it without defining or
> including it. Any userspace program that includes this header and uses
> RISCV_HWPROBE_VENDOR_EXT_XMIPSEXECTL fails to build.

Maybe CC stable?

>
> Use _BITULL(0) from linux/const.h instead, which keeps the value at 1,
> so there is no ABI change.
>
> Fixes: bb4b0f8a1bcb ("riscv: hwprobe: Add MIPS vendor extension probing")
> Signed-off-by: Zongmin Zhou <zhouzongmin@kylinos.cn>

Reviewed-by: Jesse Taube <jtaubepe@redhat.com>

> ---
>  arch/riscv/include/uapi/asm/vendor/mips.h | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/arch/riscv/include/uapi/asm/vendor/mips.h b/arch/riscv/include/uapi/asm/vendor/mips.h
> index e65ab268b265..a31c23afe74f 100644
> --- a/arch/riscv/include/uapi/asm/vendor/mips.h
> +++ b/arch/riscv/include/uapi/asm/vendor/mips.h
> @@ -1,3 +1,5 @@
>  /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
>
> -#define RISCV_HWPROBE_VENDOR_EXT_XMIPSEXECTL   BIT(0)
> +#include <linux/const.h>
> +
> +#define RISCV_HWPROBE_VENDOR_EXT_XMIPSEXECTL   _BITULL(0)

This changes the type from `unsigned long` to `unsigned long long`, though the
type when passed to `hwprobe` is `unsigned long long` so it doesn't
break anything.

Thanks,
Jesse Taube

> --
> 2.34.1
>
>
> No virus found
>                 Checked by Hillstone Network AntiVirus
>
>
> _______________________________________________
> linux-riscv mailing list
> linux-riscv@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-riscv
>