Commit graph

2287 commits

Author SHA1 Message Date
Steve Reinhardt
6637874225 Fix IDE disk UDMA mode support mask to actually reflect support for
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
2005-09-24 15:22:28 -04:00
Steve Reinhardt
d60de7122d Add functions to System object to set up function-based events,
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
2005-09-24 14:20:29 -04:00
Steve Reinhardt
b15a7aaf5e Support for compiling and testing on pool via 'qdo' script.
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
2005-09-22 15:27:42 -04:00
Nathan Binkert
e1c61e5b2f Tweak the set of coalesced interrupts
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
2005-09-18 21:22:57 -04:00
Nathan Binkert
b1a1566818 fix the MAX_CHECKPOINTS stuff
sim/serialize.cc:
    Make the max checkpoint thing actually stop after the last
    checkpoint

--HG--
extra : convert_revision : 091179c4706e9876a9b7e826513c5c14ce6b72af
2005-09-18 21:20:24 -04:00
Nathan Binkert
02098f8e7b Totally re-work the way that jobfiles are done so there is more
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
2005-09-17 16:51:26 -04:00
Nathan Binkert
f88d7c7456 Fix the EtherDump parameters
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
2005-09-17 10:47:16 -04:00
Nathan Binkert
36b9e9fcda Simple option cleanup in the config files.
--HG--
extra : convert_revision : 50b9a1bf79705badabc6e0a6b4402e79997866e6
2005-09-17 10:43:05 -04:00
Nathan Binkert
c7b211e71f various changes to the boot scripts
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
2005-09-16 22:54:01 -04:00
Ali Saidi
d4de2ba0b4 only set an approriately sized piece of data. so break where appropriate
Again... how did this work?

--HG--
extra : convert_revision : 06dcab4ac9f5760c9847d0fa47fea67c4a46544a
2005-09-12 22:53:57 -04:00
Ali Saidi
00a2e4a120 Merge zizzer:/bk/m5
into  zeep.eecs.umich.edu:/z/saidi/work/m5

--HG--
extra : convert_revision : 792c2993791fdce6170c7b875fc6510c74faae65
2005-09-12 16:09:58 -04:00
Ali Saidi
332f184824 format string did not match variable size -> stack corruption
--HG--
extra : convert_revision : b7c5aaa9d1f1242cfe337d6555e476f622a2aa6d
2005-09-12 16:09:51 -04:00
Steve Reinhardt
4aa6805949 Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
into  zizzer.eecs.umich.edu:/z/stever/bk/m5

--HG--
extra : convert_revision : 2d1c571b1507eb34b22f983d76ca48a7ca61c3b9
2005-09-12 08:59:20 -04:00
Steve Reinhardt
b80bddd8b6 More minor tweaks for fenv/cygwin.
build/SConstruct:
    No need to warn about regression failures w/o fenv.h anymore.

--HG--
extra : convert_revision : f40efb849f4c3063ebb58f6e277473467916573d
2005-09-12 08:59:14 -04:00
Ali Saidi
94bf249af4 Merge zizzer:/bk/m5
into  zeep.eecs.umich.edu:/z/saidi/work/m5

--HG--
extra : convert_revision : 3eff9b41fbf30ae0365adf05a71625c92ce1a4c0
2005-09-12 03:01:57 -04:00
Ali Saidi
c62760e3cb fixes for gcc 4.0
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
2005-09-12 03:01:43 -04:00
Steve Reinhardt
11cb904ad7 Explicitly handle rounding on FP-to-integer conversions.
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
2005-09-11 19:29:41 -04:00
Steve Reinhardt
845bdb0d8e Regression tests now run under scons!
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
2005-09-05 16:31:27 -04:00
Steve Reinhardt
9196fbfe5e Fixes to build with gcc 4.0.
sim/param.hh:
    Add "template<>" to explicit template specialization.

--HG--
extra : convert_revision : 05e2f4ad8141a8782fe09a0b6824baf56c9fc957
2005-09-02 21:30:02 -04:00
Steve Reinhardt
1b77c1e24b Force Unix EOL even on Windows (i.e. Cygwin).
--HG--
extra : convert_revision : 0aa171dc79c4d06d45e28d2907c7eb6d6fde433e
2005-09-02 17:23:03 -04:00
Steve Reinhardt
72900e7a1d Get rid of non-essential default-valued options.
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
2005-09-02 17:21:02 -04:00
Steve Reinhardt
39ce4fbaf9 Bug fix: can't increment an iterator after you erase
the thing it points to.  Somehow Linux doesn't care,
but Cygwin sure does.

