Commit graph

10162 commits

Author SHA1 Message Date
Nathan Binkert
cc4e4ab7e1 fix the exec of python
--HG--
extra : convert_revision : 08b542ae09e69e139e0f03279a51fe253c05e629
2005-01-17 22:30:10 -05:00
Ron Dreslinski
ff9c4f1097 Merge zizzer:/z/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/.automount/zazzer/z/rdreslin/m5bk/timing_L1

--HG--
extra : convert_revision : da464558edb2a77dc02033464a88a59f2ae6355d
2005-01-17 15:03:48 -05:00
Ron Dreslinski
93146bc81a Changes neccesary to support full system coherence on the first level of caches with a event based bus
-Change how the blocking is implemented
-Update coherence policy state table to include sotware prefetches and DMA requests

--HG--
extra : convert_revision : 80f37dc1c7221b684888e859b534d008c578669c
2005-01-17 14:57:26 -05:00
Nathan Binkert
c9fa82e25f configuration tweaks
--HG--
extra : convert_revision : 360bcbb0c67f4f40e7fc41db1befb4864dbbd14f
2005-01-17 01:35:33 -05:00
Nathan Binkert
32d3b0aa36 get the exit condition for the python code right
sim/main.cc:
    get the exit condition right

--HG--
extra : convert_revision : 0dada3d68492c46981c51d3de0de409b282bb13b
2005-01-17 01:30:39 -05:00
Nathan Binkert
6d980a2d1c don't use dirname
--HG--
extra : convert_revision : 181cbae18174b1278937720de09e0df14f7ce5e9
2005-01-17 01:23:50 -05:00
Nathan Binkert
2c45483009 fix dirname for linux
--HG--
extra : convert_revision : 751ce377d10e2f07ce83da8c1f44756ea62925d0
2005-01-17 01:11:27 -05:00
Nathan Binkert
a1d65dd49e Remove all of the old param context description junk
--HG--
extra : convert_revision : 4df8112d713e83b4435f43edf40df87f5dda808f
2005-01-17 00:54:32 -05:00
Nathan Binkert
a5df4b5c32 Add the pentium 4 configuration. Add some command line options
to M5 to support the python configuration stuff.

sim/main.cc:
    Make the -I option update the include path for phython as
    well as cpp
    Make the -P option pass a raw python string to the interpreter
    Make the -E option add strings to the environment
    Break up the various steps of python processing to accomidate
    multiple files and the various new options
test/genini.py:
    Make this executable

--HG--
extra : convert_revision : 6acc50d2e4367c5ceaee013db987c8a1db924df3
2005-01-17 00:52:51 -05:00
Nathan Binkert
3ece6ab029 New and improved configuration mechanism. No more writing of
wierd ini files.  The ini files are still used as an intermediate step,
but a sophisticated python library exists to help build them more
easily.

SConscript:
    add the new embedded file stuff
    remove all of the old object description junk
base/inifile.cc:
base/inifile.hh:
    get rid of findDefault and findAppend since they were the source
    of much evil.
base/trace.cc:
    For now, if we don't have the dprintf_stream set up, dump
    to standard out.  We probably want a command line option
    for this.
dev/alpha_console.cc:
    PioDevice now takes a platform parameter.
    All PioDevices must have a pio_latency parameter.  We stick
    a dummy parameter in here for now until we get rid of the
    builder stuff.
dev/alpha_console.hh:
    don't need Platform anymore
dev/baddev.cc:
    PioDevice now takes a platform parameter.
    All PioDevices must have a pio_latency parameter.  We stick
    a dummy parameter in here for now until we get rid of the
    builder stuff. Same for the platform parameter, though we just
    pass the PioDevice a null parameter since it isn't used by
    this device and it's quicker.
dev/baddev.hh:
    fix #include guards
dev/etherlink.cc:
    rename parameters.
dev/ethertap.cc:
    rename parameters
dev/ide_ctrl.cc:
    All devices need an address even if it will get overwritten later.
dev/ide_disk.cc:
    use an enum for the drive ID stuff.
    rename disk_delay -> delay
    Actually, I think that we should implement "cable select" and
    have the controller tell the drive what it is.
dev/io_device.cc:
dev/io_device.hh:
    All IO devices take a Platform *
