On Tue, Oct 17, 2023 at 6:15 AM Clément Léger <cleger@xxxxxxxxxxxx> wrote: > > From: Evan Green <evan@xxxxxxxxxxxx> > > The Scalar Crypto specification defines Zk as a shorthand for the > Zkn, Zkr and Zkt extensions. The same follows for both Zkn, Zks and Zbk, > which are all shorthands for various other extensions. The detailed > breakdown can be found in their dt-binding entries. > > Since Zkn also implies the Zbkb, Zbkc and Zbkx extensions, simply passing > "zk" through a DT should enable all of Zbkb, Zbkc, Zbkx, Zkn, Zkr and Zkt. > For example, setting the "riscv,isa" DT property to "rv64imafdc_zk" > should generate the following cpuinfo output: > "rv64imafdc_zicntr_zicsr_zifencei_zihpm_zbkb_zbkc_zbkx_zknd_zkne_zknh_zkr_zkt" > > riscv_isa_ext_data grows a pair of new members, to permit setting the > relevant bits for "bundled" extensions, both while parsing the ISA string > and the new dedicated extension properties > > Co-developed-by: Conor Dooley <conor.dooley@xxxxxxxxxxxxx> > Signed-off-by: Conor Dooley <conor.dooley@xxxxxxxxxxxxx> > Signed-off-by: Evan Green <evan@xxxxxxxxxxxx> > Signed-off-by: Clément Léger <cleger@xxxxxxxxxxxx> My tree might be out of sync, but in my search for riscv_isa_ext, I also found a use in print_isa() (cpu.c) where we're reaching into riscv_isa_ext[].id and assuming it's always valid. If that's still in there we'll want to fix up that spot too, since now with bundles .id may or may not be valid. -Evan