* [PATCH v3 0/3] riscv: Add bfloat16 instruction support @ 2024-12-06 5:58 Inochi Amaoto 2024-12-06 5:58 ` [PATCH v3 1/3] dt-bindings: riscv: add bfloat16 ISA extension description Inochi Amaoto ` (3 more replies) 0 siblings, 4 replies; 15+ messages in thread From: Inochi Amaoto @ 2024-12-06 5:58 UTC (permalink / raw) To: Chen Wang, Jonathan Corbet, Paul Walmsley, Palmer Dabbelt, Albert Ou, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Clément Léger, Evan Green, Charlie Jenkins, Andrew Jones, Jesse Taube, Andy Chiu, Alexandre Ghiti, Inochi Amaoto, Samuel Holland, Yong-Xuan Wang Cc: linux-doc, linux-riscv, linux-kernel, devicetree, Yixun Lan, Longbin Li Add description for the BFloat16 precision Floating-Point ISA extension, (Zfbfmin, Zvfbfmin, Zvfbfwma). which was ratified in commit 4dc23d62 ("Added Chapter title to BF16") of the riscv-isa-manual. Changed from v2: 1. rebase for v6.13-rc1 Changed from v1: 1. add missing code in sys_hwprobe.c Inochi Amaoto (3): dt-bindings: riscv: add bfloat16 ISA extension description riscv: add ISA extension parsing for bfloat16 ISA extension riscv: hwprobe: export bfloat16 ISA extension Documentation/arch/riscv/hwprobe.rst | 12 +++++ .../devicetree/bindings/riscv/extensions.yaml | 45 +++++++++++++++++++ arch/riscv/include/asm/hwcap.h | 3 ++ arch/riscv/include/uapi/asm/hwprobe.h | 3 ++ arch/riscv/kernel/cpufeature.c | 3 ++ arch/riscv/kernel/sys_hwprobe.c | 3 ++ 6 files changed, 69 insertions(+) -- 2.47.1 ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v3 1/3] dt-bindings: riscv: add bfloat16 ISA extension description 2024-12-06 5:58 [PATCH v3 0/3] riscv: Add bfloat16 instruction support Inochi Amaoto @ 2024-12-06 5:58 ` Inochi Amaoto 2024-12-16 22:00 ` Samuel Holland 2024-12-06 5:58 ` [PATCH v3 2/3] riscv: add ISA extension parsing for bfloat16 ISA extension Inochi Amaoto ` (2 subsequent siblings) 3 siblings, 1 reply; 15+ messages in thread From: Inochi Amaoto @ 2024-12-06 5:58 UTC (permalink / raw) To: Chen Wang, Jonathan Corbet, Paul Walmsley, Palmer Dabbelt, Albert Ou, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Clément Léger, Evan Green, Charlie Jenkins, Andrew Jones, Jesse Taube, Andy Chiu, Alexandre Ghiti, Inochi Amaoto, Samuel Holland, Yong-Xuan Wang Cc: linux-doc, linux-riscv, linux-kernel, devicetree, Yixun Lan, Longbin Li, Conor Dooley Add description for the BFloat16 precision Floating-Point ISA extension, (Zfbfmin, Zvfbfmin, Zvfbfwma). which was ratified in commit 4dc23d62 ("Added Chapter title to BF16") of the riscv-isa-manual. Signed-off-by: Inochi Amaoto <inochiama@gmail.com> Acked-by: Conor Dooley <conor.dooley@microchip.com> --- .../devicetree/bindings/riscv/extensions.yaml | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/Documentation/devicetree/bindings/riscv/extensions.yaml b/Documentation/devicetree/bindings/riscv/extensions.yaml index 9c7dd7e75e0c..0a1f1a76d129 100644 --- a/Documentation/devicetree/bindings/riscv/extensions.yaml +++ b/Documentation/devicetree/bindings/riscv/extensions.yaml @@ -329,6 +329,12 @@ properties: instructions, as ratified in commit 056b6ff ("Zfa is ratified") of riscv-isa-manual. + - const: zfbfmin + description: + The standard Zfbfmin extension which provides minimal support for + 16-bit half-precision brain floating-point instructions, as ratified + in commit 4dc23d62 ("Added Chapter title to BF16") of riscv-isa-manual. + - const: zfh description: The standard Zfh extension for 16-bit half-precision binary @@ -525,6 +531,18 @@ properties: in commit 6f702a2 ("Vector extensions are now ratified") of riscv-v-spec. + - const: zvfbfmin + description: + The standard Zvfbfmin extension for minimal support for vectored + 16-bit half-precision brain floating-point instructions, as ratified + in commit 4dc23d62 ("Added Chapter title to BF16") of riscv-isa-manual. + + - const: zvfbfwma + description: + The standard Zvfbfwma extension for vectored half-precision brain + floating-point widening multiply-accumulate instructions, as ratified + in commit 4dc23d62 ("Added Chapter title to BF16") of riscv-isa-manual. + - const: zvfh description: The standard Zvfh extension for vectored half-precision @@ -663,6 +681,33 @@ properties: then: contains: const: zca + # Zfbfmin depends on F + - if: + contains: + const: zfbfmin + then: + contains: + const: f + # Zvfbfmin depends on V or Zve32f + - if: + contains: + const: zvfbfmin + then: + oneOf: + - contains: + const: v + - contains: + const: zve32f + # Zvfbfwma depends on Zfbfmin and Zvfbfmin + - if: + contains: + const: zvfbfwma + then: + allOf: + - contains: + const: zfbfmin + - contains: + const: zvfbfmin allOf: # Zcf extension does not exist on rv64 -- 2.47.1 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH v3 1/3] dt-bindings: riscv: add bfloat16 ISA extension description 2024-12-06 5:58 ` [PATCH v3 1/3] dt-bindings: riscv: add bfloat16 ISA extension description Inochi Amaoto @ 2024-12-16 22:00 ` Samuel Holland 2024-12-16 22:51 ` Jessica Clarke 0 siblings, 1 reply; 15+ messages in thread From: Samuel Holland @ 2024-12-16 22:00 UTC (permalink / raw) To: Inochi Amaoto Cc: linux-doc, linux-riscv, linux-kernel, devicetree, Yixun Lan, Longbin Li, Conor Dooley, Chen Wang, Jonathan Corbet, Paul Walmsley, Palmer Dabbelt, Albert Ou, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Clément Léger, Evan Green, Charlie Jenkins, Andrew Jones, Jesse Taube, Andy Chiu, Alexandre Ghiti, Yong-Xuan Wang On 2024-12-05 11:58 PM, Inochi Amaoto wrote: > Add description for the BFloat16 precision Floating-Point ISA extension, > (Zfbfmin, Zvfbfmin, Zvfbfwma). which was ratified in commit 4dc23d62 > ("Added Chapter title to BF16") of the riscv-isa-manual. > > Signed-off-by: Inochi Amaoto <inochiama@gmail.com> > Acked-by: Conor Dooley <conor.dooley@microchip.com> > --- > .../devicetree/bindings/riscv/extensions.yaml | 45 +++++++++++++++++++ > 1 file changed, 45 insertions(+) > > diff --git a/Documentation/devicetree/bindings/riscv/extensions.yaml b/Documentation/devicetree/bindings/riscv/extensions.yaml > index 9c7dd7e75e0c..0a1f1a76d129 100644 > --- a/Documentation/devicetree/bindings/riscv/extensions.yaml > +++ b/Documentation/devicetree/bindings/riscv/extensions.yaml > @@ -329,6 +329,12 @@ properties: > instructions, as ratified in commit 056b6ff ("Zfa is ratified") of > riscv-isa-manual. > > + - const: zfbfmin > + description: > + The standard Zfbfmin extension which provides minimal support for > + 16-bit half-precision brain floating-point instructions, as ratified I think you mean "binary" here and in the entries below, not "brain". > + in commit 4dc23d62 ("Added Chapter title to BF16") of riscv-isa-manual. > + > - const: zfh > description: > The standard Zfh extension for 16-bit half-precision binary > @@ -525,6 +531,18 @@ properties: > in commit 6f702a2 ("Vector extensions are now ratified") of > riscv-v-spec. > > + - const: zvfbfmin > + description: > + The standard Zvfbfmin extension for minimal support for vectored > + 16-bit half-precision brain floating-point instructions, as ratified > + in commit 4dc23d62 ("Added Chapter title to BF16") of riscv-isa-manual. > + > + - const: zvfbfwma > + description: > + The standard Zvfbfwma extension for vectored half-precision brain > + floating-point widening multiply-accumulate instructions, as ratified > + in commit 4dc23d62 ("Added Chapter title to BF16") of riscv-isa-manual. > + > - const: zvfh > description: > The standard Zvfh extension for vectored half-precision > @@ -663,6 +681,33 @@ properties: > then: > contains: > const: zca > + # Zfbfmin depends on F > + - if: > + contains: > + const: zfbfmin > + then: > + contains: > + const: f > + # Zvfbfmin depends on V or Zve32f > + - if: > + contains: > + const: zvfbfmin > + then: > + oneOf: > + - contains: > + const: v > + - contains: > + const: zve32f > + # Zvfbfwma depends on Zfbfmin and Zvfbfmin > + - if: > + contains: > + const: zvfbfwma > + then: > + allOf: > + - contains: > + const: zfbfmin > + - contains: > + const: zvfbfmin > > allOf: > # Zcf extension does not exist on rv64 ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v3 1/3] dt-bindings: riscv: add bfloat16 ISA extension description 2024-12-16 22:00 ` Samuel Holland @ 2024-12-16 22:51 ` Jessica Clarke 2024-12-19 0:36 ` Samuel Holland 0 siblings, 1 reply; 15+ messages in thread From: Jessica Clarke @ 2024-12-16 22:51 UTC (permalink / raw) To: Samuel Holland Cc: Inochi Amaoto, linux-doc, linux-riscv, linux-kernel, devicetree, Yixun Lan, Longbin Li, Conor Dooley, Chen Wang, Jonathan Corbet, Paul Walmsley, Palmer Dabbelt, Albert Ou, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Clément Léger, Evan Green, Charlie Jenkins, Andrew Jones, Jesse Taube, Andy Chiu, Alexandre Ghiti, Yong-Xuan Wang On 16 Dec 2024, at 22:00, Samuel Holland <samuel.holland@sifive.com> wrote: > > On 2024-12-05 11:58 PM, Inochi Amaoto wrote: >> Add description for the BFloat16 precision Floating-Point ISA extension, >> (Zfbfmin, Zvfbfmin, Zvfbfwma). which was ratified in commit 4dc23d62 >> ("Added Chapter title to BF16") of the riscv-isa-manual. >> >> Signed-off-by: Inochi Amaoto <inochiama@gmail.com> >> Acked-by: Conor Dooley <conor.dooley@microchip.com> >> --- >> .../devicetree/bindings/riscv/extensions.yaml | 45 +++++++++++++++++++ >> 1 file changed, 45 insertions(+) >> >> diff --git a/Documentation/devicetree/bindings/riscv/extensions.yaml b/Documentation/devicetree/bindings/riscv/extensions.yaml >> index 9c7dd7e75e0c..0a1f1a76d129 100644 >> --- a/Documentation/devicetree/bindings/riscv/extensions.yaml >> +++ b/Documentation/devicetree/bindings/riscv/extensions.yaml >> @@ -329,6 +329,12 @@ properties: >> instructions, as ratified in commit 056b6ff ("Zfa is ratified") of >> riscv-isa-manual. >> >> + - const: zfbfmin >> + description: >> + The standard Zfbfmin extension which provides minimal support for >> + 16-bit half-precision brain floating-point instructions, as ratified > > I think you mean "binary" here and in the entries below, not "brain”. No, that’s Zfhmin / FP16 / binary16, not Zfbfmin / BF16 / BFloat16? The B is for Brain as it came out of Google Brain. https://en.wikipedia.org/wiki/Bfloat16_floating-point_format Jess ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v3 1/3] dt-bindings: riscv: add bfloat16 ISA extension description 2024-12-16 22:51 ` Jessica Clarke @ 2024-12-19 0:36 ` Samuel Holland 0 siblings, 0 replies; 15+ messages in thread From: Samuel Holland @ 2024-12-19 0:36 UTC (permalink / raw) To: Jessica Clarke, Inochi Amaoto Cc: linux-doc, linux-riscv, linux-kernel, devicetree, Yixun Lan, Longbin Li, Conor Dooley, Chen Wang, Jonathan Corbet, Paul Walmsley, Palmer Dabbelt, Albert Ou, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Clément Léger, Evan Green, Charlie Jenkins, Andrew Jones, Jesse Taube, Andy Chiu, Alexandre Ghiti, Yong-Xuan Wang On 2024-12-16 4:51 PM, Jessica Clarke wrote: > On 16 Dec 2024, at 22:00, Samuel Holland <samuel.holland@sifive.com> wrote: >> >> On 2024-12-05 11:58 PM, Inochi Amaoto wrote: >>> Add description for the BFloat16 precision Floating-Point ISA extension, >>> (Zfbfmin, Zvfbfmin, Zvfbfwma). which was ratified in commit 4dc23d62 >>> ("Added Chapter title to BF16") of the riscv-isa-manual. >>> >>> Signed-off-by: Inochi Amaoto <inochiama@gmail.com> >>> Acked-by: Conor Dooley <conor.dooley@microchip.com> >>> --- >>> .../devicetree/bindings/riscv/extensions.yaml | 45 +++++++++++++++++++ >>> 1 file changed, 45 insertions(+) >>> >>> diff --git a/Documentation/devicetree/bindings/riscv/extensions.yaml b/Documentation/devicetree/bindings/riscv/extensions.yaml >>> index 9c7dd7e75e0c..0a1f1a76d129 100644 >>> --- a/Documentation/devicetree/bindings/riscv/extensions.yaml >>> +++ b/Documentation/devicetree/bindings/riscv/extensions.yaml >>> @@ -329,6 +329,12 @@ properties: >>> instructions, as ratified in commit 056b6ff ("Zfa is ratified") of >>> riscv-isa-manual. >>> >>> + - const: zfbfmin >>> + description: >>> + The standard Zfbfmin extension which provides minimal support for >>> + 16-bit half-precision brain floating-point instructions, as ratified >> >> I think you mean "binary" here and in the entries below, not "brain”. > > No, that’s Zfhmin / FP16 / binary16, not Zfbfmin / BF16 / BFloat16? The > B is for Brain as it came out of Google Brain. > > https://en.wikipedia.org/wiki/Bfloat16_floating-point_format Ah, yes, I was the confused one here. Sorry for the noise. ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v3 2/3] riscv: add ISA extension parsing for bfloat16 ISA extension 2024-12-06 5:58 [PATCH v3 0/3] riscv: Add bfloat16 instruction support Inochi Amaoto 2024-12-06 5:58 ` [PATCH v3 1/3] dt-bindings: riscv: add bfloat16 ISA extension description Inochi Amaoto @ 2024-12-06 5:58 ` Inochi Amaoto 2025-02-10 14:38 ` Clément Léger 2024-12-06 5:58 ` [PATCH v3 3/3] riscv: hwprobe: export " Inochi Amaoto 2025-03-27 3:24 ` [PATCH v3 0/3] riscv: Add bfloat16 instruction support patchwork-bot+linux-riscv 3 siblings, 1 reply; 15+ messages in thread From: Inochi Amaoto @ 2024-12-06 5:58 UTC (permalink / raw) To: Chen Wang, Jonathan Corbet, Paul Walmsley, Palmer Dabbelt, Albert Ou, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Clément Léger, Evan Green, Charlie Jenkins, Andrew Jones, Jesse Taube, Andy Chiu, Alexandre Ghiti, Inochi Amaoto, Samuel Holland, Yong-Xuan Wang Cc: linux-doc, linux-riscv, linux-kernel, devicetree, Yixun Lan, Longbin Li Add parsing for Zfbmin, Zvfbfmin, Zvfbfwma ISA extension which were ratified in 4dc23d62 ("Added Chapter title to BF16") of the riscv-isa-manual. Signed-off-by: Inochi Amaoto <inochiama@gmail.com> --- arch/riscv/include/asm/hwcap.h | 3 +++ arch/riscv/kernel/cpufeature.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/arch/riscv/include/asm/hwcap.h b/arch/riscv/include/asm/hwcap.h index 869da082252a..14cc29f2a723 100644 --- a/arch/riscv/include/asm/hwcap.h +++ b/arch/riscv/include/asm/hwcap.h @@ -100,6 +100,9 @@ #define RISCV_ISA_EXT_ZICCRSE 91 #define RISCV_ISA_EXT_SVADE 92 #define RISCV_ISA_EXT_SVADU 93 +#define RISCV_ISA_EXT_ZFBFMIN 94 +#define RISCV_ISA_EXT_ZVFBFMIN 95 +#define RISCV_ISA_EXT_ZVFBFWMA 96 #define RISCV_ISA_EXT_XLINUXENVCFG 127 diff --git a/arch/riscv/kernel/cpufeature.c b/arch/riscv/kernel/cpufeature.c index c0916ed318c2..5cfcab139568 100644 --- a/arch/riscv/kernel/cpufeature.c +++ b/arch/riscv/kernel/cpufeature.c @@ -341,6 +341,7 @@ const struct riscv_isa_ext_data riscv_isa_ext[] = { __RISCV_ISA_EXT_DATA(zacas, RISCV_ISA_EXT_ZACAS), __RISCV_ISA_EXT_DATA(zawrs, RISCV_ISA_EXT_ZAWRS), __RISCV_ISA_EXT_DATA(zfa, RISCV_ISA_EXT_ZFA), + __RISCV_ISA_EXT_DATA(zfbfmin, RISCV_ISA_EXT_ZFBFMIN), __RISCV_ISA_EXT_DATA(zfh, RISCV_ISA_EXT_ZFH), __RISCV_ISA_EXT_DATA(zfhmin, RISCV_ISA_EXT_ZFHMIN), __RISCV_ISA_EXT_DATA(zca, RISCV_ISA_EXT_ZCA), @@ -373,6 +374,8 @@ const struct riscv_isa_ext_data riscv_isa_ext[] = { __RISCV_ISA_EXT_SUPERSET(zve64d, RISCV_ISA_EXT_ZVE64D, riscv_zve64d_exts), __RISCV_ISA_EXT_SUPERSET(zve64f, RISCV_ISA_EXT_ZVE64F, riscv_zve64f_exts), __RISCV_ISA_EXT_SUPERSET(zve64x, RISCV_ISA_EXT_ZVE64X, riscv_zve64x_exts), + __RISCV_ISA_EXT_DATA(zvfbfmin, RISCV_ISA_EXT_ZVFBFMIN), + __RISCV_ISA_EXT_DATA(zvfbfwma, RISCV_ISA_EXT_ZVFBFWMA), __RISCV_ISA_EXT_DATA(zvfh, RISCV_ISA_EXT_ZVFH), __RISCV_ISA_EXT_DATA(zvfhmin, RISCV_ISA_EXT_ZVFHMIN), __RISCV_ISA_EXT_DATA(zvkb, RISCV_ISA_EXT_ZVKB), -- 2.47.1 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH v3 2/3] riscv: add ISA extension parsing for bfloat16 ISA extension 2024-12-06 5:58 ` [PATCH v3 2/3] riscv: add ISA extension parsing for bfloat16 ISA extension Inochi Amaoto @ 2025-02-10 14:38 ` Clément Léger 2025-02-11 0:42 ` Inochi Amaoto 0 siblings, 1 reply; 15+ messages in thread From: Clément Léger @ 2025-02-10 14:38 UTC (permalink / raw) Cc: linux-doc, linux-riscv, linux-kernel, devicetree, Yixun Lan, Longbin Li, Jesse Taube, Yong-Xuan Wang, Samuel Holland, Krzysztof Kozlowski, Evan Green, Andrew Jones, Alexandre Ghiti, Andy Chiu, Charlie Jenkins, Conor Dooley, Rob Herring, Albert Ou, Palmer Dabbelt, Paul Walmsley, Jonathan Corbet, Chen Wang, Inochi Amaoto On 06/12/2024 06:58, Inochi Amaoto wrote: > Add parsing for Zfbmin, Zvfbfmin, Zvfbfwma ISA extension which > were ratified in 4dc23d62 ("Added Chapter title to BF16") of > the riscv-isa-manual. > > Signed-off-by: Inochi Amaoto <inochiama@gmail.com> > --- > arch/riscv/include/asm/hwcap.h | 3 +++ > arch/riscv/kernel/cpufeature.c | 3 +++ > 2 files changed, 6 insertions(+) > > diff --git a/arch/riscv/include/asm/hwcap.h b/arch/riscv/include/asm/hwcap.h > index 869da082252a..14cc29f2a723 100644 > --- a/arch/riscv/include/asm/hwcap.h > +++ b/arch/riscv/include/asm/hwcap.h > @@ -100,6 +100,9 @@ > #define RISCV_ISA_EXT_ZICCRSE 91 > #define RISCV_ISA_EXT_SVADE 92 > #define RISCV_ISA_EXT_SVADU 93 > +#define RISCV_ISA_EXT_ZFBFMIN 94 > +#define RISCV_ISA_EXT_ZVFBFMIN 95 > +#define RISCV_ISA_EXT_ZVFBFWMA 96 > > #define RISCV_ISA_EXT_XLINUXENVCFG 127 > > diff --git a/arch/riscv/kernel/cpufeature.c b/arch/riscv/kernel/cpufeature.c > index c0916ed318c2..5cfcab139568 100644 > --- a/arch/riscv/kernel/cpufeature.c > +++ b/arch/riscv/kernel/cpufeature.c > @@ -341,6 +341,7 @@ const struct riscv_isa_ext_data riscv_isa_ext[] = { > __RISCV_ISA_EXT_DATA(zacas, RISCV_ISA_EXT_ZACAS), > __RISCV_ISA_EXT_DATA(zawrs, RISCV_ISA_EXT_ZAWRS), > __RISCV_ISA_EXT_DATA(zfa, RISCV_ISA_EXT_ZFA), > + __RISCV_ISA_EXT_DATA(zfbfmin, RISCV_ISA_EXT_ZFBFMIN), Hi Inochi, You could add a validation callback to that extension: static int riscv_ext_f_depends(const struct riscv_isa_ext_data *data, const unsigned long *isa_bitmap) { if (__riscv_isa_extension_available(isa_bitmap, RISCV_ISA_EXT_f)) return 0; return -EPROBE_DEFER; } ... __RISCV_ISA_EXT_DATA_VALIDATE(zfbfmin, RISCV_ISA_EXT_ZFBFMIN, riscv_ext_f_depends), But I'm ok with the current state of that patch since I have the same thing coming for other extensions as well. So with or without my previous comment fixed: Reviewed-by: Clément Léger <cleger@rivosinc.com> Thanks, Clément > __RISCV_ISA_EXT_DATA(zfh, RISCV_ISA_EXT_ZFH), > __RISCV_ISA_EXT_DATA(zfhmin, RISCV_ISA_EXT_ZFHMIN), > __RISCV_ISA_EXT_DATA(zca, RISCV_ISA_EXT_ZCA), > @@ -373,6 +374,8 @@ const struct riscv_isa_ext_data riscv_isa_ext[] = { > __RISCV_ISA_EXT_SUPERSET(zve64d, RISCV_ISA_EXT_ZVE64D, riscv_zve64d_exts), > __RISCV_ISA_EXT_SUPERSET(zve64f, RISCV_ISA_EXT_ZVE64F, riscv_zve64f_exts), > __RISCV_ISA_EXT_SUPERSET(zve64x, RISCV_ISA_EXT_ZVE64X, riscv_zve64x_exts), > + __RISCV_ISA_EXT_DATA(zvfbfmin, RISCV_ISA_EXT_ZVFBFMIN), > + __RISCV_ISA_EXT_DATA(zvfbfwma, RISCV_ISA_EXT_ZVFBFWMA), > __RISCV_ISA_EXT_DATA(zvfh, RISCV_ISA_EXT_ZVFH), > __RISCV_ISA_EXT_DATA(zvfhmin, RISCV_ISA_EXT_ZVFHMIN), > __RISCV_ISA_EXT_DATA(zvkb, RISCV_ISA_EXT_ZVKB), ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v3 2/3] riscv: add ISA extension parsing for bfloat16 ISA extension 2025-02-10 14:38 ` Clément Léger @ 2025-02-11 0:42 ` Inochi Amaoto 2025-02-11 13:45 ` Conor Dooley 0 siblings, 1 reply; 15+ messages in thread From: Inochi Amaoto @ 2025-02-11 0:42 UTC (permalink / raw) To: Clément Léger Cc: linux-doc, linux-riscv, linux-kernel, devicetree, Yixun Lan, Longbin Li, Jesse Taube, Yong-Xuan Wang, Samuel Holland, Krzysztof Kozlowski, Evan Green, Andrew Jones, Alexandre Ghiti, Andy Chiu, Charlie Jenkins, Conor Dooley, Rob Herring, Albert Ou, Palmer Dabbelt, Paul Walmsley, Jonathan Corbet, Chen Wang, Inochi Amaoto On Mon, Feb 10, 2025 at 03:38:58PM +0100, Clément Léger wrote: > > > On 06/12/2024 06:58, Inochi Amaoto wrote: > > Add parsing for Zfbmin, Zvfbfmin, Zvfbfwma ISA extension which > > were ratified in 4dc23d62 ("Added Chapter title to BF16") of > > the riscv-isa-manual. > > > > Signed-off-by: Inochi Amaoto <inochiama@gmail.com> > > --- > > arch/riscv/include/asm/hwcap.h | 3 +++ > > arch/riscv/kernel/cpufeature.c | 3 +++ > > 2 files changed, 6 insertions(+) > > > > diff --git a/arch/riscv/include/asm/hwcap.h b/arch/riscv/include/asm/hwcap.h > > index 869da082252a..14cc29f2a723 100644 > > --- a/arch/riscv/include/asm/hwcap.h > > +++ b/arch/riscv/include/asm/hwcap.h > > @@ -100,6 +100,9 @@ > > #define RISCV_ISA_EXT_ZICCRSE 91 > > #define RISCV_ISA_EXT_SVADE 92 > > #define RISCV_ISA_EXT_SVADU 93 > > +#define RISCV_ISA_EXT_ZFBFMIN 94 > > +#define RISCV_ISA_EXT_ZVFBFMIN 95 > > +#define RISCV_ISA_EXT_ZVFBFWMA 96 > > > > #define RISCV_ISA_EXT_XLINUXENVCFG 127 > > > > diff --git a/arch/riscv/kernel/cpufeature.c b/arch/riscv/kernel/cpufeature.c > > index c0916ed318c2..5cfcab139568 100644 > > --- a/arch/riscv/kernel/cpufeature.c > > +++ b/arch/riscv/kernel/cpufeature.c > > @@ -341,6 +341,7 @@ const struct riscv_isa_ext_data riscv_isa_ext[] = { > > __RISCV_ISA_EXT_DATA(zacas, RISCV_ISA_EXT_ZACAS), > > __RISCV_ISA_EXT_DATA(zawrs, RISCV_ISA_EXT_ZAWRS), > > __RISCV_ISA_EXT_DATA(zfa, RISCV_ISA_EXT_ZFA), > > + __RISCV_ISA_EXT_DATA(zfbfmin, RISCV_ISA_EXT_ZFBFMIN), > > Hi Inochi, > > You could add a validation callback to that extension: > > static int riscv_ext_f_depends(const struct riscv_isa_ext_data *data, > const unsigned long *isa_bitmap) > { > if (__riscv_isa_extension_available(isa_bitmap, RISCV_ISA_EXT_f)) > return 0; > > return -EPROBE_DEFER; > } > > ... > __RISCV_ISA_EXT_DATA_VALIDATE(zfbfmin, RISCV_ISA_EXT_ZFBFMIN, > riscv_ext_f_depends), > > > But I'm ok with the current state of that patch since I have the same > thing coming for other extensions as well. I think it is good for me to add the check, and I wonder it is possible to add the extra check for zvfbfmin and zvfbfwma like this: static int riscv_ext_zvfbfmin_validate(const struct riscv_isa_ext_data *data, const unsigned long *isa_bitmap) { if (__riscv_isa_extension_available(isa_bitmap, RISCV_ISA_EXT_v)) return 0; if (__riscv_isa_extension_available(isa_bitmap, RISCV_ISA_EXT_ZVE32F)) return 0; return -EPROBE_DEFER; } static int riscv_ext_zvfbfwma_validate(const struct riscv_isa_ext_data *data, const unsigned long *isa_bitmap) { if (__riscv_isa_extension_available(isa_bitmap, RISCV_ISA_EXT_ZFBFMIN) && __riscv_isa_extension_available(isa_bitmap, RISCV_ISA_EXT_ZVFBFMIN)) return 0; return -EPROBE_DEFER; } > So with or without my previous comment fixed: > > Reviewed-by: Clément Léger <cleger@rivosinc.com> > > Thanks, > > Clément > Thanks, Regards, Inochi > > __RISCV_ISA_EXT_DATA(zfh, RISCV_ISA_EXT_ZFH), > > __RISCV_ISA_EXT_DATA(zfhmin, RISCV_ISA_EXT_ZFHMIN), > > __RISCV_ISA_EXT_DATA(zca, RISCV_ISA_EXT_ZCA), > > @@ -373,6 +374,8 @@ const struct riscv_isa_ext_data riscv_isa_ext[] = { > > __RISCV_ISA_EXT_SUPERSET(zve64d, RISCV_ISA_EXT_ZVE64D, riscv_zve64d_exts), > > __RISCV_ISA_EXT_SUPERSET(zve64f, RISCV_ISA_EXT_ZVE64F, riscv_zve64f_exts), > > __RISCV_ISA_EXT_SUPERSET(zve64x, RISCV_ISA_EXT_ZVE64X, riscv_zve64x_exts), > > + __RISCV_ISA_EXT_DATA(zvfbfmin, RISCV_ISA_EXT_ZVFBFMIN), > > + __RISCV_ISA_EXT_DATA(zvfbfwma, RISCV_ISA_EXT_ZVFBFWMA), > > __RISCV_ISA_EXT_DATA(zvfh, RISCV_ISA_EXT_ZVFH), > > __RISCV_ISA_EXT_DATA(zvfhmin, RISCV_ISA_EXT_ZVFHMIN), > > __RISCV_ISA_EXT_DATA(zvkb, RISCV_ISA_EXT_ZVKB), > ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v3 2/3] riscv: add ISA extension parsing for bfloat16 ISA extension 2025-02-11 0:42 ` Inochi Amaoto @ 2025-02-11 13:45 ` Conor Dooley 2025-02-11 23:26 ` Inochi Amaoto 0 siblings, 1 reply; 15+ messages in thread From: Conor Dooley @ 2025-02-11 13:45 UTC (permalink / raw) To: Inochi Amaoto Cc: Clément Léger, linux-doc, linux-riscv, linux-kernel, devicetree, Yixun Lan, Longbin Li, Jesse Taube, Yong-Xuan Wang, Samuel Holland, Krzysztof Kozlowski, Evan Green, Andrew Jones, Alexandre Ghiti, Andy Chiu, Charlie Jenkins, Conor Dooley, Rob Herring, Albert Ou, Palmer Dabbelt, Paul Walmsley, Jonathan Corbet, Chen Wang [-- Attachment #1: Type: text/plain, Size: 4447 bytes --] On Tue, Feb 11, 2025 at 08:42:39AM +0800, Inochi Amaoto wrote: > On Mon, Feb 10, 2025 at 03:38:58PM +0100, Clément Léger wrote: > > > > > > On 06/12/2024 06:58, Inochi Amaoto wrote: > > > Add parsing for Zfbmin, Zvfbfmin, Zvfbfwma ISA extension which > > > were ratified in 4dc23d62 ("Added Chapter title to BF16") of > > > the riscv-isa-manual. > > > > > > Signed-off-by: Inochi Amaoto <inochiama@gmail.com> > > > --- > > > arch/riscv/include/asm/hwcap.h | 3 +++ > > > arch/riscv/kernel/cpufeature.c | 3 +++ > > > 2 files changed, 6 insertions(+) > > > > > > diff --git a/arch/riscv/include/asm/hwcap.h b/arch/riscv/include/asm/hwcap.h > > > index 869da082252a..14cc29f2a723 100644 > > > --- a/arch/riscv/include/asm/hwcap.h > > > +++ b/arch/riscv/include/asm/hwcap.h > > > @@ -100,6 +100,9 @@ > > > #define RISCV_ISA_EXT_ZICCRSE 91 > > > #define RISCV_ISA_EXT_SVADE 92 > > > #define RISCV_ISA_EXT_SVADU 93 > > > +#define RISCV_ISA_EXT_ZFBFMIN 94 > > > +#define RISCV_ISA_EXT_ZVFBFMIN 95 > > > +#define RISCV_ISA_EXT_ZVFBFWMA 96 > > > > > > #define RISCV_ISA_EXT_XLINUXENVCFG 127 > > > > > > diff --git a/arch/riscv/kernel/cpufeature.c b/arch/riscv/kernel/cpufeature.c > > > index c0916ed318c2..5cfcab139568 100644 > > > --- a/arch/riscv/kernel/cpufeature.c > > > +++ b/arch/riscv/kernel/cpufeature.c > > > @@ -341,6 +341,7 @@ const struct riscv_isa_ext_data riscv_isa_ext[] = { > > > __RISCV_ISA_EXT_DATA(zacas, RISCV_ISA_EXT_ZACAS), > > > __RISCV_ISA_EXT_DATA(zawrs, RISCV_ISA_EXT_ZAWRS), > > > __RISCV_ISA_EXT_DATA(zfa, RISCV_ISA_EXT_ZFA), > > > + __RISCV_ISA_EXT_DATA(zfbfmin, RISCV_ISA_EXT_ZFBFMIN), > > > > Hi Inochi, > > > > You could add a validation callback to that extension: > > > > static int riscv_ext_f_depends(const struct riscv_isa_ext_data *data, > > const unsigned long *isa_bitmap) > > { > > if (__riscv_isa_extension_available(isa_bitmap, RISCV_ISA_EXT_f)) > > return 0; > > > > return -EPROBE_DEFER; > > } > > > > ... > > __RISCV_ISA_EXT_DATA_VALIDATE(zfbfmin, RISCV_ISA_EXT_ZFBFMIN, > > riscv_ext_f_depends), > > > > > > But I'm ok with the current state of that patch since I have the same > > thing coming for other extensions as well. > > > I think it is good for me to add the check, and I wonder it is possible > to add the extra check for zvfbfmin and zvfbfwma like this: > > static int riscv_ext_zvfbfmin_validate(const struct riscv_isa_ext_data *data, > const unsigned long *isa_bitmap) > { > if (__riscv_isa_extension_available(isa_bitmap, RISCV_ISA_EXT_v)) > return 0; This is not needed I think, V "turns on" Zve32f. If anything, you should be checking for CONFIG_RISCV_ISA_V here ^^ You /could/ call the resulting riscv_vector_f_validate(), since this is nothing specific to Zvfvfmin, and could be used for another extension that requires a Zve32f or Zve64 minimum base. > > if (__riscv_isa_extension_available(isa_bitmap, RISCV_ISA_EXT_ZVE32F)) > return 0; > > return -EPROBE_DEFER; > } > > static int riscv_ext_zvfbfwma_validate(const struct riscv_isa_ext_data *data, > const unsigned long *isa_bitmap) > { > if (__riscv_isa_extension_available(isa_bitmap, RISCV_ISA_EXT_ZFBFMIN) && > __riscv_isa_extension_available(isa_bitmap, RISCV_ISA_EXT_ZVFBFMIN)) > return 0; > > return -EPROBE_DEFER; > } > > > So with or without my previous comment fixed: > > > > Reviewed-by: Clément Léger <cleger@rivosinc.com> > > > > Thanks, > > > > Clément > > > > Thanks, > > Regards, > Inochi > > > > __RISCV_ISA_EXT_DATA(zfh, RISCV_ISA_EXT_ZFH), > > > __RISCV_ISA_EXT_DATA(zfhmin, RISCV_ISA_EXT_ZFHMIN), > > > __RISCV_ISA_EXT_DATA(zca, RISCV_ISA_EXT_ZCA), > > > @@ -373,6 +374,8 @@ const struct riscv_isa_ext_data riscv_isa_ext[] = { > > > __RISCV_ISA_EXT_SUPERSET(zve64d, RISCV_ISA_EXT_ZVE64D, riscv_zve64d_exts), > > > __RISCV_ISA_EXT_SUPERSET(zve64f, RISCV_ISA_EXT_ZVE64F, riscv_zve64f_exts), > > > __RISCV_ISA_EXT_SUPERSET(zve64x, RISCV_ISA_EXT_ZVE64X, riscv_zve64x_exts), > > > + __RISCV_ISA_EXT_DATA(zvfbfmin, RISCV_ISA_EXT_ZVFBFMIN), > > > + __RISCV_ISA_EXT_DATA(zvfbfwma, RISCV_ISA_EXT_ZVFBFWMA), > > > __RISCV_ISA_EXT_DATA(zvfh, RISCV_ISA_EXT_ZVFH), > > > __RISCV_ISA_EXT_DATA(zvfhmin, RISCV_ISA_EXT_ZVFHMIN), > > > __RISCV_ISA_EXT_DATA(zvkb, RISCV_ISA_EXT_ZVKB), > > [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v3 2/3] riscv: add ISA extension parsing for bfloat16 ISA extension 2025-02-11 13:45 ` Conor Dooley @ 2025-02-11 23:26 ` Inochi Amaoto 0 siblings, 0 replies; 15+ messages in thread From: Inochi Amaoto @ 2025-02-11 23:26 UTC (permalink / raw) To: Conor Dooley, Inochi Amaoto Cc: Clément Léger, linux-doc, linux-riscv, linux-kernel, devicetree, Yixun Lan, Longbin Li, Jesse Taube, Yong-Xuan Wang, Samuel Holland, Krzysztof Kozlowski, Evan Green, Andrew Jones, Alexandre Ghiti, Andy Chiu, Charlie Jenkins, Conor Dooley, Rob Herring, Albert Ou, Palmer Dabbelt, Paul Walmsley, Jonathan Corbet, Chen Wang On Tue, Feb 11, 2025 at 01:45:06PM +0000, Conor Dooley wrote: > On Tue, Feb 11, 2025 at 08:42:39AM +0800, Inochi Amaoto wrote: > > On Mon, Feb 10, 2025 at 03:38:58PM +0100, Clément Léger wrote: > > > > > > > > > On 06/12/2024 06:58, Inochi Amaoto wrote: > > > > Add parsing for Zfbmin, Zvfbfmin, Zvfbfwma ISA extension which > > > > were ratified in 4dc23d62 ("Added Chapter title to BF16") of > > > > the riscv-isa-manual. > > > > > > > > Signed-off-by: Inochi Amaoto <inochiama@gmail.com> > > > > --- > > > > arch/riscv/include/asm/hwcap.h | 3 +++ > > > > arch/riscv/kernel/cpufeature.c | 3 +++ > > > > 2 files changed, 6 insertions(+) > > > > > > > > diff --git a/arch/riscv/include/asm/hwcap.h b/arch/riscv/include/asm/hwcap.h > > > > index 869da082252a..14cc29f2a723 100644 > > > > --- a/arch/riscv/include/asm/hwcap.h > > > > +++ b/arch/riscv/include/asm/hwcap.h > > > > @@ -100,6 +100,9 @@ > > > > #define RISCV_ISA_EXT_ZICCRSE 91 > > > > #define RISCV_ISA_EXT_SVADE 92 > > > > #define RISCV_ISA_EXT_SVADU 93 > > > > +#define RISCV_ISA_EXT_ZFBFMIN 94 > > > > +#define RISCV_ISA_EXT_ZVFBFMIN 95 > > > > +#define RISCV_ISA_EXT_ZVFBFWMA 96 > > > > > > > > #define RISCV_ISA_EXT_XLINUXENVCFG 127 > > > > > > > > diff --git a/arch/riscv/kernel/cpufeature.c b/arch/riscv/kernel/cpufeature.c > > > > index c0916ed318c2..5cfcab139568 100644 > > > > --- a/arch/riscv/kernel/cpufeature.c > > > > +++ b/arch/riscv/kernel/cpufeature.c > > > > @@ -341,6 +341,7 @@ const struct riscv_isa_ext_data riscv_isa_ext[] = { > > > > __RISCV_ISA_EXT_DATA(zacas, RISCV_ISA_EXT_ZACAS), > > > > __RISCV_ISA_EXT_DATA(zawrs, RISCV_ISA_EXT_ZAWRS), > > > > __RISCV_ISA_EXT_DATA(zfa, RISCV_ISA_EXT_ZFA), > > > > + __RISCV_ISA_EXT_DATA(zfbfmin, RISCV_ISA_EXT_ZFBFMIN), > > > > > > Hi Inochi, > > > > > > You could add a validation callback to that extension: > > > > > > static int riscv_ext_f_depends(const struct riscv_isa_ext_data *data, > > > const unsigned long *isa_bitmap) > > > { > > > if (__riscv_isa_extension_available(isa_bitmap, RISCV_ISA_EXT_f)) > > > return 0; > > > > > > return -EPROBE_DEFER; > > > } > > > > > > ... > > > __RISCV_ISA_EXT_DATA_VALIDATE(zfbfmin, RISCV_ISA_EXT_ZFBFMIN, > > > riscv_ext_f_depends), > > > > > > > > > But I'm ok with the current state of that patch since I have the same > > > thing coming for other extensions as well. > > > > > > I think it is good for me to add the check, and I wonder it is possible > > to add the extra check for zvfbfmin and zvfbfwma like this: > > > > static int riscv_ext_zvfbfmin_validate(const struct riscv_isa_ext_data *data, > > const unsigned long *isa_bitmap) > > { > > if (__riscv_isa_extension_available(isa_bitmap, RISCV_ISA_EXT_v)) > > return 0; > > This is not needed I think, V "turns on" Zve32f. If anything, you should > be checking for CONFIG_RISCV_ISA_V here ^^ > Thanks for pointing it. I will change the check. > You /could/ call the resulting riscv_vector_f_validate(), since this is > nothing specific to Zvfvfmin, and could be used for another extension > that requires a Zve32f or Zve64 minimum base. > It is OK for me, I will change its name. Regards, Inochi ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v3 3/3] riscv: hwprobe: export bfloat16 ISA extension 2024-12-06 5:58 [PATCH v3 0/3] riscv: Add bfloat16 instruction support Inochi Amaoto 2024-12-06 5:58 ` [PATCH v3 1/3] dt-bindings: riscv: add bfloat16 ISA extension description Inochi Amaoto 2024-12-06 5:58 ` [PATCH v3 2/3] riscv: add ISA extension parsing for bfloat16 ISA extension Inochi Amaoto @ 2024-12-06 5:58 ` Inochi Amaoto 2024-12-16 16:00 ` Yangyu Chen 2025-03-27 3:24 ` [PATCH v3 0/3] riscv: Add bfloat16 instruction support patchwork-bot+linux-riscv 3 siblings, 1 reply; 15+ messages in thread From: Inochi Amaoto @ 2024-12-06 5:58 UTC (permalink / raw) To: Chen Wang, Jonathan Corbet, Paul Walmsley, Palmer Dabbelt, Albert Ou, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Clément Léger, Evan Green, Charlie Jenkins, Andrew Jones, Jesse Taube, Andy Chiu, Alexandre Ghiti, Inochi Amaoto, Samuel Holland, Yong-Xuan Wang Cc: linux-doc, linux-riscv, linux-kernel, devicetree, Yixun Lan, Longbin Li Export Zfbmin, Zvfbfmin, Zvfbfwma ISA extension through hwprobe. Signed-off-by: Inochi Amaoto <inochiama@gmail.com> Reviewed-by: Clément Léger <cleger@rivosinc.com> --- Documentation/arch/riscv/hwprobe.rst | 12 ++++++++++++ arch/riscv/include/uapi/asm/hwprobe.h | 3 +++ arch/riscv/kernel/sys_hwprobe.c | 3 +++ 3 files changed, 18 insertions(+) diff --git a/Documentation/arch/riscv/hwprobe.rst b/Documentation/arch/riscv/hwprobe.rst index 955fbcd19ce9..a9cb40e407a4 100644 --- a/Documentation/arch/riscv/hwprobe.rst +++ b/Documentation/arch/riscv/hwprobe.rst @@ -242,6 +242,18 @@ The following keys are defined: * :c:macro:`RISCV_HWPROBE_EXT_SUPM`: The Supm extension is supported as defined in version 1.0 of the RISC-V Pointer Masking extensions. + * :c:macro:`RISCV_HWPROBE_EXT_ZFBFMIN`: The Zfbfmin extension is supported as + defined in the RISC-V ISA manual starting from commit 4dc23d6229de + ("Added Chapter title to BF16"). + + * :c:macro:`RISCV_HWPROBE_EXT_ZVFBFMIN`: The Zvfbfmin extension is supported as + defined in the RISC-V ISA manual starting from commit 4dc23d6229de + ("Added Chapter title to BF16"). + + * :c:macro:`RISCV_HWPROBE_EXT_ZVFBFWMA`: The Zvfbfwma extension is supported as + defined in the RISC-V ISA manual starting from commit 4dc23d6229de + ("Added Chapter title to BF16"). + * :c:macro:`RISCV_HWPROBE_KEY_CPUPERF_0`: Deprecated. Returns similar values to :c:macro:`RISCV_HWPROBE_KEY_MISALIGNED_SCALAR_PERF`, but the key was mistakenly classified as a bitmask rather than a value. diff --git a/arch/riscv/include/uapi/asm/hwprobe.h b/arch/riscv/include/uapi/asm/hwprobe.h index 3af142b99f77..aecc1c800d54 100644 --- a/arch/riscv/include/uapi/asm/hwprobe.h +++ b/arch/riscv/include/uapi/asm/hwprobe.h @@ -73,6 +73,9 @@ struct riscv_hwprobe { #define RISCV_HWPROBE_EXT_ZCMOP (1ULL << 47) #define RISCV_HWPROBE_EXT_ZAWRS (1ULL << 48) #define RISCV_HWPROBE_EXT_SUPM (1ULL << 49) +#define RISCV_HWPROBE_EXT_ZFBFMIN (1ULL << 50) +#define RISCV_HWPROBE_EXT_ZVFBFMIN (1ULL << 51) +#define RISCV_HWPROBE_EXT_ZVFBFWMA (1ULL << 52) #define RISCV_HWPROBE_KEY_CPUPERF_0 5 #define RISCV_HWPROBE_MISALIGNED_UNKNOWN (0 << 0) #define RISCV_HWPROBE_MISALIGNED_EMULATED (1 << 0) diff --git a/arch/riscv/kernel/sys_hwprobe.c b/arch/riscv/kernel/sys_hwprobe.c index cb93adfffc48..bd215f58bd1b 100644 --- a/arch/riscv/kernel/sys_hwprobe.c +++ b/arch/riscv/kernel/sys_hwprobe.c @@ -131,6 +131,8 @@ static void hwprobe_isa_ext0(struct riscv_hwprobe *pair, EXT_KEY(ZVE64D); EXT_KEY(ZVE64F); EXT_KEY(ZVE64X); + EXT_KEY(ZVFBFMIN); + EXT_KEY(ZVFBFWMA); EXT_KEY(ZVFH); EXT_KEY(ZVFHMIN); EXT_KEY(ZVKB); @@ -147,6 +149,7 @@ static void hwprobe_isa_ext0(struct riscv_hwprobe *pair, EXT_KEY(ZCD); EXT_KEY(ZCF); EXT_KEY(ZFA); + EXT_KEY(ZFBFMIN); EXT_KEY(ZFH); EXT_KEY(ZFHMIN); } -- 2.47.1 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH v3 3/3] riscv: hwprobe: export bfloat16 ISA extension 2024-12-06 5:58 ` [PATCH v3 3/3] riscv: hwprobe: export " Inochi Amaoto @ 2024-12-16 16:00 ` Yangyu Chen 2024-12-17 0:40 ` Inochi Amaoto 0 siblings, 1 reply; 15+ messages in thread From: Yangyu Chen @ 2024-12-16 16:00 UTC (permalink / raw) To: Inochi Amaoto, Chen Wang, Jonathan Corbet, Paul Walmsley, Palmer Dabbelt, Albert Ou, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Clément Léger, Evan Green, Charlie Jenkins, Andrew Jones, Jesse Taube, Andy Chiu, Alexandre Ghiti, Samuel Holland, Yong-Xuan Wang Cc: linux-doc, linux-riscv, linux-kernel, devicetree, Yixun Lan, Longbin Li Possible conflict with: https://lore.kernel.org/linux-riscv/20241111-v5_user_cfi_series-v8-22-dce14aa30207@rivosinc.com/ On 12/6/24 13:58, Inochi Amaoto wrote: > Export Zfbmin, Zvfbfmin, Zvfbfwma ISA extension through hwprobe. > > Signed-off-by: Inochi Amaoto <inochiama@gmail.com> > Reviewed-by: Clément Léger <cleger@rivosinc.com> > --- > Documentation/arch/riscv/hwprobe.rst | 12 ++++++++++++ > arch/riscv/include/uapi/asm/hwprobe.h | 3 +++ > arch/riscv/kernel/sys_hwprobe.c | 3 +++ > 3 files changed, 18 insertions(+) > > diff --git a/Documentation/arch/riscv/hwprobe.rst b/Documentation/arch/riscv/hwprobe.rst > index 955fbcd19ce9..a9cb40e407a4 100644 > --- a/Documentation/arch/riscv/hwprobe.rst > +++ b/Documentation/arch/riscv/hwprobe.rst > @@ -242,6 +242,18 @@ The following keys are defined: > * :c:macro:`RISCV_HWPROBE_EXT_SUPM`: The Supm extension is supported as > defined in version 1.0 of the RISC-V Pointer Masking extensions. > > + * :c:macro:`RISCV_HWPROBE_EXT_ZFBFMIN`: The Zfbfmin extension is supported as > + defined in the RISC-V ISA manual starting from commit 4dc23d6229de > + ("Added Chapter title to BF16"). > + > + * :c:macro:`RISCV_HWPROBE_EXT_ZVFBFMIN`: The Zvfbfmin extension is supported as > + defined in the RISC-V ISA manual starting from commit 4dc23d6229de > + ("Added Chapter title to BF16"). > + > + * :c:macro:`RISCV_HWPROBE_EXT_ZVFBFWMA`: The Zvfbfwma extension is supported as > + defined in the RISC-V ISA manual starting from commit 4dc23d6229de > + ("Added Chapter title to BF16"). > + > * :c:macro:`RISCV_HWPROBE_KEY_CPUPERF_0`: Deprecated. Returns similar values to > :c:macro:`RISCV_HWPROBE_KEY_MISALIGNED_SCALAR_PERF`, but the key was > mistakenly classified as a bitmask rather than a value. > diff --git a/arch/riscv/include/uapi/asm/hwprobe.h b/arch/riscv/include/uapi/asm/hwprobe.h > index 3af142b99f77..aecc1c800d54 100644 > --- a/arch/riscv/include/uapi/asm/hwprobe.h > +++ b/arch/riscv/include/uapi/asm/hwprobe.h > @@ -73,6 +73,9 @@ struct riscv_hwprobe { > #define RISCV_HWPROBE_EXT_ZCMOP (1ULL << 47) > #define RISCV_HWPROBE_EXT_ZAWRS (1ULL << 48) > #define RISCV_HWPROBE_EXT_SUPM (1ULL << 49) > +#define RISCV_HWPROBE_EXT_ZFBFMIN (1ULL << 50) > +#define RISCV_HWPROBE_EXT_ZVFBFMIN (1ULL << 51) > +#define RISCV_HWPROBE_EXT_ZVFBFWMA (1ULL << 52) > #define RISCV_HWPROBE_KEY_CPUPERF_0 5 > #define RISCV_HWPROBE_MISALIGNED_UNKNOWN (0 << 0) > #define RISCV_HWPROBE_MISALIGNED_EMULATED (1 << 0) > diff --git a/arch/riscv/kernel/sys_hwprobe.c b/arch/riscv/kernel/sys_hwprobe.c > index cb93adfffc48..bd215f58bd1b 100644 > --- a/arch/riscv/kernel/sys_hwprobe.c > +++ b/arch/riscv/kernel/sys_hwprobe.c > @@ -131,6 +131,8 @@ static void hwprobe_isa_ext0(struct riscv_hwprobe *pair, > EXT_KEY(ZVE64D); > EXT_KEY(ZVE64F); > EXT_KEY(ZVE64X); > + EXT_KEY(ZVFBFMIN); > + EXT_KEY(ZVFBFWMA); > EXT_KEY(ZVFH); > EXT_KEY(ZVFHMIN); > EXT_KEY(ZVKB); > @@ -147,6 +149,7 @@ static void hwprobe_isa_ext0(struct riscv_hwprobe *pair, > EXT_KEY(ZCD); > EXT_KEY(ZCF); > EXT_KEY(ZFA); > + EXT_KEY(ZFBFMIN); > EXT_KEY(ZFH); > EXT_KEY(ZFHMIN); > } ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v3 3/3] riscv: hwprobe: export bfloat16 ISA extension 2024-12-16 16:00 ` Yangyu Chen @ 2024-12-17 0:40 ` Inochi Amaoto 2024-12-17 12:11 ` Conor Dooley 0 siblings, 1 reply; 15+ messages in thread From: Inochi Amaoto @ 2024-12-17 0:40 UTC (permalink / raw) To: Yangyu Chen, Inochi Amaoto, Chen Wang, Jonathan Corbet, Paul Walmsley, Palmer Dabbelt, Albert Ou, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Clément Léger, Evan Green, Charlie Jenkins, Andrew Jones, Jesse Taube, Andy Chiu, Alexandre Ghiti, Samuel Holland, Yong-Xuan Wang Cc: linux-doc, linux-riscv, linux-kernel, devicetree, Yixun Lan, Longbin Li On Tue, Dec 17, 2024 at 12:00:23AM +0800, Yangyu Chen wrote: > Possible conflict with: https://lore.kernel.org/linux-riscv/20241111-v5_user_cfi_series-v8-22-dce14aa30207@rivosinc.com/ > Yeah, I know the conflict. As the time of merging these patch is uncertain, what I can do now is to match the upstream code. Regards, Inochi > On 12/6/24 13:58, Inochi Amaoto wrote: > > Export Zfbmin, Zvfbfmin, Zvfbfwma ISA extension through hwprobe. > > > > Signed-off-by: Inochi Amaoto <inochiama@gmail.com> > > Reviewed-by: Clément Léger <cleger@rivosinc.com> > > --- > > Documentation/arch/riscv/hwprobe.rst | 12 ++++++++++++ > > arch/riscv/include/uapi/asm/hwprobe.h | 3 +++ > > arch/riscv/kernel/sys_hwprobe.c | 3 +++ > > 3 files changed, 18 insertions(+) > > > > diff --git a/Documentation/arch/riscv/hwprobe.rst b/Documentation/arch/riscv/hwprobe.rst > > index 955fbcd19ce9..a9cb40e407a4 100644 > > --- a/Documentation/arch/riscv/hwprobe.rst > > +++ b/Documentation/arch/riscv/hwprobe.rst > > @@ -242,6 +242,18 @@ The following keys are defined: > > * :c:macro:`RISCV_HWPROBE_EXT_SUPM`: The Supm extension is supported as > > defined in version 1.0 of the RISC-V Pointer Masking extensions. > > + * :c:macro:`RISCV_HWPROBE_EXT_ZFBFMIN`: The Zfbfmin extension is supported as > > + defined in the RISC-V ISA manual starting from commit 4dc23d6229de > > + ("Added Chapter title to BF16"). > > + > > + * :c:macro:`RISCV_HWPROBE_EXT_ZVFBFMIN`: The Zvfbfmin extension is supported as > > + defined in the RISC-V ISA manual starting from commit 4dc23d6229de > > + ("Added Chapter title to BF16"). > > + > > + * :c:macro:`RISCV_HWPROBE_EXT_ZVFBFWMA`: The Zvfbfwma extension is supported as > > + defined in the RISC-V ISA manual starting from commit 4dc23d6229de > > + ("Added Chapter title to BF16"). > > + > > * :c:macro:`RISCV_HWPROBE_KEY_CPUPERF_0`: Deprecated. Returns similar values to > > :c:macro:`RISCV_HWPROBE_KEY_MISALIGNED_SCALAR_PERF`, but the key was > > mistakenly classified as a bitmask rather than a value. > > diff --git a/arch/riscv/include/uapi/asm/hwprobe.h b/arch/riscv/include/uapi/asm/hwprobe.h > > index 3af142b99f77..aecc1c800d54 100644 > > --- a/arch/riscv/include/uapi/asm/hwprobe.h > > +++ b/arch/riscv/include/uapi/asm/hwprobe.h > > @@ -73,6 +73,9 @@ struct riscv_hwprobe { > > #define RISCV_HWPROBE_EXT_ZCMOP (1ULL << 47) > > #define RISCV_HWPROBE_EXT_ZAWRS (1ULL << 48) > > #define RISCV_HWPROBE_EXT_SUPM (1ULL << 49) > > +#define RISCV_HWPROBE_EXT_ZFBFMIN (1ULL << 50) > > +#define RISCV_HWPROBE_EXT_ZVFBFMIN (1ULL << 51) > > +#define RISCV_HWPROBE_EXT_ZVFBFWMA (1ULL << 52) > > #define RISCV_HWPROBE_KEY_CPUPERF_0 5 > > #define RISCV_HWPROBE_MISALIGNED_UNKNOWN (0 << 0) > > #define RISCV_HWPROBE_MISALIGNED_EMULATED (1 << 0) > > diff --git a/arch/riscv/kernel/sys_hwprobe.c b/arch/riscv/kernel/sys_hwprobe.c > > index cb93adfffc48..bd215f58bd1b 100644 > > --- a/arch/riscv/kernel/sys_hwprobe.c > > +++ b/arch/riscv/kernel/sys_hwprobe.c > > @@ -131,6 +131,8 @@ static void hwprobe_isa_ext0(struct riscv_hwprobe *pair, > > EXT_KEY(ZVE64D); > > EXT_KEY(ZVE64F); > > EXT_KEY(ZVE64X); > > + EXT_KEY(ZVFBFMIN); > > + EXT_KEY(ZVFBFWMA); > > EXT_KEY(ZVFH); > > EXT_KEY(ZVFHMIN); > > EXT_KEY(ZVKB); > > @@ -147,6 +149,7 @@ static void hwprobe_isa_ext0(struct riscv_hwprobe *pair, > > EXT_KEY(ZCD); > > EXT_KEY(ZCF); > > EXT_KEY(ZFA); > > + EXT_KEY(ZFBFMIN); > > EXT_KEY(ZFH); > > EXT_KEY(ZFHMIN); > > } > > > _______________________________________________ > linux-riscv mailing list > linux-riscv@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v3 3/3] riscv: hwprobe: export bfloat16 ISA extension 2024-12-17 0:40 ` Inochi Amaoto @ 2024-12-17 12:11 ` Conor Dooley 0 siblings, 0 replies; 15+ messages in thread From: Conor Dooley @ 2024-12-17 12:11 UTC (permalink / raw) To: Inochi Amaoto Cc: Yangyu Chen, Chen Wang, Jonathan Corbet, Paul Walmsley, Palmer Dabbelt, Albert Ou, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Clément Léger, Evan Green, Charlie Jenkins, Andrew Jones, Jesse Taube, Andy Chiu, Alexandre Ghiti, Samuel Holland, Yong-Xuan Wang, linux-doc, linux-riscv, linux-kernel, devicetree, Yixun Lan, Longbin Li [-- Attachment #1: Type: text/plain, Size: 496 bytes --] On Tue, Dec 17, 2024 at 08:40:37AM +0800, Inochi Amaoto wrote: > On Tue, Dec 17, 2024 at 12:00:23AM +0800, Yangyu Chen wrote: > > Possible conflict with: https://lore.kernel.org/linux-riscv/20241111-v5_user_cfi_series-v8-22-dce14aa30207@rivosinc.com/ > > > > Yeah, I know the conflict. As the time of merging these patch is > uncertain, what I can do now is to match the upstream code. The solution is to not worry about it. Palmer can resolve trivial numerical conflicts like this. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v3 0/3] riscv: Add bfloat16 instruction support 2024-12-06 5:58 [PATCH v3 0/3] riscv: Add bfloat16 instruction support Inochi Amaoto ` (2 preceding siblings ...) 2024-12-06 5:58 ` [PATCH v3 3/3] riscv: hwprobe: export " Inochi Amaoto @ 2025-03-27 3:24 ` patchwork-bot+linux-riscv 3 siblings, 0 replies; 15+ messages in thread From: patchwork-bot+linux-riscv @ 2025-03-27 3:24 UTC (permalink / raw) To: Inochi Amaoto Cc: linux-riscv, unicorn_wang, corbet, paul.walmsley, palmer, aou, robh, krzk+dt, conor+dt, cleger, evan, charlie, ajones, jesse, andybnac, alexghiti, samuel.holland, yongxuan.wang, linux-doc, linux-kernel, devicetree, dlan, looong.bin Hello: This series was applied to riscv/linux.git (for-next) by Alexandre Ghiti <alexghiti@rivosinc.com>: On Fri, 6 Dec 2024 13:58:26 +0800 you wrote: > Add description for the BFloat16 precision Floating-Point ISA extension, > (Zfbfmin, Zvfbfmin, Zvfbfwma). which was ratified in commit 4dc23d62 > ("Added Chapter title to BF16") of the riscv-isa-manual. > > Changed from v2: > 1. rebase for v6.13-rc1 > > [...] Here is the summary with links: - [v3,1/3] dt-bindings: riscv: add bfloat16 ISA extension description https://git.kernel.org/riscv/c/35bc1883733c - [v3,2/3] riscv: add ISA extension parsing for bfloat16 ISA extension (no matching commit) - [v3,3/3] riscv: hwprobe: export bfloat16 ISA extension https://git.kernel.org/riscv/c/a4863e002cf0 You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2025-03-27 3:24 UTC | newest] Thread overview: 15+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-12-06 5:58 [PATCH v3 0/3] riscv: Add bfloat16 instruction support Inochi Amaoto 2024-12-06 5:58 ` [PATCH v3 1/3] dt-bindings: riscv: add bfloat16 ISA extension description Inochi Amaoto 2024-12-16 22:00 ` Samuel Holland 2024-12-16 22:51 ` Jessica Clarke 2024-12-19 0:36 ` Samuel Holland 2024-12-06 5:58 ` [PATCH v3 2/3] riscv: add ISA extension parsing for bfloat16 ISA extension Inochi Amaoto 2025-02-10 14:38 ` Clément Léger 2025-02-11 0:42 ` Inochi Amaoto 2025-02-11 13:45 ` Conor Dooley 2025-02-11 23:26 ` Inochi Amaoto 2024-12-06 5:58 ` [PATCH v3 3/3] riscv: hwprobe: export " Inochi Amaoto 2024-12-16 16:00 ` Yangyu Chen 2024-12-17 0:40 ` Inochi Amaoto 2024-12-17 12:11 ` Conor Dooley 2025-03-27 3:24 ` [PATCH v3 0/3] riscv: Add bfloat16 instruction support patchwork-bot+linux-riscv
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).