Debug: Implement getArgument() and function skipping for ARM.
Review Request #244 - Created Sept. 15, 2010 and submitted
| Information | |
|---|---|
| Ali Saidi | |
| gem5 | |
| Reviewers | |
| Default | |
Debug: Implement getArgument() and function skipping for ARM. In the process make add skipFuction() to handle isa specific function skipping instead of ifdefs and other ugliness. For almost all ABIs, 64 bit arguments can only start in even registers. Size is now passed to getArgument() so that 32 bit systems can make decisions about register selection for 64 bit arguments.
Posted (Sept. 15, 2010, 10:53 p.m.)
-
src/arch/arm/utility.cc (Diff revision 1) -
I'm somewhat confused about the "int &number". Why exactly does it need to be a reference now? Why is number incremented in some cases and not others? I thought I understood that you were trying to align it to an even register, but below, you have two number++ statements in one block. Perhaps you could explain in a comment a bit more about what's going on and why it's now a reference.
Posted (Sept. 26, 2010, 8:34 a.m.)
-
src/arch/arm/utility.cc (Diff revision 1) -
If you pass in register number 1 and then want to read a 64 bit register, 64 bit arguments are only passed in even registers, so you have to increment it to 2 to start reading the first 32 bits and then increment it again to 3 to read the next 32 bits to assemble a 64bit int.
