add MSR constants, TODO translated
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Tue, 2 Jun 2020 11:19:32 +0000 (12:19 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Tue, 2 Jun 2020 11:19:32 +0000 (12:19 +0100)
src/soc/fu/trap/main_stage.py

index ff79d6460110e20910c6264015375415ebba9ef7..bbd00b64c9919bfc6519a9cf22c1d904ae2ded12 100644 (file)
@@ -14,6 +14,17 @@ from soc.decoder.power_enums import InternalOp
 from soc.decoder.power_fields import DecodeFields
 from soc.decoder.power_fieldsn import SignalBitRange
 
+# TODO at some point move these to their own module (for use elsewhere)
+"""
+    -- MSR bit numbers
+    constant MSR_SF  : integer := (63 - 0);     -- Sixty-Four bit mode
+    constant MSR_EE  : integer := (63 - 48);    -- External interrupt Enable
+    constant MSR_PR  : integer := (63 - 49);    -- PRoblem state
+    constant MSR_IR  : integer := (63 - 58);    -- Instruction Relocation
+    constant MSR_DR  : integer := (63 - 59);    -- Data Relocation
+    constant MSR_RI  : integer := (63 - 62);    -- Recoverable Interrupt
+    constant MSR_LE  : integer := (63 - 63);    -- Little Endian
+"""
 
 class TrapMainStage(PipeModBase):
     def __init__(self, pspec):