Changeset 103828 in vbox for trunk/src/VBox/VMM/VMMAll/IEMAllThrdPython.py
- Timestamp:
- Mar 13, 2024 2:01:20 PM (9 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllThrdPython.py
r103807 r103828 1104 1104 1105 1105 # Add EFLAGS usage annotations to relevant MCs. 1106 elif oNewStmt.sName in ('IEM_MC_COMMIT_EFLAGS', 'IEM_MC_REF_EFLAGS', 'IEM_MC_FETCH_EFLAGS'): 1106 elif oNewStmt.sName in ('IEM_MC_COMMIT_EFLAGS', 'IEM_MC_COMMIT_EFLAGS_OPT', 'IEM_MC_REF_EFLAGS', 1107 'IEM_MC_FETCH_EFLAGS'): 1107 1108 oInstruction = self.oParent.oMcBlock.oInstruction; 1108 1109 oNewStmt.sName += '_EX'; … … 1996 1997 1997 1998 # Collect MCs working on EFLAGS. Caller will check this. 1998 if oStmt.sName in ('IEM_MC_FETCH_EFLAGS', 'IEM_MC_FETCH_EFLAGS_U8', 'IEM_MC_COMMIT_EFLAGS', 'IEM_MC_REF_EFLAGS',1999 'IEM_MC_ ARG_LOCAL_EFLAGS', ):1999 if oStmt.sName in ('IEM_MC_FETCH_EFLAGS', 'IEM_MC_FETCH_EFLAGS_U8', 'IEM_MC_COMMIT_EFLAGS', 2000 'IEM_MC_COMMIT_EFLAGS_OPT', 'IEM_MC_REF_EFLAGS', 'IEM_MC_ARG_LOCAL_EFLAGS', ): 2000 2001 dEflStmts[oStmt.sName] = oStmt; 2001 2002 elif isinstance(oStmt, iai.McStmtCall): … … 2060 2061 if len(dEflStmts) != 1 or not sMcNames.startswith('IEM_MC_CALL_CIMPL_'): # Hack for far calls 2061 2062 self.error('Uses %s but has no @opflmodify, @opfltest or @opflclass with details!' % (sMcNames,), oGenerator); 2062 elif 'IEM_MC_COMMIT_EFLAGS' in dEflStmts :2063 elif 'IEM_MC_COMMIT_EFLAGS' in dEflStmts or 'IEM_MC_COMMIT_EFLAGS_OPT' in dEflStmts: 2063 2064 if not oInstruction.asFlModify: 2064 2065 if oInstruction.sMnemonic not in [ 'not', ]: 2065 self.error('Uses IEM_MC_COMMIT_EFLAGS but has no flags in @opflmodify!', oGenerator);2066 self.error('Uses IEM_MC_COMMIT_EFLAGS[_OPT] but has no flags in @opflmodify!', oGenerator); 2066 2067 elif ( 'IEM_MC_CALL_CIMPL_0' in dEflStmts 2067 2068 or 'IEM_MC_CALL_CIMPL_1' in dEflStmts
Note:
See TracChangeset
for help on using the changeset viewer.