From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: x86_64: Fix double fault stack setup Date: Thu, 24 May 2012 19:15:14 +0100 Message-ID: <4FBE7AB2.3070408@citrix.com> References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------060905030304020701050103" 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: Keir Fraser Cc: Jan Beulich , "xen-devel@lists.xen.org" List-Id: xen-devel@lists.xenproject.org --------------060905030304020701050103 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit On 24/05/12 19:04, Keir Fraser wrote: > On 24/05/2012 16:28, "Andrew Cooper" wrote: > >> Ah yes - how silly of me. I misread the manual when checking that fact, >> but this was an INT 08 experiment. I really should have checked with a >> ud2 as well. >> >> That is a bit awkward. >> >> Do we actually care about this error from an INT 08? I suppose we could >> check under rip for 0xcd 0x08, but then the same argument would apply to >> all other exceptions which may push an error onto the stack. >> >> Do we care however that entry_vector is not being set correctly? I cant >> see anything on the current codepath which uses it, but it doesn't >> preclude someone adding code in the future. > It would be a simple one-line patch and make that entry point consistent > with all other exception-handling entry points. So I'm in favour of it. > > -- Keir Ok - attached. -- Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer T: +44 (0)1223 225 900, http://www.citrix.com --------------060905030304020701050103 Content-Type: text/x-patch; name="x86_64-double-fault-entry-vector.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="x86_64-double-fault-entry-vector.patch" # HG changeset patch # Parent 69c3ae25bb1ddcb0ea44b7566d36d34e9d6a70aa x86_64: Record entry vector for double faults. Signed-off-by: Andrew Cooper diff -r 69c3ae25bb1d xen/arch/x86/x86_64/entry.S --- a/xen/arch/x86/x86_64/entry.S +++ b/xen/arch/x86/x86_64/entry.S @@ -595,6 +595,7 @@ ENTRY(spurious_interrupt_bug) jmp handle_exception ENTRY(double_fault) + movl $TRAP_double_fault,4(%rsp) SAVE_ALL movq %rsp,%rdi call do_double_fault --------------060905030304020701050103 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel --------------060905030304020701050103--