build/SConstruct:
Need to create build_options/current the first time through.
--HG--
extra : convert_revision : 13bf8c69a4a30671283a8b789ed21875b2301f24
for committing to bk and a dynamically updated set which
are not under revision control.
build/SConstruct:
Split build options into static defaults and dynamic "current" settings.
--HG--
rename : build/build_options/ALPHA_FS => build/build_options/default/ALPHA_FS
rename : build/build_options/ALPHA_FS_TL => build/build_options/default/ALPHA_FS_TL
rename : build/build_options/ALPHA_SE => build/build_options/default/ALPHA_SE
extra : convert_revision : 8219211a3f2ce955fd6e2c34c169cac3fc704854
modes 4 *and below*, not just mode 4.
dev/ide_disk.cc:
Fix UDMA mode support mask to actually reflect support for
modes 4 *and below*, not just mode 4.
--HG--
extra : convert_revision : 3506d503a5e8ce8a8686fb3a552383d365be0d41
including automatically fixing up addresses to deal with
optionally executed Alpha gp update prolog.
SConscript:
Remove freebsd_events.cc and linux_events.cc.
base/remote_gdb.cc:
cpu/pc_event.cc:
kern/system_events.cc:
kern/system_events.hh:
PCEvents now schedule themselves in constructor.
cpu/pc_event.hh:
PCEvents now schedule themselves in the constructor.
Get rid of constructor versions that don't take an address and
all the schedule() methods that are now unnecessary.
kern/freebsd/freebsd_system.cc:
kern/freebsd/freebsd_system.hh:
Use new System methods to schedule function-based events.
Move FreeBSD-specific function event classes into FreebsdSystem.
kern/linux/linux_system.cc:
kern/linux/linux_system.hh:
Use new System methods to schedule function-based events.
Move Linux-specific function event classes into LinuxSystem.
kern/tru64/tru64_events.hh:
PCEvents now schedule themselves in constructor.
Add DebugPrintfrEvent to encapsulate raw setting as new type
(to work better with new System function-event method.)
kern/tru64/tru64_system.cc:
Use new System methods to schedule function-based events.
kern/tru64/tru64_system.hh:
Add DebugPrintfrEvent to encapsulate raw setting as new type
(to work better with new System function-event method.)
sim/system.cc:
sim/system.hh:
Add functions to set up function-based events, including
automatically fixing up addresses to deal with optionally
executed Alpha gp update prolog.
--HG--
extra : convert_revision : c2cf09144297b6602afe755a34a0a2227023783f
For this to work qdo must be on your path. I've copied it into
/usr/local/bin on zizzer.
build/SConstruct:
Add BATCH and BATCH_CMD options to support compiling/testing
on pool via qdo.
--HG--
extra : convert_revision : b7fc46465e897f7f15ed4a67f6735886917a6c4b
dev/ns_gige.cc:
clean up usage of ISR_FOO macros
dev/ns_gige_reg.h:
Clean up #defines
make ISR_RXIDLE and ISR_TXIDLE coalesced
--HG--
extra : convert_revision : fd64fc6a441d096fc45737fdcb837de8868ca10a
sim/serialize.cc:
Make the max checkpoint thing actually stop after the last
checkpoint
--HG--
extra : convert_revision : 091179c4706e9876a9b7e826513c5c14ce6b72af
information that can be used for other aspects of sending jobs.
New graphing output stuff with matplotlib.
util/pbs/job.py:
Shuffle code around and create the JobDir class which encapsulates
all of the functionality needed for making, organizing, and cleaning
a job directory.
Better status output
util/pbs/jobfile.py:
Majory re-working of the jobfile code.
A job file now consists of several objects that describe how
jobs should be run, it includes information about checkpoints,
and graphing.
util/pbs/send.py:
use the new jobfile code.
deal with the 15 character limit of pbs by truncating the name and
using the raj hack.
util/stats/db.py:
fix the __str__ function for nodes
provide __getitem__ for the Database class
util/stats/stats.py:
use the jobfile stuff to figure out what the proper naming
and organziation of the graphs should be.
move all output code to output.py, get rid of ploticus and use
matplotlib
--HG--
rename : util/categories.py => util/stats/categories.py
extra : convert_revision : 0d793cbf6ad9492290e8ec875ce001c84095e1f7
dev/etherdump.cc:
no default parameters anymore they should be in python
python/m5/objects/Ethernet.py:
move the maxlen parameter for EtherDump into python
--HG--
extra : convert_revision : a796353a68907dfeb22059cd3ad536e6e8f60998
configs/boot/iscsi-client.rcS:
configs/boot/nfs-client-dbench.rcS:
don't use the /proc/m5 stuff, use the m5 binary
configs/boot/nfs-client-nhfsstone.rcS:
set up checkpoints
change nhfsstone configuration
configs/boot/nfs-client.rcS:
use more memory
configs/boot/nfs-server.rcS:
change the writeback frequency
load a larger simulated disk image.
create more nfsd threads
--HG--
extra : convert_revision : 242dfd261d62782c06847d64b9f6aa06664a1ec9
build/SConstruct:
No need to warn about regression failures w/o fenv.h anymore.
--HG--
extra : convert_revision : f40efb849f4c3063ebb58f6e277473467916573d
base/mysql.hh:
include mysql_version to get rid of that annoying mysql error.
make sure refcount is set in all constructors
base/pollevent.hh:
dev/ethertap.hh:
dev/pciconfigall.hh:
dev/tsunami_cchip.hh:
dev/tsunami_io.hh:
dev/tsunami_pchip.hh:
sim/param.cc:
fix for gcc 4
--HG--
extra : convert_revision : be626af2f40ca402818996ef27249ae256c63ef1
Seems to avoid the significant problems on platforms w/o fenv.h.
arch/alpha/isa_desc:
Explicitly handle rounding on FP-to-integer conversions.
Seems to avoid the significant problems on platforms w/o fenv.h.
Get rid of FP "Fast" vs "General" distinction... more headache than
it's worth.
arch/isa_parser.py:
Fix bug with "%s" in C++ templates (must escape properly to
pass through Python string interpolation).
--HG--
extra : convert_revision : de964d764e67e0934ac0ef535f53c974640731fb
For example, 'scons ALPHA_SE/test/opt/quick' will build
ALPHA_SE/m5.opt if necessary and run all the self-identified
"quick" tests on it. Other possibilities:
- Run just test1: scons ALPHA_SE/test/opt/test1
- Run all tests: scons ALPHA_SE/test/opt
- Run all tests on debug build: scons ALPHA_SE/test/debug
- Update test1 reference outputs in m5-test:
scons update_ref=y ALPHA_SE/test/opt/test1
The proper tests will be selected based on the setting
of FULL_SYSTEM, ALPHA_TLASER, etc.
README:
Update directions to use scons-based test invocation.
SConscript:
Return list of generated build environments to SConstruct
so it can associate tests with each of them.
Set 'M5Binary' attribute on each env to record name of
generated binary to be tested.
build/SConstruct:
- Support invoking m5-test tests via scons.
- Add new non-sticky option category, for 'update_ref'.
- Move existing "sticky" option definitions out of
build_dir loop. Someday we can generate help text
from these.
- Make 'CC' and 'CXX' sticky options; use environment vars as
defaults if available.
- Make config builder more scons-y.
python/m5/__init__.py:
Make AddToPath() correctly handle relative path arguments.
Assumes that sys.path[0] has the directory where the current
Python file lives; new m5execfile() function sets this up
properly for exec'd files.
--HG--
extra : convert_revision : 48896688592e210d8e63f96c34e57474853d0e66
This lets SConstruct set things like USE_MYSQL
based on the host w/o complaining.
build/build_options/ALPHA_FS_TL:
build/build_options/ALPHA_FS:
build/build_options/ALPHA_SE:
Get rid of non-essential default-valued options.
--HG--
extra : convert_revision : 96308897d2b9269dbefffa6d50ac491379444030
from Latency to Tick, and rename max_time to max_tick.
python/m5/objects/Root.py:
sim/root.cc:
Convert type of max_time and progress_interval
from Latency to Tick, and rename max_time to max_tick.
--HG--
extra : convert_revision : 2f2aacf6321c3003a0ce834acd8fb726abf27ce3
build/SConstruct:
Only the major and minor mysql version numbers are guaranteed
to be integers (e.g. 4.1.10a), and since that's all we care about
only try to deal with those.
for older versions of mysql, the strings returned by mysql_config may
have quotes in them, remove those so things work
--HG--
extra : convert_revision : de32f3e76618f0caf4d5578edd61beaeef666eb6
build/SConstruct:
Move options file from <build_dir>/build_options to build_options/<build_dir>.
--HG--
extra : convert_revision : 0363f79ef5c9c157d9018fcae9c5e055e38e552d
build directory instead of being inferred from the name
of the build directory.
Options are passed to C++ via config/*.hh files instead of
via the command line. Build option flags are now always
defined to 0 or 1, so checks must use '#if' rather than
'#ifdef'.
SConscript:
MySQL detection moved to SConstruct.
Add config/*.hh files (via ConfigFile builder).
arch/alpha/alpha_memory.cc:
arch/alpha/ev5.cc:
arch/alpha/ev5.hh:
arch/alpha/isa_traits.hh:
base/fast_alloc.hh:
base/statistics.cc:
base/statistics.hh:
base/stats/events.cc:
base/stats/events.hh:
cpu/base.cc:
cpu/base.hh:
cpu/base_dyn_inst.cc:
cpu/base_dyn_inst.hh:
cpu/exec_context.cc:
cpu/exec_context.hh:
cpu/o3/alpha_cpu.hh:
cpu/o3/alpha_cpu_builder.cc:
cpu/o3/alpha_cpu_impl.hh:
cpu/o3/alpha_dyn_inst.hh:
cpu/o3/alpha_dyn_inst_impl.hh:
cpu/o3/alpha_params.hh:
cpu/o3/commit_impl.hh:
cpu/o3/cpu.cc:
cpu/o3/cpu.hh:
cpu/o3/fetch_impl.hh:
cpu/o3/iew.hh:
cpu/o3/iew_impl.hh:
cpu/o3/regfile.hh:
cpu/o3/rename_impl.hh:
cpu/o3/rob_impl.hh:
cpu/ozone/cpu.hh:
cpu/pc_event.cc:
cpu/simple/cpu.cc:
cpu/simple/cpu.hh:
sim/process.cc:
sim/process.hh:
Convert compile flags from def/undef to 0/1.
Set via #include config/*.hh instead of command line.
arch/alpha/isa_desc:
Convert compile flags from def/undef to 0/1.
Set via #include config/*.hh instead of command line.
Revamp fenv.h support... most of the ugliness is hidden
in base/fenv.hh now.
base/mysql.hh:
Fix typo in #ifndef guard.
build/SConstruct:
Build options are set via a build_options file in the
build directory instead of being inferred from the name
of the build directory.
Options are passed to C++ via config/*.hh files instead of
via the command line.
python/SConscript:
Generate m5_build_env directly from scons options
instead of indirectly via CPPDEFINES.
python/m5/convert.py:
Allow '0' and '1' for booleans.
Rewrite toBool to use dict.
base/fenv.hh:
Revamp <fenv.h> support to make it a compile option
(so we can test w/o it even if it's present) and to
make isa_desc cleaner.
--HG--
extra : convert_revision : 8f97dc11185bef5e1865b3269c7341df8525c9ad
kern/linux/linux_system.cc:
Don't hard code the address of the command line in the kernel,
instead, deduce it from the location of known symbols.
don't use strcpy, it's dangerous.
kern/linux/linux_system.hh:
Don't hard code the address of the command line in the kernel,
instead, deduce it from the location of known symbols.
--HG--
extra : convert_revision : 128b1d5dbd00b0b8571707da99f86f76e29abfd1
objects. The improper serialization of arrays was particularly
bad.
dev/alpha_console.cc:
dev/isa_fake.cc:
dev/ns_gige.cc:
dev/pciconfigall.cc:
dev/tsunami_cchip.cc:
dev/tsunami_io.cc:
dev/tsunami_pchip.cc:
the pio interface is a different simobject and should have a
different name.
dev/ethertap.cc:
fix serialization.
dev/ide_ctrl.cc:
- the pio interface is a different simobject and should have a
different name.
- properly initialize variables
- When serializing an array, the size is the number of elements,
not the number of bytes!
dev/pcidev.cc:
When serializing an array, the size is the number of elements,
not the number of bytes!
dev/tsunami_io.hh:
Don't make objects SimObjects if they're not exposed to python.
Don't add serialization functions to events, it's generally not
what you want.
allow the real time clock and interval timer to serialize themselves,
must pass a base name since it is not a SimObject and the values will
be going into the section of the parent.
--HG--
extra : convert_revision : 3fc5de9b858ed770c8f385cf38b53242cf859c33
base/remote_gdb.cc:
use snprintf, it's safer
dev/ide_disk.cc:
use strncpy instead of snprintf
--HG--
extra : convert_revision : 90455e3f6bcb4c771724298a5a0b79a5b483a85c
README:
Clarify cygwin EIO error explanation.
build/SConstruct:
Cygwin header files cause uninitialized var warnings.
dev/ide_ctrl.cc:
Get rid of unnecessary byte-swap calls, some of which were
too ambiguous for cygwin (or gcc 3.4.4).
dev/pcidev.cc:
Disambiguate arg for overloaded byte swap operation
(and fix it to be the correct one).
--HG--
extra : convert_revision : be37c6315aacbec6332b1d09e726b39b4aa18dce
new freebsd code.
dev/ns_gige.cc:
g++ doesn't like it when you declare a variable inside a case
label. Pull the declaration outside.
--HG--
extra : convert_revision : d39e84fc58f2dd5b09c5948eedb4b1d7848e9817
Make the Link directory even more useful by working with
sub-directories.
util/pbs/job.py:
Expose JOBNAME as a separate parameter from PBS_JOBNAME. If the
former exists, it is used as the jobname for starting the job, if
it doesn't exist, PBS_JOBNAME is used. This is to get around the 15
character maximum pbs job name length. While we're at it, shuffle
things around to hopefully make things a bit more clear.
util/pbs/send.py:
Make the Link directory functionality more sophisticated, copy
sub-directories and links to directories. (we still don't copy
dotfiles though)
Add the setname() function to contact pbs and use raj's hack to
tell the webpage about longer jobnames. (it's gross, don't look)
truncate the pbs job name to 15 characters so that it works.
--HG--
extra : convert_revision : 4a76b1a1c33721c7ca93e2fbb761f95bc3a2ac69
SConscript:
Added more files to compile: dev/pcifake.cc, dev/isa_fake.cc, kern/freebsd/freebsd_system.cc, kern/freebsd/freebsd_events.cc.
arch/alpha/isa_traits.hh:
Added constant for argument register 2 as it is needed by FreebsdSystem::doCalibrateClocks().
cpu/exec_context.hh:
cpu/o3/alpha_cpu.hh:
Replaced htoa()s with gtoh() and htog().
cpu/o3/fetch_impl.hh:
cpu/simple/cpu.cc:
Replaced htoa() with gtoh().
dev/disk_image.cc:
Replaced htoa()s with letoh()s.
dev/ide_ctrl.cc:
Got rid of magic numbers.
Added IdeChannel and IdeRegType type names where necessary.
dev/ide_ctrl.hh:
Got rid of unnecessary macros.
Changed RegType_t to IdeRegType.
Changed bmi_regs to allow accessing registers by name instead of just by array index.
Added IdeChannel enum type to use in place of bool variables which were used to specify IDE channel.
dev/ide_disk.cc:
Rewrote IdeDisk::read and IdeDisk::write functions to specify registers by name instead of indexing through an array.
dev/ide_disk.hh:
Updated command register struct.
dev/ns_gige.cc:
dev/ns_gige.hh:
Made ReadConfig and WriteConfig begin with a lower-case letter.
writeConfig() now takes a pointer to data as a parameter instead of a copy of data.
dev/pciconfigall.cc:
writeConfig() now takes a pointer to data as a parameter instead of a copy of data.
dev/pcidev.cc:
Cleaned up readConfig() and writeConfig() functions.
dev/pcidev.hh:
Added macros to make code that works with the BARs (base adress registers) more readable. writeConfig() now takes a pointer to data.
dev/pcireg.h:
Changed PCIConfig struct to make accessing elements more straight forward. Removed type 1 (for PCI-to-PCI bridges) PCI configuration space struct since it is not used.
dev/rtcreg.h:
Added macros for bit fields in RTC status registers A & B.
dev/sinic.cc:
Function name change: WriteConfig --> writeConfig.
writeConfig() now takes a pointer to data instead of a copy of data.
The accessing of elements of PCIConfig structure is updated.
dev/sinic.hh:
Function name change: WriteConfig --> writeConfig.
writeConfig() now takes a pointer to data instead of a copy of data.
dev/tsunami_io.cc:
Added implementation of new RTC and PIT classes.
dev/tsunami_io.hh:
Added classes for RTC and PIT modules.
dev/tsunamireg.h:
Added macros for DMA ports used by Tsunami-Tru64.
dev/uart8250.cc:
Got rid of a magic number.
Transmit (Tx) interrupts should clear upon a read of the Interrupt ID register.
dev/uart8250.hh:
Added comments and macros dealing with the UART Interrupt ID register.
kern/linux/linux_system.cc:
Replaced htoa() with htog().
python/m5/objects/Pci.py:
PciFake is a python class for Pci Devices that do nothing.
python/m5/objects/Tsunami.py:
TsunamiFake was renamed as IsaFake.
sim/system.cc:
Replaced htoa()s with htog()s.
dev/isa_fake.cc:
New BitKeeper file ``dev/isa_fake.cc''
TsunamiFake was renamed as IsaFake.
dev/isa_fake.hh:
New BitKeeper file ``dev/isa_fake.hh''
TsunmaiFake was renamed as IsaFake.
dev/pitreg.h:
New BitKeeper file ``dev/pitreg.h''
Useful macros for working with PIT (Periodic Interval Timer) registers.
--HG--
extra : convert_revision : 33f3a8a1034af4f6c71b32dd743e371c8613e780