Age | Commit message (Collapse) | Author |
|
--HG--
extra : convert_revision : 663021070a4bcc795bb44e1839b8bcec686a42f0
|
|
Fixed the asz assembler symbol.
Adjusted the condion checks to have appropriate options.
Implemented the SCAS microcode.
Attached SCAS into the decoder.
--HG--
extra : convert_revision : 17bf9ddae6bc2069e43b076f8f83c4e54fb7966c
|
|
repne prefixes.
--HG--
extra : convert_revision : 205fbbb947258bc0ef2915e22d5b32a3df1a1ce2
|
|
--HG--
extra : convert_revision : 00a36a80a1945806aac9fa7d9d6a3906465dcad2
|
|
Also some touch up for ruflag.
--HG--
extra : convert_revision : 829947169af25ca6573f53b9430707101c75cc23
|
|
--HG--
extra : convert_revision : 566841577bf4a98cac0b65292fe0f7daf89a9203
|
|
There is a fundemental flaw in how unaligned accesses are supported, but this
is still an improvement.
--HG--
extra : convert_revision : 1c20b524ac24cd4a812c876b067495ee6a7ae29f
|
|
--HG--
extra : convert_revision : 2dc81345176d1de247a567d1f748e2b2bd05f829
|
|
REX prefix.
The only cases where this was the correct behavior are now handled with the
"B" operand type, and doing things this way was breaking some instructions,
notably a shift.
--HG--
extra : convert_revision : 072346d4f541edaceba7aecc26ba8d2cd756e481
|
|
--HG--
extra : convert_revision : b9e172bcb9551edf65c63f26dfa07d771edf3e1e
|
|
Make instructions observe segment prefixes, default segment rules, segment
base addresses.
Also fix some microcode and add sib and riprel "keywords" to the x86
specialization of the microassembler.
--HG--
extra : convert_revision : be5a3b33d33f243ed6e1ad63faea8495e46d0ac9
|
|
This lets you index into a group of registers without having to know
explicitly which one is the lowest in that group.
--HG--
extra : convert_revision : e3cad25a1c5910955204c37177b049ca9834cfd9
|
|
The arch_prctl system call is used to set and get the FS and GS segment
bases. The FS segment is use for TLS, so glibc needs to be able to set it
up.
--HG--
extra : convert_revision : 79501491a15967a7a862add846ff88a934fb1b37
|
|
Get rid of some warnings that were accidentally committed.
--HG--
extra : convert_revision : e800dbce253f6ba759932ca47d64bf98129e4177
|
|
After very carefully reading through the Linux source, I'm pretty confident I now know -exactly- how the initial stack frame is constructed, filled, and aligned.
--HG--
extra : convert_revision : 3c654ade7e458bdd5445026860f11175f383a65f
|
|
--HG--
extra : convert_revision : b305708a722f2a08cb55c4548c5616fcbe6c5d68
|
|
initialization code.
--HG--
extra : convert_revision : 1fc741eea956ebfa4cef488eef4333d1f50617a6
|
|
store microops.
--HG--
extra : convert_revision : a5ac6fefa09882f0833537e23f1ac0477bc89bb9
|
|
--HG--
extra : convert_revision : 073c6db0796cd2c11b8293b382b438a2a959b821
|
|
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 : 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
|
|
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
|