add atomic reservation field to Power Decoder data structures
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sat, 15 Jan 2022 13:47:36 +0000 (13:47 +0000)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sat, 15 Jan 2022 13:47:36 +0000 (13:47 +0000)
src/openpower/decoder/decode2execute1.py
src/openpower/decoder/power_decoder.py

index e7deff5b2608cc69769eb321ac1d621a3001ffc7..d0f37d2e062a242bc2bfdb9ba03cbb5cce81ad5e 100644 (file)
@@ -84,6 +84,7 @@ class Decode2ToOperand(IssuerDecode2ToOperand):
         self.is_signed = Signal(reset_less=True)
         self.data_len = Signal(4, reset_less=True) # bytes
         self.byte_reverse  = Signal(reset_less=True)
+        self.reserve  = Signal(reset_less=True) # atomic update ldarx/stdcx etc
         self.sign_extend  = Signal(reset_less=True)# do we need this?
         self.ldst_mode  = Signal(LDSTMode, reset_less=True) # LD/ST mode
         self.write_cr0 = Signal(reset_less=True)
index 8fabeabcb63bfc4d0b8f53bf614c4e4d8f777c18..4f7ab855543d3712680272808f6fc582ae72e932 100644 (file)
@@ -163,6 +163,7 @@ power_op_csvmap = {'function_unit': 'unit',
                    'cr_out': 'CR out',
                    'ldst_len': 'ldst len',
                    'upd': 'upd',
+                   'rsrv': 'reserve', # atomic operation
                    'rc_sel': 'rc',
                    'cry_in': 'cry in',
                    }