Commit graph

10000 commits

Author SHA1 Message Date
Ron Dreslinski
867d80d55d Fix annoying bug that lead to dropped packets in the P4 system
dev/pktfifo.cc:
    Make it so that we don't unserialize the size of the fifo, clobering the fact that we were trying to make it bigger, and leading to a misleading config.out that states the un-overwritten max_size.
    Perhaps this should instead be a panic if the size (amount that was serialized) is bigger than the maxsize that was assigned by the configuration file.

--HG--
extra : convert_revision : d4b0527bfd7a584554ddc87c9b2103f7a3a72332
2005-01-21 04:55:43 -05:00
Nathan Binkert
6cbce7631a Add a couple statistics contexts.
arch/alpha/pseudo_inst.cc:
    rename the context for consistency.
sim/pyconfig/m5config.py:
    Add a ParamContext class so that param contexts work with
    the new config stuff.

--HG--
extra : convert_revision : 3a6b583a25c86237baca7a2b4eccc9d12f86a384
2005-01-21 04:34:01 -05:00
Ron Dreslinski
9bb66e7766 Merge zizzer:/z/m5/Bitkeeper/m5
into zazzer.eecs.umich.edu:/z/rdreslin/m5bk/timing_L1

--HG--
extra : convert_revision : 1892825b1e7ba47353e7a79ca4dcb84b64a73f79
2005-01-20 17:21:42 -05:00
Ali Saidi
29789443ba Merge zizzer:/bk/m5 into zeep.eecs.umich.edu:/z/saidi/work/m5
--HG--
extra : convert_revision : d5e6f6e696d7607f89894856d940afc89ae8e37b
2005-01-19 18:40:09 -05:00
Ali Saidi
886f905785 added total bytes/bandwidth/packets formulas to nics
cleaned up stability code and wrote some better help for stats.py
fixed sample bug in info.py

dev/ns_gige.cc:
dev/ns_gige.hh:
dev/sinic.cc:
dev/sinic.hh:
    add total bandwidth/packets/bytes stats
util/stats/info.py:
    fixed samples bug
util/stats/stats.py:
    cleaned up stability code and wrote a bit better help

--HG--
extra : convert_revision : cae06f4fac744d7a51ee0909f21f03509151ea8f
2005-01-19 18:40:02 -05:00
Lisa Hsu
db00ac3bc6 Add a new aggregate trace flag that doesn't print gobs of ethernet raw data, but prints everything else.
--HG--
extra : convert_revision : ddb0636f5d5f0c746bd121eaafc0c685b422b006
2005-01-19 18:18:15 -05:00
Kevin Lim
6ac7954242 Merge zizzer.eecs.umich.edu:/bk/m5
into zamp.eecs.umich.edu:/z/ktlim2/m5-patched/m5-new

--HG--
extra : convert_revision : 3b9413a6861eaddb8de753d76e217106d41cc347
2005-01-19 16:34:35 -05:00
Ron Dreslinski
10371be698 Fix serialization of txPacket (need to properly calculate the length before serialization)
--HG--
extra : convert_revision : e93321495d19afb86949daf2c14102ffb6bcef41
2005-01-19 16:26:19 -05:00
Ron Dreslinski
51d52a3834 Merge zizzer:/z/m5/Bitkeeper/m5
into zazzer.eecs.umich.edu:/z/rdreslin/m5bk/timing_L1

--HG--
extra : convert_revision : 1064ec4c8624682b35f66163fb349fe04903411d
2005-01-19 13:22:38 -05:00
Nathan Binkert
b65f365474 fix unserialization of PacketFifo
dev/pktfifo.cc:
    fix unserialization.  calling resize on a list just sticks
    uninitialized garbage into the list.

--HG--
extra : convert_revision : 1cbff596dd0b88560e23b9368ec75a7369beb9d9
2005-01-19 12:43:06 -05:00
Nathan Binkert
40160ef074 Add the pc_sample_interval stuff
add a Sampler configuration for the P4

