gem5.git
17 years agoadd a backoff algorithm when nacks are received by devices
Ali Saidi [Wed, 9 May 2007 22:20:24 +0000 (18:20 -0400)]
add a backoff algorithm when nacks are received by devices
add seperate response buffers and request queue sizes in bus bridge
add delay to respond to a nack in the bus bridge

src/dev/i8254xGBe.cc:
src/dev/ide_ctrl.cc:
src/dev/ns_gige.cc:
src/dev/pcidev.hh:
src/dev/sinic.cc:
    add backoff delay parameters
src/dev/io_device.cc:
src/dev/io_device.hh:
    add a backoff algorithm when nacks are received.
src/mem/bridge.cc:
src/mem/bridge.hh:
    add seperate response buffers and request queue sizes
    add a new parameters to specify how long before a nack in ready to go after a packet that needs to be nacked is received
src/mem/cache/cache_impl.hh:
    assert on the
src/mem/tport.cc:
    add a friendly assert to make sure the packet was inserted into the list

--HG--
extra : convert_revision : 3595ad932015a4ce2bb72772da7850ad91bd09b1

17 years agofix the translating ports so it can add a page on a fault
Ali Saidi [Wed, 9 May 2007 19:37:46 +0000 (15:37 -0400)]
fix the translating ports so it can add a page on a fault

--HG--
extra : convert_revision : 56f6f2cbf4e92b7f2dd8c9453831fab86d83ef80

17 years agothe bridge never returns false when recvTiming() is called on its ports now, it alway...
Ali Saidi [Mon, 7 May 2007 22:58:38 +0000 (18:58 -0400)]
the bridge never returns false when recvTiming() is called on its ports now, it always returns true and nacks the packet if there isn't sufficient buffer space
fix the timing cpu to handle receiving a nacked packet

src/cpu/simple/timing.cc:
    make the timing cpu handle receiving a nacked packet
src/mem/bridge.cc:
src/mem/bridge.hh:
    the bridge never returns false when recvTiming() is called on its ports now, it always returns true and nacks the packet if there isn't sufficient buffer space

--HG--
extra : convert_revision : 5e12d0cf6ce985a5f72bcb7ce26c83a76c34c50a

17 years agofix partial writes with a functional memory hack
Ali Saidi [Mon, 7 May 2007 18:42:03 +0000 (14:42 -0400)]
fix partial writes with a functional memory hack
figure out the block size from devices attached to the bus otherwise use a default block size when no devices that care are attached

configs/common/FSConfig.py:
src/mem/bridge.cc:
src/mem/bridge.hh:
src/python/m5/objects/Bridge.py:
    fix partial writes with a functional memory hack
src/mem/bus.cc:
src/mem/bus.hh:
src/python/m5/objects/Bus.py:
    figure out the block size from devices attached to the bus otherwise use a default block size when no devices that care are attached
src/mem/packet.cc:
    fix WriteInvalidateResp to not be a request that needs a response since it isn't
src/mem/port.hh:
    by default return 0 for deviceBlockSize instead of panicing. This makes finding the block size the bus should use easier

--HG--
extra : convert_revision : 3fcfe95f9f392ef76f324ee8bd1d7f6de95c1a64

17 years agoMerge zizzer:/bk/newmem
Ali Saidi [Tue, 1 May 2007 22:14:45 +0000 (18:14 -0400)]
Merge zizzer:/bk/newmem
into  zeep.pool:/z/saidi/work/m5.newmem

--HG--
extra : convert_revision : 8867e78b55670da14f38172b5ac16ed5f6770f4c

17 years agochange the way dprintf works so the cache accesses required to fulfill the dprintf...
Ali Saidi [Tue, 1 May 2007 22:14:16 +0000 (18:14 -0400)]
change the way dprintf works so the cache accesses required to fulfill the dprintf aren't show in between the Cycle: name:
printing and the actual formatted string being printed

--HG--
extra : convert_revision : 8876ba938ba971f854bab490c9af10db039a2e83

17 years agofix flushAddr so it doesn't modify an iterator that has been deleted
Ali Saidi [Tue, 1 May 2007 22:12:58 +0000 (18:12 -0400)]
fix flushAddr so it doesn't modify an iterator that has been deleted

--HG--
extra : convert_revision : 8b7e4948974517b13616ab782aa7e84471b24f10

17 years agoupdate for dprintk and not initializing lastTxInt
Ali Saidi [Tue, 1 May 2007 17:23:40 +0000 (13:23 -0400)]
update for dprintk and not initializing lastTxInt

--HG--
extra : convert_revision : c81ea950a919349a6e82f61ba591d3fbde4627b3

17 years agoMerge zizzer:/bk/newmem
Ali Saidi [Tue, 1 May 2007 16:33:03 +0000 (12:33 -0400)]
Merge zizzer:/bk/newmem
into  zeep.pool:/z/saidi/work/m5.newmem

--HG--
extra : convert_revision : 7e4b82f5949c0807d93fff80c44a8828968d1248

17 years agoinitialize lastTxInt to 0
Ali Saidi [Tue, 1 May 2007 16:32:30 +0000 (12:32 -0400)]
initialize lastTxInt to 0

--HG--
extra : convert_revision : 4c5e9c2145b12fdeba91f3fdd8963c35abe326c2

