process.cc (6691:cd68b6ecd68d) process.cc (6701:4842482e1bd1)
1/*
2 * Copyright (c) 2007-2008 The Florida State University
3 * Copyright (c) 2009 The University of Edinburgh
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

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

261 tc->setPC(prog_entry);
262 tc->setNextPC(prog_entry + sizeof(MachInst));
263
264 //Align the "stack_min" to a page boundary.
265 stack_min = roundDown(stack_min, pageSize);
266}
267
268PowerISA::IntReg
1/*
2 * Copyright (c) 2007-2008 The Florida State University
3 * Copyright (c) 2009 The University of Edinburgh
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

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

261 tc->setPC(prog_entry);
262 tc->setNextPC(prog_entry + sizeof(MachInst));
263
264 //Align the "stack_min" to a page boundary.
265 stack_min = roundDown(stack_min, pageSize);
266}
267
268PowerISA::IntReg
269PowerLiveProcess::getSyscallArg(ThreadContext *tc, int i)
269PowerLiveProcess::getSyscallArg(ThreadContext *tc, int &i)
270{
271 assert(i < 5);
270{
271 assert(i < 5);
272 return tc->readIntReg(ArgumentReg0 + i);
272 return tc->readIntReg(ArgumentReg0 + i++);
273}
274
275void
276PowerLiveProcess::setSyscallArg(ThreadContext *tc,
277 int i, PowerISA::IntReg val)
278{
279 assert(i < 5);
280 tc->setIntReg(ArgumentReg0 + i, val);
281}
282
283void
284PowerLiveProcess::setSyscallReturn(ThreadContext *tc,
285 SyscallReturn return_value)
286{
287 tc->setIntReg(ReturnValueReg, return_value.value());
288}
273}
274
275void
276PowerLiveProcess::setSyscallArg(ThreadContext *tc,
277 int i, PowerISA::IntReg val)
278{
279 assert(i < 5);
280 tc->setIntReg(ArgumentReg0 + i, val);
281}
282
283void
284PowerLiveProcess::setSyscallReturn(ThreadContext *tc,
285 SyscallReturn return_value)
286{
287 tc->setIntReg(ReturnValueReg, return_value.value());
288}