From 53ee54dbd1ea49387c1ff4e3a269d3f7e0eba728 Mon Sep 17 00:00:00 2001 From: Megan Wachs Date: Fri, 26 Aug 2016 10:09:03 -0700 Subject: [PATCH] Incorporate feedback to make the NExtPerhipheryInterrupts come from DeviceBlock itself --- src/main/scala/rocketchip/Configs.scala | 3 +-- src/main/scala/rocketchip/Devices.scala | 6 ++++++ src/main/scala/rocketchip/TestConfigs.scala | 1 - 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/scala/rocketchip/Configs.scala b/src/main/scala/rocketchip/Configs.scala index f70ded99..603b7811 100644 --- a/src/main/scala/rocketchip/Configs.scala +++ b/src/main/scala/rocketchip/Configs.scala @@ -116,7 +116,7 @@ class BasePlatformConfig extends Config ( } case BuildCoreplex => (p: Parameters) => Module(new DefaultCoreplex(p)) case NExtTopInterrupts => 2 - case NExtPeripheryInterrupts => 0 + case NExtPeripheryInterrupts => site(ExtraDevices).nInterrupts // Note that PLIC asserts that this is > 0. case NExtInterrupts => site(NExtTopInterrupts) + site(NExtPeripheryInterrupts) case AsyncDebugBus => false @@ -269,7 +269,6 @@ class WithTestRAM extends Config( extra: Bundle, p: Parameters) { val testram = Module(new TileLinkTestRAM(ramSize)(p)) testram.io <> mmioPorts("testram") - interrupts.foreach(x => x := Bool(false)) } } new TestRAMDevice diff --git a/src/main/scala/rocketchip/Devices.scala b/src/main/scala/rocketchip/Devices.scala index 3151de70..c86e2813 100644 --- a/src/main/scala/rocketchip/Devices.scala +++ b/src/main/scala/rocketchip/Devices.scala @@ -14,6 +14,10 @@ abstract class DeviceBlock { def nClientPorts: Int /** Address map entries for all of the devices */ def addrMapEntries: Seq[AddrMapEntry] + /** + * The total number of interrupt signals coming + * from all the devices */ + def nInterrupts : Int = 0 /** * The function that elaborates all the extra devices and connects them @@ -48,6 +52,8 @@ abstract class DeviceBlock { "}\n" }.mkString } + + } class EmptyDeviceBlock extends DeviceBlock { diff --git a/src/main/scala/rocketchip/TestConfigs.scala b/src/main/scala/rocketchip/TestConfigs.scala index 1d64e7ce..e4f74938 100644 --- a/src/main/scala/rocketchip/TestConfigs.scala +++ b/src/main/scala/rocketchip/TestConfigs.scala @@ -196,7 +196,6 @@ class WithBusMasterTest extends Config( val busmaster = Module(new ExampleBusMaster()(p)) busmaster.io.mmio <> mmioPorts("busmaster") clientPorts.head <> busmaster.io.mem - interrupts.foreach(x => x := Bool(false)) } } new BusMasterDevice