From patchwork Mon Feb 23 07:16:34 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Magnus Damm X-Patchwork-Id: 8379 X-Patchwork-Delegate: lethal@linux-sh.org Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id n1N7InWc002433 for ; Mon, 23 Feb 2009 07:18:49 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752170AbZBWHSt (ORCPT ); Mon, 23 Feb 2009 02:18:49 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752207AbZBWHSt (ORCPT ); Mon, 23 Feb 2009 02:18:49 -0500 Received: from wa-out-1112.google.com ([209.85.146.179]:35906 "EHLO wa-out-1112.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752170AbZBWHSs (ORCPT ); Mon, 23 Feb 2009 02:18:48 -0500 Received: by wa-out-1112.google.com with SMTP id v33so1032595wah.21 for ; Sun, 22 Feb 2009 23:18:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:to:cc:date:message-id :subject; bh=YKDTmWwrHKwzTN/7vp53YNPHLmMkGChPvgU9aGaqkhI=; b=hEj5mtvuM18ygcKP6lwiLL+dd3YaQBrjCMbWq8Jp7aGHs06OgWBr7MCxRr9/15Ic0h 89i+FkiYUokwR11VBirQiwgvoeT28I3jezsDHDlcviaYHfIQeGJc/EQTeGsPmRQjXzA3 VfV/lPkyUH54Xj3d3uEDZi6jrn4SXHSv0VZ/s= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:date:message-id:subject; b=Wi4tWe+ppix5WMYI8WXOXw9WU/wPm2WVFrMEAZani+E8c4iYgvUSDyhO4THmQ4eZjy ARdfz5M6KMQG9sX2fQ5VzXcajK1E0HLVmtEGzSbLfknTL6VvEEov8Z7bzDcx/DkcC0pX CVGqiiyA1jgV/xX437BfrXHm+yAHrIWCtpBjc= Received: by 10.114.95.12 with SMTP id s12mr1541648wab.223.1235373527561; Sun, 22 Feb 2009 23:18:47 -0800 (PST) Received: from rx1.opensource.se (mailhost.igel.co.jp [219.106.231.130]) by mx.google.com with ESMTPS id n20sm10013712pof.3.2009.02.22.23.18.46 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sun, 22 Feb 2009 23:18:47 -0800 (PST) From: Magnus Damm To: linux-sh@vger.kernel.org Cc: Magnus Damm , lethal@linux-sh.org Date: Mon, 23 Feb 2009 16:16:34 +0900 Message-Id: <20090223071634.12295.18307.sendpatchset@rx1.opensource.se> Subject: [PATCH 03/04] sh: remove EXPEVT vector from stack on sh3/sh4/sh4a Sender: linux-sh-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-sh@vger.kernel.org From: Magnus Damm Remove EXPEVT vector from the stack, lookup_exception_vector() for sh3/sh4/sh4a is already using k2 to get the vector. Signed-off-by: Magnus Damm --- arch/sh/include/asm/ptrace.h | 8 +++----- arch/sh/kernel/cpu/sh3/entry.S | 5 +---- 2 files changed, 4 insertions(+), 9 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-sh" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html --- 0001/arch/sh/include/asm/ptrace.h +++ work/arch/sh/include/asm/ptrace.h 2009-02-23 13:50:20.000000000 +0900 @@ -122,14 +122,12 @@ extern void user_disable_single_step(str #ifdef CONFIG_SH_DSP #define task_pt_regs(task) \ ((struct pt_regs *) (task_stack_page(task) + THREAD_SIZE \ - - sizeof(struct pt_dspregs) - sizeof(unsigned long)) - 1) + - sizeof(struct pt_dspregs)) - 1) #define task_pt_dspregs(task) \ - ((struct pt_dspregs *) (task_stack_page(task) + THREAD_SIZE \ - - sizeof(unsigned long)) - 1) + ((struct pt_dspregs *) (task_stack_page(task) + THREAD_SIZE) - 1) #else #define task_pt_regs(task) \ - ((struct pt_regs *) (task_stack_page(task) + THREAD_SIZE \ - - sizeof(unsigned long)) - 1) + ((struct pt_regs *) (task_stack_page(task) + THREAD_SIZE) - 1) #endif static inline unsigned long profile_pc(struct pt_regs *regs) --- 0006/arch/sh/kernel/cpu/sh3/entry.S +++ work/arch/sh/kernel/cpu/sh3/entry.S 2009-02-23 13:50:58.000000000 +0900 @@ -312,7 +312,6 @@ skip_restore: mov #0, k1 mov.b k1, @k0 #endif - mov.l @r15+, k2 ! restore EXPEVT mov k4, r15 rte nop @@ -487,20 +486,18 @@ handle_exception_special: .align L1_CACHE_SHIFT ! save_regs() -! - save vector, default tra, macl, mach, gbr, ssr, pr* and spc on the stack +! - save default tra, macl, mach, gbr, ssr, pr* and spc on the stack ! - save r15*, r14, r13, r12, r11, r10, r9, r8 on the stack ! - switch bank ! - save r7, r6, r5, r4, r3, r2, r1, r0 on the stack ! k0 contains original stack pointer* ! k1 trashed -! k2 passes vector (EXPEVT) ! k3 passes original pr* ! k4 trashed ! BL=1 on entry, on exit BL=0. save_regs: mov #-1, r1 - mov.l k2, @-r15 ! vector in k2 mov.l k1, @-r15 ! set TRA (default: -1) sts.l macl, @-r15 sts.l mach, @-r15