Commit graph

630 commits

Author SHA1 Message Date
Lisa Hsu
9c48327145 forgot to check this in
--HG--
extra : convert_revision : 3090da3ab1077736bae52519143b44b08dd5ddb9
2004-03-05 05:54:46 -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
Nathan Binkert
ad2f3f3a63 Support several memory configurations for hooking up devices
to memory in different configurations

--HG--
extra : convert_revision : 9e31c2fa96eeb42160cc0b892e10e6db58fe786b
2004-03-01 16:19:12 -05:00
Nathan Binkert
7a9cf40bbf add support for averaging
--HG--
extra : convert_revision : f0b5f622f96795a5d2160eeb2b52ecfd83170b67
2004-03-01 16:18:02 -05:00
Nathan Binkert
2aed8753dd Only need an execution context if we're doing data
--HG--
extra : convert_revision : 389a02fbf2f266e0c5e8ae07fd28138f7ebfc80c
2004-03-01 16:17:18 -05:00
Erik Hallnor
e943bedeaa Merge ehallnor@zizzer:/bk/m5 into zazzer.eecs.umich.edu:/z/ehallnor/m5
--HG--
extra : convert_revision : a9b6e6592e9c0f7e5cba45e148005647ea3539c4
2004-02-29 23:13:27 -05:00
Erik Hallnor
19c25e7c21 Fix an assert, only need the ExecContext if we are doing data,
--HG--
extra : convert_revision : 07f674613cb39ffe77dd66c2c9a77ed73b9d75b6
2004-02-29 23:13:04 -05:00
Nathan Binkert
123513ab0d Merge zizzer.eecs.umich.edu:/bk/m5
into ziff.eecs.umich.edu:/z/binkertn/research/m5/latest

--HG--
extra : convert_revision : ba093baca9abfe311621e9589fcec0a892e9f9d1
2004-02-29 22:56:59 -05:00
Nathan Binkert
31ccbde829 Fix the swichover code. It's only for FULL_SYSTEM
cpu/base_cpu.cc:
    #ifdef FULL_SYSTEM

--HG--
extra : convert_revision : 427ee93d545596da00d6c4688a7e32d584054948
2004-02-29 22:56:42 -05:00
Erik Hallnor
cbc42f1d71 Remove copys from isa_desc, and implement a store and forward bus bridge
arch/alpha/isa_desc:
    Just to make sure, remove the new copy instructions until everything works.

--HG--
extra : convert_revision : cdd3d4c8fa415175aaee04f4a99340dcf82dbc3a
2004-02-29 22:41:11 -05:00
Nathan Binkert
7f688ba6a9 unused function name
--HG--
extra : convert_revision : ef2994f2d18a36580994b4fa7005e6dceb072b31
2004-02-29 21:35:12 -05:00
Nathan Binkert
133375d5b1 make it so that we can prevent descriptor DMAs or
data DMAs from touching the memory system.  They can
still have a latency though if configured.

--HG--
extra : convert_revision : d372205643bd46f7fb7d50a20569ac74ae37ce38
2004-02-29 21:34:25 -05:00
Nathan Binkert
ff516e8362 mark the request satisfied since well, it is.
--HG--
extra : convert_revision : 667c477b0b5ca45d63eaecabcf5119701584599f
2004-02-29 20:38:25 -05:00
Nathan Binkert
27b926c431 Avoid more bogus addresses
--HG--
extra : convert_revision : 25bc2adb78e2f96fb28b352a73401c3fa52eab03
2004-02-29 20:35:55 -05:00
Nathan Binkert
47421b8442 fix switchover WRT interrupts
cpu/base_cpu.cc:
    gah! copy the interrupt status on switchover

--HG--
extra : convert_revision : d3199a7409a494b7687354c43ffca697f37e8456
2004-02-29 20:32:30 -05:00
Nathan Binkert
0a3948bcfd Merge zizzer.eecs.umich.edu:/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/.automount/ziff/z/binkertn/research/m5/latest

--HG--
extra : convert_revision : b3fd8bcfbaf1e9d09bac8c1403944df36dde671e
2004-02-29 20:25:52 -05:00
Nathan Binkert
ee96799519 Initial cleanup pass of lisa's function call tracking
code.

base/statistics.hh:
    We're getting rid of FS_MEASURE, but for now, we're going
    to still use a compile time flag to turn on and off binning
    of statistics.  (The flag is STATS_BINNING)
cpu/exec_context.cc:
cpu/exec_context.hh:
kern/tru64/tru64_system.cc:
    get rid of FS_MEASURE
cpu/simple_cpu/simple_cpu.cc:
    yank the function call tracking code out of the cpu and move
    it into the software context class itself.
kern/tru64/tru64_system.hh:
    get rid of FS_MEASURE
    move all of the tacking stuff to the same place.
sim/system.hh:
    cleanup

