lkml.org 
[lkml]   [2006]   [Jul]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[RFC PATCH 04/33] Add XEN config options and disable unsupported config options.
    The XEN config option is selected from the i386 subarch menu by
    choosing the X86_XEN "Xen-compatible" subarch.

    The XEN_SHADOW_MODE option defines the memory virtualization mode for
    the kernel -- with it enabled, the kernel expects the hypervisor to
    perform translation between pseudo-physical and machine addresses on
    its behalf.

    The disabled config options are:
    - DOUBLEFAULT: are trapped by Xen and not virtualized
    - HZ: defaults to 100 in Xen VMs
    - Power management: not supported in unprivileged VMs
    - SMP: not supported in this set of patches
    - X86_{UP,LOCAL,IO}_APIC: not supported in unprivileged VMs

    Signed-off-by: Ian Pratt <ian.pratt@xensource.com>
    Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
    Signed-off-by: Chris Wright <chrisw@sous-sol.org>
    ---
    arch/i386/Kconfig | 18 ++++++++++++++----
    arch/i386/Kconfig.debug | 1 +
    drivers/xen/Kconfig | 21 +++++++++++++++++++++
    kernel/Kconfig.hz | 4 ++--
    kernel/Kconfig.preempt | 1 +
    5 files changed, 39 insertions(+), 6 deletions(-)

    diff -r 5851dd4e1b8f arch/i386/Kconfig
    --- a/arch/i386/Kconfig Mon Jul 17 23:10:01 2006 -0400
    +++ b/arch/i386/Kconfig Mon Jul 17 23:11:45 2006 -0400
    @@ -67,6 +67,7 @@ menu "Processor type and features"

    config SMP
    bool "Symmetric multi-processing support"
    + depends on !X86_XEN
    ---help---
    This enables support for systems with more than one CPU. If you have
    a system with only one CPU, like most personal computers, say N. If
    @@ -102,6 +103,12 @@ config X86_PC
    bool "PC-compatible"
    help
    Choose this option if your computer is a standard PC or compatible.
    +
    +config X86_XEN
    + bool "Xen-compatible"
    + help
    + Choose this option if you plan to run this kernel on top of the
    + Xen Hypervisor.

    config X86_ELAN
    bool "AMD Elan"
    @@ -211,6 +218,7 @@ source "arch/i386/Kconfig.cpu"

    config HPET_TIMER
    bool "HPET Timer Support"
    + depends on !X86_XEN
    help
    This enables the use of the HPET for the kernel's internal timer.
    HPET is the next generation timer replacing legacy 8254s.
    @@ -261,7 +269,7 @@ source "kernel/Kconfig.preempt"

    config X86_UP_APIC
    bool "Local APIC support on uniprocessors"
    - depends on !SMP && !(X86_VISWS || X86_VOYAGER)
    + depends on !SMP && !(X86_VISWS || X86_VOYAGER || X86_XEN)
    help
    A local APIC (Advanced Programmable Interrupt Controller) is an
    integrated interrupt controller in the CPU. If you have a single-CPU
    @@ -286,12 +294,12 @@ config X86_UP_IOAPIC

    config X86_LOCAL_APIC
    bool
    - depends on X86_UP_APIC || ((X86_VISWS || SMP) && !X86_VOYAGER)
    + depends on X86_UP_APIC || ((X86_VISWS || SMP) && !(X86_VOYAGER || X86_XEN))
    default y

    config X86_IO_APIC
    bool
    - depends on X86_UP_IOAPIC || (SMP && !(X86_VISWS || X86_VOYAGER))
    + depends on X86_UP_IOAPIC || (SMP && !(X86_VISWS || X86_VOYAGER || X86_XEN))
    default y

    config X86_VISWS_APIC
    @@ -739,7 +747,7 @@ source kernel/Kconfig.hz

    config KEXEC
    bool "kexec system call (EXPERIMENTAL)"
    - depends on EXPERIMENTAL
    + depends on EXPERIMENTAL && !X86_XEN
    help
    kexec is a system call that implements the ability to shutdown your
    current kernel, and to start another kernel. It is like a reboot
    @@ -808,7 +816,7 @@ config ARCH_ENABLE_MEMORY_HOTPLUG
    depends on HIGHMEM

    menu "Power management options (ACPI, APM)"
    - depends on !X86_VOYAGER
    + depends on !(X86_VOYAGER || X86_XEN)

    source kernel/power/Kconfig

    @@ -1144,6 +1152,8 @@ source "security/Kconfig"

    source "crypto/Kconfig"

    +source "drivers/xen/Kconfig"
    +
    source "lib/Kconfig"

    #
    diff -r 5851dd4e1b8f arch/i386/Kconfig.cpu
    --- a/arch/i386/Kconfig.cpu Mon Jul 17 23:10:01 2006 -0400
    +++ b/arch/i386/Kconfig.cpu Mon Jul 17 23:11:45 2006 -0400
    @@ -251,7 +251,7 @@ config X86_PPRO_FENCE

    config X86_F00F_BUG
    bool
    - depends on M586MMX || M586TSC || M586 || M486 || M386
    + depends on (M586MMX || M586TSC || M586 || M486 || M386) && !XEN
    default y

    config X86_WP_WORKS_OK
    diff -r 5851dd4e1b8f arch/i386/Kconfig.debug
    --- a/arch/i386/Kconfig.debug Mon Jul 17 23:10:01 2006 -0400
    +++ b/arch/i386/Kconfig.debug Mon Jul 17 23:11:45 2006 -0400
    @@ -79,6 +79,7 @@ config DOUBLEFAULT
    config DOUBLEFAULT
    default y
    bool "Enable doublefault exception handler" if EMBEDDED
    + depends on !X86_XEN
    help
    This option allows trapping of rare doublefault exceptions that
    would otherwise cause a system to silently reboot. Disabling this
    diff -r 5851dd4e1b8f kernel/Kconfig.hz
    --- a/kernel/Kconfig.hz Mon Jul 17 23:10:01 2006 -0400
    +++ b/kernel/Kconfig.hz Mon Jul 17 23:11:45 2006 -0400
    @@ -3,7 +3,7 @@
    #

    choice
    - prompt "Timer frequency"
    + prompt "Timer frequency" if !XEN
    default HZ_250
    help
    Allows the configuration of the timer frequency. It is customary
    @@ -40,7 +40,7 @@ endchoice

    config HZ
    int
    - default 100 if HZ_100
    + default 100 if HZ_100 || XEN
    default 250 if HZ_250
    default 1000 if HZ_1000

    diff -r 5851dd4e1b8f kernel/Kconfig.preempt
    --- a/kernel/Kconfig.preempt Mon Jul 17 23:10:01 2006 -0400
    +++ b/kernel/Kconfig.preempt Mon Jul 17 23:11:45 2006 -0400
    @@ -35,6 +35,7 @@ config PREEMPT_VOLUNTARY

    config PREEMPT
    bool "Preemptible Kernel (Low-Latency Desktop)"
    + depends on !XEN
    help
    This option reduces the latency of the kernel by making
    all kernel code (that is not executing in a critical section)
    diff -r 5851dd4e1b8f drivers/xen/Kconfig
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/drivers/xen/Kconfig Mon Jul 17 23:11:45 2006 -0400
    @@ -0,0 +1,21 @@
    +#
    +# This Kconfig describe xen options
    +#
    +
    +mainmenu "Xen Configuration"
    +
    +config XEN
    + bool
    + default y if X86_XEN
    + help
    + This is the Linux Xen port.
    +
    +if XEN
    +
    +config XEN_SHADOW_MODE
    + bool
    + default y
    + help
    + Fakes out a shadow mode kernel
    +
    +endif
    --
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-07-18 11:27    [W:0.035 / U:0.288 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site