17 years agoalways skip the debugprintf function (DebugPrintf traceflag shouldn't matter). Otherw...
Ali Saidi [Tue, 1 May 2007 02:49:21 +0000 (22:49 -0400)]
always skip the debugprintf function (DebugPrintf traceflag shouldn't matter). Otherwise, when you turn on debugprintf alters the execution

--HG--
extra : convert_revision : 1c9a665e3b7234cacf06c31d2e7886244a9e82bc

17 years agoupdate release notes a bit
Ali Saidi [Mon, 30 Apr 2007 18:22:18 +0000 (14:22 -0400)]
update release notes a bit

--HG--
extra : convert_revision : e99661b971a1cbb2be6cabb68c1a4dcc7c4792ba

17 years agoupdate refs for uart device changes
Ali Saidi [Mon, 30 Apr 2007 18:10:40 +0000 (14:10 -0400)]
update refs for uart device changes

--HG--
extra : convert_revision : 4bea6652993cf147d9f1e88b1eb1f9796431121a

17 years agofix igbe bug
Ali Saidi [Mon, 30 Apr 2007 17:18:44 +0000 (13:18 -0400)]
fix igbe bug

--HG--
extra : convert_revision : 01ffc08f5c1ec827a42f60562ae7e10176ffdb7f

17 years agofix console printing bug
Ali Saidi [Mon, 30 Apr 2007 17:13:03 +0000 (13:13 -0400)]
fix console printing bug

--HG--
extra : convert_revision : 5481b72b22e7a2cf3367d777309bc30201f3b1fc

17 years agoadd the ability for the ethernet device to check if the link is busy
Ali Saidi [Mon, 30 Apr 2007 17:09:13 +0000 (13:09 -0400)]
add the ability for the ethernet device  to check if the link is busy

--HG--
extra : convert_revision : 0dc0c4c4546869261f4508ad22a6a85aecf3c334

17 years agoadd a udp stream benchmark and a udp loopback benchmark
Ali Saidi [Mon, 30 Apr 2007 17:08:21 +0000 (13:08 -0400)]
add a udp stream benchmark and a udp loopback benchmark

--HG--
extra : convert_revision : 9300c67a1258e57436eba6cbdbed8fdf93fb6e59

17 years agomake ping actually end
Ali Saidi [Mon, 30 Apr 2007 17:07:05 +0000 (13:07 -0400)]
make ping actually end

--HG--
extra : convert_revision : 6932d050a821abc7871bc73051688a986dcea364

17 years agoMerge zizzer.eecs.umich.edu:/bk/newmem
Nathan Binkert [Fri, 27 Apr 2007 20:59:44 +0000 (13:59 -0700)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into  iceaxe.:/Users/nate/work/m5/incoming

--HG--
extra : convert_revision : d0141a8f2b56be297af3368e3fbdd9600857206d

17 years agogcc 4.1 claims that mem_data might be used uninitialized,
Nathan Binkert [Fri, 27 Apr 2007 20:59:17 +0000 (13:59 -0700)]
gcc 4.1 claims that mem_data might be used uninitialized,
though I don't believe that's true.  Placate it anyway.

--HG--
extra : convert_revision : dcd9427af14f0e7a33510054bee4ecbe73e050be

17 years agoMerge ktlim@zizzer:/bk/newmem
Kevin Lim [Fri, 27 Apr 2007 20:36:38 +0000 (16:36 -0400)]
Merge ktlim@zizzer:/bk/newmem
into  zamp.eecs.umich.edu:/z/ktlim2/clean/tmp/head

--HG--
extra : convert_revision : 63ff3b6efce43f413b1c5560d547513437176d31

17 years agoUpdates for clock changes.
Kevin Lim [Fri, 27 Apr 2007 20:36:19 +0000 (16:36 -0400)]
Updates for clock changes.

--HG--
extra : convert_revision : 88699ba98a738a62204ae4182f7ee5dcab9285eb

17 years agoActually move the time two minutes into the future to make sure
Nathan Binkert [Fri, 27 Apr 2007 19:15:25 +0000 (12:15 -0700)]
Actually move the time two minutes into the future to make sure
that we get the result that we want

--HG--
extra : convert_revision : d3e1aca921705fe8c8b955229c2afcd2aa9b36ea

17 years agowhack the old list of outstanding issues, and put the new list at the top
Nathan Binkert [Fri, 27 Apr 2007 18:53:14 +0000 (11:53 -0700)]
whack the old list of outstanding issues, and put the new list at the top

--HG--
extra : convert_revision : af893f11c43bf0033886c2fda0c0421403f041c2

17 years agoUpdate Alpha reference stats for clock changes.
Kevin Lim [Fri, 27 Apr 2007 18:35:58 +0000 (14:35 -0400)]
Update Alpha reference stats for clock changes.

tests/long/00.gzip/ref/alpha/tru64/o3-timing/config.ini:
tests/long/00.gzip/ref/alpha/tru64/o3-timing/config.out:
tests/long/00.gzip/ref/alpha/tru64/o3-timing/m5stats.txt:
tests/long/00.gzip/ref/alpha/tru64/simple-atomic/config.ini:
tests/long/00.gzip/ref/alpha/tru64/simple-atomic/config.out:
tests/long/00.gzip/ref/alpha/tru64/simple-atomic/m5stats.txt:
tests/long/00.gzip/ref/alpha/tru64/simple-atomic/stderr:
tests/long/00.gzip/ref/alpha/tru64/simple-timing/config.ini:
tests/long/00.gzip/ref/alpha/tru64/simple-timing/config.out:
tests/long/00.gzip/ref/alpha/tru64/simple-timing/m5stats.txt:
tests/long/00.gzip/ref/alpha/tru64/simple-timing/stderr:
tests/long/30.eon/ref/alpha/tru64/o3-timing/config.ini:
tests/long/30.eon/ref/alpha/tru64/o3-timing/config.out:
tests/long/30.eon/ref/alpha/tru64/o3-timing/m5stats.txt:
tests/long/30.eon/ref/alpha/tru64/o3-timing/stdout:
tests/long/30.eon/ref/alpha/tru64/simple-atomic/config.ini:
tests/long/30.eon/ref/alpha/tru64/simple-atomic/config.out:
tests/long/30.eon/ref/alpha/tru64/simple-atomic/m5stats.txt:
tests/long/30.eon/ref/alpha/tru64/simple-atomic/stderr:
tests/long/30.eon/ref/alpha/tru64/simple-atomic/stdout:
tests/long/30.eon/ref/alpha/tru64/simple-timing/config.ini:
tests/long/30.eon/ref/alpha/tru64/simple-timing/config.out:
tests/long/30.eon/ref/alpha/tru64/simple-timing/m5stats.txt:
tests/long/30.eon/ref/alpha/tru64/simple-timing/stderr:
tests/long/30.eon/ref/alpha/tru64/simple-timing/stdout:
tests/long/40.perlbmk/ref/alpha/tru64/simple-atomic/config.ini:
tests/long/40.perlbmk/ref/alpha/tru64/simple-atomic/config.out:
tests/long/40.perlbmk/ref/alpha/tru64/simple-atomic/m5stats.txt:
tests/long/40.perlbmk/ref/alpha/tru64/simple-atomic/stderr:
tests/long/40.perlbmk/ref/alpha/tru64/simple-timing/config.ini:
tests/long/40.perlbmk/ref/alpha/tru64/simple-timing/config.out:
tests/long/40.perlbmk/ref/alpha/tru64/simple-timing/m5stats.txt:
tests/long/40.perlbmk/ref/alpha/tru64/simple-timing/stderr:
tests/long/50.vortex/ref/alpha/tru64/o3-timing/config.ini:
tests/long/50.vortex/ref/alpha/tru64/o3-timing/config.out:
tests/long/50.vortex/ref/alpha/tru64/o3-timing/m5stats.txt:
tests/long/50.vortex/ref/alpha/tru64/o3-timing/smred.msg:
tests/long/50.vortex/ref/alpha/tru64/simple-atomic/config.ini:
tests/long/50.vortex/ref/alpha/tru64/simple-atomic/config.out:
tests/long/50.vortex/ref/alpha/tru64/simple-atomic/m5stats.txt:
tests/long/50.vortex/ref/alpha/tru64/simple-atomic/stderr:
tests/long/50.vortex/ref/alpha/tru64/simple-timing/config.ini:
tests/long/50.vortex/ref/alpha/tru64/simple-timing/config.out:
tests/long/50.vortex/ref/alpha/tru64/simple-timing/m5stats.txt:
tests/long/50.vortex/ref/alpha/tru64/simple-timing/stderr:
tests/long/60.bzip2/ref/alpha/tru64/o3-timing/config.ini:
tests/long/60.bzip2/ref/alpha/tru64/o3-timing/config.out:
tests/long/60.bzip2/ref/alpha/tru64/o3-timing/m5stats.txt:
tests/long/60.bzip2/ref/alpha/tru64/simple-atomic/config.ini:
tests/long/60.bzip2/ref/alpha/tru64/simple-atomic/config.out:
tests/long/60.bzip2/ref/alpha/tru64/simple-atomic/m5stats.txt:
tests/long/60.bzip2/ref/alpha/tru64/simple-atomic/stderr:
tests/long/60.bzip2/ref/alpha/tru64/simple-timing/config.ini:
tests/long/60.bzip2/ref/alpha/tru64/simple-timing/config.out:
tests/long/60.bzip2/ref/alpha/tru64/simple-timing/m5stats.txt:
tests/long/60.bzip2/ref/alpha/tru64/simple-timing/stderr:
tests/long/70.twolf/ref/alpha/tru64/o3-timing/config.ini:
tests/long/70.twolf/ref/alpha/tru64/o3-timing/config.out:
tests/long/70.twolf/ref/alpha/tru64/o3-timing/m5stats.txt:
tests/long/70.twolf/ref/alpha/tru64/simple-atomic/config.ini:
tests/long/70.twolf/ref/alpha/tru64/simple-atomic/config.out:
tests/long/70.twolf/ref/alpha/tru64/simple-atomic/m5stats.txt:
tests/long/70.twolf/ref/alpha/tru64/simple-atomic/smred.out:
tests/long/70.twolf/ref/alpha/tru64/simple-atomic/stderr:
tests/long/70.twolf/ref/alpha/tru64/simple-timing/config.ini:
tests/long/70.twolf/ref/alpha/tru64/simple-timing/config.out:
tests/long/70.twolf/ref/alpha/tru64/simple-timing/m5stats.txt:
tests/long/70.twolf/ref/alpha/tru64/simple-timing/smred.out:
tests/long/70.twolf/ref/alpha/tru64/simple-timing/stderr:
    Update refs for clock changes.

--HG--
extra : convert_revision : 7c32a3362da60fd12b7bf9219842f707319cda42

17 years agoUpdate release notes
Nathan Binkert [Fri, 27 Apr 2007 18:16:20 +0000 (11:16 -0700)]
Update release notes

--HG--
extra : convert_revision : d57ffff1a35443214d8fe24d6388daa99b1d747d

17 years agoMake sure that we don't rebuild libelf stuff that we don't
Nathan Binkert [Fri, 27 Apr 2007 18:15:15 +0000 (11:15 -0700)]
Make sure that we don't rebuild libelf stuff that we don't
have to since it doesn't work well on non-linux

--HG--
extra : convert_revision : 2f1f81f756cccf25f1b2b04e6b5ca4b7a20e96b7

17 years agoFix mutex test script for latest disk image.
Kevin Lim [Thu, 26 Apr 2007 04:10:06 +0000 (00:10 -0400)]
Fix mutex test script for latest disk image.

--HG--
extra : convert_revision : 1b0a251046674db1be8c9a2c026ff8c17f9cea06

17 years agoRemove extra delete that was causing segfault.
Kevin Lim [Thu, 26 Apr 2007 04:07:42 +0000 (00:07 -0400)]
Remove extra delete that was causing segfault.

--HG--
extra : convert_revision : 8a27ed80308c95988f3bc43d670dc0ac9e946d39

17 years agoRemove unnecessary check.
Kevin Lim [Thu, 26 Apr 2007 04:02:37 +0000 (00:02 -0400)]
Remove unnecessary check.

--HG--
extra : convert_revision : 8cc2943ebc41e4d430789ee7923dd0dc878be06b

17 years agoMerge zizzer:/bk/newmem
Ron Dreslinski [Mon, 23 Apr 2007 20:04:15 +0000 (16:04 -0400)]
Merge zizzer:/bk/newmem
into  zazzer.eecs.umich.edu:/z/rdreslin/m5bk/head

--HG--
extra : convert_revision : 73baa280a96cbcf43a32cbb00035005855ee4848

17 years agoFix the splash2 run script
Ron Dreslinski [Mon, 23 Apr 2007 20:03:53 +0000 (16:03 -0400)]
Fix the splash2 run script

--HG--
extra : convert_revision : 2b5f6718ac93d3d1b9b1d1b290f1ff5fa10cd0d8

17 years agoMerge zizzer:/bk/newmem
Lisa Hsu [Mon, 23 Apr 2007 18:41:13 +0000 (14:41 -0400)]
Merge zizzer:/bk/newmem
into  zed.eecs.umich.edu:/z/hsul/work/m5/newmem

--HG--
extra : convert_revision : ab72745ed43ef2925cae82c46d55c8328589731c

17 years agoupdate_refs for ALPHA_FS with new disk image.
Lisa Hsu [Mon, 23 Apr 2007 18:40:46 +0000 (14:40 -0400)]
update_refs for ALPHA_FS with new disk image.

tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-atomic-dual/config.ini:
tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-atomic-dual/config.out:
tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-atomic-dual/m5stats.txt:
tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-atomic-dual/stderr:
tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-atomic-dual/stdout:
tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-atomic/config.ini:
tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-atomic/config.out:
tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-atomic/m5stats.txt:
tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-atomic/stderr:
tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-atomic/stdout:
tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-timing-dual/config.ini:
tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-timing-dual/config.out:
tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-timing-dual/m5stats.txt:
tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-timing-dual/stderr:
tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-timing-dual/stdout:
tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-timing/config.ini:
tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-timing/config.out:
tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-timing/m5stats.txt:
tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-timing/stderr:
tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-timing/stdout:
tests/quick/80.netperf-stream/ref/alpha/linux/twosys-tsunami-simple-atomic/config.ini:
tests/quick/80.netperf-stream/ref/alpha/linux/twosys-tsunami-simple-atomic/config.out:
tests/quick/80.netperf-stream/ref/alpha/linux/twosys-tsunami-simple-atomic/m5stats.txt:
tests/quick/80.netperf-stream/ref/alpha/linux/twosys-tsunami-simple-atomic/stderr:
tests/quick/80.netperf-stream/ref/alpha/linux/twosys-tsunami-simple-atomic/stdout:
    update_refs

--HG--
extra : convert_revision : 942d42bcd0ab962a7dda897e455329bf15105887

17 years agoMerge zizzer:/bk/newmem
Ron Dreslinski [Mon, 23 Apr 2007 18:38:04 +0000 (14:38 -0400)]
Merge zizzer:/bk/newmem
into  zazzer.eecs.umich.edu:/z/rdreslin/m5bk/head

--HG--
extra : convert_revision : 11df5fb2a8f1fa020d042e75b22a7f2f2bcbd9ab

17 years agoUpdate refs for CPU clock changes and O3 CPI/IPC calculation updates.
Kevin Lim [Mon, 23 Apr 2007 16:13:19 +0000 (12:13 -0400)]
Update refs for CPU clock changes and O3 CPI/IPC calculation updates.

tests/quick/00.hello/ref/mips/linux/simple-atomic/config.ini:
tests/quick/00.hello/ref/mips/linux/simple-atomic/config.out:
tests/quick/00.hello/ref/mips/linux/simple-atomic/m5stats.txt:
tests/quick/00.hello/ref/mips/linux/simple-atomic/stdout:
tests/quick/00.hello/ref/mips/linux/simple-timing/config.ini:
tests/quick/00.hello/ref/mips/linux/simple-timing/config.out:
tests/quick/00.hello/ref/mips/linux/simple-timing/m5stats.txt:
tests/quick/00.hello/ref/mips/linux/simple-timing/stdout:
tests/quick/00.hello/ref/sparc/linux/simple-atomic/config.ini:
tests/quick/00.hello/ref/sparc/linux/simple-atomic/config.out:
tests/quick/00.hello/ref/sparc/linux/simple-atomic/m5stats.txt:
tests/quick/00.hello/ref/sparc/linux/simple-atomic/stdout:
tests/quick/00.hello/ref/sparc/linux/simple-timing/config.ini:
tests/quick/00.hello/ref/sparc/linux/simple-timing/config.out:
tests/quick/00.hello/ref/sparc/linux/simple-timing/m5stats.txt:
tests/quick/00.hello/ref/sparc/linux/simple-timing/stdout:
tests/quick/02.insttest/ref/sparc/linux/o3-timing/config.ini:
tests/quick/02.insttest/ref/sparc/linux/o3-timing/config.out:
tests/quick/02.insttest/ref/sparc/linux/o3-timing/m5stats.txt:
tests/quick/02.insttest/ref/sparc/linux/o3-timing/stderr:
tests/quick/02.insttest/ref/sparc/linux/o3-timing/stdout:
tests/quick/02.insttest/ref/sparc/linux/simple-atomic/config.ini:
tests/quick/02.insttest/ref/sparc/linux/simple-atomic/config.out:
tests/quick/02.insttest/ref/sparc/linux/simple-atomic/m5stats.txt:
tests/quick/02.insttest/ref/sparc/linux/simple-atomic/stderr:
tests/quick/02.insttest/ref/sparc/linux/simple-atomic/stdout:
tests/quick/02.insttest/ref/sparc/linux/simple-timing/config.ini:
tests/quick/02.insttest/ref/sparc/linux/simple-timing/config.out:
tests/quick/02.insttest/ref/sparc/linux/simple-timing/m5stats.txt:
tests/quick/02.insttest/ref/sparc/linux/simple-timing/stderr:
tests/quick/02.insttest/ref/sparc/linux/simple-timing/stdout:
    Update refs.

--HG--
extra : convert_revision : 34a0d18f213386700e2acdd1eb9ebc5fa6daa7f5

17 years agoMerge ktlim@zizzer:/bk/newmem
Kevin Lim [Sun, 22 Apr 2007 19:31:33 +0000 (15:31 -0400)]
Merge ktlim@zizzer:/bk/newmem
into  zamp.eecs.umich.edu:/z/ktlim2/clean/tmp/head

--HG--
extra : convert_revision : 05f738ab6cf1e8bd2940f4ce20602f1e8ad1af48

17 years agoUpdated refs for calculating IPC/CPI.
Kevin Lim [Sun, 22 Apr 2007 19:29:59 +0000 (15:29 -0400)]
Updated refs for calculating IPC/CPI.

--HG--
extra : convert_revision : ee8dfee5eaa345dcb08f5d06d054655b1f6f79da

17 years agoUse proper cycles for IPC and CPI equations.
Kevin Lim [Sun, 22 Apr 2007 19:11:54 +0000 (15:11 -0400)]
Use proper cycles for IPC and CPI equations.

src/cpu/o3/cpu.cc:
    Use proper cycles for these equations.

--HG--
extra : convert_revision : cd49410eed978c789d788e80462abed6cb89fbae

17 years agoUpdate refs for new CPU frequency changes.
Kevin Lim [Sun, 22 Apr 2007 18:50:37 +0000 (14:50 -0400)]
Update refs for new CPU frequency changes.

tests/quick/00.hello/ref/alpha/linux/o3-timing/config.ini:
tests/quick/00.hello/ref/alpha/linux/o3-timing/config.out:
tests/quick/00.hello/ref/alpha/linux/o3-timing/m5stats.txt:
tests/quick/00.hello/ref/alpha/linux/o3-timing/stderr:
tests/quick/00.hello/ref/alpha/linux/o3-timing/stdout:
tests/quick/00.hello/ref/alpha/linux/simple-atomic/config.ini:
tests/quick/00.hello/ref/alpha/linux/simple-atomic/config.out:
tests/quick/00.hello/ref/alpha/linux/simple-atomic/m5stats.txt:
tests/quick/00.hello/ref/alpha/linux/simple-atomic/stderr:
tests/quick/00.hello/ref/alpha/linux/simple-atomic/stdout:
tests/quick/00.hello/ref/alpha/linux/simple-timing/config.ini:
tests/quick/00.hello/ref/alpha/linux/simple-timing/config.out:
tests/quick/00.hello/ref/alpha/linux/simple-timing/m5stats.txt:
tests/quick/00.hello/ref/alpha/linux/simple-timing/stderr:
tests/quick/00.hello/ref/alpha/linux/simple-timing/stdout:
tests/quick/00.hello/ref/alpha/tru64/o3-timing/config.ini:
tests/quick/00.hello/ref/alpha/tru64/o3-timing/config.out:
tests/quick/00.hello/ref/alpha/tru64/o3-timing/m5stats.txt:
tests/quick/00.hello/ref/alpha/tru64/o3-timing/stdout:
tests/quick/00.hello/ref/alpha/tru64/simple-atomic/config.ini:
tests/quick/00.hello/ref/alpha/tru64/simple-atomic/config.out:
tests/quick/00.hello/ref/alpha/tru64/simple-atomic/m5stats.txt:
tests/quick/00.hello/ref/alpha/tru64/simple-atomic/stderr:
tests/quick/00.hello/ref/alpha/tru64/simple-atomic/stdout:
tests/quick/00.hello/ref/alpha/tru64/simple-timing/config.ini:
tests/quick/00.hello/ref/alpha/tru64/simple-timing/config.out:
tests/quick/00.hello/ref/alpha/tru64/simple-timing/m5stats.txt:
tests/quick/00.hello/ref/alpha/tru64/simple-timing/stderr:
tests/quick/00.hello/ref/alpha/tru64/simple-timing/stdout:
tests/quick/01.hello-2T-smt/ref/alpha/linux/o3-timing/config.ini:
tests/quick/01.hello-2T-smt/ref/alpha/linux/o3-timing/config.out:
tests/quick/01.hello-2T-smt/ref/alpha/linux/o3-timing/m5stats.txt:
tests/quick/01.hello-2T-smt/ref/alpha/linux/o3-timing/stderr:
tests/quick/01.hello-2T-smt/ref/alpha/linux/o3-timing/stdout:
tests/quick/20.eio-short/ref/alpha/eio/simple-atomic/config.ini:
tests/quick/20.eio-short/ref/alpha/eio/simple-atomic/config.out:
tests/quick/20.eio-short/ref/alpha/eio/simple-atomic/m5stats.txt:
tests/quick/20.eio-short/ref/alpha/eio/simple-atomic/stdout:
tests/quick/20.eio-short/ref/alpha/eio/simple-timing/config.ini:
tests/quick/20.eio-short/ref/alpha/eio/simple-timing/config.out:
tests/quick/20.eio-short/ref/alpha/eio/simple-timing/m5stats.txt:
tests/quick/20.eio-short/ref/alpha/eio/simple-timing/stdout:
tests/quick/50.memtest/ref/alpha/linux/memtest/config.ini:
tests/quick/50.memtest/ref/alpha/linux/memtest/config.out:
tests/quick/50.memtest/ref/alpha/linux/memtest/m5stats.txt:
tests/quick/50.memtest/ref/alpha/linux/memtest/stdout:
    Update refs

--HG--
extra : convert_revision : 8d9deb2b907843064b40e46207d9c9361941f022

17 years agoUpdate configs to set the CPU clock properly.
Kevin Lim [Sun, 22 Apr 2007 18:39:39 +0000 (14:39 -0400)]
Update configs to set the CPU clock properly.

--HG--
extra : convert_revision : 62fec666f987e9a9a441e319458908483cd2c5ff

17 years agoMerge zizzer:/bk/newmem
Ali Saidi [Sat, 21 Apr 2007 23:12:13 +0000 (19:12 -0400)]
Merge zizzer:/bk/newmem
into  zeep.pool:/tmp/newmem

--HG--
extra : convert_revision : 8f173d3522e2e8847e51dfab48f35e34e6d3c1a7

17 years agofixes for solaris compile
Ali Saidi [Sat, 21 Apr 2007 23:11:38 +0000 (19:11 -0400)]
fixes for solaris compile

--HG--
extra : convert_revision : c82a62a61650e3700d237da917c453e5a9676320

17 years agocreate base/fenv.c to standerdize fenv across platforms. It's a c file and not a...
Ali Saidi [Sat, 21 Apr 2007 21:50:47 +0000 (17:50 -0400)]
create base/fenv.c to standerdize fenv across platforms. It's a c file and not a cpp file because c99
(which defines fenv) doesn't necessarily extend to c++ and it is a problem with solaris. If really
desired this could wrap the ieeefp interface found in bsd* as well, but I see no need at the moment.

src/arch/alpha/isa/fp.isa:
src/arch/sparc/isa/formats/basic.isa:
    use m5_fesetround()/m5_fegetround() istead of fenv interface directly
src/arch/sparc/isa/includes.isa:
    use base/fenv instead of fenv directly
src/base/SConscript:
    add fenv to sconscript
src/base/fenv.hh:
src/base/random.cc:
    m5 implementation to standerdize fenv across platforms.

--HG--
extra : convert_revision : 38d2629affd964dcd1a5ab0db4ac3cb21438e72c

17 years agospec-surge-client.rcS:
Lisa Hsu [Sat, 21 Apr 2007 00:21:59 +0000 (20:21 -0400)]
spec-surge-client.rcS:
fix script to reflect new benchmark directory sturcture

configs/boot/spec-surge-client.rcS:
    fix script to reflect new benchmark directory sturcture

--HG--
extra : convert_revision : 45f9d8aebabd1f3f8d1e826e07840e2365511a35

17 years agoupdate the stuff that's removed from the SConscripts
Nathan Binkert [Wed, 18 Apr 2007 23:56:06 +0000 (16:56 -0700)]
update the stuff that's removed from the SConscripts
since things have moved around a bit

--HG--
extra : convert_revision : 79322a65af6140d0c41aed0b381587eb05d72fd9

17 years agoMove the turbolaser python simobject stuff into the
Nathan Binkert [Wed, 18 Apr 2007 18:15:52 +0000 (11:15 -0700)]
Move the turbolaser python simobject stuff into the
encumbered directory

--HG--
extra : convert_revision : 7062ce81183b989f0d922b00d02433633474a854

17 years agofix SIGUSR1 and SIGUSR2 by clearing the variables after
Nathan Binkert [Wed, 18 Apr 2007 15:04:46 +0000 (08:04 -0700)]
fix SIGUSR1 and SIGUSR2 by clearing the variables after
they're used

--HG--
extra : convert_revision : ed5351f291d45d585bf811a062e162e16b86e886

17 years agoMerge zizzer:/bk/newmem
Ron Dreslinski [Mon, 16 Apr 2007 15:32:09 +0000 (11:32 -0400)]
Merge zizzer:/bk/newmem
into  zazzer.eecs.umich.edu:/z/rdreslin/m5bk/head

--HG--
extra : convert_revision : 8630b3771678b68d5cd12a61f7a4de2e3443a8d7

17 years agoFixes for splash, may conflict with Korey's SMT work and doesn't support 03cpu yet.
Ron Dreslinski [Mon, 16 Apr 2007 15:31:54 +0000 (11:31 -0400)]
Fixes for splash, may conflict with Korey's SMT work and doesn't support 03cpu yet.

src/cpu/simple/base.cc:
    Cpu's should start as unallocated, not suspended
src/cpu/simple_thread.cc:
    Wait for a thread to be assigned to activate the cpu
src/kern/tru64/tru64.hh:
    When looking for a open cpu to assign threads, look for an unallocated one, not a suspended one.

--HG--
extra : convert_revision : 5e3ad2e96b4a715ed38293ceaccff5b9f4ea7985

17 years agoMerge ktlim@zizzer:/bk/newmem
Kevin Lim [Mon, 16 Apr 2007 02:40:18 +0000 (22:40 -0400)]
Merge ktlim@zizzer:/bk/newmem
into  zamp.eecs.umich.edu:/z/ktlim2/clean/tmp/head

--HG--
extra : convert_revision : fd9a2d0e833dd47f55aad9c50c68431bc6d3e0a7

17 years agoUpdate long test refs.
Kevin Lim [Mon, 16 Apr 2007 02:29:37 +0000 (22:29 -0400)]
Update long test refs.

tests/long/00.gzip/ref/alpha/tru64/o3-timing/config.ini:
tests/long/00.gzip/ref/alpha/tru64/o3-timing/config.out:
tests/long/00.gzip/ref/alpha/tru64/o3-timing/m5stats.txt:
tests/long/00.gzip/ref/alpha/tru64/o3-timing/stderr:
tests/long/30.eon/ref/alpha/tru64/o3-timing/config.ini:
tests/long/30.eon/ref/alpha/tru64/o3-timing/config.out:
tests/long/30.eon/ref/alpha/tru64/o3-timing/m5stats.txt:
tests/long/30.eon/ref/alpha/tru64/o3-timing/stderr:
tests/long/50.vortex/ref/alpha/tru64/o3-timing/config.ini:
tests/long/50.vortex/ref/alpha/tru64/o3-timing/config.out:
tests/long/50.vortex/ref/alpha/tru64/o3-timing/m5stats.txt:
tests/long/50.vortex/ref/alpha/tru64/o3-timing/stderr:
tests/long/60.bzip2/ref/alpha/tru64/o3-timing/config.ini:
tests/long/60.bzip2/ref/alpha/tru64/o3-timing/config.out:
tests/long/60.bzip2/ref/alpha/tru64/o3-timing/m5stats.txt:
tests/long/60.bzip2/ref/alpha/tru64/o3-timing/stderr:
tests/long/70.twolf/ref/alpha/tru64/o3-timing/config.ini:
tests/long/70.twolf/ref/alpha/tru64/o3-timing/config.out:
tests/long/70.twolf/ref/alpha/tru64/o3-timing/m5stats.txt:
tests/long/70.twolf/ref/alpha/tru64/o3-timing/smred.out:
tests/long/70.twolf/ref/alpha/tru64/o3-timing/stderr:
    Update refs.

--HG--
extra : convert_revision : 19483a5a18e76338a3208a58d7460a922377acd3

17 years agoMerge zizzer:/bk/newmem
Ali Saidi [Fri, 13 Apr 2007 17:34:04 +0000 (13:34 -0400)]
Merge zizzer:/bk/newmem
into  udhcp-macvpn-501.public.engin.umich.edu:/Users/ali/work/m5.newmem

--HG--
extra : convert_revision : 38c2427790d27c64e69ac3223e76cabeeb765904

17 years agotake a first stab at the release notes
Ali Saidi [Fri, 13 Apr 2007 17:33:32 +0000 (13:33 -0400)]
take a first stab at the release notes

AUTHORS:
    add sparc full system support to my list of accolades

--HG--
extra : convert_revision : 1d3afaae2502306e44cd7fb251e763931a7e3ae9

17 years agoCompletely re-work how the scons framework incorporates swig
Nathan Binkert [Fri, 13 Apr 2007 04:20:04 +0000 (21:20 -0700)]
Completely re-work how the scons framework incorporates swig
and python code into m5 to allow swig an python code to
easily added by any SConscript instead of just the one in
src/python.  This provides SwigSource and PySource for
adding new files to m5 (similar to Source for C++).  Also
provides SimObject for including files that contain SimObject
information and build the m5.objects __init__.py file.

--HG--
extra : convert_revision : 38b50a0629846ef451ed02f96fe3633947df23eb

17 years agoDon't allow Source to accept multiple arguments, lists,
Nathan Binkert [Thu, 12 Apr 2007 16:07:59 +0000 (09:07 -0700)]
Don't allow Source to accept multiple arguments, lists,
or automatically do Split().  It isn't used anywhere, and
isn't very consistent with the python features that are
about to be added.  Do accept SCons.Node.FS.File arguments
though.

--HG--
extra : convert_revision : 0f3bb0e9e6806490330eea59a104013042b4dd49

17 years agoFix NextEthernetAddr.
Nathan Binkert [Thu, 12 Apr 2007 15:37:55 +0000 (08:37 -0700)]
Fix NextEthernetAddr.
unproxy() needs to return a new object otherwise all
instances will use the same value.  This fix is more
or less unique to NextEthernetAddr because its use of
the proxy stuff is a bit different than everything else.

--HG--
extra : convert_revision : 2ce452e37d00b9ba76b6abfaec0ad2e0073920d7

17 years agoAdd a scons hack to force symlinks to the swig .i files
Nathan Binkert [Thu, 12 Apr 2007 15:35:19 +0000 (08:35 -0700)]
Add a scons hack to force symlinks to the swig .i files
to be created

--HG--
extra : convert_revision : 826cc692614528f987c80c3410cb025190f0a4e0

17 years agoMerge zizzer.eecs.umich.edu:/bk/newmem
Gabe Black [Wed, 11 Apr 2007 15:30:09 +0000 (15:30 +0000)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into  ahchoo.blinky.homelinux.org:/home/gblack/m5/newmem-o3-spec

--HG--
extra : convert_revision : 50102b96ba07b2b132d649a111268ee1f08c2147

17 years agoMake trying to execute macroops fail with a better error message.
Gabe Black [Wed, 11 Apr 2007 12:26:23 +0000 (12:26 +0000)]
Make trying to execute macroops fail with a better error message.

--HG--
extra : convert_revision : e81c0337d6db4b5a33381ed19686750bbb9d9178

17 years agoCreate a filter and a union to translate the SPARC instruction implementations from...
Gabe Black [Wed, 11 Apr 2007 12:25:00 +0000 (12:25 +0000)]
Create a filter and a union to translate the SPARC instruction implementations from using doubles to using concatenated singles.

--HG--
extra : convert_revision : 609ba35bbb13cbd1998e93957cb051461442d1f9

17 years agoMerge zizzer.eecs.umich.edu:/bk/newmem
Gabe Black [Tue, 10 Apr 2007 17:27:33 +0000 (17:27 +0000)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into  ahchoo.blinky.homelinux.org:/home/gblack/m5/newmem-x86

--HG--
extra : convert_revision : c5275ef3e53393496a2ebe05b2f516884bb392f9

17 years agoEven if you don't want to fetch more bytes, make sure you handle a fault.
Gabe Black [Tue, 10 Apr 2007 17:27:12 +0000 (17:27 +0000)]
Even if you don't want to fetch more bytes, make sure you handle a fault.

--HG--
extra : convert_revision : cfebc877b9b2ebc8927ce8267867eb40ad6d59c6

17 years agoInclude the new GenFault microop.
Gabe Black [Tue, 10 Apr 2007 17:26:04 +0000 (17:26 +0000)]
Include the new GenFault microop.

--HG--
extra : convert_revision : 6c943329525d2a01f35ad5e56ff91505d5011d7b

17 years agoReworked x86 a bit
Gabe Black [Tue, 10 Apr 2007 17:25:15 +0000 (17:25 +0000)]
Reworked x86 a bit

--HG--
extra : convert_revision : def1a30e54b59c718c451a631a1be6f8e787e843

17 years agoUpdated for the new instruction stubs.
Gabe Black [Tue, 10 Apr 2007 17:23:47 +0000 (17:23 +0000)]
Updated for the new instruction stubs.

--HG--
extra : convert_revision : c85799c9093d8e9efba0744c8768196879974b74

17 years agoChanged some instruction names to be in all caps, and "implemented" move to test...
Gabe Black [Tue, 10 Apr 2007 17:22:45 +0000 (17:22 +0000)]
Changed some instruction names to be in all caps, and "implemented" move to test the stub code for instructions.

--HG--
extra : convert_revision : a377daf20545dfcbb0f97d8cafbe3d68416dc4b2

17 years agoAdded stub implementations of the x86 instructions categorized like they are in the...
Gabe Black [Tue, 10 Apr 2007 17:18:59 +0000 (17:18 +0000)]
Added stub implementations of the x86 instructions categorized like they are in the AMD64 manuals' instruction summary in volume 1.

--HG--
extra : convert_revision : 47b1d9aa0c88f6832f14ab68df174263d0d1eda9

17 years agoA new microop which generates a specified fault.
Gabe Black [Tue, 10 Apr 2007 17:16:22 +0000 (17:16 +0000)]
A new microop which generates a specified fault.

--HG--
extra : convert_revision : c5c59f82553ffae273c95ea777e21e85648a4f98

17 years agoAdded a class which lets you manipulate all the strings returned by the parser as...
Gabe Black [Tue, 10 Apr 2007 17:14:51 +0000 (17:14 +0000)]
Added a class which lets you manipulate all the strings returned by the parser as a unit.

--HG--
extra : convert_revision : eec4b188b44b80cee643542bbd1aaa139cbc4ef0

17 years agoFix up the base x86 fault object and create a fault to be generated by unimplemented...
Gabe Black [Tue, 10 Apr 2007 17:13:26 +0000 (17:13 +0000)]
Fix up the base x86 fault object and create a fault to be generated by unimplemented instructions in their microcode. This is useful if certain variations of an instruction are implemented, but, for instance, it's memory based versions aren't.

--HG--
extra : convert_revision : 24e69c5a6a0af2d0cf67e858a051ae6624bb300f

17 years agoMerge zizzer.eecs.umich.edu:/bk/newmem
Gabe Black [Tue, 10 Apr 2007 01:53:04 +0000 (01:53 +0000)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into  ahchoo.blinky.homelinux.org:/home/gblack/m5/newmem-o3-spec

--HG--
extra : convert_revision : 247fc298ba8ea1ea38ee2e906aa84bb5bc3f4592

17 years agoFixed a compile error.
Gabe Black [Tue, 10 Apr 2007 01:52:38 +0000 (01:52 +0000)]
Fixed a compile error.

--HG--
extra : convert_revision : 70221349a7100c89be0d03210f3b04950370583f

17 years agoadd code to whack the intel gbe model from the relase.... it's not tested and it...
Ali Saidi [Mon, 9 Apr 2007 22:49:02 +0000 (18:49 -0400)]
add code to whack the intel gbe model from the relase.... it's not tested and it's configuration is a hack

--HG--
extra : convert_revision : b65cd6d9b45a67ba64ea398cf0c0ce28f91c7e27

17 years agoComment out the remote gdb object for SE mode.
Gabe Black [Mon, 9 Apr 2007 18:30:50 +0000 (18:30 +0000)]
Comment out the remote gdb object for SE mode.

--HG--
extra : convert_revision : a582684f3a2dd1d1d0d8b93a9e213d9108491535

17 years agoMerge ktlim@zizzer:/bk/newmem
Kevin Lim [Mon, 9 Apr 2007 18:30:49 +0000 (14:30 -0400)]
Merge ktlim@zizzer:/bk/newmem
into  zamp.eecs.umich.edu:/z/ktlim2/clean/tmp/head

--HG--
extra : convert_revision : a250eed999be9b8acd6f420fdfe8f1b02905beb1

17 years agoFix bug when blocking due to no free registers.
Kevin Lim [Mon, 9 Apr 2007 18:29:59 +0000 (14:29 -0400)]
Fix bug when blocking due to no free registers.

--HG--
extra : convert_revision : a1a218d3294515184689041487057495223360b7

17 years agoMerge zizzer.eecs.umich.edu:/bk/newmem
Gabe Black [Mon, 9 Apr 2007 07:59:57 +0000 (07:59 +0000)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into  ahchoo.blinky.homelinux.org:/home/gblack/m5/newmem-x86

--HG--
extra : convert_revision : 1396ed5b264d29377ef9793a763225a93181f65f

17 years agoAdded SPARC o3 insttest regression.
Gabe Black [Mon, 9 Apr 2007 07:59:56 +0000 (03:59 -0400)]
Added SPARC o3 insttest regression.

--HG--
extra : convert_revision : b008b4bda60ced329df9b700ff9b0a978e2d3b19

17 years agoAdded SPARC simple timing regression for insttest
Gabe Black [Mon, 9 Apr 2007 07:52:15 +0000 (03:52 -0400)]
Added SPARC simple timing regression for insttest

--HG--
extra : convert_revision : cb490fd6f1be73b57dceb93edf83d7edc4a67beb

17 years agoMake SPARC build o3 by default.
Gabe Black [Mon, 9 Apr 2007 07:40:21 +0000 (03:40 -0400)]
Make SPARC build o3 by default.

--HG--
extra : convert_revision : 7be49f9d395094d849d8da59b0fd4efe962fb201

17 years agoAccidentally didn't save when moving the specialization code out of here.
Gabe Black [Mon, 9 Apr 2007 01:08:05 +0000 (01:08 +0000)]
Accidentally didn't save when moving the specialization code out of here.

--HG--
extra : convert_revision : 1ffe0c497e10fef1eb84b3c97c00b98d820fbb97

17 years agoTake into account that the flattened integer register space is a different size than...
Gabe Black [Sun, 8 Apr 2007 23:31:11 +0000 (23:31 +0000)]
Take into account that the flattened integer register space is a different size than the architected one. Also fixed some asserts.

--HG--
extra : convert_revision : 26e7863919d1b976ba8cad747af475a6f18e9440

17 years agoMerge zizzer.eecs.umich.edu:/bk/newmem
Gabe Black [Sun, 8 Apr 2007 01:54:08 +0000 (01:54 +0000)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into  ahchoo.blinky.homelinux.org:/home/gblack/m5/newmem-o3-spec

--HG--
extra : convert_revision : dba3542ab73cc8ae46347a14ae4c133f1276011c

17 years agoGet the "hard" SPARC instructions working in o3. I don't like that the IsStoreConditi...
Gabe Black [Sun, 8 Apr 2007 01:42:42 +0000 (01:42 +0000)]
Get the "hard" SPARC instructions working in o3. I don't like that the IsStoreConditional flag needs to be set for them because they aren't store conditional instructions, and I should fix the format code which is not handling the opt_flags correctly.

--HG--
extra : convert_revision : cfd32808592832d7b6fbdaace5ae7b17c8a246e9

17 years agoMove the instruction specialization stuff out of the microassembler file, and added...
Gabe Black [Fri, 6 Apr 2007 16:55:56 +0000 (16:55 +0000)]
Move the instruction specialization stuff out of the microassembler file, and added some comments to main.isa

--HG--
extra : convert_revision : 1534ae7d5a9e95bf662d79a04f9286c227541c6c

17 years agoMerge zizzer.eecs.umich.edu:/bk/newmem
Gabe Black [Fri, 6 Apr 2007 16:39:47 +0000 (16:39 +0000)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into  ahchoo.blinky.homelinux.org:/home/gblack/m5/newmem-x86

--HG--
extra : convert_revision : 8e624bb95cb9f478ca7ac1dbbd64e20674e3e224

17 years agoConsolidated the microcode assembler to help separate it from more x86-centric stuff.
Gabe Black [Fri, 6 Apr 2007 16:39:25 +0000 (16:39 +0000)]
Consolidated the microcode assembler to help separate it from more x86-centric stuff.

--HG--
extra : convert_revision : 5e7e8026e24ce44a3dac4a358e0c3e5560685958

17 years agoRefactored the x86 isa description some more. There should be more seperation between...
Gabe Black [Fri, 6 Apr 2007 16:00:56 +0000 (16:00 +0000)]
Refactored the x86 isa description some more. There should be more seperation between x86 specific parts, and those parts which are implemented in the isa description but could eventually be moved elsewhere.

--HG--
rename : src/arch/x86/isa/formats/macroop.isa => src/arch/x86/isa/macroop.isa
extra : convert_revision : 5ab40eedf574fce438d9fe90e00a496dc95c8bcf

17 years agoClean up the code a little, fix (I think) a perceived problem with immediate sizes...
Gabe Black [Fri, 6 Apr 2007 15:19:23 +0000 (15:19 +0000)]
Clean up the code a little, fix (I think) a perceived problem with immediate sizes, and sign extend the 32-bit-acting-like-64-bit-immediates.

--HG--
extra : convert_revision : e59b747198cc79d50045bd2dc45b2e2b97bbffcc

17 years agoAdd in a stub merging function
Gabe Black [Fri, 6 Apr 2007 15:16:36 +0000 (15:16 +0000)]
Add in a stub merging function

--HG--
extra : convert_revision : 15e3cdb4ebcd31bc44204687ba59dde00c56c6be

17 years agoClean up the macroop code.
Gabe Black [Fri, 6 Apr 2007 15:15:36 +0000 (15:15 +0000)]
Clean up the macroop code.

--HG--
extra : convert_revision : 3cf83c3e038fece6190dbb91f56deb0498c9a70d

17 years agoMerge zizzer.eecs.umich.edu:/bk/newmem
Gabe Black [Fri, 6 Apr 2007 14:37:46 +0000 (14:37 +0000)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into  ahchoo.blinky.homelinux.org:/home/gblack/m5/newmem-o3-spec

--HG--
extra : convert_revision : b7e89d32df946ea24c438292308f5fc8248f8bd9

17 years agoMerge zizzer.eecs.umich.edu:/bk/newmem
Gabe Black [Thu, 5 Apr 2007 11:35:31 +0000 (11:35 +0000)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into  ahchoo.blinky.homelinux.org:/home/gblack/m5/newmem-x86

--HG--
extra : convert_revision : efdbf9787383dc1df544b7276f8120285e69bf69

17 years agoThe process of going from an instruction definition to an instruction to be returned...
Gabe Black [Wed, 4 Apr 2007 23:35:20 +0000 (23:35 +0000)]
The process of going from an instruction definition to an instruction to be returned by the decoder has been fleshed out more. The following steps describe how an instruction implementation becomes a StaticInst.

1. Microops are created. These are StaticInsts use templates to provide a basic form of polymorphism without having to make the microassembler smarter.
2. An instruction class is created which has a "templated" microcode program as it's docstring. The template parameters are refernced with ^ following by a number.
3. An instruction in the decoder references an instruction template using it's mnemonic. The parameters to it's format end up replacing the placeholders. These parameters describe a source for an operand which could be memory, a register, or an immediate. It it's a register, the register index is used. If it's memory, eventually a load/store will be pre/postpended to the instruction template and it's destination register will be used in place of the ^. If it's an immediate, the immediate is used. Some operand types, specifically those that come from the ModRM byte, need to be decoded further into memory vs. register versions. This is accomplished by making the decode_block text for these instructions another case statement based off ModRM.
4. Once all of the template parameters have been handled, the instruction goes throw the microcode assembler which resolves labels and creates a list of python op objects. If an operand is a register, it uses a % prefix, an immediate uses $, and a label uses @. If the operand is just letters, numbers, and underscores, it can appear immediately after the prefix. If it's not, it can be encolsed in non nested {}s.
5. If there is a single "op" object (which corresponds to a single microop) the decoder is set up to return it directly. If not, a macroop wrapper is created around it.

In the future, I'm considering seperating the operand type specialization from the template substitution step. A problem this introduces is that either the template arguments need to be kept around for the specialization step, or they need to be re-extracted. Re-extraction might be the way to go so that the operand formats can be coded directly into the micro assembler template without having to pass them in as parameters. I don't know if that's actually useful, though.

src/arch/x86/isa/decoder/one_byte_opcodes.isa:
src/arch/x86/isa/microasm.isa:
src/arch/x86/isa/microops/microops.isa:
src/arch/x86/isa/operands.isa:
src/arch/x86/isa/microops/base.isa:
    Implemented polymorphic microops and changed around the microcode assembler syntax.

--HG--
extra : convert_revision : e341f7b8ea9350a31e586a3d33250137e5954f43

17 years agoFix a regular expression problem when recognizing labels for string substitution.
Gabe Black [Wed, 4 Apr 2007 23:19:32 +0000 (23:19 +0000)]
Fix a regular expression problem when recognizing labels for string substitution.

--HG--
extra : convert_revision : ba398e1b434efda28882f159d5a4419302276371

17 years agoMerge zizzer.eecs.umich.edu:/bk/newmem
Gabe Black [Wed, 4 Apr 2007 20:50:49 +0000 (20:50 +0000)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into  ahchoo.blinky.homelinux.org:/home/gblack/m5/newmem-o3-spec

--HG--
extra : convert_revision : 81269f094834f43b4e908321bfce2e031b39d2a4

17 years agoUpdates for other ISA cpu_builders.
Kevin Lim [Wed, 4 Apr 2007 20:50:48 +0000 (16:50 -0400)]
Updates for other ISA cpu_builders.

--HG--
extra : convert_revision : b02736c627bb9dcf87463a9133e04369b9f8fae2

17 years agoMerge ktlim@zizzer:/bk/newmem
Kevin Lim [Wed, 4 Apr 2007 19:39:13 +0000 (15:39 -0400)]
Merge ktlim@zizzer:/bk/newmem
into  zamp.eecs.umich.edu:/z/ktlim2/clean/tmp/head

--HG--
extra : convert_revision : 7181d8c2ee673322372484cf288a94ebd91b5265

17 years agoPass ISA-specific O3 CPU as a constructor parameter instead of using setCPU functions.
Kevin Lim [Wed, 4 Apr 2007 19:38:59 +0000 (15:38 -0400)]
Pass ISA-specific O3 CPU as a constructor parameter instead of using setCPU functions.

src/cpu/o3/alpha/cpu_impl.hh:
    Pass ISA-specific O3 CPU to FullO3CPU as a constructor parameter instead of using setCPU functions.

--HG--
extra : convert_revision : 74f4b1f5fb6f95a56081f367cce7ff44acb5688a