ia64/xen-unstable

changeset 8718:4b06313b9790

Update to Linux 2.6.14.

Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
author cl349@firebug.cl.cam.ac.uk
date Tue Jan 31 19:55:22 2006 +0000 (2006-01-31)
parents 9a05a503897c
children 6b66a8ce9bf8
files buildconfigs/linux-defconfig_xen0_x86_32 buildconfigs/linux-defconfig_xen0_x86_64 buildconfigs/linux-defconfig_xenU_x86_32 buildconfigs/linux-defconfig_xenU_x86_64 buildconfigs/linux-defconfig_xen_x86_32 buildconfigs/linux-defconfig_xen_x86_64 buildconfigs/mk.linux-2.6-xen linux-2.6-xen-sparse/arch/i386/Kconfig linux-2.6-xen-sparse/arch/i386/Makefile linux-2.6-xen-sparse/arch/i386/kernel/Makefile linux-2.6-xen-sparse/arch/i386/kernel/acpi/Makefile linux-2.6-xen-sparse/arch/i386/kernel/acpi/boot-xen.c linux-2.6-xen-sparse/arch/i386/kernel/apic-xen.c linux-2.6-xen-sparse/arch/i386/kernel/apm.c linux-2.6-xen-sparse/arch/i386/kernel/cpu/common-xen.c linux-2.6-xen-sparse/arch/i386/kernel/cpu/mtrr/main-xen.c linux-2.6-xen-sparse/arch/i386/kernel/entry-xen.S linux-2.6-xen-sparse/arch/i386/kernel/head-xen.S linux-2.6-xen-sparse/arch/i386/kernel/i386_ksyms-xen.c linux-2.6-xen-sparse/arch/i386/kernel/io_apic-xen.c linux-2.6-xen-sparse/arch/i386/kernel/ioport-xen.c linux-2.6-xen-sparse/arch/i386/kernel/irq-xen.c linux-2.6-xen-sparse/arch/i386/kernel/mpparse-xen.c linux-2.6-xen-sparse/arch/i386/kernel/pci-dma-xen.c linux-2.6-xen-sparse/arch/i386/kernel/process-xen.c linux-2.6-xen-sparse/arch/i386/kernel/setup-xen.c linux-2.6-xen-sparse/arch/i386/kernel/signal-xen.c linux-2.6-xen-sparse/arch/i386/kernel/smp-xen.c linux-2.6-xen-sparse/arch/i386/kernel/smpboot.c linux-2.6-xen-sparse/arch/i386/kernel/time-xen.c linux-2.6-xen-sparse/arch/i386/kernel/traps-xen.c linux-2.6-xen-sparse/arch/i386/kernel/traps.c linux-2.6-xen-sparse/arch/i386/kernel/vmlinux.lds.S linux-2.6-xen-sparse/arch/i386/mach-xen/Makefile linux-2.6-xen-sparse/arch/i386/mach-xen/setup.c linux-2.6-xen-sparse/arch/i386/mach-xen/topology.c linux-2.6-xen-sparse/arch/i386/mm/Makefile linux-2.6-xen-sparse/arch/i386/mm/fault-xen.c linux-2.6-xen-sparse/arch/i386/mm/highmem-xen.c linux-2.6-xen-sparse/arch/i386/mm/init-xen.c linux-2.6-xen-sparse/arch/i386/mm/ioremap-xen.c linux-2.6-xen-sparse/arch/i386/mm/pgtable-xen.c linux-2.6-xen-sparse/arch/i386/pci/Makefile linux-2.6-xen-sparse/arch/i386/pci/i386-xen.c linux-2.6-xen-sparse/arch/i386/pci/irq-xen.c linux-2.6-xen-sparse/arch/um/kernel/physmem.c linux-2.6-xen-sparse/arch/x86_64/Kconfig linux-2.6-xen-sparse/arch/x86_64/Makefile linux-2.6-xen-sparse/arch/x86_64/ia32/Makefile linux-2.6-xen-sparse/arch/x86_64/ia32/ia32entry-xen.S linux-2.6-xen-sparse/arch/x86_64/ia32/syscall32-xen.c linux-2.6-xen-sparse/arch/x86_64/ia32/syscall32_syscall-xen.S linux-2.6-xen-sparse/arch/x86_64/ia32/vsyscall-int80.S linux-2.6-xen-sparse/arch/x86_64/ia32/vsyscall-sigreturn.S linux-2.6-xen-sparse/arch/x86_64/kernel/Makefile linux-2.6-xen-sparse/arch/x86_64/kernel/acpi/Makefile linux-2.6-xen-sparse/arch/x86_64/kernel/apic-xen.c linux-2.6-xen-sparse/arch/x86_64/kernel/e820-xen.c linux-2.6-xen-sparse/arch/x86_64/kernel/early_printk-xen.c linux-2.6-xen-sparse/arch/x86_64/kernel/entry-xen.S linux-2.6-xen-sparse/arch/x86_64/kernel/genapic-xen.c linux-2.6-xen-sparse/arch/x86_64/kernel/head-xen.S linux-2.6-xen-sparse/arch/x86_64/kernel/head64-xen.c linux-2.6-xen-sparse/arch/x86_64/kernel/i387.c linux-2.6-xen-sparse/arch/x86_64/kernel/io_apic-xen.c linux-2.6-xen-sparse/arch/x86_64/kernel/ioport-xen.c linux-2.6-xen-sparse/arch/x86_64/kernel/irq-xen.c linux-2.6-xen-sparse/arch/x86_64/kernel/mpparse-xen.c linux-2.6-xen-sparse/arch/x86_64/kernel/process-xen.c linux-2.6-xen-sparse/arch/x86_64/kernel/setup-xen.c linux-2.6-xen-sparse/arch/x86_64/kernel/setup64-xen.c linux-2.6-xen-sparse/arch/x86_64/kernel/signal-xen.c linux-2.6-xen-sparse/arch/x86_64/kernel/smp-xen.c linux-2.6-xen-sparse/arch/x86_64/kernel/traps-xen.c linux-2.6-xen-sparse/arch/x86_64/kernel/vsyscall-xen.c linux-2.6-xen-sparse/arch/x86_64/kernel/x8664_ksyms-xen.c linux-2.6-xen-sparse/arch/x86_64/mm/Makefile linux-2.6-xen-sparse/arch/x86_64/mm/fault-xen.c linux-2.6-xen-sparse/arch/x86_64/mm/init-xen.c linux-2.6-xen-sparse/arch/x86_64/mm/pageattr-xen.c linux-2.6-xen-sparse/arch/x86_64/pci/Makefile linux-2.6-xen-sparse/drivers/Kconfig linux-2.6-xen-sparse/drivers/Makefile linux-2.6-xen-sparse/drivers/acpi/Kconfig linux-2.6-xen-sparse/drivers/acpi/tables.c linux-2.6-xen-sparse/drivers/char/mem.c linux-2.6-xen-sparse/drivers/char/tpm/Kconfig linux-2.6-xen-sparse/drivers/char/tpm/Makefile linux-2.6-xen-sparse/drivers/char/tpm/tpm.c linux-2.6-xen-sparse/drivers/char/tpm/tpm.h linux-2.6-xen-sparse/drivers/char/tpm/tpm_atmel.c linux-2.6-xen-sparse/drivers/char/tty_io.c linux-2.6-xen-sparse/drivers/firmware/Kconfig linux-2.6-xen-sparse/drivers/pci/Kconfig linux-2.6-xen-sparse/drivers/serial/Kconfig linux-2.6-xen-sparse/drivers/xen/blkback/xenbus.c linux-2.6-xen-sparse/drivers/xen/core/reboot.c linux-2.6-xen-sparse/drivers/xen/core/skbuff.c linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c linux-2.6-xen-sparse/fs/Kconfig linux-2.6-xen-sparse/include/asm-i386/bitops.h linux-2.6-xen-sparse/include/asm-i386/futex.h linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/desc.h linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/dma-mapping.h linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/fixmap.h linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/highmem.h linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/hw_irq.h linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/mmu_context.h linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/page.h linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/param.h linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/pci.h linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/pgtable-3level.h linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/pgtable.h linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/processor.h linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/ptrace.h linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/setup.h linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/smp.h linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/spinlock.h linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/system.h linux-2.6-xen-sparse/include/asm-i386/spinlock.h linux-2.6-xen-sparse/include/asm-i386/system.h linux-2.6-xen-sparse/include/asm-um/page.h linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/desc.h linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/fixmap.h linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/hw_irq.h linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/io.h linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/irq.h linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/mmu_context.h linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/page.h linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/param.h linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/pci.h linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/pgalloc.h linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/pgtable.h linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/processor.h linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/ptrace.h linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/smp.h linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/system.h linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/timer.h linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/tlbflush.h linux-2.6-xen-sparse/include/linux/gfp.h linux-2.6-xen-sparse/include/linux/highmem.h linux-2.6-xen-sparse/include/linux/init.h linux-2.6-xen-sparse/include/linux/irq.h linux-2.6-xen-sparse/include/linux/mm.h linux-2.6-xen-sparse/include/linux/skbuff.h linux-2.6-xen-sparse/kernel/Kconfig.preempt linux-2.6-xen-sparse/kernel/irq/manage.c linux-2.6-xen-sparse/lib/Kconfig.debug linux-2.6-xen-sparse/mm/highmem.c linux-2.6-xen-sparse/mm/memory.c linux-2.6-xen-sparse/mm/mmap.c linux-2.6-xen-sparse/mm/page_alloc.c linux-2.6-xen-sparse/net/core/dev.c linux-2.6-xen-sparse/net/core/skbuff.c patches/linux-2.6.12/2.6.12.6.patch patches/linux-2.6.12/cpu-hotplug-init.patch patches/linux-2.6.12/i386-cpu-hotplug-updated-for-mm.patch patches/linux-2.6.12/i386-mach-io-check-nmi.patch patches/linux-2.6.12/net-csum.patch patches/linux-2.6.12/pmd-shared.patch patches/linux-2.6.12/rcu-nohz.patch patches/linux-2.6.12/smp-alts.patch patches/linux-2.6.14/i386-mach-io-check-nmi.patch patches/linux-2.6.14/net-csum.patch patches/linux-2.6.14/pmd-shared.patch patches/linux-2.6.14/rcu-nohz.patch patches/linux-2.6.14/smp-alts.patch
line diff
     1.1 --- a/buildconfigs/linux-defconfig_xen0_x86_32	Tue Jan 31 19:55:55 2006 +0100
     1.2 +++ b/buildconfigs/linux-defconfig_xen0_x86_32	Tue Jan 31 19:55:22 2006 +0000
     1.3 @@ -1,13 +1,15 @@
     1.4  #
     1.5  # Automatically generated make config: don't edit
     1.6 -# Linux kernel version: 2.6.12.6-xen0
     1.7 -# Wed Jan 25 17:29:15 2006
     1.8 +# Linux kernel version: 2.6.14-xen0
     1.9 +# Tue Jan 31 18:56:38 2006
    1.10  #
    1.11  CONFIG_X86=y
    1.12 +CONFIG_SEMAPHORE_SLEEPERS=y
    1.13  CONFIG_MMU=y
    1.14  CONFIG_UID16=y
    1.15  CONFIG_GENERIC_ISA_DMA=y
    1.16  CONFIG_GENERIC_IOMAP=y
    1.17 +CONFIG_ARCH_MAY_HAVE_PC_FDC=y
    1.18  
    1.19  #
    1.20  # Code maturity level options
    1.21 @@ -22,6 +24,7 @@ CONFIG_INIT_ENV_ARG_LIMIT=32
    1.22  # General setup
    1.23  #
    1.24  CONFIG_LOCALVERSION=""
    1.25 +# CONFIG_LOCALVERSION_AUTO is not set
    1.26  CONFIG_SWAP=y
    1.27  CONFIG_SYSVIPC=y
    1.28  # CONFIG_POSIX_MQUEUE is not set
    1.29 @@ -31,6 +34,7 @@ CONFIG_SYSCTL=y
    1.30  CONFIG_HOTPLUG=y
    1.31  CONFIG_KOBJECT_UEVENT=y
    1.32  # CONFIG_IKCONFIG is not set
    1.33 +CONFIG_INITRAMFS_SOURCE=""
    1.34  # CONFIG_EMBEDDED is not set
    1.35  CONFIG_KALLSYMS=y
    1.36  # CONFIG_KALLSYMS_ALL is not set
    1.37 @@ -107,6 +111,9 @@ CONFIG_X86_POPAD_OK=y
    1.38  CONFIG_X86_GOOD_APIC=y
    1.39  CONFIG_X86_USE_PPRO_CHECKSUM=y
    1.40  # CONFIG_SMP is not set
    1.41 +CONFIG_PREEMPT_NONE=y
    1.42 +# CONFIG_PREEMPT_VOLUNTARY is not set
    1.43 +# CONFIG_PREEMPT is not set
    1.44  CONFIG_X86_UP_APIC=y
    1.45  CONFIG_X86_UP_IOAPIC=y
    1.46  CONFIG_X86_LOCAL_APIC=y
    1.47 @@ -121,28 +128,43 @@ CONFIG_SWIOTLB=y
    1.48  #
    1.49  # Firmware Drivers
    1.50  #
    1.51 +# CONFIG_DELL_RBU is not set
    1.52 +# CONFIG_DCDBAS is not set
    1.53  # CONFIG_NOHIGHMEM is not set
    1.54 -CONFIG_HIGHMEM4G=y
    1.55 -# CONFIG_HIGHMEM64G is not set
    1.56 +# CONFIG_HIGHMEM4G is not set
    1.57 +CONFIG_HIGHMEM64G=y
    1.58  CONFIG_HIGHMEM=y
    1.59 +CONFIG_X86_PAE=y
    1.60 +CONFIG_SELECT_MEMORY_MODEL=y
    1.61 +CONFIG_FLATMEM_MANUAL=y
    1.62 +# CONFIG_DISCONTIGMEM_MANUAL is not set
    1.63 +# CONFIG_SPARSEMEM_MANUAL is not set
    1.64 +CONFIG_FLATMEM=y
    1.65 +CONFIG_FLAT_NODE_MEM_MAP=y
    1.66 +# CONFIG_SPARSEMEM_STATIC is not set
    1.67  CONFIG_MTRR=y
    1.68  # CONFIG_REGPARM is not set
    1.69  CONFIG_SECCOMP=y
    1.70 +# CONFIG_HZ_100 is not set
    1.71 +CONFIG_HZ_250=y
    1.72 +# CONFIG_HZ_1000 is not set
    1.73 +CONFIG_HZ=250
    1.74 +CONFIG_PHYSICAL_START=0x100000
    1.75  
    1.76  #
    1.77  # Power management options (ACPI, APM)
    1.78  #
    1.79 +CONFIG_PM=y
    1.80  
    1.81  #
    1.82  # ACPI (Advanced Configuration and Power Interface) Support
    1.83  #
    1.84  CONFIG_ACPI=y
    1.85 -CONFIG_ACPI_BOOT=y
    1.86 -CONFIG_ACPI_INTERPRETER=y
    1.87  CONFIG_ACPI_AC=m
    1.88  CONFIG_ACPI_BATTERY=m
    1.89  CONFIG_ACPI_BUTTON=m
    1.90  CONFIG_ACPI_VIDEO=m
    1.91 +CONFIG_ACPI_HOTKEY=m
    1.92  CONFIG_ACPI_FAN=m
    1.93  CONFIG_ACPI_PROCESSOR=m
    1.94  CONFIG_ACPI_THERMAL=m
    1.95 @@ -152,10 +174,8 @@ CONFIG_ACPI_TOSHIBA=m
    1.96  # CONFIG_ACPI_CUSTOM_DSDT is not set
    1.97  CONFIG_ACPI_BLACKLIST_YEAR=0
    1.98  # CONFIG_ACPI_DEBUG is not set
    1.99 -CONFIG_ACPI_BUS=y
   1.100  CONFIG_ACPI_EC=y
   1.101  CONFIG_ACPI_POWER=y
   1.102 -CONFIG_ACPI_PCI=y
   1.103  CONFIG_ACPI_SYSTEM=y
   1.104  # CONFIG_X86_PM_TIMER is not set
   1.105  # CONFIG_ACPI_CONTAINER is not set
   1.106 @@ -177,7 +197,6 @@ CONFIG_PCI_DIRECT=y
   1.107  CONFIG_PCI_MMCONFIG=y
   1.108  # CONFIG_PCIEPORTBUS is not set
   1.109  CONFIG_PCI_LEGACY_PROC=y
   1.110 -# CONFIG_PCI_NAMES is not set
   1.111  # CONFIG_PCI_DEBUG is not set
   1.112  # CONFIG_SCx200 is not set
   1.113  
   1.114 @@ -199,6 +218,147 @@ CONFIG_BINFMT_ELF=y
   1.115  # CONFIG_BINFMT_MISC is not set
   1.116  
   1.117  #
   1.118 +# Networking
   1.119 +#
   1.120 +CONFIG_NET=y
   1.121 +
   1.122 +#
   1.123 +# Networking options
   1.124 +#
   1.125 +CONFIG_PACKET=y
   1.126 +# CONFIG_PACKET_MMAP is not set
   1.127 +CONFIG_UNIX=y
   1.128 +# CONFIG_NET_KEY is not set
   1.129 +CONFIG_INET=y
   1.130 +# CONFIG_IP_MULTICAST is not set
   1.131 +# CONFIG_IP_ADVANCED_ROUTER is not set
   1.132 +CONFIG_IP_FIB_HASH=y
   1.133 +CONFIG_IP_PNP=y
   1.134 +CONFIG_IP_PNP_DHCP=y
   1.135 +# CONFIG_IP_PNP_BOOTP is not set
   1.136 +# CONFIG_IP_PNP_RARP is not set
   1.137 +# CONFIG_NET_IPIP is not set
   1.138 +# CONFIG_NET_IPGRE is not set
   1.139 +# CONFIG_ARPD is not set
   1.140 +# CONFIG_SYN_COOKIES is not set
   1.141 +# CONFIG_INET_AH is not set
   1.142 +# CONFIG_INET_ESP is not set
   1.143 +# CONFIG_INET_IPCOMP is not set
   1.144 +# CONFIG_INET_TUNNEL is not set
   1.145 +# CONFIG_INET_DIAG is not set
   1.146 +# CONFIG_TCP_CONG_ADVANCED is not set
   1.147 +CONFIG_TCP_CONG_BIC=y
   1.148 +
   1.149 +#
   1.150 +# IP: Virtual Server Configuration
   1.151 +#
   1.152 +# CONFIG_IP_VS is not set
   1.153 +# CONFIG_IPV6 is not set
   1.154 +CONFIG_NETFILTER=y
   1.155 +# CONFIG_NETFILTER_DEBUG is not set
   1.156 +CONFIG_BRIDGE_NETFILTER=y
   1.157 +# CONFIG_NETFILTER_NETLINK is not set
   1.158 +
   1.159 +#
   1.160 +# IP: Netfilter Configuration
   1.161 +#
   1.162 +CONFIG_IP_NF_CONNTRACK=m
   1.163 +CONFIG_IP_NF_CT_ACCT=y
   1.164 +# CONFIG_IP_NF_CONNTRACK_MARK is not set
   1.165 +# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
   1.166 +# CONFIG_IP_NF_CT_PROTO_SCTP is not set
   1.167 +CONFIG_IP_NF_FTP=m
   1.168 +# CONFIG_IP_NF_IRC is not set
   1.169 +# CONFIG_IP_NF_NETBIOS_NS is not set
   1.170 +# CONFIG_IP_NF_TFTP is not set
   1.171 +# CONFIG_IP_NF_AMANDA is not set
   1.172 +# CONFIG_IP_NF_PPTP is not set
   1.173 +# CONFIG_IP_NF_QUEUE is not set
   1.174 +CONFIG_IP_NF_IPTABLES=m
   1.175 +# CONFIG_IP_NF_MATCH_LIMIT is not set
   1.176 +CONFIG_IP_NF_MATCH_IPRANGE=m
   1.177 +# CONFIG_IP_NF_MATCH_MAC is not set
   1.178 +# CONFIG_IP_NF_MATCH_PKTTYPE is not set
   1.179 +# CONFIG_IP_NF_MATCH_MARK is not set
   1.180 +# CONFIG_IP_NF_MATCH_MULTIPORT is not set
   1.181 +# CONFIG_IP_NF_MATCH_TOS is not set
   1.182 +# CONFIG_IP_NF_MATCH_RECENT is not set
   1.183 +# CONFIG_IP_NF_MATCH_ECN is not set
   1.184 +# CONFIG_IP_NF_MATCH_DSCP is not set
   1.185 +# CONFIG_IP_NF_MATCH_AH_ESP is not set
   1.186 +# CONFIG_IP_NF_MATCH_LENGTH is not set
   1.187 +# CONFIG_IP_NF_MATCH_TTL is not set
   1.188 +# CONFIG_IP_NF_MATCH_TCPMSS is not set
   1.189 +# CONFIG_IP_NF_MATCH_HELPER is not set
   1.190 +# CONFIG_IP_NF_MATCH_STATE is not set
   1.191 +# CONFIG_IP_NF_MATCH_CONNTRACK is not set
   1.192 +# CONFIG_IP_NF_MATCH_OWNER is not set
   1.193 +CONFIG_IP_NF_MATCH_PHYSDEV=m
   1.194 +# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
   1.195 +# CONFIG_IP_NF_MATCH_REALM is not set
   1.196 +# CONFIG_IP_NF_MATCH_SCTP is not set
   1.197 +# CONFIG_IP_NF_MATCH_DCCP is not set
   1.198 +# CONFIG_IP_NF_MATCH_COMMENT is not set
   1.199 +# CONFIG_IP_NF_MATCH_CONNBYTES is not set
   1.200 +# CONFIG_IP_NF_MATCH_HASHLIMIT is not set
   1.201 +# CONFIG_IP_NF_MATCH_STRING is not set
   1.202 +CONFIG_IP_NF_FILTER=m
   1.203 +CONFIG_IP_NF_TARGET_REJECT=m
   1.204 +# CONFIG_IP_NF_TARGET_LOG is not set
   1.205 +# CONFIG_IP_NF_TARGET_ULOG is not set
   1.206 +# CONFIG_IP_NF_TARGET_TCPMSS is not set
   1.207 +# CONFIG_IP_NF_TARGET_NFQUEUE is not set
   1.208 +CONFIG_IP_NF_NAT=m
   1.209 +CONFIG_IP_NF_NAT_NEEDED=y
   1.210 +CONFIG_IP_NF_TARGET_MASQUERADE=m
   1.211 +# CONFIG_IP_NF_TARGET_REDIRECT is not set
   1.212 +# CONFIG_IP_NF_TARGET_NETMAP is not set
   1.213 +# CONFIG_IP_NF_TARGET_SAME is not set
   1.214 +# CONFIG_IP_NF_NAT_SNMP_BASIC is not set
   1.215 +CONFIG_IP_NF_NAT_FTP=m
   1.216 +# CONFIG_IP_NF_MANGLE is not set
   1.217 +# CONFIG_IP_NF_RAW is not set
   1.218 +# CONFIG_IP_NF_ARPTABLES is not set
   1.219 +
   1.220 +#
   1.221 +# Bridge: Netfilter Configuration
   1.222 +#
   1.223 +# CONFIG_BRIDGE_NF_EBTABLES is not set
   1.224 +
   1.225 +#
   1.226 +# DCCP Configuration (EXPERIMENTAL)
   1.227 +#
   1.228 +# CONFIG_IP_DCCP is not set
   1.229 +
   1.230 +#
   1.231 +# SCTP Configuration (EXPERIMENTAL)
   1.232 +#
   1.233 +# CONFIG_IP_SCTP is not set
   1.234 +# CONFIG_ATM is not set
   1.235 +CONFIG_BRIDGE=y
   1.236 +# CONFIG_VLAN_8021Q is not set
   1.237 +# CONFIG_DECNET is not set
   1.238 +# CONFIG_LLC2 is not set
   1.239 +# CONFIG_IPX is not set
   1.240 +# CONFIG_ATALK is not set
   1.241 +# CONFIG_X25 is not set
   1.242 +# CONFIG_LAPB is not set
   1.243 +# CONFIG_NET_DIVERT is not set
   1.244 +# CONFIG_ECONET is not set
   1.245 +# CONFIG_WAN_ROUTER is not set
   1.246 +# CONFIG_NET_SCHED is not set
   1.247 +# CONFIG_NET_CLS_ROUTE is not set
   1.248 +
   1.249 +#
   1.250 +# Network testing
   1.251 +#
   1.252 +# CONFIG_NET_PKTGEN is not set
   1.253 +# CONFIG_HAMRADIO is not set
   1.254 +# CONFIG_IRDA is not set
   1.255 +# CONFIG_BT is not set
   1.256 +# CONFIG_IEEE80211 is not set
   1.257 +
   1.258 +#
   1.259  # Device Drivers
   1.260  #
   1.261  
   1.262 @@ -211,6 +371,11 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
   1.263  # CONFIG_DEBUG_DRIVER is not set
   1.264  
   1.265  #
   1.266 +# Connector - unified userspace <-> kernelspace linker
   1.267 +#
   1.268 +# CONFIG_CONNECTOR is not set
   1.269 +
   1.270 +#
   1.271  # Memory Technology Devices (MTD)
   1.272  #
   1.273  # CONFIG_MTD is not set
   1.274 @@ -244,7 +409,6 @@ CONFIG_BLK_DEV_RAM=y
   1.275  CONFIG_BLK_DEV_RAM_COUNT=16
   1.276  CONFIG_BLK_DEV_RAM_SIZE=4096
   1.277  CONFIG_BLK_DEV_INITRD=y
   1.278 -CONFIG_INITRAMFS_SOURCE=""
   1.279  # CONFIG_LBD is not set
   1.280  # CONFIG_CDROM_PKTCDVD is not set
   1.281  
   1.282 @@ -304,6 +468,7 @@ CONFIG_IDEDMA_PCI_AUTO=y
   1.283  # CONFIG_BLK_DEV_HPT366 is not set
   1.284  # CONFIG_BLK_DEV_SC1200 is not set
   1.285  CONFIG_BLK_DEV_PIIX=y
   1.286 +# CONFIG_BLK_DEV_IT821X is not set
   1.287  # CONFIG_BLK_DEV_NS87415 is not set
   1.288  # CONFIG_BLK_DEV_PDC202XX_OLD is not set
   1.289  # CONFIG_BLK_DEV_PDC202XX_NEW is not set
   1.290 @@ -322,6 +487,7 @@ CONFIG_IDEDMA_AUTO=y
   1.291  #
   1.292  # SCSI device support
   1.293  #
   1.294 +# CONFIG_RAID_ATTRS is not set
   1.295  CONFIG_SCSI=y
   1.296  CONFIG_SCSI_PROC_FS=y
   1.297  
   1.298 @@ -333,6 +499,7 @@ CONFIG_BLK_DEV_SD=y
   1.299  # CONFIG_CHR_DEV_OSST is not set
   1.300  # CONFIG_BLK_DEV_SR is not set
   1.301  # CONFIG_CHR_DEV_SG is not set
   1.302 +# CONFIG_CHR_DEV_SCH is not set
   1.303  
   1.304  #
   1.305  # Some SCSI devices (e.g. CD jukebox) support multiple LUNs
   1.306 @@ -347,6 +514,7 @@ CONFIG_BLK_DEV_SD=y
   1.307  CONFIG_SCSI_SPI_ATTRS=y
   1.308  # CONFIG_SCSI_FC_ATTRS is not set
   1.309  # CONFIG_SCSI_ISCSI_ATTRS is not set
   1.310 +# CONFIG_SCSI_SAS_ATTRS is not set
   1.311  
   1.312  #
   1.313  # SCSI low-level drivers
   1.314 @@ -373,10 +541,12 @@ CONFIG_AIC79XX_REG_PRETTY_PRINT=y
   1.315  # CONFIG_SCSI_ADVANSYS is not set
   1.316  CONFIG_MEGARAID_NEWGEN=y
   1.317  # CONFIG_MEGARAID_MM is not set
   1.318 +# CONFIG_MEGARAID_SAS is not set
   1.319  CONFIG_SCSI_SATA=y
   1.320  # CONFIG_SCSI_SATA_AHCI is not set
   1.321  # CONFIG_SCSI_SATA_SVW is not set
   1.322  CONFIG_SCSI_ATA_PIIX=y
   1.323 +# CONFIG_SCSI_SATA_MV is not set
   1.324  # CONFIG_SCSI_SATA_NV is not set
   1.325  CONFIG_SCSI_SATA_PROMISE=y
   1.326  # CONFIG_SCSI_SATA_QSTOR is not set
   1.327 @@ -386,6 +556,7 @@ CONFIG_SCSI_SATA_SIL=y
   1.328  # CONFIG_SCSI_SATA_ULI is not set
   1.329  # CONFIG_SCSI_SATA_VIA is not set
   1.330  # CONFIG_SCSI_SATA_VITESSE is not set
   1.331 +CONFIG_SCSI_SATA_INTEL_COMBINED=y
   1.332  # CONFIG_SCSI_CPQFCTS is not set
   1.333  # CONFIG_SCSI_DMX3191D is not set
   1.334  # CONFIG_SCSI_EATA_PIO is not set
   1.335 @@ -395,8 +566,6 @@ CONFIG_SCSI_SATA_SIL=y
   1.336  # CONFIG_SCSI_INIA100 is not set
   1.337  # CONFIG_SCSI_SYM53C8XX_2 is not set
   1.338  # CONFIG_SCSI_IPR is not set
   1.339 -# CONFIG_SCSI_PCI2000 is not set
   1.340 -# CONFIG_SCSI_PCI2220I is not set
   1.341  # CONFIG_SCSI_QLOGIC_ISP is not set
   1.342  # CONFIG_SCSI_QLOGIC_FC is not set
   1.343  # CONFIG_SCSI_QLOGIC_1280 is not set
   1.344 @@ -406,6 +575,7 @@ CONFIG_SCSI_QLA2XXX=y
   1.345  # CONFIG_SCSI_QLA2300 is not set
   1.346  # CONFIG_SCSI_QLA2322 is not set
   1.347  # CONFIG_SCSI_QLA6312 is not set
   1.348 +# CONFIG_SCSI_QLA24XX is not set
   1.349  # CONFIG_SCSI_LPFC is not set
   1.350  # CONFIG_SCSI_DC395x is not set
   1.351  # CONFIG_SCSI_DC390T is not set
   1.352 @@ -435,9 +605,10 @@ CONFIG_DM_MIRROR=y
   1.353  #
   1.354  # Fusion MPT device support
   1.355  #
   1.356 -CONFIG_FUSION=y
   1.357 -CONFIG_FUSION_MAX_SGE=40
   1.358 -# CONFIG_FUSION_CTL is not set
   1.359 +# CONFIG_FUSION is not set
   1.360 +# CONFIG_FUSION_SPI is not set
   1.361 +# CONFIG_FUSION_FC is not set
   1.362 +# CONFIG_FUSION_SAS is not set
   1.363  
   1.364  #
   1.365  # IEEE 1394 (FireWire) support
   1.366 @@ -450,135 +621,8 @@ CONFIG_FUSION_MAX_SGE=40
   1.367  # CONFIG_I2O is not set
   1.368  
   1.369  #
   1.370 -# Networking support
   1.371 -#
   1.372 -CONFIG_NET=y
   1.373 -
   1.374 -#
   1.375 -# Networking options
   1.376 -#
   1.377 -CONFIG_PACKET=y
   1.378 -# CONFIG_PACKET_MMAP is not set
   1.379 -CONFIG_UNIX=y
   1.380 -# CONFIG_NET_KEY is not set
   1.381 -CONFIG_INET=y
   1.382 -# CONFIG_IP_MULTICAST is not set
   1.383 -# CONFIG_IP_ADVANCED_ROUTER is not set
   1.384 -CONFIG_IP_PNP=y
   1.385 -CONFIG_IP_PNP_DHCP=y
   1.386 -# CONFIG_IP_PNP_BOOTP is not set
   1.387 -# CONFIG_IP_PNP_RARP is not set
   1.388 -# CONFIG_NET_IPIP is not set
   1.389 -# CONFIG_NET_IPGRE is not set
   1.390 -# CONFIG_ARPD is not set
   1.391 -# CONFIG_SYN_COOKIES is not set
   1.392 -# CONFIG_INET_AH is not set
   1.393 -# CONFIG_INET_ESP is not set
   1.394 -# CONFIG_INET_IPCOMP is not set
   1.395 -# CONFIG_INET_TUNNEL is not set
   1.396 -CONFIG_IP_TCPDIAG=y
   1.397 -# CONFIG_IP_TCPDIAG_IPV6 is not set
   1.398 -
   1.399 -#
   1.400 -# IP: Virtual Server Configuration
   1.401 -#
   1.402 -# CONFIG_IP_VS is not set
   1.403 -# CONFIG_IPV6 is not set
   1.404 -CONFIG_NETFILTER=y
   1.405 -# CONFIG_NETFILTER_DEBUG is not set
   1.406 -CONFIG_BRIDGE_NETFILTER=y
   1.407 -
   1.408 -#
   1.409 -# IP: Netfilter Configuration
   1.410 +# Network device support
   1.411  #
   1.412 -CONFIG_IP_NF_CONNTRACK=m
   1.413 -CONFIG_IP_NF_CT_ACCT=y
   1.414 -# CONFIG_IP_NF_CONNTRACK_MARK is not set
   1.415 -# CONFIG_IP_NF_CT_PROTO_SCTP is not set
   1.416 -CONFIG_IP_NF_FTP=m
   1.417 -# CONFIG_IP_NF_IRC is not set
   1.418 -# CONFIG_IP_NF_TFTP is not set
   1.419 -# CONFIG_IP_NF_AMANDA is not set
   1.420 -# CONFIG_IP_NF_QUEUE is not set
   1.421 -CONFIG_IP_NF_IPTABLES=m
   1.422 -# CONFIG_IP_NF_MATCH_LIMIT is not set
   1.423 -CONFIG_IP_NF_MATCH_IPRANGE=m
   1.424 -# CONFIG_IP_NF_MATCH_MAC is not set
   1.425 -# CONFIG_IP_NF_MATCH_PKTTYPE is not set
   1.426 -# CONFIG_IP_NF_MATCH_MARK is not set
   1.427 -# CONFIG_IP_NF_MATCH_MULTIPORT is not set
   1.428 -# CONFIG_IP_NF_MATCH_TOS is not set
   1.429 -# CONFIG_IP_NF_MATCH_RECENT is not set
   1.430 -# CONFIG_IP_NF_MATCH_ECN is not set
   1.431 -# CONFIG_IP_NF_MATCH_DSCP is not set
   1.432 -# CONFIG_IP_NF_MATCH_AH_ESP is not set
   1.433 -# CONFIG_IP_NF_MATCH_LENGTH is not set
   1.434 -# CONFIG_IP_NF_MATCH_TTL is not set
   1.435 -# CONFIG_IP_NF_MATCH_TCPMSS is not set
   1.436 -# CONFIG_IP_NF_MATCH_HELPER is not set
   1.437 -# CONFIG_IP_NF_MATCH_STATE is not set
   1.438 -# CONFIG_IP_NF_MATCH_CONNTRACK is not set
   1.439 -# CONFIG_IP_NF_MATCH_OWNER is not set
   1.440 -CONFIG_IP_NF_MATCH_PHYSDEV=m
   1.441 -# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
   1.442 -# CONFIG_IP_NF_MATCH_REALM is not set
   1.443 -# CONFIG_IP_NF_MATCH_SCTP is not set
   1.444 -# CONFIG_IP_NF_MATCH_COMMENT is not set
   1.445 -# CONFIG_IP_NF_MATCH_HASHLIMIT is not set
   1.446 -CONFIG_IP_NF_FILTER=m
   1.447 -CONFIG_IP_NF_TARGET_REJECT=m
   1.448 -# CONFIG_IP_NF_TARGET_LOG is not set
   1.449 -# CONFIG_IP_NF_TARGET_ULOG is not set
   1.450 -# CONFIG_IP_NF_TARGET_TCPMSS is not set
   1.451 -CONFIG_IP_NF_NAT=m
   1.452 -CONFIG_IP_NF_NAT_NEEDED=y
   1.453 -CONFIG_IP_NF_TARGET_MASQUERADE=m
   1.454 -# CONFIG_IP_NF_TARGET_REDIRECT is not set
   1.455 -# CONFIG_IP_NF_TARGET_NETMAP is not set
   1.456 -# CONFIG_IP_NF_TARGET_SAME is not set
   1.457 -# CONFIG_IP_NF_NAT_SNMP_BASIC is not set
   1.458 -CONFIG_IP_NF_NAT_FTP=m
   1.459 -# CONFIG_IP_NF_MANGLE is not set
   1.460 -# CONFIG_IP_NF_RAW is not set
   1.461 -# CONFIG_IP_NF_ARPTABLES is not set
   1.462 -
   1.463 -#
   1.464 -# Bridge: Netfilter Configuration
   1.465 -#
   1.466 -# CONFIG_BRIDGE_NF_EBTABLES is not set
   1.467 -
   1.468 -#
   1.469 -# SCTP Configuration (EXPERIMENTAL)
   1.470 -#
   1.471 -# CONFIG_IP_SCTP is not set
   1.472 -# CONFIG_ATM is not set
   1.473 -CONFIG_BRIDGE=y
   1.474 -# CONFIG_VLAN_8021Q is not set
   1.475 -# CONFIG_DECNET is not set
   1.476 -# CONFIG_LLC2 is not set
   1.477 -# CONFIG_IPX is not set
   1.478 -# CONFIG_ATALK is not set
   1.479 -# CONFIG_X25 is not set
   1.480 -# CONFIG_LAPB is not set
   1.481 -# CONFIG_NET_DIVERT is not set
   1.482 -# CONFIG_ECONET is not set
   1.483 -# CONFIG_WAN_ROUTER is not set
   1.484 -
   1.485 -#
   1.486 -# QoS and/or fair queueing
   1.487 -#
   1.488 -# CONFIG_NET_SCHED is not set
   1.489 -# CONFIG_NET_CLS_ROUTE is not set
   1.490 -
   1.491 -#
   1.492 -# Network testing
   1.493 -#
   1.494 -# CONFIG_NET_PKTGEN is not set
   1.495 -# CONFIG_NETPOLL is not set
   1.496 -# CONFIG_NET_POLL_CONTROLLER is not set
   1.497 -# CONFIG_HAMRADIO is not set
   1.498 -# CONFIG_IRDA is not set
   1.499 -# CONFIG_BT is not set
   1.500  CONFIG_NETDEVICES=y
   1.501  # CONFIG_DUMMY is not set
   1.502  # CONFIG_BONDING is not set
   1.503 @@ -591,12 +635,18 @@ CONFIG_TUN=y
   1.504  # CONFIG_ARCNET is not set
   1.505  
   1.506  #
   1.507 +# PHY device support
   1.508 +#
   1.509 +# CONFIG_PHYLIB is not set
   1.510 +
   1.511 +#
   1.512  # Ethernet (10 or 100Mbit)
   1.513  #
   1.514  CONFIG_NET_ETHERNET=y
   1.515  CONFIG_MII=y
   1.516  # CONFIG_HAPPYMEAL is not set
   1.517  # CONFIG_SUNGEM is not set
   1.518 +# CONFIG_CASSINI is not set
   1.519  CONFIG_NET_VENDOR_3COM=y
   1.520  CONFIG_VORTEX=y
   1.521  # CONFIG_TYPHOON is not set
   1.522 @@ -613,6 +663,7 @@ CONFIG_TULIP=y
   1.523  # CONFIG_DE4X5 is not set
   1.524  # CONFIG_WINBOND_840 is not set
   1.525  # CONFIG_DM9102 is not set
   1.526 +# CONFIG_ULI526X is not set
   1.527  # CONFIG_HP100 is not set
   1.528  CONFIG_NET_PCI=y
   1.529  CONFIG_PCNET32=y
   1.530 @@ -651,6 +702,8 @@ CONFIG_E1000=y
   1.531  # CONFIG_HAMACHI is not set
   1.532  # CONFIG_YELLOWFIN is not set
   1.533  # CONFIG_R8169 is not set
   1.534 +# CONFIG_SIS190 is not set
   1.535 +# CONFIG_SKGE is not set
   1.536  CONFIG_SK98LIN=y
   1.537  # CONFIG_VIA_VELOCITY is not set
   1.538  CONFIG_TIGON3=y
   1.539 @@ -659,6 +712,7 @@ CONFIG_TIGON3=y
   1.540  #
   1.541  # Ethernet (10000 Mbit)
   1.542  #
   1.543 +# CONFIG_CHELSIO_T1 is not set
   1.544  # CONFIG_IXGB is not set
   1.545  # CONFIG_S2IO is not set
   1.546  
   1.547 @@ -683,6 +737,8 @@ CONFIG_TIGON3=y
   1.548  # CONFIG_NET_FC is not set
   1.549  # CONFIG_SHAPER is not set
   1.550  # CONFIG_NETCONSOLE is not set
   1.551 +# CONFIG_NETPOLL is not set
   1.552 +# CONFIG_NET_POLL_CONTROLLER is not set
   1.553  
   1.554  #
   1.555  # ISDN subsystem
   1.556 @@ -796,7 +852,6 @@ CONFIG_AGP_VIA=m
   1.557  # CONFIG_AGP_EFFICEON is not set
   1.558  CONFIG_DRM=m
   1.559  CONFIG_DRM_TDFX=m
   1.560 -# CONFIG_DRM_GAMMA is not set
   1.561  CONFIG_DRM_R128=m
   1.562  CONFIG_DRM_RADEON=m
   1.563  CONFIG_DRM_I810=m
   1.564 @@ -804,6 +859,8 @@ CONFIG_DRM_I830=m
   1.565  CONFIG_DRM_I915=m
   1.566  CONFIG_DRM_MGA=m
   1.567  CONFIG_DRM_SIS=m
   1.568 +# CONFIG_DRM_VIA is not set
   1.569 +# CONFIG_DRM_SAVAGE is not set
   1.570  # CONFIG_MWAVE is not set
   1.571  # CONFIG_RAW_DRIVER is not set
   1.572  # CONFIG_HPET is not set
   1.573 @@ -825,11 +882,21 @@ CONFIG_DRM_SIS=m
   1.574  # CONFIG_W1 is not set
   1.575  
   1.576  #
   1.577 +# Hardware Monitoring support
   1.578 +#
   1.579 +# CONFIG_HWMON is not set
   1.580 +# CONFIG_HWMON_VID is not set
   1.581 +
   1.582 +#
   1.583  # Misc devices
   1.584  #
   1.585  # CONFIG_IBM_ASM is not set
   1.586  
   1.587  #
   1.588 +# Multimedia Capabilities Port drivers
   1.589 +#
   1.590 +
   1.591 +#
   1.592  # Multimedia devices
   1.593  #
   1.594  # CONFIG_VIDEO_DEV is not set
   1.595 @@ -870,12 +937,14 @@ CONFIG_USB=y
   1.596  # CONFIG_USB_DEVICEFS is not set
   1.597  # CONFIG_USB_BANDWIDTH is not set
   1.598  # CONFIG_USB_DYNAMIC_MINORS is not set
   1.599 +# CONFIG_USB_SUSPEND is not set
   1.600  # CONFIG_USB_OTG is not set
   1.601  
   1.602  #
   1.603  # USB Host Controller Drivers
   1.604  #
   1.605  # CONFIG_USB_EHCI_HCD is not set
   1.606 +# CONFIG_USB_ISP116X_HCD is not set
   1.607  CONFIG_USB_OHCI_HCD=y
   1.608  # CONFIG_USB_OHCI_BIG_ENDIAN is not set
   1.609  CONFIG_USB_OHCI_LITTLE_ENDIAN=y
   1.610 @@ -903,12 +972,17 @@ CONFIG_USB_HIDINPUT=y
   1.611  # CONFIG_USB_HIDDEV is not set
   1.612  # CONFIG_USB_AIPTEK is not set
   1.613  # CONFIG_USB_WACOM is not set
   1.614 +# CONFIG_USB_ACECAD is not set
   1.615  # CONFIG_USB_KBTAB is not set
   1.616  # CONFIG_USB_POWERMATE is not set
   1.617  # CONFIG_USB_MTOUCH is not set
   1.618 +# CONFIG_USB_ITMTOUCH is not set
   1.619  # CONFIG_USB_EGALAX is not set
   1.620 +# CONFIG_USB_YEALINK is not set
   1.621  # CONFIG_USB_XPAD is not set
   1.622  # CONFIG_USB_ATI_REMOTE is not set
   1.623 +# CONFIG_USB_KEYSPAN_REMOTE is not set
   1.624 +# CONFIG_USB_APPLETOUCH is not set
   1.625  
   1.626  #
   1.627  # USB Imaging devices
   1.628 @@ -958,9 +1032,10 @@ CONFIG_USB_MON=y
   1.629  # CONFIG_USB_PHIDGETKIT is not set
   1.630  # CONFIG_USB_PHIDGETSERVO is not set
   1.631  # CONFIG_USB_IDMOUSE is not set
   1.632 +# CONFIG_USB_LD is not set
   1.633  
   1.634  #
   1.635 -# USB ATM/DSL drivers
   1.636 +# USB DSL modem support
   1.637  #
   1.638  
   1.639  #
   1.640 @@ -979,10 +1054,15 @@ CONFIG_USB_MON=y
   1.641  # CONFIG_INFINIBAND is not set
   1.642  
   1.643  #
   1.644 +# SN Devices
   1.645 +#
   1.646 +
   1.647 +#
   1.648  # File systems
   1.649  #
   1.650  CONFIG_EXT2_FS=y
   1.651  # CONFIG_EXT2_FS_XATTR is not set
   1.652 +# CONFIG_EXT2_FS_XIP is not set
   1.653  CONFIG_EXT3_FS=y
   1.654  CONFIG_EXT3_FS_XATTR=y
   1.655  # CONFIG_EXT3_FS_POSIX_ACL is not set
   1.656 @@ -995,17 +1075,16 @@ CONFIG_REISERFS_FS=y
   1.657  # CONFIG_REISERFS_PROC_INFO is not set
   1.658  # CONFIG_REISERFS_FS_XATTR is not set
   1.659  # CONFIG_JFS_FS is not set
   1.660 -
   1.661 -#
   1.662 -# XFS support
   1.663 -#
   1.664 +# CONFIG_FS_POSIX_ACL is not set
   1.665  # CONFIG_XFS_FS is not set
   1.666  # CONFIG_MINIX_FS is not set
   1.667  # CONFIG_ROMFS_FS is not set
   1.668 +CONFIG_INOTIFY=y
   1.669  # CONFIG_QUOTA is not set
   1.670  CONFIG_DNOTIFY=y
   1.671  CONFIG_AUTOFS_FS=y
   1.672  CONFIG_AUTOFS4_FS=y
   1.673 +# CONFIG_FUSE_FS is not set
   1.674  
   1.675  #
   1.676  # CD-ROM/DVD Filesystems
   1.677 @@ -1032,12 +1111,10 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
   1.678  CONFIG_PROC_FS=y
   1.679  CONFIG_PROC_KCORE=y
   1.680  CONFIG_SYSFS=y
   1.681 -# CONFIG_DEVFS_FS is not set
   1.682 -# CONFIG_DEVPTS_FS_XATTR is not set
   1.683  CONFIG_TMPFS=y
   1.684 -# CONFIG_TMPFS_XATTR is not set
   1.685  # CONFIG_HUGETLB_PAGE is not set
   1.686  CONFIG_RAMFS=y
   1.687 +# CONFIG_RELAYFS_FS is not set
   1.688  
   1.689  #
   1.690  # Miscellaneous filesystems
   1.691 @@ -1061,16 +1138,19 @@ CONFIG_CRAMFS=y
   1.692  #
   1.693  CONFIG_NFS_FS=y
   1.694  CONFIG_NFS_V3=y
   1.695 +# CONFIG_NFS_V3_ACL is not set
   1.696  # CONFIG_NFS_V4 is not set
   1.697  # CONFIG_NFS_DIRECTIO is not set
   1.698  CONFIG_NFSD=m
   1.699  CONFIG_NFSD_V3=y
   1.700 +# CONFIG_NFSD_V3_ACL is not set
   1.701  # CONFIG_NFSD_V4 is not set
   1.702  CONFIG_NFSD_TCP=y
   1.703  CONFIG_ROOT_NFS=y
   1.704  CONFIG_LOCKD=y
   1.705  CONFIG_LOCKD_V4=y
   1.706  CONFIG_EXPORTFS=m
   1.707 +CONFIG_NFS_COMMON=y
   1.708  CONFIG_SUNRPC=y
   1.709  # CONFIG_RPCSEC_GSS_KRB5 is not set
   1.710  # CONFIG_RPCSEC_GSS_SPKM3 is not set
   1.711 @@ -1079,6 +1159,7 @@ CONFIG_SUNRPC=y
   1.712  # CONFIG_NCP_FS is not set
   1.713  # CONFIG_CODA_FS is not set
   1.714  # CONFIG_AFS_FS is not set
   1.715 +# CONFIG_9P_FS is not set
   1.716  
   1.717  #
   1.718  # Partition Types
   1.719 @@ -1137,6 +1218,7 @@ CONFIG_NLS_ISO8859_1=y
   1.720  CONFIG_DEBUG_KERNEL=y
   1.721  CONFIG_MAGIC_SYSRQ=y
   1.722  CONFIG_LOG_BUF_SHIFT=14
   1.723 +CONFIG_DETECT_SOFTLOCKUP=y
   1.724  # CONFIG_SCHEDSTATS is not set
   1.725  # CONFIG_DEBUG_SLAB is not set
   1.726  # CONFIG_DEBUG_SPINLOCK is not set
   1.727 @@ -1223,6 +1305,7 @@ CONFIG_HAVE_ARCH_DEV_ALLOC_SKB=y
   1.728  # Library routines
   1.729  #
   1.730  # CONFIG_CRC_CCITT is not set
   1.731 +# CONFIG_CRC16 is not set
   1.732  CONFIG_CRC32=y
   1.733  CONFIG_LIBCRC32C=y
   1.734  CONFIG_ZLIB_INFLATE=y
     2.1 --- a/buildconfigs/linux-defconfig_xen0_x86_64	Tue Jan 31 19:55:55 2006 +0100
     2.2 +++ b/buildconfigs/linux-defconfig_xen0_x86_64	Tue Jan 31 19:55:22 2006 +0000
     2.3 @@ -1,11 +1,12 @@
     2.4  #
     2.5  # Automatically generated make config: don't edit
     2.6 -# Linux kernel version: 2.6.12.6-xen0
     2.7 -# Wed Jan 25 17:27:39 2006
     2.8 +# Linux kernel version: 2.6.14-xen0
     2.9 +# Tue Jan 31 16:21:00 2006
    2.10  #
    2.11  CONFIG_X86_64=y
    2.12  CONFIG_64BIT=y
    2.13  CONFIG_X86=y
    2.14 +CONFIG_SEMAPHORE_SLEEPERS=y
    2.15  CONFIG_MMU=y
    2.16  CONFIG_RWSEM_GENERIC_SPINLOCK=y
    2.17  CONFIG_GENERIC_CALIBRATE_DELAY=y
    2.18 @@ -13,6 +14,7 @@ CONFIG_X86_CMPXCHG=y
    2.19  CONFIG_EARLY_PRINTK=y
    2.20  CONFIG_GENERIC_ISA_DMA=y
    2.21  CONFIG_GENERIC_IOMAP=y
    2.22 +CONFIG_ARCH_MAY_HAVE_PC_FDC=y
    2.23  
    2.24  #
    2.25  # Code maturity level options
    2.26 @@ -27,6 +29,7 @@ CONFIG_INIT_ENV_ARG_LIMIT=32
    2.27  # General setup
    2.28  #
    2.29  CONFIG_LOCALVERSION=""
    2.30 +# CONFIG_LOCALVERSION_AUTO is not set
    2.31  CONFIG_SWAP=y
    2.32  CONFIG_SYSVIPC=y
    2.33  # CONFIG_POSIX_MQUEUE is not set
    2.34 @@ -36,6 +39,7 @@ CONFIG_SYSCTL=y
    2.35  CONFIG_HOTPLUG=y
    2.36  CONFIG_KOBJECT_UEVENT=y
    2.37  # CONFIG_IKCONFIG is not set
    2.38 +CONFIG_INITRAMFS_SOURCE=""
    2.39  # CONFIG_EMBEDDED is not set
    2.40  CONFIG_KALLSYMS=y
    2.41  # CONFIG_KALLSYMS_ALL is not set
    2.42 @@ -81,10 +85,27 @@ CONFIG_X86_IO_APIC=y
    2.43  CONFIG_X86_XEN_GENAPIC=y
    2.44  CONFIG_X86_LOCAL_APIC=y
    2.45  # CONFIG_SMP is not set
    2.46 +CONFIG_PREEMPT_NONE=y
    2.47 +# CONFIG_PREEMPT_VOLUNTARY is not set
    2.48 +# CONFIG_PREEMPT is not set
    2.49  # CONFIG_NUMA is not set
    2.50 +CONFIG_ARCH_FLATMEM_ENABLE=y
    2.51 +CONFIG_SELECT_MEMORY_MODEL=y
    2.52 +CONFIG_FLATMEM_MANUAL=y
    2.53 +# CONFIG_DISCONTIGMEM_MANUAL is not set
    2.54 +# CONFIG_SPARSEMEM_MANUAL is not set
    2.55 +CONFIG_FLATMEM=y
    2.56 +CONFIG_FLAT_NODE_MEM_MAP=y
    2.57 +# CONFIG_SPARSEMEM_STATIC is not set
    2.58 +CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y
    2.59  CONFIG_SWIOTLB=y
    2.60  CONFIG_DUMMY_IOMMU=y
    2.61 +CONFIG_PHYSICAL_START=0x100000
    2.62  CONFIG_SECCOMP=y
    2.63 +# CONFIG_HZ_100 is not set
    2.64 +CONFIG_HZ_250=y
    2.65 +# CONFIG_HZ_1000 is not set
    2.66 +CONFIG_HZ=250
    2.67  CONFIG_GENERIC_HARDIRQS=y
    2.68  CONFIG_GENERIC_IRQ_PROBE=y
    2.69  CONFIG_ISA_DMA_API=y
    2.70 @@ -92,17 +113,17 @@ CONFIG_ISA_DMA_API=y
    2.71  #
    2.72  # Power management options
    2.73  #
    2.74 +CONFIG_PM=y
    2.75  
    2.76  #
    2.77  # ACPI (Advanced Configuration and Power Interface) Support
    2.78  #
    2.79  CONFIG_ACPI=y
    2.80 -CONFIG_ACPI_BOOT=y
    2.81 -CONFIG_ACPI_INTERPRETER=y
    2.82  CONFIG_ACPI_AC=m
    2.83  CONFIG_ACPI_BATTERY=m
    2.84  CONFIG_ACPI_BUTTON=m
    2.85  CONFIG_ACPI_VIDEO=m
    2.86 +# CONFIG_ACPI_HOTKEY is not set
    2.87  CONFIG_ACPI_FAN=m
    2.88  CONFIG_ACPI_PROCESSOR=m
    2.89  CONFIG_ACPI_THERMAL=m
    2.90 @@ -111,10 +132,8 @@ CONFIG_ACPI_IBM=m
    2.91  CONFIG_ACPI_TOSHIBA=m
    2.92  CONFIG_ACPI_BLACKLIST_YEAR=0
    2.93  # CONFIG_ACPI_DEBUG is not set
    2.94 -CONFIG_ACPI_BUS=y
    2.95  CONFIG_ACPI_EC=y
    2.96  CONFIG_ACPI_POWER=y
    2.97 -CONFIG_ACPI_PCI=y
    2.98  CONFIG_ACPI_SYSTEM=y
    2.99  # CONFIG_ACPI_CONTAINER is not set
   2.100  
   2.101 @@ -138,6 +157,147 @@ CONFIG_SYSVIPC_COMPAT=y
   2.102  CONFIG_UID16=y
   2.103  
   2.104  #
   2.105 +# Networking
   2.106 +#
   2.107 +CONFIG_NET=y
   2.108 +
   2.109 +#
   2.110 +# Networking options
   2.111 +#
   2.112 +CONFIG_PACKET=y
   2.113 +# CONFIG_PACKET_MMAP is not set
   2.114 +CONFIG_UNIX=y
   2.115 +# CONFIG_NET_KEY is not set
   2.116 +CONFIG_INET=y
   2.117 +# CONFIG_IP_MULTICAST is not set
   2.118 +# CONFIG_IP_ADVANCED_ROUTER is not set
   2.119 +CONFIG_IP_FIB_HASH=y
   2.120 +CONFIG_IP_PNP=y
   2.121 +CONFIG_IP_PNP_DHCP=y
   2.122 +# CONFIG_IP_PNP_BOOTP is not set
   2.123 +# CONFIG_IP_PNP_RARP is not set
   2.124 +# CONFIG_NET_IPIP is not set
   2.125 +# CONFIG_NET_IPGRE is not set
   2.126 +# CONFIG_ARPD is not set
   2.127 +# CONFIG_SYN_COOKIES is not set
   2.128 +# CONFIG_INET_AH is not set
   2.129 +# CONFIG_INET_ESP is not set
   2.130 +# CONFIG_INET_IPCOMP is not set
   2.131 +# CONFIG_INET_TUNNEL is not set
   2.132 +# CONFIG_INET_DIAG is not set
   2.133 +# CONFIG_TCP_CONG_ADVANCED is not set
   2.134 +CONFIG_TCP_CONG_BIC=y
   2.135 +
   2.136 +#
   2.137 +# IP: Virtual Server Configuration
   2.138 +#
   2.139 +# CONFIG_IP_VS is not set
   2.140 +# CONFIG_IPV6 is not set
   2.141 +CONFIG_NETFILTER=y
   2.142 +# CONFIG_NETFILTER_DEBUG is not set
   2.143 +CONFIG_BRIDGE_NETFILTER=y
   2.144 +# CONFIG_NETFILTER_NETLINK is not set
   2.145 +
   2.146 +#
   2.147 +# IP: Netfilter Configuration
   2.148 +#
   2.149 +CONFIG_IP_NF_CONNTRACK=m
   2.150 +CONFIG_IP_NF_CT_ACCT=y
   2.151 +# CONFIG_IP_NF_CONNTRACK_MARK is not set
   2.152 +# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
   2.153 +# CONFIG_IP_NF_CT_PROTO_SCTP is not set
   2.154 +CONFIG_IP_NF_FTP=m
   2.155 +# CONFIG_IP_NF_IRC is not set
   2.156 +# CONFIG_IP_NF_NETBIOS_NS is not set
   2.157 +# CONFIG_IP_NF_TFTP is not set
   2.158 +# CONFIG_IP_NF_AMANDA is not set
   2.159 +# CONFIG_IP_NF_PPTP is not set
   2.160 +# CONFIG_IP_NF_QUEUE is not set
   2.161 +CONFIG_IP_NF_IPTABLES=m
   2.162 +# CONFIG_IP_NF_MATCH_LIMIT is not set
   2.163 +CONFIG_IP_NF_MATCH_IPRANGE=m
   2.164 +# CONFIG_IP_NF_MATCH_MAC is not set
   2.165 +# CONFIG_IP_NF_MATCH_PKTTYPE is not set
   2.166 +# CONFIG_IP_NF_MATCH_MARK is not set
   2.167 +# CONFIG_IP_NF_MATCH_MULTIPORT is not set
   2.168 +# CONFIG_IP_NF_MATCH_TOS is not set
   2.169 +# CONFIG_IP_NF_MATCH_RECENT is not set
   2.170 +# CONFIG_IP_NF_MATCH_ECN is not set
   2.171 +# CONFIG_IP_NF_MATCH_DSCP is not set
   2.172 +# CONFIG_IP_NF_MATCH_AH_ESP is not set
   2.173 +# CONFIG_IP_NF_MATCH_LENGTH is not set
   2.174 +# CONFIG_IP_NF_MATCH_TTL is not set
   2.175 +# CONFIG_IP_NF_MATCH_TCPMSS is not set
   2.176 +# CONFIG_IP_NF_MATCH_HELPER is not set
   2.177 +# CONFIG_IP_NF_MATCH_STATE is not set
   2.178 +# CONFIG_IP_NF_MATCH_CONNTRACK is not set
   2.179 +# CONFIG_IP_NF_MATCH_OWNER is not set
   2.180 +CONFIG_IP_NF_MATCH_PHYSDEV=m
   2.181 +# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
   2.182 +# CONFIG_IP_NF_MATCH_REALM is not set
   2.183 +# CONFIG_IP_NF_MATCH_SCTP is not set
   2.184 +# CONFIG_IP_NF_MATCH_DCCP is not set
   2.185 +# CONFIG_IP_NF_MATCH_COMMENT is not set
   2.186 +# CONFIG_IP_NF_MATCH_CONNBYTES is not set
   2.187 +# CONFIG_IP_NF_MATCH_HASHLIMIT is not set
   2.188 +# CONFIG_IP_NF_MATCH_STRING is not set
   2.189 +CONFIG_IP_NF_FILTER=m
   2.190 +CONFIG_IP_NF_TARGET_REJECT=m
   2.191 +# CONFIG_IP_NF_TARGET_LOG is not set
   2.192 +# CONFIG_IP_NF_TARGET_ULOG is not set
   2.193 +# CONFIG_IP_NF_TARGET_TCPMSS is not set
   2.194 +# CONFIG_IP_NF_TARGET_NFQUEUE is not set
   2.195 +CONFIG_IP_NF_NAT=m
   2.196 +CONFIG_IP_NF_NAT_NEEDED=y
   2.197 +CONFIG_IP_NF_TARGET_MASQUERADE=m
   2.198 +# CONFIG_IP_NF_TARGET_REDIRECT is not set
   2.199 +# CONFIG_IP_NF_TARGET_NETMAP is not set
   2.200 +# CONFIG_IP_NF_TARGET_SAME is not set
   2.201 +# CONFIG_IP_NF_NAT_SNMP_BASIC is not set
   2.202 +CONFIG_IP_NF_NAT_FTP=m
   2.203 +# CONFIG_IP_NF_MANGLE is not set
   2.204 +# CONFIG_IP_NF_RAW is not set
   2.205 +# CONFIG_IP_NF_ARPTABLES is not set
   2.206 +
   2.207 +#
   2.208 +# Bridge: Netfilter Configuration
   2.209 +#
   2.210 +# CONFIG_BRIDGE_NF_EBTABLES is not set
   2.211 +
   2.212 +#
   2.213 +# DCCP Configuration (EXPERIMENTAL)
   2.214 +#
   2.215 +# CONFIG_IP_DCCP is not set
   2.216 +
   2.217 +#
   2.218 +# SCTP Configuration (EXPERIMENTAL)
   2.219 +#
   2.220 +# CONFIG_IP_SCTP is not set
   2.221 +# CONFIG_ATM is not set
   2.222 +CONFIG_BRIDGE=y
   2.223 +# CONFIG_VLAN_8021Q is not set
   2.224 +# CONFIG_DECNET is not set
   2.225 +# CONFIG_LLC2 is not set
   2.226 +# CONFIG_IPX is not set
   2.227 +# CONFIG_ATALK is not set
   2.228 +# CONFIG_X25 is not set
   2.229 +# CONFIG_LAPB is not set
   2.230 +# CONFIG_NET_DIVERT is not set
   2.231 +# CONFIG_ECONET is not set
   2.232 +# CONFIG_WAN_ROUTER is not set
   2.233 +# CONFIG_NET_SCHED is not set
   2.234 +# CONFIG_NET_CLS_ROUTE is not set
   2.235 +
   2.236 +#
   2.237 +# Network testing
   2.238 +#
   2.239 +# CONFIG_NET_PKTGEN is not set
   2.240 +# CONFIG_HAMRADIO is not set
   2.241 +# CONFIG_IRDA is not set
   2.242 +# CONFIG_BT is not set
   2.243 +# CONFIG_IEEE80211 is not set
   2.244 +
   2.245 +#
   2.246  # Device Drivers
   2.247  #
   2.248  
   2.249 @@ -150,6 +310,11 @@ CONFIG_STANDALONE=y
   2.250  # CONFIG_DEBUG_DRIVER is not set
   2.251  
   2.252  #
   2.253 +# Connector - unified userspace <-> kernelspace linker
   2.254 +#
   2.255 +# CONFIG_CONNECTOR is not set
   2.256 +
   2.257 +#
   2.258  # Memory Technology Devices (MTD)
   2.259  #
   2.260  # CONFIG_MTD is not set
   2.261 @@ -183,7 +348,6 @@ CONFIG_BLK_DEV_RAM=y
   2.262  CONFIG_BLK_DEV_RAM_COUNT=16
   2.263  CONFIG_BLK_DEV_RAM_SIZE=16384
   2.264  CONFIG_BLK_DEV_INITRD=y
   2.265 -CONFIG_INITRAMFS_SOURCE=""
   2.266  # CONFIG_LBD is not set
   2.267  # CONFIG_CDROM_PKTCDVD is not set
   2.268  
   2.269 @@ -243,6 +407,7 @@ CONFIG_IDEDMA_PCI_AUTO=y
   2.270  # CONFIG_BLK_DEV_HPT366 is not set
   2.271  # CONFIG_BLK_DEV_SC1200 is not set
   2.272  CONFIG_BLK_DEV_PIIX=y
   2.273 +# CONFIG_BLK_DEV_IT821X is not set
   2.274  # CONFIG_BLK_DEV_NS87415 is not set
   2.275  # CONFIG_BLK_DEV_PDC202XX_OLD is not set
   2.276  # CONFIG_BLK_DEV_PDC202XX_NEW is not set
   2.277 @@ -261,6 +426,7 @@ CONFIG_IDEDMA_AUTO=y
   2.278  #
   2.279  # SCSI device support
   2.280  #
   2.281 +# CONFIG_RAID_ATTRS is not set
   2.282  CONFIG_SCSI=y
   2.283  CONFIG_SCSI_PROC_FS=y
   2.284  
   2.285 @@ -272,6 +438,7 @@ CONFIG_BLK_DEV_SD=y
   2.286  # CONFIG_CHR_DEV_OSST is not set
   2.287  # CONFIG_BLK_DEV_SR is not set
   2.288  # CONFIG_CHR_DEV_SG is not set
   2.289 +# CONFIG_CHR_DEV_SCH is not set
   2.290  
   2.291  #
   2.292  # Some SCSI devices (e.g. CD jukebox) support multiple LUNs
   2.293 @@ -286,6 +453,7 @@ CONFIG_BLK_DEV_SD=y
   2.294  CONFIG_SCSI_SPI_ATTRS=y
   2.295  # CONFIG_SCSI_FC_ATTRS is not set
   2.296  # CONFIG_SCSI_ISCSI_ATTRS is not set
   2.297 +# CONFIG_SCSI_SAS_ATTRS is not set
   2.298  
   2.299  #
   2.300  # SCSI low-level drivers
   2.301 @@ -313,10 +481,12 @@ CONFIG_AIC79XX_REG_PRETTY_PRINT=y
   2.302  # CONFIG_SCSI_ADVANSYS is not set
   2.303  CONFIG_MEGARAID_NEWGEN=y
   2.304  # CONFIG_MEGARAID_MM is not set
   2.305 +# CONFIG_MEGARAID_SAS is not set
   2.306  CONFIG_SCSI_SATA=y
   2.307  # CONFIG_SCSI_SATA_AHCI is not set
   2.308  # CONFIG_SCSI_SATA_SVW is not set
   2.309  CONFIG_SCSI_ATA_PIIX=y
   2.310 +# CONFIG_SCSI_SATA_MV is not set
   2.311  # CONFIG_SCSI_SATA_NV is not set
   2.312  CONFIG_SCSI_SATA_PROMISE=y
   2.313  # CONFIG_SCSI_SATA_QSTOR is not set
   2.314 @@ -326,6 +496,7 @@ CONFIG_SCSI_SATA_SIL=y
   2.315  # CONFIG_SCSI_SATA_ULI is not set
   2.316  # CONFIG_SCSI_SATA_VIA is not set
   2.317  # CONFIG_SCSI_SATA_VITESSE is not set
   2.318 +CONFIG_SCSI_SATA_INTEL_COMBINED=y
   2.319  CONFIG_SCSI_BUSLOGIC=y
   2.320  # CONFIG_SCSI_OMIT_FLASHPOINT is not set
   2.321  # CONFIG_SCSI_CPQFCTS is not set
   2.322 @@ -339,8 +510,6 @@ CONFIG_SCSI_BUSLOGIC=y
   2.323  # CONFIG_SCSI_INIA100 is not set
   2.324  # CONFIG_SCSI_SYM53C8XX_2 is not set
   2.325  # CONFIG_SCSI_IPR is not set
   2.326 -# CONFIG_SCSI_PCI2000 is not set
   2.327 -# CONFIG_SCSI_PCI2220I is not set
   2.328  # CONFIG_SCSI_QLOGIC_ISP is not set
   2.329  # CONFIG_SCSI_QLOGIC_FC is not set
   2.330  # CONFIG_SCSI_QLOGIC_1280 is not set
   2.331 @@ -350,6 +519,7 @@ CONFIG_SCSI_QLA2XXX=y
   2.332  # CONFIG_SCSI_QLA2300 is not set
   2.333  # CONFIG_SCSI_QLA2322 is not set
   2.334  # CONFIG_SCSI_QLA6312 is not set
   2.335 +# CONFIG_SCSI_QLA24XX is not set
   2.336  # CONFIG_SCSI_LPFC is not set
   2.337  # CONFIG_SCSI_DC395x is not set
   2.338  # CONFIG_SCSI_DC390T is not set
   2.339 @@ -379,9 +549,10 @@ CONFIG_DM_MULTIPATH_EMC=y
   2.340  #
   2.341  # Fusion MPT device support
   2.342  #
   2.343 -CONFIG_FUSION=y
   2.344 -CONFIG_FUSION_MAX_SGE=40
   2.345 -# CONFIG_FUSION_CTL is not set
   2.346 +# CONFIG_FUSION is not set
   2.347 +# CONFIG_FUSION_SPI is not set
   2.348 +# CONFIG_FUSION_FC is not set
   2.349 +# CONFIG_FUSION_SAS is not set
   2.350  
   2.351  #
   2.352  # IEEE 1394 (FireWire) support
   2.353 @@ -394,135 +565,8 @@ CONFIG_FUSION_MAX_SGE=40
   2.354  # CONFIG_I2O is not set
   2.355  
   2.356  #
   2.357 -# Networking support
   2.358 -#
   2.359 -CONFIG_NET=y
   2.360 -
   2.361 -#
   2.362 -# Networking options
   2.363 -#
   2.364 -CONFIG_PACKET=y
   2.365 -# CONFIG_PACKET_MMAP is not set
   2.366 -CONFIG_UNIX=y
   2.367 -# CONFIG_NET_KEY is not set
   2.368 -CONFIG_INET=y
   2.369 -# CONFIG_IP_MULTICAST is not set
   2.370 -# CONFIG_IP_ADVANCED_ROUTER is not set
   2.371 -CONFIG_IP_PNP=y
   2.372 -CONFIG_IP_PNP_DHCP=y
   2.373 -# CONFIG_IP_PNP_BOOTP is not set
   2.374 -# CONFIG_IP_PNP_RARP is not set
   2.375 -# CONFIG_NET_IPIP is not set
   2.376 -# CONFIG_NET_IPGRE is not set
   2.377 -# CONFIG_ARPD is not set
   2.378 -# CONFIG_SYN_COOKIES is not set
   2.379 -# CONFIG_INET_AH is not set
   2.380 -# CONFIG_INET_ESP is not set
   2.381 -# CONFIG_INET_IPCOMP is not set
   2.382 -# CONFIG_INET_TUNNEL is not set
   2.383 -CONFIG_IP_TCPDIAG=y
   2.384 -# CONFIG_IP_TCPDIAG_IPV6 is not set
   2.385 -
   2.386 -#
   2.387 -# IP: Virtual Server Configuration
   2.388 -#
   2.389 -# CONFIG_IP_VS is not set
   2.390 -# CONFIG_IPV6 is not set
   2.391 -CONFIG_NETFILTER=y
   2.392 -# CONFIG_NETFILTER_DEBUG is not set
   2.393 -CONFIG_BRIDGE_NETFILTER=y
   2.394 -
   2.395 -#
   2.396 -# IP: Netfilter Configuration
   2.397 +# Network device support
   2.398  #
   2.399 -CONFIG_IP_NF_CONNTRACK=m
   2.400 -CONFIG_IP_NF_CT_ACCT=y
   2.401 -# CONFIG_IP_NF_CONNTRACK_MARK is not set
   2.402 -# CONFIG_IP_NF_CT_PROTO_SCTP is not set
   2.403 -CONFIG_IP_NF_FTP=m
   2.404 -# CONFIG_IP_NF_IRC is not set
   2.405 -# CONFIG_IP_NF_TFTP is not set
   2.406 -# CONFIG_IP_NF_AMANDA is not set
   2.407 -# CONFIG_IP_NF_QUEUE is not set
   2.408 -CONFIG_IP_NF_IPTABLES=m
   2.409 -# CONFIG_IP_NF_MATCH_LIMIT is not set
   2.410 -CONFIG_IP_NF_MATCH_IPRANGE=m
   2.411 -# CONFIG_IP_NF_MATCH_MAC is not set
   2.412 -# CONFIG_IP_NF_MATCH_PKTTYPE is not set
   2.413 -# CONFIG_IP_NF_MATCH_MARK is not set
   2.414 -# CONFIG_IP_NF_MATCH_MULTIPORT is not set
   2.415 -# CONFIG_IP_NF_MATCH_TOS is not set
   2.416 -# CONFIG_IP_NF_MATCH_RECENT is not set
   2.417 -# CONFIG_IP_NF_MATCH_ECN is not set
   2.418 -# CONFIG_IP_NF_MATCH_DSCP is not set
   2.419 -# CONFIG_IP_NF_MATCH_AH_ESP is not set
   2.420 -# CONFIG_IP_NF_MATCH_LENGTH is not set
   2.421 -# CONFIG_IP_NF_MATCH_TTL is not set
   2.422 -# CONFIG_IP_NF_MATCH_TCPMSS is not set
   2.423 -# CONFIG_IP_NF_MATCH_HELPER is not set
   2.424 -# CONFIG_IP_NF_MATCH_STATE is not set
   2.425 -# CONFIG_IP_NF_MATCH_CONNTRACK is not set
   2.426 -# CONFIG_IP_NF_MATCH_OWNER is not set
   2.427 -CONFIG_IP_NF_MATCH_PHYSDEV=m
   2.428 -# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
   2.429 -# CONFIG_IP_NF_MATCH_REALM is not set
   2.430 -# CONFIG_IP_NF_MATCH_SCTP is not set
   2.431 -# CONFIG_IP_NF_MATCH_COMMENT is not set
   2.432 -# CONFIG_IP_NF_MATCH_HASHLIMIT is not set
   2.433 -CONFIG_IP_NF_FILTER=m
   2.434 -CONFIG_IP_NF_TARGET_REJECT=m
   2.435 -# CONFIG_IP_NF_TARGET_LOG is not set
   2.436 -# CONFIG_IP_NF_TARGET_ULOG is not set
   2.437 -# CONFIG_IP_NF_TARGET_TCPMSS is not set
   2.438 -CONFIG_IP_NF_NAT=m
   2.439 -CONFIG_IP_NF_NAT_NEEDED=y
   2.440 -CONFIG_IP_NF_TARGET_MASQUERADE=m
   2.441 -# CONFIG_IP_NF_TARGET_REDIRECT is not set
   2.442 -# CONFIG_IP_NF_TARGET_NETMAP is not set
   2.443 -# CONFIG_IP_NF_TARGET_SAME is not set
   2.444 -# CONFIG_IP_NF_NAT_SNMP_BASIC is not set
   2.445 -CONFIG_IP_NF_NAT_FTP=m
   2.446 -# CONFIG_IP_NF_MANGLE is not set
   2.447 -# CONFIG_IP_NF_RAW is not set
   2.448 -# CONFIG_IP_NF_ARPTABLES is not set
   2.449 -
   2.450 -#
   2.451 -# Bridge: Netfilter Configuration
   2.452 -#
   2.453 -# CONFIG_BRIDGE_NF_EBTABLES is not set
   2.454 -
   2.455 -#
   2.456 -# SCTP Configuration (EXPERIMENTAL)
   2.457 -#
   2.458 -# CONFIG_IP_SCTP is not set
   2.459 -# CONFIG_ATM is not set
   2.460 -CONFIG_BRIDGE=y
   2.461 -# CONFIG_VLAN_8021Q is not set
   2.462 -# CONFIG_DECNET is not set
   2.463 -# CONFIG_LLC2 is not set
   2.464 -# CONFIG_IPX is not set
   2.465 -# CONFIG_ATALK is not set
   2.466 -# CONFIG_X25 is not set
   2.467 -# CONFIG_LAPB is not set
   2.468 -# CONFIG_NET_DIVERT is not set
   2.469 -# CONFIG_ECONET is not set
   2.470 -# CONFIG_WAN_ROUTER is not set
   2.471 -
   2.472 -#
   2.473 -# QoS and/or fair queueing
   2.474 -#
   2.475 -# CONFIG_NET_SCHED is not set
   2.476 -# CONFIG_NET_CLS_ROUTE is not set
   2.477 -
   2.478 -#
   2.479 -# Network testing
   2.480 -#
   2.481 -# CONFIG_NET_PKTGEN is not set
   2.482 -# CONFIG_NETPOLL is not set
   2.483 -# CONFIG_NET_POLL_CONTROLLER is not set
   2.484 -# CONFIG_HAMRADIO is not set
   2.485 -# CONFIG_IRDA is not set
   2.486 -# CONFIG_BT is not set
   2.487  CONFIG_NETDEVICES=y
   2.488  # CONFIG_DUMMY is not set
   2.489  # CONFIG_BONDING is not set
   2.490 @@ -535,12 +579,18 @@ CONFIG_TUN=y
   2.491  # CONFIG_ARCNET is not set
   2.492  
   2.493  #
   2.494 +# PHY device support
   2.495 +#
   2.496 +# CONFIG_PHYLIB is not set
   2.497 +
   2.498 +#
   2.499  # Ethernet (10 or 100Mbit)
   2.500  #
   2.501  CONFIG_NET_ETHERNET=y
   2.502  CONFIG_MII=y
   2.503  # CONFIG_HAPPYMEAL is not set
   2.504  # CONFIG_SUNGEM is not set
   2.505 +# CONFIG_CASSINI is not set
   2.506  CONFIG_NET_VENDOR_3COM=y
   2.507  CONFIG_VORTEX=y
   2.508  # CONFIG_TYPHOON is not set
   2.509 @@ -557,6 +607,7 @@ CONFIG_TULIP=y
   2.510  # CONFIG_DE4X5 is not set
   2.511  # CONFIG_WINBOND_840 is not set
   2.512  # CONFIG_DM9102 is not set
   2.513 +# CONFIG_ULI526X is not set
   2.514  # CONFIG_HP100 is not set
   2.515  CONFIG_NET_PCI=y
   2.516  CONFIG_PCNET32=y
   2.517 @@ -594,6 +645,8 @@ CONFIG_E1000=y
   2.518  # CONFIG_HAMACHI is not set
   2.519  # CONFIG_YELLOWFIN is not set
   2.520  # CONFIG_R8169 is not set
   2.521 +# CONFIG_SIS190 is not set
   2.522 +# CONFIG_SKGE is not set
   2.523  CONFIG_SK98LIN=y
   2.524  # CONFIG_VIA_VELOCITY is not set
   2.525  CONFIG_TIGON3=y
   2.526 @@ -602,6 +655,7 @@ CONFIG_TIGON3=y
   2.527  #
   2.528  # Ethernet (10000 Mbit)
   2.529  #
   2.530 +# CONFIG_CHELSIO_T1 is not set
   2.531  # CONFIG_IXGB is not set
   2.532  # CONFIG_S2IO is not set
   2.533  
   2.534 @@ -626,6 +680,8 @@ CONFIG_TIGON3=y
   2.535  # CONFIG_NET_FC is not set
   2.536  # CONFIG_SHAPER is not set
   2.537  # CONFIG_NETCONSOLE is not set
   2.538 +# CONFIG_NETPOLL is not set
   2.539 +# CONFIG_NET_POLL_CONTROLLER is not set
   2.540  
   2.541  #
   2.542  # ISDN subsystem
   2.543 @@ -729,11 +785,12 @@ CONFIG_AGP_AMD64=m
   2.544  # CONFIG_AGP_INTEL is not set
   2.545  CONFIG_DRM=m
   2.546  CONFIG_DRM_TDFX=m
   2.547 -# CONFIG_DRM_GAMMA is not set
   2.548  CONFIG_DRM_R128=m
   2.549  CONFIG_DRM_RADEON=m
   2.550  CONFIG_DRM_MGA=m
   2.551  CONFIG_DRM_SIS=m
   2.552 +# CONFIG_DRM_VIA is not set
   2.553 +# CONFIG_DRM_SAVAGE is not set
   2.554  # CONFIG_MWAVE is not set
   2.555  # CONFIG_RAW_DRIVER is not set
   2.556  # CONFIG_HPET is not set
   2.557 @@ -755,11 +812,21 @@ CONFIG_DRM_SIS=m
   2.558  # CONFIG_W1 is not set
   2.559  
   2.560  #
   2.561 +# Hardware Monitoring support
   2.562 +#
   2.563 +# CONFIG_HWMON is not set
   2.564 +# CONFIG_HWMON_VID is not set
   2.565 +
   2.566 +#
   2.567  # Misc devices
   2.568  #
   2.569  # CONFIG_IBM_ASM is not set
   2.570  
   2.571  #
   2.572 +# Multimedia Capabilities Port drivers
   2.573 +#
   2.574 +
   2.575 +#
   2.576  # Multimedia devices
   2.577  #
   2.578  # CONFIG_VIDEO_DEV is not set
   2.579 @@ -800,12 +867,14 @@ CONFIG_USB=y
   2.580  # CONFIG_USB_DEVICEFS is not set
   2.581  # CONFIG_USB_BANDWIDTH is not set
   2.582  # CONFIG_USB_DYNAMIC_MINORS is not set
   2.583 +# CONFIG_USB_SUSPEND is not set
   2.584  # CONFIG_USB_OTG is not set
   2.585  
   2.586  #
   2.587  # USB Host Controller Drivers
   2.588  #
   2.589  # CONFIG_USB_EHCI_HCD is not set
   2.590 +# CONFIG_USB_ISP116X_HCD is not set
   2.591  CONFIG_USB_OHCI_HCD=y
   2.592  # CONFIG_USB_OHCI_BIG_ENDIAN is not set
   2.593  CONFIG_USB_OHCI_LITTLE_ENDIAN=y
   2.594 @@ -833,12 +902,17 @@ CONFIG_USB_HIDINPUT=y
   2.595  # CONFIG_USB_HIDDEV is not set
   2.596  # CONFIG_USB_AIPTEK is not set
   2.597  # CONFIG_USB_WACOM is not set
   2.598 +# CONFIG_USB_ACECAD is not set
   2.599  # CONFIG_USB_KBTAB is not set
   2.600  # CONFIG_USB_POWERMATE is not set
   2.601  # CONFIG_USB_MTOUCH is not set
   2.602 +# CONFIG_USB_ITMTOUCH is not set
   2.603  # CONFIG_USB_EGALAX is not set
   2.604 +# CONFIG_USB_YEALINK is not set
   2.605  # CONFIG_USB_XPAD is not set
   2.606  # CONFIG_USB_ATI_REMOTE is not set
   2.607 +# CONFIG_USB_KEYSPAN_REMOTE is not set
   2.608 +# CONFIG_USB_APPLETOUCH is not set
   2.609  
   2.610  #
   2.611  # USB Imaging devices
   2.612 @@ -888,9 +962,10 @@ CONFIG_USB_MON=y
   2.613  # CONFIG_USB_PHIDGETKIT is not set
   2.614  # CONFIG_USB_PHIDGETSERVO is not set
   2.615  # CONFIG_USB_IDMOUSE is not set
   2.616 +# CONFIG_USB_LD is not set
   2.617  
   2.618  #
   2.619 -# USB ATM/DSL drivers
   2.620 +# USB DSL modem support
   2.621  #
   2.622  
   2.623  #
   2.624 @@ -907,6 +982,8 @@ CONFIG_USB_MON=y
   2.625  # InfiniBand support
   2.626  #
   2.627  CONFIG_INFINIBAND=y
   2.628 +# CONFIG_INFINIBAND_USER_MAD is not set
   2.629 +# CONFIG_INFINIBAND_USER_ACCESS is not set
   2.630  CONFIG_INFINIBAND_MTHCA=y
   2.631  CONFIG_INFINIBAND_MTHCA_DEBUG=y
   2.632  CONFIG_INFINIBAND_IPOIB=y
   2.633 @@ -914,14 +991,21 @@ CONFIG_INFINIBAND_IPOIB_DEBUG=y
   2.634  CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y
   2.635  
   2.636  #
   2.637 +# SN Devices
   2.638 +#
   2.639 +
   2.640 +#
   2.641  # Firmware Drivers
   2.642  #
   2.643 +# CONFIG_DELL_RBU is not set
   2.644 +# CONFIG_DCDBAS is not set
   2.645  
   2.646  #
   2.647  # File systems
   2.648  #
   2.649  CONFIG_EXT2_FS=y
   2.650  # CONFIG_EXT2_FS_XATTR is not set
   2.651 +# CONFIG_EXT2_FS_XIP is not set
   2.652  CONFIG_EXT3_FS=y
   2.653  CONFIG_EXT3_FS_XATTR=y
   2.654  # CONFIG_EXT3_FS_POSIX_ACL is not set
   2.655 @@ -934,17 +1018,16 @@ CONFIG_REISERFS_FS=y
   2.656  # CONFIG_REISERFS_PROC_INFO is not set
   2.657  # CONFIG_REISERFS_FS_XATTR is not set
   2.658  # CONFIG_JFS_FS is not set
   2.659 -
   2.660 -#
   2.661 -# XFS support
   2.662 -#
   2.663 +# CONFIG_FS_POSIX_ACL is not set
   2.664  # CONFIG_XFS_FS is not set
   2.665  # CONFIG_MINIX_FS is not set
   2.666  # CONFIG_ROMFS_FS is not set
   2.667 +CONFIG_INOTIFY=y
   2.668  # CONFIG_QUOTA is not set
   2.669  CONFIG_DNOTIFY=y
   2.670  CONFIG_AUTOFS_FS=y
   2.671  CONFIG_AUTOFS4_FS=y
   2.672 +# CONFIG_FUSE_FS is not set
   2.673  
   2.674  #
   2.675  # CD-ROM/DVD Filesystems
   2.676 @@ -971,12 +1054,10 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
   2.677  CONFIG_PROC_FS=y
   2.678  CONFIG_PROC_KCORE=y
   2.679  CONFIG_SYSFS=y
   2.680 -# CONFIG_DEVFS_FS is not set
   2.681 -# CONFIG_DEVPTS_FS_XATTR is not set
   2.682  CONFIG_TMPFS=y
   2.683 -# CONFIG_TMPFS_XATTR is not set
   2.684  # CONFIG_HUGETLB_PAGE is not set
   2.685  CONFIG_RAMFS=y
   2.686 +# CONFIG_RELAYFS_FS is not set
   2.687  
   2.688  #
   2.689  # Miscellaneous filesystems
   2.690 @@ -1000,16 +1081,19 @@ CONFIG_CRAMFS=y
   2.691  #
   2.692  CONFIG_NFS_FS=y
   2.693  CONFIG_NFS_V3=y
   2.694 +# CONFIG_NFS_V3_ACL is not set
   2.695  # CONFIG_NFS_V4 is not set
   2.696  # CONFIG_NFS_DIRECTIO is not set
   2.697  CONFIG_NFSD=m
   2.698  CONFIG_NFSD_V3=y
   2.699 +# CONFIG_NFSD_V3_ACL is not set
   2.700  # CONFIG_NFSD_V4 is not set
   2.701  CONFIG_NFSD_TCP=y
   2.702  CONFIG_ROOT_NFS=y
   2.703  CONFIG_LOCKD=y
   2.704  CONFIG_LOCKD_V4=y
   2.705  CONFIG_EXPORTFS=m
   2.706 +CONFIG_NFS_COMMON=y
   2.707  CONFIG_SUNRPC=y
   2.708  # CONFIG_RPCSEC_GSS_KRB5 is not set
   2.709  # CONFIG_RPCSEC_GSS_SPKM3 is not set
   2.710 @@ -1018,6 +1102,7 @@ CONFIG_SUNRPC=y
   2.711  # CONFIG_NCP_FS is not set
   2.712  # CONFIG_CODA_FS is not set
   2.713  # CONFIG_AFS_FS is not set
   2.714 +# CONFIG_9P_FS is not set
   2.715  
   2.716  #
   2.717  # Partition Types
   2.718 @@ -1081,12 +1166,14 @@ CONFIG_NLS_ISO8859_1=y
   2.719  CONFIG_DEBUG_KERNEL=y
   2.720  CONFIG_MAGIC_SYSRQ=y
   2.721  CONFIG_LOG_BUF_SHIFT=15
   2.722 +CONFIG_DETECT_SOFTLOCKUP=y
   2.723  # CONFIG_SCHEDSTATS is not set
   2.724  # CONFIG_DEBUG_SLAB is not set
   2.725  # CONFIG_DEBUG_SPINLOCK is not set
   2.726  # CONFIG_DEBUG_SPINLOCK_SLEEP is not set
   2.727  # CONFIG_DEBUG_KOBJECT is not set
   2.728  # CONFIG_DEBUG_FS is not set
   2.729 +# CONFIG_FRAME_POINTER is not set
   2.730  # CONFIG_CHECKING is not set
   2.731  # CONFIG_INIT_DEBUG is not set
   2.732  # CONFIG_KPROBES is not set
   2.733 @@ -1114,7 +1201,7 @@ CONFIG_CRYPTO_DES=m
   2.734  # CONFIG_CRYPTO_BLOWFISH is not set
   2.735  # CONFIG_CRYPTO_TWOFISH is not set
   2.736  # CONFIG_CRYPTO_SERPENT is not set
   2.737 -# CONFIG_CRYPTO_AES is not set
   2.738 +# CONFIG_CRYPTO_AES_X86_64 is not set
   2.739  # CONFIG_CRYPTO_CAST5 is not set
   2.740  # CONFIG_CRYPTO_CAST6 is not set
   2.741  # CONFIG_CRYPTO_TEA is not set
   2.742 @@ -1157,6 +1244,7 @@ CONFIG_HAVE_ARCH_DEV_ALLOC_SKB=y
   2.743  # Library routines
   2.744  #
   2.745  # CONFIG_CRC_CCITT is not set
   2.746 +# CONFIG_CRC16 is not set
   2.747  CONFIG_CRC32=y
   2.748  CONFIG_LIBCRC32C=m
   2.749  CONFIG_ZLIB_INFLATE=y
     3.1 --- a/buildconfigs/linux-defconfig_xenU_x86_32	Tue Jan 31 19:55:55 2006 +0100
     3.2 +++ b/buildconfigs/linux-defconfig_xenU_x86_32	Tue Jan 31 19:55:22 2006 +0000
     3.3 @@ -1,13 +1,15 @@
     3.4  #
     3.5  # Automatically generated make config: don't edit
     3.6 -# Linux kernel version: 2.6.12.6-xenU
     3.7 -# Wed Jan 25 17:29:40 2006
     3.8 +# Linux kernel version: 2.6.14-xenU
     3.9 +# Tue Jan 31 18:57:16 2006
    3.10  #
    3.11  CONFIG_X86=y
    3.12 +CONFIG_SEMAPHORE_SLEEPERS=y
    3.13  CONFIG_MMU=y
    3.14  CONFIG_UID16=y
    3.15  CONFIG_GENERIC_ISA_DMA=y
    3.16  CONFIG_GENERIC_IOMAP=y
    3.17 +CONFIG_ARCH_MAY_HAVE_PC_FDC=y
    3.18  
    3.19  #
    3.20  # Code maturity level options
    3.21 @@ -21,6 +23,7 @@ CONFIG_INIT_ENV_ARG_LIMIT=32
    3.22  # General setup
    3.23  #
    3.24  CONFIG_LOCALVERSION=""
    3.25 +# CONFIG_LOCALVERSION_AUTO is not set
    3.26  CONFIG_SWAP=y
    3.27  CONFIG_SYSVIPC=y
    3.28  # CONFIG_POSIX_MQUEUE is not set
    3.29 @@ -31,6 +34,7 @@ CONFIG_HOTPLUG=y
    3.30  CONFIG_KOBJECT_UEVENT=y
    3.31  # CONFIG_IKCONFIG is not set
    3.32  # CONFIG_CPUSETS is not set
    3.33 +CONFIG_INITRAMFS_SOURCE=""
    3.34  # CONFIG_EMBEDDED is not set
    3.35  CONFIG_KALLSYMS=y
    3.36  # CONFIG_KALLSYMS_ALL is not set
    3.37 @@ -110,6 +114,10 @@ CONFIG_X86_USE_PPRO_CHECKSUM=y
    3.38  CONFIG_SMP=y
    3.39  CONFIG_SMP_ALTERNATIVES=y
    3.40  CONFIG_NR_CPUS=8
    3.41 +CONFIG_PREEMPT_NONE=y
    3.42 +# CONFIG_PREEMPT_VOLUNTARY is not set
    3.43 +# CONFIG_PREEMPT is not set
    3.44 +CONFIG_PREEMPT_BKL=y
    3.45  # CONFIG_TOSHIBA is not set
    3.46  # CONFIG_I8K is not set
    3.47  # CONFIG_X86_REBOOTFIXUPS is not set
    3.48 @@ -119,13 +127,27 @@ CONFIG_X86_CPUID=y
    3.49  #
    3.50  # Firmware Drivers
    3.51  #
    3.52 +# CONFIG_DELL_RBU is not set
    3.53 +# CONFIG_DCDBAS is not set
    3.54  # CONFIG_NOHIGHMEM is not set
    3.55 -CONFIG_HIGHMEM4G=y
    3.56 -# CONFIG_HIGHMEM64G is not set
    3.57 +# CONFIG_HIGHMEM4G is not set
    3.58 +CONFIG_HIGHMEM64G=y
    3.59  CONFIG_HIGHMEM=y
    3.60 -CONFIG_HAVE_DEC_LOCK=y
    3.61 +CONFIG_X86_PAE=y
    3.62 +CONFIG_SELECT_MEMORY_MODEL=y
    3.63 +CONFIG_FLATMEM_MANUAL=y
    3.64 +# CONFIG_DISCONTIGMEM_MANUAL is not set
    3.65 +# CONFIG_SPARSEMEM_MANUAL is not set
    3.66 +CONFIG_FLATMEM=y
    3.67 +CONFIG_FLAT_NODE_MEM_MAP=y
    3.68 +# CONFIG_SPARSEMEM_STATIC is not set
    3.69  # CONFIG_REGPARM is not set
    3.70  CONFIG_SECCOMP=y
    3.71 +# CONFIG_HZ_100 is not set
    3.72 +CONFIG_HZ_250=y
    3.73 +# CONFIG_HZ_1000 is not set
    3.74 +CONFIG_HZ=250
    3.75 +CONFIG_PHYSICAL_START=0x100000
    3.76  
    3.77  #
    3.78  # Executable file formats
    3.79 @@ -135,6 +157,73 @@ CONFIG_BINFMT_ELF=y
    3.80  # CONFIG_BINFMT_MISC is not set
    3.81  
    3.82  #
    3.83 +# Networking
    3.84 +#
    3.85 +CONFIG_NET=y
    3.86 +
    3.87 +#
    3.88 +# Networking options
    3.89 +#
    3.90 +CONFIG_PACKET=y
    3.91 +# CONFIG_PACKET_MMAP is not set
    3.92 +CONFIG_UNIX=y
    3.93 +# CONFIG_NET_KEY is not set
    3.94 +CONFIG_INET=y
    3.95 +# CONFIG_IP_MULTICAST is not set
    3.96 +# CONFIG_IP_ADVANCED_ROUTER is not set
    3.97 +CONFIG_IP_FIB_HASH=y
    3.98 +CONFIG_IP_PNP=y
    3.99 +# CONFIG_IP_PNP_DHCP is not set
   3.100 +# CONFIG_IP_PNP_BOOTP is not set
   3.101 +# CONFIG_IP_PNP_RARP is not set
   3.102 +# CONFIG_NET_IPIP is not set
   3.103 +# CONFIG_NET_IPGRE is not set
   3.104 +# CONFIG_ARPD is not set
   3.105 +# CONFIG_SYN_COOKIES is not set
   3.106 +# CONFIG_INET_AH is not set
   3.107 +# CONFIG_INET_ESP is not set
   3.108 +# CONFIG_INET_IPCOMP is not set
   3.109 +# CONFIG_INET_TUNNEL is not set
   3.110 +# CONFIG_INET_DIAG is not set
   3.111 +# CONFIG_TCP_CONG_ADVANCED is not set
   3.112 +CONFIG_TCP_CONG_BIC=y
   3.113 +# CONFIG_IPV6 is not set
   3.114 +# CONFIG_NETFILTER is not set
   3.115 +
   3.116 +#
   3.117 +# DCCP Configuration (EXPERIMENTAL)
   3.118 +#
   3.119 +# CONFIG_IP_DCCP is not set
   3.120 +
   3.121 +#
   3.122 +# SCTP Configuration (EXPERIMENTAL)
   3.123 +#
   3.124 +# CONFIG_IP_SCTP is not set
   3.125 +# CONFIG_ATM is not set
   3.126 +# CONFIG_BRIDGE is not set
   3.127 +# CONFIG_VLAN_8021Q is not set
   3.128 +# CONFIG_DECNET is not set
   3.129 +# CONFIG_LLC2 is not set
   3.130 +# CONFIG_IPX is not set
   3.131 +# CONFIG_ATALK is not set
   3.132 +# CONFIG_X25 is not set
   3.133 +# CONFIG_LAPB is not set
   3.134 +# CONFIG_NET_DIVERT is not set
   3.135 +# CONFIG_ECONET is not set
   3.136 +# CONFIG_WAN_ROUTER is not set
   3.137 +# CONFIG_NET_SCHED is not set
   3.138 +# CONFIG_NET_CLS_ROUTE is not set
   3.139 +
   3.140 +#
   3.141 +# Network testing
   3.142 +#
   3.143 +# CONFIG_NET_PKTGEN is not set
   3.144 +# CONFIG_HAMRADIO is not set
   3.145 +# CONFIG_IRDA is not set
   3.146 +# CONFIG_BT is not set
   3.147 +# CONFIG_IEEE80211 is not set
   3.148 +
   3.149 +#
   3.150  # Device Drivers
   3.151  #
   3.152  
   3.153 @@ -158,7 +247,6 @@ CONFIG_BLK_DEV_RAM=y
   3.154  CONFIG_BLK_DEV_RAM_COUNT=16
   3.155  CONFIG_BLK_DEV_RAM_SIZE=4096
   3.156  CONFIG_BLK_DEV_INITRD=y
   3.157 -CONFIG_INITRAMFS_SOURCE=""
   3.158  # CONFIG_LBD is not set
   3.159  # CONFIG_CDROM_PKTCDVD is not set
   3.160  
   3.161 @@ -174,6 +262,7 @@ CONFIG_IOSCHED_CFQ=y
   3.162  #
   3.163  # SCSI device support
   3.164  #
   3.165 +# CONFIG_RAID_ATTRS is not set
   3.166  CONFIG_SCSI=m
   3.167  CONFIG_SCSI_PROC_FS=y
   3.168  
   3.169 @@ -185,6 +274,7 @@ CONFIG_BLK_DEV_SD=m
   3.170  # CONFIG_CHR_DEV_OSST is not set
   3.171  # CONFIG_BLK_DEV_SR is not set
   3.172  # CONFIG_CHR_DEV_SG is not set
   3.173 +# CONFIG_CHR_DEV_SCH is not set
   3.174  
   3.175  #
   3.176  # Some SCSI devices (e.g. CD jukebox) support multiple LUNs
   3.177 @@ -199,6 +289,7 @@ CONFIG_BLK_DEV_SD=m
   3.178  # CONFIG_SCSI_SPI_ATTRS is not set
   3.179  # CONFIG_SCSI_FC_ATTRS is not set
   3.180  # CONFIG_SCSI_ISCSI_ATTRS is not set
   3.181 +# CONFIG_SCSI_SAS_ATTRS is not set
   3.182  
   3.183  #
   3.184  # SCSI low-level drivers
   3.185 @@ -212,69 +303,8 @@ CONFIG_BLK_DEV_SD=m
   3.186  # CONFIG_MD is not set
   3.187  
   3.188  #
   3.189 -# Networking support
   3.190 -#
   3.191 -CONFIG_NET=y
   3.192 -
   3.193 -#
   3.194 -# Networking options
   3.195 +# Network device support
   3.196  #
   3.197 -CONFIG_PACKET=y
   3.198 -# CONFIG_PACKET_MMAP is not set
   3.199 -CONFIG_UNIX=y
   3.200 -# CONFIG_NET_KEY is not set
   3.201 -CONFIG_INET=y
   3.202 -# CONFIG_IP_MULTICAST is not set
   3.203 -# CONFIG_IP_ADVANCED_ROUTER is not set
   3.204 -CONFIG_IP_PNP=y
   3.205 -# CONFIG_IP_PNP_DHCP is not set
   3.206 -# CONFIG_IP_PNP_BOOTP is not set
   3.207 -# CONFIG_IP_PNP_RARP is not set
   3.208 -# CONFIG_NET_IPIP is not set
   3.209 -# CONFIG_NET_IPGRE is not set
   3.210 -# CONFIG_ARPD is not set
   3.211 -# CONFIG_SYN_COOKIES is not set
   3.212 -# CONFIG_INET_AH is not set
   3.213 -# CONFIG_INET_ESP is not set
   3.214 -# CONFIG_INET_IPCOMP is not set
   3.215 -# CONFIG_INET_TUNNEL is not set
   3.216 -CONFIG_IP_TCPDIAG=y
   3.217 -# CONFIG_IP_TCPDIAG_IPV6 is not set
   3.218 -# CONFIG_IPV6 is not set
   3.219 -# CONFIG_NETFILTER is not set
   3.220 -
   3.221 -#
   3.222 -# SCTP Configuration (EXPERIMENTAL)
   3.223 -#
   3.224 -# CONFIG_IP_SCTP is not set
   3.225 -# CONFIG_ATM is not set
   3.226 -# CONFIG_BRIDGE is not set
   3.227 -# CONFIG_VLAN_8021Q is not set
   3.228 -# CONFIG_DECNET is not set
   3.229 -# CONFIG_LLC2 is not set
   3.230 -# CONFIG_IPX is not set
   3.231 -# CONFIG_ATALK is not set
   3.232 -# CONFIG_X25 is not set
   3.233 -# CONFIG_LAPB is not set
   3.234 -# CONFIG_NET_DIVERT is not set
   3.235 -# CONFIG_ECONET is not set
   3.236 -# CONFIG_WAN_ROUTER is not set
   3.237 -
   3.238 -#
   3.239 -# QoS and/or fair queueing
   3.240 -#
   3.241 -# CONFIG_NET_SCHED is not set
   3.242 -# CONFIG_NET_CLS_ROUTE is not set
   3.243 -
   3.244 -#
   3.245 -# Network testing
   3.246 -#
   3.247 -# CONFIG_NET_PKTGEN is not set
   3.248 -# CONFIG_NETPOLL is not set
   3.249 -# CONFIG_NET_POLL_CONTROLLER is not set
   3.250 -# CONFIG_HAMRADIO is not set
   3.251 -# CONFIG_IRDA is not set
   3.252 -# CONFIG_BT is not set
   3.253  CONFIG_NETDEVICES=y
   3.254  # CONFIG_DUMMY is not set
   3.255  # CONFIG_BONDING is not set
   3.256 @@ -282,6 +312,10 @@ CONFIG_NETDEVICES=y
   3.257  # CONFIG_TUN is not set
   3.258  
   3.259  #
   3.260 +# PHY device support
   3.261 +#
   3.262 +
   3.263 +#
   3.264  # Ethernet (10 or 100Mbit)
   3.265  #
   3.266  # CONFIG_NET_ETHERNET is not set
   3.267 @@ -311,12 +345,19 @@ CONFIG_NETDEVICES=y
   3.268  # CONFIG_SLIP is not set
   3.269  # CONFIG_SHAPER is not set
   3.270  # CONFIG_NETCONSOLE is not set
   3.271 +# CONFIG_NETPOLL is not set
   3.272 +# CONFIG_NET_POLL_CONTROLLER is not set
   3.273 +
   3.274 +#
   3.275 +# SN Devices
   3.276 +#
   3.277  
   3.278  #
   3.279  # File systems
   3.280  #
   3.281  CONFIG_EXT2_FS=y
   3.282  # CONFIG_EXT2_FS_XATTR is not set
   3.283 +# CONFIG_EXT2_FS_XIP is not set
   3.284  CONFIG_EXT3_FS=y
   3.285  CONFIG_EXT3_FS_XATTR=y
   3.286  # CONFIG_EXT3_FS_POSIX_ACL is not set
   3.287 @@ -329,17 +370,16 @@ CONFIG_REISERFS_FS=y
   3.288  # CONFIG_REISERFS_PROC_INFO is not set
   3.289  # CONFIG_REISERFS_FS_XATTR is not set
   3.290  # CONFIG_JFS_FS is not set
   3.291 -
   3.292 -#
   3.293 -# XFS support
   3.294 -#
   3.295 +# CONFIG_FS_POSIX_ACL is not set
   3.296  # CONFIG_XFS_FS is not set
   3.297  # CONFIG_MINIX_FS is not set
   3.298  # CONFIG_ROMFS_FS is not set
   3.299 +CONFIG_INOTIFY=y
   3.300  # CONFIG_QUOTA is not set
   3.301  CONFIG_DNOTIFY=y
   3.302  CONFIG_AUTOFS_FS=y
   3.303  CONFIG_AUTOFS4_FS=y
   3.304 +# CONFIG_FUSE_FS is not set
   3.305  
   3.306  #
   3.307  # CD-ROM/DVD Filesystems
   3.308 @@ -366,11 +406,10 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
   3.309  CONFIG_PROC_FS=y
   3.310  CONFIG_PROC_KCORE=y
   3.311  CONFIG_SYSFS=y
   3.312 -# CONFIG_DEVFS_FS is not set
   3.313  CONFIG_TMPFS=y
   3.314 -# CONFIG_TMPFS_XATTR is not set
   3.315  # CONFIG_HUGETLB_PAGE is not set
   3.316  CONFIG_RAMFS=y
   3.317 +# CONFIG_RELAYFS_FS is not set
   3.318  
   3.319  #
   3.320  # Miscellaneous filesystems
   3.321 @@ -394,12 +433,14 @@ CONFIG_CRAMFS=y
   3.322  #
   3.323  CONFIG_NFS_FS=y
   3.324  CONFIG_NFS_V3=y
   3.325 +# CONFIG_NFS_V3_ACL is not set
   3.326  # CONFIG_NFS_V4 is not set
   3.327  # CONFIG_NFS_DIRECTIO is not set
   3.328  # CONFIG_NFSD is not set
   3.329  CONFIG_ROOT_NFS=y
   3.330  CONFIG_LOCKD=y
   3.331  CONFIG_LOCKD_V4=y
   3.332 +CONFIG_NFS_COMMON=y
   3.333  CONFIG_SUNRPC=y
   3.334  # CONFIG_RPCSEC_GSS_KRB5 is not set
   3.335  # CONFIG_RPCSEC_GSS_SPKM3 is not set
   3.336 @@ -408,6 +449,7 @@ CONFIG_SUNRPC=y
   3.337  # CONFIG_NCP_FS is not set
   3.338  # CONFIG_CODA_FS is not set
   3.339  # CONFIG_AFS_FS is not set
   3.340 +# CONFIG_9P_FS is not set
   3.341  
   3.342  #
   3.343  # Partition Types
   3.344 @@ -466,6 +508,7 @@ CONFIG_NLS_ISO8859_1=y
   3.345  CONFIG_DEBUG_KERNEL=y
   3.346  CONFIG_MAGIC_SYSRQ=y
   3.347  CONFIG_LOG_BUF_SHIFT=14
   3.348 +CONFIG_DETECT_SOFTLOCKUP=y
   3.349  # CONFIG_SCHEDSTATS is not set
   3.350  # CONFIG_DEBUG_SLAB is not set
   3.351  # CONFIG_DEBUG_SPINLOCK is not set
   3.352 @@ -544,11 +587,13 @@ CONFIG_HAVE_ARCH_DEV_ALLOC_SKB=y
   3.353  # Library routines
   3.354  #
   3.355  # CONFIG_CRC_CCITT is not set
   3.356 +# CONFIG_CRC16 is not set
   3.357  # CONFIG_CRC32 is not set
   3.358  CONFIG_LIBCRC32C=m
   3.359  CONFIG_ZLIB_INFLATE=y
   3.360  CONFIG_GENERIC_HARDIRQS=y
   3.361  CONFIG_GENERIC_IRQ_PROBE=y
   3.362 +CONFIG_GENERIC_PENDING_IRQ=y
   3.363  CONFIG_X86_SMP=y
   3.364  CONFIG_X86_BIOS_REBOOT=y
   3.365  CONFIG_X86_TRAMPOLINE=y
     4.1 --- a/buildconfigs/linux-defconfig_xenU_x86_64	Tue Jan 31 19:55:55 2006 +0100
     4.2 +++ b/buildconfigs/linux-defconfig_xenU_x86_64	Tue Jan 31 19:55:22 2006 +0000
     4.3 @@ -1,11 +1,12 @@
     4.4  #
     4.5  # Automatically generated make config: don't edit
     4.6 -# Linux kernel version: 2.6.12.6-xenU
     4.7 -# Wed Jan 25 17:28:26 2006
     4.8 +# Linux kernel version: 2.6.14-xenU
     4.9 +# Tue Jan 31 16:23:06 2006
    4.10  #
    4.11  CONFIG_X86_64=y
    4.12  CONFIG_64BIT=y
    4.13  CONFIG_X86=y
    4.14 +CONFIG_SEMAPHORE_SLEEPERS=y
    4.15  CONFIG_MMU=y
    4.16  CONFIG_RWSEM_GENERIC_SPINLOCK=y
    4.17  CONFIG_GENERIC_CALIBRATE_DELAY=y
    4.18 @@ -13,6 +14,7 @@ CONFIG_X86_CMPXCHG=y
    4.19  CONFIG_EARLY_PRINTK=y
    4.20  CONFIG_GENERIC_ISA_DMA=y
    4.21  CONFIG_GENERIC_IOMAP=y
    4.22 +CONFIG_ARCH_MAY_HAVE_PC_FDC=y
    4.23  
    4.24  #
    4.25  # Code maturity level options
    4.26 @@ -26,6 +28,7 @@ CONFIG_INIT_ENV_ARG_LIMIT=32
    4.27  # General setup
    4.28  #
    4.29  CONFIG_LOCALVERSION=""
    4.30 +# CONFIG_LOCALVERSION_AUTO is not set
    4.31  CONFIG_SWAP=y
    4.32  CONFIG_SYSVIPC=y
    4.33  CONFIG_POSIX_MQUEUE=y
    4.34 @@ -38,6 +41,7 @@ CONFIG_HOTPLUG=y
    4.35  CONFIG_KOBJECT_UEVENT=y
    4.36  # CONFIG_IKCONFIG is not set
    4.37  # CONFIG_CPUSETS is not set
    4.38 +CONFIG_INITRAMFS_SOURCE=""
    4.39  # CONFIG_EMBEDDED is not set
    4.40  CONFIG_KALLSYMS=y
    4.41  # CONFIG_KALLSYMS_ALL is not set
    4.42 @@ -82,14 +86,33 @@ CONFIG_X86_GOOD_APIC=y
    4.43  CONFIG_X86_CPUID=y
    4.44  CONFIG_X86_XEN_GENAPIC=y
    4.45  CONFIG_SMP=y
    4.46 +CONFIG_PREEMPT_NONE=y
    4.47 +# CONFIG_PREEMPT_VOLUNTARY is not set
    4.48 +# CONFIG_PREEMPT is not set
    4.49 +CONFIG_PREEMPT_BKL=y
    4.50  # CONFIG_NUMA is not set
    4.51 -CONFIG_HAVE_DEC_LOCK=y
    4.52 +CONFIG_ARCH_FLATMEM_ENABLE=y
    4.53 +CONFIG_SELECT_MEMORY_MODEL=y
    4.54 +CONFIG_FLATMEM_MANUAL=y
    4.55 +# CONFIG_DISCONTIGMEM_MANUAL is not set
    4.56 +# CONFIG_SPARSEMEM_MANUAL is not set
    4.57 +CONFIG_FLATMEM=y
    4.58 +CONFIG_FLAT_NODE_MEM_MAP=y
    4.59 +# CONFIG_SPARSEMEM_STATIC is not set
    4.60 +CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y
    4.61  CONFIG_NR_CPUS=8
    4.62 +CONFIG_HOTPLUG_CPU=y
    4.63  CONFIG_DUMMY_IOMMU=y
    4.64 +CONFIG_PHYSICAL_START=0x100000
    4.65  CONFIG_SECCOMP=y
    4.66 +# CONFIG_HZ_100 is not set
    4.67 +CONFIG_HZ_250=y
    4.68 +# CONFIG_HZ_1000 is not set
    4.69 +CONFIG_HZ=250
    4.70  CONFIG_GENERIC_HARDIRQS=y
    4.71  CONFIG_GENERIC_IRQ_PROBE=y
    4.72  CONFIG_ISA_DMA_API=y
    4.73 +CONFIG_GENERIC_PENDING_IRQ=y
    4.74  
    4.75  #
    4.76  # Bus options (PCI etc.)
    4.77 @@ -109,100 +132,7 @@ CONFIG_SYSVIPC_COMPAT=y
    4.78  CONFIG_UID16=y
    4.79  
    4.80  #
    4.81 -# Device Drivers
    4.82 -#
    4.83 -
    4.84 -#
    4.85 -# Generic Driver Options
    4.86 -#
    4.87 -CONFIG_STANDALONE=y
    4.88 -CONFIG_PREVENT_FIRMWARE_BUILD=y
    4.89 -CONFIG_FW_LOADER=y
    4.90 -# CONFIG_DEBUG_DRIVER is not set
    4.91 -
    4.92 -#
    4.93 -# Block devices
    4.94 -#
    4.95 -CONFIG_BLK_DEV_FD=m
    4.96 -# CONFIG_BLK_DEV_COW_COMMON is not set
    4.97 -CONFIG_BLK_DEV_LOOP=m
    4.98 -CONFIG_BLK_DEV_CRYPTOLOOP=m
    4.99 -CONFIG_BLK_DEV_NBD=m
   4.100 -CONFIG_BLK_DEV_RAM=y
   4.101 -CONFIG_BLK_DEV_RAM_COUNT=16
   4.102 -CONFIG_BLK_DEV_RAM_SIZE=16384
   4.103 -CONFIG_BLK_DEV_INITRD=y
   4.104 -CONFIG_INITRAMFS_SOURCE=""
   4.105 -CONFIG_LBD=y
   4.106 -# CONFIG_CDROM_PKTCDVD is not set
   4.107 -
   4.108 -#
   4.109 -# IO Schedulers
   4.110 -#
   4.111 -CONFIG_IOSCHED_NOOP=y
   4.112 -CONFIG_IOSCHED_AS=y
   4.113 -CONFIG_IOSCHED_DEADLINE=y
   4.114 -CONFIG_IOSCHED_CFQ=y
   4.115 -# CONFIG_ATA_OVER_ETH is not set
   4.116 -
   4.117 -#
   4.118 -# SCSI device support
   4.119 -#
   4.120 -CONFIG_SCSI=m
   4.121 -CONFIG_SCSI_PROC_FS=y
   4.122 -
   4.123 -#
   4.124 -# SCSI support type (disk, tape, CD-ROM)
   4.125 -#
   4.126 -CONFIG_BLK_DEV_SD=m
   4.127 -CONFIG_CHR_DEV_ST=m
   4.128 -CONFIG_CHR_DEV_OSST=m
   4.129 -CONFIG_BLK_DEV_SR=m
   4.130 -CONFIG_BLK_DEV_SR_VENDOR=y
   4.131 -CONFIG_CHR_DEV_SG=m
   4.132 -
   4.133 -#
   4.134 -# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
   4.135 -#
   4.136 -# CONFIG_SCSI_MULTI_LUN is not set
   4.137 -CONFIG_SCSI_CONSTANTS=y
   4.138 -CONFIG_SCSI_LOGGING=y
   4.139 -
   4.140 -#
   4.141 -# SCSI Transport Attributes
   4.142 -#
   4.143 -CONFIG_SCSI_SPI_ATTRS=m
   4.144 -CONFIG_SCSI_FC_ATTRS=m
   4.145 -# CONFIG_SCSI_ISCSI_ATTRS is not set
   4.146 -
   4.147 -#
   4.148 -# SCSI low-level drivers
   4.149 -#
   4.150 -CONFIG_SCSI_SATA=y
   4.151 -# CONFIG_SCSI_DEBUG is not set
   4.152 -
   4.153 -#
   4.154 -# Multi-device support (RAID and LVM)
   4.155 -#
   4.156 -CONFIG_MD=y
   4.157 -CONFIG_BLK_DEV_MD=y
   4.158 -CONFIG_MD_LINEAR=m
   4.159 -CONFIG_MD_RAID0=m
   4.160 -CONFIG_MD_RAID1=m
   4.161 -CONFIG_MD_RAID10=m
   4.162 -CONFIG_MD_RAID5=m
   4.163 -CONFIG_MD_RAID6=m
   4.164 -CONFIG_MD_MULTIPATH=m
   4.165 -# CONFIG_MD_FAULTY is not set
   4.166 -CONFIG_BLK_DEV_DM=m
   4.167 -CONFIG_DM_CRYPT=m
   4.168 -CONFIG_DM_SNAPSHOT=m
   4.169 -CONFIG_DM_MIRROR=m
   4.170 -CONFIG_DM_ZERO=m
   4.171 -# CONFIG_DM_MULTIPATH is not set
   4.172 -
   4.173 -#
   4.174 -# Networking support
   4.175 +# Networking
   4.176  #
   4.177  CONFIG_NET=y
   4.178  
   4.179 @@ -212,10 +142,15 @@ CONFIG_NET=y
   4.180  CONFIG_PACKET=y
   4.181  CONFIG_PACKET_MMAP=y
   4.182  CONFIG_UNIX=y
   4.183 +CONFIG_XFRM=y
   4.184 +CONFIG_XFRM_USER=y
   4.185  CONFIG_NET_KEY=m
   4.186  CONFIG_INET=y
   4.187  CONFIG_IP_MULTICAST=y
   4.188  CONFIG_IP_ADVANCED_ROUTER=y
   4.189 +CONFIG_ASK_IP_FIB_HASH=y
   4.190 +# CONFIG_IP_FIB_TRIE is not set
   4.191 +CONFIG_IP_FIB_HASH=y
   4.192  CONFIG_IP_MULTIPLE_TABLES=y
   4.193  CONFIG_IP_ROUTE_FWMARK=y
   4.194  CONFIG_IP_ROUTE_MULTIPATH=y
   4.195 @@ -237,8 +172,9 @@ CONFIG_INET_AH=m
   4.196  CONFIG_INET_ESP=m
   4.197  CONFIG_INET_IPCOMP=m
   4.198  CONFIG_INET_TUNNEL=m
   4.199 -CONFIG_IP_TCPDIAG=y
   4.200 -# CONFIG_IP_TCPDIAG_IPV6 is not set
   4.201 +# CONFIG_INET_DIAG is not set
   4.202 +# CONFIG_TCP_CONG_ADVANCED is not set
   4.203 +CONFIG_TCP_CONG_BIC=y
   4.204  
   4.205  #
   4.206  # IP: Virtual Server Configuration
   4.207 @@ -283,6 +219,7 @@ CONFIG_IPV6_TUNNEL=m
   4.208  CONFIG_NETFILTER=y
   4.209  # CONFIG_NETFILTER_DEBUG is not set
   4.210  CONFIG_BRIDGE_NETFILTER=y
   4.211 +# CONFIG_NETFILTER_NETLINK is not set
   4.212  
   4.213  #
   4.214  # IP: Netfilter Configuration
   4.215 @@ -290,11 +227,14 @@ CONFIG_BRIDGE_NETFILTER=y
   4.216  CONFIG_IP_NF_CONNTRACK=m
   4.217  CONFIG_IP_NF_CT_ACCT=y
   4.218  # CONFIG_IP_NF_CONNTRACK_MARK is not set
   4.219 +# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
   4.220  CONFIG_IP_NF_CT_PROTO_SCTP=m
   4.221  CONFIG_IP_NF_FTP=m
   4.222  CONFIG_IP_NF_IRC=m
   4.223 +# CONFIG_IP_NF_NETBIOS_NS is not set
   4.224  CONFIG_IP_NF_TFTP=m
   4.225  CONFIG_IP_NF_AMANDA=m
   4.226 +# CONFIG_IP_NF_PPTP is not set
   4.227  CONFIG_IP_NF_QUEUE=m
   4.228  CONFIG_IP_NF_IPTABLES=m
   4.229  CONFIG_IP_NF_MATCH_LIMIT=m
   4.230 @@ -319,13 +259,17 @@ CONFIG_IP_NF_MATCH_PHYSDEV=m
   4.231  CONFIG_IP_NF_MATCH_ADDRTYPE=m
   4.232  CONFIG_IP_NF_MATCH_REALM=m
   4.233  CONFIG_IP_NF_MATCH_SCTP=m
   4.234 +# CONFIG_IP_NF_MATCH_DCCP is not set
   4.235  CONFIG_IP_NF_MATCH_COMMENT=m
   4.236 +# CONFIG_IP_NF_MATCH_CONNBYTES is not set
   4.237  # CONFIG_IP_NF_MATCH_HASHLIMIT is not set
   4.238 +# CONFIG_IP_NF_MATCH_STRING is not set
   4.239  CONFIG_IP_NF_FILTER=m
   4.240  CONFIG_IP_NF_TARGET_REJECT=m
   4.241  CONFIG_IP_NF_TARGET_LOG=m
   4.242  CONFIG_IP_NF_TARGET_ULOG=m
   4.243  CONFIG_IP_NF_TARGET_TCPMSS=m
   4.244 +# CONFIG_IP_NF_TARGET_NFQUEUE is not set
   4.245  CONFIG_IP_NF_NAT=m
   4.246  CONFIG_IP_NF_NAT_NEEDED=y
   4.247  CONFIG_IP_NF_TARGET_MASQUERADE=m
   4.248 @@ -343,6 +287,7 @@ CONFIG_IP_NF_TARGET_ECN=m
   4.249  CONFIG_IP_NF_TARGET_DSCP=m
   4.250  CONFIG_IP_NF_TARGET_MARK=m
   4.251  CONFIG_IP_NF_TARGET_CLASSIFY=m
   4.252 +# CONFIG_IP_NF_TARGET_TTL is not set
   4.253  CONFIG_IP_NF_RAW=m
   4.254  CONFIG_IP_NF_TARGET_NOTRACK=m
   4.255  CONFIG_IP_NF_ARPTABLES=m
   4.256 @@ -370,8 +315,11 @@ CONFIG_IP6_NF_MATCH_EUI64=m
   4.257  CONFIG_IP6_NF_MATCH_PHYSDEV=m
   4.258  CONFIG_IP6_NF_FILTER=m
   4.259  CONFIG_IP6_NF_TARGET_LOG=m
   4.260 +# CONFIG_IP6_NF_TARGET_REJECT is not set
   4.261 +# CONFIG_IP6_NF_TARGET_NFQUEUE is not set
   4.262  CONFIG_IP6_NF_MANGLE=m
   4.263  CONFIG_IP6_NF_TARGET_MARK=m
   4.264 +# CONFIG_IP6_NF_TARGET_HL is not set
   4.265  CONFIG_IP6_NF_RAW=m
   4.266  
   4.267  #
   4.268 @@ -397,8 +345,11 @@ CONFIG_BRIDGE_EBT_REDIRECT=m
   4.269  CONFIG_BRIDGE_EBT_SNAT=m
   4.270  CONFIG_BRIDGE_EBT_LOG=m
   4.271  # CONFIG_BRIDGE_EBT_ULOG is not set
   4.272 -CONFIG_XFRM=y
   4.273 -CONFIG_XFRM_USER=y
   4.274 +
   4.275 +#
   4.276 +# DCCP Configuration (EXPERIMENTAL)
   4.277 +#
   4.278 +# CONFIG_IP_DCCP is not set
   4.279  
   4.280  #
   4.281  # SCTP Configuration (EXPERIMENTAL)
   4.282 @@ -433,10 +384,6 @@ CONFIG_IPDDP_DECAP=y
   4.283  CONFIG_NET_DIVERT=y
   4.284  # CONFIG_ECONET is not set
   4.285  CONFIG_WAN_ROUTER=m
   4.286 -
   4.287 -#
   4.288 -# QoS and/or fair queueing
   4.289 -#
   4.290  CONFIG_NET_SCHED=y
   4.291  CONFIG_NET_SCH_CLK_JIFFIES=y
   4.292  # CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
   4.293 @@ -476,10 +423,6 @@ CONFIG_NET_CLS_POLICE=y
   4.294  # Network testing
   4.295  #
   4.296  # CONFIG_NET_PKTGEN is not set
   4.297 -CONFIG_NETPOLL=y
   4.298 -# CONFIG_NETPOLL_RX is not set
   4.299 -CONFIG_NETPOLL_TRAP=y
   4.300 -CONFIG_NET_POLL_CONTROLLER=y
   4.301  # CONFIG_HAMRADIO is not set
   4.302  CONFIG_IRDA=m
   4.303  
   4.304 @@ -555,6 +498,106 @@ CONFIG_BT_HCIUART_H4=y
   4.305  CONFIG_BT_HCIUART_BCSP=y
   4.306  CONFIG_BT_HCIUART_BCSP_TXCRC=y
   4.307  CONFIG_BT_HCIVHCI=m
   4.308 +# CONFIG_IEEE80211 is not set
   4.309 +
   4.310 +#
   4.311 +# Device Drivers
   4.312 +#
   4.313 +
   4.314 +#
   4.315 +# Generic Driver Options
   4.316 +#
   4.317 +CONFIG_STANDALONE=y
   4.318 +CONFIG_PREVENT_FIRMWARE_BUILD=y
   4.319 +CONFIG_FW_LOADER=y
   4.320 +# CONFIG_DEBUG_DRIVER is not set
   4.321 +
   4.322 +#
   4.323 +# Block devices
   4.324 +#
   4.325 +CONFIG_BLK_DEV_FD=m
   4.326 +# CONFIG_BLK_DEV_COW_COMMON is not set
   4.327 +CONFIG_BLK_DEV_LOOP=m
   4.328 +CONFIG_BLK_DEV_CRYPTOLOOP=m
   4.329 +CONFIG_BLK_DEV_NBD=m
   4.330 +CONFIG_BLK_DEV_RAM=y
   4.331 +CONFIG_BLK_DEV_RAM_COUNT=16
   4.332 +CONFIG_BLK_DEV_RAM_SIZE=16384
   4.333 +CONFIG_BLK_DEV_INITRD=y
   4.334 +CONFIG_LBD=y
   4.335 +# CONFIG_CDROM_PKTCDVD is not set
   4.336 +
   4.337 +#
   4.338 +# IO Schedulers
   4.339 +#
   4.340 +CONFIG_IOSCHED_NOOP=y
   4.341 +CONFIG_IOSCHED_AS=y
   4.342 +CONFIG_IOSCHED_DEADLINE=y
   4.343 +CONFIG_IOSCHED_CFQ=y
   4.344 +# CONFIG_ATA_OVER_ETH is not set
   4.345 +
   4.346 +#
   4.347 +# SCSI device support
   4.348 +#
   4.349 +# CONFIG_RAID_ATTRS is not set
   4.350 +CONFIG_SCSI=m
   4.351 +CONFIG_SCSI_PROC_FS=y
   4.352 +
   4.353 +#
   4.354 +# SCSI support type (disk, tape, CD-ROM)
   4.355 +#
   4.356 +CONFIG_BLK_DEV_SD=m
   4.357 +CONFIG_CHR_DEV_ST=m
   4.358 +CONFIG_CHR_DEV_OSST=m
   4.359 +CONFIG_BLK_DEV_SR=m
   4.360 +CONFIG_BLK_DEV_SR_VENDOR=y
   4.361 +CONFIG_CHR_DEV_SG=m
   4.362 +# CONFIG_CHR_DEV_SCH is not set
   4.363 +
   4.364 +#
   4.365 +# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
   4.366 +#
   4.367 +# CONFIG_SCSI_MULTI_LUN is not set
   4.368 +CONFIG_SCSI_CONSTANTS=y
   4.369 +CONFIG_SCSI_LOGGING=y
   4.370 +
   4.371 +#
   4.372 +# SCSI Transport Attributes
   4.373 +#
   4.374 +CONFIG_SCSI_SPI_ATTRS=m
   4.375 +CONFIG_SCSI_FC_ATTRS=m
   4.376 +# CONFIG_SCSI_ISCSI_ATTRS is not set
   4.377 +# CONFIG_SCSI_SAS_ATTRS is not set
   4.378 +
   4.379 +#
   4.380 +# SCSI low-level drivers
   4.381 +#
   4.382 +CONFIG_SCSI_SATA=m
   4.383 +# CONFIG_SCSI_DEBUG is not set
   4.384 +
   4.385 +#
   4.386 +# Multi-device support (RAID and LVM)
   4.387 +#
   4.388 +CONFIG_MD=y
   4.389 +CONFIG_BLK_DEV_MD=y
   4.390 +CONFIG_MD_LINEAR=m
   4.391 +CONFIG_MD_RAID0=m
   4.392 +CONFIG_MD_RAID1=m
   4.393 +CONFIG_MD_RAID10=m
   4.394 +CONFIG_MD_RAID5=m
   4.395 +CONFIG_MD_RAID6=m
   4.396 +CONFIG_MD_MULTIPATH=m
   4.397 +# CONFIG_MD_FAULTY is not set
   4.398 +CONFIG_BLK_DEV_DM=m
   4.399 +CONFIG_DM_CRYPT=m
   4.400 +CONFIG_DM_SNAPSHOT=m
   4.401 +CONFIG_DM_MIRROR=m
   4.402 +CONFIG_DM_ZERO=m
   4.403 +# CONFIG_DM_MULTIPATH is not set
   4.404 +
   4.405 +#
   4.406 +# Network device support
   4.407 +#
   4.408  CONFIG_NETDEVICES=y
   4.409  CONFIG_DUMMY=m
   4.410  CONFIG_BONDING=m
   4.411 @@ -562,6 +605,11 @@ CONFIG_EQUALIZER=m
   4.412  CONFIG_TUN=m
   4.413  
   4.414  #
   4.415 +# PHY device support
   4.416 +#
   4.417 +# CONFIG_PHYLIB is not set
   4.418 +
   4.419 +#
   4.420  # Ethernet (10 or 100Mbit)
   4.421  #
   4.422  CONFIG_NET_ETHERNET=y
   4.423 @@ -589,6 +637,7 @@ CONFIG_NET_RADIO=y
   4.424  #
   4.425  # CONFIG_STRIP is not set
   4.426  CONFIG_ATMEL=m
   4.427 +# CONFIG_HOSTAP is not set
   4.428  
   4.429  #
   4.430  # Wan interfaces
   4.431 @@ -611,11 +660,21 @@ CONFIG_PPPOATM=m
   4.432  # CONFIG_SLIP is not set
   4.433  # CONFIG_SHAPER is not set
   4.434  CONFIG_NETCONSOLE=m
   4.435 +CONFIG_NETPOLL=y
   4.436 +# CONFIG_NETPOLL_RX is not set
   4.437 +CONFIG_NETPOLL_TRAP=y
   4.438 +CONFIG_NET_POLL_CONTROLLER=y
   4.439  CONFIG_INPUT=m
   4.440  
   4.441  #
   4.442 +# SN Devices
   4.443 +#
   4.444 +
   4.445 +#
   4.446  # Firmware Drivers
   4.447  #
   4.448 +# CONFIG_DELL_RBU is not set
   4.449 +# CONFIG_DCDBAS is not set
   4.450  
   4.451  #
   4.452  # File systems
   4.453 @@ -624,6 +683,7 @@ CONFIG_EXT2_FS=y
   4.454  CONFIG_EXT2_FS_XATTR=y
   4.455  CONFIG_EXT2_FS_POSIX_ACL=y
   4.456  CONFIG_EXT2_FS_SECURITY=y
   4.457 +# CONFIG_EXT2_FS_XIP is not set
   4.458  CONFIG_EXT3_FS=y
   4.459  CONFIG_EXT3_FS_XATTR=y
   4.460  # CONFIG_EXT3_FS_POSIX_ACL is not set
   4.461 @@ -643,18 +703,15 @@ CONFIG_JFS_POSIX_ACL=y
   4.462  # CONFIG_JFS_DEBUG is not set
   4.463  # CONFIG_JFS_STATISTICS is not set
   4.464  CONFIG_FS_POSIX_ACL=y
   4.465 -
   4.466 -#
   4.467 -# XFS support
   4.468 -#
   4.469  CONFIG_XFS_FS=m
   4.470  CONFIG_XFS_EXPORT=y
   4.471 -# CONFIG_XFS_RT is not set
   4.472 -CONFIG_XFS_QUOTA=y
   4.473 +CONFIG_XFS_QUOTA=m
   4.474  CONFIG_XFS_SECURITY=y
   4.475  CONFIG_XFS_POSIX_ACL=y
   4.476 +# CONFIG_XFS_RT is not set
   4.477  CONFIG_MINIX_FS=m
   4.478  CONFIG_ROMFS_FS=m
   4.479 +CONFIG_INOTIFY=y
   4.480  CONFIG_QUOTA=y
   4.481  # CONFIG_QFMT_V1 is not set
   4.482  CONFIG_QFMT_V2=y
   4.483 @@ -662,6 +719,7 @@ CONFIG_QUOTACTL=y
   4.484  CONFIG_DNOTIFY=y
   4.485  CONFIG_AUTOFS_FS=m
   4.486  CONFIG_AUTOFS4_FS=m
   4.487 +# CONFIG_FUSE_FS is not set
   4.488  
   4.489  #
   4.490  # CD-ROM/DVD Filesystems
   4.491 @@ -689,12 +747,10 @@ CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
   4.492  CONFIG_PROC_FS=y
   4.493  CONFIG_PROC_KCORE=y
   4.494  CONFIG_SYSFS=y
   4.495 -# CONFIG_DEVFS_FS is not set
   4.496  CONFIG_TMPFS=y
   4.497 -CONFIG_TMPFS_XATTR=y
   4.498 -CONFIG_TMPFS_SECURITY=y
   4.499  # CONFIG_HUGETLB_PAGE is not set
   4.500  CONFIG_RAMFS=y
   4.501 +# CONFIG_RELAYFS_FS is not set
   4.502  
   4.503  #
   4.504  # Miscellaneous filesystems
   4.505 @@ -720,15 +776,18 @@ CONFIG_UFS_FS=m
   4.506  #
   4.507  CONFIG_NFS_FS=m
   4.508  CONFIG_NFS_V3=y
   4.509 +# CONFIG_NFS_V3_ACL is not set
   4.510  CONFIG_NFS_V4=y
   4.511  CONFIG_NFS_DIRECTIO=y
   4.512  CONFIG_NFSD=m
   4.513  CONFIG_NFSD_V3=y
   4.514 +# CONFIG_NFSD_V3_ACL is not set
   4.515  CONFIG_NFSD_V4=y
   4.516  CONFIG_NFSD_TCP=y
   4.517  CONFIG_LOCKD=m
   4.518  CONFIG_LOCKD_V4=y
   4.519  CONFIG_EXPORTFS=m
   4.520 +CONFIG_NFS_COMMON=y
   4.521  CONFIG_SUNRPC=m
   4.522  CONFIG_SUNRPC_GSS=m
   4.523  CONFIG_RPCSEC_GSS_KRB5=m
   4.524 @@ -751,6 +810,7 @@ CONFIG_NCPFS_NLS=y
   4.525  CONFIG_NCPFS_EXTRAS=y
   4.526  # CONFIG_CODA_FS is not set
   4.527  # CONFIG_AFS_FS is not set
   4.528 +# CONFIG_9P_FS is not set
   4.529  
   4.530  #
   4.531  # Partition Types
   4.532 @@ -828,12 +888,14 @@ CONFIG_NLS_UTF8=m
   4.533  CONFIG_DEBUG_KERNEL=y
   4.534  CONFIG_MAGIC_SYSRQ=y
   4.535  CONFIG_LOG_BUF_SHIFT=15
   4.536 +CONFIG_DETECT_SOFTLOCKUP=y
   4.537  # CONFIG_SCHEDSTATS is not set
   4.538  # CONFIG_DEBUG_SLAB is not set
   4.539  # CONFIG_DEBUG_SPINLOCK is not set
   4.540  # CONFIG_DEBUG_SPINLOCK_SLEEP is not set
   4.541  # CONFIG_DEBUG_KOBJECT is not set
   4.542  # CONFIG_DEBUG_FS is not set
   4.543 +# CONFIG_FRAME_POINTER is not set
   4.544  # CONFIG_INIT_DEBUG is not set
   4.545  # CONFIG_KPROBES is not set
   4.546  
   4.547 @@ -850,7 +912,7 @@ CONFIG_CRYPTO=y
   4.548  CONFIG_CRYPTO_HMAC=y
   4.549  CONFIG_CRYPTO_NULL=m
   4.550  CONFIG_CRYPTO_MD4=m
   4.551 -CONFIG_CRYPTO_MD5=m
   4.552 +CONFIG_CRYPTO_MD5=y
   4.553  CONFIG_CRYPTO_SHA1=y
   4.554  CONFIG_CRYPTO_SHA256=m
   4.555  CONFIG_CRYPTO_SHA512=m
   4.556 @@ -860,7 +922,7 @@ CONFIG_CRYPTO_DES=m
   4.557  CONFIG_CRYPTO_BLOWFISH=m
   4.558  CONFIG_CRYPTO_TWOFISH=m
   4.559  CONFIG_CRYPTO_SERPENT=m
   4.560 -# CONFIG_CRYPTO_AES is not set
   4.561 +# CONFIG_CRYPTO_AES_X86_64 is not set
   4.562  CONFIG_CRYPTO_CAST5=m
   4.563  CONFIG_CRYPTO_CAST6=m
   4.564  CONFIG_CRYPTO_TEA=m
   4.565 @@ -897,6 +959,7 @@ CONFIG_HAVE_ARCH_DEV_ALLOC_SKB=y
   4.566  # Library routines
   4.567  #
   4.568  CONFIG_CRC_CCITT=m
   4.569 +# CONFIG_CRC16 is not set
   4.570  CONFIG_CRC32=y
   4.571  CONFIG_LIBCRC32C=m
   4.572  CONFIG_ZLIB_INFLATE=y
     5.1 --- a/buildconfigs/linux-defconfig_xen_x86_32	Tue Jan 31 19:55:55 2006 +0100
     5.2 +++ b/buildconfigs/linux-defconfig_xen_x86_32	Tue Jan 31 19:55:22 2006 +0000
     5.3 @@ -1,13 +1,15 @@
     5.4  #
     5.5  # Automatically generated make config: don't edit
     5.6 -# Linux kernel version: 2.6.12.6-xen
     5.7 -# Wed Jan 25 17:30:02 2006
     5.8 +# Linux kernel version: 2.6.14-xen
     5.9 +# Tue Jan 31 19:01:58 2006
    5.10  #
    5.11  CONFIG_X86=y
    5.12 +CONFIG_SEMAPHORE_SLEEPERS=y
    5.13  CONFIG_MMU=y
    5.14  CONFIG_UID16=y
    5.15  CONFIG_GENERIC_ISA_DMA=y
    5.16  CONFIG_GENERIC_IOMAP=y
    5.17 +CONFIG_ARCH_MAY_HAVE_PC_FDC=y
    5.18  
    5.19  #
    5.20  # Code maturity level options
    5.21 @@ -23,6 +25,7 @@ CONFIG_INIT_ENV_ARG_LIMIT=32
    5.22  # General setup
    5.23  #
    5.24  CONFIG_LOCALVERSION=""
    5.25 +# CONFIG_LOCALVERSION_AUTO is not set
    5.26  CONFIG_SWAP=y
    5.27  CONFIG_SYSVIPC=y
    5.28  CONFIG_POSIX_MQUEUE=y
    5.29 @@ -34,6 +37,7 @@ CONFIG_HOTPLUG=y
    5.30  CONFIG_KOBJECT_UEVENT=y
    5.31  # CONFIG_IKCONFIG is not set
    5.32  # CONFIG_CPUSETS is not set
    5.33 +CONFIG_INITRAMFS_SOURCE=""
    5.34  CONFIG_EMBEDDED=y
    5.35  CONFIG_KALLSYMS=y
    5.36  # CONFIG_KALLSYMS_ALL is not set
    5.37 @@ -114,6 +118,10 @@ CONFIG_X86_USE_PPRO_CHECKSUM=y
    5.38  CONFIG_SMP=y
    5.39  CONFIG_SMP_ALTERNATIVES=y
    5.40  CONFIG_NR_CPUS=8
    5.41 +CONFIG_PREEMPT_NONE=y
    5.42 +# CONFIG_PREEMPT_VOLUNTARY is not set
    5.43 +# CONFIG_PREEMPT is not set
    5.44 +CONFIG_PREEMPT_BKL=y
    5.45  CONFIG_X86_LOCAL_APIC=y
    5.46  CONFIG_X86_IO_APIC=y
    5.47  # CONFIG_TOSHIBA is not set
    5.48 @@ -126,29 +134,44 @@ CONFIG_SWIOTLB=y
    5.49  #
    5.50  # Firmware Drivers
    5.51  #
    5.52 +CONFIG_DELL_RBU=m
    5.53 +CONFIG_DCDBAS=m
    5.54  # CONFIG_NOHIGHMEM is not set
    5.55 -CONFIG_HIGHMEM4G=y
    5.56 -# CONFIG_HIGHMEM64G is not set
    5.57 +# CONFIG_HIGHMEM4G is not set
    5.58 +CONFIG_HIGHMEM64G=y
    5.59  CONFIG_HIGHMEM=y
    5.60 +CONFIG_X86_PAE=y
    5.61 +CONFIG_SELECT_MEMORY_MODEL=y
    5.62 +CONFIG_FLATMEM_MANUAL=y
    5.63 +# CONFIG_DISCONTIGMEM_MANUAL is not set
    5.64 +# CONFIG_SPARSEMEM_MANUAL is not set
    5.65 +CONFIG_FLATMEM=y
    5.66 +CONFIG_FLAT_NODE_MEM_MAP=y
    5.67 +# CONFIG_SPARSEMEM_STATIC is not set
    5.68  CONFIG_MTRR=y
    5.69 -CONFIG_HAVE_DEC_LOCK=y
    5.70  # CONFIG_REGPARM is not set
    5.71  CONFIG_SECCOMP=y
    5.72 +# CONFIG_HZ_100 is not set
    5.73 +CONFIG_HZ_250=y
    5.74 +# CONFIG_HZ_1000 is not set
    5.75 +CONFIG_HZ=250
    5.76 +CONFIG_PHYSICAL_START=0x100000
    5.77 +# CONFIG_CRASH_DUMP is not set
    5.78  
    5.79  #
    5.80  # Power management options (ACPI, APM)
    5.81  #
    5.82 +CONFIG_PM=y
    5.83  
    5.84  #
    5.85  # ACPI (Advanced Configuration and Power Interface) Support
    5.86  #
    5.87  CONFIG_ACPI=y
    5.88 -CONFIG_ACPI_BOOT=y
    5.89 -CONFIG_ACPI_INTERPRETER=y
    5.90  CONFIG_ACPI_AC=m
    5.91  CONFIG_ACPI_BATTERY=m
    5.92  CONFIG_ACPI_BUTTON=m
    5.93  CONFIG_ACPI_VIDEO=m
    5.94 +CONFIG_ACPI_HOTKEY=m
    5.95  CONFIG_ACPI_FAN=m
    5.96  CONFIG_ACPI_PROCESSOR=m
    5.97  CONFIG_ACPI_THERMAL=m
    5.98 @@ -157,10 +180,8 @@ CONFIG_ACPI_IBM=m
    5.99  CONFIG_ACPI_TOSHIBA=m
   5.100  CONFIG_ACPI_BLACKLIST_YEAR=0
   5.101  # CONFIG_ACPI_DEBUG is not set
   5.102 -CONFIG_ACPI_BUS=y
   5.103  CONFIG_ACPI_EC=y
   5.104  CONFIG_ACPI_POWER=y
   5.105 -CONFIG_ACPI_PCI=y
   5.106  CONFIG_ACPI_SYSTEM=y
   5.107  # CONFIG_X86_PM_TIMER is not set
   5.108  # CONFIG_ACPI_CONTAINER is not set
   5.109 @@ -182,9 +203,9 @@ CONFIG_PCI_DIRECT=y
   5.110  CONFIG_PCI_MMCONFIG=y
   5.111  # CONFIG_PCIEPORTBUS is not set
   5.112  # CONFIG_PCI_LEGACY_PROC is not set
   5.113 -CONFIG_PCI_NAMES=y
   5.114  # CONFIG_PCI_DEBUG is not set
   5.115  CONFIG_SCx200=m
   5.116 +# CONFIG_HOTPLUG_CPU is not set
   5.117  
   5.118  #
   5.119  # PCCARD (PCMCIA/CardBus) support
   5.120 @@ -192,6 +213,8 @@ CONFIG_SCx200=m
   5.121  CONFIG_PCCARD=m
   5.122  # CONFIG_PCMCIA_DEBUG is not set
   5.123  CONFIG_PCMCIA=m
   5.124 +CONFIG_PCMCIA_LOAD_CIS=y
   5.125 +CONFIG_PCMCIA_IOCTL=y
   5.126  CONFIG_CARDBUS=y
   5.127  
   5.128  #
   5.129 @@ -200,7 +223,6 @@ CONFIG_CARDBUS=y
   5.130  CONFIG_YENTA=m
   5.131  CONFIG_PD6729=m
   5.132  CONFIG_I82092=m
   5.133 -CONFIG_TCIC=m
   5.134  CONFIG_PCCARD_NONSTATIC=m
   5.135  
   5.136  #
   5.137 @@ -223,6 +245,452 @@ CONFIG_BINFMT_AOUT=m
   5.138  CONFIG_BINFMT_MISC=m
   5.139  
   5.140  #
   5.141 +# Networking
   5.142 +#
   5.143 +CONFIG_NET=y
   5.144 +
   5.145 +#
   5.146 +# Networking options
   5.147 +#
   5.148 +CONFIG_PACKET=m
   5.149 +CONFIG_PACKET_MMAP=y
   5.150 +CONFIG_UNIX=m
   5.151 +CONFIG_XFRM=y
   5.152 +CONFIG_XFRM_USER=m
   5.153 +CONFIG_NET_KEY=m
   5.154 +CONFIG_INET=y
   5.155 +CONFIG_IP_MULTICAST=y
   5.156 +CONFIG_IP_ADVANCED_ROUTER=y
   5.157 +CONFIG_ASK_IP_FIB_HASH=y
   5.158 +# CONFIG_IP_FIB_TRIE is not set
   5.159 +CONFIG_IP_FIB_HASH=y
   5.160 +CONFIG_IP_MULTIPLE_TABLES=y
   5.161 +CONFIG_IP_ROUTE_FWMARK=y
   5.162 +CONFIG_IP_ROUTE_MULTIPATH=y
   5.163 +# CONFIG_IP_ROUTE_MULTIPATH_CACHED is not set
   5.164 +CONFIG_IP_ROUTE_VERBOSE=y
   5.165 +# CONFIG_IP_PNP is not set
   5.166 +CONFIG_NET_IPIP=m
   5.167 +CONFIG_NET_IPGRE=m
   5.168 +CONFIG_NET_IPGRE_BROADCAST=y
   5.169 +CONFIG_IP_MROUTE=y
   5.170 +CONFIG_IP_PIMSM_V1=y
   5.171 +CONFIG_IP_PIMSM_V2=y
   5.172 +# CONFIG_ARPD is not set
   5.173 +CONFIG_SYN_COOKIES=y
   5.174 +CONFIG_INET_AH=m
   5.175 +CONFIG_INET_ESP=m
   5.176 +CONFIG_INET_IPCOMP=m
   5.177 +CONFIG_INET_TUNNEL=m
   5.178 +CONFIG_INET_DIAG=m
   5.179 +CONFIG_INET_TCP_DIAG=m
   5.180 +CONFIG_TCP_CONG_ADVANCED=y
   5.181 +
   5.182 +#
   5.183 +# TCP congestion control
   5.184 +#
   5.185 +CONFIG_TCP_CONG_BIC=m
   5.186 +CONFIG_TCP_CONG_WESTWOOD=m
   5.187 +CONFIG_TCP_CONG_HTCP=m
   5.188 +CONFIG_TCP_CONG_HSTCP=m
   5.189 +CONFIG_TCP_CONG_HYBLA=m
   5.190 +CONFIG_TCP_CONG_VEGAS=m
   5.191 +CONFIG_TCP_CONG_SCALABLE=m
   5.192 +
   5.193 +#
   5.194 +# IP: Virtual Server Configuration
   5.195 +#
   5.196 +CONFIG_IP_VS=m
   5.197 +# CONFIG_IP_VS_DEBUG is not set
   5.198 +CONFIG_IP_VS_TAB_BITS=12
   5.199 +
   5.200 +#
   5.201 +# IPVS transport protocol load balancing support
   5.202 +#
   5.203 +CONFIG_IP_VS_PROTO_TCP=y
   5.204 +CONFIG_IP_VS_PROTO_UDP=y
   5.205 +CONFIG_IP_VS_PROTO_ESP=y
   5.206 +CONFIG_IP_VS_PROTO_AH=y
   5.207 +
   5.208 +#
   5.209 +# IPVS scheduler
   5.210 +#
   5.211 +CONFIG_IP_VS_RR=m
   5.212 +CONFIG_IP_VS_WRR=m
   5.213 +CONFIG_IP_VS_LC=m
   5.214 +CONFIG_IP_VS_WLC=m
   5.215 +CONFIG_IP_VS_LBLC=m
   5.216 +CONFIG_IP_VS_LBLCR=m
   5.217 +CONFIG_IP_VS_DH=m
   5.218 +CONFIG_IP_VS_SH=m
   5.219 +CONFIG_IP_VS_SED=m
   5.220 +CONFIG_IP_VS_NQ=m
   5.221 +
   5.222 +#
   5.223 +# IPVS application helper
   5.224 +#
   5.225 +CONFIG_IP_VS_FTP=m
   5.226 +CONFIG_IPV6=m
   5.227 +CONFIG_IPV6_PRIVACY=y
   5.228 +CONFIG_INET6_AH=m
   5.229 +CONFIG_INET6_ESP=m
   5.230 +CONFIG_INET6_IPCOMP=m
   5.231 +CONFIG_INET6_TUNNEL=m
   5.232 +CONFIG_IPV6_TUNNEL=m
   5.233 +CONFIG_NETFILTER=y
   5.234 +# CONFIG_NETFILTER_DEBUG is not set
   5.235 +CONFIG_BRIDGE_NETFILTER=y
   5.236 +CONFIG_NETFILTER_NETLINK=m
   5.237 +CONFIG_NETFILTER_NETLINK_QUEUE=m
   5.238 +CONFIG_NETFILTER_NETLINK_LOG=m
   5.239 +
   5.240 +#
   5.241 +# IP: Netfilter Configuration
   5.242 +#
   5.243 +CONFIG_IP_NF_CONNTRACK=m
   5.244 +CONFIG_IP_NF_CT_ACCT=y
   5.245 +CONFIG_IP_NF_CONNTRACK_MARK=y
   5.246 +CONFIG_IP_NF_CONNTRACK_EVENTS=y
   5.247 +CONFIG_IP_NF_CONNTRACK_NETLINK=m
   5.248 +CONFIG_IP_NF_CT_PROTO_SCTP=m
   5.249 +CONFIG_IP_NF_FTP=m
   5.250 +CONFIG_IP_NF_IRC=m
   5.251 +CONFIG_IP_NF_NETBIOS_NS=m
   5.252 +CONFIG_IP_NF_TFTP=m
   5.253 +CONFIG_IP_NF_AMANDA=m
   5.254 +CONFIG_IP_NF_PPTP=m
   5.255 +CONFIG_IP_NF_QUEUE=m
   5.256 +CONFIG_IP_NF_IPTABLES=m
   5.257 +CONFIG_IP_NF_MATCH_LIMIT=m
   5.258 +CONFIG_IP_NF_MATCH_IPRANGE=m
   5.259 +CONFIG_IP_NF_MATCH_MAC=m
   5.260 +CONFIG_IP_NF_MATCH_PKTTYPE=m
   5.261 +CONFIG_IP_NF_MATCH_MARK=m
   5.262 +CONFIG_IP_NF_MATCH_MULTIPORT=m
   5.263 +CONFIG_IP_NF_MATCH_TOS=m
   5.264 +CONFIG_IP_NF_MATCH_RECENT=m
   5.265 +CONFIG_IP_NF_MATCH_ECN=m
   5.266 +CONFIG_IP_NF_MATCH_DSCP=m
   5.267 +CONFIG_IP_NF_MATCH_AH_ESP=m
   5.268 +CONFIG_IP_NF_MATCH_LENGTH=m
   5.269 +CONFIG_IP_NF_MATCH_TTL=m
   5.270 +CONFIG_IP_NF_MATCH_TCPMSS=m
   5.271 +CONFIG_IP_NF_MATCH_HELPER=m
   5.272 +CONFIG_IP_NF_MATCH_STATE=m
   5.273 +CONFIG_IP_NF_MATCH_CONNTRACK=m
   5.274 +CONFIG_IP_NF_MATCH_OWNER=m
   5.275 +CONFIG_IP_NF_MATCH_PHYSDEV=m
   5.276 +CONFIG_IP_NF_MATCH_ADDRTYPE=m
   5.277 +CONFIG_IP_NF_MATCH_REALM=m
   5.278 +CONFIG_IP_NF_MATCH_SCTP=m
   5.279 +CONFIG_IP_NF_MATCH_DCCP=m
   5.280 +CONFIG_IP_NF_MATCH_COMMENT=m
   5.281 +CONFIG_IP_NF_MATCH_CONNMARK=m
   5.282 +CONFIG_IP_NF_MATCH_CONNBYTES=m
   5.283 +CONFIG_IP_NF_MATCH_HASHLIMIT=m
   5.284 +CONFIG_IP_NF_MATCH_STRING=m
   5.285 +CONFIG_IP_NF_FILTER=m
   5.286 +CONFIG_IP_NF_TARGET_REJECT=m
   5.287 +CONFIG_IP_NF_TARGET_LOG=m
   5.288 +CONFIG_IP_NF_TARGET_ULOG=m
   5.289 +CONFIG_IP_NF_TARGET_TCPMSS=m
   5.290 +CONFIG_IP_NF_TARGET_NFQUEUE=m
   5.291 +CONFIG_IP_NF_NAT=m
   5.292 +CONFIG_IP_NF_NAT_NEEDED=y
   5.293 +CONFIG_IP_NF_TARGET_MASQUERADE=m
   5.294 +CONFIG_IP_NF_TARGET_REDIRECT=m
   5.295 +CONFIG_IP_NF_TARGET_NETMAP=m
   5.296 +CONFIG_IP_NF_TARGET_SAME=m
   5.297 +CONFIG_IP_NF_NAT_SNMP_BASIC=m
   5.298 +CONFIG_IP_NF_NAT_IRC=m
   5.299 +CONFIG_IP_NF_NAT_FTP=m
   5.300 +CONFIG_IP_NF_NAT_TFTP=m
   5.301 +CONFIG_IP_NF_NAT_AMANDA=m
   5.302 +CONFIG_IP_NF_NAT_PPTP=m
   5.303 +CONFIG_IP_NF_MANGLE=m
   5.304 +CONFIG_IP_NF_TARGET_TOS=m
   5.305 +CONFIG_IP_NF_TARGET_ECN=m
   5.306 +CONFIG_IP_NF_TARGET_DSCP=m
   5.307 +CONFIG_IP_NF_TARGET_MARK=m
   5.308 +CONFIG_IP_NF_TARGET_CLASSIFY=m
   5.309 +CONFIG_IP_NF_TARGET_TTL=m
   5.310 +CONFIG_IP_NF_TARGET_CONNMARK=m
   5.311 +CONFIG_IP_NF_TARGET_CLUSTERIP=m
   5.312 +CONFIG_IP_NF_RAW=m
   5.313 +CONFIG_IP_NF_TARGET_NOTRACK=m
   5.314 +CONFIG_IP_NF_ARPTABLES=m
   5.315 +CONFIG_IP_NF_ARPFILTER=m
   5.316 +CONFIG_IP_NF_ARP_MANGLE=m
   5.317 +
   5.318 +#
   5.319 +# IPv6: Netfilter Configuration (EXPERIMENTAL)
   5.320 +#
   5.321 +CONFIG_IP6_NF_QUEUE=m
   5.322 +CONFIG_IP6_NF_IPTABLES=m
   5.323 +CONFIG_IP6_NF_MATCH_LIMIT=m
   5.324 +CONFIG_IP6_NF_MATCH_MAC=m
   5.325 +CONFIG_IP6_NF_MATCH_RT=m
   5.326 +CONFIG_IP6_NF_MATCH_OPTS=m
   5.327 +CONFIG_IP6_NF_MATCH_FRAG=m
   5.328 +CONFIG_IP6_NF_MATCH_HL=m
   5.329 +CONFIG_IP6_NF_MATCH_MULTIPORT=m
   5.330 +CONFIG_IP6_NF_MATCH_OWNER=m
   5.331 +CONFIG_IP6_NF_MATCH_MARK=m
   5.332 +CONFIG_IP6_NF_MATCH_IPV6HEADER=m
   5.333 +CONFIG_IP6_NF_MATCH_AHESP=m
   5.334 +CONFIG_IP6_NF_MATCH_LENGTH=m
   5.335 +CONFIG_IP6_NF_MATCH_EUI64=m
   5.336 +CONFIG_IP6_NF_MATCH_PHYSDEV=m
   5.337 +CONFIG_IP6_NF_FILTER=m
   5.338 +CONFIG_IP6_NF_TARGET_LOG=m
   5.339 +CONFIG_IP6_NF_TARGET_REJECT=m
   5.340 +CONFIG_IP6_NF_TARGET_NFQUEUE=m
   5.341 +CONFIG_IP6_NF_MANGLE=m
   5.342 +CONFIG_IP6_NF_TARGET_MARK=m
   5.343 +CONFIG_IP6_NF_TARGET_HL=m
   5.344 +CONFIG_IP6_NF_RAW=m
   5.345 +
   5.346 +#
   5.347 +# DECnet: Netfilter Configuration
   5.348 +#
   5.349 +CONFIG_DECNET_NF_GRABULATOR=m
   5.350 +
   5.351 +#
   5.352 +# Bridge: Netfilter Configuration
   5.353 +#
   5.354 +CONFIG_BRIDGE_NF_EBTABLES=m
   5.355 +CONFIG_BRIDGE_EBT_BROUTE=m
   5.356 +CONFIG_BRIDGE_EBT_T_FILTER=m
   5.357 +CONFIG_BRIDGE_EBT_T_NAT=m
   5.358 +CONFIG_BRIDGE_EBT_802_3=m
   5.359 +CONFIG_BRIDGE_EBT_AMONG=m
   5.360 +CONFIG_BRIDGE_EBT_ARP=m
   5.361 +CONFIG_BRIDGE_EBT_IP=m
   5.362 +CONFIG_BRIDGE_EBT_LIMIT=m
   5.363 +CONFIG_BRIDGE_EBT_MARK=m
   5.364 +CONFIG_BRIDGE_EBT_PKTTYPE=m
   5.365 +CONFIG_BRIDGE_EBT_STP=m
   5.366 +CONFIG_BRIDGE_EBT_VLAN=m
   5.367 +CONFIG_BRIDGE_EBT_ARPREPLY=m
   5.368 +CONFIG_BRIDGE_EBT_DNAT=m
   5.369 +CONFIG_BRIDGE_EBT_MARK_T=m
   5.370 +CONFIG_BRIDGE_EBT_REDIRECT=m
   5.371 +CONFIG_BRIDGE_EBT_SNAT=m
   5.372 +CONFIG_BRIDGE_EBT_LOG=m
   5.373 +# CONFIG_BRIDGE_EBT_ULOG is not set
   5.374 +
   5.375 +#
   5.376 +# DCCP Configuration (EXPERIMENTAL)
   5.377 +#
   5.378 +CONFIG_IP_DCCP=m
   5.379 +CONFIG_INET_DCCP_DIAG=m
   5.380 +
   5.381 +#
   5.382 +# DCCP CCIDs Configuration (EXPERIMENTAL)
   5.383 +#
   5.384 +CONFIG_IP_DCCP_CCID3=m
   5.385 +CONFIG_IP_DCCP_TFRC_LIB=m
   5.386 +
   5.387 +#
   5.388 +# DCCP Kernel Hacking
   5.389 +#
   5.390 +# CONFIG_IP_DCCP_DEBUG is not set
   5.391 +# CONFIG_IP_DCCP_UNLOAD_HACK is not set
   5.392 +
   5.393 +#
   5.394 +# SCTP Configuration (EXPERIMENTAL)
   5.395 +#
   5.396 +CONFIG_IP_SCTP=m
   5.397 +# CONFIG_SCTP_DBG_MSG is not set
   5.398 +# CONFIG_SCTP_DBG_OBJCNT is not set
   5.399 +# CONFIG_SCTP_HMAC_NONE is not set
   5.400 +# CONFIG_SCTP_HMAC_SHA1 is not set
   5.401 +CONFIG_SCTP_HMAC_MD5=y
   5.402 +CONFIG_ATM=y
   5.403 +CONFIG_ATM_CLIP=y
   5.404 +# CONFIG_ATM_CLIP_NO_ICMP is not set
   5.405 +CONFIG_ATM_LANE=m
   5.406 +CONFIG_ATM_MPOA=m
   5.407 +CONFIG_ATM_BR2684=m
   5.408 +# CONFIG_ATM_BR2684_IPFILTER is not set
   5.409 +CONFIG_BRIDGE=m
   5.410 +CONFIG_VLAN_8021Q=m
   5.411 +CONFIG_DECNET=m
   5.412 +# CONFIG_DECNET_ROUTER is not set
   5.413 +CONFIG_LLC=y
   5.414 +CONFIG_LLC2=m
   5.415 +CONFIG_IPX=m
   5.416 +# CONFIG_IPX_INTERN is not set
   5.417 +CONFIG_ATALK=m
   5.418 +CONFIG_DEV_APPLETALK=y
   5.419 +CONFIG_IPDDP=m
   5.420 +CONFIG_IPDDP_ENCAP=y
   5.421 +CONFIG_IPDDP_DECAP=y
   5.422 +CONFIG_X25=m
   5.423 +CONFIG_LAPB=m
   5.424 +# CONFIG_NET_DIVERT is not set
   5.425 +CONFIG_ECONET=m
   5.426 +CONFIG_ECONET_AUNUDP=y
   5.427 +CONFIG_ECONET_NATIVE=y
   5.428 +CONFIG_WAN_ROUTER=m
   5.429 +CONFIG_NET_SCHED=y
   5.430 +CONFIG_NET_SCH_CLK_JIFFIES=y
   5.431 +# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
   5.432 +# CONFIG_NET_SCH_CLK_CPU is not set
   5.433 +CONFIG_NET_SCH_CBQ=m
   5.434 +CONFIG_NET_SCH_HTB=m
   5.435 +CONFIG_NET_SCH_HFSC=m
   5.436 +CONFIG_NET_SCH_ATM=m
   5.437 +CONFIG_NET_SCH_PRIO=m
   5.438 +CONFIG_NET_SCH_RED=m
   5.439 +CONFIG_NET_SCH_SFQ=m
   5.440 +CONFIG_NET_SCH_TEQL=m
   5.441 +CONFIG_NET_SCH_TBF=m
   5.442 +CONFIG_NET_SCH_GRED=m
   5.443 +CONFIG_NET_SCH_DSMARK=m
   5.444 +CONFIG_NET_SCH_NETEM=m
   5.445 +CONFIG_NET_SCH_INGRESS=m
   5.446 +CONFIG_NET_QOS=y
   5.447 +CONFIG_NET_ESTIMATOR=y
   5.448 +CONFIG_NET_CLS=y
   5.449 +CONFIG_NET_CLS_BASIC=m
   5.450 +CONFIG_NET_CLS_TCINDEX=m
   5.451 +CONFIG_NET_CLS_ROUTE4=m
   5.452 +CONFIG_NET_CLS_ROUTE=y
   5.453 +CONFIG_NET_CLS_FW=m
   5.454 +CONFIG_NET_CLS_U32=m
   5.455 +# CONFIG_CLS_U32_PERF is not set
   5.456 +# CONFIG_NET_CLS_IND is not set
   5.457 +# CONFIG_CLS_U32_MARK is not set
   5.458 +CONFIG_NET_CLS_RSVP=m
   5.459 +CONFIG_NET_CLS_RSVP6=m
   5.460 +CONFIG_NET_EMATCH=y
   5.461 +CONFIG_NET_EMATCH_STACK=32
   5.462 +CONFIG_NET_EMATCH_CMP=m
   5.463 +CONFIG_NET_EMATCH_NBYTE=m
   5.464 +CONFIG_NET_EMATCH_U32=m
   5.465 +CONFIG_NET_EMATCH_META=m
   5.466 +CONFIG_NET_EMATCH_TEXT=m
   5.467 +# CONFIG_NET_CLS_ACT is not set
   5.468 +CONFIG_NET_CLS_POLICE=y
   5.469 +
   5.470 +#
   5.471 +# Network testing
   5.472 +#
   5.473 +CONFIG_NET_PKTGEN=m
   5.474 +CONFIG_HAMRADIO=y
   5.475 +
   5.476 +#
   5.477 +# Packet Radio protocols
   5.478 +#
   5.479 +CONFIG_AX25=m
   5.480 +# CONFIG_AX25_DAMA_SLAVE is not set
   5.481 +CONFIG_NETROM=m
   5.482 +CONFIG_ROSE=m
   5.483 +
   5.484 +#
   5.485 +# AX.25 network device drivers
   5.486 +#
   5.487 +CONFIG_MKISS=m
   5.488 +CONFIG_6PACK=m
   5.489 +CONFIG_BPQETHER=m
   5.490 +CONFIG_BAYCOM_SER_FDX=m
   5.491 +CONFIG_BAYCOM_SER_HDX=m
   5.492 +CONFIG_BAYCOM_PAR=m
   5.493 +CONFIG_BAYCOM_EPP=m
   5.494 +CONFIG_YAM=m
   5.495 +CONFIG_IRDA=m
   5.496 +
   5.497 +#
   5.498 +# IrDA protocols
   5.499 +#
   5.500 +CONFIG_IRLAN=m
   5.501 +CONFIG_IRNET=m
   5.502 +CONFIG_IRCOMM=m
   5.503 +# CONFIG_IRDA_ULTRA is not set
   5.504 +
   5.505 +#
   5.506 +# IrDA options
   5.507 +#
   5.508 +CONFIG_IRDA_CACHE_LAST_LSAP=y
   5.509 +CONFIG_IRDA_FAST_RR=y
   5.510 +CONFIG_IRDA_DEBUG=y
   5.511 +
   5.512 +#
   5.513 +# Infrared-port device drivers
   5.514 +#
   5.515 +
   5.516 +#
   5.517 +# SIR device drivers
   5.518 +#
   5.519 +CONFIG_IRTTY_SIR=m
   5.520 +
   5.521 +#
   5.522 +# Dongle support
   5.523 +#
   5.524 +CONFIG_DONGLE=y
   5.525 +CONFIG_ESI_DONGLE=m
   5.526 +CONFIG_ACTISYS_DONGLE=m
   5.527 +CONFIG_TEKRAM_DONGLE=m
   5.528 +CONFIG_LITELINK_DONGLE=m
   5.529 +CONFIG_MA600_DONGLE=m
   5.530 +CONFIG_GIRBIL_DONGLE=m
   5.531 +CONFIG_MCP2120_DONGLE=m
   5.532 +CONFIG_OLD_BELKIN_DONGLE=m
   5.533 +CONFIG_ACT200L_DONGLE=m
   5.534 +
   5.535 +#
   5.536 +# Old SIR device drivers
   5.537 +#
   5.538 +CONFIG_IRPORT_SIR=m
   5.539 +
   5.540 +#
   5.541 +# Old Serial dongle support
   5.542 +#
   5.543 +# CONFIG_DONGLE_OLD is not set
   5.544 +
   5.545 +#
   5.546 +# FIR device drivers
   5.547 +#
   5.548 +CONFIG_USB_IRDA=m
   5.549 +CONFIG_SIGMATEL_FIR=m
   5.550 +# CONFIG_TOSHIBA_FIR is not set
   5.551 +CONFIG_VLSI_FIR=m
   5.552 +CONFIG_BT=m
   5.553 +CONFIG_BT_L2CAP=m
   5.554 +CONFIG_BT_SCO=m
   5.555 +CONFIG_BT_RFCOMM=m
   5.556 +CONFIG_BT_RFCOMM_TTY=y
   5.557 +CONFIG_BT_BNEP=m
   5.558 +CONFIG_BT_BNEP_MC_FILTER=y
   5.559 +CONFIG_BT_BNEP_PROTO_FILTER=y
   5.560 +CONFIG_BT_CMTP=m
   5.561 +CONFIG_BT_HIDP=m
   5.562 +
   5.563 +#
   5.564 +# Bluetooth device drivers
   5.565 +#
   5.566 +CONFIG_BT_HCIUSB=m
   5.567 +CONFIG_BT_HCIUSB_SCO=y
   5.568 +CONFIG_BT_HCIUART=m
   5.569 +CONFIG_BT_HCIUART_H4=y
   5.570 +CONFIG_BT_HCIUART_BCSP=y
   5.571 +# CONFIG_BT_HCIUART_BCSP_TXCRC is not set
   5.572 +CONFIG_BT_HCIBCM203X=m
   5.573 +# CONFIG_BT_HCIBPA10X is not set
   5.574 +CONFIG_BT_HCIBFUSB=m
   5.575 +CONFIG_BT_HCIDTL1=m
   5.576 +CONFIG_BT_HCIBT3C=m
   5.577 +CONFIG_BT_HCIBLUECARD=m
   5.578 +CONFIG_BT_HCIBTUART=m
   5.579 +CONFIG_BT_HCIVHCI=m
   5.580 +CONFIG_IEEE80211=m
   5.581 +# CONFIG_IEEE80211_DEBUG is not set
   5.582 +CONFIG_IEEE80211_CRYPT_WEP=m
   5.583 +CONFIG_IEEE80211_CRYPT_CCMP=m
   5.584 +CONFIG_IEEE80211_CRYPT_TKIP=m
   5.585 +
   5.586 +#
   5.587  # Device Drivers
   5.588  #
   5.589  
   5.590 @@ -235,6 +703,11 @@ CONFIG_FW_LOADER=m
   5.591  # CONFIG_DEBUG_DRIVER is not set
   5.592  
   5.593  #
   5.594 +# Connector - unified userspace <-> kernelspace linker
   5.595 +#
   5.596 +CONFIG_CONNECTOR=m
   5.597 +
   5.598 +#
   5.599  # Memory Technology Devices (MTD)
   5.600  #
   5.601  CONFIG_MTD=m
   5.602 @@ -298,7 +771,6 @@ CONFIG_MTD_SC520CDP=m
   5.603  CONFIG_MTD_NETSC520=m
   5.604  CONFIG_MTD_TS5500=m
   5.605  CONFIG_MTD_SBC_GXX=m
   5.606 -CONFIG_MTD_ELAN_104NC=m
   5.607  CONFIG_MTD_SCx200_DOCFLASH=m
   5.608  # CONFIG_MTD_AMD76XROM is not set
   5.609  # CONFIG_MTD_ICHXROM is not set
   5.610 @@ -309,6 +781,8 @@ CONFIG_MTD_DILNETPC_BOOTSIZE=0x80000
   5.611  # CONFIG_MTD_L440GX is not set
   5.612  CONFIG_MTD_PCI=m
   5.613  CONFIG_MTD_PCMCIA=m
   5.614 +# CONFIG_MTD_PCMCIA_ANONYMOUS is not set
   5.615 +CONFIG_MTD_PLATRAM=m
   5.616  
   5.617  #
   5.618  # Self-contained MTD device drivers
   5.619 @@ -421,7 +895,6 @@ CONFIG_BLK_DEV_RAM=y
   5.620  CONFIG_BLK_DEV_RAM_COUNT=16
   5.621  CONFIG_BLK_DEV_RAM_SIZE=16384
   5.622  CONFIG_BLK_DEV_INITRD=y
   5.623 -CONFIG_INITRAMFS_SOURCE=""
   5.624  CONFIG_LBD=y
   5.625  CONFIG_CDROM_PKTCDVD=m
   5.626  CONFIG_CDROM_PKTCDVD_BUFFERS=8
   5.627 @@ -488,6 +961,7 @@ CONFIG_BLK_DEV_HPT34X=y
   5.628  CONFIG_BLK_DEV_HPT366=y
   5.629  CONFIG_BLK_DEV_SC1200=m
   5.630  CONFIG_BLK_DEV_PIIX=y
   5.631 +CONFIG_BLK_DEV_IT821X=m
   5.632  CONFIG_BLK_DEV_NS87415=m
   5.633  CONFIG_BLK_DEV_PDC202XX_OLD=y
   5.634  CONFIG_PDC202XX_BURST=y
   5.635 @@ -508,6 +982,7 @@ CONFIG_IDEDMA_AUTO=y
   5.636  #
   5.637  # SCSI device support
   5.638  #
   5.639 +CONFIG_RAID_ATTRS=m
   5.640  CONFIG_SCSI=m
   5.641  CONFIG_SCSI_PROC_FS=y
   5.642  
   5.643 @@ -520,6 +995,7 @@ CONFIG_CHR_DEV_OSST=m
   5.644  CONFIG_BLK_DEV_SR=m
   5.645  # CONFIG_BLK_DEV_SR_VENDOR is not set
   5.646  CONFIG_CHR_DEV_SG=m
   5.647 +CONFIG_CHR_DEV_SCH=m
   5.648  
   5.649  #
   5.650  # Some SCSI devices (e.g. CD jukebox) support multiple LUNs
   5.651 @@ -534,6 +1010,7 @@ CONFIG_SCSI_LOGGING=y
   5.652  CONFIG_SCSI_SPI_ATTRS=m
   5.653  CONFIG_SCSI_FC_ATTRS=m
   5.654  # CONFIG_SCSI_ISCSI_ATTRS is not set
   5.655 +CONFIG_SCSI_SAS_ATTRS=m
   5.656  
   5.657  #
   5.658  # SCSI low-level drivers
   5.659 @@ -561,10 +1038,12 @@ CONFIG_SCSI_ADVANSYS=m
   5.660  CONFIG_MEGARAID_NEWGEN=y
   5.661  CONFIG_MEGARAID_MM=m
   5.662  CONFIG_MEGARAID_MAILBOX=m
   5.663 -CONFIG_SCSI_SATA=y
   5.664 +CONFIG_MEGARAID_SAS=m
   5.665 +CONFIG_SCSI_SATA=m
   5.666  CONFIG_SCSI_SATA_AHCI=m
   5.667  CONFIG_SCSI_SATA_SVW=m
   5.668  CONFIG_SCSI_ATA_PIIX=m
   5.669 +CONFIG_SCSI_SATA_MV=m
   5.670  CONFIG_SCSI_SATA_NV=m
   5.671  CONFIG_SCSI_SATA_PROMISE=m
   5.672  # CONFIG_SCSI_SATA_QSTOR is not set
   5.673 @@ -574,6 +1053,7 @@ CONFIG_SCSI_SATA_SIS=m
   5.674  CONFIG_SCSI_SATA_ULI=m
   5.675  CONFIG_SCSI_SATA_VIA=m
   5.676  CONFIG_SCSI_SATA_VITESSE=m
   5.677 +CONFIG_SCSI_SATA_INTEL_COMBINED=y
   5.678  # CONFIG_SCSI_CPQFCTS is not set
   5.679  CONFIG_SCSI_DMX3191D=m
   5.680  CONFIG_SCSI_EATA_PIO=m
   5.681 @@ -593,8 +1073,6 @@ CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
   5.682  CONFIG_SCSI_IPR=m
   5.683  # CONFIG_SCSI_IPR_TRACE is not set
   5.684  # CONFIG_SCSI_IPR_DUMP is not set
   5.685 -# CONFIG_SCSI_PCI2000 is not set
   5.686 -# CONFIG_SCSI_PCI2220I is not set
   5.687  CONFIG_SCSI_QLOGIC_ISP=m
   5.688  CONFIG_SCSI_QLOGIC_FC=m
   5.689  CONFIG_SCSI_QLOGIC_FC_FIRMWARE=y
   5.690 @@ -606,6 +1084,7 @@ CONFIG_SCSI_QLA22XX=m
   5.691  CONFIG_SCSI_QLA2300=m
   5.692  CONFIG_SCSI_QLA2322=m
   5.693  CONFIG_SCSI_QLA6312=m
   5.694 +CONFIG_SCSI_QLA24XX=m
   5.695  CONFIG_SCSI_LPFC=m
   5.696  CONFIG_SCSI_DC395x=m
   5.697  CONFIG_SCSI_DC390T=m
   5.698 @@ -645,8 +1124,11 @@ CONFIG_DM_MULTIPATH_EMC=m
   5.699  #
   5.700  # Fusion MPT device support
   5.701  #
   5.702 -CONFIG_FUSION=m
   5.703 -CONFIG_FUSION_MAX_SGE=40
   5.704 +CONFIG_FUSION=y
   5.705 +CONFIG_FUSION_SPI=m
   5.706 +CONFIG_FUSION_FC=m
   5.707 +CONFIG_FUSION_SAS=m
   5.708 +CONFIG_FUSION_MAX_SGE=128
   5.709  CONFIG_FUSION_CTL=m
   5.710  CONFIG_FUSION_LAN=m
   5.711  
   5.712 @@ -662,6 +1144,7 @@ CONFIG_IEEE1394=m
   5.713  # CONFIG_IEEE1394_OUI_DB is not set
   5.714  CONFIG_IEEE1394_EXTRA_CONFIG_ROMS=y
   5.715  CONFIG_IEEE1394_CONFIG_ROM_IP1394=y
   5.716 +# CONFIG_IEEE1394_EXPORT_FULL_API is not set
   5.717  
   5.718  #
   5.719  # Device Drivers
   5.720 @@ -685,409 +1168,18 @@ CONFIG_IEEE1394_AMDTP=m
   5.721  # I2O device support
   5.722  #
   5.723  CONFIG_I2O=m
   5.724 +CONFIG_I2O_EXT_ADAPTEC=y
   5.725 +CONFIG_I2O_EXT_ADAPTEC_DMA64=y
   5.726  CONFIG_I2O_CONFIG=m
   5.727 +CONFIG_I2O_CONFIG_OLD_IOCTL=y
   5.728 +CONFIG_I2O_BUS=m
   5.729  CONFIG_I2O_BLOCK=m
   5.730  CONFIG_I2O_SCSI=m
   5.731  CONFIG_I2O_PROC=m
   5.732  
   5.733  #
   5.734 -# Networking support
   5.735 -#
   5.736 -CONFIG_NET=y
   5.737 -
   5.738 -#
   5.739 -# Networking options
   5.740 -#
   5.741 -CONFIG_PACKET=m
   5.742 -CONFIG_PACKET_MMAP=y
   5.743 -CONFIG_UNIX=m
   5.744 -CONFIG_NET_KEY=m
   5.745 -CONFIG_INET=y
   5.746 -CONFIG_IP_MULTICAST=y
   5.747 -CONFIG_IP_ADVANCED_ROUTER=y
   5.748 -CONFIG_IP_MULTIPLE_TABLES=y
   5.749 -CONFIG_IP_ROUTE_FWMARK=y
   5.750 -CONFIG_IP_ROUTE_MULTIPATH=y
   5.751 -# CONFIG_IP_ROUTE_MULTIPATH_CACHED is not set
   5.752 -CONFIG_IP_ROUTE_VERBOSE=y
   5.753 -# CONFIG_IP_PNP is not set
   5.754 -CONFIG_NET_IPIP=m
   5.755 -CONFIG_NET_IPGRE=m
   5.756 -CONFIG_NET_IPGRE_BROADCAST=y
   5.757 -CONFIG_IP_MROUTE=y
   5.758 -CONFIG_IP_PIMSM_V1=y
   5.759 -CONFIG_IP_PIMSM_V2=y
   5.760 -# CONFIG_ARPD is not set
   5.761 -CONFIG_SYN_COOKIES=y
   5.762 -CONFIG_INET_AH=m
   5.763 -CONFIG_INET_ESP=m
   5.764 -CONFIG_INET_IPCOMP=m
   5.765 -CONFIG_INET_TUNNEL=m
   5.766 -CONFIG_IP_TCPDIAG=m
   5.767 -CONFIG_IP_TCPDIAG_IPV6=y
   5.768 -
   5.769 -#
   5.770 -# IP: Virtual Server Configuration
   5.771 -#
   5.772 -CONFIG_IP_VS=m
   5.773 -# CONFIG_IP_VS_DEBUG is not set
   5.774 -CONFIG_IP_VS_TAB_BITS=12
   5.775 -
   5.776 -#
   5.777 -# IPVS transport protocol load balancing support
   5.778 -#
   5.779 -CONFIG_IP_VS_PROTO_TCP=y
   5.780 -CONFIG_IP_VS_PROTO_UDP=y
   5.781 -CONFIG_IP_VS_PROTO_ESP=y
   5.782 -CONFIG_IP_VS_PROTO_AH=y
   5.783 -
   5.784 -#
   5.785 -# IPVS scheduler
   5.786 -#
   5.787 -CONFIG_IP_VS_RR=m
   5.788 -CONFIG_IP_VS_WRR=m
   5.789 -CONFIG_IP_VS_LC=m
   5.790 -CONFIG_IP_VS_WLC=m
   5.791 -CONFIG_IP_VS_LBLC=m
   5.792 -CONFIG_IP_VS_LBLCR=m
   5.793 -CONFIG_IP_VS_DH=m
   5.794 -CONFIG_IP_VS_SH=m
   5.795 -CONFIG_IP_VS_SED=m
   5.796 -CONFIG_IP_VS_NQ=m
   5.797 -
   5.798 -#
   5.799 -# IPVS application helper
   5.800 -#
   5.801 -CONFIG_IP_VS_FTP=m
   5.802 -CONFIG_IPV6=m
   5.803 -CONFIG_IPV6_PRIVACY=y
   5.804 -CONFIG_INET6_AH=m
   5.805 -CONFIG_INET6_ESP=m
   5.806 -CONFIG_INET6_IPCOMP=m
   5.807 -CONFIG_INET6_TUNNEL=m
   5.808 -CONFIG_IPV6_TUNNEL=m
   5.809 -CONFIG_NETFILTER=y
   5.810 -# CONFIG_NETFILTER_DEBUG is not set
   5.811 -CONFIG_BRIDGE_NETFILTER=y
   5.812 -
   5.813 -#
   5.814 -# IP: Netfilter Configuration
   5.815 -#
   5.816 -CONFIG_IP_NF_CONNTRACK=m
   5.817 -CONFIG_IP_NF_CT_ACCT=y
   5.818 -CONFIG_IP_NF_CONNTRACK_MARK=y
   5.819 -CONFIG_IP_NF_CT_PROTO_SCTP=m
   5.820 -CONFIG_IP_NF_FTP=m
   5.821 -CONFIG_IP_NF_IRC=m
   5.822 -CONFIG_IP_NF_TFTP=m
   5.823 -CONFIG_IP_NF_AMANDA=m
   5.824 -CONFIG_IP_NF_QUEUE=m
   5.825 -CONFIG_IP_NF_IPTABLES=m
   5.826 -CONFIG_IP_NF_MATCH_LIMIT=m
   5.827 -CONFIG_IP_NF_MATCH_IPRANGE=m
   5.828 -CONFIG_IP_NF_MATCH_MAC=m
   5.829 -CONFIG_IP_NF_MATCH_PKTTYPE=m
   5.830 -CONFIG_IP_NF_MATCH_MARK=m
   5.831 -CONFIG_IP_NF_MATCH_MULTIPORT=m
   5.832 -CONFIG_IP_NF_MATCH_TOS=m
   5.833 -CONFIG_IP_NF_MATCH_RECENT=m
   5.834 -CONFIG_IP_NF_MATCH_ECN=m
   5.835 -CONFIG_IP_NF_MATCH_DSCP=m
   5.836 -CONFIG_IP_NF_MATCH_AH_ESP=m
   5.837 -CONFIG_IP_NF_MATCH_LENGTH=m
   5.838 -CONFIG_IP_NF_MATCH_TTL=m
   5.839 -CONFIG_IP_NF_MATCH_TCPMSS=m
   5.840 -CONFIG_IP_NF_MATCH_HELPER=m
   5.841 -CONFIG_IP_NF_MATCH_STATE=m
   5.842 -CONFIG_IP_NF_MATCH_CONNTRACK=m
   5.843 -CONFIG_IP_NF_MATCH_OWNER=m
   5.844 -CONFIG_IP_NF_MATCH_PHYSDEV=m
   5.845 -CONFIG_IP_NF_MATCH_ADDRTYPE=m
   5.846 -CONFIG_IP_NF_MATCH_REALM=m
   5.847 -CONFIG_IP_NF_MATCH_SCTP=m
   5.848 -CONFIG_IP_NF_MATCH_COMMENT=m
   5.849 -CONFIG_IP_NF_MATCH_CONNMARK=m
   5.850 -CONFIG_IP_NF_MATCH_HASHLIMIT=m
   5.851 -CONFIG_IP_NF_FILTER=m
   5.852 -CONFIG_IP_NF_TARGET_REJECT=m
   5.853 -CONFIG_IP_NF_TARGET_LOG=m
   5.854 -CONFIG_IP_NF_TARGET_ULOG=m
   5.855 -CONFIG_IP_NF_TARGET_TCPMSS=m
   5.856 -CONFIG_IP_NF_NAT=m
   5.857 -CONFIG_IP_NF_NAT_NEEDED=y
   5.858 -CONFIG_IP_NF_TARGET_MASQUERADE=m
   5.859 -CONFIG_IP_NF_TARGET_REDIRECT=m
   5.860 -CONFIG_IP_NF_TARGET_NETMAP=m
   5.861 -CONFIG_IP_NF_TARGET_SAME=m
   5.862 -CONFIG_IP_NF_NAT_SNMP_BASIC=m
   5.863 -CONFIG_IP_NF_NAT_IRC=m
   5.864 -CONFIG_IP_NF_NAT_FTP=m
   5.865 -CONFIG_IP_NF_NAT_TFTP=m
   5.866 -CONFIG_IP_NF_NAT_AMANDA=m
   5.867 -CONFIG_IP_NF_MANGLE=m
   5.868 -CONFIG_IP_NF_TARGET_TOS=m
   5.869 -CONFIG_IP_NF_TARGET_ECN=m
   5.870 -CONFIG_IP_NF_TARGET_DSCP=m
   5.871 -CONFIG_IP_NF_TARGET_MARK=m
   5.872 -CONFIG_IP_NF_TARGET_CLASSIFY=m
   5.873 -CONFIG_IP_NF_TARGET_CONNMARK=m
   5.874 -CONFIG_IP_NF_TARGET_CLUSTERIP=m
   5.875 -CONFIG_IP_NF_RAW=m
   5.876 -CONFIG_IP_NF_TARGET_NOTRACK=m
   5.877 -CONFIG_IP_NF_ARPTABLES=m
   5.878 -CONFIG_IP_NF_ARPFILTER=m
   5.879 -CONFIG_IP_NF_ARP_MANGLE=m
   5.880 -
   5.881 -#
   5.882 -# IPv6: Netfilter Configuration (EXPERIMENTAL)
   5.883 -#
   5.884 -CONFIG_IP6_NF_QUEUE=m
   5.885 -CONFIG_IP6_NF_IPTABLES=m
   5.886 -CONFIG_IP6_NF_MATCH_LIMIT=m
   5.887 -CONFIG_IP6_NF_MATCH_MAC=m
   5.888 -CONFIG_IP6_NF_MATCH_RT=m
   5.889 -CONFIG_IP6_NF_MATCH_OPTS=m
   5.890 -CONFIG_IP6_NF_MATCH_FRAG=m
   5.891 -CONFIG_IP6_NF_MATCH_HL=m
   5.892 -CONFIG_IP6_NF_MATCH_MULTIPORT=m
   5.893 -CONFIG_IP6_NF_MATCH_OWNER=m
   5.894 -CONFIG_IP6_NF_MATCH_MARK=m
   5.895 -CONFIG_IP6_NF_MATCH_IPV6HEADER=m
   5.896 -CONFIG_IP6_NF_MATCH_AHESP=m
   5.897 -CONFIG_IP6_NF_MATCH_LENGTH=m
   5.898 -CONFIG_IP6_NF_MATCH_EUI64=m
   5.899 -CONFIG_IP6_NF_MATCH_PHYSDEV=m
   5.900 -CONFIG_IP6_NF_FILTER=m
   5.901 -CONFIG_IP6_NF_TARGET_LOG=m
   5.902 -CONFIG_IP6_NF_MANGLE=m
   5.903 -CONFIG_IP6_NF_TARGET_MARK=m
   5.904 -CONFIG_IP6_NF_RAW=m
   5.905 -
   5.906 -#
   5.907 -# DECnet: Netfilter Configuration
   5.908 -#
   5.909 -CONFIG_DECNET_NF_GRABULATOR=m
   5.910 -
   5.911 -#
   5.912 -# Bridge: Netfilter Configuration
   5.913 -#
   5.914 -CONFIG_BRIDGE_NF_EBTABLES=m
   5.915 -CONFIG_BRIDGE_EBT_BROUTE=m
   5.916 -CONFIG_BRIDGE_EBT_T_FILTER=m
   5.917 -CONFIG_BRIDGE_EBT_T_NAT=m
   5.918 -CONFIG_BRIDGE_EBT_802_3=m
   5.919 -CONFIG_BRIDGE_EBT_AMONG=m
   5.920 -CONFIG_BRIDGE_EBT_ARP=m
   5.921 -CONFIG_BRIDGE_EBT_IP=m
   5.922 -CONFIG_BRIDGE_EBT_LIMIT=m
   5.923 -CONFIG_BRIDGE_EBT_MARK=m
   5.924 -CONFIG_BRIDGE_EBT_PKTTYPE=m
   5.925 -CONFIG_BRIDGE_EBT_STP=m
   5.926 -CONFIG_BRIDGE_EBT_VLAN=m
   5.927 -CONFIG_BRIDGE_EBT_ARPREPLY=m
   5.928 -CONFIG_BRIDGE_EBT_DNAT=m
   5.929 -CONFIG_BRIDGE_EBT_MARK_T=m
   5.930 -CONFIG_BRIDGE_EBT_REDIRECT=m
   5.931 -CONFIG_BRIDGE_EBT_SNAT=m
   5.932 -CONFIG_BRIDGE_EBT_LOG=m
   5.933 -# CONFIG_BRIDGE_EBT_ULOG is not set
   5.934 -CONFIG_XFRM=y
   5.935 -CONFIG_XFRM_USER=m
   5.936 -
   5.937 -#
   5.938 -# SCTP Configuration (EXPERIMENTAL)
   5.939 -#
   5.940 -CONFIG_IP_SCTP=m
   5.941 -# CONFIG_SCTP_DBG_MSG is not set
   5.942 -# CONFIG_SCTP_DBG_OBJCNT is not set
   5.943 -# CONFIG_SCTP_HMAC_NONE is not set
   5.944 -# CONFIG_SCTP_HMAC_SHA1 is not set
   5.945 -CONFIG_SCTP_HMAC_MD5=y
   5.946 -CONFIG_ATM=y
   5.947 -CONFIG_ATM_CLIP=y
   5.948 -# CONFIG_ATM_CLIP_NO_ICMP is not set
   5.949 -CONFIG_ATM_LANE=m
   5.950 -CONFIG_ATM_MPOA=m
   5.951 -CONFIG_ATM_BR2684=m
   5.952 -# CONFIG_ATM_BR2684_IPFILTER is not set
   5.953 -CONFIG_BRIDGE=m
   5.954 -CONFIG_VLAN_8021Q=m
   5.955 -CONFIG_DECNET=m
   5.956 -# CONFIG_DECNET_ROUTER is not set
   5.957 -CONFIG_LLC=y
   5.958 -CONFIG_LLC2=m
   5.959 -CONFIG_IPX=m
   5.960 -# CONFIG_IPX_INTERN is not set
   5.961 -CONFIG_ATALK=m
   5.962 -CONFIG_DEV_APPLETALK=y
   5.963 -CONFIG_IPDDP=m
   5.964 -CONFIG_IPDDP_ENCAP=y
   5.965 -CONFIG_IPDDP_DECAP=y
   5.966 -CONFIG_X25=m
   5.967 -CONFIG_LAPB=m
   5.968 -# CONFIG_NET_DIVERT is not set
   5.969 -CONFIG_ECONET=m
   5.970 -CONFIG_ECONET_AUNUDP=y
   5.971 -CONFIG_ECONET_NATIVE=y
   5.972 -CONFIG_WAN_ROUTER=m
   5.973 -
   5.974 -#
   5.975 -# QoS and/or fair queueing
   5.976 -#
   5.977 -CONFIG_NET_SCHED=y
   5.978 -CONFIG_NET_SCH_CLK_JIFFIES=y
   5.979 -# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
   5.980 -# CONFIG_NET_SCH_CLK_CPU is not set
   5.981 -CONFIG_NET_SCH_CBQ=m
   5.982 -CONFIG_NET_SCH_HTB=m
   5.983 -CONFIG_NET_SCH_HFSC=m
   5.984 -CONFIG_NET_SCH_ATM=m
   5.985 -CONFIG_NET_SCH_PRIO=m
   5.986 -CONFIG_NET_SCH_RED=m
   5.987 -CONFIG_NET_SCH_SFQ=m
   5.988 -CONFIG_NET_SCH_TEQL=m
   5.989 -CONFIG_NET_SCH_TBF=m
   5.990 -CONFIG_NET_SCH_GRED=m
   5.991 -CONFIG_NET_SCH_DSMARK=m
   5.992 -CONFIG_NET_SCH_NETEM=m
   5.993 -CONFIG_NET_SCH_INGRESS=m
   5.994 -CONFIG_NET_QOS=y
   5.995 -CONFIG_NET_ESTIMATOR=y
   5.996 -CONFIG_NET_CLS=y
   5.997 -CONFIG_NET_CLS_BASIC=m
   5.998 -CONFIG_NET_CLS_TCINDEX=m
   5.999 -CONFIG_NET_CLS_ROUTE4=m
  5.1000 -CONFIG_NET_CLS_ROUTE=y
  5.1001 -CONFIG_NET_CLS_FW=m
  5.1002 -CONFIG_NET_CLS_U32=m
  5.1003 -# CONFIG_CLS_U32_PERF is not set
  5.1004 -# CONFIG_NET_CLS_IND is not set
  5.1005 -# CONFIG_CLS_U32_MARK is not set
  5.1006 -CONFIG_NET_CLS_RSVP=m
  5.1007 -CONFIG_NET_CLS_RSVP6=m
  5.1008 -CONFIG_NET_EMATCH=y
  5.1009 -CONFIG_NET_EMATCH_STACK=32
  5.1010 -CONFIG_NET_EMATCH_CMP=m
  5.1011 -CONFIG_NET_EMATCH_NBYTE=m
  5.1012 -CONFIG_NET_EMATCH_U32=m
  5.1013 -CONFIG_NET_EMATCH_META=m
  5.1014 -# CONFIG_NET_CLS_ACT is not set
  5.1015 -CONFIG_NET_CLS_POLICE=y
  5.1016 -
  5.1017 -#
  5.1018 -# Network testing
  5.1019 -#
  5.1020 -CONFIG_NET_PKTGEN=m
  5.1021 -CONFIG_NETPOLL=y
  5.1022 -# CONFIG_NETPOLL_RX is not set
  5.1023 -# CONFIG_NETPOLL_TRAP is not set
  5.1024 -CONFIG_NET_POLL_CONTROLLER=y
  5.1025 -CONFIG_HAMRADIO=y
  5.1026 -
  5.1027 -#
  5.1028 -# Packet Radio protocols
  5.1029 -#
  5.1030 -CONFIG_AX25=m
  5.1031 -# CONFIG_AX25_DAMA_SLAVE is not set
  5.1032 -CONFIG_NETROM=m
  5.1033 -CONFIG_ROSE=m
  5.1034 -
  5.1035 -#
  5.1036 -# AX.25 network device drivers
  5.1037 -#
  5.1038 -CONFIG_MKISS=m
  5.1039 -CONFIG_6PACK=m
  5.1040 -CONFIG_BPQETHER=m
  5.1041 -CONFIG_BAYCOM_SER_FDX=m
  5.1042 -CONFIG_BAYCOM_SER_HDX=m
  5.1043 -CONFIG_BAYCOM_PAR=m
  5.1044 -CONFIG_BAYCOM_EPP=m
  5.1045 -CONFIG_YAM=m
  5.1046 -CONFIG_IRDA=m
  5.1047 -
  5.1048 -#
  5.1049 -# IrDA protocols
  5.1050 -#
  5.1051 -CONFIG_IRLAN=m
  5.1052 -CONFIG_IRNET=m
  5.1053 -CONFIG_IRCOMM=m
  5.1054 -# CONFIG_IRDA_ULTRA is not set
  5.1055 -
  5.1056 -#
  5.1057 -# IrDA options
  5.1058 -#
  5.1059 -CONFIG_IRDA_CACHE_LAST_LSAP=y
  5.1060 -CONFIG_IRDA_FAST_RR=y
  5.1061 -CONFIG_IRDA_DEBUG=y
  5.1062 -
  5.1063 -#
  5.1064 -# Infrared-port device drivers
  5.1065 -#
  5.1066 -
  5.1067 -#
  5.1068 -# SIR device drivers
  5.1069 -#
  5.1070 -CONFIG_IRTTY_SIR=m
  5.1071 -
  5.1072 -#
  5.1073 -# Dongle support
  5.1074 -#
  5.1075 -CONFIG_DONGLE=y
  5.1076 -CONFIG_ESI_DONGLE=m
  5.1077 -CONFIG_ACTISYS_DONGLE=m
  5.1078 -CONFIG_TEKRAM_DONGLE=m
  5.1079 -CONFIG_LITELINK_DONGLE=m
  5.1080 -CONFIG_MA600_DONGLE=m
  5.1081 -CONFIG_GIRBIL_DONGLE=m
  5.1082 -CONFIG_MCP2120_DONGLE=m
  5.1083 -CONFIG_OLD_BELKIN_DONGLE=m
  5.1084 -CONFIG_ACT200L_DONGLE=m
  5.1085 -
  5.1086 -#
  5.1087 -# Old SIR device drivers
  5.1088 -#
  5.1089 -CONFIG_IRPORT_SIR=m
  5.1090 -
  5.1091 -#
  5.1092 -# Old Serial dongle support
  5.1093 -#
  5.1094 -# CONFIG_DONGLE_OLD is not set
  5.1095 -
  5.1096 -#
  5.1097 -# FIR device drivers
  5.1098 -#
  5.1099 -CONFIG_USB_IRDA=m
  5.1100 -CONFIG_SIGMATEL_FIR=m
  5.1101 -# CONFIG_TOSHIBA_FIR is not set
  5.1102 -CONFIG_VLSI_FIR=m
  5.1103 -CONFIG_BT=m
  5.1104 -CONFIG_BT_L2CAP=m
  5.1105 -CONFIG_BT_SCO=m
  5.1106 -CONFIG_BT_RFCOMM=m
  5.1107 -CONFIG_BT_RFCOMM_TTY=y
  5.1108 -CONFIG_BT_BNEP=m
  5.1109 -CONFIG_BT_BNEP_MC_FILTER=y
  5.1110 -CONFIG_BT_BNEP_PROTO_FILTER=y
  5.1111 -CONFIG_BT_CMTP=m
  5.1112 -CONFIG_BT_HIDP=m
  5.1113 -
  5.1114 -#
  5.1115 -# Bluetooth device drivers
  5.1116 -#
  5.1117 -CONFIG_BT_HCIUSB=m
  5.1118 -CONFIG_BT_HCIUSB_SCO=y
  5.1119 -CONFIG_BT_HCIUART=m
  5.1120 -CONFIG_BT_HCIUART_H4=y
  5.1121 -CONFIG_BT_HCIUART_BCSP=y
  5.1122 -# CONFIG_BT_HCIUART_BCSP_TXCRC is not set
  5.1123 -CONFIG_BT_HCIBCM203X=m
  5.1124 -# CONFIG_BT_HCIBPA10X is not set
  5.1125 -CONFIG_BT_HCIBFUSB=m
  5.1126 -CONFIG_BT_HCIDTL1=m
  5.1127 -CONFIG_BT_HCIBT3C=m
  5.1128 -CONFIG_BT_HCIBLUECARD=m
  5.1129 -CONFIG_BT_HCIBTUART=m
  5.1130 -CONFIG_BT_HCIVHCI=m
  5.1131 +# Network device support
  5.1132 +#
  5.1133  CONFIG_NETDEVICES=y
  5.1134  CONFIG_DUMMY=m
  5.1135  CONFIG_BONDING=m
  5.1136 @@ -1110,12 +1202,28 @@ CONFIG_ARCNET_COM20020=m
  5.1137  CONFIG_ARCNET_COM20020_PCI=m
  5.1138  
  5.1139  #
  5.1140 +# PHY device support
  5.1141 +#
  5.1142 +CONFIG_PHYLIB=m
  5.1143 +CONFIG_PHYCONTROL=y
  5.1144 +
  5.1145 +#
  5.1146 +# MII PHY device drivers
  5.1147 +#
  5.1148 +CONFIG_MARVELL_PHY=m
  5.1149 +CONFIG_DAVICOM_PHY=m
  5.1150 +CONFIG_QSEMI_PHY=m
  5.1151 +CONFIG_LXT_PHY=m
  5.1152 +CONFIG_CICADA_PHY=m
  5.1153 +
  5.1154 +#
  5.1155  # Ethernet (10 or 100Mbit)
  5.1156  #
  5.1157  CONFIG_NET_ETHERNET=y
  5.1158  CONFIG_MII=m
  5.1159  CONFIG_HAPPYMEAL=m
  5.1160  CONFIG_SUNGEM=m
  5.1161 +CONFIG_CASSINI=m
  5.1162  CONFIG_NET_VENDOR_3COM=y
  5.1163  CONFIG_VORTEX=m
  5.1164  CONFIG_TYPHOON=m
  5.1165 @@ -1132,6 +1240,7 @@ CONFIG_TULIP=m
  5.1166  CONFIG_DE4X5=m
  5.1167  CONFIG_WINBOND_840=m
  5.1168  CONFIG_DM9102=m
  5.1169 +CONFIG_ULI526X=m
  5.1170  CONFIG_PCMCIA_XIRCOM=m
  5.1171  # CONFIG_PCMCIA_XIRTULIP is not set
  5.1172  CONFIG_HP100=m
  5.1173 @@ -1162,6 +1271,7 @@ CONFIG_SUNDANCE=m
  5.1174  CONFIG_TLAN=m
  5.1175  CONFIG_VIA_RHINE=m
  5.1176  # CONFIG_VIA_RHINE_MMIO is not set
  5.1177 +# CONFIG_NET_POCKET is not set
  5.1178  
  5.1179  #
  5.1180  # Ethernet (1000 Mbit)
  5.1181 @@ -1176,6 +1286,8 @@ CONFIG_YELLOWFIN=m
  5.1182  CONFIG_R8169=m
  5.1183  # CONFIG_R8169_NAPI is not set
  5.1184  # CONFIG_R8169_VLAN is not set
  5.1185 +CONFIG_SIS190=m
  5.1186 +CONFIG_SKGE=m
  5.1187  CONFIG_SK98LIN=m
  5.1188  CONFIG_VIA_VELOCITY=m
  5.1189  CONFIG_TIGON3=m
  5.1190 @@ -1184,6 +1296,7 @@ CONFIG_BNX2=m
  5.1191  #
  5.1192  # Ethernet (10000 Mbit)
  5.1193  #
  5.1194 +CONFIG_CHELSIO_T1=m
  5.1195  CONFIG_IXGB=m
  5.1196  # CONFIG_IXGB_NAPI is not set
  5.1197  CONFIG_S2IO=m
  5.1198 @@ -1221,9 +1334,14 @@ CONFIG_PCMCIA_RAYCS=m
  5.1199  #
  5.1200  # Wireless 802.11b ISA/PCI cards support
  5.1201  #
  5.1202 +CONFIG_IPW2100=m
  5.1203 +CONFIG_IPW2100_MONITOR=y
  5.1204 +# CONFIG_IPW_DEBUG is not set
  5.1205 +CONFIG_IPW2200=m
  5.1206  CONFIG_HERMES=m
  5.1207  CONFIG_PLX_HERMES=m
  5.1208  CONFIG_TMD_HERMES=m
  5.1209 +CONFIG_NORTEL_HERMES=m
  5.1210  CONFIG_PCI_HERMES=m
  5.1211  CONFIG_ATMEL=m
  5.1212  CONFIG_PCI_ATMEL=m
  5.1213 @@ -1232,6 +1350,7 @@ CONFIG_PCI_ATMEL=m
  5.1214  # Wireless 802.11b Pcmcia/Cardbus cards support
  5.1215  #
  5.1216  CONFIG_PCMCIA_HERMES=m
  5.1217 +CONFIG_PCMCIA_SPECTRUM=m
  5.1218  CONFIG_AIRO_CS=m
  5.1219  CONFIG_PCMCIA_ATMEL=m
  5.1220  CONFIG_PCMCIA_WL3501=m
  5.1221 @@ -1240,6 +1359,11 @@ CONFIG_PCMCIA_WL3501=m
  5.1222  # Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
  5.1223  #
  5.1224  CONFIG_PRISM54=m
  5.1225 +CONFIG_HOSTAP=m
  5.1226 +# CONFIG_HOSTAP_FIRMWARE is not set
  5.1227 +CONFIG_HOSTAP_PLX=m
  5.1228 +CONFIG_HOSTAP_PCI=m
  5.1229 +CONFIG_HOSTAP_CS=m
  5.1230  CONFIG_NET_WIRELESS=y
  5.1231  
  5.1232  #
  5.1233 @@ -1346,6 +1470,10 @@ CONFIG_SLIP_MODE_SLIP6=y
  5.1234  CONFIG_NET_FC=y
  5.1235  CONFIG_SHAPER=m
  5.1236  CONFIG_NETCONSOLE=m
  5.1237 +CONFIG_NETPOLL=y
  5.1238 +# CONFIG_NETPOLL_RX is not set
  5.1239 +# CONFIG_NETPOLL_TRAP is not set
  5.1240 +CONFIG_NET_POLL_CONTROLLER=y
  5.1241  
  5.1242  #
  5.1243  # ISDN subsystem
  5.1244 @@ -1562,9 +1690,7 @@ CONFIG_GAMEPORT=m
  5.1245  CONFIG_GAMEPORT_NS558=m
  5.1246  CONFIG_GAMEPORT_L4=m
  5.1247  CONFIG_GAMEPORT_EMU10K1=m
  5.1248 -CONFIG_GAMEPORT_VORTEX=m
  5.1249  CONFIG_GAMEPORT_FM801=m
  5.1250 -# CONFIG_GAMEPORT_CS461X is not set
  5.1251  
  5.1252  #
  5.1253  # Character devices
  5.1254 @@ -1623,14 +1749,18 @@ CONFIG_ALIM7101_WDT=m
  5.1255  CONFIG_SC520_WDT=m
  5.1256  CONFIG_EUROTECH_WDT=m
  5.1257  CONFIG_IB700_WDT=m
  5.1258 +CONFIG_IBMASR=m
  5.1259  CONFIG_WAFER_WDT=m
  5.1260 +CONFIG_I6300ESB_WDT=m
  5.1261  CONFIG_I8XX_TCO=m
  5.1262  CONFIG_SC1200_WDT=m
  5.1263  CONFIG_SCx200_WDT=m
  5.1264  CONFIG_60XX_WDT=m
  5.1265 +CONFIG_SBC8360_WDT=m
  5.1266  CONFIG_CPU5_WDT=m
  5.1267  CONFIG_W83627HF_WDT=m
  5.1268  CONFIG_W83877F_WDT=m
  5.1269 +CONFIG_W83977F_WDT=m
  5.1270  CONFIG_MACHZ_WDT=m
  5.1271  
  5.1272  #
  5.1273 @@ -1671,7 +1801,6 @@ CONFIG_AGP_VIA=m
  5.1274  CONFIG_AGP_EFFICEON=m
  5.1275  CONFIG_DRM=m
  5.1276  CONFIG_DRM_TDFX=m
  5.1277 -# CONFIG_DRM_GAMMA is not set
  5.1278  CONFIG_DRM_R128=m
  5.1279  CONFIG_DRM_RADEON=m
  5.1280  CONFIG_DRM_I810=m
  5.1281 @@ -1679,6 +1808,8 @@ CONFIG_DRM_I830=m
  5.1282  CONFIG_DRM_I915=m
  5.1283  CONFIG_DRM_MGA=m
  5.1284  CONFIG_DRM_SIS=m
  5.1285 +CONFIG_DRM_VIA=m
  5.1286 +CONFIG_DRM_SAVAGE=m
  5.1287  
  5.1288  #
  5.1289  # PCMCIA character devices
  5.1290 @@ -1741,14 +1872,45 @@ CONFIG_I2C_VOODOO3=m
  5.1291  CONFIG_I2C_PCA_ISA=m
  5.1292  
  5.1293  #
  5.1294 -# Hardware Sensors Chip support
  5.1295 -#
  5.1296 -CONFIG_I2C_SENSOR=m
  5.1297 +# Miscellaneous I2C Chip support
  5.1298 +#
  5.1299 +CONFIG_SENSORS_DS1337=m
  5.1300 +CONFIG_SENSORS_DS1374=m
  5.1301 +CONFIG_SENSORS_EEPROM=m
  5.1302 +CONFIG_SENSORS_PCF8574=m
  5.1303 +CONFIG_SENSORS_PCA9539=m
  5.1304 +CONFIG_SENSORS_PCF8591=m
  5.1305 +CONFIG_SENSORS_RTC8564=m
  5.1306 +CONFIG_SENSORS_MAX6875=m
  5.1307 +# CONFIG_I2C_DEBUG_CORE is not set
  5.1308 +# CONFIG_I2C_DEBUG_ALGO is not set
  5.1309 +# CONFIG_I2C_DEBUG_BUS is not set
  5.1310 +# CONFIG_I2C_DEBUG_CHIP is not set
  5.1311 +
  5.1312 +#
  5.1313 +# Dallas's 1-wire bus
  5.1314 +#
  5.1315 +CONFIG_W1=m
  5.1316 +CONFIG_W1_MATROX=m
  5.1317 +CONFIG_W1_DS9490=m
  5.1318 +CONFIG_W1_DS9490_BRIDGE=m
  5.1319 +CONFIG_W1_THERM=m
  5.1320 +CONFIG_W1_SMEM=m
  5.1321 +CONFIG_W1_DS2433=m
  5.1322 +# CONFIG_W1_DS2433_CRC is not set
  5.1323 +
  5.1324 +#
  5.1325 +# Hardware Monitoring support
  5.1326 +#
  5.1327 +CONFIG_HWMON=m
  5.1328 +CONFIG_HWMON_VID=m
  5.1329  CONFIG_SENSORS_ADM1021=m
  5.1330  CONFIG_SENSORS_ADM1025=m
  5.1331  CONFIG_SENSORS_ADM1026=m
  5.1332  CONFIG_SENSORS_ADM1031=m
  5.1333 +CONFIG_SENSORS_ADM9240=m
  5.1334  CONFIG_SENSORS_ASB100=m
  5.1335 +CONFIG_SENSORS_ATXP1=m
  5.1336  CONFIG_SENSORS_DS1621=m
  5.1337  CONFIG_SENSORS_FSCHER=m
  5.1338  CONFIG_SENSORS_FSCPOS=m
  5.1339 @@ -1767,36 +1929,17 @@ CONFIG_SENSORS_LM90=m
  5.1340  CONFIG_SENSORS_LM92=m
  5.1341  CONFIG_SENSORS_MAX1619=m
  5.1342  CONFIG_SENSORS_PC87360=m
  5.1343 -# CONFIG_SENSORS_SMSC47B397 is not set
  5.1344  CONFIG_SENSORS_SIS5595=m
  5.1345  CONFIG_SENSORS_SMSC47M1=m
  5.1346 +# CONFIG_SENSORS_SMSC47B397 is not set
  5.1347  CONFIG_SENSORS_VIA686A=m
  5.1348  CONFIG_SENSORS_W83781D=m
  5.1349 +CONFIG_SENSORS_W83792D=m
  5.1350  CONFIG_SENSORS_W83L785TS=m
  5.1351  CONFIG_SENSORS_W83627HF=m
  5.1352 -
  5.1353 -#
  5.1354 -# Other I2C Chip support
  5.1355 -#
  5.1356 -CONFIG_SENSORS_DS1337=m
  5.1357 -CONFIG_SENSORS_EEPROM=m
  5.1358 -CONFIG_SENSORS_PCF8574=m
  5.1359 -CONFIG_SENSORS_PCF8591=m
  5.1360 -CONFIG_SENSORS_RTC8564=m
  5.1361 -# CONFIG_I2C_DEBUG_CORE is not set
  5.1362 -# CONFIG_I2C_DEBUG_ALGO is not set
  5.1363 -# CONFIG_I2C_DEBUG_BUS is not set
  5.1364 -# CONFIG_I2C_DEBUG_CHIP is not set
  5.1365 -
  5.1366 -#
  5.1367 -# Dallas's 1-wire bus
  5.1368 -#
  5.1369 -CONFIG_W1=m
  5.1370 -CONFIG_W1_MATROX=m
  5.1371 -CONFIG_W1_DS9490=m
  5.1372 -CONFIG_W1_DS9490_BRIDGE=m
  5.1373 -CONFIG_W1_THERM=m
  5.1374 -CONFIG_W1_SMEM=m
  5.1375 +CONFIG_SENSORS_W83627EHF=m
  5.1376 +CONFIG_SENSORS_HDAPS=m
  5.1377 +# CONFIG_HWMON_DEBUG_CHIP is not set
  5.1378  
  5.1379  #
  5.1380  # Misc devices
  5.1381 @@ -1804,6 +1947,10 @@ CONFIG_W1_SMEM=m
  5.1382  CONFIG_IBM_ASM=m
  5.1383  
  5.1384  #
  5.1385 +# Multimedia Capabilities Port drivers
  5.1386 +#
  5.1387 +
  5.1388 +#
  5.1389  # Multimedia devices
  5.1390  #
  5.1391  CONFIG_VIDEO_DEV=m
  5.1392 @@ -1816,6 +1963,7 @@ CONFIG_VIDEO_DEV=m
  5.1393  # Video Adapters
  5.1394  #
  5.1395  CONFIG_VIDEO_BT848=m
  5.1396 +CONFIG_VIDEO_SAA6588=m
  5.1397  CONFIG_VIDEO_BWQCAM=m
  5.1398  CONFIG_VIDEO_CQCAM=m
  5.1399  CONFIG_VIDEO_W9966=m
  5.1400 @@ -1869,11 +2017,20 @@ CONFIG_DVB_BUDGET_PATCH=m
  5.1401  #
  5.1402  # Supported USB Adapters
  5.1403  #
  5.1404 +CONFIG_DVB_USB=m
  5.1405 +# CONFIG_DVB_USB_DEBUG is not set
  5.1406 +CONFIG_DVB_USB_A800=m
  5.1407 +CONFIG_DVB_USB_DIBUSB_MB=m
  5.1408 +CONFIG_DVB_USB_DIBUSB_MC=m
  5.1409 +CONFIG_DVB_USB_UMT_010=m
  5.1410 +CONFIG_DVB_USB_CXUSB=m
  5.1411 +CONFIG_DVB_USB_DIGITV=m
  5.1412 +CONFIG_DVB_USB_VP7045=m
  5.1413 +CONFIG_DVB_USB_VP702X=m
  5.1414 +CONFIG_DVB_USB_NOVA_T_USB2=m
  5.1415 +CONFIG_DVB_USB_DTT200U=m
  5.1416  CONFIG_DVB_TTUSB_BUDGET=m
  5.1417  CONFIG_DVB_TTUSB_DEC=m
  5.1418 -CONFIG_DVB_DIBUSB=m
  5.1419 -CONFIG_DVB_DIBUSB_MISDESIGNED_DEVICES=y
  5.1420 -# CONFIG_DVB_DIBCOM_DEBUG is not set
  5.1421  CONFIG_DVB_CINERGYT2=m
  5.1422  # CONFIG_DVB_CINERGYT2_TUNING is not set
  5.1423  
  5.1424 @@ -1884,7 +2041,6 @@ CONFIG_DVB_B2C2_FLEXCOP=m
  5.1425  CONFIG_DVB_B2C2_FLEXCOP_PCI=m
  5.1426  CONFIG_DVB_B2C2_FLEXCOP_USB=m
  5.1427  # CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set
  5.1428 -CONFIG_DVB_B2C2_SKYSTAR=m
  5.1429  
  5.1430  #
  5.1431  # Supported BT878 Adapters
  5.1432 @@ -1892,6 +2048,11 @@ CONFIG_DVB_B2C2_SKYSTAR=m
  5.1433  CONFIG_DVB_BT8XX=m
  5.1434  
  5.1435  #
  5.1436 +# Supported Pluto2 Adapters
  5.1437 +#
  5.1438 +CONFIG_DVB_PLUTO2=m
  5.1439 +
  5.1440 +#
  5.1441  # Supported DVB Frontends
  5.1442  #
  5.1443  
  5.1444 @@ -1908,6 +2069,7 @@ CONFIG_DVB_TDA8083=m
  5.1445  CONFIG_DVB_TDA80XX=m
  5.1446  CONFIG_DVB_MT312=m
  5.1447  CONFIG_DVB_VES1X93=m
  5.1448 +CONFIG_DVB_S5H1420=m
  5.1449  
  5.1450  #
  5.1451  # DVB-T (terrestrial) frontends
  5.1452 @@ -1937,6 +2099,8 @@ CONFIG_DVB_STV0297=m
  5.1453  CONFIG_DVB_NXT2002=m
  5.1454  CONFIG_DVB_OR51211=m
  5.1455  CONFIG_DVB_OR51132=m
  5.1456 +CONFIG_DVB_BCM3510=m
  5.1457 +CONFIG_DVB_LGDT330X=m
  5.1458  CONFIG_VIDEO_SAA7146=m
  5.1459  CONFIG_VIDEO_SAA7146_VV=m
  5.1460  CONFIG_VIDEO_VIDEOBUF=m
  5.1461 @@ -1961,6 +2125,7 @@ CONFIG_FB_CIRRUS=m
  5.1462  CONFIG_FB_PM2=m
  5.1463  CONFIG_FB_PM2_FIFO_DISCONNECT=y
  5.1464  CONFIG_FB_CYBER2000=m
  5.1465 +CONFIG_FB_ARC=m
  5.1466  # CONFIG_FB_ASILIANT is not set
  5.1467  # CONFIG_FB_IMSTT is not set
  5.1468  CONFIG_FB_VGA16=m
  5.1469 @@ -2004,6 +2169,7 @@ CONFIG_FB_KYRO=m
  5.1470  CONFIG_FB_3DFX=m
  5.1471  # CONFIG_FB_3DFX_ACCEL is not set
  5.1472  CONFIG_FB_VOODOO1=m
  5.1473 +CONFIG_FB_CYBLA=m
  5.1474  CONFIG_FB_TRIDENT=m
  5.1475  # CONFIG_FB_TRIDENT_ACCEL is not set
  5.1476  # CONFIG_FB_PM3 is not set
  5.1477 @@ -2048,8 +2214,10 @@ CONFIG_SND_MIXER_OSS=m
  5.1478  CONFIG_SND_PCM_OSS=m
  5.1479  CONFIG_SND_SEQUENCER_OSS=y
  5.1480  CONFIG_SND_RTCTIMER=m
  5.1481 +CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y
  5.1482  # CONFIG_SND_VERBOSE_PRINTK is not set
  5.1483  # CONFIG_SND_DEBUG is not set
  5.1484 +CONFIG_SND_GENERIC_DRIVER=y
  5.1485  
  5.1486  #
  5.1487  # Generic devices
  5.1488 @@ -2062,11 +2230,12 @@ CONFIG_SND_VIRMIDI=m
  5.1489  CONFIG_SND_MTPAV=m
  5.1490  CONFIG_SND_SERIAL_U16550=m
  5.1491  CONFIG_SND_MPU401=m
  5.1492 +CONFIG_SND_AC97_CODEC=m
  5.1493 +CONFIG_SND_AC97_BUS=m
  5.1494  
  5.1495  #
  5.1496  # PCI devices
  5.1497  #
  5.1498 -CONFIG_SND_AC97_CODEC=m
  5.1499  CONFIG_SND_ALI5451=m
  5.1500  CONFIG_SND_ATIIXP=m
  5.1501  CONFIG_SND_ATIIXP_MODEM=m
  5.1502 @@ -2089,9 +2258,10 @@ CONFIG_SND_RME32=m
  5.1503  CONFIG_SND_RME96=m
  5.1504  CONFIG_SND_RME9652=m
  5.1505  CONFIG_SND_HDSP=m
  5.1506 +CONFIG_SND_HDSPM=m
  5.1507  CONFIG_SND_TRIDENT=m
  5.1508  CONFIG_SND_YMFPCI=m
  5.1509 -CONFIG_SND_ALS4000=m
  5.1510 +CONFIG_SND_AD1889=m
  5.1511  CONFIG_SND_CMIPCI=m
  5.1512  CONFIG_SND_ENS1370=m
  5.1513  CONFIG_SND_ENS1371=m
  5.1514 @@ -2130,7 +2300,6 @@ CONFIG_SOUND_CMPCI=m
  5.1515  # CONFIG_SOUND_CMPCI_MIDI is not set
  5.1516  CONFIG_SOUND_CMPCI_JOYSTICK=y
  5.1517  CONFIG_SOUND_EMU10K1=m
  5.1518 -CONFIG_MIDI_EMU10K1=y
  5.1519  CONFIG_SOUND_FUSION=m
  5.1520  CONFIG_SOUND_CS4281=m
  5.1521  CONFIG_SOUND_ES1370=m
  5.1522 @@ -2144,50 +2313,7 @@ CONFIG_SOUND_TRIDENT=m
  5.1523  # CONFIG_SOUND_MSNDCLAS is not set
  5.1524  # CONFIG_SOUND_MSNDPIN is not set
  5.1525  CONFIG_SOUND_VIA82CXXX=m
  5.1526 -CONFIG_MIDI_VIA82CXXX=y
  5.1527 -CONFIG_SOUND_OSS=m
  5.1528 -# CONFIG_SOUND_TRACEINIT is not set
  5.1529 -# CONFIG_SOUND_DMAP is not set
  5.1530 -# CONFIG_SOUND_AD1816 is not set
  5.1531 -CONFIG_SOUND_AD1889=m
  5.1532 -CONFIG_SOUND_SGALAXY=m
  5.1533 -CONFIG_SOUND_ADLIB=m
  5.1534 -CONFIG_SOUND_ACI_MIXER=m
  5.1535 -CONFIG_SOUND_CS4232=m
  5.1536 -CONFIG_SOUND_SSCAPE=m
  5.1537 -CONFIG_SOUND_GUS=m
  5.1538 -CONFIG_SOUND_GUS16=y
  5.1539 -CONFIG_SOUND_GUSMAX=y
  5.1540 -CONFIG_SOUND_VMIDI=m
  5.1541 -CONFIG_SOUND_TRIX=m
  5.1542 -CONFIG_SOUND_MSS=m
  5.1543 -CONFIG_SOUND_MPU401=m
  5.1544 -CONFIG_SOUND_NM256=m
  5.1545 -CONFIG_SOUND_MAD16=m
  5.1546 -CONFIG_MAD16_OLDCARD=y
  5.1547 -CONFIG_SOUND_PAS=m
  5.1548 -CONFIG_SOUND_PSS=m
  5.1549 -CONFIG_PSS_MIXER=y
  5.1550 -CONFIG_SOUND_SB=m
  5.1551 -# CONFIG_SOUND_AWE32_SYNTH is not set
  5.1552 -CONFIG_SOUND_WAVEFRONT=m
  5.1553 -CONFIG_SOUND_MAUI=m
  5.1554 -CONFIG_SOUND_YM3812=m
  5.1555 -CONFIG_SOUND_OPL3SA1=m
  5.1556 -CONFIG_SOUND_OPL3SA2=m
  5.1557 -CONFIG_SOUND_YMFPCI=m
  5.1558 -# CONFIG_SOUND_YMFPCI_LEGACY is not set
  5.1559 -CONFIG_SOUND_UART6850=m
  5.1560 -CONFIG_SOUND_AEDSP16=m
  5.1561 -CONFIG_SC6600=y
  5.1562 -CONFIG_SC6600_JOY=y
  5.1563 -CONFIG_SC6600_CDROM=4
  5.1564 -CONFIG_SC6600_CDROMBASE=0x0
  5.1565 -# CONFIG_AEDSP16_MSS is not set
  5.1566 -# CONFIG_AEDSP16_SBPRO is not set
  5.1567 -# CONFIG_AEDSP16_MPU401 is not set
  5.1568  CONFIG_SOUND_TVMIXER=m
  5.1569 -CONFIG_SOUND_KAHLUA=m
  5.1570  CONFIG_SOUND_ALI5455=m
  5.1571  CONFIG_SOUND_FORTE=m
  5.1572  CONFIG_SOUND_RME96XX=m
  5.1573 @@ -2207,6 +2333,7 @@ CONFIG_USB=y
  5.1574  CONFIG_USB_DEVICEFS=y
  5.1575  CONFIG_USB_BANDWIDTH=y
  5.1576  # CONFIG_USB_DYNAMIC_MINORS is not set
  5.1577 +# CONFIG_USB_SUSPEND is not set
  5.1578  # CONFIG_USB_OTG is not set
  5.1579  
  5.1580  #
  5.1581 @@ -2215,6 +2342,7 @@ CONFIG_USB_BANDWIDTH=y
  5.1582  CONFIG_USB_EHCI_HCD=y
  5.1583  CONFIG_USB_EHCI_SPLIT_ISO=y
  5.1584  CONFIG_USB_EHCI_ROOT_HUB_TT=y
  5.1585 +CONFIG_USB_ISP116X_HCD=m
  5.1586  CONFIG_USB_OHCI_HCD=m
  5.1587  # CONFIG_USB_OHCI_BIG_ENDIAN is not set
  5.1588  CONFIG_USB_OHCI_LITTLE_ENDIAN=y
  5.1589 @@ -2225,12 +2353,11 @@ CONFIG_USB_SL811_CS=m
  5.1590  #
  5.1591  # USB Device Class drivers
  5.1592  #
  5.1593 -CONFIG_USB_AUDIO=m
  5.1594 +# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set
  5.1595  
  5.1596  #
  5.1597  # USB Bluetooth TTY can only be used with disabled Bluetooth subsystem
  5.1598  #
  5.1599 -CONFIG_USB_MIDI=m
  5.1600  CONFIG_USB_ACM=m
  5.1601  CONFIG_USB_PRINTER=m
  5.1602  
  5.1603 @@ -2247,6 +2374,7 @@ CONFIG_USB_STORAGE_USBAT=y
  5.1604  CONFIG_USB_STORAGE_SDDR09=y
  5.1605  CONFIG_USB_STORAGE_SDDR55=y
  5.1606  CONFIG_USB_STORAGE_JUMPSHOT=y
  5.1607 +CONFIG_USB_STORAGE_ONETOUCH=y
  5.1608  
  5.1609  #
  5.1610  # USB Input Devices
  5.1611 @@ -2263,12 +2391,17 @@ CONFIG_USB_KBD=m
  5.1612  CONFIG_USB_MOUSE=m
  5.1613  CONFIG_USB_AIPTEK=m
  5.1614  CONFIG_USB_WACOM=m
  5.1615 +CONFIG_USB_ACECAD=m
  5.1616  CONFIG_USB_KBTAB=m
  5.1617  CONFIG_USB_POWERMATE=m
  5.1618  CONFIG_USB_MTOUCH=m
  5.1619 +CONFIG_USB_ITMTOUCH=m
  5.1620  CONFIG_USB_EGALAX=m
  5.1621 +CONFIG_USB_YEALINK=m
  5.1622  CONFIG_USB_XPAD=m
  5.1623  CONFIG_USB_ATI_REMOTE=m
  5.1624 +CONFIG_USB_KEYSPAN_REMOTE=m
  5.1625 +CONFIG_USB_APPLETOUCH=m
  5.1626  
  5.1627  #
  5.1628  # USB Imaging devices
  5.1629 @@ -2299,32 +2432,21 @@ CONFIG_USB_KAWETH=m
  5.1630  CONFIG_USB_PEGASUS=m
  5.1631  CONFIG_USB_RTL8150=m
  5.1632  CONFIG_USB_USBNET=m
  5.1633 -
  5.1634 -#
  5.1635 -# USB Host-to-Host Cables
  5.1636 -#
  5.1637 +CONFIG_USB_NET_AX8817X=m
  5.1638 +CONFIG_USB_NET_CDCETHER=m
  5.1639 +CONFIG_USB_NET_GL620A=m
  5.1640 +CONFIG_USB_NET_NET1080=m
  5.1641 +CONFIG_USB_NET_PLUSB=m
  5.1642 +CONFIG_USB_NET_RNDIS_HOST=m
  5.1643 +CONFIG_USB_NET_CDC_SUBSET=m
  5.1644  CONFIG_USB_ALI_M5632=y
  5.1645  CONFIG_USB_AN2720=y
  5.1646  CONFIG_USB_BELKIN=y
  5.1647 -CONFIG_USB_GENESYS=y
  5.1648 -CONFIG_USB_NET1080=y
  5.1649 -CONFIG_USB_PL2301=y
  5.1650 -CONFIG_USB_KC2190=y
  5.1651 -
  5.1652 -#
  5.1653 -# Intelligent USB Devices/Gadgets
  5.1654 -#
  5.1655  CONFIG_USB_ARMLINUX=y
  5.1656 -CONFIG_USB_EPSON2888=y
  5.1657 -CONFIG_USB_ZAURUS=y
  5.1658 -CONFIG_USB_CDCETHER=y
  5.1659 -
  5.1660 -#
  5.1661 -# USB Network Adapters
  5.1662 -#
  5.1663 -CONFIG_USB_AX8817X=y
  5.1664 +# CONFIG_USB_EPSON2888 is not set
  5.1665 +CONFIG_USB_NET_ZAURUS=m
  5.1666  CONFIG_USB_ZD1201=m
  5.1667 -CONFIG_USB_MON=m
  5.1668 +CONFIG_USB_MON=y
  5.1669  
  5.1670  #
  5.1671  # USB port drivers
  5.1672 @@ -2394,19 +2516,24 @@ CONFIG_USB_PHIDGETKIT=m
  5.1673  CONFIG_USB_PHIDGETSERVO=m
  5.1674  # CONFIG_USB_IDMOUSE is not set
  5.1675  CONFIG_USB_SISUSBVGA=m
  5.1676 +# CONFIG_USB_SISUSBVGA_CON is not set
  5.1677 +CONFIG_USB_LD=m
  5.1678  CONFIG_USB_TEST=m
  5.1679  
  5.1680  #
  5.1681 -# USB ATM/DSL drivers
  5.1682 +# USB DSL modem support
  5.1683  #
  5.1684  CONFIG_USB_ATM=m
  5.1685  CONFIG_USB_SPEEDTOUCH=m
  5.1686 +CONFIG_USB_CXACRU=m
  5.1687 +CONFIG_USB_XUSBATM=m
  5.1688  
  5.1689  #
  5.1690  # USB Gadget Support
  5.1691  #
  5.1692  CONFIG_USB_GADGET=m
  5.1693  # CONFIG_USB_GADGET_DEBUG_FILES is not set
  5.1694 +CONFIG_USB_GADGET_SELECTED=y
  5.1695  CONFIG_USB_GADGET_NET2280=y
  5.1696  CONFIG_USB_NET2280=m
  5.1697  # CONFIG_USB_GADGET_PXA2XX is not set
  5.1698 @@ -2434,12 +2561,18 @@ CONFIG_USB_G_SERIAL=m
  5.1699  # CONFIG_INFINIBAND is not set
  5.1700  
  5.1701  #
  5.1702 +# SN Devices
  5.1703 +#
  5.1704 +
  5.1705 +#
  5.1706  # File systems
  5.1707  #
  5.1708  CONFIG_EXT2_FS=y
  5.1709  CONFIG_EXT2_FS_XATTR=y
  5.1710  CONFIG_EXT2_FS_POSIX_ACL=y
  5.1711  CONFIG_EXT2_FS_SECURITY=y
  5.1712 +CONFIG_EXT2_FS_XIP=y
  5.1713 +CONFIG_FS_XIP=y
  5.1714  CONFIG_EXT3_FS=m
  5.1715  CONFIG_EXT3_FS_XATTR=y
  5.1716  CONFIG_EXT3_FS_POSIX_ACL=y
  5.1717 @@ -2457,18 +2590,15 @@ CONFIG_JFS_POSIX_ACL=y
  5.1718  # CONFIG_JFS_DEBUG is not set
  5.1719  CONFIG_JFS_STATISTICS=y
  5.1720  CONFIG_FS_POSIX_ACL=y
  5.1721 -
  5.1722 -#
  5.1723 -# XFS support
  5.1724 -#
  5.1725  CONFIG_XFS_FS=m
  5.1726  CONFIG_XFS_EXPORT=y
  5.1727 -CONFIG_XFS_RT=y
  5.1728 -CONFIG_XFS_QUOTA=y
  5.1729 +CONFIG_XFS_QUOTA=m
  5.1730  CONFIG_XFS_SECURITY=y
  5.1731  CONFIG_XFS_POSIX_ACL=y
  5.1732 +CONFIG_XFS_RT=y
  5.1733  CONFIG_MINIX_FS=m
  5.1734  CONFIG_ROMFS_FS=m
  5.1735 +CONFIG_INOTIFY=y
  5.1736  CONFIG_QUOTA=y
  5.1737  CONFIG_QFMT_V1=m
  5.1738  CONFIG_QFMT_V2=m
  5.1739 @@ -2476,6 +2606,7 @@ CONFIG_QUOTACTL=y
  5.1740  CONFIG_DNOTIFY=y
  5.1741  CONFIG_AUTOFS_FS=m
  5.1742  CONFIG_AUTOFS4_FS=m
  5.1743 +CONFIG_FUSE_FS=m
  5.1744  
  5.1745  #
  5.1746  # CD-ROM/DVD Filesystems
  5.1747 @@ -2505,14 +2636,10 @@ CONFIG_NTFS_FS=m
  5.1748  CONFIG_PROC_FS=y
  5.1749  CONFIG_PROC_KCORE=y
  5.1750  CONFIG_SYSFS=y
  5.1751 -# CONFIG_DEVFS_FS is not set
  5.1752 -CONFIG_DEVPTS_FS_XATTR=y
  5.1753 -CONFIG_DEVPTS_FS_SECURITY=y
  5.1754  CONFIG_TMPFS=y
  5.1755 -CONFIG_TMPFS_XATTR=y
  5.1756 -CONFIG_TMPFS_SECURITY=y
  5.1757  # CONFIG_HUGETLB_PAGE is not set
  5.1758  CONFIG_RAMFS=y
  5.1759 +CONFIG_RELAYFS_FS=m
  5.1760  
  5.1761  #
  5.1762  # Miscellaneous filesystems
  5.1763 @@ -2531,8 +2658,7 @@ CONFIG_JFFS_FS_VERBOSE=0
  5.1764  CONFIG_JFFS_PROC_FS=y
  5.1765  CONFIG_JFFS2_FS=m
  5.1766  CONFIG_JFFS2_FS_DEBUG=0
  5.1767 -# CONFIG_JFFS2_FS_NAND is not set
  5.1768 -# CONFIG_JFFS2_FS_NOR_ECC is not set
  5.1769 +CONFIG_JFFS2_FS_WRITEBUFFER=y
  5.1770  # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
  5.1771  CONFIG_JFFS2_ZLIB=y
  5.1772  CONFIG_JFFS2_RTIME=y
  5.1773 @@ -2551,15 +2677,18 @@ CONFIG_UFS_FS=m
  5.1774  #
  5.1775  CONFIG_NFS_FS=m
  5.1776  CONFIG_NFS_V3=y
  5.1777 +# CONFIG_NFS_V3_ACL is not set
  5.1778  CONFIG_NFS_V4=y
  5.1779  CONFIG_NFS_DIRECTIO=y
  5.1780  CONFIG_NFSD=m
  5.1781  CONFIG_NFSD_V3=y
  5.1782 +# CONFIG_NFSD_V3_ACL is not set
  5.1783  CONFIG_NFSD_V4=y
  5.1784  CONFIG_NFSD_TCP=y
  5.1785  CONFIG_LOCKD=m
  5.1786  CONFIG_LOCKD_V4=y
  5.1787  CONFIG_EXPORTFS=m
  5.1788 +CONFIG_NFS_COMMON=y
  5.1789  CONFIG_SUNRPC=m
  5.1790  CONFIG_SUNRPC_GSS=m
  5.1791  CONFIG_RPCSEC_GSS_KRB5=m
  5.1792 @@ -2583,6 +2712,7 @@ CONFIG_CODA_FS=m
  5.1793  # CONFIG_CODA_FS_OLD_API is not set
  5.1794  CONFIG_AFS_FS=m
  5.1795  CONFIG_RXRPC=m
  5.1796 +CONFIG_9P_FS=m
  5.1797  
  5.1798  #
  5.1799  # Partition Types
  5.1800 @@ -2662,6 +2792,7 @@ CONFIG_NLS_UTF8=m
  5.1801  CONFIG_DEBUG_KERNEL=y
  5.1802  CONFIG_MAGIC_SYSRQ=y
  5.1803  CONFIG_LOG_BUF_SHIFT=14
  5.1804 +CONFIG_DETECT_SOFTLOCKUP=y
  5.1805  # CONFIG_SCHEDSTATS is not set
  5.1806  # CONFIG_DEBUG_SLAB is not set
  5.1807  # CONFIG_DEBUG_SPINLOCK is not set
  5.1808 @@ -2716,6 +2847,7 @@ CONFIG_CRYPTO_DES=m
  5.1809  CONFIG_CRYPTO_BLOWFISH=m
  5.1810  CONFIG_CRYPTO_TWOFISH=m
  5.1811  CONFIG_CRYPTO_SERPENT=m
  5.1812 +CONFIG_CRYPTO_AES=m
  5.1813  CONFIG_CRYPTO_AES_586=m
  5.1814  CONFIG_CRYPTO_CAST5=m
  5.1815  CONFIG_CRYPTO_CAST6=m
  5.1816 @@ -2760,14 +2892,20 @@ CONFIG_HAVE_ARCH_DEV_ALLOC_SKB=y
  5.1817  # Library routines
  5.1818  #
  5.1819  CONFIG_CRC_CCITT=m
  5.1820 +CONFIG_CRC16=m
  5.1821  CONFIG_CRC32=y
  5.1822  CONFIG_LIBCRC32C=m
  5.1823  CONFIG_ZLIB_INFLATE=y
  5.1824  CONFIG_ZLIB_DEFLATE=m
  5.1825  CONFIG_REED_SOLOMON=m
  5.1826  CONFIG_REED_SOLOMON_DEC16=y
  5.1827 +CONFIG_TEXTSEARCH=y
  5.1828 +CONFIG_TEXTSEARCH_KMP=m
  5.1829 +CONFIG_TEXTSEARCH_BM=m
  5.1830 +CONFIG_TEXTSEARCH_FSM=m
  5.1831  CONFIG_GENERIC_HARDIRQS=y
  5.1832  CONFIG_GENERIC_IRQ_PROBE=y
  5.1833 +CONFIG_GENERIC_PENDING_IRQ=y
  5.1834  CONFIG_X86_SMP=y
  5.1835  CONFIG_X86_BIOS_REBOOT=y
  5.1836  CONFIG_X86_TRAMPOLINE=y
     6.1 --- a/buildconfigs/linux-defconfig_xen_x86_64	Tue Jan 31 19:55:55 2006 +0100
     6.2 +++ b/buildconfigs/linux-defconfig_xen_x86_64	Tue Jan 31 19:55:22 2006 +0000
     6.3 @@ -1,11 +1,12 @@
     6.4  #
     6.5  # Automatically generated make config: don't edit
     6.6 -# Linux kernel version: 2.6.12.6-xen
     6.7 -# Wed Jan 25 17:29:17 2006
     6.8 +# Linux kernel version: 2.6.14-xen
     6.9 +# Tue Jan 31 17:30:31 2006
    6.10  #
    6.11  CONFIG_X86_64=y
    6.12  CONFIG_64BIT=y
    6.13  CONFIG_X86=y
    6.14 +CONFIG_SEMAPHORE_SLEEPERS=y
    6.15  CONFIG_MMU=y
    6.16  CONFIG_RWSEM_GENERIC_SPINLOCK=y
    6.17  CONFIG_GENERIC_CALIBRATE_DELAY=y
    6.18 @@ -13,6 +14,7 @@ CONFIG_X86_CMPXCHG=y
    6.19  CONFIG_EARLY_PRINTK=y
    6.20  CONFIG_GENERIC_ISA_DMA=y
    6.21  CONFIG_GENERIC_IOMAP=y
    6.22 +CONFIG_ARCH_MAY_HAVE_PC_FDC=y
    6.23  
    6.24  #
    6.25  # Code maturity level options
    6.26 @@ -28,6 +30,7 @@ CONFIG_INIT_ENV_ARG_LIMIT=32
    6.27  # General setup
    6.28  #
    6.29  CONFIG_LOCALVERSION=""
    6.30 +# CONFIG_LOCALVERSION_AUTO is not set
    6.31  CONFIG_SWAP=y
    6.32  CONFIG_SYSVIPC=y
    6.33  # CONFIG_POSIX_MQUEUE is not set
    6.34 @@ -38,6 +41,7 @@ CONFIG_HOTPLUG=y
    6.35  CONFIG_KOBJECT_UEVENT=y
    6.36  # CONFIG_IKCONFIG is not set
    6.37  # CONFIG_CPUSETS is not set
    6.38 +CONFIG_INITRAMFS_SOURCE=""
    6.39  # CONFIG_EMBEDDED is not set
    6.40  CONFIG_KALLSYMS=y
    6.41  # CONFIG_KALLSYMS_ALL is not set
    6.42 @@ -84,44 +88,62 @@ CONFIG_X86_IO_APIC=y
    6.43  CONFIG_X86_XEN_GENAPIC=y
    6.44  CONFIG_X86_LOCAL_APIC=y
    6.45  CONFIG_SMP=y
    6.46 +CONFIG_PREEMPT_NONE=y
    6.47 +# CONFIG_PREEMPT_VOLUNTARY is not set
    6.48 +# CONFIG_PREEMPT is not set
    6.49 +CONFIG_PREEMPT_BKL=y
    6.50  # CONFIG_NUMA is not set
    6.51 -CONFIG_HAVE_DEC_LOCK=y
    6.52 +CONFIG_ARCH_FLATMEM_ENABLE=y
    6.53 +CONFIG_SELECT_MEMORY_MODEL=y
    6.54 +CONFIG_FLATMEM_MANUAL=y
    6.55 +# CONFIG_DISCONTIGMEM_MANUAL is not set
    6.56 +# CONFIG_SPARSEMEM_MANUAL is not set
    6.57 +CONFIG_FLATMEM=y
    6.58 +CONFIG_FLAT_NODE_MEM_MAP=y
    6.59 +# CONFIG_SPARSEMEM_STATIC is not set
    6.60 +CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y
    6.61  CONFIG_NR_CPUS=8
    6.62 +CONFIG_HOTPLUG_CPU=y
    6.63  CONFIG_SWIOTLB=y
    6.64  CONFIG_DUMMY_IOMMU=y
    6.65 +CONFIG_PHYSICAL_START=0x100000
    6.66  CONFIG_SECCOMP=y
    6.67 +# CONFIG_HZ_100 is not set
    6.68 +CONFIG_HZ_250=y
    6.69 +# CONFIG_HZ_1000 is not set
    6.70 +CONFIG_HZ=250
    6.71  CONFIG_GENERIC_HARDIRQS=y
    6.72  CONFIG_GENERIC_IRQ_PROBE=y
    6.73  CONFIG_ISA_DMA_API=y
    6.74 +CONFIG_GENERIC_PENDING_IRQ=y
    6.75  
    6.76  #
    6.77  # Power management options
    6.78  #
    6.79 +CONFIG_PM=y
    6.80  
    6.81  #
    6.82  # ACPI (Advanced Configuration and Power Interface) Support
    6.83  #
    6.84  CONFIG_ACPI=y
    6.85 -CONFIG_ACPI_BOOT=y
    6.86 -CONFIG_ACPI_INTERPRETER=y
    6.87  CONFIG_ACPI_AC=m
    6.88  CONFIG_ACPI_BATTERY=m
    6.89  CONFIG_ACPI_BUTTON=m
    6.90  CONFIG_ACPI_VIDEO=m
    6.91 +CONFIG_ACPI_HOTKEY=m
    6.92  CONFIG_ACPI_FAN=m
    6.93  CONFIG_ACPI_PROCESSOR=m
    6.94 +CONFIG_ACPI_HOTPLUG_CPU=y
    6.95  CONFIG_ACPI_THERMAL=m
    6.96  CONFIG_ACPI_ASUS=m
    6.97  CONFIG_ACPI_IBM=m
    6.98  CONFIG_ACPI_TOSHIBA=m
    6.99  CONFIG_ACPI_BLACKLIST_YEAR=0
   6.100  # CONFIG_ACPI_DEBUG is not set
   6.101 -CONFIG_ACPI_BUS=y
   6.102  CONFIG_ACPI_EC=y
   6.103  CONFIG_ACPI_POWER=y
   6.104 -CONFIG_ACPI_PCI=y
   6.105  CONFIG_ACPI_SYSTEM=y
   6.106 -# CONFIG_ACPI_CONTAINER is not set
   6.107 +CONFIG_ACPI_CONTAINER=m
   6.108  
   6.109  #
   6.110  # Bus options (PCI etc.)
   6.111 @@ -143,6 +165,424 @@ CONFIG_SYSVIPC_COMPAT=y
   6.112  CONFIG_UID16=y
   6.113  
   6.114  #
   6.115 +# Networking
   6.116 +#
   6.117 +CONFIG_NET=y
   6.118 +
   6.119 +#
   6.120 +# Networking options
   6.121 +#
   6.122 +CONFIG_PACKET=y
   6.123 +CONFIG_PACKET_MMAP=y
   6.124 +CONFIG_UNIX=y
   6.125 +CONFIG_XFRM=y
   6.126 +CONFIG_XFRM_USER=y
   6.127 +CONFIG_NET_KEY=m
   6.128 +CONFIG_INET=y
   6.129 +CONFIG_IP_MULTICAST=y
   6.130 +CONFIG_IP_ADVANCED_ROUTER=y
   6.131 +CONFIG_ASK_IP_FIB_HASH=y
   6.132 +# CONFIG_IP_FIB_TRIE is not set
   6.133 +CONFIG_IP_FIB_HASH=y
   6.134 +CONFIG_IP_MULTIPLE_TABLES=y
   6.135 +CONFIG_IP_ROUTE_FWMARK=y
   6.136 +CONFIG_IP_ROUTE_MULTIPATH=y
   6.137 +# CONFIG_IP_ROUTE_MULTIPATH_CACHED is not set
   6.138 +CONFIG_IP_ROUTE_VERBOSE=y
   6.139 +# CONFIG_IP_PNP is not set
   6.140 +CONFIG_NET_IPIP=m
   6.141 +CONFIG_NET_IPGRE=m
   6.142 +CONFIG_NET_IPGRE_BROADCAST=y
   6.143 +CONFIG_IP_MROUTE=y
   6.144 +CONFIG_IP_PIMSM_V1=y
   6.145 +CONFIG_IP_PIMSM_V2=y
   6.146 +# CONFIG_ARPD is not set
   6.147 +CONFIG_SYN_COOKIES=y
   6.148 +CONFIG_INET_AH=m
   6.149 +CONFIG_INET_ESP=m
   6.150 +CONFIG_INET_IPCOMP=m
   6.151 +CONFIG_INET_TUNNEL=m
   6.152 +CONFIG_INET_DIAG=m
   6.153 +CONFIG_INET_TCP_DIAG=m
   6.154 +CONFIG_TCP_CONG_ADVANCED=y
   6.155 +
   6.156 +#
   6.157 +# TCP congestion control
   6.158 +#
   6.159 +CONFIG_TCP_CONG_BIC=m
   6.160 +CONFIG_TCP_CONG_WESTWOOD=m
   6.161 +CONFIG_TCP_CONG_HTCP=m
   6.162 +CONFIG_TCP_CONG_HSTCP=m
   6.163 +CONFIG_TCP_CONG_HYBLA=m
   6.164 +CONFIG_TCP_CONG_VEGAS=m
   6.165 +CONFIG_TCP_CONG_SCALABLE=m
   6.166 +
   6.167 +#
   6.168 +# IP: Virtual Server Configuration
   6.169 +#
   6.170 +CONFIG_IP_VS=m
   6.171 +# CONFIG_IP_VS_DEBUG is not set
   6.172 +CONFIG_IP_VS_TAB_BITS=12
   6.173 +
   6.174 +#
   6.175 +# IPVS transport protocol load balancing support
   6.176 +#
   6.177 +CONFIG_IP_VS_PROTO_TCP=y
   6.178 +CONFIG_IP_VS_PROTO_UDP=y
   6.179 +CONFIG_IP_VS_PROTO_ESP=y
   6.180 +CONFIG_IP_VS_PROTO_AH=y
   6.181 +
   6.182 +#
   6.183 +# IPVS scheduler
   6.184 +#
   6.185 +CONFIG_IP_VS_RR=m
   6.186 +CONFIG_IP_VS_WRR=m
   6.187 +CONFIG_IP_VS_LC=m
   6.188 +CONFIG_IP_VS_WLC=m
   6.189 +CONFIG_IP_VS_LBLC=m
   6.190 +CONFIG_IP_VS_LBLCR=m
   6.191 +CONFIG_IP_VS_DH=m
   6.192 +CONFIG_IP_VS_SH=m
   6.193 +CONFIG_IP_VS_SED=m
   6.194 +CONFIG_IP_VS_NQ=m
   6.195 +
   6.196 +#
   6.197 +# IPVS application helper
   6.198 +#
   6.199 +CONFIG_IP_VS_FTP=m
   6.200 +CONFIG_IPV6=m
   6.201 +CONFIG_IPV6_PRIVACY=y
   6.202 +CONFIG_INET6_AH=m
   6.203 +CONFIG_INET6_ESP=m
   6.204 +CONFIG_INET6_IPCOMP=m
   6.205 +CONFIG_INET6_TUNNEL=m
   6.206 +CONFIG_IPV6_TUNNEL=m
   6.207 +CONFIG_NETFILTER=y
   6.208 +# CONFIG_NETFILTER_DEBUG is not set
   6.209 +CONFIG_BRIDGE_NETFILTER=y
   6.210 +CONFIG_NETFILTER_NETLINK=m
   6.211 +CONFIG_NETFILTER_NETLINK_QUEUE=m
   6.212 +CONFIG_NETFILTER_NETLINK_LOG=m
   6.213 +
   6.214 +#
   6.215 +# IP: Netfilter Configuration
   6.216 +#
   6.217 +CONFIG_IP_NF_CONNTRACK=m
   6.218 +CONFIG_IP_NF_CT_ACCT=y
   6.219 +CONFIG_IP_NF_CONNTRACK_MARK=y
   6.220 +CONFIG_IP_NF_CONNTRACK_EVENTS=y
   6.221 +CONFIG_IP_NF_CONNTRACK_NETLINK=m
   6.222 +CONFIG_IP_NF_CT_PROTO_SCTP=m
   6.223 +CONFIG_IP_NF_FTP=m
   6.224 +CONFIG_IP_NF_IRC=m
   6.225 +CONFIG_IP_NF_NETBIOS_NS=m
   6.226 +CONFIG_IP_NF_TFTP=m
   6.227 +CONFIG_IP_NF_AMANDA=m
   6.228 +CONFIG_IP_NF_PPTP=m
   6.229 +CONFIG_IP_NF_QUEUE=m
   6.230 +CONFIG_IP_NF_IPTABLES=m
   6.231 +CONFIG_IP_NF_MATCH_LIMIT=m
   6.232 +CONFIG_IP_NF_MATCH_IPRANGE=m
   6.233 +CONFIG_IP_NF_MATCH_MAC=m
   6.234 +CONFIG_IP_NF_MATCH_PKTTYPE=m
   6.235 +CONFIG_IP_NF_MATCH_MARK=m
   6.236 +CONFIG_IP_NF_MATCH_MULTIPORT=m
   6.237 +CONFIG_IP_NF_MATCH_TOS=m
   6.238 +CONFIG_IP_NF_MATCH_RECENT=m
   6.239 +CONFIG_IP_NF_MATCH_ECN=m
   6.240 +CONFIG_IP_NF_MATCH_DSCP=m
   6.241 +CONFIG_IP_NF_MATCH_AH_ESP=m
   6.242 +CONFIG_IP_NF_MATCH_LENGTH=m
   6.243 +CONFIG_IP_NF_MATCH_TTL=m
   6.244 +CONFIG_IP_NF_MATCH_TCPMSS=m
   6.245 +CONFIG_IP_NF_MATCH_HELPER=m
   6.246 +CONFIG_IP_NF_MATCH_STATE=m
   6.247 +CONFIG_IP_NF_MATCH_CONNTRACK=m
   6.248 +CONFIG_IP_NF_MATCH_OWNER=m
   6.249 +CONFIG_IP_NF_MATCH_PHYSDEV=m
   6.250 +CONFIG_IP_NF_MATCH_ADDRTYPE=m
   6.251 +CONFIG_IP_NF_MATCH_REALM=m
   6.252 +CONFIG_IP_NF_MATCH_SCTP=m
   6.253 +CONFIG_IP_NF_MATCH_DCCP=m
   6.254 +CONFIG_IP_NF_MATCH_COMMENT=m
   6.255 +CONFIG_IP_NF_MATCH_CONNMARK=m
   6.256 +CONFIG_IP_NF_MATCH_CONNBYTES=m
   6.257 +CONFIG_IP_NF_MATCH_HASHLIMIT=m
   6.258 +CONFIG_IP_NF_MATCH_STRING=m
   6.259 +CONFIG_IP_NF_FILTER=m
   6.260 +CONFIG_IP_NF_TARGET_REJECT=m
   6.261 +CONFIG_IP_NF_TARGET_LOG=m
   6.262 +CONFIG_IP_NF_TARGET_ULOG=m
   6.263 +CONFIG_IP_NF_TARGET_TCPMSS=m
   6.264 +CONFIG_IP_NF_TARGET_NFQUEUE=m
   6.265 +CONFIG_IP_NF_NAT=m
   6.266 +CONFIG_IP_NF_NAT_NEEDED=y
   6.267 +CONFIG_IP_NF_TARGET_MASQUERADE=m
   6.268 +CONFIG_IP_NF_TARGET_REDIRECT=m
   6.269 +CONFIG_IP_NF_TARGET_NETMAP=m
   6.270 +CONFIG_IP_NF_TARGET_SAME=m
   6.271 +CONFIG_IP_NF_NAT_SNMP_BASIC=m
   6.272 +CONFIG_IP_NF_NAT_IRC=m
   6.273 +CONFIG_IP_NF_NAT_FTP=m
   6.274 +CONFIG_IP_NF_NAT_TFTP=m
   6.275 +CONFIG_IP_NF_NAT_AMANDA=m
   6.276 +CONFIG_IP_NF_NAT_PPTP=m
   6.277 +CONFIG_IP_NF_MANGLE=m
   6.278 +CONFIG_IP_NF_TARGET_TOS=m
   6.279 +CONFIG_IP_NF_TARGET_ECN=m
   6.280 +CONFIG_IP_NF_TARGET_DSCP=m
   6.281 +CONFIG_IP_NF_TARGET_MARK=m
   6.282 +CONFIG_IP_NF_TARGET_CLASSIFY=m
   6.283 +CONFIG_IP_NF_TARGET_TTL=m
   6.284 +CONFIG_IP_NF_TARGET_CONNMARK=m
   6.285 +CONFIG_IP_NF_TARGET_CLUSTERIP=m
   6.286 +CONFIG_IP_NF_RAW=m
   6.287 +CONFIG_IP_NF_TARGET_NOTRACK=m
   6.288 +CONFIG_IP_NF_ARPTABLES=m
   6.289 +CONFIG_IP_NF_ARPFILTER=m
   6.290 +CONFIG_IP_NF_ARP_MANGLE=m
   6.291 +
   6.292 +#
   6.293 +# IPv6: Netfilter Configuration (EXPERIMENTAL)
   6.294 +#
   6.295 +CONFIG_IP6_NF_QUEUE=m
   6.296 +CONFIG_IP6_NF_IPTABLES=m
   6.297 +CONFIG_IP6_NF_MATCH_LIMIT=m
   6.298 +CONFIG_IP6_NF_MATCH_MAC=m
   6.299 +CONFIG_IP6_NF_MATCH_RT=m
   6.300 +CONFIG_IP6_NF_MATCH_OPTS=m
   6.301 +CONFIG_IP6_NF_MATCH_FRAG=m
   6.302 +CONFIG_IP6_NF_MATCH_HL=m
   6.303 +CONFIG_IP6_NF_MATCH_MULTIPORT=m
   6.304 +CONFIG_IP6_NF_MATCH_OWNER=m
   6.305 +CONFIG_IP6_NF_MATCH_MARK=m
   6.306 +CONFIG_IP6_NF_MATCH_IPV6HEADER=m
   6.307 +CONFIG_IP6_NF_MATCH_AHESP=m
   6.308 +CONFIG_IP6_NF_MATCH_LENGTH=m
   6.309 +CONFIG_IP6_NF_MATCH_EUI64=m
   6.310 +CONFIG_IP6_NF_MATCH_PHYSDEV=m
   6.311 +CONFIG_IP6_NF_FILTER=m
   6.312 +CONFIG_IP6_NF_TARGET_LOG=m
   6.313 +CONFIG_IP6_NF_TARGET_REJECT=m
   6.314 +CONFIG_IP6_NF_TARGET_NFQUEUE=m
   6.315 +CONFIG_IP6_NF_MANGLE=m
   6.316 +CONFIG_IP6_NF_TARGET_MARK=m
   6.317 +CONFIG_IP6_NF_TARGET_HL=m
   6.318 +CONFIG_IP6_NF_RAW=m
   6.319 +
   6.320 +#
   6.321 +# Bridge: Netfilter Configuration
   6.322 +#
   6.323 +CONFIG_BRIDGE_NF_EBTABLES=m
   6.324 +CONFIG_BRIDGE_EBT_BROUTE=m
   6.325 +CONFIG_BRIDGE_EBT_T_FILTER=m
   6.326 +CONFIG_BRIDGE_EBT_T_NAT=m
   6.327 +CONFIG_BRIDGE_EBT_802_3=m
   6.328 +CONFIG_BRIDGE_EBT_AMONG=m
   6.329 +CONFIG_BRIDGE_EBT_ARP=m
   6.330 +CONFIG_BRIDGE_EBT_IP=m
   6.331 +CONFIG_BRIDGE_EBT_LIMIT=m
   6.332 +CONFIG_BRIDGE_EBT_MARK=m
   6.333 +CONFIG_BRIDGE_EBT_PKTTYPE=m
   6.334 +CONFIG_BRIDGE_EBT_STP=m
   6.335 +CONFIG_BRIDGE_EBT_VLAN=m
   6.336 +CONFIG_BRIDGE_EBT_ARPREPLY=m
   6.337 +CONFIG_BRIDGE_EBT_DNAT=m
   6.338 +CONFIG_BRIDGE_EBT_MARK_T=m
   6.339 +CONFIG_BRIDGE_EBT_REDIRECT=m
   6.340 +CONFIG_BRIDGE_EBT_SNAT=m
   6.341 +CONFIG_BRIDGE_EBT_LOG=m
   6.342 +CONFIG_BRIDGE_EBT_ULOG=m
   6.343 +
   6.344 +#
   6.345 +# DCCP Configuration (EXPERIMENTAL)
   6.346 +#
   6.347 +CONFIG_IP_DCCP=m
   6.348 +CONFIG_INET_DCCP_DIAG=m
   6.349 +
   6.350 +#
   6.351 +# DCCP CCIDs Configuration (EXPERIMENTAL)
   6.352 +#
   6.353 +CONFIG_IP_DCCP_CCID3=m
   6.354 +CONFIG_IP_DCCP_TFRC_LIB=m
   6.355 +
   6.356 +#
   6.357 +# DCCP Kernel Hacking
   6.358 +#
   6.359 +# CONFIG_IP_DCCP_DEBUG is not set
   6.360 +# CONFIG_IP_DCCP_UNLOAD_HACK is not set
   6.361 +
   6.362 +#
   6.363 +# SCTP Configuration (EXPERIMENTAL)
   6.364 +#
   6.365 +CONFIG_IP_SCTP=m
   6.366 +# CONFIG_SCTP_DBG_MSG is not set
   6.367 +# CONFIG_SCTP_DBG_OBJCNT is not set
   6.368 +# CONFIG_SCTP_HMAC_NONE is not set
   6.369 +# CONFIG_SCTP_HMAC_SHA1 is not set
   6.370 +CONFIG_SCTP_HMAC_MD5=y
   6.371 +CONFIG_ATM=m
   6.372 +CONFIG_ATM_CLIP=m
   6.373 +# CONFIG_ATM_CLIP_NO_ICMP is not set
   6.374 +CONFIG_ATM_LANE=m
   6.375 +# CONFIG_ATM_MPOA is not set
   6.376 +CONFIG_ATM_BR2684=m
   6.377 +# CONFIG_ATM_BR2684_IPFILTER is not set
   6.378 +CONFIG_BRIDGE=m
   6.379 +CONFIG_VLAN_8021Q=m
   6.380 +# CONFIG_DECNET is not set
   6.381 +CONFIG_LLC=y
   6.382 +# CONFIG_LLC2 is not set
   6.383 +CONFIG_IPX=m
   6.384 +# CONFIG_IPX_INTERN is not set
   6.385 +CONFIG_ATALK=m
   6.386 +CONFIG_DEV_APPLETALK=y
   6.387 +CONFIG_IPDDP=m
   6.388 +CONFIG_IPDDP_ENCAP=y
   6.389 +CONFIG_IPDDP_DECAP=y
   6.390 +# CONFIG_X25 is not set
   6.391 +# CONFIG_LAPB is not set
   6.392 +CONFIG_NET_DIVERT=y
   6.393 +# CONFIG_ECONET is not set
   6.394 +CONFIG_WAN_ROUTER=m
   6.395 +CONFIG_NET_SCHED=y
   6.396 +CONFIG_NET_SCH_CLK_JIFFIES=y
   6.397 +# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
   6.398 +# CONFIG_NET_SCH_CLK_CPU is not set
   6.399 +CONFIG_NET_SCH_CBQ=m
   6.400 +CONFIG_NET_SCH_HTB=m
   6.401 +CONFIG_NET_SCH_HFSC=m
   6.402 +CONFIG_NET_SCH_ATM=m
   6.403 +CONFIG_NET_SCH_PRIO=m
   6.404 +CONFIG_NET_SCH_RED=m
   6.405 +CONFIG_NET_SCH_SFQ=m
   6.406 +CONFIG_NET_SCH_TEQL=m
   6.407 +CONFIG_NET_SCH_TBF=m
   6.408 +CONFIG_NET_SCH_GRED=m
   6.409 +CONFIG_NET_SCH_DSMARK=m
   6.410 +CONFIG_NET_SCH_NETEM=m
   6.411 +CONFIG_NET_SCH_INGRESS=m
   6.412 +CONFIG_NET_QOS=y
   6.413 +CONFIG_NET_ESTIMATOR=y
   6.414 +CONFIG_NET_CLS=y
   6.415 +CONFIG_NET_CLS_BASIC=m
   6.416 +CONFIG_NET_CLS_TCINDEX=m
   6.417 +CONFIG_NET_CLS_ROUTE4=m
   6.418 +CONFIG_NET_CLS_ROUTE=y
   6.419 +CONFIG_NET_CLS_FW=m
   6.420 +CONFIG_NET_CLS_U32=m
   6.421 +CONFIG_CLS_U32_PERF=y
   6.422 +CONFIG_NET_CLS_IND=y
   6.423 +CONFIG_CLS_U32_MARK=y
   6.424 +CONFIG_NET_CLS_RSVP=m
   6.425 +CONFIG_NET_CLS_RSVP6=m
   6.426 +CONFIG_NET_EMATCH=y
   6.427 +CONFIG_NET_EMATCH_STACK=32
   6.428 +CONFIG_NET_EMATCH_CMP=m
   6.429 +CONFIG_NET_EMATCH_NBYTE=m
   6.430 +CONFIG_NET_EMATCH_U32=m
   6.431 +CONFIG_NET_EMATCH_META=m
   6.432 +CONFIG_NET_EMATCH_TEXT=m
   6.433 +# CONFIG_NET_CLS_ACT is not set
   6.434 +CONFIG_NET_CLS_POLICE=y
   6.435 +
   6.436 +#
   6.437 +# Network testing
   6.438 +#
   6.439 +# CONFIG_NET_PKTGEN is not set
   6.440 +# CONFIG_HAMRADIO is not set
   6.441 +CONFIG_IRDA=m
   6.442 +
   6.443 +#
   6.444 +# IrDA protocols
   6.445 +#
   6.446 +CONFIG_IRLAN=m
   6.447 +CONFIG_IRNET=m
   6.448 +CONFIG_IRCOMM=m
   6.449 +# CONFIG_IRDA_ULTRA is not set
   6.450 +
   6.451 +#
   6.452 +# IrDA options
   6.453 +#
   6.454 +CONFIG_IRDA_CACHE_LAST_LSAP=y
   6.455 +CONFIG_IRDA_FAST_RR=y
   6.456 +# CONFIG_IRDA_DEBUG is not set
   6.457 +
   6.458 +#
   6.459 +# Infrared-port device drivers
   6.460 +#
   6.461 +
   6.462 +#
   6.463 +# SIR device drivers
   6.464 +#
   6.465 +CONFIG_IRTTY_SIR=m
   6.466 +
   6.467 +#
   6.468 +# Dongle support
   6.469 +#
   6.470 +CONFIG_DONGLE=y
   6.471 +CONFIG_ESI_DONGLE=m
   6.472 +CONFIG_ACTISYS_DONGLE=m
   6.473 +CONFIG_TEKRAM_DONGLE=m
   6.474 +CONFIG_LITELINK_DONGLE=m
   6.475 +CONFIG_MA600_DONGLE=m
   6.476 +CONFIG_GIRBIL_DONGLE=m
   6.477 +CONFIG_MCP2120_DONGLE=m
   6.478 +CONFIG_OLD_BELKIN_DONGLE=m
   6.479 +CONFIG_ACT200L_DONGLE=m
   6.480 +
   6.481 +#
   6.482 +# Old SIR device drivers
   6.483 +#
   6.484 +CONFIG_IRPORT_SIR=m
   6.485 +
   6.486 +#
   6.487 +# Old Serial dongle support
   6.488 +#
   6.489 +# CONFIG_DONGLE_OLD is not set
   6.490 +
   6.491 +#
   6.492 +# FIR device drivers
   6.493 +#
   6.494 +CONFIG_USB_IRDA=m
   6.495 +CONFIG_SIGMATEL_FIR=m
   6.496 +CONFIG_NSC_FIR=m
   6.497 +CONFIG_WINBOND_FIR=m
   6.498 +CONFIG_SMC_IRCC_FIR=m
   6.499 +CONFIG_ALI_FIR=m
   6.500 +CONFIG_VLSI_FIR=m
   6.501 +CONFIG_VIA_FIR=m
   6.502 +CONFIG_BT=m
   6.503 +CONFIG_BT_L2CAP=m
   6.504 +CONFIG_BT_SCO=m
   6.505 +CONFIG_BT_RFCOMM=m
   6.506 +CONFIG_BT_RFCOMM_TTY=y
   6.507 +CONFIG_BT_BNEP=m
   6.508 +CONFIG_BT_BNEP_MC_FILTER=y
   6.509 +CONFIG_BT_BNEP_PROTO_FILTER=y
   6.510 +CONFIG_BT_CMTP=m
   6.511 +CONFIG_BT_HIDP=m
   6.512 +
   6.513 +#
   6.514 +# Bluetooth device drivers
   6.515 +#
   6.516 +CONFIG_BT_HCIUSB=m
   6.517 +CONFIG_BT_HCIUSB_SCO=y
   6.518 +CONFIG_BT_HCIUART=m
   6.519 +CONFIG_BT_HCIUART_H4=y
   6.520 +CONFIG_BT_HCIUART_BCSP=y
   6.521 +CONFIG_BT_HCIUART_BCSP_TXCRC=y
   6.522 +CONFIG_BT_HCIBCM203X=m
   6.523 +CONFIG_BT_HCIBPA10X=m
   6.524 +CONFIG_BT_HCIBFUSB=m
   6.525 +CONFIG_BT_HCIVHCI=m
   6.526 +CONFIG_IEEE80211=m
   6.527 +# CONFIG_IEEE80211_DEBUG is not set
   6.528 +CONFIG_IEEE80211_CRYPT_WEP=m
   6.529 +CONFIG_IEEE80211_CRYPT_CCMP=m
   6.530 +CONFIG_IEEE80211_CRYPT_TKIP=m
   6.531 +
   6.532 +#
   6.533  # Device Drivers
   6.534  #
   6.535  
   6.536 @@ -155,6 +595,11 @@ CONFIG_FW_LOADER=y
   6.537  # CONFIG_DEBUG_DRIVER is not set
   6.538  
   6.539  #
   6.540 +# Connector - unified userspace <-> kernelspace linker
   6.541 +#
   6.542 +CONFIG_CONNECTOR=m
   6.543 +
   6.544 +#
   6.545  # Memory Technology Devices (MTD)
   6.546  #
   6.547  CONFIG_MTD=m
   6.548 @@ -215,7 +660,6 @@ CONFIG_MTD_SC520CDP=m
   6.549  CONFIG_MTD_NETSC520=m
   6.550  CONFIG_MTD_TS5500=m
   6.551  CONFIG_MTD_SBC_GXX=m
   6.552 -CONFIG_MTD_ELAN_104NC=m
   6.553  # CONFIG_MTD_AMD76XROM is not set
   6.554  # CONFIG_MTD_ICHXROM is not set
   6.555  CONFIG_MTD_SCB2_FLASH=m
   6.556 @@ -223,6 +667,7 @@ CONFIG_MTD_SCB2_FLASH=m
   6.557  # CONFIG_MTD_DILNETPC is not set
   6.558  # CONFIG_MTD_L440GX is not set
   6.559  CONFIG_MTD_PCI=m
   6.560 +CONFIG_MTD_PLATRAM=m
   6.561  
   6.562  #
   6.563  # Self-contained MTD device drivers
   6.564 @@ -323,7 +768,6 @@ CONFIG_BLK_DEV_RAM=y
   6.565  CONFIG_BLK_DEV_RAM_COUNT=16
   6.566  CONFIG_BLK_DEV_RAM_SIZE=16384
   6.567  CONFIG_BLK_DEV_INITRD=y
   6.568 -CONFIG_INITRAMFS_SOURCE=""
   6.569  CONFIG_LBD=y
   6.570  CONFIG_CDROM_PKTCDVD=m
   6.571  CONFIG_CDROM_PKTCDVD_BUFFERS=8
   6.572 @@ -388,6 +832,7 @@ CONFIG_BLK_DEV_HPT34X=y
   6.573  CONFIG_BLK_DEV_HPT366=y
   6.574  # CONFIG_BLK_DEV_SC1200 is not set
   6.575  CONFIG_BLK_DEV_PIIX=y
   6.576 +CONFIG_BLK_DEV_IT821X=m
   6.577  # CONFIG_BLK_DEV_NS87415 is not set
   6.578  CONFIG_BLK_DEV_PDC202XX_OLD=y
   6.579  # CONFIG_PDC202XX_BURST is not set
   6.580 @@ -408,6 +853,7 @@ CONFIG_IDEDMA_AUTO=y
   6.581  #
   6.582  # SCSI device support
   6.583  #
   6.584 +CONFIG_RAID_ATTRS=m
   6.585  CONFIG_SCSI=y
   6.586  CONFIG_SCSI_PROC_FS=y
   6.587  
   6.588 @@ -420,6 +866,7 @@ CONFIG_CHR_DEV_OSST=m
   6.589  CONFIG_BLK_DEV_SR=m
   6.590  CONFIG_BLK_DEV_SR_VENDOR=y
   6.591  CONFIG_CHR_DEV_SG=m
   6.592 +CONFIG_CHR_DEV_SCH=m
   6.593  
   6.594  #
   6.595  # Some SCSI devices (e.g. CD jukebox) support multiple LUNs
   6.596 @@ -434,6 +881,7 @@ CONFIG_SCSI_LOGGING=y
   6.597  CONFIG_SCSI_SPI_ATTRS=m
   6.598  CONFIG_SCSI_FC_ATTRS=m
   6.599  CONFIG_SCSI_ISCSI_ATTRS=m
   6.600 +CONFIG_SCSI_SAS_ATTRS=m
   6.601  
   6.602  #
   6.603  # SCSI low-level drivers
   6.604 @@ -460,10 +908,12 @@ CONFIG_AIC79XX_DEBUG_MASK=0
   6.605  CONFIG_MEGARAID_NEWGEN=y
   6.606  CONFIG_MEGARAID_MM=m
   6.607  CONFIG_MEGARAID_MAILBOX=m
   6.608 +CONFIG_MEGARAID_SAS=m
   6.609  CONFIG_SCSI_SATA=y
   6.610  CONFIG_SCSI_SATA_AHCI=m
   6.611  CONFIG_SCSI_SATA_SVW=m
   6.612  CONFIG_SCSI_ATA_PIIX=y
   6.613 +CONFIG_SCSI_SATA_MV=m
   6.614  CONFIG_SCSI_SATA_NV=m
   6.615  CONFIG_SCSI_SATA_PROMISE=m
   6.616  CONFIG_SCSI_SATA_QSTOR=m
   6.617 @@ -473,6 +923,7 @@ CONFIG_SCSI_SATA_SIS=m
   6.618  CONFIG_SCSI_SATA_ULI=m
   6.619  CONFIG_SCSI_SATA_VIA=m
   6.620  CONFIG_SCSI_SATA_VITESSE=m
   6.621 +CONFIG_SCSI_SATA_INTEL_COMBINED=y
   6.622  CONFIG_SCSI_BUSLOGIC=m
   6.623  # CONFIG_SCSI_OMIT_FLASHPOINT is not set
   6.624  # CONFIG_SCSI_CPQFCTS is not set
   6.625 @@ -494,8 +945,6 @@ CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
   6.626  CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
   6.627  # CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set
   6.628  # CONFIG_SCSI_IPR is not set
   6.629 -# CONFIG_SCSI_PCI2000 is not set
   6.630 -# CONFIG_SCSI_PCI2220I is not set
   6.631  # CONFIG_SCSI_QLOGIC_ISP is not set
   6.632  # CONFIG_SCSI_QLOGIC_FC is not set
   6.633  CONFIG_SCSI_QLOGIC_1280=m
   6.634 @@ -506,6 +955,7 @@ CONFIG_SCSI_QLA22XX=m
   6.635  CONFIG_SCSI_QLA2300=m
   6.636  CONFIG_SCSI_QLA2322=m
   6.637  CONFIG_SCSI_QLA6312=m
   6.638 +CONFIG_SCSI_QLA24XX=m
   6.639  CONFIG_SCSI_LPFC=m
   6.640  CONFIG_SCSI_DC395x=m
   6.641  CONFIG_SCSI_DC390T=m
   6.642 @@ -535,8 +985,11 @@ CONFIG_DM_MULTIPATH_EMC=m
   6.643  #
   6.644  # Fusion MPT device support
   6.645  #
   6.646 -CONFIG_FUSION=m
   6.647 -CONFIG_FUSION_MAX_SGE=40
   6.648 +CONFIG_FUSION=y
   6.649 +CONFIG_FUSION_SPI=m
   6.650 +CONFIG_FUSION_FC=m
   6.651 +CONFIG_FUSION_SAS=m
   6.652 +CONFIG_FUSION_MAX_SGE=128
   6.653  CONFIG_FUSION_CTL=m
   6.654  CONFIG_FUSION_LAN=m
   6.655  
   6.656 @@ -552,6 +1005,7 @@ CONFIG_IEEE1394=m
   6.657  CONFIG_IEEE1394_OUI_DB=y
   6.658  CONFIG_IEEE1394_EXTRA_CONFIG_ROMS=y
   6.659  CONFIG_IEEE1394_CONFIG_ROM_IP1394=y
   6.660 +# CONFIG_IEEE1394_EXPORT_FULL_API is not set
   6.661  
   6.662  #
   6.663  # Device Drivers
   6.664 @@ -575,381 +1029,18 @@ CONFIG_IEEE1394_AMDTP=m
   6.665  # I2O device support
   6.666  #
   6.667  CONFIG_I2O=m
   6.668 +CONFIG_I2O_EXT_ADAPTEC=y
   6.669 +CONFIG_I2O_EXT_ADAPTEC_DMA64=y
   6.670  CONFIG_I2O_CONFIG=m
   6.671 +CONFIG_I2O_CONFIG_OLD_IOCTL=y
   6.672 +CONFIG_I2O_BUS=m
   6.673  CONFIG_I2O_BLOCK=m
   6.674  CONFIG_I2O_SCSI=m
   6.675  CONFIG_I2O_PROC=m
   6.676  
   6.677  #
   6.678 -# Networking support
   6.679 -#
   6.680 -CONFIG_NET=y
   6.681 -
   6.682 -#
   6.683 -# Networking options
   6.684 -#
   6.685 -CONFIG_PACKET=y
   6.686 -CONFIG_PACKET_MMAP=y
   6.687 -CONFIG_UNIX=y
   6.688 -CONFIG_NET_KEY=m
   6.689 -CONFIG_INET=y
   6.690 -CONFIG_IP_MULTICAST=y
   6.691 -CONFIG_IP_ADVANCED_ROUTER=y
   6.692 -CONFIG_IP_MULTIPLE_TABLES=y
   6.693 -CONFIG_IP_ROUTE_FWMARK=y
   6.694 -CONFIG_IP_ROUTE_MULTIPATH=y
   6.695 -# CONFIG_IP_ROUTE_MULTIPATH_CACHED is not set
   6.696 -CONFIG_IP_ROUTE_VERBOSE=y
   6.697 -# CONFIG_IP_PNP is not set
   6.698 -CONFIG_NET_IPIP=m
   6.699 -CONFIG_NET_IPGRE=m
   6.700 -CONFIG_NET_IPGRE_BROADCAST=y
   6.701 -CONFIG_IP_MROUTE=y
   6.702 -CONFIG_IP_PIMSM_V1=y
   6.703 -CONFIG_IP_PIMSM_V2=y
   6.704 -# CONFIG_ARPD is not set
   6.705 -CONFIG_SYN_COOKIES=y
   6.706 -CONFIG_INET_AH=m
   6.707 -CONFIG_INET_ESP=m
   6.708 -CONFIG_INET_IPCOMP=m
   6.709 -CONFIG_INET_TUNNEL=m
   6.710 -CONFIG_IP_TCPDIAG=m
   6.711 -CONFIG_IP_TCPDIAG_IPV6=y
   6.712 -
   6.713 -#
   6.714 -# IP: Virtual Server Configuration
   6.715 -#
   6.716 -CONFIG_IP_VS=m
   6.717 -# CONFIG_IP_VS_DEBUG is not set
   6.718 -CONFIG_IP_VS_TAB_BITS=12
   6.719 -
   6.720 -#
   6.721 -# IPVS transport protocol load balancing support
   6.722 -#
   6.723 -CONFIG_IP_VS_PROTO_TCP=y
   6.724 -CONFIG_IP_VS_PROTO_UDP=y
   6.725 -CONFIG_IP_VS_PROTO_ESP=y
   6.726 -CONFIG_IP_VS_PROTO_AH=y
   6.727 -
   6.728 -#
   6.729 -# IPVS scheduler
   6.730 -#
   6.731 -CONFIG_IP_VS_RR=m
   6.732 -CONFIG_IP_VS_WRR=m
   6.733 -CONFIG_IP_VS_LC=m
   6.734 -CONFIG_IP_VS_WLC=m
   6.735 -CONFIG_IP_VS_LBLC=m
   6.736 -CONFIG_IP_VS_LBLCR=m
   6.737 -CONFIG_IP_VS_DH=m
   6.738 -CONFIG_IP_VS_SH=m
   6.739 -CONFIG_IP_VS_SED=m
   6.740 -CONFIG_IP_VS_NQ=m
   6.741 -
   6.742 -#
   6.743 -# IPVS application helper
   6.744 -#
   6.745 -CONFIG_IP_VS_FTP=m
   6.746 -CONFIG_IPV6=m
   6.747 -CONFIG_IPV6_PRIVACY=y
   6.748 -CONFIG_INET6_AH=m
   6.749 -CONFIG_INET6_ESP=m
   6.750 -CONFIG_INET6_IPCOMP=m
   6.751 -CONFIG_INET6_TUNNEL=m
   6.752 -CONFIG_IPV6_TUNNEL=m
   6.753 -CONFIG_NETFILTER=y
   6.754 -# CONFIG_NETFILTER_DEBUG is not set
   6.755 -CONFIG_BRIDGE_NETFILTER=y
   6.756 -
   6.757 -#
   6.758 -# IP: Netfilter Configuration
   6.759 -#
   6.760 -CONFIG_IP_NF_CONNTRACK=m
   6.761 -CONFIG_IP_NF_CT_ACCT=y
   6.762 -CONFIG_IP_NF_CONNTRACK_MARK=y
   6.763 -CONFIG_IP_NF_CT_PROTO_SCTP=m
   6.764 -CONFIG_IP_NF_FTP=m
   6.765 -CONFIG_IP_NF_IRC=m
   6.766 -CONFIG_IP_NF_TFTP=m
   6.767 -CONFIG_IP_NF_AMANDA=m
   6.768 -CONFIG_IP_NF_QUEUE=m
   6.769 -CONFIG_IP_NF_IPTABLES=m
   6.770 -CONFIG_IP_NF_MATCH_LIMIT=m
   6.771 -CONFIG_IP_NF_MATCH_IPRANGE=m
   6.772 -CONFIG_IP_NF_MATCH_MAC=m
   6.773 -CONFIG_IP_NF_MATCH_PKTTYPE=m
   6.774 -CONFIG_IP_NF_MATCH_MARK=m
   6.775 -CONFIG_IP_NF_MATCH_MULTIPORT=m
   6.776 -CONFIG_IP_NF_MATCH_TOS=m
   6.777 -CONFIG_IP_NF_MATCH_RECENT=m
   6.778 -CONFIG_IP_NF_MATCH_ECN=m
   6.779 -CONFIG_IP_NF_MATCH_DSCP=m
   6.780 -CONFIG_IP_NF_MATCH_AH_ESP=m
   6.781 -CONFIG_IP_NF_MATCH_LENGTH=m
   6.782 -CONFIG_IP_NF_MATCH_TTL=m
   6.783 -CONFIG_IP_NF_MATCH_TCPMSS=m
   6.784 -CONFIG_IP_NF_MATCH_HELPER=m
   6.785 -CONFIG_IP_NF_MATCH_STATE=m
   6.786 -CONFIG_IP_NF_MATCH_CONNTRACK=m
   6.787 -CONFIG_IP_NF_MATCH_OWNER=m
   6.788 -CONFIG_IP_NF_MATCH_PHYSDEV=m
   6.789 -CONFIG_IP_NF_MATCH_ADDRTYPE=m
   6.790 -CONFIG_IP_NF_MATCH_REALM=m
   6.791 -CONFIG_IP_NF_MATCH_SCTP=m
   6.792 -CONFIG_IP_NF_MATCH_COMMENT=m
   6.793 -CONFIG_IP_NF_MATCH_CONNMARK=m
   6.794 -CONFIG_IP_NF_MATCH_HASHLIMIT=m
   6.795 -CONFIG_IP_NF_FILTER=m
   6.796 -CONFIG_IP_NF_TARGET_REJECT=m
   6.797 -CONFIG_IP_NF_TARGET_LOG=m
   6.798 -CONFIG_IP_NF_TARGET_ULOG=m
   6.799 -CONFIG_IP_NF_TARGET_TCPMSS=m
   6.800 -CONFIG_IP_NF_NAT=m
   6.801 -CONFIG_IP_NF_NAT_NEEDED=y
   6.802 -CONFIG_IP_NF_TARGET_MASQUERADE=m
   6.803 -CONFIG_IP_NF_TARGET_REDIRECT=m
   6.804 -CONFIG_IP_NF_TARGET_NETMAP=m
   6.805 -CONFIG_IP_NF_TARGET_SAME=m
   6.806 -CONFIG_IP_NF_NAT_SNMP_BASIC=m
   6.807 -CONFIG_IP_NF_NAT_IRC=m
   6.808 -CONFIG_IP_NF_NAT_FTP=m
   6.809 -CONFIG_IP_NF_NAT_TFTP=m
   6.810 -CONFIG_IP_NF_NAT_AMANDA=m
   6.811 -CONFIG_IP_NF_MANGLE=m
   6.812 -CONFIG_IP_NF_TARGET_TOS=m
   6.813 -CONFIG_IP_NF_TARGET_ECN=m
   6.814 -CONFIG_IP_NF_TARGET_DSCP=m
   6.815 -CONFIG_IP_NF_TARGET_MARK=m
   6.816 -CONFIG_IP_NF_TARGET_CLASSIFY=m
   6.817 -CONFIG_IP_NF_TARGET_CONNMARK=m
   6.818 -CONFIG_IP_NF_TARGET_CLUSTERIP=m
   6.819 -CONFIG_IP_NF_RAW=m
   6.820 -CONFIG_IP_NF_TARGET_NOTRACK=m
   6.821 -CONFIG_IP_NF_ARPTABLES=m
   6.822 -CONFIG_IP_NF_ARPFILTER=m
   6.823 -CONFIG_IP_NF_ARP_MANGLE=m
   6.824 -
   6.825 -#
   6.826 -# IPv6: Netfilter Configuration (EXPERIMENTAL)
   6.827 -#
   6.828 -CONFIG_IP6_NF_QUEUE=m
   6.829 -CONFIG_IP6_NF_IPTABLES=m
   6.830 -CONFIG_IP6_NF_MATCH_LIMIT=m
   6.831 -CONFIG_IP6_NF_MATCH_MAC=m
   6.832 -CONFIG_IP6_NF_MATCH_RT=m
   6.833 -CONFIG_IP6_NF_MATCH_OPTS=m
   6.834 -CONFIG_IP6_NF_MATCH_FRAG=m
   6.835 -CONFIG_IP6_NF_MATCH_HL=m
   6.836 -CONFIG_IP6_NF_MATCH_MULTIPORT=m
   6.837 -CONFIG_IP6_NF_MATCH_OWNER=m
   6.838 -CONFIG_IP6_NF_MATCH_MARK=m
   6.839 -CONFIG_IP6_NF_MATCH_IPV6HEADER=m
   6.840 -CONFIG_IP6_NF_MATCH_AHESP=m
   6.841 -CONFIG_IP6_NF_MATCH_LENGTH=m
   6.842 -CONFIG_IP6_NF_MATCH_EUI64=m
   6.843 -CONFIG_IP6_NF_MATCH_PHYSDEV=m
   6.844 -CONFIG_IP6_NF_FILTER=m
   6.845 -CONFIG_IP6_NF_TARGET_LOG=m
   6.846 -CONFIG_IP6_NF_MANGLE=m
   6.847 -CONFIG_IP6_NF_TARGET_MARK=m
   6.848 -CONFIG_IP6_NF_RAW=m
   6.849 -
   6.850 -#
   6.851 -# Bridge: Netfilter Configuration
   6.852 +# Network device support
   6.853  #
   6.854 -CONFIG_BRIDGE_NF_EBTABLES=m
   6.855 -CONFIG_BRIDGE_EBT_BROUTE=m
   6.856 -CONFIG_BRIDGE_EBT_T_FILTER=m
   6.857 -CONFIG_BRIDGE_EBT_T_NAT=m
   6.858 -CONFIG_BRIDGE_EBT_802_3=m
   6.859 -CONFIG_BRIDGE_EBT_AMONG=m
   6.860 -CONFIG_BRIDGE_EBT_ARP=m
   6.861 -CONFIG_BRIDGE_EBT_IP=m
   6.862 -CONFIG_BRIDGE_EBT_LIMIT=m
   6.863 -CONFIG_BRIDGE_EBT_MARK=m
   6.864 -CONFIG_BRIDGE_EBT_PKTTYPE=m
   6.865 -CONFIG_BRIDGE_EBT_STP=m
   6.866 -CONFIG_BRIDGE_EBT_VLAN=m
   6.867 -CONFIG_BRIDGE_EBT_ARPREPLY=m
   6.868 -CONFIG_BRIDGE_EBT_DNAT=m
   6.869 -CONFIG_BRIDGE_EBT_MARK_T=m
   6.870 -CONFIG_BRIDGE_EBT_REDIRECT=m
   6.871 -CONFIG_BRIDGE_EBT_SNAT=m
   6.872 -CONFIG_BRIDGE_EBT_LOG=m
   6.873 -CONFIG_BRIDGE_EBT_ULOG=m
   6.874 -CONFIG_XFRM=y
   6.875 -CONFIG_XFRM_USER=y
   6.876 -
   6.877 -#
   6.878 -# SCTP Configuration (EXPERIMENTAL)
   6.879 -#
   6.880 -CONFIG_IP_SCTP=m
   6.881 -# CONFIG_SCTP_DBG_MSG is not set
   6.882 -# CONFIG_SCTP_DBG_OBJCNT is not set
   6.883 -# CONFIG_SCTP_HMAC_NONE is not set
   6.884 -# CONFIG_SCTP_HMAC_SHA1 is not set
   6.885 -CONFIG_SCTP_HMAC_MD5=y
   6.886 -CONFIG_ATM=m
   6.887 -CONFIG_ATM_CLIP=m
   6.888 -# CONFIG_ATM_CLIP_NO_ICMP is not set
   6.889 -CONFIG_ATM_LANE=m
   6.890 -# CONFIG_ATM_MPOA is not set
   6.891 -CONFIG_ATM_BR2684=m
   6.892 -# CONFIG_ATM_BR2684_IPFILTER is not set
   6.893 -CONFIG_BRIDGE=m
   6.894 -CONFIG_VLAN_8021Q=m
   6.895 -# CONFIG_DECNET is not set
   6.896 -CONFIG_LLC=y
   6.897 -# CONFIG_LLC2 is not set
   6.898 -CONFIG_IPX=m
   6.899 -# CONFIG_IPX_INTERN is not set
   6.900 -CONFIG_ATALK=m
   6.901 -CONFIG_DEV_APPLETALK=y
   6.902 -CONFIG_IPDDP=m
   6.903 -CONFIG_IPDDP_ENCAP=y
   6.904 -CONFIG_IPDDP_DECAP=y
   6.905 -# CONFIG_X25 is not set
   6.906 -# CONFIG_LAPB is not set
   6.907 -CONFIG_NET_DIVERT=y
   6.908 -# CONFIG_ECONET is not set
   6.909 -CONFIG_WAN_ROUTER=m
   6.910 -
   6.911 -#
   6.912 -# QoS and/or fair queueing
   6.913 -#
   6.914 -CONFIG_NET_SCHED=y
   6.915 -CONFIG_NET_SCH_CLK_JIFFIES=y
   6.916 -# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
   6.917 -# CONFIG_NET_SCH_CLK_CPU is not set
   6.918 -CONFIG_NET_SCH_CBQ=m
   6.919 -CONFIG_NET_SCH_HTB=m
   6.920 -CONFIG_NET_SCH_HFSC=m
   6.921 -CONFIG_NET_SCH_ATM=m
   6.922 -CONFIG_NET_SCH_PRIO=m
   6.923 -CONFIG_NET_SCH_RED=m
   6.924 -CONFIG_NET_SCH_SFQ=m
   6.925 -CONFIG_NET_SCH_TEQL=m
   6.926 -CONFIG_NET_SCH_TBF=m
   6.927 -CONFIG_NET_SCH_GRED=m
   6.928 -CONFIG_NET_SCH_DSMARK=m
   6.929 -CONFIG_NET_SCH_NETEM=m
   6.930 -CONFIG_NET_SCH_INGRESS=m
   6.931 -CONFIG_NET_QOS=y
   6.932 -CONFIG_NET_ESTIMATOR=y
   6.933 -CONFIG_NET_CLS=y
   6.934 -CONFIG_NET_CLS_BASIC=m
   6.935 -CONFIG_NET_CLS_TCINDEX=m
   6.936 -CONFIG_NET_CLS_ROUTE4=m
   6.937 -CONFIG_NET_CLS_ROUTE=y
   6.938 -CONFIG_NET_CLS_FW=m
   6.939 -CONFIG_NET_CLS_U32=m
   6.940 -CONFIG_CLS_U32_PERF=y
   6.941 -CONFIG_NET_CLS_IND=y
   6.942 -CONFIG_CLS_U32_MARK=y
   6.943 -CONFIG_NET_CLS_RSVP=m
   6.944 -CONFIG_NET_CLS_RSVP6=m
   6.945 -CONFIG_NET_EMATCH=y
   6.946 -CONFIG_NET_EMATCH_STACK=32
   6.947 -CONFIG_NET_EMATCH_CMP=m
   6.948 -CONFIG_NET_EMATCH_NBYTE=m
   6.949 -CONFIG_NET_EMATCH_U32=m
   6.950 -CONFIG_NET_EMATCH_META=m
   6.951 -# CONFIG_NET_CLS_ACT is not set
   6.952 -CONFIG_NET_CLS_POLICE=y
   6.953 -
   6.954 -#
   6.955 -# Network testing
   6.956 -#
   6.957 -# CONFIG_NET_PKTGEN is not set
   6.958 -CONFIG_NETPOLL=y
   6.959 -# CONFIG_NETPOLL_RX is not set
   6.960 -CONFIG_NETPOLL_TRAP=y
   6.961 -CONFIG_NET_POLL_CONTROLLER=y
   6.962 -# CONFIG_HAMRADIO is not set
   6.963 -CONFIG_IRDA=m
   6.964 -
   6.965 -#
   6.966 -# IrDA protocols
   6.967 -#
   6.968 -CONFIG_IRLAN=m
   6.969 -CONFIG_IRNET=m
   6.970 -CONFIG_IRCOMM=m
   6.971 -# CONFIG_IRDA_ULTRA is not set
   6.972 -
   6.973 -#
   6.974 -# IrDA options
   6.975 -#
   6.976 -CONFIG_IRDA_CACHE_LAST_LSAP=y
   6.977 -CONFIG_IRDA_FAST_RR=y
   6.978 -# CONFIG_IRDA_DEBUG is not set
   6.979 -
   6.980 -#
   6.981 -# Infrared-port device drivers
   6.982 -#
   6.983 -
   6.984 -#
   6.985 -# SIR device drivers
   6.986 -#
   6.987 -CONFIG_IRTTY_SIR=m
   6.988 -
   6.989 -#
   6.990 -# Dongle support
   6.991 -#
   6.992 -CONFIG_DONGLE=y
   6.993 -CONFIG_ESI_DONGLE=m
   6.994 -CONFIG_ACTISYS_DONGLE=m
   6.995 -CONFIG_TEKRAM_DONGLE=m
   6.996 -CONFIG_LITELINK_DONGLE=m
   6.997 -CONFIG_MA600_DONGLE=m
   6.998 -CONFIG_GIRBIL_DONGLE=m
   6.999 -CONFIG_MCP2120_DONGLE=m
  6.1000 -CONFIG_OLD_BELKIN_DONGLE=m
  6.1001 -CONFIG_ACT200L_DONGLE=m
  6.1002 -
  6.1003 -#
  6.1004 -# Old SIR device drivers
  6.1005 -#
  6.1006 -CONFIG_IRPORT_SIR=m
  6.1007 -
  6.1008 -#
  6.1009 -# Old Serial dongle support
  6.1010 -#
  6.1011 -# CONFIG_DONGLE_OLD is not set
  6.1012 -
  6.1013 -#
  6.1014 -# FIR device drivers
  6.1015 -#
  6.1016 -CONFIG_USB_IRDA=m
  6.1017 -CONFIG_SIGMATEL_FIR=m
  6.1018 -CONFIG_NSC_FIR=m
  6.1019 -CONFIG_WINBOND_FIR=m
  6.1020 -CONFIG_SMC_IRCC_FIR=m
  6.1021 -CONFIG_ALI_FIR=m
  6.1022 -CONFIG_VLSI_FIR=m
  6.1023 -CONFIG_VIA_FIR=m
  6.1024 -CONFIG_BT=m
  6.1025 -CONFIG_BT_L2CAP=m
  6.1026 -CONFIG_BT_SCO=m
  6.1027 -CONFIG_BT_RFCOMM=m
  6.1028 -CONFIG_BT_RFCOMM_TTY=y
  6.1029 -CONFIG_BT_BNEP=m
  6.1030 -CONFIG_BT_BNEP_MC_FILTER=y
  6.1031 -CONFIG_BT_BNEP_PROTO_FILTER=y
  6.1032 -CONFIG_BT_CMTP=m
  6.1033 -CONFIG_BT_HIDP=m
  6.1034 -
  6.1035 -#
  6.1036 -# Bluetooth device drivers
  6.1037 -#
  6.1038 -CONFIG_BT_HCIUSB=m
  6.1039 -CONFIG_BT_HCIUSB_SCO=y
  6.1040 -CONFIG_BT_HCIUART=m
  6.1041 -CONFIG_BT_HCIUART_H4=y
  6.1042 -CONFIG_BT_HCIUART_BCSP=y
  6.1043 -CONFIG_BT_HCIUART_BCSP_TXCRC=y
  6.1044 -CONFIG_BT_HCIBCM203X=m
  6.1045 -CONFIG_BT_HCIBPA10X=m
  6.1046 -CONFIG_BT_HCIBFUSB=m
  6.1047 -CONFIG_BT_HCIVHCI=m
  6.1048  CONFIG_NETDEVICES=y
  6.1049  CONFIG_DUMMY=m
  6.1050  CONFIG_BONDING=m
  6.1051 @@ -962,12 +1053,28 @@ CONFIG_TUN=m
  6.1052  # CONFIG_ARCNET is not set
  6.1053  
  6.1054  #
  6.1055 +# PHY device support
  6.1056 +#
  6.1057 +CONFIG_PHYLIB=m
  6.1058 +CONFIG_PHYCONTROL=y
  6.1059 +
  6.1060 +#
  6.1061 +# MII PHY device drivers
  6.1062 +#
  6.1063 +CONFIG_MARVELL_PHY=m
  6.1064 +CONFIG_DAVICOM_PHY=m
  6.1065 +CONFIG_QSEMI_PHY=m
  6.1066 +CONFIG_LXT_PHY=m
  6.1067 +CONFIG_CICADA_PHY=m
  6.1068 +
  6.1069 +#
  6.1070  # Ethernet (10 or 100Mbit)
  6.1071  #
  6.1072  CONFIG_NET_ETHERNET=y
  6.1073  CONFIG_MII=m
  6.1074  CONFIG_HAPPYMEAL=m
  6.1075  CONFIG_SUNGEM=m
  6.1076 +CONFIG_CASSINI=m
  6.1077  CONFIG_NET_VENDOR_3COM=y
  6.1078  CONFIG_VORTEX=m
  6.1079  CONFIG_TYPHOON=m
  6.1080 @@ -984,6 +1091,7 @@ CONFIG_TULIP_MMIO=y
  6.1081  CONFIG_DE4X5=m
  6.1082  CONFIG_WINBOND_840=m
  6.1083  CONFIG_DM9102=m
  6.1084 +CONFIG_ULI526X=m
  6.1085  # CONFIG_HP100 is not set
  6.1086  CONFIG_NET_PCI=y
  6.1087  CONFIG_PCNET32=m
  6.1088 @@ -1011,6 +1119,10 @@ CONFIG_SUNDANCE=m
  6.1089  # CONFIG_SUNDANCE_MMIO is not set
  6.1090  CONFIG_VIA_RHINE=m
  6.1091  CONFIG_VIA_RHINE_MMIO=y
  6.1092 +CONFIG_NET_POCKET=y
  6.1093 +CONFIG_ATP=m
  6.1094 +CONFIG_DE600=m
  6.1095 +CONFIG_DE620=m
  6.1096  
  6.1097  #
  6.1098  # Ethernet (1000 Mbit)
  6.1099 @@ -1026,6 +1138,8 @@ CONFIG_YELLOWFIN=m
  6.1100  CONFIG_R8169=m
  6.1101  CONFIG_R8169_NAPI=y
  6.1102  CONFIG_R8169_VLAN=y
  6.1103 +CONFIG_SIS190=m
  6.1104 +CONFIG_SKGE=m
  6.1105  CONFIG_SK98LIN=m
  6.1106  CONFIG_VIA_VELOCITY=m
  6.1107  CONFIG_TIGON3=m
  6.1108 @@ -1034,6 +1148,7 @@ CONFIG_BNX2=m
  6.1109  #
  6.1110  # Ethernet (10000 Mbit)
  6.1111  #
  6.1112 +CONFIG_CHELSIO_T1=m
  6.1113  CONFIG_IXGB=m
  6.1114  CONFIG_IXGB_NAPI=y
  6.1115  CONFIG_S2IO=m
  6.1116 @@ -1063,9 +1178,15 @@ CONFIG_NET_RADIO=y
  6.1117  #
  6.1118  # Wireless 802.11b ISA/PCI cards support
  6.1119  #
  6.1120 +CONFIG_IPW2100=m
  6.1121 +CONFIG_IPW2100_MONITOR=y
  6.1122 +# CONFIG_IPW_DEBUG is not set
  6.1123 +CONFIG_IPW2200=m
  6.1124 +CONFIG_AIRO=m
  6.1125  CONFIG_HERMES=m
  6.1126  CONFIG_PLX_HERMES=m
  6.1127  CONFIG_TMD_HERMES=m
  6.1128 +CONFIG_NORTEL_HERMES=m
  6.1129  CONFIG_PCI_HERMES=m
  6.1130  CONFIG_ATMEL=m
  6.1131  CONFIG_PCI_ATMEL=m
  6.1132 @@ -1074,6 +1195,10 @@ CONFIG_PCI_ATMEL=m
  6.1133  # Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
  6.1134  #
  6.1135  CONFIG_PRISM54=m
  6.1136 +CONFIG_HOSTAP=m
  6.1137 +# CONFIG_HOSTAP_FIRMWARE is not set
  6.1138 +CONFIG_HOSTAP_PLX=m
  6.1139 +CONFIG_HOSTAP_PCI=m
  6.1140  CONFIG_NET_WIRELESS=y
  6.1141  
  6.1142  #
  6.1143 @@ -1124,6 +1249,10 @@ CONFIG_SLIP_SMART=y
  6.1144  CONFIG_NET_FC=y
  6.1145  # CONFIG_SHAPER is not set
  6.1146  CONFIG_NETCONSOLE=m
  6.1147 +CONFIG_NETPOLL=y
  6.1148 +# CONFIG_NETPOLL_RX is not set
  6.1149 +CONFIG_NETPOLL_TRAP=y
  6.1150 +CONFIG_NET_POLL_CONTROLLER=y
  6.1151  
  6.1152  #
  6.1153  # ISDN subsystem
  6.1154 @@ -1325,9 +1454,7 @@ CONFIG_GAMEPORT=m
  6.1155  CONFIG_GAMEPORT_NS558=m
  6.1156  CONFIG_GAMEPORT_L4=m
  6.1157  CONFIG_GAMEPORT_EMU10K1=m
  6.1158 -CONFIG_GAMEPORT_VORTEX=m
  6.1159  CONFIG_GAMEPORT_FM801=m
  6.1160 -CONFIG_GAMEPORT_CS461X=m
  6.1161  
  6.1162  #
  6.1163  # Character devices
  6.1164 @@ -1380,13 +1507,17 @@ CONFIG_ALIM7101_WDT=m
  6.1165  CONFIG_SC520_WDT=m
  6.1166  CONFIG_EUROTECH_WDT=m
  6.1167  CONFIG_IB700_WDT=m
  6.1168 +CONFIG_IBMASR=m
  6.1169  CONFIG_WAFER_WDT=m
  6.1170 +CONFIG_I6300ESB_WDT=m
  6.1171  CONFIG_I8XX_TCO=m
  6.1172  CONFIG_SC1200_WDT=m
  6.1173  # CONFIG_60XX_WDT is not set
  6.1174 +CONFIG_SBC8360_WDT=m
  6.1175  CONFIG_CPU5_WDT=m
  6.1176  CONFIG_W83627HF_WDT=m
  6.1177  CONFIG_W83877F_WDT=m
  6.1178 +CONFIG_W83977F_WDT=m
  6.1179  CONFIG_MACHZ_WDT=m
  6.1180  
  6.1181  #
  6.1182 @@ -1414,9 +1545,11 @@ CONFIG_R3964=m
  6.1183  # CONFIG_AGP is not set
  6.1184  CONFIG_DRM=m
  6.1185  CONFIG_DRM_TDFX=m
  6.1186 -# CONFIG_DRM_GAMMA is not set
  6.1187  CONFIG_DRM_R128=m
  6.1188  CONFIG_DRM_RADEON=m
  6.1189 +CONFIG_DRM_MGA=m
  6.1190 +CONFIG_DRM_VIA=m
  6.1191 +CONFIG_DRM_SAVAGE=m
  6.1192  # CONFIG_MWAVE is not set
  6.1193  # CONFIG_RAW_DRIVER is not set
  6.1194  # CONFIG_HPET is not set
  6.1195 @@ -1469,14 +1602,45 @@ CONFIG_I2C_VOODOO3=m
  6.1196  CONFIG_I2C_PCA_ISA=m
  6.1197  
  6.1198  #
  6.1199 -# Hardware Sensors Chip support
  6.1200 +# Miscellaneous I2C Chip support
  6.1201  #
  6.1202 -CONFIG_I2C_SENSOR=m
  6.1203 +CONFIG_SENSORS_DS1337=m
  6.1204 +CONFIG_SENSORS_DS1374=m
  6.1205 +CONFIG_SENSORS_EEPROM=m
  6.1206 +CONFIG_SENSORS_PCF8574=m
  6.1207 +CONFIG_SENSORS_PCA9539=m
  6.1208 +CONFIG_SENSORS_PCF8591=m
  6.1209 +CONFIG_SENSORS_RTC8564=m
  6.1210 +CONFIG_SENSORS_MAX6875=m
  6.1211 +# CONFIG_I2C_DEBUG_CORE is not set
  6.1212 +# CONFIG_I2C_DEBUG_ALGO is not set
  6.1213 +# CONFIG_I2C_DEBUG_BUS is not set
  6.1214 +# CONFIG_I2C_DEBUG_CHIP is not set
  6.1215 +
  6.1216 +#
  6.1217 +# Dallas's 1-wire bus
  6.1218 +#
  6.1219 +CONFIG_W1=m
  6.1220 +CONFIG_W1_MATROX=m
  6.1221 +CONFIG_W1_DS9490=m
  6.1222 +CONFIG_W1_DS9490_BRIDGE=m
  6.1223 +CONFIG_W1_THERM=m
  6.1224 +CONFIG_W1_SMEM=m
  6.1225 +CONFIG_W1_DS2433=m
  6.1226 +# CONFIG_W1_DS2433_CRC is not set
  6.1227 +
  6.1228 +#
  6.1229 +# Hardware Monitoring support
  6.1230 +#
  6.1231 +CONFIG_HWMON=m
  6.1232 +CONFIG_HWMON_VID=m
  6.1233  CONFIG_SENSORS_ADM1021=m
  6.1234  CONFIG_SENSORS_ADM1025=m
  6.1235  CONFIG_SENSORS_ADM1026=m
  6.1236  CONFIG_SENSORS_ADM1031=m
  6.1237 +CONFIG_SENSORS_ADM9240=m
  6.1238  CONFIG_SENSORS_ASB100=m
  6.1239 +CONFIG_SENSORS_ATXP1=m
  6.1240  CONFIG_SENSORS_DS1621=m
  6.1241  CONFIG_SENSORS_FSCHER=m
  6.1242  CONFIG_SENSORS_FSCPOS=m
  6.1243 @@ -1495,36 +1659,17 @@ CONFIG_SENSORS_LM90=m
  6.1244  CONFIG_SENSORS_LM92=m
  6.1245  CONFIG_SENSORS_MAX1619=m
  6.1246  CONFIG_SENSORS_PC87360=m
  6.1247 -CONFIG_SENSORS_SMSC47B397=m
  6.1248  CONFIG_SENSORS_SIS5595=m
  6.1249  CONFIG_SENSORS_SMSC47M1=m
  6.1250 +CONFIG_SENSORS_SMSC47B397=m
  6.1251  CONFIG_SENSORS_VIA686A=m
  6.1252  CONFIG_SENSORS_W83781D=m
  6.1253 +CONFIG_SENSORS_W83792D=m
  6.1254  CONFIG_SENSORS_W83L785TS=m
  6.1255  CONFIG_SENSORS_W83627HF=m
  6.1256 -
  6.1257 -#
  6.1258 -# Other I2C Chip support
  6.1259 -#
  6.1260 -CONFIG_SENSORS_DS1337=m
  6.1261 -CONFIG_SENSORS_EEPROM=m
  6.1262 -CONFIG_SENSORS_PCF8574=m
  6.1263 -CONFIG_SENSORS_PCF8591=m
  6.1264 -CONFIG_SENSORS_RTC8564=m
  6.1265 -# CONFIG_I2C_DEBUG_CORE is not set
  6.1266 -# CONFIG_I2C_DEBUG_ALGO is not set
  6.1267 -# CONFIG_I2C_DEBUG_BUS is not set
  6.1268 -# CONFIG_I2C_DEBUG_CHIP is not set
  6.1269 -
  6.1270 -#
  6.1271 -# Dallas's 1-wire bus
  6.1272 -#
  6.1273 -CONFIG_W1=m
  6.1274 -CONFIG_W1_MATROX=m
  6.1275 -CONFIG_W1_DS9490=m
  6.1276 -CONFIG_W1_DS9490_BRIDGE=m
  6.1277 -CONFIG_W1_THERM=m
  6.1278 -CONFIG_W1_SMEM=m
  6.1279 +CONFIG_SENSORS_W83627EHF=m
  6.1280 +CONFIG_SENSORS_HDAPS=m
  6.1281 +# CONFIG_HWMON_DEBUG_CHIP is not set
  6.1282  
  6.1283  #
  6.1284  # Misc devices
  6.1285 @@ -1532,6 +1677,10 @@ CONFIG_W1_SMEM=m
  6.1286  # CONFIG_IBM_ASM is not set
  6.1287  
  6.1288  #
  6.1289 +# Multimedia Capabilities Port drivers
  6.1290 +#
  6.1291 +
  6.1292 +#
  6.1293  # Multimedia devices
  6.1294  #
  6.1295  CONFIG_VIDEO_DEV=m
  6.1296 @@ -1544,6 +1693,7 @@ CONFIG_VIDEO_DEV=m
  6.1297  # Video Adapters
  6.1298  #
  6.1299  CONFIG_VIDEO_BT848=m
  6.1300 +CONFIG_VIDEO_SAA6588=m
  6.1301  CONFIG_VIDEO_BWQCAM=m
  6.1302  CONFIG_VIDEO_CQCAM=m
  6.1303  CONFIG_VIDEO_W9966=m
  6.1304 @@ -1597,11 +1747,20 @@ CONFIG_DVB_BUDGET_PATCH=m
  6.1305  #
  6.1306  # Supported USB Adapters
  6.1307  #
  6.1308 +CONFIG_DVB_USB=m
  6.1309 +# CONFIG_DVB_USB_DEBUG is not set
  6.1310 +CONFIG_DVB_USB_A800=m
  6.1311 +CONFIG_DVB_USB_DIBUSB_MB=m
  6.1312 +CONFIG_DVB_USB_DIBUSB_MC=m
  6.1313 +CONFIG_DVB_USB_UMT_010=m
  6.1314 +CONFIG_DVB_USB_CXUSB=m
  6.1315 +CONFIG_DVB_USB_DIGITV=m
  6.1316 +CONFIG_DVB_USB_VP7045=m
  6.1317 +CONFIG_DVB_USB_VP702X=m
  6.1318 +CONFIG_DVB_USB_NOVA_T_USB2=m
  6.1319 +CONFIG_DVB_USB_DTT200U=m
  6.1320  CONFIG_DVB_TTUSB_BUDGET=m
  6.1321  CONFIG_DVB_TTUSB_DEC=m
  6.1322 -CONFIG_DVB_DIBUSB=m
  6.1323 -CONFIG_DVB_DIBUSB_MISDESIGNED_DEVICES=y
  6.1324 -# CONFIG_DVB_DIBCOM_DEBUG is not set
  6.1325  CONFIG_DVB_CINERGYT2=m
  6.1326  CONFIG_DVB_CINERGYT2_TUNING=y
  6.1327  CONFIG_DVB_CINERGYT2_STREAM_URB_COUNT=32
  6.1328 @@ -1617,7 +1776,6 @@ CONFIG_DVB_B2C2_FLEXCOP=m
  6.1329  CONFIG_DVB_B2C2_FLEXCOP_PCI=m
  6.1330  CONFIG_DVB_B2C2_FLEXCOP_USB=m
  6.1331  # CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set
  6.1332 -CONFIG_DVB_B2C2_SKYSTAR=m
  6.1333  
  6.1334  #
  6.1335  # Supported BT878 Adapters
  6.1336 @@ -1625,6 +1783,11 @@ CONFIG_DVB_B2C2_SKYSTAR=m
  6.1337  CONFIG_DVB_BT8XX=m
  6.1338  
  6.1339  #
  6.1340 +# Supported Pluto2 Adapters
  6.1341 +#
  6.1342 +CONFIG_DVB_PLUTO2=m
  6.1343 +
  6.1344 +#
  6.1345  # Supported DVB Frontends
  6.1346  #
  6.1347  
  6.1348 @@ -1641,6 +1804,7 @@ CONFIG_DVB_TDA8083=m
  6.1349  CONFIG_DVB_TDA80XX=m
  6.1350  CONFIG_DVB_MT312=m
  6.1351  CONFIG_DVB_VES1X93=m
  6.1352 +CONFIG_DVB_S5H1420=m
  6.1353  
  6.1354  #
  6.1355  # DVB-T (terrestrial) frontends
  6.1356 @@ -1670,6 +1834,8 @@ CONFIG_DVB_STV0297=m
  6.1357  CONFIG_DVB_NXT2002=m
  6.1358  CONFIG_DVB_OR51211=m
  6.1359  CONFIG_DVB_OR51132=m
  6.1360 +CONFIG_DVB_BCM3510=m
  6.1361 +CONFIG_DVB_LGDT330X=m
  6.1362  CONFIG_VIDEO_SAA7146=m
  6.1363  CONFIG_VIDEO_SAA7146_VV=m
  6.1364  CONFIG_VIDEO_VIDEOBUF=m
  6.1365 @@ -1694,6 +1860,7 @@ CONFIG_FB_TILEBLITTING=y
  6.1366  CONFIG_FB_CIRRUS=m
  6.1367  # CONFIG_FB_PM2 is not set
  6.1368  # CONFIG_FB_CYBER2000 is not set
  6.1369 +CONFIG_FB_ARC=m
  6.1370  # CONFIG_FB_ASILIANT is not set
  6.1371  # CONFIG_FB_IMSTT is not set
  6.1372  CONFIG_FB_VGA16=m
  6.1373 @@ -1730,6 +1897,7 @@ CONFIG_FB_KYRO=m
  6.1374  CONFIG_FB_3DFX=m
  6.1375  CONFIG_FB_3DFX_ACCEL=y
  6.1376  CONFIG_FB_VOODOO1=m
  6.1377 +CONFIG_FB_CYBLA=m
  6.1378  CONFIG_FB_TRIDENT=m
  6.1379  CONFIG_FB_TRIDENT_ACCEL=y
  6.1380  # CONFIG_FB_PM3 is not set
  6.1381 @@ -1780,8 +1948,10 @@ CONFIG_SND_MIXER_OSS=m
  6.1382  CONFIG_SND_PCM_OSS=m
  6.1383  CONFIG_SND_SEQUENCER_OSS=y
  6.1384  CONFIG_SND_RTCTIMER=m
  6.1385 +CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y
  6.1386  # CONFIG_SND_VERBOSE_PRINTK is not set
  6.1387  # CONFIG_SND_DEBUG is not set
  6.1388 +CONFIG_SND_GENERIC_DRIVER=y
  6.1389  
  6.1390  #
  6.1391  # Generic devices
  6.1392 @@ -1794,11 +1964,12 @@ CONFIG_SND_VIRMIDI=m
  6.1393  CONFIG_SND_MTPAV=m
  6.1394  # CONFIG_SND_SERIAL_U16550 is not set
  6.1395  CONFIG_SND_MPU401=m
  6.1396 +CONFIG_SND_AC97_CODEC=m
  6.1397 +CONFIG_SND_AC97_BUS=m
  6.1398  
  6.1399  #
  6.1400  # PCI devices
  6.1401  #
  6.1402 -CONFIG_SND_AC97_CODEC=m
  6.1403  CONFIG_SND_ALI5451=m
  6.1404  CONFIG_SND_ATIIXP=m
  6.1405  CONFIG_SND_ATIIXP_MODEM=m
  6.1406 @@ -1821,8 +1992,10 @@ CONFIG_SND_RME32=m
  6.1407  CONFIG_SND_RME96=m
  6.1408  CONFIG_SND_RME9652=m
  6.1409  CONFIG_SND_HDSP=m
  6.1410 +CONFIG_SND_HDSPM=m
  6.1411  CONFIG_SND_TRIDENT=m
  6.1412  CONFIG_SND_YMFPCI=m
  6.1413 +CONFIG_SND_AD1889=m
  6.1414  CONFIG_SND_ALS4000=m
  6.1415  CONFIG_SND_CMIPCI=m
  6.1416  CONFIG_SND_ENS1370=m
  6.1417 @@ -1867,6 +2040,7 @@ CONFIG_USB=y
  6.1418  CONFIG_USB_DEVICEFS=y
  6.1419  # CONFIG_USB_BANDWIDTH is not set
  6.1420  # CONFIG_USB_DYNAMIC_MINORS is not set
  6.1421 +# CONFIG_USB_SUSPEND is not set
  6.1422  # CONFIG_USB_OTG is not set
  6.1423  
  6.1424  #
  6.1425 @@ -1875,6 +2049,7 @@ CONFIG_USB_DEVICEFS=y
  6.1426  CONFIG_USB_EHCI_HCD=m
  6.1427  CONFIG_USB_EHCI_SPLIT_ISO=y
  6.1428  CONFIG_USB_EHCI_ROOT_HUB_TT=y
  6.1429 +CONFIG_USB_ISP116X_HCD=m
  6.1430  CONFIG_USB_OHCI_HCD=m
  6.1431  # CONFIG_USB_OHCI_BIG_ENDIAN is not set
  6.1432  CONFIG_USB_OHCI_LITTLE_ENDIAN=y
  6.1433 @@ -1884,12 +2059,11 @@ CONFIG_USB_SL811_HCD=m
  6.1434  #
  6.1435  # USB Device Class drivers
  6.1436  #
  6.1437 -# CONFIG_USB_AUDIO is not set
  6.1438 +# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set
  6.1439  
  6.1440  #
  6.1441  # USB Bluetooth TTY can only be used with disabled Bluetooth subsystem
  6.1442  #
  6.1443 -CONFIG_USB_MIDI=m
  6.1444  CONFIG_USB_ACM=m
  6.1445  CONFIG_USB_PRINTER=m
  6.1446  
  6.1447 @@ -1906,6 +2080,7 @@ CONFIG_USB_STORAGE_USBAT=y
  6.1448  CONFIG_USB_STORAGE_SDDR09=y
  6.1449  CONFIG_USB_STORAGE_SDDR55=y
  6.1450  CONFIG_USB_STORAGE_JUMPSHOT=y
  6.1451 +CONFIG_USB_STORAGE_ONETOUCH=y
  6.1452  
  6.1453  #
  6.1454  # USB Input Devices
  6.1455 @@ -1919,12 +2094,17 @@ CONFIG_THRUSTMASTER_FF=y
  6.1456  CONFIG_USB_HIDDEV=y
  6.1457  CONFIG_USB_AIPTEK=m
  6.1458  CONFIG_USB_WACOM=m
  6.1459 +CONFIG_USB_ACECAD=m
  6.1460  CONFIG_USB_KBTAB=m
  6.1461  CONFIG_USB_POWERMATE=m
  6.1462  CONFIG_USB_MTOUCH=m
  6.1463 +CONFIG_USB_ITMTOUCH=m
  6.1464  CONFIG_USB_EGALAX=m
  6.1465 +CONFIG_USB_YEALINK=m
  6.1466  CONFIG_USB_XPAD=m
  6.1467  CONFIG_USB_ATI_REMOTE=m
  6.1468 +CONFIG_USB_KEYSPAN_REMOTE=m
  6.1469 +CONFIG_USB_APPLETOUCH=m
  6.1470  
  6.1471  #
  6.1472  # USB Imaging devices
  6.1473 @@ -1955,32 +2135,21 @@ CONFIG_USB_KAWETH=m
  6.1474  CONFIG_USB_PEGASUS=m
  6.1475  CONFIG_USB_RTL8150=m
  6.1476  CONFIG_USB_USBNET=m
  6.1477 -
  6.1478 -#
  6.1479 -# USB Host-to-Host Cables
  6.1480 -#
  6.1481 +CONFIG_USB_NET_AX8817X=m
  6.1482 +CONFIG_USB_NET_CDCETHER=m
  6.1483 +CONFIG_USB_NET_GL620A=m
  6.1484 +CONFIG_USB_NET_NET1080=m
  6.1485 +CONFIG_USB_NET_PLUSB=m
  6.1486 +CONFIG_USB_NET_RNDIS_HOST=m
  6.1487 +CONFIG_USB_NET_CDC_SUBSET=m
  6.1488  CONFIG_USB_ALI_M5632=y
  6.1489  CONFIG_USB_AN2720=y
  6.1490  CONFIG_USB_BELKIN=y
  6.1491 -CONFIG_USB_GENESYS=y
  6.1492 -CONFIG_USB_NET1080=y
  6.1493 -CONFIG_USB_PL2301=y
  6.1494 -CONFIG_USB_KC2190=y
  6.1495 -
  6.1496 -#
  6.1497 -# Intelligent USB Devices/Gadgets
  6.1498 -#
  6.1499  CONFIG_USB_ARMLINUX=y
  6.1500 -CONFIG_USB_EPSON2888=y
  6.1501 -CONFIG_USB_ZAURUS=y
  6.1502 -CONFIG_USB_CDCETHER=y
  6.1503 -
  6.1504 -#
  6.1505 -# USB Network Adapters
  6.1506 -#
  6.1507 -CONFIG_USB_AX8817X=y
  6.1508 +# CONFIG_USB_EPSON2888 is not set
  6.1509 +CONFIG_USB_NET_ZAURUS=m
  6.1510  CONFIG_USB_ZD1201=m
  6.1511 -CONFIG_USB_MON=m
  6.1512 +CONFIG_USB_MON=y
  6.1513  
  6.1514  #
  6.1515  # USB port drivers
  6.1516 @@ -2049,13 +2218,17 @@ CONFIG_USB_PHIDGETKIT=m
  6.1517  CONFIG_USB_PHIDGETSERVO=m
  6.1518  CONFIG_USB_IDMOUSE=m
  6.1519  CONFIG_USB_SISUSBVGA=m
  6.1520 +# CONFIG_USB_SISUSBVGA_CON is not set
  6.1521 +CONFIG_USB_LD=m
  6.1522  CONFIG_USB_TEST=m
  6.1523  
  6.1524  #
  6.1525 -# USB ATM/DSL drivers
  6.1526 +# USB DSL modem support
  6.1527  #
  6.1528  CONFIG_USB_ATM=m
  6.1529  CONFIG_USB_SPEEDTOUCH=m
  6.1530 +CONFIG_USB_CXACRU=m
  6.1531 +CONFIG_USB_XUSBATM=m
  6.1532  
  6.1533  #
  6.1534  # USB Gadget Support
  6.1535 @@ -2074,14 +2247,22 @@ CONFIG_MMC_WBSD=m
  6.1536  # InfiniBand support
  6.1537  #
  6.1538  CONFIG_INFINIBAND=m
  6.1539 +CONFIG_INFINIBAND_USER_MAD=m
  6.1540 +CONFIG_INFINIBAND_USER_ACCESS=m
  6.1541  CONFIG_INFINIBAND_MTHCA=m
  6.1542  # CONFIG_INFINIBAND_MTHCA_DEBUG is not set
  6.1543  CONFIG_INFINIBAND_IPOIB=m
  6.1544  # CONFIG_INFINIBAND_IPOIB_DEBUG is not set
  6.1545  
  6.1546  #
  6.1547 +# SN Devices
  6.1548 +#
  6.1549 +
  6.1550 +#
  6.1551  # Firmware Drivers
  6.1552  #
  6.1553 +CONFIG_DELL_RBU=m
  6.1554 +CONFIG_DCDBAS=m
  6.1555  
  6.1556  #
  6.1557  # File systems
  6.1558 @@ -2090,6 +2271,8 @@ CONFIG_EXT2_FS=y
  6.1559  CONFIG_EXT2_FS_XATTR=y
  6.1560  CONFIG_EXT2_FS_POSIX_ACL=y
  6.1561  CONFIG_EXT2_FS_SECURITY=y
  6.1562 +CONFIG_EXT2_FS_XIP=y
  6.1563 +CONFIG_FS_XIP=y
  6.1564  CONFIG_EXT3_FS=m
  6.1565  CONFIG_EXT3_FS_XATTR=y
  6.1566  CONFIG_EXT3_FS_POSIX_ACL=y
  6.1567 @@ -2109,18 +2292,15 @@ CONFIG_JFS_SECURITY=y
  6.1568  # CONFIG_JFS_DEBUG is not set
  6.1569  # CONFIG_JFS_STATISTICS is not set
  6.1570  CONFIG_FS_POSIX_ACL=y
  6.1571 -
  6.1572 -#
  6.1573 -# XFS support
  6.1574 -#
  6.1575  CONFIG_XFS_FS=m
  6.1576  CONFIG_XFS_EXPORT=y
  6.1577 -# CONFIG_XFS_RT is not set
  6.1578 -CONFIG_XFS_QUOTA=y
  6.1579 +CONFIG_XFS_QUOTA=m
  6.1580  CONFIG_XFS_SECURITY=y
  6.1581  CONFIG_XFS_POSIX_ACL=y
  6.1582 +# CONFIG_XFS_RT is not set
  6.1583  CONFIG_MINIX_FS=m
  6.1584  CONFIG_ROMFS_FS=m
  6.1585 +CONFIG_INOTIFY=y
  6.1586  CONFIG_QUOTA=y
  6.1587  # CONFIG_QFMT_V1 is not set
  6.1588  CONFIG_QFMT_V2=y
  6.1589 @@ -2128,6 +2308,7 @@ CONFIG_QUOTACTL=y
  6.1590  CONFIG_DNOTIFY=y
  6.1591  CONFIG_AUTOFS_FS=m
  6.1592  CONFIG_AUTOFS4_FS=m
  6.1593 +CONFIG_FUSE_FS=m
  6.1594  
  6.1595  #
  6.1596  # CD-ROM/DVD Filesystems
  6.1597 @@ -2155,14 +2336,10 @@ CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
  6.1598  CONFIG_PROC_FS=y
  6.1599  CONFIG_PROC_KCORE=y
  6.1600  CONFIG_SYSFS=y
  6.1601 -# CONFIG_DEVFS_FS is not set
  6.1602 -CONFIG_DEVPTS_FS_XATTR=y
  6.1603 -CONFIG_DEVPTS_FS_SECURITY=y
  6.1604  CONFIG_TMPFS=y
  6.1605 -CONFIG_TMPFS_XATTR=y
  6.1606 -CONFIG_TMPFS_SECURITY=y
  6.1607  # CONFIG_HUGETLB_PAGE is not set
  6.1608  CONFIG_RAMFS=y
  6.1609 +CONFIG_RELAYFS_FS=m
  6.1610  
  6.1611  #
  6.1612  # Miscellaneous filesystems
  6.1613 @@ -2178,8 +2355,7 @@ CONFIG_EFS_FS=m
  6.1614  # CONFIG_JFFS_FS is not set
  6.1615  CONFIG_JFFS2_FS=m
  6.1616  CONFIG_JFFS2_FS_DEBUG=0
  6.1617 -CONFIG_JFFS2_FS_NAND=y
  6.1618 -# CONFIG_JFFS2_FS_NOR_ECC is not set
  6.1619 +CONFIG_JFFS2_FS_WRITEBUFFER=y
  6.1620  # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
  6.1621  CONFIG_JFFS2_ZLIB=y
  6.1622  CONFIG_JFFS2_RTIME=y
  6.1623 @@ -2198,15 +2374,18 @@ CONFIG_UFS_FS=m
  6.1624  #
  6.1625  CONFIG_NFS_FS=m
  6.1626  CONFIG_NFS_V3=y
  6.1627 +# CONFIG_NFS_V3_ACL is not set
  6.1628  CONFIG_NFS_V4=y
  6.1629  CONFIG_NFS_DIRECTIO=y
  6.1630  CONFIG_NFSD=m
  6.1631  CONFIG_NFSD_V3=y
  6.1632 +# CONFIG_NFSD_V3_ACL is not set
  6.1633  CONFIG_NFSD_V4=y
  6.1634  CONFIG_NFSD_TCP=y
  6.1635  CONFIG_LOCKD=m
  6.1636  CONFIG_LOCKD_V4=y
  6.1637  CONFIG_EXPORTFS=m
  6.1638 +CONFIG_NFS_COMMON=y
  6.1639  CONFIG_SUNRPC=m
  6.1640  CONFIG_SUNRPC_GSS=m
  6.1641  CONFIG_RPCSEC_GSS_KRB5=m
  6.1642 @@ -2229,6 +2408,7 @@ CONFIG_NCPFS_NLS=y
  6.1643  CONFIG_NCPFS_EXTRAS=y
  6.1644  # CONFIG_CODA_FS is not set
  6.1645  # CONFIG_AFS_FS is not set
  6.1646 +CONFIG_9P_FS=m
  6.1647  
  6.1648  #
  6.1649  # Partition Types
  6.1650 @@ -2306,12 +2486,14 @@ CONFIG_NLS_UTF8=m
  6.1651  CONFIG_DEBUG_KERNEL=y
  6.1652  CONFIG_MAGIC_SYSRQ=y
  6.1653  CONFIG_LOG_BUF_SHIFT=15
  6.1654 +CONFIG_DETECT_SOFTLOCKUP=y
  6.1655  # CONFIG_SCHEDSTATS is not set
  6.1656  # CONFIG_DEBUG_SLAB is not set
  6.1657  # CONFIG_DEBUG_SPINLOCK is not set
  6.1658  # CONFIG_DEBUG_SPINLOCK_SLEEP is not set
  6.1659  # CONFIG_DEBUG_KOBJECT is not set
  6.1660  # CONFIG_DEBUG_FS is not set
  6.1661 +# CONFIG_FRAME_POINTER is not set
  6.1662  # CONFIG_INIT_DEBUG is not set
  6.1663  # CONFIG_KPROBES is not set
  6.1664  
  6.1665 @@ -2340,7 +2522,7 @@ CONFIG_CRYPTO=y
  6.1666  CONFIG_CRYPTO_HMAC=y
  6.1667  CONFIG_CRYPTO_NULL=m
  6.1668  CONFIG_CRYPTO_MD4=m
  6.1669 -CONFIG_CRYPTO_MD5=m
  6.1670 +CONFIG_CRYPTO_MD5=y
  6.1671  CONFIG_CRYPTO_SHA1=y
  6.1672  CONFIG_CRYPTO_SHA256=m
  6.1673  CONFIG_CRYPTO_SHA512=m
  6.1674 @@ -2351,6 +2533,7 @@ CONFIG_CRYPTO_BLOWFISH=m
  6.1675  CONFIG_CRYPTO_TWOFISH=m
  6.1676  CONFIG_CRYPTO_SERPENT=m
  6.1677  CONFIG_CRYPTO_AES=m
  6.1678 +CONFIG_CRYPTO_AES_X86_64=m
  6.1679  CONFIG_CRYPTO_CAST5=m
  6.1680  CONFIG_CRYPTO_CAST6=m
  6.1681  CONFIG_CRYPTO_TEA=m
  6.1682 @@ -2393,7 +2576,12 @@ CONFIG_HAVE_ARCH_DEV_ALLOC_SKB=y
  6.1683  # Library routines
  6.1684  #
  6.1685  CONFIG_CRC_CCITT=m
  6.1686 +CONFIG_CRC16=m
  6.1687  CONFIG_CRC32=y
  6.1688  CONFIG_LIBCRC32C=m
  6.1689  CONFIG_ZLIB_INFLATE=y
  6.1690  CONFIG_ZLIB_DEFLATE=m
  6.1691 +CONFIG_TEXTSEARCH=y
  6.1692 +CONFIG_TEXTSEARCH_KMP=m
  6.1693 +CONFIG_TEXTSEARCH_BM=m
  6.1694 +CONFIG_TEXTSEARCH_FSM=m
     7.1 --- a/buildconfigs/mk.linux-2.6-xen	Tue Jan 31 19:55:55 2006 +0100
     7.2 +++ b/buildconfigs/mk.linux-2.6-xen	Tue Jan 31 19:55:22 2006 +0000
     7.3 @@ -2,7 +2,7 @@
     7.4  OS           = linux
     7.5  
     7.6  LINUX_SERIES = 2.6
     7.7 -LINUX_VER    = 2.6.12
     7.8 +LINUX_VER    = 2.6.14
     7.9  
    7.10  EXTRAVERSION ?= xen
    7.11  
     8.1 --- a/linux-2.6-xen-sparse/arch/i386/Kconfig	Tue Jan 31 19:55:55 2006 +0100
     8.2 +++ b/linux-2.6-xen-sparse/arch/i386/Kconfig	Tue Jan 31 19:55:22 2006 +0000
     8.3 @@ -14,6 +14,10 @@ config X86
     8.4  	  486, 586, Pentiums, and various instruction-set-compatible chips by
     8.5  	  AMD, Cyrix, and others.
     8.6  
     8.7 +config SEMAPHORE_SLEEPERS
     8.8 +	bool
     8.9 +	default y
    8.10 +
    8.11  config MMU
    8.12  	bool
    8.13  	default y
    8.14 @@ -33,6 +37,10 @@ config GENERIC_IOMAP
    8.15  	bool
    8.16  	default y
    8.17  
    8.18 +config ARCH_MAY_HAVE_PC_FDC
    8.19 +	bool
    8.20 +	default y
    8.21 +
    8.22  source "init/Kconfig"
    8.23  
    8.24  menu "Processor type and features"
    8.25 @@ -77,7 +85,6 @@ config X86_VOYAGER
    8.26  
    8.27  config X86_NUMAQ
    8.28  	bool "NUMAQ (IBM/Sequent)"
    8.29 -	select DISCONTIGMEM
    8.30  	select NUMA
    8.31  	help
    8.32  	  This option is used for getting Linux to run on a (IBM/Sequent) NUMA
    8.33 @@ -465,8 +472,9 @@ config HPET_TIMER
    8.34  	  Choose N to continue using the legacy 8254 timer.
    8.35  
    8.36  config HPET_EMULATE_RTC
    8.37 -	bool "Provide RTC interrupt"
    8.38 +	bool
    8.39  	depends on HPET_TIMER && RTC=y
    8.40 +	default y
    8.41  
    8.42  config SMP
    8.43  	bool "Symmetric multi-processing support"
    8.44 @@ -534,29 +542,7 @@ config SCHED_SMT
    8.45  	  cost of slightly increased overhead in some places. If unsure say
    8.46  	  N here.
    8.47  
    8.48 -config PREEMPT
    8.49 -	bool "Preemptible Kernel"
    8.50 -	depends on !X86_XEN
    8.51 -	help
    8.52 -	  This option reduces the latency of the kernel when reacting to
    8.53 -	  real-time or interactive events by allowing a low priority process to
    8.54 -	  be preempted even if it is in kernel mode executing a system call.
    8.55 -	  This allows applications to run more reliably even when the system is
    8.56 -	  under load.
    8.57 -
    8.58 -	  Say Y here if you are building a kernel for a desktop, embedded
    8.59 -	  or real-time system.  Say N if you are unsure.
    8.60 -
    8.61 -config PREEMPT_BKL
    8.62 -	bool "Preempt The Big Kernel Lock"
    8.63 -	depends on PREEMPT
    8.64 -	default y
    8.65 -	help
    8.66 -	  This option reduces the latency of the kernel by making the
    8.67 -	  big kernel lock preemptible.
    8.68 -
    8.69 -	  Say Y here if you are building a kernel for a desktop system.
    8.70 -	  Say N if you are unsure.
    8.71 +source "kernel/Kconfig.preempt"
    8.72  
    8.73  config X86_UP_APIC
    8.74  	bool "Local APIC support on uniprocessors"
    8.75 @@ -805,6 +791,7 @@ config NUMA
    8.76  	depends on SMP && HIGHMEM64G && (X86_NUMAQ || X86_GENERICARCH || (X86_SUMMIT && ACPI))
    8.77  	default n if X86_PC
    8.78  	default y if (X86_NUMAQ || X86_SUMMIT)
    8.79 +	select SPARSEMEM_STATIC
    8.80  
    8.81  # Need comments to help the hapless user trying to turn on NUMA support
    8.82  comment "NUMA (NUMA-Q) requires SMP, 64GB highmem support"
    8.83 @@ -813,26 +800,49 @@ comment "NUMA (NUMA-Q) requires SMP, 64G
    8.84  comment "NUMA (Summit) requires SMP, 64GB highmem support, ACPI"
    8.85  	depends on X86_SUMMIT && (!HIGHMEM64G || !ACPI)
    8.86  
    8.87 -config DISCONTIGMEM
    8.88 -	bool
    8.89 -	depends on NUMA
    8.90 -	default y
    8.91 -
    8.92  config HAVE_ARCH_BOOTMEM_NODE
    8.93  	bool
    8.94  	depends on NUMA
    8.95  	default y
    8.96  
    8.97 -config HAVE_MEMORY_PRESENT
    8.98 +config ARCH_HAVE_MEMORY_PRESENT
    8.99  	bool
   8.100  	depends on DISCONTIGMEM
   8.101  	default y
   8.102  
   8.103  config NEED_NODE_MEMMAP_SIZE
   8.104  	bool
   8.105 -	depends on DISCONTIGMEM
   8.106 +	depends on DISCONTIGMEM || SPARSEMEM
   8.107  	default y
   8.108  
   8.109 +config HAVE_ARCH_ALLOC_REMAP
   8.110 +	bool
   8.111 +	depends on NUMA
   8.112 +	default y
   8.113 +
   8.114 +config ARCH_DISCONTIGMEM_ENABLE
   8.115 +	def_bool y
   8.116 +	depends on NUMA
   8.117 +
   8.118 +config ARCH_DISCONTIGMEM_DEFAULT
   8.119 +	def_bool y
   8.120 +	depends on NUMA
   8.121 +
   8.122 +config ARCH_SPARSEMEM_ENABLE
   8.123 +	def_bool y
   8.124 +	depends on NUMA
   8.125 +
   8.126 +config ARCH_SELECT_MEMORY_MODEL
   8.127 +	def_bool y
   8.128 +	depends on ARCH_SPARSEMEM_ENABLE
   8.129 +
   8.130 +source "mm/Kconfig"
   8.131 +
   8.132 +config HAVE_ARCH_EARLY_PFN_TO_NID
   8.133 +	bool
   8.134 +	default y
   8.135 +	depends on NUMA
   8.136 +
   8.137  config HIGHPTE
   8.138  	bool "Allocate 3rd-level pagetables from highmem"
   8.139  	depends on (HIGHMEM4G || HIGHMEM64G) && !X86_XEN
   8.140 @@ -930,11 +940,6 @@ config IRQBALANCE
   8.141   	  The default yes will allow the kernel to do irq load balancing.
   8.142  	  Saying no will keep the kernel from doing irq load balancing.
   8.143  
   8.144 -config HAVE_DEC_LOCK
   8.145 -	bool
   8.146 -	depends on (SMP || PREEMPT) && X86_CMPXCHG
   8.147 -	default y
   8.148 -
   8.149  # turning this on wastes a bunch of space.
   8.150  # Summit needs it only when NUMA is on
   8.151  config BOOT_IOREMAP
   8.152 @@ -972,6 +977,43 @@ config SECCOMP
   8.153  
   8.154  	  If unsure, say Y. Only embedded should say N here.
   8.155  
   8.156 +source kernel/Kconfig.hz
   8.157 +
   8.158 +config PHYSICAL_START
   8.159 +	hex "Physical address where the kernel is loaded" if EMBEDDED
   8.160 +	default "0x100000"
   8.161 +	help
   8.162 +	  This gives the physical address where the kernel is loaded.
   8.163 +	  Primarily used in the case of kexec on panic where the
   8.164 +	  fail safe kernel needs to run at a different address than
   8.165 +	  the panic-ed kernel.
   8.166 +
   8.167 +	  Don't change this unless you know what you are doing.
   8.168 +
   8.169 +config KEXEC
   8.170 +	bool "kexec system call (EXPERIMENTAL)"
   8.171 +	depends on EXPERIMENTAL && !X86_XEN
   8.172 +	help
   8.173 +	  kexec is a system call that implements the ability to shutdown your
   8.174 +	  current kernel, and to start another kernel.  It is like a reboot
   8.175 +	  but it is indepedent of the system firmware.   And like a reboot
   8.176 +	  you can start any kernel with it, not just Linux.
   8.177 +
   8.178 +	  The name comes from the similiarity to the exec system call.
   8.179 +
   8.180 +	  It is an ongoing process to be certain the hardware in a machine
   8.181 +	  is properly shutdown, so do not be surprised if this code does not
   8.182 +	  initially work for you.  It may help to enable device hotplugging
   8.183 +	  support.  As of this writing the exact hardware interface is
   8.184 +	  strongly in flux, so no good recommendation can be made.
   8.185 +
   8.186 +config CRASH_DUMP
   8.187 +	bool "kernel crash dumps (EXPERIMENTAL)"
   8.188 +	depends on EMBEDDED
   8.189 +	depends on EXPERIMENTAL
   8.190 +	depends on HIGHMEM
   8.191 +	help
   8.192 +	  Generate crash dump after being started by kexec.
   8.193  endmenu
   8.194  
   8.195  
   8.196 @@ -1201,7 +1243,6 @@ config PCI_DIRECT
   8.197  config PCI_MMCONFIG
   8.198  	bool
   8.199  	depends on PCI && ACPI && (PCI_GOMMCONFIG || PCI_GOANY)
   8.200 -	select ACPI_BOOT
   8.201  	default y
   8.202  
   8.203  source "drivers/pci/pcie/Kconfig"
   8.204 @@ -1264,6 +1305,15 @@ config SCx200
   8.205  	  This support is also available as a module.  If compiled as a
   8.206  	  module, it will be called scx200.
   8.207  
   8.208 +config HOTPLUG_CPU
   8.209 +	bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
   8.210 +	depends on SMP && HOTPLUG && EXPERIMENTAL
   8.211 +	---help---
   8.212 +	  Say Y here to experiment with turning CPUs off and on.  CPUs
   8.213 +	  can be controlled through /sys/devices/system/cpu.
   8.214 +
   8.215 +	  Say N.
   8.216 +
   8.217  source "drivers/pcmcia/Kconfig"
   8.218  
   8.219  source "drivers/pci/hotplug/Kconfig"
   8.220 @@ -1276,6 +1326,8 @@ source "fs/Kconfig.binfmt"
   8.221  
   8.222  endmenu
   8.223  
   8.224 +source "net/Kconfig"
   8.225 +
   8.226  source "drivers/Kconfig"
   8.227  
   8.228  source "fs/Kconfig"
   8.229 @@ -1305,6 +1357,11 @@ config GENERIC_IRQ_PROBE
   8.230  	bool
   8.231  	default y
   8.232  
   8.233 +config GENERIC_PENDING_IRQ
   8.234 +	bool
   8.235 +	depends on GENERIC_HARDIRQS && SMP
   8.236 +	default y
   8.237 +
   8.238  config X86_SMP
   8.239  	bool
   8.240  	depends on SMP && !X86_VOYAGER
     9.1 --- a/linux-2.6-xen-sparse/arch/i386/Makefile	Tue Jan 31 19:55:55 2006 +0100
     9.2 +++ b/linux-2.6-xen-sparse/arch/i386/Makefile	Tue Jan 31 19:55:22 2006 +0000
     9.3 @@ -174,15 +174,6 @@ install kernel_install:
     9.4  	$(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) install
     9.5  endif
     9.6  
     9.7 -prepare: include/asm-$(ARCH)/asm_offsets.h
     9.8 -CLEAN_FILES += include/asm-$(ARCH)/asm_offsets.h
     9.9 -
    9.10 -arch/$(ARCH)/kernel/asm-offsets.s: include/asm include/linux/version.h \
    9.11 -				   include/config/MARKER
    9.12 -
    9.13 -include/asm-$(ARCH)/asm_offsets.h: arch/$(ARCH)/kernel/asm-offsets.s
    9.14 -	$(call filechk,gen-asm-offsets)
    9.15 -
    9.16  archclean:
    9.17  	$(Q)$(MAKE) $(clean)=arch/i386/boot
    9.18  
    10.1 --- a/linux-2.6-xen-sparse/arch/i386/kernel/Makefile	Tue Jan 31 19:55:55 2006 +0100
    10.2 +++ b/linux-2.6-xen-sparse/arch/i386/kernel/Makefile	Tue Jan 31 19:55:22 2006 +0000
    10.3 @@ -7,11 +7,11 @@ extra-y := head.o init_task.o vmlinux.ld
    10.4  obj-y	:= process.o semaphore.o signal.o entry.o traps.o irq.o vm86.o \
    10.5  		ptrace.o time.o ioport.o ldt.o setup.o i8259.o sys_i386.o \
    10.6  		pci-dma.o i386_ksyms.o i387.o dmi_scan.o bootflag.o \
    10.7 -		doublefault.o quirks.o
    10.8 +		doublefault.o quirks.o i8237.o
    10.9  
   10.10  obj-y				+= cpu/
   10.11  obj-y				+= timers/
   10.12 -obj-$(CONFIG_ACPI_BOOT)		+= acpi/
   10.13 +obj-$(CONFIG_ACPI)		+= acpi/
   10.14  obj-$(CONFIG_X86_BIOS_REBOOT)	+= reboot.o
   10.15  obj-$(CONFIG_MCA)		+= mca.o
   10.16  obj-$(CONFIG_X86_MSR)		+= msr.o
   10.17 @@ -24,6 +24,7 @@ obj-$(CONFIG_X86_MPPARSE)	+= mpparse.o
   10.18  obj-$(CONFIG_X86_LOCAL_APIC)	+= apic.o nmi.o
   10.19  obj-$(CONFIG_X86_IO_APIC)	+= io_apic.o
   10.20  obj-$(CONFIG_X86_REBOOTFIXUPS)	+= reboot_fixups.o
   10.21 +obj-$(CONFIG_KEXEC)		+= machine_kexec.o relocate_kernel.o crash.o
   10.22  obj-$(CONFIG_X86_NUMAQ)		+= numaq.o
   10.23  obj-$(CONFIG_X86_SUMMIT_NUMA)	+= summit.o
   10.24  obj-$(CONFIG_KPROBES)		+= kprobes.o
    11.1 --- a/linux-2.6-xen-sparse/arch/i386/kernel/acpi/Makefile	Tue Jan 31 19:55:55 2006 +0100
    11.2 +++ b/linux-2.6-xen-sparse/arch/i386/kernel/acpi/Makefile	Tue Jan 31 19:55:22 2006 +0000
    11.3 @@ -1,7 +1,11 @@
    11.4 -obj-$(CONFIG_ACPI_BOOT)		:= boot.o
    11.5 +obj-y				:= boot.o
    11.6  obj-$(CONFIG_X86_IO_APIC)	+= earlyquirk.o
    11.7  obj-$(CONFIG_ACPI_SLEEP)	+= sleep.o wakeup.o
    11.8  
    11.9 +ifneq ($(CONFIG_ACPI_PROCESSOR),)
   11.10 +obj-y				+= cstate.o
   11.11 +endif
   11.12 +
   11.13  ifdef CONFIG_XEN
   11.14  include $(srctree)/scripts/Makefile.xen
   11.15  obj-y := $(call cherrypickxen, $(obj-y), $(src))
    12.1 --- a/linux-2.6-xen-sparse/arch/i386/kernel/acpi/boot-xen.c	Tue Jan 31 19:55:55 2006 +0100
    12.2 +++ b/linux-2.6-xen-sparse/arch/i386/kernel/acpi/boot-xen.c	Tue Jan 31 19:55:22 2006 +0000
    12.3 @@ -27,14 +27,14 @@
    12.4  #include <linux/config.h>
    12.5  #include <linux/acpi.h>
    12.6  #include <linux/efi.h>
    12.7 +#include <linux/module.h>
    12.8 +#include <linux/dmi.h>
    12.9  #include <linux/irq.h>
   12.10 -#include <linux/module.h>
   12.11  
   12.12  #include <asm/pgtable.h>
   12.13  #include <asm/io_apic.h>
   12.14  #include <asm/apic.h>
   12.15  #include <asm/io.h>
   12.16 -#include <asm/irq.h>
   12.17  #include <asm/mpspec.h>
   12.18  #ifdef CONFIG_XEN
   12.19  #include <asm/fixmap.h>
   12.20 @@ -42,19 +42,25 @@
   12.21  
   12.22  #ifdef	CONFIG_X86_64
   12.23  
   12.24 -static inline void  acpi_madt_oem_check(char *oem_id, char *oem_table_id) { }
   12.25 +static inline void acpi_madt_oem_check(char *oem_id, char *oem_table_id)
   12.26 +{
   12.27 +}
   12.28  extern void __init clustered_apic_check(void);
   12.29 -static inline int ioapic_setup_disabled(void) { return 0; }
   12.30 +static inline int ioapic_setup_disabled(void)
   12.31 +{
   12.32 +	return 0;
   12.33 +}
   12.34 +
   12.35  #include <asm/proto.h>
   12.36  
   12.37 -#else	/* X86 */
   12.38 +#else				/* X86 */
   12.39  
   12.40  #ifdef	CONFIG_X86_LOCAL_APIC
   12.41  #include <mach_apic.h>
   12.42  #include <mach_mpparse.h>
   12.43 -#endif	/* CONFIG_X86_LOCAL_APIC */
   12.44 +#endif				/* CONFIG_X86_LOCAL_APIC */
   12.45  
   12.46 -#endif	/* X86 */
   12.47 +#endif				/* X86 */
   12.48  
   12.49  #define BAD_MADT_ENTRY(entry, end) (					    \
   12.50  		(!entry) || (unsigned long)entry + sizeof(*entry) > end ||  \
   12.51 @@ -62,13 +68,8 @@ static inline int ioapic_setup_disabled(
   12.52  
   12.53  #define PREFIX			"ACPI: "
   12.54  
   12.55 -#ifdef CONFIG_ACPI_PCI
   12.56  int acpi_noirq __initdata;	/* skip ACPI IRQ initialization */
   12.57 -int acpi_pci_disabled __initdata; /* skip ACPI PCI scan and IRQ initialization */
   12.58 -#else
   12.59 -int acpi_noirq __initdata = 1;
   12.60 -int acpi_pci_disabled __initdata = 1;
   12.61 -#endif
   12.62 +int acpi_pci_disabled __initdata;	/* skip ACPI PCI scan and IRQ initialization */
   12.63  int acpi_ht __initdata = 1;	/* enable HT */
   12.64  
   12.65  int acpi_lapic;
   12.66 @@ -90,7 +91,7 @@ static u64 acpi_lapic_addr __initdata = 
   12.67  
   12.68  #define MAX_MADT_ENTRIES	256
   12.69  u8 x86_acpiid_to_apicid[MAX_MADT_ENTRIES] =
   12.70 -			{ [0 ... MAX_MADT_ENTRIES-1] = 0xff };
   12.71 +    {[0 ... MAX_MADT_ENTRIES - 1] = 0xff };
   12.72  EXPORT_SYMBOL(x86_acpiid_to_apicid);
   12.73  
   12.74  /* --------------------------------------------------------------------------
   12.75 @@ -101,7 +102,7 @@ EXPORT_SYMBOL(x86_acpiid_to_apicid);
   12.76   * The default interrupt routing model is PIC (8259).  This gets
   12.77   * overriden if IOAPICs are enumerated (below).
   12.78   */
   12.79 -enum acpi_irq_model_id		acpi_irq_model = ACPI_IRQ_MODEL_PIC;
   12.80 +enum acpi_irq_model_id acpi_irq_model = ACPI_IRQ_MODEL_PIC;
   12.81  
   12.82  #if defined(CONFIG_X86_64) && !defined(CONFIG_XEN)
   12.83  
   12.84 @@ -109,7 +110,7 @@ enum acpi_irq_model_id		acpi_irq_model =
   12.85  char *__acpi_map_table(unsigned long phys_addr, unsigned long size)
   12.86  {
   12.87  	if (!phys_addr || !size)
   12.88 -	return NULL;
   12.89 +		return NULL;
   12.90  
   12.91  	if (phys_addr < (end_pfn_map << PAGE_SHIFT))
   12.92  		return __va(phys_addr);
   12.93 @@ -137,8 +138,8 @@ char *__acpi_map_table(unsigned long phy
   12.94  	int idx;
   12.95  
   12.96  #ifndef CONFIG_XEN
   12.97 -	if (phys + size < 8*1024*1024) 
   12.98 -		return __va(phys); 
   12.99 +	if (phys + size < 8 * 1024 * 1024) 
  12.100 +		return __va(phys);
  12.101  #endif
  12.102  
  12.103  	offset = phys & (PAGE_SIZE - 1);
  12.104 @@ -158,49 +159,72 @@ char *__acpi_map_table(unsigned long phy
  12.105  		mapped_size += PAGE_SIZE;
  12.106  	}
  12.107  
  12.108 -	return ((unsigned char *) base + offset);
  12.109 +	return ((unsigned char *)base + offset);
  12.110  }
  12.111  #endif
  12.112  
  12.113  #ifdef CONFIG_PCI_MMCONFIG
  12.114 -static int __init acpi_parse_mcfg(unsigned long phys_addr, unsigned long size)
  12.115 +/* The physical address of the MMCONFIG aperture.  Set from ACPI tables. */
  12.116 +struct acpi_table_mcfg_config *pci_mmcfg_config;
  12.117 +int pci_mmcfg_config_num;
  12.118 +
  12.119 +int __init acpi_parse_mcfg(unsigned long phys_addr, unsigned long size)
  12.120  {
  12.121  	struct acpi_table_mcfg *mcfg;
  12.122 +	unsigned long i;
  12.123 +	int config_size;
  12.124  
  12.125  	if (!phys_addr || !size)
  12.126  		return -EINVAL;
  12.127  
  12.128 -	mcfg = (struct acpi_table_mcfg *) __acpi_map_table(phys_addr, size);
  12.129 +	mcfg = (struct acpi_table_mcfg *)__acpi_map_table(phys_addr, size);
  12.130  	if (!mcfg) {
  12.131  		printk(KERN_WARNING PREFIX "Unable to map MCFG\n");
  12.132  		return -ENODEV;
  12.133  	}
  12.134  
  12.135 -	if (mcfg->base_reserved) {
  12.136 -		printk(KERN_ERR PREFIX "MMCONFIG not in low 4GB of memory\n");
  12.137 +	/* how many config structures do we have */
  12.138 +	pci_mmcfg_config_num = 0;
  12.139 +	i = size - sizeof(struct acpi_table_mcfg);
  12.140 +	while (i >= sizeof(struct acpi_table_mcfg_config)) {
  12.141 +		++pci_mmcfg_config_num;
  12.142 +		i -= sizeof(struct acpi_table_mcfg_config);
  12.143 +	};
  12.144 +	if (pci_mmcfg_config_num == 0) {
  12.145 +		printk(KERN_ERR PREFIX "MMCONFIG has no entries\n");
  12.146  		return -ENODEV;
  12.147  	}
  12.148  
  12.149 -	pci_mmcfg_base_addr = mcfg->base_address;
  12.150 +	config_size = pci_mmcfg_config_num * sizeof(*pci_mmcfg_config);
  12.151 +	pci_mmcfg_config = kmalloc(config_size, GFP_KERNEL);
  12.152 +	if (!pci_mmcfg_config) {
  12.153 +		printk(KERN_WARNING PREFIX
  12.154 +		       "No memory for MCFG config tables\n");
  12.155 +		return -ENOMEM;
  12.156 +	}
  12.157 +
  12.158 +	memcpy(pci_mmcfg_config, &mcfg->config, config_size);
  12.159 +	for (i = 0; i < pci_mmcfg_config_num; ++i) {
  12.160 +		if (mcfg->config[i].base_reserved) {
  12.161 +			printk(KERN_ERR PREFIX
  12.162 +			       "MMCONFIG not in low 4GB of memory\n");
  12.163 +			return -ENODEV;
  12.164 +		}
  12.165 +	}
  12.166  
  12.167  	return 0;
  12.168  }
  12.169 -#else
  12.170 -#define	acpi_parse_mcfg NULL
  12.171 -#endif /* !CONFIG_PCI_MMCONFIG */
  12.172 +#endif				/* CONFIG_PCI_MMCONFIG */
  12.173  
  12.174  #ifdef CONFIG_X86_LOCAL_APIC
  12.175 -static int __init
  12.176 -acpi_parse_madt (
  12.177 -	unsigned long		phys_addr,
  12.178 -	unsigned long		size)
  12.179 +static int __init acpi_parse_madt(unsigned long phys_addr, unsigned long size)
  12.180  {
  12.181 -	struct acpi_table_madt	*madt = NULL;
  12.182 +	struct acpi_table_madt *madt = NULL;
  12.183  
  12.184  	if (!phys_addr || !size)
  12.185  		return -EINVAL;
  12.186  
  12.187 -	madt = (struct acpi_table_madt *) __acpi_map_table(phys_addr, size);
  12.188 +	madt = (struct acpi_table_madt *)__acpi_map_table(phys_addr, size);
  12.189  	if (!madt) {
  12.190  		printk(KERN_WARNING PREFIX "Unable to map MADT\n");
  12.191  		return -ENODEV;
  12.192 @@ -210,22 +234,20 @@ acpi_parse_madt (
  12.193  		acpi_lapic_addr = (u64) madt->lapic_address;
  12.194  
  12.195  		printk(KERN_DEBUG PREFIX "Local APIC address 0x%08x\n",
  12.196 -			madt->lapic_address);
  12.197 +		       madt->lapic_address);
  12.198  	}
  12.199  
  12.200  	acpi_madt_oem_check(madt->header.oem_id, madt->header.oem_table_id);
  12.201 -	
  12.202 +
  12.203  	return 0;
  12.204  }
  12.205  
  12.206 -
  12.207  static int __init
  12.208 -acpi_parse_lapic (
  12.209 -	acpi_table_entry_header *header, const unsigned long end)
  12.210 +acpi_parse_lapic(acpi_table_entry_header * header, const unsigned long end)
  12.211  {
  12.212 -	struct acpi_table_lapic	*processor = NULL;
  12.213 +	struct acpi_table_lapic *processor = NULL;
  12.214  
  12.215 -	processor = (struct acpi_table_lapic*) header;
  12.216 +	processor = (struct acpi_table_lapic *)header;
  12.217  
  12.218  	if (BAD_MADT_ENTRY(processor, end))
  12.219  		return -EINVAL;
  12.220 @@ -238,20 +260,19 @@ acpi_parse_lapic (
  12.221  
  12.222  	x86_acpiid_to_apicid[processor->acpi_id] = processor->id;
  12.223  
  12.224 -	mp_register_lapic (
  12.225 -		processor->id,					   /* APIC ID */
  12.226 -		processor->flags.enabled);			  /* Enabled? */
  12.227 +	mp_register_lapic(processor->id,	/* APIC ID */
  12.228 +			  processor->flags.enabled);	/* Enabled? */
  12.229  
  12.230  	return 0;
  12.231  }
  12.232  
  12.233  static int __init
  12.234 -acpi_parse_lapic_addr_ovr (
  12.235 -	acpi_table_entry_header *header, const unsigned long end)
  12.236 +acpi_parse_lapic_addr_ovr(acpi_table_entry_header * header,
  12.237 +			  const unsigned long end)
  12.238  {
  12.239  	struct acpi_table_lapic_addr_ovr *lapic_addr_ovr = NULL;
  12.240  
  12.241 -	lapic_addr_ovr = (struct acpi_table_lapic_addr_ovr*) header;
  12.242 +	lapic_addr_ovr = (struct acpi_table_lapic_addr_ovr *)header;
  12.243  
  12.244  	if (BAD_MADT_ENTRY(lapic_addr_ovr, end))
  12.245  		return -EINVAL;
  12.246 @@ -262,12 +283,11 @@ acpi_parse_lapic_addr_ovr (
  12.247  }
  12.248  
  12.249  static int __init
  12.250 -acpi_parse_lapic_nmi (
  12.251 -	acpi_table_entry_header *header, const unsigned long end)
  12.252 +acpi_parse_lapic_nmi(acpi_table_entry_header * header, const unsigned long end)
  12.253  {
  12.254  	struct acpi_table_lapic_nmi *lapic_nmi = NULL;
  12.255  
  12.256 -	lapic_nmi = (struct acpi_table_lapic_nmi*) header;
  12.257 +	lapic_nmi = (struct acpi_table_lapic_nmi *)header;
  12.258  
  12.259  	if (BAD_MADT_ENTRY(lapic_nmi, end))
  12.260  		return -EINVAL;
  12.261 @@ -280,37 +300,32 @@ acpi_parse_lapic_nmi (
  12.262  	return 0;
  12.263  }
  12.264  
  12.265 +#endif				/*CONFIG_X86_LOCAL_APIC */
  12.266  
  12.267 -#endif /*CONFIG_X86_LOCAL_APIC*/
  12.268 -
  12.269 -#if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_ACPI_INTERPRETER)
  12.270 +#ifdef CONFIG_X86_IO_APIC
  12.271  
  12.272  static int __init
  12.273 -acpi_parse_ioapic (
  12.274 -	acpi_table_entry_header *header, const unsigned long end)
  12.275 +acpi_parse_ioapic(acpi_table_entry_header * header, const unsigned long end)
  12.276  {
  12.277  	struct acpi_table_ioapic *ioapic = NULL;
  12.278  
  12.279 -	ioapic = (struct acpi_table_ioapic*) header;
  12.280 +	ioapic = (struct acpi_table_ioapic *)header;
  12.281  
  12.282  	if (BAD_MADT_ENTRY(ioapic, end))
  12.283  		return -EINVAL;
  12.284 - 
  12.285 +
  12.286  	acpi_table_print_madt_entry(header);
  12.287  
  12.288 -	mp_register_ioapic (
  12.289 -		ioapic->id,
  12.290 -		ioapic->address,
  12.291 -		ioapic->global_irq_base);
  12.292 - 
  12.293 +	mp_register_ioapic(ioapic->id,
  12.294 +			   ioapic->address, ioapic->global_irq_base);
  12.295 +
  12.296  	return 0;
  12.297  }
  12.298  
  12.299  /*
  12.300   * Parse Interrupt Source Override for the ACPI SCI
  12.301   */
  12.302 -static void
  12.303 -acpi_sci_ioapic_setup(u32 gsi, u16 polarity, u16 trigger)
  12.304 +static void acpi_sci_ioapic_setup(u32 gsi, u16 polarity, u16 trigger)
  12.305  {
  12.306  	if (trigger == 0)	/* compatible SCI trigger is level */
  12.307  		trigger = 3;
  12.308 @@ -326,7 +341,7 @@ acpi_sci_ioapic_setup(u32 gsi, u16 polar
  12.309  		polarity = acpi_sci_flags.polarity;
  12.310  
  12.311  	/*
  12.312 - 	 * mp_config_acpi_legacy_irqs() already setup IRQs < 16
  12.313 +	 * mp_config_acpi_legacy_irqs() already setup IRQs < 16
  12.314  	 * If GSI is < 16, this will update its flags,
  12.315  	 * else it will create a new mp_irqs[] entry.
  12.316  	 */
  12.317 @@ -341,12 +356,12 @@ acpi_sci_ioapic_setup(u32 gsi, u16 polar
  12.318  }
  12.319  
  12.320  static int __init
  12.321 -acpi_parse_int_src_ovr (
  12.322 -	acpi_table_entry_header *header, const unsigned long end)
  12.323 +acpi_parse_int_src_ovr(acpi_table_entry_header * header,
  12.324 +		       const unsigned long end)
  12.325  {
  12.326  	struct acpi_table_int_src_ovr *intsrc = NULL;
  12.327  
  12.328 -	intsrc = (struct acpi_table_int_src_ovr*) header;
  12.329 +	intsrc = (struct acpi_table_int_src_ovr *)header;
  12.330  
  12.331  	if (BAD_MADT_ENTRY(intsrc, end))
  12.332  		return -EINVAL;
  12.333 @@ -355,33 +370,30 @@ acpi_parse_int_src_ovr (
  12.334  
  12.335  	if (intsrc->bus_irq == acpi_fadt.sci_int) {
  12.336  		acpi_sci_ioapic_setup(intsrc->global_irq,
  12.337 -			intsrc->flags.polarity, intsrc->flags.trigger);
  12.338 +				      intsrc->flags.polarity,
  12.339 +				      intsrc->flags.trigger);
  12.340  		return 0;
  12.341  	}
  12.342  
  12.343  	if (acpi_skip_timer_override &&
  12.344 -		intsrc->bus_irq == 0 && intsrc->global_irq == 2) {
  12.345 -			printk(PREFIX "BIOS IRQ0 pin2 override ignored.\n");
  12.346 -			return 0;
  12.347 +	    intsrc->bus_irq == 0 && intsrc->global_irq == 2) {
  12.348 +		printk(PREFIX "BIOS IRQ0 pin2 override ignored.\n");
  12.349 +		return 0;
  12.350  	}
  12.351  
  12.352 -	mp_override_legacy_irq (
  12.353 -		intsrc->bus_irq,
  12.354 -		intsrc->flags.polarity,
  12.355 -		intsrc->flags.trigger,
  12.356 -		intsrc->global_irq);
  12.357 +	mp_override_legacy_irq(intsrc->bus_irq,
  12.358 +			       intsrc->flags.polarity,
  12.359 +			       intsrc->flags.trigger, intsrc->global_irq);
  12.360  
  12.361  	return 0;
  12.362  }
  12.363  
  12.364 -
  12.365  static int __init
  12.366 -acpi_parse_nmi_src (
  12.367 -	acpi_table_entry_header *header, const unsigned long end)
  12.368 +acpi_parse_nmi_src(acpi_table_entry_header * header, const unsigned long end)
  12.369  {
  12.370  	struct acpi_table_nmi_src *nmi_src = NULL;
  12.371  
  12.372 -	nmi_src = (struct acpi_table_nmi_src*) header;
  12.373 +	nmi_src = (struct acpi_table_nmi_src *)header;
  12.374  
  12.375  	if (BAD_MADT_ENTRY(nmi_src, end))
  12.376  		return -EINVAL;
  12.377 @@ -393,9 +405,7 @@ acpi_parse_nmi_src (
  12.378  	return 0;
  12.379  }
  12.380  
  12.381 -#endif /* CONFIG_X86_IO_APIC */
  12.382 -
  12.383 -#ifdef	CONFIG_ACPI_BUS
  12.384 +#endif				/* CONFIG_X86_IO_APIC */
  12.385  
  12.386  /*
  12.387   * acpi_pic_sci_set_trigger()
  12.388 @@ -411,8 +421,7 @@ acpi_parse_nmi_src (
  12.389   * ECLR2 is IRQ's 8-15 (IRQ 8, 13 must be 0)
  12.390   */
  12.391  
  12.392 -void __init
  12.393 -acpi_pic_sci_set_trigger(unsigned int irq, u16 trigger)
  12.394 +void __init acpi_pic_sci_set_trigger(unsigned int irq, u16 trigger)
  12.395  {
  12.396  	unsigned int mask = 1 << irq;
  12.397  	unsigned int old, new;
  12.398 @@ -432,10 +441,10 @@ acpi_pic_sci_set_trigger(unsigned int ir
  12.399  	 * routing tables..
  12.400  	 */
  12.401  	switch (trigger) {
  12.402 -	case 1:	/* Edge - clear */
  12.403 +	case 1:		/* Edge - clear */
  12.404  		new &= ~mask;
  12.405  		break;
  12.406 -	case 3: /* Level - set */
  12.407 +	case 3:		/* Level - set */
  12.408  		new |= mask;
  12.409  		break;
  12.410  	}
  12.411 @@ -448,21 +457,22 @@ acpi_pic_sci_set_trigger(unsigned int ir
  12.412  	outb(new >> 8, 0x4d1);
  12.413  }
  12.414  
  12.415 -
  12.416 -#endif /* CONFIG_ACPI_BUS */
  12.417 -
  12.418  int acpi_gsi_to_irq(u32 gsi, unsigned int *irq)
  12.419  {
  12.420  #ifdef CONFIG_X86_IO_APIC
  12.421  	if (use_pci_vector() && !platform_legacy_irq(gsi))
  12.422 - 		*irq = IO_APIC_VECTOR(gsi);
  12.423 +		*irq = IO_APIC_VECTOR(gsi);
  12.424  	else
  12.425  #endif
  12.426  		*irq = gsi;
  12.427  	return 0;
  12.428  }
  12.429  
  12.430 -unsigned int acpi_register_gsi(u32 gsi, int edge_level, int active_high_low)
  12.431 +/*
  12.432 + * success: return IRQ number (>=0)
  12.433 + * failure: return < 0
  12.434 + */
  12.435 +int acpi_register_gsi(u32 gsi, int edge_level, int active_high_low)
  12.436  {
  12.437  	unsigned int irq;
  12.438  	unsigned int plat_gsi = gsi;
  12.439 @@ -475,7 +485,7 @@ unsigned int acpi_register_gsi(u32 gsi, 
  12.440  		extern void eisa_set_level_irq(unsigned int irq);
  12.441  
  12.442  		if (edge_level == ACPI_LEVEL_SENSITIVE)
  12.443 -				eisa_set_level_irq(gsi);
  12.444 +			eisa_set_level_irq(gsi);
  12.445  	}
  12.446  #endif
  12.447  
  12.448 @@ -487,45 +497,59 @@ unsigned int acpi_register_gsi(u32 gsi, 
  12.449  	acpi_gsi_to_irq(plat_gsi, &irq);
  12.450  	return irq;
  12.451  }
  12.452 +
  12.453  EXPORT_SYMBOL(acpi_register_gsi);
  12.454  
  12.455  /*
  12.456   *  ACPI based hotplug support for CPU
  12.457   */
  12.458  #ifdef CONFIG_ACPI_HOTPLUG_CPU
  12.459 -int
  12.460 -acpi_map_lsapic(acpi_handle handle, int *pcpu)
  12.461 +int acpi_map_lsapic(acpi_handle handle, int *pcpu)
  12.462  {
  12.463  	/* TBD */
  12.464  	return -EINVAL;
  12.465  }
  12.466 +
  12.467  EXPORT_SYMBOL(acpi_map_lsapic);
  12.468  
  12.469 -
  12.470 -int
  12.471 -acpi_unmap_lsapic(int cpu)
  12.472 +int acpi_unmap_lsapic(int cpu)
  12.473  {
  12.474  	/* TBD */
  12.475  	return -EINVAL;
  12.476  }
  12.477 +
  12.478  EXPORT_SYMBOL(acpi_unmap_lsapic);
  12.479 -#endif /* CONFIG_ACPI_HOTPLUG_CPU */
  12.480 +#endif				/* CONFIG_ACPI_HOTPLUG_CPU */
  12.481 +
  12.482 +int acpi_register_ioapic(acpi_handle handle, u64 phys_addr, u32 gsi_base)
  12.483 +{
  12.484 +	/* TBD */
  12.485 +	return -EINVAL;
  12.486 +}
  12.487 +
  12.488 +EXPORT_SYMBOL(acpi_register_ioapic);
  12.489 +
  12.490 +int acpi_unregister_ioapic(acpi_handle handle, u32 gsi_base)
  12.491 +{
  12.492 +	/* TBD */
  12.493 +	return -EINVAL;
  12.494 +}
  12.495 +
  12.496 +EXPORT_SYMBOL(acpi_unregister_ioapic);
  12.497  
  12.498  static unsigned long __init
  12.499 -acpi_scan_rsdp (
  12.500 -	unsigned long		start,
  12.501 -	unsigned long		length)
  12.502 +acpi_scan_rsdp (unsigned long start, unsigned long length)
  12.503  {
  12.504 -	unsigned long		offset = 0;
  12.505 -	unsigned long		sig_len = sizeof("RSD PTR ") - 1;
  12.506 -	unsigned long		vstart = (unsigned long)isa_bus_to_virt(start);
  12.507 +	unsigned long offset = 0;
  12.508 +	unsigned long sig_len = sizeof("RSD PTR ") - 1;
  12.509 +	unsigned long vstart = (unsigned long)isa_bus_to_virt(start);
  12.510  
  12.511  	/*
  12.512  	 * Scan all 16-byte boundaries of the physical memory region for the
  12.513  	 * RSDP signature.
  12.514  	 */
  12.515  	for (offset = 0; offset < length; offset += 16) {
  12.516 -		if (strncmp((char *) (vstart + offset), "RSD PTR ", sig_len))
  12.517 +		if (strncmp((char *)(vstart + offset), "RSD PTR ", sig_len))
  12.518  			continue;
  12.519  		return (start + offset);
  12.520  	}
  12.521 @@ -538,20 +562,19 @@ static int __init acpi_parse_sbf(unsigne
  12.522  	struct acpi_table_sbf *sb;
  12.523  
  12.524  	if (!phys_addr || !size)
  12.525 -	return -EINVAL;
  12.526 +		return -EINVAL;
  12.527  
  12.528 -	sb = (struct acpi_table_sbf *) __acpi_map_table(phys_addr, size);
  12.529 +	sb = (struct acpi_table_sbf *)__acpi_map_table(phys_addr, size);
  12.530  	if (!sb) {
  12.531  		printk(KERN_WARNING PREFIX "Unable to map SBF\n");
  12.532  		return -ENODEV;
  12.533  	}
  12.534  
  12.535 -	sbf_port = sb->sbf_cmos; /* Save CMOS port */
  12.536 +	sbf_port = sb->sbf_cmos;	/* Save CMOS port */
  12.537  
  12.538  	return 0;
  12.539  }
  12.540  
  12.541 -
  12.542  #ifdef CONFIG_HPET_TIMER
  12.543  
  12.544  static int __init acpi_parse_hpet(unsigned long phys, unsigned long size)
  12.545 @@ -561,7 +584,7 @@ static int __init acpi_parse_hpet(unsign
  12.546  	if (!phys || !size)
  12.547  		return -EINVAL;
  12.548  
  12.549 -	hpet_tbl = (struct acpi_table_hpet *) __acpi_map_table(phys, size);
  12.550 +	hpet_tbl = (struct acpi_table_hpet *)__acpi_map_table(phys, size);
  12.551  	if (!hpet_tbl) {
  12.552  		printk(KERN_WARNING PREFIX "Unable to map HPET\n");
  12.553  		return -ENODEV;
  12.554 @@ -572,22 +595,21 @@ static int __init acpi_parse_hpet(unsign
  12.555  		       "memory.\n");
  12.556  		return -1;
  12.557  	}
  12.558 -
  12.559  #ifdef	CONFIG_X86_64
  12.560 -        vxtime.hpet_address = hpet_tbl->addr.addrl |
  12.561 -                ((long) hpet_tbl->addr.addrh << 32);
  12.562 +	vxtime.hpet_address = hpet_tbl->addr.addrl |
  12.563 +	    ((long)hpet_tbl->addr.addrh << 32);
  12.564  
  12.565 -        printk(KERN_INFO PREFIX "HPET id: %#x base: %#lx\n",
  12.566 -               hpet_tbl->id, vxtime.hpet_address);
  12.567 -#else	/* X86 */
  12.568 +	printk(KERN_INFO PREFIX "HPET id: %#x base: %#lx\n",
  12.569 +	       hpet_tbl->id, vxtime.hpet_address);
  12.570 +#else				/* X86 */
  12.571  	{
  12.572  		extern unsigned long hpet_address;
  12.573  
  12.574  		hpet_address = hpet_tbl->addr.addrl;
  12.575  		printk(KERN_INFO PREFIX "HPET id: %#x base: %#lx\n",
  12.576 -			hpet_tbl->id, hpet_address);
  12.577 +		       hpet_tbl->id, hpet_address);
  12.578  	}
  12.579 -#endif	/* X86 */
  12.580 +#endif				/* X86 */
  12.581  
  12.582  	return 0;
  12.583  }
  12.584 @@ -603,28 +625,25 @@ static int __init acpi_parse_fadt(unsign
  12.585  {
  12.586  	struct fadt_descriptor_rev2 *fadt = NULL;
  12.587  
  12.588 -	fadt = (struct fadt_descriptor_rev2*) __acpi_map_table(phys,size);
  12.589 -	if(!fadt) {
  12.590 +	fadt = (struct fadt_descriptor_rev2 *)__acpi_map_table(phys, size);
  12.591 +	if (!fadt) {
  12.592  		printk(KERN_WARNING PREFIX "Unable to map FADT\n");
  12.593  		return 0;
  12.594  	}
  12.595 -
  12.596 -#ifdef	CONFIG_ACPI_INTERPRETER
  12.597  	/* initialize sci_int early for INT_SRC_OVR MADT parsing */
  12.598  	acpi_fadt.sci_int = fadt->sci_int;
  12.599 -#endif
  12.600  
  12.601 -#ifdef CONFIG_ACPI_BUS
  12.602  	/* initialize rev and apic_phys_dest_mode for x86_64 genapic */
  12.603  	acpi_fadt.revision = fadt->revision;
  12.604 -	acpi_fadt.force_apic_physical_destination_mode = fadt->force_apic_physical_destination_mode;
  12.605 -#endif
  12.606 +	acpi_fadt.force_apic_physical_destination_mode =
  12.607 +	    fadt->force_apic_physical_destination_mode;
  12.608  
  12.609  #if defined(CONFIG_X86_PM_TIMER) && !defined(CONFIG_XEN)
  12.610  	/* detect the location of the ACPI PM Timer */
  12.611  	if (fadt->revision >= FADT2_REVISION_ID) {
  12.612  		/* FADT rev. 2 */
  12.613 -		if (fadt->xpm_tmr_blk.address_space_id != ACPI_ADR_SPACE_SYSTEM_IO)
  12.614 +		if (fadt->xpm_tmr_blk.address_space_id !=
  12.615 +		    ACPI_ADR_SPACE_SYSTEM_IO)
  12.616  			return 0;
  12.617  
  12.618  		pmtmr_ioport = fadt->xpm_tmr_blk.address;
  12.619 @@ -633,16 +652,15 @@ static int __init acpi_parse_fadt(unsign
  12.620  		pmtmr_ioport = fadt->V1_pm_tmr_blk;
  12.621  	}
  12.622  	if (pmtmr_ioport)
  12.623 -		printk(KERN_INFO PREFIX "PM-Timer IO Port: %#x\n", pmtmr_ioport);
  12.624 +		printk(KERN_INFO PREFIX "PM-Timer IO Port: %#x\n",
  12.625 +		       pmtmr_ioport);
  12.626  #endif
  12.627  	return 0;
  12.628  }
  12.629  
  12.630 -
  12.631 -unsigned long __init
  12.632 -acpi_find_rsdp (void)
  12.633 +unsigned long __init acpi_find_rsdp(void)
  12.634  {
  12.635 -	unsigned long		rsdp_phys = 0;
  12.636 +	unsigned long rsdp_phys = 0;
  12.637  
  12.638  	if (efi_enabled) {
  12.639  		if (efi.acpi20)
  12.640 @@ -654,9 +672,9 @@ acpi_find_rsdp (void)
  12.641  	 * Scan memory looking for the RSDP signature. First search EBDA (low
  12.642  	 * memory) paragraphs and then search upper memory (E0000-FFFFF).
  12.643  	 */
  12.644 -	rsdp_phys = acpi_scan_rsdp (0, 0x400);
  12.645 +	rsdp_phys = acpi_scan_rsdp(0, 0x400);
  12.646  	if (!rsdp_phys)
  12.647 -		rsdp_phys = acpi_scan_rsdp (0xE0000, 0x20000);
  12.648 +		rsdp_phys = acpi_scan_rsdp(0xE0000, 0x20000);
  12.649  
  12.650  	return rsdp_phys;
  12.651  }
  12.652 @@ -666,8 +684,7 @@ acpi_find_rsdp (void)
  12.653   * Parse LAPIC entries in MADT
  12.654   * returns 0 on success, < 0 on error
  12.655   */
  12.656 -static int __init
  12.657 -acpi_parse_madt_lapic_entries(void)
  12.658 +static int __init acpi_parse_madt_lapic_entries(void)
  12.659  {
  12.660  	int count;
  12.661  
  12.662 @@ -676,28 +693,31 @@ acpi_parse_madt_lapic_entries(void)
  12.663  	 * and (optionally) overriden by a LAPIC_ADDR_OVR entry (64-bit value).
  12.664  	 */
  12.665  
  12.666 -	count = acpi_table_parse_madt(ACPI_MADT_LAPIC_ADDR_OVR, acpi_parse_lapic_addr_ovr, 0);
  12.667 +	count =
  12.668 +	    acpi_table_parse_madt(ACPI_MADT_LAPIC_ADDR_OVR,
  12.669 +				  acpi_parse_lapic_addr_ovr, 0);
  12.670  	if (count < 0) {
  12.671 -		printk(KERN_ERR PREFIX "Error parsing LAPIC address override entry\n");
  12.672 +		printk(KERN_ERR PREFIX
  12.673 +		       "Error parsing LAPIC address override entry\n");
  12.674  		return count;
  12.675  	}
  12.676  
  12.677  	mp_register_lapic_address(acpi_lapic_addr);
  12.678  
  12.679  	count = acpi_table_parse_madt(ACPI_MADT_LAPIC, acpi_parse_lapic,
  12.680 -				       MAX_APICS);
  12.681 -	if (!count) { 
  12.682 +				      MAX_APICS);
  12.683 +	if (!count) {
  12.684  		printk(KERN_ERR PREFIX "No LAPIC entries present\n");
  12.685  		/* TBD: Cleanup to allow fallback to MPS */
  12.686  		return -ENODEV;
  12.687 -	}
  12.688 -	else if (count < 0) {
  12.689 +	} else if (count < 0) {
  12.690  		printk(KERN_ERR PREFIX "Error parsing LAPIC entry\n");
  12.691  		/* TBD: Cleanup to allow fallback to MPS */
  12.692  		return count;
  12.693  	}
  12.694  
  12.695 -	count = acpi_table_parse_madt(ACPI_MADT_LAPIC_NMI, acpi_parse_lapic_nmi, 0);
  12.696 +	count =
  12.697 +	    acpi_table_parse_madt(ACPI_MADT_LAPIC_NMI, acpi_parse_lapic_nmi, 0);
  12.698  	if (count < 0) {
  12.699  		printk(KERN_ERR PREFIX "Error parsing LAPIC NMI entry\n");
  12.700  		/* TBD: Cleanup to allow fallback to MPS */
  12.701 @@ -705,15 +725,14 @@ acpi_parse_madt_lapic_entries(void)
  12.702  	}
  12.703  	return 0;
  12.704  }
  12.705 -#endif /* CONFIG_X86_LOCAL_APIC */
  12.706 +#endif				/* CONFIG_X86_LOCAL_APIC */
  12.707  
  12.708 -#if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_ACPI_INTERPRETER)
  12.709 +#ifdef	CONFIG_X86_IO_APIC
  12.710  /*
  12.711   * Parse IOAPIC related entries in MADT
  12.712   * returns 0 on success, < 0 on error
  12.713   */
  12.714 -static int __init
  12.715 -acpi_parse_madt_ioapic_entries(void)
  12.716 +static int __init acpi_parse_madt_ioapic_entries(void)
  12.717  {
  12.718  	int count;
  12.719  
  12.720 @@ -725,30 +744,34 @@ acpi_parse_madt_ioapic_entries(void)
  12.721  	 */
  12.722  	if (acpi_disabled || acpi_noirq) {
  12.723  		return -ENODEV;
  12.724 -        }
  12.725 +	}
  12.726  
  12.727  	/*
  12.728 - 	 * if "noapic" boot option, don't look for IO-APICs
  12.729 +	 * if "noapic" boot option, don't look for IO-APICs
  12.730  	 */
  12.731  	if (skip_ioapic_setup) {
  12.732  		printk(KERN_INFO PREFIX "Skipping IOAPIC probe "
  12.733 -			"due to 'noapic' option.\n");
  12.734 +		       "due to 'noapic' option.\n");
  12.735  		return -ENODEV;
  12.736  	}
  12.737  
  12.738 -	count = acpi_table_parse_madt(ACPI_MADT_IOAPIC, acpi_parse_ioapic, MAX_IO_APICS);
  12.739 +	count =
  12.740 +	    acpi_table_parse_madt(ACPI_MADT_IOAPIC, acpi_parse_ioapic,
  12.741 +				  MAX_IO_APICS);
  12.742  	if (!count) {
  12.743  		printk(KERN_ERR PREFIX "No IOAPIC entries present\n");
  12.744  		return -ENODEV;
  12.745 -	}
  12.746 -	else if (count < 0) {
  12.747 +	} else if (count < 0) {
  12.748  		printk(KERN_ERR PREFIX "Error parsing IOAPIC entry\n");
  12.749  		return count;
  12.750  	}
  12.751  
  12.752 -	count = acpi_table_parse_madt(ACPI_MADT_INT_SRC_OVR, acpi_parse_int_src_ovr, NR_IRQ_VECTORS);
  12.753 +	count =
  12.754 +	    acpi_table_parse_madt(ACPI_MADT_INT_SRC_OVR, acpi_parse_int_src_ovr,
  12.755 +				  NR_IRQ_VECTORS);
  12.756  	if (count < 0) {
  12.757 -		printk(KERN_ERR PREFIX "Error parsing interrupt source overrides entry\n");
  12.758 +		printk(KERN_ERR PREFIX
  12.759 +		       "Error parsing interrupt source overrides entry\n");
  12.760  		/* TBD: Cleanup to allow fallback to MPS */
  12.761  		return count;
  12.762  	}
  12.763 @@ -763,7 +786,9 @@ acpi_parse_madt_ioapic_entries(void)
  12.764  	/* Fill in identity legacy mapings where no override */
  12.765  	mp_config_acpi_legacy_irqs();
  12.766  
  12.767 -	count = acpi_table_parse_madt(ACPI_MADT_NMI_SRC, acpi_parse_nmi_src, NR_IRQ_VECTORS);
  12.768 +	count =
  12.769 +	    acpi_table_parse_madt(ACPI_MADT_NMI_SRC, acpi_parse_nmi_src,
  12.770 +				  NR_IRQ_VECTORS);
  12.771  	if (count < 0) {
  12.772  		printk(KERN_ERR PREFIX "Error parsing NMI SRC entry\n");
  12.773  		/* TBD: Cleanup to allow fallback to MPS */
  12.774 @@ -777,11 +802,9 @@ static inline int acpi_parse_madt_ioapic
  12.775  {
  12.776  	return -1;
  12.777  }
  12.778 -#endif /* !(CONFIG_X86_IO_APIC && CONFIG_ACPI_INTERPRETER) */
  12.779 +#endif	/* !CONFIG_X86_IO_APIC */
  12.780  
  12.781 -
  12.782 -static void __init
  12.783 -acpi_process_madt(void)
  12.784 +static void __init acpi_process_madt(void)
  12.785  {
  12.786  #ifdef CONFIG_X86_LOCAL_APIC
  12.787  	int count, error;
  12.788 @@ -796,6 +819,9 @@ acpi_process_madt(void)
  12.789  		if (!error) {
  12.790  			acpi_lapic = 1;
  12.791  
  12.792 +#ifdef CONFIG_X86_GENERICARCH
  12.793 +			generic_bigsmp_probe();
  12.794 +#endif
  12.795  			/*
  12.796  			 * Parse MADT IO-APIC entries
  12.797  			 */
  12.798 @@ -813,7 +839,8 @@ acpi_process_madt(void)
  12.799  			/*
  12.800  			 * Dell Precision Workstation 410, 610 come here.
  12.801  			 */
  12.802 -			printk(KERN_ERR PREFIX "Invalid BIOS MADT, disabling ACPI\n");
  12.803 +			printk(KERN_ERR PREFIX
  12.804 +			       "Invalid BIOS MADT, disabling ACPI\n");
  12.805  			disable_acpi();
  12.806  		}
  12.807  	}
  12.808 @@ -821,6 +848,218 @@ acpi_process_madt(void)
  12.809  	return;
  12.810  }
  12.811  
  12.812 +extern int acpi_force;
  12.813 +
  12.814 +#ifdef __i386__
  12.815 +
  12.816 +static int __init disable_acpi_irq(struct dmi_system_id *d)
  12.817 +{
  12.818 +	if (!acpi_force) {
  12.819 +		printk(KERN_NOTICE "%s detected: force use of acpi=noirq\n",
  12.820 +		       d->ident);
  12.821 +		acpi_noirq_set();
  12.822 +	}
  12.823 +	return 0;
  12.824 +}
  12.825 +
  12.826 +static int __init disable_acpi_pci(struct dmi_system_id *d)
  12.827 +{
  12.828 +	if (!acpi_force) {
  12.829 +		printk(KERN_NOTICE "%s detected: force use of pci=noacpi\n",
  12.830 +		       d->ident);
  12.831 +		acpi_disable_pci();
  12.832 +	}
  12.833 +	return 0;
  12.834 +}
  12.835 +
  12.836 +static int __init dmi_disable_acpi(struct dmi_system_id *d)
  12.837 +{
  12.838 +	if (!acpi_force) {
  12.839 +		printk(KERN_NOTICE "%s detected: acpi off\n", d->ident);
  12.840 +		disable_acpi();
  12.841 +	} else {
  12.842 +		printk(KERN_NOTICE
  12.843 +		       "Warning: DMI blacklist says broken, but acpi forced\n");
  12.844 +	}
  12.845 +	return 0;
  12.846 +}
  12.847 +
  12.848 +/*
  12.849 + * Limit ACPI to CPU enumeration for HT
  12.850 + */
  12.851 +static int __init force_acpi_ht(struct dmi_system_id *d)
  12.852 +{
  12.853 +	if (!acpi_force) {
  12.854 +		printk(KERN_NOTICE "%s detected: force use of acpi=ht\n",
  12.855 +		       d->ident);
  12.856 +		disable_acpi();
  12.857 +		acpi_ht = 1;
  12.858 +	} else {
  12.859 +		printk(KERN_NOTICE
  12.860 +		       "Warning: acpi=force overrules DMI blacklist: acpi=ht\n");
  12.861 +	}
  12.862 +	return 0;
  12.863 +}
  12.864 +
  12.865 +/*
  12.866 + * If your system is blacklisted here, but you find that acpi=force
  12.867 + * works for you, please contact acpi-devel@sourceforge.net
  12.868 + */
  12.869 +static struct dmi_system_id __initdata acpi_dmi_table[] = {
  12.870 +	/*
  12.871 +	 * Boxes that need ACPI disabled
  12.872 +	 */
  12.873 +	{
  12.874 +	 .callback = dmi_disable_acpi,
  12.875 +	 .ident = "IBM Thinkpad",
  12.876 +	 .matches = {
  12.877 +		     DMI_MATCH(DMI_BOARD_VENDOR, "IBM"),
  12.878 +		     DMI_MATCH(DMI_BOARD_NAME, "2629H1G"),
  12.879 +		     },
  12.880 +	 },
  12.881 +
  12.882 +	/*
  12.883 +	 * Boxes that need acpi=ht
  12.884 +	 */
  12.885 +	{
  12.886 +	 .callback = force_acpi_ht,
  12.887 +	 .ident = "FSC Primergy T850",
  12.888 +	 .matches = {
  12.889 +		     DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"),
  12.890 +		     DMI_MATCH(DMI_PRODUCT_NAME, "PRIMERGY T850"),
  12.891 +		     },
  12.892 +	 },
  12.893 +	{
  12.894 +	 .callback = force_acpi_ht,
  12.895 +	 .ident = "DELL GX240",
  12.896 +	 .matches = {
  12.897 +		     DMI_MATCH(DMI_BOARD_VENDOR, "Dell Computer Corporation"),
  12.898 +		     DMI_MATCH(DMI_BOARD_NAME, "OptiPlex GX240"),
  12.899 +		     },
  12.900 +	 },
  12.901 +	{
  12.902 +	 .callback = force_acpi_ht,
  12.903 +	 .ident = "HP VISUALIZE NT Workstation",
  12.904 +	 .matches = {
  12.905 +		     DMI_MATCH(DMI_BOARD_VENDOR, "Hewlett-Packard"),
  12.906 +		     DMI_MATCH(DMI_PRODUCT_NAME, "HP VISUALIZE NT Workstation"),
  12.907 +		     },
  12.908 +	 },
  12.909 +	{
  12.910 +	 .callback = force_acpi_ht,
  12.911 +	 .ident = "Compaq Workstation W8000",
  12.912 +	 .matches = {
  12.913 +		     DMI_MATCH(DMI_SYS_VENDOR, "Compaq"),
  12.914 +		     DMI_MATCH(DMI_PRODUCT_NAME, "Workstation W8000"),
  12.915 +		     },
  12.916 +	 },
  12.917 +	{
  12.918 +	 .callback = force_acpi_ht,
  12.919 +	 .ident = "ASUS P4B266",
  12.920 +	 .matches = {
  12.921 +		     DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."),
  12.922 +		     DMI_MATCH(DMI_BOARD_NAME, "P4B266"),
  12.923 +		     },
  12.924 +	 },
  12.925 +	{
  12.926 +	 .callback = force_acpi_ht,
  12.927 +	 .ident = "ASUS P2B-DS",
  12.928 +	 .matches = {
  12.929 +		     DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."),
  12.930 +		     DMI_MATCH(DMI_BOARD_NAME, "P2B-DS"),
  12.931 +		     },
  12.932 +	 },
  12.933 +	{
  12.934 +	 .callback = force_acpi_ht,
  12.935 +	 .ident = "ASUS CUR-DLS",
  12.936 +	 .matches = {
  12.937 +		     DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."),
  12.938 +		     DMI_MATCH(DMI_BOARD_NAME, "CUR-DLS"),
  12.939 +		     },
  12.940 +	 },
  12.941 +	{
  12.942 +	 .callback = force_acpi_ht,
  12.943 +	 .ident = "ABIT i440BX-W83977",
  12.944 +	 .matches = {
  12.945 +		     DMI_MATCH(DMI_BOARD_VENDOR, "ABIT <http://www.abit.com>"),
  12.946 +		     DMI_MATCH(DMI_BOARD_NAME, "i440BX-W83977 (BP6)"),
  12.947 +		     },
  12.948 +	 },
  12.949 +	{
  12.950 +	 .callback = force_acpi_ht,
  12.951 +	 .ident = "IBM Bladecenter",
  12.952 +	 .matches = {
  12.953 +		     DMI_MATCH(DMI_BOARD_VENDOR, "IBM"),
  12.954 +		     DMI_MATCH(DMI_BOARD_NAME, "IBM eServer BladeCenter HS20"),
  12.955 +		     },
  12.956 +	 },
  12.957 +	{
  12.958 +	 .callback = force_acpi_ht,
  12.959 +	 .ident = "IBM eServer xSeries 360",
  12.960 +	 .matches = {
  12.961 +		     DMI_MATCH(DMI_BOARD_VENDOR, "IBM"),
  12.962 +		     DMI_MATCH(DMI_BOARD_NAME, "eServer xSeries 360"),
  12.963 +		     },
  12.964 +	 },
  12.965 +	{
  12.966 +	 .callback = force_acpi_ht,
  12.967 +	 .ident = "IBM eserver xSeries 330",
  12.968 +	 .matches = {
  12.969 +		     DMI_MATCH(DMI_BOARD_VENDOR, "IBM"),
  12.970 +		     DMI_MATCH(DMI_BOARD_NAME, "eserver xSeries 330"),
  12.971 +		     },
  12.972 +	 },
  12.973 +	{
  12.974 +	 .callback = force_acpi_ht,
  12.975 +	 .ident = "IBM eserver xSeries 440",
  12.976 +	 .matches = {
  12.977 +		     DMI_MATCH(DMI_BOARD_VENDOR, "IBM"),
  12.978 +		     DMI_MATCH(DMI_PRODUCT_NAME, "eserver xSeries 440"),
  12.979 +		     },
  12.980 +	 },
  12.981 +
  12.982 +	/*
  12.983 +	 * Boxes that need ACPI PCI IRQ routing disabled
  12.984 +	 */
  12.985 +	{
  12.986 +	 .callback = disable_acpi_irq,
  12.987 +	 .ident = "ASUS A7V",
  12.988 +	 .matches = {
  12.989 +		     DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC"),
  12.990 +		     DMI_MATCH(DMI_BOARD_NAME, "<A7V>"),
  12.991 +		     /* newer BIOS, Revision 1011, does work */
  12.992 +		     DMI_MATCH(DMI_BIOS_VERSION,
  12.993 +			       "ASUS A7V ACPI BIOS Revision 1007"),
  12.994 +		     },
  12.995 +	 },
  12.996 +
  12.997 +	/*
  12.998 +	 * Boxes that need ACPI PCI IRQ routing and PCI scan disabled
  12.999 +	 */
 12.1000 +	{			/* _BBN 0 bug */
 12.1001 +	 .callback = disable_acpi_pci,
 12.1002 +	 .ident = "ASUS PR-DLS",
 12.1003 +	 .matches = {
 12.1004 +		     DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."),
 12.1005 +		     DMI_MATCH(DMI_BOARD_NAME, "PR-DLS"),
 12.1006 +		     DMI_MATCH(DMI_BIOS_VERSION,
 12.1007 +			       "ASUS PR-DLS ACPI BIOS Revision 1010"),
 12.1008 +		     DMI_MATCH(DMI_BIOS_DATE, "03/21/2003")
 12.1009 +		     },
 12.1010 +	 },
 12.1011 +	{
 12.1012 +	 .callback = disable_acpi_pci,
 12.1013 +	 .ident = "Acer TravelMate 36x Laptop",
 12.1014 +	 .matches = {
 12.1015 +		     DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
 12.1016 +		     DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 360"),
 12.1017 +		     },
 12.1018 +	 },
 12.1019 +	{}
 12.1020 +};
 12.1021 +
 12.1022 +#endif				/* __i386__ */
 12.1023 +
 12.1024  /*
 12.1025   * acpi_boot_table_init() and acpi_boot_init()
 12.1026   *  called from setup_arch(), always.
 12.1027 @@ -844,17 +1083,20 @@ acpi_process_madt(void)
 12.1028   *	!0: failure
 12.1029   */
 12.1030  
 12.1031 -int __init
 12.1032 -acpi_boot_table_init(void)
 12.1033 +int __init acpi_boot_table_init(void)
 12.1034  {
 12.1035  	int error;
 12.1036  
 12.1037 +#ifdef __i386__
 12.1038 +	dmi_check_system(acpi_dmi_table);
 12.1039 +#endif
 12.1040 +
 12.1041  	/*
 12.1042  	 * If acpi_disabled, bail out
 12.1043  	 * One exception: acpi=ht continues far enough to enumerate LAPICs
 12.1044  	 */
 12.1045  	if (acpi_disabled && !acpi_ht)
 12.1046 -		 return 1;
 12.1047 +		return 1;
 12.1048  
 12.1049  	/* 
 12.1050  	 * Initialize the ACPI boot-time table parser.
 12.1051 @@ -864,7 +1106,6 @@ acpi_boot_table_init(void)
 12.1052  		disable_acpi();
 12.1053  		return error;
 12.1054  	}
 12.1055 -
 12.1056  #ifdef __i386__
 12.1057  	check_acpi_pci();
 12.1058  #endif
 12.1059 @@ -876,8 +1117,6 @@ acpi_boot_table_init(void)
 12.1060  	 */
 12.1061  	error = acpi_blacklisted();
 12.1062  	if (error) {
 12.1063 -		extern int acpi_force;
 12.1064 -
 12.1065  		if (acpi_force) {
 12.1066  			printk(KERN_WARNING PREFIX "acpi=force override\n");
 12.1067  		} else {
 12.1068 @@ -890,7 +1129,6 @@ acpi_boot_table_init(void)
 12.1069  	return 0;
 12.1070  }
 12.1071  
 12.1072 -
 12.1073  int __init acpi_boot_init(void)
 12.1074  {
 12.1075  	/*
 12.1076 @@ -898,7 +1136,7 @@ int __init acpi_boot_init(void)
 12.1077  	 * One exception: acpi=ht continues far enough to enumerate LAPICs
 12.1078  	 */
 12.1079  	if (acpi_disabled && !acpi_ht)
 12.1080 -		 return 1;
 12.1081 +		return 1;
 12.1082  
 12.1083  	acpi_table_parse(ACPI_BOOT, acpi_parse_sbf);
 12.1084  
 12.1085 @@ -913,8 +1151,6 @@ int __init acpi_boot_init(void)
 12.1086  	acpi_process_madt();
 12.1087  
 12.1088  	acpi_table_parse(ACPI_HPET, acpi_parse_hpet);
 12.1089 -	acpi_table_parse(ACPI_MCFG, acpi_parse_mcfg);
 12.1090  
 12.1091  	return 0;
 12.1092  }
 12.1093 -
    13.1 --- a/linux-2.6-xen-sparse/arch/i386/kernel/apic-xen.c	Tue Jan 31 19:55:55 2006 +0100
    13.2 +++ b/linux-2.6-xen-sparse/arch/i386/kernel/apic-xen.c	Tue Jan 31 19:55:22 2006 +0000
    13.3 @@ -18,7 +18,6 @@
    13.4  #include <linux/init.h>
    13.5  
    13.6  #include <linux/mm.h>
    13.7 -#include <linux/irq.h>
    13.8  #include <linux/delay.h>
    13.9  #include <linux/bootmem.h>
   13.10  #include <linux/smp_lock.h>
   13.11 @@ -26,6 +25,7 @@
   13.12  #include <linux/mc146818rtc.h>
   13.13  #include <linux/kernel_stat.h>
   13.14  #include <linux/sysdev.h>
   13.15 +#include <linux/cpu.h>
   13.16  
   13.17  #include <asm/atomic.h>
   13.18  #include <asm/smp.h>
   13.19 @@ -34,12 +34,18 @@
   13.20  #include <asm/desc.h>
   13.21  #include <asm/arch_hooks.h>
   13.22  #include <asm/hpet.h>
   13.23 +#include <asm/i8253.h>
   13.24  
   13.25  #include <mach_apic.h>
   13.26  
   13.27  #include "io_ports.h"
   13.28  
   13.29  /*
   13.30 + * Knob to control our willingness to enable the local APIC.
   13.31 + */
   13.32 +int enable_local_apic __initdata = 0; /* -1=force-disable, +1=force-enable */
   13.33 +
   13.34 +/*
   13.35   * Debug level
   13.36   */
   13.37  int apic_verbosity;
    14.1 --- a/linux-2.6-xen-sparse/arch/i386/kernel/apm.c	Tue Jan 31 19:55:55 2006 +0100
    14.2 +++ b/linux-2.6-xen-sparse/arch/i386/kernel/apm.c	Tue Jan 31 19:55:22 2006 +0000
    14.3 @@ -228,10 +228,10 @@
    14.4  #include <asm/system.h>
    14.5  #include <asm/uaccess.h>
    14.6  #include <asm/desc.h>
    14.7 +#include <asm/i8253.h>
    14.8  
    14.9  #include "io_ports.h"
   14.10  
   14.11 -extern spinlock_t i8253_lock;
   14.12  extern unsigned long get_cmos_time(void);
   14.13  extern void machine_real_restart(unsigned char *, int);
   14.14  
   14.15 @@ -346,10 +346,10 @@ extern int (*console_blank_hook)(int);
   14.16  struct apm_user {
   14.17  	int		magic;
   14.18  	struct apm_user *	next;
   14.19 -	int		suser: 1;
   14.20 -	int		writer: 1;
   14.21 -	int		reader: 1;
   14.22 -	int		suspend_wait: 1;
   14.23 +	unsigned int	suser: 1;
   14.24 +	unsigned int	writer: 1;
   14.25 +	unsigned int	reader: 1;
   14.26 +	unsigned int	suspend_wait: 1;
   14.27  	int		suspend_result;
   14.28  	int		suspends_pending;
   14.29  	int		standbys_pending;
   14.30 @@ -911,14 +911,7 @@ static void apm_power_off(void)
   14.31  		0xcd, 0x15		/* int   $0x15       */
   14.32  	};
   14.33  
   14.34 -	/*
   14.35 -	 * This may be called on an SMP machine.
   14.36 -	 */
   14.37 -#ifdef CONFIG_SMP
   14.38  	/* Some bioses don't like being called from CPU != 0 */
   14.39 -	set_cpus_allowed(current, cpumask_of_cpu(0));
   14.40 -	BUG_ON(smp_processor_id() != 0);
   14.41 -#endif
   14.42  	if (apm_info.realmode_power_off)
   14.43  	{
   14.44  		(void)apm_save_cpus();
   14.45 @@ -1168,8 +1161,7 @@ static void get_time_diff(void)
   14.46  static void reinit_timer(void)
   14.47  {
   14.48  #ifdef INIT_TIMER_AFTER_SUSPEND
   14.49 -	unsigned long	flags;
   14.50 -	extern spinlock_t i8253_lock;
   14.51 +	unsigned long flags;
   14.52  
   14.53  	spin_lock_irqsave(&i8253_lock, flags);
   14.54  	/* set the clock to 100 Hz */
    15.1 --- a/linux-2.6-xen-sparse/arch/i386/kernel/cpu/common-xen.c	Tue Jan 31 19:55:55 2006 +0100
    15.2 +++ b/linux-2.6-xen-sparse/arch/i386/kernel/cpu/common-xen.c	Tue Jan 31 19:55:22 2006 +0000
    15.3 @@ -27,9 +27,9 @@ DEFINE_PER_CPU(unsigned char, cpu_16bit_
    15.4  EXPORT_PER_CPU_SYMBOL(cpu_16bit_stack);
    15.5  #endif
    15.6  
    15.7 -static int cachesize_override __initdata = -1;
    15.8 -static int disable_x86_fxsr __initdata = 0;
    15.9 -static int disable_x86_serial_nr __initdata = 1;
   15.10 +static int cachesize_override __devinitdata = -1;
   15.11 +static int disable_x86_fxsr __devinitdata = 0;
   15.12 +static int disable_x86_serial_nr __devinitdata = 1;
   15.13  
   15.14  struct cpu_dev * cpu_devs[X86_VENDOR_NUM] = {};
   15.15  
   15.16 @@ -64,7 +64,7 @@ static int __init cachesize_setup(char *
   15.17  }
   15.18  __setup("cachesize=", cachesize_setup);
   15.19  
   15.20 -int __init get_model_name(struct cpuinfo_x86 *c)
   15.21 +int __devinit get_model_name(struct cpuinfo_x86 *c)
   15.22  {
   15.23  	unsigned int *v;
   15.24  	char *p, *q;
   15.25 @@ -94,7 +94,7 @@ int __init get_model_name(struct cpuinfo
   15.26  }
   15.27  
   15.28  
   15.29 -void __init display_cacheinfo(struct cpuinfo_x86 *c)
   15.30 +void __devinit display_cacheinfo(struct cpuinfo_x86 *c)
   15.31  {
   15.32  	unsigned int n, dummy, ecx, edx, l2size;
   15.33  
   15.34 @@ -135,7 +135,7 @@ void __init display_cacheinfo(struct cpu
   15.35  /* in particular, if CPUID levels 0x80000002..4 are supported, this isn't used */
   15.36  
   15.37  /* Look up CPU names by table lookup. */
   15.38 -static char __init *table_lookup_model(struct cpuinfo_x86 *c)
   15.39 +static char __devinit *table_lookup_model(struct cpuinfo_x86 *c)
   15.40  {
   15.41  	struct cpu_model_info *info;
   15.42  
   15.43 @@ -156,7 +156,7 @@ static char __init *table_lookup_model(s
   15.44  }
   15.45  
   15.46  
   15.47 -void __init get_cpu_vendor(struct cpuinfo_x86 *c, int early)
   15.48 +static void __devinit get_cpu_vendor(struct cpuinfo_x86 *c, int early)
   15.49  {
   15.50  	char *v = c->x86_vendor_id;
   15.51  	int i;
   15.52 @@ -207,7 +207,7 @@ static inline int flag_is_changeable_p(u
   15.53  
   15.54  
   15.55  /* Probe for the CPUID instruction */
   15.56 -static int __init have_cpuid_p(void)
   15.57 +static int __devinit have_cpuid_p(void)
   15.58  {
   15.59  	return flag_is_changeable_p(X86_EFLAGS_ID);
   15.60  }
   15.61 @@ -254,7 +254,7 @@ static void __init early_cpu_detect(void
   15.62  #endif
   15.63  }
   15.64  
   15.65 -void __init generic_identify(struct cpuinfo_x86 * c)
   15.66 +void __devinit generic_identify(struct cpuinfo_x86 * c)
   15.67  {
   15.68  	u32 tfms, xlvl;
   15.69  	int junk;
   15.70 @@ -301,7 +301,7 @@ void __init generic_identify(struct cpui
   15.71  	}
   15.72  }
   15.73  
   15.74 -static void __init squash_the_stupid_serial_number(struct cpuinfo_x86 *c)
   15.75 +static void __devinit squash_the_stupid_serial_number(struct cpuinfo_x86 *c)
   15.76  {
   15.77  	if (cpu_has(c, X86_FEATURE_PN) && disable_x86_serial_nr ) {
   15.78  		/* Disable processor serial number */
   15.79 @@ -329,7 +329,7 @@ static int __init x86_serial_nr_setup(ch
   15.80  /*
   15.81   * This does the hard work of actually picking apart the CPU stuff...
   15.82   */
   15.83 -void __init identify_cpu(struct cpuinfo_x86 *c)
   15.84 +void __devinit identify_cpu(struct cpuinfo_x86 *c)
   15.85  {
   15.86  	int i;
   15.87  
   15.88 @@ -439,10 +439,18 @@ void __init identify_cpu(struct cpuinfo_
   15.89  #ifdef CONFIG_X86_MCE
   15.90  	mcheck_init(c);
   15.91  #endif
   15.92 +	if (c == &boot_cpu_data)
   15.93 +		sysenter_setup();
   15.94 +	enable_sep_cpu();
   15.95 +
   15.96 +	if (c == &boot_cpu_data)
   15.97 +		mtrr_bp_init();
   15.98 +	else
   15.99 +		mtrr_ap_init();
  15.100  }
  15.101  
  15.102  #ifdef CONFIG_X86_HT
  15.103 -void __init detect_ht(struct cpuinfo_x86 *c)
  15.104 +void __devinit detect_ht(struct cpuinfo_x86 *c)
  15.105  {
  15.106  	u32 	eax, ebx, ecx, edx;
  15.107  	int 	index_msb, tmp;
  15.108 @@ -497,7 +505,7 @@ void __init detect_ht(struct cpuinfo_x86
  15.109  }
  15.110  #endif
  15.111  
  15.112 -void __init print_cpu_info(struct cpuinfo_x86 *c)
  15.113 +void __devinit print_cpu_info(struct cpuinfo_x86 *c)
  15.114  {
  15.115  	char *vendor = NULL;
  15.116  
  15.117 @@ -586,7 +594,7 @@ void __cpuinit cpu_gdt_init(struct Xgt_d
  15.118   * and IDT. We reload them nevertheless, this function acts as a
  15.119   * 'CPU state barrier', nothing should get across.
  15.120   */
  15.121 -void __cpuinit cpu_init (void)
  15.122 +void __cpuinit cpu_init(void)
  15.123  {
  15.124  	int cpu = smp_processor_id();
  15.125  	struct tss_struct * t = &per_cpu(init_tss, cpu);
  15.126 @@ -637,12 +645,12 @@ void __cpuinit cpu_init (void)
  15.127  	asm volatile ("xorl %eax, %eax; movl %eax, %fs; movl %eax, %gs");
  15.128  
  15.129  	/* Clear all 6 debug registers: */
  15.130 -
  15.131 -#define CD(register) HYPERVISOR_set_debugreg(register, 0)
  15.132 -
  15.133 -	CD(0); CD(1); CD(2); CD(3); /* no db4 and db5 */; CD(6); CD(7);
  15.134 -
  15.135 -#undef CD
  15.136 +	set_debugreg(0, 0);
  15.137 +	set_debugreg(0, 1);
  15.138 +	set_debugreg(0, 2);
  15.139 +	set_debugreg(0, 3);
  15.140 +	set_debugreg(0, 6);
  15.141 +	set_debugreg(0, 7);
  15.142  
  15.143  	/*
  15.144  	 * Force FPU initialization:
  15.145 @@ -651,3 +659,15 @@ void __cpuinit cpu_init (void)
  15.146  	clear_used_math();
  15.147  	mxcsr_feature_mask_init();
  15.148  }
  15.149 +
  15.150 +#ifdef CONFIG_HOTPLUG_CPU
  15.151 +void __devinit cpu_uninit(void)
  15.152 +{
  15.153 +	int cpu = raw_smp_processor_id();
  15.154 +	cpu_clear(cpu, cpu_initialized);
  15.155 +
  15.156 +	/* lazy TLB state */
  15.157 +	per_cpu(cpu_tlbstate, cpu).state = 0;
  15.158 +	per_cpu(cpu_tlbstate, cpu).active_mm = &init_mm;
  15.159 +}
  15.160 +#endif
    16.1 --- a/linux-2.6-xen-sparse/arch/i386/kernel/cpu/mtrr/main-xen.c	Tue Jan 31 19:55:55 2006 +0100
    16.2 +++ b/linux-2.6-xen-sparse/arch/i386/kernel/cpu/mtrr/main-xen.c	Tue Jan 31 19:55:22 2006 +0000
    16.3 @@ -79,15 +79,25 @@ int mtrr_add_page(unsigned long base, un
    16.4  	return op.u.add_memtype.reg;
    16.5  }
    16.6  
    16.7 +static int mtrr_check(unsigned long base, unsigned long size)
    16.8 +{
    16.9 +	if ((base & (PAGE_SIZE - 1)) || (size & (PAGE_SIZE - 1))) {
   16.10 +		printk(KERN_WARNING
   16.11 +			"mtrr: size and base must be multiples of 4 kiB\n");
   16.12 +		printk(KERN_DEBUG
   16.13 +			"mtrr: size: 0x%lx  base: 0x%lx\n", size, base);
   16.14 +		dump_stack();
   16.15 +		return -1;
   16.16 +	}
   16.17 +	return 0;
   16.18 +}
   16.19 +
   16.20  int
   16.21  mtrr_add(unsigned long base, unsigned long size, unsigned int type,
   16.22  	 char increment)
   16.23  {
   16.24 -	if ((base & (PAGE_SIZE - 1)) || (size & (PAGE_SIZE - 1))) {
   16.25 -		printk(KERN_WARNING "mtrr: size and base must be multiples of 4 kiB\n");
   16.26 -		printk(KERN_DEBUG "mtrr: size: 0x%lx  base: 0x%lx\n", size, base);
   16.27 +	if (mtrr_check(base, size))
   16.28  		return -EINVAL;
   16.29 -	}
   16.30  	return mtrr_add_page(base >> PAGE_SHIFT, size >> PAGE_SHIFT, type,
   16.31  			     increment);
   16.32  }
   16.33 @@ -139,17 +149,22 @@ int mtrr_del_page(int reg, unsigned long
   16.34  int
   16.35  mtrr_del(int reg, unsigned long base, unsigned long size)
   16.36  {
   16.37 -	if ((base & (PAGE_SIZE - 1)) || (size & (PAGE_SIZE - 1))) {
   16.38 -		printk(KERN_INFO "mtrr: size and base must be multiples of 4 kiB\n");
   16.39 -		printk(KERN_DEBUG "mtrr: size: 0x%lx  base: 0x%lx\n", size, base);
   16.40 +	if (mtrr_check(base, size))
   16.41  		return -EINVAL;
   16.42 -	}
   16.43  	return mtrr_del_page(reg, base >> PAGE_SHIFT, size >> PAGE_SHIFT);
   16.44  }
   16.45  
   16.46  EXPORT_SYMBOL(mtrr_add);
   16.47  EXPORT_SYMBOL(mtrr_del);
   16.48  
   16.49 +void __init mtrr_bp_init(void)
   16.50 +{
   16.51 +}
   16.52 +
   16.53 +void mtrr_ap_init(void)
   16.54 +{
   16.55 +}
   16.56 +
   16.57  static int __init mtrr_init(void)
   16.58  {
   16.59  	struct cpuinfo_x86 *c = &boot_cpu_data;
    17.1 --- a/linux-2.6-xen-sparse/arch/i386/kernel/entry-xen.S	Tue Jan 31 19:55:55 2006 +0100
    17.2 +++ b/linux-2.6-xen-sparse/arch/i386/kernel/entry-xen.S	Tue Jan 31 19:55:22 2006 +0000
    17.3 @@ -78,7 +78,7 @@ NT_MASK		= 0x00004000
    17.4  VM_MASK		= 0x00020000
    17.5  /* Pseudo-eflags. */
    17.6  NMI_MASK	= 0x80000000
    17.7 -	
    17.8 +
    17.9  /* Offsets into shared_info_t. */
   17.10  #define evtchn_upcall_pending		/* 0 */
   17.11  #define evtchn_upcall_mask		1
   17.12 @@ -254,7 +254,7 @@ 1:	movl (%ebp),%ebp
   17.13  	GET_THREAD_INFO(%ebp)
   17.14  
   17.15  	/* Note, _TIF_SECCOMP is bit number 8, and so it needs testw and not testb */
   17.16 -	testw $(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SECCOMP),TI_flags(%ebp)
   17.17 +	testw $(_TIF_SYSCALL_EMU|_TIF_SYSCALL_TRACE|_TIF_SECCOMP|_TIF_SYSCALL_AUDIT),TI_flags(%ebp)
   17.18  	jnz syscall_trace_entry
   17.19  	cmpl $(nr_syscalls), %eax
   17.20  	jae syscall_badsys
   17.21 @@ -277,9 +277,9 @@ ENTRY(system_call)
   17.22  	pushl %eax			# save orig_eax
   17.23  	SAVE_ALL
   17.24  	GET_THREAD_INFO(%ebp)
   17.25 -					# system call tracing in operation
   17.26 +					# system call tracing in operation / emulation
   17.27  	/* Note, _TIF_SECCOMP is bit number 8, and so it needs testw and not testb */
   17.28 -	testw $(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SECCOMP),TI_flags(%ebp)
   17.29 +	testw $(_TIF_SYSCALL_EMU|_TIF_SYSCALL_TRACE|_TIF_SECCOMP|_TIF_SYSCALL_AUDIT),TI_flags(%ebp)
   17.30  	jnz syscall_trace_entry
   17.31  	cmpl $(nr_syscalls), %eax
   17.32  	jae syscall_badsys
   17.33 @@ -388,7 +388,7 @@ work_notifysig:				# deal with pending s
   17.34  					# vm86-space
   17.35  	xorl %edx, %edx
   17.36  	call do_notify_resume
   17.37 -	jmp restore_all
   17.38 +	jmp resume_userspace
   17.39  
   17.40  	ALIGN
   17.41  work_notifysig_v86:
   17.42 @@ -398,7 +398,7 @@ work_notifysig_v86:
   17.43  	movl %eax, %esp
   17.44  	xorl %edx, %edx
   17.45  	call do_notify_resume
   17.46 -	jmp restore_all
   17.47 +	jmp resume_userspace
   17.48  
   17.49  	# perform syscall exit tracing
   17.50  	ALIGN
   17.51 @@ -407,6 +407,9 @@ syscall_trace_entry:
   17.52  	movl %esp, %eax
   17.53  	xorl %edx,%edx
   17.54  	call do_syscall_trace
   17.55 +	cmpl $0, %eax
   17.56 +	jne resume_userspace		# ret != 0 -> running under PTRACE_SYSEMU,
   17.57 +					# so must skip actual syscall
   17.58  	movl ORIG_EAX(%esp), %eax
   17.59  	cmpl $(nr_syscalls), %eax
   17.60  	jnae syscall_call
   17.61 @@ -679,7 +682,7 @@ label:						\
   17.62  	pushl $__KERNEL_CS;			\
   17.63  	pushl $sysenter_past_esp
   17.64  
   17.65 -ENTRY(debug)
   17.66 +KPROBE_ENTRY(debug)
   17.67  	cmpl $sysenter_entry,(%esp)
   17.68  	jne debug_stack_correct
   17.69  	FIX_STACK(12, debug_stack_correct, debug_esp_fix_insn)
   17.70 @@ -690,6 +693,7 @@ debug_stack_correct:
   17.71  	movl %esp,%eax			# pt_regs pointer
   17.72  	call do_debug
   17.73  	jmp ret_from_exception
   17.74 +	.previous .text
   17.75  
   17.76  ENTRY(nmi)
   17.77  	pushl %eax
   17.78 @@ -774,13 +778,14 @@ 1:	iret
   17.79  .previous
   17.80  #endif /* XEN */
   17.81  
   17.82 -ENTRY(int3)
   17.83 +KPROBE_ENTRY(int3)
   17.84  	pushl $-1			# mark this as an int
   17.85  	SAVE_ALL
   17.86  	xorl %edx,%edx		# zero error code
   17.87  	movl %esp,%eax		# pt_regs pointer
   17.88  	call do_int3
   17.89  	jmp ret_from_exception
   17.90 +	.previous .text
   17.91  
   17.92  ENTRY(overflow)
   17.93  	pushl $0
   17.94 @@ -814,17 +819,19 @@ ENTRY(stack_segment)
   17.95  	pushl $do_stack_segment
   17.96  	jmp error_code
   17.97  
   17.98 -ENTRY(general_protection)
   17.99 +KPROBE_ENTRY(general_protection)
  17.100  	pushl $do_general_protection
  17.101  	jmp error_code
  17.102 +	.previous .text
  17.103  
  17.104  ENTRY(alignment_check)
  17.105  	pushl $do_alignment_check
  17.106  	jmp error_code
  17.107  
  17.108 -ENTRY(page_fault)
  17.109 +KPROBE_ENTRY(page_fault)
  17.110  	pushl $do_page_fault
  17.111  	jmp error_code
  17.112 +	.previous .text
  17.113  
  17.114  #ifdef CONFIG_X86_MCE
  17.115  ENTRY(machine_check)
    18.1 --- a/linux-2.6-xen-sparse/arch/i386/kernel/head-xen.S	Tue Jan 31 19:55:55 2006 +0100
    18.2 +++ b/linux-2.6-xen-sparse/arch/i386/kernel/head-xen.S	Tue Jan 31 19:55:22 2006 +0000
    18.3 @@ -22,7 +22,7 @@
    18.4  #include <linux/linkage.h>
    18.5  #include <asm/segment.h>
    18.6  #include <asm/thread_info.h>
    18.7 -#include <asm/asm_offsets.h>
    18.8 +#include <asm/asm-offsets.h>
    18.9  #include <xen/interface/arch-x86_32.h>
   18.10  
   18.11  /*
   18.12 @@ -72,16 +72,15 @@ checkCPUtype:
   18.13  	movb %cl,X86_MASK
   18.14  	movl %edx,X86_CAPABILITY
   18.15  
   18.16 -	incb ready
   18.17 -
   18.18  	xorl %eax,%eax			# Clear FS/GS and LDT
   18.19  	movl %eax,%fs
   18.20  	movl %eax,%gs
   18.21  	cld			# gcc2 wants the direction flag cleared at all times
   18.22  
   18.23  #if 0
   18.24 -	movb ready, %cl	
   18.25 -	cmpb $1,%cl
   18.26 +	movb ready, %cl
   18.27 +	movb $1, ready
   18.28 +	cmpb $0,%cl
   18.29  	je 1f			# the first CPU calls start_kernel
   18.30  				# all other CPUs call initialize_secondary
   18.31  	call initialize_secondary
    19.1 --- a/linux-2.6-xen-sparse/arch/i386/kernel/i386_ksyms-xen.c	Tue Jan 31 19:55:55 2006 +0100
    19.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    19.3 @@ -1,185 +0,0 @@
    19.4 -#include <linux/config.h>
    19.5 -#include <linux/module.h>
    19.6 -#include <linux/smp.h>
    19.7 -#include <linux/user.h>
    19.8 -#include <linux/elfcore.h>
    19.9 -#include <linux/mca.h>
   19.10 -#include <linux/sched.h>
   19.11 -#include <linux/in6.h>
   19.12 -#include <linux/interrupt.h>
   19.13 -#include <linux/smp_lock.h>
   19.14 -#include <linux/pm.h>
   19.15 -#include <linux/pci.h>
   19.16 -#include <linux/apm_bios.h>
   19.17 -#include <linux/kernel.h>
   19.18 -#include <linux/string.h>
   19.19 -#include <linux/tty.h>
   19.20 -#include <linux/highmem.h>
   19.21 -#include <linux/time.h>
   19.22 -
   19.23 -#include <asm/semaphore.h>
   19.24 -#include <asm/processor.h>
   19.25 -#include <asm/i387.h>
   19.26 -#include <asm/uaccess.h>
   19.27 -#include <asm/checksum.h>
   19.28 -#include <asm/io.h>
   19.29 -#include <asm/delay.h>
   19.30 -#include <asm/irq.h>
   19.31 -#include <asm/mmx.h>
   19.32 -#include <asm/desc.h>
   19.33 -#include <asm/pgtable.h>
   19.34 -#include <asm/tlbflush.h>
   19.35 -#include <asm/nmi.h>
   19.36 -#include <asm/ist.h>
   19.37 -#include <asm/kdebug.h>
   19.38 -
   19.39 -extern void dump_thread(struct pt_regs *, struct user *);
   19.40 -extern spinlock_t rtc_lock;
   19.41 -
   19.42 -/* This is definitely a GPL-only symbol */
   19.43 -EXPORT_SYMBOL_GPL(cpu_gdt_table);
   19.44 -
   19.45 -#if defined(CONFIG_APM_MODULE)
   19.46 -extern void machine_real_restart(unsigned char *, int);
   19.47 -EXPORT_SYMBOL(machine_real_restart);
   19.48 -extern void default_idle(void);
   19.49 -EXPORT_SYMBOL(default_idle);
   19.50 -#endif
   19.51 -
   19.52 -#ifdef CONFIG_SMP
   19.53 -extern void FASTCALL( __write_lock_failed(rwlock_t *rw));
   19.54 -extern void FASTCALL( __read_lock_failed(rwlock_t *rw));
   19.55 -#endif
   19.56 -
   19.57 -#if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_HD) || defined(CONFIG_BLK_DEV_IDE_MODULE) || defined(CONFIG_BLK_DEV_HD_MODULE)
   19.58 -extern struct drive_info_struct drive_info;
   19.59 -EXPORT_SYMBOL(drive_info);
   19.60 -#endif
   19.61 -
   19.62 -extern unsigned long cpu_khz;
   19.63 -extern unsigned long get_cmos_time(void);
   19.64 -
   19.65 -/* platform dependent support */
   19.66 -EXPORT_SYMBOL(boot_cpu_data);
   19.67 -#ifdef CONFIG_DISCONTIGMEM
   19.68 -EXPORT_SYMBOL(node_data);
   19.69 -EXPORT_SYMBOL(physnode_map);
   19.70 -#endif
   19.71 -#ifdef CONFIG_X86_NUMAQ
   19.72 -EXPORT_SYMBOL(xquad_portio);
   19.73 -#endif
   19.74 -EXPORT_SYMBOL(dump_thread);
   19.75 -EXPORT_SYMBOL(dump_fpu);
   19.76 -EXPORT_SYMBOL_GPL(kernel_fpu_begin);
   19.77 -EXPORT_SYMBOL(__ioremap);
   19.78 -EXPORT_SYMBOL(ioremap_nocache);
   19.79 -EXPORT_SYMBOL(iounmap);
   19.80 -EXPORT_SYMBOL(kernel_thread);
   19.81 -EXPORT_SYMBOL(pm_idle);
   19.82 -EXPORT_SYMBOL(pm_power_off);
   19.83 -EXPORT_SYMBOL(get_cmos_time);
   19.84 -EXPORT_SYMBOL(cpu_khz);
   19.85 -EXPORT_SYMBOL(apm_info);
   19.86 -
   19.87 -EXPORT_SYMBOL(__down_failed);
   19.88 -EXPORT_SYMBOL(__down_failed_interruptible);
   19.89 -EXPORT_SYMBOL(__down_failed_trylock);
   19.90 -EXPORT_SYMBOL(__up_wakeup);
   19.91 -/* Networking helper routines. */
   19.92 -EXPORT_SYMBOL(csum_partial_copy_generic);
   19.93 -/* Delay loops */
   19.94 -EXPORT_SYMBOL(__ndelay);
   19.95 -EXPORT_SYMBOL(__udelay);
   19.96 -EXPORT_SYMBOL(__delay);
   19.97 -EXPORT_SYMBOL(__const_udelay);
   19.98 -
   19.99 -EXPORT_SYMBOL(__get_user_1);
  19.100 -EXPORT_SYMBOL(__get_user_2);
  19.101 -EXPORT_SYMBOL(__get_user_4);
  19.102 -
  19.103 -EXPORT_SYMBOL(__put_user_1);
  19.104 -EXPORT_SYMBOL(__put_user_2);
  19.105 -EXPORT_SYMBOL(__put_user_4);
  19.106 -EXPORT_SYMBOL(__put_user_8);
  19.107 -
  19.108 -EXPORT_SYMBOL(strpbrk);
  19.109 -EXPORT_SYMBOL(strstr);
  19.110 -
  19.111 -EXPORT_SYMBOL(strncpy_from_user);
  19.112 -EXPORT_SYMBOL(__strncpy_from_user);
  19.113 -EXPORT_SYMBOL(clear_user);
  19.114 -EXPORT_SYMBOL(__clear_user);
  19.115 -EXPORT_SYMBOL(__copy_from_user_ll);
  19.116 -EXPORT_SYMBOL(__copy_to_user_ll);
  19.117 -EXPORT_SYMBOL(strnlen_user);
  19.118 -
  19.119 -#ifdef CONFIG_PCI
  19.120 -EXPORT_SYMBOL(pci_mem_start);
  19.121 -#endif
  19.122 -
  19.123 -#ifdef CONFIG_PCI_BIOS
  19.124 -EXPORT_SYMBOL(pcibios_set_irq_routing);
  19.125 -EXPORT_SYMBOL(pcibios_get_irq_routing_table);
  19.126 -#endif
  19.127 -
  19.128 -#ifdef CONFIG_X86_USE_3DNOW
  19.129 -EXPORT_SYMBOL(_mmx_memcpy);
  19.130 -EXPORT_SYMBOL(mmx_clear_page);
  19.131 -EXPORT_SYMBOL(mmx_copy_page);
  19.132 -#endif
  19.133 -
  19.134 -#ifdef CONFIG_X86_HT
  19.135 -EXPORT_SYMBOL(smp_num_siblings);
  19.136 -EXPORT_SYMBOL(cpu_sibling_map);
  19.137 -#endif
  19.138 -
  19.139 -#ifdef CONFIG_SMP
  19.140 -EXPORT_SYMBOL(__write_lock_failed);
  19.141 -EXPORT_SYMBOL(__read_lock_failed);
  19.142 -
  19.143 -/* Global SMP stuff */
  19.144 -EXPORT_SYMBOL(smp_call_function);
  19.145 -
  19.146 -/* TLB flushing */
  19.147 -EXPORT_SYMBOL(flush_tlb_page);
  19.148 -#endif
  19.149 -
  19.150 -#ifdef CONFIG_X86_IO_APIC
  19.151 -EXPORT_SYMBOL(IO_APIC_get_PCI_irq_vector);
  19.152 -#endif
  19.153 -
  19.154 -#ifdef CONFIG_MCA
  19.155 -EXPORT_SYMBOL(machine_id);
  19.156 -#endif
  19.157 -
  19.158 -#ifdef CONFIG_VT
  19.159 -EXPORT_SYMBOL(screen_info);
  19.160 -#endif
  19.161 -
  19.162 -EXPORT_SYMBOL(get_wchan);
  19.163 -
  19.164 -EXPORT_SYMBOL(rtc_lock);
  19.165 -
  19.166 -EXPORT_SYMBOL_GPL(set_nmi_callback);
  19.167 -EXPORT_SYMBOL_GPL(unset_nmi_callback);
  19.168 -
  19.169 -EXPORT_SYMBOL(register_die_notifier);
  19.170 -#ifdef CONFIG_HAVE_DEC_LOCK
  19.171 -EXPORT_SYMBOL(_atomic_dec_and_lock);
  19.172 -#endif
  19.173 -
  19.174 -EXPORT_SYMBOL(__PAGE_KERNEL);
  19.175 -
  19.176 -#ifdef CONFIG_HIGHMEM
  19.177 -EXPORT_SYMBOL(kmap);
  19.178 -EXPORT_SYMBOL(kunmap);
  19.179 -EXPORT_SYMBOL(kmap_atomic);
  19.180 -EXPORT_SYMBOL(kunmap_atomic);
  19.181 -EXPORT_SYMBOL(kmap_atomic_to_page);
  19.182 -#endif
  19.183 -
  19.184 -#if defined(CONFIG_X86_SPEEDSTEP_SMI) || defined(CONFIG_X86_SPEEDSTEP_SMI_MODULE)
  19.185 -EXPORT_SYMBOL(ist_info);
  19.186 -#endif
  19.187 -
  19.188 -EXPORT_SYMBOL(csum_partial);
    20.1 --- a/linux-2.6-xen-sparse/arch/i386/kernel/io_apic-xen.c	Tue Jan 31 19:55:55 2006 +0100
    20.2 +++ b/linux-2.6-xen-sparse/arch/i386/kernel/io_apic-xen.c	Tue Jan 31 19:55:22 2006 +0000
    20.3 @@ -21,7 +21,6 @@
    20.4   */
    20.5  
    20.6  #include <linux/mm.h>
    20.7 -#include <linux/irq.h>
    20.8  #include <linux/interrupt.h>
    20.9  #include <linux/init.h>
   20.10  #include <linux/delay.h>
   20.11 @@ -31,12 +30,14 @@
   20.12  #include <linux/mc146818rtc.h>
   20.13  #include <linux/compiler.h>
   20.14  #include <linux/acpi.h>
   20.15 +#include <linux/module.h>
   20.16 +#include <linux/sysdev.h>
   20.17  
   20.18 -#include <linux/sysdev.h>
   20.19  #include <asm/io.h>
   20.20  #include <asm/smp.h>
   20.21  #include <asm/desc.h>
   20.22  #include <asm/timer.h>
   20.23 +#include <asm/i8259.h>
   20.24  
   20.25  #include <mach_apic.h>
   20.26  
   20.27 @@ -100,6 +101,8 @@ int sis_apic_bug = -1;
   20.28   */
   20.29  int nr_ioapic_registers[MAX_IO_APICS];
   20.30  
   20.31 +int disable_timer_pin_1 __initdata;
   20.32 +
   20.33  /*
   20.34   * Rough estimation of how many shared IRQs there are, can
   20.35   * be changed anytime.
   20.36 @@ -118,7 +121,7 @@ static struct irq_pin_list {
   20.37  	int apic, pin, next;
   20.38  } irq_2_pin[PIN_MAP_SIZE];
   20.39  
   20.40 -int vector_irq[NR_VECTORS] = { [0 ... NR_VECTORS - 1] = -1};
   20.41 +int vector_irq[NR_VECTORS] __read_mostly = { [0 ... NR_VECTORS - 1] = -1};
   20.42  #ifdef CONFIG_PCI_MSI
   20.43  #define vector_to_irq(vector) 	\
   20.44  	(platform_legacy_irq(vector) ? vector : vector_irq[vector])
   20.45 @@ -149,7 +152,9 @@ static void add_pin_to_irq(unsigned int 
   20.46  	entry->pin = pin;
   20.47  }
   20.48  
   20.49 -#ifndef CONFIG_XEN
   20.50 +#ifdef CONFIG_XEN
   20.51 +#define clear_IO_APIC() ((void)0)
   20.52 +#else
   20.53  /*
   20.54   * Reroute an IRQ to a different pin.
   20.55   */
   20.56 @@ -264,13 +269,21 @@ static void clear_IO_APIC (void)
   20.57  			clear_IO_APIC_pin(apic, pin);
   20.58  }
   20.59  
   20.60 +#ifdef CONFIG_SMP
   20.61  static void set_ioapic_affinity_irq(unsigned int irq, cpumask_t cpumask)
   20.62  {
   20.63  	unsigned long flags;
   20.64  	int pin;
   20.65  	struct irq_pin_list *entry = irq_2_pin + irq;
   20.66  	unsigned int apicid_value;
   20.67 +	cpumask_t tmp;
   20.68  	
   20.69 +	cpus_and(tmp, cpumask, cpu_online_map);
   20.70 +	if (cpus_empty(tmp))
   20.71 +		tmp = TARGET_CPUS;
   20.72 +
   20.73 +	cpus_and(cpumask, tmp, CPU_MASK_ALL);
   20.74 +
   20.75  	apicid_value = cpu_mask_to_apicid(cpumask);
   20.76  	/* Prepare to do the io_apic_write */
   20.77  	apicid_value = apicid_value << 24;
   20.78 @@ -284,11 +297,9 @@ static void set_ioapic_affinity_irq(unsi
   20.79  			break;
   20.80  		entry = irq_2_pin + entry->next;
   20.81  	}
   20.82 +	set_irq_info(irq, cpumask);
   20.83  	spin_unlock_irqrestore(&ioapic_lock, flags);
   20.84  }
   20.85 -#else
   20.86 -#define clear_IO_APIC() ((void)0)
   20.87 -#endif
   20.88  
   20.89  #if defined(CONFIG_IRQBALANCE)
   20.90  # include <asm/processor.h>	/* kernel_thread() */
   20.91 @@ -304,7 +315,6 @@ static void set_ioapic_affinity_irq(unsi
   20.92  #  define Dprintk(x...) 
   20.93  # endif
   20.94  
   20.95 -cpumask_t __cacheline_aligned pending_irq_balance_cpumask[NR_IRQS];
   20.96  
   20.97  #define IRQBALANCE_CHECK_ARCH -999
   20.98  static int irqbalance_disabled = IRQBALANCE_CHECK_ARCH;
   20.99 @@ -373,12 +383,7 @@ static inline void balance_irq(int cpu, 
  20.100  	cpus_and(allowed_mask, cpu_online_map, irq_affinity[irq]);
  20.101  	new_cpu = move(cpu, allowed_mask, now, 1);
  20.102  	if (cpu != new_cpu) {
  20.103 -		irq_desc_t *desc = irq_desc + irq;
  20.104 -		unsigned long flags;
  20.105 -
  20.106 -		spin_lock_irqsave(&desc->lock, flags);
  20.107 -		pending_irq_balance_cpumask[irq] = cpumask_of_cpu(new_cpu);
  20.108 -		spin_unlock_irqrestore(&desc->lock, flags);
  20.109 +		set_pending_irq(irq, cpumask_of_cpu(new_cpu));
  20.110  	}
  20.111  }
  20.112  
  20.113 @@ -573,16 +578,12 @@ tryanotherirq:
  20.114  	cpus_and(tmp, target_cpu_mask, allowed_mask);
  20.115  
  20.116  	if (!cpus_empty(tmp)) {
  20.117 -		irq_desc_t *desc = irq_desc + selected_irq;
  20.118 -		unsigned long flags;
  20.119  
  20.120  		Dprintk("irq = %d moved to cpu = %d\n",
  20.121  				selected_irq, min_loaded);
  20.122  		/* mark for change destination */
  20.123 -		spin_lock_irqsave(&desc->lock, flags);
  20.124 -		pending_irq_balance_cpumask[selected_irq] =
  20.125 -					cpumask_of_cpu(min_loaded);
  20.126 -		spin_unlock_irqrestore(&desc->lock, flags);
  20.127 +		set_pending_irq(selected_irq, cpumask_of_cpu(min_loaded));
  20.128 +
  20.129  		/* Since we made a change, come back sooner to 
  20.130  		 * check for more variation.
  20.131  		 */
  20.132 @@ -613,13 +614,13 @@ static int balanced_irq(void *unused)
  20.133  	
  20.134  	/* push everything to CPU 0 to give us a starting point.  */
  20.135  	for (i = 0 ; i < NR_IRQS ; i++) {
  20.136 -		pending_irq_balance_cpumask[i] = cpumask_of_cpu(0);
  20.137 +		pending_irq_cpumask[i] = cpumask_of_cpu(0);
  20.138 +		set_pending_irq(i, cpumask_of_cpu(0));
  20.139  	}
  20.140  
  20.141  	for ( ; ; ) {
  20.142 -		set_current_state(TASK_INTERRUPTIBLE);
  20.143 -		time_remaining = schedule_timeout(time_remaining);
  20.144 -		try_to_freeze(PF_FREEZE);
  20.145 +		time_remaining = schedule_timeout_interruptible(time_remaining);
  20.146 +		try_to_freeze();
  20.147  		if (time_after(jiffies,
  20.148  				prev_balance_time+balanced_irq_interval)) {
  20.149  			preempt_disable();
  20.150 @@ -678,10 +679,8 @@ static int __init balanced_irq_init(void
  20.151  		printk(KERN_ERR "balanced_irq_init: failed to spawn balanced_irq");
  20.152  failed:
  20.153  	for (i = 0; i < NR_CPUS; i++) {
  20.154 -		if(irq_cpu_data[i].irq_delta)
  20.155 -			kfree(irq_cpu_data[i].irq_delta);
  20.156 -		if(irq_cpu_data[i].last_irq)
  20.157 -			kfree(irq_cpu_data[i].last_irq);
  20.158 +		kfree(irq_cpu_data[i].irq_delta);
  20.159 +		kfree(irq_cpu_data[i].last_irq);
  20.160  	}
  20.161  	return 0;
  20.162  }
  20.163 @@ -694,20 +693,10 @@ int __init irqbalance_disable(char *str)
  20.164  
  20.165  __setup("noirqbalance", irqbalance_disable);
  20.166  
  20.167 -static inline void move_irq(int irq)
  20.168 -{
  20.169 -	/* note - we hold the desc->lock */
  20.170 -	if (unlikely(!cpus_empty(pending_irq_balance_cpumask[irq]))) {
  20.171 -		set_ioapic_affinity_irq(irq, pending_irq_balance_cpumask[irq]);
  20.172 -		cpus_clear(pending_irq_balance_cpumask[irq]);
  20.173 -	}
  20.174 -}
  20.175 -
  20.176  late_initcall(balanced_irq_init);
  20.177 -
  20.178 -#else /* !CONFIG_IRQBALANCE */
  20.179 -static inline void move_irq(int irq) { }
  20.180  #endif /* CONFIG_IRQBALANCE */
  20.181 +#endif /* CONFIG_SMP */
  20.182 +#endif
  20.183  
  20.184  #ifndef CONFIG_SMP
  20.185  void fastcall send_IPI_self(int vector)
  20.186 @@ -864,13 +853,15 @@ int IO_APIC_get_PCI_irq_vector(int bus, 
  20.187  	}
  20.188  	return best_guess;
  20.189  }
  20.190 +EXPORT_SYMBOL(IO_APIC_get_PCI_irq_vector);
  20.191  
  20.192 -#ifndef CONFIG_XEN
  20.193  /*
  20.194   * This function currently is only a helper for the i386 smp boot process where 
  20.195   * we need to reprogram the ioredtbls to cater for the cpus which have come online
  20.196   * so mask in all cases should simply be TARGET_CPUS
  20.197   */
  20.198 +#ifdef CONFIG_SMP
  20.199 +#ifndef CONFIG_XEN
  20.200  void __init setup_ioapic_dest(void)
  20.201  {
  20.202  	int pin, ioapic, irq, irq_entry;
  20.203 @@ -890,6 +881,7 @@ void __init setup_ioapic_dest(void)
  20.204  	}
  20.205  }
  20.206  #endif /* !CONFIG_XEN */
  20.207 +#endif
  20.208  
  20.209  /*
  20.210   * EISA Edge/Level control register, ELCR
  20.211 @@ -1179,7 +1171,7 @@ static inline int IO_APIC_irq_trigger(in
  20.212  }
  20.213  
  20.214  /* irq_vectors is indexed by the sum of all RTEs in all I/O APICs. */
  20.215 -u8 irq_vector[NR_IRQ_VECTORS]; /* = { FIRST_DEVICE_VECTOR , 0 }; */
  20.216 +u8 irq_vector[NR_IRQ_VECTORS] __read_mostly; /* = { FIRST_DEVICE_VECTOR , 0 }; */
  20.217  
  20.218  int assign_irq_vector(int irq)
  20.219  {
  20.220 @@ -1301,6 +1293,7 @@ static void __init setup_IO_APIC_irqs(vo
  20.221  		spin_lock_irqsave(&ioapic_lock, flags);
  20.222  		io_apic_write(apic, 0x11+2*pin, *(((int *)&entry)+1));
  20.223  		io_apic_write(apic, 0x10+2*pin, *(((int *)&entry)+0));
  20.224 +		set_native_irq_info(irq, TARGET_CPUS);
  20.225  		spin_unlock_irqrestore(&ioapic_lock, flags);
  20.226  	}
  20.227  	}
  20.228 @@ -1618,7 +1611,6 @@ void print_all_local_APICs (void)
  20.229  
  20.230  void /*__init*/ print_PIC(void)
  20.231  {
  20.232 -	extern spinlock_t i8259A_lock;
  20.233  	unsigned int v;
  20.234  	unsigned long flags;
  20.235  
  20.236 @@ -1687,13 +1679,46 @@ static void __init enable_IO_APIC(void)
  20.237   */
  20.238  void disable_IO_APIC(void)
  20.239  {
  20.240 +#ifndef CONFIG_XEN
  20.241 +	int pin;
  20.242 +#endif
  20.243  	/*
  20.244  	 * Clear the IO-APIC before rebooting:
  20.245  	 */
  20.246  	clear_IO_APIC();
  20.247  
  20.248  #ifndef CONFIG_XEN
  20.249 -	disconnect_bsp_APIC();
  20.250 +	/*
  20.251 +	 * If the i8259 is routed through an IOAPIC
  20.252 +	 * Put that IOAPIC in virtual wire mode
  20.253 +	 * so legacy interrupts can be delivered.
  20.254 +	 */
  20.255 +	pin = find_isa_irq_pin(0, mp_ExtINT);
  20.256 +	if (pin != -1) {
  20.257 +		struct IO_APIC_route_entry entry;
  20.258 +		unsigned long flags;
  20.259 +
  20.260 +		memset(&entry, 0, sizeof(entry));
  20.261 +		entry.mask            = 0; /* Enabled */
  20.262 +		entry.trigger         = 0; /* Edge */
  20.263 +		entry.irr             = 0;
  20.264 +		entry.polarity        = 0; /* High */
  20.265 +		entry.delivery_status = 0;
  20.266 +		entry.dest_mode       = 0; /* Physical */
  20.267 +		entry.delivery_mode   = 7; /* ExtInt */
  20.268 +		entry.vector          = 0;
  20.269 +		entry.dest.physical.physical_dest = 0;
  20.270 +
  20.271 +
  20.272 +		/*
  20.273 +		 * Add it to the IO-APIC irq-routing table:
  20.274 +		 */
  20.275 +		spin_lock_irqsave(&ioapic_lock, flags);
  20.276 +		io_apic_write(0, 0x11+2*pin, *(((int *)&entry)+1));
  20.277 +		io_apic_write(0, 0x10+2*pin, *(((int *)&entry)+0));
  20.278 +		spin_unlock_irqrestore(&ioapic_lock, flags);
  20.279 +	}
  20.280 +	disconnect_bsp_APIC(pin != -1);
  20.281  #endif
  20.282  }
  20.283  
  20.284 @@ -1715,6 +1740,12 @@ static void __init setup_ioapic_ids_from
  20.285  	unsigned long flags;
  20.286  
  20.287  	/*
  20.288 +	 * Don't check I/O APIC IDs for xAPIC systems.  They have
  20.289 +	 * no meaning without the serial APIC bus.
  20.290 +	 */
  20.291 +	if (!(boot_cpu_data.x86_vendor == X86_VENDOR_INTEL && boot_cpu_data.x86 < 15))
  20.292 +		return;
  20.293 +	/*
  20.294  	 * This is broken; anything with a real cpu count has to
  20.295  	 * circumvent this idiocy regardless.
  20.296  	 */
  20.297 @@ -1740,10 +1771,6 @@ static void __init setup_ioapic_ids_from
  20.298  			mp_ioapics[apic].mpc_apicid = reg_00.bits.ID;
  20.299  		}
  20.300  
  20.301 -		/* Don't check I/O APIC IDs for some xAPIC systems.  They have
  20.302 -		 * no meaning without the serial APIC bus. */
  20.303 -		if (NO_IOAPIC_CHECK)
  20.304 -			continue;
  20.305  		/*
  20.306  		 * Sanity check, is the ID really free? Every APIC in a
  20.307  		 * system must have a unique ID or we get lots of nice
  20.308 @@ -1967,6 +1994,7 @@ static void ack_edge_ioapic_vector(unsig
  20.309  {
  20.310  	int irq = vector_to_irq(vector);
  20.311  
  20.312 +	move_irq(vector);
  20.313  	ack_edge_ioapic_irq(irq);
  20.314  }
  20.315  
  20.316 @@ -1981,6 +2009,7 @@ static void end_level_ioapic_vector (uns
  20.317  {
  20.318  	int irq = vector_to_irq(vector);
  20.319  
  20.320 +	move_irq(vector);
  20.321  	end_level_ioapic_irq(irq);
  20.322  }
  20.323  
  20.324 @@ -1998,14 +2027,17 @@ static void unmask_IO_APIC_vector (unsig
  20.325  	unmask_IO_APIC_irq(irq);
  20.326  }
  20.327  
  20.328 +#ifdef CONFIG_SMP
  20.329  static void set_ioapic_affinity_vector (unsigned int vector,
  20.330  					cpumask_t cpu_mask)
  20.331  {
  20.332  	int irq = vector_to_irq(vector);
  20.333  
  20.334 +	set_native_irq_info(vector, cpu_mask);
  20.335  	set_ioapic_affinity_irq(irq, cpu_mask);
  20.336  }
  20.337  #endif
  20.338 +#endif
  20.339  
  20.340  /*
  20.341   * Level and edge triggered IO-APIC interrupts need different handling,
  20.342 @@ -2015,7 +2047,7 @@ static void set_ioapic_affinity_vector (
  20.343   * edge-triggered handler, without risking IRQ storms and other ugly
  20.344   * races.
  20.345   */
  20.346 -static struct hw_interrupt_type ioapic_edge_type = {
  20.347 +static struct hw_interrupt_type ioapic_edge_type __read_mostly = {
  20.348  	.typename 	= "IO-APIC-edge",
  20.349  	.startup 	= startup_edge_ioapic,
  20.350  	.shutdown 	= shutdown_edge_ioapic,
  20.351 @@ -2023,10 +2055,12 @@ static struct hw_interrupt_type ioapic_e
  20.352  	.disable 	= disable_edge_ioapic,
  20.353  	.ack 		= ack_edge_ioapic,
  20.354  	.end 		= end_edge_ioapic,
  20.355 +#ifdef CONFIG_SMP
  20.356  	.set_affinity 	= set_ioapic_affinity,
  20.357 +#endif
  20.358  };
  20.359  
  20.360 -static struct hw_interrupt_type ioapic_level_type = {
  20.361 +static struct hw_interrupt_type ioapic_level_type __read_mostly = {
  20.362  	.typename 	= "IO-APIC-level",
  20.363  	.startup 	= startup_level_ioapic,
  20.364  	.shutdown 	= shutdown_level_ioapic,
  20.365 @@ -2034,7 +2068,9 @@ static struct hw_interrupt_type ioapic_l
  20.366  	.disable 	= disable_level_ioapic,
  20.367  	.ack 		= mask_and_ack_level_ioapic,
  20.368  	.end 		= end_level_ioapic,
  20.369 +#ifdef CONFIG_SMP
  20.370  	.set_affinity 	= set_ioapic_affinity,
  20.371 +#endif
  20.372  };
  20.373  #endif /* !CONFIG_XEN */
  20.374  
  20.375 @@ -2101,7 +2137,7 @@ static void ack_lapic_irq (unsigned int 
  20.376  
  20.377  static void end_lapic_irq (unsigned int i) { /* nothing */ }
  20.378  
  20.379 -static struct hw_interrupt_type lapic_irq_type = {
  20.380 +static struct hw_interrupt_type lapic_irq_type __read_mostly = {
  20.381  	.typename 	= "local-APIC-edge",
  20.382  	.startup 	= NULL, /* startup_irq() not used for IRQ0 */
  20.383  	.shutdown 	= NULL, /* shutdown_irq() not used for IRQ0 */
  20.384 @@ -2237,6 +2273,8 @@ static inline void check_timer(void)
  20.385  				setup_nmi();
  20.386  				enable_8259A_irq(0);
  20.387  			}
  20.388 +			if (disable_timer_pin_1 > 0)
  20.389 +				clear_IO_APIC_pin(0, pin1);
  20.390  			return;
  20.391  		}
  20.392  		clear_IO_APIC_pin(0, pin1);
  20.393 @@ -2453,7 +2491,7 @@ device_initcall(ioapic_init_sysfs);
  20.394                            ACPI-based IOAPIC Configuration
  20.395     -------------------------------------------------------------------------- */
  20.396  
  20.397 -#ifdef CONFIG_ACPI_BOOT
  20.398 +#ifdef CONFIG_ACPI
  20.399  
  20.400  int __init io_apic_get_unique_id (int ioapic, int apic_id)
  20.401  {
  20.402 @@ -2603,9 +2641,10 @@ int io_apic_set_pci_routing (int ioapic,
  20.403  	spin_lock_irqsave(&ioapic_lock, flags);
  20.404  	io_apic_write(ioapic, 0x11+2*pin, *(((int *)&entry)+1));
  20.405  	io_apic_write(ioapic, 0x10+2*pin, *(((int *)&entry)+0));
  20.406 +	set_native_irq_info(use_pci_vector() ? entry.vector : irq, TARGET_CPUS);
  20.407  	spin_unlock_irqrestore(&ioapic_lock, flags);
  20.408  
  20.409  	return 0;
  20.410  }
  20.411  
  20.412 -#endif /*CONFIG_ACPI_BOOT*/
  20.413 +#endif /* CONFIG_ACPI */
    21.1 --- a/linux-2.6-xen-sparse/arch/i386/kernel/ioport-xen.c	Tue Jan 31 19:55:55 2006 +0100
    21.2 +++ b/linux-2.6-xen-sparse/arch/i386/kernel/ioport-xen.c	Tue Jan 31 19:55:22 2006 +0000
    21.3 @@ -101,25 +101,21 @@ asmlinkage long sys_ioperm(unsigned long
    21.4   * code.
    21.5   */
    21.6  
    21.7 -asmlinkage long sys_iopl(unsigned int new_io_pl)
    21.8 +asmlinkage long sys_iopl(unsigned long unused)
    21.9  {
   21.10 -	unsigned int old_io_pl = current->thread.io_pl;
   21.11 -	physdev_op_t op;
   21.12 -
   21.13 -	if (new_io_pl > 3)
   21.14 -		return -EINVAL;
   21.15 +	volatile struct pt_regs * regs = (struct pt_regs *) &unused;
   21.16 +	unsigned int level = regs->ebx;
   21.17 +	struct thread_struct *t = &current->thread;
   21.18 +	unsigned int old = (t->iopl >> 12) & 3;
   21.19  
   21.20 -	/* Need "raw I/O" privileges for direct port access. */
   21.21 -	if ((new_io_pl > old_io_pl) && !capable(CAP_SYS_RAWIO))
   21.22 -		return -EPERM;
   21.23 -
   21.24 -	/* Change our version of the privilege levels. */
   21.25 -	current->thread.io_pl = new_io_pl;
   21.26 -
   21.27 -	/* Force the change at ring 0. */
   21.28 -	op.cmd             = PHYSDEVOP_SET_IOPL;
   21.29 -	op.u.set_iopl.iopl = (new_io_pl == 0) ? 1 : new_io_pl;
   21.30 -	HYPERVISOR_physdev_op(&op);
   21.31 -
   21.32 +	if (level > 3)
   21.33 +		return -EINVAL;
   21.34 +	/* Trying to gain more privileges? */
   21.35 +	if (level > old) {
   21.36 +		if (!capable(CAP_SYS_RAWIO))
   21.37 +			return -EPERM;
   21.38 +	}
   21.39 +	t->iopl = level << 12;
   21.40 +	set_iopl_mask(t->iopl);
   21.41  	return 0;
   21.42  }
    22.1 --- a/linux-2.6-xen-sparse/arch/i386/kernel/irq-xen.c	Tue Jan 31 19:55:55 2006 +0100
    22.2 +++ b/linux-2.6-xen-sparse/arch/i386/kernel/irq-xen.c	Tue Jan 31 19:55:22 2006 +0000
    22.3 @@ -156,6 +156,11 @@ void irq_ctx_init(int cpu)
    22.4  		cpu,hardirq_ctx[cpu],softirq_ctx[cpu]);
    22.5  }
    22.6  
    22.7 +void irq_ctx_exit(int cpu)
    22.8 +{
    22.9 +	hardirq_ctx[cpu] = NULL;
   22.10 +}
   22.11 +
   22.12  extern asmlinkage void __do_softirq(void);
   22.13  
   22.14  asmlinkage void do_softirq(void)
   22.15 @@ -242,12 +247,13 @@ skip:
   22.16  	} else if (i == NR_IRQS) {
   22.17  		seq_printf(p, "NMI: ");
   22.18  		for_each_cpu(j)
   22.19 - 			seq_printf(p, "%10u ", nmi_count(j));
   22.20 +			seq_printf(p, "%10u ", nmi_count(j));
   22.21  		seq_putc(p, '\n');
   22.22  #ifdef CONFIG_X86_LOCAL_APIC
   22.23  		seq_printf(p, "LOC: ");
   22.24  		for_each_cpu(j)
   22.25 -			seq_printf(p, "%10u ", per_cpu(irq_stat,j).apic_timer_irqs);
   22.26 +			seq_printf(p, "%10u ",
   22.27 +				per_cpu(irq_stat,j).apic_timer_irqs);
   22.28  		seq_putc(p, '\n');
   22.29  #endif
   22.30  		seq_printf(p, "ERR: %10u\n", atomic_read(&irq_err_count));
    23.1 --- a/linux-2.6-xen-sparse/arch/i386/kernel/mpparse-xen.c	Tue Jan 31 19:55:55 2006 +0100
    23.2 +++ b/linux-2.6-xen-sparse/arch/i386/kernel/mpparse-xen.c	Tue Jan 31 19:55:22 2006 +0000
    23.3 @@ -14,7 +14,6 @@
    23.4   */
    23.5  
    23.6  #include <linux/mm.h>
    23.7 -#include <linux/irq.h>
    23.8  #include <linux/init.h>
    23.9  #include <linux/acpi.h>
   23.10  #include <linux/delay.h>
   23.11 @@ -65,9 +64,10 @@ int nr_ioapics;
   23.12  int pic_mode;
   23.13  unsigned long mp_lapic_addr;
   23.14  
   23.15 +unsigned int def_to_bigsmp = 0;
   23.16 +
   23.17  /* Processor that is doing the boot up */
   23.18  unsigned int boot_cpu_physical_apicid = -1U;
   23.19 -unsigned int boot_cpu_logical_apicid = -1U;
   23.20  /* Internal processor count */
   23.21  static unsigned int __initdata num_processors;
   23.22  
   23.23 @@ -123,7 +123,7 @@ static int MP_valid_apicid(int apicid, i
   23.24  static void __init MP_processor_info (struct mpc_config_processor *m)
   23.25  {
   23.26   	int ver, apicid;
   23.27 -	physid_mask_t tmp;
   23.28 +	physid_mask_t phys_cpu;
   23.29   	
   23.30  	if (!(m->mpc_cpuflag & CPU_ENABLED))
   23.31  		return;
   23.32 @@ -181,7 +181,6 @@ static void __init MP_processor_info (st
   23.33  	if (m->mpc_cpuflag & CPU_BOOTPROCESSOR) {
   23.34  		Dprintk("    Bootup CPU\n");
   23.35  		boot_cpu_physical_apicid = m->mpc_apicid;
   23.36 -		boot_cpu_logical_apicid = apicid;
   23.37  	}
   23.38  
   23.39  	if (num_processors >= NR_CPUS) {
   23.40 @@ -195,27 +194,36 @@ static void __init MP_processor_info (st
   23.41  			" Processor ignored.\n", maxcpus); 
   23.42  		return;
   23.43  	}
   23.44 -	num_processors++;
   23.45  	ver = m->mpc_apicver;
   23.46  
   23.47  	if (!MP_valid_apicid(apicid, ver)) {
   23.48  		printk(KERN_WARNING "Processor #%d INVALID. (Max ID: %d).\n",
   23.49  			m->mpc_apicid, MAX_APICS);
   23.50 -		--num_processors;
   23.51  		return;
   23.52  	}
   23.53  
   23.54 -	tmp = apicid_to_cpu_present(apicid);
   23.55 -	physids_or(phys_cpu_present_map, phys_cpu_present_map, tmp);
   23.56 -	
   23.57 +	cpu_set(num_processors, cpu_possible_map);
   23.58 +	num_processors++;
   23.59 +	phys_cpu = apicid_to_cpu_present(apicid);
   23.60 +	physids_or(phys_cpu_present_map, phys_cpu_present_map, phys_cpu);
   23.61 +
   23.62  	/*
   23.63  	 * Validate version
   23.64  	 */
   23.65  	if (ver == 0x0) {
   23.66 -		printk(KERN_WARNING "BIOS bug, APIC version is 0 for CPU#%d! fixing up to 0x10. (tell your hw vendor)\n", m->mpc_apicid);
   23.67 +		printk(KERN_WARNING "BIOS bug, APIC version is 0 for CPU#%d! "
   23.68 +				"fixing up to 0x10. (tell your hw vendor)\n",
   23.69 +				m->mpc_apicid);
   23.70  		ver = 0x10;
   23.71  	}
   23.72  	apic_version[m->mpc_apicid] = ver;
   23.73 +	if ((num_processors > 8) &&
   23.74 +	    APIC_XAPIC(ver) &&
   23.75 +	    (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL))
   23.76 +		def_to_bigsmp = 1;
   23.77 +	else
   23.78 +		def_to_bigsmp = 0;
   23.79 +
   23.80  	bios_cpu_apicid[num_processors - 1] = m->mpc_apicid;
   23.81  }
   23.82  #else
   23.83 @@ -662,8 +670,6 @@ void __init get_smp_config (void)
   23.84  	struct intel_mp_floating *mpf = mpf_found;
   23.85  
   23.86  	/*
   23.87 -	 * ACPI may be used to obtain the entire SMP configuration or just to 
   23.88 -	 * enumerate/configure processors (CONFIG_ACPI_BOOT).  Note that 
   23.89  	 * ACPI supports both logical (e.g. Hyper-Threading) and physical 
   23.90  	 * processors, where MPS only supports physical.
   23.91  	 */
   23.92 @@ -828,7 +834,7 @@ void __init find_smp_config (void)
   23.93                              ACPI-based MP Configuration
   23.94     -------------------------------------------------------------------------- */
   23.95  
   23.96 -#ifdef CONFIG_ACPI_BOOT
   23.97 +#ifdef CONFIG_ACPI
   23.98  
   23.99  void __init mp_register_lapic_address (
  23.100  	u64			address)
  23.101 @@ -876,7 +882,7 @@ void __init mp_register_lapic (
  23.102  	MP_processor_info(&processor);
  23.103  }
  23.104  
  23.105 -#if defined(CONFIG_X86_IO_APIC) && (defined(CONFIG_ACPI_INTERPRETER) || defined(CONFIG_ACPI_BOOT))
  23.106 +#ifdef	CONFIG_X86_IO_APIC
  23.107  
  23.108  #define MP_ISA_BUS		0
  23.109  #define MP_MAX_IOAPIC_PIN	127
  23.110 @@ -931,7 +937,10 @@ void __init mp_register_ioapic (
  23.111  	mp_ioapics[idx].mpc_flags = MPC_APIC_USABLE;
  23.112  	mp_ioapics[idx].mpc_apicaddr = address;
  23.113  
  23.114 -	mp_ioapics[idx].mpc_apicid = io_apic_get_unique_id(idx, id);
  23.115 +	if ((boot_cpu_data.x86_vendor == X86_VENDOR_INTEL) && (boot_cpu_data.x86 < 15))
  23.116 +		mp_ioapics[idx].mpc_apicid = io_apic_get_unique_id(idx, id);
  23.117 +	else
  23.118 +		mp_ioapics[idx].mpc_apicid = id;
  23.119  	mp_ioapics[idx].mpc_apicver = io_apic_get_version(idx);
  23.120  	
  23.121  	/* 
  23.122 @@ -1072,17 +1081,24 @@ void __init mp_config_acpi_legacy_irqs (
  23.123  	}
  23.124  }
  23.125  
  23.126 +#define MAX_GSI_NUM	4096
  23.127 +
  23.128  int mp_register_gsi (u32 gsi, int edge_level, int active_high_low)
  23.129  {
  23.130  	int			ioapic = -1;
  23.131  	int			ioapic_pin = 0;
  23.132  	int			idx, bit = 0;
  23.133 +	static int		pci_irq = 16;
  23.134 +	/*
  23.135 +	 * Mapping between Global System Interrups, which
  23.136 +	 * represent all possible interrupts, and IRQs
  23.137 +	 * assigned to actual devices.
  23.138 +	 */
  23.139 +	static int		gsi_to_irq[MAX_GSI_NUM];
  23.140  
  23.141 -#ifdef CONFIG_ACPI_BUS
  23.142  	/* Don't set up the ACPI SCI because it's already set up */
  23.143  	if (acpi_fadt.sci_int == gsi)
  23.144  		return gsi;
  23.145 -#endif
  23.146  
  23.147  	ioapic = mp_find_ioapic(gsi);
  23.148  	if (ioapic < 0) {
  23.149 @@ -1111,16 +1127,37 @@ int mp_register_gsi (u32 gsi, int edge_l
  23.150  	if ((1<<bit) & mp_ioapic_routing[ioapic].pin_programmed[idx]) {
  23.151  		Dprintk(KERN_DEBUG "Pin %d-%d already programmed\n",
  23.152  			mp_ioapic_routing[ioapic].apic_id, ioapic_pin);
  23.153 -		return gsi;
  23.154 +		return gsi_to_irq[gsi];
  23.155  	}
  23.156  
  23.157  	mp_ioapic_routing[ioapic].pin_programmed[idx] |= (1<<bit);
  23.158  
  23.159 +	if (edge_level) {
  23.160 +		/*
  23.161 +		 * For PCI devices assign IRQs in order, avoiding gaps
  23.162 +		 * due to unused I/O APIC pins.
  23.163 +		 */
  23.164 +		int irq = gsi;
  23.165 +		if (gsi < MAX_GSI_NUM) {
  23.166 +			if (gsi > 15)
  23.167 +				gsi = pci_irq++;
  23.168 +			/*
  23.169 +			 * Don't assign IRQ used by ACPI SCI
  23.170 +			 */
  23.171 +			if (gsi == acpi_fadt.sci_int)
  23.172 +				gsi = pci_irq++;
  23.173 +			gsi_to_irq[irq] = gsi;
  23.174 +		} else {
  23.175 +			printk(KERN_ERR "GSI %u is too high\n", gsi);
  23.176 +			return gsi;
  23.177 +		}
  23.178 +	}
  23.179 +
  23.180  	io_apic_set_pci_routing(ioapic, ioapic_pin, gsi,
  23.181  		    edge_level == ACPI_EDGE_SENSITIVE ? 0 : 1,
  23.182  		    active_high_low == ACPI_ACTIVE_HIGH ? 0 : 1);
  23.183  	return gsi;
  23.184  }
  23.185  
  23.186 -#endif /*CONFIG_X86_IO_APIC && (CONFIG_ACPI_INTERPRETER || CONFIG_ACPI_BOOT)*/
  23.187 -#endif /*CONFIG_ACPI_BOOT*/
  23.188 +#endif /* CONFIG_X86_IO_APIC */
  23.189 +#endif /* CONFIG_ACPI */
    24.1 --- a/linux-2.6-xen-sparse/arch/i386/kernel/pci-dma-xen.c	Tue Jan 31 19:55:55 2006 +0100
    24.2 +++ b/linux-2.6-xen-sparse/arch/i386/kernel/pci-dma-xen.c	Tue Jan 31 19:55:22 2006 +0000
    24.3 @@ -11,6 +11,7 @@
    24.4  #include <linux/mm.h>
    24.5  #include <linux/string.h>
    24.6  #include <linux/pci.h>
    24.7 +#include <linux/module.h>
    24.8  #include <linux/version.h>
    24.9  #include <asm/io.h>
   24.10  #include <xen/balloon.h>
   24.11 @@ -124,7 +125,7 @@ dma_supported(struct device *dev, u64 ma
   24.12  EXPORT_SYMBOL(dma_supported);
   24.13  
   24.14  void *dma_alloc_coherent(struct device *dev, size_t size,
   24.15 -			   dma_addr_t *dma_handle, unsigned int __nocast gfp)
   24.16 +			   dma_addr_t *dma_handle, gfp_t gfp)
   24.17  {
   24.18  	void *ret;
   24.19  	struct dma_coherent_mem *mem = dev ? dev->dma_mem : NULL;
    25.1 --- a/linux-2.6-xen-sparse/arch/i386/kernel/process-xen.c	Tue Jan 31 19:55:55 2006 +0100
    25.2 +++ b/linux-2.6-xen-sparse/arch/i386/kernel/process-xen.c	Tue Jan 31 19:55:22 2006 +0000
    25.3 @@ -38,6 +38,7 @@
    25.4  #include <linux/kallsyms.h>
    25.5  #include <linux/ptrace.h>
    25.6  #include <linux/random.h>
    25.7 +#include <linux/kprobes.h>
    25.8  
    25.9  #include <asm/uaccess.h>
   25.10  #include <asm/pgtable.h>
   25.11 @@ -46,7 +47,6 @@
   25.12  #include <asm/ldt.h>
   25.13  #include <asm/processor.h>
   25.14  #include <asm/i387.h>
   25.15 -#include <asm/irq.h>
   25.16  #include <asm/desc.h>
   25.17  #include <xen/interface/physdev.h>
   25.18  #include <xen/interface/vcpu.h>
   25.19 @@ -54,12 +54,14 @@
   25.20  #include <asm/math_emu.h>
   25.21  #endif
   25.22  
   25.23 -#include <linux/irq.h>
   25.24  #include <linux/err.h>
   25.25  
   25.26  #include <asm/tlbflush.h>
   25.27  #include <asm/cpu.h>
   25.28  
   25.29 +#include <asm/tlbflush.h>
   25.30 +#include <asm/cpu.h>
   25.31 +
   25.32  asmlinkage void ret_from_fork(void) __asm__("ret_from_fork");
   25.33  
   25.34  static int hlt_counter;
   25.35 @@ -79,6 +81,7 @@ unsigned long thread_saved_pc(struct tas
   25.36   * Powermanagement idle function, if any..
   25.37   */
   25.38  void (*pm_idle)(void);
   25.39 +EXPORT_SYMBOL(pm_idle);
   25.40  static DEFINE_PER_CPU(unsigned int, cpu_idle_state);
   25.41  
   25.42  void disable_hlt(void)
   25.43 @@ -111,6 +114,9 @@ void xen_idle(void)
   25.44  		start_hz_timer();
   25.45  	}
   25.46  }
   25.47 +#ifdef CONFIG_APM_MODULE
   25.48 +EXPORT_SYMBOL(default_idle);
   25.49 +#endif
   25.50  
   25.51  /*
   25.52   * The idle thread. There's no useful work to be
   25.53 @@ -118,10 +124,10 @@ void xen_idle(void)
   25.54   * low exit latency (ie sit in a loop waiting for
   25.55   * somebody to say that they'd like to reschedule)
   25.56   */
   25.57 -void cpu_idle (void)
   25.58 +void cpu_idle(void)
   25.59  {
   25.60  #if defined(CONFIG_HOTPLUG_CPU)
   25.61 -	int cpu = _smp_processor_id();
   25.62 +	int cpu = raw_smp_processor_id();
   25.63  #endif
   25.64  
   25.65  	/* endless idle loop with no priority at all */
   25.66 @@ -130,6 +136,7 @@ void cpu_idle (void)
   25.67  
   25.68  			if (__get_cpu_var(cpu_idle_state))
   25.69  				__get_cpu_var(cpu_idle_state) = 0;
   25.70 +
   25.71  			rmb();
   25.72  
   25.73  #if defined(CONFIG_HOTPLUG_CPU)
   25.74 @@ -176,7 +183,7 @@ EXPORT_SYMBOL_GPL(cpu_idle_wait);
   25.75  
   25.76  /* XXX XEN doesn't use mwait_idle(), select_idle_routine(), idle_setup(). */
   25.77  /* Always use xen_idle() instead. */
   25.78 -void __init select_idle_routine(const struct cpuinfo_x86 *c) {}
   25.79 +void __devinit select_idle_routine(const struct cpuinfo_x86 *c) {}
   25.80  
   25.81  void show_regs(struct pt_regs * regs)
   25.82  {
   25.83 @@ -185,7 +192,7 @@ void show_regs(struct pt_regs * regs)
   25.84  	printk("EIP: %04x:[<%08lx>] CPU: %d\n",0xffff & regs->xcs,regs->eip, smp_processor_id());
   25.85  	print_symbol("EIP is at %s\n", regs->eip);
   25.86  
   25.87 -	if (regs->xcs & 2)
   25.88 +	if (user_mode(regs))
   25.89  		printk(" ESP: %04x:%08lx",0xffff & regs->xss,regs->esp);
   25.90  	printk(" EFLAGS: %08lx    %s  (%s)\n",
   25.91  	       regs->eflags, print_tainted(), system_utsname.release);
   25.92 @@ -237,6 +244,7 @@ int kernel_thread(int (*fn)(void *), voi
   25.93  	/* Ok, create the new process.. */
   25.94  	return do_fork(flags | CLONE_VM | CLONE_UNTRACED, 0, &regs, 0, NULL, NULL);
   25.95  }
   25.96 +EXPORT_SYMBOL(kernel_thread);
   25.97  
   25.98  /*
   25.99   * Free current thread data structures etc..
  25.100 @@ -246,6 +254,13 @@ void exit_thread(void)
  25.101  	struct task_struct *tsk = current;
  25.102  	struct thread_struct *t = &tsk->thread;
  25.103  
  25.104 +	/*
  25.105 +	 * Remove function-return probe instances associated with this task
  25.106 +	 * and put them back on the free list. Do not insert an exit probe for
  25.107 +	 * this function, it will be disabled by kprobe_flush_task if you do.
  25.108 +	 */
  25.109 +	kprobe_flush_task(tsk);
  25.110 +
  25.111  	/* The process may have allocated an io port bitmap... nuke it. */
  25.112  	if (unlikely(NULL != t->io_bitmap_ptr)) {
  25.113  		physdev_op_t op = { 0 };
  25.114 @@ -260,6 +275,13 @@ void flush_thread(void)
  25.115  {
  25.116  	struct task_struct *tsk = current;
  25.117  
  25.118 +	/*
  25.119 +	 * Remove function-return probe instances associated with this task
  25.120 +	 * and put them back on the free list. Do not insert an exit probe for
  25.121 +	 * this function, it will be disabled by kprobe_flush_task if you do.
  25.122 +	 */
  25.123 +	kprobe_flush_task(tsk);
  25.124 +
  25.125  	memset(tsk->thread.debugreg, 0, sizeof(unsigned long)*8);
  25.126  	memset(tsk->thread.tls_array, 0, sizeof(tsk->thread.tls_array));	
  25.127  	/*
  25.128 @@ -361,7 +383,7 @@ int copy_thread(int nr, unsigned long cl
  25.129  		desc->b = LDT_entry_b(&info);
  25.130  	}
  25.131  
  25.132 -	p->thread.io_pl = current->thread.io_pl;
  25.133 +	p->thread.iopl = current->thread.iopl;
  25.134  
  25.135  	err = 0;
  25.136   out:
  25.137 @@ -413,6 +435,7 @@ void dump_thread(struct pt_regs * regs, 
  25.138  
  25.139  	dump->u_fpvalid = dump_fpu (regs, &dump->i387);
  25.140  }
  25.141 +EXPORT_SYMBOL(dump_thread);
  25.142  
  25.143  /* 
  25.144   * Capture the user space registers if the task is not running (in user space)
  25.145 @@ -435,6 +458,33 @@ int dump_task_regs(struct task_struct *t
  25.146  }
  25.147  
  25.148  /*
  25.149 + * This function selects if the context switch from prev to next
  25.150 + * has to tweak the TSC disable bit in the cr4.
  25.151 + */
  25.152 +static inline void disable_tsc(struct task_struct *prev_p,
  25.153 +			       struct task_struct *next_p)
  25.154 +{
  25.155 +	struct thread_info *prev, *next;
  25.156 +
  25.157 +	/*
  25.158 +	 * gcc should eliminate the ->thread_info dereference if
  25.159 +	 * has_secure_computing returns 0 at compile time (SECCOMP=n).
  25.160 +	 */
  25.161 +	prev = prev_p->thread_info;
  25.162 +	next = next_p->thread_info;
  25.163 +
  25.164 +	if (has_secure_computing(prev) || has_secure_computing(next)) {
  25.165 +		/* slow path here */
  25.166 +		if (has_secure_computing(prev) &&
  25.167 +		    !has_secure_computing(next)) {
  25.168 +			write_cr4(read_cr4() & ~X86_CR4_TSD);
  25.169 +		} else if (!has_secure_computing(prev) &&
  25.170 +			   has_secure_computing(next))
  25.171 +			write_cr4(read_cr4() | X86_CR4_TSD);
  25.172 +	}
  25.173 +}
  25.174 +
  25.175 +/*
  25.176   *	switch_to(x,yn) should switch tasks from x to y.
  25.177   *
  25.178   * We fsave/fwait so that an exception goes off at the right time
  25.179 @@ -488,7 +538,7 @@ struct task_struct fastcall * __switch_t
  25.180  #endif
  25.181  
  25.182  	/*
  25.183 -	 * Reload esp0, LDT and the page table pointer:
  25.184 +	 * Reload esp0.
  25.185  	 * This is load_esp0(tss, next) with a multicall.
  25.186  	 */
  25.187  	tss->esp0 = next->esp0;
  25.188 @@ -514,9 +564,10 @@ struct task_struct fastcall * __switch_t
  25.189  	C(0); C(1); C(2);
  25.190  #undef C
  25.191  
  25.192 -	if (unlikely(prev->io_pl != next->io_pl)) {
  25.193 +	if (unlikely(prev->iopl != next->iopl)) {
  25.194  		iopl_op.cmd             = PHYSDEVOP_SET_IOPL;
  25.195 -		iopl_op.u.set_iopl.iopl = (next->io_pl == 0) ? 1 : next->io_pl;
  25.196 +		iopl_op.u.set_iopl.iopl = (next->iopl == 0) ? 1 :
  25.197 +			(next->iopl >> 12) & 3;
  25.198  		mcl->op      = __HYPERVISOR_physdev_op;
  25.199  		mcl->args[0] = (unsigned long)&iopl_op;
  25.200  		mcl++;
  25.201 @@ -538,25 +589,31 @@ struct task_struct fastcall * __switch_t
  25.202  
  25.203  	/*
  25.204  	 * Restore %fs and %gs if needed.
  25.205 +	 *
  25.206 +	 * Glibc normally makes %fs be zero, and %gs is one of
  25.207 +	 * the TLS segments.
  25.208  	 */
  25.209 -	if (unlikely(next->fs | next->gs)) {
  25.210 +	if (unlikely(next->fs))
  25.211  		loadsegment(fs, next->fs);
  25.212 +
  25.213 +	if (next->gs)
  25.214  		loadsegment(gs, next->gs);
  25.215 -	}
  25.216  
  25.217  	/*
  25.218  	 * Now maybe reload the debug registers
  25.219  	 */
  25.220  	if (unlikely(next->debugreg[7])) {
  25.221 -		loaddebug(next, 0);
  25.222 -		loaddebug(next, 1);
  25.223 -		loaddebug(next, 2);
  25.224 -		loaddebug(next, 3);
  25.225 +		set_debugreg(next->debugreg[0], 0);
  25.226 +		set_debugreg(next->debugreg[1], 1);
  25.227 +		set_debugreg(next->debugreg[2], 2);
  25.228 +		set_debugreg(next->debugreg[3], 3);
  25.229  		/* no 4 and 5 */
  25.230 -		loaddebug(next, 6);
  25.231 -		loaddebug(next, 7);
  25.232 +		set_debugreg(next->debugreg[6], 6);
  25.233 +		set_debugreg(next->debugreg[7], 7);
  25.234  	}
  25.235  
  25.236 +	disable_tsc(prev_p, next_p);
  25.237 +
  25.238  	return prev_p;
  25.239  }
  25.240  
  25.241 @@ -649,6 +706,7 @@ unsigned long get_wchan(struct task_stru
  25.242  	} while (count++ < 16);
  25.243  	return 0;
  25.244  }
  25.245 +EXPORT_SYMBOL(get_wchan);
  25.246  
  25.247  /*
  25.248   * sys_alloc_thread_area: get a yet unused TLS descriptor index.
  25.249 @@ -745,6 +803,8 @@ asmlinkage int sys_get_thread_area(struc
  25.250  	if (idx < GDT_ENTRY_TLS_MIN || idx > GDT_ENTRY_TLS_MAX)
  25.251  		return -EINVAL;
  25.252  
  25.253 +	memset(&info, 0, sizeof(info));
  25.254 +
  25.255  	desc = current->thread.tls_array + idx - GDT_ENTRY_TLS_MIN;
  25.256  
  25.257  	info.entry_number = idx;
    26.1 --- a/linux-2.6-xen-sparse/arch/i386/kernel/setup-xen.c	Tue Jan 31 19:55:55 2006 +0100
    26.2 +++ b/linux-2.6-xen-sparse/arch/i386/kernel/setup-xen.c	Tue Jan 31 19:55:22 2006 +0000
    26.3 @@ -23,8 +23,10 @@
    26.4   * This file handles the architecture-dependent parts of initialization
    26.5   */
    26.6  
    26.7 +#include <linux/config.h>
    26.8  #include <linux/sched.h>
    26.9  #include <linux/mm.h>
   26.10 +#include <linux/mmzone.h>
   26.11  #include <linux/tty.h>
   26.12  #include <linux/ioport.h>
   26.13  #include <linux/acpi.h>
   26.14 @@ -44,7 +46,12 @@
   26.15  #include <linux/kernel.h>
   26.16  #include <linux/percpu.h>
   26.17  #include <linux/notifier.h>
   26.18 +#include <linux/kexec.h>
   26.19 +#include <linux/crash_dump.h>
   26.20 +
   26.21  #include <video/edid.h>
   26.22 +
   26.23 +#include <asm/apic.h>
   26.24  #include <asm/e820.h>
   26.25  #include <asm/mpspec.h>
   26.26  #include <asm/setup.h>
   26.27 @@ -60,6 +67,9 @@
   26.28  #include "setup_arch_pre.h"
   26.29  #include <bios_ebda.h>
   26.30  
   26.31 +/* Forward Declaration. */
   26.32 +void __init find_max_pfn(void);
   26.33 +
   26.34  /* Allows setting of maximum possible memory size  */
   26.35  static unsigned long xen_override_max_pfn;
   26.36  
   26.37 @@ -71,7 +81,7 @@ static struct notifier_block xen_panic_b
   26.38  extern char hypercall_page[PAGE_SIZE];
   26.39  EXPORT_SYMBOL(hypercall_page);
   26.40  
   26.41 -int disable_pse __initdata = 0;
   26.42 +int disable_pse __devinitdata = 0;
   26.43  
   26.44  /*
   26.45   * Machine setup..
   26.46 @@ -85,30 +95,37 @@ EXPORT_SYMBOL(efi_enabled);
   26.47  /* cpu data as detected by the assembly code in head.S */
   26.48  struct cpuinfo_x86 new_cpu_data __initdata = { 0, 0, 0, 0, -1, 0, 1, 0, -1 };
   26.49  /* common cpu data for all cpus */
   26.50 -struct cpuinfo_x86 boot_cpu_data = { 0, 0, 0, 0, -1, 0, 1, 0, -1 };
   26.51 +struct cpuinfo_x86 boot_cpu_data __read_mostly = { 0, 0, 0, 0, -1, 0, 1, 0, -1 };
   26.52 +EXPORT_SYMBOL(boot_cpu_data);
   26.53  
   26.54  unsigned long mmu_cr4_features;
   26.55  
   26.56 -#ifdef	CONFIG_ACPI_INTERPRETER
   26.57 +#ifdef	CONFIG_ACPI
   26.58  	int acpi_disabled = 0;
   26.59  #else
   26.60  	int acpi_disabled = 1;
   26.61  #endif
   26.62  EXPORT_SYMBOL(acpi_disabled);
   26.63  
   26.64 -#ifdef	CONFIG_ACPI_BOOT
   26.65 +#ifdef	CONFIG_ACPI
   26.66  int __initdata acpi_force = 0;
   26.67  extern acpi_interrupt_flags	acpi_sci_flags;
   26.68  #endif
   26.69  
   26.70  /* for MCA, but anyone else can use it if they want */
   26.71  unsigned int machine_id;
   26.72 +#ifdef CONFIG_MCA
   26.73 +EXPORT_SYMBOL(machine_id);
   26.74 +#endif
   26.75  unsigned int machine_submodel_id;
   26.76  unsigned int BIOS_revision;
   26.77  unsigned int mca_pentium_flag;
   26.78  
   26.79  /* For PCI or other memory-mapped resources */
   26.80  unsigned long pci_mem_start = 0x10000000;
   26.81 +#ifdef CONFIG_PCI
   26.82 +EXPORT_SYMBOL(pci_mem_start);
   26.83 +#endif
   26.84  
   26.85  /* Boot loader ID as an integer, for the benefit of proc_dointvec */
   26.86  int bootloader_type;
   26.87 @@ -120,14 +137,27 @@ static unsigned int highmem_pages = -1;
   26.88   * Setup options
   26.89   */
   26.90  struct drive_info_struct { char dummy[32]; } drive_info;
   26.91 +#if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_HD) || \
   26.92 +    defined(CONFIG_BLK_DEV_IDE_MODULE) || defined(CONFIG_BLK_DEV_HD_MODULE)
   26.93 +EXPORT_SYMBOL(drive_info);
   26.94 +#endif
   26.95  struct screen_info screen_info;
   26.96 +#ifdef CONFIG_VT
   26.97 +EXPORT_SYMBOL(screen_info);
   26.98 +#endif
   26.99  struct apm_info apm_info;
  26.100 +EXPORT_SYMBOL(apm_info);
  26.101  struct sys_desc_table_struct {
  26.102  	unsigned short length;
  26.103  	unsigned char table[0];
  26.104  };
  26.105  struct edid_info edid_info;
  26.106 +EXPORT_SYMBOL_GPL(edid_info);
  26.107  struct ist_info ist_info;
  26.108 +#if defined(CONFIG_X86_SPEEDSTEP_SMI) || \
  26.109 +	defined(CONFIG_X86_SPEEDSTEP_SMI_MODULE)
  26.110 +EXPORT_SYMBOL(ist_info);
  26.111 +#endif
  26.112  struct e820map e820;
  26.113  
  26.114  extern void early_cpu_init(void);
  26.115 @@ -377,12 +407,16 @@ static void __init limit_regions(unsigne
  26.116  	int i;
  26.117  
  26.118  	if (efi_enabled) {
  26.119 -		for (i = 0; i < memmap.nr_map; i++) {
  26.120 -			current_addr = memmap.map[i].phys_addr +
  26.121 -				       (memmap.map[i].num_pages << 12);
  26.122 -			if (memmap.map[i].type == EFI_CONVENTIONAL_MEMORY) {
  26.123 +		efi_memory_desc_t *md;
  26.124 +		void *p;
  26.125 +
  26.126 +		for (p = memmap.map, i = 0; p < memmap.map_end;
  26.127 +			p += memmap.desc_size, i++) {
  26.128 +			md = p;
  26.129 +			current_addr = md->phys_addr + (md->num_pages << 12);
  26.130 +			if (md->type == EFI_CONVENTIONAL_MEMORY) {
  26.131  				if (current_addr >= size) {
  26.132 -					memmap.map[i].num_pages -=
  26.133 +					md->num_pages -=
  26.134  						(((current_addr-size) + PAGE_SIZE-1) >> PAGE_SHIFT);
  26.135  					memmap.nr_map = i + 1;
  26.136  					return;
  26.137 @@ -757,6 +791,15 @@ static void __init parse_cmdline_early (
  26.138  			if (to != command_line)
  26.139  				to--;
  26.140  			if (!memcmp(from+7, "exactmap", 8)) {
  26.141 +#ifdef CONFIG_CRASH_DUMP
  26.142 +				/* If we are doing a crash dump, we
  26.143 +				 * still need to know the real mem
  26.144 +				 * size before original memory map is
  26.145 +				 * reset.
  26.146 +				 */
  26.147 +				find_max_pfn();
  26.148 +				saved_max_pfn = max_pfn;
  26.149 +#endif
  26.150  				from += 8+7;
  26.151  				e820.nr_map = 0;
  26.152  				userdef = 1;
  26.153 @@ -802,7 +845,7 @@ static void __init parse_cmdline_early (
  26.154  		}
  26.155  #endif
  26.156  
  26.157 -#ifdef CONFIG_ACPI_BOOT
  26.158 +#ifdef CONFIG_ACPI
  26.159  		/* "acpi=off" disables both ACPI table parsing and interpreter */
  26.160  		else if (!memcmp(from, "acpi=off", 8)) {
  26.161  			disable_acpi();
  26.162 @@ -851,14 +894,55 @@ static void __init parse_cmdline_early (
  26.163  #ifdef CONFIG_X86_IO_APIC
  26.164  		else if (!memcmp(from, "acpi_skip_timer_override", 24))
  26.165  			acpi_skip_timer_override = 1;
  26.166 -#endif
  26.167  
  26.168 -#ifdef CONFIG_X86_LOCAL_APIC
  26.169 +		if (!memcmp(from, "disable_timer_pin_1", 19))
  26.170 +			disable_timer_pin_1 = 1;
  26.171 +		if (!memcmp(from, "enable_timer_pin_1", 18))
  26.172 +			disable_timer_pin_1 = -1;
  26.173 +
  26.174  		/* disable IO-APIC */
  26.175  		else if (!memcmp(from, "noapic", 6))
  26.176  			disable_ioapic_setup();
  26.177 +#endif /* CONFIG_X86_IO_APIC */
  26.178 +#endif /* CONFIG_ACPI */
  26.179 +
  26.180 +#ifdef CONFIG_X86_LOCAL_APIC
  26.181 +		/* enable local APIC */
  26.182 +		else if (!memcmp(from, "lapic", 5))
  26.183 +			lapic_enable();
  26.184 +
  26.185 +		/* disable local APIC */
  26.186 +		else if (!memcmp(from, "nolapic", 6))
  26.187 +			lapic_disable();
  26.188  #endif /* CONFIG_X86_LOCAL_APIC */
  26.189 -#endif /* CONFIG_ACPI_BOOT */
  26.190 +
  26.191 +#ifdef CONFIG_KEXEC
  26.192 +		/* crashkernel=size@addr specifies the location to reserve for
  26.193 +		 * a crash kernel.  By reserving this memory we guarantee
  26.194 +		 * that linux never set's it up as a DMA target.
  26.195 +		 * Useful for holding code to do something appropriate
  26.196 +		 * after a kernel panic.
  26.197 +		 */
  26.198 +		else if (!memcmp(from, "crashkernel=", 12)) {
  26.199 +			unsigned long size, base;
  26.200 +			size = memparse(from+12, &from);
  26.201 +			if (*from == '@') {
  26.202 +				base = memparse(from+1, &from);
  26.203 +				/* FIXME: Do I want a sanity check
  26.204 +				 * to validate the memory range?
  26.205 +				 */
  26.206 +				crashk_res.start = base;
  26.207 +				crashk_res.end   = base + size - 1;
  26.208 +			}
  26.209 +		}
  26.210 +#endif
  26.211 +#ifdef CONFIG_CRASH_DUMP
  26.212 +		/* elfcorehdr= specifies the location of elf core header
  26.213 +		 * stored by the crashed kernel.
  26.214 +		 */
  26.215 +		else if (!memcmp(from, "elfcorehdr=", 11))
  26.216 +			elfcorehdr_addr = memparse(from+11, &from);
  26.217 +#endif
  26.218  
  26.219  		/*
  26.220  		 * highmem=size forces highmem to be exactly 'size' bytes.
  26.221 @@ -1086,7 +1170,7 @@ static void __init reserve_ebda_region(v
  26.222  }
  26.223  #endif
  26.224  
  26.225 -#ifndef CONFIG_DISCONTIGMEM
  26.226 +#ifndef CONFIG_NEED_MULTIPLE_NODES
  26.227  void __init setup_bootmem_allocator(void);
  26.228  static unsigned long __init setup_memory(void)
  26.229  {
  26.230 @@ -1144,9 +1228,9 @@ void __init zone_sizes_init(void)
  26.231  	free_area_init(zones_size);
  26.232  }
  26.233  #else
  26.234 -extern unsigned long setup_memory(void);
  26.235 +extern unsigned long __init setup_memory(void);
  26.236  extern void zone_sizes_init(void);
  26.237 -#endif /* !CONFIG_DISCONTIGMEM */
  26.238 +#endif /* !CONFIG_NEED_MULTIPLE_NODES */
  26.239  
  26.240  void __init setup_bootmem_allocator(void)
  26.241  {
  26.242 @@ -1164,8 +1248,8 @@ void __init setup_bootmem_allocator(void
  26.243  	 * the (very unlikely) case of us accidentally initializing the
  26.244  	 * bootmem allocator with an invalid RAM area.
  26.245  	 */
  26.246 -	reserve_bootmem(HIGH_MEMORY, (PFN_PHYS(min_low_pfn) +
  26.247 -			 bootmap_size + PAGE_SIZE-1) - (HIGH_MEMORY));
  26.248 +	reserve_bootmem(__PHYSICAL_START, (PFN_PHYS(min_low_pfn) +
  26.249 +			 bootmap_size + PAGE_SIZE-1) - (__PHYSICAL_START));
  26.250  
  26.251  #ifndef CONFIG_XEN
  26.252  	/*
  26.253 @@ -1328,9 +1412,17 @@ legacy_init_iomem_resources(struct resou
  26.254  			 */
  26.255  			request_resource(res, code_resource);
  26.256  			request_resource(res, data_resource);
  26.257 +#ifdef CONFIG_KEXEC
  26.258 +			request_resource(res, &crashk_res);
  26.259 +#endif
  26.260  		}
  26.261  	}
  26.262  #endif
  26.263 +#ifdef CONFIG_KEXEC
  26.264 +	if (crashk_res.start != crashk_res.end)
  26.265 +		reserve_bootmem(crashk_res.start,
  26.266 +			crashk_res.end - crashk_res.start + 1);
  26.267 +#endif
  26.268  }
  26.269  
  26.270  /*
  26.271 @@ -1339,7 +1431,7 @@ legacy_init_iomem_resources(struct resou
  26.272  static void __init register_memory(void)
  26.273  {
  26.274  #ifndef CONFIG_XEN
  26.275 -	unsigned long gapstart, gapsize;
  26.276 +	unsigned long gapstart, gapsize, round;
  26.277  	unsigned long long last;
  26.278  #endif
  26.279  	int	      i;
  26.280 @@ -1390,14 +1482,14 @@ static void __init register_memory(void)
  26.281  	}
  26.282  
  26.283  	/*
  26.284 -	 * Start allocating dynamic PCI memory a bit into the gap,
  26.285 -	 * aligned up to the nearest megabyte.
  26.286 -	 *
  26.287 -	 * Question: should we try to pad it up a bit (do something
  26.288 -	 * like " + (gapsize >> 3)" in there too?). We now have the
  26.289 -	 * technology.
  26.290 +	 * See how much we want to round up: start off with
  26.291 +	 * rounding to the next 1MB area.
  26.292  	 */
  26.293 -	pci_mem_start = (gapstart + 0xfffff) & ~0xfffff;
  26.294 +	round = 0x100000;
  26.295 +	while ((gapsize >> 4) > round)
  26.296 +		round += round;
  26.297 +	/* Fun with two's complement */
  26.298 +	pci_mem_start = (gapstart + round) & -round;
  26.299  
  26.300  	printk("Allocating PCI resources starting at %08lx (gap: %08lx:%08lx)\n",
  26.301  		pci_mem_start, gapstart, gapsize);
  26.302 @@ -1465,7 +1557,7 @@ static struct nop {
  26.303     This runs before SMP is initialized to avoid SMP problems with
  26.304     self modifying code. This implies that assymetric systems where
  26.305     APs have less capabilities than the boot processor are not handled. 
  26.306 -   In this case boot with "noreplacement". */ 
  26.307 +   Tough. Make sure you disable such features by hand. */ 
  26.308  void apply_alternatives(void *start, void *end) 
  26.309  { 
  26.310  	struct alt_instr *a; 
  26.311 @@ -1493,24 +1585,12 @@ void apply_alternatives(void *start, voi
  26.312  	}
  26.313  } 
  26.314  
  26.315 -static int no_replacement __initdata = 0; 
  26.316 - 
  26.317  void __init alternative_instructions(void)
  26.318  {
  26.319  	extern struct alt_instr __alt_instructions[], __alt_instructions_end[];
  26.320 -	if (no_replacement) 
  26.321 -		return;
  26.322  	apply_alternatives(__alt_instructions, __alt_instructions_end);
  26.323  }
  26.324  
  26.325 -static int __init noreplacement_setup(char *s)
  26.326 -{ 
  26.327 -     no_replacement = 1; 
  26.328 -     return 0; 
  26.329 -} 
  26.330 -
  26.331 -__setup("noreplacement", noreplacement_setup); 
  26.332 -
  26.333  static char * __init machine_specific_memory_setup(void);
  26.334  
  26.335  #ifdef CONFIG_MCA
  26.336 @@ -1581,13 +1661,19 @@ void __init setup_arch(char **cmdline_p)
  26.337  	bootloader_type = LOADER_TYPE;
  26.338  
  26.339  #ifdef CONFIG_XEN_PHYSDEV_ACCESS
  26.340 -	/* This is drawn from a dump from vgacon:startup in standard Linux. */
  26.341 -	screen_info.orig_video_mode = 3; 
  26.342 -	screen_info.orig_video_isVGA = 1;
  26.343 -	screen_info.orig_video_lines = 25;
  26.344 -	screen_info.orig_video_cols = 80;
  26.345 -	screen_info.orig_video_ega_bx = 3;
  26.346 -	screen_info.orig_video_points = 16;
  26.347 +	if (xen_start_info->flags & SIF_INITDOMAIN) {
  26.348 +		/* This is drawn from a dump from vgacon:startup in
  26.349 +		 * standard Linux. */
  26.350 +		screen_info.orig_video_mode = 3; 
  26.351 +		screen_info.orig_video_isVGA = 1;
  26.352 +		screen_info.orig_video_lines = 25;
  26.353 +		screen_info.orig_video_cols = 80;
  26.354 +		screen_info.orig_video_ega_bx = 3;
  26.355 +		screen_info.orig_video_points = 16;
  26.356 +	} else
  26.357 +		screen_info.orig_video_isVGA = 0;
  26.358 +#else
  26.359 +	screen_info.orig_video_isVGA = 0;
  26.360  #endif
  26.361  
  26.362  #ifdef CONFIG_BLK_DEV_RAM
  26.363 @@ -1641,6 +1727,7 @@ void __init setup_arch(char **cmdline_p)
  26.364  #endif
  26.365  	paging_init();
  26.366  	remapped_pgdat_init();
  26.367 +	sparse_init();
  26.368  	zone_sizes_init();
  26.369  
  26.370  #ifdef CONFIG_X86_FIND_SMP_CONFIG
  26.371 @@ -1717,22 +1804,26 @@ void __init setup_arch(char **cmdline_p)
  26.372  	op.u.set_iopl.iopl = 1;
  26.373  	HYPERVISOR_physdev_op(&op);
  26.374  
  26.375 -#ifdef CONFIG_ACPI_BOOT
  26.376 +#ifdef CONFIG_ACPI
  26.377  	if (!(xen_start_info->flags & SIF_INITDOMAIN)) {
  26.378  		printk(KERN_INFO "ACPI in unprivileged domain disabled\n");
  26.379  		acpi_disabled = 1;
  26.380  		acpi_ht = 0;
  26.381  	}
  26.382 -#endif
  26.383  
  26.384 -#ifdef CONFIG_ACPI_BOOT
  26.385  	/*
  26.386  	 * Parse the ACPI tables for possible boot-time SMP configuration.
  26.387  	 */
  26.388  	acpi_boot_table_init();
  26.389  	acpi_boot_init();
  26.390 +
  26.391 +#if defined(CONFIG_SMP) && defined(CONFIG_X86_PC)
  26.392 +	if (def_to_bigsmp)
  26.393 +		printk(KERN_WARNING "More than 8 CPUs detected and "
  26.394 +			"CONFIG_X86_PC cannot handle it.\nUse "
  26.395 +			"CONFIG_X86_GENERICARCH or CONFIG_X86_BIGSMP.\n");
  26.396  #endif
  26.397 -
  26.398 +#endif
  26.399  #ifdef CONFIG_X86_LOCAL_APIC
  26.400  	if (smp_found_config)
  26.401  		get_smp_config();
    27.1 --- a/linux-2.6-xen-sparse/arch/i386/kernel/signal-xen.c	Tue Jan 31 19:55:55 2006 +0100
    27.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    27.3 @@ -1,665 +0,0 @@
    27.4 -/*
    27.5 - *  linux/arch/i386/kernel/signal.c
    27.6 - *
    27.7 - *  Copyright (C) 1991, 1992  Linus Torvalds
    27.8 - *
    27.9 - *  1997-11-28  Modified for POSIX.1b signals by Richard Henderson
   27.10 - *  2000-06-20  Pentium III FXSR, SSE support by Gareth Hughes
   27.11 - */
   27.12 -
   27.13 -#include <linux/sched.h>
   27.14 -#include <linux/mm.h>
   27.15 -#include <linux/smp.h>
   27.16 -#include <linux/smp_lock.h>
   27.17 -#include <linux/kernel.h>
   27.18 -#include <linux/signal.h>
   27.19 -#include <linux/errno.h>
   27.20 -#include <linux/wait.h>
   27.21 -#include <linux/unistd.h>
   27.22 -#include <linux/stddef.h>
   27.23 -#include <linux/personality.h>
   27.24 -#include <linux/suspend.h>
   27.25 -#include <linux/ptrace.h>
   27.26 -#include <linux/elf.h>
   27.27 -#include <asm/processor.h>
   27.28 -#include <asm/ucontext.h>
   27.29 -#include <asm/uaccess.h>
   27.30 -#include <asm/i387.h>
   27.31 -#include "sigframe.h"
   27.32 -
   27.33 -#define DEBUG_SIG 0
   27.34 -
   27.35 -#define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP)))
   27.36 -
   27.37 -/*
   27.38 - * Atomically swap in the new signal mask, and wait for a signal.
   27.39 - */
   27.40 -asmlinkage int
   27.41 -sys_sigsuspend(int history0, int history1, old_sigset_t mask)
   27.42 -{
   27.43 -	struct pt_regs * regs = (struct pt_regs *) &history0;
   27.44 -	sigset_t saveset;
   27.45 -
   27.46 -	mask &= _BLOCKABLE;
   27.47 -	spin_lock_irq(&current->sighand->siglock);
   27.48 -	saveset = current->blocked;
   27.49 -	siginitset(&current->blocked, mask);
   27.50 -	recalc_sigpending();
   27.51 -	spin_unlock_irq(&current->sighand->siglock);
   27.52 -
   27.53 -	regs->eax = -EINTR;
   27.54 -	while (1) {
   27.55 -		current->state = TASK_INTERRUPTIBLE;
   27.56 -		schedule();
   27.57 -		if (do_signal(regs, &saveset))
   27.58 -			return -EINTR;
   27.59 -	}
   27.60 -}
   27.61 -
   27.62 -asmlinkage int
   27.63 -sys_rt_sigsuspend(struct pt_regs regs)
   27.64 -{
   27.65 -	sigset_t saveset, newset;
   27.66 -
   27.67 -	/* XXX: Don't preclude handling different sized sigset_t's.  */
   27.68 -	if (regs.ecx != sizeof(sigset_t))
   27.69 -		return -EINVAL;
   27.70 -
   27.71 -	if (copy_from_user(&newset, (sigset_t __user *)regs.ebx, sizeof(newset)))
   27.72 -		return -EFAULT;
   27.73 -	sigdelsetmask(&newset, ~_BLOCKABLE);
   27.74 -
   27.75 -	spin_lock_irq(&current->sighand->siglock);
   27.76 -	saveset = current->blocked;
   27.77 -	current->blocked = newset;
   27.78 -	recalc_sigpending();
   27.79 -	spin_unlock_irq(&current->sighand->siglock);
   27.80 -
   27.81 -	regs.eax = -EINTR;
   27.82 -	while (1) {
   27.83 -		current->state = TASK_INTERRUPTIBLE;
   27.84 -		schedule();
   27.85 -		if (do_signal(&regs, &saveset))
   27.86 -			return -EINTR;
   27.87 -	}
   27.88 -}
   27.89 -
   27.90 -asmlinkage int 
   27.91 -sys_sigaction(int sig, const struct old_sigaction __user *act,
   27.92 -	      struct old_sigaction __user *oact)
   27.93 -{
   27.94 -	struct k_sigaction new_ka, old_ka;
   27.95 -	int ret;
   27.96 -
   27.97 -	if (act) {
   27.98 -		old_sigset_t mask;
   27.99 -		if (!access_ok(VERIFY_READ, act, sizeof(*act)) ||
  27.100 -		    __get_user(new_ka.sa.sa_handler, &act->sa_handler) ||
  27.101 -		    __get_user(new_ka.sa.sa_restorer, &act->sa_restorer))
  27.102 -			return -EFAULT;
  27.103 -		__get_user(new_ka.sa.sa_flags, &act->sa_flags);
  27.104 -		__get_user(mask, &act->sa_mask);
  27.105 -		siginitset(&new_ka.sa.sa_mask, mask);
  27.106 -	}
  27.107 -
  27.108 -	ret = do_sigaction(sig, act ? &new_ka : NULL, oact ? &old_ka : NULL);
  27.109 -
  27.110 -	if (!ret && oact) {
  27.111 -		if (!access_ok(VERIFY_WRITE, oact, sizeof(*oact)) ||
  27.112 -		    __put_user(old_ka.sa.sa_handler, &oact->sa_handler) ||
  27.113 -		    __put_user(old_ka.sa.sa_restorer, &oact->sa_restorer))
  27.114 -			return -EFAULT;
  27.115 -		__put_user(old_ka.sa.sa_flags, &oact->sa_flags);
  27.116 -		__put_user(old_ka.sa.sa_mask.sig[0], &oact->sa_mask);
  27.117 -	}
  27.118 -
  27.119 -	return ret;
  27.120 -}
  27.121 -
  27.122 -asmlinkage int
  27.123 -sys_sigaltstack(unsigned long ebx)
  27.124 -{
  27.125 -	/* This is needed to make gcc realize it doesn't own the "struct pt_regs" */
  27.126 -	struct pt_regs *regs = (struct pt_regs *)&ebx;
  27.127 -	const stack_t __user *uss = (const stack_t __user *)ebx;
  27.128 -	stack_t __user *uoss = (stack_t __user *)regs->ecx;
  27.129 -
  27.130 -	return do_sigaltstack(uss, uoss, regs->esp);
  27.131 -}
  27.132 -
  27.133 -
  27.134 -/*
  27.135 - * Do a signal return; undo the signal stack.
  27.136 - */
  27.137 -
  27.138 -static int
  27.139 -restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc, int *peax)
  27.140 -{
  27.141 -	unsigned int err = 0;
  27.142 -
  27.143 -	/* Always make any pending restarted system calls return -EINTR */
  27.144 -	current_thread_info()->restart_block.fn = do_no_restart_syscall;
  27.145 -
  27.146 -#define COPY(x)		err |= __get_user(regs->x, &sc->x)
  27.147 -
  27.148 -#define COPY_SEG(seg)							\
  27.149 -	{ unsigned short tmp;						\
  27.150 -	  err |= __get_user(tmp, &sc->seg);				\
  27.151 -	  regs->x##seg = tmp; }
  27.152 -
  27.153 -#define COPY_SEG_STRICT(seg)						\
  27.154 -	{ unsigned short tmp;						\
  27.155 -	  err |= __get_user(tmp, &sc->seg);				\
  27.156 -	  regs->x##seg = tmp|3; }
  27.157 -
  27.158 -#define GET_SEG(seg)							\
  27.159 -	{ unsigned short tmp;						\
  27.160 -	  err |= __get_user(tmp, &sc->seg);				\
  27.161 -	  loadsegment(seg,tmp); }
  27.162 -
  27.163 -#define	FIX_EFLAGS	(X86_EFLAGS_AC | X86_EFLAGS_OF | X86_EFLAGS_DF | \
  27.164 -			 X86_EFLAGS_TF | X86_EFLAGS_SF | X86_EFLAGS_ZF | \
  27.165 -			 X86_EFLAGS_AF | X86_EFLAGS_PF | X86_EFLAGS_CF)
  27.166 -
  27.167 -	GET_SEG(gs);
  27.168 -	GET_SEG(fs);
  27.169 -	COPY_SEG(es);
  27.170 -	COPY_SEG(ds);
  27.171 -	COPY(edi);
  27.172 -	COPY(esi);
  27.173 -	COPY(ebp);
  27.174 -	COPY(esp);
  27.175 -	COPY(ebx);
  27.176 -	COPY(edx);
  27.177 -	COPY(ecx);
  27.178 -	COPY(eip);
  27.179 -	COPY_SEG_STRICT(cs);
  27.180 -	COPY_SEG_STRICT(ss);
  27.181 -	
  27.182 -	{
  27.183 -		unsigned int tmpflags;
  27.184 -		err |= __get_user(tmpflags, &sc->eflags);
  27.185 -		regs->eflags = (regs->eflags & ~FIX_EFLAGS) | (tmpflags & FIX_EFLAGS);
  27.186 -		regs->orig_eax = -1;		/* disable syscall checks */
  27.187 -	}
  27.188 -
  27.189 -	{
  27.190 -		struct _fpstate __user * buf;
  27.191 -		err |= __get_user(buf, &sc->fpstate);
  27.192 -		if (buf) {
  27.193 -			if (!access_ok(VERIFY_READ, buf, sizeof(*buf)))
  27.194 -				goto badframe;
  27.195 -			err |= restore_i387(buf);
  27.196 -		} else {
  27.197 -			struct task_struct *me = current;
  27.198 -			if (used_math()) {
  27.199 -				clear_fpu(me);
  27.200 -				clear_used_math();
  27.201 -			}
  27.202 -		}
  27.203 -	}
  27.204 -
  27.205 -	err |= __get_user(*peax, &sc->eax);
  27.206 -	return err;
  27.207 -
  27.208 -badframe:
  27.209 -	return 1;
  27.210 -}
  27.211 -
  27.212 -asmlinkage int sys_sigreturn(unsigned long __unused)
  27.213 -{
  27.214 -	struct pt_regs *regs = (struct pt_regs *) &__unused;
  27.215 -	struct sigframe __user *frame = (struct sigframe __user *)(regs->esp - 8);
  27.216 -	sigset_t set;
  27.217 -	int eax;
  27.218 -
  27.219 -	if (!access_ok(VERIFY_READ, frame, sizeof(*frame)))
  27.220 -		goto badframe;
  27.221 -	if (__get_user(set.sig[0], &frame->sc.oldmask)
  27.222 -	    || (_NSIG_WORDS > 1
  27.223 -		&& __copy_from_user(&set.sig[1], &frame->extramask,
  27.224 -				    sizeof(frame->extramask))))
  27.225 -		goto badframe;
  27.226 -
  27.227 -	sigdelsetmask(&set, ~_BLOCKABLE);
  27.228 -	spin_lock_irq(&current->sighand->siglock);
  27.229 -	current->blocked = set;
  27.230 -	recalc_sigpending();
  27.231 -	spin_unlock_irq(&current->sighand->siglock);
  27.232 -	
  27.233 -	if (restore_sigcontext(regs, &frame->sc, &eax))
  27.234 -		goto badframe;
  27.235 -	return eax;
  27.236 -
  27.237 -badframe:
  27.238 -	force_sig(SIGSEGV, current);
  27.239 -	return 0;
  27.240 -}	
  27.241 -
  27.242 -asmlinkage int sys_rt_sigreturn(unsigned long __unused)
  27.243 -{
  27.244 -	struct pt_regs *regs = (struct pt_regs *) &__unused;
  27.245 -	struct rt_sigframe __user *frame = (struct rt_sigframe __user *)(regs->esp - 4);
  27.246 -	sigset_t set;
  27.247 -	int eax;
  27.248 -
  27.249 -	if (!access_ok(VERIFY_READ, frame, sizeof(*frame)))
  27.250 -		goto badframe;
  27.251 -	if (__copy_from_user(&set, &frame->uc.uc_sigmask, sizeof(set)))
  27.252 -		goto badframe;
  27.253 -
  27.254 -	sigdelsetmask(&set, ~_BLOCKABLE);
  27.255 -	spin_lock_irq(&current->sighand->siglock);
  27.256 -	current->blocked = set;
  27.257 -	recalc_sigpending();
  27.258 -	spin_unlock_irq(&current->sighand->siglock);
  27.259 -	
  27.260 -	if (restore_sigcontext(regs, &frame->uc.uc_mcontext, &eax))
  27.261 -		goto badframe;
  27.262 -
  27.263 -	if (do_sigaltstack(&frame->uc.uc_stack, NULL, regs->esp) == -EFAULT)
  27.264 -		goto badframe;
  27.265 -
  27.266 -	return eax;
  27.267 -
  27.268 -badframe:
  27.269 -	force_sig(SIGSEGV, current);
  27.270 -	return 0;
  27.271 -}	
  27.272 -
  27.273 -/*
  27.274 - * Set up a signal frame.
  27.275 - */
  27.276 -
  27.277 -static int
  27.278 -setup_sigcontext(struct sigcontext __user *sc, struct _fpstate __user *fpstate,
  27.279 -		 struct pt_regs *regs, unsigned long mask)
  27.280 -{
  27.281 -	int tmp, err = 0;
  27.282 -
  27.283 -	tmp = 0;
  27.284 -	__asm__("movl %%gs,%0" : "=r"(tmp): "0"(tmp));
  27.285 -	err |= __put_user(tmp, (unsigned int __user *)&sc->gs);
  27.286 -	__asm__("movl %%fs,%0" : "=r"(tmp): "0"(tmp));
  27.287 -	err |= __put_user(tmp, (unsigned int __user *)&sc->fs);
  27.288 -
  27.289 -	err |= __put_user(regs->xes, (unsigned int __user *)&sc->es);
  27.290 -	err |= __put_user(regs->xds, (unsigned int __user *)&sc->ds);
  27.291 -	err |= __put_user(regs->edi, &sc->edi);
  27.292 -	err |= __put_user(regs->esi, &sc->esi);
  27.293 -	err |= __put_user(regs->ebp, &sc->ebp);
  27.294 -	err |= __put_user(regs->esp, &sc->esp);
  27.295 -	err |= __put_user(regs->ebx, &sc->ebx);
  27.296 -	err |= __put_user(regs->edx, &sc->edx);
  27.297 -	err |= __put_user(regs->ecx, &sc->ecx);
  27.298 -	err |= __put_user(regs->eax, &sc->eax);
  27.299 -	err |= __put_user(current->thread.trap_no, &sc->trapno);
  27.300 -	err |= __put_user(current->thread.error_code, &sc->err);
  27.301 -	err |= __put_user(regs->eip, &sc->eip);
  27.302 -	err |= __put_user(regs->xcs, (unsigned int __user *)&sc->cs);
  27.303 -	err |= __put_user(regs->eflags, &sc->eflags);
  27.304 -	err |= __put_user(regs->esp, &sc->esp_at_signal);
  27.305 -	err |= __put_user(regs->xss, (unsigned int __user *)&sc->ss);
  27.306 -
  27.307 -	tmp = save_i387(fpstate);
  27.308 -	if (tmp < 0)
  27.309 -	  err = 1;
  27.310 -	else
  27.311 -	  err |= __put_user(tmp ? fpstate : NULL, &sc->fpstate);
  27.312 -
  27.313 -	/* non-iBCS2 extensions.. */
  27.314 -	err |= __put_user(mask, &sc->oldmask);
  27.315 -	err |= __put_user(current->thread.cr2, &sc->cr2);
  27.316 -
  27.317 -	return err;
  27.318 -}
  27.319 -
  27.320 -/*
  27.321 - * Determine which stack to use..
  27.322 - */
  27.323 -static inline void __user *
  27.324 -get_sigframe(struct k_sigaction *ka, struct pt_regs * regs, size_t frame_size)
  27.325 -{
  27.326 -	unsigned long esp;
  27.327 -
  27.328 -	/* Default to using normal stack */
  27.329 -	esp = regs->esp;
  27.330 -
  27.331 -	/* This is the X/Open sanctioned signal stack switching.  */
  27.332 -	if (ka->sa.sa_flags & SA_ONSTACK) {
  27.333 -		if (sas_ss_flags(esp) == 0)
  27.334 -			esp = current->sas_ss_sp + current->sas_ss_size;
  27.335 -	}
  27.336 -
  27.337 -	/* This is the legacy signal stack switching. */
  27.338 -	else if ((regs->xss & 0xffff) != __USER_DS &&
  27.339 -		 !(ka->sa.sa_flags & SA_RESTORER) &&
  27.340 -		 ka->sa.sa_restorer) {
  27.341 -		esp = (unsigned long) ka->sa.sa_restorer;
  27.342 -	}
  27.343 -
  27.344 -	return (void __user *)((esp - frame_size) & -8ul);
  27.345 -}
  27.346 -
  27.347 -/* These symbols are defined with the addresses in the vsyscall page.
  27.348 -   See vsyscall-sigreturn.S.  */
  27.349 -extern void __user __kernel_sigreturn;
  27.350 -extern void __user __kernel_rt_sigreturn;
  27.351 -
  27.352 -static void setup_frame(int sig, struct k_sigaction *ka,
  27.353 -			sigset_t *set, struct pt_regs * regs)
  27.354 -{
  27.355 -	void __user *restorer;
  27.356 -	struct sigframe __user *frame;
  27.357 -	int err = 0;
  27.358 -	int usig;
  27.359 -
  27.360 -	frame = get_sigframe(ka, regs, sizeof(*frame));
  27.361 -
  27.362 -	if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame)))
  27.363 -		goto give_sigsegv;
  27.364 -
  27.365 -	usig = current_thread_info()->exec_domain
  27.366 -		&& current_thread_info()->exec_domain->signal_invmap
  27.367 -		&& sig < 32
  27.368 -		? current_thread_info()->exec_domain->signal_invmap[sig]
  27.369 -		: sig;
  27.370 -
  27.371 -	err = __put_user(usig, &frame->sig);
  27.372 -	if (err)
  27.373 -		goto give_sigsegv;
  27.374 -
  27.375 -	err = setup_sigcontext(&frame->sc, &frame->fpstate, regs, set->sig[0]);
  27.376 -	if (err)
  27.377 -		goto give_sigsegv;
  27.378 -
  27.379 -	if (_NSIG_WORDS > 1) {
  27.380 -		err = __copy_to_user(&frame->extramask, &set->sig[1],
  27.381 -				      sizeof(frame->extramask));
  27.382 -		if (err)
  27.383 -			goto give_sigsegv;
  27.384 -	}
  27.385 -
  27.386 -	restorer = &__kernel_sigreturn;
  27.387 -	if (ka->sa.sa_flags & SA_RESTORER)
  27.388 -		restorer = ka->sa.sa_restorer;
  27.389 -
  27.390 -	/* Set up to return from userspace.  */
  27.391 -	err |= __put_user(restorer, &frame->pretcode);
  27.392 -	 
  27.393 -	/*
  27.394 -	 * This is popl %eax ; movl $,%eax ; int $0x80
  27.395 -	 *
  27.396 -	 * WE DO NOT USE IT ANY MORE! It's only left here for historical
  27.397 -	 * reasons and because gdb uses it as a signature to notice
  27.398 -	 * signal handler stack frames.
  27.399 -	 */
  27.400 -	err |= __put_user(0xb858, (short __user *)(frame->retcode+0));
  27.401 -	err |= __put_user(__NR_sigreturn, (int __user *)(frame->retcode+2));
  27.402 -	err |= __put_user(0x80cd, (short __user *)(frame->retcode+6));
  27.403 -
  27.404 -	if (err)
  27.405 -		goto give_sigsegv;
  27.406 -
  27.407 -	/* Set up registers for signal handler */
  27.408 -	regs->esp = (unsigned long) frame;
  27.409 -	regs->eip = (unsigned long) ka->sa.sa_handler;
  27.410 -	regs->eax = (unsigned long) sig;
  27.411 -	regs->edx = (unsigned long) 0;
  27.412 -	regs->ecx = (unsigned long) 0;
  27.413 -
  27.414 -	set_fs(USER_DS);
  27.415 -	regs->xds = __USER_DS;
  27.416 -	regs->xes = __USER_DS;
  27.417 -	regs->xss = __USER_DS;
  27.418 -	regs->xcs = __USER_CS;
  27.419 -
  27.420 -	/*
  27.421 -	 * Clear TF when entering the signal handler, but
  27.422 -	 * notify any tracer that was single-stepping it.
  27.423 -	 * The tracer may want to single-step inside the
  27.424 -	 * handler too.
  27.425 -	 */
  27.426 -	regs->eflags &= ~TF_MASK;
  27.427 -	if (test_thread_flag(TIF_SINGLESTEP))
  27.428 -		ptrace_notify(SIGTRAP);
  27.429 -
  27.430 -#if DEBUG_SIG
  27.431 -	printk("SIG deliver (%s:%d): sp=%p pc=%p ra=%p\n",
  27.432 -		current->comm, current->pid, frame, regs->eip, frame->pretcode);
  27.433 -#endif
  27.434 -
  27.435 -	return;
  27.436 -
  27.437 -give_sigsegv:
  27.438 -	force_sigsegv(sig, current);
  27.439 -}
  27.440 -
  27.441 -static void setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info,
  27.442 -			   sigset_t *set, struct pt_regs * regs)
  27.443 -{
  27.444 -	void __user *restorer;
  27.445 -	struct rt_sigframe __user *frame;
  27.446 -	int err = 0;
  27.447 -	int usig;
  27.448 -
  27.449 -	frame = get_sigframe(ka, regs, sizeof(*frame));
  27.450 -
  27.451 -	if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame)))
  27.452 -		goto give_sigsegv;
  27.453 -
  27.454 -	usig = current_thread_info()->exec_domain
  27.455 -		&& current_thread_info()->exec_domain->signal_invmap
  27.456 -		&& sig < 32
  27.457 -		? current_thread_info()->exec_domain->signal_invmap[sig]
  27.458 -		: sig;
  27.459 -
  27.460 -	err |= __put_user(usig, &frame->sig);
  27.461 -	err |= __put_user(&frame->info, &frame->pinfo);
  27.462 -	err |= __put_user(&frame->uc, &frame->puc);
  27.463 -	err |= copy_siginfo_to_user(&frame->info, info);
  27.464 -	if (err)
  27.465 -		goto give_sigsegv;
  27.466 -
  27.467 -	/* Create the ucontext.  */
  27.468 -	err |= __put_user(0, &frame->uc.uc_flags);
  27.469 -	err |= __put_user(0, &frame->uc.uc_link);
  27.470 -	err |= __put_user(current->sas_ss_sp, &frame->uc.uc_stack.ss_sp);
  27.471 -	err |= __put_user(sas_ss_flags(regs->esp),
  27.472 -			  &frame->uc.uc_stack.ss_flags);
  27.473 -	err |= __put_user(current->sas_ss_size, &frame->uc.uc_stack.ss_size);
  27.474 -	err |= setup_sigcontext(&frame->uc.uc_mcontext, &frame->fpstate,
  27.475 -			        regs, set->sig[0]);
  27.476 -	err |= __copy_to_user(&frame->uc.uc_sigmask, set, sizeof(*set));
  27.477 -	if (err)
  27.478 -		goto give_sigsegv;
  27.479 -
  27.480 -	/* Set up to return from userspace.  */
  27.481 -	restorer = &__kernel_rt_sigreturn;
  27.482 -	if (ka->sa.sa_flags & SA_RESTORER)
  27.483 -		restorer = ka->sa.sa_restorer;
  27.484 -	err |= __put_user(restorer, &frame->pretcode);
  27.485 -	 
  27.486 -	/*
  27.487 -	 * This is movl $,%eax ; int $0x80
  27.488 -	 *
  27.489 -	 * WE DO NOT USE IT ANY MORE! It's only left here for historical
  27.490 -	 * reasons and because gdb uses it as a signature to notice
  27.491 -	 * signal handler stack frames.
  27.492 -	 */
  27.493 -	err |= __put_user(0xb8, (char __user *)(frame->retcode+0));
  27.494 -	err |= __put_user(__NR_rt_sigreturn, (int __user *)(frame->retcode+1));
  27.495 -	err |= __put_user(0x80cd, (short __user *)(frame->retcode+5));
  27.496 -
  27.497 -	if (err)
  27.498 -		goto give_sigsegv;
  27.499 -
  27.500 -	/* Set up registers for signal handler */
  27.501 -	regs->esp = (unsigned long) frame;
  27.502 -	regs->eip = (unsigned long) ka->sa.sa_handler;
  27.503 -	regs->eax = (unsigned long) usig;
  27.504 -	regs->edx = (unsigned long) &frame->info;
  27.505 -	regs->ecx = (unsigned long) &frame->uc;
  27.506 -
  27.507 -	set_fs(USER_DS);
  27.508 -	regs->xds = __USER_DS;
  27.509 -	regs->xes = __USER_DS;
  27.510 -	regs->xss = __USER_DS;
  27.511 -	regs->xcs = __USER_CS;
  27.512 -
  27.513 -	/*
  27.514 -	 * Clear TF when entering the signal handler, but
  27.515 -	 * notify any tracer that was single-stepping it.
  27.516 -	 * The tracer may want to single-step inside the
  27.517 -	 * handler too.
  27.518 -	 */
  27.519 -	regs->eflags &= ~TF_MASK;
  27.520 -	if (test_thread_flag(TIF_SINGLESTEP))
  27.521 -		ptrace_notify(SIGTRAP);
  27.522 -
  27.523 -#if DEBUG_SIG
  27.524 -	printk("SIG deliver (%s:%d): sp=%p pc=%p ra=%p\n",
  27.525 -		current->comm, current->pid, frame, regs->eip, frame->pretcode);
  27.526 -#endif
  27.527 -
  27.528 -	return;
  27.529 -
  27.530 -give_sigsegv:
  27.531 -	force_sigsegv(sig, current);
  27.532 -}
  27.533 -
  27.534 -/*
  27.535 - * OK, we're invoking a handler
  27.536 - */	
  27.537 -
  27.538 -static void
  27.539 -handle_signal(unsigned long sig, siginfo_t *info, struct k_sigaction *ka,
  27.540 -	      sigset_t *oldset,	struct pt_regs * regs)
  27.541 -{
  27.542 -	/* Are we from a system call? */
  27.543 -	if (regs->orig_eax >= 0) {
  27.544 -		/* If so, check system call restarting.. */
  27.545 -		switch (regs->eax) {
  27.546 -		        case -ERESTART_RESTARTBLOCK:
  27.547 -			case -ERESTARTNOHAND:
  27.548 -				regs->eax = -EINTR;
  27.549 -				break;
  27.550 -
  27.551 -			case -ERESTARTSYS:
  27.552 -				if (!(ka->sa.sa_flags & SA_RESTART)) {
  27.553 -					regs->eax = -EINTR;
  27.554 -					break;
  27.555 -				}
  27.556 -			/* fallthrough */
  27.557 -			case -ERESTARTNOINTR:
  27.558 -				regs->eax = regs->orig_eax;
  27.559 -				regs->eip -= 2;
  27.560 -		}
  27.561 -	}
  27.562 -
  27.563 -	/*
  27.564 -	 * If TF is set due to a debugger (PT_DTRACE), clear the TF flag so
  27.565 -	 * that register information in the sigcontext is correct.
  27.566 -	 */
  27.567 -	if (unlikely(regs->eflags & TF_MASK)
  27.568 -	    && likely(current->ptrace & PT_DTRACE)) {
  27.569 -		current->ptrace &= ~PT_DTRACE;
  27.570 -		regs->eflags &= ~TF_MASK;
  27.571 -	}
  27.572 -
  27.573 -	/* Set up the stack frame */
  27.574 -	if (ka->sa.sa_flags & SA_SIGINFO)
  27.575 -		setup_rt_frame(sig, ka, info, oldset, regs);
  27.576 -	else
  27.577 -		setup_frame(sig, ka, oldset, regs);
  27.578 -
  27.579 -	if (!(ka->sa.sa_flags & SA_NODEFER)) {
  27.580 -		spin_lock_irq(&current->sighand->siglock);
  27.581 -		sigorsets(&current->blocked,&current->blocked,&ka->sa.sa_mask);
  27.582 -		sigaddset(&current->blocked,sig);
  27.583 -		recalc_sigpending();
  27.584 -		spin_unlock_irq(&current->sighand->siglock);
  27.585 -	}
  27.586 -}
  27.587 -
  27.588 -/*
  27.589 - * Note that 'init' is a special process: it doesn't get signals it doesn't
  27.590 - * want to handle. Thus you cannot kill init even with a SIGKILL even by
  27.591 - * mistake.
  27.592 - */
  27.593 -int fastcall do_signal(struct pt_regs *regs, sigset_t *oldset)
  27.594 -{
  27.595 -	siginfo_t info;
  27.596 -	int signr;
  27.597 -	struct k_sigaction ka;
  27.598 -
  27.599 -	/*
  27.600 -	 * We want the common case to go fast, which
  27.601 -	 * is why we may in certain cases get here from
  27.602 -	 * kernel mode. Just return without doing anything
  27.603 -	 * if so.
  27.604 -	 */
  27.605 -	if ((regs->xcs & 2) != 2)
  27.606 -		return 1;
  27.607 -
  27.608 -	if (current->flags & PF_FREEZE) {
  27.609 -		refrigerator(0);
  27.610 -		goto no_signal;
  27.611 -	}
  27.612 -
  27.613 -	if (!oldset)
  27.614 -		oldset = &current->blocked;
  27.615 -
  27.616 -	signr = get_signal_to_deliver(&info, &ka, regs, NULL);
  27.617 -	if (signr > 0) {
  27.618 -		/* Reenable any watchpoints before delivering the
  27.619 -		 * signal to user space. The processor register will
  27.620 -		 * have been cleared if the watchpoint triggered
  27.621 -		 * inside the kernel.
  27.622 -		 */
  27.623 -		if (unlikely(current->thread.debugreg[7])) {
  27.624 -			loaddebug(&current->thread, 7);
  27.625 -		}
  27.626 -
  27.627 -		/* Whee!  Actually deliver the signal.  */
  27.628 -		handle_signal(signr, &info, &ka, oldset, regs);
  27.629 -		return 1;
  27.630 -	}
  27.631 -
  27.632 - no_signal:
  27.633 -	/* Did we come from a system call? */
  27.634 -	if (regs->orig_eax >= 0) {
  27.635 -		/* Restart the system call - no handlers present */
  27.636 -		if (regs->eax == -ERESTARTNOHAND ||
  27.637 -		    regs->eax == -ERESTARTSYS ||
  27.638 -		    regs->eax == -ERESTARTNOINTR) {
  27.639 -			regs->eax = regs->orig_eax;
  27.640 -			regs->eip -= 2;
  27.641 -		}
  27.642 -		if (regs->eax == -ERESTART_RESTARTBLOCK){
  27.643 -			regs->eax = __NR_restart_syscall;
  27.644 -			regs->eip -= 2;
  27.645 -		}
  27.646 -	}
  27.647 -	return 0;
  27.648 -}
  27.649 -
  27.650 -/*
  27.651 - * notification of userspace execution resumption
  27.652 - * - triggered by current->work.notify_resume
  27.653 - */
  27.654 -__attribute__((regparm(3)))
  27.655 -void do_notify_resume(struct pt_regs *regs, sigset_t *oldset,
  27.656 -		      __u32 thread_info_flags)
  27.657 -{
  27.658 -	/* Pending single-step? */
  27.659 -	if (thread_info_flags & _TIF_SINGLESTEP) {
  27.660 -		regs->eflags |= TF_MASK;
  27.661 -		clear_thread_flag(TIF_SINGLESTEP);
  27.662 -	}
  27.663 -	/* deal with pending signal delivery */
  27.664 -	if (thread_info_flags & _TIF_SIGPENDING)
  27.665 -		do_signal(regs,oldset);
  27.666 -	
  27.667 -	clear_thread_flag(TIF_IRET);
  27.668 -}
    28.1 --- a/linux-2.6-xen-sparse/arch/i386/kernel/smp-xen.c	Tue Jan 31 19:55:55 2006 +0100
    28.2 +++ b/linux-2.6-xen-sparse/arch/i386/kernel/smp-xen.c	Tue Jan 31 19:55:22 2006 +0000
    28.3 @@ -11,7 +11,6 @@
    28.4  #include <linux/init.h>
    28.5  
    28.6  #include <linux/mm.h>
    28.7 -#include <linux/irq.h>
    28.8  #include <linux/delay.h>
    28.9  #include <linux/spinlock.h>
   28.10  #include <linux/smp_lock.h>
   28.11 @@ -20,6 +19,7 @@
   28.12  #include <linux/cache.h>
   28.13  #include <linux/interrupt.h>
   28.14  #include <linux/cpu.h>
   28.15 +#include <linux/module.h>
   28.16  
   28.17  #include <asm/mtrr.h>
   28.18  #include <asm/tlbflush.h>
   28.19 @@ -415,6 +415,7 @@ void flush_tlb_page(struct vm_area_struc
   28.20  
   28.21  	preempt_enable();
   28.22  }
   28.23 +EXPORT_SYMBOL(flush_tlb_page);
   28.24  
   28.25  static void do_flush_tlb_all(void* info)
   28.26  {
   28.27 @@ -471,6 +472,16 @@ struct call_data_struct {
   28.28  	int wait;
   28.29  };
   28.30  
   28.31 +void lock_ipi_call_lock(void)
   28.32 +{
   28.33 +	spin_lock_irq(&call_lock);
   28.34 +}
   28.35 +
   28.36 +void unlock_ipi_call_lock(void)
   28.37 +{
   28.38 +	spin_unlock_irq(&call_lock);
   28.39 +}
   28.40 +
   28.41  static struct call_data_struct * call_data;
   28.42  
   28.43  /*
   28.44 @@ -498,8 +509,7 @@ int smp_call_function (void (*func) (voi
   28.45  
   28.46  	/* Holding any lock stops cpus from going down. */
   28.47  	spin_lock(&call_lock);
   28.48 -	cpus = num_online_cpus()-1;
   28.49 -
   28.50 +	cpus = num_online_cpus() - 1;
   28.51  	if (!cpus) {
   28.52  		spin_unlock(&call_lock);
   28.53  		return 0;
   28.54 @@ -532,6 +542,7 @@ int smp_call_function (void (*func) (voi
   28.55  
   28.56  	return 0;
   28.57  }
   28.58 +EXPORT_SYMBOL(smp_call_function);
   28.59  
   28.60  static void stop_this_cpu (void * dummy)
   28.61  {
   28.62 @@ -544,7 +555,7 @@ static void stop_this_cpu (void * dummy)
   28.63  	disable_local_APIC();
   28.64  #endif
   28.65  	if (cpu_data[smp_processor_id()].hlt_works_ok)
   28.66 -		for(;;) __asm__("hlt");
   28.67 +		for(;;) halt();
   28.68  	for (;;);
   28.69  }
   28.70  
    29.1 --- a/linux-2.6-xen-sparse/arch/i386/kernel/smpboot.c	Tue Jan 31 19:55:55 2006 +0100
    29.2 +++ b/linux-2.6-xen-sparse/arch/i386/kernel/smpboot.c	Tue Jan 31 19:55:22 2006 +0000
    29.3 @@ -42,8 +42,10 @@
    29.4  #include <linux/sched.h>
    29.5  #include <linux/kernel_stat.h>
    29.6  #include <linux/smp_lock.h>
    29.7 -#include <linux/irq.h>
    29.8  #include <linux/bootmem.h>
    29.9 +#include <linux/notifier.h>
   29.10 +#include <linux/cpu.h>
   29.11 +#include <linux/percpu.h>
   29.12  
   29.13  #include <linux/delay.h>
   29.14  #include <linux/mc146818rtc.h>
   29.15 @@ -56,26 +58,50 @@
   29.16  #include <smpboot_hooks.h>
   29.17  
   29.18  /* Set if we find a B stepping CPU */
   29.19 -static int __initdata smp_b_stepping;
   29.20 +static int __devinitdata smp_b_stepping;
   29.21  
   29.22  /* Number of siblings per CPU package */
   29.23  int smp_num_siblings = 1;
   29.24 -int phys_proc_id[NR_CPUS]; /* Package ID of each logical CPU */
   29.25 +#ifdef CONFIG_X86_HT
   29.26 +EXPORT_SYMBOL(smp_num_siblings);
   29.27 +#endif
   29.28 +
   29.29 +/* Package ID of each logical CPU */
   29.30 +int phys_proc_id[NR_CPUS] __read_mostly = {[0 ... NR_CPUS-1] = BAD_APICID};
   29.31  EXPORT_SYMBOL(phys_proc_id);
   29.32 -int cpu_core_id[NR_CPUS]; /* Core ID of each logical CPU */
   29.33 +
   29.34 +/* Core ID of each logical CPU */
   29.35 +int cpu_core_id[NR_CPUS] __read_mostly = {[0 ... NR_CPUS-1] = BAD_APICID};
   29.36  EXPORT_SYMBOL(cpu_core_id);
   29.37  
   29.38 +cpumask_t cpu_sibling_map[NR_CPUS] __read_mostly;
   29.39 +EXPORT_SYMBOL(cpu_sibling_map);
   29.40 +
   29.41 +cpumask_t cpu_core_map[NR_CPUS] __read_mostly;
   29.42 +EXPORT_SYMBOL(cpu_core_map);
   29.43 +
   29.44  /* bitmap of online cpus */
   29.45 -cpumask_t cpu_online_map;
   29.46 +cpumask_t cpu_online_map __read_mostly;
   29.47 +EXPORT_SYMBOL(cpu_online_map);
   29.48  
   29.49  cpumask_t cpu_callin_map;
   29.50  cpumask_t cpu_callout_map;
   29.51 +EXPORT_SYMBOL(cpu_callout_map);
   29.52 +cpumask_t cpu_possible_map;
   29.53 +EXPORT_SYMBOL(cpu_possible_map);
   29.54  static cpumask_t smp_commenced_mask;
   29.55  
   29.56 +/* TSC's upper 32 bits can't be written in eariler CPU (before prescott), there
   29.57 + * is no way to resync one AP against BP. TBD: for prescott and above, we
   29.58 + * should use IA64's algorithm
   29.59 + */
   29.60 +static int __devinitdata tsc_sync_disabled;
   29.61 +
   29.62  /* Per CPU bogomips and other parameters */
   29.63  struct cpuinfo_x86 cpu_data[NR_CPUS] __cacheline_aligned;
   29.64 +EXPORT_SYMBOL(cpu_data);
   29.65  
   29.66 -u8 x86_cpu_to_apicid[NR_CPUS] =
   29.67 +u8 x86_cpu_to_apicid[NR_CPUS] __read_mostly =
   29.68  			{ [0 ... NR_CPUS-1] = 0xff };
   29.69  EXPORT_SYMBOL(x86_cpu_to_apicid);
   29.70  
   29.71 @@ -90,13 +116,16 @@ static int trampoline_exec;
   29.72  
   29.73  static void map_cpu_to_logical_apicid(void);
   29.74  
   29.75 +/* State of each CPU. */
   29.76 +DEFINE_PER_CPU(int, cpu_state) = { 0 };
   29.77 +
   29.78  /*
   29.79   * Currently trivial. Write the real->protected mode
   29.80   * bootstrap into the page concerned. The caller
   29.81   * has made sure it's suitably aligned.
   29.82   */
   29.83  
   29.84 -static unsigned long __init setup_trampoline(void)
   29.85 +static unsigned long __devinit setup_trampoline(void)
   29.86  {
   29.87  	memcpy(trampoline_base, trampoline_data, trampoline_end - trampoline_data);
   29.88  	return virt_to_phys(trampoline_base);
   29.89 @@ -126,7 +155,7 @@ void __init smp_alloc_memory(void)
   29.90   * a given CPU
   29.91   */
   29.92  
   29.93 -static void __init smp_store_cpu_info(int id)
   29.94 +static void __devinit smp_store_cpu_info(int id)
   29.95  {
   29.96  	struct cpuinfo_x86 *c = cpu_data + id;
   29.97  
   29.98 @@ -172,7 +201,7 @@ static void __init smp_store_cpu_info(in
   29.99  				goto valid_k7;
  29.100  
  29.101  		/* If we get here, it's not a certified SMP capable AMD system. */
  29.102 -		tainted |= TAINT_UNSAFE_SMP;
  29.103 +		add_taint(TAINT_UNSAFE_SMP);
  29.104  	}
  29.105  
  29.106  valid_k7:
  29.107 @@ -199,7 +228,7 @@ static void __init synchronize_tsc_bp (v
  29.108  	unsigned long long t0;
  29.109  	unsigned long long sum, avg;
  29.110  	long long delta;
  29.111 -	unsigned long one_usec;
  29.112 +	unsigned int one_usec;
  29.113  	int buggy = 0;
  29.114  
  29.115  	printk(KERN_INFO "checking TSC synchronization across %u CPUs: ", num_booting_cpus());
  29.116 @@ -320,7 +349,7 @@ extern void calibrate_delay(void);
  29.117  
  29.118  static atomic_t init_deasserted;
  29.119  
  29.120 -static void __init smp_callin(void)
  29.121 +static void __devinit smp_callin(void)
  29.122  {
  29.123  	int cpuid, phys_id;
  29.124  	unsigned long timeout;
  29.125 @@ -405,16 +434,48 @@ static void __init smp_callin(void)
  29.126  	/*
  29.127  	 *      Synchronize the TSC with the BP
  29.128  	 */
  29.129 -	if (cpu_has_tsc && cpu_khz)
  29.130 +	if (cpu_has_tsc && cpu_khz && !tsc_sync_disabled)
  29.131  		synchronize_tsc_ap();
  29.132  }
  29.133  
  29.134  static int cpucount;
  29.135  
  29.136 +static inline void
  29.137 +set_cpu_sibling_map(int cpu)
  29.138 +{
  29.139 +	int i;
  29.140 +
  29.141 +	if (smp_num_siblings > 1) {
  29.142 +		for (i = 0; i < NR_CPUS; i++) {
  29.143 +			if (!cpu_isset(i, cpu_callout_map))
  29.144 +				continue;
  29.145 +			if (cpu_core_id[cpu] == cpu_core_id[i]) {
  29.146 +				cpu_set(i, cpu_sibling_map[cpu]);
  29.147 +				cpu_set(cpu, cpu_sibling_map[i]);
  29.148 +			}
  29.149 +		}
  29.150 +	} else {
  29.151 +		cpu_set(cpu, cpu_sibling_map[cpu]);
  29.152 +	}
  29.153 +
  29.154 +	if (current_cpu_data.x86_num_cores > 1) {
  29.155 +		for (i = 0; i < NR_CPUS; i++) {
  29.156 +			if (!cpu_isset(i, cpu_callout_map))
  29.157 +				continue;
  29.158 +			if (phys_proc_id[cpu] == phys_proc_id[i]) {
  29.159 +				cpu_set(i, cpu_core_map[cpu]);
  29.160 +				cpu_set(cpu, cpu_core_map[i]);
  29.161 +			}
  29.162 +		}
  29.163 +	} else {
  29.164 +		cpu_core_map[cpu] = cpu_sibling_map[cpu];
  29.165 +	}
  29.166 +}
  29.167 +
  29.168  /*
  29.169   * Activate a secondary processor.
  29.170   */
  29.171 -static void __init start_secondary(void *unused)
  29.172 +static void __devinit start_secondary(void *unused)
  29.173  {
  29.174  	/*
  29.175  	 * Dont put anything before smp_callin(), SMP
  29.176 @@ -437,7 +498,23 @@ static void __init start_secondary(void 
  29.177  	 * the local TLBs too.
  29.178  	 */
  29.179  	local_flush_tlb();
  29.180 +
  29.181 +	/* This must be done before setting cpu_online_map */
  29.182 +	set_cpu_sibling_map(raw_smp_processor_id());
  29.183 +	wmb();
  29.184 +
  29.185 +	/*
  29.186 +	 * We need to hold call_lock, so there is no inconsistency
  29.187 +	 * between the time smp_call_function() determines number of
  29.188 +	 * IPI receipients, and the time when the determination is made
  29.189 +	 * for which cpus receive the IPI. Holding this
  29.190 +	 * lock helps us to not include this cpu in a currently in progress
  29.191 +	 * smp_call_function().
  29.192 +	 */
  29.193 +	lock_ipi_call_lock();
  29.194  	cpu_set(smp_processor_id(), cpu_online_map);
  29.195 +	unlock_ipi_call_lock();
  29.196 +	per_cpu(cpu_state, smp_processor_id()) = CPU_ONLINE;
  29.197  
  29.198  	/* We can take interrupts now: we're officially "up". */
  29.199  	local_irq_enable();
  29.200 @@ -452,7 +529,7 @@ static void __init start_secondary(void 
  29.201   * from the task structure
  29.202   * This function must not return.
  29.203   */
  29.204 -void __init initialize_secondary(void)
  29.205 +void __devinit initialize_secondary(void)
  29.206  {
  29.207  	/*
  29.208  	 * We don't actually need to load the full TSS,
  29.209 @@ -474,10 +551,10 @@ extern struct {
  29.210  #ifdef CONFIG_NUMA
  29.211  
  29.212  /* which logical CPUs are on which nodes */
  29.213 -cpumask_t node_2_cpu_mask[MAX_NUMNODES] =
  29.214 +cpumask_t node_2_cpu_mask[MAX_NUMNODES] __read_mostly =
  29.215  				{ [0 ... MAX_NUMNODES-1] = CPU_MASK_NONE };
  29.216  /* which node each logical CPU is on */
  29.217 -int cpu_2_node[NR_CPUS] = { [0 ... NR_CPUS-1] = 0 };
  29.218 +int cpu_2_node[NR_CPUS] __read_mostly = { [0 ... NR_CPUS-1] = 0 };
  29.219  EXPORT_SYMBOL(cpu_2_node);
  29.220  
  29.221  /* set up a mapping between cpu and node. */
  29.222 @@ -505,7 +582,7 @@ static inline void unmap_cpu_to_node(int
  29.223  
  29.224  #endif /* CONFIG_NUMA */
  29.225  
  29.226 -u8 cpu_2_logical_apicid[NR_CPUS] = { [0 ... NR_CPUS-1] = BAD_APICID };
  29.227 +u8 cpu_2_logical_apicid[NR_CPUS] __read_mostly = { [0 ... NR_CPUS-1] = BAD_APICID };
  29.228  
  29.229  static void map_cpu_to_logical_apicid(void)
  29.230  {
  29.231 @@ -566,7 +643,7 @@ static inline void __inquire_remote_apic
  29.232   * INIT, INIT, STARTUP sequence will reset the chip hard for us, and this
  29.233   * won't ... remember to clear down the APIC, etc later.
  29.234   */
  29.235 -static int __init
  29.236 +static int __devinit
  29.237  wakeup_secondary_cpu(int logical_apicid, unsigned long start_eip)
  29.238  {
  29.239  	unsigned long send_status = 0, accept_status = 0;
  29.240 @@ -612,7 +689,7 @@ wakeup_secondary_cpu(int logical_apicid,
  29.241  #endif	/* WAKE_SECONDARY_VIA_NMI */
  29.242  
  29.243  #ifdef WAKE_SECONDARY_VIA_INIT
  29.244 -static int __init
  29.245 +static int __devinit
  29.246  wakeup_secondary_cpu(int phys_apicid, unsigned long start_eip)
  29.247  {
  29.248  	unsigned long send_status = 0, accept_status = 0;
  29.249 @@ -747,8 +824,43 @@ wakeup_secondary_cpu(int phys_apicid, un
  29.250  #endif	/* WAKE_SECONDARY_VIA_INIT */
  29.251  
  29.252  extern cpumask_t cpu_initialized;
  29.253 +static inline int alloc_cpu_id(void)
  29.254 +{
  29.255 +	cpumask_t	tmp_map;
  29.256 +	int cpu;
  29.257 +	cpus_complement(tmp_map, cpu_present_map);
  29.258 +	cpu = first_cpu(tmp_map);
  29.259 +	if (cpu >= NR_CPUS)
  29.260 +		return -ENODEV;
  29.261 +	return cpu;
  29.262 +}
  29.263  
  29.264 -static int __init do_boot_cpu(int apicid)
  29.265 +#ifdef CONFIG_HOTPLUG_CPU
  29.266 +static struct task_struct * __devinitdata cpu_idle_tasks[NR_CPUS];
  29.267 +static inline struct task_struct * alloc_idle_task(int cpu)
  29.268 +{
  29.269 +	struct task_struct *idle;
  29.270 +
  29.271 +	if ((idle = cpu_idle_tasks[cpu]) != NULL) {
  29.272 +		/* initialize thread_struct.  we really want to avoid destroy
  29.273 +		 * idle tread
  29.274 +		 */
  29.275 +		idle->thread.esp = (unsigned long)(((struct pt_regs *)
  29.276 +			(THREAD_SIZE + (unsigned long) idle->thread_info)) - 1);
  29.277 +		init_idle(idle, cpu);
  29.278 +		return idle;
  29.279 +	}
  29.280 +	idle = fork_idle(cpu);
  29.281 +
  29.282 +	if (!IS_ERR(idle))
  29.283 +		cpu_idle_tasks[cpu] = idle;
  29.284 +	return idle;
  29.285 +}
  29.286 +#else
  29.287 +#define alloc_idle_task(cpu) fork_idle(cpu)
  29.288 +#endif
  29.289 +
  29.290 +static int __devinit do_boot_cpu(int apicid, int cpu)
  29.291  /*
  29.292   * NOTE - on most systems this is a PHYSICAL apic ID, but on multiquad
  29.293   * (ie clustered apic addressing mode), this is a LOGICAL apic ID.
  29.294 @@ -757,16 +869,17 @@ static int __init do_boot_cpu(int apicid
  29.295  {
  29.296  	struct task_struct *idle;
  29.297  	unsigned long boot_error;
  29.298 -	int timeout, cpu;
  29.299 +	int timeout;
  29.300  	unsigned long start_eip;
  29.301  	unsigned short nmi_high = 0, nmi_low = 0;
  29.302  
  29.303 -	cpu = ++cpucount;
  29.304 +	++cpucount;
  29.305 +
  29.306  	/*
  29.307  	 * We can't use kernel_thread since we must avoid to
  29.308  	 * reschedule the child.
  29.309  	 */
  29.310 -	idle = fork_idle(cpu);
  29.311 +	idle = alloc_idle_task(cpu);
  29.312  	if (IS_ERR(idle))
  29.313  		panic("failed fork for CPU %d", cpu);
  29.314  	idle->thread.eip = (unsigned long) start_secondary;
  29.315 @@ -833,13 +946,16 @@ static int __init do_boot_cpu(int apicid
  29.316  			inquire_remote_apic(apicid);
  29.317  		}
  29.318  	}
  29.319 -	x86_cpu_to_apicid[cpu] = apicid;
  29.320 +
  29.321  	if (boot_error) {
  29.322  		/* Try to put things back the way they were before ... */
  29.323  		unmap_cpu_to_logical_apicid(cpu);
  29.324  		cpu_clear(cpu, cpu_callout_map); /* was set here (do_boot_cpu()) */
  29.325  		cpu_clear(cpu, cpu_initialized); /* was set by cpu_init() */
  29.326  		cpucount--;
  29.327 +	} else {
  29.328 +		x86_cpu_to_apicid[cpu] = apicid;
  29.329 +		cpu_set(cpu, cpu_present_map);
  29.330  	}
  29.331  
  29.332  	/* mark "stuck" area as not stuck */
  29.333 @@ -848,6 +964,75 @@ static int __init do_boot_cpu(int apicid
  29.334  	return boot_error;
  29.335  }
  29.336  
  29.337 +#ifdef CONFIG_HOTPLUG_CPU
  29.338 +void cpu_exit_clear(void)
  29.339 +{
  29.340 +	int cpu = raw_smp_processor_id();
  29.341 +
  29.342 +	idle_task_exit();
  29.343 +
  29.344 +	cpucount --;
  29.345 +	cpu_uninit();
  29.346 +	irq_ctx_exit(cpu);
  29.347 +
  29.348 +	cpu_clear(cpu, cpu_callout_map);
  29.349 +	cpu_clear(cpu, cpu_callin_map);
  29.350 +	cpu_clear(cpu, cpu_present_map);
  29.351 +
  29.352 +	cpu_clear(cpu, smp_commenced_mask);
  29.353 +	unmap_cpu_to_logical_apicid(cpu);
  29.354 +}
  29.355 +
  29.356 +struct warm_boot_cpu_info {
  29.357 +	struct completion *complete;
  29.358 +	int apicid;
  29.359 +	int cpu;
  29.360 +};
  29.361 +
  29.362 +static void __devinit do_warm_boot_cpu(void *p)
  29.363 +{
  29.364 +	struct warm_boot_cpu_info *info = p;
  29.365 +	do_boot_cpu(info->apicid, info->cpu);
  29.366 +	complete(info->complete);
  29.367 +}
  29.368 +
  29.369 +int __devinit smp_prepare_cpu(int cpu)
  29.370 +{
  29.371 +	DECLARE_COMPLETION(done);
  29.372 +	struct warm_boot_cpu_info info;
  29.373 +	struct work_struct task;
  29.374 +	int	apicid, ret;
  29.375 +
  29.376 +	lock_cpu_hotplug();
  29.377 +	apicid = x86_cpu_to_apicid[cpu];
  29.378 +	if (apicid == BAD_APICID) {
  29.379 +		ret = -ENODEV;
  29.380 +		goto exit;
  29.381 +	}
  29.382 +
  29.383 +	info.complete = &done;
  29.384 +	info.apicid = apicid;
  29.385 +	info.cpu = cpu;
  29.386 +	INIT_WORK(&task, do_warm_boot_cpu, &info);
  29.387 +
  29.388 +	tsc_sync_disabled = 1;
  29.389 +
  29.390 +	/* init low mem mapping */
  29.391 +	clone_pgd_range(swapper_pg_dir, swapper_pg_dir + USER_PGD_PTRS,
  29.392 +			KERNEL_PGD_PTRS);
  29.393 +	flush_tlb_all();
  29.394 +	schedule_work(&task);
  29.395 +	wait_for_completion(&done);
  29.396 +
  29.397 +	tsc_sync_disabled = 0;
  29.398 +	zap_low_mappings();
  29.399 +	ret = 0;
  29.400 +exit:
  29.401 +	unlock_cpu_hotplug();
  29.402 +	return ret;
  29.403 +}
  29.404 +#endif
  29.405 +
  29.406  static void smp_tune_scheduling (void)
  29.407  {
  29.408  	unsigned long cachesize;       /* kB   */
  29.409 @@ -885,10 +1070,9 @@ static void smp_tune_scheduling (void)
  29.410  static int boot_cpu_logical_apicid;
  29.411  /* Where the IO area was mapped on multiquad, always 0 otherwise */
  29.412  void *xquad_portio;
  29.413 -
  29.414 -cpumask_t cpu_sibling_map[NR_CPUS] __cacheline_aligned;
  29.415 -cpumask_t cpu_core_map[NR_CPUS] __cacheline_aligned;
  29.416 -EXPORT_SYMBOL(cpu_core_map);
  29.417 +#ifdef CONFIG_X86_NUMAQ
  29.418 +EXPORT_SYMBOL(xquad_portio);
  29.419 +#endif
  29.420  
  29.421  static void __init smp_boot_cpus(unsigned int max_cpus)
  29.422  {
  29.423 @@ -1006,7 +1190,7 @@ static void __init smp_boot_cpus(unsigne
  29.424  			prepare_for_smp();
  29.425  #endif
  29.426  
  29.427 -		if (do_boot_cpu(apicid))
  29.428 +		if (((cpu = alloc_cpu_id()) <= 0) || do_boot_cpu(apicid, cpu))
  29.429  			printk("CPU #%d not responding - cannot use it.\n",
  29.430  								apicid);
  29.431  		else
  29.432 @@ -1058,44 +1242,8 @@ static void __init smp_boot_cpus(unsigne
  29.433  		cpus_clear(cpu_core_map[cpu]);
  29.434  	}
  29.435  
  29.436 -	for (cpu = 0; cpu < NR_CPUS; cpu++) {
  29.437 -		struct cpuinfo_x86 *c = cpu_data + cpu;
  29.438 -		int siblings = 0;
  29.439 -		int i;
  29.440 -		if (!cpu_isset(cpu, cpu_callout_map))
  29.441 -			continue;
  29.442 -
  29.443 -		if (smp_num_siblings > 1) {
  29.444 -			for (i = 0; i < NR_CPUS; i++) {
  29.445 -				if (!cpu_isset(i, cpu_callout_map))
  29.446 -					continue;
  29.447 -				if (cpu_core_id[cpu] == cpu_core_id[i]) {
  29.448 -					siblings++;
  29.449 -					cpu_set(i, cpu_sibling_map[cpu]);
  29.450 -				}
  29.451 -			}
  29.452 -		} else {
  29.453 -			siblings++;
  29.454 -			cpu_set(cpu, cpu_sibling_map[cpu]);
  29.455 -		}
  29.456 -
  29.457 -		if (siblings != smp_num_siblings) {
  29.458 -			printk(KERN_WARNING "WARNING: %d siblings found for CPU%d, should be %d\n", siblings, cpu, smp_num_siblings);
  29.459 -			smp_num_siblings = siblings;
  29.460 -		}
  29.461 -
  29.462 -		if (c->x86_num_cores > 1) {
  29.463 -			for (i = 0; i < NR_CPUS; i++) {
  29.464 -				if (!cpu_isset(i, cpu_callout_map))
  29.465 -					continue;
  29.466 -				if (phys_proc_id[cpu] == phys_proc_id[i]) {
  29.467 -					cpu_set(i, cpu_core_map[cpu]);
  29.468 -				}
  29.469 -			}
  29.470 -		} else {
  29.471 -			cpu_core_map[cpu] = cpu_sibling_map[cpu];
  29.472 -		}
  29.473 -	}
  29.474 +	cpu_set(0, cpu_sibling_map[0]);
  29.475 +	cpu_set(0, cpu_core_map[0]);
  29.476  
  29.477  	smpboot_setup_io_apic();
  29.478  
  29.479 @@ -1112,6 +1260,9 @@ static void __init smp_boot_cpus(unsigne
  29.480     who understands all this stuff should rewrite it properly. --RR 15/Jul/02 */
  29.481  void __init smp_prepare_cpus(unsigned int max_cpus)
  29.482  {
  29.483 +	smp_commenced_mask = cpumask_of_cpu(0);
  29.484 +	cpu_callin_map = cpumask_of_cpu(0);
  29.485 +	mb();
  29.486  	smp_boot_cpus(max_cpus);
  29.487  }
  29.488  
  29.489 @@ -1119,18 +1270,92 @@ void __devinit smp_prepare_boot_cpu(void
  29.490  {
  29.491  	cpu_set(smp_processor_id(), cpu_online_map);
  29.492  	cpu_set(smp_processor_id(), cpu_callout_map);
  29.493 +	cpu_set(smp_processor_id(), cpu_present_map);
  29.494 +	cpu_set(smp_processor_id(), cpu_possible_map);
  29.495 +	per_cpu(cpu_state, smp_processor_id()) = CPU_ONLINE;
  29.496  }
  29.497  
  29.498 +#ifdef CONFIG_HOTPLUG_CPU
  29.499 +static void
  29.500 +remove_siblinginfo(int cpu)
  29.501 +{
  29.502 +	int sibling;
  29.503 +
  29.504 +	for_each_cpu_mask(sibling, cpu_sibling_map[cpu])
  29.505 +		cpu_clear(cpu, cpu_sibling_map[sibling]);
  29.506 +	for_each_cpu_mask(sibling, cpu_core_map[cpu])
  29.507 +		cpu_clear(cpu, cpu_core_map[sibling]);
  29.508 +	cpus_clear(cpu_sibling_map[cpu]);
  29.509 +	cpus_clear(cpu_core_map[cpu]);
  29.510 +	phys_proc_id[cpu] = BAD_APICID;
  29.511 +	cpu_core_id[cpu] = BAD_APICID;
  29.512 +}
  29.513 +
  29.514 +int __cpu_disable(void)
  29.515 +{
  29.516 +	cpumask_t map = cpu_online_map;
  29.517 +	int cpu = smp_processor_id();
  29.518 +
  29.519 +	/*
  29.520 +	 * Perhaps use cpufreq to drop frequency, but that could go
  29.521 +	 * into generic code.
  29.522 + 	 *
  29.523 +	 * We won't take down the boot processor on i386 due to some
  29.524 +	 * interrupts only being able to be serviced by the BSP.
  29.525 +	 * Especially so if we're not using an IOAPIC	-zwane
  29.526 +	 */
  29.527 +	if (cpu == 0)
  29.528 +		return -EBUSY;
  29.529 +
  29.530 +	/* We enable the timer again on the exit path of the death loop */
  29.531 +	disable_APIC_timer();
  29.532 +	/* Allow any queued timer interrupts to get serviced */
  29.533 +	local_irq_enable();
  29.534 +	mdelay(1);
  29.535 +	local_irq_disable();
  29.536 +
  29.537 +	remove_siblinginfo(cpu);
  29.538 +
  29.539 +	cpu_clear(cpu, map);
  29.540 +	fixup_irqs(map);
  29.541 +	/* It's now safe to remove this processor from the online map */
  29.542 +	cpu_clear(cpu, cpu_online_map);
  29.543 +	return 0;
  29.544 +}
  29.545 +
  29.546 +void __cpu_die(unsigned int cpu)
  29.547 +{
  29.548 +	/* We don't do anything here: idle task is faking death itself. */
  29.549 +	unsigned int i;
  29.550 +
  29.551 +	for (i = 0; i < 10; i++) {
  29.552 +		/* They ack this in play_dead by setting CPU_DEAD */
  29.553 +		if (per_cpu(cpu_state, cpu) == CPU_DEAD) {
  29.554 +			printk ("CPU %d is now offline\n", cpu);
  29.555 +			return;
  29.556 +		}
  29.557 +		msleep(100);
  29.558 +	}
  29.559 + 	printk(KERN_ERR "CPU %u didn't die...\n", cpu);
  29.560 +}
  29.561 +#else /* ... !CONFIG_HOTPLUG_CPU */
  29.562 +int __cpu_disable(void)
  29.563 +{
  29.564 +	return -ENOSYS;
  29.565 +}
  29.566 +
  29.567 +void __cpu_die(unsigned int cpu)
  29.568 +{
  29.569 +	/* We said "no" in __cpu_disable */
  29.570 +	BUG();
  29.571 +}
  29.572 +#endif /* CONFIG_HOTPLUG_CPU */
  29.573 +
  29.574  int __devinit __cpu_up(unsigned int cpu)
  29.575  {
  29.576 -	/* This only works at boot for x86.  See "rewrite" above. */
  29.577 -	if (cpu_isset(cpu, smp_commenced_mask)) {
  29.578 -		local_irq_enable();
  29.579 -		return -ENOSYS;
  29.580 -	}
  29.581 -
  29.582  	/* In case one didn't come up */
  29.583  	if (!cpu_isset(cpu, cpu_callin_map)) {
  29.584 +		printk(KERN_DEBUG "skipping cpu%d, didn't come online\n", cpu);
  29.585  		local_irq_enable();
  29.586  		return -EIO;
  29.587  	}
  29.588 @@ -1141,6 +1366,7 @@ int __devinit __cpu_up(unsigned int cpu)
  29.589  #endif
  29.590  
  29.591  	local_irq_enable();
  29.592 +	per_cpu(cpu_state, cpu) = CPU_UP_PREPARE;
  29.593  	/* Unleash the CPU! */
  29.594  	cpu_set(cpu, smp_commenced_mask);
  29.595  	while (!cpu_isset(cpu, cpu_online_map))
  29.596 @@ -1154,10 +1380,12 @@ void __init smp_cpus_done(unsigned int m
  29.597  	setup_ioapic_dest();
  29.598  #endif
  29.599  	zap_low_mappings();
  29.600 +#ifndef CONFIG_HOTPLUG_CPU
  29.601  	/*
  29.602  	 * Disable executability of the SMP trampoline:
  29.603  	 */
  29.604  	set_kernel_exec((unsigned long)trampoline_base, trampoline_exec);
  29.605 +#endif
  29.606  }
  29.607  
  29.608  void __init smp_intr_init(void)
    30.1 --- a/linux-2.6-xen-sparse/arch/i386/kernel/time-xen.c	Tue Jan 31 19:55:55 2006 +0100
    30.2 +++ b/linux-2.6-xen-sparse/arch/i386/kernel/time-xen.c	Tue Jan 31 19:55:22 2006 +0000
    30.3 @@ -72,7 +72,10 @@
    30.4  
    30.5  #include <xen/evtchn.h>
    30.6  
    30.7 -extern spinlock_t i8259A_lock;
    30.8 +#if defined (__i386__)
    30.9 +#include <asm/i8259.h>
   30.10 +#endif
   30.11 +
   30.12  int pit_latch_buggy;              /* extern */
   30.13  
   30.14  u64 jiffies_64 = INITIAL_JIFFIES;
   30.15 @@ -88,22 +91,25 @@ struct timespec __xtime __section_xtime;
   30.16  struct timezone __sys_tz __section_sys_tz;
   30.17  #endif
   30.18  
   30.19 -#if defined(__x86_64__)
   30.20  unsigned int cpu_khz;	/* Detected as we calibrate the TSC */
   30.21 -#else
   30.22 -unsigned long cpu_khz;	/* Detected as we calibrate the TSC */
   30.23 -#endif
   30.24 +EXPORT_SYMBOL(cpu_khz);
   30.25  
   30.26  extern unsigned long wall_jiffies;
   30.27  
   30.28  DEFINE_SPINLOCK(rtc_lock);
   30.29 +EXPORT_SYMBOL(rtc_lock);
   30.30 +
   30.31 +#if defined (__i386__)
   30.32 +#include <asm/i8253.h>
   30.33 +#endif
   30.34  
   30.35  DEFINE_SPINLOCK(i8253_lock);
   30.36  EXPORT_SYMBOL(i8253_lock);
   30.37  
   30.38  extern struct init_timer_opts timer_tsc_init;
   30.39  extern struct timer_opts timer_tsc;
   30.40 -struct timer_opts *cur_timer = &timer_tsc;
   30.41 +#define timer_none timer_tsc
   30.42 +struct timer_opts *cur_timer __read_mostly = &timer_tsc;
   30.43  
   30.44  /* These are peridically updated in shared_info, and then copied here. */
   30.45  struct shadow_time_info {
   30.46 @@ -201,6 +207,14 @@ static inline u64 scale_delta(u64 delta,
   30.47  	return product;
   30.48  }
   30.49  
   30.50 +#if defined (__i386__)
   30.51 +int read_current_timer(unsigned long *timer_val)
   30.52 +{
   30.53 +	rdtscl(*timer_val);
   30.54 +	return 0;
   30.55 +}
   30.56 +#endif
   30.57 +
   30.58  void init_cpu_khz(void)
   30.59  {
   30.60  	u64 __cpu_khz = 1000000ULL << 32;
   30.61 @@ -252,10 +266,7 @@ static void __update_wallclock(time_t se
   30.62  	set_normalized_timespec(&xtime, xtime_sec, xtime_nsec);
   30.63  	set_normalized_timespec(&wall_to_monotonic, wtm_sec, wtm_nsec);
   30.64  
   30.65 -	time_adjust = 0;		/* stop active adjtime() */
   30.66 -	time_status |= STA_UNSYNC;
   30.67 -	time_maxerror = NTP_PHASE_LIMIT;
   30.68 -	time_esterror = NTP_PHASE_LIMIT;
   30.69 +	ntp_clear();
   30.70  }
   30.71  
   30.72  static void update_wallclock(void)
   30.73 @@ -619,10 +630,11 @@ unsigned long get_cmos_time(void)
   30.74  
   30.75  	return retval;
   30.76  }
   30.77 +EXPORT_SYMBOL(get_cmos_time);
   30.78 +
   30.79  static void sync_cmos_clock(unsigned long dummy);
   30.80  
   30.81 -static struct timer_list sync_cmos_timer =
   30.82 -                                      TIMER_INITIALIZER(sync_cmos_clock, 0, 0);
   30.83 +static DEFINE_TIMER(sync_cmos_timer, sync_cmos_clock, 0, 0);
   30.84  
   30.85  static void sync_cmos_clock(unsigned long dummy)
   30.86  {
   30.87 @@ -636,7 +648,7 @@ static void sync_cmos_clock(unsigned lon
   30.88  	 * This code is run on a timer.  If the clock is set, that timer
   30.89  	 * may not expire at the correct time.  Thus, we adjust...
   30.90  	 */
   30.91 -	if ((time_status & STA_UNSYNC) != 0)
   30.92 +	if (!ntp_synced())
   30.93  		/*
   30.94  		 * Not synced, exit, do not restart a timer (if one is
   30.95  		 * running, let it run out).
   30.96 @@ -671,6 +683,7 @@ void notify_arch_cmos_timer(void)
   30.97  
   30.98  static long clock_cmos_diff, sleep_start;
   30.99  
  30.100 +static struct timer_opts *last_timer;
  30.101  static int timer_suspend(struct sys_device *dev, pm_message_t state)
  30.102  {
  30.103  	/*
  30.104 @@ -679,6 +692,10 @@ static int timer_suspend(struct sys_devi
  30.105  	clock_cmos_diff = -get_cmos_time();
  30.106  	clock_cmos_diff += get_seconds();
  30.107  	sleep_start = get_cmos_time();
  30.108 +	last_timer = cur_timer;
  30.109 +	cur_timer = &timer_none;
  30.110 +	if (last_timer->suspend)
  30.111 +		last_timer->suspend(state);
  30.112  	return 0;
  30.113  }
  30.114  
  30.115 @@ -700,6 +717,11 @@ static int timer_resume(struct sys_devic
  30.116  	write_sequnlock_irqrestore(&xtime_lock, flags);
  30.117  	jiffies += sleep_length;
  30.118  	wall_jiffies += sleep_length;
  30.119 +	if (last_timer->resume)
  30.120 +		last_timer->resume();
  30.121 +	cur_timer = last_timer;
  30.122 +	last_timer = NULL;
  30.123 +	touch_softlockup_watchdog();
  30.124  	return 0;
  30.125  }
  30.126  
  30.127 @@ -784,14 +806,13 @@ void __init time_init(void)
  30.128  	update_wallclock();
  30.129  
  30.130  	init_cpu_khz();
  30.131 -	printk(KERN_INFO "Xen reported: %lu.%03lu MHz processor.\n",
  30.132 +	printk(KERN_INFO "Xen reported: %u.%03u MHz processor.\n",
  30.133  	       cpu_khz / 1000, cpu_khz % 1000);
  30.134  
  30.135  #if defined(__x86_64__)
  30.136  	vxtime.mode = VXTIME_TSC;
  30.137  	vxtime.quot = (1000000L << 32) / vxtime_hz;
  30.138  	vxtime.tsc_quot = (1000L << 32) / cpu_khz;
  30.139 -	vxtime.hz = vxtime_hz;
  30.140  	sync_core();
  30.141  	rdtscll(vxtime.last_tsc);
  30.142  #endif
    31.1 --- a/linux-2.6-xen-sparse/arch/i386/kernel/traps-xen.c	Tue Jan 31 19:55:55 2006 +0100
    31.2 +++ b/linux-2.6-xen-sparse/arch/i386/kernel/traps-xen.c	Tue Jan 31 19:55:22 2006 +0000
    31.3 @@ -27,6 +27,7 @@
    31.4  #include <linux/ptrace.h>
    31.5  #include <linux/utsname.h>
    31.6  #include <linux/kprobes.h>
    31.7 +#include <linux/kexec.h>
    31.8  
    31.9  #ifdef CONFIG_EISA
   31.10  #include <linux/ioport.h>
   31.11 @@ -51,7 +52,6 @@
   31.12  #include <asm/arch_hooks.h>
   31.13  #include <asm/kdebug.h>
   31.14  
   31.15 -#include <linux/irq.h>
   31.16  #include <linux/module.h>
   31.17  
   31.18  #include "mach_traps.h"
   31.19 @@ -101,6 +101,7 @@ int register_die_notifier(struct notifie
   31.20  	spin_unlock_irqrestore(&die_notifier_lock, flags);
   31.21  	return err;
   31.22  }
   31.23 +EXPORT_SYMBOL(register_die_notifier);
   31.24  
   31.25  static inline int valid_stack_ptr(struct thread_info *tinfo, void *p)
   31.26  {
   31.27 @@ -205,8 +206,8 @@ void show_registers(struct pt_regs *regs
   31.28  	unsigned short ss;
   31.29  
   31.30  	esp = (unsigned long) (&regs->esp);
   31.31 -	ss = __KERNEL_DS;
   31.32 -	if (regs->xcs & 2) {
   31.33 +	savesegment(ss, ss);
   31.34 +	if (user_mode(regs)) {
   31.35  		in_kernel = 0;
   31.36  		esp = regs->esp;
   31.37  		ss = regs->xss & 0xffff;
   31.38 @@ -230,22 +231,22 @@ void show_registers(struct pt_regs *regs
   31.39  	 * time of the fault..
   31.40  	 */
   31.41  	if (in_kernel) {
   31.42 -		u8 *eip;
   31.43 +		u8 __user *eip;
   31.44  
   31.45  		printk("\nStack: ");
   31.46  		show_stack(NULL, (unsigned long*)esp);
   31.47  
   31.48  		printk("Code: ");
   31.49  
   31.50 -		eip = (u8 *)regs->eip - 43;
   31.51 +		eip = (u8 __user *)regs->eip - 43;
   31.52  		for (i = 0; i < 64; i++, eip++) {
   31.53  			unsigned char c;
   31.54  
   31.55 -			if (eip < (u8 *)PAGE_OFFSET || __get_user(c, eip)) {
   31.56 +			if (eip < (u8 __user *)PAGE_OFFSET || __get_user(c, eip)) {
   31.57  				printk(" Bad EIP value.");
   31.58  				break;
   31.59  			}
   31.60 -			if (eip == (u8 *)regs->eip)
   31.61 +			if (eip == (u8 __user *)regs->eip)
   31.62  				printk("<%02x> ", c);
   31.63  			else
   31.64  				printk("%02x ", c);
   31.65 @@ -262,20 +263,17 @@ static void handle_BUG(struct pt_regs *r
   31.66  	char c;
   31.67  	unsigned long eip;
   31.68  
   31.69 -	if (regs->xcs & 2)
   31.70 -		goto no_bug;		/* Not in kernel */
   31.71 -
   31.72  	eip = regs->eip;
   31.73  
   31.74  	if (eip < PAGE_OFFSET)
   31.75  		goto no_bug;
   31.76 -	if (__get_user(ud2, (unsigned short *)eip))
   31.77 +	if (__get_user(ud2, (unsigned short __user *)eip))
   31.78  		goto no_bug;
   31.79  	if (ud2 != 0x0b0f)
   31.80  		goto no_bug;
   31.81 -	if (__get_user(line, (unsigned short *)(eip + 2)))
   31.82 +	if (__get_user(line, (unsigned short __user *)(eip + 2)))
   31.83  		goto bug;
   31.84 -	if (__get_user(file, (char **)(eip + 4)) ||
   31.85 +	if (__get_user(file, (char * __user *)(eip + 4)) ||
   31.86  		(unsigned long)file < PAGE_OFFSET || __get_user(c, file))
   31.87  		file = "<bad filename>";
   31.88  
   31.89 @@ -290,6 +288,9 @@ bug:
   31.90  	printk("Kernel BUG\n");
   31.91  }
   31.92  
   31.93 +/* This is gone through when something in the kernel
   31.94 + * has done something bad and is about to be terminated.
   31.95 +*/
   31.96  void die(const char * str, struct pt_regs * regs, long err)
   31.97  {
   31.98  	static struct {
   31.99 @@ -303,7 +304,7 @@ void die(const char * str, struct pt_reg
  31.100  	};
  31.101  	static int die_counter;
  31.102  
  31.103 -	if (die.lock_owner != _smp_processor_id()) {
  31.104 +	if (die.lock_owner != raw_smp_processor_id()) {
  31.105  		console_verbose();
  31.106  		spin_lock_irq(&die.lock);
  31.107  		die.lock_owner = smp_processor_id();
  31.108 @@ -337,6 +338,10 @@ void die(const char * str, struct pt_reg
  31.109  	bust_spinlocks(0);
  31.110  	die.lock_owner = -1;
  31.111  	spin_unlock_irq(&die.lock);
  31.112 +
  31.113 +	if (kexec_should_crash(current))
  31.114 +		crash_kexec(regs);
  31.115 +
  31.116  	if (in_interrupt())
  31.117  		panic("Fatal exception in interrupt");
  31.118  
  31.119 @@ -350,26 +355,28 @@ void die(const char * str, struct pt_reg
  31.120  
  31.121  static inline void die_if_kernel(const char * str, struct pt_regs * regs, long err)
  31.122  {
  31.123 -	if (!(regs->eflags & VM_MASK) && !(2 & regs->xcs))
  31.124 +  if (!user_mode_vm(regs))
  31.125  		die(str, regs, err);
  31.126  }
  31.127  
  31.128 -static void do_trap(int trapnr, int signr, char *str, int vm86,
  31.129 -			   struct pt_regs * regs, long error_code, siginfo_t *info)
  31.130 +static void __kprobes do_trap(int trapnr, int signr, char *str, int vm86,
  31.131 +			      struct pt_regs * regs, long error_code,
  31.132 +			      siginfo_t *info)
  31.133  {
  31.134 +	struct task_struct *tsk = current;
  31.135 +	tsk->thread.error_code = error_code;
  31.136 +	tsk->thread.trap_no = trapnr;
  31.137 +
  31.138  	if (regs->eflags & VM_MASK) {
  31.139  		if (vm86)
  31.140  			goto vm86_trap;
  31.141  		goto trap_signal;
  31.142  	}
  31.143  
  31.144 -	if (!(regs->xcs & 2))
  31.145 +	if (!user_mode(regs))
  31.146  		goto kernel_trap;
  31.147  
  31.148  	trap_signal: {
  31.149 -		struct task_struct *tsk = current;
  31.150 -		tsk->thread.error_code = error_code;
  31.151 -		tsk->thread.trap_no = trapnr;
  31.152  		if (info)
  31.153  			force_sig_info(signr, info, tsk);
  31.154  		else
  31.155 @@ -454,7 +461,8 @@ DO_ERROR(18, SIGBUS, "machine check", ma
  31.156  #endif
  31.157  DO_ERROR_INFO(32, SIGSEGV, "iret exception", iret_error, ILL_BADSTK, 0)
  31.158  
  31.159 -fastcall void do_general_protection(struct pt_regs * regs, long error_code)
  31.160 +fastcall void __kprobes do_general_protection(struct pt_regs * regs,
  31.161 +					      long error_code)
  31.162  {
  31.163  	/*
  31.164  	 * If we trapped on an LDT access then ensure that the default_ldt is
  31.165 @@ -470,10 +478,13 @@ fastcall void do_general_protection(stru
  31.166  		}
  31.167  	}
  31.168  
  31.169 +	current->thread.error_code = error_code;
  31.170 +	current->thread.trap_no = 13;
  31.171 +
  31.172  	if (regs->eflags & VM_MASK)
  31.173  		goto gp_in_vm86;
  31.174  
  31.175 -	if (!(regs->xcs & 2))
  31.176 +	if (!user_mode(regs))
  31.177  		goto gp_in_kernel;
  31.178  
  31.179  	current->thread.error_code = error_code;
  31.180 @@ -533,6 +544,10 @@ static DEFINE_SPINLOCK(nmi_print_lock);
  31.181  
  31.182  void die_nmi (struct pt_regs *regs, const char *msg)
  31.183  {
  31.184 +	if (notify_die(DIE_NMIWATCHDOG, msg, regs, 0, 0, SIGINT) ==
  31.185 +	    NOTIFY_STOP)
  31.186 +		return;
  31.187 +
  31.188  	spin_lock(&nmi_print_lock);
  31.189  	/*
  31.190  	* We are in trouble anyway, lets at least try
  31.191 @@ -547,6 +562,15 @@ void die_nmi (struct pt_regs *regs, cons
  31.192  	console_silent();
  31.193  	spin_unlock(&nmi_print_lock);
  31.194  	bust_spinlocks(0);
  31.195 +
  31.196 +	/* If we are in kernel we are probably nested up pretty bad
  31.197 +	 * and might aswell get out now while we still can.
  31.198 +	*/
  31.199 +	if (!user_mode(regs)) {
  31.200 +		current->thread.trap_no = 2;
  31.201 +		crash_kexec(regs);
  31.202 +	}
  31.203 +
  31.204  	do_exit(SIGSEGV);
  31.205  }
  31.206  
  31.207 @@ -612,7 +636,7 @@ fastcall void do_nmi(struct pt_regs * re
  31.208  
  31.209  	++nmi_count(cpu);
  31.210  
  31.211 -	if (!nmi_callback(regs, cpu))
  31.212 +	if (!rcu_dereference(nmi_callback)(regs, cpu))
  31.213  		default_do_nmi(regs);
  31.214  
  31.215  	nmi_exit();
  31.216 @@ -620,16 +644,18 @@ fastcall void do_nmi(struct pt_regs * re
  31.217  
  31.218  void set_nmi_callback(nmi_callback_t callback)
  31.219  {
  31.220 -	nmi_callback = callback;
  31.221 +	rcu_assign_pointer(nmi_callback, callback);
  31.222  }
  31.223 +EXPORT_SYMBOL_GPL(set_nmi_callback);
  31.224  
  31.225  void unset_nmi_callback(void)
  31.226  {
  31.227  	nmi_callback = dummy_nmi_callback;
  31.228  }
  31.229 +EXPORT_SYMBOL_GPL(unset_nmi_callback);
  31.230  
  31.231  #ifdef CONFIG_KPROBES
  31.232 -fastcall void do_int3(struct pt_regs *regs, long error_code)
  31.233 +fastcall void __kprobes do_int3(struct pt_regs *regs, long error_code)
  31.234  {
  31.235  	if (notify_die(DIE_INT3, "int3", regs, error_code, 3, SIGTRAP)
  31.236  			== NOTIFY_STOP)
  31.237 @@ -663,12 +689,12 @@ fastcall void do_int3(struct pt_regs *re
  31.238   * find every occurrence of the TF bit that could be saved away even
  31.239   * by user code)
  31.240   */
  31.241 -fastcall void do_debug(struct pt_regs * regs, long error_code)
  31.242 +fastcall void __kprobes do_debug(struct pt_regs * regs, long error_code)
  31.243  {
  31.244  	unsigned int condition;
  31.245  	struct task_struct *tsk = current;
  31.246  
  31.247 -	condition = HYPERVISOR_get_debugreg(6);
  31.248 +	get_debugreg(condition, 6);
  31.249  
  31.250  	if (notify_die(DIE_DEBUG, "debug", regs, condition, error_code,
  31.251  					SIGTRAP) == NOTIFY_STOP)
  31.252 @@ -699,7 +725,7 @@ fastcall void do_debug(struct pt_regs * 
  31.253  		 * check for kernel mode by just checking the CPL
  31.254  		 * of CS.
  31.255  		 */
  31.256 -		if ((regs->xcs & 2) == 0)
  31.257 +	  if (!user_mode(regs))
  31.258  			goto clear_TF_reenable;
  31.259  	}
  31.260  
  31.261 @@ -710,7 +736,7 @@ fastcall void do_debug(struct pt_regs * 
  31.262  	 * the signal is delivered.
  31.263  	 */
  31.264  clear_dr7:
  31.265 -	HYPERVISOR_set_debugreg(7, 0);
  31.266 +	set_debugreg(0, 7);
  31.267  	return;
  31.268  
  31.269  debug_vm86:
  31.270 @@ -757,15 +783,18 @@ void math_error(void __user *eip)
  31.271  	 */
  31.272  	cwd = get_fpu_cwd(task);
  31.273  	swd = get_fpu_swd(task);
  31.274 -	switch (((~cwd) & swd & 0x3f) | (swd & 0x240)) {
  31.275 -		case 0x000:
  31.276 -		default:
  31.277 +	switch (swd & ~cwd & 0x3f) {
  31.278 +		case 0x000: /* No unmasked exception */
  31.279 +			return;
  31.280 +		default:    /* Multiple exceptions */
  31.281  			break;
  31.282  		case 0x001: /* Invalid Op */
  31.283 -		case 0x041: /* Stack Fault */
  31.284 -		case 0x241: /* Stack Fault | Direction */
  31.285 +			/*
  31.286 +			 * swd & 0x240 == 0x040: Stack Underflow
  31.287 +			 * swd & 0x240 == 0x240: Stack Overflow
  31.288 +			 * User must clear the SF bit (0x40) if set
  31.289 +			 */
  31.290  			info.si_code = FPE_FLTINV;
  31.291 -			/* Should we clear the SF or let user space do it ???? */
  31.292  			break;
  31.293  		case 0x002: /* Denormalize */
  31.294  		case 0x010: /* Underflow */
  31.295 @@ -855,9 +884,9 @@ fastcall void do_simd_coprocessor_error(
  31.296  					  error_code);
  31.297  			return;
  31.298  		}
  31.299 -		die_if_kernel("cache flush denied", regs, error_code);
  31.300  		current->thread.trap_no = 19;
  31.301  		current->thread.error_code = error_code;
  31.302 +		die_if_kernel("cache flush denied", regs, error_code);
  31.303  		force_sig(SIGSEGV, current);
  31.304  	}
  31.305  }
  31.306 @@ -953,7 +982,7 @@ void __init trap_init_f00f_bug(void)
  31.307  	 * it uses the read-only mapped virtual address.
  31.308  	 */
  31.309  	idt_descr.address = fix_to_virt(FIX_F00F_IDT);
  31.310 -	__asm__ __volatile__("lidt %0" : : "m" (idt_descr));
  31.311 +	load_idt(&idt_descr);
  31.312  }
  31.313  #endif
  31.314  
    32.1 --- a/linux-2.6-xen-sparse/arch/i386/kernel/traps.c	Tue Jan 31 19:55:55 2006 +0100
    32.2 +++ b/linux-2.6-xen-sparse/arch/i386/kernel/traps.c	Tue Jan 31 19:55:22 2006 +0000
    32.3 @@ -27,6 +27,7 @@
    32.4  #include <linux/ptrace.h>
    32.5  #include <linux/utsname.h>
    32.6  #include <linux/kprobes.h>
    32.7 +#include <linux/kexec.h>
    32.8  
    32.9  #ifdef CONFIG_EISA
   32.10  #include <linux/ioport.h>
   32.11 @@ -51,7 +52,6 @@
   32.12  #include <asm/arch_hooks.h>
   32.13  #include <asm/kdebug.h>
   32.14  
   32.15 -#include <linux/irq.h>
   32.16  #include <linux/module.h>
   32.17  
   32.18  #include "mach_traps.h"
   32.19 @@ -104,6 +104,7 @@ int register_die_notifier(struct notifie
   32.20  	spin_unlock_irqrestore(&die_notifier_lock, flags);
   32.21  	return err;
   32.22  }
   32.23 +EXPORT_SYMBOL(register_die_notifier);
   32.24  
   32.25  static inline int valid_stack_ptr(struct thread_info *tinfo, void *p)
   32.26  {
   32.27 @@ -208,8 +209,8 @@ void show_registers(struct pt_regs *regs
   32.28  	unsigned short ss;
   32.29  
   32.30  	esp = (unsigned long) (&regs->esp);
   32.31 -	ss = __KERNEL_DS;
   32.32 -	if (regs->xcs & 3) {
   32.33 +	savesegment(ss, ss);
   32.34 +	if (user_mode(regs)) {
   32.35  		in_kernel = 0;
   32.36  		esp = regs->esp;
   32.37  		ss = regs->xss & 0xffff;
   32.38 @@ -233,22 +234,22 @@ void show_registers(struct pt_regs *regs
   32.39  	 * time of the fault..
   32.40  	 */
   32.41  	if (in_kernel) {
   32.42 -		u8 *eip;
   32.43 +		u8 __user *eip;
   32.44  
   32.45  		printk("\nStack: ");
   32.46  		show_stack(NULL, (unsigned long*)esp);
   32.47  
   32.48  		printk("Code: ");
   32.49  
   32.50 -		eip = (u8 *)regs->eip - 43;
   32.51 +		eip = (u8 __user *)regs->eip - 43;
   32.52  		for (i = 0; i < 64; i++, eip++) {
   32.53  			unsigned char c;
   32.54  
   32.55 -			if (eip < (u8 *)PAGE_OFFSET || __get_user(c, eip)) {
   32.56 +			if (eip < (u8 __user *)PAGE_OFFSET || __get_user(c, eip)) {
   32.57  				printk(" Bad EIP value.");
   32.58  				break;
   32.59  			}
   32.60 -			if (eip == (u8 *)regs->eip)
   32.61 +			if (eip == (u8 __user *)regs->eip)
   32.62  				printk("<%02x> ", c);
   32.63  			else
   32.64  				printk("%02x ", c);
   32.65 @@ -265,20 +266,17 @@ static void handle_BUG(struct pt_regs *r
   32.66  	char c;
   32.67  	unsigned long eip;
   32.68  
   32.69 -	if (regs->xcs & 3)
   32.70 -		goto no_bug;		/* Not in kernel */
   32.71 -
   32.72  	eip = regs->eip;
   32.73  
   32.74  	if (eip < PAGE_OFFSET)
   32.75  		goto no_bug;
   32.76 -	if (__get_user(ud2, (unsigned short *)eip))
   32.77 +	if (__get_user(ud2, (unsigned short __user *)eip))
   32.78  		goto no_bug;
   32.79  	if (ud2 != 0x0b0f)
   32.80  		goto no_bug;
   32.81 -	if (__get_user(line, (unsigned short *)(eip + 2)))
   32.82 +	if (__get_user(line, (unsigned short __user *)(eip + 2)))
   32.83  		goto bug;
   32.84 -	if (__get_user(file, (char **)(eip + 4)) ||
   32.85 +	if (__get_user(file, (char * __user *)(eip + 4)) ||
   32.86  		(unsigned long)file < PAGE_OFFSET || __get_user(c, file))
   32.87  		file = "<bad filename>";
   32.88  
   32.89 @@ -293,6 +291,9 @@ bug:
   32.90  	printk("Kernel BUG\n");
   32.91  }
   32.92  
   32.93 +/* This is gone through when something in the kernel
   32.94 + * has done something bad and is about to be terminated.
   32.95 +*/
   32.96  void die(const char * str, struct pt_regs * regs, long err)
   32.97  {
   32.98  	static struct {
   32.99 @@ -306,7 +307,7 @@ void die(const char * str, struct pt_reg
  32.100  	};
  32.101  	static int die_counter;
  32.102  
  32.103 -	if (die.lock_owner != _smp_processor_id()) {
  32.104 +	if (die.lock_owner != raw_smp_processor_id()) {
  32.105  		console_verbose();
  32.106  		spin_lock_irq(&die.lock);
  32.107  		die.lock_owner = smp_processor_id();
  32.108 @@ -340,6 +341,10 @@ void die(const char * str, struct pt_reg
  32.109  	bust_spinlocks(0);
  32.110  	die.lock_owner = -1;
  32.111  	spin_unlock_irq(&die.lock);
  32.112 +
  32.113 +	if (kexec_should_crash(current))
  32.114 +		crash_kexec(regs);
  32.115 +
  32.116  	if (in_interrupt())
  32.117  		panic("Fatal exception in interrupt");
  32.118  
  32.119 @@ -353,26 +358,28 @@ void die(const char * str, struct pt_reg
  32.120  
  32.121  static inline void die_if_kernel(const char * str, struct pt_regs * regs, long err)
  32.122  {
  32.123 -	if (!(regs->eflags & VM_MASK) && !(3 & regs->xcs))
  32.124 +	if (!user_mode_vm(regs))
  32.125  		die(str, regs, err);
  32.126  }
  32.127  
  32.128 -static void do_trap(int trapnr, int signr, char *str, int vm86,
  32.129 -			   struct pt_regs * regs, long error_code, siginfo_t *info)
  32.130 +static void __kprobes do_trap(int trapnr, int signr, char *str, int vm86,
  32.131 +			      struct pt_regs * regs, long error_code,
  32.132 +			      siginfo_t *info)
  32.133  {
  32.134 +	struct task_struct *tsk = current;
  32.135 +	tsk->thread.error_code = error_code;
  32.136 +	tsk->thread.trap_no = trapnr;
  32.137 +
  32.138  	if (regs->eflags & VM_MASK) {
  32.139  		if (vm86)
  32.140  			goto vm86_trap;
  32.141  		goto trap_signal;
  32.142  	}
  32.143  
  32.144 -	if (!(regs->xcs & 3))
  32.145 +	if (!user_mode(regs))
  32.146  		goto kernel_trap;
  32.147  
  32.148  	trap_signal: {
  32.149 -		struct task_struct *tsk = current;
  32.150 -		tsk->thread.error_code = error_code;
  32.151 -		tsk->thread.trap_no = trapnr;
  32.152  		if (info)
  32.153  			force_sig_info(signr, info, tsk);
  32.154  		else
  32.155 @@ -453,7 +460,8 @@ DO_ERROR(12, SIGBUS,  "stack segment", s
  32.156  DO_ERROR_INFO(17, SIGBUS, "alignment check", alignment_check, BUS_ADRALN, 0)
  32.157  DO_ERROR_INFO(32, SIGSEGV, "iret exception", iret_error, ILL_BADSTK, 0)
  32.158  
  32.159 -fastcall void do_general_protection(struct pt_regs * regs, long error_code)
  32.160 +fastcall void __kprobes do_general_protection(struct pt_regs * regs,
  32.161 +					      long error_code)
  32.162  {
  32.163  	int cpu = get_cpu();
  32.164  	struct tss_struct *tss = &per_cpu(init_tss, cpu);
  32.165 @@ -485,10 +493,13 @@ fastcall void do_general_protection(stru
  32.166  	}
  32.167  	put_cpu();
  32.168  
  32.169 +	current->thread.error_code = error_code;
  32.170 +	current->thread.trap_no = 13;
  32.171 +
  32.172  	if (regs->eflags & VM_MASK)
  32.173  		goto gp_in_vm86;
  32.174  
  32.175 -	if (!(regs->xcs & 3))
  32.176 +	if (!user_mode(regs))
  32.177  		goto gp_in_kernel;
  32.178  
  32.179  	current->thread.error_code = error_code;
  32.180 @@ -548,6 +559,10 @@ static DEFINE_SPINLOCK(nmi_print_lock);
  32.181  
  32.182  void die_nmi (struct pt_regs *regs, const char *msg)
  32.183  {
  32.184 +	if (notify_die(DIE_NMIWATCHDOG, msg, regs, 0, 0, SIGINT) ==
  32.185 +	    NOTIFY_STOP)
  32.186 +		return;
  32.187 +
  32.188  	spin_lock(&nmi_print_lock);
  32.189  	/*
  32.190  	* We are in trouble anyway, lets at least try
  32.191 @@ -562,6 +577,15 @@ void die_nmi (struct pt_regs *regs, cons
  32.192  	console_silent();
  32.193  	spin_unlock(&nmi_print_lock);
  32.194  	bust_spinlocks(0);
  32.195 +
  32.196 +	/* If we are in kernel we are probably nested up pretty bad
  32.197 +	 * and might aswell get out now while we still can.
  32.198 +	*/
  32.199 +	if (!user_mode(regs)) {
  32.200 +		current->thread.trap_no = 2;
  32.201 +		crash_kexec(regs);
  32.202 +	}
  32.203 +
  32.204  	do_exit(SIGSEGV);
  32.205  }
  32.206  
  32.207 @@ -617,9 +641,17 @@ fastcall void do_nmi(struct pt_regs * re
  32.208  	nmi_enter();
  32.209  
  32.210  	cpu = smp_processor_id();
  32.211 +
  32.212 +#ifdef CONFIG_HOTPLUG_CPU
  32.213 +	if (!cpu_online(cpu)) {
  32.214 +		nmi_exit();
  32.215 +		return;
  32.216 +	}
  32.217 +#endif
  32.218 +
  32.219  	++nmi_count(cpu);
  32.220  
  32.221 -	if (!nmi_callback(regs, cpu))
  32.222 +	if (!rcu_dereference(nmi_callback)(regs, cpu))
  32.223  		default_do_nmi(regs);
  32.224  
  32.225  	nmi_exit();
  32.226 @@ -627,16 +659,18 @@ fastcall void do_nmi(struct pt_regs * re
  32.227  
  32.228  void set_nmi_callback(nmi_callback_t callback)
  32.229  {
  32.230 -	nmi_callback = callback;
  32.231 +	rcu_assign_pointer(nmi_callback, callback);
  32.232  }
  32.233 +EXPORT_SYMBOL_GPL(set_nmi_callback);
  32.234  
  32.235  void unset_nmi_callback(void)
  32.236  {
  32.237  	nmi_callback = dummy_nmi_callback;
  32.238  }
  32.239 +EXPORT_SYMBOL_GPL(unset_nmi_callback);
  32.240  
  32.241  #ifdef CONFIG_KPROBES
  32.242 -fastcall void do_int3(struct pt_regs *regs, long error_code)
  32.243 +fastcall void __kprobes do_int3(struct pt_regs *regs, long error_code)
  32.244  {
  32.245  	if (notify_die(DIE_INT3, "int3", regs, error_code, 3, SIGTRAP)
  32.246  			== NOTIFY_STOP)
  32.247 @@ -670,12 +704,12 @@ fastcall void do_int3(struct pt_regs *re
  32.248   * find every occurrence of the TF bit that could be saved away even
  32.249   * by user code)
  32.250   */
  32.251 -fastcall void do_debug(struct pt_regs * regs, long error_code)
  32.252 +fastcall void __kprobes do_debug(struct pt_regs * regs, long error_code)
  32.253  {
  32.254  	unsigned int condition;
  32.255  	struct task_struct *tsk = current;
  32.256  
  32.257 -	__asm__ __volatile__("movl %%db6,%0" : "=r" (condition));
  32.258 +	get_debugreg(condition, 6);
  32.259  
  32.260  	if (notify_die(DIE_DEBUG, "debug", regs, condition, error_code,
  32.261  					SIGTRAP) == NOTIFY_STOP)
  32.262 @@ -706,7 +740,7 @@ fastcall void do_debug(struct pt_regs * 
  32.263  		 * check for kernel mode by just checking the CPL
  32.264  		 * of CS.
  32.265  		 */
  32.266 -		if ((regs->xcs & 3) == 0)
  32.267 +		if (!user_mode(regs))
  32.268  			goto clear_TF_reenable;
  32.269  	}
  32.270  
  32.271 @@ -717,9 +751,7 @@ fastcall void do_debug(struct pt_regs * 
  32.272  	 * the signal is delivered.
  32.273  	 */
  32.274  clear_dr7:
  32.275 -	__asm__("movl %0,%%db7"
  32.276 -		: /* no output */
  32.277 -		: "r" (0));
  32.278 +	set_debugreg(0, 7);
  32.279  	return;
  32.280  
  32.281  debug_vm86:
  32.282 @@ -766,15 +798,18 @@ void math_error(void __user *eip)
  32.283  	 */
  32.284  	cwd = get_fpu_cwd(task);
  32.285  	swd = get_fpu_swd(task);
  32.286 -	switch (((~cwd) & swd & 0x3f) | (swd & 0x240)) {
  32.287 -		case 0x000:
  32.288 -		default:
  32.289 +	switch (swd & ~cwd & 0x3f) {
  32.290 +		case 0x000: /* No unmasked exception */
  32.291 +			return;
  32.292 +		default:    /* Multiple exceptions */
  32.293  			break;
  32.294  		case 0x001: /* Invalid Op */
  32.295 -		case 0x041: /* Stack Fault */
  32.296 -		case 0x241: /* Stack Fault | Direction */
  32.297 +			/*
  32.298 +			 * swd & 0x240 == 0x040: Stack Underflow
  32.299 +			 * swd & 0x240 == 0x240: Stack Overflow
  32.300 +			 * User must clear the SF bit (0x40) if set
  32.301 +			 */
  32.302  			info.si_code = FPE_FLTINV;
  32.303 -			/* Should we clear the SF or let user space do it ???? */
  32.304  			break;
  32.305  		case 0x002: /* Denormalize */
  32.306  		case 0x010: /* Underflow */
  32.307 @@ -864,9 +899,9 @@ fastcall void do_simd_coprocessor_error(
  32.308  					  error_code);
  32.309  			return;
  32.310  		}
  32.311 -		die_if_kernel("cache flush denied", regs, error_code);
  32.312  		current->thread.trap_no = 19;
  32.313  		current->thread.error_code = error_code;
  32.314 +		die_if_kernel("cache flush denied", regs, error_code);
  32.315  		force_sig(SIGSEGV, current);
  32.316  	}
  32.317  }
  32.318 @@ -969,7 +1004,7 @@ void __init trap_init_f00f_bug(void)
  32.319  	 * it uses the read-only mapped virtual address.
  32.320  	 */
  32.321  	idt_descr.address = fix_to_virt(FIX_F00F_IDT);
  32.322 -	__asm__ __volatile__("lidt %0" : : "m" (idt_descr));
  32.323 +	load_idt(&idt_descr);
  32.324  }
  32.325  #endif
  32.326  
    33.1 --- a/linux-2.6-xen-sparse/arch/i386/kernel/vmlinux.lds.S	Tue Jan 31 19:55:55 2006 +0100
    33.2 +++ b/linux-2.6-xen-sparse/arch/i386/kernel/vmlinux.lds.S	Tue Jan 31 19:55:22 2006 +0000
    33.3 @@ -2,23 +2,27 @@
    33.4   * Written by Martin Mares <mj@atrey.karlin.mff.cuni.cz>;
    33.5   */
    33.6  
    33.7 +#define LOAD_OFFSET __PAGE_OFFSET
    33.8 +
    33.9  #include <asm-generic/vmlinux.lds.h>
   33.10  #include <asm/thread_info.h>
   33.11  #include <asm/page.h>
   33.12  
   33.13  OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
   33.14  OUTPUT_ARCH(i386)
   33.15 -ENTRY(startup_32)
   33.16 +ENTRY(phys_startup_32)
   33.17  jiffies = jiffies_64;
   33.18  SECTIONS
   33.19  {
   33.20 -  . = __PAGE_OFFSET + 0x100000;
   33.21 +  . = __KERNEL_START;
   33.22 +  phys_startup_32 = startup_32 - LOAD_OFFSET;
   33.23    /* read-only */
   33.24    _text = .;			/* Text and read-only data */
   33.25 -  .text : {
   33.26 +  .text : AT(ADDR(.text) - LOAD_OFFSET) {
   33.27  	*(.text)
   33.28  	SCHED_TEXT
   33.29  	LOCK_TEXT
   33.30 +	KPROBES_TEXT
   33.31  	*(.fixup)
   33.32  	*(.gnu.warning)
   33.33  	} = 0x9090
   33.34 @@ -27,56 +31,65 @@ SECTIONS
   33.35  
   33.36    . = ALIGN(16);		/* Exception table */
   33.37    __start___ex_table = .;
   33.38 -  __ex_table : { *(__ex_table) }
   33.39 +  __ex_table : AT(ADDR(__ex_table) - LOAD_OFFSET) { *(__ex_table) }
   33.40    __stop___ex_table = .;
   33.41  
   33.42    . = ALIGN(16);
   33.43    __start_smp_alternatives_table = .;
   33.44 -  __smp_alternatives : { *(__smp_alternatives) }
   33.45 +  __smp_alternatives : AT(ADDR(__smp_alternatives) - LOAD_OFFSET) { *(__smp_alternatives) }
   33.46    __stop_smp_alternatives_table = .;
   33.47  
   33.48 -  __smp_replacements : { *(__smp_replacements) }
   33.49 +  __smp_replacements : AT(ADDR(__smp_replacements) - LOAD_OFFSET) { *(__smp_replacements) }
   33.50  
   33.51    RODATA
   33.52  
   33.53    /* writeable */
   33.54 -  .data : {			/* Data */
   33.55 +  .data : AT(ADDR(.data) - LOAD_OFFSET) {	/* Data */
   33.56  	*(.data)
   33.57  	CONSTRUCTORS
   33.58  	}
   33.59  
   33.60    . = ALIGN(4096);
   33.61    __nosave_begin = .;
   33.62 -  .data_nosave : { *(.data.nosave) }
   33.63 +  .data_nosave : AT(ADDR(.data_nosave) - LOAD_OFFSET) { *(.data.nosave) }
   33.64    . = ALIGN(4096);
   33.65    __nosave_end = .;
   33.66  
   33.67    . = ALIGN(4096);
   33.68 -  .data.page_aligned : { *(.data.idt) }
   33.69 +  .data.page_aligned : AT(ADDR(.data.page_aligned) - LOAD_OFFSET) {
   33.70 +	*(.data.idt)
   33.71 +  }
   33.72  
   33.73    . = ALIGN(32);
   33.74 -  .data.cacheline_aligned : { *(.data.cacheline_aligned) }
   33.75 +  .data.cacheline_aligned : AT(ADDR(.data.cacheline_aligned) - LOAD_OFFSET) {
   33.76 +	*(.data.cacheline_aligned)