dev/ns_gige.cc:
    all devices need an io_bus.  rename header_bus to io_bus
    We don't need stuff for the interrupt controller since
    it's all in the platform now.
dev/ns_gige.hh:
    We don't need stuff for the interrupt controller now since
    it's all in the platform.
dev/pciconfigall.cc:
    Pass a dummy NULL to the PioDevice for the platform since
    we don't need one.
dev/pcidev.cc:
    Move a bunch of common functionality into the PciDev
dev/platform.hh:
    remove unneeded code
dev/tsunami.cc:
    remove unused param
dev/tsunami_cchip.cc:
    pass platform pointer
dev/tsunami_io.cc:
dev/tsunami_pchip.cc:
dev/uart.cc:
    pass platform variable
dev/uart.hh:
    don't need to keep a platform pointer.  it's in the base class
kern/linux/linux_system.cc:
kern/tru64/tru64_system.cc:
    rename some parameters
sim/builder.cc:
    clean up builder code. use more parameters from the
    config node.  all sections with a type= are now created,
    the old mechanisms no longer work
sim/builder.hh:
    remove some extra variables since they are found in the ConfigNode
sim/main.cc:
    add a quick hack command line argument -X to dump out the
    embedded files.  (probably should be fixed up a little.)
    accept .mpy files
    printing to the streams has to happen after the hierarchy
    is built since we're moving away from param contexts
sim/param.cc:
    add parsing support for ranges
sim/process.cc:
    isValid isn't very useful anymore.  interpret the names
    stdout, stderr, cout, cerr for the file descriptors
sim/pyconfig/SConscript:
    Add Action handlers for creating an embedded python file
    and for creating an embedded C file.

    use these action handlers to embed all objects found in the objects
    tree into the binary along with the importer and the m5config stuff
sim/pyconfig/m5config.py:
    Major changes to the original configuration file generator.  These
    changes largely involve implementing copy-on-write like semantics
    for all of the SimObjects.  Real documentation must be written.
sim/universe.cc:
    Universe becomes a SimObject since we don't really have the notion of
    param contexts in the python code.

--HG--
rename : sim/pyconfig/m5configbase.py => sim/pyconfig/m5config.py
extra : convert_revision : c353453e5beb91c37f15755998fc0d8858c6829a
2005-01-15 04:12:25 -05:00
Kevin Lim
f58d85128d Fixes so m5 compiles on gcc 3.4, which has much stricter syntax. Most changes come from templated code,
which is evaluated slightly differently than in previous versions of gcc.

arch/alpha/alpha_linux_process.cc:
    Alphabetize includes.
arch/alpha/vptr.hh:
    Change the constants that are being used for alpha pagebytes to come from the ISA.
base/random.hh:
cpu/static_inst.cc:
sim/param.cc:
    Fix up template syntax.
base/range.hh:
    Include iostream for << operator.
base/res_list.hh:
base/statistics.hh:
cpu/simple_cpu/simple_cpu.hh:
cpu/static_inst.hh:
sim/eventq.hh:
sim/param.hh:
    Fixup for templated code to resolve different scope lookup in gcc 3.4.  This defers the lookup of the
    function/variable until actual instantiation time by making it dependent on the templated class/function.
base/trace.cc:
    Fix call to new.
base/trace.hh:
    Fix up #define to have full path.
cpu/base_cpu.cc:
    Fix up call to new.
dev/etherlink.hh:
dev/ns_gige.hh:
dev/sinic.hh:
    Fixup for friend class/function declaration.  g++ 3.4 no longer allows typedefs to be declared as
    a friend class.
dev/pcidev.hh:
    Fix up re-definition of access level to params.
kern/linux/linux_syscalls.hh:
kern/tru64/tru64_syscalls.hh:
    Fix up header.  Fix up template syntax.
sim/serialize.cc:
    Include errno.h.
sim/startup.cc:
    Change startupq.  queue was getting destructed before all things had called ~StartupCallback(), which lead
    to a segfault.  This puts startupq in global space, and we allocate it ourselves.  Other code may be similar
    to this and may need changing in the future.
sim/syscall_emul.hh:
    Include cpu/exec_context.hh and sim/process.hh, as forward declarations are no longer sufficient.
