On 11.12.2024 18:27, Oleksii Kurochko wrote:
> --- a/xen/arch/riscv/include/asm/page.h
> +++ b/xen/arch/riscv/include/asm/page.h
> @@ -7,6 +7,7 @@
>
> #include <xen/bug.h>
> #include <xen/const.h>
> +#include <xen/errno.h>
> #include <xen/types.h>
>
> #include <asm/atomic.h>
> @@ -148,9 +149,27 @@ static inline bool pte_is_mapping(pte_t p)
> return (p.pte & PTE_VALID) && (p.pte & PTE_ACCESS_MASK);
> }
>
> +static inline int clean_and_invalidate_dcache_va_range(const void *p,
> unsigned long size)
> +{
> +#ifdef CONFIG_QEMU
> + return 0;
> +#else
> + return -EOPNOTSUPP;
> +#endif
> +}
> +
> +static inline int clean_dcache_va_range(const void *p, unsigned long size)
> +{
> +#ifdef CONFIG_QEMU
> + return 0;
> +#else
> + return -EOPNOTSUPP;
> +#endif
> +}
So testing on real hardware will then effectively become impossible, until
someone goes and implements these?
> --- /dev/null
> +++ b/xen/arch/riscv/platforms/Kconfig
> @@ -0,0 +1,5 @@
> +config QEMU
> + bool "QEMU aarch virt machine support"
> + depends on RISCV_64
I understand Arm has it like this, but: Is QEMU really a sufficiently non-
ambiguous name to use? Is the RISCV_64 dependency really needed?
> + help
> + Enable all the required drivers for QEMU riscv64 virt emulated
> machine.
This line looks to be slightly too long now (after you apparently unwrapped
what Arm has).
Jan