KVM: MIPS: Add CPUCFG emulation for Loongson-3
[platform/kernel/linux-starfive.git] / arch / mips / include / uapi / asm / inst.h
index 98f97c8..43d1faa 100644 (file)
@@ -1012,6 +1012,16 @@ struct loongson3_lsdc2_format {  /* Loongson-3 overridden ldc2/sdc2 Load/Store fo
        ;))))))
 };
 
+struct loongson3_lscsr_format {        /* Loongson-3 CPUCFG&CSR read/write format */
+       __BITFIELD_FIELD(unsigned int opcode : 6,
+       __BITFIELD_FIELD(unsigned int rs : 5,
+       __BITFIELD_FIELD(unsigned int fr : 5,
+       __BITFIELD_FIELD(unsigned int rd : 5,
+       __BITFIELD_FIELD(unsigned int fd : 5,
+       __BITFIELD_FIELD(unsigned int func : 6,
+       ;))))))
+};
+
 /*
  * MIPS16e instruction formats (16-bit length)
  */
@@ -1114,6 +1124,7 @@ union mips_instruction {
        struct mm16_r5_format mm16_r5_format;
        struct loongson3_lswc2_format loongson3_lswc2_format;
        struct loongson3_lsdc2_format loongson3_lsdc2_format;
+       struct loongson3_lscsr_format loongson3_lscsr_format;
 };
 
 union mips16e_instruction {