gem5.git
17 years agoMerge with head.
Gabe Black [Wed, 26 Sep 2007 03:11:41 +0000 (20:11 -0700)]
Merge with head.

--HG--
extra : convert_revision : f331b9cbd82086d63d4f35e18f9e08466c016225

17 years agoSPARC: Remove parameter that was only ever set to one value.
Gabe Black [Wed, 26 Sep 2007 03:11:03 +0000 (20:11 -0700)]
SPARC: Remove parameter that was only ever set to one value.

--HG--
extra : convert_revision : 3c22e576d95bdc7566bbce9b92cf2a6ff153a66f

17 years agoSPARC: Remove some redundant code from some of the fp instructions.
Gabe Black [Wed, 26 Sep 2007 03:10:04 +0000 (20:10 -0700)]
SPARC: Remove some redundant code from some of the fp instructions.

--HG--
extra : convert_revision : 68b0341ae7a367b84c44081f9a3d6d0bc6631649

17 years agoSPARC: Clean up of privileged instructions.
Gabe Black [Wed, 26 Sep 2007 03:09:25 +0000 (20:09 -0700)]
SPARC: Clean up of privileged instructions.

--HG--
extra : convert_revision : 1fb055a7d186a3e9dff46f1c1b46bad6bcd00562

17 years agoSPARC: Long overdue cleanup of the condition code handlers.
Gabe Black [Wed, 26 Sep 2007 03:08:34 +0000 (20:08 -0700)]
SPARC: Long overdue cleanup of the condition code handlers.

--HG--
extra : convert_revision : ddc53a622a8f908fa48788f3b570f33fcfc25fff

17 years agoCondition Codes: Fix type error.
Gabe Black [Wed, 26 Sep 2007 03:07:06 +0000 (20:07 -0700)]
Condition Codes: Fix type error.

--HG--
extra : convert_revision : 99f6c232cc421c6f741a8a11c029285e599eb183

17 years agoSPARC: Clean up the branch instructions a bit.
Gabe Black [Wed, 26 Sep 2007 03:05:11 +0000 (20:05 -0700)]
SPARC: Clean up the branch instructions a bit.

--HG--
extra : convert_revision : 93d5cc68e4a327ee0492eeed7f3b56e98d2d83bb

17 years agoLoader: Load all segments of an elf, rather than just the "text" and "data".
Gabe Black [Wed, 26 Sep 2007 03:03:51 +0000 (20:03 -0700)]
Loader: Load all segments of an elf, rather than just the "text" and "data".

--HG--
extra : convert_revision : b28bb9ac5cde72878e948d64f629de6e4b42c2e8

17 years agoLoader: Only complain about TLS sections if you're using Alpha.
Gabe Black [Wed, 26 Sep 2007 03:02:30 +0000 (20:02 -0700)]
Loader: Only complain about TLS sections if you're using Alpha.

--HG--
extra : convert_revision : 125d19ad3fa1847752e455fa248ca3b2a55a2067

17 years agoSPARC: Fix a stupid mistake which was breaking the SPARC regressions.
Gabe Black [Wed, 26 Sep 2007 03:00:46 +0000 (20:00 -0700)]
SPARC: Fix a stupid mistake which was breaking the SPARC regressions.

--HG--
extra : convert_revision : 34a11df0d467ea249211dd3aba86bc8d2aea45de

17 years agoX86: Fix for uninitialized variables in stacktrace code.
Gabe Black [Tue, 25 Sep 2007 21:44:12 +0000 (14:44 -0700)]
X86: Fix for uninitialized variables in stacktrace code.

--HG--
extra : convert_revision : d19a03d8c14eb93a99f2c1838a9caa1286804c81

17 years agoX86: Get X86_FS to compile.
Gabe Black [Tue, 25 Sep 2007 00:39:56 +0000 (17:39 -0700)]
X86: Get X86_FS to compile.

--HG--
extra : convert_revision : fb973bcf13648876d5691231845dd47a2be50f01

17 years agoSPARC: Fix linking error from new flattenFloatIndex function.
Gabe Black [Thu, 20 Sep 2007 02:08:42 +0000 (19:08 -0700)]
SPARC: Fix linking error from new flattenFloatIndex function.

--HG--
extra : convert_revision : 5260f33336e3a9d5e3592b784458e243157f17e3

