On 21.03.2025 17:17, Oleksii Kurochko wrote:
> H provides additional instructions and CSRs that control the new stage of
> address translation and support hosting a guest OS in virtual S-mode
> (VS-mode).
> 
> According to the Unprivileged Architecture (version 20240411) specification:
> ```
> Table 74 summarizes the standardized extension names. The table also defines
> the canonical order in which extension names must appear in the name string,
> with top-to-bottom in table indicating first-to-last in the name string, e.g.,
> RV32IMACV is legal, whereas RV32IMAVC is not.
> ```
> According to Table 74, the h extension is placed last in the one-letter
> extensions name part of the ISA string.
> 
> `h` is a standalone extension based on the patch [1] but it wasn't so
> before.
> As the minimal supported GCC version to build Xen for RISC-V is 12.2.0,
> and for that version it will be needed to encode H extensions instructions
> explicitly by checking if __risv_h is defined.

Leaving aside the typo, what is this about? There's no use of __riscv_h in
the patch here, and ...

> @@ -25,10 +24,13 @@ $(eval $(1) := \
>       $(call as-insn,$(CC) $(riscv-generic-flags)_$(1),$(value 
> $(1)-insn),_$(1)))
>  endef
>  
> +h-insn := "hfence.gvma"
> +$(call check-extension,h)

... this, if it fails, will not have any effect on the build right now
afaics.

Jan

Reply via email to