gem5.git
17 years agoAdd a parameter type to read a register index from the opcode itself.
Gabe Black [Fri, 20 Jul 2007 21:55:16 +0000 (14:55 -0700)]
Add a parameter type to read a register index from the opcode itself.

--HG--
extra : convert_revision : d2b5468ebf5df5a6ccadb57a30c52c8d16417b9a

17 years agoFix function which calculates the carry flag.
Gabe Black [Fri, 20 Jul 2007 21:54:17 +0000 (14:54 -0700)]
Fix function which calculates the carry flag.

--HG--
extra : convert_revision : aeb4f2d4c3936089421dbe80647f28ae36178283

17 years agoFix carry flag for subtracts, and clean up code slightly.
Gabe Black [Fri, 20 Jul 2007 21:53:38 +0000 (14:53 -0700)]
Fix carry flag for subtracts, and clean up code slightly.

--HG--
extra : convert_revision : 668f5d5aeba888488b41284de6c72a0d055c4ef4

17 years agoFixed width parameter and provided a parameter to flip the carry bit on subtract.
Gabe Black [Fri, 20 Jul 2007 21:52:44 +0000 (14:52 -0700)]
Fixed width parameter and provided a parameter to flip the carry bit on subtract.

--HG--
extra : convert_revision : d01bb791b000a2fdfc8600f8fb2f8aadd52b0b63

17 years agox86 fixes
Gabe Black [Thu, 19 Jul 2007 22:15:47 +0000 (15:15 -0700)]
x86 fixes
Make the emulation environment consider the rex prefix.
Implement and hook in forms of j, jmp, cmp, syscall, movzx
Added a format for an instruction to carry a call to the SE mode syscalls system
Made memory instructions which refer to the rip do so directly
Made the operand size overridable in the microassembly
Made the "ext" field of register operations 16 bits to hold a sparse encoding of flags to set or conditions to predicate on
Added an explicit "rax" operand for the syscall format
Implemented syscall returns.

--HG--
extra : convert_revision : ae84bd8c6a1d400906e17e8b8c4185f2ebd4c5f2

17 years agoCheck for the two opcode prefix correctly and add in some instructions.
Gabe Black [Thu, 19 Jul 2007 00:51:05 +0000 (17:51 -0700)]
Check for the two opcode prefix correctly and add in some instructions.

--HG--
extra : convert_revision : 751e54843f5c81b81529050a1ae9d46d07c36e97

17 years agoHook near returns into the decoder.
Gabe Black [Thu, 19 Jul 2007 00:48:16 +0000 (17:48 -0700)]
Hook near returns into the decoder.

--HG--
extra : convert_revision : b38d4417552991e44f5d1de1f35d5d1ad8f32340

17 years agoImplement near returns.
Gabe Black [Thu, 19 Jul 2007 00:47:40 +0000 (17:47 -0700)]
Implement near returns.

--HG--
extra : convert_revision : 3d6e8a976d31cb016a4b78200716b0ece155137a

17 years agoMake instructions that conditionally set registers set them to their old value if...
Gabe Black [Thu, 19 Jul 2007 00:46:38 +0000 (17:46 -0700)]
Make instructions that conditionally set registers set them to their old value if they don't actually execute.

--HG--
extra : convert_revision : 36e63dd0c6ac1a3e1133c7985cf5507b83e9ee45

17 years agoFix the overload which prints ExtMachInst in X86.
Gabe Black [Thu, 19 Jul 2007 00:45:43 +0000 (17:45 -0700)]
Fix the overload which prints ExtMachInst in X86.

--HG--
extra : convert_revision : 2ef8ee71999f36b09270ba9526c2846beda65051

17 years agoMake store microops actually store instead of load.
Gabe Black [Thu, 19 Jul 2007 00:45:06 +0000 (17:45 -0700)]
Make store microops actually store instead of load.

--HG--
extra : convert_revision : fe90f8adc96dd0e680cfa45e4c510a906046ae3d

17 years agoFix a comment to refer to the right type of instruction.
Gabe Black [Thu, 19 Jul 2007 00:44:12 +0000 (17:44 -0700)]
Fix a comment to refer to the right type of instruction.

--HG--
extra : convert_revision : dd441d8fbaed1ed8b2b66e3ad0275009bd4dcef4

17 years agoFix the panic in the "error" format for x86,
Gabe Black [Thu, 19 Jul 2007 00:43:30 +0000 (17:43 -0700)]
Fix the panic in the "error" format for x86,

--HG--
extra : convert_revision : bd0715b5b63665f9160082d67c5b5d90d2405c5c

17 years agoImplement some forms of add.
Gabe Black [Wed, 18 Jul 2007 23:33:56 +0000 (16:33 -0700)]
Implement some forms of add.

--HG--
extra : convert_revision : adbff2e9b9952ec09853cc43d40243e7262410a7

17 years agoFix the operand types in a section of the decoder.
Gabe Black [Wed, 18 Jul 2007 23:26:52 +0000 (16:26 -0700)]
Fix the operand types in a section of the decoder.

--HG--
extra : convert_revision : c37600fd65b44817eed2ba653f9d4f08a9869874

17 years agoMake the data size used by regops overridable in the microassembly.
Gabe Black [Wed, 18 Jul 2007 23:26:17 +0000 (16:26 -0700)]
Make the data size used by regops overridable in the microassembly.

--HG--
extra : convert_revision : 84d850aa5340c9d02d03502704b063215f6e2140

17 years agoFill out the miscreg file and add types to miscregs.hh
Gabe Black [Wed, 18 Jul 2007 23:12:39 +0000 (16:12 -0700)]
Fill out the miscreg file and add types to miscregs.hh

--HG--
extra : convert_revision : 865432256518c4340d9f319bdd9b7d160dc656a0

17 years agoHook x86 nop into the decoder.
Gabe Black [Wed, 18 Jul 2007 23:11:52 +0000 (16:11 -0700)]
Hook x86 nop into the decoder.

--HG--
extra : convert_revision : 26f765ecf74a0bb6a1ec89816f1d630a1a8e4553

17 years agoFix a compilation error for SubBitUnions,
Gabe Black [Wed, 18 Jul 2007 23:11:16 +0000 (16:11 -0700)]
Fix a compilation error for SubBitUnions,

--HG--
extra : convert_revision : aad9388afe81ba6541d0b18fa9777e6ffcfd871c

17 years agoImplement the x86 nop to be a "fault" microop which returns "NoFault".
Gabe Black [Wed, 18 Jul 2007 23:10:44 +0000 (16:10 -0700)]
Implement the x86 nop to be a "fault" microop which returns "NoFault".

--HG--
extra : convert_revision : 1b446def756f1d0f80631db944d1cc41be95efbd

17 years agoAdd a generateDisassembly function to the MicroFault StaticInst.
Gabe Black [Wed, 18 Jul 2007 23:09:35 +0000 (16:09 -0700)]
Add a generateDisassembly function to the MicroFault StaticInst.

--HG--
extra : convert_revision : 73811bf99b26fad413c9b84a54f44e3763ff1835

17 years agoMake name, isMachineCheckFault, and isAlignmentFault const.
Gabe Black [Wed, 18 Jul 2007 23:09:00 +0000 (16:09 -0700)]
Make name, isMachineCheckFault, and isAlignmentFault const.

--HG--
extra : convert_revision : a27e0cbdfcb2a5fdc5979686f887cec7d106542b

17 years agoCalculate the correct address size.
Gabe Black [Wed, 18 Jul 2007 03:54:55 +0000 (20:54 -0700)]
Calculate the correct address size.

--HG--
extra : convert_revision : 6bd9d5a01ba6600781e3678e0403dca524fb2cba

17 years agoMake disassembled x86 register indices reflect their size.
Gabe Black [Wed, 18 Jul 2007 01:12:33 +0000 (18:12 -0700)]
Make disassembled x86 register indices reflect their size.
This doesn't handle high byte register accesses. It also highlights the fact that address size isn't actually being calculated, and that the size a microop uses needs to be overridable from the microassembly.

--HG--
extra : convert_revision : d495ac4f5756dc55a5f71953ff6963b3c030e6cb

17 years agoImplemented jnz.
Gabe Black [Tue, 17 Jul 2007 23:55:33 +0000 (16:55 -0700)]
Implemented jnz.

--HG--
extra : convert_revision : ea169ad68acbb3383443586b783b831b3a9eecf9

17 years agoUse limm to set up immediate value for subtract instruction.
Gabe Black [Tue, 17 Jul 2007 23:50:13 +0000 (16:50 -0700)]
Use limm to set up immediate value for subtract instruction.

--HG--
extra : convert_revision : f94e391e36a47c2f5222f30d7e28f48f7875db58

