[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-devel] Genapic
Genapic loosely refers to the generic sub architecture for i386 and x86_64 platforms though it is implemented differently for the two. It makes switching between different mach types a run-time option. This is what Andi Kleen had to say about it when he submitted the patch to the LK. [PATCH] generic subarchitecture for ia32 From: Andi Kleen <ak@xxxxxx> This patch adds an generic x86 subarchitecture. It is intended to provide an dynamic interface for APIC drivers. There are already three subarchitectures (bigsmp, summit, default) that only differ in how they drive the local APIC. A fourth - Unisys ES7000 - is scheduled to be merged soon. The subarchitecture concept separated this nicely, but it has the big drawback that they are compile time options. A Linux vendor cannot ship own binary kernel rpms for all of these machines. Runtime probing is needed instead. This patch adds a new "generic" subarchitecture that just acts as a dynamic switching layer for APIC drivers. It only tries to virtualize the APICs, no attempt is made to cover further incompatiblities. This means machines like the Visual Workstation, pc9800 or Voyager are not covered; but these are unlikely to be supported by binary distributions anyways. The generic arch reuses the existing interface in mach_ipi / mach_mpparse.h / mach_apic.h and just pulls it using some macros into an "struct genapic" object. The main APIC code does not recognize it, it is all hidden in the mach-generic include files. Auto detection of APIC types is supported in the usual way used by existing ports like Summit - checking ACPI or mptables for specific signatures - or it can be specified by the user using a new "apic=" boot option. I also moved the DMI scan to before the generic subarchitecture probe, so DMI could be used in future too to probe specific machines. Some minor hacks were needed to avoid circular declaration of a few symbols, but overall it's fairly clean. The patch has been tested on a Summit machine, an generic 4 virtual CPUs Xeon and on an ES7000. But for now I shall bring in the mach-es7000 as a compile time option. Aravindh -----Original Message----- From: Keir Fraser [mailto:Keir.Fraser@xxxxxxxxxxxx] Sent: Wednesday, May 18, 2005 3:34 AM To: Puthiyaparambil, Aravindh Cc: xen-devel@xxxxxxxxxxxxxxxxxxx; Vessey, Bruce A; Subrahmanian, Raj Subject: Re: [Xen-devel] Genapic 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. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |