From: Jeremy Fitzhardinge Subject: Re: [RFC PATCH 16/33] Add support for Xen to entry.S. Date: Tue, 18 Jul 2006 13:04:10 -0700 Message-ID: <44BD3EBA.5010002@goop.org> References: <20060718091807.467468000@sous-sol.org> <20060718091952.505770000@sous-sol.org> <1153217516.3038.34.camel@laptopd505.fenrus.org> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1153217516.3038.34.camel@laptopd505.fenrus.org> Sender: linux-kernel-owner@vger.kernel.org To: Arjan van de Ven Cc: Chris Wright , linux-kernel@vger.kernel.org, virtualization@lists.osdl.org, xen-devel@lists.xensource.com, Andi Kleen , Andrew Morton , Rusty Russell , Zachary Amsden , Ian Pratt , Christian Limpach , Jeremy Fitzhardinge List-Id: xen-devel@lists.xenproject.org Arjan van de Ven wrote: > On Tue, 2006-07-18 at 00:00 -0700, Chris Wright wrote: > >> +#ifndef CONFIG_XEN >> movl %cr0, %eax >> testl $0x4, %eax # EM (math emulation bit) >> - jne device_not_available_emulate >> - preempt_stop >> - call math_state_restore >> - jmp ret_from_exception >> -device_not_available_emulate: >> + je device_available_emulate >> pushl $0 # temporary storage for ORIG_EIP >> CFI_ADJUST_CFA_OFFSET 4 >> call math_emulate >> addl $4, %esp >> CFI_ADJUST_CFA_OFFSET -4 >> + jmp ret_from_exception >> +device_available_emulate: >> +#endif >> > > > Hi, > > can you explain what this chunk is for? It appears to be for the non-xen > case due to the ifndef, yet it seems to visibly change the code for > that... that deserves an explanation for sure ... > This inverts the logic of the test so that the lines: preempt_stop call math_state_restore jmp ret_from_exception can be hoisted out of the ifdef and shared in the Xen and non-Xen cases. J