On 04.04.2024 17:18, Oleksii wrote: > 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.
And why's this verification relevant here, but not for Zbb? Jan > However, in both checks, there > might be no instruction as an argument of as-insn. > > ~ Oleksii