summaryrefslogtreecommitdiff
path: root/src/python
diff options
context:
space:
mode:
authorGiacomo Travaglini <giacomo.travaglini@arm.com>2019-08-09 22:21:34 +0100
committerGiacomo Travaglini <giacomo.travaglini@arm.com>2019-08-12 18:17:45 +0000
commit91419e36827df52ef7c551f497e0a47fc143e461 (patch)
tree48fc91ac42dd1371f97298622b69622a312c236d /src/python
parent00b3d2c5bc05f22d5a4f3c63839a2cf45b4915a0 (diff)
downloadgem5-91419e36827df52ef7c551f497e0a47fc143e461.tar.xz
python: FdtState using interrupt-cells
Change-Id: I37813748f518b442d2b53c2bc4f381edb2e26146 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/20050 Maintainer: Andreas Sandberg <andreas.sandberg@arm.com> Tested-by: kokoro <noreply+kokoro@google.com>
Diffstat (limited to 'src/python')
-rw-r--r--src/python/m5/util/fdthelper.py22
1 files changed, 17 insertions, 5 deletions
diff --git a/src/python/m5/util/fdthelper.py b/src/python/m5/util/fdthelper.py
index c8760508c..27d6f844c 100644
--- a/src/python/m5/util/fdthelper.py
+++ b/src/python/m5/util/fdthelper.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2016 ARM Limited
+# Copyright (c) 2016,2019 ARM Limited
# All rights reserved.
#
# The license below extends only to copyright in the software and shall
@@ -87,13 +87,14 @@ class FdtState(object):
phandle_counter = 0
phandles = dict()
- def __init__(self, addr_cells, size_cells, cpu_cells):
+ def __init__(self, **kwargs):
"""Instantiate values of this state. The state can only be initialized
once."""
- self.addr_cells = addr_cells
- self.size_cells = size_cells
- self.cpu_cells = cpu_cells
+ self.addr_cells = kwargs.pop('addr_cells', 0)
+ self.size_cells = kwargs.pop('size_cells', 0)
+ self.cpu_cells = kwargs.pop('cpu_cells', 0)
+ self.interrupt_cells = kwargs.pop('interrupt_cells', 0)
def phandle(self, obj):
"""Return a unique phandle number for a key. The key can be a SimObject
@@ -142,6 +143,11 @@ class FdtState(object):
state."""
return self.int_to_cells(size, self.size_cells)
+ def interruptCells(self, interrupt):
+ """Format an integer type according to the interrupt_cells value
+ of this state."""
+ return self.int_to_cells(interrupt, self.interrupt_cells)
+
def addrCellsProperty(self):
"""Return an #address-cells property with the value of this state."""
return FdtPropertyWords("#address-cells", self.addr_cells)
@@ -155,6 +161,12 @@ class FdtState(object):
of this state."""
return FdtPropertyWords("#address-cells", self.cpu_cells)
+ def interruptCellsProperty(self):
+ """Return an #interrupt-cells property for cpu nodes with the value
+ of this state."""
+ return FdtPropertyWords("#interrupt-cells", self.interrupt_cells)
+
+
class FdtNop(pyfdt.FdtNop):
"""Create an empty node."""
pass