diff options
author | akpm@osdl.org <akpm@osdl.org> | 2006-01-12 04:05:37 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-12 12:08:50 -0500 |
commit | e52f4ca2a7cfea3495cabae23d48f1538f09ccf2 (patch) | |
tree | d924a14c6e64a768faf98eb19deb5b7e81ca9934 /arch | |
parent | 27f451304aa6f2bccf34ef3c2b049c01d05d6fff (diff) |
[PATCH] alpha: task_pt_regs()
)
From: Al Viro <viro@ftp.linux.org.uk>
rename alpha_task_regs() to task_pt_regs(), switch open-coded instances
to use of the helper.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/alpha/kernel/process.c | 19 | ||||
-rw-r--r-- | arch/alpha/kernel/ptrace.c | 7 |
2 files changed, 9 insertions, 17 deletions
diff --git a/arch/alpha/kernel/process.c b/arch/alpha/kernel/process.c index 982d732a8705..9924fd07743a 100644 --- a/arch/alpha/kernel/process.c +++ b/arch/alpha/kernel/process.c | |||
@@ -428,30 +428,15 @@ dump_elf_thread(elf_greg_t *dest, struct pt_regs *pt, struct thread_info *ti) | |||
428 | int | 428 | int |
429 | dump_elf_task(elf_greg_t *dest, struct task_struct *task) | 429 | dump_elf_task(elf_greg_t *dest, struct task_struct *task) |
430 | { | 430 | { |
431 | struct thread_info *ti; | 431 | dump_elf_thread(dest, task_pt_regs(task), task_thread_info(task)); |
432 | struct pt_regs *pt; | ||
433 | |||
434 | ti = task->thread_info; | ||
435 | pt = (struct pt_regs *)((unsigned long)ti + 2*PAGE_SIZE) - 1; | ||
436 | |||
437 | dump_elf_thread(dest, pt, ti); | ||
438 | |||
439 | return 1; | 432 | return 1; |
440 | } | 433 | } |
441 | 434 | ||
442 | int | 435 | int |
443 | dump_elf_task_fp(elf_fpreg_t *dest, struct task_struct *task) | 436 | dump_elf_task_fp(elf_fpreg_t *dest, struct task_struct *task) |
444 | { | 437 | { |
445 | struct thread_info *ti; | 438 | struct switch_stack *sw = (struct switch_stack *)task_pt_regs(task) - 1; |
446 | struct pt_regs *pt; | ||
447 | struct switch_stack *sw; | ||
448 | |||
449 | ti = task->thread_info; | ||
450 | pt = (struct pt_regs *)((unsigned long)ti + 2*PAGE_SIZE) - 1; | ||
451 | sw = (struct switch_stack *)pt - 1; | ||
452 | |||
453 | memcpy(dest, sw->fp, 32 * 8); | 439 | memcpy(dest, sw->fp, 32 * 8); |
454 | |||
455 | return 1; | 440 | return 1; |
456 | } | 441 | } |
457 | 442 | ||
diff --git a/arch/alpha/kernel/ptrace.c b/arch/alpha/kernel/ptrace.c index 9069281313a3..0cd060598f9a 100644 --- a/arch/alpha/kernel/ptrace.c +++ b/arch/alpha/kernel/ptrace.c | |||
@@ -72,6 +72,13 @@ enum { | |||
72 | REG_R0 = 0, REG_F0 = 32, REG_FPCR = 63, REG_PC = 64 | 72 | REG_R0 = 0, REG_F0 = 32, REG_FPCR = 63, REG_PC = 64 |
73 | }; | 73 | }; |
74 | 74 | ||
75 | #define PT_REG(reg) \ | ||
76 | (PAGE_SIZE*2 - sizeof(struct pt_regs) + offsetof(struct pt_regs, reg)) | ||
77 | |||
78 | #define SW_REG(reg) \ | ||
79 | (PAGE_SIZE*2 - sizeof(struct pt_regs) - sizeof(struct switch_stack) \ | ||
80 | + offsetof(struct switch_stack, reg)) | ||
81 | |||
75 | static int regoff[] = { | 82 | static int regoff[] = { |
76 | PT_REG( r0), PT_REG( r1), PT_REG( r2), PT_REG( r3), | 83 | PT_REG( r0), PT_REG( r1), PT_REG( r2), PT_REG( r3), |
77 | PT_REG( r4), PT_REG( r5), PT_REG( r6), PT_REG( r7), | 84 | PT_REG( r4), PT_REG( r5), PT_REG( r6), PT_REG( r7), |