From patchwork Wed Jun 15 10:03:51 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michal Simek X-Patchwork-Id: 1643578 X-Patchwork-Delegate: monstr@monstr.eu Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=monstr-eu.20210112.gappssmtp.com header.i=@monstr-eu.20210112.gappssmtp.com header.a=rsa-sha256 header.s=20210112 header.b=emo1/MWt; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4LNLYs6KvPz9t6h for ; Wed, 15 Jun 2022 20:06:41 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 582B5844C4; Wed, 15 Jun 2022 12:04:43 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=monstr.eu Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=monstr-eu.20210112.gappssmtp.com header.i=@monstr-eu.20210112.gappssmtp.com header.b="emo1/MWt"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 6BFB8844A4; Wed, 15 Jun 2022 12:04:32 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com [IPv6:2a00:1450:4864:20::536]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id EA6CA844A1 for ; Wed, 15 Jun 2022 12:04:29 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=monstr.eu Authentication-Results: phobos.denx.de; spf=none smtp.mailfrom=monstr@monstr.eu Received: by mail-ed1-x536.google.com with SMTP id eo8so7139868edb.0 for ; Wed, 15 Jun 2022 03:04:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monstr-eu.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=VZjFfrgoWTaV3LJ+y4L1XSyosWG8Qpbt8OsBA1gfelI=; b=emo1/MWts5GfhG/v1WITmcYu8CICszf42EbUY5ZXIENwO2HJazNIB2ff2TfLbGpXxM jcalWRdzZceXx9HH7qK1FDKcO29pl9IWFppXvTRvy/a93i0/QWYp+URmlzOkFc5ZJijG 0pu1AH7/1XPjwVC0f7rvuDRrWLLZzJPZh4ekpYHM95CCBQII13fBm2UqNt8D81Os8QWx ZLUUOnmrIUYjlqwcf5nbQ1Ey24PAE7Y6ms+ttCVn/6I9WMvcladWhAfUrDTC5lGOCu2+ QsxDDD4i7me16ETimIPiXnCIMR9OmcRlRVsO5Wf8x2t5eD/mPaLQPgkh7EH9+yoe4Bpl L+8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=VZjFfrgoWTaV3LJ+y4L1XSyosWG8Qpbt8OsBA1gfelI=; b=0aKcuk0UDOVrBJr6Y+9GMjpYL5NfOm2GYCKYZ5wJ5jAFJKqglIMl1B/WeroTrlbz0R Kbck3pHRjQTo6v0GgaFjkr3ic5QR2dXoF026zOTarRIZc7R2n10UrdVNToYohCSyqfy+ uhI32guc+Xo40THuKbukdjprRY4qMthBOWKv61TyjfGoMa1UrXdUV/bvqDphlKl56EcQ ZiQN1/E00/BPAQOdZlCAc7NsOhLXUWx6PLt3CrgO2jb41J2SFxft1cfneMiRWua6f7Au OsCgacTcuJgV4rFnKn8HBSDEWnDiKkEO/QOlZDCqhdploJk7/kJnsIOvSKlDt6nCABMJ Y2Pw== X-Gm-Message-State: AOAM533wWNYL6R1hwxerUbBbhHzxWG0KDolHUlImPxZWcz6IPW62/4/+ 9/c/6F3GqoOSVek8apR3ZmHWc2ZJu4PHlQ== X-Google-Smtp-Source: AGRyM1t2Hil+AJ8cY5GAS/mFk0CHMkl3+goBlMaG1pnjsSWF48NQu/l7RS0F/5UJoPznxIrEgqk+cg== X-Received: by 2002:a05:6402:ca2:b0:433:4a31:d0ee with SMTP id cn2-20020a0564020ca200b004334a31d0eemr11862492edb.288.1655287469197; Wed, 15 Jun 2022 03:04:29 -0700 (PDT) Received: from localhost ([2a02:768:2307:40d6::f9e]) by smtp.gmail.com with ESMTPSA id p7-20020a170906614700b0070f1b033de4sm6053783ejl.200.2022.06.15.03.04.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jun 2022 03:04:28 -0700 (PDT) From: Michal Simek X-Google-Original-From: Michal Simek To: u-boot@lists.denx.de, git@xilinx.com Cc: Michal Simek , Ovidiu Panait Subject: [PATCH v3 14/23] microblaze: Optimize register usage in relocate_code Date: Wed, 15 Jun 2022 12:03:51 +0200 Message-Id: X-Mailer: git-send-email 2.36.1 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.5 at phobos.denx.de X-Virus-Status: Clean There are additional operations which can be done simpler that's why improve logic around relocation address r7 handling and _start symbol. Signed-off-by: Michal Simek --- (no changes since v1) arch/microblaze/cpu/start.S | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/arch/microblaze/cpu/start.S b/arch/microblaze/cpu/start.S index 2aae4a0b7ccb..f2d6d12deb73 100644 --- a/arch/microblaze/cpu/start.S +++ b/arch/microblaze/cpu/start.S @@ -271,7 +271,6 @@ relocate_code: mts rshr, r1 addi r31, r6, 0 /* Start to use new GD */ - add r23, r0, r7 /* Move reloc addr to r23 */ /* Relocate text and data - r12 temp value */ addi r21, r0, _start addi r22, r0, _end /* Include BSS too */ @@ -280,15 +279,13 @@ relocate_code: rsub r6, r21, r22 or r5, r0, r0 1: lw r12, r21, r5 /* Load u-boot data */ - sw r12, r23, r5 /* Write zero to loc */ + sw r12, r7, r5 /* Write zero to loc */ cmp r12, r5, r6 /* Check if we have reach the end */ bneid r12, 1b addi r5, r5, 4 /* Increment to next loc - relocate code */ /* R23 points to the base address. */ - add r23, r0, r7 /* Move reloc addr to r23 */ - addi r24, r0, _start /* Get reloc offset */ - rsub r23, r24, r23 /* keep - this is already here gd->reloc_off */ + rsub r23, r21, r7 /* keep - this is already here gd->reloc_off */ /* Setup vectors with post-relocation symbols */ add r5, r0, r23 /* load gd->reloc_off to r5 */