From nobody Mon Feb 9 18:56:49 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 4f8v7Q1jjqz6RrWf for ; Mon, 09 Feb 2026 18:56:50 +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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f8v7Q0KZmz47hs for ; Mon, 09 Feb 2026 18:56:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770663410; 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=GXLlztaSQDg1UX3j3odFiYkhfpYf8XMDt77J4p+2z9g=; b=HTkx2gBRywlMKFbF1oaM7UWyHa5TAeyRN/HjbEnXFMWnhuUwvwo/HEhk+EUJJJXgfpAq0U zdbXk7JQmSEKYnUl+Sqq65YEM1s/aZCqW1AM2Pd8fBFvZzjDGRXgGZaahRetsN6lVI4HS8 CuaC/DNhO/IGfJqRVZphI2pegvHYEeiPQsMy25T45FnX44an/C1xj3L+hS7W3I7mhueUgR 0OzWj6ixWOBdBny9C58XR4F7nPNXl+Ep4+xVwy/ffi/RalqLKrC2zvDAEt9zY+N4RMnmmc 7V47IhmTFGUfD9FKk/SsHnVdZuTOAIq/696NIDDarOw16ZKI2ZQFSbThnfLzMQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770663410; a=rsa-sha256; cv=none; b=cdODNKVWSuJOZaYNFDBUQDoLNfV+wvDZi/I3YxANgkE1E6CB0VbSHI3KGDZ74E2tB62wLA CnvcYe7tTlaN8qLkgISvJl2JLeUMHPhDLRZE7z0EDBskoM8V/55sOjD6d0Zm0YQ8DVK8Ck Dzu1wTuvCf5DgWQASn9pfMhfUAym3/gSr4GOjd67l+O+f4pft18jBdcTA6My6x59DnSPWG 0SJIcIOrqJ/d0I7SrVqX54ZPhUgQihklSGfWQ7DT07GqlynmOEiZgzHf6Ra7Cdc5qI5uST aSdRMv2dJGSsE/8bZ2fhRMIgqIFzQU7GJFr49aDMUL2mLtqSstLK1ePrXiriiw== 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=1770663410; 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=GXLlztaSQDg1UX3j3odFiYkhfpYf8XMDt77J4p+2z9g=; b=AePuUukFuPLkc5dmR8sm+AKQpyAaDpL0dbreawCOCDomDFdcdEy4bLdKe1QrFiwFbjG6rv vasMy/i/hhxnAFyjnisrwUYd48iHSAJabtiHZEf0Yk6CLVjy6WabqsUxxd8MpXZ+gq/EVS wua+qYRdMT0s/2X/hn2qn6xmBt6qcAHkGdcx73OiPDaL8BMy7fhECvY7FP1yRYTtyRyVUR TMgMIPQ8QgZvSGQQqo0NUOAnlUQatBKd80jmAayTnbCDRCG9v5pqewizeFWUA73f7Z5SkQ Qf0ZgERpPOJ8dKS4Jz3IAcN8nnxKxO/UEGVaMeIkr9PmhzTMHwKRB2ivT6uthA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f8v7P6znnzlZ6 for ; Mon, 09 Feb 2026 18:56:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 34947 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 09 Feb 2026 18:56:49 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 24038d696e50 - main - Revert "pcb.h: mark struct pcb to be preserved" 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 24038d696e5030f622e87d6651e9dab1cd7fcb2a Auto-Submitted: auto-generated Date: Mon, 09 Feb 2026 18:56:49 +0000 Message-Id: <698a2df1.34947.3356d220@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=24038d696e5030f622e87d6651e9dab1cd7fcb2a commit 24038d696e5030f622e87d6651e9dab1cd7fcb2a Author: Konstantin Belousov AuthorDate: 2026-02-09 18:25:17 +0000 Commit: Konstantin Belousov CommitDate: 2026-02-09 18:55:57 +0000 Revert "pcb.h: mark struct pcb to be preserved" kgdb only uses the marked fields from dumppcb for initial frame reconstruction. This reverts commit 8f23665fed2fbaf4481359b4d2fcdd7b9feb40e3. --- sys/amd64/include/pcb.h | 21 ++++++++++----------- sys/arm/include/pcb.h | 4 ---- sys/arm64/include/pcb.h | 5 ----- sys/i386/include/pcb.h | 17 ++++++++--------- sys/powerpc/include/pcb.h | 5 ----- sys/riscv/include/pcb.h | 5 ----- 6 files changed, 18 insertions(+), 39 deletions(-) diff --git a/sys/amd64/include/pcb.h b/sys/amd64/include/pcb.h index 5a1e8529ad8b..27e1dce08ee1 100644 --- a/sys/amd64/include/pcb.h +++ b/sys/amd64/include/pcb.h @@ -44,19 +44,18 @@ #ifdef __amd64__ /* - * struct pcb is known to and used by kernel debuggers. Its layout must be kept - * stable. When adding extra fields that are accessed by kernel debuggers, - * debuggers should be backward compatible by using osreldate. + * NB: The fields marked with (*) are used by kernel debuggers. Their + * ABI should be preserved. */ struct pcb { - register_t pcb_r15; - register_t pcb_r14; - register_t pcb_r13; - register_t pcb_r12; - register_t pcb_rbp; - register_t pcb_rsp; - register_t pcb_rbx; - register_t pcb_rip; + register_t pcb_r15; /* (*) */ + register_t pcb_r14; /* (*) */ + register_t pcb_r13; /* (*) */ + register_t pcb_r12; /* (*) */ + register_t pcb_rbp; /* (*) */ + register_t pcb_rsp; /* (*) */ + register_t pcb_rbx; /* (*) */ + register_t pcb_rip; /* (*) */ register_t pcb_fsbase; register_t pcb_gsbase; register_t pcb_kgsbase; diff --git a/sys/arm/include/pcb.h b/sys/arm/include/pcb.h index 810b1e665b19..fd77544c22c1 100644 --- a/sys/arm/include/pcb.h +++ b/sys/arm/include/pcb.h @@ -42,10 +42,6 @@ #include /* - * struct pcb is known to and used by kernel debuggers. Its layout must be kept - * stable. When adding extra fields that are accessed by kernel debuggers, - * debuggers should be backward compatible by using osreldate. - * * WARNING! * Keep pcb_regs first for faster access in switch.S */ diff --git a/sys/arm64/include/pcb.h b/sys/arm64/include/pcb.h index 9955f5b22714..c0feb1149cf5 100644 --- a/sys/arm64/include/pcb.h +++ b/sys/arm64/include/pcb.h @@ -46,11 +46,6 @@ struct trapframe; #define PCB_FP 10 #define PCB_LR 11 -/* - * struct pcb is known to and used by kernel debuggers. Its layout must be kept - * stable. When adding extra fields that are accessed by kernel debuggers, - * debuggers should be backward compatible by using osreldate. - */ struct pcb { uint64_t pcb_x[12]; /* These two need to be in order as we access them together */ diff --git a/sys/i386/include/pcb.h b/sys/i386/include/pcb.h index 1385bfeeef31..1b14efa425b5 100644 --- a/sys/i386/include/pcb.h +++ b/sys/i386/include/pcb.h @@ -44,17 +44,16 @@ #include /* - * struct pcb is known to and used by kernel debuggers. Its layout must be kept - * stable. When adding extra fields that are accessed by kernel debuggers, - * debuggers should be backward compatible by using osreldate. + * NB: The fields marked with (*) are used by kernel debuggers. Their + * ABI should be preserved. */ struct pcb { - int pcb_edi; - int pcb_esi; - int pcb_ebp; - int pcb_esp; - int pcb_ebx; - int pcb_eip; + int pcb_edi; /* (*) */ + int pcb_esi; /* (*) */ + int pcb_ebp; /* (*) */ + int pcb_esp; /* (*) */ + int pcb_ebx; /* (*) */ + int pcb_eip; /* (*) */ struct segment_descriptor pcb_fsd; struct segment_descriptor pcb_gsd; int pcb_ds; diff --git a/sys/powerpc/include/pcb.h b/sys/powerpc/include/pcb.h index 7ebd13dd0ed1..0230cf78aba7 100644 --- a/sys/powerpc/include/pcb.h +++ b/sys/powerpc/include/pcb.h @@ -41,11 +41,6 @@ #include #ifndef _STANDALONE -/* - * struct pcb is known to and used by kernel debuggers. Its layout must be kept - * stable. When adding extra fields that are accessed by kernel debuggers, - * debuggers should be backward compatible by using osreldate. - */ struct pcb { register_t pcb_context[20]; /* non-volatile r12-r31 */ register_t pcb_cr; /* Condition register */ diff --git a/sys/riscv/include/pcb.h b/sys/riscv/include/pcb.h index bcec4c3fd478..bb88516a1385 100644 --- a/sys/riscv/include/pcb.h +++ b/sys/riscv/include/pcb.h @@ -39,11 +39,6 @@ struct trapframe; -/* - * struct pcb is known to and used by kernel debuggers. Its layout must be kept - * stable. When adding extra fields that are accessed by kernel debuggers, - * debuggers should be backward compatible by using osreldate. - */ struct pcb { uint64_t pcb_ra; /* Return address */ uint64_t pcb_sp; /* Stack pointer */