17 years agoX86: Implement the fld, fst, and fstp instructions.
Gabe Black [Thu, 20 Sep 2007 01:28:34 +0000 (18:28 -0700)]
X86: Implement the fld, fst, and fstp instructions.

--HG--
extra : convert_revision : 7dd274bdc3c34839c17d9012a745d7c95dfcfdd8

17 years agoX86: Move the fp microops to their own file with their own base classes in C++ and...
Gabe Black [Thu, 20 Sep 2007 01:27:55 +0000 (18:27 -0700)]
X86: Move the fp microops to their own file with their own base classes in C++ and python.

--HG--
extra : convert_revision : 9cd223f2005adb36fea2bb56fa39793a58ec958c

17 years agoX86: Put in the foundation for x87 stack based fp registers.
Gabe Black [Thu, 20 Sep 2007 01:26:42 +0000 (18:26 -0700)]
X86: Put in the foundation for x87 stack based fp registers.

--HG--
extra : convert_revision : 940f92efd4a9dc59106e991cc6d9836861ab69de

17 years agoX86: Put in stubs for x87, 64 bit and 128 bit SIMD instruction microcode.
Gabe Black [Thu, 20 Sep 2007 01:25:17 +0000 (18:25 -0700)]
X86: Put in stubs for x87, 64 bit and 128 bit SIMD instruction microcode.

--HG--
rename : src/arch/x86/isa/insts/sse/__init__.py => src/arch/x86/isa/insts/simd128/__init__.py
extra : convert_revision : efb4405aebaa4a04f33572e7d078ceca45872d9c

17 years agoX86: Enable the rename system call.
Gabe Black [Thu, 20 Sep 2007 01:24:11 +0000 (18:24 -0700)]
X86: Enable the rename system call.

--HG--
extra : convert_revision : bc4a3b5b5ce8e17f632e65ce89df91e2b50e1274

17 years agoX86: Enable the unlink system call.
Gabe Black [Thu, 20 Sep 2007 01:23:35 +0000 (18:23 -0700)]
X86: Enable the unlink system call.

--HG--
extra : convert_revision : 4230a13fdb652a87271f8d2ac9ead96cd2af07a5

17 years agoMerge with head.
Gabe Black [Thu, 13 Sep 2007 23:36:25 +0000 (16:36 -0700)]
Merge with head.

--HG--
extra : convert_revision : 22aafb1cead3f584e64c188dc8eb45e271f4e7e9

17 years agoX86: Fix how ECF is computed in genFlags, and get rid of some duplicate code.
Gabe Black [Thu, 13 Sep 2007 23:35:41 +0000 (16:35 -0700)]
X86: Fix how ECF is computed in genFlags, and get rid of some duplicate code.

--HG--
extra : convert_revision : f86330a5a9fea782ee63aaa18ca964fb6f9cef0b

17 years agoX86: Make the shift and rotate instructions set the carry flag(s) and overflow flags...
Gabe Black [Thu, 13 Sep 2007 23:35:20 +0000 (16:35 -0700)]
X86: Make the shift and rotate instructions set the carry flag(s) and overflow flags like they're supposed to.

--HG--
extra : convert_revision : c0523a5bbf53375ce979ca7d98a95e465be66fbe

17 years agoX86: Total overhaul of the division instructions and microops.
Gabe Black [Thu, 13 Sep 2007 23:34:46 +0000 (16:34 -0700)]
X86: Total overhaul of the division instructions and microops.

--HG--
extra : convert_revision : 303ea45f69f7805361ad877fe6bb43fbc3dfd7a6

17 years agoSyscall Emulation: Add stat64 syscall.
Ali Saidi [Thu, 13 Sep 2007 16:30:12 +0000 (12:30 -0400)]
Syscall Emulation: Add stat64 syscall.

Patch submitted by: Jonas Diemer [diemer (a) ida.ing.tu-bs.de]

--HG--
extra : convert_revision : 07638c05bb3f79aacce49457bbb8c17d0a3a7238

17 years agoCheckpointing: Fix directory regex
Ali Saidi [Wed, 12 Sep 2007 19:27:15 +0000 (15:27 -0400)]
Checkpointing: Fix directory regex

--HG--
extra : convert_revision : 4d3958eda66209373249e54e7deadd1a7442e828

17 years agoCheckpointing: Force drain/resume when switching a CPU
Ali Saidi [Wed, 12 Sep 2007 19:24:24 +0000 (15:24 -0400)]
Checkpointing: Force drain/resume when switching a CPU

