Commit graph

3788 commits

Author SHA1 Message Date
Andrew Schultz
8baccdc6d3 Changed to inherit from DmaDevice to avoid multiple inheritance (now
assumes that all PCI devices are DmaDevices, and if not, they can just
ignore the DMA stuff)

--HG--
extra : convert_revision : aa58b658370696674ca4c32b265bc0400e5dda5a
2004-03-22 16:50:09 -05:00
Erik Hallnor
b18a36a6f2 Fix to compile m5.fast
--HG--
extra : convert_revision : b557975e2b03944abd5243ab9ea3e3ff6a915981
2004-03-22 13:59:51 -05:00
Lisa Hsu
ddeaa4d5e1 Merge zizzer:/bk/linux into zower.eecs.umich.edu:/z/hsul/work/bk/linux
--HG--
extra : convert_revision : b4e2fc55ec9cd0caa7cdf02de8a61c66e8b35c67
2004-03-22 13:21:18 -05:00
Lisa Hsu
3bc851b7db forgot to check this in earlier - no confusion between types and member names!
dev/pcidev.cc:
    member variables should begin with lowercase so they don't get confused with types.
dev/pcidev.hh:
    member variables must begin with lowercase so they don't get confused with types.

--HG--
extra : convert_revision : f083baa60d0fbf64d858d684ff70ee06e7b7765d
2004-03-22 13:15:14 -05:00
Erik Hallnor
ea604923aa Update to store uncompressed data in the cache blocks at all times. This will allow us to simulate compression without paying the uncompress penalty on reads.
This also had the side-effect of getting copies and compression working together (collecting of code in helper function made this easier.)

--HG--
extra : convert_revision : f81d3d7254b5a0c1cc82a7389c95a0b71ff67fc0
2004-03-21 01:20:19 -05:00
Ron Dreslinski
b4ff8c555f Make it so that alpha_console can read the frequency from the correct
sim object(depends on which platform tsunami/tlaser is being used)

dev/alpha_console.cc:
    Use dynamice casting once during build to get at the proper device to calculate the frequency.
    It is either a tsunami_IO or a tlaser_clock depending on platform (tsunami/tlaser).
    If the simobject is not of either of those types then panic
dev/alpha_console.hh:
    Pass in a SimObject * that is to either a tlaser_clock or a tsunami_IO
sim/sim_object.cc:
    Make it so that you can have a SimObjectParam of type SimObject:

    example:
    SimObjectParam<SimObject *> so;