--HG--
extra : convert_revision : 45a8f67ff80b552925a5f1cb9b8c14e11c33b78c
2005-01-19 12:41:12 -05:00
Nathan Binkert
cd79f6b698 Make the config stuff work on 64-bit machines
objects/Pci.mpy:
    specify that the value is a long so that it is not
    interpreted as a negative value.

--HG--
extra : convert_revision : 3b0df8711da5934aff0096ba54fb79da808e987b
2005-01-18 23:01:17 -05:00
Ron Dreslinski
19bd52c935 Merge zizzer:/z/m5/Bitkeeper/m5
into zazzer.eecs.umich.edu:/z/rdreslin/m5bk/timing_L1

--HG--
extra : convert_revision : 76c2d853a7ce5cbea5e038e9b2b400b402fb4baa
2005-01-18 19:04:08 -05:00
Nathan Binkert
e8d5895f3f remove assert that doesn't apply with the new configuration system
--HG--
extra : convert_revision : 9cec969a4f6fa391c05e3c152e3c1396646038f3
2005-01-18 18:09:27 -05:00
Nathan Binkert
6c1bef0270 Yet again, another configuration fix
--HG--
extra : convert_revision : e6683da3a35c57e742f572b0c5d5a79bfbecbdd9
2005-01-18 18:06:22 -05:00
Ron Dreslinski
6d0d9a06d0 Merge zizzer:/z/m5/Bitkeeper/m5
into zazzer.eecs.umich.edu:/z/rdreslin/m5bk/timing_L1

--HG--
extra : convert_revision : e12a7722391db473f6545d0bb4c0faedd43344c9
2005-01-18 17:57:16 -05:00
Ali Saidi
3040d2a9fe Merge zizzer:/bk/m5 into zeep.eecs.umich.edu:/z/saidi/work/m5
--HG--
extra : convert_revision : 5cb8186e246698fb2606beb4af8fd10cedb1b2a9
2005-01-18 17:55:42 -05:00
Ali Saidi
cd56e4e08e Ability to check formulas
--HG--
extra : convert_revision : 68a2a19cceb4a8cf8a2798ee5c019d25c0fca3cc
2005-01-18 17:55:35 -05:00
Nathan Binkert
d68ea8a2f8 Add a missing variable to the simple CPU
--HG--
extra : convert_revision : 50997f58f44506a6c5349a559298e8fc58d79974
2005-01-18 17:54:17 -05:00
Ron Dreslinski
b79a8faee5 Merge zizzer:/z/m5/Bitkeeper/m5
into zazzer.eecs.umich.edu:/z/rdreslin/m5bk/timing_L1

--HG--
extra : convert_revision : 7d2ac93eb7bc5dae778cdb7cbdbf42e35da44369
2005-01-18 15:59:47 -05:00
Nathan Binkert
92533214b6 Fix the sampler for real this time
--HG--
extra : convert_revision : e930f9ec59c2e160be9a43e6e45608decd3f49c5
2005-01-18 15:51:53 -05:00
Kevin Lim
c389c2e327 Merge zizzer.eecs.umich.edu:/bk/m5/
into zamp.eecs.umich.edu:/z/ktlim2/m5

--HG--
extra : convert_revision : c8b7f46e9d0dbff2a12a7375d361098fba352647
2005-01-18 15:48:38 -05:00
Kevin Lim
554dc7831f Merge zizzer.eecs.umich.edu:/bk/m5
into zamp.eecs.umich.edu:/z/ktlim2/m5-patched/m5-new

--HG--
extra : convert_revision : c51d9a7361d8e3c23e9494640c66df8505322b00
2005-01-18 15:46:00 -05:00
Ron Dreslinski
106d5bb67a Merge zizzer:/z/m5/Bitkeeper/m5
into zazzer.eecs.umich.edu:/z/rdreslin/m5bk/timing_L1