--HG--
extra : convert_revision : 7d9c3f4c8c357e3a9214deba5df3581beeaf7cb6

17 years agoDevices: More fixes to Intel NIC Model.
Ali Saidi [Wed, 12 Sep 2007 19:24:23 +0000 (15:24 -0400)]
Devices: More fixes to Intel NIC Model.

--HG--
extra : convert_revision : 14306d3cd79bbef7decdf2fd370ed7e7f2b10a93

17 years agoLoader: Error if a TLS section is found in the binary.
Ali Saidi [Tue, 11 Sep 2007 04:01:24 +0000 (00:01 -0400)]
Loader: Error if a TLS section is found in the binary.

--HG--
extra : convert_revision : d763c0382f3cbcc9786510f5a8e521ec9d55eff1

17 years agoX86: Make the isa parser run if any of the microcode files change.
Gabe Black [Mon, 10 Sep 2007 23:49:07 +0000 (16:49 -0700)]
X86: Make the isa parser run if any of the microcode files change.

--HG--
extra : convert_revision : 7f6d07de7e0d728a9333fb46c953dbe6cb04e600

17 years agoFix for leaving EXTRAS blank
Gabe Black [Mon, 10 Sep 2007 23:42:41 +0000 (16:42 -0700)]
Fix for leaving EXTRAS blank
Apparently env['EXTRAS'] will return an empty string if not set. split will
then split it into an empty string, and normalize will turn "" into ".".

--HG--
extra : convert_revision : f79efebb129fdd65161fcf4d4582c2a8541aeacd

17 years agoNormalize the path pathed in through EXTRAS so it won't break with a trailing slash.
Gabe Black [Mon, 10 Sep 2007 19:48:06 +0000 (12:48 -0700)]
Normalize the path pathed in through EXTRAS so it won't break with a trailing slash.

--HG--
extra : convert_revision : c14e2c6d97b5bcb491b91eeb4e7dc04d1cc35475

17 years agoRemove redundant endian.hh and use byteswap.hh in its place.
Gabe Black [Mon, 10 Sep 2007 18:02:50 +0000 (11:02 -0700)]
Remove redundant endian.hh and use byteswap.hh in its place.

--HG--
extra : convert_revision : 5be1a5ba20d69d696d3974df147c2f219414c0b2

17 years agoX86: Move a comment to be next to the code it describes.
Gabe Black [Mon, 10 Sep 2007 18:01:52 +0000 (11:01 -0700)]
X86: Move a comment to be next to the code it describes.

--HG--
extra : convert_revision : c384391175babb7cfdd3885ae9d9f1a9405ea44f

17 years agoMerge with head.
Gabe Black [Thu, 6 Sep 2007 23:32:03 +0000 (16:32 -0700)]
Merge with head.

--HG--
extra : convert_revision : 4fc5f595b23f72c0825d62f21efab46ed1db835b

17 years agoX86: Rework the multiplication microops so that they work like they would in the...
Gabe Black [Thu, 6 Sep 2007 23:27:28 +0000 (16:27 -0700)]
X86: Rework the multiplication microops so that they work like they would in the patent.

--HG--
extra : convert_revision : 6fcf5dee440288d8bf92f6c5c2f97ef019975536

17 years agoX86: Make signed multiplication do something different from unsigned.
Gabe Black [Thu, 6 Sep 2007 23:25:29 +0000 (16:25 -0700)]
X86: Make signed multiplication do something different from unsigned.

--HG--
extra : convert_revision : 333c4a3464d708d4d8cea88931259ab96c2f75ed

17 years agoX86: Make signed versions of partial register values available to microops.
Gabe Black [Thu, 6 Sep 2007 23:22:08 +0000 (16:22 -0700)]
X86: Make signed versions of partial register values available to microops.

--HG--
extra : convert_revision : c820d1250f505911a341ced42d4f73796ea77f87

17 years agoX86: Correct how the hi portion of a product is computed.
Gabe Black [Thu, 6 Sep 2007 23:20:12 +0000 (16:20 -0700)]
X86: Correct how the hi portion of a product is computed.

--HG--
extra : convert_revision : 1f503e1cae0374e62e6254e8073e903adc29d067

