Age | Commit message (Collapse) | Author | |
---|---|---|---|
2009-10-30 | X86: Implement the X86 sse2 haddpd instruction | Vince Weaver | |
This patch implements the haddpd instruction. It fixes the problem in the previous version (pointed out by Gabe Black) where an incorrect result would happen if you issue the instruction with the same argument twice, i.e. "haddpd %xmm0,%xmm0" This instruction is used by many spec2k benchmarks. | |||
2009-10-30 | X86: Hookup truncate/ftruncate syscalls on X86 | Vince Weaver | |
This patch hooks up the truncate, ftruncate, truncate64 and ftruncate64 system calls on 32-bit and 64-bit X86. These have been tested on both architectures. ftruncate/ftruncate64 is needed for the f90 spec2k benchmarks. | |||
2009-10-30 | Syscalls: Make system calls access arguments like a stack, not an array. | Gabe Black | |
When accessing arguments for a syscall, the position of an argument depends on the policies of the ISA, how much space preceding arguments took up, and the "alignment" of the index for this particular argument into the number of possible storate locations. This change adjusts getSyscallArg to take its index parameter by reference instead of value and to adjust it to point to the possible location of the next argument on the stack, basically just after the current one. This way, the rules for the new argument can be applied locally without knowing about other arguments since those have already been taken into account implicitly. All system calls have also been changed to reflect the new interface. In a number of cases this made the implementation clearer since it encourages arguments to be collected in one place in order and then used as necessary later, as opposed to scattering them throughout the function or using them in place in long expressions. It also discourages using getSyscallArg over and over to retrieve the same value when a temporary would do the job. | |||
2009-10-27 | X86: Replace "DISPLACEMENT" with disp in movhpd. | Gabe Black | |
2009-10-27 | Fix problem with the x86 sse movhpd instruction. | Vince Weaver | |
The movhpd instruction was writing to the wrong memory offset. | |||
2009-10-21 | Implement X86 sse2 movdqu and movdqa instructions | Vince Weaver | |
The movdqa instruction should enforce 16-byte alignment. This implementation does not do that. These instructions are needed for most of x86_64 spec2k to run. | |||
2009-10-20 | hook up stat syscall on 64-bit x86_SE | Vince Weaver | |
2009-10-20 | hook up stat64 syscall on 32-bit X86_SE | Vince Weaver | |
2009-10-20 | Fix stat64 structure on 32-bit X86_SE | Vince Weaver | |
The st_size entry was in the wrong place (see linux-2.6.29/arch/x86/include/asm/stat.h ) Also, the packed attribute is needed when compiling on a 64-bit machine, otherwise gcc adds extra padding that break the layout of the structure. | |||
2009-10-27 | POWER: Add support for the Power ISA | Timothy M. Jones | |
This adds support for the 32-bit, big endian Power ISA. This supports both integer and floating point instructions based on the Power ISA Book I v2.06. | |||
2009-10-24 | syscall: Addition of an ioctl command code for Power. | Timothy M. Jones | |
2009-10-19 | Enable getuid and getgid related syscalls on X86_SE | Vince Weaver | |
I've tested these on x86 and they work as expected. In theory for 32-bit x86 we should have some sort of special handling for the legacy 16-bit uid/gid syscalls, but in practice modern toolchains don't use the 16-bit versions, and m5 sets the uid and gid values to be less than 16-bits anyway. This fix is needed for the perl spec2k benchmarks to run. | |||
2009-10-16 | Ignore rt_sigaction() syscalls on x86 and x86_64 | Vince Weaver | |
This is currently how alpha handles this syscall. This is needed for the gcc spec2k benchmarks to run. | |||
2009-10-17 | ISA: Fix compilation. | Gabe Black | |
2009-10-10 | Hook up the munmap() syscall for 32-bit x86. | Vince Weaver | |
This is straightforward, as munmapFunc() doesn't do anything. I've tested it with code running munmap() just in case. | |||
2009-10-02 | X86: Make successive anonymous mmaps move down in 32 bit SE mode Linux. | Gabe Black | |
2009-09-23 | isa_parser: Turn the ISA Parser into a subclass of Grammar. | Nathan Binkert | |
This is to prepare for future cleanup where we allow SCons to create a separate grammar class for each ISA | |||
2009-09-23 | arch: nuke arch/isa_specific.hh and move stuff to generated config/the_isa.hh | Nathan Binkert | |
2009-09-22 | scons: add slicc and ply to sys.path and PYTHONPATH so everyone has access | Nathan Binkert | |
2009-09-22 | python: Move more code into m5.util allow SCons to use that code. | Nathan Binkert | |
Get rid of misc.py and just stick misc things in __init__.py Move utility functions out of SCons files and into m5.util Move utility type stuff from m5/__init__.py to m5/util/__init__.py Remove buildEnv from m5 and allow access only from m5.defines Rename AddToPath to addToPath while we're moving it to m5.util Rename read_command to readCommand while we're moving it Rename compare_versions to compareVersions while we're moving it. --HG-- rename : src/python/m5/convert.py => src/python/m5/util/convert.py rename : src/python/m5/smartdict.py => src/python/m5/util/smartdict.py | |||
2009-09-17 | mips: fix command line arguments | Korey Sewell | |
arguments were not being saved correctly into M5 memory | |||
2009-09-17 | X86: Fix the expected size of the immediate offset in MOV_MI. | Gabe Black | |
2009-09-16 | X86: Sign extend the immediate of wripi like the register version. | Gabe Black | |
2009-09-16 | X86: Make the imm8 member of immediate microops really 8 bits consistently. | Gabe Black | |
2009-09-16 | X86: Fix checking the NT bit during an IRET. | Gabe Black | |
2009-09-16 | X86: Fix setting the busy bit in the task descriptor in LTR. | Gabe Black | |
2009-09-15 | Syscalls: Implement sysinfo() syscall. | Vince Weaver | |
2009-09-15 | SPARC: Make resTemp in udivcc wide enough to hold all the bits we need. | Vince Weaver | |
2009-09-15 | [mq]: x86syscalls.patch | Vince Weaver | |
2009-08-23 | Merge with head. | Gabe Black | |
2009-08-23 | X86: Preserve the NO_ACCESS flag when giving CDA a specialized interface. | Gabe Black | |
2009-08-21 | X86: fix some simple compile issues | Nathan Binkert | |
static should not be used for constants that are not inside a class definition. | |||
2009-08-20 | X86: Fix the decoding for and fill out FST and FSTP. | Gabe Black | |
2009-08-20 | X86: Add microassembler symbols for floating point stack register operands. | Gabe Black | |
2009-08-18 | X86: Decode the immediate byte opcode extension for 3dNow! instructions. | Gabe Black | |
2009-08-18 | X86: Decode three byte opcodes. | Gabe Black | |
2009-08-17 | X86: Double check the two byte portion of the decoder and fix bugs/clean up. | Gabe Black | |
2009-08-17 | X86: Implement MOVNTI. | Gabe Black | |
2009-08-17 | X86: Initialize the MXCSR in SE mode. | Gabe Black | |
2009-08-17 | X86: Implement MOVQ2DQ. | Gabe Black | |
2009-08-17 | X86: Implement MOVDQ2Q. | Gabe Black | |
2009-08-17 | X86: Implement the media instructions that convert fp values to ints. | Gabe Black | |
2009-08-17 | X86: Implement a microop for converting fp values to ints. | Gabe Black | |
2009-08-17 | X86: Implement the instructions that compare fp values and write a mask as a ↵ | Gabe Black | |
result. | |||
2009-08-17 | X86: Implement a microop that compares fp values and writes a mask as a result. | Gabe Black | |
2009-08-17 | X86: Implement the instructions that compare fp values and write to rflags. | Gabe Black | |
2009-08-17 | X86: Implement a microop that compares fp values and writes to rflags. | Gabe Black | |
2009-08-17 | X86: Implement MOVSS. | Gabe Black | |
2009-08-17 | X86: Implement LDMXCSR. | Gabe Black | |
2009-08-17 | X86: Implement STMXCSR. | Gabe Black | |