summaryrefslogtreecommitdiff
path: root/src/sim
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2007-07-29 01:33:06 -0700
committerGabe Black <gblack@eecs.umich.edu>2007-07-29 01:33:06 -0700
commit5e34c62b3b3f54c826730841029a875607824c42 (patch)
tree8e2ce152f2e793c72283ea5e7bbc195a4e0cdc76 /src/sim
parente5f58903651299d8cbba793423d953e750eb16f4 (diff)
downloadgem5-5e34c62b3b3f54c826730841029a875607824c42.tar.xz
X86: Initial stack frame fixes and constant shuffling.
The initial stack frame for x86 is now substantially more correct. The fixes made here can be back ported to SPARC and possible the other ISAs as well. The auxiliary vector types were moved to the LiveProcess base class because they are independent of ISA. Some of the types may only apply to Linux, though, so they may have to be moved. --HG-- extra : convert_revision : 89ace35fcc8eb9586d2fee8eeccbc3686499ef24
Diffstat (limited to 'src/sim')
-rw-r--r--src/sim/process.hh26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/sim/process.hh b/src/sim/process.hh
index fa46b9c95..8c702da60 100644
--- a/src/sim/process.hh
+++ b/src/sim/process.hh
@@ -214,6 +214,32 @@ class LiveProcess : public Process
public:
+ enum AuxiliaryVectorType {
+ M5_AT_NULL = 0,
+ M5_AT_IGNORE = 1,
+ M5_AT_EXECFD = 2,
+ M5_AT_PHDR = 3,
+ M5_AT_PHENT = 4,
+ M5_AT_PHNUM = 5,
+ M5_AT_PAGESZ = 6,
+ M5_AT_BASE = 7,
+ M5_AT_FLAGS = 8,
+ M5_AT_ENTRY = 9,
+ M5_AT_NOTELF = 10,
+ M5_AT_UID = 11,
+ M5_AT_EUID = 12,
+ M5_AT_GID = 13,
+ M5_AT_EGID = 14,
+ // The following may be specific to Linux
+ M5_AT_PLATFORM = 15,
+ M5_AT_HWCAP = 16,
+ M5_AT_CLKTCK = 17,
+
+ M5_AT_SECURE = 23,
+
+ M5_AT_VECTOR_SIZE = 44
+ };
+
inline uint64_t uid() {return __uid;}
inline uint64_t euid() {return __euid;}
inline uint64_t gid() {return __gid;}