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
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
Gabe Black [Sun, 29 Jul 2007 08:28:36 +0000 (01:28 -0700)]
X86: Fix register ordering.
The correct order is unintuitively rax, rcx, rdx, rbx, etc, not rax, rbx, rcx, rdx.
--HG--
extra : convert_revision :
3abe6a723a6e30becfe34f8da707ea2ff5d4df77
Gabe Black [Sun, 29 Jul 2007 08:27:34 +0000 (01:27 -0700)]
X86: return -return_value.value() on failure.
--HG--
extra : convert_revision :
d8e1486ff075b2917be62a0008f83fd6c9e4c09a
Gabe Black [Sun, 29 Jul 2007 08:26:47 +0000 (01:26 -0700)]
X86: Fix popa and push with the stack pointer.
POPA used st instead of ld, and it didn't skip rsp. push rsp needs to store the -original- value of the stack pointer.
--HG--
extra : convert_revision :
376370c99b6ab60fb2bc4cd4f0a6dce71153ad06
Gabe Black [Sun, 29 Jul 2007 08:24:57 +0000 (01:24 -0700)]
X86: Fix a bug with merge
Merge was returning the value to merge in, not the actual result of the merge.
--HG--
extra : convert_revision :
230b4b5064037d099ae7859edabdf5be84603849
Nathan Binkert [Sun, 29 Jul 2007 04:57:24 +0000 (21:57 -0700)]
merge: style.py fix
--HG--
extra : convert_revision :
2bb456f292a862e1615c370c1d14a3f709860c38
Nathan Binkert [Sun, 29 Jul 2007 04:56:43 +0000 (21:56 -0700)]
Work around a mercurial bug in bdiff.blocks
--HG--
extra : convert_revision :
597503431883a24f68744bf0dce77356a32d7ff7
Gabe Black [Sun, 29 Jul 2007 04:18:53 +0000 (21:18 -0700)]
X86: Fix a comment and adjust the stack base address.
The stack base on my development machine starts one page below where it needs to. I don't know why it does, but I've duplicated it in m5.
--HG--
extra : convert_revision :
c4783ba885b90f17e843f61e07af0bc3330a74bc
Gabe Black [Sun, 29 Jul 2007 04:04:45 +0000 (21:04 -0700)]
Merge with head.
--HG--
extra : convert_revision :
3c1ff2585c9b20649792344b4180f6d82cef9c1b
Gabe Black [Sun, 29 Jul 2007 03:36:35 +0000 (20:36 -0700)]
Statetrace: Implement the AMD64 version of TraceChild.
--HG--
extra : convert_revision :
cde33fefe46dc05e9b4ea785a4df6b78ac57ccd5
Gabe Black [Sun, 29 Jul 2007 03:35:33 +0000 (20:35 -0700)]
Statetrace: Fix indendation. Set the default hostname to "localhost" instead of my machine at UM.
--HG--
extra : convert_revision :
f268c04e39fd384e0ac17253faae2233b58e9373
Gabe Black [Sun, 29 Jul 2007 03:34:17 +0000 (20:34 -0700)]
Statetrace: Fix compilation problem.
--HG--
extra : convert_revision :
7f501de99e5389dc3a4172654d7cbe32ed811259
Gabe Black [Sun, 29 Jul 2007 03:33:42 +0000 (20:33 -0700)]
X86: Fix up auxiliary vectors.
The type constants should go into an architecture independent spot since they are universal to all Linux elf binaries. The right value for some of the vectors needs to be determined. Also, x86 does not store argc or argv_array_base in registers like some other architectures.
--HG--
extra : convert_revision :
8d3f6a3e028d881d3c41e8ddf4f29d25738b529c
Gabe Black [Sun, 29 Jul 2007 03:30:43 +0000 (20:30 -0700)]
Turn the instruction tracing code into pluggable sim objects.
These need to be refined a little still and given parameters.
--HG--
extra : convert_revision :
9a8f5a7bd9dacbebbbd2c235cd890c49a81040d7
Steve Reinhardt [Sun, 29 Jul 2007 01:00:05 +0000 (18:00 -0700)]
AtomicSimpleCPU: fix inadvertent loss of endian conversion on read.
--HG--
extra : convert_revision :
367bf2431bf4f4eb7c4d5723816e5db6f7233aed
Nathan Binkert [Sun, 29 Jul 2007 00:18:18 +0000 (17:18 -0700)]
style: fix whitespace problems
--HG--
extra : convert_revision :
198d5da436c61384ab2d7a4c8f5124d2440a1034
Nathan Binkert [Sun, 29 Jul 2007 00:17:30 +0000 (17:17 -0700)]
merge whitespace fixes
--HG--
extra : convert_revision :
523dc97eb8fe5de3bbe49ba69b0f17ffbd7fa05a
Nathan Binkert [Sun, 29 Jul 2007 00:17:04 +0000 (17:17 -0700)]
style: bad whitespace
--HG--
extra : convert_revision :
3af834e0a8c9656e0332960c085d9152dd5c3092
Nathan Binkert [Sun, 29 Jul 2007 00:06:32 +0000 (17:06 -0700)]
merge whitespace changes
--HG--
extra : convert_revision :
20e8aa51935dc23ac3c7e6da2cb7a4e62c9a3a7c
Nathan Binkert [Sat, 28 Jul 2007 23:55:51 +0000 (16:55 -0700)]
style: fix stupid bugs
--HG--
extra : convert_revision :
ef3dcc3a160eb19a6c4fcdcd411d392aa42e4efe
Nathan Binkert [Sat, 28 Jul 2007 23:49:20 +0000 (16:49 -0700)]
style: Check/Fix whitespace on SCons files
--HG--
extra : convert_revision :
46e6b2dd8e1984cbab0ea24c94760794734c0f95
Steve Reinhardt [Fri, 27 Jul 2007 19:46:55 +0000 (12:46 -0700)]
packet: get rid of unused intersect() function.
--HG--
extra : convert_revision :
f0a2947ccc49e0d18bc17a59371fa396d9ebd6c0
Steve Reinhardt [Fri, 27 Jul 2007 19:46:45 +0000 (12:46 -0700)]
cache/memtest: fixes for functional accesses.
--HG--
extra : convert_revision :
688ba4d882cad2c96cf44c9e46999f74266e02ee
Steve Reinhardt [Fri, 27 Jul 2007 07:51:15 +0000 (03:51 -0400)]
cache: Get rid of unused variable.
--HG--
extra : convert_revision :
394adc12fbd7ea10280a1b8d6bc3cb15ee019f27
Nathan Binkert [Fri, 27 Jul 2007 06:15:49 +0000 (23:15 -0700)]
Merge python and x86 changes with cache branch
--HG--
extra : convert_revision :
e06a950964286604274fba81dcca362d75847233
Nathan Binkert [Fri, 27 Jul 2007 05:45:33 +0000 (22:45 -0700)]
scons: make things work when EXTRAS is not defined.
--HG--
extra : convert_revision :
83562b55ec099e609c64cd42eb47a8481e4e85e7
Gabe Black [Fri, 27 Jul 2007 05:13:48 +0000 (22:13 -0700)]
Merge with head.
--HG--
extra : convert_revision :
e4be9d5f2ce8e3252958e2c5e03710b0bf9755c7
Gabe Black [Fri, 27 Jul 2007 05:13:14 +0000 (22:13 -0700)]
X86: Fix argument register indexing.
Code was assuming that all argument registers followed in order from ArgumentReg0. There is now an ArgumentReg array which is indexed to find the right index. There is a constant, NumArgumentRegs, which can be used to protect against using an invalid ArgumentReg.
--HG--
extra : convert_revision :
f448a3ca4d6adc3fc3323562870f70eec05a8a1f
Gabe Black [Fri, 27 Jul 2007 05:10:59 +0000 (22:10 -0700)]
X86: Hook in shift and rotate by one instructions, and NOT.
--HG--
extra : convert_revision :
b3ab74e09f5cd02671cc6425c8cb8638bd58cbee
Gabe Black [Fri, 27 Jul 2007 05:10:21 +0000 (22:10 -0700)]
X86: Fix pc relative versions of add and subtract.
--HG--
extra : convert_revision :
c7e578aae8d36aa5d279fc27d6d7d28ed0a54181
Gabe Black [Fri, 27 Jul 2007 05:09:41 +0000 (22:09 -0700)]
X86: Implement rotate-by-one instructions, and make register rotates use registers.
--HG--
extra : convert_revision :
701691951688ecefdc6450d31076b45e9af15324
Gabe Black [Fri, 27 Jul 2007 05:09:24 +0000 (22:09 -0700)]
X86: Implement shift-by-one instructions, and make register shifts use registers.
--HG--
extra : convert_revision :
ce4af3e56b45821e0a8b27f288b532d2f9dd3336
Gabe Black [Fri, 27 Jul 2007 05:08:35 +0000 (22:08 -0700)]
X86: Add functions to read and write to an exec context.
These functions take care of calling the thread contexts read and write functions with the right sized data type, and handle unaligned accesses.
--HG--
extra : convert_revision :
b4b59ab2b22559333035185946bae3eab316c879
Gabe Black [Fri, 27 Jul 2007 05:06:30 +0000 (22:06 -0700)]
X86: Fix carry calculation for subtraction based microops.
The carry flag should be calculated using the -complement- of the second operand, not it's negation. The carry in which is part of computing the 2's complement may induce a carry, but if you've already caused the carry before you get the carry computing logic involved, it will miss it.
--HG--
extra : convert_revision :
318cf86929664fc52ed9e023606a9e892eba635c
Gabe Black [Fri, 27 Jul 2007 05:04:33 +0000 (22:04 -0700)]
Add functions for mmap and brk.
--HG--
extra : convert_revision :
3d0340a2aae87b3462d6562b34ac7e02c685c1ef
Gabe Black [Fri, 27 Jul 2007 05:03:19 +0000 (22:03 -0700)]
Implement NOT
--HG--
extra : convert_revision :
09cbed6332224d06644d401f21178eb7914993df
Steve Reinhardt [Fri, 27 Jul 2007 00:04:17 +0000 (17:04 -0700)]
Have owner respond to UpgradeReq to avoid race.
--HG--
extra : convert_revision :
30916fca6978c73d8a14558f2d7288c1eab54ad4
Steve Reinhardt [Fri, 27 Jul 2007 00:04:17 +0000 (17:04 -0700)]
Add downward express snoops for invalidations.
--HG--
extra : convert_revision :
4916fa9721d727d8416ad8c07df3a8171d02b2b4
Steve Reinhardt [Fri, 27 Jul 2007 00:04:16 +0000 (17:04 -0700)]
Continue snooping after a writeback is encountered.
--HG--
extra : convert_revision :
8411338a6c0fdd7072dd32bdffacdace62d5de90
Steve Reinhardt [Fri, 27 Jul 2007 00:04:12 +0000 (17:04 -0700)]
bus: Fix default port handling.
--HG--
extra : convert_revision :
121b6e31cddff17c51fc4f3df20e7e2bde87d04f
Nathan Binkert [Thu, 26 Jul 2007 01:21:11 +0000 (18:21 -0700)]
Add a new SCons option called EXTRAS that allows you to include stuff in
the build process that is outside of the main M5 tree.
--HG--
extra : convert_revision :
6edc4fbc58240f83b59c7b5707c0390cdb85d9ec
Steve Reinhardt [Wed, 25 Jul 2007 14:47:37 +0000 (07:47 -0700)]
Can't block on memInhibit packets
(now that bus no longer filters them for us).
--HG--
extra : convert_revision :
34e7eaf5ee1e739f5557a2d417e569ed2ceb14b3
Steve Reinhardt [Wed, 25 Jul 2007 05:37:41 +0000 (22:37 -0700)]
Integrate snoop loop functions into their respective call sites.
Also some additional cleanup of Bus::recvTiming().
--HG--
extra : convert_revision :
156814119f75d04c2e954aec2d7ed6fdc186c26f
Steve Reinhardt [Wed, 25 Jul 2007 05:36:10 +0000 (22:36 -0700)]
Don't delete request at target... requester still needs it.
--HG--
extra : convert_revision :
76377ca2e4d7ea70d1d54d325a63ce710e260b93
Gabe Black [Tue, 24 Jul 2007 22:48:40 +0000 (15:48 -0700)]
Merge with head.
--HG--
extra : convert_revision :
4a34b3f91c4fc90055596245ae3efec45ea33888
Gabe Black [Tue, 24 Jul 2007 22:43:38 +0000 (15:43 -0700)]
Hook in a bunch of new instructions, fix a few minor bugs, and expand out one of the prefix multiplexed opcode groups.
--HG--
extra : convert_revision :
b5afd54a180a8fbdf9a892b1a2316fcf0d11afc6
Gabe Black [Tue, 24 Jul 2007 22:42:11 +0000 (15:42 -0700)]
Add a tgt_iovec structure to support writev, change the name of X86Linux to X86Linux64, add some syscalls.
--HG--
extra : convert_revision :
9c13e9c68f331fe6c4a9abd96f7aee0f064101fc
Gabe Black [Tue, 24 Jul 2007 22:37:16 +0000 (15:37 -0700)]
Add a special case for "test" which needs an immediate even though everything else with it's opcode doesn't.
Also made some spacing consistent.
--HG--
extra : convert_revision :
72a317f29c11705782e19840bef24354214d3143
Gabe Black [Tue, 24 Jul 2007 22:19:02 +0000 (15:19 -0700)]
The groups of instructions hanging off opcode 71h, 72h, and 73h all need a byte immediate
--HG--
extra : convert_revision :
9559047adfec1490c2d40065442a579549624fcc
Gabe Black [Tue, 24 Jul 2007 22:10:53 +0000 (15:10 -0700)]
Make the shift and rotate microops mask the shift/rotate amount correctly.
--HG--
extra : convert_revision :
31c5d3fa8ef0d37494d0e35cef31be6056d5d93f
Gabe Black [Tue, 24 Jul 2007 22:10:20 +0000 (15:10 -0700)]
Fix immediate shifts. Implement register shifts.
--HG--
extra : convert_revision :
0b83422ad3c190021e46cada07e64d8d57d29859
Gabe Black [Tue, 24 Jul 2007 22:08:56 +0000 (15:08 -0700)]
Fix immediate rotates and add register ones.
--HG--
extra : convert_revision :
a6b9cee59019ea0f906c8a8e76eeb2cd73093671
Gabe Black [Tue, 24 Jul 2007 22:08:09 +0000 (15:08 -0700)]
Clean out part of an old comment.
--HG--
extra : convert_revision :
6a6b2a06576ebe7383f7ce0e4e9f96bc96b84b56
Gabe Black [Tue, 24 Jul 2007 22:07:35 +0000 (15:07 -0700)]
Implement cmov.
--HG--
extra : convert_revision :
2e92623b53c1fe8b4da3fef3486c0dcd8d5ef9f5
Gabe Black [Tue, 24 Jul 2007 22:07:03 +0000 (15:07 -0700)]
Implement cdqe and cqo, which are also called cbw and cwde, and cwd and cdq respectively, depending on the operand size.
--HG--
extra : convert_revision :
67ac035c68608d7260c21ce32009b344f3834e46
Gabe Black [Tue, 24 Jul 2007 22:05:17 +0000 (15:05 -0700)]
Implement setcc.
--HG--
extra : convert_revision :
7a47b9971fe9e4ac638b275fb56fdcba08c2d671
Gabe Black [Tue, 24 Jul 2007 22:04:53 +0000 (15:04 -0700)]
Get rid of an old comment.
--HG--
extra : convert_revision :
1b86a7f60489bc65a03919b27afd4dfbe4e09bba
Gabe Black [Tue, 24 Jul 2007 22:03:43 +0000 (15:03 -0700)]
Get rid of an old comment
--HG--
extra : convert_revision :
4d626721ad54af9cbf5b0c07a3a6e8a05e4e9ab5
Steve Reinhardt [Tue, 24 Jul 2007 05:28:40 +0000 (22:28 -0700)]
A couple more minor bug fixes for multilevel coherence.
--HG--
extra : convert_revision :
370f9e34911157765be6fd49e826fa1af589b466
Nathan Binkert [Tue, 24 Jul 2007 04:51:38 +0000 (21:51 -0700)]
Major changes to how SimObjects are created and initialized. Almost all
creation and initialization now happens in python. Parameter objects
are generated and initialized by python. The .ini file is now solely for
debugging purposes and is not used in construction of the objects in any
way.
--HG--
extra : convert_revision :
7e722873e417cb3d696f2e34c35ff488b7bff4ed
Nathan Binkert [Tue, 24 Jul 2007 03:55:57 +0000 (20:55 -0700)]
Allow the fixwhite stuff to work when committing from a subdir
--HG--
extra : convert_revision :
10e6ecc60bb8ee4e4a6f06f8c56550299c262c91
Gabe Black [Mon, 23 Jul 2007 18:20:57 +0000 (11:20 -0700)]
Implement pusha, popa, three operand imul, hook them into the decoder, and clean up the decoder a little.
--HG--
extra : convert_revision :
c1b8f0f433f629e4104e2b04addcdaabf57595e3
Steve Reinhardt [Mon, 23 Jul 2007 15:18:51 +0000 (08:18 -0700)]
Fix WriteReq/StoreCondReq setting in O3.
--HG--
extra : convert_revision :
b41571535f3d1f78df3cb6e48c16de5c7549d87f
Steve Reinhardt [Mon, 23 Jul 2007 04:43:38 +0000 (21:43 -0700)]
Replace lowerMSHRPending flag with more robust scheme
based on following Packet senderState links.
--HG--
extra : convert_revision :
9027d59bd7242aa0e4275bf94d8b1fb27bd59d79
Gabe Black [Mon, 23 Jul 2007 01:07:49 +0000 (01:07 +0000)]
Make the operand size reflect the size specifier on the operand tags, and implement NEG
--HG--
extra : convert_revision :
da73ed6820d57f083c18f44b2fa868fc0976dd16
Steve Reinhardt [Sun, 22 Jul 2007 22:02:40 +0000 (18:02 -0400)]
Merge from head.
--HG--
extra : convert_revision :
dd23c568b3777fed7973401b6cf035f5a14f12f3
Nathan Binkert [Sun, 22 Jul 2007 20:45:12 +0000 (13:45 -0700)]
do proper style checks for merged files
--HG--
extra : convert_revision :
f9d4c61ded4b13655dbe86f0bb6a0b3beaf45151
Nathan Binkert [Sun, 22 Jul 2007 16:08:05 +0000 (09:08 -0700)]
fix the style fixing thing
--HG--
extra : convert_revision :
65ffc14e7b78b49df9a67ef0d3521551dd44d1cd
Steve Reinhardt [Sun, 22 Jul 2007 15:10:59 +0000 (08:10 -0700)]
Merge more changes in from head.
--HG--
extra : convert_revision :
8f170f2754eccdb424a35b5b077225abcf6eee72
Steve Reinhardt [Sun, 22 Jul 2007 15:09:24 +0000 (08:09 -0700)]
Replace DeferredSnoop flag with LowerMSHRPending flag.
Turns out DeferredSnoop isn't quite the right bit of info
we needed... see new comment in cache_impl.hh.
--HG--
extra : convert_revision :
a38de8c1677a37acafb743b7074ef88b21d3b7be
Steve Reinhardt [Sun, 22 Jul 2007 14:40:45 +0000 (10:40 -0400)]
Merge Gabe's changes with mine.
--HG--
extra : convert_revision :
f50ed42e7acb3f11e610fd6976eaa8df0c6ba2ab
Steve Reinhardt [Sun, 22 Jul 2007 07:07:26 +0000 (03:07 -0400)]
A few minor non-debug compilation issues.
--HG--
extra : convert_revision :
d59a5cad6187a2229dddd1a48282ebd2923d1d8d
Gabe Black [Sun, 22 Jul 2007 02:43:03 +0000 (02:43 +0000)]
Add the "open" syscall.
--HG--
extra : convert_revision :
d405ed5d3738639809dd2887955db9253138ccbb
Gabe Black [Sun, 22 Jul 2007 02:34:52 +0000 (02:34 +0000)]
Fixed immediate byte accounting bug.
--HG--
extra : convert_revision :
ee5275da14a2923b9a525ae5b5c582c15df4608a
Gabe Black [Sun, 22 Jul 2007 02:23:03 +0000 (02:23 +0000)]
Fixed displacement size bug.
--HG--
extra : convert_revision :
c39249ef598c1bd555098d688381dc62541a07c0
Gabe Black [Sun, 22 Jul 2007 05:49:57 +0000 (22:49 -0700)]
Merge with head.
--HG--
extra : convert_revision :
9b82ba062a14032ef24b960b92d48de754463284
Nathan Binkert [Sun, 22 Jul 2007 05:33:08 +0000 (22:33 -0700)]
Add code to turn the style stuff into a mercurial hook.
Nag the user during compile if they have an hg cloned copy of M5, have
mercurial installed, but don't have the style hook enabled.
--HG--
extra : convert_revision :
6bcbb67f1a3fcd36db7d3ef16a9ff19680f126f2
Gabe Black [Sun, 22 Jul 2007 02:29:39 +0000 (19:29 -0700)]
Implemented and hooked in xchg, rotate with carry, and ret instructions
--HG--
extra : convert_revision :
a8e67b0ab4072308f01e0df7f7ee05b31f605a35
Gabe Black [Sun, 22 Jul 2007 02:27:38 +0000 (19:27 -0700)]
Implement rotate with carry microops.
--HG--
extra : convert_revision :
1d7ff6611e5b4766a5257c1e73681fabbe5f6d76
Steve Reinhardt [Sun, 22 Jul 2007 01:18:42 +0000 (18:18 -0700)]
Deal with invalidations intersecting outstanding upgrades.
If the invalidation beats the upgrade at a lower level
then the upgrade must be converted to a read exclusive
"in the field".
Restructure target list & deferred target list to
factor out some common code.
--HG--
extra : convert_revision :
7bab4482dd6c48efdb619610f0d3778c60ff777a
Steve Reinhardt [Sat, 21 Jul 2007 20:45:17 +0000 (13:45 -0700)]
Several more fixes for multi-level timing coherence.
- Add "deferred snoop" flag to Packet so upper-level caches
can distinguish whether lower-level cache request was
in-service or not at the time of the original snoop.
- Revamp response handling to properly handle deferred snoops
on non-cache-fill requests (i.e. upgrades).
- Make sure forwarded writebacks are kept in write buffer at
lower-level caches so they get snooped properly.
--HG--
extra : convert_revision :
17f8a3772a1ae31a16991a53f8225ddf54d31fc9
Gabe Black [Sat, 21 Jul 2007 06:16:03 +0000 (23:16 -0700)]
Fixed the distinction between far and near versions of jmp, call and ret. Implemented some shifts, rotates, and pushes.
--HG--
extra : convert_revision :
fcb06189ff213e82da16ac43231feb308cb3a285
Gabe Black [Sat, 21 Jul 2007 06:12:26 +0000 (23:12 -0700)]
Fixed line number accounting
--HG--
extra : convert_revision :
4c046493b98ce4a766c2121710d70650cb6a801e
Gabe Black [Sat, 21 Jul 2007 01:27:02 +0000 (18:27 -0700)]
Implement UD2 and replace the place holder in the decoder.
--HG--
extra : convert_revision :
16d0d2b2ddad8759698fa4aa668c22063307c72b
Gabe Black [Sat, 21 Jul 2007 01:24:46 +0000 (18:24 -0700)]
Make the "name" function const.
--HG--
extra : convert_revision :
eb71bc3edd92a544a5333786635fce550aaef233
Gabe Black [Sat, 21 Jul 2007 00:17:11 +0000 (17:17 -0700)]
Implement adc and sbb instructions and microops.
--HG--
extra : convert_revision :
a2d3068c5b487f4fa7bf5c9cebba7753bc390bfa
Gabe Black [Sat, 21 Jul 2007 00:02:39 +0000 (17:02 -0700)]
Implement the rest of the conditional jump instructions and hook them into the decoder.
--HG--
extra : convert_revision :
8d1d6abce29371def560e1c3f31dabb4de01366f
Gabe Black [Fri, 20 Jul 2007 23:48:59 +0000 (16:48 -0700)]
Make the decoder take advantage of the new "B" operand format which takes a register index from the opcode itself.
--HG--
extra : convert_revision :
35f9be6559ee9833049eda1817982efdde7082be
Gabe Black [Fri, 20 Jul 2007 23:39:07 +0000 (16:39 -0700)]
Define and fill out a lot of different instructions and instruction versions. Added two of the shift microops.
--HG--
extra : convert_revision :
0b76953dbb1dc3366242d4d209cccebde86bbe4e
Gabe Black [Fri, 20 Jul 2007 22:05:37 +0000 (15:05 -0700)]
Hook in newly implemented instructions.
--HG--
extra : convert_revision :
53319d2363211af407dabaa2b63ad8a4df09c369
Gabe Black [Fri, 20 Jul 2007 22:04:41 +0000 (15:04 -0700)]
Comment, implement, fix, and trim the move microassembly.
--HG--
extra : convert_revision :
aa5ee7270e740bfbe42e70c4dfccc4c91ecacb33
Gabe Black [Fri, 20 Jul 2007 22:03:36 +0000 (15:03 -0700)]
Implement jnbe.
--HG--
extra : convert_revision :
cdbf1ff5ed3a63787cbd2187a8a3455a41cc5085