gem5.git
16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 years agoAddress Translation: Make SE mode use an actual TLB/MMU for translation like FS.
Gabe Black [Mon, 27 Aug 2007 03:24:18 +0000 (20:24 -0700)]
Address Translation: Make SE mode use an actual TLB/MMU for translation like FS.

--HG--
extra : convert_revision : a04a30df0b6246e877a1cea35420dbac94b506b1

16 years agoSPARC: Make sure unaligned access are caught on cached translations as well.
Gabe Black [Mon, 27 Aug 2007 03:15:29 +0000 (20:15 -0700)]
SPARC: Make sure unaligned access are caught on cached translations as well.

--HG--
extra : convert_revision : 5c1f3f585817a19a771164f809dfc2fdc1ab3fb2

16 years agoIGbE: Some fixes to the intel nic model.
Ali Saidi [Sat, 25 Aug 2007 05:38:01 +0000 (01:38 -0400)]
IGbE: Some fixes to the intel nic model.

--HG--
extra : convert_revision : 1c1275a9fb99966398b3add09da04bd53399ed2b

16 years agoMem: Make errors in the memory system be responses, not requests. Fixes cache handlin...
Ali Saidi [Fri, 24 Aug 2007 20:39:24 +0000 (16:39 -0400)]
Mem: Make errors in the memory system be responses, not requests. Fixes cache handling of error responses.

--HG--
extra : convert_revision : 22309fc61bd1be0f8d31a3926f290290789a37e5

16 years agoMerge with head.
Gabe Black [Tue, 21 Aug 2007 23:19:46 +0000 (16:19 -0700)]
Merge with head.

--HG--
extra : convert_revision : 9ef81afcfabd86c9c069204998c987344f03f33e

16 years agoo3: Fix for retry ID bug.
Kevin Lim [Tue, 21 Aug 2007 23:16:56 +0000 (16:16 -0700)]
o3: Fix for retry ID bug.
It should be cleared prior to the call to recvRetry.
Add extra DPRINTF statement for clearer debugging output.

--HG--
extra : convert_revision : e2332754743f42d60e159ac89f6fb0fd8b7f57f8

16 years agostyle: fix style hook when run from a repo subdir.
Nathan Binkert [Tue, 21 Aug 2007 23:15:14 +0000 (16:15 -0700)]
style: fix style hook when run from a repo subdir.
Before this fix, the style hook would blow up when you did a qrefresh to add
a new file, but executed the qrefresh from a repository sub directory.

--HG--
extra : convert_revision : 851b0421dfa5c5b23d0f49441c4ba2e0ac579c5d

16 years agoMerge with head.
Gabe Black [Sun, 19 Aug 2007 02:41:08 +0000 (19:41 -0700)]
Merge with head.

--HG--
extra : convert_revision : 6ce77b5bd4f43ddecd51ea8c66759e4b70d4ad82

16 years agoPorts: Only try to do EthPort stuff in full system.
Ali Saidi [Fri, 17 Aug 2007 08:20:02 +0000 (04:20 -0400)]
Ports: Only try to do EthPort stuff in full system.

--HG--
extra : convert_revision : 9ea093ea7c9ab22f8467c5cd5d55b66c71eb3427

16 years agoPCI: Move PCI Configuration data into devices now that we can inherit parameters.
Ali Saidi [Thu, 16 Aug 2007 20:49:05 +0000 (16:49 -0400)]
PCI: Move PCI Configuration data into devices now that we can inherit parameters.

--HG--
extra : convert_revision : bd2214b28fb46a9a9e9e204e0539be33acb548ad

16 years agoDevices: Make EtherInts connect in the same way memory ports currently do.
Ali Saidi [Thu, 16 Aug 2007 20:49:02 +0000 (16:49 -0400)]
Devices: Make EtherInts connect in the same way memory ports currently do.

--HG--
extra : convert_revision : 765b096785a77df9adc4791c9101b90696bd7be2

