gem5.git
17 years agoRegression: Add an I/O Cache to the full system regressions that have a cache.
Ali Saidi [Fri, 10 Aug 2007 20:14:02 +0000 (16:14 -0400)]
Regression: Add an I/O Cache to the full system regressions that have a cache.

--HG--
extra : convert_revision : 8ba96e21be2f602eed8258d410038dbe998ef176

17 years agoDMA: Add IOCache and fix bus bridge to optionally only send requests one
Ali Saidi [Fri, 10 Aug 2007 20:14:01 +0000 (16:14 -0400)]
DMA: Add IOCache and fix bus bridge to optionally only send requests one
way so a cache can handle partial block requests for i/o devices.

--HG--
extra : convert_revision : a68b5ae826731bc87ed93eb7ef326a2393053964

17 years agoBus: Only call end() on an stl object once in a loop
Ali Saidi [Fri, 10 Aug 2007 20:14:01 +0000 (16:14 -0400)]
Bus: Only call end() on an stl object once in a loop

--HG--
extra : convert_revision : 238dcd6da7577b533e52ada2107591c4e9168ebd

17 years agoPort, StaticInst: Revert unnecessary changes.
Vincentius Robby [Wed, 8 Aug 2007 18:54:02 +0000 (14:54 -0400)]
Port, StaticInst: Revert unnecessary changes.

--HG--
extra : convert_revision : e6ef262bbbc5ad53498e55caac1897e6cc2a61e6

17 years agoalpha: Make the TLB cache to actually work.
Vincentius Robby [Wed, 8 Aug 2007 18:18:09 +0000 (14:18 -0400)]
alpha: Make the TLB cache to actually work.
Improve MRU checking for StaticInst, Bus, TLB

--HG--
extra : convert_revision : 9116b5655cd2986aeb4205438aad4a0f5a440006

17 years agoAlpha: Fix an off by one error with the tlb caching mechanism.
Gabe Black [Wed, 8 Aug 2007 04:51:12 +0000 (21:51 -0700)]
Alpha: Fix an off by one error with the tlb caching mechanism.

--HG--
extra : convert_revision : e17f7a0d58a2e59b2e270f0827db33d0a29365e0

17 years agoMerge with head.
Gabe Black [Tue, 7 Aug 2007 22:31:36 +0000 (15:31 -0700)]
Merge with head.

--HG--
extra : convert_revision : ae7b3df573368c29a66d5b027ecad9ffb3a99104

17 years agoStatetrace: Make statetrace do string instructions all at once like m5 does.
Gabe Black [Tue, 7 Aug 2007 22:27:54 +0000 (15:27 -0700)]
Statetrace: Make statetrace do string instructions all at once like m5 does.

--HG--
extra : convert_revision : 2103029077450e46f70077066708255310963d9d

17 years agoX86: Added some missing parenthesis in the condition code calculation function.
Gabe Black [Tue, 7 Aug 2007 22:26:50 +0000 (15:26 -0700)]
X86: Added some missing parenthesis in the condition code calculation function.

--HG--
extra : convert_revision : 663021070a4bcc795bb44e1839b8bcec686a42f0

17 years agoX86: Implemented and hooked in SCAS (scan string)
Gabe Black [Tue, 7 Aug 2007 22:25:41 +0000 (15:25 -0700)]
X86: Implemented and hooked in SCAS (scan string)
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

17 years agoX86: Add a format to handle string instructions which can use the repe and repne...
Gabe Black [Tue, 7 Aug 2007 22:23:01 +0000 (15:23 -0700)]
X86: Add a format to handle string instructions which can use the repe and repne prefixes.

--HG--
extra : convert_revision : 205fbbb947258bc0ef2915e22d5b32a3df1a1ce2

17 years agoX86: Overhaul of ruflags to get it to work correctly.
Gabe Black [Tue, 7 Aug 2007 22:21:13 +0000 (15:21 -0700)]
X86: Overhaul of ruflags to get it to work correctly.

--HG--
extra : convert_revision : 00a36a80a1945806aac9fa7d9d6a3906465dcad2

