diff --git a/src/python/gem5/components/boards/lupv_board.py b/src/python/gem5/components/boards/lupv_board.py
index 00ca934..11a9ebc 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,
