UML - Rename pt_regs general-purpose register file
PATCH 11/14 UML - Rename pt_regs general-purpose register file
Before the removal of tt mode, access to a register on the skas-mode side of a pt_regs struct looked like pt_regs.regs.skas.regs.regs[FOO]. This was bad enough, but it became pt_regs.regs.regs.regs[FOO] with the removal of the union from the middle. To get rid of the run of three "regs", the last field is renamed to "gp".
--
arch/um/include/sysdep-i386/ptrace.h | 36 +++++++++--------- arch/um/include/sysdep-x86_64/ptrace.h | 60 +++++++++++++++--------------- arch/um/kernel/process.c | 4 +- arch/um/kernel/skas/syscall.c | 2 - arch/um/os-Linux/registers.c | 6 +-- arch/um/os-Linux/skas/process.c | 4 +- arch/um/sys-i386/signal.c | 64 ++++++++++++++++----------------- arch/um/sys-x86_64/signal.c | 6 +-- arch/um/sys-x86_64/tls.c | 2 - 9 files changed, 92 insertions(+), 92 deletions(-)
arch/um/include/sysdep-i386/ptrace.h +18 -18
@@ -53,7 +53,7 @@ extern int sysemu_supported;#endif struct uml_pt_regs { -unsigned long regs[MAX_REG_NR ]; +unsigned long gp[MAX_REG_NR ];unsigned long fp[HOST_FP_SIZE ];unsigned long xfp[HOST_XFP_SIZE ];struct faultinfo faultinfo;
@@ -63,23 +63,23 @@ struct uml_pt_regs {#define EMPTY_UML_PT_REGS { } -#define UPT_IP (r) REGS_IP((r)->regs) -#define UPT_SP (r) REGS_SP((r)->regs) -#define UPT_EFLAGS (r) REGS_EFLAGS((r)->regs) -#define UPT_EAX (r) REGS_EAX((r)->regs) -#define UPT_EBX (r) REGS_EBX((r)->regs) -#define UPT_ECX (r) REGS_ECX((r)->regs) -#define UPT_EDX (r) REGS_EDX((r)->regs) -#define UPT_ESI (r) REGS_ESI((r)->regs) -#define UPT_EDI (r) REGS_EDI((r)->regs) -#define UPT_EBP (r) REGS_EBP((r)->regs) +#define UPT_IP (r) REGS_IP((r)->gp) +#define UPT_SP (r) REGS_SP((r)->gp) +#define UPT_EFLAGS (r) REGS_EFLAGS((r)->gp) +#define UPT_EAX (r) REGS_EAX((r)->gp) +#define UPT_EBX (r) REGS_EBX((r)->gp) +#define UPT_ECX (r) REGS_ECX((r)->gp) +#define UPT_EDX (r) REGS_EDX((r)->gp) +#define UPT_ESI (r) REGS_ESI((r)->gp) +#define UPT_EDI (r) REGS_EDI((r)->gp) +#define UPT_EBP (r) REGS_EBP((r)->gp)#define UPT_ORIG_EAX (r) ((r)->syscall) -#define UPT_CS (r) REGS_CS((r)->regs) -#define UPT_SS (r) REGS_SS((r)->regs) -#define UPT_DS (r) REGS_DS((r)->regs) -#define UPT_ES (r) REGS_ES((r)->regs) -#define UPT_FS (r) REGS_FS((r)->regs) -#define UPT_GS (r) REGS_GS((r)->regs) +#define UPT_CS (r) REGS_CS((r)->gp) +#define UPT_SS (r) REGS_SS((r)->gp) +#define UPT_DS (r) REGS_DS((r)->gp) +#define UPT_ES (r) REGS_ES((r)->gp) +#define UPT_FS (r) REGS_FS((r)->gp) +#define UPT_GS (r) REGS_GS((r)->gp)#define UPT_SYSCALL_ARG1 (r) UPT_EBX(r)#define UPT_SYSCALL_ARG2 (r) UPT_ECX(r)
@@ -161,7 +161,7 @@ struct syscall_args {#define UPT_SET_SYSCALL_RETURN (r, res) \ REGS_SET_SYSCALL_RETURN((r)->regs, (res)) -#define UPT_RESTART_SYSCALL (r) REGS_RESTART_SYSCALL((r)->regs) +#define UPT_RESTART_SYSCALL (r) REGS_RESTART_SYSCALL((r)->gp)#define UPT_ORIG_SYSCALL (r) UPT_EAX(r)#define UPT_SYSCALL_NR (r) UPT_ORIG_EAX(r)
arch/um/include/sysdep-x86_64/ptrace.h +30 -30
80 lines not on this page · raw message
arch/um/kernel/process.c +2 -2
@@ -201,9 +201,9 @@ int copy_thread(int nr, unsigned long clif (current->thread.forking) {memcpy (&p->thread.regs.regs, ®s->regs,sizeof (p->thread.regs.regs)); -REGS_SET_SYSCALL_RETURN (p->thread.regs.regs.regs,0 ); +REGS_SET_SYSCALL_RETURN (p->thread.regs.regs.gp,0 );if (sp !=0 ) -REGS_SP (p->thread.regs.regs.regs) = sp; +REGS_SP (p->thread.regs.regs.gp) = sp; handler = fork_handler;
arch/um/kernel/skas/syscall.c +1 -1
@@ -34,7 +34,7 @@ void handle_syscall(struct uml_pt_regs * result = -ENOSYS ; else result = EXECUTE_SYSCALL(syscall, regs); -REGS_SET_SYSCALL_RETURN (r->regs, result); +REGS_SET_SYSCALL_RETURN (r->gp, result);syscall_trace (r,1 ); }
arch/um/os-Linux/registers.c +3 -3
@@ -16,14 +16,14 @@ static unsigned long exec_regs[MAX_REG_Nvoid init_thread_registers (struct uml_pt_regs *to) { -memcpy (to->regs, exec_regs,sizeof (to->regs)); +memcpy (to->gp, exec_regs,sizeof (to->gp)); }void save_registers (int pid,struct uml_pt_regs *regs) {int err; - err =ptrace (PTRACE_GETREGS , pid,0 , regs->regs); + err =ptrace (PTRACE_GETREGS , pid,0 , regs->gp);if (err <0 )panic ("save_registers - saving registers failed, errno = %d\n" , errno);
@@ -33,7 +33,7 @@ void restore_registers(int pid, struct u {int err; - err =ptrace (PTRACE_SETREGS , pid,0 , regs->regs); + err =ptrace (PTRACE_SETREGS , pid,0 , regs->gp);if (err <0 )panic ("restore_registers - saving registers failed, " "errno = %d\n" , errno);
arch/um/os-Linux/skas/process.c +2 -2
@@ -138,7 +138,7 @@ static void handle_trap(int pid, structint err, status;/* Mark this as a syscall */ -UPT_SYSCALL_NR (regs) =PT_SYSCALL_NR (regs->regs); +UPT_SYSCALL_NR (regs) =PT_SYSCALL_NR (regs->gp);if (!local_using_sysemu) {
@@ -352,7 +352,7 @@ void userspace(struct uml_pt_regs *regs)/* Avoid -ERESTARTSYS handling in host */ if (PT_SYSCALL_NR_OFFSET !=PT_SYSCALL_RET_OFFSET ) -PT_SYSCALL_NR (regs->regs) =-1 ; +PT_SYSCALL_NR (regs->gp) =-1 ; } } }
arch/um/sys-i386/signal.c +32 -32
77 lines not on this page · raw message
arch/um/sys-x86_64/signal.c +3 -3
@@ -16,7 +16,7 @@ void copy_sc(struct uml_pt_regs *regs, vstruct sigcontext *sc = from;#define GETREG (regs, regno, sc, regname) \ - (regs)->regs[(regno) / sizeof(unsigned long)] = (sc)->regname + (regs)->gp[(regno) / sizeof(unsigned long)] = (sc)->regnameGETREG (regs,R8 , sc, r8);GETREG (regs,R9 , sc, r9);
@@ -47,7 +47,7 @@ static int copy_sc_from_user(struct pt_rint err =0 ;#define GETREG (regs, regno, sc, regname) \ - __get_user((regs)->regs.regs[(regno) / sizeof(unsigned long)], \ + __get_user((regs)->regs.gp[(regno) / sizeof(unsigned long)], \ &(sc)->regname) err |=GETREG (regs,R8 , from, r8);
@@ -86,7 +86,7 @@ static int copy_sc_to_user(struct sigcon err |=__put_user (0 , &to->fs);#define PUTREG (regs, regno, sc, regname) \ - __put_user((regs)->regs.regs[(regno) / sizeof(unsigned long)], \ + __put_user((regs)->regs.gp[(regno) / sizeof(unsigned long)], \ &(sc)->regname) err |=PUTREG (regs,RDI , to, rdi);
arch/um/sys-x86_64/tls.c +1 -1
@@ -11,7 +11,7 @@ int arch_copy_tls(struct task_struct *t)* (which is argument 5, child_tid, of clone) so it can be set * during context switches. */ - t->thread.arch.fs = t->thread.regs.regs.regs[R8 /sizeof (long )]; + t->thread.arch.fs = t->thread.regs.regs.gp[R8 /sizeof (long )];return 0 ; }
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
User-mode-linux-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel