Message ID | 20240517145302.971019-7-cleger@rivosinc.com |
---|---|
State | Accepted |
Headers | show |
Series | Add support for a few Zc* extensions, Zcmop and Zimop | expand |
On Fri, May 17, 2024 at 04:52:46PM +0200, Clément Léger wrote: > Add description for Zca, Zcf, Zcd and Zcb extensions which are part the > Zc* standard extensions for code size reduction. Additional validation > rules are added since Zcb depends on Zca, Zcf, depends on Zca and F, Zcd > depends on Zca and D and finally, Zcf can not be present on rv64. > > Signed-off-by: Clément Léger <cleger@rivosinc.com> > Reviewed-by: Conor Dooley <conor.dooley@microchip.com> > --- > .../devicetree/bindings/riscv/extensions.yaml | 78 +++++++++++++++++++ > 1 file changed, 78 insertions(+) > > diff --git a/Documentation/devicetree/bindings/riscv/extensions.yaml b/Documentation/devicetree/bindings/riscv/extensions.yaml > index b9100addeb90..39084c58d4e4 100644 > --- a/Documentation/devicetree/bindings/riscv/extensions.yaml > +++ b/Documentation/devicetree/bindings/riscv/extensions.yaml > @@ -220,6 +220,38 @@ properties: > instructions as ratified at commit 6d33919 ("Merge pull request #158 > from hirooih/clmul-fix-loop-end-condition") of riscv-bitmanip. > > + - const: zca > + description: | > + The Zca extension part of Zc* standard extensions for code size > + reduction, as ratified in commit 8be3419c1c0 ("Zcf doesn't exist on > + RV64 as it contains no instructions") of riscv-code-size-reduction, > + merged in the riscv-isa-manual by commit dbc79cf28a2 ("Initial seed > + of zc.adoc to src tree."). > + > + - const: zcb > + description: | > + The Zcb extension part of Zc* standard extensions for code size > + reduction, as ratified in commit 8be3419c1c0 ("Zcf doesn't exist on > + RV64 as it contains no instructions") of riscv-code-size-reduction, > + merged in the riscv-isa-manual by commit dbc79cf28a2 ("Initial seed > + of zc.adoc to src tree."). > + > + - const: zcd > + description: | > + The Zcd extension part of Zc* standard extensions for code size > + reduction, as ratified in commit 8be3419c1c0 ("Zcf doesn't exist on > + RV64 as it contains no instructions") of riscv-code-size-reduction, > + merged in the riscv-isa-manual by commit dbc79cf28a2 ("Initial seed > + of zc.adoc to src tree."). > + > + - const: zcf > + description: | > + The Zcf extension part of Zc* standard extensions for code size > + reduction, as ratified in commit 8be3419c1c0 ("Zcf doesn't exist on > + RV64 as it contains no instructions") of riscv-code-size-reduction, > + merged in the riscv-isa-manual by commit dbc79cf28a2 ("Initial seed > + of zc.adoc to src tree."). > + > - const: zfa > description: > The standard Zfa extension for additional floating point > @@ -499,5 +531,51 @@ properties: > The T-HEAD specific 0.7.1 vector implementation as written in > https://github.com/T-head-Semi/thead-extension-spec/blob/95358cb2cca9489361c61d335e03d3134b14133f/xtheadvector.adoc. > > + allOf: > + # Zcb depends on Zca > + - if: > + contains: > + const: zcb > + then: > + contains: > + const: zca > + # Zcd depends on Zca and D > + - if: > + contains: > + const: zcd > + then: > + allOf: > + - contains: > + const: zca > + - contains: > + const: d > + # Zcf depends on Zca and F > + - if: > + contains: > + const: zcf > + then: > + allOf: > + - contains: > + const: zca > + - contains: > + const: f > + > +allOf: > + # Zcf extension does not exist on rv64 > + - if: > + properties: > + riscv,isa-extensions: > + contains: > + const: zcf > + riscv,isa-base: > + contains: > + const: rv64i > + then: > + properties: > + riscv,isa-extensions: > + not: > + contains: > + const: zcf > + > additionalProperties: true > ... > -- > 2.43.0 > > > _______________________________________________ > linux-riscv mailing list > linux-riscv@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-riscv Reviewed-by: Charlie Jenkins <charlie@rivosinc.com>
diff --git a/Documentation/devicetree/bindings/riscv/extensions.yaml b/Documentation/devicetree/bindings/riscv/extensions.yaml index b9100addeb90..39084c58d4e4 100644 --- a/Documentation/devicetree/bindings/riscv/extensions.yaml +++ b/Documentation/devicetree/bindings/riscv/extensions.yaml @@ -220,6 +220,38 @@ properties: instructions as ratified at commit 6d33919 ("Merge pull request #158 from hirooih/clmul-fix-loop-end-condition") of riscv-bitmanip. + - const: zca + description: | + The Zca extension part of Zc* standard extensions for code size + reduction, as ratified in commit 8be3419c1c0 ("Zcf doesn't exist on + RV64 as it contains no instructions") of riscv-code-size-reduction, + merged in the riscv-isa-manual by commit dbc79cf28a2 ("Initial seed + of zc.adoc to src tree."). + + - const: zcb + description: | + The Zcb extension part of Zc* standard extensions for code size + reduction, as ratified in commit 8be3419c1c0 ("Zcf doesn't exist on + RV64 as it contains no instructions") of riscv-code-size-reduction, + merged in the riscv-isa-manual by commit dbc79cf28a2 ("Initial seed + of zc.adoc to src tree."). + + - const: zcd + description: | + The Zcd extension part of Zc* standard extensions for code size + reduction, as ratified in commit 8be3419c1c0 ("Zcf doesn't exist on + RV64 as it contains no instructions") of riscv-code-size-reduction, + merged in the riscv-isa-manual by commit dbc79cf28a2 ("Initial seed + of zc.adoc to src tree."). + + - const: zcf + description: | + The Zcf extension part of Zc* standard extensions for code size + reduction, as ratified in commit 8be3419c1c0 ("Zcf doesn't exist on + RV64 as it contains no instructions") of riscv-code-size-reduction, + merged in the riscv-isa-manual by commit dbc79cf28a2 ("Initial seed + of zc.adoc to src tree."). + - const: zfa description: The standard Zfa extension for additional floating point @@ -499,5 +531,51 @@ properties: The T-HEAD specific 0.7.1 vector implementation as written in https://github.com/T-head-Semi/thead-extension-spec/blob/95358cb2cca9489361c61d335e03d3134b14133f/xtheadvector.adoc. + allOf: + # Zcb depends on Zca + - if: + contains: + const: zcb + then: + contains: + const: zca + # Zcd depends on Zca and D + - if: + contains: + const: zcd + then: + allOf: + - contains: + const: zca + - contains: + const: d + # Zcf depends on Zca and F + - if: + contains: + const: zcf + then: + allOf: + - contains: + const: zca + - contains: + const: f + +allOf: + # Zcf extension does not exist on rv64 + - if: + properties: + riscv,isa-extensions: + contains: + const: zcf + riscv,isa-base: + contains: + const: rv64i + then: + properties: + riscv,isa-extensions: + not: + contains: + const: zcf + additionalProperties: true ...