[PATCH 7/7] platform: tenstorrent: Add Smrnmi support for Atlantis

Evgeny Voevodin evvoevod at tenstorrent.com
Tue Mar 10 11:31:55 PDT 2026


From: Evgeny Voevodin <evvoevod at tenstorrent.com>

Enable Smrnmi extension support for Atlantis hardware platform by providing
smrnmi_handlers_init callbacks and stub RNMI handler.
Atlantis platfrom code installs the generic Ascalon RNMI/E handlers
with ATLANTIS_MMR_BASE. It also installs stub RNMI handler callback.

Signed-off-by: Evgeny Voevodin <evvoevod at tenstorrent.com>
---
 platform/generic/tenstorrent/atlantis.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/platform/generic/tenstorrent/atlantis.c b/platform/generic/tenstorrent/atlantis.c
index 59bbd0eb..4afc0fda 100644
--- a/platform/generic/tenstorrent/atlantis.c
+++ b/platform/generic/tenstorrent/atlantis.c
@@ -49,10 +49,26 @@ static bool tt_atlantis_single_fw_region(void)
 	return true;
 }
 
+#define ATLANTIS_MMR_BASE	0xA0000000
+
+static void tt_atlantis_smrnmi_handlers_init(void (*rnmi_handler)(void),
+			void (*rnme_handler)(void))
+{
+	tt_ascalon_smrnmi_handlers_init(rnmi_handler, rnme_handler, ATLANTIS_MMR_BASE);
+}
+
+static int tt_atlantis_rnmi_handler(struct sbi_trap_context *tcntx)
+{
+	/* No real RNMI handling needed at this point, stub */
+	return SBI_SUCCESS;
+}
+
 static int tt_atlantis_platform_init(const void *fdt, int nodeoff, const struct fdt_match *match)
 {
 	generic_platform_ops.final_init = tt_atlantis_final_init;
 	generic_platform_ops.single_fw_region = tt_atlantis_single_fw_region;
+	generic_platform_ops.smrnmi_handlers_init = tt_atlantis_smrnmi_handlers_init;
+	generic_platform_ops.rnmi_handler = tt_atlantis_rnmi_handler;
 
 	return 0;
 }
-- 
2.43.0




More information about the opensbi mailing list