16 years agostyle: Don't try to fix files that should be ignored.
Nathan Binkert [Wed, 15 Aug 2007 01:21:23 +0000 (18:21 -0700)]
style: Don't try to fix files that should be ignored.
The style hook was ignoring new files, but processing all modified
files.

--HG--
extra : convert_revision : 97400c24a12103d7ac3d4f69b026853816c39d72

16 years agoMerge with head.
Gabe Black [Tue, 14 Aug 2007 23:12:11 +0000 (16:12 -0700)]
Merge with head.

--HG--
extra : convert_revision : e02b606752bf1305d3609051b42a9adba009b7df

16 years agoRegression: Update EIO simple-timing test for new cache.
Ali Saidi [Tue, 14 Aug 2007 18:02:22 +0000 (14:02 -0400)]
Regression: Update EIO simple-timing test for new cache.

--HG--
extra : convert_revision : b64f407f7735706b1162f6a0e7676590bda3ba5d

16 years agoRegression: Update insttest regressions for new cache.
Ali Saidi [Tue, 14 Aug 2007 04:16:08 +0000 (00:16 -0400)]
Regression: Update insttest regressions for new cache.

--HG--
extra : convert_revision : 100478b2ae00d9d3464c41d940276843a226422f

16 years agoRegression: Use test-progs in /dist instead of tests/test-progs since they all aren...
Ali Saidi [Tue, 14 Aug 2007 04:14:03 +0000 (00:14 -0400)]
Regression: Use test-progs in /dist instead of tests/test-progs since they all aren't there.

--HG--
extra : convert_revision : 558b970f522f95e3492b7225f227c96cd5e003c3

16 years agofixup bad hand merge
Ali Saidi [Tue, 14 Aug 2007 03:45:07 +0000 (23:45 -0400)]
fixup bad hand merge

--HG--
extra : convert_revision : 71db222856a811f2724bbc9bbe4069c1f61754ed

16 years agoMerge IGNORE_STYLE change and my change.
Ali Saidi [Tue, 14 Aug 2007 03:44:26 +0000 (23:44 -0400)]
Merge IGNORE_STYLE change and my change.

--HG--
extra : convert_revision : 13880ec6df17b0317d4097243bb24add753a098a

16 years agoRegression: See if using subprocess instead of os.system and erroring immediately...
Ali Saidi [Tue, 14 Aug 2007 03:40:43 +0000 (23:40 -0400)]
Regression: See if using subprocess instead of os.system and erroring immediately will stop regression randomly hanging.

--HG--
extra : convert_revision : a663ae935edd1b6e8f0bb5b08583a5b9761d0939

16 years agoSPARC: Make nops have the IsNop flag set.
Gabe Black [Mon, 13 Aug 2007 23:11:27 +0000 (16:11 -0700)]
SPARC: Make nops have the IsNop flag set.
In O3, a nop is used to carry faults down the pipeline that didn't originate
from an instruction. If the instruction doesn't do anything, that is just
returns NoFault, but doesn't have IsNop set, the NoFault will overwrite the
fault that's being sent down and nothing will happen.

--HG--
extra : convert_revision : 54d99002b550ca0e1cf14603f588dc1038e3e535

16 years agoO3: Set up the predicted npc and nnpc for a fault carrying noop so that it doesn...
Gabe Black [Mon, 13 Aug 2007 23:08:58 +0000 (16:08 -0700)]
O3: Set up the predicted npc and nnpc for a fault carrying noop so that it doesn't cause a false branch mispredict.

--HG--
extra : convert_revision : 2820597cc966cd7b128cef0dab48fe05089533d7

16 years agoSPARC: Move tlb state into the tlb.
Gabe Black [Mon, 13 Aug 2007 23:06:50 +0000 (16:06 -0700)]
SPARC: Move tlb state into the tlb.
Each "strand" may need to have a private copy of this state, but I couldn't
find anywhere in the spec that said that after looking briefly.
This prevents writes to the thread context in o3 which was causing the
pipeline to be flushed and stopping any forward progress. The other ASI
accessible state will probably need to be accessed differently if/when we get
O3 full system up and running.