17 years agoX86: Add a square root microop and the SSE sqrt instruction.
Gabe Black [Thu, 6 Sep 2007 23:18:34 +0000 (16:18 -0700)]
X86: Add a square root microop and the SSE sqrt instruction.

--HG--
extra : convert_revision : ddc6e7e95111189d43f75bf84cd3d82433d982b3

17 years agoX86: Add SSE comparison instructions and microops and move some FP microops to be...
Gabe Black [Thu, 6 Sep 2007 23:09:28 +0000 (16:09 -0700)]
X86: Add SSE comparison instructions and microops and move some FP microops to be with the other ones.

--HG--
extra : convert_revision : ee0b5acde08d12c51a5282efb58d1ac72e0779af

17 years agoBus: Fix drain code; old method could return 1 in atomic mode and never call de-...
Ali Saidi [Wed, 5 Sep 2007 21:12:41 +0000 (17:12 -0400)]
Bus: Fix drain code; old method could return 1 in atomic mode and never call de->process().

--HG--
extra : convert_revision : 35990e5eaf93f7a95a0ec72e9f92034a042def3e

17 years agoConfiguration: Fix example script to only create one L2 if --l2cache and -nX are...
Ali Saidi [Wed, 5 Sep 2007 18:57:50 +0000 (14:57 -0400)]
Configuration: Fix example script to only create one L2 if --l2cache and -nX are given as parameters.

Patch submitted by: Jonas Diemer [diemer (a) ida.ing.tu-bs.de]

--HG--
extra : convert_revision : 1dfc548d2bc33d622d829bbf385f4bf9700711cd

17 years agoMerge with head.
Gabe Black [Wed, 5 Sep 2007 06:46:08 +0000 (23:46 -0700)]
Merge with head.

--HG--
extra : convert_revision : 19bea7995285eeb7e277d3064f427429ade2bcb8

17 years agoX86: Implement an SSE xor microop and instruction.
Gabe Black [Wed, 5 Sep 2007 06:44:37 +0000 (23:44 -0700)]
X86: Implement an SSE xor microop and instruction.

--HG--
extra : convert_revision : 949737d0f5d6fe4aa77cc4680d0c88caab3e8174

17 years agoX86: Make the movfp microop use FloatRegBits instead of FloatRegs.
Gabe Black [Wed, 5 Sep 2007 06:42:55 +0000 (23:42 -0700)]
X86: Make the movfp microop use FloatRegBits instead of FloatRegs.
This fixes a problem where interpreting arbitrary bits as floating point would
change what the value was. These values are legitimate because the fp
registers could be used to move around arbitrary data.

--HG--
extra : convert_revision : f1d7159ba137702b5722cc7c1b64ed7dd06c21de

17 years agoX86: Add tracing to the floating point register file.
Gabe Black [Wed, 5 Sep 2007 06:40:47 +0000 (23:40 -0700)]
X86: Add tracing to the floating point register file.

--HG--
extra : convert_revision : f452d9179b929b980cf9e2d1e3de0431c51c5f4a

17 years agoX86/StateTrace: Make m5 and statetrace track mmx and xmm registers, and actually...
Gabe Black [Wed, 5 Sep 2007 06:39:57 +0000 (23:39 -0700)]
X86/StateTrace: Make m5 and statetrace track mmx and xmm registers, and actually compare xmm.

--HG--
extra : convert_revision : 02c6641200edb133c9bc11f1fdf3c1a0b1c87e77

17 years agoX86: Hook in the fp arithmetic instructions. Stale python made it work before.
Gabe Black [Wed, 5 Sep 2007 06:38:34 +0000 (23:38 -0700)]
X86: Hook in the fp arithmetic instructions. Stale python made it work before.

--HG--
extra : convert_revision : af27f26ae810ebaae13faa572c5b4eb074620d91

17 years agoX86: Implement some SSE fp microops and instructions.
Gabe Black [Wed, 5 Sep 2007 06:33:50 +0000 (23:33 -0700)]
X86: Implement some SSE fp microops and instructions.

--HG--
extra : convert_revision : 7e0595ef542fbfb701bfac7e9ac4648349a92b26

17 years agoX86: Add some SSE floating point/integer conversion microops.
Gabe Black [Wed, 5 Sep 2007 06:32:18 +0000 (23:32 -0700)]
X86: Add some SSE floating point/integer conversion microops.

--HG--
extra : convert_revision : 2a1aa16709db940f5f40bbd84ca082f26b03b9c5

