[PATCH v4 07/16] riscv: cpufeature: Extract common elements from extension checking

Conor Dooley conor at kernel.org
Wed May 1 13:15:44 PDT 2024


On Wed, May 01, 2024 at 12:48:13PM -0700, Charlie Jenkins wrote:
> On Wed, May 01, 2024 at 12:37:14PM +0100, Conor Dooley wrote:
> > On Fri, Apr 26, 2024 at 02:29:21PM -0700, Charlie Jenkins wrote:
> > > The __riscv_has_extension_likely() and __riscv_has_extension_unlikely()
> > > functions from the vendor_extensions.h can be used to simplify the
> > > standard extension checking code as well. Migrate those functions to
> > > cpufeature.h and reorganize the code in the file to use the functions.
> > > 
> > > Signed-off-by: Charlie Jenkins <charlie at rivosinc.com>
> > > ---
> > >  arch/riscv/include/asm/cpufeature.h        | 78 +++++++++++++++++-------------
> > >  arch/riscv/include/asm/vendor_extensions.h | 28 -----------
> > >  2 files changed, 44 insertions(+), 62 deletions(-)
> > > 
> > > diff --git a/arch/riscv/include/asm/cpufeature.h b/arch/riscv/include/asm/cpufeature.h
> > > index fedd479ccfd1..17896ec9ec11 100644
> > > --- a/arch/riscv/include/asm/cpufeature.h
> > > +++ b/arch/riscv/include/asm/cpufeature.h
> > > @@ -98,59 +98,66 @@ extern bool riscv_isa_fallback;
> > >  
> > >  unsigned long riscv_isa_extension_base(const unsigned long *isa_bitmap);
> > >  
> > > +#define EXT_ALL_VENDORS		0
> > 
> > It's not really "all vendors", it's standard. Otherwise, this seems all
> 
> This hooks up into the alternatives:
> 
> ALTERNATIVE("nop", "j	%l[l_yes]", %[vendor], %[ext], 1)

Yeah, I know what you're using it for, I just find the naming odd.
> 
> Where the "vendor" argument is supposed to be 0 if the alternative is
> applicable to all vendors. Is there a better way to convey this?

s/EXT_ALL_VENDORS/STANDARD_EXT/?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-riscv/attachments/20240501/82efd131/attachment.sig>


More information about the linux-riscv mailing list