From nobody Tue Apr 16 21:42:51 2024 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 4VJyFS00c2z5H8Yf; Tue, 16 Apr 2024 21:42:52 +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 4VJyFR4L4Rz4YtX; Tue, 16 Apr 2024 21:42:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713303771; 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=x41KSQvpu+gf7nbJdOxMLjL1CNLRRFroyWC4H6bQNjE=; b=uTH7kJ/FkFxdxcqgEhasm8mgPXbtoxRAE03BCMVEH6KA1oB9woqhY19l1ii6V7yRYOXSg5 HVCcR3fELz0tku6gz4MR7ZC+QGAYnc1GGU+OkDLH96RFGIMTJmtUxCQ8E8/UA8S5rVLDcv u+1eqnjEABHQufi/15T792WPo8CU5S/k7dg/8luYjTMwW5aixgF+F8HIjQnpNZenyAdyKm AnTCL7hqvQ3Muyb/v/0ipdVdZ+b3Gi1zsf5brNtVG3+89pn8pLt9TJK+z3udBEhbH5U+bG /VY6D9j6IQDwbHUq0+Y6Lb+4su4u0W0nrModJJ+4dZh+8hJDiYnkJg7eLwdL8g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1713303771; a=rsa-sha256; cv=none; b=eLUYXvhR5NtOE9azwBr4KhR99xbAgAvJ+X1/Oc4PzCA0f6qfF4KWMnuROVTVBsXh3bNg7g 3/P3uAXdZW9QT9vvgq305QJzvpxMVinXVpj9+P8Xt/65k7h46yHLmDNwSvbscDdjXD6edV QODFXIhcejZdehKfRtFGvYcmHuhkkUJb888VHM8KE9QQbArnRguKYyH0AzHvUtTnrblntP LI/WUIKYYHOgU9bOdXYmuRNC5UQ2unpyQ5QbAudlrKPmtefNeY1Gp/jG3X7yqBKPO0iYUW qRGyF0dvav4zt6yzrwmzPPKBduteFjoEkepQXsuXEcNPT+WhfM4IicmpYhpEFg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713303771; 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=x41KSQvpu+gf7nbJdOxMLjL1CNLRRFroyWC4H6bQNjE=; b=Np5Q8eYcxSuILXHDK/fNMdid2LWu/mcTfBWIb6/Xb0hUk0vfOkqxsXUbFWdmdfTOdIkWwm pCPnpMGSet44ngoiypWK1WJOz6eWydB92DpxUoBDKTpSglcjvb0f3FFdm6qPbFWHhZRQex nmEhVRIgDrqwkaO0OfFJA6reY+Ut8C+2EHnk69rLs2G9LMnekmnzdLOrD3VKpb91zRluFs mL2YLFaNP4Snm4UAaDi98RUO8YPfFb0nXF4FNf6ZJEvf8Ob62o/a0mwci0IzaEPyv3RHCq f01GIQS3VzkA1eMcI5BvF8LXEFRySwVDoYsLA++iJCwGrQ6sr9ojJj1EnfXSOA== 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 4VJyFR3xl3z10ZD; Tue, 16 Apr 2024 21:42:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43GLgp8s094742; Tue, 16 Apr 2024 21:42:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43GLgpvk094739; Tue, 16 Apr 2024 21:42:51 GMT (envelope-from git) Date: Tue, 16 Apr 2024 21:42:51 GMT Message-Id: <202404162142.43GLgpvk094739@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: b53202779c2e - stable/14 - gicv3: In its_init_cpu_lpi record each cpu's PENDBASER 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b53202779c2e39c3ecdcd6bbc86a23f0bdc485aa Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=b53202779c2e39c3ecdcd6bbc86a23f0bdc485aa commit b53202779c2e39c3ecdcd6bbc86a23f0bdc485aa Author: Warner Losh AuthorDate: 2024-02-28 14:09:10 +0000 Commit: Warner Losh CommitDate: 2024-04-16 21:28:41 +0000 gicv3: In its_init_cpu_lpi record each cpu's PENDBASER When we're using the preallocated memory for gicv3, record each cpu's PENDBASER where we'd normally allocate memory for it. Make sure that memory is in the excluded list and map the PA to VA and store that, to mimic what we do with the allocation case. Sponsored by: Netflix Reviewed by: andrew Differential Revision: https://reviews.freebsd.org/D44037 (cherry picked from commit 1d13cc200820a020d7875563b036b5f43800ef38) --- sys/arm64/arm64/gicv3_its.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/sys/arm64/arm64/gicv3_its.c b/sys/arm64/arm64/gicv3_its.c index 2ab77e1e9966..49d9c08a4ffd 100644 --- a/sys/arm64/arm64/gicv3_its.c +++ b/sys/arm64/arm64/gicv3_its.c @@ -46,6 +46,7 @@ #include #include #include +#include #include #include #include @@ -828,8 +829,18 @@ its_init_cpu_lpi(device_t dev, struct gicv3_its_softc *sc) /* Make sure the GIC has seen everything */ dsb(sy); + } else { + KASSERT(sc->sc_pend_base[cpuid] == 0, + ("PREALLOC too soon cpuid %d", cpuid)); + tmp = gic_r_read_8(gicv3, GICR_PENDBASER); + tmp &= GICR_PENDBASER_PA_MASK; + if (!physmem_excluded(tmp, LPI_PENDTAB_SIZE)) + panic("gicv3 PENDBASER on cpu %d needs to reuse 0x%#lx, but not reserved\n", + cpuid, tmp); + sc->sc_pend_base[cpuid] = PHYS_TO_DMAP(tmp); } + if (bootverbose) device_printf(gicv3, "using %sPENDBASE of %#lx on cpu %d\n", (sc->sc_its_flags & ITS_FLAGS_LPI_PREALLOC) ? "pre-existing " : "",