summaryrefslogtreecommitdiff
path: root/src/arch/x86
AgeCommit message (Collapse)Author
2009-05-26X86: Really set up the GDT and various hidden/visible segment registers.Gabe Black
2009-05-17includes: sort includes againNathan Binkert
2009-05-17includes: use base/types.hh not inttypes.h or stdint.hNathan Binkert
2009-05-17types: Move stuff for global types into src/base/types.hhNathan Binkert
--HG-- rename : src/sim/host.hh => src/base/types.hh
2009-04-26X86: Precompute the default and alternate address and operand size and the ↵Gabe Black
stack size.
2009-04-26X86: Split out the internal memory space from the regular translate() and ↵Gabe Black
precompute mode.
2009-04-26X86: Centralize updates to the handy M5 reg.Gabe Black
2009-04-26X86: Tell the function that sends int messages who to send to instead of ↵Gabe Black
figuring it out itself.
2009-04-26X86: Make the local APICs register themselves with the IO APIC.Gabe Black
This is a hack so that the IO APIC can figure out information about the local APICs. The local APICs still have no way to find out about each other. Ideally, when the local APICs update state that's relevant to somebody else, they'd send an update to everyone. Without being able to do a broadcast, that would still require knowing who else there is to notify. Other broadcasts are implemented using assumptions that may not always be true.
2009-04-26X86: Record the initial APIC ID which identifies an APIC in M5.Gabe Black
The ID as exposed to software can be changed. Tracking those changes in M5 would be cumbersome, especially since there's no guarantee the IDs will remain unique.
2009-04-23X86: Put the StoreCheck flag with the others, and don't collide with other ↵Gabe Black
flags.
2009-04-21syscall: Resolve conflicts between m5threads and Gabe's recent SE changes.Steve Reinhardt
2009-04-21Commit m5threads package.Daniel Sanchez
This patch adds limited multithreading support in syscall-emulation mode, by using the clone system call. The clone system call works for Alpha, SPARC and x86, and multithreaded applications run correctly in Alpha and SPARC.
2009-04-19X86: Fix the functions that manipulate large bit arrays in the local APIC.Gabe Black
2009-04-19X86: Fix up a copyright.Gabe Black
2009-04-19X86: Fix how the TLB handles the storecheck flag.Gabe Black
2009-04-19X86: Recognize and handle the lock legacy prefix.Gabe Black
2009-04-19X86: Implement a locking version of XADD.Gabe Black
2009-04-19X86: Implement a locking version of BTC.Gabe Black
2009-04-19X86: Implement a locking version of BTR.Gabe Black
2009-04-19X86: Implement a locking version of CMPXCHG.Gabe Black
2009-04-19X86: Implement a locking version of BTS.Gabe Black
2009-04-19X86: Implement a locking version of DEC.Gabe Black
2009-04-19X86: Implement a locking version of INC.Gabe Black
2009-04-19X86: Implement a locking version of NEG.Gabe Black
2009-04-19X86: Implement a locking version of NOT.Gabe Black
2009-04-19X86: Implement a locking version of XCHG.Gabe Black
2009-04-19X86: Implement a locking version of XOR.Gabe Black
2009-04-19X86: Implement a locking version of SUB.Gabe Black
2009-04-19X86: Implement a locking version of AND.Gabe Black
2009-04-19X86: Implement a locking version of SBB.Gabe Black
2009-04-19X86: Implement a locking version of ADC.Gabe Black
2009-04-19X86: Implement a locking version of OR.Gabe Black
2009-04-19X86: Implement a locking version of ADD.Gabe Black
2009-04-19X86: Implement the stul microop.Gabe Black
This microop does a store and unlocks the requested address. The RISC86 microop ISA doesn't seem to have an equivalent to this, so I'm guessing that the store following an ldstl is automatically unlocking. We don't do it this way for performance reasons since the behavior is the same.
2009-04-19X86: Implement the ldstl microop.Gabe Black
This microop does a load, checks that a store would succeed, and locks the requested address.
2009-04-19SE mode: Make keeping track of the number of syscalls less hacky.Gabe Black
2009-04-19X86: Actually handle 16 bit mode modrm.Gabe Black
2009-04-19X86: Make the TEST instruction set all the flags it's supposed to.Gabe Black
2009-04-19X86: Implement broadcast IPIs.Gabe Black
2009-04-19X86: Fix the ordering of the vendor string reported by CPUID.Gabe Black
2009-04-19X86: Only recognize the first startup IPI after INIT or reset.Gabe Black
2009-04-19X86: Use recvResponse to implement the idle bit in the Local APIC ICR.Gabe Black
2009-04-19X86: Add a function which gets called when an interrupt message has been ↵Gabe Black
delivered.
2009-04-19X86: Explicitly use the right width in a few places that need a 64 bit value.Gabe Black
2009-04-19X86: Keep track of the pioAddr for the local APIC.Gabe Black
2009-04-19X86: Implement far jmp.Gabe Black
2009-04-19X86: Some segment selectors can be used when "NULL".Gabe Black
2009-04-19X86: Fix a bug in the chks microop where it ignored that it found a fault.Gabe Black
2009-04-19X86: Make the interrupt entering microcode record the value to use, not ↵Gabe Black
actually use it.