From mboxrd@z Thu Jan 1 00:00:00 1970 From: Keir Fraser Subject: Re: Re: [PATCH] switch to a known good/static GDT before kexec Date: Thu, 02 Jul 2009 11:52:43 +0100 Message-ID: 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.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Ian Campbell , "xen-devel@lists.xensource.com" Cc: Jan Beulich List-Id: xen-devel@lists.xenproject.org On 02/07/2009 10:18, "Keir Fraser" wrote: >> switch to a known good/static GDT before kexec >> >> kexec has been failing (at least on 32on64, didn't try others) since >> 18771:8e18dd41c6c7 "x86: reduce GDT switching". Ensure that we are >> using a known good GDT before attempting to switch to compatability mode. > > I thought 18771 still left us always running on a good GDT, as least as far > as Xen's own limited needs are concerned. I'd like this in for 3.4.1 of > course, but I'd also like to understand why the fix is required (and whether > this is the best fix). Jan, Thinking about this raises another question. Since your patch to allow arbitrary numbers of VCPUs per domain, does the GDT logic in __context_switch() work any more? What if you have a next vcpu n for which !need_full_gdt(n) but where its domain does not have a vcpu_id as large as p->vcpu_id? Won't you end up with a GDTR pointing at a non-existent mapping ('off the end' of n->domain's per-domain mappings)? -- Keir