WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[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

<Prev in Thread] Current Thread [Next in Thread>