[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Re: [RFC PATCH 28/35] add support for Xen feature queries
On Tue, 2006-03-21 at 22:31 -0800, Chris Wright wrote: > plain text document attachment (27-xen-features) > Add support for parsing and interpreting hypervisor feature > flags. These allow the kernel to determine what features are provided > by the underlying hypervisor. For example, whether page tables need to > be write protected explicitly by the kernel, and whether the kernel > (appears to) run in ring 0 rather than ring 1. This information allows > the kernel to improve performance by avoiding unnecessary actions. > > Signed-off-by: Ian Pratt <ian.pratt@xxxxxxxxxxxxx> > Signed-off-by: Christian Limpach <Christian.Limpach@xxxxxxxxxxxx> > Signed-off-by: Chris Wright <chrisw@xxxxxxxxxxxx> > --- > arch/i386/mach-xen/Makefile | 2 - > arch/i386/mach-xen/features.c | 29 > ++++++++++++++++++++++++++++ > include/asm-i386/mach-xen/setup_arch_post.h | 2 + > include/xen/features.h | 20 +++++++++++++++++++ > 4 files changed, 52 insertions(+), 1 deletion(-) > > --- xen-subarch-2.6.orig/arch/i386/mach-xen/Makefile > +++ xen-subarch-2.6/arch/i386/mach-xen/Makefile > @@ -4,6 +4,6 @@ > > extra-y := head.o > > -obj-y := setup.o > +obj-y := setup.o features.o > > setup-y := ../mach-default/setup.o > --- xen-subarch-2.6.orig/include/asm-i386/mach-xen/setup_arch_post.h > +++ xen-subarch-2.6/include/asm-i386/mach-xen/setup_arch_post.h > @@ -40,6 +40,8 @@ static void __init machine_specific_arch > { > struct physdev_op op; > > + setup_xen_features(); > + > HYPERVISOR_shared_info = > (struct shared_info *)__va(xen_start_info->shared_info); > memset(empty_zero_page, 0, sizeof(empty_zero_page)); > --- /dev/null > +++ xen-subarch-2.6/arch/i386/mach-xen/features.c > @@ -0,0 +1,29 @@ > +/****************************************************************************** > + * features.c > + * > + * Xen feature flags. > + * > + * Copyright (c) 2006, Ian Campbell, XenSource Inc. > + */ > +#include <linux/types.h> > +#include <linux/cache.h> > +#include <linux/module.h> > +#include <asm/hypervisor.h> > +#include <xen/features.h> > + > +u8 xen_features[XENFEAT_NR_SUBMAPS * 32] __read_mostly; > +EXPORT_SYMBOL(xen_features); EXPORT_SYMBOL_GPL please; this is very specific, low level functionality _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |