summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2007-07-30X86: Missed a file for adding a bit to indicate that an REX prefix was present.Gabe Black
--HG-- extra : convert_revision : f1bbd5165a7415d0daf27660575d30c41510f531
2007-07-30X86: Implement LEAVEGabe Black
--HG-- extra : convert_revision : c642d5018ece82c644e1cfa389b2d3dbd6ab5ffd
2007-07-30X86: Add a bitfield to indicate whether or not an REX prefix was present.Gabe Black
--HG-- extra : convert_revision : 9c4802f6c6e4eaab36aac900e2c7576682cb0f33
2007-07-30Fix problem with tracer not being initialized.Gabe Black
--HG-- extra : convert_revision : 09610ad84afa605db2d0eab9945eb9809f297182
2007-07-29Merge with head.Gabe Black
--HG-- extra : convert_revision : 1cf4d998699d131c3b20eef67a3c2817af0ce439
2007-07-29X86: Make logic instructions flag setting work.Gabe Black
The instructions now ask for the appropriate flags to be set, and the microops do the "right thing" with the CF and OF flags, namely zero them. --HG-- extra : convert_revision : 85138a832f44c879bf8a11bd3a35b58be6272ef3
2007-07-29X86: Make arithmetic instructions set the appropriate flags.Gabe Black
--HG-- extra : convert_revision : 3bdef3876c7b86bc93365edee876b74a201d625f
2007-07-29BsaeCPU: Get rid of some bad DPRINTFs.Steve Reinhardt
People should never put pointers in DPRINTFs; it messes up tracediffs. Plus these used the FullCPU trace flag, which is not right. --HG-- extra : convert_revision : 82ed56757da0ad947c165ba205b5f752c85c6667
2007-07-29Statetrace: Make statetrace patch amd64 executables for true single stepping ↵Gabe Black
after system calls. Because of peculiarities in how system calls are returned from, single stepping executes some system calls and the instruction following them in a single step. Statetrace now patches the executable image when it detects a system call to force "correct" behavior, aka the appearance of stepping one instruction every single time. --HG-- extra : convert_revision : ac6243a2e00ff98f827b005efd27b4dc5be4f774
2007-07-29Merge with head. style.py was also missing an argument in one call to ↵Gabe Black
modified_lines. --HG-- extra : convert_revision : 0f4e23007399f9d0e2be5310062bd61f5415550d
2007-07-29X86: Initial stack frame fixes and constant shuffling.Gabe Black
The initial stack frame for x86 is now substantially more correct. The fixes made here can be back ported to SPARC and possible the other ISAs as well. The auxiliary vector types were moved to the LiveProcess base class because they are independent of ISA. Some of the types may only apply to Linux, though, so they may have to be moved. --HG-- extra : convert_revision : 89ace35fcc8eb9586d2fee8eeccbc3686499ef24
2007-07-29X86: Make limm use merge and allow overriding the data size.Gabe Black
--HG-- extra : convert_revision : c6057226b8ff8f272612a9d3bf7d1d9ba90c819b
2007-07-29Statetrace: Print the correct address of auxiliary vectors.Gabe Black
The address of the stackpointer proceeding the vector minus 8 should be minus 16. --HG-- extra : convert_revision : 648f01e9753e28391fc8d282bd9fe2bd47a0193f
2007-07-29X86: Fix register ordering.Gabe Black
The correct order is unintuitively rax, rcx, rdx, rbx, etc, not rax, rbx, rcx, rdx. --HG-- extra : convert_revision : 3abe6a723a6e30becfe34f8da707ea2ff5d4df77
2007-07-29X86: return -return_value.value() on failure.Gabe Black
--HG-- extra : convert_revision : d8e1486ff075b2917be62a0008f83fd6c9e4c09a
2007-07-29X86: Fix popa and push with the stack pointer.Gabe Black
POPA used st instead of ld, and it didn't skip rsp. push rsp needs to store the -original- value of the stack pointer. --HG-- extra : convert_revision : 376370c99b6ab60fb2bc4cd4f0a6dce71153ad06
2007-07-29X86: Fix a bug with mergeGabe Black
Merge was returning the value to merge in, not the actual result of the merge. --HG-- extra : convert_revision : 230b4b5064037d099ae7859edabdf5be84603849
2007-07-28Work around a mercurial bug in bdiff.blocksNathan Binkert
--HG-- extra : convert_revision : 597503431883a24f68744bf0dce77356a32d7ff7
2007-07-28X86: Fix a comment and adjust the stack base address.Gabe Black
The stack base on my development machine starts one page below where it needs to. I don't know why it does, but I've duplicated it in m5. --HG-- extra : convert_revision : c4783ba885b90f17e843f61e07af0bc3330a74bc
2007-07-28Merge with head.Gabe Black
--HG-- extra : convert_revision : 3c1ff2585c9b20649792344b4180f6d82cef9c1b
2007-07-28Statetrace: Implement the AMD64 version of TraceChild.Gabe Black
--HG-- extra : convert_revision : cde33fefe46dc05e9b4ea785a4df6b78ac57ccd5
2007-07-28Statetrace: Fix indendation. Set the default hostname to "localhost" instead ↵Gabe Black
of my machine at UM. --HG-- extra : convert_revision : f268c04e39fd384e0ac17253faae2233b58e9373
2007-07-28Statetrace: Fix compilation problem.Gabe Black
--HG-- extra : convert_revision : 7f501de99e5389dc3a4172654d7cbe32ed811259
2007-07-28X86: Fix up auxiliary vectors.Gabe Black
The type constants should go into an architecture independent spot since they are universal to all Linux elf binaries. The right value for some of the vectors needs to be determined. Also, x86 does not store argc or argv_array_base in registers like some other architectures. --HG-- extra : convert_revision : 8d3f6a3e028d881d3c41e8ddf4f29d25738b529c
2007-07-28Turn the instruction tracing code into pluggable sim objects.Gabe Black
These need to be refined a little still and given parameters. --HG-- extra : convert_revision : 9a8f5a7bd9dacbebbbd2c235cd890c49a81040d7
2007-07-28style: bad whitespaceNathan Binkert
--HG-- extra : convert_revision : 3af834e0a8c9656e0332960c085d9152dd5c3092
2007-07-28style: fix stupid bugsNathan Binkert
--HG-- extra : convert_revision : ef3dcc3a160eb19a6c4fcdcd411d392aa42e4efe
2007-07-28style: Check/Fix whitespace on SCons filesNathan Binkert
--HG-- extra : convert_revision : 46e6b2dd8e1984cbab0ea24c94760794734c0f95
2007-07-26scons: make things work when EXTRAS is not defined.Nathan Binkert
--HG-- extra : convert_revision : 83562b55ec099e609c64cd42eb47a8481e4e85e7
2007-07-26Merge with head.Gabe Black
--HG-- extra : convert_revision : e4be9d5f2ce8e3252958e2c5e03710b0bf9755c7
2007-07-26X86: Fix argument register indexing.Gabe Black
Code was assuming that all argument registers followed in order from ArgumentReg0. There is now an ArgumentReg array which is indexed to find the right index. There is a constant, NumArgumentRegs, which can be used to protect against using an invalid ArgumentReg. --HG-- extra : convert_revision : f448a3ca4d6adc3fc3323562870f70eec05a8a1f
2007-07-26X86: Hook in shift and rotate by one instructions, and NOT.Gabe Black
--HG-- extra : convert_revision : b3ab74e09f5cd02671cc6425c8cb8638bd58cbee
2007-07-26X86: Fix pc relative versions of add and subtract.Gabe Black
--HG-- extra : convert_revision : c7e578aae8d36aa5d279fc27d6d7d28ed0a54181
2007-07-26X86: Implement rotate-by-one instructions, and make register rotates use ↵Gabe Black
registers. --HG-- extra : convert_revision : 701691951688ecefdc6450d31076b45e9af15324
2007-07-26X86: Implement shift-by-one instructions, and make register shifts use ↵Gabe Black
registers. --HG-- extra : convert_revision : ce4af3e56b45821e0a8b27f288b532d2f9dd3336
2007-07-26X86: Add functions to read and write to an exec context.Gabe Black
These functions take care of calling the thread contexts read and write functions with the right sized data type, and handle unaligned accesses. --HG-- extra : convert_revision : b4b59ab2b22559333035185946bae3eab316c879
2007-07-26X86: Fix carry calculation for subtraction based microops.Gabe Black
The carry flag should be calculated using the -complement- of the second operand, not it's negation. The carry in which is part of computing the 2's complement may induce a carry, but if you've already caused the carry before you get the carry computing logic involved, it will miss it. --HG-- extra : convert_revision : 318cf86929664fc52ed9e023606a9e892eba635c
2007-07-26Add functions for mmap and brk.Gabe Black
--HG-- extra : convert_revision : 3d0340a2aae87b3462d6562b34ac7e02c685c1ef
2007-07-26Implement NOTGabe Black
--HG-- extra : convert_revision : 09cbed6332224d06644d401f21178eb7914993df
2007-07-25Add a new SCons option called EXTRAS that allows you to include stuff inNathan Binkert
the build process that is outside of the main M5 tree. --HG-- extra : convert_revision : 6edc4fbc58240f83b59c7b5707c0390cdb85d9ec
2007-07-24Merge with head.Gabe Black
--HG-- extra : convert_revision : 4a34b3f91c4fc90055596245ae3efec45ea33888
2007-07-24Hook in a bunch of new instructions, fix a few minor bugs, and expand out ↵Gabe Black
one of the prefix multiplexed opcode groups. --HG-- extra : convert_revision : b5afd54a180a8fbdf9a892b1a2316fcf0d11afc6
2007-07-24Add a tgt_iovec structure to support writev, change the name of X86Linux to ↵Gabe Black
X86Linux64, add some syscalls. --HG-- extra : convert_revision : 9c13e9c68f331fe6c4a9abd96f7aee0f064101fc
2007-07-24Add a special case for "test" which needs an immediate even though ↵Gabe Black
everything else with it's opcode doesn't. Also made some spacing consistent. --HG-- extra : convert_revision : 72a317f29c11705782e19840bef24354214d3143
2007-07-24The groups of instructions hanging off opcode 71h, 72h, and 73h all need a ↵Gabe Black
byte immediate --HG-- extra : convert_revision : 9559047adfec1490c2d40065442a579549624fcc
2007-07-24Make the shift and rotate microops mask the shift/rotate amount correctly.Gabe Black
--HG-- extra : convert_revision : 31c5d3fa8ef0d37494d0e35cef31be6056d5d93f
2007-07-24Fix immediate shifts. Implement register shifts.Gabe Black
--HG-- extra : convert_revision : 0b83422ad3c190021e46cada07e64d8d57d29859
2007-07-24Fix immediate rotates and add register ones.Gabe Black
--HG-- extra : convert_revision : a6b9cee59019ea0f906c8a8e76eeb2cd73093671
2007-07-24Clean out part of an old comment.Gabe Black
--HG-- extra : convert_revision : 6a6b2a06576ebe7383f7ce0e4e9f96bc96b84b56
2007-07-24Implement cmov.Gabe Black
--HG-- extra : convert_revision : 2e92623b53c1fe8b4da3fef3486c0dcd8d5ef9f5