From nobody Mon May 12 12:50:19 2025 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 4ZwzwX1sflz5w0hG; Mon, 12 May 2025 12:50:20 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZwzwX0n6Pz3rFF; Mon, 12 May 2025 12:50:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747054220; 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=9zBQB2tRKadF2Epyz4o/z5soY5O1H5clVKR4J9ac3no=; b=coAJhyvdMFJBAHJLBcYZ4rSX4hFMUDIFzfyueC6I6mxCYp/kqZmJ4j3xclQto6aEhQbDnO Wk/osPByAQAIYRlX/RsrvTrNM4cTAbdJRe9Pjn2J0ZPC7ufLXpwfzwAftDtsQ4l9ttk7UT rH+Ujo9+RY7PH0iVkZOQ7uP8Gvj3Mteil4WcDqPqwV9Ru3yfpFHDnDGCfw1b2cvo6bpdnK UYUwbEJPApJMBOSZt+6FJ/77U5DrwF61IIDSW+U1Hnyv4FVO2fR7c/2PTZ+saPhpmsMw72 DntD7Oaro3If8U7cuiXyl3oEWyzUd0mPLRzkP05jSA7qqvM5Pjl7UBCnUIEmmw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747054220; 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=9zBQB2tRKadF2Epyz4o/z5soY5O1H5clVKR4J9ac3no=; b=IZKrubJk0eJyRjpX8mmvRvDdjRhKJ1VnRp/dJqT0Nc13TBDPaTrGwWMwdOjN2bh0r4bDR3 /a8+lpSu+PGSwAkvj4iN0LEh8nxKZgDdHENPm/lzmA6dfD+WCRJiBwd4LSmngrrrVNCign 38lE0FMfazXvvXywu3TR++iZ7qX1N/hFJWTTLJPJ2GaB5pBmCPsIv0hqHOKO93Wlx8hQVx Rs+2grSDgcXS/cPsjfps6syJ061FQ81/+e+WLh9blqlN3sETXJdAlCm6awWEmavsnpyJ46 +HGPA2dZNQXhOp+RQu77cvEdPb8wUdY2deom1M6LIMh8Sdz1fBvkB2k/D4ePCg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747054220; a=rsa-sha256; cv=none; b=EVCDmXyfzpdEXwITHwcu4mtygL1v2Nput9qTMrqLXwbUxEiGAcqJKWY1yrFcfEr3SGxWxX qGc6Lf3s6pNaVX8G4tIRA/oZZl8W1TcERLhk6E2n+IwTDQYrLsZmP6AiqSXoaHg9ZwX6Sq YJ7arhcf+uPplOVO4RP0Q4z4qEecYHWw+mNmO3jTbbDy7QvitFMci8fonTzviWHXNLKRPt +G4CuzsOtGtp09ORS9CYL3L9utDipoiOSsxJtEg7O7r6d0jwLgWdtWeAAHIUKFRLVW87to /YB78A6nMkZEHPqcRqh3WogxtnIbNEmP+L+MXV3ecZSXB4FccWcXgYRNHUtr7A== 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 4ZwzwX0JvCz1Gdb; Mon, 12 May 2025 12:50:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54CCoJrI082823; Mon, 12 May 2025 12:50:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54CCoJxU082820; Mon, 12 May 2025 12:50:19 GMT (envelope-from git) Date: Mon, 12 May 2025 12:50:19 GMT Message-Id: <202505121250.54CCoJxU082820@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 10a93c92c40a - main - arm64: Remove an old workaround 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 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: 10a93c92c40aab0fd3f24bf17005318b165b9ef4 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=10a93c92c40aab0fd3f24bf17005318b165b9ef4 commit 10a93c92c40aab0fd3f24bf17005318b165b9ef4 Author: Andrew Turner AuthorDate: 2025-05-12 11:05:58 +0000 Commit: Andrew Turner CommitDate: 2025-05-12 11:05:58 +0000 arm64: Remove an old workaround This is an old workaround for an instruction that wasn't emulated correctly in some places. As we now read more ID registers that should also hit this bug trapping this register, and not the others we can assume nobody hits this anymore. Reviewed by: harry.moulton_arm.com, imp, emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D50204 --- sys/arm64/arm64/undefined.c | 31 ------------------------------- 1 file changed, 31 deletions(-) diff --git a/sys/arm64/arm64/undefined.c b/sys/arm64/arm64/undefined.c index cdd2a083ec17..1f44114af544 100644 --- a/sys/arm64/arm64/undefined.c +++ b/sys/arm64/arm64/undefined.c @@ -88,36 +88,6 @@ struct undef_handler { */ LIST_HEAD(, undef_handler) undef_handlers[2]; -/* - * Work around a bug in QEMU prior to 2.5.1 where reading unknown ID - * registers would raise an exception when they should return 0. - */ -static int -id_aa64mmfr2_handler(vm_offset_t va, uint32_t insn, struct trapframe *frame, - uint32_t esr) -{ - int reg; - -#define MRS_ID_AA64MMFR2_EL0_MASK (MRS_MASK | 0x000fffe0) -#define MRS_ID_AA64MMFR2_EL0_VALUE (MRS_VALUE | 0x00080740) - - /* mrs xn, id_aa64mfr2_el1 */ - if ((insn & MRS_ID_AA64MMFR2_EL0_MASK) == MRS_ID_AA64MMFR2_EL0_VALUE) { - reg = MRS_REGISTER(insn); - - frame->tf_elr += INSN_SIZE; - if (reg < nitems(frame->tf_x)) { - frame->tf_x[reg] = 0; - } else if (reg == 30) { - frame->tf_lr = 0; - } - /* If reg is 32 then write to xzr, i.e. do nothing */ - - return (1); - } - return (0); -} - static bool arm_cond_match(uint32_t insn, struct trapframe *frame) { @@ -282,7 +252,6 @@ undef_init(void) LIST_INIT(&undef_handlers[0]); LIST_INIT(&undef_handlers[1]); - install_undef_handler(false, id_aa64mmfr2_handler); #ifdef COMPAT_FREEBSD32 install_undef_handler(true, gdb_trapper); install_undef_handler(true, swp_emulate);