From nobody Wed Nov 19 04:40:25 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dB81B65BTz6HFmP for ; Wed, 19 Nov 2025 04:40:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dB81B5V2Lz3l7V for ; Wed, 19 Nov 2025 04:40:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1763527230; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UYJrBxSFajPQ4PapCzM4XpTK7TyhAvdxfBW6T+8RTDI=; b=viqub/yNIQvsircbKlianxbElrTgHy7kYOW+LIYQkmlzfT1FCLyoQY/uB0xRGtHT9K0bGN XEhckEVvh6r3RCb8krPFJ6pWHOpVlJM2ts1wxzM2dThaIiso8LJsR8E2pYDPNblb8+67Hi jGV+uAswn5nTgztcF/3PQCfDSXQ7bxCAOO9AvXKqUxZQlHlLnoreG/X6uCfiWZqhvJUnEW ct3ix00zG8fE3yvqhz59pZYrxQOgi17t+RwiLVyfDer+T4oYk5HZicMnxJVoNpZGXn37e3 YyneRKZm7chGF8Svb6MQFpAk0G/TiPIx5xGw5R+Gyw126kPp3VkdzeVyWrQM5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1763527230; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UYJrBxSFajPQ4PapCzM4XpTK7TyhAvdxfBW6T+8RTDI=; b=k5o0o5FH2vIJ56pWUIVGCmb17ILn5g8AAExV3Gw/AX6SdqMoNHLRytwiGSF9hMNJ77Y6f/ 6IyvOpsbYtua+ZMGNQVBtiKPeEX/bo7z2XLwe/Hpd/XJ3+yIjvr0zC1u0lxSjyX79CIGjL hKmBp1+I52/mveBUq/NGvVmury3ncSz6WRp+kI5IGBlROelH2R7J8cUrZxEAui3+vUeQ6D 0qVvR4hKI+rxEDuxR6trvnukaTpQ5A03Gz73i/memzHFDfO75PTlL9JCK8IlIh7hLNFxVt Q6wZ/qH5pKHoI2upBSK2odweItspVRVyabKfYjYmaJTFHjcZZXNiBIix8sLdyg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1763527230; a=rsa-sha256; cv=none; b=qMIF/tsN6VWe4254jDAz6dNfjbPZdNE6U6uTqYnSVK9+RuSZq5x6U8Q0T7fb2TyGxyoAzQ T2aTVM73bcnmfLA2mtj8dTZNMJsBIsy4I6UhiPMc1AGgLezxtUCZk6LKaa0vQ8yxEJIBDx Qs/IK9/xf+mvb10LQx4YzPNk4kmO8HLpQFejtNQbJeyoMtcA63WYzVJIa2rYXsPDdWkdWu ND3pCrzsemazhJdyx3GprYA2TuK2tGPXnMm1SnwlbLOemQ6B5wudEvbngJnkeuGUZsw/fH B1kl6GipkuU/27ZQCGR43NdpoydAskucJ8Ufqp0qht6/uqXSf+PEtam4IWo9Dw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dB81B4wJXz9Jt for ; Wed, 19 Nov 2025 04:40:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id b5e8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 19 Nov 2025 04:40:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 9b0102837e30 - main - powerpc: Don't use cache to zero pages List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9b0102837e305ca75de2bc14d284f786a33f9a6a Auto-Submitted: auto-generated Date: Wed, 19 Nov 2025 04:40:25 +0000 Message-Id: <691d4a39.b5e8.1a3bb356@gitrepo.freebsd.org> The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=9b0102837e305ca75de2bc14d284f786a33f9a6a commit 9b0102837e305ca75de2bc14d284f786a33f9a6a Author: Justin Hibbits AuthorDate: 2025-11-14 16:56:42 +0000 Commit: Justin Hibbits CommitDate: 2025-11-19 04:40:09 +0000 powerpc: Don't use cache to zero pages pmap_zero_page() may be called on uncached pages, so using the cache to zero uncached pages may trigger a fault. MFC after: 2 weeks --- sys/powerpc/aim/mmu_oea.c | 5 ++--- sys/powerpc/aim/mmu_oea64.c | 10 ++++------ sys/powerpc/booke/pmap_32.c | 5 ++--- sys/powerpc/booke/pmap_64.c | 5 ++--- 4 files changed, 10 insertions(+), 15 deletions(-) diff --git a/sys/powerpc/aim/mmu_oea.c b/sys/powerpc/aim/mmu_oea.c index ae17b3289593..b1f74597aa42 100644 --- a/sys/powerpc/aim/mmu_oea.c +++ b/sys/powerpc/aim/mmu_oea.c @@ -1090,10 +1090,9 @@ moea_copy_pages(vm_page_t *ma, vm_offset_t a_offset, void moea_zero_page(vm_page_t m) { - vm_offset_t off, pa = VM_PAGE_TO_PHYS(m); + vm_offset_t pa = VM_PAGE_TO_PHYS(m); - for (off = 0; off < PAGE_SIZE; off += cacheline_size) - __asm __volatile("dcbz 0,%0" :: "r"(pa + off)); + bzero((void *)pa, PAGE_SIZE); } void diff --git a/sys/powerpc/aim/mmu_oea64.c b/sys/powerpc/aim/mmu_oea64.c index 01bf4c7e90a8..62bbb6ddaf9b 100644 --- a/sys/powerpc/aim/mmu_oea64.c +++ b/sys/powerpc/aim/mmu_oea64.c @@ -1567,15 +1567,14 @@ void moea64_zero_page(vm_page_t m) { vm_paddr_t pa = VM_PAGE_TO_PHYS(m); - vm_offset_t va, off; + vm_offset_t va; mtx_lock(&moea64_scratchpage_mtx); moea64_set_scratchpage_pa(0, pa); va = moea64_scratchpage_va[0]; - for (off = 0; off < PAGE_SIZE; off += cacheline_size) - __asm __volatile("dcbz 0,%0" :: "r"(va + off)); + bzero((void *)va, PAGE_SIZE); mtx_unlock(&moea64_scratchpage_mtx); } @@ -1584,11 +1583,10 @@ void moea64_zero_page_dmap(vm_page_t m) { vm_paddr_t pa = VM_PAGE_TO_PHYS(m); - vm_offset_t va, off; + vm_offset_t va; va = PHYS_TO_DMAP(pa); - for (off = 0; off < PAGE_SIZE; off += cacheline_size) - __asm __volatile("dcbz 0,%0" :: "r"(va + off)); + bzero((void *)va, PAGE_SIZE); } vm_offset_t diff --git a/sys/powerpc/booke/pmap_32.c b/sys/powerpc/booke/pmap_32.c index efeefb6a91c5..5186a8852ed3 100644 --- a/sys/powerpc/booke/pmap_32.c +++ b/sys/powerpc/booke/pmap_32.c @@ -803,15 +803,14 @@ mmu_booke_zero_page_area(vm_page_t m, int off, int size) static void mmu_booke_zero_page(vm_page_t m) { - vm_offset_t off, va; + vm_offset_t va; va = zero_page_va; mtx_lock(&zero_page_mutex); mmu_booke_kenter(va, VM_PAGE_TO_PHYS(m)); - for (off = 0; off < PAGE_SIZE; off += cacheline_size) - __asm __volatile("dcbz 0,%0" :: "r"(va + off)); + bzero((void *)va, PAGE_SIZE); mmu_booke_kremove(va); diff --git a/sys/powerpc/booke/pmap_64.c b/sys/powerpc/booke/pmap_64.c index affa08ebee3f..5a414b9026c8 100644 --- a/sys/powerpc/booke/pmap_64.c +++ b/sys/powerpc/booke/pmap_64.c @@ -679,12 +679,11 @@ mmu_booke_zero_page_area(vm_page_t m, int off, int size) static void mmu_booke_zero_page(vm_page_t m) { - vm_offset_t off, va; + vm_offset_t va; va = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)); - for (off = 0; off < PAGE_SIZE; off += cacheline_size) - __asm __volatile("dcbz 0,%0" :: "r"(va + off)); + bzero((void *)va, PAGE_SIZE); } /*