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>
This commit is contained in:
Giacomo Travaglini
2019-08-09 22:21:34 +01:00
parent 00b3d2c5bc
commit 91419e3682

View File

@@ -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