Gabe Black [Sun, 5 Aug 2007 03:27:23 +0000 (20:27 -0700)]
Merge with head.
--HG--
extra : convert_revision :
3edb9f03353b18b4c9f062bccf11e79cfb3c15f2
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
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
Gabe Black [Sun, 5 Aug 2007 03:18:20 +0000 (20:18 -0700)]
X86: Make the open flags correct.
--HG--
extra : convert_revision :
2dc81345176d1de247a567d1f748e2b2bd05f829
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
Gabe Black [Sun, 5 Aug 2007 03:15:27 +0000 (20:15 -0700)]
X86: Implement the cmpxchg instruction.
--HG--
extra : convert_revision :
b9e172bcb9551edf65c63f26dfa07d771edf3e1e
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
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
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
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
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
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
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
Nathan Binkert [Sat, 4 Aug 2007 23:03:18 +0000 (16:03 -0700)]
merge
--HG--
extra : convert_revision :
5390fef726afe14a89f1f36512239f72563557e2
Nathan Binkert [Sat, 4 Aug 2007 23:02:04 +0000 (16:02 -0700)]
python: provide access to stats
--HG--
extra : convert_revision :
18a4e9ef21bd77ec73482557e028d535f0c1f273
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
Nathan Binkert [Sat, 4 Aug 2007 22:56:48 +0000 (15:56 -0700)]
SimpleCPU: Add some DPRINTFs
--HG--
extra : convert_revision :
5fdd5a9595c3e5d6ce5f9e8c9af0a8e6c857551c
Steve Reinhardt [Fri, 3 Aug 2007 23:27:51 +0000 (16:27 -0700)]
Add cscope files to .hgignore.
--HG--
extra : convert_revision :
82598579baf50cd258714c7e533b96bc6bd1305a
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
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
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
Steve Reinhardt [Fri, 3 Aug 2007 07:51:30 +0000 (03:51 -0400)]
merge from head
--HG--
extra : convert_revision :
21f7afe2719c00744c0981212c1ee6e442238e01
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
Gabe Black [Fri, 3 Aug 2007 06:30:25 +0000 (23:30 -0700)]
Merge with head.
--HG--
extra : convert_revision :
c8b066289916b3fb24bcae1e9c76e27ad4cf61b1
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
Ali Saidi [Fri, 3 Aug 2007 02:09:54 +0000 (22:09 -0400)]
Merge: No changes
--HG--
extra : convert_revision :
ee56f958f6b295571cf881b81380cfba3d4ce02e
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
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
Gabe Black [Thu, 2 Aug 2007 22:14:36 +0000 (15:14 -0700)]
Merge with head.
--HG--
extra : convert_revision :
7700f475caa676948175cdf126ee018b0c4ad35c
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
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
Nathan Binkert [Thu, 2 Aug 2007 21:19:40 +0000 (14:19 -0700)]
merge: no manual changes
--HG--
extra : convert_revision :
fe31a334a6db4e4ac8489738429093c90ea94925
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
Ali Saidi [Thu, 2 Aug 2007 19:38:06 +0000 (15:38 -0400)]
merge, no manual changes
--HG--
extra : convert_revision :
8504bddf1f73a4186cebc03c3e52e42ea38361fc
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
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
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
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
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
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
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
Nathan Binkert [Wed, 1 Aug 2007 23:58:22 +0000 (16:58 -0700)]
merge: mips fix to getArgument
--HG--
extra : convert_revision :
0e97c80ca9bdd354f537bf5d036e024da0081306
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
Gabe Black [Wed, 1 Aug 2007 23:00:33 +0000 (16:00 -0700)]
Merge with head.
--HG--
extra : convert_revision :
646d559a10706521b1918d2378d0f99ab5255c77
Gabe Black [Wed, 1 Aug 2007 22:54:25 +0000 (15:54 -0700)]
Merge with head.
--HG--
extra : convert_revision :
f677debfd636d79bc5097eb45331601d3253743d
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
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
Gabe Black [Wed, 1 Aug 2007 22:12:07 +0000 (15:12 -0700)]
Merge with head.
--HG--
extra : convert_revision :
444901221e9a0b991213fbcd555f2f5cca67e91b
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
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
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
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
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
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
Gabe Black [Wed, 1 Aug 2007 19:02:59 +0000 (12:02 -0700)]
Merge with head.
--HG--
extra : convert_revision :
5bc1133c6c7a575082f060e7787b62d4080f70b0
Gabe Black [Wed, 1 Aug 2007 19:02:08 +0000 (12:02 -0700)]
Fix for new parameter stuff.
--HG--
extra : convert_revision :
49d8df7235a02b71db9d309e6b2029587c3d0c8b
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
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
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
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
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
Steve Reinhardt [Tue, 31 Jul 2007 04:37:07 +0000 (00:37 -0400)]
Merge from head.
--HG--
extra : convert_revision :
af16bc685ea28e44b8120f16b72f60a21d68c1e2
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
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
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
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
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
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
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
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
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
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
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
Gabe Black [Mon, 30 Jul 2007 20:31:27 +0000 (13:31 -0700)]
X86: Hook in the new instructions.
--HG--
extra : convert_revision :
c4233001b35b52161083482841593ec28da6ff7d
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
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
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
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
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
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
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
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
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
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
Gabe Black [Mon, 30 Jul 2007 20:20:08 +0000 (13:20 -0700)]
X86: Missed a file for adding a bit to indicate that an REX prefix was present.
--HG--
extra : convert_revision :
f1bbd5165a7415d0daf27660575d30c41510f531
Gabe Black [Mon, 30 Jul 2007 20:19:11 +0000 (13:19 -0700)]
X86: Implement LEAVE
--HG--
extra : convert_revision :
c642d5018ece82c644e1cfa389b2d3dbd6ab5ffd
Gabe Black [Mon, 30 Jul 2007 20:17:34 +0000 (13:17 -0700)]
X86: Add a bitfield to indicate whether or not an REX prefix was present.
--HG--
extra : convert_revision :
9c4802f6c6e4eaab36aac900e2c7576682cb0f33
Gabe Black [Mon, 30 Jul 2007 20:13:11 +0000 (13:13 -0700)]
Fix problem with tracer not being initialized.
--HG--
extra : convert_revision :
09610ad84afa605db2d0eab9945eb9809f297182
Steve Reinhardt [Mon, 30 Jul 2007 03:17:03 +0000 (20:17 -0700)]
memory system: fix functional access bug.
Make sure not to keep processing functional accesses
after they've been responded to.
Also use checkFunctional() return value instead of checking
packet command field where possible, mostly just for consistency.
--HG--
extra : convert_revision :
29fc76bc18731bd93a4ed05a281297827028ef75
Gabe Black [Sun, 29 Jul 2007 20:53:39 +0000 (13:53 -0700)]
Merge with head.
--HG--
extra : convert_revision :
1cf4d998699d131c3b20eef67a3c2817af0ce439
Gabe Black [Sun, 29 Jul 2007 20:51:40 +0000 (13:51 -0700)]
X86: Make logic instructions flag setting work.
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
Gabe Black [Sun, 29 Jul 2007 20:50:10 +0000 (13:50 -0700)]
X86: Make arithmetic instructions set the appropriate flags.
--HG--
extra : convert_revision :
3bdef3876c7b86bc93365edee876b74a201d625f
Steve Reinhardt [Sun, 29 Jul 2007 20:25:14 +0000 (13:25 -0700)]
Merge Gabe's changes from head.
--HG--
extra : convert_revision :
d00b7b09c7f19bc0e37b385ef7c124f69c0e917f
Steve Reinhardt [Sun, 29 Jul 2007 20:24:48 +0000 (13:24 -0700)]
bus: take out response prioritization (timing was messed up).
Also make express snoops not occupy bus (since they're magic).
--HG--
extra : convert_revision :
75aa5211a59380026d1e3f122778425e48e2edcd
Steve Reinhardt [Sun, 29 Jul 2007 20:22:44 +0000 (13:22 -0700)]
BsaeCPU: Get rid of some bad DPRINTFs.
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
Gabe Black [Sun, 29 Jul 2007 19:37:35 +0000 (12:37 -0700)]
Statetrace: Make statetrace patch amd64 executables for true single stepping 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
Gabe Black [Sun, 29 Jul 2007 08:38:07 +0000 (01:38 -0700)]
Merge ... head. style.py was also missing an argument in one call to modified_lines.
--HG--
extra : convert_revision :
0f4e23007399f9d0e2be5310062bd61f5415550d
Gabe Black [Sun, 29 Jul 2007 08:33:06 +0000 (01:33 -0700)]
X86: Initial stack frame fixes and constant shuffling.
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
Gabe Black [Sun, 29 Jul 2007 08:30:28 +0000 (01:30 -0700)]
X86: Make limm use merge and allow overriding the data size.
--HG--
extra : convert_revision :
c6057226b8ff8f272612a9d3bf7d1d9ba90c819b
Gabe Black [Sun, 29 Jul 2007 08:29:53 +0000 (01:29 -0700)]
Statetrace: Print the correct address of auxiliary vectors.
The address of the stackpointer proceeding the vector minus 8 should be minus 16.
--HG--
extra : convert_revision :
648f01e9753e28391fc8d282bd9fe2bd47a0193f