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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user