Messages in this thread | ![/](/images/icornerl.gif) | | Date | Thu, 7 Sep 2023 10:52:35 +0100 | From | Conor Dooley <> | Subject | Re: [PATCH v2 2/5] riscv: Add checksum library |
| |
On Tue, Sep 05, 2023 at 09:46:51PM -0700, Charlie Jenkins wrote:
> +#ifdef CONFIG_RISCV_ISA_ZBB > + if (IS_ENABLED(CONFIG_RISCV_ALTERNATIVE)) { > + /* > + * Zbb is likely available when the kernel is compiled with Zbb > + * support, so nop when Zbb is available and jump when Zbb is > + * not available. > + */ > + asm_volatile_goto(ALTERNATIVE("j %l[no_zbb]", "nop", 0, > + RISCV_ISA_EXT_ZBB, 1) > + : > + : > + : > + : no_zbb); > + } else { > + if (!__riscv_isa_extension_available(NULL, RISCV_ISA_EXT_ZBB)) > + goto no_zbb; > + }
Again, do these constructs have an appreciable benefit over doing if (!riscv_has_extension_likely(<ZBB>) goto no_zbb;
?
That encaspulates the fallback to a non-alternative mechanism for you, in case you had not noticed. [unhandled content-type:application/pgp-signature] | ![\](/images/icornerr.gif) |