summaryrefslogtreecommitdiff
path: root/src/arch/x86/linux
AgeCommit message (Collapse)Author
2009-07-08Registers: Add a registers.hh file as an ISA switched header.Gabe Black
This file is for register indices, Num* constants, and register types. copyRegs and copyMiscRegs were moved to utility.hh and utility.cc. --HG-- rename : src/arch/alpha/regfile.hh => src/arch/alpha/registers.hh rename : src/arch/arm/regfile.hh => src/arch/arm/registers.hh rename : src/arch/mips/regfile.hh => src/arch/mips/registers.hh rename : src/arch/sparc/regfile.hh => src/arch/sparc/registers.hh rename : src/arch/x86/regfile.hh => src/arch/x86/registers.hh
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-19SE mode: Make keeping track of the number of syscalls less hacky.Gabe Black
2009-02-27X86: Install the exit system call.Gabe Black
2009-02-27X86: Install the 32 bit write system call.Gabe Black
2009-02-27X86: Add a structure to allow mapping between the host and guest fstat formats.Gabe Black
2009-02-27X86: Add a 32 bit mmap2 system call.Gabe Black
2009-02-27X86: Install a 32 bit fstat64 system call.Gabe Black
2009-02-27X86: Implement the 32 bit set_thread_area system call.Gabe Black
2009-02-27X86: Install some 32 bit system calls.Gabe Black
2009-02-27Processes: Make getting and setting system call arguments part of a process ↵Gabe Black
object.
2009-02-27X86: Distinguish the width of values on the stack between 32 and 64 bit ↵Gabe Black
processes.
2009-02-27X86: Add a class to support 32 bit x86 linux process.Gabe Black
2009-02-16sycalls: implement mremap() and add DATA flag for getrlimit(). mremap has ↵Lisa Hsu
been tested on Alpha, compiles for the rest but not tested. I don't see why it wouldn't work though.
2008-11-15syscalls: fix latent brk/obreak bug.Steve Reinhardt
Bogus calls to ChunkGenerator with negative size were triggering a new assertion that was added there. Also did a little renaming and cleanup in the process.
2008-09-10style: Remove non-leading tabs everywhere they shouldn't be. Developers ↵Ali Saidi
should configure their editors to not insert tabs
2008-06-12X86: Make the e820 table manually or automatically configurable from python.Gabe Black
2008-06-11X86: Fix building on *BSD hostsAli Saidi
2008-01-21X86: Use the existing boot_osflags instead of duplicating it.Gabe Black
--HG-- extra : convert_revision : e04e438d7d261a61c52b946c23cd126ed648814a
2007-12-02X86: Start setting up the real mode data structure.Gabe Black
--HG-- extra : convert_revision : ba6d4939d4d58da5586655c83f1617f47dc7e359
2007-12-01X86: Move startup code to the system object to initialize a Linux system.Gabe Black
--HG-- extra : convert_revision : a4796c79f41aa8b8f38bf2f628bee8f1b3af64be
2007-12-01X86: Separate the effective seg base and the "hidden" seg base.Gabe Black
--HG-- extra : convert_revision : 5fcb8d94dbab7a7d6fe797277a5856903c885ad4
2007-10-16Make the process objects use the Params structs in their constructors, and ↵Gabe Black
use a limit to check if access are on the stack. --HG-- extra : convert_revision : af40a7acf424c4c4f62d0d76db1001a714ae0474
2007-09-19X86: Enable the rename system call.Gabe Black
--HG-- extra : convert_revision : bc4a3b5b5ce8e17f632e65ce89df91e2b50e1274
2007-09-19X86: Enable the unlink system call.Gabe Black
--HG-- extra : convert_revision : 4230a13fdb652a87271f8d2ac9ead96cd2af07a5
2007-08-28X86: Hook in an implementation for lseek.Gabe Black
--HG-- extra : convert_revision : d2424e73fa8ce56248c4edbda9db2714c4b0a92e
2007-08-04X86: Make the open flags correct.Gabe Black
--HG-- extra : convert_revision : 2dc81345176d1de247a567d1f748e2b2bd05f829
2007-08-04X86: Add the arch_prctl system call and fix up some microcoding.Gabe Black
The arch_prctl system call is used to set and get the FS and GS segment bases. The FS segment is use for TLS, so glibc needs to be able to set it up. --HG-- extra : convert_revision : 79501491a15967a7a862add846ff88a934fb1b37
2007-07-30X86: __pad0 should be a 4 byte pad, not a 4 long array of 4 byte pads.Gabe Black
--HG-- extra : convert_revision : e0d5ab617bc95d5d714fa9fcdf0a448874aef886
2007-07-30X86: Turn on the exit_group, exit, munmap, and write syscalls.Gabe Black
--HG-- extra : convert_revision : e358c18cd999a8e274108e06502c3324c2d12d3b
2007-07-30X86: Fix up the stat structure. This probably still isn't right.Gabe Black
--HG-- extra : convert_revision : 2e2a22cdf3abe648c9e1309b9070cfd10fc4a8b8
2007-07-30X86: Turn on some system calls, and make the kernel version match my ↵Gabe Black
development machine. --HG-- extra : convert_revision : 2f1969a45aa82708dc4cddef09c01306f76f0a81
2007-07-26Add functions for mmap and brk.Gabe Black
--HG-- extra : convert_revision : 3d0340a2aae87b3462d6562b34ac7e02c685c1ef
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-22Add the "open" syscall.Gabe Black
--HG-- extra : convert_revision : d405ed5d3738639809dd2887955db9253138ccbb
2007-03-06Get X86 to load an elf and start a process for it.Gabe Black
src/arch/x86/SConscript: Add in process source files. src/arch/x86/isa_traits.hh: Replace magic constant numbers with the x86 register names. src/arch/x86/miscregfile.cc: Make clear the miscreg file succeed. There aren't any misc regs, so clearing them is very easy. src/arch/x86/process.hh: An X86 process class. src/base/loader/elf_object.cc: Add in code to recognize x86 as an architecture. src/base/traceflags.py: Add an x86 traceflag src/sim/process.cc: Add in code to create an x86 process. src/arch/x86/intregs.hh: A file which declares names for the integer register indices. src/arch/x86/linux/linux.cc: src/arch/x86/linux/linux.hh: A very simple translation of SPARC's linux.cc and linux.hh. It's probably not correct for x86, but it might not be correct for SPARC either. src/arch/x86/linux/process.cc: src/arch/x86/linux/process.hh: An x86 linux process. The syscall table is split out into it's own file. src/arch/x86/linux/syscalls.cc: The x86 Linux syscall table and the uname function. src/arch/x86/process.cc: The x86 process base class. tests/test-progs/hello/bin/x86/linux/hello: An x86 hello world test binary. --HG-- extra : convert_revision : f22919e010c07aeaf5757dca054d9877a537fd08