Giacomo Travaglini has uploaded this change for review. (
https://gem5-review.googlesource.com/c/public/gem5/+/35396 )
Change subject: dev-arm: Automate FdtProperty generation with
ArmInterruptPin
......................................................................
dev-arm: Automate FdtProperty generation with ArmInterruptPin
Change-Id: I1963bd139d8abd8988d5ceedaf85c74279546078
Signed-off-by: Giacomo Travaglini <[email protected]>
---
M src/dev/arm/Gic.py
1 file changed, 20 insertions(+), 0 deletions(-)
diff --git a/src/dev/arm/Gic.py b/src/dev/arm/Gic.py
index 17a553f..a4f0e8e 100644
--- a/src/dev/arm/Gic.py
+++ b/src/dev/arm/Gic.py
@@ -99,11 +99,31 @@
cxx_header = "dev/arm/base_gic.hh"
cxx_class = "ArmSPIGen"
+ def generateFdtProperty(self):
+ """
+ Return a list used as an entry for an interrupt FdtProperty
+
+ Subtracting 32 because Linux assumes that SPIs start at 0, while
+ gem5 uses the internal GIC numbering (SPIs start at 32)
+ """
+ return [ 0, self.num - 32, int(self.int_type.getValue()) ]
+
class ArmPPI(ArmInterruptPin):
type = 'ArmPPI'
cxx_header = "dev/arm/base_gic.hh"
cxx_class = "ArmPPIGen"
+ def generateFdtProperty(self):
+ """
+ Return a list used as an entry for an interrupt FdtProperty
+
+ Subtracting 16 because Linux assumes that PPIs start at 0, while
+ gem5 uses the internal GIC numbering (PPIs start at 16)
+ We or the value with 0xf00 which corresponds to the following
+ Linux kernel macroes IRQ_LEVEL, IRQ_PER_CPU, IRQ_NOPROBE,
IRQ_NOREQUEST
+ """
+ return [ 1, self.num - 16, 0xf00 | int(self.int_type.getValue()) ]
+
class GicV2(BaseGic):
type = 'GicV2'
cxx_header = "dev/arm/gic_v2.hh"
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/35396
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I1963bd139d8abd8988d5ceedaf85c74279546078
Gerrit-Change-Number: 35396
Gerrit-PatchSet: 1
Gerrit-Owner: Giacomo Travaglini <[email protected]>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s