17 years agoX86: Add floating point micro registers.
Gabe Black [Wed, 5 Sep 2007 06:31:40 +0000 (23:31 -0700)]
X86: Add floating point micro registers.

--HG--
extra : convert_revision : 442a5f8b9216638e4e6898f89eacb8695719e20f

17 years agoX86: Fix a typo in the microassembly for the cqo instruction.
Gabe Black [Wed, 5 Sep 2007 06:23:51 +0000 (23:23 -0700)]
X86: Fix a typo in the microassembly for the cqo instruction.

--HG--
extra : convert_revision : ddf739e591e4414ade37b806a88f3c11292627e2

17 years agoX86: Implement idiv and propogate the mul corner case fix.
Gabe Black [Wed, 5 Sep 2007 06:23:13 +0000 (23:23 -0700)]
X86: Implement idiv and propogate the mul corner case fix.

--HG--
extra : convert_revision : 348aa081067728afa14dc5b609fc7e26dbc5fad5

17 years agoX86: Fix a corner case where mul would overwrite an original register value it still...
Gabe Black [Wed, 5 Sep 2007 06:22:08 +0000 (23:22 -0700)]
X86: Fix a corner case where mul would overwrite an original register value it still needed.

--HG--
extra : convert_revision : 86ee0e2bf716d52c34ee731727d6366935f103ed

17 years agoX86: Add in a file with floating point indexing which -should- have been in an earlie...
Gabe Black [Wed, 5 Sep 2007 06:21:41 +0000 (23:21 -0700)]
X86: Add in a file with floating point indexing which -should- have been in an earlier changeset.

--HG--
extra : convert_revision : bf05f81df5e5b1de1ecd8ab7a6ef751922418987

17 years agoSerialization: Fix unserialization of object pointers
Ali Saidi [Tue, 4 Sep 2007 17:12:58 +0000 (13:12 -0400)]
Serialization: Fix unserialization of object pointers

--HG--
extra : convert_revision : a5aed880b2fc05841067e8597a58a9484e30b84a

17 years agoConfig: Remove some ini file code that no longer works
Ali Saidi [Tue, 4 Sep 2007 17:12:58 +0000 (13:12 -0400)]
Config: Remove some ini file code that no longer works

--HG--
extra : convert_revision : cb01dc0abeabc97b03d7af10959d92ceb62ea936

17 years agoX86: Major rework of how regop microops are generated.
Gabe Black [Sat, 1 Sep 2007 05:28:07 +0000 (22:28 -0700)]
X86: Major rework of how regop microops are generated.
The new implementation uses metaclass, and gives a lot more precise control
with a lot less verbosity. The flags/no flags reg/imm variants are all handled
by the same python class now which supplies a constructor to the right C++
class based on context.

--HG--
extra : convert_revision : 712e3ec6de7a5a038da083f79635fd7a687d56e5

17 years agoMicroassembler: Pass the actual mnemonic used to the macroop add_micro function
Gabe Black [Sat, 1 Sep 2007 05:26:02 +0000 (22:26 -0700)]
Microassembler: Pass the actual mnemonic used to the macroop add_micro function

--HG--
extra : convert_revision : acaee747ab30747d602c1f4ac5f0c2b2573a2a9b

17 years agoX86: Get x86 to compile again after the simobject constructor change.
Gabe Black [Fri, 31 Aug 2007 20:02:58 +0000 (13:02 -0700)]
X86: Get x86 to compile again after the simobject constructor change.

--HG--
extra : convert_revision : 17a3e16e849bee88892223f0c993b19c15daa554

17 years agopython: Write configuration file without reassigning sys.stdout.
Miles Kaufmann [Thu, 30 Aug 2007 19:16:59 +0000 (15:16 -0400)]
python: Write configuration file without reassigning sys.stdout.

Using print >>ini_file syntax instead of reassigning sys.stdout
allows the python debugger to be used.

--HG--
extra : convert_revision : 63fc268f2e80f338ad1a7abe54b9e979e2239609

17 years agoFix miscellaneous small typos.
Miles Kaufmann [Thu, 30 Aug 2007 19:16:59 +0000 (15:16 -0400)]
Fix miscellaneous small typos.

--HG--
extra : convert_revision : bfc0ac8e1c8a5d01d9fa5203184bbf99c8361da3

