Merge with head.
--HG-- extra : convert_revision : 3c1ff2585c9b20649792344b4180f6d82cef9c1b
This commit is contained in:
commit
fe46e28b14
26
SConstruct
26
SConstruct
|
@ -585,22 +585,22 @@ def make_switching_dir(dirname, switch_headers, env):
|
||||||
# header to generate. 'source' is a dummy variable, since we get the
|
# header to generate. 'source' is a dummy variable, since we get the
|
||||||
# list of ISAs from env['ALL_ISA_LIST'].
|
# list of ISAs from env['ALL_ISA_LIST'].
|
||||||
def gen_switch_hdr(target, source, env):
|
def gen_switch_hdr(target, source, env):
|
||||||
fname = str(target[0])
|
fname = str(target[0])
|
||||||
basename = os.path.basename(fname)
|
basename = os.path.basename(fname)
|
||||||
f = open(fname, 'w')
|
f = open(fname, 'w')
|
||||||
f.write('#include "arch/isa_specific.hh"\n')
|
f.write('#include "arch/isa_specific.hh"\n')
|
||||||
cond = '#if'
|
cond = '#if'
|
||||||
for isa in all_isa_list:
|
for isa in all_isa_list:
|
||||||
f.write('%s THE_ISA == %s_ISA\n#include "%s/%s/%s"\n'
|
f.write('%s THE_ISA == %s_ISA\n#include "%s/%s/%s"\n'
|
||||||
% (cond, isa.upper(), dirname, isa, basename))
|
% (cond, isa.upper(), dirname, isa, basename))
|
||||||
cond = '#elif'
|
cond = '#elif'
|
||||||
f.write('#else\n#error "THE_ISA not set"\n#endif\n')
|
f.write('#else\n#error "THE_ISA not set"\n#endif\n')
|
||||||
f.close()
|
f.close()
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
# String to print when generating header
|
# String to print when generating header
|
||||||
def gen_switch_hdr_string(target, source, env):
|
def gen_switch_hdr_string(target, source, env):
|
||||||
return "Generating switch header " + str(target[0])
|
return "Generating switch header " + str(target[0])
|
||||||
|
|
||||||
# Build SCons Action object. 'varlist' specifies env vars that this
|
# Build SCons Action object. 'varlist' specifies env vars that this
|
||||||
# action depends on; when env['ALL_ISA_LIST'] changes these actions
|
# action depends on; when env['ALL_ISA_LIST'] changes these actions
|
||||||
|
|
|
@ -43,23 +43,23 @@ Import('*')
|
||||||
|
|
||||||
# List of headers to generate
|
# List of headers to generate
|
||||||
isa_switch_hdrs = Split('''
|
isa_switch_hdrs = Split('''
|
||||||
arguments.hh
|
arguments.hh
|
||||||
faults.hh
|
faults.hh
|
||||||
interrupts.hh
|
interrupts.hh
|
||||||
isa_traits.hh
|
isa_traits.hh
|
||||||
kernel_stats.hh
|
kernel_stats.hh
|
||||||
locked_mem.hh
|
locked_mem.hh
|
||||||
mmaped_ipr.hh
|
mmaped_ipr.hh
|
||||||
process.hh
|
process.hh
|
||||||
predecoder.hh
|
predecoder.hh
|
||||||
regfile.hh
|
regfile.hh
|
||||||
remote_gdb.hh
|
remote_gdb.hh
|
||||||
stacktrace.hh
|
stacktrace.hh
|
||||||
syscallreturn.hh
|
syscallreturn.hh
|
||||||
tlb.hh
|
tlb.hh
|
||||||
types.hh
|
types.hh
|
||||||
utility.hh
|
utility.hh
|
||||||
vtophys.hh
|
vtophys.hh
|
||||||
''')
|
''')
|
||||||
|
|
||||||
# Set up this directory to support switching headers
|
# Set up this directory to support switching headers
|
||||||
|
|
|
@ -202,7 +202,7 @@ if env['FULL_SYSTEM']:
|
||||||
'tsunami-simple-timing',
|
'tsunami-simple-timing',
|
||||||
'tsunami-simple-atomic-dual',
|
'tsunami-simple-atomic-dual',
|
||||||
'tsunami-simple-timing-dual',
|
'tsunami-simple-timing-dual',
|
||||||
'twosys-tsunami-simple-atomic']
|
'twosys-tsunami-simple-atomic']
|
||||||
if env['TARGET_ISA'] == 'sparc':
|
if env['TARGET_ISA'] == 'sparc':
|
||||||
configs += ['t1000-simple-atomic',
|
configs += ['t1000-simple-atomic',
|
||||||
't1000-simple-timing']
|
't1000-simple-timing']
|
||||||
|
|
|
@ -51,14 +51,28 @@ lang_types = { 'c' : "C",
|
||||||
's' : "asm",
|
's' : "asm",
|
||||||
'S' : "asm",
|
'S' : "asm",
|
||||||
'isa' : "isa" }
|
'isa' : "isa" }
|
||||||
whitespace_types = ('C', 'C++', 'swig', 'python', 'asm', 'isa')
|
|
||||||
format_types = ( 'C', 'C++' )
|
|
||||||
|
|
||||||
def file_type(filename):
|
def file_type(filename):
|
||||||
extension = filename.split('.')
|
extension = filename.split('.')
|
||||||
extension = len(extension) > 1 and extension[-1]
|
extension = len(extension) > 1 and extension[-1]
|
||||||
return lang_types.get(extension, None)
|
return lang_types.get(extension, None)
|
||||||
|
|
||||||
|
whitespace_types = ('C', 'C++', 'swig', 'python', 'asm', 'isa')
|
||||||
|
def whitespace_file(filename):
|
||||||
|
if file_type(filename) in whitespace_types:
|
||||||
|
return True
|
||||||
|
|
||||||
|
if filename.startswith("SCons"):
|
||||||
|
return True
|
||||||
|
|
||||||
|
return False
|
||||||
|
|
||||||
|
format_types = ( 'C', 'C++' )
|
||||||
|
def format_file(filename):
|
||||||
|
if file_type(filename) in format_types:
|
||||||
|
return True
|
||||||
|
|
||||||
|
return False
|
||||||
|
|
||||||
def checkwhite_line(line):
|
def checkwhite_line(line):
|
||||||
match = lead.search(line)
|
match = lead.search(line)
|
||||||
if match and match.group(1).find('\t') != -1:
|
if match and match.group(1).find('\t') != -1:
|
||||||
|
@ -71,7 +85,7 @@ def checkwhite_line(line):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def checkwhite(filename):
|
def checkwhite(filename):
|
||||||
if file_type(filename) not in whitespace_types:
|
if not whitespace_file(filename):
|
||||||
return
|
return
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
@ -101,7 +115,7 @@ def fixwhite_line(line, tabsize):
|
||||||
return line.rstrip() + '\n'
|
return line.rstrip() + '\n'
|
||||||
|
|
||||||
def fixwhite(filename, tabsize, fixonly=None):
|
def fixwhite(filename, tabsize, fixonly=None):
|
||||||
if file_type(filename) not in whitespace_types:
|
if not whitespace_file(filename):
|
||||||
return
|
return
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
@ -159,7 +173,7 @@ class ValidationStats(object):
|
||||||
self.trailwhite or self.badcontrol or self.cret
|
self.trailwhite or self.badcontrol or self.cret
|
||||||
|
|
||||||
def validate(filename, stats, verbose, exit_code):
|
def validate(filename, stats, verbose, exit_code):
|
||||||
if file_type(filename) not in format_types:
|
if not format_file(filename):
|
||||||
return
|
return
|
||||||
|
|
||||||
def msg(lineno, line, message):
|
def msg(lineno, line, message):
|
||||||
|
@ -376,9 +390,10 @@ if __name__ == '__main__':
|
||||||
fixwhite(filename, tabsize)
|
fixwhite(filename, tabsize)
|
||||||
elif command == 'chkwhite':
|
elif command == 'chkwhite':
|
||||||
for filename in args:
|
for filename in args:
|
||||||
line = checkwhite(filename)
|
for line,num in checkwhite(filename):
|
||||||
if line:
|
print 'invalid whitespace: %s:%d' % (filename, num)
|
||||||
print 'invalid whitespace at %s:%d' % (filename, line)
|
if verbose:
|
||||||
|
print '>>%s<<' % line[:-1]
|
||||||
elif command == 'chkformat':
|
elif command == 'chkformat':
|
||||||
stats = ValidationStats()
|
stats = ValidationStats()
|
||||||
for filename in files:
|
for filename in files:
|
||||||
|
|
Loading…
Reference in a new issue