Age | Commit message (Collapse) | Author |
|
--HG--
extra : convert_revision : d5a9d74ee6edf71524ba5c03fb7f054cf9722213
|
|
architecture.
Move the argument files to src/sim and add a utility.cc file with a function
getArguments() that returns the given argument in the architecture specific fashion.
getArguments() was getArg() is the architecture specific Argument class and has had
all magic numbers replaced with meaningful constants. Also add a function to the
Argument class for testing if an argument is NULL.
--HG--
rename : src/arch/alpha/arguments.cc => src/sim/arguments.cc
rename : src/arch/alpha/arguments.hh => src/sim/arguments.hh
extra : convert_revision : 8b93667bafaa03b52aadb64d669adfe835266b8e
|
|
Loops of header files including each other was causing compilation to fail. To fix it, a bunch of unnecessary includes were removed, and the code in isa_traits.cc which brought a bunch of include chains together was broken up and put in proximity to the header files that delcared it.
--HG--
extra : convert_revision : 66ef7762024b72bb91147a5589a0779e279521e0
|
|
--HG--
extra : convert_revision : 073c6db0796cd2c11b8293b382b438a2a959b821
|
|
--HG--
extra : convert_revision : 5bc1133c6c7a575082f060e7787b62d4080f70b0
|
|
--HG--
extra : convert_revision : 49d8df7235a02b71db9d309e6b2029587c3d0c8b
|
|
Ignore different values or rcx and r11 after a syscall until either the local or remote value changes. Also change the codes organization somewhat.
--HG--
extra : convert_revision : 2c1f69d4e55b443e68bfc7b43e8387b02cf0b6b5
|
|
R11 is just junk after the start of exectuion because we're "returning" from
an execve call and linux destroys the contents of rcx and r11 on system calls.
--HG--
extra : convert_revision : 6bf69a50ce56e0355dfdd41524163874340beec0
|
|
--HG--
extra : convert_revision : 827a89c203235aea08d184cdc720d9c6fb08e4c7
|
|
--HG--
extra : convert_revision : 1d0b3afdd8254f5b2fb4bbff1fa4a0536f78bb06
|
|
placeholders.
These are the only floating point instructions that get used in my simple hello world test. These instructions are for setting up the floating point control register. Their not being implemented doesn't affect anything because floating point isn't used.
--HG--
extra : convert_revision : 4dfb9ef2a5665f034946c504978029e8799e64cd
|
|
--HG--
extra : convert_revision : 08f0f4a3d77a2c5eb9b5ca0cae7d0be9a72febec
|
|
--HG--
extra : convert_revision : 8aef1c8d1ced2db998ed0d31241cadc17e19eadd
|
|
"picked" register values.
--HG--
extra : convert_revision : 7b2c1be509478153ebf396841e4cbeccee3e03d1
|
|
--HG--
extra : convert_revision : e0d5ab617bc95d5d714fa9fcdf0a448874aef886
|
|
--HG--
extra : convert_revision : e358c18cd999a8e274108e06502c3324c2d12d3b
|
|
--HG--
extra : convert_revision : 98521797bbc6360301b3c6a6b1b8e28236ef570e
|
|
--HG--
extra : convert_revision : 820cafadd550487c0d62c5082261b0886fce4f0d
|
|
shouldn't.
--HG--
extra : convert_revision : 07e5509fb8ed9d73c144d6f52951ebc02e7c0032
|
|
--HG--
extra : convert_revision : 8af62cda2ce1c4acfa26a028a4f7506647bc27f7
|
|
when decided whether or not to fold.
--HG--
extra : convert_revision : 26feec984dec61799c4afb03a4503a53c35872c5
|
|
--HG--
extra : convert_revision : 2e2a22cdf3abe648c9e1309b9070cfd10fc4a8b8
|
|
--HG--
extra : convert_revision : c4233001b35b52161083482841593ec28da6ff7d
|
|
development machine.
--HG--
extra : convert_revision : 2f1969a45aa82708dc4cddef09c01306f76f0a81
|
|
--HG--
extra : convert_revision : 7e0a83d5deb7fc9aaa69b7d024ea6ae6890df133
|
|
--HG--
extra : convert_revision : 4085e04fd13e834646106faa55726d07d9631f42
|
|
--HG--
extra : convert_revision : 1c3685e7f4d07d5b4ded6c78b794964f51a358a9
|
|
microops and instructions.
--HG--
extra : convert_revision : 5c56f6819ee07d936b388b3d1810a3b73db84f9c
|
|
--HG--
extra : convert_revision : 4ddc2ca8c23bb7e90a646329ebf27a013ac5e3d6
|
|
--HG--
extra : convert_revision : e2891581e5504de0a2c8e5932fd22425cafd4fc7
|
|
--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
|
|
--HG--
extra : convert_revision : 09610ad84afa605db2d0eab9945eb9809f297182
|
|
--HG--
extra : convert_revision : 1cf4d998699d131c3b20eef67a3c2817af0ce439
|
|
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
|
|
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
|
|
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
|
|
modified_lines.
--HG--
extra : convert_revision : 0f4e23007399f9d0e2be5310062bd61f5415550d
|
|
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 address of the stackpointer proceeding the vector minus 8 should be minus 16.
--HG--
extra : convert_revision : 648f01e9753e28391fc8d282bd9fe2bd47a0193f
|
|
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
|