17 years agodevices: Avoid using assert() to catch misconfiguration
Miles Kaufmann [Thu, 30 Aug 2007 19:16:59 +0000 (15:16 -0400)]
devices: Avoid using assert() to catch misconfiguration

--HG--
extra : convert_revision : 2c6710e01a4402793a2e0eafcc829df19d03dda3

17 years agoparams: Deprecate old-style constructors; update most SimObject constructors.
Miles Kaufmann [Thu, 30 Aug 2007 19:16:59 +0000 (15:16 -0400)]
params: Deprecate old-style constructors; update most SimObject constructors.

SimObjects not yet updated:
- Process and subclasses
- BaseCPU and subclasses

The SimObject(const std::string &name) constructor was removed.  Subclasses
that still rely on that behavior must call the parent initializer as
  : SimObject(makeParams(name))

--HG--
extra : convert_revision : d6faddde76e7c3361ebdbd0a7b372a40941c12ed

17 years agopython: Eliminate the Python use of eval() and frame manipulation
Miles Kaufmann [Thu, 30 Aug 2007 19:16:58 +0000 (15:16 -0400)]
python: Eliminate the Python use of eval() and frame manipulation

--HG--
extra : convert_revision : 04520bcfab510580a1c7fb341afbd2487287d1ab

17 years agoX86: Fix the sra microop to get the sign bit from the right operand.
Gabe Black [Thu, 30 Aug 2007 03:39:41 +0000 (20:39 -0700)]
X86: Fix the sra microop to get the sign bit from the right operand.

--HG--
extra : convert_revision : 71e58dd6dd6918ee403f2e332c47e29acdace464

17 years agoX86: Implement the movaps instruction.
Gabe Black [Thu, 30 Aug 2007 03:38:22 +0000 (20:38 -0700)]
X86: Implement the movaps instruction.

--HG--
extra : convert_revision : 2aeb1c05205f8ea8f7484e8bacf3fbbc581defd2

17 years agoX86: Implement the movsd instruction.
Gabe Black [Thu, 30 Aug 2007 03:37:44 +0000 (20:37 -0700)]
X86: Implement the movsd instruction.

--HG--
extra : convert_revision : a5a73e0ddd39144d2aeeb9cc6a299516752fd4c2

17 years agoX86: Implement the movlpd instruction.
Gabe Black [Thu, 30 Aug 2007 03:37:16 +0000 (20:37 -0700)]
X86: Implement the movlpd instruction.

--HG--
extra : convert_revision : dddb20fe48c0ae9de7cd0ba1a1467ecb690056c1

17 years agoX86: Add an fp move microop.
Gabe Black [Thu, 30 Aug 2007 03:36:44 +0000 (20:36 -0700)]
X86: Add an fp move microop.

--HG--
extra : convert_revision : a9d6d3568cd2c6a65df91bf56ee1e43523f04630

17 years agoX86: Add load and store microops that use the fp registers.
Gabe Black [Thu, 30 Aug 2007 03:36:12 +0000 (20:36 -0700)]
X86: Add load and store microops that use the fp registers.

--HG--
extra : convert_revision : 153a055e888d8c47d59758a599dbd38f63008137

17 years agoX86: Add operands to handle floating point registers.
Gabe Black [Thu, 30 Aug 2007 03:35:30 +0000 (20:35 -0700)]
X86: Add operands to handle floating point registers.

--HG--
extra : convert_revision : 2e8289dbd3f5dda1221014d4ed0e9450f60de0cf

17 years agoX86: Flesh out register indexing constants.
Gabe Black [Thu, 30 Aug 2007 03:34:52 +0000 (20:34 -0700)]
X86: Flesh out register indexing constants.

--HG--
extra : convert_revision : 56eedc076bbb7962c3976599a15ed93c7cb154c0

17 years agoX86: Make the fp accessors not panic.
Gabe Black [Thu, 30 Aug 2007 03:34:00 +0000 (20:34 -0700)]
X86: Make the fp accessors not panic.

--HG--
extra : convert_revision : c6d08863049a3f8755c53e1f49ce19ad6a2dedc7

17 years agoX86: Make x86 syscall return just stuff the return value in eax.
Gabe Black [Thu, 30 Aug 2007 03:29:18 +0000 (20:29 -0700)]
X86: Make x86 syscall return just stuff the return value in eax.

--HG--
extra : convert_revision : 800d8a2398d5750c03c642264577c9c772684266

