summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2007-08-26Merge with headGabe Black
--HG-- extra : convert_revision : cc73b9aaf73e9dacf52f3350fa591e67ca4ccee6
2007-08-26X86: Make the Ruflag microop work correctly, and make the code a little clearer.Gabe Black
--HG-- extra : convert_revision : c551f51cdda46df99370363ed2d70916db8413eb
2007-08-26X86: Return values for some cpuid functions that match what my development ↵Gabe Black
machine returns. --HG-- extra : convert_revision : e6619da11f43bbe025ceabd06387dd24e1cd883b
2007-08-26X86: Make the microassembler accept lines which are just labels.Gabe Black
The labels on these lines will be associated with whatever the next microop is. --HG-- extra : convert_revision : 80c260e48ec1c16e6325061608e37c95a0610cfa
2007-08-26X86: Make cpuid actually consider the eax parameter and return different values.Gabe Black
--HG-- extra : convert_revision : 527c1cacdd20ab162859bba7f9a6bed33afa2d4f
2007-08-26X86: Fix the sign extension microop so it extends zeros correctly.Gabe Black
--HG-- extra : convert_revision : 9d7ca286ba7709175fa75226320601acce4ced98
2007-08-26X86: Implement cmps (string compare)Gabe Black
--HG-- extra : convert_revision : 0d6b783b2246b8ad8d91e4c63e407307ee11c651
2007-08-26X86: Make shift instructions set some of the flags they're supposed to.Gabe Black
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
2007-08-26Address translation: Make the page table more flexible.Gabe Black
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
2007-08-26O3 CPU: Remove alignment check from dynamic instruction read/write functions.Gabe Black
--HG-- extra : convert_revision : e5d415b4bf79353ef3c9f4dc5af09ab4102c55fb
2007-08-26X86: Remove x86 code that attempted to fix misaligned accesses.Gabe Black
--HG-- extra : convert_revision : 42f68010e6498aceb7ed25da278093e99150e4df
2007-08-26Simple CPU: Don't trace instructions that fault. Otherwise they show up twice.Gabe Black
--HG-- extra : convert_revision : 4446d9544d58bdadbd24d8322bb63016a32aa2b8
2007-08-26Simple CPU: Added code that will split requests that cross block boundaries ↵Gabe Black
into multiple memory access. --HG-- extra : convert_revision : 600f79f32ef30a6e1db951503bcfe8cd332858d1
2007-08-26Simple CPU: Make sure only instructions which complete without faulting are ↵Gabe Black
counted. --HG-- extra : convert_revision : 01019c7129ed762d8826c3e6519989aa3fc3b5fd
2007-08-26Address Translation: Make SE mode use an actual TLB/MMU for translation like FS.Gabe Black
--HG-- extra : convert_revision : a04a30df0b6246e877a1cea35420dbac94b506b1
2007-08-26SPARC: Make sure unaligned access are caught on cached translations as well.Gabe Black
--HG-- extra : convert_revision : 5c1f3f585817a19a771164f809dfc2fdc1ab3fb2
2007-08-21Merge with head.Gabe Black
--HG-- extra : convert_revision : 9ef81afcfabd86c9c069204998c987344f03f33e
2007-08-21o3: Fix for retry ID bug.Kevin Lim
It should be cleared prior to the call to recvRetry. Add extra DPRINTF statement for clearer debugging output. --HG-- extra : convert_revision : e2332754743f42d60e159ac89f6fb0fd8b7f57f8
2007-08-18Merge with head.Gabe Black
--HG-- extra : convert_revision : 6ce77b5bd4f43ddecd51ea8c66759e4b70d4ad82
2007-08-17Ports: Only try to do EthPort stuff in full system.Ali Saidi
--HG-- extra : convert_revision : 9ea093ea7c9ab22f8467c5cd5d55b66c71eb3427
2007-08-16PCI: Move PCI Configuration data into devices now that we can inherit ↵Ali Saidi
parameters. --HG-- extra : convert_revision : bd2214b28fb46a9a9e9e204e0539be33acb548ad
2007-08-16Devices: Make EtherInts connect in the same way memory ports currently do.Ali Saidi
--HG-- extra : convert_revision : 765b096785a77df9adc4791c9101b90696bd7be2
2007-08-13SPARC: Make nops have the IsNop flag set.Gabe Black
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
2007-08-13O3: Set up the predicted npc and nnpc for a fault carrying noop so that it ↵Gabe Black
doesn't cause a false branch mispredict. --HG-- extra : convert_revision : 2820597cc966cd7b128cef0dab48fe05089533d7
2007-08-13SPARC: Move tlb state into the tlb.Gabe Black
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
2007-08-13SPARC: Make the spill and fill handlers use the correct ASI, and let ↵Gabe Black
No_Fault ASI accesses work. --HG-- extra : convert_revision : 3321bb91da02c1bec27fa34d0ba945cc976b6491
2007-08-13Move the "translate" member functions back into the base o3 class.Gabe Black
--HG-- extra : convert_revision : 3c480537bf38f74f0f1d72e75c70aa46ba91b759
2007-08-13python: make the DictImporter's unload() work in any context.Nathan Binkert
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
2007-08-12MemorySystem: Fix the use of ?: to produce correct results.Ali Saidi
--HG-- extra : convert_revision : 31aad7170b35556a4c984f4ebc013137d55d85eb
2007-08-08Added fastmem option.Vincentius Robby
Lets CPU accesses to physical memory bypass Bus. --HG-- extra : convert_revision : e56e3879de47ee10951a19bfcd8b62b6acdfb30c
2007-08-08alpha: Quick fix for things related to TLB MRU cache.Vincentius Robby
simple-timing test for ALPHA_FS breaks. --HG-- extra : convert_revision : 5a1b05cddd480849913da81a3b3931fec16485a8
2007-08-10DMA: Add IOCache and fix bus bridge to optionally only send requests oneAli Saidi
way so a cache can handle partial block requests for i/o devices. --HG-- extra : convert_revision : a68b5ae826731bc87ed93eb7ef326a2393053964
2007-08-10Bus: Only call end() on an stl object once in a loopAli Saidi
--HG-- extra : convert_revision : 238dcd6da7577b533e52ada2107591c4e9168ebd
2007-08-08Port, StaticInst: Revert unnecessary changes.Vincentius Robby
--HG-- extra : convert_revision : e6ef262bbbc5ad53498e55caac1897e6cc2a61e6
2007-08-08alpha: Make the TLB cache to actually work.Vincentius Robby
Improve MRU checking for StaticInst, Bus, TLB --HG-- extra : convert_revision : 9116b5655cd2986aeb4205438aad4a0f5a440006
2007-08-07Alpha: Fix an off by one error with the tlb caching mechanism.Gabe Black
--HG-- extra : convert_revision : e17f7a0d58a2e59b2e270f0827db33d0a29365e0
2007-08-07Merge with head.Gabe Black
--HG-- extra : convert_revision : ae7b3df573368c29a66d5b027ecad9ffb3a99104
2007-08-07X86: Added some missing parenthesis in the condition code calculation function.Gabe Black
--HG-- extra : convert_revision : 663021070a4bcc795bb44e1839b8bcec686a42f0
2007-08-07X86: Implemented and hooked in SCAS (scan string)Gabe Black
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
2007-08-07X86: Add a format to handle string instructions which can use the repe and ↵Gabe Black
repne prefixes. --HG-- extra : convert_revision : 205fbbb947258bc0ef2915e22d5b32a3df1a1ce2
2007-08-07X86: Overhaul of ruflags to get it to work correctly.Gabe Black
--HG-- extra : convert_revision : 00a36a80a1945806aac9fa7d9d6a3906465dcad2
2007-08-07X86: Make a microcode branch microop.Gabe Black
Also some touch up for ruflag. --HG-- extra : convert_revision : 829947169af25ca6573f53b9430707101c75cc23
2007-08-04Merge with head.Gabe Black
--HG-- extra : convert_revision : 3edb9f03353b18b4c9f062bccf11e79cfb3c15f2
2007-08-04X86: Implement microops and instructions that manipulate the flags register.Gabe Black
--HG-- extra : convert_revision : 566841577bf4a98cac0b65292fe0f7daf89a9203
2007-08-04X86: Make 64 bit unaligned accesses work as well as the other sizes.Gabe Black
There is a fundemental flaw in how unaligned accesses are supported, but this is still an improvement. --HG-- extra : convert_revision : 1c20b524ac24cd4a812c876b067495ee6a7ae29f
2007-08-04X86: Make the open flags correct.Gabe Black
--HG-- extra : convert_revision : 2dc81345176d1de247a567d1f748e2b2bd05f829
2007-08-04X86: Make fixed register operands ignore register index extensions from the ↵Gabe Black
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
2007-08-04X86: Implement the cmpxchg instruction.Gabe Black
--HG-- extra : convert_revision : b9e172bcb9551edf65c63f26dfa07d771edf3e1e
2007-08-04X86: Start implementing segmentation support.Gabe Black
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
2007-08-04X86: Create a base enum value for indexing into a region of the miscregs.Gabe Black
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