From mboxrd@z Thu Jan 1 00:00:00 1970 From: Igor Mammedov Subject: Re: [PATCH v2] xen: x86_32: do not enable iterrupts when returning from exception in interrupt context Date: Fri, 02 Sep 2011 11:19:29 +0200 Message-ID: <4E609FA1.3010503@redhat.com> References: <4E5EB794.7050909@goop.org> <1314877615-18280-1-git-send-email-imammedo@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1314877615-18280-1-git-send-email-imammedo@redhat.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org BTW, while debugging this issue, I've tried to print saved_upcall_mask inside xen when handling page fault from guest. And it value is always 0. Looking at asm code for example in xen/arch/x86/x86_32/entry.S:382 movzwl TRAPBOUNCE_cs(%edx),%eax ^^^^^ upper 16-bit is 0 set in propagate_page_fault by "tb->cs = ti->cs;" /* Null selectors (0-3) are not allowed. */ testl $~3,%eax jz domain_crash_synchronous movl %eax,UREGS_cs+4(%esp) ^^^^^^^^^^^^^^^^ and here is the only place we set saved_upcall_mask field in current cpu_user_regs It looks like "saved_upcall_mask" in cpu_user_regs is not really used any more for what it means and it's presence in struct is just confusing and misleading. So why not delete it and extend _pad1 to 4 bytes?