On Thu, 2024-04-04 at 12:07 +0200, Jan Beulich wrote: > On 03.04.2024 12:19, Oleksii Kurochko wrote: > > --- a/xen/arch/riscv/arch.mk > > +++ b/xen/arch/riscv/arch.mk > > @@ -3,16 +3,27 @@ > > > > $(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS)) > > > > -CFLAGS-$(CONFIG_RISCV_64) += -mabi=lp64 > > +riscv-abi-$(CONFIG_RISCV_32) := -mabi=ilp32 > > +riscv-abi-$(CONFIG_RISCV_64) := -mabi=lp64 > > > > riscv-march-$(CONFIG_RISCV_ISA_RV64G) := rv64g > > riscv-march-$(CONFIG_RISCV_ISA_C) := $(riscv-march-y)c > > > > +riscv-generic-flags := $(riscv-abi-y) -march=$(riscv-march-y) > > + > > +zbb := $(call as-insn,$(CC) $(riscv-generic-flags)_zbb,"",_zbb) > > While committing another question popped up: Why "" (i.e. no insn) > here, ... > > > +zihintpause := $(call as-insn,\ > > + $(CC) $(riscv-generic- > > flags)_zihintpause,"pause",_zihintpause) > > ... but "pause" here?
In the case of the Zbb extension, we don't check for a specific instruction, but with the Zihintpause, the idea was to verify if the pause instruction is supported or not. However, in both checks, there might be no instruction as an argument of as-insn. ~ Oleksii