From nobody Mon Sep 21 15:26:05 2026 X-Original-To: dev-commits-src-main@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 4hpRrt1qMjz6smBp for ; Mon, 21 Sep 2026 15:26:06 +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 "YR2" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hpRrt1DQpz4b25 for ; Mon, 21 Sep 2026 15:26:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1790004366; 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=5bEhBLPpJGthZA9CrbhqLKjpwnc1Wh0uS41NRk7CmPc=; b=D9k4ImDbRUyN9ZpyjwayD6MGPUbb1EiKjP6l8AeFI+KDgn8IgnPLaUoUjuPG3+w6Z5W6o3 nWse4el8GYlftXVPirCyzUlNvsmpcqC6GM8Z2E+NvIXNqEIxhBOJxHMiVxDaaz0IUMJhEU g0VObcdkJ+i5qR8CJLm02KD1RbXVL6TLpMGPEbf6FikFhBOAGhLDoUP6Lcc7o3JbGb3Dwn YYScZaa8uNIxXVru7KTxoXvfIdmoFumhIS3QYo6szt+pMfp4GMMf63+IYMhwhEOhY2NiNy C/BPrgucNaPPJS16oKBBFk6Yx2c1cLw/yRUapgjZXYNrJwtTraDg7QCVZ892qQ== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1790004366; b=cD0Pm4kLu76kzQ/DyZVRfhlgWls/zFhTKFRM2i7i7sfEN/pM2rvKJpxLyz9O5xEk9jrE/v Rujc0R+LC37LloIXcO8g4UNkGzbVvFgD74Ka7pu/S6qOihowHCmIweAeM+8/QRV0LepS7J dQL32pu6GGWafhyMdtUNU2stTXCaTsjU1IjsSNGELUqJQv6lI/WlzIsfR4sEZne6eWs9JV 5XbK9Z+IGTYwBUfZHl57dy+GDNfMgW+Rw2ngImvtiKFXoDhoSc106aJZQdbmp7m3cEwl29 TtFd7reuntOdIIGMxlIraTNEX1CEA2LALQt/VaCnMmuaxzqvo7ay6QoZu9OrWQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1790004366; 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=5bEhBLPpJGthZA9CrbhqLKjpwnc1Wh0uS41NRk7CmPc=; b=WWPiijSsVNqmspr1omDhpc6t1XWSVBrL+cxNiv5BlOF9edhVLwntGS3/aYl59xPlZepNFy HZY7f6FIfSMumjkH0wajjLpfUjKl52iXEkOo2QieS353jh3F9oVnxrPJsxbLJgMS3VYs+s yxrzEnq7gbAiY7fsZ/eXhHAkmAv+stU0b3Con83QXlzh9145p5NjswbVf8l3PizXwTsQDo HwYyFxrI7Yjvurl2WHEJBTAdQd2PLm4EmUiyw48d185Q01A8AN4RCdVA3gk416oql3vkhj 1CNsiQfWyQEuDCC+bPcu9wQeIiPU33hDBbVhipvsHyHdumJirR/VVfxbEVfD1A== 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 4hpRrs6wMFzQFw for ; Mon, 21 Sep 2026 15:26:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 302a8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 21 Sep 2026 15:26:05 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: d95b62db76b9 - main - arm64: Add a wfe function List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d95b62db76b9bb4d51bc5e555b26a3aaf8afa44a Auto-Submitted: auto-generated Date: Mon, 21 Sep 2026 15:26:05 +0000 Message-Id: <6ab14c8d.302a8.4ed6abb8@gitrepo.freebsd.org> The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=d95b62db76b9bb4d51bc5e555b26a3aaf8afa44a commit d95b62db76b9bb4d51bc5e555b26a3aaf8afa44a Author: Andrew Turner AuthorDate: 2026-09-18 11:27:25 +0000 Commit: Andrew Turner CommitDate: 2026-09-18 11:27:25 +0000 arm64: Add a wfe function And replace inline assembly Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D59482 --- sys/arm64/arm64/mp_machdep.c | 6 +++--- sys/arm64/include/cpufunc.h | 6 ++++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/sys/arm64/arm64/mp_machdep.c b/sys/arm64/arm64/mp_machdep.c index 0bdd2ecfd8a7..30f4b30e64a7 100644 --- a/sys/arm64/arm64/mp_machdep.c +++ b/sys/arm64/arm64/mp_machdep.c @@ -265,7 +265,7 @@ init_secondary(uint64_t cpu) /* Wait for devices to be ready */ while (!atomic_load_int(&aps_after_dev)) - __asm __volatile("wfe"); + wfe(); install_cpu_errata(); enable_cpu_feat(CPU_FEAT_AFTER_DEV); @@ -275,7 +275,7 @@ init_secondary(uint64_t cpu) /* Wait until we can run the scheduler */ while (!atomic_load_int(&aps_ready)) - __asm __volatile("wfe"); + wfe(); /* Initialize curthread */ KASSERT(PCPU_GET(idlethread) != NULL, ("no idle thread")); @@ -508,7 +508,7 @@ enable_cpu_spin(uint64_t cpu, vm_paddr_t entry, vm_paddr_t release_paddr) /* Wait for the target CPU to start */ while (atomic_load_64(&ap_cpuid) != 0) - __asm __volatile("wfe"); + wfe(); return (0); } diff --git a/sys/arm64/include/cpufunc.h b/sys/arm64/include/cpufunc.h index f600b30edf5f..91e6ad3d8cde 100644 --- a/sys/arm64/include/cpufunc.h +++ b/sys/arm64/include/cpufunc.h @@ -165,6 +165,12 @@ invalidate_local_icache(void) "isb \n"); } +static __inline void +wfe(void) +{ + __asm __volatile("wfe"); +} + static __inline void wfet(uint64_t val) {