From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: The entry of Xen's exception handler Date: Tue, 2 Oct 2012 22:23:05 +0100 Message-ID: <506B5B39.4010205@citrix.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-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org On 02/10/2012 21:51, Xinxin Jin wrote: > Hi, I am trying to understand the exception handler of Xen. In > xen/arch/x86/x86_64/entry.S, the entry of the page fault handler is : > > ENTRY(page_fault) > movl $TRAP_page_fault,4(%rsp) > jmp handle_exception > > Here I did not get why to put the exception vector ($TRAP_page_fault) > to stack before calling handle_exception? This is so every single exception fills in its cpu_user_regs with the correct trap, so the C code an distinguish if its needs to. (See current.h for the structures which get filled in) ~Andrew > > Thanks, > > -- > Xinxin >