summaryrefslogtreecommitdiff
path: root/src/arch
AgeCommit message (Collapse)Author
2012-01-07Another merge with the main repository.Gabe Black
2012-01-07Merge with the main repository again.Gabe Black
2012-01-07Merge with main repository.Gabe Black
2012-01-05X86 TLB: Move a DPRINTF to its correct placeNilay Vaish
The DPRINTF for doing protection checks appears after the checks have been carried out. It is possible that the function returns while the checks are being carried, in which case the printf is missed out. This patch moves the DPRINTF before the checks. --HG-- extra : rebase_source : 172896057e593022444d882ea93323a5d9f77a89
2011-12-13gcc: fix unused variable warnings from GCC 4.6.1Nathan Binkert
--HG-- extra : rebase_source : f9e22de341493a25ac6106c16ac35c61c128a080
2011-12-01Device: Make changes necessary to support a coherent page walker cache.Mitchell Hayenga
Adds the flag 'recvSnoops' which enables pagewalkers using DmaPorts, to properly configure snoops. --HG-- extra : rebase_source : 64207bef62c3268ddff2236ee4adae873812325f
2011-12-01ARM: Add IsSerializeAfter and IsNonSpeculative flag to the syscall instruction .Ali Saidi
Squashes the subsequent instructions in O3 pipe after the service call, so that they see the effect of the system call when re-executed. This isn't really an issue with FS mode, but can show up in SE mode. --HG-- extra : rebase_source : 613a69fe1d9834261e25a8cd340aa6b47578e1fe
2011-12-01X86: Fix a bad segmentation check for the stack segment.Gabe Black
--HG-- extra : rebase_source : 755f4f6eae52f88ed516a1f1ac9e2565725d89c1
2011-11-28SPARC: Minor style fix.Gabe Black
I forgot to fix this as well per Ali's feedback. --HG-- extra : rebase_source : e70d031cb5f91e2212a1a73ea1769bf0549b826c
2011-11-27SPARC: Isolate FP operations enough to prevent code/rounding mode reordering.Gabe Black
--HG-- extra : rebase_source : ee79ab89c5a707c1294f38abb84c60f8ef64196c
2011-11-20X86: Fix the constant detecting three byte opcodes in the predecoder.Gabe Black
--HG-- extra : rebase_source : b64c3d2348cb73177024695fb6e205d51bf1cda9
2011-11-18SE/FS: Get rid of includes of config/full_system.hh.Gabe Black
2011-11-13Power: Add a stubbed out stacktrace.ccGabe Black
2011-11-13POWER: Add a stub implementation of initCPU.Gabe Black
2011-11-13Power: Add a stub kernel_stats.hh.Gabe Black
2011-11-13Power: Implement a stub for getArgument.Gabe Black
2011-11-03x86: Add microop for fenceNilay Vaish
This patch adds a new microop for memory barrier. The microop itself does nothing, but since it is marked as a memory barrier, the O3 CPU should flush all the pending loads and stores before the fence to the memory system.
2011-11-02SE/FS: Get rid of FULL_SYSTEM in the ARM ISA.Gabe Black
2011-11-01SE/FS: Get rid of the last use of FULL_SYSTEM in x86.Gabe Black
2011-11-01SE/FS: Get rid of uses of FULL_SYSTEM in Alpha.Gabe Black
2011-10-31SE/FS: Remove the last uses of FULL_SYSTEM from SPARC.Gabe Black
2011-10-31SE/FS: Make the functions available from the TC consistent between SE and FS.Gabe Black
2011-10-31GCC: Get everything working with gcc 4.6.1.Gabe Black
And by "everything" I mean all the quick regressions.
2011-10-30SE/FS: Get rid of FULL_SYSTEM in MIPS.Gabe Black
2011-10-30System: Push boot_cpu_frequency down into the subclasses that actually use it.Gabe Black
This parameter depends on a number of coincidences to work properly. First, there must be an array assigned to system called "cpu" even though there's no parameter called that. Second, the items in the "cpu" array have to have a "clock" parameter which has a "frequency" member. This is true of the normal CPUs, but isn't true of the memory tester CPUs. This happened to work before because the memory tester CPUs were only used in SE mode where this parameter was being excluded. Since everything is being pulled into a common binary, this won't work any more. Since the boot_cpu_frequency parameter is only used by Alpha's Linux System object (and Mips's through copy and paste), the definition of that parameter is moved down to those objects specifically.
2011-10-30SE/FS: Remove the last references to FULL_SYSTEM from POWER.Gabe Black
2011-10-30X86: Build the same files in SE and FS.Gabe Black
2011-10-30X86: Get rid of more uses of FULL_SYSTEM.Gabe Black
2011-10-30SE/FS: Make getProcessPtr available in both modes, and get rid of FULL_SYSTEMs.Gabe Black
2011-10-22SE: move page allocation from PageTable to ProcessSteve Reinhardt
PageTable supported an allocate() call that called back through the Process to allocate memory, but did not have a method to map addresses without allocating new pages. It makes more sense for Process to do the allocation, so this method was renamed allocateMem() and moved to Process, and uses a new map() call on PageTable. The remaining uses of the process pointer in PageTable were only to get the name and the PID, so by passing these in directly in the constructor, we can make PageTable completely independent of Process.
2011-10-22syscall_emul: implement MAP_FIXED option to mmap()Steve Reinhardt
2011-10-16SE/FS: Turn on the page table class in FS.Gabe Black
2011-10-16SPARC: Build vtophys into SE mode.Gabe Black
2011-10-16Power: Add a stub implementation for vtophys in SE and FS.Gabe Black
2011-10-16MIPS: Build vtophys in SE mode.Gabe Black
2011-10-16ARM: Build vtophys in SE mode.Gabe Black
2011-10-16ARM: Turn on the page table walker on ARM in SE mode.Gabe Black
2011-10-16Alpha: Turn on vtophys in SE mode.Gabe Black
2011-10-13X86: Build vtophys in SE mode.Gabe Black
2011-10-13X86: Turn on the page table walker in SE mode.Gabe Black
2011-10-13SPARC: Remove the last checks of FULL_SYSTEM.Gabe Black
2011-10-13SPARC: Narrow the scope of #if FULL_SYSTEM in SPARC's faults.Gabe Black
2011-10-10SPARC: Let the TLB have friends in FS mode.Gabe Black
2011-10-10SPARC: Turn on handleIprRead and handleIprWrite in SE in SPARC.Gabe Black
2011-10-09[mq]: sefssparcregfile.patchGabe Black
2011-10-09Interrupts: Make the IO APIC go get the local APICs.Gabe Black
This is so they don't have to declare themselves to the IO APIC and don't have to have a pointer to the platform object.
2011-10-09SE/FS: Build the Interrupt objects in SE mode.Gabe Black
2011-10-04SE/FS: Put platform pointers in fewer objects.Gabe Black
Not all objects need a platform pointer, and having one creates a dependence on their being a platform object. This change removes the platform pointer to from the base device object and moves it into subclasses that actually need it.
2011-09-30SE/FS: Remove System::platform and Platform::intrFrequency.Gabe Black
In order for a system object to work in SE mode and FS mode, it has to either always require a platform object even in SE mode, or get rid of the requirement all together. Making SE mode carry around unnecessary/unused bits of FS seems less than ideal, so I decided to go with the second option. The platform pointer in the System class was used for exactly one purpose, a path for the Alpha Linux system object to get to the real time clock and read its frequency so that it could short cut the loops_per_jiffy calculation. There was also a copy and pasted implementation in MIPS, but since it was only there because it was there in Alpha I still count that as one use. This change reverses the mechanism that communicates the RTC frequency so that the Tsunami platform object pushes it up to the AlphaSystem object. This is slightly less specific than it could be because really only the AlphaLinuxSystem uses it. Because the intrFrequency function on the Platform class was no longer necessary (and unimplemented on anything but Alpha) it was eliminated. After this change, a platform will need to have a system, but a system won't have to have a platform.
2011-09-30X86: Remove FULL_SYSTEM from the x86 faults.Gabe Black