From owner-p4-projects@FreeBSD.ORG Tue Nov 9 02:17:28 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 943C616A4D0; Tue, 9 Nov 2004 02:17:28 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6DC5216A4CE; Tue, 9 Nov 2004 02:17:28 +0000 (GMT) Received: from ns1.xcllnt.net (209-128-86-226.BAYAREA.NET [209.128.86.226]) by mx1.FreeBSD.org (Postfix) with ESMTP id 01B8F43D3F; Tue, 9 Nov 2004 02:17:28 +0000 (GMT) (envelope-from marcel@xcllnt.net) Received: from [192.168.4.250] (dhcp50.pn.xcllnt.net [192.168.4.250]) by ns1.xcllnt.net (8.13.1/8.13.1) with ESMTP id iA92HRFH033720; Mon, 8 Nov 2004 18:17:27 -0800 (PST) (envelope-from marcel@xcllnt.net) In-Reply-To: <200411090150.iA91o13g073150@repoman.freebsd.org> References: <200411090150.iA91o13g073150@repoman.freebsd.org> Mime-Version: 1.0 (Apple Message framework v619) Content-Type: text/plain; charset=US-ASCII; format=flowed Message-Id: <7F404A8C-31F5-11D9-AB55-000D93C47836@xcllnt.net> Content-Transfer-Encoding: 7bit From: Marcel Moolenaar Date: Mon, 8 Nov 2004 18:17:25 -0800 To: Peter Wemm X-Mailer: Apple Mail (2.619) cc: Perforce Change Reviews Subject: Re: PERFORCE change 64659 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Nov 2004 02:17:29 -0000 On Nov 8, 2004, at 5:50 PM, Peter Wemm wrote: > http://perforce.freebsd.org/chv.cgi?CH=64659 > > Change 64659 by peter@peter_daintree on 2004/11/09 01:49:57 > > converge towards i386. I don't understand this stuff. ==== //depot/projects/hammer/sys/amd64/amd64/gdb_machdep.c#4 (text+ko) ==== gdb_cpu_getreg() returns the storage location of the value for the requested register and FOR THE CURRENT THREAD. The storage location can be NULL, meaning that the register is not accessable (when not saved for example). This fact is passed on to kgdb(1) so that "info registers" shows values for registers that were saved and "*not available*" or something along those lines for registers that weren't saved (rather than a bogus value). In any case, the storage location is the PCB by default, but can be the trapframe when the thread that the user is looking at in kgdb(1) and represented by kdb_thread happens to be the thread that entered the debugger. One should not have to worry about it in (hopefully) most cases, because a PCB is constructed from the trapframe, but this doesn't always pan out so nicely. -- Marcel Moolenaar USPA: A-39004 marcel@xcllnt.net