17 years agoX86: Make a microcode branch microop.
Gabe Black [Tue, 7 Aug 2007 22:19:26 +0000 (15:19 -0700)]
X86: Make a microcode branch microop.
Also some touch up for ruflag.

--HG--
extra : convert_revision : 829947169af25ca6573f53b9430707101c75cc23

17 years agoMerge with head.
Gabe Black [Sun, 5 Aug 2007 03:27:23 +0000 (20:27 -0700)]
Merge with head.

--HG--
extra : convert_revision : 3edb9f03353b18b4c9f062bccf11e79cfb3c15f2

17 years agoX86: Implement microops and instructions that manipulate the flags register.
Gabe Black [Sun, 5 Aug 2007 03:24:18 +0000 (20:24 -0700)]
X86: Implement microops and instructions that manipulate the flags register.

--HG--
extra : convert_revision : 566841577bf4a98cac0b65292fe0f7daf89a9203

17 years agoX86: Make 64 bit unaligned accesses work as well as the other sizes.
Gabe Black [Sun, 5 Aug 2007 03:22:20 +0000 (20:22 -0700)]
X86: Make 64 bit unaligned accesses work as well as the other sizes.
There is a fundemental flaw in how unaligned accesses are supported, but this
is still an improvement.

--HG--
extra : convert_revision : 1c20b524ac24cd4a812c876b067495ee6a7ae29f

17 years agoX86: Make the open flags correct.
Gabe Black [Sun, 5 Aug 2007 03:18:20 +0000 (20:18 -0700)]
X86: Make the open flags correct.

--HG--
extra : convert_revision : 2dc81345176d1de247a567d1f748e2b2bd05f829

17 years agoX86: Make fixed register operands ignore register index extensions from the REX prefix.
Gabe Black [Sun, 5 Aug 2007 03:17:31 +0000 (20:17 -0700)]
X86: Make fixed register operands ignore register index extensions from the 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

17 years agoX86: Implement the cmpxchg instruction.
Gabe Black [Sun, 5 Aug 2007 03:15:27 +0000 (20:15 -0700)]
X86: Implement the cmpxchg instruction.

--HG--
extra : convert_revision : b9e172bcb9551edf65c63f26dfa07d771edf3e1e

17 years agoX86: Start implementing segmentation support.
Gabe Black [Sun, 5 Aug 2007 03:12:54 +0000 (20:12 -0700)]
X86: Start implementing segmentation support.
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

17 years agoX86: Create a base enum value for indexing into a region of the miscregs.
Gabe Black [Sun, 5 Aug 2007 03:07:42 +0000 (20:07 -0700)]
X86: Create a base enum value for indexing into a region of the miscregs.
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

17 years agoX86: Add the arch_prctl system call and fix up some microcoding.
Gabe Black [Sun, 5 Aug 2007 03:02:41 +0000 (20:02 -0700)]
X86: Add the arch_prctl system call and fix up some microcoding.
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

17 years agoswitching: turn on profiling after a switch if there's an event
Nathan Binkert [Sat, 4 Aug 2007 23:11:11 +0000 (16:11 -0700)]
switching: turn on profiling after a switch if there's an event

--HG--
extra : convert_revision : 689e5b85c47bb2aaceb7eb38c2a24a2e5b69376c

17 years agoswitching: Remove the drain and resume code from the switching code.
Nathan Binkert [Sat, 4 Aug 2007 23:09:24 +0000 (16:09 -0700)]
switching: Remove the drain and resume code from the switching code.
This allows us to change memory modes as well.
Clean up the code while we're at it.

--HG--
extra : convert_revision : fc5fee9ffd08b791f0607ee2688f32aa65d15354

17 years agopython: use the enum values in the memory mode changing code
Nathan Binkert [Sat, 4 Aug 2007 23:06:19 +0000 (16:06 -0700)]
python: use the enum values in the memory mode changing code

--HG--
extra : convert_revision : 2e399b2b407922ad076f93d33af73e3ba4c05218

17 years agoswig: %include all of the enums to get all of the definitions.
Nathan Binkert [Sat, 4 Aug 2007 23:05:18 +0000 (16:05 -0700)]
swig: %include all of the enums to get all of the definitions.
(instead of %import)

