From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: Re: [PATCH 6/7, RFC] x86_64: basic changes for supporting compatibility mode guest Date: Wed, 23 Aug 2006 12:17:02 +0200 Message-ID: <44EC473E.76E4.0078.0@novell.com> References: <44EC38F1.76E4.0078.0@novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Keir Fraser , xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org >>> Keir Fraser 23.08.06 11:40 >>> >On 23/8/06 10:16 am, "Jan Beulich" wrote: > >> This changes the ABI in adding to vcpu_guest_context - does a change like >> this require bumping the ABI version? > >We can't do this as the struct is part of the domU ABI (used for >initialising secondary VCPUs). You'll have to add the extra CS values to >64-bit arch_vcpu, I think. Then libxc/xc_linux_build.c (after appropriate adjustment) wouldn't have a way to communicate these for a new domain. If extending the structure isn't possible at all, then we'll either have to make event_callback_eip and failsafe_callback_eip unions (permitting a selector:offset pair) or make syscall_callback_eip a union (permitting storing the selectors). I'd favor the second option as that field is entirely useless as long as x86_32 doesn't support syscall (which doesn't make sense as it would make things slower rather than speeding them up) - that way one doesn't have to be careful to not access the other two full 64bit *_callback_eip fields. Jan