xen-devel
To: |
"Keir Fraser" <Keir.Fraser@xxxxxxxxxxxx> |
Subject: |
RE: [Xen-devel] Genapic |
From: |
"Puthiyaparambil, Aravindh" <aravindh.puthiyaparambil@xxxxxxxxxx> |
Date: |
Wed, 18 May 2005 09:59:13 -0400 |
Cc: |
xen-devel@xxxxxxxxxxxxxxxxxxx, "Davis, Jason" <jason.davis@xxxxxxxxxx>, "Vessey, Bruce A" <Bruce.Vessey@xxxxxxxxxx>, "Subrahmanian, Raj" <raj.subrahmanian@xxxxxxxxxx> |
Delivery-date: |
Wed, 18 May 2005 13:58:49 +0000 |
Envelope-to: |
www-data@xxxxxxxxxxxxxxxxxxx |
List-help: |
<mailto:xen-devel-request@lists.xensource.com?subject=help> |
List-id: |
Xen developer discussion <xen-devel.lists.xensource.com> |
List-post: |
<mailto:xen-devel@lists.xensource.com> |
List-subscribe: |
<http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe> |
List-unsubscribe: |
<http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe> |
Sender: |
xen-devel-bounces@xxxxxxxxxxxxxxxxxxx |
Thread-index: |
AcVbe3qnbTwCtWVSRE2ShFIxClIDewANFFyw |
Thread-topic: |
[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
|
|
|