sim/universe.cc:
    Include errno.h

--HG--
extra : convert_revision : e49d08ee89eb06a28351f02bafc028ca6652d5af
2005-01-14 18:34:56 -05:00
Ali Saidi
dfecc89150 added stats code to check stability
util/stats/db.py:
    added working listticks (for printing) and retticks(for using in python) code
util/stats/stats.py:
    added stability function that checks if all samples are within 10% of mean.

--HG--
extra : convert_revision : 7eb1714db75e456f248fe7cae73db1c57642947d
2005-01-14 17:50:36 -05:00
Ali Saidi
3e5a3df24f automerged had issues with the options.XXXXX in stats.py
--HG--
extra : convert_revision : 44db6642c1fb46eb515acd5a6d8465859a40891a
2005-01-14 00:05:49 -05:00
Ali Saidi
21c6dd80d7 fix a display bug
add option to limit results to a set of ticks
fix ticks code to work

util/stats/info.py:
    change samples -> ticks and pass all parameters
util/stats/stats.py:
    add option to select a set of ticks and fix display bug

--HG--
extra : convert_revision : eca80a8c6bb75cf82bf1624f3d0170690b2928af
2005-01-13 23:59:39 -05:00
Ron Dreslinski
3edc239c13 Merge from changes to Memtype and Bustype and Automerge
--HG--
extra : convert_revision : 143fdcc333084c7ba04291e0c299f99566b73cc3
2005-01-12 15:22:58 -05:00
Nathan Binkert
0f0c80ad8c More graph output junk
util/stats/stats.py:
    Add the graphing output for 6GHz and 8GHz runs

--HG--
extra : convert_revision : fae3763c213e4b839735761bf91fa37e1b4f343c
2005-01-12 13:44:47 -05:00
Nathan Binkert
ed7926664f Update for newer MySQLdb
util/stats/db.py:
    Update for newer MySQLdb, the result of a blob in a query is an
    array.array now, so we need to convert that to a string

--HG--
extra : convert_revision : 32732983d3d7141755085ec4913fdae057edc67f
2005-01-12 13:41:06 -05:00
Kevin Lim
42f3b4ffb3 Merge changes.
base/traceflags.py:
    Merge extra new CPU flags
cpu/static_inst.hh:
    Include all the execute functions in static_inst_impl.hh

--HG--
extra : convert_revision : 78eb753bf709d37400e7c2418bb35d842d7c3f63
2005-01-11 19:00:16 -05:00
Kevin Lim
90d4436351 Slight fixes, add in commit trace flag.
base/traceflags.py:
    Add new commit rate trace flag.
build/SConstruct:
    Add extra option for efence.
cpu/beta_cpu/alpha_full_cpu_impl.hh:
    Use function calls instead of direct indexing (avoids confusion).
cpu/beta_cpu/commit_impl.hh:
    Add commit rate trace output (might not be worthwhile in the future).
cpu/beta_cpu/decode_impl.hh:
    Remove some older hacks.  Fix it so that the isntruction properly sets its next
    PC to the one calculated by the branch.
cpu/beta_cpu/fetch_impl.hh:
    Remove old commented code.
cpu/beta_cpu/iew_impl.hh:
    Add extra check to ensure that the instruction is valid.
cpu/beta_cpu/regfile.hh:
    Include trace file.

--HG--
extra : convert_revision : 4ee1dc88f8a5ed9b65486c6c111a3718a8040e42
2005-01-11 18:52:29 -05:00
Steve Reinhardt
202758eea2 Added notes from 12/22/04 memory system meeting
(plus a formatting fix found while browsing code
during the meeting).

--HG--
extra : convert_revision : fb23edbe40a9dbf870ae49299e91e16906ea2c8a
2004-12-23 12:33:12 -05:00
Nathan Binkert
c0e098c03d Fix typo
--HG--
extra : convert_revision : 1716d3fb0b19406402989824f74e9c2bc2b5a9c0
2004-12-22 08:57:32 -05:00
Nathan Binkert
e2ea735c26 Merge zizzer.eecs.umich.edu:/bk/m5
into crampon.int.chaotic.net:/z/binkertn/research/m5/latest

