From nobody Tue Apr 28 18:49:25 2026 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 4g4qGz0Vdvz6bwbV for ; Tue, 28 Apr 2026 18:49:31 +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 "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4qGy4bnyz3vw5 for ; Tue, 28 Apr 2026 18:49:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777402170; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A0KgcUj1y0xwXsyJ1Dys3399umrVjPiLAVIzmHc4LKE=; b=hO4xaoWDDhYSxkjCWSmBbiL2s8QOB11xG1cnq/FUxxfy87ns+Tm+7sgFnzpQ/DMyscMKp6 ZCGGgRdSs9Swa2I0IPmALEM/HdE9wURLXz0r1VBhjjA7vTLHHyyuev8uH+7Koym1MJsTyi OBPbr0OubplcLrzZgHut9/qvTGcoKB4jJ4E+lVO5jPPK4E+I9IuRXck3uV4pHTgXbnq95h XcV98GUL2jAvFK1LFSaTdkzYE50xRI3qwntKKw9huP+n4HGvZ2jp/Uv2RRbihs8KKU4dZE xhLPTzbSi7dewZXb8dUFLaXqeAJpgA9mzfP6zAwVLeVCS3WR2i94BMuTVVFvZg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777402170; a=rsa-sha256; cv=none; b=VoCU0l/ZxybnagYJ2etlBmVp08gxV/ZZgm0ite4f3Wy6XttEm/Sg6fM6DpQlwW0DvypIH5 5i8mfpuLqkN29/lUxVG+YUUj4DwMf4SYEw9Cxx7snpGxRYYrFtsSd00UTBMo8EO9krSp0S IqCiZOS2W5QvRy+NS0IOyVJSVCzeQz4nSNrXM6r7kZJFwPk9AUQXqRV0pxwK3hMXrVPGs5 sEqDoTkpGJmjPOwOuqaUfb09/Obo6yDkfjgtvIwmxdmoLaGrApk2GbUsDxY49k5zl0t+Th p96p8RbCCSlWULcZpkpi9p0f4RmcNKVFuYIAM8s51wJRB1cqwCgrF5Ga36p9zA== 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=1777402170; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A0KgcUj1y0xwXsyJ1Dys3399umrVjPiLAVIzmHc4LKE=; b=h8yW9yI14Bx0k7HuFzlvIfOneBpjKG5MLJQdJE2GM+IF/bBiwbsdRviu5xqxk1500UfJ3n dVUfODgw/cD0zoqtT5CkXGomPZ6WUPaCnrHN5DnoDuCLrX8t+y9Z42HZjTrEym8e4ZQrBs mnpLbiXtDVBhxYts2+1R+Lj1CXYD3Ra7YQ060UeDVaYS4/W7x4dTRVinV2bnQi8EHGUwaQ /LlE36FOOy2dVsCeRNomWGyF/NwDUJHQ2e/kq+zlOvkw5rxmFNrCUsFlQ3zflVxszKiz3k UO3OSQCUeoPNCaq95v62jNc3lHlReEzqB8n9jtL+t1ddth942FDiSygb6Be7gA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4qGy1FQ7z15gm for ; Tue, 28 Apr 2026 18:49:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 24578 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 18:49:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Andre Silva From: Mitchell Horne Subject: git: a9a562a08e77 - main - hwpmc_ibs: Add external error handling 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: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a9a562a08e77ac024066a6ca7ab77e7e25e007dc Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 18:49:25 +0000 Message-Id: <69f10135.24578.6926be1@gitrepo.freebsd.org> The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=a9a562a08e77ac024066a6ca7ab77e7e25e007dc commit a9a562a08e77ac024066a6ca7ab77e7e25e007dc Author: Andre Silva AuthorDate: 2026-04-06 20:55:43 +0000 Commit: Mitchell Horne CommitDate: 2026-04-28 18:49:21 +0000 hwpmc_ibs: Add external error handling Add EXTERR_CAT_HWPMC_IBS to the external error categories and replace generic EINVAL returns in ibs_allocate_pmc() with EXTERROR() calls that provide detailed error messages. This will be augmented with additional cases in the near future. Reviewed by: mhorne Sponsored by: AMD Signed-off-by: Andre Silva Pull Request: https://github.com/freebsd/freebsd-src/pull/2134 --- lib/libc/gen/exterr_cat_filenames.h | 1 + sys/dev/hwpmc/hwpmc_ibs.c | 11 ++++++++--- sys/sys/exterr_cat.h | 1 + 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/libc/gen/exterr_cat_filenames.h b/lib/libc/gen/exterr_cat_filenames.h index e45d05e384bd..be65c1990af5 100644 --- a/lib/libc/gen/exterr_cat_filenames.h +++ b/lib/libc/gen/exterr_cat_filenames.h @@ -2,6 +2,7 @@ * Automatically @generated, use * tools/build/make_libc_exterr_cat_filenames.sh */ + [EXTERR_CAT_HWPMC_IBS] = "dev/hwpmc/hwpmc_ibs.c", [EXTERR_CAT_VMM] = "dev/vmm/vmm_dev.c", [EXTERR_CAT_FUSE_DEVICE] = "fs/fuse/fuse_device.c", [EXTERR_CAT_FUSE_VFS] = "fs/fuse/fuse_vfsops.c", diff --git a/sys/dev/hwpmc/hwpmc_ibs.c b/sys/dev/hwpmc/hwpmc_ibs.c index 56903699ac51..280a84208847 100644 --- a/sys/dev/hwpmc/hwpmc_ibs.c +++ b/sys/dev/hwpmc/hwpmc_ibs.c @@ -38,6 +38,9 @@ #include #include +#define EXTERR_CATEGORY EXTERR_CAT_HWPMC_IBS +#include + #include #include #include @@ -185,16 +188,18 @@ ibs_allocate_pmc(int cpu __unused, int ri, struct pmc *pm, /* check class match */ if (a->pm_class != PMC_CLASS_IBS) - return (EINVAL); + return (EXTERROR(EINVAL, "PMC class is not IBS")); if (a->pm_md.pm_ibs.ibs_type != ri) - return (EINVAL); + return (EXTERROR(EINVAL, + "IBS type %ju does not match PMC index %ju", + (uint64_t)a->pm_md.pm_ibs.ibs_type, (uint64_t)ri)); caps = pm->pm_caps; PMCDBG2(MDP, ALL, 1, "ibs-allocate ri=%d caps=0x%x", ri, caps); if ((caps & PMC_CAP_SYSTEM) == 0) - return (EINVAL); + return (EXTERROR(EINVAL, "IBS requires SYSTEM capability")); if (!PMC_IS_SAMPLING_MODE(a->pm_mode)) return (EINVAL); diff --git a/sys/sys/exterr_cat.h b/sys/sys/exterr_cat.h index 4f3ff6925242..edc23d7dfbe6 100644 --- a/sys/sys/exterr_cat.h +++ b/sys/sys/exterr_cat.h @@ -40,6 +40,7 @@ #define EXTERR_CAT_FORK 15 #define EXTERR_CAT_PROCEXIT 16 #define EXTERR_CAT_VMM 17 +#define EXTERR_CAT_HWPMC_IBS 18 #endif