Received: by 2002:a17:90a:9307:0:0:0:0 with SMTP id p7csp2840695pjo; Mon, 16 Mar 2020 05:42:27 -0700 (PDT) X-Google-Smtp-Source: ADFU+vu7ogQFI5ka1faA32cStuakXlsH+7xf6j4q5xZK8gdFabmT0ulDbvWHao5d1CGTQsv7Z83y X-Received: by 2002:aca:b1d4:: with SMTP id a203mr1961108oif.91.1584362547083; Mon, 16 Mar 2020 05:42:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1584362547; cv=none; d=google.com; s=arc-20160816; b=rMvnZ0jpMN9uGiv/RwFrtCSo8kuIe71qPk1zyAlH8OiqdFifGBoLJ4bIt2LFJkdYYZ IT5Xg8nirn2xuGV2FhInwTfMXOWPwVQc8u3jvXSZCN6IQOnXn9gftu/1lEcl3CV/AGPk 0Vu4OKcxYkiCOP0V9UjfM97ehI/4++YtFSMGbi0PemUC3nHPI3Kdl4Y+p5U2FRaRQQT7 oClgsUQA8fmLn0Qe7tD2D1nbjBSVT9T+K1D0x0T6aikZLLC8s98k4XvkNPWyKkoW4w5g zWZA5fGxVbCzx4bCvXQs/hmeIvHyoog5xvbP03YLiPgpb5dcnVDWBfeZyfNgq3LWA95E pa8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=mVshge8v7cWpWqrI1/9Dtuqn4/OVVQLNWKKmJG3pY5U=; b=lqrOO2IxRAEZOpdkcbz/bV1bO3Csb2w9L6pJuPGeovoi4mFFlUbnn8ksxCW+R3ur1i zfxz1oR3g4bat/GdKQCgYvOXUuGVg82ojaQWvur/2WwI2CftBdYh667FpXSF0cMNhS7A rL7E6ArzYOaOhT0J+rW9gGA41Q6KHVGF6u30QUlTB7sqQFMs0wRHV1pYbEpnV1hmmJyU JC3KrAHAIohgLRvRSYs7RvSdPnRlvAvtajszszK440aMS0iimSVdXw2z+4V0lml66IlT T0578Wtk+v1t7koL2UlR5FK07THVb7bYxZ+0dBhANjurTOCETZIq+TtSgK6QG00oLKt3 RhKg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 7si9228477oij.97.2020.03.16.05.42.15; Mon, 16 Mar 2020 05:42:27 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731038AbgCPMkt (ORCPT + 99 others); Mon, 16 Mar 2020 08:40:49 -0400 Received: from poy.remlab.net ([94.23.215.26]:34254 "EHLO ns207790.ip-94-23-215.eu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731003AbgCPMks (ORCPT ); Mon, 16 Mar 2020 08:40:48 -0400 Received: from basile.remlab.net (ip6-localhost [IPv6:::1]) by ns207790.ip-94-23-215.eu (Postfix) with ESMTP id BEBCD5FAC8; Mon, 16 Mar 2020 13:40:46 +0100 (CET) From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= To: catalin.marinas@arm.com, will@kernel.org, linux-arm-kernel@lists.infradead.org Cc: mark.rutland@arm.com, linux-kernel@vger.kernel.org Subject: [PATCH 1/3] arm64: clean up trampoline vector loads Date: Mon, 16 Mar 2020 14:40:44 +0200 Message-Id: <20200316124046.103844-1-remi@remlab.net> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Rémi Denis-Courmont This switches from custom instruction patterns to the regular large memory model sequence with ADRP and LDR. In doing so, the ADD instruction can be eliminated in the SDEI handler, and the code no longer assumes that the trampoline vectors and the vectors address both start on a page boundary. Signed-off-by: Rémi Denis-Courmont --- arch/arm64/kernel/entry.S | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S index e5d4e30ee242..24f828739696 100644 --- a/arch/arm64/kernel/entry.S +++ b/arch/arm64/kernel/entry.S @@ -805,9 +805,9 @@ alternative_else_nop_endif 2: tramp_map_kernel x30 #ifdef CONFIG_RANDOMIZE_BASE - adr x30, tramp_vectors + PAGE_SIZE + adrp x30, tramp_vectors + PAGE_SIZE alternative_insn isb, nop, ARM64_WORKAROUND_QCOM_FALKOR_E1003 - ldr x30, [x30] + ldr x30, [x30, #:lo12:__entry_tramp_data_start] #else ldr x30, =vectors #endif @@ -953,9 +953,8 @@ SYM_CODE_START(__sdei_asm_entry_trampoline) 1: str x4, [x1, #(SDEI_EVENT_INTREGS + S_ORIG_ADDR_LIMIT)] #ifdef CONFIG_RANDOMIZE_BASE - adr x4, tramp_vectors + PAGE_SIZE - add x4, x4, #:lo12:__sdei_asm_trampoline_next_handler - ldr x4, [x4] + adrp x4, tramp_vectors + PAGE_SIZE + ldr x4, [x4, #:lo12:__sdei_asm_trampoline_next_handler] #else ldr x4, =__sdei_asm_handler #endif -- 2.25.1