--HG--
extra : convert_revision : 73d3843afe1b3ba0d5445421c39c1148d3f4e7c0
2004-02-29 20:22:32 -05:00
Nathan Binkert
a574c260e3 Merge zizzer.eecs.umich.edu:/bk/m5
into ziff.eecs.umich.edu:/z/binkertn/research/m5/latest

--HG--
extra : convert_revision : 48e5262fc37a5774b10a83e4c36a89c0ef2c8f15
2004-02-29 19:31:58 -05:00
Nathan Binkert
45f377bcd8 more debugging support
base/trace.cc:
    code to set/clear/print trace flags from the debugger.

--HG--
extra : convert_revision : f2a549e9af05c4a177186b9f1792a0493ce15c95
2004-02-29 19:29:30 -05:00
Nathan Binkert
31f82cef41 Make the progress event work even after restoring from a checkpoint
--HG--
extra : convert_revision : 80e31eb26250700ebe3ce5848e570068cc76ef47
2004-02-29 18:49:44 -05:00
Nathan Binkert
2272164d66 Fix dumping to work on the opteron. struct timeval can
vary in size, so we're explicit about the fields.

--HG--
extra : convert_revision : e5264849dafb878676b2bfd3a6e6f95f6f94ea48
2004-02-29 17:05:23 -05:00
Erik Hallnor
b491bda241 Add support for multiple address ranges in memory interfaces.
dev/alpha_console.cc:
    setAddrRange -> addAddrRange

--HG--
extra : convert_revision : 9dc853b80bea443b54a130ca4c110a68077cb336
2004-02-29 16:18:49 -05:00
Nathan Binkert
27960f6d85 fix rpcc
arch/alpha/ev5.cc:
    actually implement the cycle count register
arch/alpha/isa_desc:
    the rpcc instruction really just reads the cycle count
    register

--HG--
extra : convert_revision : a0edec85672377a62b90950efc17b62b375220b1
2004-02-29 14:54:52 -05:00
Steve Reinhardt
c79deda8cd Fix handling of rpcc in full-system mode.
arch/alpha/ev5.cc:
    Handle writing IPR_CC and IPR_CC_CTL slightly more intelligently.
    (Very slightly).
arch/alpha/isa_desc:
    Upper half of rpcc result comes from value written
    to IPR_CC, not actual cycle counter.

--HG--
extra : convert_revision : 7161989db8a3f040d0558e2e5a1a162ed1cb4125
2004-02-28 17:21:32 -05:00
Erik Hallnor
cfb6f8fd01 Added copy instructions to the ISA. Well it didn't break anything yet...
arch/alpha/isa_desc:
    Add copy_load and copy_store insts (ldf and stf respectively)
cpu/simple_cpu/simple_cpu.hh:
    Add copy functions to SimpleCPU as well

--HG--
extra : convert_revision : 1fa041da582b418c47d4eefc22dabba978a50e2d
2004-02-27 02:40:43 -05:00
Erik Hallnor
c3784e37ce Initial copy support in the pipeline. Add copypal counting.
arch/alpha/osfpal.cc:
    Add a string for copypal.
arch/alpha/osfpal.hh:
    Add a code for copypal.
cpu/static_inst.hh:
    Add an IsCopy flag.

--HG--
extra : convert_revision : 19e3d90368454806029ad492eace19cd0924fe9f
2004-02-27 00:45:21 -05:00
Nathan Binkert
81c1d76d01 fix
--HG--
extra : convert_revision : 67a9e36cda69da6b462e6a30d6daa047ce48fdde
2004-02-26 20:40:00 -05:00
Erik Hallnor
2399fb1196 The DMAInterface was never updated to the new blocking model. Need to hold the request locally until it is retransmitted.
--HG--
extra : convert_revision : cc89d6c4b7f21b7252c172c694633ce1daae30eb
2004-02-26 20:36:29 -05:00
Erik Hallnor
006fb9b421 Quick hack to allow rerequests for the future.
--HG--
extra : convert_revision : 4f1b080ae500dfd022c28e0cd7544c4fcfa5e330
2004-02-26 16:59:04 -05:00
Nathan Binkert
5e8631fd16 stoopid
--HG--
extra : convert_revision : ccd87a2de7f684bb3a4a448a307eb30afd363e12
2004-02-26 14:16:18 -05:00
Steve Reinhardt
40c350fcfe Merge.
--HG--
extra : convert_revision : e83f6895bceb0ced656e90275ec1a93d0af5498d
2004-02-26 07:08:45 -08:00
Steve Reinhardt
6f5e104fc5 Make SW prefetch flag a parameter again, and add code to make
it actually do something on FullCPU.  Still disabled, as it
causes detailed-boot to hang when you turn it on.

arch/alpha/isa_desc:
    Add EAComp and MemAcc pseudo-instructions to prefetch StaticInst.
cpu/simple_cpu/simple_cpu.hh:
    Changed prefetch() return type from Fault to void.

--HG--
extra : convert_revision : c7cb42682bfea6af117c87d4dfdb06176b6fe6b7
2004-02-26 07:05:36 -08:00