--HG--
extra : convert_revision : fa7fba812d7f76564ef4a23818e60f536710d557

16 years agoSPARC: Make the spill and fill handlers use the correct ASI, and let No_Fault ASI...
Gabe Black [Mon, 13 Aug 2007 23:02:47 +0000 (16:02 -0700)]
SPARC: Make the spill and fill handlers use the correct ASI, and let No_Fault ASI accesses work.

--HG--
extra : convert_revision : 3321bb91da02c1bec27fa34d0ba945cc976b6491

16 years agoMove the "translate" member functions back into the base o3 class.
Gabe Black [Mon, 13 Aug 2007 23:01:09 +0000 (16:01 -0700)]
Move the "translate" member functions back into the base o3 class.

--HG--
extra : convert_revision : 3c480537bf38f74f0f1d72e75c70aa46ba91b759

16 years agopython: make the DictImporter's unload() work in any context.
Nathan Binkert [Mon, 13 Aug 2007 20:39:22 +0000 (13:39 -0700)]
python: make the DictImporter's unload() work in any context.
import sys since sys may not be defined in whatever context the DictImporter
is used.  Also reset self.installed after an unload since the same DictImporter
could be used again

--HG--
extra : convert_revision : 988ed7ad8cd41b69e8fc583e618b1b4a146216da

16 years agoStyle: fix IGNORE_STYLE so it isn't required on the command line.
Ali Saidi [Mon, 13 Aug 2007 02:44:14 +0000 (22:44 -0400)]
Style: fix IGNORE_STYLE so it isn't required on the command line.

--HG--
extra : convert_revision : 42ff16a2ae0316cc4b70ade961a50d5d4a5eb950

16 years agoRegression: fix configuration for SPARC_FS
Ali Saidi [Sun, 12 Aug 2007 23:44:04 +0000 (19:44 -0400)]
Regression: fix configuration for SPARC_FS

--HG--
extra : convert_revision : 88aa9649cc1b4d8165616e98880d3d6cd2a75762

16 years agoRegression: Update stats for cache changes.
Ali Saidi [Sun, 12 Aug 2007 23:43:55 +0000 (19:43 -0400)]
Regression: Update stats for cache changes.

--HG--
extra : convert_revision : 005672e722dec00cb4c38501b5189b4eb7515ca1

16 years agoMemorySystem: Fix the use of ?: to produce correct results.
Ali Saidi [Sun, 12 Aug 2007 23:43:54 +0000 (19:43 -0400)]
MemorySystem: Fix the use of ?: to produce correct results.

--HG--
extra : convert_revision : 31aad7170b35556a4c984f4ebc013137d55d85eb

16 years agomerge
Nathan Binkert [Sun, 12 Aug 2007 16:56:37 +0000 (09:56 -0700)]
merge

--HG--
extra : convert_revision : 5866eaa4008c4fa5da7fbb443132b8326955f71d

16 years agostyle: If IGNORE_STYLE=True is set on the scons command line, ignore style.
Nathan Binkert [Sun, 12 Aug 2007 16:56:05 +0000 (09:56 -0700)]
style: If IGNORE_STYLE=True is set on the scons command line, ignore style.
Use this in the regress script to avoid issues with the checker.

--HG--
extra : convert_revision : 562b6a6d73dc46e412d00ba2588af2793335274e

16 years agoAdded fastmem option.
Vincentius Robby [Wed, 8 Aug 2007 22:43:12 +0000 (18:43 -0400)]
Added fastmem option.
Lets CPU accesses to physical memory bypass Bus.

--HG--
extra : convert_revision : e56e3879de47ee10951a19bfcd8b62b6acdfb30c

16 years agoalpha: Quick fix for things related to TLB MRU cache.
Vincentius Robby [Wed, 8 Aug 2007 22:38:19 +0000 (18:38 -0400)]
alpha: Quick fix for things related to TLB MRU cache.
simple-timing test for ALPHA_FS breaks.

--HG--
extra : convert_revision : 5a1b05cddd480849913da81a3b3931fec16485a8

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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