--HG--
extra : convert_revision : bc4a39d7be3aad59b34d55aa8dd2c28285f09db9

17 years agomerge
Nathan Binkert [Sat, 4 Aug 2007 23:03:18 +0000 (16:03 -0700)]
merge

--HG--
extra : convert_revision : 5390fef726afe14a89f1f36512239f72563557e2

17 years agopython: provide access to stats
Nathan Binkert [Sat, 4 Aug 2007 23:02:04 +0000 (16:02 -0700)]
python: provide access to stats

--HG--
extra : convert_revision : 18a4e9ef21bd77ec73482557e028d535f0c1f273

17 years agomain: return an an exit code of 1 when we exit due to a python exception.
Nathan Binkert [Sat, 4 Aug 2007 23:00:36 +0000 (16:00 -0700)]
main: return an an exit code of 1 when we exit due to a python exception.
This requires us to not use PyRun_SimpleString, but PyRun_String since the
latter actually returns a result

--HG--
extra : convert_revision : 3e3916ddd7eef9957569d8e72e73ba4c3160ce20

17 years agoSimpleCPU: Add some DPRINTFs
Nathan Binkert [Sat, 4 Aug 2007 22:56:48 +0000 (15:56 -0700)]
SimpleCPU:  Add some DPRINTFs

--HG--
extra : convert_revision : 5fdd5a9595c3e5d6ce5f9e8c9af0a8e6c857551c

17 years agoport: Implement cache for port interfaces and ranges
Vincentius Robby [Sat, 4 Aug 2007 20:05:55 +0000 (16:05 -0400)]
port: Implement cache for port interfaces and ranges

--HG--
extra : convert_revision : d7cbec7c277fb8f4d8846203caae36ce629602d5

17 years agoalpha: Implement a cache for recently used page table entries
Vincentius Robby [Sat, 4 Aug 2007 18:25:35 +0000 (14:25 -0400)]
alpha: Implement a cache for recently used page table entries

--HG--
extra : convert_revision : 1bb80d71fa91e500a68390e5dc17464ce7136fba

17 years agoStaticInst: Fix decode cache initialization. Cache functionality was negated.
Vincentius Robby [Sat, 4 Aug 2007 18:25:17 +0000 (14:25 -0400)]
StaticInst: Fix decode cache initialization. Cache functionality was negated.

--HG--
extra : convert_revision : fe313718dba8236f3e9bceb49f8c5efccfc06a06

17 years agoAdd cscope files to .hgignore.
Steve Reinhardt [Fri, 3 Aug 2007 23:27:51 +0000 (16:27 -0700)]
Add cscope files to .hgignore.

--HG--
extra : convert_revision : 82598579baf50cd258714c7e533b96bc6bd1305a

17 years agotests: new ref outputs for new cache model
Steve Reinhardt [Fri, 3 Aug 2007 22:04:30 +0000 (18:04 -0400)]
tests: new ref outputs for new cache model

--HG--
extra : convert_revision : 244749072f97e425c2ca1cf296f2b95f37e99eb6

17 years agotests: replace all dest ref files on upgrade (if possible).
Steve Reinhardt [Fri, 3 Aug 2007 22:04:26 +0000 (18:04 -0400)]
tests: replace all dest ref files on upgrade (if possible).
Originally we were copying all source files in, but this caused
problems when (large) inputs were copied along with outputs.
Then we switched to just copying the standard files (m5stats.txt,
etc.) but that was missing things like the *.console files.
This fix should catch all the non-standard files too as long as
they are copied in manually once when the test is set up.
Also get a lot nicer about warning when files are ignored,
and warn when expected files are missing.
Those new Python sets sure are handy.

--HG--
extra : convert_revision : 55c046de124522499af74a471968677c020bbf38

17 years agotests: config.out no longer exists, eliminate ref copy.
Steve Reinhardt [Fri, 3 Aug 2007 22:03:59 +0000 (18:03 -0400)]
tests: config.out no longer exists, eliminate ref copy.