--HG--
extra : convert_revision : 1209a75831f080f17a95433e546d7074f9f07332
2005-09-02 14:38:11 -04:00
Steve Reinhardt
809230bbde Fix to #define True/False option values as 0/1 in header.
--HG--
extra : convert_revision : 7fbae4816a4d0a5ed942e0ad8afed9464dd1ba11
2005-09-01 11:35:03 -04:00
Steve Reinhardt
23a9102d01 Convert type of max_time and progress_interval parameters
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
2005-09-01 11:32:58 -04:00
Nathan Binkert
1b39eb38bd more scons fixes for mysql
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
2005-08-31 10:00:42 -04:00
Steve Reinhardt
919aa6dd00 Move options files from <build_dir>/build_options to build_options/<build_dir>.
build/SConstruct:
    Move options file from <build_dir>/build_options to build_options/<build_dir>.

--HG--
extra : convert_revision : 0363f79ef5c9c157d9018fcae9c5e055e38e552d
2005-08-31 00:19:37 -04:00
Steve Reinhardt
284e3e9c46 Add script to generate new build directories.
--HG--
extra : convert_revision : 2d2455ced5b33476bf88483c81ddf447a0658be2
2005-08-30 23:53:35 -04:00
Steve Reinhardt
87dfb4050e Fix to work with older versions of mysql_config that don't support --include.
Also add mysql version check.

--HG--
extra : convert_revision : 36b6174ed1c64e8c5516f6adee71f27e068ceca2
2005-08-30 23:34:36 -04:00
Steve Reinhardt
c4793184bd 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.  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
2005-08-30 13:18:54 -04:00
Steve Reinhardt
e007aa59e3 Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
into  zizzer.eecs.umich.edu:/z/stever/bk/m5

--HG--
extra : convert_revision : dc9d0dc344389063f7b2026bd7cf737bdab3ee8b
2005-08-26 08:18:23 -04:00
Steve Reinhardt
50186d1320 Add explicit check for Python version to SConstruct.
build/SConstruct:
    Add explicit check for Python version.

--HG--
extra : convert_revision : 19ee788f72d63eb301e4be4c0c5729a5025c379f
2005-08-26 08:18:12 -04:00
Nathan Binkert
bdd78df6d8 better debugging of the configuration builder.
--HG--
extra : convert_revision : 9c51937e8bcc1ff93e24bd507d662fd50b5de6a0
2005-08-23 11:47:55 -04:00
Nathan Binkert
c0de2e7f12 Clean up the passing of the boot command line to the kernel.
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
2005-08-23 11:47:12 -04:00
Nathan Binkert
c761aaae65 Lots of fixes to serialization and naming of various device
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
2005-08-23 11:45:52 -04:00
Nathan Binkert
1771ee203f don't use sprintf. It's not guaranteed to not scribble over memory.
base/remote_gdb.cc:
    use snprintf, it's safer
dev/ide_disk.cc:
    use strncpy instead of snprintf

--HG--
extra : convert_revision : 90455e3f6bcb4c771724298a5a0b79a5b483a85c
2005-08-23 11:38:27 -04:00
Steve Reinhardt
03e256b0f0 A few minor fixes to get things to build on Cygwin.
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
2005-08-19 17:10:17 -04:00
Steve Reinhardt
40696ccda2 Minor tweaks for 1.1 release.
README:
    Updated for release 1.1.  Clarified several minor things (I hope).

--HG--
extra : convert_revision : a088f670739d33765611ce413b96854a1b51bb0f
2005-08-19 00:10:45 -04:00
Nathan Binkert
cee0d47e15 Fix another bug from the freebsd merge
--HG--
extra : convert_revision : b153b0c12b6678df148839617954a9a4c6fec7d4
2005-08-18 14:19:11 -04:00
Nathan Binkert
4f53a4705e Fix a couple of turbolaser problems that were introduced by the
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
2005-08-18 13:29:40 -04:00
Benjamin Nash
568868d38f Clean up freebsd_system.cc.
kern/freebsd/freebsd_system.cc:
    Use htog instead of htoa.

