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
|
@ -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 {
|
format BasicOperate {
|
||||||
0x1e: hw_rei({{ xc->hwrei(); }}, IsSerializing);
|
0x1e: hw_rei({{ xc->hwrei(); }}, IsSerializing);
|
||||||
|
|
||||||
|
@ -2700,35 +2722,12 @@ decode OPCODE default Unknown::unknown() {
|
||||||
AlphaPseudo::readfile(xc->xcBase());
|
AlphaPseudo::readfile(xc->xcBase());
|
||||||
}}, IsNonSpeculative);
|
}}, IsNonSpeculative);
|
||||||
0x51: m5break({{
|
0x51: m5break({{
|
||||||
AlphaPseudo::debugbreak(xc->xcBase());
|
AlphaPseudo::debugbreak(xc->xcBase());
|
||||||
}}, IsNonSpeculative);
|
}}, IsNonSpeculative);
|
||||||
0x52: m5switchcpu({{
|
0x52: m5switchcpu({{
|
||||||
AlphaPseudo::switchcpu(xc->xcBase());
|
AlphaPseudo::switchcpu(xc->xcBase());
|
||||||
}}, IsNonSpeculative);
|
}}, 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
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
@ -320,12 +320,25 @@ for build_dir in build_dirs:
|
||||||
# Make a copy of the default environment to use for this config.
|
# Make a copy of the default environment to use for this config.
|
||||||
env = base_env.Copy()
|
env = base_env.Copy()
|
||||||
# Set env according to the build directory config.
|
# 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)
|
sticky_opts.Update(env)
|
||||||
nonsticky_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_libs)
|
||||||
env.ParseConfig(mysql_config_include)
|
env.ParseConfig(mysql_config_include)
|
||||||
|
|
||||||
# Save sticky option settings back to file
|
# Save sticky option settings back to current options file
|
||||||
sticky_opts.Save(options_file, env)
|
sticky_opts.Save(current_options_file, env)
|
||||||
|
|
||||||
# Do this after we save setting back, or else we'll tack on an
|
# Do this after we save setting back, or else we'll tack on an
|
||||||
# extra 'qdo' every time we run scons.
|
# extra 'qdo' every time we run scons.
|
||||||
|
|
Loading…
Reference in a new issue