From nobody Wed Jun 17 07:34:32 2026 Received: from mail-pj1-f49.google.com (mail-pj1-f49.google.com [209.85.216.49]) (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 09CE3365A18 for ; Mon, 27 Apr 2026 03:45:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777261526; cv=none; b=B1EBln2AUKg3xJQr34W0JdEC2T2uubEdK+iYoB4fRRINaG2HZmlo3fvPfjSacPa8ly8iG4sSfBkIZPW/HfiKX6nuddtNJMow5FfA8Dx3g+4uBf4jvFYZtVFq0q4ShOYqDxPvNeIpqyz9FkUoV2BjA657JTDEdupdFjKCGwEy3c4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777261526; c=relaxed/simple; bh=SJjBIHnJyopRMGSXdQG1IrX1S846AD36k5xbBYwIWG4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=fwpsOWWBv+T3m0LxuxXz+ugJonyUUwwqUdsYpoaKs75WvNR4DhOuPhR0B5xK5bVtBINbaufK28wpndMZHNmdwkOEFOiE/I16zMJP6azywaejPum7fQTseVn0u0S92XzcIgysieBNXLbRCJrzWSq/c2YpPc8vpkz355o0hnPRoO4= 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=lcy/FRhG; arc=none smtp.client-ip=209.85.216.49 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="lcy/FRhG" Received: by mail-pj1-f49.google.com with SMTP id 98e67ed59e1d1-35e576110adso6618615a91.0 for ; Sun, 26 Apr 2026 20:45:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hev-cc.20251104.gappssmtp.com; s=20251104; t=1777261524; x=1777866324; 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=R07shkiVuWsLnnERZIMp6yUrzas7HOh6Y70yJzuQ6hA=; b=lcy/FRhGY+fTrp1ZU2Xpb6KxPezIcJmAjIEikb7YpMQRbPk8/TqI6uxrHVZ+5CmA0K osXqsy0r9vpXwlOZECW0HpWEAhBJwnD/NMpSuIYg+mb+jWxLT7n78603hotZNlfCrjV3 AZPE1C/NX048i8aVXOd7FEGtjnrvX5vq3zQH653uDFEC3ESgp5WJeSVNWKMx5H+cufP4 iv8uKMzXNKRfISKxTBC8D7RqNRXsTmdXz0W/FcrBtY0nvOleA/0JW/EsvtoYt0kTU/5l wNki6oZt3R8MiiDdtOdQrBVK/qgdnDoFJ4GPXP8jknsa5pBZhQEhYAqYGFtTXYe9N36q H6Lg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777261524; x=1777866324; 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=R07shkiVuWsLnnERZIMp6yUrzas7HOh6Y70yJzuQ6hA=; b=SKFo7AsalFhWC00dpOjHCCSAsJfJi/k9V56nMYPqbYoSIqIQyMpv66yESg486ILFQ1 ehW9HBk2bHMDUQTLFvSSe+hfj65IseTmC71XCIxKNgHD9IopCjvdQfIeaQ62le2rqYGo uuBF8yvbaaesk36JkhmhUfeRUdtjlQWblSB8GtjNdjaocNUxMWxGS7fpiLRNqMl1j7bV 5CLfemBPvVR3PeKI7wHudOKHLoFr3TNZn0BuHJksAsUAl8JaWza60xfYu06n2CK8Qm0f SAggUZTCzJv2SOH6rk5k9ChKx5CtPcYZUqu/MsLjB9fEcLk1agLvmHPE6C6KhKq9+Zqv SGwA== X-Forwarded-Encrypted: i=1; AFNElJ+eQv7qKaS+pl0Tl5Sl1u1AjTDFOp84yDSi0isXJI33BzcYreTW8nIOOKacDZfRAPtFUu8jZYTz6tWSO6E=@vger.kernel.org X-Gm-Message-State: AOJu0YwQ0o/jC7RV1b2+M/rOr8DrC0/ZrlCKkrlPREuMKFyIOxwA/AXM y1AdPO4i093u7teIXQIjs5QXEV0tg97pMdlCoFyR6JiFW2yKzx79mXt4k+BQOt2kXYk= X-Gm-Gg: AeBDiev7qXUkreRrDFdKJqWrDUjBGlEEec6tFHNzmeC3uT9Vv5VxAipt1vuQEEDLgZd dUAPU+Hp0QFB3dbfRhCvbCzpajcIfeUcm05Z1pvFRxQgMdTcN4A3EIPcHfjZERmovB4rD0AM/lw bxOUtFB70ZQ81x+U+tvUbtOoQ/P39jA9u3kmPpi4roEmUI5IYTRJepTtBSOi6+9mgek4YE1cZmD 7TSyoeu13szLpDKmJhYQr2Z2P6PrZS8LPD/2Ty46WA7SqkUjrbwh8UEMEGVyXzslc/dKW21KMpL EJc51atxBvvLWJ2BXef5mimR8prybwaVQhmcgx4xjVnFwHKCvftwcrHPMKyyK//BqrEslVL3+g2 tHc5WkD9gQe9H2PvXPEwkB90LCmYaT3+c+oKzZUS/GRoBRBIOY6EnC/f6YgmAqH5W8NmzAJNt+B yg2TZeS/SP6QcRviAku4A= X-Received: by 2002:a17:90b:17c5:b0:35a:10b6:1208 with SMTP id 98e67ed59e1d1-361402fd6bcmr38690575a91.14.1777261524404; Sun, 26 Apr 2026 20:45:24 -0700 (PDT) Received: from localhost ([2400:8902:e002:de3c:3085:4d80:3614:2212]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b5faa3073asm279061375ad.27.2026.04.26.20.45.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Apr 2026 20:45:24 -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 Subject: [PATCH 1/2] efi/loongarch: Implement efi_cache_sync_image Date: Mon, 27 Apr 2026 11:44:50 +0800 Message-ID: <20260427034451.717817-2-r@hev.cc> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260427034451.717817-1-r@hev.cc> References: <20260427034451.717817-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..26495747f69f 100644 --- a/drivers/firmware/efi/libstub/loongarch.c +++ b/drivers/firmware/efi/libstub/loongarch.c @@ -82,3 +82,8 @@ efi_status_t efi_boot_kernel(void *handle, efi_loaded_ima= ge_t *image, real_kernel_entry(true, (unsigned long)cmdline_ptr, (unsigned long)efi_system_table); } + +void efi_cache_sync_image(unsigned long image_base, unsigned long alloc_si= ze) +{ + asm volatile ("ibar 0" ::: "memory"); +} --=20 2.54.0 From nobody Wed Jun 17 07:34:32 2026 Received: from mail-pj1-f51.google.com (mail-pj1-f51.google.com [209.85.216.51]) (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 CC886363C7F for ; Mon, 27 Apr 2026 03:45:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777261529; cv=none; b=mGgw+yORKHAzVOK3O2J2eSJ3cmYrPWm/I0Pjiu4sFEjznE8WOrV9+Yo16uNfoUtBv4yF63+fjvxLE+asuJysm9CV7LVh5Eaa6F9h/BXF0H9IGkdn1AzPP8ho5OmnUk9q0KDlTI8EkjoFdSS4OFyOed9iPeiWx4k0/HKvMmIqrWk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777261529; c=relaxed/simple; bh=GQxbjViAq937qxPVb6aK5SarlLun1y1QS/zeWJMo7J0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=bFJOW3MzT4uNzNdmYnGKyIJVdWcIC9fVAX7OfYkpa5sKoTtPlF1SggO2VxSSMhNtuKlZC21CW2VRF4K+DlCpF8qb0gsAf6+oiLdraIO+FUNZSCSnTOHKVvPQ2gClfVMtUM9BBvjMMJUr3ExKVbZzglqZNz9O7LdfB2uocbfRsns= 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=GPX4GEVF; arc=none smtp.client-ip=209.85.216.51 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="GPX4GEVF" Received: by mail-pj1-f51.google.com with SMTP id 98e67ed59e1d1-3590042fa8eso7413084a91.1 for ; Sun, 26 Apr 2026 20:45:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hev-cc.20251104.gappssmtp.com; s=20251104; t=1777261527; x=1777866327; 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=yj2Ks0SGF50ciVTp9OSJTi2f/jET1S92yU/1nIOqmmo=; b=GPX4GEVFiL9r8/4T/ByYSi38ykhm3O6A4s1Rkwd7NwFXLnvUj3XU/yIegVGgGE13tq Sb/j/OItZ/3kLF1u1qqgpp32+DiVeO/8geJx98rs8QWzNP47JLp1lbXR2N4ynokwPzWi 0OzYovd+WH5QxL3QBxvB2ub4NbEaSU5QMXIw3Y9PQD6+er7o0BCZms7yefe+/XxBtyuI m2gva+aHlVoMquWt0NR1l/8nOzk+dWLXRlNTjHE0tU+IvsLAa18C5viDqToNvW1SOqr+ XJRA+eYF+A0yN8tn6UsO2IhgvHTK4YnxLMEkOqKRBGUCLkOobbgD5WNqt/jq6aEXKQ8Q nO/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777261527; x=1777866327; 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=yj2Ks0SGF50ciVTp9OSJTi2f/jET1S92yU/1nIOqmmo=; b=qrxPVReGwobmmju0EmBzLuHSEd7HchkOg2qfLE7typjyvRkNo3we5e6FwT6KZGXCuC vVbcbe3ZggG1BtgFNTCUpKqbVNufb0glqzw4N3FPdaXbhmFNowzYTwmYCACGRXHRBkXG NdsnMvLiKR41Ny1+5ulSk171ZPW50pn4bxni84JIndbzm+f6TZDtuZ8sQdXHGflu3VGh FwOGENRxe6dLfeiffZ7uDFblsYdE9myYyFC9fwo71Ug9Fe9NMYSgXL5XOQtQdFstK+on NgsD3pqNmDPoDCLyul1rXxB0x9czmUGbViU10SMOYWn94BfBZ9sDi4yWgmCR/tDw3cS8 xGFg== X-Forwarded-Encrypted: i=1; AFNElJ+gjAY8pKWhWRud5ztx88k4lWjceMmSOChlNmyDJFipsz2MLuSvk3AV+e6GF3TSL1mBkQ+A8WsnLaKdfBQ=@vger.kernel.org X-Gm-Message-State: AOJu0YxcPUAONq1Vr+wEHU1bwaa6/TSnPYhd3fcWltEnsvu4iZOCcjUC 5BhfUlRgNnmLj4gPxh+vRRIeKEEemDm8FTUd+Fbt1KGIqjbrzuAPXLMqkdLGj+YCDmU= X-Gm-Gg: AeBDieusRGu9OlVIpZfroc7f2tztu1OqVHvi8HABl2iKqim5EOqLDE4ueTaH5NwV+Im rD9kQZb8hwaG+t+AsZ7/X7knGCr12qn2TLCckNqaoZgg5wgZBGo2/4zNzmbIxU/FU3IZjXYCFVM UQxsuM4E5/2aJUUALwKyWnjURlcDVvqwJwEia7dDHVtoGeIcol0EaRf41HnldhxnHwgzR+0cF01 K7hFurN7QhGTFbpSVRlx9Xx1+0wbRIeHJoCZQw0ffTPXWQAvowyvRWUrKkUTiCQRY2XyJLzScjD +SfAgWZZl7lWV1mntNxJ7quCB6FMOZwYXfghQabeWU6xnydNRHErrA0FNpAUhzfnSo+DGgRB48A E/JTVJC3BjAk20RzuKpLP48UWN7yeME4OBaNlMElgBiIlRDku6T7vKo+1qbTilxaDFMJqR4nJeH 8py0uKuoHckCoDD1GpjVY= X-Received: by 2002:a17:90a:74f:b0:361:4720:af84 with SMTP id 98e67ed59e1d1-3614720b0e4mr27755933a91.20.1777261527135; Sun, 26 Apr 2026 20:45:27 -0700 (PDT) Received: from localhost ([2400:8902:e002:de3c:3085:4d80:3614:2212]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b5faa3073asm279061375ad.27.2026.04.26.20.45.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Apr 2026 20:45:26 -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 Subject: [PATCH 2/2] efi/libstub: Synchronize instruction cache after kernel relocation Date: Mon, 27 Apr 2026 11:44:51 +0800 Message-ID: <20260427034451.717817-3-r@hev.cc> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260427034451.717817-1-r@hev.cc> References: <20260427034451.717817-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