From mboxrd@z Thu Jan 1 00:00:00 1970 From: Akio Takebe Subject: Re: [Xen-devel] [Patch][0/2]implement dump_execution_state() on ia64 Date: Fri, 28 Mar 2008 02:22:23 +0900 Message-ID: <82C8902F1E97A4takebe_akio@jp.fujitsu.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-ia64-devel-bounces@lists.xensource.com Errors-To: xen-ia64-devel-bounces@lists.xensource.com To: Keir Fraser , xen-ia64-devel , xen-devel List-Id: xen-devel@lists.xenproject.org Hi, >On 27/3/08 16:56, "Akio Takebe" wrote: > >>> Can you carefully explain why the interface changes are required? >>> >> IA64 needs unwind infomation to show the Calltrace. >> To make the unwind infomation, we needs switch stack and pt_regs. >> So if possible, I want to use pt_regs at geting a interrupt. >> >> I make many interface change because debug-key use IPI. >> But I just want to use pt_regs. > >There is already a function which does what you want (i.e., takes a >cpu_user_regs pointer) -- it's called show_execution_state(). > >On x86 we implement dump_execution_state() by forcing an exception (by >executing an invalid opcode) and dumping the calltrace from within the >exception handler. This works because the exception handler has a >cpu_user_regs pointer and hence can call show_execution_state(). We use the >same trick for handling BUG() and ASSERT(). The code concerned is in >arch/x86/traps.c:do_invalid_op(). On x86, does "xm debug-key d" make system hang? Or it just uses the exception handler, not hangup? Best Regards, Akio Takebe