From mboxrd@z Thu Jan 1 00:00:00 1970 From: Xu Zhang Subject: Re: [PATCH 4/6] mini-os/x86-64 entry: remove unnecessary event blocking Date: Wed, 10 Apr 2013 23:40:06 -0500 Message-ID: <51663EA6.7080408@cs.uic.edu> References: <1362778219-8576-1-git-send-email-xzhang@cs.uic.edu> <1362778219-8576-5-git-send-email-xzhang@cs.uic.edu> <20130315201624.GA30676@phenom.dumpdata.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20130315201624.GA30676@phenom.dumpdata.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Konrad Rzeszutek Wilk Cc: jeremy@goop.org, stefano.stabellini@eu.citrix.com, Xu Zhang , xen-devel@lists.xen.org, gm281@cam.ac.uk, samuel.thibault@ens-lyon.org List-Id: xen-devel@lists.xenproject.org Sorry about my delayed response. I just got some time to take a look and revise these patches. It seems to me the bit of %gs manipulation is used for executing "do_hypervisor_callback" on a different stack. After it's done, it switches back to the original stack and resumes from there. The event mask is not touched during this process. I put mini-os under gdb just to verify, and for the runs I observed, event mask remains untouched. Is there anything I am missing? On 03/15/2013 03:16 PM, Konrad Rzeszutek Wilk wrote: > On Fri, Mar 08, 2013 at 03:30:17PM -0600, Xu Zhang wrote: >> We don't need to block events here because: >> - if we came from "hypervisor_callback", events are disabled at this point, >> no need to block again; > Hm, I think I am not following it. It does a bit of %gs manipulation which > looks to point to the cpu0_pda.irqcount. > > ? >> - if we came from "error_entry", we shouldn't touch event mask, for >> exception hanlding are meant to be interrupted by Xen events (virtual > handling >> irq). >> >> Signed-off-by: Xu Zhang >> --- >> extras/mini-os/arch/x86/x86_64.S | 1 - >> 1 files changed, 0 insertions(+), 1 deletions(-) >> >> diff --git a/extras/mini-os/arch/x86/x86_64.S b/extras/mini-os/arch/x86/x86_64.S >> index 79e893f..5e0021b 100644 >> --- a/extras/mini-os/arch/x86/x86_64.S >> +++ b/extras/mini-os/arch/x86/x86_64.S >> @@ -185,7 +185,6 @@ ENTRY(hypervisor_callback2) >> >> error_exit: >> RESTORE_REST >> - XEN_BLOCK_EVENTS(%rsi) >> >> retint_kernel: >> retint_restore_args: >> -- >> 1.7.7.6 >> >> >> _______________________________________________ >> Xen-devel mailing list >> Xen-devel@lists.xen.org >> http://lists.xen.org/xen-devel >> > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel