On 26.06.2024 09:13, Oleksii wrote: > On Tue, 2024-06-25 at 22:10 +0100, Andrew Cooper wrote: >> On 25/06/2024 3:49 pm, Jan Beulich wrote: >>> On 25.06.2024 15:51, Oleksii Kurochko wrote: >>>> --- a/xen/arch/riscv/include/asm/cmpxchg.h >>>> +++ b/xen/arch/riscv/include/asm/cmpxchg.h >>>> @@ -18,6 +18,20 @@ >>>> : "r" (new) \ >>>> : "memory" ); >>>> >>>> +/* >>>> + * Binutils < 2.37 doesn't understand ANDN. If the toolchain is >>>> too >>>> +ld, form >>> Same question: Why's 2.37 suddenly of interest? >> >> You deleted the commit message which explains why: >> >>> RISC-V does a conditional toolchain test for the Zbb extension >>> (xen/arch/riscv/rules.mk), but unconditionally uses the ANDN >>> instruction in emulate_xchg_1_2(). >> >> Either Zbb needs to be mandatory (both in the toolchain and the board >> running Xen), or emulate_xchg_1_2() needs to not use the ANDN >> instruction. > But we can't go without Zbb there are some things in <xen/bitops.h> > which now requires this extension. At the current state of development > it is mandatory.
Maybe that's the "another bug" that Andrew mentioned (without any details) on Matrix? Jan