--HG--
extra : convert_revision : 84e365aeb30eafb72b7d4290b5bad0ff95da7039
2005-01-18 15:43:43 -05:00
Nathan Binkert
25f54857c9 fix typo
--HG--
extra : convert_revision : 7fe0b0b43534020ffd3e5d34a08efd24ba063e5a
2005-01-18 15:42:52 -05:00
Ron Dreslinski
480db441c7 Merge zizzer:/z/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/.automount/zazzer/z/rdreslin/m5bk/timing_L1

--HG--
extra : convert_revision : 917c79ebe8f3fb250755464f3b7f45f744f5be09
2005-01-18 15:30:33 -05:00
Nathan Binkert
d728d44b55 More configuration fixes
sim/pyconfig/m5config.py:
    put panic, AddToPath, and Import here so they're always available.

--HG--
extra : convert_revision : 104dba5ccac0d64479b4109d477b5192c4b07a6e
2005-01-18 15:28:34 -05:00
Ali Saidi
cae9210dce Merge zizzer:/bk/m5 into zeep.eecs.umich.edu:/z/saidi/work/m5
--HG--
extra : convert_revision : a799d615ab5a3d3447b24b1b1ce24cffcde361cd
2005-01-18 13:35:04 -05:00
Ali Saidi
cbbbc9c57d now really done with stability stats stuff
--HG--
extra : convert_revision : 9bdbcec972f5d06e3ecd99c418fcccfaef7f6f3a
2005-01-18 13:34:58 -05:00
Ali Saidi
24bfd5ef01 finished stability stats option
--HG--
extra : convert_revision : 3ad0a143f79b116c5b18321846653d627429882a
2005-01-18 13:25:55 -05:00
Kevin Lim
aed3e6780a Merge changes to make m5 g++ 3.4 compatible.
sim/param.cc:
    Merge changes.

--HG--
extra : convert_revision : b5044e1f7c48ae2d74d5233dd4fabfb7a801d7c8
2005-01-18 13:02:47 -05:00
Nathan Binkert
783f701247 Fix the p4 config
--HG--
extra : convert_revision : 64dac30ce221b71f0ac0e5bceed739fa95ab11a2
2005-01-18 12:51:09 -05:00
Ron Dreslinski
7e7e430241 Merge zizzer:/z/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/.automount/zazzer/z/rdreslin/m5bk/timing_L1

--HG--
extra : convert_revision : 88c268655ed657735b0c09d8ab769e27d936edb4
2005-01-18 12:01:45 -05:00
Nathan Binkert
c633269cf7 More configuration tweaks/fixes
--HG--
extra : convert_revision : 8094d88e9e58f9097e9e4ffde70787f81bb235e1
2005-01-18 11:54:46 -05:00
Kevin Lim
f31a27a030 Move trace data function to .cc file.
--HG--
extra : convert_revision : 8180068747489978a2bbaa096dc73b0cfd14b052
2005-01-18 11:43:45 -05:00
Ron Dreslinski
86b37b59e2 Merge zizzer:/z/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/.automount/zazzer/z/rdreslin/m5bk/timing_L1

--HG--
extra : convert_revision : 46721f5427b0549ec4d7125827a90dbc0007964b
2005-01-17 23:49:01 -05:00
Nathan Binkert
82df189bad Config cleanups
sim/pyconfig/m5config.py:
    Remove unused code
    remove the defined() function that was masking the one
    that I really wanted
test/genini.py:
    Add the directory that a script was executed from to the
    path

--HG--
extra : convert_revision : a1861065b2de46d77c94691d0c5a7865cdce0f09
2005-01-17 23:41:35 -05:00
Ron Dreslinski
82cd958e4a Merge zizzer:/z/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/.automount/zazzer/z/rdreslin/m5bk/timing_L1

--HG--
extra : convert_revision : 01eeeec7bedf73d34b60a7fa725f929421f84ed1
2005-01-17 22:37:37 -05:00
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