Gabe Black [Sun, 22 Apr 2007 17:50:43 +0000 (17:50 +0000)]
Make the floating point zero register special handling only apply for ALPHA.
--HG--
extra : convert_revision :
4f393a5471656b29cecbacfcb337992239775915
Gabe Black [Sun, 22 Apr 2007 17:43:45 +0000 (17:43 +0000)]
Make the GSR into a renamed control register. It should be split into a renamed part and a control part for the different bitfields, but the renamed part is all that's actually used.
--HG--
extra : convert_revision :
ffeb4f874bd4430255064f6e8bcb135309932ff8
Gabe Black [Thu, 19 Apr 2007 01:27:37 +0000 (21:27 -0400)]
Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/newmem
into zizzer.eecs.umich.edu:/.automount/wexford/x/gblack/m5/newmem-o3-spec
--HG--
extra : convert_revision :
26118d0dce464405148d2693fee4561fa0ce10ff
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
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
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
Gabe Black [Tue, 17 Apr 2007 12:56:59 +0000 (08:56 -0400)]
Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/newmem
into zizzer.eecs.umich.edu:/.automount/wexford/x/gblack/m5/newmem-o3-spec
--HG--
extra : convert_revision :
d18cce378fe3390c6e708945b9ea7c76c2d20a81
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
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
Gabe Black [Sun, 15 Apr 2007 21:52:38 +0000 (21:52 +0000)]
Make an inner loop which pulls microops out of macroops. These aren't checked for control flow because we can pull out microops until we run out of buffer. This prevents microops from being interpretted as branches because the pc doesn't become npc.
--HG--
extra : convert_revision :
9fff7c6c32900692bbc567ecb75701c9c73da259
Gabe Black [Sun, 15 Apr 2007 21:51:05 +0000 (21:51 +0000)]
Add extra constructors to Alpha and MIPS
--HG--
extra : convert_revision :
26ea87bfe9e5c27134eb9a15bf9e4629afae6c69
Gabe Black [Sat, 14 Apr 2007 17:13:18 +0000 (17:13 +0000)]
Add support for microcode and pull out the special branch delay slot handling. Branch delay slots need to be squash on a mispredict as well because the nnpc they saw was incorrect.
--HG--
extra : convert_revision :
8b9c603616bcad254417a7a3fa3edfb4c8728719
Gabe Black [Sat, 14 Apr 2007 17:08:24 +0000 (17:08 +0000)]
Make register indexes larger so they can actually hold all the legal values. Oops!
--HG--
extra : convert_revision :
7689b2e1f7468e4acb8be0f242f74002c79e7960
Gabe Black [Sat, 14 Apr 2007 17:07:24 +0000 (17:07 +0000)]
Make the fsr a serializing register. Other control registers probably need this as well.
--HG--
extra : convert_revision :
edd3f9a83cc2722b6e0eff0eff4a8e034b0f6ec6
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
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
Gabe Black [Fri, 13 Apr 2007 14:00:42 +0000 (14:00 +0000)]
Adjust references to reflect differences without special delay slot handling. Performance actually went up slightly.
--HG--
extra : convert_revision :
504f6185ddc89881aa41deb7fd934da8038d1ed2
Gabe Black [Fri, 13 Apr 2007 13:59:31 +0000 (13:59 +0000)]
Remove most of the special handling for delay slots since they have to be squashed anyway on a mispredict. This is because the NNPC value they saw when executing was incorrect.
--HG--
extra : convert_revision :
b42c4eb28b4fbba66c65cbd0a5033bf886c1532d
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
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
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
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
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
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
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
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
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
Gabe Black [Tue, 10 Apr 2007 17:26:04 +0000 (17:26 +0000)]
Include the new GenFault microop.
--HG--
extra : convert_revision :
6c943329525d2a01f35ad5e56ff91505d5011d7b
Gabe Black [Tue, 10 Apr 2007 17:25:15 +0000 (17:25 +0000)]
Reworked x86 a bit
--HG--
extra : convert_revision :
def1a30e54b59c718c451a631a1be6f8e787e843
Gabe Black [Tue, 10 Apr 2007 17:23:47 +0000 (17:23 +0000)]
Updated for the new instruction stubs.
--HG--
extra : convert_revision :
c85799c9093d8e9efba0744c8768196879974b74
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
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
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
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
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
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
Gabe Black [Tue, 10 Apr 2007 01:52:38 +0000 (01:52 +0000)]
Fixed a compile error.
--HG--
extra : convert_revision :
70221349a7100c89be0d03210f3b04950370583f
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
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
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
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
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
Gabe Black [Mon, 9 Apr 2007 07:59:56 +0000 (03:59 -0400)]
Added SPARC o3 insttest regression.
--HG--
extra : convert_revision :
b008b4bda60ced329df9b700ff9b0a978e2d3b19
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
Gabe Black [Mon, 9 Apr 2007 07:40:21 +0000 (03:40 -0400)]
Make SPARC build o3 by default.
--HG--
extra : convert_revision :
7be49f9d395094d849d8da59b0fd4efe962fb201
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
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
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
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
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
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
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
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
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
Gabe Black [Fri, 6 Apr 2007 15:16:36 +0000 (15:16 +0000)]
Add in a stub merging function
--HG--
extra : convert_revision :
15e3cdb4ebcd31bc44204687ba59dde00c56c6be
Gabe Black [Fri, 6 Apr 2007 15:15:36 +0000 (15:15 +0000)]
Clean up the macroop code.
--HG--
extra : convert_revision :
3cf83c3e038fece6190dbb91f56deb0498c9a70d
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
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
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
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
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
Kevin Lim [Wed, 4 Apr 2007 20:50:48 +0000 (16:50 -0400)]
Updates for other ISA cpu_builders.
--HG--
extra : convert_revision :
b02736c627bb9dcf87463a9133e04369b9f8fae2
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
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
Ali Saidi [Wed, 4 Apr 2007 17:57:23 +0000 (13:57 -0400)]
Merge zizzer:/bk/newmem
into zeep.pool:/z/saidi/work/m5.newmem
--HG--
extra : convert_revision :
be37463ea3ca38ef02ae0b82da0752f240a530d0
Ali Saidi [Wed, 4 Apr 2007 17:56:38 +0000 (13:56 -0400)]
The MemoryObject tha owns a port should delete it if it so chooses when deletePortRefs() is called on it with that port as a parameter.
In this way a MemoryObject can keep a functional port around and give it to anyone who wants to do functional accesses rather
than creating a new one each time.
src/mem/bus.cc:
src/mem/bus.hh:
src/mem/cache/cache_impl.hh:
only keep around one func port we give to anyone who wants it. Otherwise we can run out of port ids reasonably quickly if
a lot of functional accesses are happening (e.g. remote debugging, dprintk, etc)
--HG--
extra : convert_revision :
6a9e3e96f51cedaab6de1b36cf317203899a3716
Gabe Black [Wed, 4 Apr 2007 14:31:59 +0000 (14:31 +0000)]
Reworking how x86's isa description works. I'm adopting the following definitions to make figuring out what's what a little easier:
MicroOp: A single operation actually implemented in hardware.
MacroOp: A collection of microops which are executed as a unit.
Instruction: An architected instruction which can be implemented with a macroop or a microop.
--HG--
extra : convert_revision :
1cfc8409cc686c75220767839f55a30551aa6f13
Gabe Black [Wed, 4 Apr 2007 14:28:43 +0000 (14:28 +0000)]
Make "Name" really be the same as "name" with only the first letter capitalized. Before, it had the first letter capitalized but all the others lower case
--HG--
extra : convert_revision :
bcbb28f2bf268765c1d37075a4417a4a6c1b9588
Gabe Black [Wed, 4 Apr 2007 14:27:00 +0000 (14:27 +0000)]
Made x86 ExtMachInsts distinguishable from each other by defining a real == and a real hash function.
--HG--
extra : convert_revision :
30f29a36f6ab44e67e62aaf81b685fbe1267c746
Gabe Black [Wed, 4 Apr 2007 14:25:36 +0000 (14:25 +0000)]
Added all the different variations of the register names.
--HG--
extra : convert_revision :
ff06bdca556a5e1a0dfe7978575c2277c30c002a
Kevin Lim [Wed, 4 Apr 2007 04:14:44 +0000 (00:14 -0400)]
Merge ktlim@zizzer:/bk/newmem
into zamp.eecs.umich.edu:/z/ktlim2/clean/tmp/head
--HG--
extra : convert_revision :
4a8cbb65b19636c31b5c6fd5f24c90f8f2148ed1
Gabe Black [Tue, 3 Apr 2007 22:53:26 +0000 (22:53 +0000)]
Made the "data" field of store queue entries into a character array. It's sized to match an IntReg which was what it used to be, but we might want to make it something architecture independent. All data is now endian converted before entering the store queue entries which simplifies store to load forwarding in "trans endian" simulations, and makes twin memory ops work.
src/cpu/o3/lsq_unit.hh:
src/cpu/o3/lsq_unit_impl.hh:
fixed twin memory operations.
--HG--
extra : convert_revision :
8fb97f98e285cd22413e06e146fa82392ac2a590
Ali Saidi [Tue, 3 Apr 2007 22:29:09 +0000 (18:29 -0400)]
Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/newmem
into zizzer.eecs.umich.edu:/tmp/newmem.1449b
--HG--
extra : convert_revision :
05021f4884de7af769df9f9c4416c483baa9c2fe
Ali Saidi [Tue, 3 Apr 2007 22:28:59 +0000 (18:28 -0400)]
fixed sttw instruction changes execution trace a bit
--HG--
extra : convert_revision :
4bebe6f9acedfd29dfe02f16d4ddb551a2fc7290
Kevin Lim [Tue, 3 Apr 2007 18:25:24 +0000 (14:25 -0400)]
Fix a memory leak. Hopefully this fixes the longer running benchmarks.
--HG--
extra : convert_revision :
89eff82642ff181a9b95c77c4d2bf620ca837113
Gabe Black [Tue, 3 Apr 2007 15:01:36 +0000 (15:01 +0000)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into ahchoo.blinky.homelinux.org:/home/gblack/m5/newmem-x86
--HG--
extra : convert_revision :
7be8ebe55a7b11552d78701520f93aa86db1e501
Gabe Black [Tue, 3 Apr 2007 15:01:09 +0000 (15:01 +0000)]
A batch of changes and fixes. Macroops are now generated automatically, multiops do alot more of what they're supposed to (excluding memory operands), and microops are slightly more implemented.
--HG--
extra : convert_revision :
518059f47e11df50aa450d4a322ef2ac069c99c9
Gabe Black [Tue, 3 Apr 2007 14:56:24 +0000 (14:56 +0000)]
Zero out ModRM if the byte isn't there, and fix some displacement size stuff.
--HG--
extra : convert_revision :
f43abf33a223a665b30098c63011fb162200d5e6
Kevin Lim [Mon, 2 Apr 2007 17:55:45 +0000 (13:55 -0400)]
Remove/comment out DPRINTFs that were causing a segfault.
The removed ones were unnecessary. The commented out ones could be useful in the future, should this problem get fixed. See flyspray task #243.
src/cpu/o3/commit_impl.hh:
src/cpu/o3/decode_impl.hh:
src/cpu/o3/fetch_impl.hh:
src/cpu/o3/iew_impl.hh:
src/cpu/o3/inst_queue_impl.hh:
src/cpu/o3/lsq_impl.hh:
src/cpu/o3/lsq_unit_impl.hh:
src/cpu/o3/rename_impl.hh:
src/cpu/o3/rob_impl.hh:
Remove/comment out DPRINTFs that were causing a segfault.
--HG--
extra : convert_revision :
b5aeda1c6300dfde5e0a3e9b8c4c5f6fa00b9862
Kevin Lim [Mon, 2 Apr 2007 17:28:17 +0000 (13:28 -0400)]
Fix up SPARC's CPU builder to match changes to Alpha's CPU builder.
--HG--
extra : convert_revision :
ec2a739f1da07f0922c772e6998017995115ce80
Kevin Lim [Fri, 30 Mar 2007 20:59:40 +0000 (16:59 -0400)]
Update refs for recent changes.
--HG--
extra : convert_revision :
30a02eec4d83c4e1708ed0a4e2b5faea88fe8e03
Ali Saidi [Fri, 30 Mar 2007 02:01:34 +0000 (22:01 -0400)]
Merge zizzer:/bk/newmem
into zeep.pool:/z/saidi/work/m5.newmem
--HG--
extra : convert_revision :
2f7f50f4ad31f741c0c67db96e49d30ca078fc94
Ali Saidi [Fri, 30 Mar 2007 02:00:01 +0000 (22:00 -0400)]
make serialization at least seem to work
--HG--
extra : convert_revision :
cbfdb64f9a204670b8dd0294c74a17044b9f330c
Gabe Black [Thu, 29 Mar 2007 22:43:38 +0000 (22:43 +0000)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into ahchoo.blinky.homelinux.org:/home/gblack/m5/newmem-x86
--HG--
extra : convert_revision :
e6a6c65cb0f8df9af82daa3eebd989c4211edfb0
Gabe Black [Thu, 29 Mar 2007 22:43:37 +0000 (17:43 -0500)]
Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/newmem
into zizzer.eecs.umich.edu:/.automount/wexford/x/gblack/m5/newmem-mcf
--HG--
extra : convert_revision :
f2c3503e8893b957330cf3791748a45800ea5a82
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 22:39:34 +0000 (17:39 -0500)]
Added a SPARC_SE simple timing mcf regression.
--HG--
extra : convert_revision :
d8fea11c37bd3f0b5f5e8880c92b711892ee8125
Ali Saidi [Thu, 29 Mar 2007 19:57:11 +0000 (15:57 -0400)]
get rid of CWP bounds warning...
--HG--
extra : convert_revision :
74df09341c091c2d6ca9b46c6a3521f22b48acf4
Ali Saidi [Thu, 29 Mar 2007 19:41:09 +0000 (15:41 -0400)]
add to instruction test sttw instruction
--HG--
extra : convert_revision :
16efbe12e609a909a589505ad6c473eb44c38f9c
Gabe Black [Thu, 29 Mar 2007 17:57:19 +0000 (17:57 +0000)]
Made the MultiOp format do a little more. It now sets up single microop instructions to return an instance of the right class. The code to decode register numbers and generate loads and stores still needs to be added. Also, a syntax for specifying operands as sources, destinations, or both needs to be established. Multipl microop instructions are also not handled, pending real macroop generation support.
--HG--
extra : convert_revision :
1a0a4b36afce8255e23e3cdd7a85c1392dda5f72
Gabe Black [Thu, 29 Mar 2007 17:57:18 +0000 (17:57 +0000)]
Add a microcode assembler. A microcode "program" is a series of statements. Each statement has an optional label at the beginning, a capitilized microcode class name which is roughly equivalent to a mnemonic in a regular ISA, and then an optional series of operands seperated by white space. The operands are either a decimal constant, a label, or a code fragment surrounded by non nested {}s. Labels are a letter or underscore followed by letters, underscores, or digits. The syntax for describing code segments might need to be changed if a need arrises to have {}s in the code itself.
--HG--
extra : convert_revision :
8e5cfdd1a3c9a7e3731fdf6acd615ee82ac2b9b7
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