Gabe Black [Thu, 29 Mar 2007 22:41:20 +0000 (17:41 -0500)]
Added SPARC_SE simple timing twolf regression.
--HG--
extra : convert_revision :
289aadd4bc762a5a9e7a82ee15196ebdea2521e5
Gabe Black [Thu, 29 Mar 2007 17:57:17 +0000 (12:57 -0500)]
Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/newmem
into zizzer.eecs.umich.edu:/.automount/wexford/x/gblack/m5/newmem-vortex
--HG--
extra : convert_revision :
709766f1a1a2347c92d4f508e38b9602c1030717
Gabe Black [Thu, 29 Mar 2007 17:53:36 +0000 (12:53 -0500)]
Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/newmem
into zizzer.eecs.umich.edu:/.automount/wexford/x/gblack/m5/newmem-vortex
--HG--
extra : convert_revision :
7efa5fe80ef75155685b93453e967a1115318b9d
Gabe Black [Thu, 29 Mar 2007 17:52:09 +0000 (12:52 -0500)]
Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/newmem
into zizzer.eecs.umich.edu:/.automount/wexford/x/gblack/m5/newmem-gzip
--HG--
extra : convert_revision :
39cf24fe19cd48306baef1ef147a3f4738d0fe8a
Gabe Black [Thu, 29 Mar 2007 17:51:12 +0000 (12:51 -0500)]
Added SPARC_SE simple timing vortex regression.
--HG--
extra : convert_revision :
12a2fc0b43cfa72747c1ef24d124979e43b166c7
Gabe Black [Thu, 29 Mar 2007 17:49:59 +0000 (12:49 -0500)]
Added SPARC_SE simple timing gzip regression.
--HG--
extra : convert_revision :
3d5f5f991c9b0c1c07499a2013119240cae5870f
Kevin Lim [Thu, 29 Mar 2007 16:25:47 +0000 (12:25 -0400)]
Override addPrivateSplitL1Caches function in order to automatically set the tgts_per_mshr of the caches to 20. This is needed otherwise things will potentially lock up when using the O3CPU because the caches can run out of targets, and then not respond.
Remove this hack once the caches eventually get fixed.
--HG--
extra : convert_revision :
8c61ac1b6182f57ebbe3bcfeddb5a4f4334d7bc0
Kevin Lim [Thu, 29 Mar 2007 16:02:57 +0000 (12:02 -0400)]
Update code so that the O3 CPU can handle not initially having anything hooked up to its ports. This fixes the segfault Ali recently found when using sampling.
src/cpu/o3/fetch.hh:
src/cpu/o3/fetch_impl.hh:
Update code so that the O3 CPU can handle not initially having anything hooked up to its ports.
--HG--
extra : convert_revision :
04bcef44e754735d821509ebd69b0ef9c8ef8e2c
Gabe Black [Thu, 29 Mar 2007 07:51:34 +0000 (00:51 -0700)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into ewok.(none):/home/gblack/m5/newmem-x86
--HG--
extra : convert_revision :
849b63ae1300e240082da19dfeb283cdeeb80aef
Gabe Black [Thu, 29 Mar 2007 07:50:54 +0000 (00:50 -0700)]
Fidget with the syntax of the MultiOp format in anticipation of making it actually work.
--HG--
extra : convert_revision :
f62a1f035cc11677df8eb5a839ca1247d819fab3
Gabe Black [Thu, 29 Mar 2007 07:49:53 +0000 (00:49 -0700)]
Add code to generate register and immediate based integer op microop classes.
--HG--
extra : convert_revision :
718f941da74dd3b4557cd21e1772879ac21aa9c6
Gabe Black [Thu, 29 Mar 2007 07:47:46 +0000 (00:47 -0700)]
Allow "let" blocks to add code to the output files.
--HG--
extra : convert_revision :
0ffddb2b40dccbf2a3790464c843cfc1b43eaa02
Ron Dreslinski [Wed, 28 Mar 2007 19:38:11 +0000 (14:38 -0500)]
Call compare and Swap on the target, not the response.
--HG--
extra : convert_revision :
522805fe2c9abaa5ba0d9262ad98f841d90f6452
Ron Dreslinski [Tue, 27 Mar 2007 22:06:07 +0000 (17:06 -0500)]
Merge zizzer:/bk/newmem
into zazzer.eecs.umich.edu:/z/rdreslin/m5bk/head
--HG--
extra : convert_revision :
45b64b1564f0e4958d8441455f87b2b185324d55
Ron Dreslinski [Tue, 27 Mar 2007 22:05:25 +0000 (17:05 -0500)]
First Pass At Cmp/Swap in caches
--HG--
extra : convert_revision :
211bfb7c6a59e9e120dae1600d4754baaf231332
Nathan Binkert [Tue, 27 Mar 2007 04:07:32 +0000 (21:07 -0700)]
Instead of creating a new python process to run traceflags.py,
just directly exec the file and generate the flags
--HG--
extra : convert_revision :
d648ca7348404ded5337db327adafccbd2ae40c8
Ali Saidi [Mon, 26 Mar 2007 22:40:30 +0000 (18:40 -0400)]
Merge zizzer:/bk/newmem
into zeep.pool:/z/saidi/work/m5.newmem
--HG--
extra : convert_revision :
4b60e96e8dc9c69842514e29925ec1931597ddb4
Ali Saidi [Mon, 26 Mar 2007 22:40:18 +0000 (18:40 -0400)]
first bit of life from the intel gigabit model
--HG--
extra : convert_revision :
d8944a53f6b585df21651c4e624518d5c49a7837
Kevin Lim [Sun, 25 Mar 2007 05:05:48 +0000 (01:05 -0400)]
Update stats for changes.
--HG--
extra : convert_revision :
a24c4cd7e2fcd732f5da5679f0c0fbf205f22815
Kevin Lim [Sun, 25 Mar 2007 04:47:14 +0000 (23:47 -0500)]
Update for new trace data behavior.
--HG--
extra : convert_revision :
c3df20c5187614febc4cc9f4d4c68bfecfba1ea7
Kevin Lim [Sat, 24 Mar 2007 18:00:16 +0000 (14:00 -0400)]
Merge ktlim@zizzer:/bk/newmem
into zamp.eecs.umich.edu:/z/ktlim2/clean/tmp/clean2
--HG--
extra : convert_revision :
f3d193dd1e0b82c496d8224f014123b7cb028c02
Gabe Black [Sat, 24 Mar 2007 07:14:24 +0000 (02:14 -0500)]
Added a SPARC_SE simple atomic regression for the mcf benchmark.
--HG--
extra : convert_revision :
2284e41c03659db8fc8f284f7d9b587a3708fadf
Gabe Black [Sat, 24 Mar 2007 01:47:03 +0000 (21:47 -0400)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into zower.eecs.umich.edu:/home/gblack/m5/newmem-o3-spec
--HG--
extra : convert_revision :
6b1c8025d29f3e8f90906805dd51a5d523d56004
Kevin Lim [Fri, 23 Mar 2007 17:20:19 +0000 (13:20 -0400)]
Merge ktlim@zizzer:/bk/newmem
into zamp.eecs.umich.edu:/z/ktlim2/clean/tmp/clean2
src/cpu/base_dyn_inst.hh:
Hand merge. Line is no longer needed because it's handled in the ISA.
--HG--
extra : convert_revision :
0be4067aa38759a5631c6940f0167d48fde2b680
Kevin Lim [Fri, 23 Mar 2007 17:14:05 +0000 (13:14 -0400)]
Make hardware loads/stores serializing; they need to avoid certain out-of-order interactions in the 21264.
--HG--
extra : convert_revision :
d83940af7d0e8efe891d574ac42c6d70d179e2b1
Kevin Lim [Fri, 23 Mar 2007 17:13:10 +0000 (13:13 -0400)]
Updates for commit.
1. Move interrupt handling to a separate function to clean up main commit() function a bit. Also gate the function call off properly based on whether or not there are outstanding interrupts, and the system is not in PAL mode.
2. Better handling of updating instruction's status bits. Instructions are not marked "atCommit" until other stages view it (pushed off to IEW/IQ), and they have been properly handled (faults).
3. Don't consider the ROB "empty" for the purpose of other stages until the ROB is empty, all stores have written back, and there was no store commits this cycle. The last is necessary in case a store committed, in which case it would look like all stores have written back but in actuality have not.
src/cpu/o3/commit.hh:
Slightly modify how interrupts are handled. Also include some extra bools to keep track of state properly.
src/cpu/o3/commit_impl.hh:
Slightly modify how interrupts are handled. Also include some extra bools to keep track of state.
General correctness updates, most specifically for when commit broadcasts to other stages that the ROB is empty.
--HG--
extra : convert_revision :
682ec6ccf4ee6ed0c8a030ceaba1c90a3619d102
Kevin Lim [Fri, 23 Mar 2007 17:09:37 +0000 (13:09 -0400)]
3 memory system fixes:
1. Update packet's flags properly when a snoop happens
2. Don't allow accesses to read a block's data if the block has outstanding MSHRs. This avoids a RAW hazard in MP systems that the memory system was not detecting properly earlier (a write required a block to upgrade, and while the upgrade was outstanding, a read came along and read old data).
3. Update MSHR's request upon a response being handled. If the MSHR has more targets than it can respond to in one cycle, then its request must be properly updated to the new head of the targets list.
src/mem/bus.cc:
Update packet's flags properly upon snoop.
src/mem/cache/cache_impl.hh:
Be sure to not allow accesses to a block with outstanding MSHRs.
src/mem/cache/miss/miss_queue.cc:
Update MSHR's request upon a response being handled.
--HG--
extra : convert_revision :
76a9abc610ca3f1904f075ad21637148a41982d6
Kevin Lim [Fri, 23 Mar 2007 15:40:53 +0000 (11:40 -0400)]
Handle status bits a little better, as well as non-speculative instructions.
src/cpu/o3/iew_impl.hh:
Allow for slightly more flexible handling of non-speculative instructions. They can be other classes now, such as loads or stores.
Also be sure to clear the state associated with squashes that are not used. i.e. if a squash due to a memory ordering violation happens on the same cycle as an older branch squashing, clear the state associated with the memory ordering violation.
Lastly don't consider uncached loads to officially be "at commit" until IEW receives the signal back from commit about the load.
src/cpu/o3/inst_queue_impl.hh:
Don't consider non-speculative instructions to be "at commit" until the IQ has received a signal from commit about the instruction. This prevents non-speculative instructions from being issued too early.
src/cpu/o3/mem_dep_unit_impl.hh:
Clear instruction's ability to issue if it's replayed.
--HG--
extra : convert_revision :
d69dae878a30821222885485f4dee87170d56eb3
Kevin Lim [Fri, 23 Mar 2007 15:33:08 +0000 (11:33 -0400)]
Two fixes:
1. Requests are handled more properly now. They assume the memory system takes control of the request upon sending out an access.
2. load-load ordering is maintained.
src/cpu/base_dyn_inst.hh:
Update how requests are handled. The BaseDynInst should not be able to hold a pointer to the request because the request becomes owned by the memory system once it is sent out.
Also include some functions to allow certain status bits to be cleared.
src/cpu/base_dyn_inst_impl.hh:
Update how requests are handled. The BaseDynInst should not be able to hold a pointer to the request because the request becomes owned by the memory system once it is sent out.
src/cpu/o3/fetch_impl.hh:
General correctness fixes. retryPkt is not necessarily always set, so handle it properly. Also consider the cache unblocked only when recvRetry is called.
src/cpu/o3/lsq_unit.hh:
Handle requests a little more correctly. Now that the requests aren't pointed to by the DynInst, be sure to delete the request if it's not being used by the memory system.
Also be sure to not store-load forward from an uncacheable store.
src/cpu/o3/lsq_unit_impl.hh:
Check to make sure load-load ordering was maintained.
Also handle requests a little more correctly.
--HG--
extra : convert_revision :
e86bead2886d02443cf77bf7a7a1492845e1690f
Kevin Lim [Fri, 23 Mar 2007 15:26:30 +0000 (11:26 -0400)]
Set progress_interval in terms of CPU cycles.
--HG--
extra : convert_revision :
76b0918276cb613eb314ab1479b5ffdb31f31dee
Kevin Lim [Fri, 23 Mar 2007 15:22:43 +0000 (11:22 -0400)]
A couple of minor fixes.
1. Set CPU ID in all modes for the O3 CPU.
2. Use nextCycle() function to prevent phase drift in O3 CPU.
3. Remove assertion in rename map that is no longer true.
src/cpu/o3/alpha/cpu_builder.cc:
Allow for CPU id in all modes, not just full system. Also include a parameter that was left out by accident.
src/cpu/o3/alpha/cpu_impl.hh:
Set the CPU ID properly.
src/cpu/o3/cpu.cc:
src/cpu/o3/cpu.hh:
Use nextCycle() function so that the CPU does not get out of phase when starting up from quiesces.
src/cpu/o3/rename_map.cc:
Remove assertion that is no longer true.
tests/configs/o3-timing.py:
Set CPU's id to 0.
--HG--
extra : convert_revision :
2b69c19adfce2adcc2d1939e89d702bd6674d5d5
Ali Saidi [Thu, 22 Mar 2007 22:39:51 +0000 (18:39 -0400)]
Merge zizzer:/bk/newmem
into zeep.pool:/z/saidi/work/m5.newmem
--HG--
extra : convert_revision :
fd590d464359d8ae859998a9f446b960781a5e33
Ali Saidi [Thu, 22 Mar 2007 22:39:41 +0000 (18:39 -0400)]
finish up the coding of the Intel Gb NIC... Many Many bugs to squash
src/dev/i8254xGBe.cc:
src/dev/i8254xGBe.hh:
src/dev/i8254xGBe_defs.hh:
finish coding the Intel Gb NIC device
src/dev/io_device.hh:
we really don't want to be able to pass a null buffer to dma read, at least not the way we have things setup now... it won't work at all
--HG--
extra : convert_revision :
6739497232317ec407cfa7a96de4575a9a6cfc46
Gabe Black [Thu, 22 Mar 2007 04:10:57 +0000 (04:10 +0000)]
Add structure based bitfield syntax to the isa_parser. This is primarily useful for x86.
--HG--
extra : convert_revision :
dfe6df160d00adec1830d9b88520ba20834d1209
Gabe Black [Thu, 22 Mar 2007 04:10:56 +0000 (04:10 +0000)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into ahchoo.blinky.homelinux.org:/home/gblack/m5/newmem-x86
--HG--
extra : convert_revision :
79c337f18d635acc176f0ca8d6e71fbc429cb258
Gabe Black [Thu, 22 Mar 2007 04:10:55 +0000 (00:10 -0400)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into zower.eecs.umich.edu:/home/gblack/m5/newmem-statetrace
--HG--
extra : convert_revision :
da83ee4c3251fa95faf66e8c6d3412158ffe6887
Gabe Black [Thu, 22 Mar 2007 04:10:47 +0000 (00:10 -0400)]
Fix mcf benchmark object so it gets the arguments it expects.
--HG--
extra : convert_revision :
47087be1f89699e9f8e0dc023abbf593bc0f6618
Gabe Black [Wed, 21 Mar 2007 21:09:24 +0000 (21:09 +0000)]
Add a junk operand. With no operands, the parser breaks.
--HG--
extra : convert_revision :
7410fd3681ed3d9b1293d982ed5f3553a6c75f3f
Gabe Black [Wed, 21 Mar 2007 21:07:43 +0000 (21:07 +0000)]
Start implementing groups of instructions which do the same thing on different sets of inputs.
--HG--
extra : convert_revision :
6a5be61831588f801965dd4e80cb52f28911c320
Gabe Black [Wed, 21 Mar 2007 21:04:54 +0000 (21:04 +0000)]
put the int register count in intregs.hh
--HG--
extra : convert_revision :
c48c13d9c4606c8cb7c60d18cd0f4dac9103a501
Gabe Black [Wed, 21 Mar 2007 19:31:48 +0000 (14:31 -0500)]
Add a s SPARC_SE gzip regression
--HG--
extra : convert_revision :
5d75c9ad6e4599ce9b1afc176eaafab03bed43f0
Gabe Black [Wed, 21 Mar 2007 19:19:53 +0000 (19:19 +0000)]
Break out the one and two byte opcodes into different files. Also change what bits decode is done on to reflect where clumps of instructions are.
--HG--
extra : convert_revision :
8768676eac25e6a4f0dc50ce2dc576bdcdd6e025
Gabe Black [Wed, 21 Mar 2007 19:15:40 +0000 (19:15 +0000)]
Missed a const
--HG--
rename : src/arch/x86/isa/decoder.isa => src/arch/x86/isa/decoder/decoder.isa
extra : convert_revision :
a60e7495da6fe99fa2375a3f801f2962c3e41adb
Gabe Black [Wed, 21 Mar 2007 06:22:22 +0000 (01:22 -0500)]
created SPARC_SE vortex regression.
--HG--
extra : convert_revision :
cdb60bcfbea4b79491fb035cc7ecd08cbaa2100b
Gabe Black [Wed, 21 Mar 2007 05:18:55 +0000 (01:18 -0400)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into zower.eecs.umich.edu:/home/gblack/m5/newmem-statetrace
--HG--
extra : convert_revision :
41214c71e7fa11d47395975a141793337d020463
Gabe Black [Wed, 21 Mar 2007 05:18:47 +0000 (01:18 -0400)]
The m5 side of statetrace. This is fairly ugly, but I don't want to lose it.
--HG--
extra : convert_revision :
171b41418567c1f41f43363a46fa9aeaa58ae606
Gabe Black [Wed, 21 Mar 2007 03:53:52 +0000 (23:53 -0400)]
Ignore "time" and "times" syscalls.
--HG--
extra : convert_revision :
3ff55e35877c0fd74823ce5e52ed16c38da92068
Gabe Black [Tue, 20 Mar 2007 11:40:30 +0000 (11:40 +0000)]
Fixed up some types and const placement, and added signed bitfields that sign extend themselves.
--HG--
extra : convert_revision :
84bda8fc14f9a6f7dc7982c9aeb15bf688457706
Gabe Black [Tue, 20 Mar 2007 06:08:52 +0000 (06:08 +0000)]
Added syntax for structure oriented extMachInsts.
--HG--
extra : convert_revision :
4a30c58019ad8e3dd8dffb4c4c08eb6914e5c5be
Gabe Black [Mon, 19 Mar 2007 17:13:23 +0000 (17:13 +0000)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into ahchoo.blinky.homelinux.org:/home/gblack/m5/newmem-x86
--HG--
extra : convert_revision :
a6ae6ce183aaa4d1a9434f9ddd64cc30878d2147
Gabe Black [Mon, 19 Mar 2007 17:12:50 +0000 (17:12 +0000)]
Ditched read or write only subbitfields for now since they were proving difficult to implement. Allow component Bitfields to be instantiated without templates, clean up the implementation a little, and adjust the comments to match.
--HG--
extra : convert_revision :
b9b8aea285a95eeabbb4c0233c1bce49b8c773b8
Gabe Black [Mon, 19 Mar 2007 14:28:19 +0000 (14:28 +0000)]
For the _BitfieldRO and _BitfieldWO classes, make sure the undesired operator is redefined as private.
--HG--
extra : convert_revision :
b18d8e49547c2712ab255d048850c5231313b80a
Gabe Black [Mon, 19 Mar 2007 14:22:28 +0000 (14:22 +0000)]
Formatting fixes.
--HG--
extra : convert_revision :
276d0667daa4626288b56af3b4b17a3f9052e81a
Gabe Black [Mon, 19 Mar 2007 14:20:27 +0000 (14:20 +0000)]
Lots and lots of comments.
--HG--
extra : convert_revision :
0de510464e2e002775ccd79e2922ccb0055845e5
Gabe Black [Mon, 19 Mar 2007 13:28:36 +0000 (13:28 +0000)]
Reworked the BitUnion stuff a bit. There is moderately better isolation of the backend parts, although there are still macros.
--HG--
extra : convert_revision :
e9692c5e697c96061ef70cf78ef532c99dbbd672
Gabe Black [Mon, 19 Mar 2007 03:09:51 +0000 (23:09 -0400)]
Compile fixes for SPARC_FS.
src/arch/alpha/predecoder.hh:
src/arch/sparc/predecoder.hh:
Put in a missing include
src/cpu/exetrace.cc:
Convert the legion lockstep stuff from makeExtMI to the predecoder object.
--HG--
extra : convert_revision :
91bad4466f8db1447fff8608fa46a5f236dc3a89
Gabe Black [Sun, 18 Mar 2007 01:23:03 +0000 (21:23 -0400)]
The syntax used for twin stores was confusing the parser so it's now broken down farther.
--HG--
extra : convert_revision :
d36bef2d15bc013b3c6199901f57855dfb9dab76
Gabe Black [Sat, 17 Mar 2007 23:33:00 +0000 (23:33 +0000)]
Created BitUnion type which lets you define nested bitfields for an integer in a portable way.
--HG--
extra : convert_revision :
56a9d06b6b7274a493dae4b290c5f9b42e59f20d
Gabe Black [Fri, 16 Mar 2007 10:57:52 +0000 (10:57 +0000)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into ahchoo.blinky.homelinux.org:/home/gblack/m5/newmem-x86
--HG--
extra : convert_revision :
3246c58850586b880641638bedb1f0025d0ef491
Gabe Black [Fri, 16 Mar 2007 10:57:34 +0000 (10:57 +0000)]
Fix ALPHA_FS compile. The MachInst -> StaticInstPtr constructor is no longer a conversion constructor because it caused ambiguous conversions when setting the pointer to NULL.
--HG--
extra : convert_revision :
ce9ecfc03a47642d105f2378208bbe923d6b765b
Gabe Black [Fri, 16 Mar 2007 10:55:50 +0000 (10:55 +0000)]
Make the SPARC branch instructions use ExtMachInsts in their constructors. This isn't necessary since they don't use the extended fields, but it's more consistent and more correct.
--HG--
extra : convert_revision :
afd4f408122ad5e497012eb9744d6bce66a1de37
Ali Saidi [Fri, 16 Mar 2007 03:21:52 +0000 (23:21 -0400)]
Merge zizzer:/bk/newmem
into pb15.local:/Users/ali/work/m5.newmem
--HG--
extra : convert_revision :
0aa2fadf8978ae30ebe4fde03c525e6b9115117a
Ali Saidi [Fri, 16 Mar 2007 03:21:01 +0000 (23:21 -0400)]
fix a bug gabe found
--HG--
extra : convert_revision :
12e8f09f6c59a16b2d2eb78bdd1345fc38c4de40
Gabe Black [Thu, 15 Mar 2007 19:16:39 +0000 (19:16 +0000)]
Refactor things a little.
--HG--
extra : convert_revision :
8167455ffc05130d4afcc68466879c7c439bee57
Gabe Black [Thu, 15 Mar 2007 19:16:38 +0000 (19:16 +0000)]
File with the predecoder in it.
src/arch/x86/predecoder.cc:
File for the x86 predecoder process function.
--HG--
extra : convert_revision :
f7b53c38ff152cb2677d641074218ffd8434457b
Gabe Black [Thu, 15 Mar 2007 19:16:37 +0000 (19:16 +0000)]
Split the x86 "process" predecoder method into it's own file.
--HG--
extra : convert_revision :
88185e592df2a7527d36efcce7376fb05f469cbc
Gabe Black [Thu, 15 Mar 2007 19:16:36 +0000 (19:16 +0000)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into ahchoo.blinky.homelinux.org:/home/gblack/m5/newmem-x86
--HG--
extra : convert_revision :
cf2cc07f18b877f980e2d1fc83916f7849d9c7d9
Ali Saidi [Thu, 15 Mar 2007 19:16:35 +0000 (15:16 -0400)]
Merge zizzer:/bk/newmem
into zeep.pool:/z/saidi/work/m5.newmem
--HG--
extra : convert_revision :
6a75fa02391c4c65063c5412a568705bb1dd892b
Ali Saidi [Thu, 15 Mar 2007 19:16:23 +0000 (15:16 -0400)]
add all the registers we'll need to support for the Intel GbE device and support enough functionality make the driver think
the device is there, and in good working order.
src/dev/SConscript:
add intel gbe to the dev SCons file
src/dev/i8254xGBe.cc:
src/dev/i8254xGBe.hh:
src/dev/i8254xGBe_defs.hh:
use new manner of registers and implement all device registers that are touched through boot and ifup
--HG--
extra : convert_revision :
b1a1767f0fd31cd371e432cb48ac9a2e9f9291b5
Gabe Black [Thu, 15 Mar 2007 16:13:40 +0000 (16:13 +0000)]
Changed warns to DPRINTFs and multiply by 8 where needed.
--HG--
extra : convert_revision :
9db0bc2420ceb5828a79881fa0b420a2d5e5f358
Gabe Black [Thu, 15 Mar 2007 15:29:39 +0000 (15:29 +0000)]
Added immediate value support, and fixed alot of bugs. This won't support 3 byte opcodes.
--HG--
extra : convert_revision :
4c79bff2592a668e1154916875f019ecafe67022
Gabe Black [Thu, 15 Mar 2007 10:10:59 +0000 (06:10 -0400)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into zower.eecs.umich.edu:/home/gblack/m5/newmem-statetrace
--HG--
extra : convert_revision :
c886266320e6c1352e359d5abf6fb3a804f81451
Gabe Black [Thu, 15 Mar 2007 10:10:50 +0000 (06:10 -0400)]
Update to statetrace. This will break it, but I want to make sure it gets into mercurial.
--HG--
extra : convert_revision :
6960d2f728c85e99e32bf9b752e45b3cb5e30e3e
Gabe Black [Thu, 15 Mar 2007 03:17:00 +0000 (03:17 +0000)]
Compile fix
--HG--
extra : convert_revision :
4a66d04404beee9656e3e33089afcec10d7ee5ff
Gabe Black [Thu, 15 Mar 2007 02:52:51 +0000 (02:52 +0000)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into ahchoo.blinky.homelinux.org:/home/gblack/m5/newmem-x86
src/arch/mips/utility.hh:
src/arch/x86/SConscript:
Hand merge
--HG--
extra : convert_revision :
0ba457aab52bf6ffc9191fd1fe1006ca7704b5b0
Gabe Black [Thu, 15 Mar 2007 02:47:42 +0000 (02:47 +0000)]
Make the predecoder an object with it's own switched header file. Start adding predecoding functionality to x86.
src/arch/SConscript:
src/arch/alpha/utility.hh:
src/arch/mips/utility.hh:
src/arch/sparc/utility.hh:
src/cpu/base.hh:
src/cpu/o3/fetch.hh:
src/cpu/o3/fetch_impl.hh:
src/cpu/simple/atomic.cc:
src/cpu/simple/base.cc:
src/cpu/simple/base.hh:
src/cpu/static_inst.hh:
src/arch/alpha/predecoder.hh:
src/arch/mips/predecoder.hh:
src/arch/sparc/predecoder.hh:
Make the predecoder an object with it's own switched header file.
--HG--
extra : convert_revision :
77206e29089130e86b97164c30022a062699ba86
Ali Saidi [Tue, 13 Mar 2007 21:34:52 +0000 (17:34 -0400)]
fix segfault when peer owner attempts to use functional port
--HG--
extra : convert_revision :
3702b4bd038a59bff823c3b428fdfbaabc9715df
Gabe Black [Tue, 13 Mar 2007 19:03:34 +0000 (15:03 -0400)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into zower.eecs.umich.edu:/home/gblack/m5/newmem-statetrace
--HG--
extra : convert_revision :
61eca737296a5ce839d3b97f047b4fda062cb899
Gabe Black [Tue, 13 Mar 2007 16:13:21 +0000 (16:13 +0000)]
Replaced makeExtMI with predecode.
Removed the getOpcode function from StaticInst which only made sense for Alpha.
Started implementing the x86 predecoder.
--HG--
extra : convert_revision :
a13ea257c8943ef25e9bc573024a99abacf4a70d
Ali Saidi [Tue, 13 Mar 2007 04:05:52 +0000 (00:05 -0400)]
fix interrupting during a quisce on sparc
src/arch/sparc/ua2005.cc:
fix interrupting when quisced. Since sticks correspond to instructions when not quisced we need to
check if were suspended and interrupt at the guess time
src/base/traceflags.py:
add trace flag for Iob
src/cpu/simple/base.cc:
Use Quisce instead of IPI trace flag
src/dev/sparc/iob.cc:
add some Dprintfs
--HG--
extra : convert_revision :
72e18fcc750ad1e4b2bb67b19b354eaffc6af6d5
Ali Saidi [Tue, 13 Mar 2007 00:17:44 +0000 (20:17 -0400)]
Merge zizzer:/bk/newmem
into zeep.pool:/z/saidi/work/m5.newmem
--HG--
extra : convert_revision :
db68adffdf4ae12637eba7c03d53aca997b30291
Ali Saidi [Tue, 13 Mar 2007 00:16:13 +0000 (20:16 -0400)]
call ccprintf() with the appropriate argument types so we don't recuse forever
--HG--
extra : convert_revision :
5366be897d1193cf9e93b1fcd0689d19783f73a8
Gabe Black [Mon, 12 Mar 2007 22:57:14 +0000 (17:57 -0500)]
Added SPARC twolf regression.
--HG--
extra : convert_revision :
cb417d281a0a6ae1b9f75d5f04b3c28934e702d3
Ron Dreslinski [Mon, 12 Mar 2007 21:25:59 +0000 (16:25 -0500)]
Merge zizzer:/bk/newmem
into zazzer.eecs.umich.edu:/z/rdreslin/m5bk/head
--HG--
extra : convert_revision :
7d7380a6565cff32470bddadb0158fad897a5cf5
Ali Saidi [Mon, 12 Mar 2007 21:23:08 +0000 (17:23 -0400)]
remove the extern C around gdb helper functions. It's need needed for any new version of gdb to work and it causes at least mine to segfault
--HG--
extra : convert_revision :
5e4c2ec753372fd0569734d3ddb0c8690409ca16
Gabe Black [Mon, 12 Mar 2007 21:07:10 +0000 (17:07 -0400)]
Fix mulscc.
--HG--
extra : convert_revision :
405f10f14f2f6666a7bef01bfb0cf90ff14cef24
Ron Dreslinski [Mon, 12 Mar 2007 20:59:54 +0000 (15:59 -0500)]
Clean up more memory leaks
--HG--
extra : convert_revision :
32d1b23200752fe5fcdcbafb586f50bbe6db3bf3
Ron Dreslinski [Mon, 12 Mar 2007 18:42:49 +0000 (13:42 -0500)]
Merge zizzer:/bk/newmem
into zazzer.eecs.umich.edu:/z/rdreslin/m5bk/head
--HG--
extra : convert_revision :
8651b2878853c5a6cb15f60ab92cf39d3bc30a07
Ron Dreslinski [Mon, 12 Mar 2007 18:15:32 +0000 (13:15 -0500)]
Fix some of the memory leaks related to writebacks
src/cpu/memtest/memtest.cc:
Add the [] to a delete to make it work correctly
src/mem/cache/cache_impl.hh:
Fix one of the memory leaks
--HG--
extra : convert_revision :
64c7465c68a084efe38a62419205518b24d852a7
Ali Saidi [Mon, 12 Mar 2007 18:13:52 +0000 (14:13 -0400)]
Get rid of those pesky valgrind warnings, Conditional jump or move depends on uninitialised value(s), in the stats package
--HG--
extra : convert_revision :
d3a508fc98df4eb8160a211a306be6ab241a4ce8
Ali Saidi [Mon, 12 Mar 2007 17:56:30 +0000 (13:56 -0400)]
Merge zizzer:/bk/newmem
into zeep.pool:/z/saidi/work/m5.newmem
--HG--
extra : convert_revision :
c6fbe09348b606b94bbb35f911dea94353f076f9
Ali Saidi [Mon, 12 Mar 2007 17:56:09 +0000 (13:56 -0400)]
move hver code to ua2005.cc
src/arch/sparc/miscregfile.cc:
this code should be in readFSreg
src/arch/sparc/ua2005.cc:
move code froh miscregfile to ua2005.cc
--HG--
extra : convert_revision :
fa450b04ad73ab6f6e25d66fa0368054263f09f9
Gabe Black [Mon, 12 Mar 2007 05:54:15 +0000 (01:54 -0400)]
Add the rename syscall.
--HG--
extra : convert_revision :
67e92b166599bd20b7ce90d073f2fd7502f810ec
Gabe Black [Mon, 12 Mar 2007 05:47:49 +0000 (01:47 -0400)]
Fix the mnemonic and the branch displacement field size of the branch on floating point condition codes with prediction.
--HG--
extra : convert_revision :
812950e92b7e0f34f370a1472c20f52e3ef214b1
Gabe Black [Sun, 11 Mar 2007 23:08:38 +0000 (19:08 -0400)]
bzip2 is a tru64 regression, not linux
--HG--
rename : tests/long/60.bzip2/ref/alpha/linux/o3-timing/config.ini => tests/long/60.bzip2/ref/alpha/tru64/o3-timing/config.ini
rename : tests/long/60.bzip2/ref/alpha/linux/o3-timing/config.out => tests/long/60.bzip2/ref/alpha/tru64/o3-timing/config.out
rename : tests/long/60.bzip2/ref/alpha/linux/o3-timing/m5stats.txt => tests/long/60.bzip2/ref/alpha/tru64/o3-timing/m5stats.txt
rename : tests/long/60.bzip2/ref/alpha/linux/o3-timing/stderr => tests/long/60.bzip2/ref/alpha/tru64/o3-timing/stderr
rename : tests/long/60.bzip2/ref/alpha/linux/o3-timing/stdout => tests/long/60.bzip2/ref/alpha/tru64/o3-timing/stdout
rename : tests/long/60.bzip2/ref/alpha/linux/simple-atomic/config.ini => tests/long/60.bzip2/ref/alpha/tru64/simple-atomic/config.ini
rename : tests/long/60.bzip2/ref/alpha/linux/simple-atomic/config.out => tests/long/60.bzip2/ref/alpha/tru64/simple-atomic/config.out
rename : tests/long/60.bzip2/ref/alpha/linux/simple-atomic/m5stats.txt => tests/long/60.bzip2/ref/alpha/tru64/simple-atomic/m5stats.txt
rename : tests/long/60.bzip2/ref/alpha/linux/simple-atomic/stderr => tests/long/60.bzip2/ref/alpha/tru64/simple-atomic/stderr
rename : tests/long/60.bzip2/ref/alpha/linux/simple-atomic/stdout => tests/long/60.bzip2/ref/alpha/tru64/simple-atomic/stdout
rename : tests/long/60.bzip2/ref/alpha/linux/simple-timing/config.ini => tests/long/60.bzip2/ref/alpha/tru64/simple-timing/config.ini
rename : tests/long/60.bzip2/ref/alpha/linux/simple-timing/config.out => tests/long/60.bzip2/ref/alpha/tru64/simple-timing/config.out
rename : tests/long/60.bzip2/ref/alpha/linux/simple-timing/m5stats.txt => tests/long/60.bzip2/ref/alpha/tru64/simple-timing/m5stats.txt
rename : tests/long/60.bzip2/ref/alpha/linux/simple-timing/stderr => tests/long/60.bzip2/ref/alpha/tru64/simple-timing/stderr
rename : tests/long/60.bzip2/ref/alpha/linux/simple-timing/stdout => tests/long/60.bzip2/ref/alpha/tru64/simple-timing/stdout
extra : convert_revision :
c3f5f5b73186cf6e72c1c8418583d3300e04ad8a
Gabe Black [Sun, 11 Mar 2007 23:06:46 +0000 (19:06 -0400)]
vortex is a tru64 regression and not linux
--HG--
rename : tests/long/50.vortex/ref/alpha/linux/o3-timing/config.ini => tests/long/50.vortex/ref/alpha/tru64/o3-timing/config.ini
rename : tests/long/50.vortex/ref/alpha/linux/o3-timing/config.out => tests/long/50.vortex/ref/alpha/tru64/o3-timing/config.out
rename : tests/long/50.vortex/ref/alpha/linux/o3-timing/m5stats.txt => tests/long/50.vortex/ref/alpha/tru64/o3-timing/m5stats.txt
rename : tests/long/50.vortex/ref/alpha/linux/o3-timing/smred.msg => tests/long/50.vortex/ref/alpha/tru64/o3-timing/smred.msg
rename : tests/long/50.vortex/ref/alpha/linux/o3-timing/smred.out => tests/long/50.vortex/ref/alpha/tru64/o3-timing/smred.out
rename : tests/long/50.vortex/ref/alpha/linux/o3-timing/stderr => tests/long/50.vortex/ref/alpha/tru64/o3-timing/stderr
rename : tests/long/50.vortex/ref/alpha/linux/o3-timing/stdout => tests/long/50.vortex/ref/alpha/tru64/o3-timing/stdout
rename : tests/long/50.vortex/ref/alpha/linux/simple-atomic/config.ini => tests/long/50.vortex/ref/alpha/tru64/simple-atomic/config.ini
rename : tests/long/50.vortex/ref/alpha/linux/simple-atomic/config.out => tests/long/50.vortex/ref/alpha/tru64/simple-atomic/config.out
rename : tests/long/50.vortex/ref/alpha/linux/simple-atomic/m5stats.txt => tests/long/50.vortex/ref/alpha/tru64/simple-atomic/m5stats.txt
rename : tests/long/50.vortex/ref/alpha/linux/simple-atomic/smred.msg => tests/long/50.vortex/ref/alpha/tru64/simple-atomic/smred.msg
rename : tests/long/50.vortex/ref/alpha/linux/simple-atomic/smred.out => tests/long/50.vortex/ref/alpha/tru64/simple-atomic/smred.out
rename : tests/long/50.vortex/ref/alpha/linux/simple-atomic/stderr => tests/long/50.vortex/ref/alpha/tru64/simple-atomic/stderr
rename : tests/long/50.vortex/ref/alpha/linux/simple-atomic/stdout => tests/long/50.vortex/ref/alpha/tru64/simple-atomic/stdout
rename : tests/long/50.vortex/ref/alpha/linux/simple-timing/config.ini => tests/long/50.vortex/ref/alpha/tru64/simple-timing/config.ini
rename : tests/long/50.vortex/ref/alpha/linux/simple-timing/config.out => tests/long/50.vortex/ref/alpha/tru64/simple-timing/config.out
rename : tests/long/50.vortex/ref/alpha/linux/simple-timing/m5stats.txt => tests/long/50.vortex/ref/alpha/tru64/simple-timing/m5stats.txt
rename : tests/long/50.vortex/ref/alpha/linux/simple-timing/smred.msg => tests/long/50.vortex/ref/alpha/tru64/simple-timing/smred.msg
rename : tests/long/50.vortex/ref/alpha/linux/simple-timing/smred.out => tests/long/50.vortex/ref/alpha/tru64/simple-timing/smred.out
rename : tests/long/50.vortex/ref/alpha/linux/simple-timing/stderr => tests/long/50.vortex/ref/alpha/tru64/simple-timing/stderr
rename : tests/long/50.vortex/ref/alpha/linux/simple-timing/stdout => tests/long/50.vortex/ref/alpha/tru64/simple-timing/stdout
extra : convert_revision :
b62b8949628327d0a0ed2971772aa4f848764d54
Gabe Black [Sun, 11 Mar 2007 23:04:46 +0000 (19:04 -0400)]
perlbmk is a tru64 regression, not a linux one
--HG--
rename : tests/long/40.perlbmk/ref/alpha/linux/simple-atomic/config.ini => tests/long/40.perlbmk/ref/alpha/tru64/simple-atomic/config.ini
rename : tests/long/40.perlbmk/ref/alpha/linux/simple-atomic/config.out => tests/long/40.perlbmk/ref/alpha/tru64/simple-atomic/config.out
rename : tests/long/40.perlbmk/ref/alpha/linux/simple-atomic/m5stats.txt => tests/long/40.perlbmk/ref/alpha/tru64/simple-atomic/m5stats.txt
rename : tests/long/40.perlbmk/ref/alpha/linux/simple-atomic/stderr => tests/long/40.perlbmk/ref/alpha/tru64/simple-atomic/stderr
rename : tests/long/40.perlbmk/ref/alpha/linux/simple-atomic/stdout => tests/long/40.perlbmk/ref/alpha/tru64/simple-atomic/stdout
rename : tests/long/40.perlbmk/ref/alpha/linux/simple-timing/config.ini => tests/long/40.perlbmk/ref/alpha/tru64/simple-timing/config.ini
rename : tests/long/40.perlbmk/ref/alpha/linux/simple-timing/config.out => tests/long/40.perlbmk/ref/alpha/tru64/simple-timing/config.out
rename : tests/long/40.perlbmk/ref/alpha/linux/simple-timing/m5stats.txt => tests/long/40.perlbmk/ref/alpha/tru64/simple-timing/m5stats.txt
rename : tests/long/40.perlbmk/ref/alpha/linux/simple-timing/stderr => tests/long/40.perlbmk/ref/alpha/tru64/simple-timing/stderr
rename : tests/long/40.perlbmk/ref/alpha/linux/simple-timing/stdout => tests/long/40.perlbmk/ref/alpha/tru64/simple-timing/stdout
extra : convert_revision :
8241afcb6e79a7b85e6115bb829f8ef1345b3994
Gabe Black [Sun, 11 Mar 2007 23:02:06 +0000 (19:02 -0400)]
eon is a tru64 regression, not a linux one
--HG--
rename : tests/long/30.eon/ref/alpha/linux/o3-timing/config.ini => tests/long/30.eon/ref/alpha/tru64/o3-timing/config.ini
rename : tests/long/30.eon/ref/alpha/linux/o3-timing/config.out => tests/long/30.eon/ref/alpha/tru64/o3-timing/config.out
rename : tests/long/30.eon/ref/alpha/linux/o3-timing/m5stats.txt => tests/long/30.eon/ref/alpha/tru64/o3-timing/m5stats.txt
rename : tests/long/30.eon/ref/alpha/linux/o3-timing/stderr => tests/long/30.eon/ref/alpha/tru64/o3-timing/stderr
rename : tests/long/30.eon/ref/alpha/linux/o3-timing/stdout => tests/long/30.eon/ref/alpha/tru64/o3-timing/stdout
rename : tests/long/30.eon/ref/alpha/linux/simple-atomic/config.ini => tests/long/30.eon/ref/alpha/tru64/simple-atomic/config.ini
rename : tests/long/30.eon/ref/alpha/linux/simple-atomic/config.out => tests/long/30.eon/ref/alpha/tru64/simple-atomic/config.out
rename : tests/long/30.eon/ref/alpha/linux/simple-atomic/m5stats.txt => tests/long/30.eon/ref/alpha/tru64/simple-atomic/m5stats.txt
rename : tests/long/30.eon/ref/alpha/linux/simple-atomic/stderr => tests/long/30.eon/ref/alpha/tru64/simple-atomic/stderr
rename : tests/long/30.eon/ref/alpha/linux/simple-atomic/stdout => tests/long/30.eon/ref/alpha/tru64/simple-atomic/stdout
rename : tests/long/30.eon/ref/alpha/linux/simple-timing/config.ini => tests/long/30.eon/ref/alpha/tru64/simple-timing/config.ini
rename : tests/long/30.eon/ref/alpha/linux/simple-timing/config.out => tests/long/30.eon/ref/alpha/tru64/simple-timing/config.out
rename : tests/long/30.eon/ref/alpha/linux/simple-timing/m5stats.txt => tests/long/30.eon/ref/alpha/tru64/simple-timing/m5stats.txt
rename : tests/long/30.eon/ref/alpha/linux/simple-timing/stderr => tests/long/30.eon/ref/alpha/tru64/simple-timing/stderr
rename : tests/long/30.eon/ref/alpha/linux/simple-timing/stdout => tests/long/30.eon/ref/alpha/tru64/simple-timing/stdout
extra : convert_revision :
1d811462a3b90e8041b8f5da1cad9290646dbacc
Gabe Black [Sun, 11 Mar 2007 23:00:00 +0000 (19:00 -0400)]
parser is a tru64 regression, not linux.
--HG--
rename : tests/long/20.parser/ref/alpha/linux/NOTE => tests/long/20.parser/ref/alpha/tru64/NOTE
extra : convert_revision :
b91be36a59c6114627707fa4dfb066e75fb92844
Gabe Black [Sun, 11 Mar 2007 22:53:40 +0000 (18:53 -0400)]
gzip is really a tru64 regression, not linux
--HG--
rename : tests/long/00.gzip/ref/alpha/linux/o3-timing/config.ini => tests/long/00.gzip/ref/alpha/tru64/o3-timing/config.ini
rename : tests/long/00.gzip/ref/alpha/linux/o3-timing/config.out => tests/long/00.gzip/ref/alpha/tru64/o3-timing/config.out
rename : tests/long/00.gzip/ref/alpha/linux/o3-timing/m5stats.txt => tests/long/00.gzip/ref/alpha/tru64/o3-timing/m5stats.txt
rename : tests/long/00.gzip/ref/alpha/linux/o3-timing/stderr => tests/long/00.gzip/ref/alpha/tru64/o3-timing/stderr
rename : tests/long/00.gzip/ref/alpha/linux/o3-timing/stdout => tests/long/00.gzip/ref/alpha/tru64/o3-timing/stdout
rename : tests/long/00.gzip/ref/alpha/linux/simple-atomic/config.ini => tests/long/00.gzip/ref/alpha/tru64/simple-atomic/config.ini
rename : tests/long/00.gzip/ref/alpha/linux/simple-atomic/config.out => tests/long/00.gzip/ref/alpha/tru64/simple-atomic/config.out
rename : tests/long/00.gzip/ref/alpha/linux/simple-atomic/m5stats.txt => tests/long/00.gzip/ref/alpha/tru64/simple-atomic/m5stats.txt
rename : tests/long/00.gzip/ref/alpha/linux/simple-atomic/stderr => tests/long/00.gzip/ref/alpha/tru64/simple-atomic/stderr
rename : tests/long/00.gzip/ref/alpha/linux/simple-atomic/stdout => tests/long/00.gzip/ref/alpha/tru64/simple-atomic/stdout
rename : tests/long/00.gzip/ref/alpha/linux/simple-timing/config.ini => tests/long/00.gzip/ref/alpha/tru64/simple-timing/config.ini
rename : tests/long/00.gzip/ref/alpha/linux/simple-timing/config.out => tests/long/00.gzip/ref/alpha/tru64/simple-timing/config.out
rename : tests/long/00.gzip/ref/alpha/linux/simple-timing/m5stats.txt => tests/long/00.gzip/ref/alpha/tru64/simple-timing/m5stats.txt
rename : tests/long/00.gzip/ref/alpha/linux/simple-timing/stderr => tests/long/00.gzip/ref/alpha/tru64/simple-timing/stderr
rename : tests/long/00.gzip/ref/alpha/linux/simple-timing/stdout => tests/long/00.gzip/ref/alpha/tru64/simple-timing/stdout
extra : convert_revision :
e38a226137968d0893e325c22489375ce4a691a2