From efc41fe82d6e1acb82aadd1063efd5e223f876f7 Mon Sep 17 00:00:00 2001 From: Steve Reinhardt Date: Tue, 28 Mar 2006 22:29:42 -0500 Subject: Make .isa-file ##include file paths relative to including file. Makes .isa files cleaner and simplifies scanner too. Simplified scanner to work under both old and new versions of scons. arch/SConscript: Simplify .isa scanner... seems to work with both scons 0.96.1 and 0.96.91 now. Assumes .isa ##include paths are relative to including file. arch/alpha/isa/main.isa: arch/mips/isa/formats/formats.isa: arch/mips/isa/main.isa: arch/sparc/isa/formats.isa: arch/sparc/isa/main.isa: Make ##include paths relative to including file. arch/isa_parser.py: Make ##include file paths relative to including file. Makes .isa files cleaner and simplifies scanner too. Partial rewrite of include-handling code to use cool re.sub() feature where you can specify a function to provide the replacement string. Minor cleanup of error-handling code. Also got rid of '#!' at top to make caller choose which python interpreter is used (since SPARC now requires 2.4 to build, we may need to do that via scons in the future). --HG-- rename : arch/mips/isa/formats.isa => arch/mips/isa/formats/formats.isa extra : convert_revision : 15a3920fa3aaf80cd94083eda853aa4e49425045 --- arch/SConscript | 19 +++---- arch/alpha/isa/main.isa | 20 +++---- arch/isa_parser.py | 110 +++++++++++++++++++------------------- arch/mips/isa/formats.isa | 35 ------------ arch/mips/isa/formats/formats.isa | 35 ++++++++++++ arch/mips/isa/main.isa | 12 ++--- arch/sparc/isa/formats.isa | 18 +++---- arch/sparc/isa/main.isa | 12 ++--- 8 files changed, 127 insertions(+), 134 deletions(-) delete mode 100644 arch/mips/isa/formats.isa create mode 100644 arch/mips/isa/formats/formats.isa diff --git a/arch/SConscript b/arch/SConscript index d88d10368..99c861568 100644 --- a/arch/SConscript +++ b/arch/SConscript @@ -100,18 +100,12 @@ for hdr in isa_switch_hdrs: # import SCons.Scanner -def ISAScan(): - return SCons.Scanner.Classic("ISAScan", - "$ISASUFFIXES", - "SRCDIR", - '^[ \t]*##[ \t]*include[ \t]*"([^>"]+)"') +isa_scanner = SCons.Scanner.Classic("ISAScan", + [".isa", ".ISA"], + "SRCDIR", + r'^\s*##include\s+"([\w/.-]*)"') -def ISAPath(env, dir, target=None, source=None, a=None): - return (Dir(env['SRCDIR']), Dir('.')) - -iscan = Scanner(function = ISAScan().scan, skeys = [".isa", ".ISA"], - path_function = ISAPath) -env.Append(SCANNERS = iscan) +env.Append(SCANNERS = isa_scanner) # # Now create a Builder object that uses isa_parser.py to generate C++ @@ -138,8 +132,7 @@ def isa_desc_emitter(target, source, env): return (isa_desc_gen_files, [isa_parser, cpu_models_file] + source) # Pieces are in place, so create the builder. -isa_desc_builder = Builder(action='$SOURCES $TARGET.dir $CPU_MODELS', - source_scanner = iscan, +isa_desc_builder = Builder(action='python $SOURCES $TARGET.dir $CPU_MODELS', emitter = isa_desc_emitter) env.Append(BUILDERS = { 'ISADesc' : isa_desc_builder }) diff --git a/arch/alpha/isa/main.isa b/arch/alpha/isa/main.isa index d4c744fbc..746fe776d 100644 --- a/arch/alpha/isa/main.isa +++ b/arch/alpha/isa/main.isa @@ -418,31 +418,31 @@ def format BasicOperateWithNopCheck(code, *opt_args) {{ }}; // Integer instruction templates, formats, etc. -##include "m5/arch/alpha/isa/int.isa" +##include "int.isa" // Floating-point instruction templates, formats, etc. -##include "m5/arch/alpha/isa/fp.isa" +##include "fp.isa" // Memory instruction templates, formats, etc. -##include "m5/arch/alpha/isa/mem.isa" +##include "mem.isa" // Branch/jump instruction templates, formats, etc. -##include "m5/arch/alpha/isa/branch.isa" +##include "branch.isa" // PAL instruction templates, formats, etc. -##include "m5/arch/alpha/isa/pal.isa" +##include "pal.isa" // Opcdec fault instruction templates, formats, etc. -##include "m5/arch/alpha/isa/opcdec.isa" +##include "opcdec.isa" // Unimplemented instruction templates, formats, etc. -##include "m5/arch/alpha/isa/unimp.isa" +##include "unimp.isa" // Unknown instruction templates, formats, etc. -##include "m5/arch/alpha/isa/unknown.isa" +##include "unknown.isa" // Execution utility functions -##include "m5/arch/alpha/isa/util.isa" +##include "util.isa" // The actual decoder -##include "m5/arch/alpha/isa/decoder.isa" +##include "decoder.isa" diff --git a/arch/isa_parser.py b/arch/isa_parser.py index 3f836ed7e..6fce783b1 100755 --- a/arch/isa_parser.py +++ b/arch/isa_parser.py @@ -1,5 +1,3 @@ -#! /usr/bin/env python - # Copyright (c) 2003-2005 The Regents of The University of Michigan # All rights reserved. # @@ -162,13 +160,12 @@ def t_CPPDIRECTIVE(t): def t_NEWFILE(t): r'^\#\#newfile\s+"[\w/.-]*"' - global fileNameStack - fileNameStack.append((t.value[11:-1], t.lineno)) + fileNameStack.push((t.value[11:-1], t.lineno)) t.lineno = 0 def t_ENDFILE(t): r'^\#\#endfile' - (filename, t.lineno) = fileNameStack.pop() + (old_filename, t.lineno) = fileNameStack.pop() # # The functions t_NEWLINE, t_ignore, and t_error are @@ -698,7 +695,7 @@ def p_error(t): if t: error(t.lineno, "syntax error at '%s'" % t.value) else: - error_bt(0, "unknown syntax error") + error(0, "unknown syntax error", True) # END OF GRAMMAR RULES # @@ -896,6 +893,12 @@ formatStack = Stack(NoFormat()) # The global default case stack. defaultStack = Stack( None ) +# Global stack that tracks current file and line number. +# Each element is a tuple (filename, lineno) that records the +# *current* filename and the line number in the *previous* file where +# it was included. +fileNameStack = Stack() + ################### # Utility functions @@ -932,25 +935,22 @@ def fixPythonIndentation(s): return s # Error handler. Just call exit. Output formatted to work under -# Emacs compile-mode. This function should be called when errors due -# to user input are detected (as opposed to parser bugs). -def error(lineno, string): +# Emacs compile-mode. Optional 'print_traceback' arg, if set to True, +# prints a Python stack backtrace too (can be handy when trying to +# debug the parser itself). +def error(lineno, string, print_traceback = False): spaces = "" for (filename, line) in fileNameStack[0:-1]: - print spaces + "In file included from " + filename + print spaces + "In file included from " + filename + ":" spaces += " " - # Uncomment the following line to get a Python stack backtrace for - # these errors too. Can be handy when trying to debug the parser. - # traceback.print_exc() - sys.exit(spaces + "%s:%d: %s" % (fileNameStack[-1][0], lineno, string)) - -# Like error(), but include a Python stack backtrace (for processing -# Python exceptions). This function should be called for errors that -# appear to be bugs in the parser itself. -def error_bt(lineno, string): - traceback.print_exc() - print >> sys.stderr, "%s:%d: %s" % (input_filename, lineno, string) - sys.exit(1) + # Print a Python stack backtrace if requested. + if (print_traceback): + traceback.print_exc() + if lineno != 0: + line_str = "%d:" % lineno + else: + line_str = "" + sys.exit(spaces + "%s:%s %s" % (fileNameStack[-1][0], line_str, string)) ##################################################################### @@ -1070,7 +1070,7 @@ def buildOperandTypeMap(userDict, lineno): elif size == 64: ctype = 'double' if ctype == '': - error(0, 'Unrecognized type description "%s" in userDict') + error(lineno, 'Unrecognized type description "%s" in userDict') operandTypeMap[ext] = (size, ctype, is_signed) # @@ -1701,47 +1701,47 @@ def update_if_needed(file, contents): f.write(contents) f.close() -# This regular expression matches include directives +# This regular expression matches '##include' directives includeRE = re.compile(r'^\s*##include\s+"(?P[\w/.-]*)".*$', re.MULTILINE) -def preprocess_isa_desc(isa_desc): +# Function to replace a matched '##include' directive with the +# contents of the specified file (with nested ##includes replaced +# recursively). 'matchobj' is an re match object (from a match of +# includeRE) and 'dirname' is the directory relative to which the file +# path should be resolved. +def replace_include(matchobj, dirname): + fname = matchobj.group('filename') + full_fname = os.path.normpath(os.path.join(dirname, fname)) + contents = '##newfile "%s"\n%s\n##endfile\n' % \ + (full_fname, read_and_flatten(full_fname)) + return contents + +# Read a file and recursively flatten nested '##include' files. +def read_and_flatten(filename): + current_dir = os.path.dirname(filename) + try: + contents = open(filename).read() + except IOError: + error(0, 'Error including file "%s"' % filename) + fileNameStack.push((filename, 0)) # Find any includes and include them - pos = 0 - while 1: - m = includeRE.search(isa_desc, pos) - if not m: - break - filename = m.group('filename') - print 'Including file "%s"' % filename - try: - isa_desc = isa_desc[:m.start()] + \ - '##newfile "' + filename + '"\n' + \ - open(filename).read() + \ - '##endfile\n' + \ - isa_desc[m.end():] - except IOError: - error(0, 'Error including file "%s"' % (filename)) - pos = m.start() - return isa_desc + contents = includeRE.sub(lambda m: replace_include(m, current_dir), + contents) + fileNameStack.pop() + return contents # # Read in and parse the ISA description. # def parse_isa_desc(isa_desc_file, output_dir): - # set a global var for the input filename... used in error messages - global input_filename - input_filename = isa_desc_file - global fileNameStack - fileNameStack = [(input_filename, 1)] - - # Suck the ISA description file in. - input = open(isa_desc_file) - isa_desc = input.read() - input.close() - - # Perform Preprocessing - isa_desc = preprocess_isa_desc(isa_desc) + # Read file and (recursively) all included files into a string. + # PLY requires that the input be in a single string so we have to + # do this up front. + isa_desc = read_and_flatten(isa_desc_file) + + # Initialize filename stack with outer file. + fileNameStack.push((isa_desc_file, 0)) # Parse it. (isa_name, namespace, global_code, namespace_code) = yacc.parse(isa_desc) diff --git a/arch/mips/isa/formats.isa b/arch/mips/isa/formats.isa deleted file mode 100644 index f7a9e4ce2..000000000 --- a/arch/mips/isa/formats.isa +++ /dev/null @@ -1,35 +0,0 @@ -// -*- mode:c++ -*- - -//Templates from this format are used later -//Include the basic format -##include "m5/arch/mips/isa/formats/basic.isa" - -//Include the basic format -##include "m5/arch/mips/isa/formats/noop.isa" - -//Include utility formats/functions -##include "m5/arch/mips/isa/formats/util.isa" - -//Include the cop0 formats -##include "m5/arch/mips/isa/formats/cop0.isa" - -//Include the integer formats -##include "m5/arch/mips/isa/formats/int.isa" - -//Include the floatOp format -##include "m5/arch/mips/isa/formats/fp.isa" - -//Include the mem format -##include "m5/arch/mips/isa/formats/mem.isa" - -//Include the trap format -##include "m5/arch/mips/isa/formats/trap.isa" - -//Include the branch format -##include "m5/arch/mips/isa/formats/branch.isa" - -//Include the noop format -##include "m5/arch/mips/isa/formats/unimp.isa" - -//Include the noop format -##include "m5/arch/mips/isa/formats/unknown.isa" diff --git a/arch/mips/isa/formats/formats.isa b/arch/mips/isa/formats/formats.isa new file mode 100644 index 000000000..7d493ffae --- /dev/null +++ b/arch/mips/isa/formats/formats.isa @@ -0,0 +1,35 @@ +// -*- mode:c++ -*- + +//Templates from this format are used later +//Include the basic format +##include "basic.isa" + +//Include the basic format +##include "noop.isa" + +//Include utility functions +##include "util.isa" + +//Include the cop0 formats +##include "cop0.isa" + +//Include the integer formats +##include "int.isa" + +//Include the floatOp format +##include "fp.isa" + +//Include the mem format +##include "mem.isa" + +//Include the trap format +##include "trap.isa" + +//Include the branch format +##include "branch.isa" + +//Include the noop format +##include "unimp.isa" + +//Include the noop format +##include "unknown.isa" diff --git a/arch/mips/isa/main.isa b/arch/mips/isa/main.isa index 411e398b4..01d81323e 100644 --- a/arch/mips/isa/main.isa +++ b/arch/mips/isa/main.isa @@ -26,7 +26,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. -##include "m5/arch/mips/isa/includes.isa" +##include "includes.isa" //////////////////////////////////////////////////////////////////// // @@ -37,16 +37,16 @@ namespace MipsISA; //Include the bitfield definitions -##include "m5/arch/mips/isa/bitfields.isa" +##include "bitfields.isa" //Include the operand_types and operand definitions -##include "m5/arch/mips/isa/operands.isa" +##include "operands.isa" //Include the base class for mips instructions, and some support code -##include "m5/arch/mips/isa/base.isa" +##include "base.isa" //Include the definitions for the instruction formats -##include "m5/arch/mips/isa/formats.isa" +##include "formats/formats.isa" //Include the decoder definition -##include "m5/arch/mips/isa/decoder.isa" +##include "decoder.isa" diff --git a/arch/sparc/isa/formats.isa b/arch/sparc/isa/formats.isa index 9310ba3d3..8683f5e01 100644 --- a/arch/sparc/isa/formats.isa +++ b/arch/sparc/isa/formats.isa @@ -1,28 +1,28 @@ //Include the basic format //Templates from this format are used later -##include "m5/arch/sparc/isa/formats/basic.isa" +##include "formats/basic.isa" //Include the integerOp and integerOpCc format -##include "m5/arch/sparc/isa/formats/integerop.isa" +##include "formats/integerop.isa" //Include the memory format -##include "m5/arch/sparc/isa/formats/mem.isa" +##include "formats/mem.isa" //Include the compare and swap format -##include "m5/arch/sparc/isa/formats/cas.isa" +##include "formats/cas.isa" //Include the trap format -##include "m5/arch/sparc/isa/formats/trap.isa" +##include "formats/trap.isa" //Include the "unknown" format -##include "m5/arch/sparc/isa/formats/unknown.isa" +##include "formats/unknown.isa" //Include the priveleged mode format -##include "m5/arch/sparc/isa/formats/priv.isa" +##include "formats/priv.isa" //Include the branch format -##include "m5/arch/sparc/isa/formats/branch.isa" +##include "formats/branch.isa" //Include the noop format -##include "m5/arch/sparc/isa/formats/noop.isa" +##include "formats/noop.isa" diff --git a/arch/sparc/isa/main.isa b/arch/sparc/isa/main.isa index ab0290d58..35167d6b7 100644 --- a/arch/sparc/isa/main.isa +++ b/arch/sparc/isa/main.isa @@ -26,7 +26,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. -##include "m5/arch/sparc/isa/includes.isa" +##include "includes.isa" //////////////////////////////////////////////////////////////////// // @@ -37,16 +37,16 @@ namespace SparcISA; //Include the bitfield definitions -##include "m5/arch/sparc/isa/bitfields.isa" +##include "bitfields.isa" //Include the operand_types and operand definitions -##include "m5/arch/sparc/isa/operands.isa" +##include "operands.isa" //Include the base class for sparc instructions, and some support code -##include "m5/arch/sparc/isa/base.isa" +##include "base.isa" //Include the definitions for the instruction formats -##include "m5/arch/sparc/isa/formats.isa" +##include "formats.isa" //Include the decoder definition -##include "m5/arch/sparc/isa/decoder.isa" +##include "decoder.isa" -- cgit v1.2.3 From 59b3987cc409c42fab9debe6fc4cad2656b92c18 Mon Sep 17 00:00:00 2001 From: Steve Reinhardt Date: Tue, 28 Mar 2006 22:30:43 -0500 Subject: Make Alpha ItbFault methods abstract instead of calling panic() (which wasn't working since panic() isn't declared yet here). arch/alpha/faults.hh: Make ItbFault methods abstract instead of calling panic() (which wasn't working since panic() isn't declared yet here). --HG-- extra : convert_revision : b15242baa370777f265a3f6b7d5f5c05702b016f --- arch/alpha/faults.hh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/alpha/faults.hh b/arch/alpha/faults.hh index fa826fe78..e8ccc6b79 100644 --- a/arch/alpha/faults.hh +++ b/arch/alpha/faults.hh @@ -244,9 +244,9 @@ class ItbFault : public AlphaFault ItbFault(Addr _pc) : pc(_pc) { } - FaultName name() { panic("Dtb Fault is a base class"); } - FaultVect vect() { panic("Dtb Fault is a base class"); } - FaultStat & countStat() { panic("Dtb Fault is a base class"); } + FaultName name() = 0; + FaultVect vect() = 0; + FaultStat & countStat() = 0; #if FULL_SYSTEM void invoke(ExecContext * xc); #endif -- cgit v1.2.3 From 5f307ebe3540e487a68247904c4d41cea2490397 Mon Sep 17 00:00:00 2001 From: Steve Reinhardt Date: Tue, 28 Mar 2006 22:32:08 -0500 Subject: Use op_decl instead of op_src_decl + op_dest_decl in .isa templates. The latter causes multiple variable definitions if the same operand is used as both a src and a dest. arch/alpha/isa/mem.isa: arch/mips/isa/formats/mem.isa: Use op_decl instead of op_src_decl + op_dest_decl. The latter causes multiple variable definitions if the same operand is used as both a src and a dest. --HG-- extra : convert_revision : c14d91b293d3afef45c8728d3d8784f372c0b7f4 --- arch/alpha/isa/mem.isa | 6 ++---- arch/mips/isa/formats/mem.isa | 6 ++---- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/arch/alpha/isa/mem.isa b/arch/alpha/isa/mem.isa index 3c8b4f755..8742d308f 100644 --- a/arch/alpha/isa/mem.isa +++ b/arch/alpha/isa/mem.isa @@ -311,8 +311,7 @@ def template LoadCompleteAcc {{ Fault fault = NoFault; %(fp_enable_check)s; - %(op_src_decl)s; - %(op_dest_decl)s; + %(op_decl)s; memcpy(&Mem, data, sizeof(Mem)); @@ -410,8 +409,7 @@ def template StoreInitiateAcc {{ uint64_t write_result = 0; %(fp_enable_check)s; - %(op_src_decl)s; - %(op_dest_decl)s; + %(op_decl)s; %(op_rd)s; %(ea_code)s; diff --git a/arch/mips/isa/formats/mem.isa b/arch/mips/isa/formats/mem.isa index 8a07e63d4..404aa1ee1 100644 --- a/arch/mips/isa/formats/mem.isa +++ b/arch/mips/isa/formats/mem.isa @@ -276,8 +276,7 @@ def template LoadCompleteAcc {{ Fault fault = NoFault; %(fp_enable_check)s; - %(op_src_decl)s; - %(op_dest_decl)s; + %(op_decl)s; memcpy(&Mem, data, sizeof(Mem)); @@ -375,8 +374,7 @@ def template StoreInitiateAcc {{ uint64_t write_result = 0; %(fp_enable_check)s; - %(op_src_decl)s; - %(op_dest_decl)s; + %(op_decl)s; %(op_rd)s; %(ea_code)s; -- cgit v1.2.3 From ce7f076a835052eeee4db56c40814d6c3aee4bfd Mon Sep 17 00:00:00 2001 From: Steve Reinhardt Date: Tue, 28 Mar 2006 22:44:24 -0500 Subject: Only compile in Tru64 objects if we're doing Alpha. --HG-- extra : convert_revision : 15bcdb3a6552ad8ee070677c9464ae1302768068 --- SConscript | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/SConscript b/SConscript index d891f0d6d..008c794e3 100644 --- a/SConscript +++ b/SConscript @@ -219,13 +219,17 @@ full_system_sources = Split(''' kern/linux/events.cc kern/linux/linux_syscalls.cc kern/linux/printk.cc + + mem/functional/memory_control.cc + sim/pseudo_inst.cc + ''') + +if env['TARGET_ISA'] == 'alpha': + full_system_sources += Split(''' kern/tru64/dump_mbuf.cc kern/tru64/printf.cc kern/tru64/tru64_events.cc kern/tru64/tru64_syscalls.cc - - mem/functional/memory_control.cc - sim/pseudo_inst.cc ''') # turbolaser encumbered sources @@ -251,11 +255,15 @@ turbolaser_sources = Split(''' # Syscall emulation (non-full-system) sources syscall_emulation_sources = Split(''' kern/linux/linux.cc - kern/tru64/tru64.cc sim/process.cc sim/syscall_emul.cc ''') +if env['TARGET_ISA'] == 'alpha': + syscall_emulation_sources += Split(''' + kern/tru64/tru64.cc + ''') + alpha_eio_sources = Split(''' encumbered/eio/exolex.cc encumbered/eio/libexo.cc -- cgit v1.2.3 From c5c76cea9871796820f1597f286dcfc21c85a180 Mon Sep 17 00:00:00 2001 From: Steve Reinhardt Date: Tue, 28 Mar 2006 22:55:08 -0500 Subject: Make CPU_MODELS a sticky build option. This causes a crash if you're using scons 0.96.1 *and* you specify more than one CPU model. Since the .isa scanner now works with 0.96.91 then upgrading should not be an issue. For now we're only using one CPU model (SimpleCPU) so there isn't even a pressing need to upgrade yet. build/SConstruct: Make CPU_MODELS a sticky option. This causes a crash if you're using scons 0.96.1 *and* you specify more than one CPU model. Since the .isa scanner now works with 0.96.91 then upgrading should not be an issue. For now we're only using one CPU model (SimpleCPU) so there isn't even a pressing need to upgrade yet. --HG-- extra : convert_revision : d8319c4cd5c937c2c033270cef850d19b805d256 --- build/SConstruct | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/build/SConstruct b/build/SConstruct index 306d3a9dc..e1854b1d3 100644 --- a/build/SConstruct +++ b/build/SConstruct @@ -231,6 +231,11 @@ sticky_opts = Options(args=ARGUMENTS) sticky_opts.AddOptions( EnumOption('TARGET_ISA', 'Target ISA', 'alpha', env['ALL_ISA_LIST']), BoolOption('FULL_SYSTEM', 'Full-system support', False), + # There's a bug in scons 0.96.1 that causes ListOptions with list + # values (more than one value) not to be able to be restored from + # a saved option file. If this causes trouble then upgrade to + # scons 0.96.90 or later. + ListOption('CPU_MODELS', 'CPU models', 'all', env['ALL_CPU_LIST']), BoolOption('ALPHA_TLASER', 'Model Alpha TurboLaser platform (vs. Tsunami)', False), BoolOption('NO_FAST_ALLOC', 'Disable fast object allocator', False), @@ -254,12 +259,6 @@ sticky_opts.AddOptions( # Non-sticky options only apply to the current build. nonsticky_opts = Options(args=ARGUMENTS) nonsticky_opts.AddOptions( - # This really should be a sticky option, but there's a bug in - # scons 0.96.1 that causes ListOptions not to be able to be - # restored from a saved option file. It looks like this is fixed - # in 0.96.9, but there's a different bug in that version that means we - # can't just upgrade. - ListOption('CPU_MODELS', 'CPU models', 'all', env['ALL_CPU_LIST']), BoolOption('update_ref', 'Update test reference outputs', False) ) -- cgit v1.2.3 From d46d3d6811822d218c137cd6d991e6b4981811d6 Mon Sep 17 00:00:00 2001 From: Kevin Lim Date: Wed, 29 Mar 2006 16:05:26 -0500 Subject: Remove "using namespace std" from global declarations. --HG-- extra : convert_revision : c580bc6bd308fd502fb5a14ea84b5214e1d2718e --- arch/alpha/linux/system.hh | 1 - base/timebuf.hh | 4 +--- kern/tru64/tru64.hh | 13 +++++++++++-- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/arch/alpha/linux/system.hh b/arch/alpha/linux/system.hh index 035e2a427..0c1fb037e 100644 --- a/arch/alpha/linux/system.hh +++ b/arch/alpha/linux/system.hh @@ -39,7 +39,6 @@ class IdleStartEvent; using namespace AlphaISA; using namespace Linux; -using namespace std; /** * This class contains linux specific system code (Loading, Events, Binning). diff --git a/base/timebuf.hh b/base/timebuf.hh index 435803fae..f6b5b2781 100644 --- a/base/timebuf.hh +++ b/base/timebuf.hh @@ -31,8 +31,6 @@ #include -using namespace std; - template class TimeBuffer { @@ -42,7 +40,7 @@ class TimeBuffer int size; char *data; - vector index; + std::vector index; int base; void valid(int idx) diff --git a/kern/tru64/tru64.hh b/kern/tru64/tru64.hh index 3f5ef3dea..b4f45e650 100644 --- a/kern/tru64/tru64.hh +++ b/kern/tru64/tru64.hh @@ -55,8 +55,6 @@ class Tru64 {}; #include "sim/root.hh" #include "sim/syscall_emul.hh" -using namespace std; - typedef struct stat global_stat; typedef struct statfs global_statfs; typedef struct dirent global_dirent; @@ -751,6 +749,7 @@ class Tru64 { tableFunc(SyscallDesc *desc, int callnum, Process *process, ExecContext *xc) { + using namespace std; using namespace TheISA; int id = xc->getSyscallArg(0); // table ID @@ -824,6 +823,7 @@ class Tru64 { nxm_task_initFunc(SyscallDesc *desc, int callnum, Process *process, ExecContext *xc) { + using namespace std; using namespace TheISA; TypedBufferArg attrp(xc->getSyscallArg(0)); @@ -957,6 +957,7 @@ class Tru64 { nxm_thread_createFunc(SyscallDesc *desc, int callnum, Process *process, ExecContext *xc) { + using namespace std; using namespace TheISA; TypedBufferArg attrp(xc->getSyscallArg(0)); @@ -1081,6 +1082,8 @@ class Tru64 { nxm_thread_blockFunc(SyscallDesc *desc, int callnum, Process *process, ExecContext *xc) { + using namespace std; + uint64_t tid = xc->getSyscallArg(0); uint64_t secs = xc->getSyscallArg(1); uint64_t flags = xc->getSyscallArg(2); @@ -1098,6 +1101,8 @@ class Tru64 { nxm_blockFunc(SyscallDesc *desc, int callnum, Process *process, ExecContext *xc) { + using namespace std; + Addr uaddr = xc->getSyscallArg(0); uint64_t val = xc->getSyscallArg(1); uint64_t secs = xc->getSyscallArg(2); @@ -1119,6 +1124,8 @@ class Tru64 { nxm_unblockFunc(SyscallDesc *desc, int callnum, Process *process, ExecContext *xc) { + using namespace std; + Addr uaddr = xc->getSyscallArg(0); cout << xc->getCpuPtr()->name() << ": nxm_unblock " @@ -1149,6 +1156,8 @@ class Tru64 { activate_waiting_context(Addr uaddr, Process *process, bool activate_all = false) { + using namespace std; + int num_activated = 0; list::iterator i = process->waitList.begin(); -- cgit v1.2.3