From patchwork Mon Jun 10 09:19:36 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Magnus Damm X-Patchwork-Id: 2696291 Return-Path: X-Original-To: patchwork-linux-sh@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id B9EEE3FD4E for ; Mon, 10 Jun 2013 09:12:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752888Ab3FJJMI (ORCPT ); Mon, 10 Jun 2013 05:12:08 -0400 Received: from mail-pa0-f54.google.com ([209.85.220.54]:43685 "EHLO mail-pa0-f54.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752457Ab3FJJMH (ORCPT ); Mon, 10 Jun 2013 05:12:07 -0400 Received: by mail-pa0-f54.google.com with SMTP id kx10so1963064pab.27 for ; Mon, 10 Jun 2013 02:12:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:date:message-id:in-reply-to:references:subject; bh=Ct4sEFnDTr16UD7/uWGGPj2BntCHKcGN15GkWYYXIVo=; b=BOfH1u/o4lyeU5GIUX0CqrKXOBOrPQcDksABazJSK295oxia2d1hxAR56nqu9on9b3 Cl5WwRiA4Frk71BP5svvGjS6pEW5ayKNCG5C/b7l5FWPTSQZlqPY1NU/A84rAvBWj4hW CQmovIbY63B6wgwS5HVQyBPWpxmU8IMfSGP+11ehdrfC5sf4tj0fuaY6bK3XEHY0jtAb cDIEohxlU0sUckpO8wJxqz5dGdSizzbDVD1Jfdy5iTU2KXQSYbVgG5Y8RS93hVZvXLm5 9DcxMwmoOpp1cQpz9fBzy79IAzw8i6ztKw9HNHYBa7zF9kpnR3jNfSLwUgfo5F1fwpk/ bIAg== X-Received: by 10.66.144.170 with SMTP id sn10mr13128700pab.42.1370855527264; Mon, 10 Jun 2013 02:12:07 -0700 (PDT) Received: from [127.0.0.1] (ac230065.ppp.asahi-net.or.jp. [183.77.230.65]) by mx.google.com with ESMTPSA id rn7sm9779989pbc.12.2013.06.10.02.12.04 for (version=TLSv1.2 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 10 Jun 2013 02:12:06 -0700 (PDT) From: Magnus Damm To: linux-sh@vger.kernel.org Cc: arnd@arndb.de, horms@verge.net.au, laurent.pinchart@ideasonboard.com, olof@lixom.net, Magnus Damm , linux-arm-kernel@lists.infradead.org Date: Mon, 10 Jun 2013 18:19:36 +0900 Message-Id: <20130610091936.18944.66463.sendpatchset@w520> In-Reply-To: <20130610091925.18944.68117.sendpatchset@w520> References: <20130610091925.18944.68117.sendpatchset@w520> Subject: [PATCH 01/06] ARM: shmobile: Add SMP boot function and argument Sender: linux-sh-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-sh@vger.kernel.org From: Magnus Damm Add code for mach-shmobile to allow specifying boot function and argument. Will initially be used for SMP together with SCU but may in the future also be used for deep sleep resume. This patch removes one inline virtual to physical address conversion. Signed-off-by: Magnus Damm --- arch/arm/mach-shmobile/headsmp.S | 13 ++++++++++--- arch/arm/mach-shmobile/include/mach/common.h | 4 +++- 2 files changed, 13 insertions(+), 4 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/arm/mach-shmobile/headsmp.S +++ work/arch/arm/mach-shmobile/headsmp.S 2013-06-05 13:21:14.000000000 +0900 @@ -27,7 +27,14 @@ ENDPROC(shmobile_invalidate_start) * We need _long_ jump to the physical address. */ .align 12 -ENTRY(shmobile_secondary_vector) +ENTRY(shmobile_boot_vector) + ldr r0, 2f ldr pc, 1f -1: .long shmobile_invalidate_start - PAGE_OFFSET + PLAT_PHYS_OFFSET -ENDPROC(shmobile_secondary_vector) +ENDPROC(shmobile_boot_vector) + + .globl shmobile_boot_fn +shmobile_boot_fn: +1: .space 4 + .globl shmobile_boot_arg +shmobile_boot_arg: +2: .space 4 --- 0016/arch/arm/mach-shmobile/include/mach/common.h +++ work/arch/arm/mach-shmobile/include/mach/common.h 2013-06-05 13:19:52.000000000 +0900 @@ -7,7 +7,9 @@ extern void shmobile_setup_delay(unsigne unsigned int mult, unsigned int div); struct twd_local_timer; extern void shmobile_setup_console(void); -extern void shmobile_secondary_vector(void); +extern void shmobile_boot_vector(void); +extern unsigned long shmobile_boot_fn; +extern unsigned long shmobile_boot_arg; extern void shmobile_secondary_vector_scu(void); struct clk; extern int shmobile_clk_init(void);