--HG--
extra : convert_revision : 7a3b0009499c0b9c4685efb598f7e2dd61a49ecc
2004-12-18 09:53:31 -05:00
Nathan Binkert
746dcdb9e1 a bit of remote debugging info.
--HG--
extra : convert_revision : ae44f49701839bb64950852a251440d86512a5b0
2004-12-18 09:53:18 -05:00
Ali Saidi
57eb1ff624 add colors to graph
--HG--
extra : convert_revision : 0f1749a364516460d77882ef9301c06d86a329b3
2004-12-15 15:39:21 -05:00
Ali Saidi
ccff53ff5f Merge zizzer:/bk/m5 into zeep.eecs.umich.edu:/z/saidi/work/m5
--HG--
extra : convert_revision : 7746bf5a56475a821a05b29896ec95fc4e6f556c
2004-12-14 14:52:32 -05:00
Ali Saidi
850ff597e7 updated clustered bars graph to have a legend
--HG--
extra : convert_revision : 9a7e5f8a9693e24d2b3c8836d43803b42da6ca2c
2004-12-14 14:52:26 -05:00
Ron Dreslinski
d3d750151d Modified to work with do_events
No multiple requests to the same block outstanding from the same tester
Using false sharing, each tester only access a single byte within the block based on which tester it is
Allow more cycles before signalling deadlock, with do_events it may take some time with NACK/retry and many proccessors

--HG--
extra : convert_revision : 4c8eab99082c53840a5ad2a926457dfc27f23b77
2004-12-14 13:15:54 -05:00
Nathan Binkert
d0bff50bba Fix up the random number stuff.
SConscript:
    compile the random number generator stuff into m5
base/random.cc:
    we need to define our destructor
base/random.hh:
    Since there's no state, just makes all of these get functions static

--HG--
extra : convert_revision : 9d4b8abd57367391a8ecda3914b1d912d9c64185
2004-12-13 12:55:13 -05:00
Steve Reinhardt
f3e89d3991 Change Bus template parameter to BusType (to avoid confusion with Bus class).
Change Mem template parameter to MemType while we're at it.

dev/io_device.hh:
    Change Bus template parameter to BusType (to avoid confusion with Bus class).

--HG--
extra : convert_revision : dca8effb177535b3624ef08a3d3b8afab720390b
2004-12-09 01:07:08 -05:00
Ali Saidi
41b5edbe2e Change to not pound on the VM system quite so hard
--HG--
extra : convert_revision : bf035976a7be75bd56f2df49d5489525675d3d57
2004-12-08 19:54:10 -05:00
Ali Saidi
c67d967055 compress main memory in checkpoints
SConscript:
    Add zlib to the build always

--HG--
extra : convert_revision : fae49fbbba371660e171d7e8328894a74c846ec5
2004-12-08 18:30:06 -05:00
Ron Dreslinski
a435be1b00 Merge zizzer:/z/m5/Bitkeeper/m5
into zazzer.eecs.umich.edu:/z/rdreslin/m5bk/clean

--HG--
extra : convert_revision : 0a189db3ecd1424558c73620d81300344e68b86d
2004-12-07 14:12:08 -05:00
Ali Saidi
02a1222d9a Merge zizzer:/bk/m5 into zeep.eecs.umich.edu:/z/saidi/work/m5
--HG--
extra : convert_revision : 02d8a72ee5c059543af790cca0712fd7dbf5f33c
2004-12-06 13:37:26 -05:00
Ali Saidi
34260bbf0d Add support for Tsunami with 64 processors
base/socket.cc:
    Make panic print a more worthwhile message
dev/tsunami.hh:
    Change max number of tsunami cpus to be 64
dev/tsunamireg.h:
    Add new registers and register blocks for 64 cpu tsunami

--HG--
extra : convert_revision : 3ceaaa998518ded8613bc64edc04cb9120fd3d15
2004-12-06 12:06:16 -05:00
Ali Saidi
5821f37cb6 Add support for tsunami with 64 processors and fix some console bugs
I steped on while doing it

console/console.c:
    Allocate more HWRPB pages so we have room for 64 percpu_rpbs
    Fix writing of Console Relocation Block virtual addresses so that
    if they are outside of the first page, which they will be with more
    than 8 processors, the correct adress is written
palcode/Makefile:
    Update makefile for tsunami with 64 processors
