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