--HG--
extra : convert_revision : 09224d60ce5bb3827c9f046127ff6fc72fa008d6
2005-08-16 16:08:42 -04:00
Benjamin Nash
979d609656 Merge zed.eecs.umich.edu:/.automount/fox/y/mserrano/m5_dir/m5
into  zed.eecs.umich.edu:/z/benash/bk/m5

--HG--
extra : convert_revision : 9b7ca872187a13179118ad0651301d531332dc63
2005-08-16 15:45:30 -04:00
Miguel Serrano
1906abcde0 Uart fix.
dev/uart8250.cc:
    Fixed implementation of "transmit interrupt clear".

--HG--
extra : convert_revision : cb69d61413ea799d5d3825fe2f0891dd72995561
2005-08-16 15:44:57 -04:00
Benjamin Nash
0d82e0f8b6 Merge m5.eecs.umich.edu:/bk/m5
into  zed.eecs.umich.edu:/z/benash/bk/m5

--HG--
extra : convert_revision : 36bb126381caf84d85a566579225b02c15f8f356
2005-08-16 15:27:39 -04:00
Nathan Binkert
09bb203484 Updates to job scripts to accept more than 15 characters of jobname
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
2005-08-16 11:27:49 -04:00
Benjamin Nash
bcc333e920 Merge zed.eecs.umich.edu:/.automount/fox/y/mserrano/m5_dir/m5
into  zed.eecs.umich.edu:/z/benash/bk/m5

dev/ide_ctrl.cc:
dev/ide_ctrl.hh:
dev/ide_disk.cc:
dev/ide_disk.hh:
dev/ns_gige.cc:
dev/pciconfigall.cc:
dev/pcidev.cc:
dev/rtcreg.h:
dev/tsunami_io.cc:
dev/tsunami_io.hh:
dev/uart8250.cc:
dev/uart8250.hh:
python/m5/objects/Tsunami.py:
    Merge code.

--HG--
extra : convert_revision : e97d5dbcc051d2061622201265430d359f995d48
2005-08-15 17:17:17 -04:00
Miguel Serrano
b64eae5e52 Changes for getting FreeBSD to run.
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
2005-08-15 16:59:58 -04:00
Nathan Binkert
38da461fd7 Fix NextEthernetAddr
python/m5/config.py:
    NextEthernetAddr shouldnt' be a Singleton since we want __init__ to be
    called more than once.
    Make the EthernetAddr class a "proxy" so that unproxy will
    be called and NextEthernetAddr will generally work correctly.

--HG--
extra : convert_revision : c89bf268e805e202ae71030fcea4833867c7e477
2005-08-15 16:12:19 -04:00
Benjamin Nash
49063eb24f Improve FreeBSD networking support.
dev/ns_gige.cc:
    Added FreeBSD support.  Required additional register read/write functionality, hash filtering (faked), and EEPROM read access.
dev/ns_gige.hh:
    Added constants and variables for FreeBSD support.  Also created eepromKick() to advance state machine.
dev/ns_gige_reg.h:
    Defined additional register bit fields.
dev/pcidev.cc:
    Fix &= typo.
dev/sinic.cc:
    Remove an INIT_PARAM_DFLT macro.
dev/tsunami_io.cc:
    Fix DPRINTF typo.
kern/freebsd/freebsd_system.cc:
    Edit comments.

--HG--
extra : convert_revision : 37aaa1303d57d3784381e85acb3bc1743adeb8c0
2005-08-12 18:30:35 -04:00
Benjamin Nash
a115249eb0 Merge zed.eecs.umich.edu:/.automount/fox/y/mserrano/m5_new/m5
into  zed.eecs.umich.edu:/z/benash/bk/m5

SConscript:
dev/ide_disk.hh:
    Formatting.
dev/ide_ctrl.cc:
    Endianness
dev/ide_disk.cc:
dev/pcidev.cc:
dev/tsunami_io.cc:
dev/uart8250.cc:
    Clean up code.

--HG--
extra : convert_revision : cb554f0e3a701371d2106cd7e11a4a22f773acc2
2005-07-28 13:16:45 -04:00
Miguel Serrano
74fd4f68c5 .
SConscript:
    add pcifake
dev/ide_ctrl.cc:
dev/ide_ctrl.hh:
dev/ide_disk.cc:
dev/ide_disk.hh:
    endianess
dev/tsunami_io.cc:
    rtc, date/time

--HG--
extra : convert_revision : 21ad27c780749cb6f6eef2b57798c0c292c3f14d
2005-07-28 11:49:01 -04:00