From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gerd Hoffmann Subject: Re: New domain builder in xen-unstable Date: Mon, 29 Jan 2007 14:20:54 +0100 Message-ID: <45BDF4B6.7040402@suse.de> References: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 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: Keir Fraser Cc: xen-ppc-devel , Xen Development Mailing List , Hollis Blanchard , xen-ia64-devel List-Id: xen-devel@lists.xenproject.org Keir Fraser wrote: > On 26/1/07 5:04 pm, "Hollis Blanchard" wrote: > >>> Not sure what you mean by "our own domain builder"; we've been >>> implementing xc_linux_build() for quite a while now (and thus integrated >>> with xend). >> Sorry, I misunderstood. I was seeing all the libelf churn, and I missed >> the fact that xc_linux_build() is going away entirely (?). >> >> I'm still not sure what you mean by "our own domain builder" -- there is >> simply no way we're going to add more ifdefs to >> tools/libxc/xc_linux_build.c (or equivalent)... > > xc_linux_build() is still provided in the 'new world' and is still used by > xend. For ia64/x86 it is now a thin wrapper around Gerd's new > domain-building infrastructure. For ppc you can continue to have your very > own version under libxc/powerpc if you want to, and not use Gerd's new > domain-building infrastructure. But the elf code that you rely on is going > away, so you need to move to using libelf, which I'm sure Gerd can give you > some pointers about. libelf is used both within the xen kernel (dom0 builder) and the tools. Have a look at changeset 13618, this does the dom0 builder port for x86 and ia64 (build-tested only), something simliar is needed for the ppc dom0 builder. For the tools: You can either switch over the existing ppc builder in libxc/powerpc/ to use libelf, which likely is simliar to the dom0 builder conversion to libelf. The other option is to use the new builder code in libxc/xc_dom_*.c. Some code is already there. The ia64 bits should at least compile, with luck even work out-of-the-box. The ppc bits I didn't even compile. The places with architecture-specific code are: xc_dom_{ia64,powerpc}.c setup arch-specific structs (start_info, vcpu_context). xc_dom_boot.c invoke the hypercalls needed to boot the domain. There are two functions for architecture-specific code, ppc must hook in the devtree setup there (if you decide to use the new builder). The domain builder core code should need no changes in theory ;) Feel free to ask if there are any questions. HTH & cheers, Gerd -- Gerd Hoffmann