palcode/platform_m5.S:
    Add support for tsunami with 64 processors
2004-12-06 11:44:22 -05:00
Lisa Hsu
45eb722566 system.ini:
the SYSTEM_DETAIL configuration assumes that it's a TWO_SYSTEM.  make it not do that

--HG--
extra : convert_revision : 4f630a06b333acd727c57a82bc7a9595b231c037
2004-12-03 15:49:37 -05:00
Lisa Hsu
e6d7d9de05 boot_detail.ini:
now that we've changed the memory system defined names, fix this file

--HG--
extra : convert_revision : 1ce3881c9d21ba0b37f17f802641b5029a042d17
2004-12-03 15:42:26 -05:00
Lisa Hsu
0d31aacde0 system.ini:
Fix the Boot Detailed case so that IntrControl and AlphaConsole's cpu's are defined.

--HG--
extra : convert_revision : d6e5073af27d5554b2bea719a0790ef891bf57be
2004-12-03 15:29:33 -05:00
Ali Saidi
46b5f8dfc1 Merge zizzer:/bk/m5 into zeep.eecs.umich.edu:/z/saidi/work/m5
--HG--
extra : convert_revision : 9be07505189d9dd54af423d28e7d48f1a4cd084b
2004-12-01 17:01:27 -05:00
Ali Saidi
41411ff8d9 updated colors, and font adjustments
--HG--
extra : convert_revision : a4ce055c73ec12a26c70d03bd833ee9d429adc23
2004-12-01 17:00:39 -05:00
Nathan Binkert
7017707a68 Add a #define option for setting the sampling periods
--HG--
extra : convert_revision : 29163dc72e7e677b4cfafa76cb33a755ee2c50b2
2004-11-24 13:34:48 -05:00
Ron Dreslinski
433d0a12de Fix duplicate statistic name and description
Uncacheables don't change the request cmd, so use req->cmd instead of mshr->originalCmd]

--HG--
extra : convert_revision : 2f31df4911e29cb941138ed493f01f11b1109722
2004-11-24 13:34:47 -05:00
Ali Saidi
99a522fb8b do a better job of always locking printf. We used to only lock on
secondary cpus, this also locks on the primary cpu.
Now the initial print out doesn't get garbled with more than 1 cpu.
2004-11-23 04:04:13 -05:00
Ali Saidi
66b80038ed Makefile cleanup, no seperate middle preprocessing steps anymore 2004-11-23 03:40:32 -05:00
Ali Saidi
8d148125f2 cleanup makefile and fix platform bug introduced in last commit
palcode/Makefile:
    Cleanup make file, no more ugly preprocessing steps
palcode/platform_m5.S:
    fix a mistake with m5 platform cleanup from before
2004-11-23 03:20:27 -05:00
Ali Saidi
8cfbcbdb9c update platform code to use PALTemp Whami register to get cpu id
instead of reading register from tsunami chipset, saving an uncached
read
2004-11-23 02:01:30 -05:00
Steve Reinhardt
d1d1cbdd0e Fix typo (from Nate's commit, I believe)
--HG--
extra : convert_revision : 87e1a3ac1b5fcd53a6ed7fa63d5323ae33423f56
2004-11-23 00:13:11 -05:00
Steve Reinhardt
a6696a4e7b Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/z/stever/bk/m5

--HG--
extra : convert_revision : 8c257ce0f25c1a9deab4cbad1c81ada006b10b8d
2004-11-23 00:00:59 -05:00
Ali Saidi
409f7812b2 Merge zizzer:/bk/m5 into zeep.eecs.umich.edu:/z/saidi/work/m5
--HG--
extra : convert_revision : dac88be32ea326e8966d68925bc49c7bea90a01b
2004-11-22 22:32:50 -05:00
Ali Saidi
244ce7fb29 Print a warning if two devices are sharing the same interrupt
Update profile-top to print 2 or 4 graphs depending on a command line
option

dev/pciconfigall.cc:
dev/pciconfigall.hh:
dev/pcidev.hh:
    Print a warning if two devices are sharing the same interrupt

--HG--
extra : convert_revision : 0ef99cac92fbf2916ab8e5b1125d520eb4b5ac7d
2004-11-22 22:32:37 -05:00