process.cc (12695:3df197da6069) process.cc (13028:9a09c342891e)
1/*
2 * Copyright (c) 2004-2005 The Regents of The University of Michigan
3 * Copyright (c) 2016 The University of Virginia
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met: redistributions of source code must retain the above copyright

--- 191 unchanged lines hidden (view full) ---

200 {M5_AT_PHDR, "M5_AT_PHDR"},
201 {M5_AT_PAGESZ, "M5_AT_PAGESZ"},
202 {M5_AT_SECURE, "M5_AT_SECURE"},
203 {M5_AT_RANDOM, "M5_AT_RANDOM"},
204 {M5_AT_NULL, "M5_AT_NULL"}
205 };
206 for (const AuxVector<IntType>& aux: auxv) {
207 DPRINTF(Stack, "Wrote aux key %s to address %p\n",
1/*
2 * Copyright (c) 2004-2005 The Regents of The University of Michigan
3 * Copyright (c) 2016 The University of Virginia
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met: redistributions of source code must retain the above copyright

--- 191 unchanged lines hidden (view full) ---

200 {M5_AT_PHDR, "M5_AT_PHDR"},
201 {M5_AT_PAGESZ, "M5_AT_PAGESZ"},
202 {M5_AT_SECURE, "M5_AT_SECURE"},
203 {M5_AT_RANDOM, "M5_AT_RANDOM"},
204 {M5_AT_NULL, "M5_AT_NULL"}
205 };
206 for (const AuxVector<IntType>& aux: auxv) {
207 DPRINTF(Stack, "Wrote aux key %s to address %p\n",
208 aux_keys[aux.a_type], (void*)sp);
209 pushOntoStack((uint8_t*)&aux.a_type, sizeof(IntType));
208 aux_keys[aux.getAuxType()], (void*)sp);
209 pushOntoStack((uint8_t*)&aux.getAuxType(), sizeof(IntType));
210 DPRINTF(Stack, "Wrote aux value %x to address %p\n",
210 DPRINTF(Stack, "Wrote aux value %x to address %p\n",
211 aux.a_val, (void*)sp);
212 pushOntoStack((uint8_t*)&aux.a_val, sizeof(IntType));
211 aux.getAuxVal(), (void*)sp);
212 pushOntoStack((uint8_t*)&aux.getAuxVal(), sizeof(IntType));
213 }
214
215 ThreadContext *tc = system->getThreadContext(contextIds[0]);
216 tc->setIntReg(StackPointerReg, memState->getStackMin());
217 tc->pcState(getStartPC());
218
219 memState->setStackMin(roundDown(memState->getStackMin(), pageSize));
220}

--- 30 unchanged lines hidden ---
213 }
214
215 ThreadContext *tc = system->getThreadContext(contextIds[0]);
216 tc->setIntReg(StackPointerReg, memState->getStackMin());
217 tc->pcState(getStartPC());
218
219 memState->setStackMin(roundDown(memState->getStackMin(), pageSize));
220}

--- 30 unchanged lines hidden ---