Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/.automount/poolfs/z/home/stever/bk/m5 --HG-- extra : convert_revision : c777f18ba8462b7286ec8588b859de8f4091a772
This commit is contained in:
commit
a7807792be
5 changed files with 46 additions and 34 deletions
|
@ -2660,6 +2660,28 @@ decode OPCODE default Unknown::unknown() {
|
|||
}
|
||||
}
|
||||
|
||||
format HwMoveIPR {
|
||||
0x19: hw_mfpr({{
|
||||
// this instruction is only valid in PAL mode
|
||||
if (!xc->inPalMode()) {
|
||||
fault = Unimplemented_Opcode_Fault;
|
||||
}
|
||||
else {
|
||||
Ra = xc->readIpr(ipr_index, fault);
|
||||
}
|
||||
}});
|
||||
0x1d: hw_mtpr({{
|
||||
// this instruction is only valid in PAL mode
|
||||
if (!xc->inPalMode()) {
|
||||
fault = Unimplemented_Opcode_Fault;
|
||||
}
|
||||
else {
|
||||
xc->setIpr(ipr_index, Ra);
|
||||
if (traceData) { traceData->setData(Ra); }
|
||||
}
|
||||
}});
|
||||
}
|
||||
|
||||
format BasicOperate {
|
||||
0x1e: hw_rei({{ xc->hwrei(); }}, IsSerializing);
|
||||
|
||||
|
@ -2700,35 +2722,12 @@ decode OPCODE default Unknown::unknown() {
|
|||
AlphaPseudo::readfile(xc->xcBase());
|
||||
}}, IsNonSpeculative);
|
||||
0x51: m5break({{
|
||||
AlphaPseudo::debugbreak(xc->xcBase());
|
||||
}}, IsNonSpeculative);
|
||||
AlphaPseudo::debugbreak(xc->xcBase());
|
||||
}}, IsNonSpeculative);
|
||||
0x52: m5switchcpu({{
|
||||
AlphaPseudo::switchcpu(xc->xcBase());
|
||||
}}, IsNonSpeculative);
|
||||
|
||||
AlphaPseudo::switchcpu(xc->xcBase());
|
||||
}}, IsNonSpeculative);
|
||||
}
|
||||
}
|
||||
|
||||
format HwMoveIPR {
|
||||
0x19: hw_mfpr({{
|
||||
// this instruction is only valid in PAL mode
|
||||
if (!xc->inPalMode()) {
|
||||
fault = Unimplemented_Opcode_Fault;
|
||||
}
|
||||
else {
|
||||
Ra = xc->readIpr(ipr_index, fault);
|
||||
}
|
||||
}});
|
||||
0x1d: hw_mtpr({{
|
||||
// this instruction is only valid in PAL mode
|
||||
if (!xc->inPalMode()) {
|
||||
fault = Unimplemented_Opcode_Fault;
|
||||
}
|
||||
else {
|
||||
xc->setIpr(ipr_index, Ra);
|
||||
if (traceData) { traceData->setData(Ra); }
|
||||
}
|
||||
}});
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -320,12 +320,25 @@ for build_dir in build_dirs:
|
|||
# Make a copy of the default environment to use for this config.
|
||||
env = base_env.Copy()
|
||||
# Set env according to the build directory config.
|
||||
options_file = os.path.join('build_options', build_dir)
|
||||
if os.path.isfile(options_file):
|
||||
sticky_opts.files = [options_file]
|
||||
else:
|
||||
print "Options file %s not found, using defaults." % options_file
|
||||
|
||||
sticky_opts.files = []
|
||||
default_options_file = os.path.join('build_options', 'default', build_dir)
|
||||
if os.path.isfile(default_options_file):
|
||||
sticky_opts.files.append(default_options_file)
|
||||
current_options_file = os.path.join('build_options', 'current', build_dir)
|
||||
if os.path.isfile(current_options_file):
|
||||
sticky_opts.files.append(current_options_file)
|
||||
else:
|
||||
# if file doesn't exist, make sure at least the directory is there
|
||||
# so we can create it later
|
||||
opt_dir = os.path.dirname(current_options_file)
|
||||
if not os.path.isdir(opt_dir):
|
||||
os.mkdir(opt_dir)
|
||||
if not sticky_opts.files:
|
||||
print "%s: No options file found in build_options, using defaults." \
|
||||
% build_dir
|
||||
|
||||
# Apply current option settings to env
|
||||
sticky_opts.Update(env)
|
||||
nonsticky_opts.Update(env)
|
||||
|
||||
|
@ -353,8 +366,8 @@ for build_dir in build_dirs:
|
|||
env.ParseConfig(mysql_config_libs)
|
||||
env.ParseConfig(mysql_config_include)
|
||||
|
||||
# Save sticky option settings back to file
|
||||
sticky_opts.Save(options_file, env)
|
||||
# Save sticky option settings back to current options file
|
||||
sticky_opts.Save(current_options_file, env)
|
||||
|
||||
# Do this after we save setting back, or else we'll tack on an
|
||||
# extra 'qdo' every time we run scons.
|
||||
|
|
Loading…
Reference in a new issue