17 years agoX86: More two byte opcode decoding. I missed two groups in the last changeset.
Gabe Black [Wed, 29 Aug 2007 02:36:51 +0000 (19:36 -0700)]
X86: More two byte opcode decoding. I missed two groups in the last changeset.

--HG--
extra : convert_revision : 1a2813b2e7d3e0e02c8f1474f372de5cf16e7d7b

17 years agoX86: Hook in an implementation for lseek.
Gabe Black [Wed, 29 Aug 2007 00:34:15 +0000 (17:34 -0700)]
X86: Hook in an implementation for lseek.

--HG--
extra : convert_revision : d2424e73fa8ce56248c4edbda9db2714c4b0a92e

17 years agoX86: More fully decode two byte opcodes.
Gabe Black [Wed, 29 Aug 2007 00:18:13 +0000 (17:18 -0700)]
X86: More fully decode two byte opcodes.
This includes the most of the SSE stuff, but not some of the "groups" of
instructions.

--HG--
extra : convert_revision : 4725c34f3d73971ae1763611685c5877b6c51412

17 years agoAddress translation: De-templatize the GenericTLB class.
Gabe Black [Tue, 28 Aug 2007 21:30:50 +0000 (14:30 -0700)]
Address translation: De-templatize the GenericTLB class.

--HG--
extra : convert_revision : b605a90a4a1071e39f49085a839fdcd175e09fdb

17 years agoMerge with head.
Gabe Black [Tue, 28 Aug 2007 01:33:47 +0000 (18:33 -0700)]
Merge with head.

--HG--
extra : convert_revision : 581e123b969fc3df30819affe524f484d03bab89

17 years agoSPARC: Update the statistics for the SPARC gzip benchmark in o3.
Gabe Black [Tue, 28 Aug 2007 01:31:36 +0000 (18:31 -0700)]
SPARC: Update the statistics for the SPARC gzip benchmark in o3.

--HG--
extra : convert_revision : fd4709351b929e6a9e13dd27c17188616e4d86bb

17 years agoAddress Translation: Make the Generic TLB only compile in SE mode.
Gabe Black [Tue, 28 Aug 2007 01:30:58 +0000 (18:30 -0700)]
Address Translation: Make the Generic TLB only compile in SE mode.

--HG--
extra : convert_revision : 7eb9a78480174f754f51f75983ee5a1b31280bd3

17 years agoAlpha: Fixes to get alpha to compile again.
Gabe Black [Tue, 28 Aug 2007 01:30:02 +0000 (18:30 -0700)]
Alpha: Fixes to get alpha to compile again.

--HG--
extra : convert_revision : 9541cf6dae1fb1a1c6025898692b2e04fcf55c6d

17 years agoMIPS: Fixes to get mips to compile.
Gabe Black [Tue, 28 Aug 2007 01:29:15 +0000 (18:29 -0700)]
MIPS: Fixes to get mips to compile.

--HG--
extra : convert_revision : 23561eda853a51046ae56c23a88466230c3e83f2

17 years agoSPARC: Fixes to get SPARC to compile again.
Gabe Black [Tue, 28 Aug 2007 01:26:36 +0000 (18:26 -0700)]
SPARC: Fixes to get SPARC to compile again.

--HG--
extra : convert_revision : dab20c49fec9c2d385ca59b9ab627c2d3dddfe76

17 years agoMerge with head
Gabe Black [Mon, 27 Aug 2007 04:45:40 +0000 (21:45 -0700)]
Merge with head

--HG--
extra : convert_revision : cc73b9aaf73e9dacf52f3350fa591e67ca4ccee6

17 years agoX86: Make the Ruflag microop work correctly, and make the code a little clearer.
Gabe Black [Mon, 27 Aug 2007 03:41:36 +0000 (20:41 -0700)]
X86: Make the Ruflag microop work correctly, and make the code a little clearer.

--HG--
extra : convert_revision : c551f51cdda46df99370363ed2d70916db8413eb

17 years agoX86: Return values for some cpuid functions that match what my development machine...
Gabe Black [Mon, 27 Aug 2007 03:40:42 +0000 (20:40 -0700)]
X86: Return values for some cpuid functions that match what my development machine returns.

--HG--
extra : convert_revision : e6619da11f43bbe025ceabd06387dd24e1cd883b

