Merge tag 'riscv-for-linus-6.8-mw4' of git://git.kernel.org/pub/scm/linux/kernel...
[sfrench/cifs-2.6.git] / arch / riscv / include / asm / sbi.h
index 6dd41ff3c66e2502ce68dd9369dc87b9573f2b04..6e68f8dff76bc6d09f7a5e555e54474587021ed9 100644 (file)
@@ -32,6 +32,7 @@ enum sbi_ext_id {
        SBI_EXT_SUSP = 0x53555350,
        SBI_EXT_PMU = 0x504D55,
        SBI_EXT_DBCN = 0x4442434E,
+       SBI_EXT_STA = 0x535441,
 
        /* Experimentals extensions must lie within this range */
        SBI_EXT_EXPERIMENTAL_START = 0x08000000,
@@ -252,6 +253,22 @@ enum sbi_ext_dbcn_fid {
        SBI_EXT_DBCN_CONSOLE_WRITE_BYTE = 2,
 };
 
+/* SBI STA (steal-time accounting) extension */
+enum sbi_ext_sta_fid {
+       SBI_EXT_STA_STEAL_TIME_SET_SHMEM = 0,
+};
+
+struct sbi_sta_struct {
+       __le32 sequence;
+       __le32 flags;
+       __le64 steal;
+       u8 preempted;
+       u8 pad[47];
+} __packed;
+
+#define SBI_STA_SHMEM_DISABLE          -1
+
+/* SBI spec version fields */
 #define SBI_SPEC_VERSION_DEFAULT       0x1
 #define SBI_SPEC_VERSION_MAJOR_SHIFT   24
 #define SBI_SPEC_VERSION_MAJOR_MASK    0x7f