From nobody Mon Sep 26 13:03:29 2022 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 4MbjcK5bv2z4WW84; Mon, 26 Sep 2022 13:03:29 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4MbjcK4trYz3mK3; Mon, 26 Sep 2022 13:03:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1664197409; 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=zE9dREJLBKwiSgJ7R7CXpmqsXHbg/BpQzzHeZM8x3nY=; b=vyQZdgdis9h0Sgffsbtz1La79MA7NY/hyDBgec1Suh7PAhHg7LSm5jdTs97/mu0CKvEiJt v8/QRjdKp3+j/huBLbtyVyUXQ6m5q4y8kuVE7PTrizahctND7tDtRhGTPfoJMNK+O0haVK peHRrC0Tw5jhaEdeVOrZJeHQqdU53A4n6U7UsaELvSSk6wHJd/3wfeEtnSlnvS5UfcSg+U O61vHvC6W+eKU43eB3Yp3wWpHcyNw+BLEri0ofixQpwNOYUAuF6bzXq4ZWaX6pdCcJimFA W9rLm+7g8TBM1t4NW51hC7czhECvrUyn4iBEHG04hNEqNEvAO6qW0TaxJtZbgQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (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 did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4MbjcK3mMczml9; Mon, 26 Sep 2022 13:03:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 28QD3TGx059210; Mon, 26 Sep 2022 13:03:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 28QD3TWk059209; Mon, 26 Sep 2022 13:03:29 GMT (envelope-from git) Date: Mon, 26 Sep 2022 13:03:29 GMT Message-Id: <202209261303.28QD3TWk059209@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 0fd27bcab2f8 - main - arm64: Fix an assertion in pmap_enter_largepage() 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: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0fd27bcab2f83ffd28ff9443a343d610cbfba2d7 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1664197409; 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=zE9dREJLBKwiSgJ7R7CXpmqsXHbg/BpQzzHeZM8x3nY=; b=GC5AuQrZ9jqQRS8HxvhP1My2Ja4Hue2+qklIn4yvVbysol1tnMIeBY6HQPl4e+bbS/X0WL RxWI2Wv3ctlMrT5qhAL6LZtEqx/mvJjccv9tATGKGdiTdsv7u9qXSfZuxHcpGfx1IxqQVl /+D5qp0VFitXXL8Q53ewWFnqFMRyA1bVzZ+zRrXpsASER5vBDphBUG5gXenA8yMLVhs/jA mEDeX+0FLCuUwJ0r82ggPcf52cSGjXKZaFlRV82cZS3S9wBJFnRqk3Xq+0gFsnEEd8hcHa znLl7RUaCOZsTzSZ9/rqKSlT4OInRKr2tFlsAZVNJBadai7EjUGo16OfmowrNQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1664197409; a=rsa-sha256; cv=none; b=loRAsYl7kykxnnuPaXoaRF3lWmAF03VuEUAu+IL1xWB6YYyL3hWe0DQ5142OjI2VySMqyx BBTWv6n7iL/9FS2Aj0IsS+efLJ8+rKfq1eUl6JuEOmDNkTaU8DVPW6kPF78GHPI7eZhgTc pUSJDq17We+zJgQHbyqqzYkwLtoaFmFF9SRe04Jc2yDSOcTda9NMe9dSbv1yM35ZE2APSU HTFcsQb1rFpKgu+xmdtnbIVEdGoGoBqoLlcV/aZyyEP3cRKmtiWaB41D9JSgpW/sw3EeKY 6idls2ly6ok1drDJc9LvU11/uxyThy+y81tMgJCXWzKPo24SUrTppFqcoY4eZg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=0fd27bcab2f83ffd28ff9443a343d610cbfba2d7 commit 0fd27bcab2f83ffd28ff9443a343d610cbfba2d7 Author: Mark Johnston AuthorDate: 2022-09-26 12:56:11 +0000 Commit: Mark Johnston CommitDate: 2022-09-26 12:56:11 +0000 arm64: Fix an assertion in pmap_enter_largepage() The intent is to assert that either no mapping exists at the given VA, or that the existing L1 block mapping maps the same PA. Fixes: 36f1526a598c ("Add experimental 16k page support on arm64") Reviewed by: alc MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D36698 --- sys/arm64/arm64/pmap.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c index 32cf3dd7636c..83eae8d5791f 100644 --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -3893,6 +3893,8 @@ pmap_enter_largepage(pmap_t pmap, vm_offset_t va, pt_entry_t newpte, int flags, restart: if (psind == 2) { + PMAP_ASSERT_L1_BLOCKS_SUPPORTED; + l0p = pmap_l0(pmap, va); if ((pmap_load(l0p) & ATTR_DESCR_VALID) == 0) { mp = _pmap_alloc_l3(pmap, pmap_l0_pindex(va), NULL); @@ -3917,10 +3919,9 @@ restart: mp->ref_count++; } } - KASSERT((origpte & ~ATTR_MASK) == (newpte & ~ATTR_MASK) || - (L1_BLOCKS_SUPPORTED && - (origpte & ATTR_DESCR_MASK) == L1_BLOCK && - (origpte & ATTR_DESCR_VALID) == 0), + KASSERT(((origpte & ~ATTR_MASK) == (newpte & ~ATTR_MASK) && + (origpte & ATTR_DESCR_MASK) == L1_BLOCK) || + (origpte & ATTR_DESCR_VALID) == 0, ("va %#lx changing 1G phys page l1 %#lx newpte %#lx", va, origpte, newpte)); pmap_store(l1p, newpte);