Age | Commit message (Collapse) | Author |
|
--HG--
extra : convert_revision : 2c8eea425221d069a9bb888c8f18839843061899
|
|
--HG--
extra : convert_revision : 89e15e2ef1f709f2c09238b78f94505ce8ef146d
|
|
whether or not register indexes should be "folded".
--HG--
extra : convert_revision : 4b46e71ca91e480f6e1662b7f37b75240d6598e9
|
|
--HG--
extra : convert_revision : f1bbd5165a7415d0daf27660575d30c41510f531
|
|
--HG--
extra : convert_revision : c642d5018ece82c644e1cfa389b2d3dbd6ab5ffd
|
|
--HG--
extra : convert_revision : 9c4802f6c6e4eaab36aac900e2c7576682cb0f33
|
|
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
|
|
--HG--
extra : convert_revision : 3bdef3876c7b86bc93365edee876b74a201d625f
|
|
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
|
|
--HG--
extra : convert_revision : c6057226b8ff8f272612a9d3bf7d1d9ba90c819b
|
|
--HG--
extra : convert_revision : d8e1486ff075b2917be62a0008f83fd6c9e4c09a
|
|
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
|
|
Merge was returning the value to merge in, not the actual result of the merge.
--HG--
extra : convert_revision : 230b4b5064037d099ae7859edabdf5be84603849
|
|
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
|
|
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
|
|
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
|
|
--HG--
extra : convert_revision : b3ab74e09f5cd02671cc6425c8cb8638bd58cbee
|
|
--HG--
extra : convert_revision : c7e578aae8d36aa5d279fc27d6d7d28ed0a54181
|
|
registers.
--HG--
extra : convert_revision : 701691951688ecefdc6450d31076b45e9af15324
|
|
registers.
--HG--
extra : convert_revision : ce4af3e56b45821e0a8b27f288b532d2f9dd3336
|
|
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
|
|
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
|
|
--HG--
extra : convert_revision : 3d0340a2aae87b3462d6562b34ac7e02c685c1ef
|
|
--HG--
extra : convert_revision : 09cbed6332224d06644d401f21178eb7914993df
|
|
one of the prefix multiplexed opcode groups.
--HG--
extra : convert_revision : b5afd54a180a8fbdf9a892b1a2316fcf0d11afc6
|
|
X86Linux64, add some syscalls.
--HG--
extra : convert_revision : 9c13e9c68f331fe6c4a9abd96f7aee0f064101fc
|
|
everything else with it's opcode doesn't.
Also made some spacing consistent.
--HG--
extra : convert_revision : 72a317f29c11705782e19840bef24354214d3143
|
|
byte immediate
--HG--
extra : convert_revision : 9559047adfec1490c2d40065442a579549624fcc
|
|
--HG--
extra : convert_revision : 31c5d3fa8ef0d37494d0e35cef31be6056d5d93f
|
|
--HG--
extra : convert_revision : 0b83422ad3c190021e46cada07e64d8d57d29859
|
|
--HG--
extra : convert_revision : a6b9cee59019ea0f906c8a8e76eeb2cd73093671
|
|
--HG--
extra : convert_revision : 6a6b2a06576ebe7383f7ce0e4e9f96bc96b84b56
|
|
--HG--
extra : convert_revision : 2e92623b53c1fe8b4da3fef3486c0dcd8d5ef9f5
|
|
respectively, depending on the operand size.
--HG--
extra : convert_revision : 67ac035c68608d7260c21ce32009b344f3834e46
|
|
--HG--
extra : convert_revision : 7a47b9971fe9e4ac638b275fb56fdcba08c2d671
|
|
--HG--
extra : convert_revision : 1b86a7f60489bc65a03919b27afd4dfbe4e09bba
|
|
--HG--
extra : convert_revision : 4d626721ad54af9cbf5b0c07a3a6e8a05e4e9ab5
|
|
clean up the decoder a little.
--HG--
extra : convert_revision : c1b8f0f433f629e4104e2b04addcdaabf57595e3
|
|
implement NEG
--HG--
extra : convert_revision : da73ed6820d57f083c18f44b2fa868fc0976dd16
|
|
--HG--
extra : convert_revision : d405ed5d3738639809dd2887955db9253138ccbb
|
|
--HG--
extra : convert_revision : ee5275da14a2923b9a525ae5b5c582c15df4608a
|
|
--HG--
extra : convert_revision : c39249ef598c1bd555098d688381dc62541a07c0
|
|
--HG--
extra : convert_revision : a8e67b0ab4072308f01e0df7f7ee05b31f605a35
|
|
--HG--
extra : convert_revision : 1d7ff6611e5b4766a5257c1e73681fabbe5f6d76
|
|
Implemented some shifts, rotates, and pushes.
--HG--
extra : convert_revision : fcb06189ff213e82da16ac43231feb308cb3a285
|
|
--HG--
extra : convert_revision : 16d0d2b2ddad8759698fa4aa668c22063307c72b
|
|
--HG--
extra : convert_revision : eb71bc3edd92a544a5333786635fce550aaef233
|
|
--HG--
extra : convert_revision : a2d3068c5b487f4fa7bf5c9cebba7753bc390bfa
|
|
the decoder.
--HG--
extra : convert_revision : 8d1d6abce29371def560e1c3f31dabb4de01366f
|
|
register index from the opcode itself.
--HG--
extra : convert_revision : 35f9be6559ee9833049eda1817982efdde7082be
|