17 years agoX86: Make the microassembler accept lines which are just labels.
Gabe Black [Mon, 27 Aug 2007 03:39:55 +0000 (20:39 -0700)]
X86: Make the microassembler accept lines which are just labels.
The labels on these lines will be associated with whatever the next microop
is.

--HG--
extra : convert_revision : 80c260e48ec1c16e6325061608e37c95a0610cfa

17 years agoX86: Make cpuid actually consider the eax parameter and return different values.
Gabe Black [Mon, 27 Aug 2007 03:38:42 +0000 (20:38 -0700)]
X86: Make cpuid actually consider the eax parameter and return different values.

--HG--
extra : convert_revision : 527c1cacdd20ab162859bba7f9a6bed33afa2d4f

17 years agoX86: Fix the sign extension microop so it extends zeros correctly.
Gabe Black [Mon, 27 Aug 2007 03:37:41 +0000 (20:37 -0700)]
X86: Fix the sign extension microop so it extends zeros correctly.

--HG--
extra : convert_revision : 9d7ca286ba7709175fa75226320601acce4ced98

17 years agoX86: Implement cmps (string compare)
Gabe Black [Mon, 27 Aug 2007 03:36:46 +0000 (20:36 -0700)]
X86: Implement cmps (string compare)

--HG--
extra : convert_revision : 0d6b783b2246b8ad8d91e4c63e407307ee11c651

17 years agoX86: Make shift instructions set some of the flags they're supposed to.
Gabe Black [Mon, 27 Aug 2007 03:35:48 +0000 (20:35 -0700)]
X86: Make shift instructions set some of the flags they're supposed to.
The flag mechanism for microops needs to be fleshd out a little more to allow
for custom flag calculation methods for certain microops. Shift is an example
where the rules for calculating OF and CF are unique.

--HG--
extra : convert_revision : 91981a00c1efd05db702fffa9cea51f912583013

17 years agoAddress translation: Make the page table more flexible.
Gabe Black [Mon, 27 Aug 2007 03:33:57 +0000 (20:33 -0700)]
Address translation: Make the page table more flexible.
The page table now stores actual page table entries. It is still a templated
class here, but this will be corrected in the near future.

--HG--
extra : convert_revision : 804dcc6320414c2b3ab76a74a15295bd24e1d13d

17 years agoO3 CPU: Remove alignment check from dynamic instruction read/write functions.
Gabe Black [Mon, 27 Aug 2007 03:31:30 +0000 (20:31 -0700)]
O3 CPU: Remove alignment check from dynamic instruction read/write functions.

--HG--
extra : convert_revision : e5d415b4bf79353ef3c9f4dc5af09ab4102c55fb

17 years agoX86: Remove x86 code that attempted to fix misaligned accesses.
Gabe Black [Mon, 27 Aug 2007 03:30:36 +0000 (20:30 -0700)]
X86: Remove x86 code that attempted to fix misaligned accesses.

--HG--
extra : convert_revision : 42f68010e6498aceb7ed25da278093e99150e4df

17 years agoSimple CPU: Don't trace instructions that fault. Otherwise they show up twice.
Gabe Black [Mon, 27 Aug 2007 03:29:09 +0000 (20:29 -0700)]
Simple CPU: Don't trace instructions that fault. Otherwise they show up twice.

--HG--
extra : convert_revision : 4446d9544d58bdadbd24d8322bb63016a32aa2b8

17 years agoStats: Update the stats.
Gabe Black [Mon, 27 Aug 2007 03:27:53 +0000 (20:27 -0700)]
Stats: Update the stats.

--HG--
extra : convert_revision : 888b6e3bcd432a9318d4b8741a8b274c6f37f1a8

17 years agoSimple CPU: Added code that will split requests that cross block boundaries into...
Gabe Black [Mon, 27 Aug 2007 03:27:11 +0000 (20:27 -0700)]
Simple CPU: Added code that will split requests that cross block boundaries into multiple memory access.

--HG--
extra : convert_revision : 600f79f32ef30a6e1db951503bcfe8cd332858d1

17 years agoSimple CPU: Make sure only instructions which complete without faulting are counted.
Gabe Black [Mon, 27 Aug 2007 03:25:42 +0000 (20:25 -0700)]
Simple CPU: Make sure only instructions which complete without faulting are counted.

--HG--
extra : convert_revision : 01019c7129ed762d8826c3e6519989aa3fc3b5fd