diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/dev/arm/Gic.py | 7 | ||||
-rw-r--r-- | src/dev/arm/gic_v3.cc | 4 |
2 files changed, 7 insertions, 4 deletions
diff --git a/src/dev/arm/Gic.py b/src/dev/arm/Gic.py index eec6e95c2..20b7bca05 100644 --- a/src/dev/arm/Gic.py +++ b/src/dev/arm/Gic.py @@ -203,7 +203,7 @@ class Gicv3(BaseGic): # Used for DTB autogeneration _state = FdtState(addr_cells=2, size_cells=2, interrupt_cells=3) - its = Param.Gicv3Its(Gicv3Its(), "GICv3 Interrupt Translation Service") + its = Param.Gicv3Its(NULL, "GICv3 Interrupt Translation Service") dist_addr = Param.Addr("Address for distributor") dist_pio_delay = Param.Latency('10ns', "Delay for PIO r/w to distributor") @@ -263,7 +263,8 @@ class Gicv3(BaseGic): node.appendPhandle(self) - # Generate the ITS device tree - node.append(self.its.generateDeviceTree(self._state)) + # Generate the ITS device tree if instantiated + if self.its != NULL: + node.append(self.its.generateDeviceTree(self._state)) yield node diff --git a/src/dev/arm/gic_v3.cc b/src/dev/arm/gic_v3.cc index eb38efe4d..ba0a8ee63 100644 --- a/src/dev/arm/gic_v3.cc +++ b/src/dev/arm/gic_v3.cc @@ -91,7 +91,9 @@ Gicv3::init() cpuInterfaces[i]->init(); } - params()->its->setGIC(this); + Gicv3Its *its = params()->its; + if (its) + its->setGIC(this); BaseGic::init(); } |