From nobody Wed Jun 17 07:15:32 2026 Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B5E703A1685 for ; Mon, 27 Apr 2026 08:47:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777279663; cv=none; b=dT3YN5BLozObwwtwp+iRZGAeLILeoUmFS0bS49t1UMa3CsjxR7HBY97TF/JoVyB5vJCl2SwBsI7IEL9qoUKRLUuP31fq7GXAhboa360wMsmHhyXrT+bycQ2/RstO26h0uNaTdgI9hm73CxeiLslPtzDvjbMFMnLouuGUKueiNhY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777279663; c=relaxed/simple; bh=UFnN0s+RsvkTALfr/a8OQyrxAQCThTQXJhV/kjv+G6c=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=McmmBmIOdmTzPaKwTJAPEekIBXO/3pccoDU67x5Qr4rA4fAPPbNIJKU0RmM6CGjrTeyZ05uEHAkdKkgrMJACEE7LR/Ey3ioUGVfJ20Od18Eddko3xfIpmCqZPLtHdB44TGCkGWGeTJj9gapfSA1TaHpOcG76tVl+xh44fFXhZTQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=hev.cc; spf=pass smtp.mailfrom=hev.cc; dkim=pass (2048-bit key) header.d=hev-cc.20251104.gappssmtp.com header.i=@hev-cc.20251104.gappssmtp.com header.b=Xt4Rm6I8; arc=none smtp.client-ip=209.85.214.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=hev.cc Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=hev.cc Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=hev-cc.20251104.gappssmtp.com header.i=@hev-cc.20251104.gappssmtp.com header.b="Xt4Rm6I8" Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-2b24fede2acso64587705ad.3 for ; Mon, 27 Apr 2026 01:47:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hev-cc.20251104.gappssmtp.com; s=20251104; t=1777279662; x=1777884462; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=oKHydH/fhv4hYoRFTuRlPVbogNTqYgaWcyoMFBpB6F8=; b=Xt4Rm6I8c5zKJ5QOLjGPT9Svkw8JSMaDdfNUG90rL1Bk2F967x5MofKoOUOnMOK9EX hdfvq9a0X//3Ns2JFBehusWLP7R48yTftH5EPqVce0zHfYcxKwbsVYbLozaysfi64u53 fNKKOGBhejfaXqfKEhMjgsLLRLPmuchrUHr/bTERkv44Hnwr3i7nHUu6t/Wntv4YRVH8 /lK1BbeZ8dv6L6Z4Acpxd3QDK8n/E7nThUVERyvsQlm81nrslqjdlSLN071qoOTXaL/l oXb0GIQQn9prMOXDr13oqhTDnbREFG/9JFfnZkZ0tSGb/Kog1dGpqQ6zjvu8jk97m3KI OqTw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777279662; x=1777884462; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=oKHydH/fhv4hYoRFTuRlPVbogNTqYgaWcyoMFBpB6F8=; b=NASFMa9rXNVXYooC+S9yxKBKBp7B7Z6FRD+JADwuFr/gG4yOECrauLHwhLUmn3gCMG zhVHewIT0cgU7GA6XR+22vMbs4m4ieqZRpufffCDgd4NzahU/pQJadbR7o3cojvVuzUI TV9H53aajgVUtpxrjmc7uu2XsAUGdaLepw6kPMqYyawi3dC5YbcgUhMyoYGueDW2BPaF vPoA/qxA/hhsYCIBpkv1ETyi4WOhzwSjhQqtaIf6FV+97V60kYmSNfROoeEHparsqIE9 bE+LGogtyWtEJIPAIdWAaYAWjcOWjpQR3soHDKU7BIhrvRNQtNPBLamAkLt4VMOHpFLK Z8Hw== X-Forwarded-Encrypted: i=1; AFNElJ9tmsoLmOu2Kh6S4mQVzvTnhJItuvKpPatjZfNLL9fYrH6Qjncw6uytPu8sP6R4aoSsiN+NDVbCItPwaU8=@vger.kernel.org X-Gm-Message-State: AOJu0YyZwo8MqNLlOg5TmqLnNPL/uegEJM22ZHEfljZvTzJ4si38CZRo BxglHixctdCK4Wn7BviAg7X8uVpDstlFhXoaO739KrG47PQT0i8pY25TwWDhlJt2CgQ= X-Gm-Gg: AeBDievqy72So/N/6CoWK72TgGcisCDw4+FgzdWxmJm6rs0qtkjd7DL48giK271mS7P VBmBdf0vWdT7PJukVCBvFiJVzsuZJ7ivoH+VeFPJ3wIGSPQEHnNpOn3fKBe8+QGNPWMDiLYu5Is jirG5zpR7hikisKtQuVo8+6LkBcpq+TmV68CjCuSHpeZU66uI3H54XVGs+4Yt6bTvbUMQY3tN4J JAK/4CQuHnE6z5rUaL8VH8iGEePWsn51MAkI+l/r6oSWVT9anieWdahVxa7EZTLLS6UhjTTX1VY qixIyc3l/5i0SuZUypMTgO7PBXjuy0zjKCaMwealHDgSdysoB7JVuBo7S8sjwimWuKP/7DZECGZ 4+BKQnNKlgWyMqexbQvY4ATqRl6XjBF8gc6KWi3fPjTeGjmya/1nB2GMTp9jekf/NOlrNNCMuTa 6RgvIaPH2LqVesss23soacnA== X-Received: by 2002:a17:902:cec6:b0:2b0:917c:bc4 with SMTP id d9443c01a7336-2b5f9e8e3c0mr473300875ad.4.1777279662059; Mon, 27 Apr 2026 01:47:42 -0700 (PDT) Received: from xpc ([2400:8902:e002:def5:7882:53a7:6a48:4d11]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b5fab3a929sm291703215ad.72.2026.04.27.01.47.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Apr 2026 01:47:41 -0700 (PDT) From: WANG Rui To: Ard Biesheuvel , Huacai Chen Cc: Ilias Apalodimas , WANG Xuerui , linux-efi@vger.kernel.org, linux-kernel@vger.kernel.org, loongarch@lists.linux.dev, WANG Rui , Huacai Chen Subject: [RESEND PATCH v2 1/2] efi/loongarch: Implement efi_cache_sync_image() Date: Mon, 27 Apr 2026 16:47:20 +0800 Message-ID: <20260427084721.40535-2-r@hev.cc> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260427084721.40535-1-r@hev.cc> References: <20260427084721.40535-1-r@hev.cc> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Provide a LoongArch implementation of efi_cache_sync_image() to ensure instruction cache coherency after the kernel image is relocated. Signed-off-by: WANG Rui Reviewed-by: Huacai Chen --- drivers/firmware/efi/libstub/loongarch.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/firmware/efi/libstub/loongarch.c b/drivers/firmware/ef= i/libstub/loongarch.c index 9825f5218137..f7938d5c196a 100644 --- a/drivers/firmware/efi/libstub/loongarch.c +++ b/drivers/firmware/efi/libstub/loongarch.c @@ -18,6 +18,11 @@ efi_status_t check_platform_features(void) return EFI_SUCCESS; } =20 +void efi_cache_sync_image(unsigned long image_base, unsigned long alloc_si= ze) +{ + asm volatile ("ibar 0" ::: "memory"); +} + struct exit_boot_struct { efi_memory_desc_t *runtime_map; int runtime_entry_count; --=20 2.54.0 From nobody Wed Jun 17 07:15:32 2026 Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A152E3A0E94 for ; Mon, 27 Apr 2026 08:47:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777279666; cv=none; b=RkYM3cLic1/xkgofXTYcCmOonlnKHFiNU9ccOHzOM5P3iYGUtpzAWX/1sGshurVK/mJJnEKFOIpNh4qaNCP7WFqa8HhZGEqfMAYRWrvKkoAHSyhp+x4mxa2tPS6AU73rlX5/rTczJtEsJUTIRwLGNeB+jVBpoCpAAJj2dSl7ibE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777279666; c=relaxed/simple; bh=vnWQaMXFkKtGP6ZC1Nh1A7b0JU1COH1xk8nY4+B24jA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=O2pgFCmdZjbySGhgM7mx69pIRfzTlTv5bPB7+SFG45cgQJf3QwiKOP/qoOWDKGk/WsMa3B8foh5q2+5tJyo+Tgwe8QtaCsqfVv9lhVopAdgLZ/hYpw1PeKyUHnGxJxu081o/jyfohfBWFovwrvEtcrpBArBfSUZ14amC3sVjLho= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=hev.cc; spf=pass smtp.mailfrom=hev.cc; dkim=pass (2048-bit key) header.d=hev-cc.20251104.gappssmtp.com header.i=@hev-cc.20251104.gappssmtp.com header.b=x3DkV2ra; arc=none smtp.client-ip=209.85.214.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=hev.cc Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=hev.cc Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=hev-cc.20251104.gappssmtp.com header.i=@hev-cc.20251104.gappssmtp.com header.b="x3DkV2ra" Received: by mail-pl1-f172.google.com with SMTP id d9443c01a7336-2ad21f437eeso63837185ad.0 for ; Mon, 27 Apr 2026 01:47:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hev-cc.20251104.gappssmtp.com; s=20251104; t=1777279665; x=1777884465; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=HjfJ4whsRboDgauJW5lAp4KFfEFuATjZYAYX/3z86Ss=; b=x3DkV2rak2Q09/rI7vP5CJFvhPYKBavOd/0srFoonqbIEcFjVSjF6d9ozVCJhYJ6y4 4FP6q3NLQuwoiR6sTzuFiDYmBSCHRfHXnwGlpMmmFz/T4vO0O8ishk4JyjhuhRAmfrO8 wVlmphxyBNp9tWD40yXlEs+8mJCMosLy3qpDZsJjMrE4FO6Jtu0EPRP/HDF5lrnU8Vfn /q11Yx4zZ1Db0rg3i1HZ7qc7/c5uy8MOn+C4UopElwOccS2y7ZrUBWd0Pnz91czHErGM xYxmzvCoDA8zyyI4hRIaR0OIOSmSMQcBsZKBDEQYHiUusgL0+JB42AsImKgXSOBpkvRI PiTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777279665; x=1777884465; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=HjfJ4whsRboDgauJW5lAp4KFfEFuATjZYAYX/3z86Ss=; b=C2fEiLXYRnJRymOjFX9HHJkkbNokNXIYxoZSaiqnNaJ7GqarQFkF8OlP8bT0CvaX/2 tpol32PPOMFBD5Ghmk8i1SnV25xz5HalofEgZK5KF5QV0OXA92ZLsyaNDLCA3NlXgkb4 KtNokN3AJZD5D5VFd7J5nFey3vgzZ7qnBYLDMfRyzRZnsfR3VrdHI+DuhT/tU2WkcqA5 8IevzoYjnHn9GeWg7N2Krbz6a2OOc4O37oCOVWz2xA1QfMhzLcTHxLp+F8dASuX4u7fA XNaIjHI/hmgoZ+b6QOt3zruTByLX+BaVFgzCyTsCRGOvOCNo932DDr88Y1rrStyLgQMG h94w== X-Forwarded-Encrypted: i=1; AFNElJ+PCLnwi2I122IA0nTtp+OgHv87HcEpJxYLoyy3kJ4ZAicDz3uNhdMTQNmS60PQv8prcG5emPcsyD7/HAo=@vger.kernel.org X-Gm-Message-State: AOJu0YwAtfKr6+VDkKwzRhIuDkEHLKpoYfDS5Y/XQc60Gl6B/Ro0L2bf gNev1b4xQvVt6f8bJ96JOzM7SBFg0vTxG4GG0WQRSb7PkvHMdaLbYeu9z6EIHkWo2g4= X-Gm-Gg: AeBDievs3sk9Lt4YAyFKD0BiZ2WNiCNsjR3LCDFrS/iCpr1RBCcpLNNmBylcc+cRQwO Kuj85vsBkzPSQ5t6R2G+HRS+rjHC5JscE6Kt/mvuw8wmTkHntX8odlM9ezV+H/K+Me5WUGsFDvC ustCKRROZd61mk/p1IHy06nUPD9wbPweoJO/OkZ6uvU7I55kq+xRtKgHPS9j2qamio4x+P6/ln4 dRcA/B0mmSHHT85X3iW1fV3HxrS5bGSQBmRRqaAimYK6tROA7IcoZJKCtxGhR5yaVkT25TuLa6O +zbVYommW6w0vLHMsMr8c6oGwraj4r7y5WDnPEQL7fz7sv6+rmfzUBYvNsAscB2eoMTU7/u0XOX NGug0c57Os/cUPkMkCpwz4Fw0DcBe48ewJ7ufU6NNKCdjDbAGI4ftee7eb7TrcXgPSwPeyrp0M4 NSksoiJF8dw5s= X-Received: by 2002:a17:903:b8e:b0:2b0:b258:2a57 with SMTP id d9443c01a7336-2b5f9ef72bbmr336496125ad.27.1777279665017; Mon, 27 Apr 2026 01:47:45 -0700 (PDT) Received: from xpc ([2400:8902:e002:def5:7882:53a7:6a48:4d11]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b5fab3a929sm291703215ad.72.2026.04.27.01.47.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Apr 2026 01:47:44 -0700 (PDT) From: WANG Rui To: Ard Biesheuvel , Huacai Chen Cc: Ilias Apalodimas , WANG Xuerui , linux-efi@vger.kernel.org, linux-kernel@vger.kernel.org, loongarch@lists.linux.dev, WANG Rui , Huacai Chen Subject: [RESEND PATCH v2 2/2] efi/libstub: Synchronize instruction cache after kernel relocation Date: Mon, 27 Apr 2026 16:47:21 +0800 Message-ID: <20260427084721.40535-3-r@hev.cc> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260427084721.40535-1-r@hev.cc> References: <20260427084721.40535-1-r@hev.cc> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The relocated kernel image is copied to its new location using memcpy(). On architectures with separate instruction and data caches, the copied instructions may remain stale in the instruction cache, leading to the execution of outdated contents. Call efi_cache_sync_image() after the relocation copy to ensure the instruction cache is synchronized with the updated memory contents before control is transferred to the relocated kernel. Signed-off-by: WANG Rui Reviewed-by: Huacai Chen --- drivers/firmware/efi/libstub/relocate.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/firmware/efi/libstub/relocate.c b/drivers/firmware/efi= /libstub/relocate.c index d4264bfb6dc1..913b425d089d 100644 --- a/drivers/firmware/efi/libstub/relocate.c +++ b/drivers/firmware/efi/libstub/relocate.c @@ -158,6 +158,7 @@ efi_status_t efi_relocate_kernel(unsigned long *image_a= ddr, * have been allocated by UEFI, so we can safely use memcpy. */ memcpy((void *)new_addr, (void *)cur_image_addr, image_size); + efi_cache_sync_image(new_addr, image_size); =20 /* Return the new address of the relocated image. */ *image_addr =3D new_addr; --=20 2.54.0