From nobody Wed Jun 17 07:15:31 2026 Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.169]) (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 B11A839C001 for ; Mon, 27 Apr 2026 08:39:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777279196; cv=none; b=fEltvSoHHZt1JTTPaETwaE5yWWSntEDblcB/i4w+FJXBBAiWesZIV9Cnka40piJNTcKFx7JxNqNO6/SvI2XFxThmvMHHgx6nNwxYPd2KW0Pl5S53AxJpxhs4sVh5jMBZy3WY/eD86n73mnbOpxhFZFmpWlsalppzxpzpteULR9c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777279196; c=relaxed/simple; bh=UFnN0s+RsvkTALfr/a8OQyrxAQCThTQXJhV/kjv+G6c=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=cMZ+fBVjQhG3hIgoePxRgJmzuGild5Xn7CGzjNt0+5ducpRaGySVCnkIDiWpOa6pOi/kRdpSvZMeczXl0Hi54ydqx6qLfYpIilYI9SJeWBRXYfO3faM3C9jIfFl6H8Zm2lTCZGW6OwCJuHhMfnBh2wUyxI2xVX/Ya9k5XOkbIXM= 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=Ba/MBmRq; arc=none smtp.client-ip=209.85.214.169 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="Ba/MBmRq" Received: by mail-pl1-f169.google.com with SMTP id d9443c01a7336-2ad9516a653so49214785ad.0 for ; Mon, 27 Apr 2026 01:39:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hev-cc.20251104.gappssmtp.com; s=20251104; t=1777279194; x=1777883994; 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=Ba/MBmRq/leiVFj0LKsCsplbyRjd/iqCmsszhOm9wtzgUT19ev1MCzF4y3en2pxBFb HbiDv9UU/Bp6Oi+O3WxsXIt4UqHquYzEhk1SfJJW88JLKiAYEQuIQ+ELetoP63dOQkzS J1fSWoN4cjllinPzMR1tUijL9d66lNeuF8on1J2p4C24ftgDkfxogBBqtu+1esmaGHbx 6BILtnC12K5oZluDxSmq4hwRqUGEKtNi+MK/1X3DdV6Uve7nB60Iu6EPyhd6HUfjtxfJ gL5bpI9xn6uqH9CT06oCENdDHAox4TloN/qY406ysS76V8cByi4SummUDa78YV+DvGPg IVBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777279194; x=1777883994; 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=kFs9CK+DltcrXRxj40XlDb0+Z3ziNs+P8qINwOxe7V7Qbw21eYPu/bsk3qfBUTBGkS kNwj+i6IHLP7Hq8zwQZflPVASrAp0CZmB/wkYZ9jh1TTZCns7MG+PuPI8wv0Re7Kqsmd GK1QsNi9jOatdvp9seLlTTvr+KL9xnYlckYPoabjXyRoRqSkV3dHIJlOiOiRnKVNADj3 2wAv5g105J8a+6mPJbX176nfLLOh1n0jSI7Wu1rtGUnU0aNNT5lLuJp/mizSLhUksSsl JD0f5BBD3z6N0V6lMtZ4mC5qoWpz9ttrnytMarMdahxQJyBy7AE1zmU02mKolGeX5MtF XWwA== X-Forwarded-Encrypted: i=1; AFNElJ9PdQIDO11q9HigdxkT6rLJRZwNIgrM7cCNaW/fBxFuHG9f3itcdLDK2ihMIWABRkqko3aUpUmcNCIItJw=@vger.kernel.org X-Gm-Message-State: AOJu0YxeqKjnsWgicmcUjRA/a85MzkVJF3brKpf/c6SUG0kLpwJjcBYA DVbTBcKawxbNVX1acVd5qbMk84ROdkaaqpLfHC0x20uvk5196eyipLDdZ0Fl4zSvkc4= X-Gm-Gg: AeBDietFGkjf5LqgE3gxbHEymRKdcKJRwXc5ib1VWGPNXqohKrmbnKhBPxhPOYeln8Y YG/z+kBhXdTr1sFsEKI80dbEnjbYSpMXWnNxI3+jFOsKooIogV3sfO+gWji1XQTxIM1q2h2U8o5 /6tMzdrUAd8tDihyNklc5+yUO0ifgu9H64RS6VP8A0TbngZpDcYPe1sSrL1Zsd5pOilnSukzAs0 R6TwvLkPUQ6inlYSZF0QBHJhga3xLjZJWwoNA5LHFhw8jrpOVP3UxFrojYEzA8v9QeoAtg5mlP7 KcaEuoTSwhldhEhlv1RzzWoW8u4U+InQJn+Pre7tQJcEmN/wUZLgS9PuWmHC2vB9U3Ytv7YNI8D d9O8xcCa15ZcVBRZh8RYiU+oLt/GuyeZQRuUq6A2iVaop1TbwQ7yZNdw/ulpkGrBTqETkgATNks ixiB3S9mWdjQQ= X-Received: by 2002:a17:903:28f:b0:2b4:5309:2c14 with SMTP id d9443c01a7336-2b5f9f3ad64mr471009225ad.31.1777279194102; Mon, 27 Apr 2026 01:39:54 -0700 (PDT) Received: from xpc ([2400:8902:e002:def5:7882:53a7:6a48:4d11]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b5fab4049bsm276063105ad.77.2026.04.27.01.39.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Apr 2026 01:39:53 -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: [PATCH v2 1/2] efi/loongarch: Implement efi_cache_sync_image Date: Mon, 27 Apr 2026 16:39:29 +0800 Message-ID: <20260427083930.36324-2-r@hev.cc> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260427083930.36324-1-r@hev.cc> References: <20260427083930.36324-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:31 2026 Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) (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 A36DB39B95C for ; Mon, 27 Apr 2026 08:39:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777279198; cv=none; b=oJG4BYi4pt/Z/pDQNl+BkY2EB88fM0TF5uCStBReDKct4ycQJURtbmvR//y30Z5YuSRSVw642xFS6rQTB3tnqpa6k3AA9cszqhfL1XIfesdP5HpxhNxNW0SKUd3AIYAllAvvOkAn6AEq+Qaj5OEhBCNMNwYBAG8XwRn+tJ+s52I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777279198; c=relaxed/simple; bh=vnWQaMXFkKtGP6ZC1Nh1A7b0JU1COH1xk8nY4+B24jA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=jTNSS8hlKe+d0ZDGS+xlsRcKtQUjVox4HVI1F5E6FkcCJu/jjDj6KwXgEmAfYUKrkipKrieEbmINT4elD7CrmGxh76KZefzRT0UoV/jRsXObvfMggheRHgV/BVqZeb2folRWKfLz2BY9uzq1rPuGpthaus6Eox8W9GeYvMDbngc= 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=w4xZHwD/; arc=none smtp.client-ip=209.85.214.170 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="w4xZHwD/" Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-2b7adb38d65so37158355ad.2 for ; Mon, 27 Apr 2026 01:39:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hev-cc.20251104.gappssmtp.com; s=20251104; t=1777279197; x=1777883997; 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=w4xZHwD/pFPxnNzvA4DzwhSq5+WEAKtIJGDx2kuwZw6yo7jqmqekKdu9LnwrtlwtrN zKmbPj6xOqORcmibHpu+wBLMBLhYN+gkHqjjngA41yt9yEb2X1fnVMw6mHxRqnw8e9q7 mkDK3dU/gO7ndweVFP1vuKwKycTR+VCODhCc95ZyrcR+wkBXLjovWpmDjjYhdI2uQ4c9 F5Qb/JKgwwTObEaqKXlr2WNJfdFJMJukIGiXTVsNrL51vA0kGvloPVjRyuvxouWtirMM kPSupdC7e55tg8yh4uZXTHc99Ai4jcQcdBBCiC8t2z6IgYygS6LhJHN61RTqpnXV0moF +oNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777279197; x=1777883997; 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=EnPk2MZDzUEZFtYv72A0SiIHo5BtMAPvWNKvO/4stoBA+5lsmC2jnFwq4TzaA1oKvF QnS5rxX92RMxJ8k+fzzJGlKRPMfiZFNx8FbKP26peBC5ozb+4AlFG4D8flrOyBl1Lf1l iSHPK79dEJK1bwERWmqd3gEo6kfVYRTE2ufN0WiBFnocgvqUNarf/AHNDd/V/aFsBJMK 6FiI6uGRv9L0gis1xJdVSMZQA+D3UVUVNc/nAni3gmNCmhvUE9UMg5qDomj9QnquRY75 Qiys3sxXu7IOuK1iOkpqInBTBx3gTajEvz6mDatCOebIu1LbMLIhD855kHLV69BeudGy bvAw== X-Forwarded-Encrypted: i=1; AFNElJ/i4UWpjG2c6gZKCA0A9S8+b8atznLE8oQzf1cmF8+ZP72FN21ob6thGQovUWqdGoSaJAXbB1TdulmhHSA=@vger.kernel.org X-Gm-Message-State: AOJu0YwDB13GNoP7Y4aDzQOc3kiJiqU3VvVoqLGBN8ySqTYAW2+dhwtI sABAR4gDB9JII+1eZLkHij+blHJmKxlhrJDubCmQwYTA74wFUs6KiY9UTikh/Bbi5Zs= X-Gm-Gg: AeBDievHPlZN9dV3+VaTSBWOgljjG5OE9nc1vMnhtsxjfNASlx+mqRxuECM/TQGMi4C s1LX/SHxbSxV9mIOi1d3EFWR/z3BNPx8En3gpZuN5oIeeS5KZzgcjvpxjX39tKFQZUktDQh9znR NxH1zL8p3hxFKuThHLJmX/5Hl8SLVAB2n5wJfKecg4jD8vai1E2dpZNULsk+j/yuuM3EbCkklJN 0kUy1nSbCj2lbnBnaw+Z6JsihyCcCfVGitJBGmVwUMFAhkx8v6a8ZFGXkWaDtbKu3uONv8Qd0EM qdY2umLcj/10rEz+J1gJ0wkXRocvfCtmoCZJhT3P77rCPzGu0JbA1vLvpj1TiOZzfHBQ45QtXw0 RcUr+/7Sr8binQ9Bg+7PeunDauwBwsgtK7WYztObNmLHotyXot2oXtgaVkdjk1sln0tYTh+nJX9 OjZakr0oxDGoo= X-Received: by 2002:a17:903:2406:b0:2b9:4c05:5417 with SMTP id d9443c01a7336-2b94c0561famr79798515ad.32.1777279196945; Mon, 27 Apr 2026 01:39:56 -0700 (PDT) Received: from xpc ([2400:8902:e002:def5:7882:53a7:6a48:4d11]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b5fab4049bsm276063105ad.77.2026.04.27.01.39.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Apr 2026 01:39:56 -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: [PATCH v2 2/2] efi/libstub: Synchronize instruction cache after kernel relocation Date: Mon, 27 Apr 2026 16:39:30 +0800 Message-ID: <20260427083930.36324-3-r@hev.cc> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260427083930.36324-1-r@hev.cc> References: <20260427083930.36324-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