--HG--
extra : convert_revision : e2d6aa61aa2ffd1a9d16260244512eeb1fe4d5a3

17 years agomerge from head
Steve Reinhardt [Fri, 3 Aug 2007 07:51:30 +0000 (03:51 -0400)]
merge from head

--HG--
extra : convert_revision : 21f7afe2719c00744c0981212c1ee6e442238e01

17 years agocache: get rid of obsolete params from python.
Steve Reinhardt [Fri, 3 Aug 2007 07:51:13 +0000 (03:51 -0400)]
cache: get rid of obsolete params from python.

--HG--
extra : convert_revision : cd40e0ef938ef6da1cccedf7be01c3ac5b4883fb

17 years agoMerge with head.
Gabe Black [Fri, 3 Aug 2007 06:30:25 +0000 (23:30 -0700)]
Merge with head.

--HG--
extra : convert_revision : c8b066289916b3fb24bcae1e9c76e27ad4cf61b1

17 years agopython: Improve support for python calling back to C++ member functions.
Nathan Binkert [Fri, 3 Aug 2007 05:50:02 +0000 (22:50 -0700)]
python: Improve support for python calling back to C++ member functions.
Add support for declaring SimObjects to swig so their members can be wrapped.
Make sim_object.i only contain declarations for SimObject.
Create system.i to contain declarations for System.
Update python code to properly call the C++ given the new changes.

--HG--
extra : convert_revision : 82076ee69e8122d56e91b92d6767e356baae420a

17 years agoMerge: No changes
Ali Saidi [Fri, 3 Aug 2007 02:09:54 +0000 (22:09 -0400)]
Merge: No changes

--HG--
extra : convert_revision : ee56f958f6b295571cf881b81380cfba3d4ce02e

17 years agoSerialize: This shouldn't have been commited, I got a little bit carried away it...
Ali Saidi [Fri, 3 Aug 2007 02:08:33 +0000 (22:08 -0400)]
Serialize: This shouldn't have been commited, I got a little bit carried away it seems.

--HG--
extra : convert_revision : f8d4d9f3d395d2d3db020cd016c7840876097791

17 years agoX86: Get rid of some debug warnings.
Gabe Black [Thu, 2 Aug 2007 23:28:01 +0000 (16:28 -0700)]
X86: Get rid of some debug warnings.
Get rid of some warnings that were accidentally committed.

--HG--
extra : convert_revision : e800dbce253f6ba759932ca47d64bf98129e4177

17 years agoMerge with head.
Gabe Black [Thu, 2 Aug 2007 22:14:36 +0000 (15:14 -0700)]
Merge with head.

--HG--
extra : convert_revision : 7700f475caa676948175cdf126ee018b0c4ad35c

17 years agoX86: Finally get the x86 initial stack frame right.
Gabe Black [Thu, 2 Aug 2007 22:12:18 +0000 (15:12 -0700)]
X86: Finally get the x86 initial stack frame right.
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

17 years agoX86: Fix special case with SIB index register and REX prefix.
Gabe Black [Thu, 2 Aug 2007 22:09:12 +0000 (15:09 -0700)]
X86: Fix special case with SIB index register and REX prefix.

--HG--
extra : convert_revision : b305708a722f2a08cb55c4548c5616fcbe6c5d68

17 years agomerge: no manual changes
Nathan Binkert [Thu, 2 Aug 2007 21:19:40 +0000 (14:19 -0700)]
merge: no manual changes

--HG--
extra : convert_revision : fe31a334a6db4e4ac8489738429093c90ea94925

17 years agopython: fix m5.build_env variable.
Nathan Binkert [Thu, 2 Aug 2007 21:12:53 +0000 (14:12 -0700)]
python: fix m5.build_env variable.
As it is now, some objects will get the incorrect value depending where they
were defined.

--HG--
extra : convert_revision : a11a14842f9524739cbf54a48be6ec051f371200

17 years agomerge, no manual changes
Ali Saidi [Thu, 2 Aug 2007 19:38:06 +0000 (15:38 -0400)]
merge, no manual changes

--HG--
extra : convert_revision : 8504bddf1f73a4186cebc03c3e52e42ea38361fc

