From: Himanshu Chauhan <hchau...@ventanamicro.com>

Debug trigger extension is a proposed SBI extension to support
native debugging in S-mode and VS-mode.

The proposal for the extension can be found at:
https://lists.riscv.org/g/sig-hypervisors/message/361

This patch adds the extension and the function IDs defined
by the extension.

Signed-off-by: Himanshu Chauhan <hchau...@ventanamicro.com>
---
RFC -> V1:
 - No change
---
 arch/riscv/include/asm/sbi.h | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/arch/riscv/include/asm/sbi.h b/arch/riscv/include/asm/sbi.h
index 3d250824178b..be2ca8e8a49e 100644
--- a/arch/riscv/include/asm/sbi.h
+++ b/arch/riscv/include/asm/sbi.h
@@ -35,6 +35,7 @@ enum sbi_ext_id {
        SBI_EXT_DBCN = 0x4442434E,
        SBI_EXT_STA = 0x535441,
        SBI_EXT_NACL = 0x4E41434C,
+       SBI_EXT_DBTR = 0x44425452,
 
        /* Experimentals extensions must lie within this range */
        SBI_EXT_EXPERIMENTAL_START = 0x08000000,
@@ -402,6 +403,34 @@ enum sbi_ext_nacl_feature {
 #define SBI_NACL_SHMEM_SRET_X(__i)             ((__riscv_xlen / 8) * (__i))
 #define SBI_NACL_SHMEM_SRET_X_LAST             31
 
+/* SBI debug triggers function IDs */
+enum sbi_ext_dbtr_fid {
+       SBI_EXT_DBTR_NUM_TRIGGERS = 0,
+       SBI_EXT_DBTR_SETUP_SHMEM,
+       SBI_EXT_DBTR_TRIG_READ,
+       SBI_EXT_DBTR_TRIG_INSTALL,
+       SBI_EXT_DBTR_TRIG_UPDATE,
+       SBI_EXT_DBTR_TRIG_UNINSTALL,
+       SBI_EXT_DBTR_TRIG_ENABLE,
+       SBI_EXT_DBTR_TRIG_DISABLE,
+};
+
+struct sbi_dbtr_data_msg {
+       unsigned long tstate;
+       unsigned long tdata1;
+       unsigned long tdata2;
+       unsigned long tdata3;
+};
+
+struct sbi_dbtr_id_msg {
+       unsigned long idx;
+};
+
+union sbi_dbtr_shmem_entry {
+       struct sbi_dbtr_data_msg data;
+       struct sbi_dbtr_id_msg id;
+};
+
 /* SBI spec version fields */
 #define SBI_SPEC_VERSION_DEFAULT       0x1
 #define SBI_SPEC_VERSION_MAJOR_SHIFT   24
-- 
2.43.0


Reply via email to