Message ID | 20241024-pungent-lasso-42dd3512a3c8@spud (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Add some validation for vector, vector crypto and fp stuff | expand |
On Thu, Oct 24, 2024 at 01:34:33PM +0100, Conor Dooley wrote: > From: Conor Dooley <conor.dooley@microchip.com> > > Section 35.2. Extensions Overview of [1] says: > | The Zvknhb and Zvbc Vector Crypto Extensions --and accordingly the composite extensions Zvkn and > | Zvks-- (sic) require a Zve64x base, or application ("V") base Vector Extension. > | All of the other Vector Crypto Extensions can be built on any embedded (Zve*) or application ("V") base > | Vector Extension > > Apply these rules in the binding, so that invalid combinations can be > avoided. It looks like that part of the spec is wrong, though. The Zvknhb and Zvbc are correct, but the list of the composite extensions that at least one of them is included in is: Zvkn, Zvknc, Zvkng, Zvksc. - Eric
On Thu, Oct 24, 2024 at 07:24:11PM -0700, Eric Biggers wrote: > On Thu, Oct 24, 2024 at 01:34:33PM +0100, Conor Dooley wrote: > > From: Conor Dooley <conor.dooley@microchip.com> > > > > Section 35.2. Extensions Overview of [1] says: > > | The Zvknhb and Zvbc Vector Crypto Extensions --and accordingly the composite extensions Zvkn and > > | Zvks-- (sic) require a Zve64x base, or application ("V") base Vector Extension. > > | All of the other Vector Crypto Extensions can be built on any embedded (Zve*) or application ("V") base > > | Vector Extension > > > > Apply these rules in the binding, so that invalid combinations can be > > avoided. > > It looks like that part of the spec is wrong, though. The Zvknhb and Zvbc are > correct, but the list of the composite extensions that at least one of them is > included in is: Zvkn, Zvknc, Zvkng, Zvksc. > I am attempting to fix this in https://github.com/riscv/riscv-isa-manual/pull/1697 - Eric
On Thu, Oct 24, 2024 at 07:42:24PM -0700, Eric Biggers wrote: > On Thu, Oct 24, 2024 at 07:24:11PM -0700, Eric Biggers wrote: > > On Thu, Oct 24, 2024 at 01:34:33PM +0100, Conor Dooley wrote: > > > From: Conor Dooley <conor.dooley@microchip.com> > > > > > > Section 35.2. Extensions Overview of [1] says: > > > | The Zvknhb and Zvbc Vector Crypto Extensions --and accordingly the composite extensions Zvkn and > > > | Zvks-- (sic) require a Zve64x base, or application ("V") base Vector Extension. > > > | All of the other Vector Crypto Extensions can be built on any embedded (Zve*) or application ("V") base > > > | Vector Extension > > > > > > Apply these rules in the binding, so that invalid combinations can be > > > avoided. > > > > It looks like that part of the spec is wrong, though. The Zvknhb and Zvbc are > > correct, but the list of the composite extensions that at least one of them is > > included in is: Zvkn, Zvknc, Zvkng, Zvksc. > > > > I am attempting to fix this in > https://github.com/riscv/riscv-isa-manual/pull/1697 Looks like at least one person agrees with you, but I'll wait til that's merged before submitting another version. Thanks for reporting it.
diff --git a/Documentation/devicetree/bindings/riscv/extensions.yaml b/Documentation/devicetree/bindings/riscv/extensions.yaml index 20cead7d8af71..38d77043552a3 100644 --- a/Documentation/devicetree/bindings/riscv/extensions.yaml +++ b/Documentation/devicetree/bindings/riscv/extensions.yaml @@ -658,6 +658,38 @@ properties: - contains: const: zve64f + - if: + contains: + anyOf: + - const: zvbc + - const: zvkn + - const: zvknhb + - const: zvks + then: + contains: + anyOf: + - const: v + - const: zve64x + + - if: + contains: + anyOf: + - const: zvbb + - const: zvkb + - const: zvkg + - const: zvkned + - const: zvknha + - const: zvksed + - const: zvksh + - const: zvknc + - const: zvkng + - const: zvkt + then: + contains: + anyOf: + - const: v + - const: zve32x + allOf: # Zcf extension does not exist on rv64 - if: