summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2007-07-26Merge python and x86 changes with cache branchNathan Binkert
--HG-- extra : convert_revision : e06a950964286604274fba81dcca362d75847233
2007-07-26Merge with head.Gabe Black
--HG-- extra : convert_revision : e4be9d5f2ce8e3252958e2c5e03710b0bf9755c7
2007-07-26X86: Fix argument register indexing.Gabe Black
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
2007-07-26X86: Hook in shift and rotate by one instructions, and NOT.Gabe Black
--HG-- extra : convert_revision : b3ab74e09f5cd02671cc6425c8cb8638bd58cbee
2007-07-26X86: Fix pc relative versions of add and subtract.Gabe Black
--HG-- extra : convert_revision : c7e578aae8d36aa5d279fc27d6d7d28ed0a54181
2007-07-26X86: Implement rotate-by-one instructions, and make register rotates use ↵Gabe Black
registers. --HG-- extra : convert_revision : 701691951688ecefdc6450d31076b45e9af15324
2007-07-26X86: Implement shift-by-one instructions, and make register shifts use ↵Gabe Black
registers. --HG-- extra : convert_revision : ce4af3e56b45821e0a8b27f288b532d2f9dd3336
2007-07-26X86: Add functions to read and write to an exec context.Gabe Black
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
2007-07-26X86: Fix carry calculation for subtraction based microops.Gabe Black
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
2007-07-26Add functions for mmap and brk.Gabe Black
--HG-- extra : convert_revision : 3d0340a2aae87b3462d6562b34ac7e02c685c1ef
2007-07-26Implement NOTGabe Black
--HG-- extra : convert_revision : 09cbed6332224d06644d401f21178eb7914993df
2007-07-26Have owner respond to UpgradeReq to avoid race.Steve Reinhardt
--HG-- extra : convert_revision : 30916fca6978c73d8a14558f2d7288c1eab54ad4
2007-07-26Add downward express snoops for invalidations.Steve Reinhardt
--HG-- extra : convert_revision : 4916fa9721d727d8416ad8c07df3a8171d02b2b4
2007-07-26Continue snooping after a writeback is encountered.Steve Reinhardt
--HG-- extra : convert_revision : 8411338a6c0fdd7072dd32bdffacdace62d5de90
2007-07-26bus: Fix default port handling.Steve Reinhardt
--HG-- extra : convert_revision : 121b6e31cddff17c51fc4f3df20e7e2bde87d04f
2007-07-25Add a new SCons option called EXTRAS that allows you to include stuff inNathan Binkert
the build process that is outside of the main M5 tree. --HG-- extra : convert_revision : 6edc4fbc58240f83b59c7b5707c0390cdb85d9ec
2007-07-25Can't block on memInhibit packetsSteve Reinhardt
(now that bus no longer filters them for us). --HG-- extra : convert_revision : 34e7eaf5ee1e739f5557a2d417e569ed2ceb14b3
2007-07-24Integrate snoop loop functions into their respective call sites.Steve Reinhardt
Also some additional cleanup of Bus::recvTiming(). --HG-- extra : convert_revision : 156814119f75d04c2e954aec2d7ed6fdc186c26f
2007-07-24Don't delete request at target... requester still needs it.Steve Reinhardt
--HG-- extra : convert_revision : 76377ca2e4d7ea70d1d54d325a63ce710e260b93
2007-07-24Merge with head.Gabe Black
--HG-- extra : convert_revision : 4a34b3f91c4fc90055596245ae3efec45ea33888
2007-07-24Hook in a bunch of new instructions, fix a few minor bugs, and expand out ↵Gabe Black
one of the prefix multiplexed opcode groups. --HG-- extra : convert_revision : b5afd54a180a8fbdf9a892b1a2316fcf0d11afc6
2007-07-24Add a tgt_iovec structure to support writev, change the name of X86Linux to ↵Gabe Black
X86Linux64, add some syscalls. --HG-- extra : convert_revision : 9c13e9c68f331fe6c4a9abd96f7aee0f064101fc
2007-07-24Add a special case for "test" which needs an immediate even though ↵Gabe Black
everything else with it's opcode doesn't. Also made some spacing consistent. --HG-- extra : convert_revision : 72a317f29c11705782e19840bef24354214d3143
2007-07-24The groups of instructions hanging off opcode 71h, 72h, and 73h all need a ↵Gabe Black
byte immediate --HG-- extra : convert_revision : 9559047adfec1490c2d40065442a579549624fcc
2007-07-24Make the shift and rotate microops mask the shift/rotate amount correctly.Gabe Black
--HG-- extra : convert_revision : 31c5d3fa8ef0d37494d0e35cef31be6056d5d93f
2007-07-24Fix immediate shifts. Implement register shifts.Gabe Black
--HG-- extra : convert_revision : 0b83422ad3c190021e46cada07e64d8d57d29859
2007-07-24Fix immediate rotates and add register ones.Gabe Black
--HG-- extra : convert_revision : a6b9cee59019ea0f906c8a8e76eeb2cd73093671
2007-07-24Clean out part of an old comment.Gabe Black
--HG-- extra : convert_revision : 6a6b2a06576ebe7383f7ce0e4e9f96bc96b84b56
2007-07-24Implement cmov.Gabe Black
--HG-- extra : convert_revision : 2e92623b53c1fe8b4da3fef3486c0dcd8d5ef9f5
2007-07-24Implement cdqe and cqo, which are also called cbw and cwde, and cwd and cdq ↵Gabe Black
respectively, depending on the operand size. --HG-- extra : convert_revision : 67ac035c68608d7260c21ce32009b344f3834e46
2007-07-24Implement setcc.Gabe Black
--HG-- extra : convert_revision : 7a47b9971fe9e4ac638b275fb56fdcba08c2d671
2007-07-24Get rid of an old comment.Gabe Black
--HG-- extra : convert_revision : 1b86a7f60489bc65a03919b27afd4dfbe4e09bba
2007-07-24Get rid of an old commentGabe Black
--HG-- extra : convert_revision : 4d626721ad54af9cbf5b0c07a3a6e8a05e4e9ab5
2007-07-23A couple more minor bug fixes for multilevel coherence.Steve Reinhardt
--HG-- extra : convert_revision : 370f9e34911157765be6fd49e826fa1af589b466
2007-07-23Major changes to how SimObjects are created and initialized. Almost allNathan Binkert
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
2007-07-23Implement pusha, popa, three operand imul, hook them into the decoder, and ↵Gabe Black
clean up the decoder a little. --HG-- extra : convert_revision : c1b8f0f433f629e4104e2b04addcdaabf57595e3
2007-07-23Fix WriteReq/StoreCondReq setting in O3.Steve Reinhardt
--HG-- extra : convert_revision : b41571535f3d1f78df3cb6e48c16de5c7549d87f
2007-07-22Replace lowerMSHRPending flag with more robust schemeSteve Reinhardt
based on following Packet senderState links. --HG-- extra : convert_revision : 9027d59bd7242aa0e4275bf94d8b1fb27bd59d79
2007-07-23Make the operand size reflect the size specifier on the operand tags, and ↵Gabe Black
implement NEG --HG-- extra : convert_revision : da73ed6820d57f083c18f44b2fa868fc0976dd16
2007-07-22Merge more changes in from head.Steve Reinhardt
--HG-- extra : convert_revision : 8f170f2754eccdb424a35b5b077225abcf6eee72
2007-07-22Replace DeferredSnoop flag with LowerMSHRPending flag.Steve Reinhardt
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
2007-07-22Merge Gabe's changes with mine.Steve Reinhardt
--HG-- extra : convert_revision : f50ed42e7acb3f11e610fd6976eaa8df0c6ba2ab
2007-07-22A few minor non-debug compilation issues.Steve Reinhardt
--HG-- extra : convert_revision : d59a5cad6187a2229dddd1a48282ebd2923d1d8d
2007-07-22Add the "open" syscall.Gabe Black
--HG-- extra : convert_revision : d405ed5d3738639809dd2887955db9253138ccbb
2007-07-22Fixed immediate byte accounting bug.Gabe Black
--HG-- extra : convert_revision : ee5275da14a2923b9a525ae5b5c582c15df4608a
2007-07-22Fixed displacement size bug.Gabe Black
--HG-- extra : convert_revision : c39249ef598c1bd555098d688381dc62541a07c0
2007-07-21Implemented and hooked in xchg, rotate with carry, and ret instructionsGabe Black
--HG-- extra : convert_revision : a8e67b0ab4072308f01e0df7f7ee05b31f605a35
2007-07-21Implement rotate with carry microops.Gabe Black
--HG-- extra : convert_revision : 1d7ff6611e5b4766a5257c1e73681fabbe5f6d76
2007-07-21Deal with invalidations intersecting outstanding upgrades.Steve Reinhardt
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
2007-07-21Several more fixes for multi-level timing coherence.Steve Reinhardt
- 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