17 years agoImplement the jz instruction.
Gabe Black [Tue, 17 Jul 2007 22:36:45 +0000 (15:36 -0700)]
Implement the jz instruction.

--HG--
extra : convert_revision : 7c0bd7ce244f724ac03bbb5fdf770c7a3eba78b4

17 years agoMake "test" set some condition codes.
Gabe Black [Tue, 17 Jul 2007 22:35:34 +0000 (15:35 -0700)]
Make "test" set some condition codes.
It still needs to zero the overflow and carry flags to be correct.

--HG--
extra : convert_revision : 73cb3a55f7b4234389d9355f5ad45da6aaaa6c60

17 years agoAdd in support for condition code flags.
Gabe Black [Tue, 17 Jul 2007 22:33:18 +0000 (15:33 -0700)]
Add in support for condition code flags.
Some microops can set the condition codes, and some of them can be predicated on them. Some of the codes aren't implemented because it was unclear from the AMD patent what they actually did. They are used with string instructions, but they use variables IP, DTF, and SSTF which don't appear to be documented.

--HG--
extra : convert_revision : 2236cccd07d0091762b50148975f301bb1d2da3f

17 years agoAdd in operand which holds the condition code bits of the flag register.
Gabe Black [Tue, 17 Jul 2007 22:28:48 +0000 (15:28 -0700)]
Add in operand which holds the condition code bits of the flag register.

--HG--
extra : convert_revision : 416052f41fccc8286b3bdbe8d559512a761224f2

17 years agoAdd symbols for each of the flags a microop could set and each condition it could...
Gabe Black [Tue, 17 Jul 2007 22:27:28 +0000 (15:27 -0700)]
Add symbols for each of the flags a microop could set and each condition it could check.

--HG--
extra : convert_revision : 1f542b8aadfd5146539cadef631b49d77f578472

17 years agoActually include miscregs.hh
Gabe Black [Tue, 17 Jul 2007 20:30:23 +0000 (13:30 -0700)]
Actually include miscregs.hh

--HG--
extra : convert_revision : 6ebf906d2211b94f28c173f0d2da91bd446fcb2c

17 years agoCreate a file to describe misc registers.
Gabe Black [Tue, 17 Jul 2007 20:29:40 +0000 (13:29 -0700)]
Create a file to describe misc registers.
Define bitfields, indices, etc.

--HG--
extra : convert_revision : 8fffdc4cf796d304b12b317d8bddf5685bd50cf4

17 years agoCreate a file of functions for computing condition codes.
Gabe Black [Tue, 17 Jul 2007 20:28:03 +0000 (13:28 -0700)]
Create a file of functions for computing condition codes.
These haven't been very thuroughly tested, so use at your own risk.

--HG--
extra : convert_revision : 938885d36fea4a99f8228cdf195a0e0a38dd9031

17 years agoAdd a spot for the condition code portion of the flag register.
Gabe Black [Tue, 17 Jul 2007 20:26:06 +0000 (13:26 -0700)]
Add a spot for the condition code portion of the flag register.
This is stored in the integer register file so that it can be renamed, but it should be a misc reg.

--HG--
extra : convert_revision : eee48f24dd80b145f14427482047c4d8af2521ab

17 years agoAdd a conversion constructor so a bitunion can be initialized to a value.
Gabe Black [Tue, 17 Jul 2007 20:23:42 +0000 (13:23 -0700)]
Add a conversion constructor so a bitunion can be initialized to a value.
Previously, the bitunion would need to be declared and then assigned to separately.

--HG--
extra : convert_revision : d229bd83bc7baeca2259d4e7b080f359915015f3

17 years agoMove bitunion code into it's own file.
Gabe Black [Sun, 15 Jul 2007 00:28:26 +0000 (17:28 -0700)]
Move bitunion code into it's own file.

--HG--
extra : convert_revision : 8d55ca9645ee4e357b7f4595435542eb72490331

17 years agoPull some hard coded base classes out of the isa description.
Gabe Black [Sun, 15 Jul 2007 00:14:19 +0000 (17:14 -0700)]
Pull some hard coded base classes out of the isa description.

--HG--
rename : src/arch/x86/isa/base.isa => src/arch/x86/isa/outputblock.isa
extra : convert_revision : 7954e7d5eea3b5966c9e273a08bcd169a39f380c

17 years agoignore stuff that we don't want to see in the status
Nathan Binkert [Sat, 14 Jul 2007 05:39:41 +0000 (22:39 -0700)]
ignore stuff that we don't want to see in the status