--HG--
extra : convert_revision : 08239ef23762b8ea11311630b73fe885d939402e
2004-03-19 14:51:02 -05:00
Ali Saidi
1eb0c9626a Updated kern/* code so we can have one console code and the simulator
changes the HWRPB to the correct system type/variation.

kern/linux/linux_system.cc:
kern/tru64/tru64_system.cc:
    Added code to change system type/variation so that we can have one console

--HG--
extra : convert_revision : 5f35f7d965419cd3038e2e85e05a20884b2f6068
2004-03-17 16:12:13 -05:00
Erik Hallnor
2d38766e09 Pass cache block pointer when we have it.
--HG--
extra : convert_revision : 453690e0d7b53ecb7a9a3eb75a6365d13fd27573
2004-03-15 21:24:50 -05:00
Lisa Hsu
25a07e7467 merge etherpkt and makefile
--HG--
extra : convert_revision : 8f416468c7c239a4de6f8df2d632832921c1ced8
2004-03-12 11:07:32 -05:00
Lisa Hsu
48e6ed48e0 first pass at ns_ethernet device. more will come later as i merge in nate's new ether infrastructure.
dev/etherpkt.hh:
    add some stuff for support of the NS ethernet device.

--HG--
extra : convert_revision : 51f6508463b6394055e3428a42b7de490a9ae6c1
2004-03-12 11:04:58 -05:00
Lisa Hsu
256a1ac478 merge from head of m5. note: i did not bother to merge the PIO stuff with scsi since we're not going that route anymore anyway. esp because it was giving me an error i couldn't seem to fix.
dev/alpha_console.cc:
    missed this >>>> after i merged
kern/linux/linux_system.cc:
    get rid of FS_MEASURES and change FnEvent to LinuxFnEvent
kern/linux/linux_system.hh:
    get rid of FS_MEASURE

--HG--
extra : convert_revision : 210f46573bba0c772a224ce110af9a9230fabf6a
2004-03-11 20:04:41 -05:00
Lisa Hsu
3bc8cffc75 merge with m5 head
--HG--
extra : convert_revision : c90339248d1ee74df1c6b90a77ec9ea41f646311
2004-03-11 18:52:29 -05:00
Lisa Hsu
1039028d40 traceflags merge
--HG--
extra : convert_revision : f8427ed6caa815500cbb0ce648f2495a2d039082
2004-03-11 18:47:29 -05:00
Lisa Hsu
c6c61870fa It was annoying me that there was PCIConfigAll and PciDev and PciConfigData. so for consistency I changed it.
dev/pciconfigall.cc:
dev/pciconfigall.hh:
dev/pcidev.cc:
dev/pcidev.hh:
dev/tsunami.hh:
    change PCIConfigAll to PciConfigAll

--HG--
extra : convert_revision : d2fa3f59b906c870fd9d46cfa94728c7587e3652
2004-03-11 12:45:27 -05:00
Erik Hallnor
7f3a9e0f95 Use the specific tag type where we can.
--HG--
extra : convert_revision : f6a8f9630a58486df026bea61fcfe46e223dc8e8
2004-03-11 00:54:54 -05:00
Erik Hallnor
2c60d7aa9e Performance improvement for unaligned copy
--HG--
extra : convert_revision : 36a67874c119c4ef5dbd6692292dae1a5dcfded0
2004-03-07 01:26:16 -05:00
Lisa Hsu
532374bf2b change the naming of MainBins. didn't check this in before because i had random debug statements i didn't want to push along with it.
kern/tru64/tru64_system.cc:
    change the naming of Bins, add some DPRINTFs

--HG--
extra : convert_revision : 65eeb61caa3132adc45972feff891e4a969c06c5
2004-03-05 19:18:58 -05:00
Lisa Hsu
6eebb270be fix ALPHA
cpu/exec_context.cc:
    put this code between #ifdef FULL_SYSTEM

--HG--
extra : convert_revision : b934c7085d2a4337149ab8180a7d50851fbbf170
2004-03-05 15:15:23 -05:00
Lisa Hsu
34576de15a changes that affect post checkpoint runs.
cpu/exec_context.cc:
    you can't delete an element of an array that you newed.  oops.
kern/tru64/tru64_events.cc:
    changes to reflect .ini changes, and also b/c es_intr and ipintr can happen at ANY point, even within a current calling path being tracked.
sim/system.cc:
    can't delete an element of a newed array.  must new them separately.

--HG--
extra : convert_revision : 21573327b7b7f20bf9a3fcfb5854526433e17e17
2004-03-05 08:16:33 -05:00
Lisa Hsu
d9689c58d3 bin user and kernel stats
--HG--
extra : convert_revision : 66e6181ad3e8b6567da9f2b82d87e7af49f28eaf
2004-03-05 06:15:30 -05:00
Lisa Hsu
12662c0b6d nother fix
cpu/exec_context.cc:
    nother little bug...forgot to pop off stack as i read off it
sim/system.cc:
    forgot to pop off stack as i read off it

--HG--
extra : convert_revision : d1f691c0a9f0fa22281c717ee465d8a5f1e45c13
2004-03-05 06:14:33 -05:00
Lisa Hsu
8434ae9b03 Merge zizzer:/bk/m5 into zower.eecs.umich.edu:/z/hsul/work/bk/bincleanup
--HG--
extra : convert_revision : e4303df381e5f397d15c37eb05377be1860f89be
2004-03-05 05:54:54 -05:00
Lisa Hsu
9c48327145 forgot to check this in
--HG--
extra : convert_revision : 3090da3ab1077736bae52519143b44b08dd5ddb9
2004-03-05 05:54:46 -05:00
Nathan Binkert
01f493a28a Merge zizzer.eecs.umich.edu:/bk/m5
into ziff.eecs.umich.edu:/z/binkertn/research/m5/latest

--HG--
extra : convert_revision : 51b3fd809a77e146b8370636b2cc60ddf1075195
2004-03-05 05:50:33 -05:00
Nathan Binkert
a57bc93e82 Don't dump an ethertrace by default
Update the system dir for the addition of parallel and dirty netperf

--HG--
extra : convert_revision : e46efb32e0d6c21047507d444d41e7d55fbfb770
2004-03-05 05:50:19 -05:00
Nathan Binkert
66325a2a30 Make payload splitting accessible with a #define
--HG--
extra : convert_revision : 90b86b270a84cffaf3d13a2b83c04f33bb442e44
2004-03-05 05:49:49 -05:00
Nathan Binkert
adc176d13f add a mechanism for delayed interrupts (aka. interrupt coalescing)
re-do fixed dma latency

--HG--
extra : convert_revision : b91e6b69682f66e424782e89500d3ad47b797e25
2004-03-05 05:48:56 -05:00
Nathan Binkert
c74cb77fa4 Add support for a propagation delay on the link. The electrical
delay is more or less folded into the packet time, but an additional
delay is possible representing crossing a long haul link, or some
switches, etc.

--HG--
extra : convert_revision : 8fd689c2a7e3051e77f47a4cd5f51c6999d92c8f
2004-03-05 05:47:05 -05:00
Nathan Binkert
ec6265b044 constructor option to make the wrapped event autodelete
--HG--
extra : convert_revision : 8663c874c533685adf21eea968b08b40b7d7b665
2004-03-05 05:45:45 -05:00
Nathan Binkert
34d36c45bf use %#x so we know that it is hex
--HG--
extra : convert_revision : 7da77cd9a16ba70eeb0382c3c79b1475554a2d4c
2004-03-05 05:44:46 -05:00
Nathan Binkert
4992680ea2 add ticks per picosecond
--HG--
extra : convert_revision : 1585e7f89340b941e699db6b81080af58500a7c2
2004-03-05 05:44:11 -05:00
Lisa Hsu
1a300ef60d small bugfix, forgot to increment iter
sim/system.cc:
    oops, forgot to increment iter.

--HG--
extra : convert_revision : 95fcd337d00157ccf072f0eb301b76f280480839
2004-03-05 05:38:04 -05:00
Lisa Hsu
4fa703f2ec serialization for binning. it is WAAAAAAAY past my bedtime.
cpu/exec_context.cc:
sim/system.cc:
sim/system.hh:
    serialization for binning

--HG--
extra : convert_revision : f8417794a3a5ec7f2addc9c2da0f48e851899112
2004-03-05 05:09:05 -05:00
Lisa Hsu
2ef27db62c Merge zizzer:/bk/m5 into zower.eecs.umich.edu:/z/hsul/work/bk/bincleanup
--HG--
extra : convert_revision : 7b5dc465231a861f0b460e3cbf9ee2ad2b2f5246
2004-03-04 21:57:17 -05:00
Lisa Hsu
f3861d0cc7 Overall gist of this is to 'dynamicize' the tracking of functions so you can choose them at the .ini stage rather than at compile time.
to do it:
in .ini file set binned_fns=foo null bar foo

what this says is, track foo when it is called by null (i.e. anything).  bin bar only when it is called by foo.
essentially, if you have a path of functions to track, the 0th, 2nd, 4th fn listed are the fns to track, and the 1st, 3rd, 5th are their respective callers.

base/statistics.hh:
    turn it back to FS_MEASURE since we already have a build in place
kern/tru64/tru64_events.cc:
    remove FS_MEASURE #defs.  add more DPRINTF's.  manage an anomaly that happens when tracking idle_thread.
kern/tru64/tru64_events.hh:
    remove FS_MEASURE #defs
kern/tru64/tru64_system.cc:
    make DumpState print all the time, but only with DPRINTF.  add a new parameter to tru64System a vector<string> binned_fns, to read in from .ini file.  now all this binning stuff is dynamically generated.
kern/tru64/tru64_system.hh:
    remove all static binning stuff, add support for dynamic
sim/system.cc:
    change nonPath bin name to Kernel, remove FS_MEASURE
sim/system.hh:
    change nonPath to Kernel

--HG--
extra : convert_revision : 9ee813c0a64273bab4125815b7bc8145c5897ec1
2004-03-04 21:57:09 -05:00
Erik Hallnor
1d09cd71a4 Reenable functioning copies.
arch/alpha/isa_desc:
    Reenable copies.

--HG--
extra : convert_revision : 99259c0ff65e742e617cba1c14f5d1bf4be2fee8
2004-03-04 20:03:38 -05:00
Erik Hallnor
8ad803058f Automerged
--HG--
extra : convert_revision : 7b56535ee32551f27db8d98172159f63e5099835
2004-03-04 15:06:34 -05:00
Erik Hallnor
7c089b2001 Copy implementations
arch/alpha/isa_desc:
    Need to return fault for copy operations.
cpu/exec_context.hh:
    Add temporary storage to pass source address from copy load to copy store
cpu/simple_cpu/simple_cpu.cc:
    Implement copy functions.
cpu/simple_cpu/simple_cpu.hh:
    Return fault

--HG--
extra : convert_revision : 98e5ce563449d6057ba45c70eece9235f1649a90
2004-03-04 14:57:57 -05:00
Andrew Schultz
b91ea433b9 Script and ini file for new specweb images (the threaded ones)
--HG--
extra : convert_revision : 82f66462bb2607e427db40147d7f8cc705ed3853
2004-03-02 22:02:33 -05:00
Erik Hallnor
5537f02d49 Add some stats to track latencies of small and large DMA transactions.
--HG--
extra : convert_revision : 1792d396f00bd24e9577f7883461b389e96ef803
2004-03-02 18:45:08 -05:00
Ron Dreslinski
430a1700c6 Reduce redundant code, fix so that if the dma request is only as big as
the header, and fix so that it doesn't keep requesting the payload bus
if the sendRequest was unsuccesful.

--HG--
extra : convert_revision : 7fda85ccf38ea99a457ae0d6902704cb2ba053cd
2004-03-02 15:13:01 -05:00
Ron Dreslinski
b05d7f99ac Make sure to arbitrate for the payload bus in the header splitting case,
and to free up the header bus by returning false.  If there is no
header splitting it will work normally.

--HG--
extra : convert_revision : 4f6dd07e33e510502806256b1b8089d85d600233
2004-03-02 12:59:24 -05:00
Ron Dreslinski
594d7d028d Add more statistics about dma requests, shorten names for easier readability
of stats

--HG--
extra : convert_revision : 052a03c3e7a6b4b4ee000f291332bdec59c94f96
2004-03-02 02:49:19 -05:00
Ron Dreslinski
c92a09e213 Add a name parameter so the statistics work properly
--HG--
extra : convert_revision : 5ea9d5c5f0a0e19afe6956e004113d87d347d698
2004-03-02 02:21:15 -05:00
Ron Dreslinski
9cd698000c Add statistics to calculate average round-trip delay for DMA
--HG--
extra : convert_revision : 1aa436e4dc2981444b4aab102c24c99f5b3280cd
2004-03-02 01:04:12 -05:00
Ron Dreslinski
9be01eec9a Change ini again because I messed up the resolve
--HG--
extra : convert_revision : f46902ec51e0db3f4dcfedc4937c8f9504074463
2004-03-01 21:38:33 -05:00
Ron Dreslinski
e9b985f91a Auto merged
--HG--
extra : convert_revision : 607177f165a6057de8befd554d31478bbda55239
2004-03-01 21:26:21 -05:00
Ron Dreslinski
3a0db71f02 Add support for two buses to the DMA, allows header splitting
The two busses are labeled header/payload.  The header_size
designates the number of cache blocks to send on the header bus.

--HG--
extra : convert_revision : 930411052d2183311f9be7a10087c77552a35b37
2004-03-01 21:17:28 -05:00
Nathan Binkert
eabc59ca2d Initial cut at adding support to make the state machine
take time

--HG--
extra : convert_revision : f30ab2f00dd6f00ad8020912e709d057a2875526
2004-03-01 16:22:51 -05:00
Nathan Binkert
18d90037cb Use #define CPU_10GHZ and CPU_4GHZ. This should get fixed when
we switch over to making ticks represent time directly.

--HG--
extra : convert_revision : 29e76e909a184e1ba005a98dd80ca5da1d345f3e
2004-03-01 16:22:09 -05:00