17 years agopython: need to import objects to make some calls work
Nathan Binkert [Thu, 2 Aug 2007 19:03:35 +0000 (12:03 -0700)]
python: need to import objects to make some calls work

--HG--
extra : convert_revision : b5eec971d76626b2f42448052ab2cb2acb652d1b

17 years agomain: expose the build information as a simple command line parameter
Nathan Binkert [Thu, 2 Aug 2007 18:59:02 +0000 (11:59 -0700)]
main: expose the build information as a simple command line parameter

--HG--
extra : convert_revision : 69189c4a2e9fa9290fe51a2a43a2b08e712c395d

17 years agoSerialization: Provide array serialization methods that work on std::vector
Ali Saidi [Thu, 2 Aug 2007 18:43:27 +0000 (14:43 -0400)]
Serialization: Provide array serialization methods that work on std::vector

--HG--
extra : convert_revision : aecdf1a7e50edbb12921991cc81df1b431ce8b38

17 years agoOutput: Make OutputDirectory::create() be able to create binary files.
Ali Saidi [Thu, 2 Aug 2007 18:40:56 +0000 (14:40 -0400)]
Output: Make OutputDirectory::create() be able to create binary files.

--HG--
extra : convert_revision : eae114ee5f27bb8b319df705d9b39bded185b8e8

17 years agoLinux Support: make sure that when we get the stack page for thread info we're doing...
Ali Saidi [Thu, 2 Aug 2007 18:34:58 +0000 (14:34 -0400)]
Linux Support: make sure that when we get the stack page for thread info we're doing a 64bit not

--HG--
extra : convert_revision : c581921dd601fc72fd2d45b961c7440755b0331c

17 years agodebugSymbolTable is a global variable and only needs to be created once, not once...
Ali Saidi [Thu, 2 Aug 2007 18:32:20 +0000 (14:32 -0400)]
debugSymbolTable is a global variable and only needs to be created once, not once per system

--HG--
extra : convert_revision : 43cbfd1a58d7d728898cbfae0d7f7d9960eba178

17 years agoFix how the "cmd" parameter is set in se.py and remove hack in x86 process initializa...
Gabe Black [Thu, 2 Aug 2007 01:19:23 +0000 (18:19 -0700)]
Fix how the "cmd" parameter is set in se.py and remove hack in x86 process initialization code.

--HG--
extra : convert_revision : 1fc741eea956ebfa4cef488eef4333d1f50617a6

17 years agomerge: mips fix to getArgument
Nathan Binkert [Wed, 1 Aug 2007 23:58:22 +0000 (16:58 -0700)]
merge: mips fix to getArgument

--HG--
extra : convert_revision : 0e97c80ca9bdd354f537bf5d036e024da0081306

17 years agomips: make getArgument inline so mips will link properly
Nathan Binkert [Wed, 1 Aug 2007 23:57:29 +0000 (16:57 -0700)]
mips: make getArgument inline so mips will link properly

--HG--
extra : convert_revision : 7fdbf1f35a5fcbd8704bf02aafcb3ea069626ce3

17 years agoMerge with head.
Gabe Black [Wed, 1 Aug 2007 23:00:33 +0000 (16:00 -0700)]
Merge with head.

--HG--
extra : convert_revision : 646d559a10706521b1918d2378d0f99ab5255c77

17 years agoMerge with head.
Gabe Black [Wed, 1 Aug 2007 22:54:25 +0000 (15:54 -0700)]
Merge with head.

--HG--
extra : convert_revision : f677debfd636d79bc5097eb45331601d3253743d

17 years agoMIPS: Files which are needed for the MIPS fix.
Gabe Black [Wed, 1 Aug 2007 22:53:39 +0000 (15:53 -0700)]
MIPS: Files which are needed for the MIPS fix.

--HG--
extra : convert_revision : ae710fa8e4e9f57c19cd7277b1b59efd0af40b6a

17 years agoStatetrace: Make sure all the info block strings are printed.
Gabe Black [Wed, 1 Aug 2007 22:40:41 +0000 (15:40 -0700)]
Statetrace: Make sure all the info block strings are printed.

