Melissa Jost has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/53042 )

Change subject: dev,arch: Added LupIO-IPI to the LupV Board
......................................................................

dev,arch: Added LupIO-IPI to the LupV Board

This adds the LupioIPI device to our LupV Board, which
finalizes the changes needed for the LupIO devices to run
with SMP support.

Change-Id: I3e51dae6d8d589d3b38c57c33322e740c832a03d
---
M src/python/gem5/components/boards/lupv_board.py
1 file changed, 42 insertions(+), 2 deletions(-)



diff --git a/src/python/gem5/components/boards/lupv_board.py b/src/python/gem5/components/boards/lupv_board.py
index 8dcf4ba..61e1ebe 100644
--- a/src/python/gem5/components/boards/lupv_board.py
+++ b/src/python/gem5/components/boards/lupv_board.py
@@ -48,6 +48,7 @@
     Plic,
     Terminal,
     LupioBLK,
+    LupioIPI,
     LupioPIC,
     LupioRNG,
     LupioRTC,
@@ -110,10 +111,18 @@
         # PLIC
         self.pic = Plic(pio_addr=0xc000000)

+        # LUPIO IPI
+        self.lupio_ipi = LupioIPI(
+            pio_addr=0x20001000,
+            int_type=self._excep_code['INT_SOFT_SUPER'],
+            num_threads = self.processor.get_num_cores()
+        )
+
         # LUPIO PIC
         self.lupio_pic = LupioPIC(
             pio_addr=0x20002000,
-            int_type = self._excep_code['INT_EXT_SUPER']
+            int_type = self._excep_code['INT_EXT_SUPER'],
+            num_threads = self.processor.get_num_cores()
         )

         #LupV Platform
@@ -142,7 +151,8 @@
         # LUPIO TMR
         self.lupio_tmr = LupioTMR(
             pio_addr=0x20006000,
-            int_type = self._excep_code['INT_TIMER_SUPER']
+            int_type = self._excep_code['INT_TIMER_SUPER'],
+            num_threads = self.processor.get_num_cores()
         )

         # LUPIO TTY
@@ -183,6 +193,7 @@
         self._on_chip_devices = [
             self.clint,
             self.pic,
+            self.lupio_ipi,
             self.lupio_pic,
             self.lupio_tmr
         ]
@@ -423,6 +434,22 @@

         soc_node.append(plic_node)

+        # LupioIPI Device
+        lupio_ipi = self.lupio_ipi
+        lupio_ipi_node = lupio_ipi.generateBasicPioDeviceNode(soc_state,
+                                "lupio-ipi", lupio_ipi.pio_addr,
+                                lupio_ipi.pio_size)
+        int_extended = list()
+        for i, core in enumerate(self.get_processor().get_cores()):
+            phandle = state.phandle(f"cpu@{i}.int_state")
+            int_extended.append(phandle)
+            int_extended.append(self._excep_code['INT_SOFT_SUPER'])
+        lupio_ipi_node.append(
+            FdtPropertyWords("interrupts-extended", int_extended))
+        lupio_ipi_node.append(FdtProperty("interrupt-controller"))
+        lupio_ipi_node.appendCompatible(["lupio,ipi"])
+        soc_node.append(lupio_ipi_node)
+
         # LupioPIC Device
         lupio_pic = self.lupio_pic
         lupio_pic_node = lupio_pic.generateBasicPioDeviceNode(soc_state,

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/53042
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I3e51dae6d8d589d3b38c57c33322e740c832a03d
Gerrit-Change-Number: 53042
Gerrit-PatchSet: 1
Gerrit-Owner: Melissa Jost <melissakj...@gmail.com>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to