Messages in this thread | | | Subject | Re: [PATCH V2] score: add regset support | From | liqin.chen@sunplusc ... | Date | Mon, 13 Jul 2009 13:56:22 +0800 |
| |
linux-arch-owner@vger.kernel.org 写于 2009-07-10 20:49:44:
> struct pt_regs { > unsigned long pad0[6]; > unsigned long orig_r4; > unsigned long orig_r7; > unsigned long regs[32]; > > unsigned long cel; > unsigned long ceh; > > unsigned long sr0; /* cnt */ > unsigned long sr1; /* lcr */ > unsigned long sr2; /* scr */ > > unsigned long cp0_epc; > unsigned long cp0_ema; > unsigned long cp0_psr; > unsigned long cp0_ecr; > unsigned long cp0_condition; > > long is_syscall; > }; > > to > > struct pt_regs { > unsigned long regs[32]; > > unsigned long cel; > unsigned long ceh; > > unsigned long sr0; /* cnt */ > unsigned long sr1; /* lcr */ > unsigned long sr2; /* scr */ > > unsigned long cp0_epc; > unsigned long cp0_ema; > unsigned long cp0_psr; > unsigned long cp0_ecr; > unsigned long cp0_condition; > #ifdef __KERNEL__ > unsigned long orig_r4; > unsigned long orig_r7; > long is_syscall; > unsigned long pad0[3]; > #else > unsigned long pad0[6]; > #endif > }; >
unsigned long pad0[6];
was place at the start of pt_regs use to hold the arguments from userland. caller(exception handler) not need to change stack pointer.
unsigned long orig_r4; unsigned long orig_r7; move to end of the pt_regs haven't problem.
Thanks, Liqin
| |