Age | Commit message (Collapse) | Author |
|
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
|
|
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
|
|
The correct order is unintuitively rax, rcx, rdx, rbx, etc, not rax, rbx, rcx, rdx.
--HG--
extra : convert_revision : 3abe6a723a6e30becfe34f8da707ea2ff5d4df77
|
|
--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
|
|
--HG--
extra : convert_revision : 3c1ff2585c9b20649792344b4180f6d82cef9c1b
|
|
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
|
|
These need to be refined a little still and given parameters.
--HG--
extra : convert_revision : 9a8f5a7bd9dacbebbbd2c235cd890c49a81040d7
|
|
--HG--
extra : convert_revision : 46e6b2dd8e1984cbab0ea24c94760794734c0f95
|
|
--HG--
extra : convert_revision : e4be9d5f2ce8e3252958e2c5e03710b0bf9755c7
|
|
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
|
|
the build process that is outside of the main M5 tree.
--HG--
extra : convert_revision : 6edc4fbc58240f83b59c7b5707c0390cdb85d9ec
|
|
--HG--
extra : convert_revision : 4a34b3f91c4fc90055596245ae3efec45ea33888
|
|
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
|
|
creation and initialization now happens in python. Parameter objects
are generated and initialized by python. The .ini file is now solely for
debugging purposes and is not used in construction of the objects in any
way.
--HG--
extra : convert_revision : 7e722873e417cb3d696f2e34c35ff488b7bff4ed
|
|
clean up the decoder a little.
--HG--
extra : convert_revision : c1b8f0f433f629e4104e2b04addcdaabf57595e3
|
|
implement NEG
--HG--
extra : convert_revision : da73ed6820d57f083c18f44b2fa868fc0976dd16
|
|
--HG--
extra : convert_revision : f50ed42e7acb3f11e610fd6976eaa8df0c6ba2ab
|
|
--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 : 4c046493b98ce4a766c2121710d70650cb6a801e
|
|
--HG--
extra : convert_revision : 16d0d2b2ddad8759698fa4aa668c22063307c72b
|
|
--HG--
extra : convert_revision : eb71bc3edd92a544a5333786635fce550aaef233
|