--HG--
extra : convert_revision : 534b4f5cee3fd1a6d3638d9a910d22ad1aa81fde

17 years agoMerge with head.
Gabe Black [Wed, 1 Aug 2007 22:12:07 +0000 (15:12 -0700)]
Merge with head.

--HG--
extra : convert_revision : 444901221e9a0b991213fbcd555f2f5cca67e91b

17 years agoConfiguration: Update the drive systems kernel as well as the testsys kernel with...
Ali Saidi [Wed, 1 Aug 2007 21:39:16 +0000 (17:39 -0400)]
Configuration: Update the drive systems kernel as well as the testsys kernel with cmd line option.

--HG--
extra : convert_revision : 5dfb0db65452c0b7aa3e2dc2a0209e3f8e23811f

17 years agoX86: Hide the irrelevant portions of the address components for load and store microops.
Gabe Black [Wed, 1 Aug 2007 21:34:59 +0000 (14:34 -0700)]
X86: Hide the irrelevant portions of the address components for load and store microops.

--HG--
extra : convert_revision : a5ac6fefa09882f0833537e23f1ac0477bc89bb9

17 years agoMerge Gabe and my changes to arch/mips/utility.hh
Ali Saidi [Wed, 1 Aug 2007 21:05:03 +0000 (17:05 -0400)]
Merge Gabe and my changes to arch/mips/utility.hh

--HG--
extra : convert_revision : d5a9d74ee6edf71524ba5c03fb7f054cf9722213

17 years agoArguments: Get rid of duplicate code for the Arguments class in each architecture.
Ali Saidi [Wed, 1 Aug 2007 20:59:14 +0000 (16:59 -0400)]
Arguments: Get rid of duplicate code for the Arguments class in each 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

17 years agoMIPS: Cleaned up includes to break loops, and got rid of isa_traits.cc
Gabe Black [Wed, 1 Aug 2007 20:55:47 +0000 (13:55 -0700)]
MIPS: Cleaned up includes to break loops, and got rid of isa_traits.cc
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

17 years agoX86: Fix for compilation bug with new cache code.
Gabe Black [Wed, 1 Aug 2007 19:49:58 +0000 (12:49 -0700)]
X86: Fix for compilation bug with new cache code.

--HG--
extra : convert_revision : 073c6db0796cd2c11b8293b382b438a2a959b821

17 years agoMerge with head.
Gabe Black [Wed, 1 Aug 2007 19:02:59 +0000 (12:02 -0700)]
Merge with head.

--HG--
extra : convert_revision : 5bc1133c6c7a575082f060e7787b62d4080f70b0

17 years agoFix for new parameter stuff.
Gabe Black [Wed, 1 Aug 2007 19:02:08 +0000 (12:02 -0700)]
Fix for new parameter stuff.

--HG--
extra : convert_revision : 49d8df7235a02b71db9d309e6b2029587c3d0c8b

17 years agoX86: Reorganize the native tracing code.
Gabe Black [Wed, 1 Aug 2007 19:01:51 +0000 (12:01 -0700)]
X86: Reorganize the native tracing code.
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

17 years agoX86: Get rid of initialization of R11
Gabe Black [Wed, 1 Aug 2007 19:00:32 +0000 (12:00 -0700)]
X86: Get rid of initialization of R11
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

17 years agoTwin64_t is in base/bigint.hh
Nathan Binkert [Wed, 1 Aug 2007 18:48:32 +0000 (11:48 -0700)]
Twin64_t is in base/bigint.hh

--HG--
extra : convert_revision : 827a89c203235aea08d184cdc720d9c6fb08e4c7

17 years agoAdd a flag to indicate an instruction triggers a syscall in SE mode.
Gabe Black [Wed, 1 Aug 2007 00:34:08 +0000 (17:34 -0700)]
Add a flag to indicate an instruction triggers a syscall in SE mode.

--HG--
extra : convert_revision : 1d0b3afdd8254f5b2fb4bbff1fa4a0536f78bb06

