summaryrefslogtreecommitdiff
path: root/src/arch
AgeCommit message (Collapse)Author
2007-08-08alpha: Make the TLB cache to actually work.Vincentius Robby
Improve MRU checking for StaticInst, Bus, TLB --HG-- extra : convert_revision : 9116b5655cd2986aeb4205438aad4a0f5a440006
2007-08-07Alpha: Fix an off by one error with the tlb caching mechanism.Gabe Black
--HG-- extra : convert_revision : e17f7a0d58a2e59b2e270f0827db33d0a29365e0
2007-08-07Merge with head.Gabe Black
--HG-- extra : convert_revision : ae7b3df573368c29a66d5b027ecad9ffb3a99104
2007-08-07X86: Added some missing parenthesis in the condition code calculation function.Gabe Black
--HG-- extra : convert_revision : 663021070a4bcc795bb44e1839b8bcec686a42f0
2007-08-07X86: Implemented and hooked in SCAS (scan string)Gabe Black
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
2007-08-07X86: Add a format to handle string instructions which can use the repe and ↵Gabe Black
repne prefixes. --HG-- extra : convert_revision : 205fbbb947258bc0ef2915e22d5b32a3df1a1ce2
2007-08-07X86: Overhaul of ruflags to get it to work correctly.Gabe Black
--HG-- extra : convert_revision : 00a36a80a1945806aac9fa7d9d6a3906465dcad2
2007-08-07X86: Make a microcode branch microop.Gabe Black
Also some touch up for ruflag. --HG-- extra : convert_revision : 829947169af25ca6573f53b9430707101c75cc23
2007-08-04Merge with head.Gabe Black
--HG-- extra : convert_revision : 3edb9f03353b18b4c9f062bccf11e79cfb3c15f2
2007-08-04X86: Implement microops and instructions that manipulate the flags register.Gabe Black
--HG-- extra : convert_revision : 566841577bf4a98cac0b65292fe0f7daf89a9203
2007-08-04X86: Make 64 bit unaligned accesses work as well as the other sizes.Gabe Black
There is a fundemental flaw in how unaligned accesses are supported, but this is still an improvement. --HG-- extra : convert_revision : 1c20b524ac24cd4a812c876b067495ee6a7ae29f
2007-08-04X86: Make the open flags correct.Gabe Black
--HG-- extra : convert_revision : 2dc81345176d1de247a567d1f748e2b2bd05f829
2007-08-04X86: Make fixed register operands ignore register index extensions from the ↵Gabe Black
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
2007-08-04X86: Implement the cmpxchg instruction.Gabe Black
--HG-- extra : convert_revision : b9e172bcb9551edf65c63f26dfa07d771edf3e1e
2007-08-04X86: Start implementing segmentation support.Gabe Black
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
2007-08-04X86: Create a base enum value for indexing into a region of the miscregs.Gabe Black
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
2007-08-04X86: Add the arch_prctl system call and fix up some microcoding.Gabe Black
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
2007-08-04alpha: Implement a cache for recently used page table entriesVincentius Robby
--HG-- extra : convert_revision : 1bb80d71fa91e500a68390e5dc17464ce7136fba
2007-08-03merge from headSteve Reinhardt
--HG-- extra : convert_revision : 21f7afe2719c00744c0981212c1ee6e442238e01
2007-08-02X86: Get rid of some debug warnings.Gabe Black
Get rid of some warnings that were accidentally committed. --HG-- extra : convert_revision : e800dbce253f6ba759932ca47d64bf98129e4177
2007-08-02Merge with head.Gabe Black
--HG-- extra : convert_revision : 7700f475caa676948175cdf126ee018b0c4ad35c
2007-08-02X86: Finally get the x86 initial stack frame right.Gabe Black
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
2007-08-02X86: Fix special case with SIB index register and REX prefix.Gabe Black
--HG-- extra : convert_revision : b305708a722f2a08cb55c4548c5616fcbe6c5d68
2007-08-02merge, no manual changesAli Saidi
--HG-- extra : convert_revision : 8504bddf1f73a4186cebc03c3e52e42ea38361fc
2007-08-02Linux Support: make sure that when we get the stack page for thread info ↵Ali Saidi
we're doing a 64bit not --HG-- extra : convert_revision : c581921dd601fc72fd2d45b961c7440755b0331c
2007-08-01Fix how the "cmd" parameter is set in se.py and remove hack in x86 process ↵Gabe Black
initialization code. --HG-- extra : convert_revision : 1fc741eea956ebfa4cef488eef4333d1f50617a6
2007-08-01merge: mips fix to getArgumentNathan Binkert
--HG-- extra : convert_revision : 0e97c80ca9bdd354f537bf5d036e024da0081306
2007-08-01mips: make getArgument inline so mips will link properlyNathan Binkert
--HG-- extra : convert_revision : 7fdbf1f35a5fcbd8704bf02aafcb3ea069626ce3
2007-08-01Merge with head.Gabe Black
--HG-- extra : convert_revision : 646d559a10706521b1918d2378d0f99ab5255c77
2007-08-01Merge with head.Gabe Black
--HG-- extra : convert_revision : f677debfd636d79bc5097eb45331601d3253743d
2007-08-01MIPS: Files which are needed for the MIPS fix.Gabe Black
--HG-- extra : convert_revision : ae710fa8e4e9f57c19cd7277b1b59efd0af40b6a
2007-08-01Merge with head.Gabe Black
--HG-- extra : convert_revision : 444901221e9a0b991213fbcd555f2f5cca67e91b
2007-08-01X86: Hide the irrelevant portions of the address components for load and ↵Gabe Black
store microops. --HG-- extra : convert_revision : a5ac6fefa09882f0833537e23f1ac0477bc89bb9
2007-08-01Merge Gabe and my changes to arch/mips/utility.hhAli Saidi
--HG-- extra : convert_revision : d5a9d74ee6edf71524ba5c03fb7f054cf9722213
2007-08-01Arguments: Get rid of duplicate code for the Arguments class in each ↵Ali Saidi
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
2007-08-01MIPS: Cleaned up includes to break loops, and got rid of isa_traits.ccGabe Black
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
2007-08-01X86: Fix for compilation bug with new cache code.Gabe Black
--HG-- extra : convert_revision : 073c6db0796cd2c11b8293b382b438a2a959b821
2007-08-01X86: Get rid of initialization of R11Gabe Black
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
2007-07-31Add a flag to indicate an instruction triggers a syscall in SE mode.Gabe Black
--HG-- extra : convert_revision : 1d0b3afdd8254f5b2fb4bbff1fa4a0536f78bb06
2007-07-31X86: Add operand type information to the fnstcw and fldw instruction ↵Gabe Black
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
2007-07-31Merge from head.Steve Reinhardt
--HG-- extra : convert_revision : af16bc685ea28e44b8120f16b72f60a21d68c1e2
2007-07-30X86: Add decoding for x87 floating point.Gabe Black
--HG-- extra : convert_revision : 08f0f4a3d77a2c5eb9b5ca0cae7d0be9a72febec
2007-07-30X86: Attach the "DIV" instruction implementation to the decoder.Gabe Black
--HG-- extra : convert_revision : 8aef1c8d1ced2db998ed0d31241cadc17e19eadd
2007-07-30X86: Remove a naming conflict between the register index parameters and the ↵Gabe Black
"picked" register values. --HG-- extra : convert_revision : 7b2c1be509478153ebf396841e4cbeccee3e03d1
2007-07-30X86: __pad0 should be a 4 byte pad, not a 4 long array of 4 byte pads.Gabe Black
--HG-- extra : convert_revision : e0d5ab617bc95d5d714fa9fcdf0a448874aef886
2007-07-30X86: Turn on the exit_group, exit, munmap, and write syscalls.Gabe Black
--HG-- extra : convert_revision : e358c18cd999a8e274108e06502c3324c2d12d3b
2007-07-30X86: Use an mmap base address that matches what an actual machine uses.Gabe Black
--HG-- extra : convert_revision : 98521797bbc6360301b3c6a6b1b8e28236ef570e
2007-07-30X86: Set up RIP relative LEA instructions operands correctly.Gabe Black
--HG-- extra : convert_revision : 820cafadd550487c0d62c5082261b0886fce4f0d
2007-07-30X86: Implement unsigned divide. The non-byte version ignores rdx which it ↵Gabe Black
shouldn't. --HG-- extra : convert_revision : 07e5509fb8ed9d73c144d6f52951ebc02e7c0032
2007-07-30X86: Allow RIP relative decode on -all- memory forms of operands.Gabe Black
--HG-- extra : convert_revision : 8af62cda2ce1c4acfa26a028a4f7506647bc27f7