--HG--
extra : convert_revision : c4a4711cf515507d4debcacacef5799adcfe3bef

17 years agotransfer tags
Nathan Binkert [Sat, 14 Jul 2007 05:24:04 +0000 (22:24 -0700)]
transfer tags

--HG--
extra : convert_revision : 7e83aabe9926dae16d4732a6260c89b4344919e9

17 years agofix store instructions, pass fast/quick Atomic/TimingSimpleCPU regressions...
Korey Sewell [Fri, 29 Jun 2007 19:13:50 +0000 (15:13 -0400)]
fix store instructions, pass fast/quick Atomic/TimingSimpleCPU regressions...

src/arch/mips/isa/decoder.isa:
    commment out deret instruction for now...
src/arch/mips/isa/formats/fp.isa:
    edit fp format
src/arch/mips/isa/formats/mem.isa:
    fix for basic store instructions

--HG--
extra : convert_revision : 30cb5a474e78ac9292b6ab37d433db947a177731

17 years agoo3cpu build for mips
Korey Sewell [Thu, 28 Jun 2007 09:30:46 +0000 (05:30 -0400)]
o3cpu build for mips

--HG--
extra : convert_revision : 2c0be7a8c0a54ba5b1b2b69468f788d20abc8452

17 years agoFINISH off merge of mips mt/dsp isa extensions by adding the ControlBitfieldOPerand...
Korey Sewell [Sat, 23 Jun 2007 01:09:35 +0000 (21:09 -0400)]
FINISH off merge of mips mt/dsp isa extensions by adding the ControlBitfieldOPerand to ISA Parser. Now, while things do build, we have to fix broken functionality...

src/arch/isa_parser.py:
    add back deleted writeback in Control Operand

--HG--
extra : convert_revision : dba11af220a1281fa53f79d87e4f8752bdfc56db

17 years agoadd Control Bitfield class
Korey Sewell [Sat, 23 Jun 2007 00:09:46 +0000 (20:09 -0400)]
add Control Bitfield class

--HG--
extra : convert_revision : 31e7243c8820cb9f6744c53c417460dee9adaf44

17 years agomips import pt. 1
Korey Sewell [Fri, 22 Jun 2007 23:03:42 +0000 (19:03 -0400)]
mips import pt. 1

src/arch/mips/SConscript:
    "mips import pt.1".

--HG--
extra : convert_revision : 2e393341938bebf32fb638a209262d074fad4cc1