17 years agoX86: Add operand type information to the fnstcw and fldw instruction placeholders.
Gabe Black [Tue, 31 Jul 2007 21:55:06 +0000 (14:55 -0700)]
X86: Add operand type information to the fnstcw and fldw instruction 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

17 years agoMerge from head.
Steve Reinhardt [Tue, 31 Jul 2007 04:37:07 +0000 (00:37 -0400)]
Merge from head.

--HG--
extra : convert_revision : af16bc685ea28e44b8120f16b72f60a21d68c1e2

17 years agoX86: Add decoding for x87 floating point.
Gabe Black [Tue, 31 Jul 2007 00:54:01 +0000 (17:54 -0700)]
X86: Add decoding for x87 floating point.

--HG--
extra : convert_revision : 08f0f4a3d77a2c5eb9b5ca0cae7d0be9a72febec

17 years agoX86: Attach the "DIV" instruction implementation to the decoder.
Gabe Black [Mon, 30 Jul 2007 22:44:48 +0000 (15:44 -0700)]
X86: Attach the "DIV" instruction implementation to the decoder.

--HG--
extra : convert_revision : 8aef1c8d1ced2db998ed0d31241cadc17e19eadd

17 years agoX86: Remove a naming conflict between the register index parameters and the "picked...
Gabe Black [Mon, 30 Jul 2007 22:44:21 +0000 (15:44 -0700)]
X86: Remove a naming conflict between the register index parameters and the "picked" register values.

--HG--
extra : convert_revision : 7b2c1be509478153ebf396841e4cbeccee3e03d1

17 years agoX86: __pad0 should be a 4 byte pad, not a 4 long array of 4 byte pads.
Gabe Black [Mon, 30 Jul 2007 22:43:20 +0000 (15:43 -0700)]
X86: __pad0 should be a 4 byte pad, not a 4 long array of 4 byte pads.

--HG--
extra : convert_revision : e0d5ab617bc95d5d714fa9fcdf0a448874aef886

17 years agoX86: Turn on the exit_group, exit, munmap, and write syscalls.
Gabe Black [Mon, 30 Jul 2007 22:42:42 +0000 (15:42 -0700)]
X86: Turn on the exit_group, exit, munmap, and write syscalls.

--HG--
extra : convert_revision : e358c18cd999a8e274108e06502c3324c2d12d3b

17 years agoX86: Use an mmap base address that matches what an actual machine uses.
Gabe Black [Mon, 30 Jul 2007 22:42:04 +0000 (15:42 -0700)]
X86: Use an mmap base address that matches what an actual machine uses.

--HG--
extra : convert_revision : 98521797bbc6360301b3c6a6b1b8e28236ef570e

17 years agoX86: Set up RIP relative LEA instructions operands correctly.
Gabe Black [Mon, 30 Jul 2007 22:41:08 +0000 (15:41 -0700)]
X86: Set up RIP relative LEA instructions operands correctly.

--HG--
extra : convert_revision : 820cafadd550487c0d62c5082261b0886fce4f0d

17 years agoX86: Implement unsigned divide. The non-byte version ignores rdx which it shouldn't.
Gabe Black [Mon, 30 Jul 2007 22:40:39 +0000 (15:40 -0700)]
X86: Implement unsigned divide. The non-byte version ignores rdx which it shouldn't.

--HG--
extra : convert_revision : 07e5509fb8ed9d73c144d6f52951ebc02e7c0032

17 years agoX86: Allow RIP relative decode on -all- memory forms of operands.
Gabe Black [Mon, 30 Jul 2007 22:39:25 +0000 (15:39 -0700)]
X86: Allow RIP relative decode on -all- memory forms of operands.

--HG--
extra : convert_revision : 8af62cda2ce1c4acfa26a028a4f7506647bc27f7

17 years agoX86: Take into account the regular registers and the microcode registers when decided...
Gabe Black [Mon, 30 Jul 2007 22:38:40 +0000 (15:38 -0700)]
X86: Take into account the regular registers and the microcode registers when decided whether or not to fold.

--HG--
extra : convert_revision : 26feec984dec61799c4afb03a4503a53c35872c5

