From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andi Kleen Subject: Re: Genapic Date: Wed, 18 May 2005 15:57:24 +0200 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: In-Reply-To: (Keir Fraser's message of "Wed, 18 May 2005 08:34:07 +0100") 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-devel@lists.xensource.com, "Vessey, Bruce A" , "Subrahmanian, Raj" List-Id: xen-devel@lists.xenproject.org Keir Fraser writes: > On 17 May 2005, at 22:18, Puthiyaparambil, Aravindh wrote: > >> Now that Xen has platform code has been upgraded to be based off of the >> LK 2.6 code base, it seems that the best way of introducing other >> platform specific code would be to add "genapic" support. Is anybody >> working on this? Is the unstable tree ready for this? > > I'm not sure what 'genapic' support is, but if you mean porting things > like mach-es7000 across to Xen, then yes: I think we are now ready for > that. > > Longer term I'd like to make switching between the different mach types a run-time rather than compile-time decision. But that will require a fair bit of modification to the standard Linux way of doing things -- > for initial 3.0 I think we'll stick to compile-time switches for > selecting esoteric platform configurations. genapic is exactly what you're describing - runtime switching of subarchitectures. It is done in the "generic" i386 subarchitecture with some preprocessor hacks. It's called genapic because it only tries to handle APIC differences, not other very un PC like architectures like visws or Voyager who have many other differences too. The common setups (Summit, es7000, big xapic, flat apic) don't need much more. Using compile time switches for 3.0 would make it unusable for distributions who likely won't ship different binaries for the different low level architectures and force them to do genapic like hacks on their own. Better probably to do it right from the beginning, it is not that hard if you take a look at the Linux code. -Andi