From nobody Mon Aug 7 14:07:17 2023 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 4RKJ6Y56jKz4pgV3; Mon, 7 Aug 2023 14:07:17 +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 4RKJ6Y2Vx3z4HBx; Mon, 7 Aug 2023 14:07:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691417237; 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=BNA9emn0zPS48bKwkaERbRWtCeYJLaLd/HvezpWgAVE=; b=gN4MWNG4ESpIz60sN/F9IwHE0i6vlj6AZomVSToO9A+8s+VXhcTWyx6k4e3syMXb6FMlFD dgxPSuKei9C8w9I9/DLyTZKS5mJr0uphA7B7mbURRm2d3gWmGO7j0o01El2xFIunAhLqj5 6dHBjKk2a0ngetCbQmJLo8a3pi0q6sGZG4EVvYDhfq2Uvn4TdzbG/JzKogLFIkR6D90qDD SoVEVTsQCWufYhDiI00VeOCO5cVQ+2jild9vIJ0WbEwKVNn7F+5A8E3KeUyNrT4JuBZS0+ F83AgspKz8XPet+sPR+DymI/XZMSN6sUKIDnBBaTzU3D8/C/XMnTVquJqk4Efg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691417237; 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=BNA9emn0zPS48bKwkaERbRWtCeYJLaLd/HvezpWgAVE=; b=yjGO0NHtiu4GU1kYaTl8dIUboTcj7PUVuU2up+fxQSc39mQf1qLXiIXoZGnXOBvJ105/aV pL4LU/Flx0YEzA7tW7bdPvnBq9g7AL0UxyA0cAtzKFbGaS65aaEDEsTcHjx+4x7r9azV2U JqnlRPfUTCI+JkWbSe4VoVjSikUESCkESPj2hLRRXfCQVzZLjs1/xyLff0SyMLdlM/ZFAb z5xcls+Y0DPdBXAjJ+CCDQun/SeIQyf1GHvHbgt5n9spnoiLFx6cUbdNBkWj4s2adfpqrm WVnjf1Zy91T7dvA2fNB/bcd3swbPcofaOd6yp1LI9dTUzOK5TlYXAQtyUrCqIw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691417237; a=rsa-sha256; cv=none; b=mvl4WKsbV54dTCH4433WfrE3JZqFO7sn9l5rUnwKZkOYUFXNqiQtkcEtnKMEvLK+ZF4899 ZfFfREd388uZV6PH1FVS2CJambmC80gX/LK31JXpdcEiPRJemXT8Bq5py7wDnWdZP941nI K7gIcZaPeaPq7sV2bW/6bSx1anVN7szSTbga6+jBfH+FJBYqa3sT/3wYVdhcxWnUYR2OMO uS91e+2SYcE0rEMhnH74ptQ76YspEV3zk1LcJFhSpoE4zZEheNiky3UBLZ098h5Gz3h9gr xTKMIIZz/IRvU9/y8QgWueacgACczhgftjmk49f56JXRrhm8cgcE2CsbwYYAlA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none 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 4RKJ6Y1ZcgzvMb; Mon, 7 Aug 2023 14:07:17 +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 377E7HWi093579; Mon, 7 Aug 2023 14:07:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 377E7HjQ093578; Mon, 7 Aug 2023 14:07:17 GMT (envelope-from git) Date: Mon, 7 Aug 2023 14:07:17 GMT Message-Id: <202308071407.377E7HjQ093578@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: d67ef8ac7de7 - stable/13 - arm64: Add constants for decoding ISS fields for WF* exceptions 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/stable/13 X-Git-Reftype: branch X-Git-Commit: d67ef8ac7de7370157b1bd09843e7c5fa15ec111 Auto-Submitted: auto-generated The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=d67ef8ac7de7370157b1bd09843e7c5fa15ec111 commit d67ef8ac7de7370157b1bd09843e7c5fa15ec111 Author: Mark Johnston AuthorDate: 2023-07-28 13:32:45 +0000 Commit: Mark Johnston CommitDate: 2023-08-07 14:02:18 +0000 arm64: Add constants for decoding ISS fields for WF* exceptions WFI and WFIT trap to EL2 when executed in a vmm guest. (Currently WFE/WFET are not configured to trap.) We only handle WFI at the moment, so these constants are useful when handling the exception. Reviewed by: andrew MFC after: 1 week Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D41199 (cherry picked from commit dd24d475d514bba755111c5eecfef1d362b9d68c) --- sys/arm64/include/armreg.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index b24c6ec94c65..7275725a709a 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -319,6 +319,26 @@ #define ISS_INSN_S1PTW (0x01 << 7) #define ISS_INSN_IFSC_MASK (0x1f << 0) +#define ISS_WFx_TI_SHIFT 0 +#define ISS_WFx_TI_MASK (0x03 << ISS_WFx_TI_SHIFT) +#define ISS_WFx_TI_WFI (0x00 << ISS_WFx_TI_SHIFT) +#define ISS_WFx_TI_WFE (0x01 << ISS_WFx_TI_SHIFT) +#define ISS_WFx_TI_WFIT (0x02 << ISS_WFx_TI_SHIFT) +#define ISS_WFx_TI_WFET (0x03 << ISS_WFx_TI_SHIFT) +#define ISS_WFx_RV_SHIFT 2 +#define ISS_WFx_RV_MASK (0x01 << ISS_WFx_RV_SHIFT) +#define ISS_WFx_RV_INVALID (0x00 << ISS_WFx_RV_SHIFT) +#define ISS_WFx_RV_VALID (0x01 << ISS_WFx_RV_SHIFT) +#define ISS_WFx_RN_SHIFT 5 +#define ISS_WFx_RN_MASK (0x1f << ISS_WFx_RN_SHIFT) +#define ISS_WFx_RN(x) (((x) & ISS_WFx_RN_MASK) >> ISS_WFx_RN_SHIFT) +#define ISS_WFx_COND_SHIFT 20 +#define ISS_WFx_COND_MASK (0x0f << ISS_WFx_COND_SHIFT) +#define ISS_WFx_CV_SHIFT 24 +#define ISS_WFx_CV_MASK (0x01 << ISS_WFx_CV_SHIFT) +#define ISS_WFx_CV_INVALID (0x00 << ISS_WFx_CV_SHIFT) +#define ISS_WFx_CV_VALID (0x01 << ISS_WFx_CV_SHIFT) + #define ISS_MSR_DIR_SHIFT 0 #define ISS_MSR_DIR (0x01 << ISS_MSR_DIR_SHIFT) #define ISS_MSR_Rt_SHIFT 5