Gabe Black has uploaded this change for review. (
https://gem5-review.googlesource.com/c/public/gem5/+/56467 )
Change subject: arch,arch-x86: Remove underdeveloped and unused RomMacroop.
......................................................................
arch,arch-x86: Remove underdeveloped and unused RomMacroop.
This was originally intended to be for macroops that didn't want to do
anything locally and jump directly into the microcode ROM, but it was
never used and incompletely developed.
Lets just get rid of it and reintroduce it later if it becomes
necessary, rather than have a half implementation floating around.
Change-Id: I2c644080c08f87e53dcc5009d00850ab342a6ef5
---
M src/arch/micro_asm_test.py
M src/arch/ucasmlib/__init__.py
M src/arch/ucasmlib/assembler.py
M src/arch/x86/isa/macroop.isa
M src/arch/x86/isa/microasm.isa
5 files changed, 24 insertions(+), 34 deletions(-)
diff --git a/src/arch/micro_asm_test.py b/src/arch/micro_asm_test.py
index b893736..d34f988 100755
--- a/src/arch/micro_asm_test.py
+++ b/src/arch/micro_asm_test.py
@@ -24,7 +24,7 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-from ucasmlib import CombinationalMacroop, RomMacroop, Rom
+from ucasmlib import Macroop, Rom
from ucasmlib.assembler import MicroAssembler
class Bah(object):
@@ -51,7 +51,7 @@
"dah": Dah
}
-class TestMacroop(CombinationalMacroop):
+class TestMacroop(Macroop):
def tweak(self):
microops["bah"] = Bah_Tweaked
def untweak(self):
@@ -67,7 +67,7 @@
"print": self.print_debug
}
-assembler = MicroAssembler(TestMacroop, microops, Rom('main ROM'),
RomMacroop)
+assembler = MicroAssembler(TestMacroop, microops, Rom('main ROM'))
testAssembly = '''
# Single line comment
@@ -121,6 +121,5 @@
bah
};
-def macroop jumper (bar);
'''
assembler.assemble(testAssembly)
diff --git a/src/arch/ucasmlib/__init__.py b/src/arch/ucasmlib/__init__.py
index 983f813..f51455d 100644
--- a/src/arch/ucasmlib/__init__.py
+++ b/src/arch/ucasmlib/__init__.py
@@ -52,17 +52,9 @@
string += " %s\n" % microop
return string
-class CombinationalMacroop(MicroContainer):
+class Macroop(MicroContainer):
pass
-class RomMacroop:
- def __init__(self, name, target):
- self.name = name
- self.target = target
-
- def __str__(self):
- return "%s: %s\n" % (self.name, self.target)
-
class Rom(MicroContainer):
def __init__(self, name):
super().__init__(name)
diff --git a/src/arch/ucasmlib/assembler.py b/src/arch/ucasmlib/assembler.py
index e2010df..00dfa9a 100644
--- a/src/arch/ucasmlib/assembler.py
+++ b/src/arch/ucasmlib/assembler.py
@@ -67,7 +67,6 @@
'STRING',
- 'LPAREN', 'RPAREN',
'LBRACE', 'RBRACE',
'SEMI', 'NEWLINE',
)
@@ -227,8 +226,6 @@
return t if t and t.type != 'eof' else None
# Basic regular expressions to pick out simple tokens
- t_ANY_LPAREN = r'\('
- t_ANY_RPAREN = r'\)'
t_ANY_SEMI = r';'
t_ANY_ignore = ' \t\x0c'
@@ -308,18 +305,6 @@
statement.handle(self, self.rom)
t[0] = self.rom
- # Defines a macroop that jumps to an external label in the ROM.
- def p_macroop_jump(self, t):
- 'macroop_def : DEF MACROOP ID LPAREN ID RPAREN SEMI'
- if not self.rom_macroop_type:
- self.print_error("ROM based macroop found, but no ROM macroop "
- "class was specified.")
- raise TypeError("ROM based macroop found, but no ROM macroop "
- "class was specified.")
- macroop = self.rom_macroop_type(t[3], t[5])
- self.macroops[t[3]] = macroop
-
-
# Defines a macroop that is combinationally generated.
def p_macroop_def(self, t):
'macroop_def : DEF MACROOP ID block SEMI'
@@ -351,7 +336,7 @@
def input(self, *args, **kwargs):
return self.lexer.input(*args, **kwargs)
- def __init__(self, macro_type, microops, rom=None,
rom_macroop_type=None):
+ def __init__(self, macro_type, microops, rom=None):
# Set lexers to something so when lex.lex() scans for doc strings
the
# "lexer" property can return something.
self.lexers = [('dummy', None)]
@@ -362,7 +347,6 @@
self.macroops = {}
self.microops = microops
self.rom = rom
- self.rom_macroop_type = rom_macroop_type
self.symbols = {}
def assemble(self, asm):
diff --git a/src/arch/x86/isa/macroop.isa b/src/arch/x86/isa/macroop.isa
index 9b6d682..59d7958 100644
--- a/src/arch/x86/isa/macroop.isa
+++ b/src/arch/x86/isa/macroop.isa
@@ -92,8 +92,8 @@
}};
let {{
- from ucasmlib import CombinationalMacroop, RomMacroop
- class X86Macroop(CombinationalMacroop):
+ from ucasmlib import Macroop
+ class X86Macroop(Macroop):
def setAdjustEnv(self, val):
self.adjust_env = val
def adjustImm(self, val):
diff --git a/src/arch/x86/isa/microasm.isa b/src/arch/x86/isa/microasm.isa
index 88ecfbc..ec9ed5a 100644
--- a/src/arch/x86/isa/microasm.isa
+++ b/src/arch/x86/isa/microasm.isa
@@ -52,10 +52,9 @@
sys.path[0:0] = ["src/arch/x86/isa/"]
from insts import microcode
# print microcode
- from ucasmlib import RomMacroop
from ucasmlib.assembler import MicroAssembler
mainRom = X86MicrocodeRom('main ROM')
- assembler = MicroAssembler(X86Macroop, microopClasses, mainRom,
RomMacroop)
+ assembler = MicroAssembler(X86Macroop, microopClasses, mainRom)
def gpRegIdx(idx):
return "X86ISA::GpRegIndex(%s)" % idx
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/56467
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: I2c644080c08f87e53dcc5009d00850ab342a6ef5
Gerrit-Change-Number: 56467
Gerrit-PatchSet: 1
Gerrit-Owner: Gabe Black <gabe.bl...@gmail.com>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s