17 years agoMerge zizzer.eecs.umich.edu:/bk/newmem
Gabe Black [Fri, 22 Jun 2007 21:44:33 +0000 (17:44 -0400)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into  zizzer.eecs.umich.edu:/.automount/wexford/x/gblack/newmem-o3-micro

--HG--
extra : convert_revision : 3fa3fa4544ff8c9d2135e1befe6c8f4757006a2a

17 years agoUpdate of reference outputs. SPARC_SE o3 gzip didn't have reference outputs, mcf...
Gabe Black [Fri, 22 Jun 2007 19:06:10 +0000 (15:06 -0400)]
Update of reference outputs. SPARC_SE o3 gzip didn't have reference outputs, mcf has a reduced input size, and most of the other changes are for a change in how branch mispredicts work which makes things more accurate.

--HG--
extra : convert_revision : 33ad6a220945b344d2fc5c6abef8e67467e0c0ec

17 years agoMake symbols for regular registers.
Gabe Black [Thu, 21 Jun 2007 20:35:27 +0000 (20:35 +0000)]
Make symbols for regular registers.

--HG--
extra : convert_revision : 28a6df1efe4298877dc2b20179caeb25dfdc4622

17 years agoGet rid of an unnecessary include file.
Gabe Black [Thu, 21 Jun 2007 20:35:26 +0000 (20:35 +0000)]
Get rid of an unnecessary include file.

--HG--
extra : convert_revision : d8d139180917f54006a5a79df4a0f206ddd39fed

17 years agoMerge zizzer.eecs.umich.edu:/bk/newmem
Gabe Black [Thu, 21 Jun 2007 20:35:25 +0000 (20:35 +0000)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into  ahchoo.blinky.homelinux.org:/home/gblack/m5/newmem-o3-micro

src/cpu/o3/fetch_impl.hh:
    hand merge

--HG--
extra : convert_revision : 3f71f3ac2035eec8b6f7bceb6906edb4dd09c045

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

--HG--
extra : convert_revision : ba4d93f354749d02278b16e78b4ecd4b2311416b

17 years agoupdate stats for fixed nextCycle()
Ali Saidi [Thu, 21 Jun 2007 20:35:22 +0000 (16:35 -0400)]
update stats for fixed nextCycle()

--HG--
extra : convert_revision : 3626c4d2d67ed190d846f6edae06c43444a14feb

17 years agoUse FastAlloc for Packet, Request, CoherenceState, and SenderState so we don't spend...
Ali Saidi [Thu, 21 Jun 2007 17:50:35 +0000 (13:50 -0400)]
Use FastAlloc for Packet, Request, CoherenceState, and SenderState so we don't spend so much time calling malloc()

--HG--
extra : convert_revision : a946564eee46ed7d2aed41c32d488ca7f036c32f

17 years agoUse the new symbols to clean up the assembler.
Gabe Black [Thu, 21 Jun 2007 15:30:05 +0000 (15:30 +0000)]
Use the new symbols to clean up the assembler.

--HG--
extra : convert_revision : 005464e875ede1e37dfe0e0482c29fd793ca52be

17 years agoNeeded for last change set to work :P
Gabe Black [Thu, 21 Jun 2007 15:29:02 +0000 (15:29 +0000)]
Needed for last change set to work :P

--HG--
extra : convert_revision : 9e57e582dd1ef2805d5adffcc0ccfd99596d9f54

17 years agoDefine symbols for the x86 specialization of the microassembler.
Gabe Black [Thu, 21 Jun 2007 15:28:08 +0000 (15:28 +0000)]
Define symbols for the x86 specialization of the microassembler.

--HG--
extra : convert_revision : 1fd66ba519d211fec18641b6df94b7640c56080c

17 years agoFix a comment.
Gabe Black [Thu, 21 Jun 2007 15:26:38 +0000 (15:26 +0000)]
Fix a comment.

--HG--
extra : convert_revision : 17e67cf6ea17fe6f971ef608547983fbb94adec9

17 years agoFix a problem where part of a microops parameters might be interpretted as an "ID...
Gabe Black [Thu, 21 Jun 2007 15:26:01 +0000 (15:26 +0000)]
Fix a problem where part of a microops parameters might be interpretted as an "ID", and also added support for symbols.

--HG--
extra : convert_revision : 60d1ef677a6a59a9d897086893843ec1ec368148

17 years agoAdd in code that lays the ground work for setting flags.
Gabe Black [Thu, 21 Jun 2007 13:48:44 +0000 (13:48 +0000)]
Add in code that lays the ground work for setting flags.

--HG--
extra : convert_revision : e4fcb64d45804700a0ef34e8acf5615b66e2a527

17 years agolong is too long
Gabe Black [Thu, 21 Jun 2007 02:48:25 +0000 (19:48 -0700)]
long is too long

--HG--
extra : convert_revision : 7342cd4a1700a247f30d6f85fc6c2685341ba20e

17 years agoFix compiler errors.
Gabe Black [Thu, 21 Jun 2007 02:46:45 +0000 (19:46 -0700)]
Fix compiler errors.

--HG--
extra : convert_revision : 2b10076a24cb36cb748e299011ae691f09c158cd

17 years agoImplement rip relative addressing and put in some missing loads and stores.
Gabe Black [Wed, 20 Jun 2007 19:08:04 +0000 (19:08 +0000)]
Implement rip relative addressing and put in some missing loads and stores.

--HG--
extra : convert_revision : 99053414cef40f13c5226871a72909b2622d8c26

17 years agoFix a newly introduced bug where the predecoder wasn't picking up all the displacement.
Gabe Black [Wed, 20 Jun 2007 19:06:08 +0000 (19:06 +0000)]
Fix a newly introduced bug where the predecoder wasn't picking up all the displacement.

--HG--
extra : convert_revision : 9202c11ee187458adcd85ba616b7f7f4bdd4eec1

17 years agoX86 probably doesn't need a window save area.
Gabe Black [Wed, 20 Jun 2007 19:05:06 +0000 (19:05 +0000)]
X86 probably doesn't need a window save area.

--HG--
extra : convert_revision : c4a76262d4396f5f5b96b1c9e751014c2abbd78a

17 years agoFix a typo in one of the operand type tags.
Gabe Black [Wed, 20 Jun 2007 19:04:41 +0000 (19:04 +0000)]
Fix a typo in one of the operand type tags.

--HG--
extra : convert_revision : bea87214ba4b40d75a350b803154836ec6d0ae9e

17 years agoComment out some unnecessary debug output.
Gabe Black [Wed, 20 Jun 2007 19:04:40 +0000 (19:04 +0000)]
Comment out some unnecessary debug output.

--HG--
extra : convert_revision : 9df17841d970a7995d8ed1d51ee66e2c5457e5e3

17 years agoForgot to check these in...
Gabe Black [Wed, 20 Jun 2007 19:04:39 +0000 (19:04 +0000)]
Forgot to check these in...

--HG--
extra : convert_revision : f489fda15740bae0a73bfb012f3bab5790b5c2b5

17 years agoComment out some unnecessary debug statements.
Gabe Black [Wed, 20 Jun 2007 19:04:38 +0000 (19:04 +0000)]
Comment out some unnecessary debug statements.

--HG--
extra : convert_revision : aabaaf099f070832bf42cedf2472170e0738ee1c

17 years agoMerge zizzer.eecs.umich.edu:/bk/newmem
Gabe Black [Wed, 20 Jun 2007 19:04:37 +0000 (19:04 +0000)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into  ahchoo.blinky.homelinux.org:/home/gblack/m5/newmem-x86

--HG--
extra : convert_revision : f2fac2b1a09e709021cd8382a9fbe805df2177ef

17 years agoMinor error.
Vincentius Robby [Wed, 20 Jun 2007 19:04:36 +0000 (15:04 -0400)]
Minor error.

--HG--
extra : convert_revision : 514032e21c8861f20fcbcae7204e132088cc7dbc

17 years agoRemoved "adding instead of dividing" trick.
Vincentius Robby [Wed, 20 Jun 2007 18:54:17 +0000 (14:54 -0400)]
Removed "adding instead of dividing" trick.
Caused slowdown in performance instead of speeding up.

src/cpu/base.cc:
    Removed "adding instead of dividing" trick.
src/mem/bus.cc:
    Fixed spelling in comments.
    Removed "adding instead of dividing" trick.

--HG--
extra : convert_revision : 65a736f4f09a64e737dc7aeee53b117976330488

17 years agoDon't do checker stuff if the checker is not defined
Nathan Binkert [Wed, 20 Jun 2007 15:15:06 +0000 (08:15 -0700)]
Don't do checker stuff if the checker is not defined

--HG--
extra : convert_revision : 1c920b050c21e592a386410e4e9f45354f8e4441

17 years agoMake sure all parameters have default values if they're
Nathan Binkert [Wed, 20 Jun 2007 15:14:11 +0000 (08:14 -0700)]
Make sure all parameters have default values if they're
supposed to and make sure parameters have the right type.
Also make sure that any object that should be an intermediate
type has the right options set.

--HG--
extra : convert_revision : d56910628d9a067699827adbc0a26ab629d11e93

17 years agoDon't go over 80 chars per line
Nathan Binkert [Wed, 20 Jun 2007 15:12:10 +0000 (08:12 -0700)]
Don't go over 80 chars per line

--HG--
extra : convert_revision : ec73c3c8788757990a6fab8c600f3b353d0d4206

17 years agoMake memory instructions work better, add more macroop implementations, add an lea...
Gabe Black [Wed, 20 Jun 2007 15:02:50 +0000 (15:02 +0000)]
Make memory instructions work better, add more macroop implementations, add an lea microop, move EmulEnv into it's own .cc and .hh.

--HG--
extra : convert_revision : 1212b8463eab1c1dcba7182c487d1e9184cf9bea

17 years agoMerge zizzer.eecs.umich.edu:/bk/newmem
Gabe Black [Wed, 20 Jun 2007 01:54:40 +0000 (18:54 -0700)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into  doughnut.hpl.hp.com:/home/gblack/newmem-o3-micro

src/cpu/base_dyn_inst_impl.hh:
src/cpu/o3/fetch_impl.hh:
    Hand merge

--HG--
extra : convert_revision : 0c0692033ac30133672d8dfe1f1a27e9d9e95a3d

17 years agoMore faithfulness to what instructions should work in what modes, and added the MOVSX...
Gabe Black [Tue, 19 Jun 2007 22:40:10 +0000 (22:40 +0000)]
More faithfulness to what instructions should work in what modes, and added the MOVSXD instruction.

--HG--
extra : convert_revision : 38b9bf6cd4bdec6355b1158967c7d3562715cacd

17 years agoMissed an "offset" to get rid of.
Gabe Black [Tue, 19 Jun 2007 19:01:02 +0000 (19:01 +0000)]
Missed an "offset" to get rid of.

--HG--
extra : convert_revision : 7542f130b269a6a09e6ed51ae4689d1faa45a155

17 years agoMake branches work by repopulating the predecoder every time through. This is probabl...
Gabe Black [Tue, 19 Jun 2007 18:17:34 +0000 (18:17 +0000)]
Make branches work by repopulating the predecoder every time through. This is probably fine as far as the predecoder goes, but the simple cpu might want to not refetch something it already has. That reintroduces the self modifying code problem though.

--HG--
extra : convert_revision : 802197e65f8dc1ad657c6b346091e03cb563b0c0

17 years agoMake instructions that are illegal in 64 bit mode not do the wrong thing in 64 bit...
Gabe Black [Tue, 19 Jun 2007 17:56:06 +0000 (17:56 +0000)]
Make instructions that are illegal in 64 bit mode not do the wrong thing in 64 bit mode. Also add in more versions of PUSH and POP, and a version of near CALL.

--HG--
extra : convert_revision : 7d8266cdfa54ac25610466b3533d3e9e5433297b

17 years agoMake an error message a little more descriptive.
Gabe Black [Tue, 19 Jun 2007 17:53:10 +0000 (17:53 +0000)]
Make an error message a little more descriptive.

--HG--
extra : convert_revision : dbde025b1dcec0083e7276a9938bd21e7ab2887f

17 years agoRenovate the "fault" microop implementation.
Gabe Black [Tue, 19 Jun 2007 14:50:35 +0000 (14:50 +0000)]
Renovate the "fault" microop implementation.

--HG--
extra : convert_revision : dc9d67dd5413f00f16d37cb2d0f8b0d10971e14a

17 years agoGet rid of the commented out versions of macroops which have been reimplemented....
Gabe Black [Tue, 19 Jun 2007 14:26:42 +0000 (14:26 +0000)]
Get rid of the commented out versions of macroops which have been reimplemented. The comments are basically functioning like a todo list.

--HG--
extra : convert_revision : cb07e3813f6cf882b4a5c77c498ffbca26adf586

17 years agoMerge zizzer.eecs.umich.edu:/bk/newmem
Gabe Black [Tue, 19 Jun 2007 14:18:46 +0000 (14:18 +0000)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into  ahchoo.blinky.homelinux.org:/home/gblack/m5/newmem-x86

--HG--
extra : convert_revision : 2dfc24b0720b3b378858a289e4bb6f4ee7132b3d

17 years agoGet rid of the immediate and displacement components of the EmulEnv struct and use...
Gabe Black [Tue, 19 Jun 2007 14:18:25 +0000 (14:18 +0000)]
Get rid of the immediate and displacement components of the EmulEnv struct and use them directly out of the instruction. The extra copies are conceptually realistic but are just innefficient as implemented. Also don't use the zeroeth microcode register for general storage since it's now the zero register, and implement a load and a store microops.

--HG--
extra : convert_revision : 0686296ca8b72940d961ecc6051063bfda1e932d

17 years agoAdd a stack size bitfield and expose the mode component of the ExtMachInst.
Gabe Black [Tue, 19 Jun 2007 14:15:21 +0000 (14:15 +0000)]
Add a stack size bitfield and expose the mode component of the ExtMachInst.

--HG--
extra : convert_revision : aad0ec51745fb94335898b0565bb11c1b399bbee

17 years agoAdd a function to print out segment names.
Gabe Black [Tue, 19 Jun 2007 14:14:17 +0000 (14:14 +0000)]
Add a function to print out segment names.

--HG--
extra : convert_revision : 8cbe3ca0d05165f7da5d6fa38c899ecc9e782511

17 years agofix bug in timing cpu. getTime() is the time the requset was created, not the time...
Ali Saidi [Mon, 18 Jun 2007 22:11:07 +0000 (18:11 -0400)]
fix bug in timing cpu. getTime() is the time the requset was created, not the time it was repsonded to. In timing mode the
time it was responded to is curTick. Doesn't change the results, but it does make implementation of nextCycle() more difficult

--HG--
extra : convert_revision : 67ed6261a5451d17d96d5df45992590acc353afc

17 years agoMerge zizzer.eecs.umich.edu:/bk/newmem
Gabe Black [Mon, 18 Jun 2007 14:16:08 +0000 (14:16 +0000)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into  ahchoo.blinky.homelinux.org:/home/gblack/m5/newmem-x86

--HG--
extra : convert_revision : fd64f2de0051afdc51e833a7cbf7fa120b230cc3

17 years agoGet rid of unnecessary output.
Gabe Black [Mon, 18 Jun 2007 14:15:47 +0000 (14:15 +0000)]
Get rid of unnecessary output.

--HG--
extra : convert_revision : 0df9a12788b8ce3225c113c095d5f13e49a7c544

17 years agoAdd in incomplete pick and merge functions which read and write pieces of registers...
Gabe Black [Mon, 18 Jun 2007 14:15:00 +0000 (14:15 +0000)]
Add in incomplete pick and merge functions which read and write pieces of registers, and fill out microcode disassembly.

--HG--
extra : convert_revision : 56332b3999a9079b1bd305ee2826abdf593367e1

17 years agosince the o3 cpu perlbmk regression doesn't work, just delete it. Perhaps the regress...
Ali Saidi [Sun, 17 Jun 2007 18:01:01 +0000 (14:01 -0400)]
since the o3 cpu perlbmk regression doesn't work, just delete it. Perhaps the regression will terminate now

--HG--
extra : convert_revision : 509e42c2abc4bce1f56dc0b6a69e5c27ab95f448

17 years agomemtest.cc:
Steve Reinhardt [Sat, 16 Jun 2007 21:05:05 +0000 (14:05 -0700)]
memtest.cc:
No need to initialize memory contents; should come up as 0.

src/cpu/memtest/memtest.cc:
    No need to initialize memory contents; should come up as 0.

--HG--
extra : convert_revision : 1713676956f3d33b4686fee2650bd17027bcc495

17 years agoAdd in some microregs.
Gabe Black [Thu, 14 Jun 2007 20:52:25 +0000 (20:52 +0000)]
Add in some microregs.

--HG--
extra : convert_revision : e8a894c2f7901329bd390a4cfd92209d0e29cf80

17 years agoSign extend byte immediates as well. There might need to be a fancier system in place...
Gabe Black [Thu, 14 Jun 2007 20:52:24 +0000 (20:52 +0000)]
Sign extend byte immediates as well. There might need to be a fancier system in place to handle this in the future.

--HG--
extra : convert_revision : 2c5bd719c770d9a93a57bd29782842f82384863d

17 years agoFix limm.
Gabe Black [Thu, 14 Jun 2007 20:52:23 +0000 (20:52 +0000)]
Fix limm.

--HG--
extra : convert_revision : ab76b11c2bb2f3abc0e7a84f7167d92d16ed074e

17 years agoImplement a handful more instructions and differentiate macroops based on the operand...
Gabe Black [Thu, 14 Jun 2007 20:52:22 +0000 (20:52 +0000)]
Implement a handful more instructions and differentiate macroops based on the operand types they expect.

--HG--
extra : convert_revision : f9c8e694a8c0eb33b988657dca03ab495b65bee8

17 years agoMove the high byte register indices to the right place.
Gabe Black [Thu, 14 Jun 2007 20:52:21 +0000 (20:52 +0000)]
Move the high byte register indices to the right place.

--HG--
extra : convert_revision : 3f04036d598b6572bab6ec06d162b97564a6529c

17 years agoMerge zizzer.eecs.umich.edu:/bk/newmem
Gabe Black [Thu, 14 Jun 2007 20:52:20 +0000 (20:52 +0000)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into  ahchoo.blinky.homelinux.org:/home/gblack/m5/newmem-x86

--HG--
extra : convert_revision : ba718de4d676f6d0bd80c29de46be1f6a2f73feb

17 years agoModified instruction decode method.
Vincentius Robby [Thu, 14 Jun 2007 20:52:19 +0000 (16:52 -0400)]
Modified instruction decode method.
Make code compatible with new decode method.

src/arch/alpha/remote_gdb.cc:
src/cpu/base_dyn_inst_impl.hh:
src/cpu/exetrace.cc:
src/cpu/simple/base.cc:
    Make code compatible with new decode method.
src/cpu/static_inst.cc:
src/cpu/static_inst.hh:
    Modified instruction decode method.

--HG--
extra : convert_revision : a9a6d3a16fff59bc95d0606ea344bd57e71b8d0a