17 years agoX86: Fix up the stat structure. This probably still isn't right.
Gabe Black [Mon, 30 Jul 2007 20:31:59 +0000 (13:31 -0700)]
X86: Fix up the stat structure. This probably still isn't right.

--HG--
extra : convert_revision : 2e2a22cdf3abe648c9e1309b9070cfd10fc4a8b8

17 years agoX86: Hook in the new instructions.
Gabe Black [Mon, 30 Jul 2007 20:31:27 +0000 (13:31 -0700)]
X86: Hook in the new instructions.

--HG--
extra : convert_revision : c4233001b35b52161083482841593ec28da6ff7d

17 years agoX86: Turn on some system calls, and make the kernel version match my development...
Gabe Black [Mon, 30 Jul 2007 20:30:41 +0000 (13:30 -0700)]
X86: Turn on some system calls, and make the kernel version match my development machine.

--HG--
extra : convert_revision : 2f1969a45aa82708dc4cddef09c01306f76f0a81

17 years agoX86: Make sure FP_Base_DepTag is big enough to avoid trouble.
Gabe Black [Mon, 30 Jul 2007 20:29:56 +0000 (13:29 -0700)]
X86: Make sure FP_Base_DepTag is big enough to avoid trouble.

--HG--
extra : convert_revision : 7e0a83d5deb7fc9aaa69b7d024ea6ae6890df133

17 years agoX86: Implement a stub CPUID function which is hardcode to return certain values.
Gabe Black [Mon, 30 Jul 2007 20:29:33 +0000 (13:29 -0700)]
X86: Implement a stub CPUID function which is hardcode to return certain values.

--HG--
extra : convert_revision : 4085e04fd13e834646106faa55726d07d9631f42

17 years agoX86: Force jumps to use 64 bit operand size.
Gabe Black [Mon, 30 Jul 2007 20:28:31 +0000 (13:28 -0700)]
X86: Force jumps to use 64 bit operand size.

--HG--
extra : convert_revision : 1c3685e7f4d07d5b4ded6c78b794964f51a358a9

17 years agoX86: Make instructions use pick, and implement/adjust some multiplication microops...
Gabe Black [Mon, 30 Jul 2007 20:28:05 +0000 (13:28 -0700)]
X86: Make instructions use pick, and implement/adjust some multiplication microops and instructions.

--HG--
extra : convert_revision : 5c56f6819ee07d936b388b3d1810a3b73db84f9c

17 years agoX86: Make merge and pick work with high bytes. Fix a sizing issue in pick.
Gabe Black [Mon, 30 Jul 2007 20:26:48 +0000 (13:26 -0700)]
X86: Make merge and pick work with high bytes. Fix a sizing issue in pick.

--HG--
extra : convert_revision : 4ddc2ca8c23bb7e90a646329ebf27a013ac5e3d6

17 years agoX86: Make register names in disassembly reflect high bytes.
Gabe Black [Mon, 30 Jul 2007 20:26:14 +0000 (13:26 -0700)]
X86: Make register names in disassembly reflect high bytes.

--HG--
extra : convert_revision : e2891581e5504de0a2c8e5932fd22425cafd4fc7

17 years agoX86: missed a file which adds a "fold" bit.
Gabe Black [Mon, 30 Jul 2007 20:25:38 +0000 (13:25 -0700)]
X86: missed a file which adds a "fold" bit.

--HG--
extra : convert_revision : 2c8eea425221d069a9bb888c8f18839843061899

17 years agoMake the register indices use the appropriate "fold" bit.
Gabe Black [Mon, 30 Jul 2007 20:25:00 +0000 (13:25 -0700)]
Make the register indices use the appropriate "fold" bit.

--HG--
extra : convert_revision : 89e15e2ef1f709f2c09238b78f94505ce8ef146d

17 years agoX86: Make disassembly use the final register index. Add bits to indicate whether...
Gabe Black [Mon, 30 Jul 2007 20:23:33 +0000 (13:23 -0700)]
X86: Make disassembly use the final register index. Add bits to indicate whether or not register indexes should be "folded".

--HG--
extra : convert_revision : 4b46e71ca91e480f6e1662b7f37b75240d6598e9