Re: [PATCH v2 05/29] LoongArch: KVM: Add vcpu related header files
From: Xi Ruoyao
Date: Mon Feb 20 2023 - 23:45:05 EST
On Mon, 2023-02-20 at 14:57 +0800, Tianrui Zhao wrote:
> +/* GCSR */
> +static inline u64 gcsr_read(u32 reg)
> +{
> + u64 val = 0;
> +
> + asm volatile (
> + "parse_r __reg, %[val]\n\t"
> + ".word 0x5 << 24 | %[reg] << 10 | 0 << 5 | __reg\n\t"
Don't do this. You should add the instruction to binutils first, then
make CONFIG_KVM depend on the assembler supporting this instruction.
This is completely unreadable and only fine for an internal PoC.
> + : [val] "+r" (val)
> + : [reg] "i" (reg)
> + : "memory");
> +
> + return val;
> +}
--
Xi Ruoyao <xry111@xxxxxxxxxxx>
School of Aerospace Science and Technology, Xidian University