From nobody Sat Mar 21 22:37:48 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 4fdZ7w4wxcz6W8JG for ; Sat, 21 Mar 2026 22:37:48 +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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fdZ7w4NTkz3VpD for ; Sat, 21 Mar 2026 22:37:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774132668; 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=gzX3YuHCgYJaukR9ap3G4ulatzm+A4GXPzfJrN97n+Y=; b=CSk+wkIrrNWuzneuNnw5/2BP8l80SX18/h/KjiQJQ0TV5Htv2LF9yCvsCTs8j0NxYwkQGZ YMV6aKAIvQg4XIrw+9x0y410dIFzY1nd1vEDFN5D+m/qY6YW8DSBfLKIGsnGCWiylw2u4v t52a9Q5V/QWgd4EcbX1XOt6tXEm4UzMHgBIGYBV0xMAYVMILDoSTxNFXtUZ4lrVNay0UDE BaySyHul75OGqofSXemRXw/egIKbHbzJWoUbTGP6wdQQ5ZlyocCxM2+A5Oo8N1tUd5aisV qhMZk2DYO2RDcp9KTJ50Jt410yEDhStJUErmZmZqcWrXLjc1/7+hTy7+HUYXgw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774132668; a=rsa-sha256; cv=none; b=FLYI9NDxs50GoHQmZfYsJSEDGCA/5PSf7gGVc7Iqe72l2FOB/LW/wAm2revN3mdaEj++/C GKEFw785/WqoGM6PxcOOabpe0dhQYnyN/A+PtN53o5b+R32bEqsEIcptQ+ylii5FudHSlK BzmEyccsurZoVFJLpBjwio7yEQfjghESpiyQzerPsvRPOMwXUSYygjEcHscXSzxY1Ih3mp 4LBoaoShCw6G4fp5Hn2EPSXMk0T/1G/57RfivhE0xihi1EYthyIs+znT9wCmlQgVepmmv6 UTg/4slLbyxrwJaTTm02jquox8enkHnkz7ctrTb2geBVsdLpz52G6PicruzRsQ== 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=1774132668; 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=gzX3YuHCgYJaukR9ap3G4ulatzm+A4GXPzfJrN97n+Y=; b=bvBJwASLI2FRobFNBqpGB58f5Yszg333PPTmHq7bVe9LGsoK3Y7PEp2EOoB4Vf7fnvM3dA nZQBXwIJbMkzgi/HM+pzkr3dA9PJGA8ye8xucfywaGHO9G/1joO0tE7yzMm3e0t9gVXqyR M49HGa6NkVKUeGMLHzOGRrMsOXtYWUkpP0js4j26p6DClqkdbfo5um+aKA38UOloC7xtC/ rOdVS98Fvqz5M+/b/BvWWRk+aAn+JuSeuSouvvVzbYoZ3H1AZXNlszOR0Dz/+VCynbUie9 k8/yRwq/TMgfb4yS4m0yISOuu+PX2VZFhEmGBB+cYM1pOAkJEKkRuTVyX+2afA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fdZ7w3cPczYKP for ; Sat, 21 Mar 2026 22:37:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27145 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 21 Mar 2026 22:37:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 1ba29614c4ce - main - amd64: revert back struct trapframe to the pre-FRED definition 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1ba29614c4ce5e261ade0bd7def94079b7b9647a Auto-Submitted: auto-generated Date: Sat, 21 Mar 2026 22:37:48 +0000 Message-Id: <69bf1dbc.27145.5b461258@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=1ba29614c4ce5e261ade0bd7def94079b7b9647a commit 1ba29614c4ce5e261ade0bd7def94079b7b9647a Author: Konstantin Belousov AuthorDate: 2026-03-21 22:26:48 +0000 Commit: Konstantin Belousov CommitDate: 2026-03-21 22:37:27 +0000 amd64: revert back struct trapframe to the pre-FRED definition Trying to use the grown struct trapframe for IDT case broke in cases where code supposed that hardware consumed sizeof(struct trapframe) of the stack space when delivering interrupt or exception. In particular, this was broken for #NM/#DB/#MC. Naive attempt of using IDT-trapframe size for stack consumption caused later problems with larger C type. Instead of pretending that IDT event delivery pushed two never-accessed doubleword to the stack, keep it honest and provide separate type for the FRED interrupt frame, i.e. struct trapframe_fred. Convert between trapframe_fred and trapframe can be done by trivial pointer arithmetic. Sponsored by: The FreeBSD Foundation MFC after: 1 week --- sys/x86/include/frame.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/x86/include/frame.h b/sys/x86/include/frame.h index a6444d55cfaf..b8e090ff95d0 100644 --- a/sys/x86/include/frame.h +++ b/sys/x86/include/frame.h @@ -152,6 +152,10 @@ struct trapframe { uint16_t tf_ss; uint16_t tf_fred_evinfo1; uint32_t tf_fred_evinfo2; +}; + +struct trapframe_fred { + struct trapframe tf_idt; /* two long words added by FRED */ uint64_t tf_fred_evdata; uint64_t tf_fred_zero1;