Re: [PATCH -tip -v10 5/7] x86: add pt_regs register and stack access APIs

From: Andi Kleen
Date: Mon Jul 06 2009 - 10:35:15 EST


Masami Hiramatsu <mhiramat@xxxxxxxxxx> writes:

> Add following APIs for accessing registers and stack entries from pt_regs.

You forgot to state who calls these functions/why are they added?
Who only has strings for registers?

I can see the point of having a function for nth argument though,
that's useful.

> +static inline unsigned long regs_get_argument_nth(struct pt_regs *regs,
> + unsigned n)
> +{
> + if (n < NR_REGPARMS) {
> + switch (n) {
> + case 0:
> + return regs->ax;
> + case 1:
> + return regs->dx;
> + case 2:
> + return regs->cx;


[....]

That could be done shorter with a offsetof table.

> + if (n < NR_REGPARMS) {
> + switch (n) {
> + case 0:
> + return regs->di;
> + case 1:
> + return regs->si;
> + case 2:
> + return regs->dx;
> + case 3:
> + return regs->cx;
> + case 4:
> + return regs->r8;
> + case 5:
> + return regs->r9;

and that too.


-Andi
--
ak@xxxxxxxxxxxxxxx -- Speaking for myself only.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/