Re: [RFC PATCH 28/35] add support for Xen feature queries

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <[email protected]>
> Signed-off-by: Christian Limpach <[email protected]>
> Signed-off-by: Chris Wright <[email protected]>
> ---
>  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


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux