diff --git a/testing/linux-xen0/APKBUILD b/testing/linux-xen0/APKBUILD deleted file mode 100644 index a08692ad460..00000000000 --- a/testing/linux-xen0/APKBUILD +++ /dev/null @@ -1,147 +0,0 @@ -# Maintainer: William Pitcock - -_flavor=xen0 -pkgname=linux-${_flavor} -pkgver=2.6.32.28 -_kernver=2.6.32 -pkgrel=1 -pkgdesc="Linux kernel with dom0 support (no grsecurity)" -url=http://grsecurity.net -depends="mkinitfs linux-firmware xen" -makedepends="perl installkernel bash xen" -options="!strip" -_config=${config:-kernelconfig.${CARCH}} -install= -source="ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-$_kernver.tar.bz2 - http://www.kernel.org/pub/linux/kernel/v2.6/longterm/v${pkgver%.*}/patch-$pkgver.bz2 - - pvops.patch - - kernelconfig.x86_64" -subpackages="$pkgname-dev linux-firmware:firmware" -arch="x86_64" -license="GPL-2" - -_abi_release=${pkgver}-${_flavor} - -prepare() { - local _patch_failed= - cd "$srcdir"/linux-$_kernver - if [ "$_kernver" != "$pkgver" ]; then - bunzip2 -c < ../patch-$pkgver.bz2 | patch -p1 -N || return 1 - fi - - # first apply patches in specified order - for i in $source; do - case $i in - *.patch) - bn=$(basename $i) - - msg "Applying $bn..." - if ! patch -s -p1 -N -i "$srcdir"/$bn; then - echo $bn >>failed - _patch_failed=1 - fi - ;; - esac - done - - if ! [ -z "$_patch_failed" ]; then - error "The following patches failed:" - cat failed - return 1 - fi - - echo "-xen0" > "$srcdir"/linux-$_kernver/localversion-xen0 - - mkdir -p "$srcdir"/build - cp "$srcdir"/$_config "$srcdir"/build/.config || return 1 - make -C "$srcdir"/linux-$_kernver O="$srcdir"/build HOSTCC="${CC:-gcc}" V=1 \ - silentoldconfig -} - -# this is so we can do: 'abuild menuconfig' to reconfigure kernel -menuconfig() { - cd "$srcdir"/build || return 1 - make menuconfig - cp .config "$startdir"/$_config -} - -build() { - cd "$srcdir"/build - make CC="${CC:-gcc}" \ - KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-Alpine" V=1 \ - || return 1 -} - -package() { - cd "$srcdir"/build - mkdir -p "$pkgdir"/boot "$pkgdir"/lib/modules - make -j1 modules_install firmware_install install \ - INSTALL_MOD_PATH="$pkgdir" \ - INSTALL_PATH="$pkgdir"/boot \ - || return 1 - - rm -f "$pkgdir"/lib/modules/${_abi_release}/build \ - "$pkgdir"/lib/modules/${_abi_release}/source - install -D include/config/kernel.release \ - "$pkgdir"/usr/share/kernel/$_flavor/kernel.release -} - -dev() { - # copy the only the parts that we really need for build 3rd party - # kernel modules and install those as /usr/src/linux-headers, - # simlar to what ubuntu does - # - # this way you dont need to install the 300-400 kernel sources to - # build a tiny kernel module - # - pkgdesc="Headers and script for third party modules for grsec kernel" - local dir="$subpkgdir"/usr/src/linux-headers-${_abi_release} - - # first we import config, run prepare to set up for building - # external modules, and create the scripts - mkdir -p "$dir" - cp "$srcdir"/$_config "$dir"/.config - make -j1 -C "$srcdir"/linux-$_kernver O="$dir" HOSTCC="${CC:-gcc}" \ - silentoldconfig prepare scripts - - # remove the stuff that poits to real sources. we want 3rd party - # modules to believe this is the soruces - rm "$dir"/Makefile "$dir"/source - - # copy the needed stuff from real sources - # - # this is taken from ubuntu kernel build script - # http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-jaunty.git;a=blob;f=debian/rules.d/3-binary-indep.mk;hb=HEAD - cd "$srcdir"/linux-$_kernver - find . -path './include/*' -prune -o -path './scripts/*' -prune \ - -o -type f \( -name 'Makefile*' -o -name 'Kconfig*' \ - -o -name 'Kbuild*' -o -name '*.sh' -o -name '*.pl' \ - -o -name '*.lds' \) | cpio -pdm "$dir" - cp -a drivers/media/dvb/dvb-core/*.h "$dir"/drivers/media/dvb/dvb-core - cp -a drivers/media/video/*.h "$dir"/drivers/media/video - cp -a drivers/media/dvb/frontends/*.h "$dir"/drivers/media/dvb/frontends - cp -a scripts include "$dir" - find $(find arch -name include -type d -print) -type f \ - | cpio -pdm "$dir" - - install -Dm644 "$srcdir"/build/Module.symvers \ - "$dir"/Module.symvers - - mkdir -p "$subpkgdir"/lib/modules/${_abi_release} - ln -sf /usr/src/linux-headers-${_abi_release} \ - "$subpkgdir"/lib/modules/${_abi_release}/build -} - -firmware() { - pkgdesc="Firmware for linux kernel" - replaces="linux-grsec linux-vserver" - mkdir -p "$subpkgdir"/lib - mv "$pkgdir"/lib/firmware "$subpkgdir"/lib/ -} - -md5sums="260551284ac224c3a43c4adac7df4879 linux-2.6.32.tar.bz2 -fc8c36b4638d8384a5d26a50413a1d11 patch-2.6.32.28.bz2 -2c678c4610b9d425fd3791e4ebaa0bdd pvops.patch -22f2c14e9ca592d668fc9aeda989f3e7 kernelconfig.x86_64" diff --git a/testing/linux-xen0/kernelconfig.x86_64 b/testing/linux-xen0/kernelconfig.x86_64 deleted file mode 100644 index 8749f263766..00000000000 --- a/testing/linux-xen0/kernelconfig.x86_64 +++ /dev/null @@ -1,4241 +0,0 @@ -# -# Automatically generated make config: don't edit -# Linux kernel version: 2.6.32.27 -# Tue Dec 28 00:27:19 2010 -# -CONFIG_64BIT=y -# CONFIG_X86_32 is not set -CONFIG_X86_64=y -CONFIG_X86=y -CONFIG_OUTPUT_FORMAT="elf64-x86-64" -CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig" -CONFIG_GENERIC_TIME=y -CONFIG_GENERIC_CMOS_UPDATE=y -CONFIG_CLOCKSOURCE_WATCHDOG=y -CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y -CONFIG_LOCKDEP_SUPPORT=y -CONFIG_STACKTRACE_SUPPORT=y -CONFIG_HAVE_LATENCYTOP_SUPPORT=y -CONFIG_MMU=y -CONFIG_ZONE_DMA=y -CONFIG_GENERIC_ISA_DMA=y -CONFIG_GENERIC_IOMAP=y -CONFIG_GENERIC_BUG=y -CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y -CONFIG_GENERIC_HWEIGHT=y -CONFIG_GENERIC_GPIO=y -CONFIG_ARCH_MAY_HAVE_PC_FDC=y -# CONFIG_RWSEM_GENERIC_SPINLOCK is not set -CONFIG_RWSEM_XCHGADD_ALGORITHM=y -CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y -CONFIG_GENERIC_CALIBRATE_DELAY=y -CONFIG_GENERIC_TIME_VSYSCALL=y -CONFIG_ARCH_HAS_CPU_RELAX=y -CONFIG_ARCH_HAS_DEFAULT_IDLE=y -CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y -CONFIG_HAVE_SETUP_PER_CPU_AREA=y -CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y -CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y -CONFIG_HAVE_CPUMASK_OF_CPU_MAP=y -CONFIG_ARCH_HIBERNATION_POSSIBLE=y -CONFIG_ARCH_SUSPEND_POSSIBLE=y -CONFIG_ZONE_DMA32=y -CONFIG_ARCH_POPULATES_NODE_MAP=y -CONFIG_AUDIT_ARCH=y -CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y -CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y -CONFIG_GENERIC_HARDIRQS=y -CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y -CONFIG_GENERIC_PENDING_IRQ=y -CONFIG_USE_GENERIC_SMP_HELPERS=y -CONFIG_X86_64_SMP=y -CONFIG_X86_HT=y -CONFIG_X86_TRAMPOLINE=y -# CONFIG_KTIME_SCALAR is not set -CONFIG_ARCH_CPU_PROBE_RELEASE=y -CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" -CONFIG_CONSTRUCTORS=y - -# -# General setup -# -CONFIG_EXPERIMENTAL=y -CONFIG_LOCK_KERNEL=y -CONFIG_INIT_ENV_ARG_LIMIT=32 -CONFIG_LOCALVERSION="" -# CONFIG_LOCALVERSION_AUTO is not set -CONFIG_HAVE_KERNEL_GZIP=y -CONFIG_HAVE_KERNEL_BZIP2=y -CONFIG_HAVE_KERNEL_LZMA=y -CONFIG_KERNEL_GZIP=y -# CONFIG_KERNEL_BZIP2 is not set -# CONFIG_KERNEL_LZMA is not set -CONFIG_SWAP=y -CONFIG_SYSVIPC=y -CONFIG_SYSVIPC_SYSCTL=y -# CONFIG_POSIX_MQUEUE is not set -CONFIG_BSD_PROCESS_ACCT=y -CONFIG_BSD_PROCESS_ACCT_V3=y -# CONFIG_TASKSTATS is not set -# CONFIG_AUDIT is not set - -# -# RCU Subsystem -# -CONFIG_TREE_RCU=y -# CONFIG_TREE_PREEMPT_RCU is not set -# CONFIG_RCU_TRACE is not set -CONFIG_RCU_FANOUT=32 -# CONFIG_RCU_FANOUT_EXACT is not set -# CONFIG_TREE_RCU_TRACE is not set -CONFIG_IKCONFIG=m -CONFIG_IKCONFIG_PROC=y -CONFIG_LOG_BUF_SHIFT=14 -CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y -# CONFIG_GROUP_SCHED is not set -# CONFIG_CGROUPS is not set -# CONFIG_SYSFS_DEPRECATED_V2 is not set -# CONFIG_RELAY is not set -# CONFIG_NAMESPACES is not set -CONFIG_BLK_DEV_INITRD=y -CONFIG_INITRAMFS_SOURCE="" -CONFIG_RD_GZIP=y -CONFIG_RD_BZIP2=y -CONFIG_RD_LZMA=y -CONFIG_CC_OPTIMIZE_FOR_SIZE=y -CONFIG_SYSCTL=y -CONFIG_ANON_INODES=y -CONFIG_EMBEDDED=y -CONFIG_UID16=y -CONFIG_SYSCTL_SYSCALL=y -# CONFIG_KALLSYMS is not set -CONFIG_HOTPLUG=y -CONFIG_PRINTK=y -CONFIG_BUG=y -CONFIG_ELF_CORE=y -CONFIG_PCSPKR_PLATFORM=y -CONFIG_BASE_FULL=y -CONFIG_FUTEX=y -CONFIG_EPOLL=y -CONFIG_SIGNALFD=y -CONFIG_TIMERFD=y -CONFIG_EVENTFD=y -CONFIG_SHMEM=y -CONFIG_AIO=y -CONFIG_HAVE_PERF_EVENTS=y - -# -# Kernel Performance Events And Counters -# -CONFIG_PERF_EVENTS=y -CONFIG_PERF_COUNTERS=y -CONFIG_VM_EVENT_COUNTERS=y -CONFIG_PCI_QUIRKS=y -# CONFIG_SLUB_DEBUG is not set -# CONFIG_COMPAT_BRK is not set -# CONFIG_SLAB is not set -CONFIG_SLUB=y -# CONFIG_SLOB is not set -CONFIG_PROFILING=y -CONFIG_OPROFILE=m -# CONFIG_OPROFILE_IBS is not set -# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set -CONFIG_HAVE_OPROFILE=y -CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y -CONFIG_HAVE_IOREMAP_PROT=y -CONFIG_HAVE_KPROBES=y -CONFIG_HAVE_KRETPROBES=y -CONFIG_HAVE_ARCH_TRACEHOOK=y -CONFIG_HAVE_DMA_ATTRS=y -CONFIG_HAVE_DMA_API_DEBUG=y - -# -# GCOV-based kernel profiling -# -# CONFIG_GCOV_KERNEL is not set -CONFIG_SLOW_WORK=y -# CONFIG_SLOW_WORK_DEBUG is not set -# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set -CONFIG_RT_MUTEXES=y -CONFIG_BASE_SMALL=0 -CONFIG_MODULES=y -# CONFIG_MODULE_FORCE_LOAD is not set -CONFIG_MODULE_UNLOAD=y -# CONFIG_MODULE_FORCE_UNLOAD is not set -CONFIG_MODVERSIONS=y -# CONFIG_MODULE_SRCVERSION_ALL is not set -CONFIG_STOP_MACHINE=y -CONFIG_BLOCK=y -CONFIG_BLK_DEV_BSG=y -# CONFIG_BLK_DEV_INTEGRITY is not set -CONFIG_BLOCK_COMPAT=y - -# -# IO Schedulers -# -CONFIG_IOSCHED_NOOP=y -CONFIG_IOSCHED_AS=y -CONFIG_IOSCHED_DEADLINE=m -CONFIG_IOSCHED_CFQ=y -# CONFIG_DEFAULT_AS is not set -# CONFIG_DEFAULT_DEADLINE is not set -CONFIG_DEFAULT_CFQ=y -# CONFIG_DEFAULT_NOOP is not set -CONFIG_DEFAULT_IOSCHED="cfq" -CONFIG_PREEMPT_NOTIFIERS=y -CONFIG_FREEZER=y - -# -# Processor type and features -# -CONFIG_TICK_ONESHOT=y -CONFIG_NO_HZ=y -CONFIG_HIGH_RES_TIMERS=y -CONFIG_GENERIC_CLOCKEVENTS_BUILD=y -CONFIG_SMP=y -# CONFIG_SPARSE_IRQ is not set -CONFIG_X86_MPPARSE=y -CONFIG_X86_EXTENDED_PLATFORM=y -# CONFIG_X86_VSMP is not set -CONFIG_SCHED_OMIT_FRAME_POINTER=y -CONFIG_PARAVIRT_GUEST=y -CONFIG_XEN=y -CONFIG_XEN_PVHVM=y -CONFIG_XEN_MAX_DOMAIN_MEMORY=128 -CONFIG_XEN_SAVE_RESTORE=y -CONFIG_XEN_DEBUG_FS=y -CONFIG_SWIOTLB_XEN=y -CONFIG_MICROCODE_XEN=y -CONFIG_XEN_DOM0=y -CONFIG_XEN_PRIVILEGED_GUEST=y -CONFIG_XEN_DOM0_PCI=y -CONFIG_XEN_PCI_PASSTHROUGH=y -CONFIG_KVM_CLOCK=y -CONFIG_KVM_GUEST=y -CONFIG_PARAVIRT=y -# CONFIG_PARAVIRT_SPINLOCKS is not set -CONFIG_PARAVIRT_CLOCK=y -# CONFIG_MEMTEST is not set -# CONFIG_M386 is not set -# CONFIG_M486 is not set -# CONFIG_M586 is not set -# CONFIG_M586TSC is not set -# CONFIG_M586MMX is not set -# CONFIG_M686 is not set -# CONFIG_MPENTIUMII is not set -# CONFIG_MPENTIUMIII is not set -# CONFIG_MPENTIUMM is not set -# CONFIG_MPENTIUM4 is not set -# CONFIG_MK6 is not set -# CONFIG_MK7 is not set -# CONFIG_MK8 is not set -# CONFIG_MCRUSOE is not set -# CONFIG_MEFFICEON is not set -# CONFIG_MWINCHIPC6 is not set -# CONFIG_MWINCHIP3D is not set -# CONFIG_MGEODEGX1 is not set -# CONFIG_MGEODE_LX is not set -# CONFIG_MCYRIXIII is not set -# CONFIG_MVIAC3_2 is not set -# CONFIG_MVIAC7 is not set -# CONFIG_MPSC is not set -# CONFIG_MCORE2 is not set -# CONFIG_MATOM is not set -CONFIG_GENERIC_CPU=y -CONFIG_X86_CPU=y -CONFIG_X86_L1_CACHE_BYTES=64 -CONFIG_X86_INTERNODE_CACHE_BYTES=64 -CONFIG_X86_CMPXCHG=y -CONFIG_X86_L1_CACHE_SHIFT=6 -CONFIG_X86_XADD=y -CONFIG_X86_WP_WORKS_OK=y -CONFIG_X86_TSC=y -CONFIG_X86_CMPXCHG64=y -CONFIG_X86_CMOV=y -CONFIG_X86_MINIMUM_CPU_FAMILY=64 -CONFIG_X86_DEBUGCTLMSR=y -# CONFIG_PROCESSOR_SELECT is not set -CONFIG_CPU_SUP_INTEL=y -CONFIG_CPU_SUP_AMD=y -CONFIG_CPU_SUP_CENTAUR=y -# CONFIG_X86_DS is not set -CONFIG_HPET_TIMER=y -CONFIG_HPET_EMULATE_RTC=y -CONFIG_DMI=y -CONFIG_GART_IOMMU=y -CONFIG_CALGARY_IOMMU=y -CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y -CONFIG_AMD_IOMMU=y -# CONFIG_AMD_IOMMU_STATS is not set -CONFIG_SWIOTLB=y -CONFIG_IOMMU_HELPER=y -CONFIG_IOMMU_API=y -CONFIG_NR_CPUS=8 -CONFIG_SCHED_SMT=y -CONFIG_SCHED_MC=y -CONFIG_PREEMPT_NONE=y -# CONFIG_PREEMPT_VOLUNTARY is not set -# CONFIG_PREEMPT is not set -CONFIG_X86_LOCAL_APIC=y -CONFIG_X86_IO_APIC=y -# CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS is not set -# CONFIG_X86_MCE is not set -CONFIG_I8K=m -CONFIG_MICROCODE=m -CONFIG_MICROCODE_INTEL=y -CONFIG_MICROCODE_AMD=y -CONFIG_MICROCODE_OLD_INTERFACE=y -CONFIG_X86_MSR=m -CONFIG_X86_CPUID=m -CONFIG_ARCH_PHYS_ADDR_T_64BIT=y -CONFIG_DIRECT_GBPAGES=y -# CONFIG_NUMA is not set -CONFIG_ARCH_SPARSEMEM_DEFAULT=y -CONFIG_ARCH_SPARSEMEM_ENABLE=y -CONFIG_ARCH_SELECT_MEMORY_MODEL=y -CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 -CONFIG_SELECT_MEMORY_MODEL=y -# CONFIG_FLATMEM_MANUAL is not set -# CONFIG_DISCONTIGMEM_MANUAL is not set -CONFIG_SPARSEMEM_MANUAL=y -CONFIG_SPARSEMEM=y -CONFIG_HAVE_MEMORY_PRESENT=y -CONFIG_SPARSEMEM_EXTREME=y -CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y -CONFIG_SPARSEMEM_VMEMMAP=y -# CONFIG_MEMORY_HOTPLUG is not set -CONFIG_PAGEFLAGS_EXTENDED=y -CONFIG_SPLIT_PTLOCK_CPUS=4 -CONFIG_PHYS_ADDR_T_64BIT=y -CONFIG_ZONE_DMA_FLAG=1 -CONFIG_BOUNCE=y -CONFIG_VIRT_TO_BUS=y -CONFIG_HAVE_MLOCK=y -CONFIG_HAVE_MLOCKED_PAGE_BIT=y -CONFIG_MMU_NOTIFIER=y -CONFIG_KSM=y -CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 -# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set -CONFIG_X86_RESERVE_LOW_64K=y -CONFIG_MTRR=y -CONFIG_MTRR_SANITIZER=y -CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0 -CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1 -CONFIG_X86_PAT=y -CONFIG_ARCH_USES_PG_UNCACHED=y -# CONFIG_EFI is not set -# CONFIG_SECCOMP is not set -# CONFIG_CC_STACKPROTECTOR is not set -# CONFIG_HZ_100 is not set -# CONFIG_HZ_250 is not set -CONFIG_HZ_300=y -# CONFIG_HZ_1000 is not set -CONFIG_HZ=300 -CONFIG_SCHED_HRTICK=y -# CONFIG_KEXEC is not set -# CONFIG_CRASH_DUMP is not set -CONFIG_PHYSICAL_START=0x1000000 -# CONFIG_RELOCATABLE is not set -CONFIG_PHYSICAL_ALIGN=0x1000000 -CONFIG_HOTPLUG_CPU=y -CONFIG_COMPAT_VDSO=y -# CONFIG_CMDLINE_BOOL is not set -CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y - -# -# Power management and ACPI options -# -CONFIG_PM=y -# CONFIG_PM_DEBUG is not set -CONFIG_PM_SLEEP_SMP=y -CONFIG_PM_SLEEP=y -CONFIG_SUSPEND=y -CONFIG_SUSPEND_FREEZER=y -# CONFIG_HIBERNATION is not set -# CONFIG_PM_RUNTIME is not set -CONFIG_ACPI=y -CONFIG_ACPI_SLEEP=y -CONFIG_ACPI_PROCFS=y -CONFIG_ACPI_PROCFS_POWER=y -# CONFIG_ACPI_POWER_METER is not set -CONFIG_ACPI_SYSFS_POWER=y -CONFIG_ACPI_PROC_EVENT=y -CONFIG_ACPI_AC=m -CONFIG_ACPI_BATTERY=m -CONFIG_ACPI_BUTTON=m -CONFIG_ACPI_VIDEO=m -CONFIG_ACPI_FAN=m -CONFIG_ACPI_DOCK=y -CONFIG_ACPI_PROCESSOR=m -CONFIG_ACPI_HOTPLUG_CPU=y -# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set -CONFIG_ACPI_THERMAL=m -# CONFIG_ACPI_CUSTOM_DSDT is not set -CONFIG_ACPI_BLACKLIST_YEAR=0 -# CONFIG_ACPI_DEBUG is not set -CONFIG_ACPI_PCI_SLOT=m -CONFIG_X86_PM_TIMER=y -CONFIG_ACPI_CONTAINER=m -CONFIG_ACPI_SBS=m -# CONFIG_SFI is not set - -# -# CPU Frequency scaling -# -CONFIG_CPU_FREQ=y -CONFIG_CPU_FREQ_TABLE=m -# CONFIG_CPU_FREQ_DEBUG is not set -CONFIG_CPU_FREQ_STAT=m -# CONFIG_CPU_FREQ_STAT_DETAILS is not set -CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y -# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set -# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set -# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set -# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set -CONFIG_CPU_FREQ_GOV_PERFORMANCE=y -CONFIG_CPU_FREQ_GOV_POWERSAVE=m -CONFIG_CPU_FREQ_GOV_USERSPACE=m -CONFIG_CPU_FREQ_GOV_ONDEMAND=m -CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m - -# -# CPUFreq processor drivers -# -CONFIG_X86_ACPI_CPUFREQ=m -CONFIG_X86_POWERNOW_K8=m -CONFIG_X86_SPEEDSTEP_CENTRINO=m -CONFIG_X86_P4_CLOCKMOD=m - -# -# shared options -# -CONFIG_X86_SPEEDSTEP_LIB=m -CONFIG_CPU_IDLE=y -CONFIG_CPU_IDLE_GOV_LADDER=y -CONFIG_CPU_IDLE_GOV_MENU=y - -# -# Memory power savings -# -CONFIG_I7300_IDLE_IOAT_CHANNEL=y -CONFIG_I7300_IDLE=m - -# -# Bus options (PCI etc.) -# -CONFIG_PCI=y -CONFIG_PCI_DIRECT=y -CONFIG_PCI_MMCONFIG=y -CONFIG_PCI_XEN=y -CONFIG_PCI_DOMAINS=y -# CONFIG_DMAR is not set -# CONFIG_INTR_REMAP is not set -CONFIG_PCIEPORTBUS=y -CONFIG_HOTPLUG_PCI_PCIE=m -# CONFIG_PCIEAER is not set -CONFIG_PCIEASPM=y -# CONFIG_PCIEASPM_DEBUG is not set -CONFIG_ARCH_SUPPORTS_MSI=y -CONFIG_PCI_MSI=y -CONFIG_PCI_LEGACY=y -CONFIG_PCI_STUB=m -CONFIG_XEN_PCIDEV_FRONTEND=y -CONFIG_HT_IRQ=y -# CONFIG_PCI_IOV is not set -CONFIG_ISA_DMA_API=y -CONFIG_K8_NB=y -CONFIG_PCCARD=m -# CONFIG_PCMCIA_DEBUG is not set -CONFIG_PCMCIA=m -CONFIG_PCMCIA_LOAD_CIS=y -CONFIG_PCMCIA_IOCTL=y -CONFIG_CARDBUS=y - -# -# PC-card bridges -# -CONFIG_YENTA=m -CONFIG_YENTA_O2=y -CONFIG_YENTA_RICOH=y -CONFIG_YENTA_TI=y -CONFIG_YENTA_ENE_TUNE=y -CONFIG_YENTA_TOSHIBA=y -CONFIG_PD6729=m -CONFIG_I82092=m -CONFIG_PCCARD_NONSTATIC=m -CONFIG_HOTPLUG_PCI=m -CONFIG_HOTPLUG_PCI_FAKE=m -CONFIG_HOTPLUG_PCI_ACPI=m -CONFIG_HOTPLUG_PCI_ACPI_IBM=m -CONFIG_HOTPLUG_PCI_CPCI=y -CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m -CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m -CONFIG_HOTPLUG_PCI_SHPC=m - -# -# Executable file formats / Emulations -# -CONFIG_BINFMT_ELF=y -CONFIG_COMPAT_BINFMT_ELF=y -# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set -# CONFIG_HAVE_AOUT is not set -CONFIG_BINFMT_MISC=m -CONFIG_IA32_EMULATION=y -# CONFIG_IA32_AOUT is not set -CONFIG_COMPAT=y -CONFIG_COMPAT_FOR_U64_ALIGNMENT=y -CONFIG_SYSVIPC_COMPAT=y -CONFIG_NET=y -CONFIG_COMPAT_NETLINK_MESSAGES=y - -# -# Networking options -# -CONFIG_PACKET=m -# CONFIG_PACKET_MMAP is not set -CONFIG_UNIX=y -CONFIG_XFRM=y -CONFIG_XFRM_USER=m -CONFIG_XFRM_SUB_POLICY=y -CONFIG_XFRM_MIGRATE=y -# CONFIG_XFRM_STATISTICS is not set -CONFIG_XFRM_IPCOMP=m -CONFIG_NET_KEY=m -CONFIG_NET_KEY_MIGRATE=y -CONFIG_INET=y -CONFIG_IP_MULTICAST=y -CONFIG_IP_ADVANCED_ROUTER=y -CONFIG_ASK_IP_FIB_HASH=y -# CONFIG_IP_FIB_TRIE is not set -CONFIG_IP_FIB_HASH=y -CONFIG_IP_MULTIPLE_TABLES=y -CONFIG_IP_ROUTE_MULTIPATH=y -CONFIG_IP_ROUTE_VERBOSE=y -CONFIG_IP_PNP=y -CONFIG_IP_PNP_DHCP=y -CONFIG_IP_PNP_BOOTP=y -CONFIG_IP_PNP_RARP=y -CONFIG_NET_IPIP=m -CONFIG_NET_IPGRE=m -CONFIG_NET_IPGRE_BROADCAST=y -CONFIG_IP_MROUTE=y -# CONFIG_IP_PIMSM_V1 is not set -CONFIG_IP_PIMSM_V2=y -CONFIG_ARPD=y -CONFIG_SYN_COOKIES=y -CONFIG_INET_AH=m -CONFIG_INET_ESP=m -CONFIG_INET_IPCOMP=m -CONFIG_INET_XFRM_TUNNEL=m -CONFIG_INET_TUNNEL=m -CONFIG_INET_XFRM_MODE_TRANSPORT=m -CONFIG_INET_XFRM_MODE_TUNNEL=m -CONFIG_INET_XFRM_MODE_BEET=m -CONFIG_INET_LRO=y -CONFIG_INET_DIAG=m -CONFIG_INET_TCP_DIAG=m -CONFIG_TCP_CONG_ADVANCED=y -CONFIG_TCP_CONG_BIC=m -CONFIG_TCP_CONG_CUBIC=y -CONFIG_TCP_CONG_WESTWOOD=m -CONFIG_TCP_CONG_HTCP=m -CONFIG_TCP_CONG_HSTCP=m -CONFIG_TCP_CONG_HYBLA=m -CONFIG_TCP_CONG_VEGAS=m -CONFIG_TCP_CONG_SCALABLE=m -CONFIG_TCP_CONG_LP=m -CONFIG_TCP_CONG_VENO=m -CONFIG_TCP_CONG_YEAH=m -CONFIG_TCP_CONG_ILLINOIS=m -# CONFIG_DEFAULT_BIC is not set -CONFIG_DEFAULT_CUBIC=y -# CONFIG_DEFAULT_HTCP is not set -# CONFIG_DEFAULT_VEGAS is not set -# CONFIG_DEFAULT_WESTWOOD is not set -# CONFIG_DEFAULT_RENO is not set -CONFIG_DEFAULT_TCP_CONG="cubic" -CONFIG_TCP_MD5SIG=y -CONFIG_IPV6=m -CONFIG_IPV6_PRIVACY=y -CONFIG_IPV6_ROUTER_PREF=y -CONFIG_IPV6_ROUTE_INFO=y -# CONFIG_IPV6_OPTIMISTIC_DAD is not set -CONFIG_INET6_AH=m -CONFIG_INET6_ESP=m -CONFIG_INET6_IPCOMP=m -CONFIG_IPV6_MIP6=m -CONFIG_INET6_XFRM_TUNNEL=m -CONFIG_INET6_TUNNEL=m -CONFIG_INET6_XFRM_MODE_TRANSPORT=m -CONFIG_INET6_XFRM_MODE_TUNNEL=m -CONFIG_INET6_XFRM_MODE_BEET=m -CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m -CONFIG_IPV6_SIT=m -CONFIG_IPV6_NDISC_NODETYPE=y -CONFIG_IPV6_TUNNEL=m -CONFIG_IPV6_MULTIPLE_TABLES=y -CONFIG_IPV6_SUBTREES=y -CONFIG_IPV6_MROUTE=y -CONFIG_IPV6_PIMSM_V2=y -CONFIG_NETLABEL=y -CONFIG_NETWORK_SECMARK=y -CONFIG_NETFILTER=y -# CONFIG_NETFILTER_DEBUG is not set -CONFIG_NETFILTER_ADVANCED=y -CONFIG_BRIDGE_NETFILTER=y - -# -# Core Netfilter Configuration -# -CONFIG_NETFILTER_NETLINK=m -CONFIG_NETFILTER_NETLINK_QUEUE=m -CONFIG_NETFILTER_NETLINK_LOG=m -CONFIG_NF_CONNTRACK=m -CONFIG_NF_CT_ACCT=y -CONFIG_NF_CONNTRACK_MARK=y -CONFIG_NF_CONNTRACK_SECMARK=y -CONFIG_NF_CONNTRACK_EVENTS=y -CONFIG_NF_CT_PROTO_DCCP=m -CONFIG_NF_CT_PROTO_GRE=m -CONFIG_NF_CT_PROTO_SCTP=m -CONFIG_NF_CT_PROTO_UDPLITE=m -CONFIG_NF_CONNTRACK_AMANDA=m -CONFIG_NF_CONNTRACK_FTP=m -CONFIG_NF_CONNTRACK_H323=m -CONFIG_NF_CONNTRACK_IRC=m -CONFIG_NF_CONNTRACK_NETBIOS_NS=m -CONFIG_NF_CONNTRACK_PPTP=m -CONFIG_NF_CONNTRACK_SANE=m -CONFIG_NF_CONNTRACK_SIP=m -CONFIG_NF_CONNTRACK_TFTP=m -CONFIG_NF_CT_NETLINK=m -CONFIG_NETFILTER_TPROXY=m -CONFIG_NETFILTER_XTABLES=m -CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m -CONFIG_NETFILTER_XT_TARGET_CONNMARK=m -CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m -CONFIG_NETFILTER_XT_TARGET_DSCP=m -CONFIG_NETFILTER_XT_TARGET_HL=m -CONFIG_NETFILTER_XT_TARGET_LED=m -CONFIG_NETFILTER_XT_TARGET_MARK=m -CONFIG_NETFILTER_XT_TARGET_NFLOG=m -CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m -CONFIG_NETFILTER_XT_TARGET_NOTRACK=m -CONFIG_NETFILTER_XT_TARGET_RATEEST=m -CONFIG_NETFILTER_XT_TARGET_TPROXY=m -CONFIG_NETFILTER_XT_TARGET_TRACE=m -CONFIG_NETFILTER_XT_TARGET_SECMARK=m -CONFIG_NETFILTER_XT_TARGET_TCPMSS=m -CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m -CONFIG_NETFILTER_XT_MATCH_CLUSTER=m -CONFIG_NETFILTER_XT_MATCH_COMMENT=m -CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m -CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m -CONFIG_NETFILTER_XT_MATCH_CONNMARK=m -CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m -CONFIG_NETFILTER_XT_MATCH_DCCP=m -CONFIG_NETFILTER_XT_MATCH_DSCP=m -CONFIG_NETFILTER_XT_MATCH_ESP=m -CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m -CONFIG_NETFILTER_XT_MATCH_HELPER=m -CONFIG_NETFILTER_XT_MATCH_HL=m -CONFIG_NETFILTER_XT_MATCH_IPRANGE=m -CONFIG_NETFILTER_XT_MATCH_LENGTH=m -CONFIG_NETFILTER_XT_MATCH_LIMIT=m -CONFIG_NETFILTER_XT_MATCH_MAC=m -CONFIG_NETFILTER_XT_MATCH_MARK=m -CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m -CONFIG_NETFILTER_XT_MATCH_OWNER=m -CONFIG_NETFILTER_XT_MATCH_POLICY=m -CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m -CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m -CONFIG_NETFILTER_XT_MATCH_QUOTA=m -CONFIG_NETFILTER_XT_MATCH_RATEEST=m -CONFIG_NETFILTER_XT_MATCH_REALM=m -CONFIG_NETFILTER_XT_MATCH_RECENT=m -# CONFIG_NETFILTER_XT_MATCH_RECENT_PROC_COMPAT is not set -CONFIG_NETFILTER_XT_MATCH_SCTP=m -CONFIG_NETFILTER_XT_MATCH_SOCKET=m -CONFIG_NETFILTER_XT_MATCH_STATE=m -CONFIG_NETFILTER_XT_MATCH_STATISTIC=m -CONFIG_NETFILTER_XT_MATCH_STRING=m -CONFIG_NETFILTER_XT_MATCH_TCPMSS=m -CONFIG_NETFILTER_XT_MATCH_TIME=m -CONFIG_NETFILTER_XT_MATCH_U32=m -CONFIG_NETFILTER_XT_MATCH_OSF=m -CONFIG_IP_VS=m -CONFIG_IP_VS_IPV6=y -# CONFIG_IP_VS_DEBUG is not set -CONFIG_IP_VS_TAB_BITS=12 - -# -# IPVS transport protocol load balancing support -# -CONFIG_IP_VS_PROTO_TCP=y -CONFIG_IP_VS_PROTO_UDP=y -CONFIG_IP_VS_PROTO_AH_ESP=y -CONFIG_IP_VS_PROTO_ESP=y -CONFIG_IP_VS_PROTO_AH=y - -# -# IPVS scheduler -# -CONFIG_IP_VS_RR=m -CONFIG_IP_VS_WRR=m -CONFIG_IP_VS_LC=m -CONFIG_IP_VS_WLC=m -CONFIG_IP_VS_LBLC=m -CONFIG_IP_VS_LBLCR=m -CONFIG_IP_VS_DH=m -CONFIG_IP_VS_SH=m -CONFIG_IP_VS_SED=m -CONFIG_IP_VS_NQ=m - -# -# IPVS application helper -# -CONFIG_IP_VS_FTP=m - -# -# IP: Netfilter Configuration -# -CONFIG_NF_DEFRAG_IPV4=m -CONFIG_NF_CONNTRACK_IPV4=m -CONFIG_NF_CONNTRACK_PROC_COMPAT=y -CONFIG_IP_NF_QUEUE=m -CONFIG_IP_NF_IPTABLES=m -CONFIG_IP_NF_MATCH_ADDRTYPE=m -CONFIG_IP_NF_MATCH_AH=m -CONFIG_IP_NF_MATCH_ECN=m -CONFIG_IP_NF_MATCH_TTL=m -CONFIG_IP_NF_FILTER=m -CONFIG_IP_NF_TARGET_REJECT=m -CONFIG_IP_NF_TARGET_LOG=m -CONFIG_IP_NF_TARGET_ULOG=m -CONFIG_NF_NAT=m -CONFIG_NF_NAT_NEEDED=y -CONFIG_IP_NF_TARGET_MASQUERADE=m -CONFIG_IP_NF_TARGET_NETMAP=m -CONFIG_IP_NF_TARGET_REDIRECT=m -CONFIG_NF_NAT_SNMP_BASIC=m -CONFIG_NF_NAT_PROTO_DCCP=m -CONFIG_NF_NAT_PROTO_GRE=m -CONFIG_NF_NAT_PROTO_UDPLITE=m -CONFIG_NF_NAT_PROTO_SCTP=m -CONFIG_NF_NAT_FTP=m -CONFIG_NF_NAT_IRC=m -CONFIG_NF_NAT_TFTP=m -CONFIG_NF_NAT_AMANDA=m -CONFIG_NF_NAT_PPTP=m -CONFIG_NF_NAT_H323=m -CONFIG_NF_NAT_SIP=m -CONFIG_IP_NF_MANGLE=m -CONFIG_IP_NF_TARGET_CLUSTERIP=m -CONFIG_IP_NF_TARGET_ECN=m -CONFIG_IP_NF_TARGET_TTL=m -CONFIG_IP_NF_RAW=m -CONFIG_IP_NF_SECURITY=m -CONFIG_IP_NF_ARPTABLES=m -CONFIG_IP_NF_ARPFILTER=m -CONFIG_IP_NF_ARP_MANGLE=m - -# -# IPv6: Netfilter Configuration -# -CONFIG_NF_CONNTRACK_IPV6=m -CONFIG_IP6_NF_QUEUE=m -CONFIG_IP6_NF_IPTABLES=m -CONFIG_IP6_NF_MATCH_AH=m -CONFIG_IP6_NF_MATCH_EUI64=m -CONFIG_IP6_NF_MATCH_FRAG=m -CONFIG_IP6_NF_MATCH_OPTS=m -CONFIG_IP6_NF_MATCH_HL=m -CONFIG_IP6_NF_MATCH_IPV6HEADER=m -CONFIG_IP6_NF_MATCH_MH=m -CONFIG_IP6_NF_MATCH_RT=m -CONFIG_IP6_NF_TARGET_HL=m -CONFIG_IP6_NF_TARGET_LOG=m -CONFIG_IP6_NF_FILTER=m -CONFIG_IP6_NF_TARGET_REJECT=m -CONFIG_IP6_NF_MANGLE=m -CONFIG_IP6_NF_RAW=m -CONFIG_IP6_NF_SECURITY=m - -# -# DECnet: Netfilter Configuration -# -CONFIG_DECNET_NF_GRABULATOR=m -CONFIG_BRIDGE_NF_EBTABLES=m -CONFIG_BRIDGE_EBT_BROUTE=m -CONFIG_BRIDGE_EBT_T_FILTER=m -CONFIG_BRIDGE_EBT_T_NAT=m -CONFIG_BRIDGE_EBT_802_3=m -CONFIG_BRIDGE_EBT_AMONG=m -CONFIG_BRIDGE_EBT_ARP=m -CONFIG_BRIDGE_EBT_IP=m -CONFIG_BRIDGE_EBT_IP6=m -CONFIG_BRIDGE_EBT_LIMIT=m -CONFIG_BRIDGE_EBT_MARK=m -CONFIG_BRIDGE_EBT_PKTTYPE=m -CONFIG_BRIDGE_EBT_STP=m -CONFIG_BRIDGE_EBT_VLAN=m -CONFIG_BRIDGE_EBT_ARPREPLY=m -CONFIG_BRIDGE_EBT_DNAT=m -CONFIG_BRIDGE_EBT_MARK_T=m -CONFIG_BRIDGE_EBT_REDIRECT=m -CONFIG_BRIDGE_EBT_SNAT=m -CONFIG_BRIDGE_EBT_LOG=m -CONFIG_BRIDGE_EBT_ULOG=m -CONFIG_BRIDGE_EBT_NFLOG=m -CONFIG_IP_DCCP=m -CONFIG_INET_DCCP_DIAG=m - -# -# DCCP CCIDs Configuration (EXPERIMENTAL) -# -# CONFIG_IP_DCCP_CCID2_DEBUG is not set -CONFIG_IP_DCCP_CCID3=y -# CONFIG_IP_DCCP_CCID3_DEBUG is not set -CONFIG_IP_DCCP_CCID3_RTO=100 -CONFIG_IP_DCCP_TFRC_LIB=y -CONFIG_IP_SCTP=m -# CONFIG_SCTP_DBG_MSG is not set -# CONFIG_SCTP_DBG_OBJCNT is not set -# CONFIG_SCTP_HMAC_NONE is not set -CONFIG_SCTP_HMAC_SHA1=y -# CONFIG_SCTP_HMAC_MD5 is not set -CONFIG_RDS=m -# CONFIG_RDS_RDMA is not set -# CONFIG_RDS_TCP is not set -# CONFIG_RDS_DEBUG is not set -CONFIG_TIPC=m -# CONFIG_TIPC_ADVANCED is not set -# CONFIG_TIPC_DEBUG is not set -CONFIG_ATM=m -CONFIG_ATM_CLIP=m -# CONFIG_ATM_CLIP_NO_ICMP is not set -CONFIG_ATM_LANE=m -CONFIG_ATM_MPOA=m -CONFIG_ATM_BR2684=m -# CONFIG_ATM_BR2684_IPFILTER is not set -CONFIG_STP=m -CONFIG_BRIDGE=m -# CONFIG_NET_DSA is not set -CONFIG_VLAN_8021Q=m -# CONFIG_VLAN_8021Q_GVRP is not set -CONFIG_DECNET=m -CONFIG_DECNET_ROUTER=y -CONFIG_LLC=m -CONFIG_LLC2=m -CONFIG_IPX=m -# CONFIG_IPX_INTERN is not set -CONFIG_ATALK=m -CONFIG_DEV_APPLETALK=m -CONFIG_IPDDP=m -CONFIG_IPDDP_ENCAP=y -CONFIG_IPDDP_DECAP=y -CONFIG_X25=m -CONFIG_LAPB=m -CONFIG_ECONET=m -CONFIG_ECONET_AUNUDP=y -CONFIG_ECONET_NATIVE=y -CONFIG_WAN_ROUTER=m -CONFIG_PHONET=m -CONFIG_IEEE802154=m -CONFIG_NET_SCHED=y - -# -# Queueing/Scheduling -# -CONFIG_NET_SCH_CBQ=m -CONFIG_NET_SCH_HTB=m -CONFIG_NET_SCH_HFSC=m -CONFIG_NET_SCH_ATM=m -CONFIG_NET_SCH_PRIO=m -CONFIG_NET_SCH_MULTIQ=m -CONFIG_NET_SCH_RED=m -CONFIG_NET_SCH_SFQ=m -CONFIG_NET_SCH_TEQL=m -CONFIG_NET_SCH_TBF=m -CONFIG_NET_SCH_GRED=m -CONFIG_NET_SCH_DSMARK=m -CONFIG_NET_SCH_NETEM=m -CONFIG_NET_SCH_DRR=m -CONFIG_NET_SCH_INGRESS=m -# CONFIG_NET_SCH_PLUG is not set - -# -# Classification -# -CONFIG_NET_CLS=y -CONFIG_NET_CLS_BASIC=m -CONFIG_NET_CLS_TCINDEX=m -CONFIG_NET_CLS_ROUTE4=m -CONFIG_NET_CLS_ROUTE=y -CONFIG_NET_CLS_FW=m -CONFIG_NET_CLS_U32=m -CONFIG_CLS_U32_PERF=y -CONFIG_CLS_U32_MARK=y -CONFIG_NET_CLS_RSVP=m -CONFIG_NET_CLS_RSVP6=m -CONFIG_NET_CLS_FLOW=m -CONFIG_NET_EMATCH=y -CONFIG_NET_EMATCH_STACK=32 -CONFIG_NET_EMATCH_CMP=m -CONFIG_NET_EMATCH_NBYTE=m -CONFIG_NET_EMATCH_U32=m -CONFIG_NET_EMATCH_META=m -CONFIG_NET_EMATCH_TEXT=m -CONFIG_NET_CLS_ACT=y -CONFIG_NET_ACT_POLICE=m -CONFIG_NET_ACT_GACT=m -CONFIG_GACT_PROB=y -CONFIG_NET_ACT_MIRRED=m -CONFIG_NET_ACT_IPT=m -CONFIG_NET_ACT_NAT=m -CONFIG_NET_ACT_PEDIT=m -CONFIG_NET_ACT_SIMP=m -CONFIG_NET_ACT_SKBEDIT=m -# CONFIG_NET_CLS_IND is not set -CONFIG_NET_SCH_FIFO=y -# CONFIG_DCB is not set - -# -# Network testing -# -CONFIG_NET_PKTGEN=m -# CONFIG_HAMRADIO is not set -CONFIG_CAN=m -CONFIG_CAN_RAW=m -CONFIG_CAN_BCM=m - -# -# CAN Device Drivers -# -CONFIG_CAN_VCAN=m -CONFIG_CAN_DEV=m -# CONFIG_CAN_CALC_BITTIMING is not set -CONFIG_CAN_SJA1000=m -CONFIG_CAN_SJA1000_PLATFORM=m -CONFIG_CAN_EMS_PCI=m -CONFIG_CAN_KVASER_PCI=m - -# -# CAN USB interfaces -# -# CONFIG_CAN_EMS_USB is not set -# CONFIG_CAN_DEBUG_DEVICES is not set -CONFIG_IRDA=m - -# -# IrDA protocols -# -CONFIG_IRLAN=m -CONFIG_IRNET=m -CONFIG_IRCOMM=m -CONFIG_IRDA_ULTRA=y - -# -# IrDA options -# -CONFIG_IRDA_CACHE_LAST_LSAP=y -CONFIG_IRDA_FAST_RR=y -# CONFIG_IRDA_DEBUG is not set - -# -# Infrared-port device drivers -# - -# -# SIR device drivers -# -CONFIG_IRTTY_SIR=m - -# -# Dongle support -# -CONFIG_DONGLE=y -CONFIG_ESI_DONGLE=m -CONFIG_ACTISYS_DONGLE=m -CONFIG_TEKRAM_DONGLE=m -CONFIG_TOIM3232_DONGLE=m -CONFIG_LITELINK_DONGLE=m -CONFIG_MA600_DONGLE=m -CONFIG_GIRBIL_DONGLE=m -CONFIG_MCP2120_DONGLE=m -CONFIG_OLD_BELKIN_DONGLE=m -CONFIG_ACT200L_DONGLE=m -CONFIG_KINGSUN_DONGLE=m -CONFIG_KSDAZZLE_DONGLE=m -CONFIG_KS959_DONGLE=m - -# -# FIR device drivers -# -CONFIG_USB_IRDA=m -CONFIG_SIGMATEL_FIR=m -CONFIG_NSC_FIR=m -CONFIG_WINBOND_FIR=m -CONFIG_SMC_IRCC_FIR=m -CONFIG_ALI_FIR=m -CONFIG_VLSI_FIR=m -CONFIG_VIA_FIR=m -CONFIG_MCS_FIR=m -CONFIG_BT=m -CONFIG_BT_L2CAP=m -CONFIG_BT_SCO=m -CONFIG_BT_RFCOMM=m -CONFIG_BT_RFCOMM_TTY=y -CONFIG_BT_BNEP=m -CONFIG_BT_BNEP_MC_FILTER=y -CONFIG_BT_BNEP_PROTO_FILTER=y -CONFIG_BT_CMTP=m -CONFIG_BT_HIDP=m - -# -# Bluetooth device drivers -# -CONFIG_BT_HCIBTUSB=m -CONFIG_BT_HCIBTSDIO=m -CONFIG_BT_HCIUART=m -CONFIG_BT_HCIUART_H4=y -CONFIG_BT_HCIUART_BCSP=y -CONFIG_BT_HCIUART_LL=y -CONFIG_BT_HCIBCM203X=m -CONFIG_BT_HCIBPA10X=m -CONFIG_BT_HCIBFUSB=m -CONFIG_BT_HCIDTL1=m -CONFIG_BT_HCIBT3C=m -CONFIG_BT_HCIBLUECARD=m -CONFIG_BT_HCIBTUART=m -CONFIG_BT_HCIVHCI=m -# CONFIG_BT_MRVL is not set -CONFIG_AF_RXRPC=m -# CONFIG_AF_RXRPC_DEBUG is not set -CONFIG_RXKAD=m -CONFIG_FIB_RULES=y -CONFIG_WIRELESS=y -CONFIG_CFG80211=m -# CONFIG_NL80211_TESTMODE is not set -# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set -# CONFIG_CFG80211_REG_DEBUG is not set -CONFIG_CFG80211_DEFAULT_PS=y -CONFIG_CFG80211_DEFAULT_PS_VALUE=1 -# CONFIG_CFG80211_DEBUGFS is not set -# CONFIG_WIRELESS_OLD_REGULATORY is not set -CONFIG_WIRELESS_EXT=y -CONFIG_WIRELESS_EXT_SYSFS=y -CONFIG_LIB80211=m -# CONFIG_LIB80211_DEBUG is not set -CONFIG_MAC80211=m -CONFIG_MAC80211_HAS_RC=y -CONFIG_MAC80211_RC_PID=y -CONFIG_MAC80211_RC_MINSTREL=y -CONFIG_MAC80211_RC_DEFAULT_PID=y -# CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set -CONFIG_MAC80211_RC_DEFAULT="pid" -# CONFIG_MAC80211_MESH is not set -CONFIG_MAC80211_LEDS=y -# CONFIG_MAC80211_DEBUGFS is not set -# CONFIG_MAC80211_DEBUG_MENU is not set -CONFIG_WIMAX=m -CONFIG_WIMAX_DEBUG_LEVEL=8 -CONFIG_RFKILL=m -CONFIG_RFKILL_LEDS=y -# CONFIG_RFKILL_INPUT is not set -CONFIG_NET_9P=m -CONFIG_NET_9P_VIRTIO=m -CONFIG_NET_9P_RDMA=m -# CONFIG_NET_9P_DEBUG is not set - -# -# Device Drivers -# - -# -# Generic Driver Options -# -CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" -# CONFIG_DEVTMPFS is not set -CONFIG_STANDALONE=y -# CONFIG_PREVENT_FIRMWARE_BUILD is not set -CONFIG_FW_LOADER=m -# CONFIG_FIRMWARE_IN_KERNEL is not set -CONFIG_EXTRA_FIRMWARE="" -CONFIG_SYS_HYPERVISOR=y -CONFIG_CONNECTOR=m -CONFIG_MTD=m -# CONFIG_MTD_DEBUG is not set -CONFIG_MTD_TESTS=m -CONFIG_MTD_CONCAT=m -CONFIG_MTD_PARTITIONS=y -CONFIG_MTD_REDBOOT_PARTS=m -CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 -# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set -# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set -CONFIG_MTD_AR7_PARTS=m - -# -# User Modules And Translation Layers -# -CONFIG_MTD_CHAR=m -CONFIG_HAVE_MTD_OTP=y -CONFIG_MTD_BLKDEVS=m -CONFIG_MTD_BLOCK=m -CONFIG_MTD_BLOCK_RO=m -CONFIG_FTL=m -CONFIG_NFTL=m -CONFIG_NFTL_RW=y -CONFIG_INFTL=m -CONFIG_RFD_FTL=m -CONFIG_SSFDC=m -CONFIG_MTD_OOPS=m - -# -# RAM/ROM/Flash chip drivers -# -CONFIG_MTD_CFI=m -CONFIG_MTD_JEDECPROBE=m -CONFIG_MTD_GEN_PROBE=m -# CONFIG_MTD_CFI_ADV_OPTIONS is not set -CONFIG_MTD_MAP_BANK_WIDTH_1=y -CONFIG_MTD_MAP_BANK_WIDTH_2=y -CONFIG_MTD_MAP_BANK_WIDTH_4=y -# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set -# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set -# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set -CONFIG_MTD_CFI_I1=y -CONFIG_MTD_CFI_I2=y -# CONFIG_MTD_CFI_I4 is not set -# CONFIG_MTD_CFI_I8 is not set -CONFIG_MTD_CFI_INTELEXT=m -CONFIG_MTD_CFI_AMDSTD=m -CONFIG_MTD_CFI_STAA=m -CONFIG_MTD_CFI_UTIL=m -CONFIG_MTD_RAM=m -CONFIG_MTD_ROM=m -CONFIG_MTD_ABSENT=m - -# -# Mapping drivers for chip access -# -CONFIG_MTD_COMPLEX_MAPPINGS=y -CONFIG_MTD_PHYSMAP=m -# CONFIG_MTD_PHYSMAP_COMPAT is not set -CONFIG_MTD_SC520CDP=m -CONFIG_MTD_NETSC520=m -CONFIG_MTD_TS5500=m -CONFIG_MTD_SBC_GXX=m -CONFIG_MTD_AMD76XROM=m -CONFIG_MTD_ICHXROM=m -CONFIG_MTD_ESB2ROM=m -CONFIG_MTD_CK804XROM=m -CONFIG_MTD_SCB2_FLASH=m -CONFIG_MTD_NETtel=m -CONFIG_MTD_L440GX=m -CONFIG_MTD_PCI=m -# CONFIG_MTD_GPIO_ADDR is not set -CONFIG_MTD_INTEL_VR_NOR=m -CONFIG_MTD_PLATRAM=m - -# -# Self-contained MTD device drivers -# -CONFIG_MTD_PMC551=m -CONFIG_MTD_PMC551_BUGFIX=y -# CONFIG_MTD_PMC551_DEBUG is not set -CONFIG_MTD_DATAFLASH=m -# CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set -# CONFIG_MTD_DATAFLASH_OTP is not set -CONFIG_MTD_M25P80=m -CONFIG_M25PXX_USE_FAST_READ=y -# CONFIG_MTD_SST25L is not set -CONFIG_MTD_SLRAM=m -CONFIG_MTD_PHRAM=m -CONFIG_MTD_MTDRAM=m -CONFIG_MTDRAM_TOTAL_SIZE=4096 -CONFIG_MTDRAM_ERASE_SIZE=128 -CONFIG_MTD_BLOCK2MTD=m - -# -# Disk-On-Chip Device Drivers -# -CONFIG_MTD_DOC2000=m -CONFIG_MTD_DOC2001=m -CONFIG_MTD_DOC2001PLUS=m -CONFIG_MTD_DOCPROBE=m -CONFIG_MTD_DOCECC=m -CONFIG_MTD_DOCPROBE_ADVANCED=y -CONFIG_MTD_DOCPROBE_ADDRESS=0x0000 -# CONFIG_MTD_DOCPROBE_HIGH is not set -# CONFIG_MTD_DOCPROBE_55AA is not set -CONFIG_MTD_NAND=m -# CONFIG_MTD_NAND_VERIFY_WRITE is not set -CONFIG_MTD_NAND_ECC_SMC=y -# CONFIG_MTD_NAND_MUSEUM_IDS is not set -CONFIG_MTD_NAND_IDS=m -CONFIG_MTD_NAND_DISKONCHIP=m -# CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set -CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0 -# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set -CONFIG_MTD_NAND_CAFE=m -CONFIG_MTD_NAND_NANDSIM=m -CONFIG_MTD_NAND_PLATFORM=m -CONFIG_MTD_ALAUDA=m -CONFIG_MTD_ONENAND=m -# CONFIG_MTD_ONENAND_VERIFY_WRITE is not set -# CONFIG_MTD_ONENAND_GENERIC is not set -CONFIG_MTD_ONENAND_OTP=y -CONFIG_MTD_ONENAND_2X_PROGRAM=y -CONFIG_MTD_ONENAND_SIM=m - -# -# LPDDR flash memory drivers -# -CONFIG_MTD_LPDDR=m -CONFIG_MTD_QINFO_PROBE=m - -# -# UBI - Unsorted block images -# -CONFIG_MTD_UBI=m -CONFIG_MTD_UBI_WL_THRESHOLD=4096 -CONFIG_MTD_UBI_BEB_RESERVE=1 -# CONFIG_MTD_UBI_GLUEBI is not set - -# -# UBI debugging options -# -# CONFIG_MTD_UBI_DEBUG is not set -CONFIG_PARPORT=m -CONFIG_PARPORT_PC=m -CONFIG_PARPORT_SERIAL=m -# CONFIG_PARPORT_PC_FIFO is not set -# CONFIG_PARPORT_PC_SUPERIO is not set -CONFIG_PARPORT_PC_PCMCIA=m -# CONFIG_PARPORT_GSC is not set -CONFIG_PARPORT_AX88796=m -# CONFIG_PARPORT_1284 is not set -CONFIG_PARPORT_NOT_PC=y -CONFIG_PNP=y -# CONFIG_PNP_DEBUG_MESSAGES is not set - -# -# Protocols -# -CONFIG_PNPACPI=y -CONFIG_BLK_DEV=y -CONFIG_BLK_DEV_FD=m -# CONFIG_PARIDE is not set -CONFIG_BLK_CPQ_DA=m -CONFIG_BLK_CPQ_CISS_DA=m -CONFIG_CISS_SCSI_TAPE=y -CONFIG_BLK_DEV_DAC960=m -CONFIG_BLK_DEV_UMEM=m -# CONFIG_BLK_DEV_COW_COMMON is not set -CONFIG_BLK_DEV_LOOP=m -CONFIG_BLK_DEV_CRYPTOLOOP=m -CONFIG_BLK_DEV_NBD=m -CONFIG_BLK_DEV_OSD=m -CONFIG_BLK_DEV_SX8=m -CONFIG_BLK_DEV_UB=m -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_COUNT=16 -CONFIG_BLK_DEV_RAM_SIZE=4096 -# CONFIG_BLK_DEV_XIP is not set -CONFIG_CDROM_PKTCDVD=m -CONFIG_CDROM_PKTCDVD_BUFFERS=8 -# CONFIG_CDROM_PKTCDVD_WCACHE is not set -CONFIG_ATA_OVER_ETH=m -CONFIG_XEN_BLKDEV_FRONTEND=y -CONFIG_VIRTIO_BLK=m -# CONFIG_BLK_DEV_HD is not set -CONFIG_MISC_DEVICES=y -CONFIG_IBM_ASM=m -CONFIG_PHANTOM=m -CONFIG_SGI_IOC4=m -CONFIG_TIFM_CORE=m -CONFIG_TIFM_7XX1=m -CONFIG_ICS932S401=m -CONFIG_ENCLOSURE_SERVICES=m -CONFIG_HP_ILO=m -CONFIG_DELL_LAPTOP=m -CONFIG_ISL29003=m -CONFIG_C2PORT=m -CONFIG_C2PORT_DURAMAR_2150=m - -# -# EEPROM support -# -CONFIG_EEPROM_AT24=m -CONFIG_EEPROM_AT25=m -CONFIG_EEPROM_LEGACY=m -CONFIG_EEPROM_MAX6875=m -CONFIG_EEPROM_93CX6=m -CONFIG_CB710_CORE=m -# CONFIG_CB710_DEBUG is not set -CONFIG_CB710_DEBUG_ASSUMPTIONS=y -CONFIG_HAVE_IDE=y -# CONFIG_IDE is not set - -# -# SCSI device support -# -CONFIG_RAID_ATTRS=m -CONFIG_SCSI=m -CONFIG_SCSI_DMA=y -CONFIG_SCSI_TGT=m -CONFIG_SCSI_NETLINK=y -CONFIG_SCSI_PROC_FS=y - -# -# SCSI support type (disk, tape, CD-ROM) -# -CONFIG_BLK_DEV_SD=m -CONFIG_CHR_DEV_ST=m -CONFIG_CHR_DEV_OSST=m -CONFIG_BLK_DEV_SR=m -CONFIG_BLK_DEV_SR_VENDOR=y -CONFIG_CHR_DEV_SG=m -CONFIG_CHR_DEV_SCH=m -CONFIG_SCSI_ENCLOSURE=m -CONFIG_SCSI_MULTI_LUN=y -# CONFIG_SCSI_CONSTANTS is not set -# CONFIG_SCSI_LOGGING is not set -CONFIG_SCSI_SCAN_ASYNC=y -CONFIG_SCSI_WAIT_SCAN=m - -# -# SCSI Transports -# -CONFIG_SCSI_SPI_ATTRS=m -CONFIG_SCSI_FC_ATTRS=m -CONFIG_SCSI_FC_TGT_ATTRS=y -CONFIG_SCSI_ISCSI_ATTRS=m -CONFIG_SCSI_SAS_ATTRS=m -CONFIG_SCSI_SAS_LIBSAS=m -CONFIG_SCSI_SAS_ATA=y -CONFIG_SCSI_SAS_HOST_SMP=y -# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set -CONFIG_SCSI_SRP_ATTRS=m -CONFIG_SCSI_SRP_TGT_ATTRS=y -CONFIG_SCSI_LOWLEVEL=y -CONFIG_ISCSI_TCP=m -CONFIG_SCSI_CXGB3_ISCSI=m -CONFIG_SCSI_BNX2_ISCSI=m -# CONFIG_BE2ISCSI is not set -CONFIG_BLK_DEV_3W_XXXX_RAID=m -CONFIG_SCSI_3W_9XXX=m -CONFIG_SCSI_ACARD=m -CONFIG_SCSI_AACRAID=m -CONFIG_SCSI_AIC7XXX=m -CONFIG_AIC7XXX_CMDS_PER_DEVICE=32 -CONFIG_AIC7XXX_RESET_DELAY_MS=15000 -# CONFIG_AIC7XXX_BUILD_FIRMWARE is not set -CONFIG_AIC7XXX_DEBUG_ENABLE=y -CONFIG_AIC7XXX_DEBUG_MASK=0 -CONFIG_AIC7XXX_REG_PRETTY_PRINT=y -CONFIG_SCSI_AIC7XXX_OLD=m -CONFIG_SCSI_AIC79XX=m -CONFIG_AIC79XX_CMDS_PER_DEVICE=32 -CONFIG_AIC79XX_RESET_DELAY_MS=15000 -# CONFIG_AIC79XX_BUILD_FIRMWARE is not set -CONFIG_AIC79XX_DEBUG_ENABLE=y -CONFIG_AIC79XX_DEBUG_MASK=0 -CONFIG_AIC79XX_REG_PRETTY_PRINT=y -CONFIG_SCSI_AIC94XX=m -# CONFIG_AIC94XX_DEBUG is not set -CONFIG_SCSI_MVSAS=m -CONFIG_SCSI_MVSAS_DEBUG=y -CONFIG_SCSI_DPT_I2O=m -CONFIG_SCSI_ADVANSYS=m -CONFIG_SCSI_ARCMSR=m -CONFIG_MEGARAID_NEWGEN=y -CONFIG_MEGARAID_MM=m -CONFIG_MEGARAID_MAILBOX=m -CONFIG_MEGARAID_LEGACY=m -CONFIG_MEGARAID_SAS=m -CONFIG_SCSI_MPT2SAS=m -CONFIG_SCSI_MPT2SAS_MAX_SGE=128 -# CONFIG_SCSI_MPT2SAS_LOGGING is not set -CONFIG_SCSI_HPTIOP=m -CONFIG_SCSI_BUSLOGIC=m -CONFIG_LIBFC=m -CONFIG_LIBFCOE=m -CONFIG_FCOE=m -CONFIG_FCOE_FNIC=m -CONFIG_SCSI_DMX3191D=m -CONFIG_SCSI_EATA=m -# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set -# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set -CONFIG_SCSI_EATA_MAX_TAGS=16 -CONFIG_SCSI_FUTURE_DOMAIN=m -CONFIG_SCSI_GDTH=m -CONFIG_SCSI_IPS=m -CONFIG_SCSI_INITIO=m -CONFIG_SCSI_INIA100=m -CONFIG_SCSI_PPA=m -CONFIG_SCSI_IMM=m -# CONFIG_SCSI_IZIP_EPP16 is not set -# CONFIG_SCSI_IZIP_SLOW_CTR is not set -CONFIG_SCSI_STEX=m -CONFIG_SCSI_SYM53C8XX_2=m -CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 -CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 -CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 -CONFIG_SCSI_SYM53C8XX_MMIO=y -CONFIG_SCSI_IPR=m -CONFIG_SCSI_IPR_TRACE=y -# CONFIG_SCSI_IPR_DUMP is not set -CONFIG_SCSI_QLOGIC_1280=m -CONFIG_SCSI_QLA_FC=m -CONFIG_SCSI_QLA_ISCSI=m -CONFIG_SCSI_LPFC=m -# CONFIG_SCSI_LPFC_DEBUG_FS is not set -CONFIG_SCSI_DC395x=m -CONFIG_SCSI_DC390T=m -CONFIG_SCSI_DEBUG=m -# CONFIG_SCSI_PMCRAID is not set -CONFIG_SCSI_SRP=m -# CONFIG_SCSI_BFA_FC is not set -CONFIG_SCSI_LOWLEVEL_PCMCIA=y -CONFIG_PCMCIA_FDOMAIN=m -CONFIG_PCMCIA_QLOGIC=m -CONFIG_PCMCIA_SYM53C500=m -CONFIG_SCSI_DH=m -CONFIG_SCSI_DH_RDAC=m -CONFIG_SCSI_DH_HP_SW=m -CONFIG_SCSI_DH_EMC=m -CONFIG_SCSI_DH_ALUA=m -CONFIG_SCSI_OSD_INITIATOR=m -CONFIG_SCSI_OSD_ULD=m -CONFIG_SCSI_OSD_DPRINT_SENSE=1 -# CONFIG_SCSI_OSD_DEBUG is not set -CONFIG_ATA=m -# CONFIG_ATA_NONSTANDARD is not set -CONFIG_ATA_VERBOSE_ERROR=y -CONFIG_ATA_ACPI=y -CONFIG_SATA_PMP=y -CONFIG_SATA_AHCI=m -CONFIG_SATA_SIL24=m -CONFIG_ATA_SFF=y -CONFIG_SATA_SVW=m -CONFIG_ATA_PIIX=m -CONFIG_SATA_MV=m -CONFIG_SATA_NV=m -CONFIG_PDC_ADMA=m -CONFIG_SATA_QSTOR=m -CONFIG_SATA_PROMISE=m -CONFIG_SATA_SX4=m -CONFIG_SATA_SIL=m -CONFIG_SATA_SIS=m -CONFIG_SATA_ULI=m -CONFIG_SATA_VIA=m -CONFIG_SATA_VITESSE=m -CONFIG_SATA_INIC162X=m -CONFIG_PATA_ACPI=m -CONFIG_PATA_ALI=m -CONFIG_PATA_AMD=m -CONFIG_PATA_ARTOP=m -CONFIG_PATA_ATP867X=m -CONFIG_PATA_ATIIXP=m -CONFIG_PATA_CMD640_PCI=m -CONFIG_PATA_CMD64X=m -CONFIG_PATA_CS5520=m -CONFIG_PATA_CS5530=m -CONFIG_PATA_CYPRESS=m -CONFIG_PATA_EFAR=m -CONFIG_ATA_GENERIC=m -CONFIG_PATA_HPT366=m -CONFIG_PATA_HPT37X=m -CONFIG_PATA_HPT3X2N=m -CONFIG_PATA_HPT3X3=m -CONFIG_PATA_HPT3X3_DMA=y -CONFIG_PATA_IT821X=m -CONFIG_PATA_IT8213=m -CONFIG_PATA_JMICRON=m -CONFIG_PATA_TRIFLEX=m -CONFIG_PATA_MARVELL=m -CONFIG_PATA_MPIIX=m -CONFIG_PATA_OLDPIIX=m -CONFIG_PATA_NETCELL=m -CONFIG_PATA_NINJA32=m -CONFIG_PATA_NS87410=m -CONFIG_PATA_NS87415=m -CONFIG_PATA_OPTI=m -CONFIG_PATA_OPTIDMA=m -CONFIG_PATA_PCMCIA=m -CONFIG_PATA_PDC_OLD=m -CONFIG_PATA_RADISYS=m -CONFIG_PATA_RDC=m -CONFIG_PATA_RZ1000=m -CONFIG_PATA_SC1200=m -CONFIG_PATA_SERVERWORKS=m -CONFIG_PATA_PDC2027X=m -CONFIG_PATA_SIL680=m -CONFIG_PATA_SIS=m -CONFIG_PATA_VIA=m -CONFIG_PATA_WINBOND=m -CONFIG_PATA_PLATFORM=m -CONFIG_PATA_SCH=m -CONFIG_MD=y -CONFIG_BLK_DEV_MD=y -# CONFIG_MD_AUTODETECT is not set -CONFIG_MD_LINEAR=m -CONFIG_MD_RAID0=m -CONFIG_MD_RAID1=m -CONFIG_MD_RAID10=m -CONFIG_MD_RAID456=m -# CONFIG_MULTICORE_RAID456 is not set -CONFIG_MD_RAID6_PQ=m -# CONFIG_ASYNC_RAID6_TEST is not set -CONFIG_MD_MULTIPATH=m -CONFIG_MD_FAULTY=m -CONFIG_BLK_DEV_DM=m -# CONFIG_DM_DEBUG is not set -CONFIG_DM_CRYPT=m -CONFIG_DM_SNAPSHOT=m -CONFIG_DM_MIRROR=m -CONFIG_DM_LOG_USERSPACE=m -CONFIG_DM_ZERO=m -CONFIG_DM_MULTIPATH=m -CONFIG_DM_MULTIPATH_QL=m -CONFIG_DM_MULTIPATH_ST=m -CONFIG_DM_DELAY=m -# CONFIG_DM_UEVENT is not set -CONFIG_FUSION=y -CONFIG_FUSION_SPI=m -CONFIG_FUSION_FC=m -CONFIG_FUSION_SAS=m -CONFIG_FUSION_MAX_SGE=128 -CONFIG_FUSION_CTL=m -# CONFIG_FUSION_LOGGING is not set - -# -# IEEE 1394 (FireWire) support -# - -# -# You can enable one or both FireWire driver stacks. -# - -# -# See the help texts for more information. -# -CONFIG_FIREWIRE=m -CONFIG_FIREWIRE_OHCI=m -CONFIG_FIREWIRE_OHCI_DEBUG=y -CONFIG_FIREWIRE_SBP2=m -CONFIG_FIREWIRE_NET=m -CONFIG_IEEE1394=m -CONFIG_IEEE1394_OHCI1394=m -CONFIG_IEEE1394_PCILYNX=m -CONFIG_IEEE1394_SBP2=m -# CONFIG_IEEE1394_SBP2_PHYS_DMA is not set -CONFIG_IEEE1394_ETH1394_ROM_ENTRY=y -CONFIG_IEEE1394_ETH1394=m -CONFIG_IEEE1394_RAWIO=m -CONFIG_IEEE1394_VIDEO1394=m -CONFIG_IEEE1394_DV1394=m -# CONFIG_IEEE1394_VERBOSEDEBUG is not set -CONFIG_I2O=m -CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y -CONFIG_I2O_EXT_ADAPTEC=y -CONFIG_I2O_EXT_ADAPTEC_DMA64=y -CONFIG_I2O_CONFIG=m -CONFIG_I2O_CONFIG_OLD_IOCTL=y -CONFIG_I2O_BUS=m -CONFIG_I2O_BLOCK=m -CONFIG_I2O_SCSI=m -CONFIG_I2O_PROC=m -# CONFIG_MACINTOSH_DRIVERS is not set -CONFIG_NETDEVICES=y -CONFIG_IFB=m -CONFIG_DUMMY=m -CONFIG_BONDING=m -CONFIG_MACVLAN=m -CONFIG_EQUALIZER=m -CONFIG_TUN=m -CONFIG_VETH=m -CONFIG_NET_SB1000=m -CONFIG_ARCNET=m -CONFIG_ARCNET_1201=m -CONFIG_ARCNET_1051=m -CONFIG_ARCNET_RAW=m -CONFIG_ARCNET_CAP=m -CONFIG_ARCNET_COM90xx=m -CONFIG_ARCNET_COM90xxIO=m -CONFIG_ARCNET_RIM_I=m -CONFIG_ARCNET_COM20020=m -CONFIG_ARCNET_COM20020_PCI=m -CONFIG_PHYLIB=m - -# -# MII PHY device drivers -# -CONFIG_MARVELL_PHY=m -CONFIG_DAVICOM_PHY=m -CONFIG_QSEMI_PHY=m -CONFIG_LXT_PHY=m -CONFIG_CICADA_PHY=m -CONFIG_VITESSE_PHY=m -CONFIG_SMSC_PHY=m -CONFIG_BROADCOM_PHY=m -CONFIG_ICPLUS_PHY=m -CONFIG_REALTEK_PHY=m -CONFIG_NATIONAL_PHY=m -CONFIG_STE10XP=m -CONFIG_LSI_ET1011C_PHY=m -CONFIG_MDIO_BITBANG=m -CONFIG_MDIO_GPIO=m -CONFIG_NET_ETHERNET=y -CONFIG_MII=m -CONFIG_HAPPYMEAL=m -CONFIG_SUNGEM=m -CONFIG_CASSINI=m -CONFIG_NET_VENDOR_3COM=y -CONFIG_VORTEX=m -CONFIG_TYPHOON=m -CONFIG_ENC28J60=m -# CONFIG_ENC28J60_WRITEVERIFY is not set -CONFIG_ETHOC=m -CONFIG_DNET=m -CONFIG_NET_TULIP=y -CONFIG_DE2104X=m -CONFIG_DE2104X_DSL=0 -CONFIG_TULIP=m -# CONFIG_TULIP_MWI is not set -# CONFIG_TULIP_MMIO is not set -# CONFIG_TULIP_NAPI is not set -CONFIG_DE4X5=m -CONFIG_WINBOND_840=m -CONFIG_DM9102=m -CONFIG_ULI526X=m -CONFIG_PCMCIA_XIRCOM=m -CONFIG_HP100=m -# CONFIG_IBM_NEW_EMAC_ZMII is not set -# CONFIG_IBM_NEW_EMAC_RGMII is not set -# CONFIG_IBM_NEW_EMAC_TAH is not set -# CONFIG_IBM_NEW_EMAC_EMAC4 is not set -# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set -# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set -# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set -CONFIG_NET_PCI=y -CONFIG_PCNET32=m -CONFIG_AMD8111_ETH=m -CONFIG_ADAPTEC_STARFIRE=m -CONFIG_B44=m -CONFIG_B44_PCI_AUTOSELECT=y -CONFIG_B44_PCICORE_AUTOSELECT=y -CONFIG_B44_PCI=y -CONFIG_FORCEDETH=m -# CONFIG_FORCEDETH_NAPI is not set -CONFIG_E100=m -CONFIG_FEALNX=m -CONFIG_NATSEMI=m -CONFIG_NE2K_PCI=m -CONFIG_8139CP=m -CONFIG_8139TOO=m -CONFIG_8139TOO_PIO=y -# CONFIG_8139TOO_TUNE_TWISTER is not set -# CONFIG_8139TOO_8129 is not set -# CONFIG_8139_OLD_RX_RESET is not set -CONFIG_R6040=m -CONFIG_SIS900=m -CONFIG_EPIC100=m -CONFIG_SMSC9420=m -CONFIG_SUNDANCE=m -# CONFIG_SUNDANCE_MMIO is not set -CONFIG_TLAN=m -CONFIG_KS8842=m -CONFIG_KS8851=m -CONFIG_KS8851_MLL=m -CONFIG_VIA_RHINE=m -# CONFIG_VIA_RHINE_MMIO is not set -CONFIG_SC92031=m -CONFIG_NET_POCKET=y -CONFIG_ATP=m -CONFIG_DE600=m -CONFIG_DE620=m -CONFIG_ATL2=m -CONFIG_NETDEV_1000=y -CONFIG_ACENIC=m -# CONFIG_ACENIC_OMIT_TIGON_I is not set -CONFIG_DL2K=m -CONFIG_E1000=m -CONFIG_E1000E=m -CONFIG_IP1000=m -CONFIG_IGB=m -CONFIG_IGB_DCA=y -CONFIG_IGBVF=m -CONFIG_NS83820=m -CONFIG_HAMACHI=m -CONFIG_YELLOWFIN=m -CONFIG_R8169=m -CONFIG_R8169_VLAN=y -CONFIG_SIS190=m -CONFIG_SKGE=m -# CONFIG_SKGE_DEBUG is not set -CONFIG_SKY2=m -# CONFIG_SKY2_DEBUG is not set -CONFIG_VIA_VELOCITY=m -CONFIG_TIGON3=m -CONFIG_BNX2=m -CONFIG_CNIC=m -CONFIG_QLA3XXX=m -CONFIG_ATL1=m -CONFIG_ATL1E=m -CONFIG_ATL1C=m -CONFIG_JME=m -CONFIG_NETDEV_10000=y -CONFIG_MDIO=m -CONFIG_CHELSIO_T1=m -CONFIG_CHELSIO_T1_1G=y -CONFIG_CHELSIO_T3_DEPENDS=y -CONFIG_CHELSIO_T3=m -CONFIG_ENIC=m -CONFIG_IXGBE=m -CONFIG_IXGBE_DCA=y -CONFIG_IXGB=m -CONFIG_S2IO=m -CONFIG_VXGE=m -# CONFIG_VXGE_DEBUG_TRACE_ALL is not set -CONFIG_MYRI10GE=m -CONFIG_MYRI10GE_DCA=y -CONFIG_NETXEN_NIC=m -CONFIG_NIU=m -CONFIG_MLX4_EN=m -CONFIG_MLX4_CORE=m -CONFIG_MLX4_DEBUG=y -CONFIG_TEHUTI=m -CONFIG_BNX2X=m -CONFIG_QLGE=m -CONFIG_SFC=m -CONFIG_SFC_MTD=y -CONFIG_BE2NET=m -# CONFIG_TR is not set -CONFIG_WLAN=y -# CONFIG_WLAN_PRE80211 is not set -# CONFIG_WLAN_80211 is not set - -# -# WiMAX Wireless Broadband devices -# -CONFIG_WIMAX_I2400M=m -CONFIG_WIMAX_I2400M_USB=m -CONFIG_WIMAX_I2400M_SDIO=m -CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8 - -# -# USB Network Adapters -# -CONFIG_USB_CATC=m -CONFIG_USB_KAWETH=m -CONFIG_USB_PEGASUS=m -CONFIG_USB_RTL8150=m -CONFIG_USB_USBNET=m -CONFIG_USB_NET_AX8817X=m -CONFIG_USB_NET_CDCETHER=m -CONFIG_USB_NET_CDC_EEM=m -CONFIG_USB_NET_DM9601=m -CONFIG_USB_NET_SMSC95XX=m -CONFIG_USB_NET_GL620A=m -CONFIG_USB_NET_NET1080=m -CONFIG_USB_NET_PLUSB=m -CONFIG_USB_NET_MCS7830=m -CONFIG_USB_NET_RNDIS_HOST=m -CONFIG_USB_NET_CDC_SUBSET=m -CONFIG_USB_ALI_M5632=y -CONFIG_USB_AN2720=y -CONFIG_USB_BELKIN=y -CONFIG_USB_ARMLINUX=y -CONFIG_USB_EPSON2888=y -CONFIG_USB_KC2190=y -CONFIG_USB_NET_ZAURUS=m -CONFIG_USB_HSO=m -CONFIG_USB_NET_INT51X1=m -CONFIG_USB_CDC_PHONET=m -CONFIG_NET_PCMCIA=y -CONFIG_PCMCIA_3C589=m -CONFIG_PCMCIA_3C574=m -CONFIG_PCMCIA_FMVJ18X=m -CONFIG_PCMCIA_PCNET=m -CONFIG_PCMCIA_NMCLAN=m -CONFIG_PCMCIA_SMC91C92=m -CONFIG_PCMCIA_XIRC2PS=m -CONFIG_PCMCIA_AXNET=m -CONFIG_ARCNET_COM20020_CS=m -CONFIG_WAN=y -CONFIG_LANMEDIA=m -CONFIG_HDLC=m -CONFIG_HDLC_RAW=m -CONFIG_HDLC_RAW_ETH=m -CONFIG_HDLC_CISCO=m -CONFIG_HDLC_FR=m -CONFIG_HDLC_PPP=m -CONFIG_HDLC_X25=m -CONFIG_PCI200SYN=m -CONFIG_WANXL=m -# CONFIG_WANXL_BUILD_FIRMWARE is not set -CONFIG_PC300TOO=m -CONFIG_FARSYNC=m -CONFIG_DSCC4=m -CONFIG_DSCC4_PCISYNC=y -CONFIG_DSCC4_PCI_RST=y -CONFIG_DLCI=m -CONFIG_DLCI_MAX=8 -CONFIG_WAN_ROUTER_DRIVERS=m -CONFIG_CYCLADES_SYNC=m -CONFIG_CYCLOMX_X25=y -CONFIG_LAPBETHER=m -CONFIG_X25_ASY=m -CONFIG_SBNI=m -CONFIG_SBNI_MULTILINE=y -CONFIG_ATM_DRIVERS=y -CONFIG_ATM_DUMMY=m -CONFIG_ATM_TCP=m -CONFIG_ATM_LANAI=m -CONFIG_ATM_ENI=m -# CONFIG_ATM_ENI_DEBUG is not set -# CONFIG_ATM_ENI_TUNE_BURST is not set -CONFIG_ATM_FIRESTREAM=m -CONFIG_ATM_ZATM=m -# CONFIG_ATM_ZATM_DEBUG is not set -CONFIG_ATM_IDT77252=m -# CONFIG_ATM_IDT77252_DEBUG is not set -# CONFIG_ATM_IDT77252_RCV_ALL is not set -CONFIG_ATM_IDT77252_USE_SUNI=y -CONFIG_ATM_AMBASSADOR=m -# CONFIG_ATM_AMBASSADOR_DEBUG is not set -CONFIG_ATM_HORIZON=m -# CONFIG_ATM_HORIZON_DEBUG is not set -CONFIG_ATM_IA=m -# CONFIG_ATM_IA_DEBUG is not set -CONFIG_ATM_FORE200E=m -CONFIG_ATM_FORE200E_USE_TASKLET=y -CONFIG_ATM_FORE200E_TX_RETRY=16 -CONFIG_ATM_FORE200E_DEBUG=0 -CONFIG_ATM_HE=m -CONFIG_ATM_HE_USE_SUNI=y -CONFIG_ATM_SOLOS=m -CONFIG_IEEE802154_DRIVERS=m -CONFIG_IEEE802154_FAKEHARD=m -CONFIG_XEN_NETDEV_FRONTEND=y -CONFIG_FDDI=y -CONFIG_DEFXX=m -# CONFIG_DEFXX_MMIO is not set -CONFIG_SKFP=m -CONFIG_HIPPI=y -CONFIG_ROADRUNNER=m -# CONFIG_ROADRUNNER_LARGE_RINGS is not set -CONFIG_PLIP=m -CONFIG_PPP=m -CONFIG_PPP_MULTILINK=y -CONFIG_PPP_FILTER=y -CONFIG_PPP_ASYNC=m -CONFIG_PPP_SYNC_TTY=m -CONFIG_PPP_DEFLATE=m -CONFIG_PPP_BSDCOMP=m -CONFIG_PPP_MPPE=m -CONFIG_PPPOE=m -CONFIG_PPPOATM=m -CONFIG_PPPOL2TP=m -CONFIG_SLIP=m -CONFIG_SLIP_COMPRESSED=y -CONFIG_SLHC=m -CONFIG_SLIP_SMART=y -CONFIG_SLIP_MODE_SLIP6=y -# CONFIG_NET_FC is not set -CONFIG_NETCONSOLE=m -CONFIG_NETCONSOLE_DYNAMIC=y -CONFIG_NETPOLL=y -# CONFIG_NETPOLL_TRAP is not set -CONFIG_NET_POLL_CONTROLLER=y -CONFIG_VIRTIO_NET=m -CONFIG_VMXNET3=m -CONFIG_ISDN=y -# CONFIG_ISDN_I4L is not set -CONFIG_MISDN=m -CONFIG_MISDN_DSP=m -CONFIG_MISDN_L1OIP=m - -# -# mISDN hardware drivers -# -CONFIG_MISDN_HFCPCI=m -CONFIG_MISDN_HFCMULTI=m -CONFIG_MISDN_HFCUSB=m -CONFIG_MISDN_AVMFRITZ=m -# CONFIG_MISDN_SPEEDFAX is not set -# CONFIG_MISDN_INFINEON is not set -# CONFIG_MISDN_W6692 is not set -# CONFIG_MISDN_NETJET is not set -CONFIG_MISDN_IPAC=m -CONFIG_ISDN_CAPI=m -# CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON is not set -# CONFIG_CAPI_TRACE is not set -CONFIG_ISDN_CAPI_MIDDLEWARE=y -CONFIG_ISDN_CAPI_CAPI20=m -CONFIG_ISDN_CAPI_CAPIFS_BOOL=y -CONFIG_ISDN_CAPI_CAPIFS=m - -# -# CAPI hardware drivers -# -CONFIG_CAPI_AVM=y -CONFIG_ISDN_DRV_AVMB1_B1PCI=m -CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y -CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m -CONFIG_ISDN_DRV_AVMB1_AVM_CS=m -CONFIG_ISDN_DRV_AVMB1_T1PCI=m -CONFIG_ISDN_DRV_AVMB1_C4=m -CONFIG_CAPI_EICON=y -CONFIG_ISDN_DIVAS=m -CONFIG_ISDN_DIVAS_BRIPCI=y -CONFIG_ISDN_DIVAS_PRIPCI=y -CONFIG_ISDN_DIVAS_DIVACAPI=m -CONFIG_ISDN_DIVAS_USERIDI=m -CONFIG_ISDN_DIVAS_MAINT=m -# CONFIG_PHONE is not set - -# -# Input device support -# -CONFIG_INPUT=y -CONFIG_INPUT_FF_MEMLESS=m -CONFIG_INPUT_POLLDEV=m - -# -# Userland interfaces -# -CONFIG_INPUT_MOUSEDEV=m -CONFIG_INPUT_MOUSEDEV_PSAUX=y -CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 -CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 -CONFIG_INPUT_JOYDEV=m -CONFIG_INPUT_EVDEV=m -CONFIG_INPUT_EVBUG=m -CONFIG_XEN_KBDDEV_FRONTEND=m - -# -# Input Device Drivers -# -CONFIG_INPUT_KEYBOARD=y -# CONFIG_KEYBOARD_ADP5588 is not set -CONFIG_KEYBOARD_ATKBD=y -# CONFIG_QT2160 is not set -CONFIG_KEYBOARD_LKKBD=m -CONFIG_KEYBOARD_GPIO=m -CONFIG_KEYBOARD_MATRIX=m -CONFIG_KEYBOARD_LM8323=m -# CONFIG_KEYBOARD_MAX7359 is not set -CONFIG_KEYBOARD_NEWTON=m -# CONFIG_KEYBOARD_OPENCORES is not set -CONFIG_KEYBOARD_STOWAWAY=m -CONFIG_KEYBOARD_SUNKBD=m -CONFIG_KEYBOARD_XTKBD=m -CONFIG_INPUT_MOUSE=y -CONFIG_MOUSE_PS2=m -CONFIG_MOUSE_PS2_ALPS=y -CONFIG_MOUSE_PS2_LOGIPS2PP=y -CONFIG_MOUSE_PS2_SYNAPTICS=y -CONFIG_MOUSE_PS2_LIFEBOOK=y -CONFIG_MOUSE_PS2_TRACKPOINT=y -# CONFIG_MOUSE_PS2_ELANTECH is not set -# CONFIG_MOUSE_PS2_SENTELIC is not set -# CONFIG_MOUSE_PS2_TOUCHKIT is not set -CONFIG_MOUSE_SERIAL=m -CONFIG_MOUSE_APPLETOUCH=m -CONFIG_MOUSE_BCM5974=m -CONFIG_MOUSE_VSXXXAA=m -CONFIG_MOUSE_GPIO=m -CONFIG_MOUSE_SYNAPTICS_I2C=m -# CONFIG_INPUT_JOYSTICK is not set -# CONFIG_INPUT_TABLET is not set -CONFIG_INPUT_TOUCHSCREEN=y -CONFIG_TOUCHSCREEN_ADS7846=m -CONFIG_TOUCHSCREEN_AD7877=m -CONFIG_TOUCHSCREEN_AD7879_I2C=m -CONFIG_TOUCHSCREEN_AD7879=m -CONFIG_TOUCHSCREEN_EETI=m -CONFIG_TOUCHSCREEN_FUJITSU=m -CONFIG_TOUCHSCREEN_GUNZE=m -CONFIG_TOUCHSCREEN_ELO=m -CONFIG_TOUCHSCREEN_WACOM_W8001=m -# CONFIG_TOUCHSCREEN_MCS5000 is not set -CONFIG_TOUCHSCREEN_MTOUCH=m -CONFIG_TOUCHSCREEN_INEXIO=m -CONFIG_TOUCHSCREEN_MK712=m -CONFIG_TOUCHSCREEN_PENMOUNT=m -CONFIG_TOUCHSCREEN_TOUCHRIGHT=m -CONFIG_TOUCHSCREEN_TOUCHWIN=m -CONFIG_TOUCHSCREEN_UCB1400=m -CONFIG_TOUCHSCREEN_WM97XX=m -CONFIG_TOUCHSCREEN_WM9705=y -CONFIG_TOUCHSCREEN_WM9712=y -CONFIG_TOUCHSCREEN_WM9713=y -CONFIG_TOUCHSCREEN_USB_COMPOSITE=m -CONFIG_TOUCHSCREEN_USB_EGALAX=y -CONFIG_TOUCHSCREEN_USB_PANJIT=y -CONFIG_TOUCHSCREEN_USB_3M=y -CONFIG_TOUCHSCREEN_USB_ITM=y -CONFIG_TOUCHSCREEN_USB_ETURBO=y -CONFIG_TOUCHSCREEN_USB_GUNZE=y -CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y -CONFIG_TOUCHSCREEN_USB_IRTOUCH=y -CONFIG_TOUCHSCREEN_USB_IDEALTEK=y -CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y -CONFIG_TOUCHSCREEN_USB_GOTOP=y -CONFIG_TOUCHSCREEN_USB_JASTEC=y -CONFIG_TOUCHSCREEN_USB_E2I=y -CONFIG_TOUCHSCREEN_TOUCHIT213=m -CONFIG_TOUCHSCREEN_TSC2007=m -CONFIG_INPUT_MISC=y -CONFIG_INPUT_PCSPKR=m -CONFIG_INPUT_APANEL=m -CONFIG_INPUT_ATLAS_BTNS=m -CONFIG_INPUT_ATI_REMOTE=m -CONFIG_INPUT_ATI_REMOTE2=m -CONFIG_INPUT_KEYSPAN_REMOTE=m -CONFIG_INPUT_POWERMATE=m -CONFIG_INPUT_YEALINK=m -CONFIG_INPUT_CM109=m -CONFIG_INPUT_UINPUT=m -CONFIG_INPUT_WINBOND_CIR=m -CONFIG_INPUT_PCF50633_PMU=m -CONFIG_INPUT_GPIO_ROTARY_ENCODER=m - -# -# Hardware I/O ports -# -CONFIG_SERIO=y -CONFIG_SERIO_I8042=y -CONFIG_SERIO_SERPORT=m -CONFIG_SERIO_CT82C710=m -CONFIG_SERIO_PARKBD=m -CONFIG_SERIO_PCIPS2=m -CONFIG_SERIO_LIBPS2=y -CONFIG_SERIO_RAW=m -# CONFIG_GAMEPORT is not set - -# -# Character devices -# -CONFIG_VT=y -CONFIG_CONSOLE_TRANSLATIONS=y -CONFIG_VT_CONSOLE=y -CONFIG_HW_CONSOLE=y -# CONFIG_VT_HW_CONSOLE_BINDING is not set -# CONFIG_DEVKMEM is not set -CONFIG_SERIAL_NONSTANDARD=y -CONFIG_COMPUTONE=m -CONFIG_ROCKETPORT=m -CONFIG_CYCLADES=m -# CONFIG_CYZ_INTR is not set -CONFIG_DIGIEPCA=m -CONFIG_MOXA_INTELLIO=m -CONFIG_MOXA_SMARTIO=m -CONFIG_ISI=m -CONFIG_SYNCLINK=m -CONFIG_SYNCLINKMP=m -CONFIG_SYNCLINK_GT=m -CONFIG_N_HDLC=m -CONFIG_RISCOM8=m -CONFIG_SPECIALIX=m -CONFIG_STALDRV=y -CONFIG_STALLION=m -CONFIG_ISTALLION=m -CONFIG_NOZOMI=m - -# -# Serial drivers -# -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_FIX_EARLYCON_MEM=y -CONFIG_SERIAL_8250_PCI=y -CONFIG_SERIAL_8250_PNP=y -CONFIG_SERIAL_8250_CS=m -CONFIG_SERIAL_8250_NR_UARTS=16 -CONFIG_SERIAL_8250_RUNTIME_UARTS=4 -CONFIG_SERIAL_8250_EXTENDED=y -CONFIG_SERIAL_8250_MANY_PORTS=y -CONFIG_SERIAL_8250_SHARE_IRQ=y -# CONFIG_SERIAL_8250_DETECT_IRQ is not set -CONFIG_SERIAL_8250_RSA=y - -# -# Non-8250 serial port support -# -CONFIG_SERIAL_MAX3100=m -CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_CORE_CONSOLE=y -CONFIG_SERIAL_JSM=m -CONFIG_UNIX98_PTYS=y -# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set -# CONFIG_LEGACY_PTYS is not set -CONFIG_PRINTER=m -# CONFIG_LP_CONSOLE is not set -CONFIG_PPDEV=m -CONFIG_HVC_DRIVER=y -CONFIG_HVC_IRQ=y -CONFIG_HVC_XEN=y -CONFIG_VIRTIO_CONSOLE=m -CONFIG_IPMI_HANDLER=m -# CONFIG_IPMI_PANIC_EVENT is not set -CONFIG_IPMI_DEVICE_INTERFACE=m -CONFIG_IPMI_SI=m -CONFIG_IPMI_WATCHDOG=m -CONFIG_IPMI_POWEROFF=m -CONFIG_HW_RANDOM=m -CONFIG_HW_RANDOM_TIMERIOMEM=m -CONFIG_HW_RANDOM_INTEL=m -CONFIG_HW_RANDOM_AMD=m -CONFIG_HW_RANDOM_VIA=m -CONFIG_HW_RANDOM_VIRTIO=m -CONFIG_NVRAM=m -CONFIG_R3964=m -CONFIG_APPLICOM=m - -# -# PCMCIA character devices -# -CONFIG_SYNCLINK_CS=m -CONFIG_CARDMAN_4000=m -CONFIG_CARDMAN_4040=m -CONFIG_IPWIRELESS=m -CONFIG_MWAVE=m -CONFIG_PC8736x_GPIO=m -CONFIG_NSC_GPIO=m -CONFIG_RAW_DRIVER=m -CONFIG_MAX_RAW_DEVS=256 -CONFIG_HPET=y -CONFIG_HPET_MMAP=y -CONFIG_HANGCHECK_TIMER=m -CONFIG_TCG_TPM=m -CONFIG_TCG_TIS=m -CONFIG_TCG_NSC=m -CONFIG_TCG_ATMEL=m -CONFIG_TCG_INFINEON=m -CONFIG_TELCLOCK=m -CONFIG_DEVPORT=y -CONFIG_I2C=m -CONFIG_I2C_BOARDINFO=y -CONFIG_I2C_COMPAT=y -CONFIG_I2C_CHARDEV=m -CONFIG_I2C_HELPER_AUTO=y -CONFIG_I2C_ALGOBIT=m -CONFIG_I2C_ALGOPCA=m - -# -# I2C Hardware Bus support -# - -# -# PC SMBus host controller drivers -# -CONFIG_I2C_ALI1535=m -CONFIG_I2C_ALI1563=m -CONFIG_I2C_ALI15X3=m -CONFIG_I2C_AMD756=m -CONFIG_I2C_AMD756_S4882=m -CONFIG_I2C_AMD8111=m -CONFIG_I2C_I801=m -CONFIG_I2C_ISCH=m -CONFIG_I2C_PIIX4=m -CONFIG_I2C_NFORCE2=m -CONFIG_I2C_NFORCE2_S4985=m -CONFIG_I2C_SIS5595=m -CONFIG_I2C_SIS630=m -CONFIG_I2C_SIS96X=m -CONFIG_I2C_VIA=m -CONFIG_I2C_VIAPRO=m - -# -# ACPI drivers -# -CONFIG_I2C_SCMI=m - -# -# I2C system bus drivers (mostly embedded / system-on-chip) -# -CONFIG_I2C_GPIO=m -CONFIG_I2C_OCORES=m -CONFIG_I2C_SIMTEC=m - -# -# External I2C/SMBus adapter drivers -# -CONFIG_I2C_PARPORT=m -CONFIG_I2C_PARPORT_LIGHT=m -CONFIG_I2C_TAOS_EVM=m -CONFIG_I2C_TINY_USB=m - -# -# Graphics adapter I2C/DDC channel drivers -# -# CONFIG_I2C_VOODOO3 is not set - -# -# Other I2C/SMBus bus drivers -# -CONFIG_I2C_PCA_PLATFORM=m -CONFIG_I2C_STUB=m - -# -# Miscellaneous I2C Chip support -# -CONFIG_DS1682=m -CONFIG_SENSORS_TSL2550=m -# CONFIG_I2C_DEBUG_CORE is not set -# CONFIG_I2C_DEBUG_ALGO is not set -# CONFIG_I2C_DEBUG_BUS is not set -# CONFIG_I2C_DEBUG_CHIP is not set -CONFIG_SPI=y -CONFIG_SPI_MASTER=y - -# -# SPI Master Controller Drivers -# -CONFIG_SPI_BITBANG=m -CONFIG_SPI_BUTTERFLY=m -CONFIG_SPI_GPIO=m -CONFIG_SPI_LM70_LLP=m - -# -# SPI Protocol Masters -# -CONFIG_SPI_SPIDEV=m -CONFIG_SPI_TLE62X0=m - -# -# PPS support -# -# CONFIG_PPS is not set -CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y -CONFIG_GPIOLIB=y -# CONFIG_GPIO_SYSFS is not set - -# -# Memory mapped GPIO expanders: -# - -# -# I2C GPIO expanders: -# -CONFIG_GPIO_MAX732X=m -CONFIG_GPIO_PCA953X=m -CONFIG_GPIO_PCF857X=m - -# -# PCI GPIO expanders: -# -# CONFIG_GPIO_LANGWELL is not set - -# -# SPI GPIO expanders: -# -CONFIG_GPIO_MAX7301=m -CONFIG_GPIO_MCP23S08=m -# CONFIG_GPIO_MC33880 is not set - -# -# AC97 GPIO expanders: -# -# CONFIG_GPIO_UCB1400 is not set -CONFIG_W1=m -CONFIG_W1_CON=y - -# -# 1-wire Bus Masters -# -CONFIG_W1_MASTER_MATROX=m -CONFIG_W1_MASTER_DS2490=m -CONFIG_W1_MASTER_DS2482=m -CONFIG_W1_MASTER_GPIO=m - -# -# 1-wire Slaves -# -CONFIG_W1_SLAVE_THERM=m -CONFIG_W1_SLAVE_SMEM=m -CONFIG_W1_SLAVE_DS2431=m -CONFIG_W1_SLAVE_DS2433=m -# CONFIG_W1_SLAVE_DS2433_CRC is not set -CONFIG_W1_SLAVE_DS2760=m -CONFIG_W1_SLAVE_BQ27000=m -CONFIG_POWER_SUPPLY=y -# CONFIG_POWER_SUPPLY_DEBUG is not set -CONFIG_PDA_POWER=m -CONFIG_BATTERY_DS2760=m -CONFIG_BATTERY_DS2782=m -CONFIG_BATTERY_BQ27x00=m -CONFIG_BATTERY_MAX17040=m -CONFIG_CHARGER_PCF50633=m -CONFIG_HWMON=m -CONFIG_HWMON_VID=m -# CONFIG_HWMON_DEBUG_CHIP is not set - -# -# Native drivers -# -CONFIG_SENSORS_ABITUGURU=m -CONFIG_SENSORS_ABITUGURU3=m -CONFIG_SENSORS_AD7414=m -CONFIG_SENSORS_AD7418=m -CONFIG_SENSORS_ADCXX=m -CONFIG_SENSORS_ADM1021=m -CONFIG_SENSORS_ADM1025=m -CONFIG_SENSORS_ADM1026=m -CONFIG_SENSORS_ADM1029=m -CONFIG_SENSORS_ADM1031=m -CONFIG_SENSORS_ADM9240=m -CONFIG_SENSORS_ADT7462=m -CONFIG_SENSORS_ADT7470=m -# CONFIG_SENSORS_ADT7473 is not set -CONFIG_SENSORS_ADT7475=m -CONFIG_SENSORS_K8TEMP=m -CONFIG_SENSORS_ASB100=m -CONFIG_SENSORS_ATXP1=m -CONFIG_SENSORS_DS1621=m -CONFIG_SENSORS_I5K_AMB=m -CONFIG_SENSORS_F71805F=m -CONFIG_SENSORS_F71882FG=m -CONFIG_SENSORS_F75375S=m -CONFIG_SENSORS_FSCHMD=m -CONFIG_SENSORS_G760A=m -CONFIG_SENSORS_GL518SM=m -CONFIG_SENSORS_GL520SM=m -CONFIG_SENSORS_CORETEMP=m -CONFIG_SENSORS_IBMAEM=m -CONFIG_SENSORS_IBMPEX=m -CONFIG_SENSORS_IT87=m -CONFIG_SENSORS_LM63=m -CONFIG_SENSORS_LM70=m -CONFIG_SENSORS_LM75=m -CONFIG_SENSORS_LM77=m -CONFIG_SENSORS_LM78=m -CONFIG_SENSORS_LM80=m -CONFIG_SENSORS_LM83=m -CONFIG_SENSORS_LM85=m -CONFIG_SENSORS_LM87=m -CONFIG_SENSORS_LM90=m -CONFIG_SENSORS_LM92=m -CONFIG_SENSORS_LM93=m -CONFIG_SENSORS_LTC4215=m -CONFIG_SENSORS_LTC4245=m -CONFIG_SENSORS_LM95241=m -CONFIG_SENSORS_MAX1111=m -CONFIG_SENSORS_MAX1619=m -CONFIG_SENSORS_MAX6650=m -CONFIG_SENSORS_PC87360=m -CONFIG_SENSORS_PC87427=m -CONFIG_SENSORS_PCF8591=m -CONFIG_SENSORS_SHT15=m -CONFIG_SENSORS_SIS5595=m -CONFIG_SENSORS_DME1737=m -CONFIG_SENSORS_SMSC47M1=m -CONFIG_SENSORS_SMSC47M192=m -CONFIG_SENSORS_SMSC47B397=m -CONFIG_SENSORS_ADS7828=m -CONFIG_SENSORS_THMC50=m -CONFIG_SENSORS_TMP401=m -CONFIG_SENSORS_TMP421=m -CONFIG_SENSORS_VIA686A=m -CONFIG_SENSORS_VT1211=m -CONFIG_SENSORS_VT8231=m -CONFIG_SENSORS_W83781D=m -CONFIG_SENSORS_W83791D=m -CONFIG_SENSORS_W83792D=m -CONFIG_SENSORS_W83793=m -CONFIG_SENSORS_W83L785TS=m -CONFIG_SENSORS_W83L786NG=m -CONFIG_SENSORS_W83627HF=m -CONFIG_SENSORS_W83627EHF=m -CONFIG_SENSORS_HDAPS=m -CONFIG_SENSORS_APPLESMC=m - -# -# ACPI drivers -# -CONFIG_SENSORS_ATK0110=m -CONFIG_SENSORS_LIS3LV02D=m -CONFIG_THERMAL=y -CONFIG_WATCHDOG=y -# CONFIG_WATCHDOG_NOWAYOUT is not set - -# -# Watchdog Device Drivers -# -CONFIG_SOFT_WATCHDOG=m -CONFIG_ACQUIRE_WDT=m -CONFIG_ADVANTECH_WDT=m -CONFIG_ALIM1535_WDT=m -CONFIG_ALIM7101_WDT=m -CONFIG_SC520_WDT=m -# CONFIG_SBC_FITPC2_WATCHDOG is not set -CONFIG_EUROTECH_WDT=m -CONFIG_IB700_WDT=m -CONFIG_IBMASR=m -CONFIG_WAFER_WDT=m -CONFIG_I6300ESB_WDT=m -CONFIG_ITCO_WDT=m -CONFIG_ITCO_VENDOR_SUPPORT=y -CONFIG_IT8712F_WDT=m -CONFIG_IT87_WDT=m -# CONFIG_HP_WATCHDOG is not set -CONFIG_SC1200_WDT=m -CONFIG_PC87413_WDT=m -CONFIG_60XX_WDT=m -CONFIG_SBC8360_WDT=m -CONFIG_CPU5_WDT=m -CONFIG_SMSC_SCH311X_WDT=m -CONFIG_SMSC37B787_WDT=m -CONFIG_W83627HF_WDT=m -CONFIG_W83697HF_WDT=m -CONFIG_W83697UG_WDT=m -CONFIG_W83877F_WDT=m -CONFIG_W83977F_WDT=m -CONFIG_MACHZ_WDT=m -CONFIG_SBC_EPX_C3_WATCHDOG=m -# CONFIG_XEN_WDT is not set - -# -# PCI-based Watchdog Cards -# -CONFIG_PCIPCWATCHDOG=m -CONFIG_WDTPCI=m - -# -# USB-based Watchdog Cards -# -CONFIG_USBPCWATCHDOG=m -CONFIG_SSB_POSSIBLE=y - -# -# Sonics Silicon Backplane -# -CONFIG_SSB=m -CONFIG_SSB_SPROM=y -CONFIG_SSB_PCIHOST_POSSIBLE=y -CONFIG_SSB_PCIHOST=y -# CONFIG_SSB_B43_PCI_BRIDGE is not set -CONFIG_SSB_PCMCIAHOST_POSSIBLE=y -CONFIG_SSB_PCMCIAHOST=y -CONFIG_SSB_SDIOHOST_POSSIBLE=y -CONFIG_SSB_SDIOHOST=y -# CONFIG_SSB_SILENT is not set -# CONFIG_SSB_DEBUG is not set -CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y -CONFIG_SSB_DRIVER_PCICORE=y - -# -# Multifunction device drivers -# -CONFIG_MFD_CORE=m -CONFIG_MFD_SM501=m -# CONFIG_MFD_SM501_GPIO is not set -CONFIG_HTC_PASIC3=m -CONFIG_UCB1400_CORE=m -CONFIG_TPS65010=m -# CONFIG_MFD_TMIO is not set -CONFIG_MFD_WM8400=m -# CONFIG_MFD_WM831X is not set -# CONFIG_MFD_WM8350_I2C is not set -CONFIG_MFD_PCF50633=m -# CONFIG_MFD_MC13783 is not set -CONFIG_PCF50633_ADC=m -CONFIG_PCF50633_GPIO=m -# CONFIG_AB3100_CORE is not set -# CONFIG_EZX_PCAP is not set -CONFIG_REGULATOR=y -# CONFIG_REGULATOR_DEBUG is not set -# CONFIG_REGULATOR_FIXED_VOLTAGE is not set -CONFIG_REGULATOR_VIRTUAL_CONSUMER=m -CONFIG_REGULATOR_USERSPACE_CONSUMER=m -CONFIG_REGULATOR_BQ24022=m -CONFIG_REGULATOR_MAX1586=m -CONFIG_REGULATOR_WM8400=m -CONFIG_REGULATOR_PCF50633=m -CONFIG_REGULATOR_LP3971=m -# CONFIG_REGULATOR_TPS65023 is not set -# CONFIG_REGULATOR_TPS6507X is not set -CONFIG_MEDIA_SUPPORT=m - -# -# Multimedia core support -# -CONFIG_VIDEO_DEV=m -CONFIG_VIDEO_V4L2_COMMON=m -# CONFIG_VIDEO_ALLOW_V4L1 is not set -CONFIG_VIDEO_V4L1_COMPAT=y -CONFIG_DVB_CORE=m -CONFIG_VIDEO_MEDIA=m - -# -# Multimedia drivers -# -CONFIG_VIDEO_SAA7146=m -CONFIG_VIDEO_SAA7146_VV=m -# CONFIG_MEDIA_ATTACH is not set -CONFIG_MEDIA_TUNER=m -# CONFIG_MEDIA_TUNER_CUSTOMISE is not set -CONFIG_MEDIA_TUNER_SIMPLE=m -CONFIG_MEDIA_TUNER_TDA8290=m -CONFIG_MEDIA_TUNER_TDA827X=m -CONFIG_MEDIA_TUNER_TDA18271=m -CONFIG_MEDIA_TUNER_TDA9887=m -CONFIG_MEDIA_TUNER_TEA5761=m -CONFIG_MEDIA_TUNER_TEA5767=m -CONFIG_MEDIA_TUNER_MT20XX=m -CONFIG_MEDIA_TUNER_MT2060=m -CONFIG_MEDIA_TUNER_MT2266=m -CONFIG_MEDIA_TUNER_MT2131=m -CONFIG_MEDIA_TUNER_QT1010=m -CONFIG_MEDIA_TUNER_XC2028=m -CONFIG_MEDIA_TUNER_XC5000=m -CONFIG_MEDIA_TUNER_MXL5005S=m -CONFIG_MEDIA_TUNER_MXL5007T=m -CONFIG_MEDIA_TUNER_MC44S803=m -CONFIG_VIDEO_V4L2=m -CONFIG_VIDEOBUF_GEN=m -CONFIG_VIDEOBUF_DMA_SG=m -CONFIG_VIDEOBUF_VMALLOC=m -CONFIG_VIDEOBUF_DVB=m -CONFIG_VIDEO_BTCX=m -CONFIG_VIDEO_IR=m -CONFIG_VIDEO_TVEEPROM=m -CONFIG_VIDEO_TUNER=m -CONFIG_VIDEO_CAPTURE_DRIVERS=y -# CONFIG_VIDEO_ADV_DEBUG is not set -# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set -# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set -CONFIG_VIDEO_IR_I2C=m - -# -# Encoders/decoders and other helper chips -# - -# -# Audio decoders -# -CONFIG_VIDEO_TVAUDIO=m -CONFIG_VIDEO_TDA7432=m -CONFIG_VIDEO_TDA9840=m -CONFIG_VIDEO_TDA9875=m -CONFIG_VIDEO_TEA6415C=m -CONFIG_VIDEO_TEA6420=m -CONFIG_VIDEO_MSP3400=m -CONFIG_VIDEO_CS5345=m -CONFIG_VIDEO_CS53L32A=m -CONFIG_VIDEO_M52790=m -CONFIG_VIDEO_TLV320AIC23B=m -CONFIG_VIDEO_WM8775=m -CONFIG_VIDEO_WM8739=m -CONFIG_VIDEO_VP27SMPX=m - -# -# RDS decoders -# -CONFIG_VIDEO_SAA6588=m - -# -# Video decoders -# -# CONFIG_VIDEO_ADV7180 is not set -CONFIG_VIDEO_BT819=m -CONFIG_VIDEO_BT856=m -CONFIG_VIDEO_BT866=m -CONFIG_VIDEO_KS0127=m -CONFIG_VIDEO_OV7670=m -CONFIG_VIDEO_MT9V011=m -CONFIG_VIDEO_TCM825X=m -CONFIG_VIDEO_SAA7110=m -CONFIG_VIDEO_SAA711X=m -CONFIG_VIDEO_SAA717X=m -CONFIG_VIDEO_TVP514X=m -CONFIG_VIDEO_TVP5150=m -CONFIG_VIDEO_VPX3220=m - -# -# Video and audio decoders -# -CONFIG_VIDEO_CX25840=m - -# -# MPEG video encoders -# -CONFIG_VIDEO_CX2341X=m - -# -# Video encoders -# -CONFIG_VIDEO_SAA7127=m -CONFIG_VIDEO_SAA7185=m -CONFIG_VIDEO_ADV7170=m -CONFIG_VIDEO_ADV7175=m -CONFIG_VIDEO_THS7303=m -CONFIG_VIDEO_ADV7343=m - -# -# Video improvement chips -# -CONFIG_VIDEO_UPD64031A=m -CONFIG_VIDEO_UPD64083=m -# CONFIG_VIDEO_VIVI is not set -CONFIG_VIDEO_BT848=m -CONFIG_VIDEO_BT848_DVB=y -CONFIG_VIDEO_SAA5246A=m -CONFIG_VIDEO_SAA5249=m -CONFIG_VIDEO_ZORAN=m -CONFIG_VIDEO_ZORAN_DC30=m -CONFIG_VIDEO_ZORAN_ZR36060=m -CONFIG_VIDEO_ZORAN_BUZ=m -CONFIG_VIDEO_ZORAN_DC10=m -CONFIG_VIDEO_ZORAN_LML33=m -CONFIG_VIDEO_ZORAN_LML33R10=m -CONFIG_VIDEO_ZORAN_AVS6EYES=m -CONFIG_VIDEO_SAA7134=m -CONFIG_VIDEO_SAA7134_ALSA=m -CONFIG_VIDEO_SAA7134_DVB=m -CONFIG_VIDEO_HEXIUM_ORION=m -CONFIG_VIDEO_HEXIUM_GEMINI=m -CONFIG_VIDEO_CX88=m -CONFIG_VIDEO_CX88_ALSA=m -CONFIG_VIDEO_CX88_BLACKBIRD=m -CONFIG_VIDEO_CX88_DVB=m -CONFIG_VIDEO_CX88_MPEG=m -CONFIG_VIDEO_CX88_VP3054=m -CONFIG_VIDEO_CX23885=m -CONFIG_VIDEO_AU0828=m -CONFIG_VIDEO_IVTV=m -CONFIG_VIDEO_FB_IVTV=m -CONFIG_VIDEO_CX18=m -CONFIG_VIDEO_SAA7164=m -CONFIG_VIDEO_CAFE_CCIC=m -CONFIG_SOC_CAMERA=m -CONFIG_SOC_CAMERA_MT9M001=m -CONFIG_SOC_CAMERA_MT9M111=m -CONFIG_SOC_CAMERA_MT9T031=m -CONFIG_SOC_CAMERA_MT9V022=m -CONFIG_SOC_CAMERA_TW9910=m -CONFIG_SOC_CAMERA_PLATFORM=m -CONFIG_SOC_CAMERA_OV772X=m -CONFIG_V4L_USB_DRIVERS=y -CONFIG_USB_VIDEO_CLASS=m -CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y -CONFIG_USB_GSPCA=m -CONFIG_USB_M5602=m -CONFIG_USB_STV06XX=m -CONFIG_USB_GL860=m -CONFIG_USB_GSPCA_CONEX=m -CONFIG_USB_GSPCA_ETOMS=m -CONFIG_USB_GSPCA_FINEPIX=m -CONFIG_USB_GSPCA_JEILINJ=m -CONFIG_USB_GSPCA_MARS=m -CONFIG_USB_GSPCA_MR97310A=m -CONFIG_USB_GSPCA_OV519=m -CONFIG_USB_GSPCA_OV534=m -CONFIG_USB_GSPCA_PAC207=m -CONFIG_USB_GSPCA_PAC7311=m -CONFIG_USB_GSPCA_SN9C20X=m -# CONFIG_USB_GSPCA_SN9C20X_EVDEV is not set -CONFIG_USB_GSPCA_SONIXB=m -CONFIG_USB_GSPCA_SONIXJ=m -CONFIG_USB_GSPCA_SPCA500=m -CONFIG_USB_GSPCA_SPCA501=m -CONFIG_USB_GSPCA_SPCA505=m -CONFIG_USB_GSPCA_SPCA506=m -CONFIG_USB_GSPCA_SPCA508=m -CONFIG_USB_GSPCA_SPCA561=m -CONFIG_USB_GSPCA_SQ905=m -CONFIG_USB_GSPCA_SQ905C=m -CONFIG_USB_GSPCA_STK014=m -CONFIG_USB_GSPCA_SUNPLUS=m -CONFIG_USB_GSPCA_T613=m -CONFIG_USB_GSPCA_TV8532=m -CONFIG_USB_GSPCA_VC032X=m -CONFIG_USB_GSPCA_ZC3XX=m -CONFIG_VIDEO_PVRUSB2=m -CONFIG_VIDEO_PVRUSB2_SYSFS=y -CONFIG_VIDEO_PVRUSB2_DVB=y -# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set -CONFIG_VIDEO_HDPVR=m -CONFIG_VIDEO_EM28XX=m -CONFIG_VIDEO_EM28XX_ALSA=m -CONFIG_VIDEO_EM28XX_DVB=m -CONFIG_VIDEO_CX231XX=m -CONFIG_VIDEO_CX231XX_ALSA=m -CONFIG_VIDEO_CX231XX_DVB=m -CONFIG_VIDEO_USBVISION=m -CONFIG_USB_ET61X251=m -CONFIG_USB_SN9C102=m -CONFIG_USB_ZC0301=m -CONFIG_USB_PWC_INPUT_EVDEV=y -CONFIG_USB_ZR364XX=m -CONFIG_USB_STKWEBCAM=m -CONFIG_USB_S2255=m -CONFIG_RADIO_ADAPTERS=y -CONFIG_RADIO_GEMTEK_PCI=m -CONFIG_RADIO_MAXIRADIO=m -CONFIG_RADIO_MAESTRO=m -# CONFIG_I2C_SI4713 is not set -# CONFIG_RADIO_SI4713 is not set -CONFIG_USB_DSBR=m -# CONFIG_RADIO_SI470X is not set -CONFIG_USB_MR800=m -CONFIG_RADIO_TEA5764=m -CONFIG_DVB_MAX_ADAPTERS=8 -# CONFIG_DVB_DYNAMIC_MINORS is not set -CONFIG_DVB_CAPTURE_DRIVERS=y - -# -# Supported SAA7146 based PCI Adapters -# -CONFIG_TTPCI_EEPROM=m -CONFIG_DVB_AV7110=m -CONFIG_DVB_AV7110_OSD=y -CONFIG_DVB_BUDGET_CORE=m -CONFIG_DVB_BUDGET=m -CONFIG_DVB_BUDGET_CI=m -CONFIG_DVB_BUDGET_AV=m -CONFIG_DVB_BUDGET_PATCH=m - -# -# Supported USB Adapters -# -CONFIG_DVB_USB=m -# CONFIG_DVB_USB_DEBUG is not set -CONFIG_DVB_USB_A800=m -CONFIG_DVB_USB_DIBUSB_MB=m -# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set -CONFIG_DVB_USB_DIBUSB_MC=m -CONFIG_DVB_USB_DIB0700=m -CONFIG_DVB_USB_UMT_010=m -CONFIG_DVB_USB_CXUSB=m -CONFIG_DVB_USB_M920X=m -CONFIG_DVB_USB_GL861=m -CONFIG_DVB_USB_AU6610=m -CONFIG_DVB_USB_DIGITV=m -CONFIG_DVB_USB_VP7045=m -CONFIG_DVB_USB_VP702X=m -CONFIG_DVB_USB_GP8PSK=m -CONFIG_DVB_USB_NOVA_T_USB2=m -CONFIG_DVB_USB_TTUSB2=m -CONFIG_DVB_USB_DTT200U=m -CONFIG_DVB_USB_OPERA1=m -CONFIG_DVB_USB_AF9005=m -CONFIG_DVB_USB_AF9005_REMOTE=m -CONFIG_DVB_USB_DW2102=m -CONFIG_DVB_USB_CINERGY_T2=m -CONFIG_DVB_USB_ANYSEE=m -CONFIG_DVB_USB_DTV5100=m -CONFIG_DVB_USB_AF9015=m -CONFIG_DVB_USB_CE6230=m -# CONFIG_DVB_USB_FRIIO is not set -CONFIG_DVB_TTUSB_BUDGET=m -CONFIG_DVB_TTUSB_DEC=m -CONFIG_SMS_SIANO_MDTV=m - -# -# Siano module components -# -CONFIG_SMS_USB_DRV=m -CONFIG_SMS_SDIO_DRV=m - -# -# Supported FlexCopII (B2C2) Adapters -# -CONFIG_DVB_B2C2_FLEXCOP=m -CONFIG_DVB_B2C2_FLEXCOP_PCI=m -CONFIG_DVB_B2C2_FLEXCOP_USB=m -# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set - -# -# Supported BT878 Adapters -# -CONFIG_DVB_BT8XX=m - -# -# Supported Pluto2 Adapters -# -CONFIG_DVB_PLUTO2=m - -# -# Supported SDMC DM1105 Adapters -# -CONFIG_DVB_DM1105=m - -# -# Supported FireWire (IEEE 1394) Adapters -# -CONFIG_DVB_FIREDTV=m -CONFIG_DVB_FIREDTV_IEEE1394=y -CONFIG_DVB_FIREDTV_INPUT=y - -# -# Supported Earthsoft PT1 Adapters -# -# CONFIG_DVB_PT1 is not set - -# -# Supported DVB Frontends -# -# CONFIG_DVB_FE_CUSTOMISE is not set -CONFIG_DVB_STB0899=m -CONFIG_DVB_STB6100=m -CONFIG_DVB_STV090x=m -CONFIG_DVB_STV6110x=m -CONFIG_DVB_CX24110=m -CONFIG_DVB_CX24123=m -CONFIG_DVB_MT312=m -CONFIG_DVB_ZL10036=m -CONFIG_DVB_ZL10039=m -CONFIG_DVB_S5H1420=m -CONFIG_DVB_STV0288=m -CONFIG_DVB_STB6000=m -CONFIG_DVB_STV0299=m -CONFIG_DVB_STV6110=m -CONFIG_DVB_STV0900=m -CONFIG_DVB_TDA8083=m -CONFIG_DVB_TDA10086=m -CONFIG_DVB_TDA8261=m -CONFIG_DVB_VES1X93=m -CONFIG_DVB_TUNER_ITD1000=m -CONFIG_DVB_TUNER_CX24113=m -CONFIG_DVB_TDA826X=m -CONFIG_DVB_TUA6100=m -CONFIG_DVB_CX24116=m -CONFIG_DVB_SI21XX=m -CONFIG_DVB_SP8870=m -CONFIG_DVB_SP887X=m -CONFIG_DVB_CX22700=m -CONFIG_DVB_CX22702=m -CONFIG_DVB_L64781=m -CONFIG_DVB_TDA1004X=m -CONFIG_DVB_NXT6000=m -CONFIG_DVB_MT352=m -CONFIG_DVB_ZL10353=m -CONFIG_DVB_DIB3000MB=m -CONFIG_DVB_DIB3000MC=m -CONFIG_DVB_DIB7000M=m -CONFIG_DVB_DIB7000P=m -CONFIG_DVB_TDA10048=m -CONFIG_DVB_AF9013=m -CONFIG_DVB_VES1820=m -CONFIG_DVB_TDA10021=m -CONFIG_DVB_TDA10023=m -CONFIG_DVB_STV0297=m -CONFIG_DVB_NXT200X=m -CONFIG_DVB_OR51211=m -CONFIG_DVB_OR51132=m -CONFIG_DVB_BCM3510=m -CONFIG_DVB_LGDT330X=m -CONFIG_DVB_LGDT3305=m -CONFIG_DVB_S5H1409=m -CONFIG_DVB_AU8522=m -CONFIG_DVB_S5H1411=m -CONFIG_DVB_DIB8000=m -CONFIG_DVB_PLL=m -CONFIG_DVB_TUNER_DIB0070=m -CONFIG_DVB_LNBP21=m -CONFIG_DVB_ISL6405=m -CONFIG_DVB_ISL6421=m -CONFIG_DVB_ISL6423=m -CONFIG_DVB_LGS8GXX=m -CONFIG_DAB=y -CONFIG_USB_DABUSB=m - -# -# Graphics support -# -CONFIG_AGP=m -CONFIG_AGP_AMD64=m -CONFIG_AGP_INTEL=m -CONFIG_AGP_SIS=m -CONFIG_AGP_VIA=m -# CONFIG_VGA_ARB is not set -CONFIG_DRM=m -CONFIG_DRM_KMS_HELPER=m -CONFIG_DRM_TTM=m -CONFIG_DRM_TDFX=m -CONFIG_DRM_R128=m -CONFIG_DRM_RADEON=m -CONFIG_DRM_I810=m -CONFIG_DRM_I830=m -CONFIG_DRM_I915=m -# CONFIG_DRM_I915_KMS is not set -CONFIG_DRM_MGA=m -CONFIG_DRM_SIS=m -CONFIG_DRM_VIA=m -CONFIG_DRM_SAVAGE=m -CONFIG_VGASTATE=m -CONFIG_VIDEO_OUTPUT_CONTROL=m -CONFIG_FB=m -# CONFIG_FIRMWARE_EDID is not set -CONFIG_FB_DDC=m -# CONFIG_FB_BOOT_VESA_SUPPORT is not set -CONFIG_FB_CFB_FILLRECT=m -CONFIG_FB_CFB_COPYAREA=m -CONFIG_FB_CFB_IMAGEBLIT=m -# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set -CONFIG_FB_SYS_FILLRECT=m -CONFIG_FB_SYS_COPYAREA=m -CONFIG_FB_SYS_IMAGEBLIT=m -# CONFIG_FB_FOREIGN_ENDIAN is not set -CONFIG_FB_SYS_FOPS=m -CONFIG_FB_DEFERRED_IO=y -CONFIG_FB_HECUBA=m -CONFIG_FB_SVGALIB=m -# CONFIG_FB_MACMODES is not set -CONFIG_FB_BACKLIGHT=y -CONFIG_FB_MODE_HELPERS=y -CONFIG_FB_TILEBLITTING=y - -# -# Frame buffer hardware drivers -# -CONFIG_FB_CIRRUS=m -CONFIG_FB_PM2=m -CONFIG_FB_PM2_FIFO_DISCONNECT=y -CONFIG_FB_CYBER2000=m -CONFIG_FB_ARC=m -CONFIG_FB_VGA16=m -CONFIG_FB_UVESA=m -CONFIG_FB_N411=m -CONFIG_FB_HGA=m -# CONFIG_FB_HGA_ACCEL is not set -CONFIG_FB_S1D13XXX=m -CONFIG_FB_NVIDIA=m -CONFIG_FB_NVIDIA_I2C=y -# CONFIG_FB_NVIDIA_DEBUG is not set -CONFIG_FB_NVIDIA_BACKLIGHT=y -CONFIG_FB_RIVA=m -CONFIG_FB_RIVA_I2C=y -# CONFIG_FB_RIVA_DEBUG is not set -CONFIG_FB_RIVA_BACKLIGHT=y -CONFIG_FB_LE80578=m -CONFIG_FB_CARILLO_RANCH=m -CONFIG_FB_INTEL=m -# CONFIG_FB_INTEL_DEBUG is not set -CONFIG_FB_INTEL_I2C=y -CONFIG_FB_MATROX=m -CONFIG_FB_MATROX_MILLENIUM=y -CONFIG_FB_MATROX_MYSTIQUE=y -CONFIG_FB_MATROX_G=y -CONFIG_FB_MATROX_I2C=m -CONFIG_FB_MATROX_MAVEN=m -CONFIG_FB_RADEON=m -CONFIG_FB_RADEON_I2C=y -CONFIG_FB_RADEON_BACKLIGHT=y -# CONFIG_FB_RADEON_DEBUG is not set -CONFIG_FB_ATY128=m -CONFIG_FB_ATY128_BACKLIGHT=y -CONFIG_FB_ATY=m -CONFIG_FB_ATY_CT=y -CONFIG_FB_ATY_GENERIC_LCD=y -CONFIG_FB_ATY_GX=y -CONFIG_FB_ATY_BACKLIGHT=y -CONFIG_FB_S3=m -CONFIG_FB_SAVAGE=m -CONFIG_FB_SAVAGE_I2C=y -CONFIG_FB_SAVAGE_ACCEL=y -CONFIG_FB_SIS=m -CONFIG_FB_SIS_300=y -CONFIG_FB_SIS_315=y -CONFIG_FB_VIA=m -CONFIG_FB_NEOMAGIC=m -CONFIG_FB_KYRO=m -CONFIG_FB_3DFX=m -CONFIG_FB_3DFX_ACCEL=y -CONFIG_FB_3DFX_I2C=y -CONFIG_FB_VOODOO1=m -CONFIG_FB_VT8623=m -CONFIG_FB_TRIDENT=m -CONFIG_FB_ARK=m -CONFIG_FB_PM3=m -CONFIG_FB_CARMINE=m -CONFIG_FB_CARMINE_DRAM_EVAL=y -# CONFIG_CARMINE_DRAM_CUSTOM is not set -CONFIG_FB_GEODE=y -CONFIG_FB_GEODE_LX=m -CONFIG_FB_GEODE_GX=m -CONFIG_FB_GEODE_GX1=m -CONFIG_FB_TMIO=m -CONFIG_FB_TMIO_ACCELL=y -CONFIG_FB_SM501=m -# CONFIG_FB_VIRTUAL is not set -CONFIG_XEN_FBDEV_FRONTEND=m -CONFIG_FB_METRONOME=m -CONFIG_FB_MB862XX=m -# CONFIG_FB_MB862XX_PCI_GDC is not set -CONFIG_FB_BROADSHEET=m -CONFIG_BACKLIGHT_LCD_SUPPORT=y -CONFIG_LCD_CLASS_DEVICE=m -CONFIG_LCD_LMS283GF05=m -CONFIG_LCD_LTV350QV=m -CONFIG_LCD_ILI9320=m -CONFIG_LCD_TDO24M=m -CONFIG_LCD_VGG2432A4=m -CONFIG_LCD_PLATFORM=m -CONFIG_BACKLIGHT_CLASS_DEVICE=m -CONFIG_BACKLIGHT_GENERIC=m -CONFIG_BACKLIGHT_PROGEAR=m -CONFIG_BACKLIGHT_CARILLO_RANCH=m -CONFIG_BACKLIGHT_MBP_NVIDIA=m -CONFIG_BACKLIGHT_SAHARA=m - -# -# Display device support -# -CONFIG_DISPLAY_SUPPORT=m - -# -# Display hardware drivers -# - -# -# Console display driver support -# -CONFIG_VGA_CONSOLE=y -# CONFIG_VGACON_SOFT_SCROLLBACK is not set -CONFIG_DUMMY_CONSOLE=y -CONFIG_FRAMEBUFFER_CONSOLE=m -CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y -CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y -# CONFIG_FONTS is not set -CONFIG_FONT_8x8=y -CONFIG_FONT_8x16=y -# CONFIG_LOGO is not set -CONFIG_SOUND=m -CONFIG_SOUND_OSS_CORE=y -CONFIG_SOUND_OSS_CORE_PRECLAIM=y -CONFIG_SND=m -CONFIG_SND_TIMER=m -CONFIG_SND_PCM=m -CONFIG_SND_HWDEP=m -CONFIG_SND_RAWMIDI=m -CONFIG_SND_JACK=y -CONFIG_SND_SEQUENCER=m -CONFIG_SND_SEQ_DUMMY=m -CONFIG_SND_OSSEMUL=y -CONFIG_SND_MIXER_OSS=m -CONFIG_SND_PCM_OSS=m -CONFIG_SND_PCM_OSS_PLUGINS=y -CONFIG_SND_SEQUENCER_OSS=y -CONFIG_SND_HRTIMER=m -CONFIG_SND_SEQ_HRTIMER_DEFAULT=y -CONFIG_SND_DYNAMIC_MINORS=y -# CONFIG_SND_SUPPORT_OLD_API is not set -# CONFIG_SND_VERBOSE_PROCFS is not set -# CONFIG_SND_VERBOSE_PRINTK is not set -# CONFIG_SND_DEBUG is not set -CONFIG_SND_VMASTER=y -CONFIG_SND_DMA_SGBUF=y -CONFIG_SND_RAWMIDI_SEQ=m -CONFIG_SND_OPL3_LIB_SEQ=m -# CONFIG_SND_OPL4_LIB_SEQ is not set -# CONFIG_SND_SBAWE_SEQ is not set -CONFIG_SND_EMU10K1_SEQ=m -CONFIG_SND_MPU401_UART=m -CONFIG_SND_OPL3_LIB=m -CONFIG_SND_VX_LIB=m -CONFIG_SND_AC97_CODEC=m -CONFIG_SND_DRIVERS=y -CONFIG_SND_PCSP=m -CONFIG_SND_DUMMY=m -CONFIG_SND_VIRMIDI=m -CONFIG_SND_MTPAV=m -CONFIG_SND_MTS64=m -CONFIG_SND_SERIAL_U16550=m -CONFIG_SND_MPU401=m -CONFIG_SND_PORTMAN2X4=m -CONFIG_SND_AC97_POWER_SAVE=y -CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0 -CONFIG_SND_SB_COMMON=m -CONFIG_SND_SB16_DSP=m -CONFIG_SND_PCI=y -CONFIG_SND_AD1889=m -CONFIG_SND_ALS300=m -CONFIG_SND_ALS4000=m -CONFIG_SND_ALI5451=m -CONFIG_SND_ATIIXP=m -CONFIG_SND_ATIIXP_MODEM=m -CONFIG_SND_AU8810=m -CONFIG_SND_AU8820=m -CONFIG_SND_AU8830=m -CONFIG_SND_AW2=m -CONFIG_SND_AZT3328=m -CONFIG_SND_BT87X=m -# CONFIG_SND_BT87X_OVERCLOCK is not set -CONFIG_SND_CA0106=m -CONFIG_SND_CMIPCI=m -CONFIG_SND_OXYGEN_LIB=m -CONFIG_SND_OXYGEN=m -CONFIG_SND_CS4281=m -CONFIG_SND_CS46XX=m -CONFIG_SND_CS46XX_NEW_DSP=y -CONFIG_SND_CS5530=m -CONFIG_SND_CS5535AUDIO=m -CONFIG_SND_CTXFI=m -CONFIG_SND_DARLA20=m -CONFIG_SND_GINA20=m -CONFIG_SND_LAYLA20=m -CONFIG_SND_DARLA24=m -CONFIG_SND_GINA24=m -CONFIG_SND_LAYLA24=m -CONFIG_SND_MONA=m -CONFIG_SND_MIA=m -CONFIG_SND_ECHO3G=m -CONFIG_SND_INDIGO=m -CONFIG_SND_INDIGOIO=m -CONFIG_SND_INDIGODJ=m -CONFIG_SND_INDIGOIOX=m -CONFIG_SND_INDIGODJX=m -CONFIG_SND_EMU10K1=m -CONFIG_SND_EMU10K1X=m -CONFIG_SND_ENS1370=m -CONFIG_SND_ENS1371=m -CONFIG_SND_ES1938=m -CONFIG_SND_ES1968=m -CONFIG_SND_FM801=m -# CONFIG_SND_FM801_TEA575X_BOOL is not set -CONFIG_SND_HDA_INTEL=m -CONFIG_SND_HDA_HWDEP=y -# CONFIG_SND_HDA_RECONFIG is not set -CONFIG_SND_HDA_INPUT_BEEP=y -CONFIG_SND_HDA_INPUT_JACK=y -# CONFIG_SND_HDA_PATCH_LOADER is not set -CONFIG_SND_HDA_CODEC_REALTEK=y -CONFIG_SND_HDA_CODEC_ANALOG=y -CONFIG_SND_HDA_CODEC_SIGMATEL=y -CONFIG_SND_HDA_CODEC_VIA=y -CONFIG_SND_HDA_CODEC_ATIHDMI=y -CONFIG_SND_HDA_CODEC_NVHDMI=y -CONFIG_SND_HDA_CODEC_INTELHDMI=y -CONFIG_SND_HDA_ELD=y -CONFIG_SND_HDA_CODEC_CIRRUS=y -CONFIG_SND_HDA_CODEC_CONEXANT=y -CONFIG_SND_HDA_CODEC_CA0110=y -CONFIG_SND_HDA_CODEC_CMEDIA=y -CONFIG_SND_HDA_CODEC_SI3054=y -CONFIG_SND_HDA_GENERIC=y -# CONFIG_SND_HDA_POWER_SAVE is not set -CONFIG_SND_HDSP=m -CONFIG_SND_HDSPM=m -CONFIG_SND_HIFIER=m -CONFIG_SND_ICE1712=m -CONFIG_SND_ICE1724=m -CONFIG_SND_INTEL8X0=m -CONFIG_SND_INTEL8X0M=m -CONFIG_SND_KORG1212=m -CONFIG_SND_LX6464ES=m -CONFIG_SND_MAESTRO3=m -CONFIG_SND_MIXART=m -CONFIG_SND_NM256=m -CONFIG_SND_PCXHR=m -CONFIG_SND_RIPTIDE=m -CONFIG_SND_RME32=m -CONFIG_SND_RME96=m -CONFIG_SND_RME9652=m -CONFIG_SND_SONICVIBES=m -CONFIG_SND_TRIDENT=m -CONFIG_SND_VIA82XX=m -CONFIG_SND_VIA82XX_MODEM=m -CONFIG_SND_VIRTUOSO=m -CONFIG_SND_VX222=m -CONFIG_SND_YMFPCI=m -CONFIG_SND_SPI=y -CONFIG_SND_USB=y -CONFIG_SND_USB_AUDIO=m -CONFIG_SND_USB_USX2Y=m -CONFIG_SND_USB_CAIAQ=m -# CONFIG_SND_USB_CAIAQ_INPUT is not set -CONFIG_SND_USB_US122L=m -CONFIG_SND_PCMCIA=y -CONFIG_SND_VXPOCKET=m -CONFIG_SND_PDAUDIOCF=m -CONFIG_SND_SOC=m -CONFIG_SND_SOC_I2C_AND_SPI=m -CONFIG_SND_SOC_ALL_CODECS=m -CONFIG_SND_SOC_WM_HUBS=m -CONFIG_SND_SOC_AD1836=m -CONFIG_SND_SOC_AD1938=m -CONFIG_SND_SOC_AD73311=m -CONFIG_SND_SOC_AK4104=m -CONFIG_SND_SOC_AK4535=m -CONFIG_SND_SOC_AK4642=m -CONFIG_SND_SOC_CS4270=m -CONFIG_SND_SOC_L3=m -CONFIG_SND_SOC_PCM3008=m -CONFIG_SND_SOC_SPDIF=m -CONFIG_SND_SOC_SSM2602=m -CONFIG_SND_SOC_TLV320AIC23=m -CONFIG_SND_SOC_TLV320AIC26=m -CONFIG_SND_SOC_TLV320AIC3X=m -CONFIG_SND_SOC_UDA134X=m -CONFIG_SND_SOC_UDA1380=m -CONFIG_SND_SOC_WM8400=m -CONFIG_SND_SOC_WM8510=m -CONFIG_SND_SOC_WM8523=m -CONFIG_SND_SOC_WM8580=m -CONFIG_SND_SOC_WM8728=m -CONFIG_SND_SOC_WM8731=m -CONFIG_SND_SOC_WM8750=m -CONFIG_SND_SOC_WM8753=m -CONFIG_SND_SOC_WM8776=m -CONFIG_SND_SOC_WM8900=m -CONFIG_SND_SOC_WM8903=m -CONFIG_SND_SOC_WM8940=m -CONFIG_SND_SOC_WM8960=m -CONFIG_SND_SOC_WM8961=m -CONFIG_SND_SOC_WM8971=m -CONFIG_SND_SOC_WM8974=m -CONFIG_SND_SOC_WM8988=m -CONFIG_SND_SOC_WM8990=m -CONFIG_SND_SOC_WM8993=m -CONFIG_SND_SOC_WM9081=m -CONFIG_SND_SOC_MAX9877=m -# CONFIG_SOUND_PRIME is not set -CONFIG_AC97_BUS=m -CONFIG_HID_SUPPORT=y -CONFIG_HID=m -CONFIG_HIDRAW=y - -# -# USB Input Devices -# -CONFIG_USB_HID=m -# CONFIG_HID_PID is not set -# CONFIG_USB_HIDDEV is not set - -# -# USB HID Boot Protocol drivers -# -CONFIG_USB_KBD=m -CONFIG_USB_MOUSE=m - -# -# Special HID drivers -# -# CONFIG_HID_A4TECH is not set -# CONFIG_HID_APPLE is not set -# CONFIG_HID_BELKIN is not set -# CONFIG_HID_CHERRY is not set -# CONFIG_HID_CHICONY is not set -# CONFIG_HID_CYPRESS is not set -# CONFIG_HID_DRAGONRISE is not set -# CONFIG_HID_EZKEY is not set -# CONFIG_HID_KYE is not set -# CONFIG_HID_GYRATION is not set -# CONFIG_HID_TWINHAN is not set -# CONFIG_HID_KENSINGTON is not set -# CONFIG_HID_LOGITECH is not set -# CONFIG_HID_MICROSOFT is not set -# CONFIG_HID_MONTEREY is not set -# CONFIG_HID_NTRIG is not set -# CONFIG_HID_PANTHERLORD is not set -# CONFIG_HID_PETALYNX is not set -# CONFIG_HID_SAMSUNG is not set -# CONFIG_HID_SONY is not set -# CONFIG_HID_SUNPLUS is not set -# CONFIG_HID_GREENASIA is not set -# CONFIG_HID_SMARTJOYPLUS is not set -# CONFIG_HID_TOPSEED is not set -# CONFIG_HID_THRUSTMASTER is not set -# CONFIG_HID_WACOM is not set -# CONFIG_HID_ZEROPLUS is not set -CONFIG_USB_SUPPORT=y -CONFIG_USB_ARCH_HAS_HCD=y -CONFIG_USB_ARCH_HAS_OHCI=y -CONFIG_USB_ARCH_HAS_EHCI=y -CONFIG_USB=m -# CONFIG_USB_DEBUG is not set -CONFIG_USB_ANNOUNCE_NEW_DEVICES=y - -# -# Miscellaneous USB options -# -CONFIG_USB_DEVICEFS=y -CONFIG_USB_DEVICE_CLASS=y -# CONFIG_USB_DYNAMIC_MINORS is not set -# CONFIG_USB_SUSPEND is not set -# CONFIG_USB_OTG is not set -# CONFIG_USB_OTG_WHITELIST is not set -# CONFIG_USB_OTG_BLACKLIST_HUB is not set -CONFIG_USB_MON=m -CONFIG_USB_WUSB=m -CONFIG_USB_WUSB_CBAF=m -# CONFIG_USB_WUSB_CBAF_DEBUG is not set - -# -# USB Host Controller Drivers -# -CONFIG_USB_C67X00_HCD=m -CONFIG_USB_XHCI_HCD=m -# CONFIG_USB_XHCI_HCD_DEBUGGING is not set -CONFIG_USB_EHCI_HCD=m -# CONFIG_USB_EHCI_ROOT_HUB_TT is not set -# CONFIG_USB_EHCI_TT_NEWSCHED is not set -CONFIG_USB_OXU210HP_HCD=m -CONFIG_USB_ISP116X_HCD=m -CONFIG_USB_ISP1760_HCD=m -CONFIG_USB_ISP1362_HCD=m -CONFIG_USB_OHCI_HCD=m -CONFIG_USB_OHCI_HCD_SSB=y -# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set -# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set -CONFIG_USB_OHCI_LITTLE_ENDIAN=y -CONFIG_USB_UHCI_HCD=m -CONFIG_USB_U132_HCD=m -CONFIG_USB_SL811_HCD=m -CONFIG_USB_SL811_CS=m -CONFIG_USB_R8A66597_HCD=m -CONFIG_USB_WHCI_HCD=m -CONFIG_USB_HWA_HCD=m - -# -# Enable Host or Gadget support to see Inventra options -# - -# -# USB Device Class drivers -# -CONFIG_USB_ACM=m -CONFIG_USB_PRINTER=m -CONFIG_USB_WDM=m -CONFIG_USB_TMC=m - -# -# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may -# - -# -# also be needed; see USB_STORAGE Help for more info -# -CONFIG_USB_STORAGE=m -# CONFIG_USB_STORAGE_DEBUG is not set -CONFIG_USB_STORAGE_DATAFAB=m -CONFIG_USB_STORAGE_FREECOM=m -CONFIG_USB_STORAGE_ISD200=m -CONFIG_USB_STORAGE_USBAT=m -CONFIG_USB_STORAGE_SDDR09=m -CONFIG_USB_STORAGE_SDDR55=m -CONFIG_USB_STORAGE_JUMPSHOT=m -CONFIG_USB_STORAGE_ALAUDA=m -CONFIG_USB_STORAGE_ONETOUCH=m -CONFIG_USB_STORAGE_KARMA=m -CONFIG_USB_STORAGE_CYPRESS_ATACB=m -CONFIG_USB_LIBUSUAL=y - -# -# USB Imaging devices -# -# CONFIG_USB_MDC800 is not set -# CONFIG_USB_MICROTEK is not set - -# -# USB port drivers -# -CONFIG_USB_USS720=m -CONFIG_USB_SERIAL=m -CONFIG_USB_EZUSB=y -CONFIG_USB_SERIAL_GENERIC=y -CONFIG_USB_SERIAL_AIRCABLE=m -CONFIG_USB_SERIAL_ARK3116=m -CONFIG_USB_SERIAL_BELKIN=m -CONFIG_USB_SERIAL_CH341=m -CONFIG_USB_SERIAL_WHITEHEAT=m -CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m -CONFIG_USB_SERIAL_CP210X=m -CONFIG_USB_SERIAL_CYPRESS_M8=m -CONFIG_USB_SERIAL_EMPEG=m -CONFIG_USB_SERIAL_FTDI_SIO=m -CONFIG_USB_SERIAL_FUNSOFT=m -CONFIG_USB_SERIAL_VISOR=m -CONFIG_USB_SERIAL_IPAQ=m -CONFIG_USB_SERIAL_IR=m -CONFIG_USB_SERIAL_EDGEPORT=m -CONFIG_USB_SERIAL_EDGEPORT_TI=m -CONFIG_USB_SERIAL_GARMIN=m -CONFIG_USB_SERIAL_IPW=m -CONFIG_USB_SERIAL_IUU=m -CONFIG_USB_SERIAL_KEYSPAN_PDA=m -CONFIG_USB_SERIAL_KEYSPAN=m -CONFIG_USB_SERIAL_KLSI=m -CONFIG_USB_SERIAL_KOBIL_SCT=m -CONFIG_USB_SERIAL_MCT_U232=m -CONFIG_USB_SERIAL_MOS7720=m -CONFIG_USB_SERIAL_MOS7840=m -CONFIG_USB_SERIAL_MOTOROLA=m -CONFIG_USB_SERIAL_NAVMAN=m -CONFIG_USB_SERIAL_PL2303=m -CONFIG_USB_SERIAL_OTI6858=m -CONFIG_USB_SERIAL_QUALCOMM=m -CONFIG_USB_SERIAL_SPCP8X5=m -CONFIG_USB_SERIAL_HP4X=m -CONFIG_USB_SERIAL_SAFE=m -CONFIG_USB_SERIAL_SAFE_PADDED=y -CONFIG_USB_SERIAL_SIEMENS_MPI=m -CONFIG_USB_SERIAL_SIERRAWIRELESS=m -CONFIG_USB_SERIAL_SYMBOL=m -CONFIG_USB_SERIAL_TI=m -CONFIG_USB_SERIAL_CYBERJACK=m -CONFIG_USB_SERIAL_XIRCOM=m -CONFIG_USB_SERIAL_OPTION=m -CONFIG_USB_SERIAL_OMNINET=m -CONFIG_USB_SERIAL_OPTICON=m -CONFIG_USB_SERIAL_DEBUG=m - -# -# USB Miscellaneous drivers -# -CONFIG_USB_EMI62=m -CONFIG_USB_EMI26=m -CONFIG_USB_ADUTUX=m -CONFIG_USB_SEVSEG=m -CONFIG_USB_RIO500=m -# CONFIG_USB_LEGOTOWER is not set -CONFIG_USB_LCD=m -# CONFIG_USB_BERRY_CHARGE is not set -CONFIG_USB_LED=m -CONFIG_USB_CYPRESS_CY7C63=m -CONFIG_USB_CYTHERM=m -CONFIG_USB_IDMOUSE=m -CONFIG_USB_FTDI_ELAN=m -# CONFIG_USB_APPLEDISPLAY is not set -CONFIG_USB_SISUSBVGA=m -CONFIG_USB_SISUSBVGA_CON=y -CONFIG_USB_LD=m -# CONFIG_USB_TRANCEVIBRATOR is not set -CONFIG_USB_IOWARRIOR=m -CONFIG_USB_TEST=m -CONFIG_USB_ISIGHTFW=m -# CONFIG_USB_VST is not set -CONFIG_USB_ATM=m -CONFIG_USB_SPEEDTOUCH=m -CONFIG_USB_CXACRU=m -CONFIG_USB_UEAGLEATM=m -CONFIG_USB_XUSBATM=m -# CONFIG_USB_GADGET is not set - -# -# OTG and related infrastructure -# -CONFIG_USB_OTG_UTILS=y -CONFIG_USB_GPIO_VBUS=m -CONFIG_NOP_USB_XCEIV=m -CONFIG_UWB=m -CONFIG_UWB_HWA=m -CONFIG_UWB_WHCI=m -CONFIG_UWB_WLP=m -CONFIG_UWB_I1480U=m -CONFIG_UWB_I1480U_WLP=m -CONFIG_MMC=m -# CONFIG_MMC_DEBUG is not set -# CONFIG_MMC_UNSAFE_RESUME is not set - -# -# MMC/SD/SDIO Card Drivers -# -CONFIG_MMC_BLOCK=m -CONFIG_MMC_BLOCK_BOUNCE=y -CONFIG_SDIO_UART=m -CONFIG_MMC_TEST=m - -# -# MMC/SD/SDIO Host Controller Drivers -# -CONFIG_MMC_SDHCI=m -CONFIG_MMC_SDHCI_PCI=m -CONFIG_MMC_RICOH_MMC=m -CONFIG_MMC_SDHCI_PLTFM=m -CONFIG_MMC_WBSD=m -# CONFIG_MMC_AT91 is not set -# CONFIG_MMC_ATMELMCI is not set -CONFIG_MMC_TIFM_SD=m -# CONFIG_MMC_SPI is not set -CONFIG_MMC_SDRICOH_CS=m -CONFIG_MMC_CB710=m -CONFIG_MMC_VIA_SDMMC=m -CONFIG_MEMSTICK=m -# CONFIG_MEMSTICK_DEBUG is not set - -# -# MemoryStick drivers -# -# CONFIG_MEMSTICK_UNSAFE_RESUME is not set -CONFIG_MSPRO_BLOCK=m - -# -# MemoryStick Host Controller Drivers -# -CONFIG_MEMSTICK_TIFM_MS=m -CONFIG_MEMSTICK_JMICRON_38X=m -CONFIG_NEW_LEDS=y -CONFIG_LEDS_CLASS=m - -# -# LED drivers -# -CONFIG_LEDS_ALIX2=m -CONFIG_LEDS_PCA9532=m -CONFIG_LEDS_GPIO=m -CONFIG_LEDS_GPIO_PLATFORM=y -CONFIG_LEDS_LP3944=m -CONFIG_LEDS_CLEVO_MAIL=m -CONFIG_LEDS_PCA955X=m -CONFIG_LEDS_DAC124S085=m -CONFIG_LEDS_BD2802=m - -# -# LED Triggers -# -CONFIG_LEDS_TRIGGERS=y -CONFIG_LEDS_TRIGGER_TIMER=m -CONFIG_LEDS_TRIGGER_HEARTBEAT=m -CONFIG_LEDS_TRIGGER_BACKLIGHT=m -CONFIG_LEDS_TRIGGER_GPIO=m -CONFIG_LEDS_TRIGGER_DEFAULT_ON=m - -# -# iptables trigger is under Netfilter config (LED target) -# -CONFIG_ACCESSIBILITY=y -# CONFIG_A11Y_BRAILLE_CONSOLE is not set -CONFIG_INFINIBAND=m -CONFIG_INFINIBAND_USER_MAD=m -CONFIG_INFINIBAND_USER_ACCESS=m -CONFIG_INFINIBAND_USER_MEM=y -CONFIG_INFINIBAND_ADDR_TRANS=y -CONFIG_INFINIBAND_MTHCA=m -# CONFIG_INFINIBAND_MTHCA_DEBUG is not set -# CONFIG_INFINIBAND_IPATH is not set -CONFIG_INFINIBAND_AMSO1100=m -# CONFIG_INFINIBAND_AMSO1100_DEBUG is not set -CONFIG_INFINIBAND_CXGB3=m -# CONFIG_INFINIBAND_CXGB3_DEBUG is not set -CONFIG_MLX4_INFINIBAND=m -CONFIG_INFINIBAND_NES=m -# CONFIG_INFINIBAND_NES_DEBUG is not set -CONFIG_INFINIBAND_IPOIB=m -# CONFIG_INFINIBAND_IPOIB_CM is not set -# CONFIG_INFINIBAND_IPOIB_DEBUG is not set -CONFIG_INFINIBAND_SRP=m -CONFIG_INFINIBAND_ISER=m -# CONFIG_EDAC is not set -CONFIG_RTC_LIB=m -CONFIG_RTC_CLASS=m - -# -# RTC interfaces -# -CONFIG_RTC_INTF_SYSFS=y -CONFIG_RTC_INTF_PROC=y -CONFIG_RTC_INTF_DEV=y -CONFIG_RTC_INTF_DEV_UIE_EMUL=y -CONFIG_RTC_DRV_TEST=m - -# -# I2C RTC drivers -# -CONFIG_RTC_DRV_DS1307=m -CONFIG_RTC_DRV_DS1374=m -CONFIG_RTC_DRV_DS1672=m -CONFIG_RTC_DRV_MAX6900=m -CONFIG_RTC_DRV_RS5C372=m -CONFIG_RTC_DRV_ISL1208=m -CONFIG_RTC_DRV_X1205=m -CONFIG_RTC_DRV_PCF8563=m -CONFIG_RTC_DRV_PCF8583=m -CONFIG_RTC_DRV_M41T80=m -CONFIG_RTC_DRV_M41T80_WDT=y -CONFIG_RTC_DRV_S35390A=m -CONFIG_RTC_DRV_FM3130=m -CONFIG_RTC_DRV_RX8581=m -CONFIG_RTC_DRV_RX8025=m - -# -# SPI RTC drivers -# -CONFIG_RTC_DRV_M41T94=m -CONFIG_RTC_DRV_DS1305=m -CONFIG_RTC_DRV_DS1390=m -CONFIG_RTC_DRV_MAX6902=m -CONFIG_RTC_DRV_R9701=m -CONFIG_RTC_DRV_RS5C348=m -CONFIG_RTC_DRV_DS3234=m -CONFIG_RTC_DRV_PCF2123=m - -# -# Platform RTC drivers -# -CONFIG_RTC_DRV_CMOS=m -CONFIG_RTC_DRV_DS1286=m -CONFIG_RTC_DRV_DS1511=m -CONFIG_RTC_DRV_DS1553=m -CONFIG_RTC_DRV_DS1742=m -CONFIG_RTC_DRV_STK17TA8=m -CONFIG_RTC_DRV_M48T86=m -CONFIG_RTC_DRV_M48T35=m -CONFIG_RTC_DRV_M48T59=m -CONFIG_RTC_DRV_BQ4802=m -CONFIG_RTC_DRV_V3020=m -CONFIG_RTC_DRV_PCF50633=m - -# -# on-CPU RTC drivers -# -CONFIG_DMADEVICES=y - -# -# DMA Devices -# -CONFIG_ASYNC_TX_DISABLE_CHANNEL_SWITCH=y -CONFIG_INTEL_IOATDMA=m -CONFIG_DMA_ENGINE=y - -# -# DMA Clients -# -CONFIG_NET_DMA=y -# CONFIG_ASYNC_TX_DMA is not set -CONFIG_DMATEST=m -CONFIG_DCA=m -CONFIG_AUXDISPLAY=y -CONFIG_KS0108=m -CONFIG_KS0108_PORT=0x378 -CONFIG_KS0108_DELAY=2 -CONFIG_CFAG12864B=m -CONFIG_CFAG12864B_RATE=20 -CONFIG_UIO=m -CONFIG_UIO_CIF=m -CONFIG_UIO_PDRV=m -CONFIG_UIO_PDRV_GENIRQ=m -# CONFIG_UIO_SMX is not set -CONFIG_UIO_AEC=m -CONFIG_UIO_SERCOS3=m -# CONFIG_UIO_PCI_GENERIC is not set - -# -# TI VLYNQ -# -CONFIG_XEN_BALLOON=y -CONFIG_XEN_SCRUB_PAGES=y -CONFIG_XEN_DEV_EVTCHN=y -CONFIG_XEN_BACKEND=y -# CONFIG_XEN_NETDEV_BACKEND is not set -# CONFIG_XEN_BLKDEV_BACKEND is not set -# CONFIG_XEN_BLKDEV_TAP is not set -CONFIG_XEN_PCIDEV_BACKEND=y -CONFIG_XEN_PCIDEV_BACKEND_VPCI=y -# CONFIG_XEN_PCIDEV_BACKEND_PASS is not set -# CONFIG_XEN_PCIDEV_BACKEND_SLOT is not set -# CONFIG_XEN_PCIDEV_BACKEND_CONTROLLER is not set -# CONFIG_XEN_PCIDEV_BE_DEBUG is not set -CONFIG_XENFS=y -CONFIG_XEN_COMPAT_XENFS=y -CONFIG_XEN_SYS_HYPERVISOR=y -CONFIG_XEN_XENBUS_FRONTEND=y -# CONFIG_XEN_GNTDEV is not set -CONFIG_XEN_S3=y -CONFIG_ACPI_PROCESSOR_XEN=m -CONFIG_XEN_PLATFORM_PCI=m -CONFIG_STAGING=y -# CONFIG_STAGING_EXCLUDE_BUILD is not set -# CONFIG_ET131X is not set -# CONFIG_SLICOSS is not set -# CONFIG_VIDEO_GO7007 is not set -# CONFIG_VIDEO_CX25821 is not set -# CONFIG_USB_IP_COMMON is not set -# CONFIG_W35UND is not set -# CONFIG_PRISM2_USB is not set -# CONFIG_ECHO is not set -# CONFIG_POCH is not set -# CONFIG_OTUS is not set -# CONFIG_RT2860 is not set -# CONFIG_RT2870 is not set -# CONFIG_RT3090 is not set -# CONFIG_COMEDI is not set -# CONFIG_ASUS_OLED is not set -# CONFIG_PANEL is not set -# CONFIG_ALTERA_PCIE_CHDMA is not set -# CONFIG_RTL8187SE is not set -# CONFIG_RTL8192SU is not set -# CONFIG_RTL8192E is not set -# CONFIG_TRANZPORT is not set - -# -# Android -# - -# -# Qualcomm MSM Camera And Video -# - -# -# Camera Sensor Selection -# -# CONFIG_INPUT_GPIO is not set -# CONFIG_DST is not set -# CONFIG_POHMELFS is not set -# CONFIG_B3DFG is not set -# CONFIG_IDE_PHISON is not set -# CONFIG_PLAN9AUTH is not set -# CONFIG_LINE6_USB is not set -# CONFIG_DRM_RADEON_KMS is not set -# CONFIG_USB_SERIAL_QUATECH2 is not set -# CONFIG_USB_SERIAL_QUATECH_USB2 is not set -# CONFIG_VT6655 is not set -# CONFIG_VT6656 is not set -# CONFIG_FB_UDL is not set -CONFIG_HYPERV=m -CONFIG_HYPERV_STORAGE=m -CONFIG_HYPERV_BLOCK=m -CONFIG_HYPERV_NET=m -# CONFIG_VME_BUS is not set - -# -# RAR Register Driver -# -# CONFIG_RAR_REGISTER is not set -# CONFIG_IIO is not set -CONFIG_X86_PLATFORM_DEVICES=y -CONFIG_ACER_WMI=m -CONFIG_ASUS_LAPTOP=m -CONFIG_DELL_WMI=m -CONFIG_FUJITSU_LAPTOP=m -# CONFIG_FUJITSU_LAPTOP_DEBUG is not set -CONFIG_HP_WMI=m -CONFIG_MSI_LAPTOP=m -CONFIG_PANASONIC_LAPTOP=m -CONFIG_COMPAL_LAPTOP=m -CONFIG_SONY_LAPTOP=m -# CONFIG_SONYPI_COMPAT is not set -CONFIG_THINKPAD_ACPI=m -# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set -# CONFIG_THINKPAD_ACPI_DEBUG is not set -# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set -CONFIG_THINKPAD_ACPI_VIDEO=y -CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y -CONFIG_INTEL_MENLOW=m -CONFIG_EEEPC_LAPTOP=m -CONFIG_ACPI_WMI=m -CONFIG_ACPI_ASUS=m -# CONFIG_TOPSTAR_LAPTOP is not set -CONFIG_ACPI_TOSHIBA=m - -# -# Firmware Drivers -# -CONFIG_EDD=m -# CONFIG_EDD_OFF is not set -CONFIG_FIRMWARE_MEMMAP=y -CONFIG_DELL_RBU=m -CONFIG_DCDBAS=m -CONFIG_DMIID=y -# CONFIG_ISCSI_IBFT_FIND is not set - -# -# File systems -# -CONFIG_EXT2_FS=m -CONFIG_EXT2_FS_XATTR=y -CONFIG_EXT2_FS_POSIX_ACL=y -CONFIG_EXT2_FS_SECURITY=y -CONFIG_EXT2_FS_XIP=y -CONFIG_EXT3_FS=m -# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set -CONFIG_EXT3_FS_XATTR=y -CONFIG_EXT3_FS_POSIX_ACL=y -CONFIG_EXT3_FS_SECURITY=y -CONFIG_EXT4_FS=m -CONFIG_EXT4_FS_XATTR=y -CONFIG_EXT4_FS_POSIX_ACL=y -CONFIG_EXT4_FS_SECURITY=y -# CONFIG_EXT4_DEBUG is not set -CONFIG_FS_XIP=y -CONFIG_JBD=m -# CONFIG_JBD_DEBUG is not set -CONFIG_JBD2=m -# CONFIG_JBD2_DEBUG is not set -CONFIG_FS_MBCACHE=m -CONFIG_REISERFS_FS=m -# CONFIG_REISERFS_CHECK is not set -CONFIG_REISERFS_PROC_INFO=y -CONFIG_REISERFS_FS_XATTR=y -CONFIG_REISERFS_FS_POSIX_ACL=y -# CONFIG_REISERFS_FS_SECURITY is not set -CONFIG_JFS_FS=m -CONFIG_JFS_POSIX_ACL=y -CONFIG_JFS_SECURITY=y -# CONFIG_JFS_DEBUG is not set -CONFIG_JFS_STATISTICS=y -CONFIG_FS_POSIX_ACL=y -CONFIG_XFS_FS=m -CONFIG_XFS_QUOTA=y -CONFIG_XFS_POSIX_ACL=y -CONFIG_XFS_RT=y -# CONFIG_XFS_DEBUG is not set -CONFIG_GFS2_FS=m -CONFIG_GFS2_FS_LOCKING_DLM=y -CONFIG_OCFS2_FS=m -CONFIG_OCFS2_FS_O2CB=m -CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m -CONFIG_OCFS2_FS_STATS=y -CONFIG_OCFS2_DEBUG_MASKLOG=y -# CONFIG_OCFS2_DEBUG_FS is not set -# CONFIG_OCFS2_FS_POSIX_ACL is not set -CONFIG_BTRFS_FS=m -CONFIG_BTRFS_FS_POSIX_ACL=y -CONFIG_NILFS2_FS=m -CONFIG_FILE_LOCKING=y -CONFIG_FSNOTIFY=y -# CONFIG_DNOTIFY is not set -CONFIG_INOTIFY=y -CONFIG_INOTIFY_USER=y -CONFIG_QUOTA=y -CONFIG_QUOTA_NETLINK_INTERFACE=y -# CONFIG_PRINT_QUOTA_WARNING is not set -CONFIG_QUOTA_TREE=m -CONFIG_QFMT_V1=m -CONFIG_QFMT_V2=m -CONFIG_QUOTACTL=y -CONFIG_AUTOFS_FS=m -CONFIG_AUTOFS4_FS=m -CONFIG_FUSE_FS=m -# CONFIG_CUSE is not set - -# -# Caches -# -CONFIG_FSCACHE=m -CONFIG_FSCACHE_STATS=y -CONFIG_FSCACHE_HISTOGRAM=y -# CONFIG_FSCACHE_DEBUG is not set -# CONFIG_FSCACHE_OBJECT_LIST is not set -CONFIG_CACHEFILES=m -# CONFIG_CACHEFILES_DEBUG is not set -# CONFIG_CACHEFILES_HISTOGRAM is not set - -# -# CD-ROM/DVD Filesystems -# -CONFIG_ISO9660_FS=m -CONFIG_JOLIET=y -CONFIG_ZISOFS=y -CONFIG_UDF_FS=m -CONFIG_UDF_NLS=y - -# -# DOS/FAT/NT Filesystems -# -CONFIG_FAT_FS=m -CONFIG_MSDOS_FS=m -CONFIG_VFAT_FS=m -CONFIG_FAT_DEFAULT_CODEPAGE=437 -CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" -CONFIG_NTFS_FS=m -# CONFIG_NTFS_DEBUG is not set -CONFIG_NTFS_RW=y - -# -# Pseudo filesystems -# -CONFIG_PROC_FS=y -# CONFIG_PROC_KCORE is not set -CONFIG_PROC_SYSCTL=y -CONFIG_PROC_PAGE_MONITOR=y -CONFIG_SYSFS=y -CONFIG_TMPFS=y -# CONFIG_TMPFS_POSIX_ACL is not set -# CONFIG_HUGETLBFS is not set -# CONFIG_HUGETLB_PAGE is not set -CONFIG_CONFIGFS_FS=m -CONFIG_MISC_FILESYSTEMS=y -# CONFIG_ADFS_FS is not set -# CONFIG_AFFS_FS is not set -CONFIG_ECRYPT_FS=m -CONFIG_HFS_FS=m -CONFIG_HFSPLUS_FS=m -# CONFIG_BEFS_FS is not set -# CONFIG_BFS_FS is not set -CONFIG_EFS_FS=m -CONFIG_JFFS2_FS=m -CONFIG_JFFS2_FS_DEBUG=0 -CONFIG_JFFS2_FS_WRITEBUFFER=y -# CONFIG_JFFS2_FS_WBUF_VERIFY is not set -CONFIG_JFFS2_SUMMARY=y -CONFIG_JFFS2_FS_XATTR=y -CONFIG_JFFS2_FS_POSIX_ACL=y -CONFIG_JFFS2_FS_SECURITY=y -CONFIG_JFFS2_COMPRESSION_OPTIONS=y -CONFIG_JFFS2_ZLIB=y -CONFIG_JFFS2_LZO=y -CONFIG_JFFS2_RTIME=y -CONFIG_JFFS2_RUBIN=y -# CONFIG_JFFS2_CMODE_NONE is not set -CONFIG_JFFS2_CMODE_PRIORITY=y -# CONFIG_JFFS2_CMODE_SIZE is not set -# CONFIG_JFFS2_CMODE_FAVOURLZO is not set -CONFIG_UBIFS_FS=m -# CONFIG_UBIFS_FS_XATTR is not set -# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set -CONFIG_UBIFS_FS_LZO=y -CONFIG_UBIFS_FS_ZLIB=y -# CONFIG_UBIFS_FS_DEBUG is not set -CONFIG_CRAMFS=m -CONFIG_SQUASHFS=m -# CONFIG_SQUASHFS_EMBEDDED is not set -CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 -# CONFIG_VXFS_FS is not set -CONFIG_MINIX_FS=m -CONFIG_OMFS_FS=m -CONFIG_HPFS_FS=m -# CONFIG_QNX4FS_FS is not set -CONFIG_ROMFS_FS=m -CONFIG_ROMFS_BACKED_BY_BLOCK=y -# CONFIG_ROMFS_BACKED_BY_MTD is not set -# CONFIG_ROMFS_BACKED_BY_BOTH is not set -CONFIG_ROMFS_ON_BLOCK=y -CONFIG_SYSV_FS=m -CONFIG_UFS_FS=m -# CONFIG_UFS_FS_WRITE is not set -# CONFIG_UFS_DEBUG is not set -CONFIG_EXOFS_FS=m -# CONFIG_EXOFS_DEBUG is not set -CONFIG_NETWORK_FILESYSTEMS=y -CONFIG_NFS_FS=m -CONFIG_NFS_V3=y -# CONFIG_NFS_V3_ACL is not set -CONFIG_NFS_V4=y -# CONFIG_NFS_V4_1 is not set -# CONFIG_NFS_FSCACHE is not set -CONFIG_NFSD=m -CONFIG_NFSD_V3=y -# CONFIG_NFSD_V3_ACL is not set -CONFIG_NFSD_V4=y -CONFIG_LOCKD=m -CONFIG_LOCKD_V4=y -CONFIG_EXPORTFS=m -CONFIG_NFS_COMMON=y -CONFIG_SUNRPC=m -CONFIG_SUNRPC_GSS=m -CONFIG_SUNRPC_XPRT_RDMA=m -CONFIG_RPCSEC_GSS_KRB5=m -# CONFIG_RPCSEC_GSS_SPKM3 is not set -# CONFIG_SMB_FS is not set -CONFIG_CIFS=m -# CONFIG_CIFS_STATS is not set -# CONFIG_CIFS_WEAK_PW_HASH is not set -# CONFIG_CIFS_UPCALL is not set -CONFIG_CIFS_XATTR=y -CONFIG_CIFS_POSIX=y -# CONFIG_CIFS_DEBUG2 is not set -CONFIG_CIFS_DFS_UPCALL=y -CONFIG_CIFS_EXPERIMENTAL=y -# CONFIG_NCP_FS is not set -# CONFIG_CODA_FS is not set -# CONFIG_AFS_FS is not set -# CONFIG_9P_FS is not set - -# -# Partition Types -# -CONFIG_PARTITION_ADVANCED=y -# CONFIG_ACORN_PARTITION is not set -# CONFIG_OSF_PARTITION is not set -# CONFIG_AMIGA_PARTITION is not set -# CONFIG_ATARI_PARTITION is not set -# CONFIG_MAC_PARTITION is not set -CONFIG_MSDOS_PARTITION=y -# CONFIG_BSD_DISKLABEL is not set -# CONFIG_MINIX_SUBPARTITION is not set -# CONFIG_SOLARIS_X86_PARTITION is not set -# CONFIG_UNIXWARE_DISKLABEL is not set -# CONFIG_LDM_PARTITION is not set -# CONFIG_SGI_PARTITION is not set -# CONFIG_ULTRIX_PARTITION is not set -# CONFIG_SUN_PARTITION is not set -# CONFIG_KARMA_PARTITION is not set -CONFIG_EFI_PARTITION=y -# CONFIG_SYSV68_PARTITION is not set -CONFIG_NLS=m -CONFIG_NLS_DEFAULT="iso8859-1" -CONFIG_NLS_CODEPAGE_437=m -CONFIG_NLS_CODEPAGE_737=m -CONFIG_NLS_CODEPAGE_775=m -CONFIG_NLS_CODEPAGE_850=m -CONFIG_NLS_CODEPAGE_852=m -CONFIG_NLS_CODEPAGE_855=m -CONFIG_NLS_CODEPAGE_857=m -CONFIG_NLS_CODEPAGE_860=m -CONFIG_NLS_CODEPAGE_861=m -CONFIG_NLS_CODEPAGE_862=m -CONFIG_NLS_CODEPAGE_863=m -CONFIG_NLS_CODEPAGE_864=m -CONFIG_NLS_CODEPAGE_865=m -CONFIG_NLS_CODEPAGE_866=m -CONFIG_NLS_CODEPAGE_869=m -CONFIG_NLS_CODEPAGE_936=m -CONFIG_NLS_CODEPAGE_950=m -CONFIG_NLS_CODEPAGE_932=m -CONFIG_NLS_CODEPAGE_949=m -CONFIG_NLS_CODEPAGE_874=m -CONFIG_NLS_ISO8859_8=m -CONFIG_NLS_CODEPAGE_1250=m -CONFIG_NLS_CODEPAGE_1251=m -CONFIG_NLS_ASCII=m -CONFIG_NLS_ISO8859_1=m -CONFIG_NLS_ISO8859_2=m -CONFIG_NLS_ISO8859_3=m -CONFIG_NLS_ISO8859_4=m -CONFIG_NLS_ISO8859_5=m -CONFIG_NLS_ISO8859_6=m -CONFIG_NLS_ISO8859_7=m -CONFIG_NLS_ISO8859_9=m -CONFIG_NLS_ISO8859_13=m -CONFIG_NLS_ISO8859_14=m -CONFIG_NLS_ISO8859_15=m -CONFIG_NLS_KOI8_R=m -CONFIG_NLS_KOI8_U=m -CONFIG_NLS_UTF8=m -CONFIG_DLM=m -# CONFIG_DLM_DEBUG is not set - -# -# Kernel hacking -# -CONFIG_TRACE_IRQFLAGS_SUPPORT=y -CONFIG_PRINTK_TIME=y -CONFIG_ENABLE_WARN_DEPRECATED=y -# CONFIG_ENABLE_MUST_CHECK is not set -CONFIG_FRAME_WARN=1024 -# CONFIG_MAGIC_SYSRQ is not set -# CONFIG_STRIP_ASM_SYMS is not set -# CONFIG_UNUSED_SYMBOLS is not set -CONFIG_DEBUG_FS=y -# CONFIG_HEADERS_CHECK is not set -# CONFIG_DEBUG_KERNEL is not set -# CONFIG_DEBUG_BUGVERBOSE is not set -# CONFIG_DEBUG_MEMORY_INIT is not set -CONFIG_ARCH_WANT_FRAME_POINTERS=y -CONFIG_FRAME_POINTER=y -# CONFIG_RCU_CPU_STALL_DETECTOR is not set -# CONFIG_LATENCYTOP is not set -CONFIG_SYSCTL_SYSCALL_CHECK=y -CONFIG_USER_STACKTRACE_SUPPORT=y -CONFIG_HAVE_FUNCTION_TRACER=y -CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y -CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y -CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y -CONFIG_HAVE_DYNAMIC_FTRACE=y -CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y -CONFIG_HAVE_SYSCALL_TRACEPOINTS=y -CONFIG_RING_BUFFER=y -CONFIG_RING_BUFFER_ALLOW_SWAP=y -CONFIG_TRACING_SUPPORT=y -# CONFIG_FTRACE is not set -# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set -# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set -# CONFIG_DYNAMIC_DEBUG is not set -# CONFIG_DMA_API_DEBUG is not set -# CONFIG_SAMPLES is not set -CONFIG_HAVE_ARCH_KGDB=y -CONFIG_HAVE_ARCH_KMEMCHECK=y -CONFIG_STRICT_DEVMEM=y -# CONFIG_X86_VERBOSE_BOOTUP is not set -# CONFIG_EARLY_PRINTK is not set -# CONFIG_IOMMU_STRESS is not set -CONFIG_HAVE_MMIOTRACE_SUPPORT=y -CONFIG_IO_DELAY_TYPE_0X80=0 -CONFIG_IO_DELAY_TYPE_0XED=1 -CONFIG_IO_DELAY_TYPE_UDELAY=2 -CONFIG_IO_DELAY_TYPE_NONE=3 -CONFIG_IO_DELAY_0X80=y -# CONFIG_IO_DELAY_0XED is not set -# CONFIG_IO_DELAY_UDELAY is not set -# CONFIG_IO_DELAY_NONE is not set -CONFIG_DEFAULT_IO_DELAY_TYPE=0 -# CONFIG_OPTIMIZE_INLINING is not set - -# -# Security options -# -CONFIG_KEYS=y -# CONFIG_KEYS_DEBUG_PROC_KEYS is not set -CONFIG_SECURITY=y -CONFIG_SECURITYFS=y -# CONFIG_SECURITY_NETWORK is not set -# CONFIG_SECURITY_PATH is not set -# CONFIG_SECURITY_FILE_CAPABILITIES is not set -# CONFIG_SECURITY_TOMOYO is not set -# CONFIG_IMA is not set -CONFIG_XOR_BLOCKS=m -CONFIG_ASYNC_CORE=m -CONFIG_ASYNC_MEMCPY=m -CONFIG_ASYNC_XOR=m -CONFIG_ASYNC_PQ=m -CONFIG_ASYNC_RAID6_RECOV=m -CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y -CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y -CONFIG_CRYPTO=y - -# -# Crypto core or helper -# -CONFIG_CRYPTO_FIPS=y -CONFIG_CRYPTO_ALGAPI=y -CONFIG_CRYPTO_ALGAPI2=y -CONFIG_CRYPTO_AEAD=m -CONFIG_CRYPTO_AEAD2=y -CONFIG_CRYPTO_BLKCIPHER=m -CONFIG_CRYPTO_BLKCIPHER2=y -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_HASH2=y -CONFIG_CRYPTO_RNG=m -CONFIG_CRYPTO_RNG2=y -CONFIG_CRYPTO_PCOMP=y -CONFIG_CRYPTO_MANAGER=m -CONFIG_CRYPTO_MANAGER2=y -CONFIG_CRYPTO_GF128MUL=m -CONFIG_CRYPTO_NULL=m -CONFIG_CRYPTO_WORKQUEUE=y -CONFIG_CRYPTO_CRYPTD=m -CONFIG_CRYPTO_AUTHENC=m -CONFIG_CRYPTO_TEST=m - -# -# Authenticated Encryption with Associated Data -# -CONFIG_CRYPTO_CCM=m -CONFIG_CRYPTO_GCM=m -CONFIG_CRYPTO_SEQIV=m - -# -# Block modes -# -CONFIG_CRYPTO_CBC=m -CONFIG_CRYPTO_CTR=m -CONFIG_CRYPTO_CTS=m -CONFIG_CRYPTO_ECB=m -CONFIG_CRYPTO_LRW=m -CONFIG_CRYPTO_PCBC=m -CONFIG_CRYPTO_XTS=m - -# -# Hash modes -# -CONFIG_CRYPTO_HMAC=m -CONFIG_CRYPTO_XCBC=m -CONFIG_CRYPTO_VMAC=m - -# -# Digest -# -CONFIG_CRYPTO_CRC32C=m -CONFIG_CRYPTO_CRC32C_INTEL=m -CONFIG_CRYPTO_GHASH=m -CONFIG_CRYPTO_MD4=m -CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_MICHAEL_MIC=m -CONFIG_CRYPTO_RMD128=m -CONFIG_CRYPTO_RMD160=m -CONFIG_CRYPTO_RMD256=m -CONFIG_CRYPTO_RMD320=m -CONFIG_CRYPTO_SHA1=m -CONFIG_CRYPTO_SHA256=y -CONFIG_CRYPTO_SHA512=m -CONFIG_CRYPTO_TGR192=m -CONFIG_CRYPTO_WP512=m - -# -# Ciphers -# -CONFIG_CRYPTO_AES=m -# CONFIG_CRYPTO_AES_X86_64 is not set -# CONFIG_CRYPTO_AES_NI_INTEL is not set -CONFIG_CRYPTO_ANUBIS=m -CONFIG_CRYPTO_ARC4=m -CONFIG_CRYPTO_BLOWFISH=m -CONFIG_CRYPTO_CAMELLIA=m -CONFIG_CRYPTO_CAST5=m -CONFIG_CRYPTO_CAST6=m -CONFIG_CRYPTO_DES=m -CONFIG_CRYPTO_FCRYPT=m -CONFIG_CRYPTO_KHAZAD=m -CONFIG_CRYPTO_SALSA20=m -# CONFIG_CRYPTO_SALSA20_X86_64 is not set -CONFIG_CRYPTO_SEED=m -CONFIG_CRYPTO_SERPENT=m -CONFIG_CRYPTO_TEA=m -CONFIG_CRYPTO_TWOFISH=m -CONFIG_CRYPTO_TWOFISH_COMMON=m -# CONFIG_CRYPTO_TWOFISH_X86_64 is not set - -# -# Compression -# -CONFIG_CRYPTO_DEFLATE=m -CONFIG_CRYPTO_ZLIB=m -CONFIG_CRYPTO_LZO=m - -# -# Random Number Generation -# -CONFIG_CRYPTO_ANSI_CPRNG=m -CONFIG_CRYPTO_HW=y -CONFIG_CRYPTO_DEV_PADLOCK=m -CONFIG_CRYPTO_DEV_PADLOCK_AES=m -CONFIG_CRYPTO_DEV_PADLOCK_SHA=m -CONFIG_CRYPTO_DEV_HIFN_795X=m -CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y -CONFIG_HAVE_KVM=y -CONFIG_HAVE_KVM_IRQCHIP=y -CONFIG_HAVE_KVM_EVENTFD=y -CONFIG_KVM_APIC_ARCHITECTURE=y -CONFIG_VIRTUALIZATION=y -CONFIG_KVM=m -CONFIG_KVM_INTEL=m -CONFIG_KVM_AMD=m -CONFIG_VIRTIO=m -CONFIG_VIRTIO_RING=m -CONFIG_VIRTIO_PCI=m -CONFIG_VIRTIO_BALLOON=m -# CONFIG_BINARY_PRINTF is not set - -# -# Library routines -# -CONFIG_BITREVERSE=y -CONFIG_GENERIC_FIND_FIRST_BIT=y -CONFIG_GENERIC_FIND_NEXT_BIT=y -CONFIG_GENERIC_FIND_LAST_BIT=y -CONFIG_CRC_CCITT=m -CONFIG_CRC16=m -CONFIG_CRC_T10DIF=m -CONFIG_CRC_ITU_T=m -CONFIG_CRC32=y -CONFIG_CRC7=m -CONFIG_LIBCRC32C=m -CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=m -CONFIG_LZO_COMPRESS=m -CONFIG_LZO_DECOMPRESS=m -CONFIG_DECOMPRESS_GZIP=y -CONFIG_DECOMPRESS_BZIP2=y -CONFIG_DECOMPRESS_LZMA=y -CONFIG_GENERIC_ALLOCATOR=y -CONFIG_REED_SOLOMON=m -CONFIG_REED_SOLOMON_DEC16=y -CONFIG_TEXTSEARCH=y -CONFIG_TEXTSEARCH_KMP=m -CONFIG_TEXTSEARCH_BM=m -CONFIG_TEXTSEARCH_FSM=m -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT=y -CONFIG_HAS_DMA=y -CONFIG_CHECK_SIGNATURE=y -CONFIG_NLATTR=y diff --git a/testing/linux-xen0/pvops.patch b/testing/linux-xen0/pvops.patch deleted file mode 100644 index 49969705beb..00000000000 --- a/testing/linux-xen0/pvops.patch +++ /dev/null @@ -1,37837 +0,0 @@ -diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt -index 5f6aa11..9ec8558 100644 ---- a/Documentation/kernel-parameters.txt -+++ b/Documentation/kernel-parameters.txt -@@ -113,6 +113,7 @@ parameter is applicable: - More X86-64 boot options can be found in - Documentation/x86/x86_64/boot-options.txt . - X86 Either 32bit or 64bit x86 (same as X86-32+X86-64) -+ XEN Xen support is enabled - - In addition, the following text indicates that the option: - -@@ -2760,6 +2761,18 @@ and is between 256 and 4096 characters. It is defined in the file - xd= [HW,XT] Original XT pre-IDE (RLL encoded) disks. - xd_geo= See header of drivers/block/xd.c. - -+ xen_emul_unplug= [HW,X86,XEN] -+ Unplug Xen emulated devices -+ Format: [unplug0,][unplug1] -+ ide-disks -- unplug primary master IDE devices -+ aux-ide-disks -- unplug non-primary-master IDE devices -+ nics -- unplug network devices -+ all -- unplug all emulated devices (NICs and IDE disks) -+ unnecessary -- unplugging emulated devices is -+ unnecessary even if the host did not respond to -+ the unplug protocol -+ never -- do not unplug even if version check succeeds -+ - xirc2ps_cs= [NET,PCMCIA] - Format: - ,,,,,[,[,[,]]] -diff --git a/Documentation/x86/x86_64/boot-options.txt b/Documentation/x86/x86_64/boot-options.txt -index 29a6ff8..81f9b94 100644 ---- a/Documentation/x86/x86_64/boot-options.txt -+++ b/Documentation/x86/x86_64/boot-options.txt -@@ -267,10 +267,14 @@ IOMMU (input/output memory management unit) - - iommu options only relevant to the software bounce buffering (SWIOTLB) IOMMU - implementation: -- swiotlb=[,force] -+ swiotlb=[npages=] -+ swiotlb=[force] -+ swiotlb=[overflow=] -+ - Prereserve that many 128K pages for the software IO - bounce buffering. - force Force all IO through the software TLB. -+ Size in bytes of the overflow buffer. - - Settings for the IBM Calgary hardware IOMMU currently found in IBM - pSeries and xSeries machines: -diff --git a/arch/ia64/include/asm/dma-mapping.h b/arch/ia64/include/asm/dma-mapping.h -index 8d3c79c..7d09a09 100644 ---- a/arch/ia64/include/asm/dma-mapping.h -+++ b/arch/ia64/include/asm/dma-mapping.h -@@ -73,7 +73,7 @@ static inline bool dma_capable(struct device *dev, dma_addr_t addr, size_t size) - if (!dev->dma_mask) - return 0; - -- return addr + size <= *dev->dma_mask; -+ return addr + size - 1 <= *dev->dma_mask; - } - - static inline dma_addr_t phys_to_dma(struct device *dev, phys_addr_t paddr) -diff --git a/arch/ia64/include/asm/swiotlb.h b/arch/ia64/include/asm/swiotlb.h -index dcbaea7..f0acde6 100644 ---- a/arch/ia64/include/asm/swiotlb.h -+++ b/arch/ia64/include/asm/swiotlb.h -@@ -4,8 +4,6 @@ - #include - #include - --extern int swiotlb_force; -- - #ifdef CONFIG_SWIOTLB - extern int swiotlb; - extern void pci_swiotlb_init(void); -diff --git a/arch/ia64/include/asm/xen/events.h b/arch/ia64/include/asm/xen/events.h -index b8370c8..baa74c8 100644 ---- a/arch/ia64/include/asm/xen/events.h -+++ b/arch/ia64/include/asm/xen/events.h -@@ -36,10 +36,6 @@ static inline int xen_irqs_disabled(struct pt_regs *regs) - return !(ia64_psr(regs)->i); - } - --static inline void handle_irq(int irq, struct pt_regs *regs) --{ -- __do_IRQ(irq); --} - #define irq_ctx_init(cpu) do { } while (0) - - #endif /* _ASM_IA64_XEN_EVENTS_H */ -diff --git a/arch/ia64/kernel/pci-swiotlb.c b/arch/ia64/kernel/pci-swiotlb.c -index 285aae8..53292ab 100644 ---- a/arch/ia64/kernel/pci-swiotlb.c -+++ b/arch/ia64/kernel/pci-swiotlb.c -@@ -41,7 +41,7 @@ struct dma_map_ops swiotlb_dma_ops = { - void __init swiotlb_dma_init(void) - { - dma_ops = &swiotlb_dma_ops; -- swiotlb_init(); -+ swiotlb_init(1); - } - - void __init pci_swiotlb_init(void) -@@ -51,7 +51,7 @@ void __init pci_swiotlb_init(void) - swiotlb = 1; - printk(KERN_INFO "PCI-DMA: Re-initialize machine vector.\n"); - machvec_init("dig"); -- swiotlb_init(); -+ swiotlb_init(1); - dma_ops = &swiotlb_dma_ops; - #else - panic("Unable to find Intel IOMMU"); -diff --git a/arch/powerpc/include/asm/dma-mapping.h b/arch/powerpc/include/asm/dma-mapping.h -index e281dae..80a973b 100644 ---- a/arch/powerpc/include/asm/dma-mapping.h -+++ b/arch/powerpc/include/asm/dma-mapping.h -@@ -197,7 +197,7 @@ static inline bool dma_capable(struct device *dev, dma_addr_t addr, size_t size) - if (!dev->dma_mask) - return 0; - -- return addr + size <= *dev->dma_mask; -+ return addr + size - 1 <= *dev->dma_mask; - } - - static inline dma_addr_t phys_to_dma(struct device *dev, phys_addr_t paddr) -diff --git a/arch/powerpc/kernel/setup_32.c b/arch/powerpc/kernel/setup_32.c -index 53bcf3d..b152de3 100644 ---- a/arch/powerpc/kernel/setup_32.c -+++ b/arch/powerpc/kernel/setup_32.c -@@ -345,7 +345,7 @@ void __init setup_arch(char **cmdline_p) - - #ifdef CONFIG_SWIOTLB - if (ppc_swiotlb_enable) -- swiotlb_init(); -+ swiotlb_init(1); - #endif - - paging_init(); -diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c -index 04f638d..df2c9e9 100644 ---- a/arch/powerpc/kernel/setup_64.c -+++ b/arch/powerpc/kernel/setup_64.c -@@ -550,7 +550,7 @@ void __init setup_arch(char **cmdline_p) - - #ifdef CONFIG_SWIOTLB - if (ppc_swiotlb_enable) -- swiotlb_init(); -+ swiotlb_init(1); - #endif - - paging_init(); -diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index cb5a57c..a3b7475 100644 ---- a/arch/x86/Kconfig -+++ b/arch/x86/Kconfig -@@ -1885,6 +1885,10 @@ config PCI_OLPC - def_bool y - depends on PCI && OLPC && (PCI_GOOLPC || PCI_GOANY) - -+config PCI_XEN -+ bool -+ select SWIOTLB -+ - config PCI_DOMAINS - def_bool y - depends on PCI -diff --git a/arch/x86/include/asm/amd_iommu.h b/arch/x86/include/asm/amd_iommu.h -index 18aa3f8..4413ba4 100644 ---- a/arch/x86/include/asm/amd_iommu.h -+++ b/arch/x86/include/asm/amd_iommu.h -@@ -23,20 +23,16 @@ - #include - - #ifdef CONFIG_AMD_IOMMU --extern int amd_iommu_init(void); - extern int amd_iommu_init_dma_ops(void); - extern int amd_iommu_init_passthrough(void); - extern void amd_iommu_detect(void); - extern irqreturn_t amd_iommu_int_handler(int irq, void *data); - extern void amd_iommu_flush_all_domains(void); - extern void amd_iommu_flush_all_devices(void); --extern void amd_iommu_shutdown(void); - extern void amd_iommu_apply_erratum_63(u16 devid); - extern void amd_iommu_init_api(void); - #else --static inline int amd_iommu_init(void) { return -ENODEV; } - static inline void amd_iommu_detect(void) { } --static inline void amd_iommu_shutdown(void) { } - #endif - - #endif /* _ASM_X86_AMD_IOMMU_H */ -diff --git a/arch/x86/include/asm/calgary.h b/arch/x86/include/asm/calgary.h -index b03bedb..0918654 100644 ---- a/arch/x86/include/asm/calgary.h -+++ b/arch/x86/include/asm/calgary.h -@@ -62,10 +62,8 @@ struct cal_chipset_ops { - extern int use_calgary; - - #ifdef CONFIG_CALGARY_IOMMU --extern int calgary_iommu_init(void); - extern void detect_calgary(void); - #else --static inline int calgary_iommu_init(void) { return 1; } - static inline void detect_calgary(void) { return; } - #endif - -diff --git a/arch/x86/include/asm/dma-mapping.h b/arch/x86/include/asm/dma-mapping.h -index 6a25d5d..ac91eed 100644 ---- a/arch/x86/include/asm/dma-mapping.h -+++ b/arch/x86/include/asm/dma-mapping.h -@@ -20,7 +20,8 @@ - # define ISA_DMA_BIT_MASK DMA_BIT_MASK(32) - #endif - --extern dma_addr_t bad_dma_address; -+#define DMA_ERROR_CODE 0 -+ - extern int iommu_merge; - extern struct device x86_dma_fallback_dev; - extern int panic_on_overflow; -@@ -48,7 +49,7 @@ static inline int dma_mapping_error(struct device *dev, dma_addr_t dma_addr) - if (ops->mapping_error) - return ops->mapping_error(dev, dma_addr); - -- return (dma_addr == bad_dma_address); -+ return (dma_addr == DMA_ERROR_CODE); - } - - #define dma_alloc_noncoherent(d, s, h, f) dma_alloc_coherent(d, s, h, f) -@@ -66,7 +67,7 @@ static inline bool dma_capable(struct device *dev, dma_addr_t addr, size_t size) - if (!dev->dma_mask) - return 0; - -- return addr + size <= *dev->dma_mask; -+ return addr + size - 1 <= *dev->dma_mask; - } - - static inline dma_addr_t phys_to_dma(struct device *dev, phys_addr_t paddr) -diff --git a/arch/x86/include/asm/e820.h b/arch/x86/include/asm/e820.h -index 40b4e61..fa3fd43 100644 ---- a/arch/x86/include/asm/e820.h -+++ b/arch/x86/include/asm/e820.h -@@ -109,6 +109,8 @@ extern void reserve_early(u64 start, u64 end, char *name); - extern void reserve_early_overlap_ok(u64 start, u64 end, char *name); - extern void free_early(u64 start, u64 end); - extern void early_res_to_bootmem(u64 start, u64 end); -+extern u64 early_res_next_free(u64 start); -+extern u64 early_res_next_reserved(u64 addr, u64 max); - extern u64 early_reserve_e820(u64 startt, u64 sizet, u64 align); - - extern unsigned long e820_end_of_ram_pfn(void); -diff --git a/arch/x86/include/asm/gart.h b/arch/x86/include/asm/gart.h -index 6cfdafa..4ac5b0f 100644 ---- a/arch/x86/include/asm/gart.h -+++ b/arch/x86/include/asm/gart.h -@@ -35,8 +35,7 @@ extern int gart_iommu_aperture_allowed; - extern int gart_iommu_aperture_disabled; - - extern void early_gart_iommu_check(void); --extern void gart_iommu_init(void); --extern void gart_iommu_shutdown(void); -+extern int gart_iommu_init(void); - extern void __init gart_parse_options(char *); - extern void gart_iommu_hole_init(void); - -@@ -48,12 +47,6 @@ extern void gart_iommu_hole_init(void); - static inline void early_gart_iommu_check(void) - { - } --static inline void gart_iommu_init(void) --{ --} --static inline void gart_iommu_shutdown(void) --{ --} - static inline void gart_parse_options(char *options) - { - } -diff --git a/arch/x86/include/asm/hpet.h b/arch/x86/include/asm/hpet.h -index 3251e23..fa152cb 100644 ---- a/arch/x86/include/asm/hpet.h -+++ b/arch/x86/include/asm/hpet.h -@@ -68,6 +68,7 @@ extern unsigned long force_hpet_address; - extern int hpet_force_user; - extern u8 hpet_msi_disable; - extern int is_hpet_enabled(void); -+extern int disable_hpet(char *); - extern int hpet_enable(void); - extern void hpet_disable(void); - extern unsigned long hpet_readl(unsigned long a); -@@ -108,6 +109,7 @@ extern void hpet_unregister_irq_handler(rtc_irq_handler handler); - #else /* CONFIG_HPET_TIMER */ - - static inline int hpet_enable(void) { return 0; } -+static inline int disable_hpet(char *s) { return 0; } - static inline int is_hpet_enabled(void) { return 0; } - #define hpet_readl(a) 0 - -diff --git a/arch/x86/include/asm/hugetlb.h b/arch/x86/include/asm/hugetlb.h -index 439a9ac..bf88684 100644 ---- a/arch/x86/include/asm/hugetlb.h -+++ b/arch/x86/include/asm/hugetlb.h -@@ -36,16 +36,28 @@ static inline void hugetlb_free_pgd_range(struct mmu_gather *tlb, - free_pgd_range(tlb, addr, end, floor, ceiling); - } - -+static inline pte_t huge_ptep_get(pte_t *ptep) -+{ -+ return *ptep; -+} -+ - static inline void set_huge_pte_at(struct mm_struct *mm, unsigned long addr, - pte_t *ptep, pte_t pte) - { -- set_pte_at(mm, addr, ptep, pte); -+#if PAGETABLE_LEVELS >= 3 -+ set_pmd((pmd_t *)ptep, native_make_pmd(native_pte_val(pte))); -+#else -+ set_pgd((pgd_t *)ptep, native_make_pgd(native_pte_val(pte))); -+#endif - } - - static inline pte_t huge_ptep_get_and_clear(struct mm_struct *mm, - unsigned long addr, pte_t *ptep) - { -- return ptep_get_and_clear(mm, addr, ptep); -+ pte_t pte = huge_ptep_get(ptep); -+ -+ set_huge_pte_at(mm, addr, ptep, __pte(0)); -+ return pte; - } - - static inline void huge_ptep_clear_flush(struct vm_area_struct *vma, -@@ -66,19 +78,25 @@ static inline pte_t huge_pte_wrprotect(pte_t pte) - static inline void huge_ptep_set_wrprotect(struct mm_struct *mm, - unsigned long addr, pte_t *ptep) - { -- ptep_set_wrprotect(mm, addr, ptep); -+ pte_t pte = huge_ptep_get(ptep); -+ -+ pte = pte_wrprotect(pte); -+ set_huge_pte_at(mm, addr, ptep, pte); - } - - static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma, - unsigned long addr, pte_t *ptep, - pte_t pte, int dirty) - { -- return ptep_set_access_flags(vma, addr, ptep, pte, dirty); --} -+ pte_t oldpte = huge_ptep_get(ptep); -+ int changed = !pte_same(oldpte, pte); - --static inline pte_t huge_ptep_get(pte_t *ptep) --{ -- return *ptep; -+ if (changed && dirty) { -+ set_huge_pte_at(vma->vm_mm, addr, ptep, pte); -+ flush_tlb_page(vma, addr); -+ } -+ -+ return changed; - } - - static inline int arch_prepare_hugepage(struct page *page) -diff --git a/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h -index 6a63b86..9ad387e 100644 ---- a/arch/x86/include/asm/io.h -+++ b/arch/x86/include/asm/io.h -@@ -7,6 +7,10 @@ - #include - #include - -+#include -+ -+extern int isapnp_disable; -+ - #define build_mmio_read(name, size, type, reg, barrier) \ - static inline type name(const volatile void __iomem *addr) \ - { type ret; asm volatile("mov" size " %1,%0":reg (ret) \ -@@ -199,6 +203,18 @@ extern void __iomem *early_ioremap(resource_size_t phys_addr, - extern void __iomem *early_memremap(resource_size_t phys_addr, - unsigned long size); - extern void early_iounmap(void __iomem *addr, unsigned long size); -+extern bool is_early_ioremap_ptep(pte_t *ptep); -+ -+#ifdef CONFIG_XEN -+struct bio_vec; -+ -+extern bool xen_biovec_phys_mergeable(const struct bio_vec *vec1, -+ const struct bio_vec *vec2); -+ -+#define BIOVEC_PHYS_MERGEABLE(vec1, vec2) \ -+ (__BIOVEC_PHYS_MERGEABLE(vec1, vec2) && \ -+ (!xen_domain() || xen_biovec_phys_mergeable(vec1, vec2))) -+#endif /* CONFIG_XEN */ - - #define IO_SPACE_LIMIT 0xffff - -diff --git a/arch/x86/include/asm/io_apic.h b/arch/x86/include/asm/io_apic.h -index 5f61f6e..b852da9 100644 ---- a/arch/x86/include/asm/io_apic.h -+++ b/arch/x86/include/asm/io_apic.h -@@ -172,6 +172,7 @@ extern void mask_IO_APIC_setup(struct IO_APIC_route_entry **ioapic_entries); - extern int restore_IO_APIC_setup(struct IO_APIC_route_entry **ioapic_entries); - - extern void probe_nr_irqs_gsi(void); -+extern int get_nr_irqs_gsi(void); - - extern int setup_ioapic_entry(int apic, int irq, - struct IO_APIC_route_entry *entry, -@@ -201,4 +202,6 @@ static inline void probe_nr_irqs_gsi(void) { } - - #endif - -+void xen_io_apic_init(void); -+ - #endif /* _ASM_X86_IO_APIC_H */ -diff --git a/arch/x86/include/asm/iommu.h b/arch/x86/include/asm/iommu.h -index fd6d21b..345c99c 100644 ---- a/arch/x86/include/asm/iommu.h -+++ b/arch/x86/include/asm/iommu.h -@@ -1,8 +1,6 @@ - #ifndef _ASM_X86_IOMMU_H - #define _ASM_X86_IOMMU_H - --extern void pci_iommu_shutdown(void); --extern void no_iommu_init(void); - extern struct dma_map_ops nommu_dma_ops; - extern int force_iommu, no_iommu; - extern int iommu_detected; -diff --git a/arch/x86/include/asm/irq_vectors.h b/arch/x86/include/asm/irq_vectors.h -index 6e90a04..ba4dc7b 100644 ---- a/arch/x86/include/asm/irq_vectors.h -+++ b/arch/x86/include/asm/irq_vectors.h -@@ -120,6 +120,12 @@ - */ - #define MCE_SELF_VECTOR 0xeb - -+#ifdef CONFIG_XEN -+/* Xen vector callback to receive events in a HVM domain */ -+#define XEN_HVM_EVTCHN_CALLBACK 0xe9 -+#endif -+ -+ - /* - * First APIC vector available to drivers: (vectors 0x30-0xee) we - * start at 0x31(0x41) to spread out vectors evenly between priority -@@ -157,6 +163,14 @@ static inline int invalid_vm86_irq(int irq) - #define CPU_VECTOR_LIMIT ( 8 * NR_CPUS ) - #define IO_APIC_VECTOR_LIMIT ( 32 * MAX_IO_APICS ) - -+#ifndef __ASSEMBLY__ -+# if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_SPARSE_IRQ) -+extern int nr_dynamic_irqs; -+# else -+# define NR_DYNAMIC_IRQS 256 -+# endif -+#endif -+ - #ifdef CONFIG_X86_IO_APIC - # ifdef CONFIG_SPARSE_IRQ - # define NR_IRQS \ -@@ -165,13 +179,13 @@ static inline int invalid_vm86_irq(int irq) - (NR_VECTORS + IO_APIC_VECTOR_LIMIT)) - # else - # if NR_CPUS < MAX_IO_APICS --# define NR_IRQS (NR_VECTORS + 4*CPU_VECTOR_LIMIT) -+# define NR_IRQS (NR_VECTORS + 4*CPU_VECTOR_LIMIT) + NR_DYNAMIC_IRQS - # else --# define NR_IRQS (NR_VECTORS + IO_APIC_VECTOR_LIMIT) -+# define NR_IRQS (NR_VECTORS + IO_APIC_VECTOR_LIMIT) + NR_DYNAMIC_IRQS - # endif - # endif - #else /* !CONFIG_X86_IO_APIC: */ --# define NR_IRQS NR_IRQS_LEGACY -+# define NR_IRQS NR_IRQS_LEGACY + NR_DYNAMIC_IRQS - #endif - - #endif /* _ASM_X86_IRQ_VECTORS_H */ -diff --git a/arch/x86/include/asm/microcode.h b/arch/x86/include/asm/microcode.h -index ef51b50..e15fca1 100644 ---- a/arch/x86/include/asm/microcode.h -+++ b/arch/x86/include/asm/microcode.h -@@ -55,4 +55,13 @@ static inline struct microcode_ops * __init init_amd_microcode(void) - } - #endif - -+#ifdef CONFIG_MICROCODE_XEN -+extern struct microcode_ops * __init init_xen_microcode(void); -+#else -+static inline struct microcode_ops * __init init_xen_microcode(void) -+{ -+ return NULL; -+} -+#endif -+ - #endif /* _ASM_X86_MICROCODE_H */ -diff --git a/arch/x86/include/asm/mmu.h b/arch/x86/include/asm/mmu.h -index 80a1dee..67eaa91 100644 ---- a/arch/x86/include/asm/mmu.h -+++ b/arch/x86/include/asm/mmu.h -@@ -13,6 +13,9 @@ typedef struct { - int size; - struct mutex lock; - void *vdso; -+#ifdef CONFIG_XEN -+ int has_foreign_mappings; -+#endif - } mm_context_t; - - #ifdef CONFIG_SMP -diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h -index efb3899..e571db4 100644 ---- a/arch/x86/include/asm/paravirt.h -+++ b/arch/x86/include/asm/paravirt.h -@@ -330,11 +330,18 @@ static inline void write_idt_entry(gate_desc *dt, int entry, const gate_desc *g) - { - PVOP_VCALL3(pv_cpu_ops.write_idt_entry, dt, entry, g); - } -+ - static inline void set_iopl_mask(unsigned mask) - { - PVOP_VCALL1(pv_cpu_ops.set_iopl_mask, mask); - } - -+static inline void set_io_bitmap(struct thread_struct *thread, -+ unsigned long bytes_updated) -+{ -+ PVOP_VCALL2(pv_cpu_ops.set_io_bitmap, thread, bytes_updated); -+} -+ - /* The paravirtualized I/O functions */ - static inline void slow_down_io(void) - { -@@ -770,15 +777,28 @@ static __always_inline void __raw_spin_unlock(struct raw_spinlock *lock) - #define PV_RESTORE_REGS "popl %edx; popl %ecx;" - - /* save and restore all caller-save registers, except return value */ --#define PV_SAVE_ALL_CALLER_REGS "pushl %ecx;" --#define PV_RESTORE_ALL_CALLER_REGS "popl %ecx;" -+#define __PV_SAVE_ALL_CALLER_REGS "pushl %ecx;" -+#define __PV_RESTORE_ALL_CALLER_REGS "popl %ecx;" -+ -+#ifdef CONFIG_FRAME_POINTER -+#define PV_SAVE_ALL_CALLER_REGS \ -+ "push %ebp;" \ -+ "mov %esp, %ebp;" \ -+ __PV_SAVE_ALL_CALLER_REGS -+#define PV_RESTORE_ALL_CALLER_REGS \ -+ __PV_RESTORE_ALL_CALLER_REGS \ -+ "leave;" -+#else -+#define PV_SAVE_ALL_CALLER_REGS __PV_SAVE_ALL_CALLER_REGS -+#define PV_RESTORE_ALL_CALLER_REGS __PV_RESTORE_ALL_CALLER_REGS -+#endif - - #define PV_FLAGS_ARG "0" - #define PV_EXTRA_CLOBBERS - #define PV_VEXTRA_CLOBBERS - #else - /* save and restore all caller-save registers, except return value */ --#define PV_SAVE_ALL_CALLER_REGS \ -+#define __PV_SAVE_ALL_CALLER_REGS \ - "push %rcx;" \ - "push %rdx;" \ - "push %rsi;" \ -@@ -787,7 +807,7 @@ static __always_inline void __raw_spin_unlock(struct raw_spinlock *lock) - "push %r9;" \ - "push %r10;" \ - "push %r11;" --#define PV_RESTORE_ALL_CALLER_REGS \ -+#define __PV_RESTORE_ALL_CALLER_REGS \ - "pop %r11;" \ - "pop %r10;" \ - "pop %r9;" \ -@@ -797,6 +817,19 @@ static __always_inline void __raw_spin_unlock(struct raw_spinlock *lock) - "pop %rdx;" \ - "pop %rcx;" - -+#ifdef CONFIG_FRAME_POINTER -+#define PV_SAVE_ALL_CALLER_REGS \ -+ "push %rbp;" \ -+ "mov %rsp, %rbp;" \ -+ __PV_SAVE_ALL_CALLER_REGS -+#define PV_RESTORE_ALL_CALLER_REGS \ -+ __PV_RESTORE_ALL_CALLER_REGS \ -+ "leaveq;" -+#else -+#define PV_SAVE_ALL_CALLER_REGS __PV_SAVE_ALL_CALLER_REGS -+#define PV_RESTORE_ALL_CALLER_REGS __PV_RESTORE_ALL_CALLER_REGS -+#endif -+ - /* We save some registers, but all of them, that's too much. We clobber all - * caller saved registers but the argument parameter */ - #define PV_SAVE_REGS "pushq %%rdi;" -diff --git a/arch/x86/include/asm/paravirt_types.h b/arch/x86/include/asm/paravirt_types.h -index 9357473..3202dcc 100644 ---- a/arch/x86/include/asm/paravirt_types.h -+++ b/arch/x86/include/asm/paravirt_types.h -@@ -135,6 +135,8 @@ struct pv_cpu_ops { - void (*load_sp0)(struct tss_struct *tss, struct thread_struct *t); - - void (*set_iopl_mask)(unsigned mask); -+ void (*set_io_bitmap)(struct thread_struct *thread, -+ unsigned long bytes_updated); - - void (*wbinvd)(void); - void (*io_delay)(void); -diff --git a/arch/x86/include/asm/pci.h b/arch/x86/include/asm/pci.h -index ada8c20..faa0af1 100644 ---- a/arch/x86/include/asm/pci.h -+++ b/arch/x86/include/asm/pci.h -@@ -21,6 +21,7 @@ struct pci_sysdata { - extern int pci_routeirq; - extern int noioapicquirk; - extern int noioapicreroute; -+extern int pci_scan_all_fns; - - /* scan a bus after allocating a pci_sysdata for it */ - extern struct pci_bus *pci_scan_bus_on_node(int busno, struct pci_ops *ops, -@@ -49,6 +50,11 @@ extern unsigned int pcibios_assign_all_busses(void); - #define pcibios_assign_all_busses() 0 - #endif - -+static inline int pcibios_scan_all_fns(struct pci_bus *bus, int devfn) -+{ -+ return pci_scan_all_fns; -+} -+ - extern unsigned long pci_mem_start; - #define PCIBIOS_MIN_IO 0x1000 - #define PCIBIOS_MIN_MEM (pci_mem_start) -@@ -87,6 +93,7 @@ extern void pci_iommu_alloc(void); - - /* MSI arch hook */ - #define arch_setup_msi_irqs arch_setup_msi_irqs -+#define arch_teardown_msi_irqs arch_teardown_msi_irqs - - #define PCI_DMA_BUS_IS_PHYS (dma_ops->is_phys) - -@@ -128,6 +135,7 @@ extern void pci_iommu_alloc(void); - #include - - /* generic pci stuff */ -+#define HAVE_ARCH_PCIBIOS_SCAN_ALL_FNS - #include - #define PCIBIOS_MAX_MEM_32 0xffffffff - -diff --git a/arch/x86/include/asm/pci_x86.h b/arch/x86/include/asm/pci_x86.h -index b399988..30cbf49 100644 ---- a/arch/x86/include/asm/pci_x86.h -+++ b/arch/x86/include/asm/pci_x86.h -@@ -45,6 +45,7 @@ enum pci_bf_sort_state { - extern unsigned int pcibios_max_latency; - - void pcibios_resource_survey(void); -+void pcibios_set_cache_line_size(void); - - /* pci-pc.c */ - -@@ -106,6 +107,7 @@ extern int pci_direct_probe(void); - extern void pci_direct_init(int type); - extern void pci_pcbios_init(void); - extern int pci_olpc_init(void); -+extern int pci_xen_init(void); - extern void __init dmi_check_pciprobe(void); - extern void __init dmi_check_skip_isa_align(void); - -diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h -index af6fd36..430e3cc 100644 ---- a/arch/x86/include/asm/pgtable.h -+++ b/arch/x86/include/asm/pgtable.h -@@ -15,7 +15,6 @@ - : (prot)) - - #ifndef __ASSEMBLY__ -- - /* - * ZERO_PAGE is a global shared page that is always zero: used - * for zero-mapped memory areas etc.. -@@ -26,6 +25,8 @@ extern unsigned long empty_zero_page[PAGE_SIZE / sizeof(unsigned long)]; - extern spinlock_t pgd_lock; - extern struct list_head pgd_list; - -+extern struct mm_struct *pgd_page_get_mm(struct page *page); -+ - #ifdef CONFIG_PARAVIRT - #include - #else /* !CONFIG_PARAVIRT */ -@@ -76,6 +77,11 @@ extern struct list_head pgd_list; - - #endif /* CONFIG_PARAVIRT */ - -+static inline pteval_t pte_flags(pte_t pte) -+{ -+ return pte_val(pte) & PTE_FLAGS_MASK; -+} -+ - /* - * The following only work if pte_present() is true. - * Undefined behaviour if not.. -@@ -397,6 +403,9 @@ static inline unsigned long pages_to_mb(unsigned long npg) - #define io_remap_pfn_range(vma, vaddr, pfn, size, prot) \ - remap_pfn_range(vma, vaddr, pfn, size, prot) - -+#define arch_vm_get_page_prot arch_vm_get_page_prot -+extern pgprot_t arch_vm_get_page_prot(unsigned vm_flags); -+ - #if PAGETABLE_LEVELS > 2 - static inline int pud_none(pud_t pud) - { -@@ -616,6 +625,9 @@ static inline void clone_pgd_range(pgd_t *dst, pgd_t *src, int count) - memcpy(dst, src, count * sizeof(pgd_t)); - } - -+int create_lookup_pte_addr(struct mm_struct *mm, -+ unsigned long address, -+ uint64_t *ptep); - - #include - #endif /* __ASSEMBLY__ */ -diff --git a/arch/x86/include/asm/pgtable_64.h b/arch/x86/include/asm/pgtable_64.h -index c57a301..4e46931 100644 ---- a/arch/x86/include/asm/pgtable_64.h -+++ b/arch/x86/include/asm/pgtable_64.h -@@ -160,7 +160,7 @@ extern void cleanup_highmap(void); - #define pgtable_cache_init() do { } while (0) - #define check_pgt_cache() do { } while (0) - --#define PAGE_AGP PAGE_KERNEL_NOCACHE -+#define PAGE_AGP PAGE_KERNEL_IO_NOCACHE - #define HAVE_PAGE_AGP 1 - - /* fs/proc/kcore.c */ -diff --git a/arch/x86/include/asm/pgtable_types.h b/arch/x86/include/asm/pgtable_types.h -index d1f4a76..a81b0ed 100644 ---- a/arch/x86/include/asm/pgtable_types.h -+++ b/arch/x86/include/asm/pgtable_types.h -@@ -265,11 +265,6 @@ static inline pteval_t native_pte_val(pte_t pte) - return pte.pte; - } - --static inline pteval_t pte_flags(pte_t pte) --{ -- return native_pte_val(pte) & PTE_FLAGS_MASK; --} -- - #define pgprot_val(x) ((x).pgprot) - #define __pgprot(x) ((pgprot_t) { (x) } ) - -diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h -index 78bb4d7..2232bd2 100644 ---- a/arch/x86/include/asm/processor.h -+++ b/arch/x86/include/asm/processor.h -@@ -551,6 +551,9 @@ static inline void native_set_iopl_mask(unsigned mask) - #endif - } - -+extern void native_set_io_bitmap(struct thread_struct *thread, -+ unsigned long updated_bytes); -+ - static inline void - native_load_sp0(struct tss_struct *tss, struct thread_struct *thread) - { -@@ -592,6 +595,7 @@ static inline void load_sp0(struct tss_struct *tss, - } - - #define set_iopl_mask native_set_iopl_mask -+#define set_io_bitmap native_set_io_bitmap - #endif /* CONFIG_PARAVIRT */ - - /* -diff --git a/arch/x86/include/asm/pvclock.h b/arch/x86/include/asm/pvclock.h -index 53235fd..daaacab 100644 ---- a/arch/x86/include/asm/pvclock.h -+++ b/arch/x86/include/asm/pvclock.h -@@ -10,5 +10,6 @@ unsigned long pvclock_tsc_khz(struct pvclock_vcpu_time_info *src); - void pvclock_read_wallclock(struct pvclock_wall_clock *wall, - struct pvclock_vcpu_time_info *vcpu, - struct timespec *ts); -+void pvclock_resume(void); - - #endif /* _ASM_X86_PVCLOCK_H */ -diff --git a/arch/x86/include/asm/setup.h b/arch/x86/include/asm/setup.h -index 18e496c..154a5f1 100644 ---- a/arch/x86/include/asm/setup.h -+++ b/arch/x86/include/asm/setup.h -@@ -95,6 +95,11 @@ void *extend_brk(size_t size, size_t align); - : : "i" (sz)); \ - } - -+/* Helper for reserving space for arrays of things */ -+#define RESERVE_BRK_ARRAY(type, name, entries) \ -+ type *name; \ -+ RESERVE_BRK(name, sizeof(type) * entries) -+ - #ifdef __i386__ - - void __init i386_start_kernel(void); -diff --git a/arch/x86/include/asm/swiotlb.h b/arch/x86/include/asm/swiotlb.h -index b9e4e20..8085277 100644 ---- a/arch/x86/include/asm/swiotlb.h -+++ b/arch/x86/include/asm/swiotlb.h -@@ -3,15 +3,16 @@ - - #include - --/* SWIOTLB interface */ -- --extern int swiotlb_force; -- - #ifdef CONFIG_SWIOTLB - extern int swiotlb; --extern void pci_swiotlb_init(void); -+extern int __init pci_swiotlb_detect(void); -+extern void __init pci_swiotlb_init(void); - #else - #define swiotlb 0 -+static inline int pci_swiotlb_detect(void) -+{ -+ return 0; -+} - static inline void pci_swiotlb_init(void) - { - } -diff --git a/arch/x86/include/asm/syscalls.h b/arch/x86/include/asm/syscalls.h -index 1bb6e39..ef0fa4d 100644 ---- a/arch/x86/include/asm/syscalls.h -+++ b/arch/x86/include/asm/syscalls.h -@@ -33,11 +33,11 @@ long sys_rt_sigreturn(struct pt_regs *); - asmlinkage int sys_set_thread_area(struct user_desc __user *); - asmlinkage int sys_get_thread_area(struct user_desc __user *); - --/* X86_32 only */ --#ifdef CONFIG_X86_32 - /* kernel/ioport.c */ --long sys_iopl(struct pt_regs *); -+asmlinkage long sys_iopl(unsigned int); - -+/* X86_32 only */ -+#ifdef CONFIG_X86_32 - /* kernel/process_32.c */ - int sys_clone(struct pt_regs *); - int sys_execve(struct pt_regs *); -@@ -68,8 +68,6 @@ int sys_vm86(struct pt_regs *); - #else /* CONFIG_X86_32 */ - - /* X86_64 only */ --/* kernel/ioport.c */ --asmlinkage long sys_iopl(unsigned int, struct pt_regs *); - - /* kernel/process_64.c */ - asmlinkage long sys_clone(unsigned long, unsigned long, -diff --git a/arch/x86/include/asm/tlbflush.h b/arch/x86/include/asm/tlbflush.h -index 7f3eba0..e4fc8ea 100644 ---- a/arch/x86/include/asm/tlbflush.h -+++ b/arch/x86/include/asm/tlbflush.h -@@ -89,6 +89,10 @@ static inline void __flush_tlb_one(unsigned long addr) - - #ifndef CONFIG_SMP - -+static inline void __init init_smp_flush(void) -+{ -+} -+ - #define flush_tlb() __flush_tlb() - #define flush_tlb_all() __flush_tlb_all() - #define local_flush_tlb() __flush_tlb() -@@ -129,6 +133,8 @@ static inline void reset_lazy_tlbstate(void) - - #define local_flush_tlb() __flush_tlb() - -+extern void init_smp_flush(void); -+ - extern void flush_tlb_all(void); - extern void flush_tlb_current_task(void); - extern void flush_tlb_mm(struct mm_struct *); -diff --git a/arch/x86/include/asm/x86_init.h b/arch/x86/include/asm/x86_init.h -index 2c756fd..d8e7145 100644 ---- a/arch/x86/include/asm/x86_init.h -+++ b/arch/x86/include/asm/x86_init.h -@@ -91,6 +91,14 @@ struct x86_init_timers { - }; - - /** -+ * struct x86_init_iommu - platform specific iommu setup -+ * @iommu_init: platform specific iommu setup -+ */ -+struct x86_init_iommu { -+ int (*iommu_init)(void); -+}; -+ -+/** - * struct x86_init_ops - functions for platform specific setup - * - */ -@@ -101,6 +109,7 @@ struct x86_init_ops { - struct x86_init_oem oem; - struct x86_init_paging paging; - struct x86_init_timers timers; -+ struct x86_init_iommu iommu; - }; - - /** -@@ -121,6 +130,7 @@ struct x86_platform_ops { - unsigned long (*calibrate_tsc)(void); - unsigned long (*get_wallclock)(void); - int (*set_wallclock)(unsigned long nowtime); -+ void (*iommu_shutdown)(void); - }; - - extern struct x86_init_ops x86_init; -diff --git a/arch/x86/include/asm/xen/hypercall.h b/arch/x86/include/asm/xen/hypercall.h -index 9c371e4..41c4be0 100644 ---- a/arch/x86/include/asm/xen/hypercall.h -+++ b/arch/x86/include/asm/xen/hypercall.h -@@ -45,6 +45,8 @@ - #include - #include - #include -+#include -+#include - - /* - * The hypercall asms have to meet several constraints: -@@ -200,6 +202,23 @@ extern struct { char _entry[32]; } hypercall_page[]; - (type)__res; \ - }) - -+static inline long -+privcmd_call(unsigned call, -+ unsigned long a1, unsigned long a2, -+ unsigned long a3, unsigned long a4, -+ unsigned long a5) -+{ -+ __HYPERCALL_DECLS; -+ __HYPERCALL_5ARG(a1, a2, a3, a4, a5); -+ -+ asm volatile("call *%[call]" -+ : __HYPERCALL_5PARAM -+ : [call] "a" (&hypercall_page[call]) -+ : __HYPERCALL_CLOBBER5); -+ -+ return (long)__res; -+} -+ - static inline int - HYPERVISOR_set_trap_table(struct trap_info *table) - { -@@ -282,6 +301,20 @@ HYPERVISOR_set_timer_op(u64 timeout) - } - - static inline int -+HYPERVISOR_mca(struct xen_mc *mc_op) -+{ -+ mc_op->interface_version = XEN_MCA_INTERFACE_VERSION; -+ return _hypercall1(int, mca, mc_op); -+} -+ -+static inline int -+HYPERVISOR_dom0_op(struct xen_platform_op *platform_op) -+{ -+ platform_op->interface_version = XENPF_INTERFACE_VERSION; -+ return _hypercall1(int, dom0_op, platform_op); -+} -+ -+static inline int - HYPERVISOR_set_debugreg(int reg, unsigned long value) - { - return _hypercall2(int, set_debugreg, reg, value); -@@ -417,6 +450,12 @@ HYPERVISOR_nmi_op(unsigned long op, unsigned long arg) - return _hypercall2(int, nmi_op, op, arg); - } - -+static inline unsigned long __must_check -+HYPERVISOR_hvm_op(int op, void *arg) -+{ -+ return _hypercall2(unsigned long, hvm_op, op, arg); -+} -+ - static inline void - MULTI_fpu_taskswitch(struct multicall_entry *mcl, int set) - { -@@ -424,6 +463,14 @@ MULTI_fpu_taskswitch(struct multicall_entry *mcl, int set) - mcl->args[0] = set; - } - -+#if defined(CONFIG_X86_64) -+#define MULTI_UVMFLAGS_INDEX 2 -+#define MULTI_UVMDOMID_INDEX 3 -+#else -+#define MULTI_UVMFLAGS_INDEX 3 -+#define MULTI_UVMDOMID_INDEX 4 -+#endif -+ - static inline void - MULTI_update_va_mapping(struct multicall_entry *mcl, unsigned long va, - pte_t new_val, unsigned long flags) -@@ -432,12 +479,11 @@ MULTI_update_va_mapping(struct multicall_entry *mcl, unsigned long va, - mcl->args[0] = va; - if (sizeof(new_val) == sizeof(long)) { - mcl->args[1] = new_val.pte; -- mcl->args[2] = flags; - } else { - mcl->args[1] = new_val.pte; - mcl->args[2] = new_val.pte >> 32; -- mcl->args[3] = flags; - } -+ mcl->args[MULTI_UVMFLAGS_INDEX] = flags; - } - - static inline void -diff --git a/arch/x86/include/asm/xen/hypervisor.h b/arch/x86/include/asm/xen/hypervisor.h -index d5b7e90..396ff4c 100644 ---- a/arch/x86/include/asm/xen/hypervisor.h -+++ b/arch/x86/include/asm/xen/hypervisor.h -@@ -37,31 +37,4 @@ - extern struct shared_info *HYPERVISOR_shared_info; - extern struct start_info *xen_start_info; - --enum xen_domain_type { -- XEN_NATIVE, /* running on bare hardware */ -- XEN_PV_DOMAIN, /* running in a PV domain */ -- XEN_HVM_DOMAIN, /* running in a Xen hvm domain */ --}; -- --#ifdef CONFIG_XEN --extern enum xen_domain_type xen_domain_type; --#else --#define xen_domain_type XEN_NATIVE --#endif -- --#define xen_domain() (xen_domain_type != XEN_NATIVE) --#define xen_pv_domain() (xen_domain() && \ -- xen_domain_type == XEN_PV_DOMAIN) --#define xen_hvm_domain() (xen_domain() && \ -- xen_domain_type == XEN_HVM_DOMAIN) -- --#ifdef CONFIG_XEN_DOM0 --#include -- --#define xen_initial_domain() (xen_pv_domain() && \ -- xen_start_info->flags & SIF_INITDOMAIN) --#else /* !CONFIG_XEN_DOM0 */ --#define xen_initial_domain() (0) --#endif /* CONFIG_XEN_DOM0 */ -- - #endif /* _ASM_X86_XEN_HYPERVISOR_H */ -diff --git a/arch/x86/include/asm/xen/interface.h b/arch/x86/include/asm/xen/interface.h -index e8506c1..9539998 100644 ---- a/arch/x86/include/asm/xen/interface.h -+++ b/arch/x86/include/asm/xen/interface.h -@@ -61,9 +61,9 @@ DEFINE_GUEST_HANDLE(void); - #define HYPERVISOR_VIRT_START mk_unsigned_long(__HYPERVISOR_VIRT_START) - #endif - --#ifndef machine_to_phys_mapping --#define machine_to_phys_mapping ((unsigned long *)HYPERVISOR_VIRT_START) --#endif -+#define MACH2PHYS_VIRT_START mk_unsigned_long(__MACH2PHYS_VIRT_START) -+#define MACH2PHYS_VIRT_END mk_unsigned_long(__MACH2PHYS_VIRT_END) -+#define MACH2PHYS_NR_ENTRIES ((MACH2PHYS_VIRT_END-MACH2PHYS_VIRT_START)>>__MACH2PHYS_SHIFT) - - /* Maximum number of virtual CPUs in multi-processor guests. */ - #define MAX_VIRT_CPUS 32 -@@ -97,6 +97,8 @@ DEFINE_GUEST_HANDLE(void); - #define TI_SET_IF(_ti, _if) ((_ti)->flags |= ((!!(_if))<<2)) - - #ifndef __ASSEMBLY__ -+#include -+ - struct trap_info { - uint8_t vector; /* exception vector */ - uint8_t flags; /* 0-3: privilege level; 4: clear event enable? */ -diff --git a/arch/x86/include/asm/xen/interface_32.h b/arch/x86/include/asm/xen/interface_32.h -index 42a7e00..8413688 100644 ---- a/arch/x86/include/asm/xen/interface_32.h -+++ b/arch/x86/include/asm/xen/interface_32.h -@@ -32,6 +32,11 @@ - /* And the trap vector is... */ - #define TRAP_INSTR "int $0x82" - -+#define __MACH2PHYS_VIRT_START 0xF5800000 -+#define __MACH2PHYS_VIRT_END 0xF6800000 -+ -+#define __MACH2PHYS_SHIFT 2 -+ - /* - * Virtual addresses beyond this are not modifiable by guest OSes. The - * machine->physical mapping table starts at this address, read-only. -diff --git a/arch/x86/include/asm/xen/interface_64.h b/arch/x86/include/asm/xen/interface_64.h -index 100d266..839a481 100644 ---- a/arch/x86/include/asm/xen/interface_64.h -+++ b/arch/x86/include/asm/xen/interface_64.h -@@ -39,18 +39,7 @@ - #define __HYPERVISOR_VIRT_END 0xFFFF880000000000 - #define __MACH2PHYS_VIRT_START 0xFFFF800000000000 - #define __MACH2PHYS_VIRT_END 0xFFFF804000000000 -- --#ifndef HYPERVISOR_VIRT_START --#define HYPERVISOR_VIRT_START mk_unsigned_long(__HYPERVISOR_VIRT_START) --#define HYPERVISOR_VIRT_END mk_unsigned_long(__HYPERVISOR_VIRT_END) --#endif -- --#define MACH2PHYS_VIRT_START mk_unsigned_long(__MACH2PHYS_VIRT_START) --#define MACH2PHYS_VIRT_END mk_unsigned_long(__MACH2PHYS_VIRT_END) --#define MACH2PHYS_NR_ENTRIES ((MACH2PHYS_VIRT_END-MACH2PHYS_VIRT_START)>>3) --#ifndef machine_to_phys_mapping --#define machine_to_phys_mapping ((unsigned long *)HYPERVISOR_VIRT_START) --#endif -+#define __MACH2PHYS_SHIFT 3 - - /* - * int HYPERVISOR_set_segment_base(unsigned int which, unsigned long base) -diff --git a/arch/x86/include/asm/xen/iommu.h b/arch/x86/include/asm/xen/iommu.h -new file mode 100644 -index 0000000..75df312 ---- /dev/null -+++ b/arch/x86/include/asm/xen/iommu.h -@@ -0,0 +1,12 @@ -+#ifndef ASM_X86__XEN_IOMMU_H -+ -+#ifdef CONFIG_PCI_XEN -+extern void xen_iommu_init(void); -+#else -+static inline void xen_iommu_init(void) -+{ -+} -+#endif -+ -+#endif -+ -diff --git a/arch/x86/include/asm/xen/page.h b/arch/x86/include/asm/xen/page.h -index 018a0a4..05c5cf5 100644 ---- a/arch/x86/include/asm/xen/page.h -+++ b/arch/x86/include/asm/xen/page.h -@@ -5,6 +5,7 @@ - #include - #include - #include -+#include - - #include - #include -@@ -28,23 +29,32 @@ typedef struct xpaddr { - - /**** MACHINE <-> PHYSICAL CONVERSION MACROS ****/ - #define INVALID_P2M_ENTRY (~0UL) --#define FOREIGN_FRAME_BIT (1UL<<31) -+#define FOREIGN_FRAME_BIT (1UL << (sizeof(unsigned long) * 8 - 1)) - #define FOREIGN_FRAME(m) ((m) | FOREIGN_FRAME_BIT) - - /* Maximum amount of memory we can handle in a domain in pages */ - #define MAX_DOMAIN_PAGES \ - ((unsigned long)((u64)CONFIG_XEN_MAX_DOMAIN_MEMORY * 1024 * 1024 * 1024 / PAGE_SIZE)) - -+extern unsigned long *machine_to_phys_mapping; -+extern unsigned int machine_to_phys_order; - - extern unsigned long get_phys_to_machine(unsigned long pfn); --extern void set_phys_to_machine(unsigned long pfn, unsigned long mfn); -+extern bool set_phys_to_machine(unsigned long pfn, unsigned long mfn); - - static inline unsigned long pfn_to_mfn(unsigned long pfn) - { -+ unsigned long mfn; -+ - if (xen_feature(XENFEAT_auto_translated_physmap)) - return pfn; - -- return get_phys_to_machine(pfn) & ~FOREIGN_FRAME_BIT; -+ mfn = get_phys_to_machine(pfn); -+ -+ if (mfn != INVALID_P2M_ENTRY) -+ mfn &= ~FOREIGN_FRAME_BIT; -+ -+ return mfn; - } - - static inline int phys_to_machine_mapping_valid(unsigned long pfn) -@@ -62,10 +72,8 @@ static inline unsigned long mfn_to_pfn(unsigned long mfn) - if (xen_feature(XENFEAT_auto_translated_physmap)) - return mfn; - --#if 0 - if (unlikely((mfn >> machine_to_phys_order) != 0)) -- return max_mapnr; --#endif -+ return ~0; - - pfn = 0; - /* -@@ -112,13 +120,9 @@ static inline xpaddr_t machine_to_phys(xmaddr_t machine) - */ - static inline unsigned long mfn_to_local_pfn(unsigned long mfn) - { -- extern unsigned long max_mapnr; - unsigned long pfn = mfn_to_pfn(mfn); -- if ((pfn < max_mapnr) -- && !xen_feature(XENFEAT_auto_translated_physmap) -- && (get_phys_to_machine(pfn) != mfn)) -- return max_mapnr; /* force !pfn_valid() */ -- /* XXX fixme; not true with sparsemem */ -+ if (get_phys_to_machine(pfn) != mfn) -+ return -1; /* force !pfn_valid() */ - return pfn; - } - -@@ -163,6 +167,7 @@ static inline pte_t __pte_ma(pteval_t x) - - #define pgd_val_ma(x) ((x).pgd) - -+void xen_set_domain_pte(pte_t *ptep, pte_t pteval, unsigned domid); - - xmaddr_t arbitrary_virt_to_machine(void *address); - unsigned long arbitrary_virt_to_mfn(void *vaddr); -diff --git a/arch/x86/include/asm/xen/pci.h b/arch/x86/include/asm/xen/pci.h -new file mode 100644 -index 0000000..6683196 ---- /dev/null -+++ b/arch/x86/include/asm/xen/pci.h -@@ -0,0 +1,104 @@ -+#ifndef _ASM_X86_XEN_PCI_H -+#define _ASM_X86_XEN_PCI_H -+ -+#if defined(CONFIG_PCI_MSI) -+#if defined(CONFIG_PCI_XEN) -+int xen_register_pirq(u32 gsi, int triggering); -+int xen_register_gsi(u32 gsi, int triggering, int polarity); -+int xen_create_msi_irq(struct pci_dev *dev, -+ struct msi_desc *msidesc, -+ int type); -+void xen_pci_teardown_msi_dev(struct pci_dev *dev); -+void xen_pci_teardown_msi_irq(int irq); -+int xen_pci_setup_msi_irqs(struct pci_dev *dev, int nvec, int type); -+ -+/* The drivers/pci/xen-pcifront.c sets this structure to -+ * its own functions. -+ */ -+struct xen_pci_frontend_ops { -+ int (*enable_msi)(struct pci_dev *dev, int **vectors); -+ void (*disable_msi)(struct pci_dev *dev); -+ int (*enable_msix)(struct pci_dev *dev, int **vectors, int nvec); -+ void (*disable_msix)(struct pci_dev *dev); -+}; -+ -+extern struct xen_pci_frontend_ops *xen_pci_frontend; -+ -+static inline int xen_pci_frontend_enable_msi(struct pci_dev *dev, -+ int **vectors) -+{ -+ if (xen_pci_frontend && xen_pci_frontend->enable_msi) -+ return xen_pci_frontend->enable_msi(dev, vectors); -+ return -ENODEV; -+} -+static inline void xen_pci_frontend_disable_msi(struct pci_dev *dev) -+{ -+ if (xen_pci_frontend && xen_pci_frontend->disable_msi) -+ xen_pci_frontend->disable_msi(dev); -+} -+static inline int xen_pci_frontend_enable_msix(struct pci_dev *dev, -+ int **vectors, int nvec) -+{ -+ if (xen_pci_frontend && xen_pci_frontend->enable_msix) -+ return xen_pci_frontend->enable_msix(dev, vectors, nvec); -+ return -ENODEV; -+} -+static inline void xen_pci_frontend_disable_msix(struct pci_dev *dev) -+{ -+ if (xen_pci_frontend && xen_pci_frontend->disable_msix) -+ xen_pci_frontend->disable_msix(dev); -+} -+#else -+static inline int xen_create_msi_irq(struct pci_dev *dev, -+ struct msi_desc *msidesc, -+ int type) -+{ -+ return -1; -+} -+static inline void xen_pci_teardown_msi_dev(struct pci_dev *dev) { } -+static inline void xen_pci_teardown_msi_irq(int irq) { } -+static inline int xen_pci_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) -+{ -+ return -ENODEV; -+} -+#endif /* CONFIG_PCI_XEN */ -+ -+#endif /* CONFIG_PCI_MSI */ -+ -+#ifdef CONFIG_XEN_DOM0_PCI -+int xen_register_gsi(u32 gsi, int triggering, int polarity); -+int xen_find_device_domain_owner(struct pci_dev *dev); -+int xen_register_device_domain_owner(struct pci_dev *dev, uint16_t domain); -+int xen_unregister_device_domain_owner(struct pci_dev *dev); -+ -+#else -+static inline int xen_register_gsi(u32 gsi, int triggering, int polarity) -+{ -+ return -1; -+} -+ -+static inline int xen_find_device_domain_owner(struct pci_dev *dev) -+{ -+ return -1; -+} -+static inline int xen_register_device_domain_owner(struct pci_dev *dev, -+ uint16_t domain) -+{ -+ return -1; -+} -+static inline int xen_unregister_device_domain_owner(struct pci_dev *dev) -+{ -+ return -1; -+} -+#endif -+ -+#if defined(CONFIG_PCI_MSI) && defined(CONFIG_XEN_DOM0_PCI) -+int xen_setup_msi_irqs(struct pci_dev *dev, int nvec, int type); -+#else -+static inline int xen_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) -+{ -+ return -1; -+} -+#endif -+ -+#endif /* _ASM_X86_XEN_PCI_H */ -diff --git a/arch/x86/include/asm/xen/swiotlb-xen.h b/arch/x86/include/asm/xen/swiotlb-xen.h -new file mode 100644 -index 0000000..e4fe299 ---- /dev/null -+++ b/arch/x86/include/asm/xen/swiotlb-xen.h -@@ -0,0 +1,14 @@ -+#ifndef _ASM_X86_SWIOTLB_XEN_H -+#define _ASM_X86_SWIOTLB_XEN_H -+ -+#ifdef CONFIG_PCI_XEN -+extern int xen_swiotlb; -+extern int __init pci_xen_swiotlb_detect(void); -+extern void __init pci_xen_swiotlb_init(void); -+#else -+#define xen_swiotlb 0 -+static inline int __init pci_xen_swiotlb_detect(void) { return 0; } -+static inline void __init pci_xen_swiotlb_init(void) { } -+#endif -+ -+#endif /* _ASM_X86_SWIOTLB_XEN_H */ -diff --git a/arch/x86/kernel/Makefile b/arch/x86/kernel/Makefile -index d1911ab..cfe00bc 100644 ---- a/arch/x86/kernel/Makefile -+++ b/arch/x86/kernel/Makefile -@@ -113,6 +113,7 @@ obj-$(CONFIG_X86_MRST) += mrst.o - microcode-y := microcode_core.o - microcode-$(CONFIG_MICROCODE_INTEL) += microcode_intel.o - microcode-$(CONFIG_MICROCODE_AMD) += microcode_amd.o -+microcode-$(CONFIG_MICROCODE_XEN) += microcode_xen.o - obj-$(CONFIG_MICROCODE) += microcode.o - - obj-$(CONFIG_X86_CHECK_BIOS_CORRUPTION) += check.o -diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c -index 23c2da8..a2a5125 100644 ---- a/arch/x86/kernel/acpi/boot.c -+++ b/arch/x86/kernel/acpi/boot.c -@@ -42,6 +42,10 @@ - #include - #include - -+#include -+ -+#include -+ - static int __initdata acpi_force = 0; - u32 acpi_rsdt_forced; - int acpi_disabled; -@@ -149,6 +153,10 @@ static void __cpuinit acpi_register_lapic(int id, u8 enabled) - { - unsigned int ver = 0; - -+ /* We don't want to register lapics when in Xen dom0 */ -+ if (xen_initial_domain()) -+ return; -+ - if (!enabled) { - ++disabled_cpus; - return; -@@ -461,9 +469,13 @@ int acpi_gsi_to_irq(u32 gsi, unsigned int *irq) - */ - int acpi_register_gsi(struct device *dev, u32 gsi, int trigger, int polarity) - { -- unsigned int irq; -+ int irq; - unsigned int plat_gsi = gsi; - -+ irq = xen_register_gsi(gsi, trigger, polarity); -+ if (irq >= 0) -+ return irq; -+ - #ifdef CONFIG_PCI - /* - * Make sure all (legacy) PCI IRQs are set as level-triggered. -@@ -740,6 +752,10 @@ static int __init acpi_parse_fadt(struct acpi_table_header *table) - - static void __init acpi_register_lapic_address(unsigned long address) - { -+ /* Xen dom0 doesn't have usable lapics */ -+ if (xen_initial_domain()) -+ return; -+ - mp_lapic_addr = address; - - set_fixmap_nocache(FIX_APIC_BASE, address); -@@ -860,6 +876,9 @@ int __init acpi_probe_gsi(void) - max_gsi = gsi; - } - -+ if (xen_initial_domain()) -+ max_gsi += 255; /* Plus maximum entries of an ioapic. */ -+ - return max_gsi + 1; - } - -diff --git a/arch/x86/kernel/acpi/processor.c b/arch/x86/kernel/acpi/processor.c -index d85d1b2..8aabedd 100644 ---- a/arch/x86/kernel/acpi/processor.c -+++ b/arch/x86/kernel/acpi/processor.c -@@ -12,6 +12,8 @@ - #include - #include - -+#include -+ - static void init_intel_pdc(struct acpi_processor *pr, struct cpuinfo_x86 *c) - { - struct acpi_object_list *obj_list; -@@ -59,7 +61,7 @@ static void init_intel_pdc(struct acpi_processor *pr, struct cpuinfo_x86 *c) - /* - * If mwait/monitor is unsupported, C2/C3_FFH will be disabled - */ -- if (!cpu_has(c, X86_FEATURE_MWAIT)) -+ if (!cpu_has(c, X86_FEATURE_MWAIT) && !xen_initial_domain()) - buf[2] &= ~(ACPI_PDC_C_C2C3_FFH); - - obj->type = ACPI_TYPE_BUFFER; -@@ -88,6 +90,19 @@ void arch_acpi_processor_init_pdc(struct acpi_processor *pr) - - EXPORT_SYMBOL(arch_acpi_processor_init_pdc); - -+/* Initialize _PDC data based on the CPU vendor */ -+void xen_arch_acpi_processor_init_pdc(struct acpi_processor *pr) -+{ -+ struct cpuinfo_x86 *c = &cpu_data(0); -+ -+ pr->pdc = NULL; -+ if (c->x86_vendor == X86_VENDOR_INTEL) -+ init_intel_pdc(pr, c); -+ -+ return; -+} -+EXPORT_SYMBOL(xen_arch_acpi_processor_init_pdc); -+ - void arch_acpi_processor_cleanup_pdc(struct acpi_processor *pr) - { - if (pr->pdc) { -diff --git a/arch/x86/kernel/acpi/sleep.c b/arch/x86/kernel/acpi/sleep.c -index ca93638..9eff23c 100644 ---- a/arch/x86/kernel/acpi/sleep.c -+++ b/arch/x86/kernel/acpi/sleep.c -@@ -12,6 +12,8 @@ - #include - #include - -+#include -+ - #include "realmode/wakeup.h" - #include "sleep.h" - -diff --git a/arch/x86/kernel/amd_iommu.c b/arch/x86/kernel/amd_iommu.c -index 7cd33f7..b8497c6 100644 ---- a/arch/x86/kernel/amd_iommu.c -+++ b/arch/x86/kernel/amd_iommu.c -@@ -928,7 +928,7 @@ static unsigned long dma_ops_alloc_addresses(struct device *dev, - } - - if (unlikely(address == -1)) -- address = bad_dma_address; -+ address = DMA_ERROR_CODE; - - WARN_ON((address + (PAGE_SIZE*pages)) > dom->aperture_size); - -@@ -1545,7 +1545,7 @@ static dma_addr_t dma_ops_domain_map(struct amd_iommu *iommu, - - pte = dma_ops_get_pte(dom, address); - if (!pte) -- return bad_dma_address; -+ return DMA_ERROR_CODE; - - __pte = paddr | IOMMU_PTE_P | IOMMU_PTE_FC; - -@@ -1626,7 +1626,7 @@ static dma_addr_t __map_single(struct device *dev, - retry: - address = dma_ops_alloc_addresses(dev, dma_dom, pages, align_mask, - dma_mask); -- if (unlikely(address == bad_dma_address)) { -+ if (unlikely(address == DMA_ERROR_CODE)) { - /* - * setting next_address here will let the address - * allocator only scan the new allocated range in the -@@ -1647,7 +1647,7 @@ retry: - start = address; - for (i = 0; i < pages; ++i) { - ret = dma_ops_domain_map(iommu, dma_dom, start, paddr, dir); -- if (ret == bad_dma_address) -+ if (ret == DMA_ERROR_CODE) - goto out_unmap; - - paddr += PAGE_SIZE; -@@ -1675,7 +1675,7 @@ out_unmap: - - dma_ops_free_addresses(dma_dom, address, pages); - -- return bad_dma_address; -+ return DMA_ERROR_CODE; - } - - /* -@@ -1692,7 +1692,7 @@ static void __unmap_single(struct amd_iommu *iommu, - dma_addr_t i, start; - unsigned int pages; - -- if ((dma_addr == bad_dma_address) || -+ if ((dma_addr == DMA_ERROR_CODE) || - (dma_addr + size > dma_dom->aperture_size)) - return; - -@@ -1735,7 +1735,7 @@ static dma_addr_t map_page(struct device *dev, struct page *page, - INC_STATS_COUNTER(cnt_map_single); - - if (!check_device(dev)) -- return bad_dma_address; -+ return DMA_ERROR_CODE; - - dma_mask = *dev->dma_mask; - -@@ -1746,12 +1746,12 @@ static dma_addr_t map_page(struct device *dev, struct page *page, - return (dma_addr_t)paddr; - - if (!dma_ops_domain(domain)) -- return bad_dma_address; -+ return DMA_ERROR_CODE; - - spin_lock_irqsave(&domain->lock, flags); - addr = __map_single(dev, iommu, domain->priv, paddr, size, dir, false, - dma_mask); -- if (addr == bad_dma_address) -+ if (addr == DMA_ERROR_CODE) - goto out; - - iommu_completion_wait(iommu); -@@ -1960,7 +1960,7 @@ static void *alloc_coherent(struct device *dev, size_t size, - *dma_addr = __map_single(dev, iommu, domain->priv, paddr, - size, DMA_BIDIRECTIONAL, true, dma_mask); - -- if (*dma_addr == bad_dma_address) { -+ if (*dma_addr == DMA_ERROR_CODE) { - spin_unlock_irqrestore(&domain->lock, flags); - goto out_free; - } -@@ -2122,8 +2122,7 @@ int __init amd_iommu_init_dma_ops(void) - prealloc_protection_domains(); - - iommu_detected = 1; -- force_iommu = 1; -- bad_dma_address = 0; -+ swiotlb = 0; - #ifdef CONFIG_GART_IOMMU - gart_iommu_aperture_disabled = 1; - gart_iommu_aperture = 0; -diff --git a/arch/x86/kernel/amd_iommu_init.c b/arch/x86/kernel/amd_iommu_init.c -index 400be99..0069df5 100644 ---- a/arch/x86/kernel/amd_iommu_init.c -+++ b/arch/x86/kernel/amd_iommu_init.c -@@ -29,6 +29,7 @@ - #include - #include - #include -+#include - - /* - * definitions for the ACPI scanning code -@@ -1206,19 +1207,10 @@ static struct sys_device device_amd_iommu = { - * functions. Finally it prints some information about AMD IOMMUs and - * the driver state and enables the hardware. - */ --int __init amd_iommu_init(void) -+static int __init amd_iommu_init(void) - { - int i, ret = 0; - -- -- if (no_iommu) { -- printk(KERN_INFO "AMD-Vi disabled by kernel command line\n"); -- return 0; -- } -- -- if (!amd_iommu_detected) -- return -ENODEV; -- - /* - * First parse ACPI tables to find the largest Bus/Dev/Func - * we need to handle. Upon this information the shared data -@@ -1333,6 +1325,7 @@ int __init amd_iommu_init(void) - else - printk(KERN_INFO "AMD-Vi: Lazy IO/TLB flushing enabled\n"); - -+ x86_platform.iommu_shutdown = disable_iommus; - out: - return ret; - -@@ -1361,11 +1354,6 @@ free: - goto out; - } - --void amd_iommu_shutdown(void) --{ -- disable_iommus(); --} -- - /**************************************************************************** - * - * Early detect code. This code runs at IOMMU detection time in the DMA -@@ -1380,16 +1368,13 @@ static int __init early_amd_iommu_detect(struct acpi_table_header *table) - - void __init amd_iommu_detect(void) - { -- if (swiotlb || no_iommu || (iommu_detected && !gart_iommu_aperture)) -+ if (no_iommu || (iommu_detected && !gart_iommu_aperture)) - return; - - if (acpi_table_parse("IVRS", early_amd_iommu_detect) == 0) { - iommu_detected = 1; - amd_iommu_detected = 1; --#ifdef CONFIG_GART_IOMMU -- gart_iommu_aperture_disabled = 1; -- gart_iommu_aperture = 0; --#endif -+ x86_init.iommu.iommu_init = amd_iommu_init; - } - } - -diff --git a/arch/x86/kernel/aperture_64.c b/arch/x86/kernel/aperture_64.c -index 082089e..8d34362 100644 ---- a/arch/x86/kernel/aperture_64.c -+++ b/arch/x86/kernel/aperture_64.c -@@ -28,6 +28,7 @@ - #include - #include - #include -+#include - - int gart_iommu_aperture; - int gart_iommu_aperture_disabled __initdata; -@@ -401,6 +402,7 @@ void __init gart_iommu_hole_init(void) - - iommu_detected = 1; - gart_iommu_aperture = 1; -+ x86_init.iommu.iommu_init = gart_iommu_init; - - ctl = read_pci_config(bus, slot, 3, - AMD64_GARTAPERTURECTL); -@@ -469,7 +471,7 @@ out: - - if (aper_alloc) { - /* Got the aperture from the AGP bridge */ -- } else if (swiotlb && !valid_agp) { -+ } else if (!valid_agp) { - /* Do nothing */ - } else if ((!no_iommu && max_pfn > MAX_DMA32_PFN) || - force_iommu || -diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c -index 8928d97..4848d5d 100644 ---- a/arch/x86/kernel/apic/io_apic.c -+++ b/arch/x86/kernel/apic/io_apic.c -@@ -63,7 +63,12 @@ - #include - #include - -+#include - #include -+#include -+#include -+ -+#include - - #define __apicdebuginit(type) static type __init - #define for_each_irq_pin(entry, head) \ -@@ -395,14 +400,18 @@ static inline void io_apic_eoi(unsigned int apic, unsigned int vector) - - static inline unsigned int io_apic_read(unsigned int apic, unsigned int reg) - { -- struct io_apic __iomem *io_apic = io_apic_base(apic); -+ struct io_apic __iomem *io_apic; -+ -+ io_apic = io_apic_base(apic); - writel(reg, &io_apic->index); - return readl(&io_apic->data); - } - - static inline void io_apic_write(unsigned int apic, unsigned int reg, unsigned int value) - { -- struct io_apic __iomem *io_apic = io_apic_base(apic); -+ struct io_apic __iomem *io_apic; -+ -+ io_apic = io_apic_base(apic); - writel(reg, &io_apic->index); - writel(value, &io_apic->data); - } -@@ -415,7 +424,9 @@ static inline void io_apic_write(unsigned int apic, unsigned int reg, unsigned i - */ - static inline void io_apic_modify(unsigned int apic, unsigned int reg, unsigned int value) - { -- struct io_apic __iomem *io_apic = io_apic_base(apic); -+ struct io_apic __iomem *io_apic; -+ -+ io_apic = io_apic_base(apic); - - if (sis_apic_bug) - writel(reg, &io_apic->index); -@@ -3494,6 +3505,9 @@ int arch_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) - if (type == PCI_CAP_ID_MSI && nvec > 1) - return 1; - -+ if (xen_pv_domain()) -+ return xen_pci_setup_msi_irqs(dev, nvec, type); -+ - node = dev_to_node(&dev->dev); - irq_want = nr_irqs_gsi; - sub_handle = 0; -@@ -3543,7 +3557,29 @@ error: - - void arch_teardown_msi_irq(unsigned int irq) - { -- destroy_irq(irq); -+ if (xen_domain()) -+ xen_pci_teardown_msi_irq(irq); -+ else -+ destroy_irq(irq); -+} -+ -+void arch_teardown_msi_irqs(struct pci_dev *dev) -+{ -+ struct msi_desc *entry; -+ -+ /* If we are non-privileged PV domain, we have to -+ * to call xen_teardown_msi_dev first. */ -+ if (xen_domain()) -+ xen_pci_teardown_msi_dev(dev); -+ -+ list_for_each_entry(entry, &dev->msi_list, list) { -+ int i, nvec; -+ if (entry->irq == 0) -+ continue; -+ nvec = 1 << entry->msi_attrib.multiple; -+ for (i = 0; i < nvec; i++) -+ arch_teardown_msi_irq(entry->irq + i); -+ } - } - - #if defined (CONFIG_DMAR) || defined (CONFIG_INTR_REMAP) -@@ -3860,7 +3896,14 @@ void __init probe_nr_irqs_gsi(void) - printk(KERN_DEBUG "nr_irqs_gsi: %d\n", nr_irqs_gsi); - } - -+int get_nr_irqs_gsi(void) -+{ -+ return nr_irqs_gsi; -+} -+ - #ifdef CONFIG_SPARSE_IRQ -+int nr_dynamic_irqs; -+ - int __init arch_probe_nr_irqs(void) - { - int nr; -@@ -3878,6 +3921,8 @@ int __init arch_probe_nr_irqs(void) - if (nr < nr_irqs) - nr_irqs = nr; - -+ nr_irqs += nr_dynamic_irqs; -+ - return 0; - } - #endif -diff --git a/arch/x86/kernel/apic/nmi.c b/arch/x86/kernel/apic/nmi.c -index 7ff61d6..d1e6e60 100644 ---- a/arch/x86/kernel/apic/nmi.c -+++ b/arch/x86/kernel/apic/nmi.c -@@ -558,6 +558,9 @@ void arch_trigger_all_cpu_backtrace(void) - { - int i; - -+ if (!cpu_has_apic) -+ return; -+ - cpumask_copy(&backtrace_mask, cpu_online_mask); - - printk(KERN_INFO "sending NMI to all CPUs:\n"); -diff --git a/arch/x86/kernel/cpu/mtrr/Makefile b/arch/x86/kernel/cpu/mtrr/Makefile -index f4361b5..404e458 100644 ---- a/arch/x86/kernel/cpu/mtrr/Makefile -+++ b/arch/x86/kernel/cpu/mtrr/Makefile -@@ -1,3 +1,4 @@ - obj-y := main.o if.o generic.o state.o cleanup.o - obj-$(CONFIG_X86_32) += amd.o cyrix.o centaur.o -+obj-$(CONFIG_XEN_DOM0) += xen.o - -diff --git a/arch/x86/kernel/cpu/mtrr/amd.c b/arch/x86/kernel/cpu/mtrr/amd.c -index 33af141..378f8dc 100644 ---- a/arch/x86/kernel/cpu/mtrr/amd.c -+++ b/arch/x86/kernel/cpu/mtrr/amd.c -@@ -108,6 +108,11 @@ amd_validate_add_page(unsigned long base, unsigned long size, unsigned int type) - return 0; - } - -+static int amd_num_var_ranges(void) -+{ -+ return 2; -+} -+ - static struct mtrr_ops amd_mtrr_ops = { - .vendor = X86_VENDOR_AMD, - .set = amd_set_mtrr, -@@ -115,6 +120,7 @@ static struct mtrr_ops amd_mtrr_ops = { - .get_free_region = generic_get_free_region, - .validate_add_page = amd_validate_add_page, - .have_wrcomb = positive_have_wrcomb, -+ .num_var_ranges = amd_num_var_ranges, - }; - - int __init amd_init_mtrr(void) -diff --git a/arch/x86/kernel/cpu/mtrr/centaur.c b/arch/x86/kernel/cpu/mtrr/centaur.c -index de89f14..7c686a0 100644 ---- a/arch/x86/kernel/cpu/mtrr/centaur.c -+++ b/arch/x86/kernel/cpu/mtrr/centaur.c -@@ -110,6 +110,11 @@ centaur_validate_add_page(unsigned long base, unsigned long size, unsigned int t - return 0; - } - -+static int centaur_num_var_ranges(void) -+{ -+ return 8; -+} -+ - static struct mtrr_ops centaur_mtrr_ops = { - .vendor = X86_VENDOR_CENTAUR, - .set = centaur_set_mcr, -@@ -117,6 +122,7 @@ static struct mtrr_ops centaur_mtrr_ops = { - .get_free_region = centaur_get_free_region, - .validate_add_page = centaur_validate_add_page, - .have_wrcomb = positive_have_wrcomb, -+ .num_var_ranges = centaur_num_var_ranges, - }; - - int __init centaur_init_mtrr(void) -diff --git a/arch/x86/kernel/cpu/mtrr/cyrix.c b/arch/x86/kernel/cpu/mtrr/cyrix.c -index 228d982..fd6edcc 100644 ---- a/arch/x86/kernel/cpu/mtrr/cyrix.c -+++ b/arch/x86/kernel/cpu/mtrr/cyrix.c -@@ -265,6 +265,11 @@ static void cyrix_set_all(void) - post_set(); - } - -+static int cyrix_num_var_ranges(void) -+{ -+ return 8; -+} -+ - static struct mtrr_ops cyrix_mtrr_ops = { - .vendor = X86_VENDOR_CYRIX, - .set_all = cyrix_set_all, -@@ -273,6 +278,7 @@ static struct mtrr_ops cyrix_mtrr_ops = { - .get_free_region = cyrix_get_free_region, - .validate_add_page = generic_validate_add_page, - .have_wrcomb = positive_have_wrcomb, -+ .num_var_ranges = cyrix_num_var_ranges, - }; - - int __init cyrix_init_mtrr(void) -diff --git a/arch/x86/kernel/cpu/mtrr/generic.c b/arch/x86/kernel/cpu/mtrr/generic.c -index 55da0c5..42f30cd 100644 ---- a/arch/x86/kernel/cpu/mtrr/generic.c -+++ b/arch/x86/kernel/cpu/mtrr/generic.c -@@ -749,8 +749,16 @@ int positive_have_wrcomb(void) - return 1; - } - --/* -- * Generic structure... -+static int generic_num_var_ranges(void) -+{ -+ unsigned long config = 0, dummy; -+ -+ rdmsr(MSR_MTRRcap, config, dummy); -+ -+ return config & 0xff; -+} -+ -+/* generic structure... - */ - struct mtrr_ops generic_mtrr_ops = { - .use_intel_if = 1, -@@ -760,4 +768,5 @@ struct mtrr_ops generic_mtrr_ops = { - .set = generic_set_mtrr, - .validate_add_page = generic_validate_add_page, - .have_wrcomb = generic_have_wrcomb, -+ .num_var_ranges = generic_num_var_ranges, - }; -diff --git a/arch/x86/kernel/cpu/mtrr/main.c b/arch/x86/kernel/cpu/mtrr/main.c -index 84e83de..c8cb9ed 100644 ---- a/arch/x86/kernel/cpu/mtrr/main.c -+++ b/arch/x86/kernel/cpu/mtrr/main.c -@@ -110,21 +110,6 @@ static int have_wrcomb(void) - return mtrr_if->have_wrcomb ? mtrr_if->have_wrcomb() : 0; - } - --/* This function returns the number of variable MTRRs */ --static void __init set_num_var_ranges(void) --{ -- unsigned long config = 0, dummy; -- -- if (use_intel()) -- rdmsr(MSR_MTRRcap, config, dummy); -- else if (is_cpu(AMD)) -- config = 2; -- else if (is_cpu(CYRIX) || is_cpu(CENTAUR)) -- config = 8; -- -- num_var_ranges = config & 0xff; --} -- - static void __init init_table(void) - { - int i, max; -@@ -711,8 +696,11 @@ void __init mtrr_bp_init(void) - } - } - -+ /* Let Xen code override the above if it wants */ -+ xen_init_mtrr(); -+ - if (mtrr_if) { -- set_num_var_ranges(); -+ num_var_ranges = mtrr_if->num_var_ranges(); - init_table(); - if (use_intel()) { - get_mtrr_state(); -diff --git a/arch/x86/kernel/cpu/mtrr/mtrr.h b/arch/x86/kernel/cpu/mtrr/mtrr.h -index a501dee..98569c3 100644 ---- a/arch/x86/kernel/cpu/mtrr/mtrr.h -+++ b/arch/x86/kernel/cpu/mtrr/mtrr.h -@@ -5,6 +5,8 @@ - #include - #include - -+#include -+ - #define MTRR_CHANGE_MASK_FIXED 0x01 - #define MTRR_CHANGE_MASK_VARIABLE 0x02 - #define MTRR_CHANGE_MASK_DEFTYPE 0x04 -@@ -25,6 +27,8 @@ struct mtrr_ops { - int (*validate_add_page)(unsigned long base, unsigned long size, - unsigned int type); - int (*have_wrcomb)(void); -+ -+ int (*num_var_ranges)(void); - }; - - extern int generic_get_free_region(unsigned long base, unsigned long size, -@@ -73,6 +77,13 @@ void mtrr_wrmsr(unsigned, unsigned, unsigned); - int amd_init_mtrr(void); - int cyrix_init_mtrr(void); - int centaur_init_mtrr(void); -+#ifdef CONFIG_XEN_DOM0 -+void xen_init_mtrr(void); -+#else -+static inline void xen_init_mtrr(void) -+{ -+} -+#endif - - extern int changed_by_mtrr_cleanup; - extern int mtrr_cleanup(unsigned address_bits); -diff --git a/arch/x86/kernel/cpu/mtrr/xen.c b/arch/x86/kernel/cpu/mtrr/xen.c -new file mode 100644 -index 0000000..852018b ---- /dev/null -+++ b/arch/x86/kernel/cpu/mtrr/xen.c -@@ -0,0 +1,109 @@ -+#include -+#include -+ -+#include -+ -+#include "mtrr.h" -+ -+#include -+#include -+#include -+#include -+ -+static void xen_set_mtrr(unsigned int reg, unsigned long base, -+ unsigned long size, mtrr_type type) -+{ -+ struct xen_platform_op op; -+ int error; -+ -+ /* mtrr_ops->set() is called once per CPU, -+ * but Xen's ops apply to all CPUs. -+ */ -+ if (smp_processor_id()) -+ return; -+ -+ if (size == 0) { -+ op.cmd = XENPF_del_memtype; -+ op.u.del_memtype.handle = 0; -+ op.u.del_memtype.reg = reg; -+ } else { -+ op.cmd = XENPF_add_memtype; -+ op.u.add_memtype.mfn = base; -+ op.u.add_memtype.nr_mfns = size; -+ op.u.add_memtype.type = type; -+ } -+ -+ error = HYPERVISOR_dom0_op(&op); -+ BUG_ON(error != 0); -+} -+ -+static void xen_get_mtrr(unsigned int reg, unsigned long *base, -+ unsigned long *size, mtrr_type *type) -+{ -+ struct xen_platform_op op; -+ -+ op.cmd = XENPF_read_memtype; -+ op.u.read_memtype.reg = reg; -+ if (HYPERVISOR_dom0_op(&op) != 0) { -+ *base = 0; -+ *size = 0; -+ *type = 0; -+ return; -+ } -+ -+ *size = op.u.read_memtype.nr_mfns; -+ *base = op.u.read_memtype.mfn; -+ *type = op.u.read_memtype.type; -+} -+ -+static int __init xen_num_var_ranges(void) -+{ -+ int ranges; -+ struct xen_platform_op op; -+ -+ op.cmd = XENPF_read_memtype; -+ -+ for (ranges = 0; ; ranges++) { -+ op.u.read_memtype.reg = ranges; -+ if (HYPERVISOR_dom0_op(&op) != 0) -+ break; -+ } -+ return ranges; -+} -+ -+/* -+ * DOM0 TODO: Need to fill in the remaining mtrr methods to have full -+ * working userland mtrr support. -+ */ -+static struct mtrr_ops xen_mtrr_ops = { -+ .vendor = X86_VENDOR_UNKNOWN, -+ .get_free_region = generic_get_free_region, -+ .set = xen_set_mtrr, -+ .get = xen_get_mtrr, -+ .have_wrcomb = positive_have_wrcomb, -+ .validate_add_page = generic_validate_add_page, -+ .use_intel_if = 0, -+ .num_var_ranges = xen_num_var_ranges, -+}; -+ -+void __init xen_init_mtrr(void) -+{ -+ /* -+ * Check that we're running under Xen, and privileged enough -+ * to play with MTRRs. -+ */ -+ if (!xen_initial_domain()) -+ return; -+ -+ /* -+ * Check that the CPU has an MTRR implementation we can -+ * support. -+ */ -+ if (cpu_has_mtrr || -+ cpu_has_k6_mtrr || -+ cpu_has_cyrix_arr || -+ cpu_has_centaur_mcr) { -+ mtrr_if = &xen_mtrr_ops; -+ pat_init(); -+ } -+} -diff --git a/arch/x86/kernel/crash.c b/arch/x86/kernel/crash.c -index ff95824..ebd4c51 100644 ---- a/arch/x86/kernel/crash.c -+++ b/arch/x86/kernel/crash.c -@@ -28,7 +28,6 @@ - #include - #include - -- - #if defined(CONFIG_SMP) && defined(CONFIG_X86_LOCAL_APIC) - - static void kdump_nmi_callback(int cpu, struct die_args *args) -diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c -index d17d482..4d0aded 100644 ---- a/arch/x86/kernel/e820.c -+++ b/arch/x86/kernel/e820.c -@@ -750,6 +750,36 @@ static int __init find_overlapped_early(u64 start, u64 end) - return i; - } - -+u64 __init early_res_next_free(u64 addr) -+{ -+ int i; -+ u64 end = addr; -+ struct early_res *r; -+ -+ for (i = 0; i < MAX_EARLY_RES; i++) { -+ r = &early_res[i]; -+ if (addr >= r->start && addr < r->end) { -+ end = r->end; -+ break; -+ } -+ } -+ return end; -+} -+ -+u64 __init early_res_next_reserved(u64 addr, u64 max) -+{ -+ int i; -+ struct early_res *r; -+ u64 next_res = max; -+ -+ for (i = 0; i < MAX_EARLY_RES && early_res[i].end; i++) { -+ r = &early_res[i]; -+ if ((r->start >= addr) && (r->start < next_res)) -+ next_res = r->start; -+ } -+ return next_res; -+} -+ - /* - * Drop the i-th range from the early reservation map, - * by copying any higher ranges down one over it, and -diff --git a/arch/x86/kernel/entry_32.S b/arch/x86/kernel/entry_32.S -index c097e7d..7764118 100644 ---- a/arch/x86/kernel/entry_32.S -+++ b/arch/x86/kernel/entry_32.S -@@ -1088,6 +1088,9 @@ ENTRY(xen_failsafe_callback) - .previous - ENDPROC(xen_failsafe_callback) - -+BUILD_INTERRUPT3(xen_hvm_callback_vector, XEN_HVM_EVTCHN_CALLBACK, -+ xen_evtchn_do_upcall) -+ - #endif /* CONFIG_XEN */ - - #ifdef CONFIG_FUNCTION_TRACER -diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S -index b5c061f..a626344 100644 ---- a/arch/x86/kernel/entry_64.S -+++ b/arch/x86/kernel/entry_64.S -@@ -1364,6 +1364,9 @@ ENTRY(xen_failsafe_callback) - CFI_ENDPROC - END(xen_failsafe_callback) - -+apicinterrupt XEN_HVM_EVTCHN_CALLBACK \ -+ xen_hvm_callback_vector xen_evtchn_do_upcall -+ - #endif /* CONFIG_XEN */ - - /* -diff --git a/arch/x86/kernel/head64.c b/arch/x86/kernel/head64.c -index 0b06cd7..f59b07a 100644 ---- a/arch/x86/kernel/head64.c -+++ b/arch/x86/kernel/head64.c -@@ -79,6 +79,8 @@ void __init x86_64_start_kernel(char * real_mode_data) - /* Cleanup the over mapped high alias */ - cleanup_highmap(); - -+ max_pfn_mapped = KERNEL_IMAGE_SIZE >> PAGE_SHIFT; -+ - for (i = 0; i < NUM_EXCEPTION_VECTORS; i++) { - #ifdef CONFIG_EARLY_PRINTK - set_intr_gate(i, &early_idt_handlers[i]); -diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c -index c771e1a..8b970b8 100644 ---- a/arch/x86/kernel/hpet.c -+++ b/arch/x86/kernel/hpet.c -@@ -98,7 +98,7 @@ static int __init hpet_setup(char *str) - } - __setup("hpet=", hpet_setup); - --static int __init disable_hpet(char *str) -+int __init disable_hpet(char *str) - { - boot_hpet_disable = 1; - return 1; -diff --git a/arch/x86/kernel/ioport.c b/arch/x86/kernel/ioport.c -index 99c4d30..919c1a8 100644 ---- a/arch/x86/kernel/ioport.c -+++ b/arch/x86/kernel/ioport.c -@@ -30,13 +30,29 @@ static void set_bitmap(unsigned long *bitmap, unsigned int base, - } - } - -+void native_set_io_bitmap(struct thread_struct *t, -+ unsigned long bytes_updated) -+{ -+ struct tss_struct *tss; -+ -+ if (!bytes_updated) -+ return; -+ -+ tss = &__get_cpu_var(init_tss); -+ -+ /* Update the TSS: */ -+ if (t->io_bitmap_ptr) -+ memcpy(tss->io_bitmap, t->io_bitmap_ptr, bytes_updated); -+ else -+ memset(tss->io_bitmap, 0xff, bytes_updated); -+} -+ - /* - * this changes the io permissions bitmap in the current task. - */ - asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on) - { - struct thread_struct *t = ¤t->thread; -- struct tss_struct *tss; - unsigned int i, max_long, bytes, bytes_updated; - - if ((from + num <= from) || (from + num > IO_BITMAP_BITS)) -@@ -61,13 +77,13 @@ asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on) - } - - /* -- * do it in the per-thread copy and in the TSS ... -+ * do it in the per-thread copy - * -- * Disable preemption via get_cpu() - we must not switch away -+ * Disable preemption - we must not switch away - * because the ->io_bitmap_max value must match the bitmap - * contents: - */ -- tss = &per_cpu(init_tss, get_cpu()); -+ preempt_disable(); - - set_bitmap(t->io_bitmap_ptr, from, num, !turn_on); - -@@ -85,10 +101,9 @@ asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on) - - t->io_bitmap_max = bytes; - -- /* Update the TSS: */ -- memcpy(tss->io_bitmap, t->io_bitmap_ptr, bytes_updated); -+ set_io_bitmap(t, bytes_updated); - -- put_cpu(); -+ preempt_enable(); - - return 0; - } -@@ -119,11 +134,10 @@ static int do_iopl(unsigned int level, struct pt_regs *regs) - return 0; - } - --#ifdef CONFIG_X86_32 --long sys_iopl(struct pt_regs *regs) -+asmlinkage long sys_iopl(unsigned int level) - { -- unsigned int level = regs->bx; - struct thread_struct *t = ¤t->thread; -+ struct pt_regs *regs = task_pt_regs(current); - int rc; - - rc = do_iopl(level, regs); -@@ -135,9 +149,3 @@ long sys_iopl(struct pt_regs *regs) - out: - return rc; - } --#else --asmlinkage long sys_iopl(unsigned int level, struct pt_regs *regs) --{ -- return do_iopl(level, regs); --} --#endif -diff --git a/arch/x86/kernel/ldt.c b/arch/x86/kernel/ldt.c -index ec6ef60..fa5b061 100644 ---- a/arch/x86/kernel/ldt.c -+++ b/arch/x86/kernel/ldt.c -@@ -109,6 +109,9 @@ int init_new_context(struct task_struct *tsk, struct mm_struct *mm) - - mutex_init(&mm->context.lock); - mm->context.size = 0; -+#ifdef CONFIG_XEN -+ mm->context.has_foreign_mappings = 0; -+#endif - old_mm = current->mm; - if (old_mm && old_mm->context.size > 0) { - mutex_lock(&old_mm->context.lock); -diff --git a/arch/x86/kernel/microcode_core.c b/arch/x86/kernel/microcode_core.c -index 378e9a8..86ca771 100644 ---- a/arch/x86/kernel/microcode_core.c -+++ b/arch/x86/kernel/microcode_core.c -@@ -81,6 +81,8 @@ - #include - #include - -+#include -+#include - #include - #include - -@@ -503,7 +505,9 @@ static int __init microcode_init(void) - struct cpuinfo_x86 *c = &cpu_data(0); - int error; - -- if (c->x86_vendor == X86_VENDOR_INTEL) -+ if (xen_pv_domain()) -+ microcode_ops = init_xen_microcode(); -+ else if (c->x86_vendor == X86_VENDOR_INTEL) - microcode_ops = init_intel_microcode(); - else if (c->x86_vendor == X86_VENDOR_AMD) - microcode_ops = init_amd_microcode(); -diff --git a/arch/x86/kernel/microcode_xen.c b/arch/x86/kernel/microcode_xen.c -new file mode 100644 -index 0000000..16c742e ---- /dev/null -+++ b/arch/x86/kernel/microcode_xen.c -@@ -0,0 +1,201 @@ -+/* -+ * Xen microcode update driver -+ * -+ * Xen does most of the work here. We just pass the whole blob into -+ * Xen, and it will apply it to all CPUs as appropriate. Xen will -+ * worry about how different CPU models are actually updated. -+ */ -+#include -+#include -+#include -+#include -+#include -+ -+#include -+ -+#include -+#include -+#include -+ -+#include -+#include -+ -+MODULE_DESCRIPTION("Xen microcode update driver"); -+MODULE_LICENSE("GPL"); -+ -+struct xen_microcode { -+ size_t len; -+ char data[0]; -+}; -+ -+static int xen_microcode_update(int cpu) -+{ -+ int err; -+ struct xen_platform_op op; -+ struct ucode_cpu_info *uci = ucode_cpu_info + cpu; -+ struct xen_microcode *uc = uci->mc; -+ -+ if (uc == NULL || uc->len == 0) { -+ /* -+ * We do all cpus at once, so we don't need to do -+ * other cpus explicitly (besides, these vcpu numbers -+ * have no relationship to underlying physical cpus). -+ */ -+ return 0; -+ } -+ -+ op.cmd = XENPF_microcode_update; -+ set_xen_guest_handle(op.u.microcode.data, uc->data); -+ op.u.microcode.length = uc->len; -+ -+ err = HYPERVISOR_dom0_op(&op); -+ -+ if (err != 0) -+ printk(KERN_WARNING "microcode_xen: microcode update failed: %d\n", err); -+ -+ return err; -+} -+ -+static enum ucode_state xen_request_microcode_fw(int cpu, struct device *device) -+{ -+ char name[30]; -+ struct cpuinfo_x86 *c = &cpu_data(cpu); -+ const struct firmware *firmware; -+ struct ucode_cpu_info *uci = ucode_cpu_info + cpu; -+ enum ucode_state ret; -+ struct xen_microcode *uc; -+ size_t size; -+ int err; -+ -+ switch (c->x86_vendor) { -+ case X86_VENDOR_INTEL: -+ snprintf(name, sizeof(name), "intel-ucode/%02x-%02x-%02x", -+ c->x86, c->x86_model, c->x86_mask); -+ break; -+ -+ case X86_VENDOR_AMD: -+ snprintf(name, sizeof(name), "amd-ucode/microcode_amd.bin"); -+ break; -+ -+ default: -+ return UCODE_NFOUND; -+ } -+ -+ err = request_firmware(&firmware, name, device); -+ if (err) { -+ pr_debug("microcode: data file %s load failed\n", name); -+ return UCODE_NFOUND; -+ } -+ -+ /* -+ * Only bother getting real firmware for cpu 0; the others get -+ * dummy placeholders. -+ */ -+ if (cpu == 0) -+ size = firmware->size; -+ else -+ size = 0; -+ -+ if (uci->mc != NULL) { -+ vfree(uci->mc); -+ uci->mc = NULL; -+ } -+ -+ ret = UCODE_ERROR; -+ uc = vmalloc(sizeof(*uc) + size); -+ if (uc == NULL) -+ goto out; -+ -+ ret = UCODE_OK; -+ uc->len = size; -+ memcpy(uc->data, firmware->data, uc->len); -+ -+ uci->mc = uc; -+ -+out: -+ release_firmware(firmware); -+ -+ return ret; -+} -+ -+static enum ucode_state xen_request_microcode_user(int cpu, -+ const void __user *buf, size_t size) -+{ -+ struct ucode_cpu_info *uci = ucode_cpu_info + cpu; -+ struct xen_microcode *uc; -+ enum ucode_state ret; -+ size_t unread; -+ -+ if (cpu != 0) { -+ /* No real firmware for non-zero cpus; just store a -+ placeholder */ -+ size = 0; -+ } -+ -+ if (uci->mc != NULL) { -+ vfree(uci->mc); -+ uci->mc = NULL; -+ } -+ -+ ret = UCODE_ERROR; -+ uc = vmalloc(sizeof(*uc) + size); -+ if (uc == NULL) -+ goto out; -+ -+ uc->len = size; -+ -+ ret = UCODE_NFOUND; -+ -+ /* XXX This sporadically returns uncopied bytes, so we return -+ EFAULT. As far as I can see, the usermode code -+ (microcode_ctl) isn't doing anything wrong... */ -+ unread = copy_from_user(uc->data, buf, size); -+ -+ if (unread != 0) { -+ printk(KERN_WARNING "failed to read %zd of %zd bytes at %p -> %p\n", -+ unread, size, buf, uc->data); -+ goto out; -+ } -+ -+ ret = UCODE_OK; -+ -+out: -+ if (ret == 0) -+ uci->mc = uc; -+ else -+ vfree(uc); -+ -+ return ret; -+} -+ -+static void xen_microcode_fini_cpu(int cpu) -+{ -+ struct ucode_cpu_info *uci = ucode_cpu_info + cpu; -+ -+ vfree(uci->mc); -+ uci->mc = NULL; -+} -+ -+static int xen_collect_cpu_info(int cpu, struct cpu_signature *sig) -+{ -+ sig->sig = 0; -+ sig->pf = 0; -+ sig->rev = 0; -+ -+ return 0; -+} -+ -+static struct microcode_ops microcode_xen_ops = { -+ .request_microcode_user = xen_request_microcode_user, -+ .request_microcode_fw = xen_request_microcode_fw, -+ .collect_cpu_info = xen_collect_cpu_info, -+ .apply_microcode = xen_microcode_update, -+ .microcode_fini_cpu = xen_microcode_fini_cpu, -+}; -+ -+struct microcode_ops * __init init_xen_microcode(void) -+{ -+ if (!xen_initial_domain()) -+ return NULL; -+ return µcode_xen_ops; -+} -diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c -index 1b1739d..f7e115c 100644 ---- a/arch/x86/kernel/paravirt.c -+++ b/arch/x86/kernel/paravirt.c -@@ -376,6 +376,7 @@ struct pv_cpu_ops pv_cpu_ops = { - .swapgs = native_swapgs, - - .set_iopl_mask = native_set_iopl_mask, -+ .set_io_bitmap = native_set_io_bitmap, - .io_delay = native_io_delay, - - .start_context_switch = paravirt_nop, -diff --git a/arch/x86/kernel/pci-calgary_64.c b/arch/x86/kernel/pci-calgary_64.c -index 1a2d4b1..2f158a5 100644 ---- a/arch/x86/kernel/pci-calgary_64.c -+++ b/arch/x86/kernel/pci-calgary_64.c -@@ -46,6 +46,7 @@ - #include - #include - #include -+#include - - #ifdef CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT - int use_calgary __read_mostly = 1; -@@ -249,7 +250,7 @@ static unsigned long iommu_range_alloc(struct device *dev, - if (panic_on_overflow) - panic("Calgary: fix the allocator.\n"); - else -- return bad_dma_address; -+ return DMA_ERROR_CODE; - } - } - -@@ -265,11 +266,11 @@ static dma_addr_t iommu_alloc(struct device *dev, struct iommu_table *tbl, - void *vaddr, unsigned int npages, int direction) - { - unsigned long entry; -- dma_addr_t ret = bad_dma_address; -+ dma_addr_t ret = DMA_ERROR_CODE; - - entry = iommu_range_alloc(dev, tbl, npages); - -- if (unlikely(entry == bad_dma_address)) -+ if (unlikely(entry == DMA_ERROR_CODE)) - goto error; - - /* set the return dma address */ -@@ -284,7 +285,7 @@ static dma_addr_t iommu_alloc(struct device *dev, struct iommu_table *tbl, - error: - printk(KERN_WARNING "Calgary: failed to allocate %u pages in " - "iommu %p\n", npages, tbl); -- return bad_dma_address; -+ return DMA_ERROR_CODE; - } - - static void iommu_free(struct iommu_table *tbl, dma_addr_t dma_addr, -@@ -295,8 +296,8 @@ static void iommu_free(struct iommu_table *tbl, dma_addr_t dma_addr, - unsigned long flags; - - /* were we called with bad_dma_address? */ -- badend = bad_dma_address + (EMERGENCY_PAGES * PAGE_SIZE); -- if (unlikely((dma_addr >= bad_dma_address) && (dma_addr < badend))) { -+ badend = DMA_ERROR_CODE + (EMERGENCY_PAGES * PAGE_SIZE); -+ if (unlikely((dma_addr >= DMA_ERROR_CODE) && (dma_addr < badend))) { - WARN(1, KERN_ERR "Calgary: driver tried unmapping bad DMA " - "address 0x%Lx\n", dma_addr); - return; -@@ -380,7 +381,7 @@ static int calgary_map_sg(struct device *dev, struct scatterlist *sg, - npages = iommu_num_pages(vaddr, s->length, PAGE_SIZE); - - entry = iommu_range_alloc(dev, tbl, npages); -- if (entry == bad_dma_address) { -+ if (entry == DMA_ERROR_CODE) { - /* makes sure unmap knows to stop */ - s->dma_length = 0; - goto error; -@@ -398,7 +399,7 @@ static int calgary_map_sg(struct device *dev, struct scatterlist *sg, - error: - calgary_unmap_sg(dev, sg, nelems, dir, NULL); - for_each_sg(sg, s, nelems, i) { -- sg->dma_address = bad_dma_address; -+ sg->dma_address = DMA_ERROR_CODE; - sg->dma_length = 0; - } - return 0; -@@ -453,7 +454,7 @@ static void* calgary_alloc_coherent(struct device *dev, size_t size, - - /* set up tces to cover the allocated range */ - mapping = iommu_alloc(dev, tbl, ret, npages, DMA_BIDIRECTIONAL); -- if (mapping == bad_dma_address) -+ if (mapping == DMA_ERROR_CODE) - goto free; - *dma_handle = mapping; - return ret; -@@ -734,7 +735,7 @@ static void __init calgary_reserve_regions(struct pci_dev *dev) - struct iommu_table *tbl = pci_iommu(dev->bus); - - /* reserve EMERGENCY_PAGES from bad_dma_address and up */ -- iommu_range_reserve(tbl, bad_dma_address, EMERGENCY_PAGES); -+ iommu_range_reserve(tbl, DMA_ERROR_CODE, EMERGENCY_PAGES); - - /* avoid the BIOS/VGA first 640KB-1MB region */ - /* for CalIOC2 - avoid the entire first MB */ -@@ -1349,6 +1350,23 @@ static void __init get_tce_space_from_tar(void) - return; - } - -+static int __init calgary_iommu_init(void) -+{ -+ int ret; -+ -+ /* ok, we're trying to use Calgary - let's roll */ -+ printk(KERN_INFO "PCI-DMA: Using Calgary IOMMU\n"); -+ -+ ret = calgary_init(); -+ if (ret) { -+ printk(KERN_ERR "PCI-DMA: Calgary init failed %d, " -+ "falling back to no_iommu\n", ret); -+ return ret; -+ } -+ -+ return 0; -+} -+ - void __init detect_calgary(void) - { - int bus; -@@ -1362,7 +1380,7 @@ void __init detect_calgary(void) - * if the user specified iommu=off or iommu=soft or we found - * another HW IOMMU already, bail out. - */ -- if (swiotlb || no_iommu || iommu_detected) -+ if (no_iommu || iommu_detected) - return; - - if (!use_calgary) -@@ -1447,9 +1465,7 @@ void __init detect_calgary(void) - printk(KERN_INFO "PCI-DMA: Calgary TCE table spec is %d\n", - specified_table_size); - -- /* swiotlb for devices that aren't behind the Calgary. */ -- if (max_pfn > MAX_DMA32_PFN) -- swiotlb = 1; -+ x86_init.iommu.iommu_init = calgary_iommu_init; - } - return; - -@@ -1462,35 +1478,6 @@ cleanup: - } - } - --int __init calgary_iommu_init(void) --{ -- int ret; -- -- if (no_iommu || (swiotlb && !calgary_detected)) -- return -ENODEV; -- -- if (!calgary_detected) -- return -ENODEV; -- -- /* ok, we're trying to use Calgary - let's roll */ -- printk(KERN_INFO "PCI-DMA: Using Calgary IOMMU\n"); -- -- ret = calgary_init(); -- if (ret) { -- printk(KERN_ERR "PCI-DMA: Calgary init failed %d, " -- "falling back to no_iommu\n", ret); -- return ret; -- } -- -- force_iommu = 1; -- bad_dma_address = 0x0; -- /* dma_ops is set to swiotlb or nommu */ -- if (!dma_ops) -- dma_ops = &nommu_dma_ops; -- -- return 0; --} -- - static int __init calgary_parse_options(char *p) - { - unsigned int bridge; -diff --git a/arch/x86/kernel/pci-dma.c b/arch/x86/kernel/pci-dma.c -index 6ac3931..3e57c58 100644 ---- a/arch/x86/kernel/pci-dma.c -+++ b/arch/x86/kernel/pci-dma.c -@@ -11,10 +11,12 @@ - #include - #include - #include -+#include -+#include - - static int forbid_dac __read_mostly; - --struct dma_map_ops *dma_ops; -+struct dma_map_ops *dma_ops = &nommu_dma_ops; - EXPORT_SYMBOL(dma_ops); - - static int iommu_sac_force __read_mostly; -@@ -42,9 +44,6 @@ int iommu_detected __read_mostly = 0; - */ - int iommu_pass_through __read_mostly; - --dma_addr_t bad_dma_address __read_mostly = 0; --EXPORT_SYMBOL(bad_dma_address); -- - /* Dummy device used for NULL arguments (normally ISA). */ - struct device x86_dma_fallback_dev = { - .init_name = "fallback device", -@@ -126,18 +125,19 @@ void __init pci_iommu_alloc(void) - /* free the range so iommu could get some range less than 4G */ - dma32_free_bootmem(); - #endif -+ if (pci_xen_swiotlb_detect() || pci_swiotlb_detect()) -+ goto out; - -- /* -- * The order of these functions is important for -- * fall-back/fail-over reasons -- */ - gart_iommu_hole_init(); - - detect_calgary(); - - detect_intel_iommu(); - -+ /* needs to be called after gart_iommu_hole_init */ - amd_iommu_detect(); -+out: -+ pci_xen_swiotlb_init(); - - pci_swiotlb_init(); - } -@@ -289,25 +289,17 @@ static int __init pci_iommu_init(void) - #ifdef CONFIG_PCI - dma_debug_add_bus(&pci_bus_type); - #endif -+ x86_init.iommu.iommu_init(); - -- calgary_iommu_init(); -- -- intel_iommu_init(); -- -- amd_iommu_init(); -+ if (swiotlb || xen_swiotlb) { -+ printk(KERN_INFO "PCI-DMA: " -+ "Using software bounce buffering for IO (SWIOTLB)\n"); -+ swiotlb_print_info(); -+ } else -+ swiotlb_free(); - -- gart_iommu_init(); -- -- no_iommu_init(); - return 0; - } -- --void pci_iommu_shutdown(void) --{ -- gart_iommu_shutdown(); -- -- amd_iommu_shutdown(); --} - /* Must execute after PCI subsystem */ - rootfs_initcall(pci_iommu_init); - -diff --git a/arch/x86/kernel/pci-gart_64.c b/arch/x86/kernel/pci-gart_64.c -index 1c76691..8c9dd05 100644 ---- a/arch/x86/kernel/pci-gart_64.c -+++ b/arch/x86/kernel/pci-gart_64.c -@@ -39,6 +39,7 @@ - #include - #include - #include -+#include - - static unsigned long iommu_bus_base; /* GART remapping area (physical) */ - static unsigned long iommu_size; /* size of remapping area bytes */ -@@ -46,6 +47,8 @@ static unsigned long iommu_pages; /* .. and in pages */ - - static u32 *iommu_gatt_base; /* Remapping table */ - -+static dma_addr_t bad_dma_addr; -+ - /* - * If this is disabled the IOMMU will use an optimized flushing strategy - * of only flushing when an mapping is reused. With it true the GART is -@@ -216,7 +219,7 @@ static dma_addr_t dma_map_area(struct device *dev, dma_addr_t phys_mem, - if (panic_on_overflow) - panic("dma_map_area overflow %lu bytes\n", size); - iommu_full(dev, size, dir); -- return bad_dma_address; -+ return bad_dma_addr; - } - - for (i = 0; i < npages; i++) { -@@ -302,7 +305,7 @@ static int dma_map_sg_nonforce(struct device *dev, struct scatterlist *sg, - - if (nonforced_iommu(dev, addr, s->length)) { - addr = dma_map_area(dev, addr, s->length, dir, 0); -- if (addr == bad_dma_address) { -+ if (addr == bad_dma_addr) { - if (i > 0) - gart_unmap_sg(dev, sg, i, dir, NULL); - nents = 0; -@@ -455,7 +458,7 @@ error: - - iommu_full(dev, pages << PAGE_SHIFT, dir); - for_each_sg(sg, s, nents, i) -- s->dma_address = bad_dma_address; -+ s->dma_address = bad_dma_addr; - return 0; - } - -@@ -479,7 +482,7 @@ gart_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_addr, - DMA_BIDIRECTIONAL, align_mask); - - flush_gart(); -- if (paddr != bad_dma_address) { -+ if (paddr != bad_dma_addr) { - *dma_addr = paddr; - return page_address(page); - } -@@ -499,6 +502,11 @@ gart_free_coherent(struct device *dev, size_t size, void *vaddr, - free_pages((unsigned long)vaddr, get_order(size)); - } - -+static int gart_mapping_error(struct device *dev, dma_addr_t dma_addr) -+{ -+ return (dma_addr == bad_dma_addr); -+} -+ - static int no_agp; - - static __init unsigned long check_iommu_size(unsigned long aper, u64 aper_size) -@@ -689,14 +697,15 @@ static struct dma_map_ops gart_dma_ops = { - .unmap_page = gart_unmap_page, - .alloc_coherent = gart_alloc_coherent, - .free_coherent = gart_free_coherent, -+ .mapping_error = gart_mapping_error, - }; - --void gart_iommu_shutdown(void) -+static void gart_iommu_shutdown(void) - { - struct pci_dev *dev; - int i; - -- if (no_agp && (dma_ops != &gart_dma_ops)) -+ if (no_agp) - return; - - for (i = 0; i < num_k8_northbridges; i++) { -@@ -711,7 +720,7 @@ void gart_iommu_shutdown(void) - } - } - --void __init gart_iommu_init(void) -+int __init gart_iommu_init(void) - { - struct agp_kern_info info; - unsigned long iommu_start; -@@ -721,7 +730,7 @@ void __init gart_iommu_init(void) - long i; - - if (num_k8_northbridges == 0) -- return; -+ return 0; - - #ifndef CONFIG_AGP_AMD64 - no_agp = 1; -@@ -733,13 +742,6 @@ void __init gart_iommu_init(void) - (agp_copy_info(agp_bridge, &info) < 0); - #endif - -- if (swiotlb) -- return; -- -- /* Did we detect a different HW IOMMU? */ -- if (iommu_detected && !gart_iommu_aperture) -- return; -- - if (no_iommu || - (!force_iommu && max_pfn <= MAX_DMA32_PFN) || - !gart_iommu_aperture || -@@ -749,7 +751,7 @@ void __init gart_iommu_init(void) - "but GART IOMMU not available.\n"); - printk(KERN_WARNING "falling back to iommu=soft.\n"); - } -- return; -+ return 0; - } - - /* need to map that range */ -@@ -794,7 +796,7 @@ void __init gart_iommu_init(void) - - iommu_start = aper_size - iommu_size; - iommu_bus_base = info.aper_base + iommu_start; -- bad_dma_address = iommu_bus_base; -+ bad_dma_addr = iommu_bus_base; - iommu_gatt_base = agp_gatt_table + (iommu_start>>PAGE_SHIFT); - - /* -@@ -841,6 +843,10 @@ void __init gart_iommu_init(void) - - flush_gart(); - dma_ops = &gart_dma_ops; -+ x86_platform.iommu_shutdown = gart_iommu_shutdown; -+ swiotlb = 0; -+ -+ return 0; - } - - void __init gart_parse_options(char *p) -diff --git a/arch/x86/kernel/pci-nommu.c b/arch/x86/kernel/pci-nommu.c -index a3933d4..22be12b 100644 ---- a/arch/x86/kernel/pci-nommu.c -+++ b/arch/x86/kernel/pci-nommu.c -@@ -33,7 +33,7 @@ static dma_addr_t nommu_map_page(struct device *dev, struct page *page, - dma_addr_t bus = page_to_phys(page) + offset; - WARN_ON(size == 0); - if (!check_addr("map_single", dev, bus, size)) -- return bad_dma_address; -+ return DMA_ERROR_CODE; - flush_write_buffers(); - return bus; - } -@@ -103,12 +103,3 @@ struct dma_map_ops nommu_dma_ops = { - .sync_sg_for_device = nommu_sync_sg_for_device, - .is_phys = 1, - }; -- --void __init no_iommu_init(void) --{ -- if (dma_ops) -- return; -- -- force_iommu = 0; /* no HW IOMMU */ -- dma_ops = &nommu_dma_ops; --} -diff --git a/arch/x86/kernel/pci-swiotlb.c b/arch/x86/kernel/pci-swiotlb.c -index aaa6b78..7d2829d 100644 ---- a/arch/x86/kernel/pci-swiotlb.c -+++ b/arch/x86/kernel/pci-swiotlb.c -@@ -42,18 +42,31 @@ static struct dma_map_ops swiotlb_dma_ops = { - .dma_supported = NULL, - }; - --void __init pci_swiotlb_init(void) -+/* -+ * pci_swiotlb_detect - set swiotlb to 1 if necessary -+ * -+ * This returns non-zero if we are forced to use swiotlb (by the boot -+ * option). -+ */ -+int __init pci_swiotlb_detect(void) - { -+ int use_swiotlb = swiotlb | swiotlb_force; -+ - /* don't initialize swiotlb if iommu=off (no_iommu=1) */ - #ifdef CONFIG_X86_64 -- if ((!iommu_detected && !no_iommu && max_pfn > MAX_DMA32_PFN)) -+ if (!no_iommu && max_pfn > MAX_DMA32_PFN) - swiotlb = 1; - #endif - if (swiotlb_force) - swiotlb = 1; -+ -+ return use_swiotlb; -+} -+ -+void __init pci_swiotlb_init(void) -+{ - if (swiotlb) { -- printk(KERN_INFO "PCI-DMA: Using software bounce buffering for IO (SWIOTLB)\n"); -- swiotlb_init(); -+ swiotlb_init(0); - dma_ops = &swiotlb_dma_ops; - } - } -diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c -index 5fd5b07..11d8667 100644 ---- a/arch/x86/kernel/process.c -+++ b/arch/x86/kernel/process.c -@@ -73,16 +73,12 @@ void exit_thread(void) - unsigned long *bp = t->io_bitmap_ptr; - - if (bp) { -- struct tss_struct *tss = &per_cpu(init_tss, get_cpu()); -- -+ preempt_disable(); - t->io_bitmap_ptr = NULL; - clear_thread_flag(TIF_IO_BITMAP); -- /* -- * Careful, clear this in the TSS too: -- */ -- memset(tss->io_bitmap, 0xff, t->io_bitmap_max); -+ set_io_bitmap(t, t->io_bitmap_max); - t->io_bitmap_max = 0; -- put_cpu(); -+ preempt_enable(); - kfree(bp); - } - } -@@ -199,19 +195,10 @@ void __switch_to_xtra(struct task_struct *prev_p, struct task_struct *next_p, - hard_enable_TSC(); - } - -- if (test_tsk_thread_flag(next_p, TIF_IO_BITMAP)) { -- /* -- * Copy the relevant range of the IO bitmap. -- * Normally this is 128 bytes or less: -- */ -- memcpy(tss->io_bitmap, next->io_bitmap_ptr, -- max(prev->io_bitmap_max, next->io_bitmap_max)); -- } else if (test_tsk_thread_flag(prev_p, TIF_IO_BITMAP)) { -- /* -- * Clear any possible leftover bits: -- */ -- memset(tss->io_bitmap, 0xff, prev->io_bitmap_max); -- } -+ if (test_tsk_thread_flag(next_p, TIF_IO_BITMAP) || -+ test_tsk_thread_flag(prev_p, TIF_IO_BITMAP)) -+ set_io_bitmap(next, -+ max(prev->io_bitmap_max, next->io_bitmap_max)); - } - - int sys_fork(struct pt_regs *regs) -diff --git a/arch/x86/kernel/pvclock.c b/arch/x86/kernel/pvclock.c -index dfdfe46..b12fe8d 100644 ---- a/arch/x86/kernel/pvclock.c -+++ b/arch/x86/kernel/pvclock.c -@@ -111,6 +111,11 @@ unsigned long pvclock_tsc_khz(struct pvclock_vcpu_time_info *src) - - static atomic64_t last_value = ATOMIC64_INIT(0); - -+void pvclock_resume(void) -+{ -+ atomic64_set(&last_value, 0); -+} -+ - cycle_t pvclock_clocksource_read(struct pvclock_vcpu_time_info *src) - { - struct pvclock_shadow_time shadow; -diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c -index 200fcde..ff8cc40 100644 ---- a/arch/x86/kernel/reboot.c -+++ b/arch/x86/kernel/reboot.c -@@ -23,7 +23,7 @@ - # include - # include - #else --# include -+# include - #endif - - /* -@@ -647,7 +647,7 @@ void native_machine_shutdown(void) - #endif - - #ifdef CONFIG_X86_64 -- pci_iommu_shutdown(); -+ x86_platform.iommu_shutdown(); - #endif - } - -diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c -index 5449a26..56b4707 100644 ---- a/arch/x86/kernel/setup.c -+++ b/arch/x86/kernel/setup.c -@@ -70,6 +70,7 @@ - #include - - #include