diff options
author | 2011-07-26 12:30:33 -0500 | |
---|---|---|
committer | 2011-07-26 12:30:33 -0500 | |
commit | 708ee270d73b269a607e183e2ec40f7cdce7f619 (patch) | |
tree | 7d4edfbff2d5ffa79da86cde37e1267f15e69fe1 | |
parent | Added 9vx ebuild. (diff) | |
download | glentoo-overlay-708ee270d73b269a607e183e2ec40f7cdce7f619.tar.gz glentoo-overlay-708ee270d73b269a607e183e2ec40f7cdce7f619.tar.bz2 glentoo-overlay-708ee270d73b269a607e183e2ec40f7cdce7f619.zip |
Updated glendix-sources to v2.6.39.
-rw-r--r-- | sys-kernel/glendix-sources/Manifest | 6 | ||||
-rw-r--r-- | sys-kernel/glendix-sources/files/glendix_2.6.39.patch | 3135 | ||||
-rw-r--r-- | sys-kernel/glendix-sources/files/glendix_3.0_rc6.patch | 152 | ||||
-rw-r--r-- | sys-kernel/glendix-sources/glendix-sources-2.6.39.ebuild | 21 |
4 files changed, 3314 insertions, 0 deletions
diff --git a/sys-kernel/glendix-sources/Manifest b/sys-kernel/glendix-sources/Manifest index 5782049..9f58d10 100644 --- a/sys-kernel/glendix-sources/Manifest +++ b/sys-kernel/glendix-sources/Manifest @@ -1,6 +1,12 @@ AUX glendix_2.6.31.6.patch 81712 RMD160 6da3cda1eb720088d6523f116c08bc4071f56a0a SHA1 1ca6418f0cce58f9f4b6e2fabfac6ec51b55cd5f SHA256 84af323f547ac4dbba57748f23702d2b3038d9788fbbec34967f651abeeab0d8 +AUX glendix_2.6.39.patch 82112 RMD160 75ce5a5216599d62f09b4b988dba5fc018a660f9 SHA1 7f7152fefea42cd4eb3258b8e87c810218f6117b SHA256 4b095814b758b0c61c1e0e4e04ca7d14198c9ae97892a0a0bbda3fca945f79d2 +AUX glendix_3.0_rc6.patch 4455 RMD160 cb2aee062bb78d35de7c1ba736fadbff8abe4963 SHA1 b46706cd111cd5164d59e2ed6b8eed405240dcf6 SHA256 545b865a4ab855c03739d745753d4b21148db15cecd7c56b9c367fa0e9269724 DIST deblob-2.6.31 80819 RMD160 20972daf3852336198b5e1ac4f95a9d88f5d1d67 SHA1 41070a790894136913469bdcb3433b3d13b3e797 SHA256 4dce1f711d5098430f15ca0664ad3a1ad83a0ce6faf10d0dc8b8f53f2ab655f0 +DIST deblob-2.6.39 100964 RMD160 9de6522b23c9e5037d6fb9adc4db986f79541045 SHA1 5e101ef4498bad61ef84c1bd43314d1a7b181539 SHA256 f96be03d33dc8ebec8b0adae13700e2ff2e961a04f7c7a5065904b2d205c86d5 DIST deblob-check-2.6.31 247608 RMD160 840bf8a229ea79810519eee6241edb85b78a6562 SHA1 d45a24eb16e5ac956c0fcddbc1ac4d67e326c7b8 SHA256 da1aecdf3ab7f1207b90642d303e52262ccc2ed9e49739b729512b88950d17f3 +DIST deblob-check-2.6.39 371034 RMD160 90efca9d266f69105b10497578434a363d8ff5f6 SHA1 91ecc522aa6c0ad6d99056edfe73224c68a1470e SHA256 2e45bdb11f2db32d5a7c1705288353ef69653e54070904645be2f170fef24806 DIST linux-2.6.31.tar.bz2 61494822 RMD160 c0d88e63740abf0d4f9d82557260a31643f5a01b SHA1 c6e0e6b473ba2b80d164e37cfabf294e783c03d9 SHA256 0acd83f7b85db7ee18c2b0b7505e1ba6fd722c36f49a8870a831c851660e3512 +DIST linux-2.6.39.tar.bz2 76096559 RMD160 feddc516bc15e78f12f611ff184d38baa4eac4ee SHA1 68518112821e55f4ac1df64f2e0e809cedfcc5ef SHA256 584d17f2a3ee18a9501d7ff36907639e538cfdba4529978b8550c461d45c61f6 DIST patch-2.6.31.6.bz2 135409 RMD160 8d7bd14f6c96de232b93c5e1294f475e2d0997e4 SHA1 ff0be7d382cd067b9f3ef49ec48728ef0f7c11a0 SHA256 f78dfe70133c4e7987d594579b85634abd412113632c21a7ded08d297e35a974 EBUILD glendix-sources-2.6.31.6.ebuild 560 RMD160 2910e990fd1484dc9cb9a873967cf191cd90720d SHA1 81d3301c6512686de9b4fcec0361629e74e9bfc7 SHA256 ee4596e3fde94b78fa047fc0e84d5564826d56db73b171cbb90ec9259d469c30 +EBUILD glendix-sources-2.6.39.ebuild 560 RMD160 2910e990fd1484dc9cb9a873967cf191cd90720d SHA1 81d3301c6512686de9b4fcec0361629e74e9bfc7 SHA256 ee4596e3fde94b78fa047fc0e84d5564826d56db73b171cbb90ec9259d469c30 diff --git a/sys-kernel/glendix-sources/files/glendix_2.6.39.patch b/sys-kernel/glendix-sources/files/glendix_2.6.39.patch new file mode 100644 index 0000000..7026928 --- /dev/null +++ b/sys-kernel/glendix-sources/files/glendix_2.6.39.patch @@ -0,0 +1,3135 @@ +diff -Nur a/arch/x86/include/asm/irq_vectors.h b/arch/x86/include/asm/irq_vectors.h +--- a/arch/x86/include/asm/irq_vectors.h 2009-11-10 01:32:31.000000000 +0100 ++++ b/arch/x86/include/asm/irq_vectors.h 2009-11-27 08:51:39.000000000 +0100 +@@ -39,6 +39,7 @@ + #else + # define IA32_SYSCALL_VECTOR 0x80 + #endif ++# define PLAN9_SYSCALL_VECTOR 0x40 + + /* + * Reserve the lowest usable priority level 0x20 - 0x2f for triggering +diff -Nur a/arch/x86/Kconfig b/arch/x86/Kconfig +--- a/arch/x86/Kconfig 2009-11-10 01:32:31.000000000 +0100 ++++ b/arch/x86/Kconfig 2009-11-27 08:49:55.000000000 +0100 +@@ -2174,3 +2174,5 @@ + source "arch/x86/kvm/Kconfig" + + source "lib/Kconfig" ++ ++source "plan9/Kconfig" +diff -Nur a/arch/x86/kernel/entry_32.S b/arch/x86/kernel/entry_32.S +--- a/arch/x86/kernel/entry_32.S ++++ b/arch/x86/kernel/entry_32.S +@@ -489,7 +489,21 @@ sysexit_audit: + .popsection + PTGS_TO_GS_EX + ENDPROC(ia32_sysenter_target) +- ++ ++#ifdef CONFIG_BINFMT_PLAN9 ++ # plan 9 system call handler stub ++ENTRY(plan9_system_call) ++ RING0_INT_FRAME ++ pushl %eax ++ CFI_ADJUST_CFA_OFFSET 4 ++ SAVE_ALL ++ call *plan9_syscall_table(,%eax,4) ++ movl %eax,PT_EAX(%esp) # store the return value ++ jmp syscall_exit ++ CFI_ENDPROC ++ENDPROC(plan9_system_call) ++#endif ++ + /* + * syscall stub including irq exit should be protected against kprobes + */ +@@ -1215,7 +1229,7 @@ return_to_handler: + + .section .rodata,"a" + #include "syscall_table_32.S" +- ++#include "plan9_syscall_table.S" + syscall_table_size=(.-sys_call_table) + + /* +diff -Nur a/arch/x86/kernel/plan9_syscall_table.S b/arch/x86/kernel/plan9_syscall_table.S +--- a/arch/x86/kernel/plan9_syscall_table.S 1970-01-01 01:00:00.000000000 +0100 ++++ b/arch/x86/kernel/plan9_syscall_table.S 2009-11-27 08:50:19.000000000 +0100 +@@ -0,0 +1,54 @@ ++ENTRY(plan9_syscall_table) ++ .long sys_plan9_unimplemented /* 0 */ ++ .long sys_plan9_deprecated /* _errstr */ ++ .long sys_plan9_unimplemented ++ .long sys_plan9_chdir ++ .long sys_plan9_close ++ .long sys_plan9_dup /* 5 */ ++ .long sys_plan9_unimplemented ++ .long sys_plan9_unimplemented ++ .long sys_plan9_exits ++ .long sys_plan9_deprecated /* _fsession */ ++ .long sys_plan9_unimplemented /* 10 */ ++ .long sys_plan9_deprecated /* _fstat */ ++ .long sys_plan9_unimplemented ++ .long sys_plan9_deprecated /* _mount */ ++ .long sys_plan9_open ++ .long sys_plan9_deprecated /* 15, _read */ ++ .long sys_plan9_unimplemented ++ .long sys_plan9_sleep ++ .long sys_plan9_deprecated /* _stat */ ++ .long sys_plan9_unimplemented ++ .long sys_plan9_deprecated /* 20, _write */ ++ .long sys_plan9_unimplemented ++ .long sys_plan9_create ++ .long sys_plan9_fd2path ++ .long sys_plan9_brk ++ .long sys_plan9_remove /* 25 */ ++ .long sys_plan9_deprecated /* _wstat */ ++ .long sys_plan9_deprecated /* _fwstat */ ++ .long sys_plan9_unimplemented ++ .long sys_plan9_unimplemented ++ .long sys_plan9_unimplemented /* 30 */ ++ .long sys_plan9_unimplemented ++ .long sys_plan9_unimplemented ++ .long sys_plan9_unimplemented ++ .long sys_plan9_unimplemented ++ .long sys_plan9_unimplemented /* 35 */ ++ .long sys_plan9_deprecated /* _wait */ ++ .long sys_plan9_unimplemented ++ .long sys_plan9_unimplemented ++ .long sys_plan9_seek ++ .long sys_plan9_unimplemented /* 40 */ ++ .long sys_plan9_unimplemented ++ .long sys_plan9_unimplemented ++ .long sys_plan9_unimplemented ++ .long sys_plan9_unimplemented ++ .long sys_plan9_unimplemented /* 45 */ ++ .long sys_plan9_unimplemented ++ .long sys_plan9_unimplemented ++ .long sys_plan9_unimplemented /* MISSING */ ++ .long sys_plan9_unimplemented /* MISSING */ ++ .long sys_plan9_pread /* 50 */ ++ .long sys_plan9_pwrite ++END(plan9_syscall_table) +diff -Nur a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c +--- a/arch/x86/kernel/traps.c 2009-11-10 01:32:31.000000000 +0100 ++++ b/arch/x86/kernel/traps.c 2009-11-27 08:56:53.000000000 +0100 +@@ -67,6 +67,7 @@ + #include <asm/traps.h> + + asmlinkage int system_call(void); ++asmlinkage int plan9_system_call(void); + + /* Do we ignore FPU interrupts ? */ + char ignore_fpu_irq; +@@ -870,6 +871,10 @@ + + set_system_trap_gate(SYSCALL_VECTOR, &system_call); + set_bit(SYSCALL_VECTOR, used_vectors); ++#ifdef CONFIG_BINFMT_PLAN9 ++ set_system_trap_gate(PLAN9_SYSCALL_VECTOR, &plan9_system_call); ++ set_bit(PLAN9_SYSCALL_VECTOR, used_vectors); ++#endif + #endif + + /* +diff -Nur a/.config b/.config +--- a/.config 1970-01-01 01:00:00.000000000 +0100 ++++ b/.config 2009-11-27 10:24:02.000000000 +0100 +@@ -0,0 +1,2184 @@ ++# ++# Automatically generated make config: don't edit ++# Linux kernel version: 2.6.31.6-glendix ++# Fri Nov 27 10:24:02 2009 ++# ++# CONFIG_64BIT is not set ++CONFIG_X86_32=y ++# CONFIG_X86_64 is not set ++CONFIG_X86=y ++CONFIG_OUTPUT_FORMAT="elf32-i386" ++CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_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_FAST_CMPXCHG_LOCAL=y ++CONFIG_MMU=y ++CONFIG_ZONE_DMA=y ++CONFIG_GENERIC_ISA_DMA=y ++CONFIG_GENERIC_IOMAP=y ++CONFIG_GENERIC_BUG=y ++CONFIG_GENERIC_HWEIGHT=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 is not set ++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_HAVE_DYNAMIC_PER_CPU_AREA=y ++# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set ++CONFIG_ARCH_HIBERNATION_POSSIBLE=y ++CONFIG_ARCH_SUSPEND_POSSIBLE=y ++# CONFIG_ZONE_DMA32 is not set ++CONFIG_ARCH_POPULATES_NODE_MAP=y ++# CONFIG_AUDIT_ARCH is not set ++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_32_SMP=y ++CONFIG_X86_HT=y ++CONFIG_X86_TRAMPOLINE=y ++CONFIG_X86_32_LAZY_GS=y ++CONFIG_KTIME_SCALAR=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=y ++CONFIG_POSIX_MQUEUE_SYSCTL=y ++CONFIG_BSD_PROCESS_ACCT=y ++CONFIG_BSD_PROCESS_ACCT_V3=y ++CONFIG_TASKSTATS=y ++CONFIG_TASK_DELAY_ACCT=y ++CONFIG_TASK_XACCT=y ++CONFIG_TASK_IO_ACCOUNTING=y ++CONFIG_AUDIT=y ++CONFIG_AUDITSYSCALL=y ++CONFIG_AUDIT_TREE=y ++ ++# ++# RCU Subsystem ++# ++CONFIG_CLASSIC_RCU=y ++# CONFIG_TREE_RCU is not set ++# CONFIG_PREEMPT_RCU is not set ++# CONFIG_TREE_RCU_TRACE is not set ++# CONFIG_PREEMPT_RCU_TRACE is not set ++# CONFIG_IKCONFIG is not set ++CONFIG_LOG_BUF_SHIFT=17 ++CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y ++CONFIG_GROUP_SCHED=y ++CONFIG_FAIR_GROUP_SCHED=y ++# CONFIG_RT_GROUP_SCHED is not set ++# CONFIG_USER_SCHED is not set ++CONFIG_CGROUP_SCHED=y ++CONFIG_CGROUPS=y ++# CONFIG_CGROUP_DEBUG is not set ++CONFIG_CGROUP_NS=y ++# CONFIG_CGROUP_FREEZER is not set ++CONFIG_CGROUP_DEVICE=y ++CONFIG_CPUSETS=y ++CONFIG_PROC_PID_CPUSET=y ++CONFIG_CGROUP_CPUACCT=y ++# CONFIG_RESOURCE_COUNTERS is not set ++CONFIG_SYSFS_DEPRECATED=y ++CONFIG_SYSFS_DEPRECATED_V2=y ++CONFIG_RELAY=y ++CONFIG_NAMESPACES=y ++CONFIG_UTS_NS=y ++CONFIG_IPC_NS=y ++CONFIG_USER_NS=y ++CONFIG_PID_NS=y ++# CONFIG_NET_NS 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 is not set ++CONFIG_UID16=y ++CONFIG_SYSCTL_SYSCALL=y ++CONFIG_KALLSYMS=y ++# CONFIG_KALLSYMS_ALL is not set ++# CONFIG_KALLSYMS_EXTRA_PASS 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_COUNTERS=y ++ ++# ++# Performance Counters ++# ++# CONFIG_PERF_COUNTERS is not set ++CONFIG_VM_EVENT_COUNTERS=y ++CONFIG_PCI_QUIRKS=y ++# CONFIG_STRIP_ASM_SYMS is not set ++# CONFIG_COMPAT_BRK is not set ++CONFIG_SLAB=y ++# CONFIG_SLUB is not set ++# CONFIG_SLOB is not set ++CONFIG_PROFILING=y ++CONFIG_TRACEPOINTS=y ++CONFIG_MARKERS=y ++CONFIG_OPROFILE=m ++# CONFIG_OPROFILE_IBS is not set ++CONFIG_HAVE_OPROFILE=y ++# CONFIG_KPROBES is not set ++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 is not set ++CONFIG_HAVE_GENERIC_DMA_COHERENT=y ++CONFIG_SLABINFO=y ++CONFIG_RT_MUTEXES=y ++CONFIG_BASE_SMALL=0 ++CONFIG_MODULES=y ++CONFIG_MODULE_FORCE_LOAD=y ++CONFIG_MODULE_UNLOAD=y ++CONFIG_MODULE_FORCE_UNLOAD=y ++CONFIG_MODVERSIONS=y ++# CONFIG_MODULE_SRCVERSION_ALL is not set ++CONFIG_STOP_MACHINE=y ++CONFIG_BLOCK=y ++CONFIG_LBDAF=y ++CONFIG_BLK_DEV_BSG=y ++# CONFIG_BLK_DEV_INTEGRITY is not set ++ ++# ++# IO Schedulers ++# ++CONFIG_IOSCHED_NOOP=y ++CONFIG_IOSCHED_AS=y ++CONFIG_IOSCHED_DEADLINE=y ++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_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_BIGSMP is not set ++CONFIG_X86_EXTENDED_PLATFORM=y ++# CONFIG_X86_ELAN is not set ++# CONFIG_X86_RDC321X is not set ++# CONFIG_X86_32_NON_STANDARD is not set ++CONFIG_SCHED_OMIT_FRAME_POINTER=y ++CONFIG_PARAVIRT_GUEST=y ++CONFIG_VMI=y ++CONFIG_KVM_CLOCK=y ++CONFIG_KVM_GUEST=y ++CONFIG_LGUEST_GUEST=y ++CONFIG_PARAVIRT=y ++# CONFIG_PARAVIRT_SPINLOCKS is not set ++CONFIG_PARAVIRT_CLOCK=y ++# CONFIG_PARAVIRT_DEBUG is not set ++# 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=y ++# 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_GENERIC_CPU is not set ++# CONFIG_X86_GENERIC is not set ++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=7 ++CONFIG_X86_XADD=y ++CONFIG_X86_WP_WORKS_OK=y ++CONFIG_X86_INVLPG=y ++CONFIG_X86_BSWAP=y ++CONFIG_X86_POPAD_OK=y ++CONFIG_X86_INTEL_USERCOPY=y ++CONFIG_X86_USE_PPRO_CHECKSUM=y ++CONFIG_X86_TSC=y ++CONFIG_X86_CMOV=y ++CONFIG_X86_MINIMUM_CPU_FAMILY=4 ++CONFIG_X86_DEBUGCTLMSR=y ++CONFIG_CPU_SUP_INTEL=y ++CONFIG_CPU_SUP_CYRIX_32=y ++CONFIG_CPU_SUP_AMD=y ++CONFIG_CPU_SUP_CENTAUR=y ++CONFIG_CPU_SUP_TRANSMETA_32=y ++CONFIG_CPU_SUP_UMC_32=y ++# CONFIG_X86_DS is not set ++CONFIG_HPET_TIMER=y ++CONFIG_DMI=y ++# CONFIG_IOMMU_HELPER is not set ++# CONFIG_IOMMU_API is not set ++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=y ++# CONFIG_X86_OLD_MCE is not set ++CONFIG_X86_NEW_MCE=y ++CONFIG_X86_MCE_INTEL=y ++CONFIG_X86_MCE_AMD=y ++# CONFIG_X86_ANCIENT_MCE is not set ++CONFIG_X86_MCE_THRESHOLD=y ++# CONFIG_X86_MCE_INJECT is not set ++CONFIG_X86_THERMAL_VECTOR=y ++CONFIG_VM86=y ++# CONFIG_TOSHIBA is not set ++# CONFIG_I8K is not set ++# CONFIG_X86_REBOOTFIXUPS is not set ++CONFIG_MICROCODE=m ++CONFIG_MICROCODE_INTEL=y ++# CONFIG_MICROCODE_AMD is not set ++CONFIG_MICROCODE_OLD_INTERFACE=y ++CONFIG_X86_MSR=y ++CONFIG_X86_CPUID=y ++# CONFIG_X86_CPU_DEBUG is not set ++# CONFIG_NOHIGHMEM is not set ++CONFIG_HIGHMEM4G=y ++# CONFIG_HIGHMEM64G is not set ++CONFIG_PAGE_OFFSET=0xC0000000 ++CONFIG_HIGHMEM=y ++# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set ++CONFIG_ARCH_FLATMEM_ENABLE=y ++CONFIG_ARCH_SPARSEMEM_ENABLE=y ++CONFIG_ARCH_SELECT_MEMORY_MODEL=y ++CONFIG_SELECT_MEMORY_MODEL=y ++CONFIG_FLATMEM_MANUAL=y ++# CONFIG_DISCONTIGMEM_MANUAL is not set ++# CONFIG_SPARSEMEM_MANUAL is not set ++CONFIG_FLATMEM=y ++CONFIG_FLAT_NODE_MEM_MAP=y ++CONFIG_SPARSEMEM_STATIC=y ++CONFIG_PAGEFLAGS_EXTENDED=y ++CONFIG_SPLIT_PTLOCK_CPUS=4 ++# CONFIG_PHYS_ADDR_T_64BIT is not set ++CONFIG_ZONE_DMA_FLAG=1 ++CONFIG_BOUNCE=y ++CONFIG_VIRT_TO_BUS=y ++CONFIG_HAVE_MLOCK=y ++CONFIG_HAVE_MLOCKED_PAGE_BIT=y ++CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 ++# CONFIG_HIGHPTE is not set ++# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set ++CONFIG_X86_RESERVE_LOW_64K=y ++# CONFIG_MATH_EMULATION is not set ++CONFIG_MTRR=y ++CONFIG_MTRR_SANITIZER=y ++CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0 ++CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1 ++# CONFIG_X86_PAT is not set ++CONFIG_SECCOMP=y ++# CONFIG_CC_STACKPROTECTOR is not set ++# CONFIG_HZ_100 is not set ++CONFIG_HZ_250=y ++# CONFIG_HZ_300 is not set ++# CONFIG_HZ_1000 is not set ++CONFIG_HZ=250 ++CONFIG_SCHED_HRTICK=y ++CONFIG_KEXEC=y ++# CONFIG_CRASH_DUMP is not set ++# CONFIG_KEXEC_JUMP is not set ++CONFIG_PHYSICAL_START=0x1000000 ++# CONFIG_RELOCATABLE is not set ++CONFIG_PHYSICAL_ALIGN=0x100000 ++CONFIG_HOTPLUG_CPU=y ++# CONFIG_COMPAT_VDSO is not set ++# 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_NVS=y ++CONFIG_HIBERNATION=y ++CONFIG_PM_STD_PARTITION="" ++# CONFIG_ACPI is not set ++# CONFIG_APM 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_POWERNOW_K6=m ++CONFIG_X86_POWERNOW_K7=m ++CONFIG_X86_GX_SUSPMOD=m ++CONFIG_X86_SPEEDSTEP_CENTRINO=m ++CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y ++CONFIG_X86_SPEEDSTEP_ICH=m ++CONFIG_X86_SPEEDSTEP_SMI=m ++CONFIG_X86_P4_CLOCKMOD=m ++CONFIG_X86_CPUFREQ_NFORCE2=m ++CONFIG_X86_LONGRUN=m ++CONFIG_X86_E_POWERSAVER=m ++ ++# ++# shared options ++# ++CONFIG_X86_SPEEDSTEP_LIB=m ++CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y ++CONFIG_CPU_IDLE=y ++CONFIG_CPU_IDLE_GOV_LADDER=y ++CONFIG_CPU_IDLE_GOV_MENU=y ++ ++# ++# Bus options (PCI etc.) ++# ++CONFIG_PCI=y ++# CONFIG_PCI_GOBIOS is not set ++# CONFIG_PCI_GOMMCONFIG is not set ++# CONFIG_PCI_GODIRECT is not set ++# CONFIG_PCI_GOOLPC is not set ++CONFIG_PCI_GOANY=y ++CONFIG_PCI_BIOS=y ++CONFIG_PCI_DIRECT=y ++CONFIG_PCI_DOMAINS=y ++CONFIG_PCIEPORTBUS=y ++CONFIG_PCIEAER=y ++# CONFIG_PCIE_ECRC is not set ++# CONFIG_PCIEAER_INJECT is not set ++# CONFIG_PCIEASPM is not set ++CONFIG_ARCH_SUPPORTS_MSI=y ++CONFIG_PCI_MSI=y ++CONFIG_PCI_LEGACY=y ++# CONFIG_PCI_DEBUG is not set ++# CONFIG_PCI_STUB is not set ++CONFIG_HT_IRQ=y ++# CONFIG_PCI_IOV is not set ++CONFIG_ISA_DMA_API=y ++CONFIG_ISA=y ++# CONFIG_EISA is not set ++# CONFIG_MCA is not set ++# CONFIG_SCx200 is not set ++# CONFIG_OLPC is not set ++# CONFIG_PCCARD is not set ++# CONFIG_HOTPLUG_PCI is not set ++ ++# ++# Executable file formats / Emulations ++# ++CONFIG_BINFMT_ELF=y ++# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set ++CONFIG_HAVE_AOUT=y ++# CONFIG_BINFMT_AOUT is not set ++# CONFIG_BINFMT_MISC is not set ++CONFIG_HAVE_ATOMIC_IOMAP=y ++CONFIG_NET=y ++ ++# ++# Networking options ++# ++CONFIG_PACKET=y ++CONFIG_PACKET_MMAP=y ++CONFIG_UNIX=y ++# CONFIG_NET_KEY is not set ++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 is not set ++# CONFIG_NET_IPIP is not set ++# CONFIG_NET_IPGRE is not set ++CONFIG_IP_MROUTE=y ++CONFIG_IP_PIMSM_V1=y ++CONFIG_IP_PIMSM_V2=y ++# CONFIG_ARPD is not set ++CONFIG_SYN_COOKIES=y ++# CONFIG_INET_AH is not set ++# CONFIG_INET_ESP is not set ++# CONFIG_INET_IPCOMP is not set ++# CONFIG_INET_XFRM_TUNNEL is not set ++# CONFIG_INET_TUNNEL is not set ++# CONFIG_INET_XFRM_MODE_TRANSPORT is not set ++# CONFIG_INET_XFRM_MODE_TUNNEL is not set ++# CONFIG_INET_XFRM_MODE_BEET is not set ++CONFIG_INET_LRO=y ++# CONFIG_INET_DIAG is not set ++# CONFIG_TCP_CONG_ADVANCED is not set ++CONFIG_TCP_CONG_CUBIC=y ++CONFIG_DEFAULT_TCP_CONG="cubic" ++# CONFIG_TCP_MD5SIG is not set ++# CONFIG_IPV6 is not set ++# CONFIG_NETLABEL is not set ++CONFIG_NETWORK_SECMARK=y ++# CONFIG_NETFILTER is not set ++# CONFIG_IP_DCCP is not set ++CONFIG_IP_SCTP=y ++# 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 is not set ++CONFIG_SCTP_HMAC_MD5=y ++# CONFIG_TIPC is not set ++# CONFIG_ATM is not set ++CONFIG_STP=y ++CONFIG_BRIDGE=y ++# CONFIG_NET_DSA is not set ++# CONFIG_VLAN_8021Q is not set ++# CONFIG_DECNET is not set ++CONFIG_LLC=y ++# CONFIG_LLC2 is not set ++# CONFIG_IPX is not set ++# CONFIG_ATALK is not set ++# CONFIG_X25 is not set ++# CONFIG_LAPB is not set ++# CONFIG_ECONET is not set ++# CONFIG_WAN_ROUTER is not set ++# CONFIG_PHONET is not set ++# CONFIG_IEEE802154 is not set ++# CONFIG_NET_SCHED is not set ++# CONFIG_DCB is not set ++ ++# ++# Network testing ++# ++CONFIG_NET_PKTGEN=m ++# CONFIG_NET_DROP_MONITOR is not set ++# CONFIG_HAMRADIO is not set ++# CONFIG_CAN is not set ++# CONFIG_IRDA is not set ++# CONFIG_BT is not set ++CONFIG_AF_RXRPC=m ++# CONFIG_AF_RXRPC_DEBUG is not set ++# CONFIG_RXKAD is not set ++CONFIG_FIB_RULES=y ++# CONFIG_WIRELESS is not set ++# CONFIG_WIMAX is not set ++# CONFIG_RFKILL is not set ++CONFIG_NET_9P=y ++CONFIG_NET_9P_VIRTIO=m ++# CONFIG_NET_9P_DEBUG is not set ++ ++# ++# Device Drivers ++# ++ ++# ++# Generic Driver Options ++# ++CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" ++CONFIG_STANDALONE=y ++CONFIG_PREVENT_FIRMWARE_BUILD=y ++CONFIG_FW_LOADER=y ++CONFIG_FIRMWARE_IN_KERNEL=y ++CONFIG_EXTRA_FIRMWARE="" ++# CONFIG_DEBUG_DRIVER is not set ++# CONFIG_DEBUG_DEVRES is not set ++# CONFIG_SYS_HYPERVISOR is not set ++CONFIG_CONNECTOR=y ++CONFIG_PROC_EVENTS=y ++CONFIG_MTD=y ++# CONFIG_MTD_DEBUG is not set ++CONFIG_MTD_CONCAT=m ++CONFIG_MTD_PARTITIONS=y ++# CONFIG_MTD_TESTS is not set ++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_CMDLINE_PARTS is not set ++CONFIG_MTD_AR7_PARTS=m ++ ++# ++# User Modules And Translation Layers ++# ++CONFIG_MTD_CHAR=m ++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 is not set ++# CONFIG_MTD_ICHXROM is not set ++# CONFIG_MTD_ESB2ROM is not set ++# CONFIG_MTD_CK804XROM is not set ++# CONFIG_MTD_SCB2_FLASH is not set ++CONFIG_MTD_NETtel=m ++# CONFIG_MTD_L440GX is not set ++CONFIG_MTD_PCI=m ++CONFIG_MTD_INTEL_VR_NOR=m ++CONFIG_MTD_PLATRAM=m ++ ++# ++# Self-contained MTD device drivers ++# ++CONFIG_MTD_PMC551=m ++# CONFIG_MTD_PMC551_BUGFIX is not set ++# CONFIG_MTD_PMC551_DEBUG 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 is not set ++CONFIG_MTD_DOCPROBE_ADDRESS=0 ++CONFIG_MTD_NAND=m ++# CONFIG_MTD_NAND_VERIFY_WRITE is not set ++# CONFIG_MTD_NAND_ECC_SMC is not set ++# 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_CS553X=m ++# CONFIG_MTD_NAND_NANDSIM is not set ++CONFIG_MTD_NAND_PLATFORM=m ++CONFIG_MTD_ALAUDA=m ++CONFIG_MTD_ONENAND=m ++CONFIG_MTD_ONENAND_VERIFY_WRITE=y ++# CONFIG_MTD_ONENAND_OTP is not set ++CONFIG_MTD_ONENAND_2X_PROGRAM=y ++CONFIG_MTD_ONENAND_SIM=m ++ ++# ++# LPDDR flash memory drivers ++# ++# CONFIG_MTD_LPDDR is not set ++ ++# ++# 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 is not set ++CONFIG_PNP=y ++CONFIG_PNP_DEBUG_MESSAGES=y ++ ++# ++# Protocols ++# ++CONFIG_ISAPNP=y ++CONFIG_PNPBIOS=y ++CONFIG_PNPBIOS_PROC_FS=y ++# CONFIG_PNPACPI is not set ++CONFIG_BLK_DEV=y ++CONFIG_BLK_DEV_FD=y ++# CONFIG_BLK_DEV_XD is not set ++# CONFIG_BLK_CPQ_DA is not set ++# CONFIG_BLK_CPQ_CISS_DA is not set ++# CONFIG_BLK_DEV_DAC960 is not set ++# CONFIG_BLK_DEV_UMEM is not set ++# CONFIG_BLK_DEV_COW_COMMON is not set ++CONFIG_BLK_DEV_LOOP=y ++CONFIG_BLK_DEV_CRYPTOLOOP=y ++# CONFIG_BLK_DEV_NBD is not set ++# CONFIG_BLK_DEV_SX8 is not set ++# CONFIG_BLK_DEV_UB is not set ++CONFIG_BLK_DEV_RAM=y ++CONFIG_BLK_DEV_RAM_COUNT=16 ++CONFIG_BLK_DEV_RAM_SIZE=8192 ++# CONFIG_BLK_DEV_XIP is not set ++# CONFIG_CDROM_PKTCDVD is not set ++# CONFIG_ATA_OVER_ETH is not set ++# CONFIG_VIRTIO_BLK is not set ++# CONFIG_BLK_DEV_HD is not set ++# CONFIG_MISC_DEVICES is not set ++CONFIG_HAVE_IDE=y ++CONFIG_IDE=y ++ ++# ++# Please see Documentation/ide/ide.txt for help/info on IDE drives ++# ++CONFIG_IDE_XFER_MODE=y ++CONFIG_IDE_TIMINGS=y ++CONFIG_IDE_ATAPI=y ++# CONFIG_BLK_DEV_IDE_SATA is not set ++CONFIG_IDE_GD=y ++CONFIG_IDE_GD_ATA=y ++# CONFIG_IDE_GD_ATAPI is not set ++CONFIG_BLK_DEV_IDECD=y ++CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y ++# CONFIG_BLK_DEV_IDETAPE is not set ++# CONFIG_IDE_TASK_IOCTL is not set ++CONFIG_IDE_PROC_FS=y ++ ++# ++# IDE chipset support/bugfixes ++# ++CONFIG_IDE_GENERIC=y ++# CONFIG_BLK_DEV_PLATFORM is not set ++CONFIG_BLK_DEV_CMD640=y ++# CONFIG_BLK_DEV_CMD640_ENHANCED is not set ++CONFIG_BLK_DEV_IDEPNP=y ++CONFIG_BLK_DEV_IDEDMA_SFF=y ++ ++# ++# PCI IDE chipsets support ++# ++CONFIG_BLK_DEV_IDEPCI=y ++CONFIG_IDEPCI_PCIBUS_ORDER=y ++# CONFIG_BLK_DEV_OFFBOARD is not set ++CONFIG_BLK_DEV_GENERIC=y ++# CONFIG_BLK_DEV_OPTI621 is not set ++# CONFIG_BLK_DEV_RZ1000 is not set ++CONFIG_BLK_DEV_IDEDMA_PCI=y ++# CONFIG_BLK_DEV_AEC62XX is not set ++# CONFIG_BLK_DEV_ALI15X3 is not set ++# CONFIG_BLK_DEV_AMD74XX is not set ++# CONFIG_BLK_DEV_ATIIXP is not set ++# CONFIG_BLK_DEV_CMD64X is not set ++# CONFIG_BLK_DEV_TRIFLEX is not set ++# CONFIG_BLK_DEV_CS5520 is not set ++# CONFIG_BLK_DEV_CS5530 is not set ++# CONFIG_BLK_DEV_CS5535 is not set ++# CONFIG_BLK_DEV_CS5536 is not set ++# CONFIG_BLK_DEV_HPT366 is not set ++# CONFIG_BLK_DEV_JMICRON is not set ++# CONFIG_BLK_DEV_SC1200 is not set ++CONFIG_BLK_DEV_PIIX=y ++# CONFIG_BLK_DEV_IT8172 is not set ++# CONFIG_BLK_DEV_IT8213 is not set ++# CONFIG_BLK_DEV_IT821X is not set ++# CONFIG_BLK_DEV_NS87415 is not set ++# CONFIG_BLK_DEV_PDC202XX_OLD is not set ++# CONFIG_BLK_DEV_PDC202XX_NEW is not set ++# CONFIG_BLK_DEV_SVWKS is not set ++# CONFIG_BLK_DEV_SIIMAGE is not set ++# CONFIG_BLK_DEV_SIS5513 is not set ++# CONFIG_BLK_DEV_SLC90E66 is not set ++# CONFIG_BLK_DEV_TRM290 is not set ++# CONFIG_BLK_DEV_VIA82CXXX is not set ++# CONFIG_BLK_DEV_TC86C001 is not set ++ ++# ++# Other IDE chipsets support ++# ++ ++# ++# Note: most of these also require special kernel boot parameters ++# ++# CONFIG_BLK_DEV_4DRIVES is not set ++# CONFIG_BLK_DEV_ALI14XX is not set ++# CONFIG_BLK_DEV_DTC2278 is not set ++# CONFIG_BLK_DEV_HT6560B is not set ++# CONFIG_BLK_DEV_QD65XX is not set ++# CONFIG_BLK_DEV_UMC8672 is not set ++CONFIG_BLK_DEV_IDEDMA=y ++ ++# ++# SCSI device support ++# ++# CONFIG_RAID_ATTRS is not set ++CONFIG_SCSI=y ++CONFIG_SCSI_DMA=y ++CONFIG_SCSI_TGT=y ++CONFIG_SCSI_NETLINK=y ++CONFIG_SCSI_PROC_FS=y ++ ++# ++# SCSI support type (disk, tape, CD-ROM) ++# ++CONFIG_BLK_DEV_SD=y ++# CONFIG_CHR_DEV_ST is not set ++# CONFIG_CHR_DEV_OSST is not set ++CONFIG_BLK_DEV_SR=y ++CONFIG_BLK_DEV_SR_VENDOR=y ++CONFIG_CHR_DEV_SG=y ++# CONFIG_CHR_DEV_SCH is not set ++CONFIG_SCSI_MULTI_LUN=y ++CONFIG_SCSI_CONSTANTS=y ++CONFIG_SCSI_LOGGING=y ++CONFIG_SCSI_SCAN_ASYNC=y ++CONFIG_SCSI_WAIT_SCAN=m ++ ++# ++# SCSI Transports ++# ++CONFIG_SCSI_SPI_ATTRS=y ++CONFIG_SCSI_FC_ATTRS=m ++CONFIG_SCSI_FC_TGT_ATTRS=y ++CONFIG_SCSI_ISCSI_ATTRS=m ++CONFIG_SCSI_SAS_ATTRS=y ++CONFIG_SCSI_SAS_LIBSAS=m ++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 is not set ++# CONFIG_SCSI_BNX2_ISCSI is not set ++# CONFIG_BLK_DEV_3W_XXXX_RAID is not set ++# CONFIG_SCSI_3W_9XXX is not set ++# CONFIG_SCSI_7000FASST is not set ++# CONFIG_SCSI_ACARD is not set ++# CONFIG_SCSI_AHA152X is not set ++# CONFIG_SCSI_AHA1542 is not set ++# CONFIG_SCSI_AACRAID is not set ++# CONFIG_SCSI_AIC7XXX is not set ++# CONFIG_SCSI_AIC7XXX_OLD is not set ++# CONFIG_SCSI_AIC79XX is not set ++# CONFIG_SCSI_AIC94XX is not set ++# CONFIG_SCSI_MVSAS is not set ++# CONFIG_SCSI_DPT_I2O is not set ++# CONFIG_SCSI_ADVANSYS is not set ++# CONFIG_SCSI_IN2000 is not set ++# CONFIG_SCSI_ARCMSR is not set ++CONFIG_MEGARAID_NEWGEN=y ++CONFIG_MEGARAID_MM=y ++CONFIG_MEGARAID_MAILBOX=y ++CONFIG_MEGARAID_LEGACY=y ++CONFIG_MEGARAID_SAS=y ++# CONFIG_SCSI_MPT2SAS is not set ++# CONFIG_SCSI_HPTIOP is not set ++CONFIG_SCSI_BUSLOGIC=y ++# CONFIG_SCSI_FLASHPOINT is not set ++# CONFIG_LIBFC is not set ++# CONFIG_LIBFCOE is not set ++# CONFIG_FCOE is not set ++# CONFIG_FCOE_FNIC is not set ++# CONFIG_SCSI_DMX3191D is not set ++# CONFIG_SCSI_DTC3280 is not set ++# CONFIG_SCSI_EATA is not set ++# CONFIG_SCSI_FUTURE_DOMAIN is not set ++# CONFIG_SCSI_GDTH is not set ++# CONFIG_SCSI_GENERIC_NCR5380 is not set ++# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set ++# CONFIG_SCSI_IPS is not set ++# CONFIG_SCSI_INITIO is not set ++# CONFIG_SCSI_INIA100 is not set ++# CONFIG_SCSI_NCR53C406A is not set ++# CONFIG_SCSI_STEX is not set ++CONFIG_SCSI_SYM53C8XX_2=y ++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_PAS16 is not set ++# CONFIG_SCSI_QLOGIC_FAS is not set ++# CONFIG_SCSI_QLOGIC_1280 is not set ++# CONFIG_SCSI_QLA_FC is not set ++# CONFIG_SCSI_QLA_ISCSI is not set ++# CONFIG_SCSI_LPFC is not set ++# CONFIG_SCSI_SYM53C416 is not set ++# CONFIG_SCSI_DC395x is not set ++# CONFIG_SCSI_DC390T is not set ++# CONFIG_SCSI_T128 is not set ++# CONFIG_SCSI_U14_34F is not set ++# CONFIG_SCSI_ULTRASTOR is not set ++# CONFIG_SCSI_NSP32 is not set ++# CONFIG_SCSI_DEBUG is not set ++# CONFIG_SCSI_SRP is not set ++# CONFIG_SCSI_DH is not set ++# CONFIG_SCSI_OSD_INITIATOR is not set ++# CONFIG_ATA is not set ++# CONFIG_MD is not set ++CONFIG_FUSION=y ++CONFIG_FUSION_SPI=y ++# CONFIG_FUSION_FC is not set ++# CONFIG_FUSION_SAS is not set ++CONFIG_FUSION_MAX_SGE=40 ++CONFIG_FUSION_CTL=y ++# 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 is not set ++# CONFIG_IEEE1394 is not set ++# CONFIG_I2O is not set ++# CONFIG_MACINTOSH_DRIVERS is not set ++CONFIG_NETDEVICES=y ++CONFIG_DUMMY=y ++CONFIG_BONDING=y ++# CONFIG_MACVLAN is not set ++# CONFIG_EQUALIZER is not set ++CONFIG_TUN=y ++CONFIG_VETH=y ++# CONFIG_NET_SB1000 is not set ++# CONFIG_ARCNET is not set ++CONFIG_PHYLIB=y ++ ++# ++# 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 is not set ++# CONFIG_STE10XP is not set ++# CONFIG_LSI_ET1011C_PHY is not set ++# CONFIG_FIXED_PHY is not set ++CONFIG_MDIO_BITBANG=m ++CONFIG_NET_ETHERNET=y ++CONFIG_MII=y ++# CONFIG_HAPPYMEAL is not set ++# CONFIG_SUNGEM is not set ++# CONFIG_CASSINI is not set ++# CONFIG_NET_VENDOR_3COM is not set ++CONFIG_LANCE=y ++# CONFIG_NET_VENDOR_SMC is not set ++# CONFIG_ETHOC is not set ++# CONFIG_NET_VENDOR_RACAL is not set ++# CONFIG_DNET is not set ++# CONFIG_NET_TULIP is not set ++# CONFIG_AT1700 is not set ++# CONFIG_DEPCA is not set ++# CONFIG_HP100 is not set ++# CONFIG_NET_ISA is not set ++# 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=y ++# CONFIG_AMD8111_ETH is not set ++# CONFIG_ADAPTEC_STARFIRE is not set ++# CONFIG_AC3200 is not set ++# CONFIG_APRICOT is not set ++# CONFIG_B44 is not set ++# CONFIG_FORCEDETH is not set ++# CONFIG_CS89x0 is not set ++CONFIG_E100=y ++# CONFIG_FEALNX is not set ++# CONFIG_NATSEMI is not set ++CONFIG_NE2K_PCI=y ++# CONFIG_8139CP is not set ++CONFIG_8139TOO=y ++CONFIG_8139TOO_PIO=y ++CONFIG_8139TOO_TUNE_TWISTER=y ++CONFIG_8139TOO_8129=y ++# CONFIG_8139_OLD_RX_RESET is not set ++# CONFIG_R6040 is not set ++# CONFIG_SIS900 is not set ++# CONFIG_EPIC100 is not set ++# CONFIG_SMSC9420 is not set ++# CONFIG_SUNDANCE is not set ++# CONFIG_TLAN is not set ++# CONFIG_KS8842 is not set ++# CONFIG_VIA_RHINE is not set ++# CONFIG_SC92031 is not set ++# CONFIG_ATL2 is not set ++# CONFIG_NETDEV_1000 is not set ++# CONFIG_NETDEV_10000 is not set ++# CONFIG_TR is not set ++ ++# ++# Wireless LAN ++# ++# CONFIG_WLAN_PRE80211 is not set ++# CONFIG_WLAN_80211 is not set ++ ++# ++# Enable WiMAX (Networking options) to see the WiMAX drivers ++# ++ ++# ++# 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 is not set ++CONFIG_USB_NET_DM9601=m ++# CONFIG_USB_NET_SMSC95XX is not set ++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_NET_INT51X1 is not set ++# CONFIG_WAN is not set ++# CONFIG_FDDI is not set ++# CONFIG_HIPPI is not set ++# CONFIG_PPP is not set ++# CONFIG_SLIP is not set ++# CONFIG_NET_FC is not set ++CONFIG_NETCONSOLE=y ++CONFIG_NETCONSOLE_DYNAMIC=y ++CONFIG_NETPOLL=y ++# CONFIG_NETPOLL_TRAP is not set ++CONFIG_NET_POLL_CONTROLLER=y ++# CONFIG_VIRTIO_NET is not set ++# CONFIG_ISDN is not set ++# 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=y ++CONFIG_INPUT_MOUSEDEV_PSAUX=y ++CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 ++CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 ++# CONFIG_INPUT_JOYDEV is not set ++CONFIG_INPUT_EVDEV=y ++# CONFIG_INPUT_EVBUG is not set ++ ++# ++# Input Device Drivers ++# ++CONFIG_INPUT_KEYBOARD=y ++CONFIG_KEYBOARD_ATKBD=y ++CONFIG_KEYBOARD_LKKBD=m ++# CONFIG_KEYBOARD_LM8323 is not set ++CONFIG_KEYBOARD_NEWTON=m ++CONFIG_KEYBOARD_STOWAWAY=m ++CONFIG_KEYBOARD_SUNKBD=m ++CONFIG_KEYBOARD_XTKBD=m ++CONFIG_INPUT_MOUSE=y ++CONFIG_MOUSE_PS2=y ++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_TOUCHKIT is not set ++CONFIG_MOUSE_SERIAL=y ++CONFIG_MOUSE_APPLETOUCH=y ++# CONFIG_MOUSE_BCM5974 is not set ++# CONFIG_MOUSE_INPORT is not set ++# CONFIG_MOUSE_LOGIBM is not set ++# CONFIG_MOUSE_PC110PAD is not set ++# CONFIG_MOUSE_VSXXXAA is not set ++# CONFIG_MOUSE_SYNAPTICS_I2C is not set ++# CONFIG_INPUT_JOYSTICK is not set ++# CONFIG_INPUT_TABLET is not set ++# CONFIG_INPUT_TOUCHSCREEN is not set ++# CONFIG_INPUT_MISC is not set ++ ++# ++# Hardware I/O ports ++# ++CONFIG_SERIO=y ++CONFIG_SERIO_I8042=y ++CONFIG_SERIO_SERPORT=m ++CONFIG_SERIO_CT82C710=m ++CONFIG_SERIO_PCIPS2=m ++CONFIG_SERIO_LIBPS2=y ++CONFIG_SERIO_RAW=m ++CONFIG_GAMEPORT=m ++CONFIG_GAMEPORT_NS558=m ++CONFIG_GAMEPORT_L4=m ++CONFIG_GAMEPORT_EMU10K1=m ++CONFIG_GAMEPORT_FM801=m ++ ++# ++# 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=y ++CONFIG_SERIAL_NONSTANDARD=y ++# CONFIG_COMPUTONE is not set ++# CONFIG_ROCKETPORT is not set ++# CONFIG_CYCLADES is not set ++# CONFIG_DIGIEPCA is not set ++# CONFIG_MOXA_INTELLIO is not set ++# CONFIG_MOXA_SMARTIO is not set ++# CONFIG_ISI is not set ++# CONFIG_SYNCLINK is not set ++# CONFIG_SYNCLINKMP is not set ++# CONFIG_SYNCLINK_GT is not set ++# CONFIG_N_HDLC is not set ++# CONFIG_RISCOM8 is not set ++# CONFIG_SPECIALIX is not set ++# CONFIG_STALDRV is not set ++# CONFIG_NOZOMI is not set ++ ++# ++# 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_NR_UARTS=32 ++CONFIG_SERIAL_8250_RUNTIME_UARTS=4 ++CONFIG_SERIAL_8250_EXTENDED=y ++CONFIG_SERIAL_8250_MANY_PORTS=y ++CONFIG_SERIAL_8250_FOURPORT=m ++CONFIG_SERIAL_8250_ACCENT=m ++CONFIG_SERIAL_8250_BOCA=m ++CONFIG_SERIAL_8250_EXAR_ST16C554=m ++CONFIG_SERIAL_8250_HUB6=m ++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_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_HVC_DRIVER=y ++CONFIG_VIRTIO_CONSOLE=y ++# CONFIG_IPMI_HANDLER is not set ++CONFIG_HW_RANDOM=y ++# CONFIG_HW_RANDOM_TIMERIOMEM is not set ++CONFIG_HW_RANDOM_INTEL=y ++# CONFIG_HW_RANDOM_AMD is not set ++# CONFIG_HW_RANDOM_GEODE is not set ++# CONFIG_HW_RANDOM_VIA is not set ++# CONFIG_HW_RANDOM_VIRTIO is not set ++CONFIG_NVRAM=y ++# CONFIG_RTC is not set ++# CONFIG_GEN_RTC is not set ++# CONFIG_DTLK is not set ++# CONFIG_R3964 is not set ++# CONFIG_APPLICOM is not set ++# CONFIG_SONYPI is not set ++# CONFIG_MWAVE is not set ++# CONFIG_PC8736x_GPIO is not set ++# CONFIG_NSC_GPIO is not set ++# CONFIG_CS5535_GPIO is not set ++CONFIG_RAW_DRIVER=y ++CONFIG_MAX_RAW_DEVS=256 ++CONFIG_HANGCHECK_TIMER=y ++# CONFIG_TCG_TPM is not set ++# CONFIG_TELCLOCK is not set ++CONFIG_DEVPORT=y ++CONFIG_I2C=m ++CONFIG_I2C_BOARDINFO=y ++CONFIG_I2C_CHARDEV=m ++CONFIG_I2C_HELPER_AUTO=y ++CONFIG_I2C_ALGOBIT=m ++ ++# ++# I2C Hardware Bus support ++# ++ ++# ++# PC SMBus host controller drivers ++# ++# CONFIG_I2C_ALI1535 is not set ++# CONFIG_I2C_ALI1563 is not set ++# CONFIG_I2C_ALI15X3 is not set ++# CONFIG_I2C_AMD756 is not set ++# CONFIG_I2C_AMD8111 is not set ++CONFIG_I2C_I801=m ++# CONFIG_I2C_ISCH is not set ++CONFIG_I2C_PIIX4=m ++# CONFIG_I2C_NFORCE2 is not set ++# CONFIG_I2C_SIS5595 is not set ++# CONFIG_I2C_SIS630 is not set ++# CONFIG_I2C_SIS96X is not set ++# CONFIG_I2C_VIA is not set ++# CONFIG_I2C_VIAPRO is not set ++ ++# ++# I2C system bus drivers (mostly embedded / system-on-chip) ++# ++# CONFIG_I2C_OCORES is not set ++# CONFIG_I2C_SIMTEC is not set ++ ++# ++# External I2C/SMBus adapter drivers ++# ++# CONFIG_I2C_PARPORT_LIGHT is not set ++# CONFIG_I2C_TAOS_EVM is not set ++# CONFIG_I2C_TINY_USB is not set ++ ++# ++# Graphics adapter I2C/DDC channel drivers ++# ++# CONFIG_I2C_VOODOO3 is not set ++ ++# ++# Other I2C/SMBus bus drivers ++# ++# CONFIG_I2C_PCA_ISA is not set ++# CONFIG_I2C_PCA_PLATFORM is not set ++# CONFIG_I2C_STUB is not set ++# CONFIG_SCx200_ACB is not set ++ ++# ++# Miscellaneous I2C Chip support ++# ++# CONFIG_DS1682 is not set ++# CONFIG_SENSORS_PCF8574 is not set ++# CONFIG_PCF8575 is not set ++# CONFIG_SENSORS_PCA9539 is not set ++# CONFIG_SENSORS_TSL2550 is not set ++# 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 is not set ++ ++# ++# PPS support ++# ++# CONFIG_PPS is not set ++CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y ++# CONFIG_GPIOLIB 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 ++ ++# ++# 1-wire Slaves ++# ++CONFIG_W1_SLAVE_THERM=m ++CONFIG_W1_SLAVE_SMEM=m ++# CONFIG_W1_SLAVE_DS2431 is not set ++CONFIG_W1_SLAVE_DS2433=m ++# CONFIG_W1_SLAVE_DS2433_CRC is not set ++CONFIG_W1_SLAVE_DS2760=m ++# CONFIG_W1_SLAVE_BQ27000 is not set ++# CONFIG_POWER_SUPPLY is not set ++# CONFIG_HWMON is not set ++CONFIG_THERMAL=y ++CONFIG_WATCHDOG=y ++# CONFIG_WATCHDOG_NOWAYOUT is not set ++ ++# ++# Watchdog Device Drivers ++# ++CONFIG_SOFT_WATCHDOG=y ++# CONFIG_ACQUIRE_WDT is not set ++# CONFIG_ADVANTECH_WDT is not set ++# CONFIG_ALIM1535_WDT is not set ++# CONFIG_ALIM7101_WDT is not set ++# CONFIG_SC520_WDT is not set ++# CONFIG_EUROTECH_WDT is not set ++# CONFIG_IB700_WDT is not set ++# CONFIG_IBMASR is not set ++# CONFIG_WAFER_WDT is not set ++# CONFIG_I6300ESB_WDT is not set ++# CONFIG_ITCO_WDT is not set ++# CONFIG_IT8712F_WDT is not set ++# CONFIG_IT87_WDT is not set ++# CONFIG_HP_WATCHDOG is not set ++# CONFIG_SC1200_WDT is not set ++# CONFIG_PC87413_WDT is not set ++# CONFIG_60XX_WDT is not set ++# CONFIG_SBC8360_WDT is not set ++# CONFIG_SBC7240_WDT is not set ++# CONFIG_CPU5_WDT is not set ++# CONFIG_SMSC_SCH311X_WDT is not set ++# CONFIG_SMSC37B787_WDT is not set ++# CONFIG_W83627HF_WDT is not set ++# CONFIG_W83697HF_WDT is not set ++# CONFIG_W83697UG_WDT is not set ++# CONFIG_W83877F_WDT is not set ++# CONFIG_W83977F_WDT is not set ++# CONFIG_MACHZ_WDT is not set ++# CONFIG_SBC_EPX_C3_WATCHDOG is not set ++ ++# ++# ISA-based Watchdog Cards ++# ++# CONFIG_PCWATCHDOG is not set ++# CONFIG_MIXCOMWD is not set ++# CONFIG_WDT is not set ++ ++# ++# PCI-based Watchdog Cards ++# ++# CONFIG_PCIPCWATCHDOG is not set ++# CONFIG_WDTPCI is not set ++ ++# ++# USB-based Watchdog Cards ++# ++# CONFIG_USBPCWATCHDOG is not set ++CONFIG_SSB_POSSIBLE=y ++ ++# ++# Sonics Silicon Backplane ++# ++# CONFIG_SSB is not set ++ ++# ++# Multifunction device drivers ++# ++# CONFIG_MFD_CORE is not set ++# CONFIG_MFD_SM501 is not set ++# CONFIG_HTC_PASIC3 is not set ++# CONFIG_MFD_TMIO is not set ++# CONFIG_MFD_WM8400 is not set ++# CONFIG_MFD_WM8350_I2C is not set ++# CONFIG_MFD_PCF50633 is not set ++# CONFIG_AB3100_CORE is not set ++# CONFIG_REGULATOR is not set ++# CONFIG_MEDIA_SUPPORT is not set ++ ++# ++# Graphics support ++# ++CONFIG_AGP=y ++# CONFIG_AGP_ALI is not set ++# CONFIG_AGP_ATI is not set ++# CONFIG_AGP_AMD is not set ++# CONFIG_AGP_AMD64 is not set ++CONFIG_AGP_INTEL=y ++# CONFIG_AGP_NVIDIA is not set ++# CONFIG_AGP_SIS is not set ++# CONFIG_AGP_SWORKS is not set ++# CONFIG_AGP_VIA is not set ++# CONFIG_AGP_EFFICEON is not set ++# CONFIG_DRM is not set ++CONFIG_VGASTATE=m ++# CONFIG_VIDEO_OUTPUT_CONTROL is not set ++CONFIG_FB=y ++CONFIG_FIRMWARE_EDID=y ++CONFIG_FB_DDC=m ++CONFIG_FB_BOOT_VESA_SUPPORT=y ++CONFIG_FB_CFB_FILLRECT=y ++CONFIG_FB_CFB_COPYAREA=y ++CONFIG_FB_CFB_IMAGEBLIT=y ++# 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_ASILIANT is not set ++# CONFIG_FB_IMSTT is not set ++CONFIG_FB_VGA16=m ++CONFIG_FB_UVESA=m ++CONFIG_FB_VESA=y ++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 is not set ++CONFIG_FB_I810=m ++# CONFIG_FB_I810_GTF is not set ++CONFIG_FB_LE80578=m ++CONFIG_FB_CARILLO_RANCH=m ++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_MATROX_MULTIHEAD=y ++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 is not set ++CONFIG_FB_SIS=m ++CONFIG_FB_SIS_300=y ++CONFIG_FB_SIS_315=y ++# CONFIG_FB_VIA is not set ++CONFIG_FB_NEOMAGIC=m ++CONFIG_FB_KYRO=m ++CONFIG_FB_3DFX=m ++# CONFIG_FB_3DFX_ACCEL is not set ++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 is not set ++CONFIG_FB_GEODE=y ++CONFIG_FB_GEODE_LX=m ++CONFIG_FB_GEODE_GX=m ++CONFIG_FB_GEODE_GX1=m ++CONFIG_FB_VIRTUAL=m ++# CONFIG_FB_METRONOME is not set ++# CONFIG_FB_MB862XX is not set ++# CONFIG_FB_BROADSHEET is not set ++CONFIG_BACKLIGHT_LCD_SUPPORT=y ++# CONFIG_LCD_CLASS_DEVICE is not set ++CONFIG_BACKLIGHT_CLASS_DEVICE=y ++CONFIG_BACKLIGHT_GENERIC=y ++# CONFIG_BACKLIGHT_PROGEAR is not set ++# CONFIG_BACKLIGHT_MBP_NVIDIA is not set ++# CONFIG_BACKLIGHT_SAHARA is not set ++ ++# ++# Display device support ++# ++# CONFIG_DISPLAY_SUPPORT is not set ++ ++# ++# Console display driver support ++# ++CONFIG_VGA_CONSOLE=y ++# CONFIG_VGACON_SOFT_SCROLLBACK is not set ++# CONFIG_MDA_CONSOLE is not set ++CONFIG_DUMMY_CONSOLE=y ++CONFIG_FRAMEBUFFER_CONSOLE=y ++# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set ++CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y ++# CONFIG_FONTS is not set ++CONFIG_FONT_8x8=y ++CONFIG_FONT_8x16=y ++CONFIG_LOGO=y ++CONFIG_LOGO_LINUX_MONO=y ++CONFIG_LOGO_LINUX_VGA16=y ++CONFIG_LOGO_LINUX_CLUT224=y ++# CONFIG_SOUND is not set ++# CONFIG_HID_SUPPORT 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=y ++# 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=y ++# CONFIG_USB_OTG is not set ++CONFIG_USB_MON=y ++# CONFIG_USB_WUSB is not set ++# CONFIG_USB_WUSB_CBAF is not set ++ ++# ++# USB Host Controller Drivers ++# ++# CONFIG_USB_C67X00_HCD is not set ++# CONFIG_USB_XHCI_HCD is not set ++# CONFIG_USB_EHCI_HCD is not set ++# CONFIG_USB_OXU210HP_HCD is not set ++# CONFIG_USB_ISP116X_HCD is not set ++# CONFIG_USB_ISP1760_HCD is not set ++# CONFIG_USB_OHCI_HCD is not set ++# CONFIG_USB_UHCI_HCD is not set ++# CONFIG_USB_SL811_HCD is not set ++# CONFIG_USB_R8A66597_HCD is not set ++# CONFIG_USB_WHCI_HCD is not set ++# CONFIG_USB_HWA_HCD is not set ++ ++# ++# USB Device Class drivers ++# ++# CONFIG_USB_ACM is not set ++# CONFIG_USB_PRINTER is not set ++# CONFIG_USB_WDM is not set ++# CONFIG_USB_TMC is not set ++ ++# ++# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may ++# ++ ++# ++# also be needed; see USB_STORAGE Help for more info ++# ++# CONFIG_USB_STORAGE is not set ++# CONFIG_USB_LIBUSUAL is not set ++ ++# ++# USB Imaging devices ++# ++# CONFIG_USB_MDC800 is not set ++# CONFIG_USB_MICROTEK is not set ++ ++# ++# USB port drivers ++# ++# CONFIG_USB_SERIAL is not set ++ ++# ++# USB Miscellaneous drivers ++# ++# CONFIG_USB_EMI62 is not set ++# CONFIG_USB_EMI26 is not set ++# CONFIG_USB_ADUTUX is not set ++# CONFIG_USB_SEVSEG is not set ++# CONFIG_USB_RIO500 is not set ++# CONFIG_USB_LEGOTOWER is not set ++# CONFIG_USB_LCD is not set ++# CONFIG_USB_BERRY_CHARGE is not set ++# CONFIG_USB_LED is not set ++# CONFIG_USB_CYPRESS_CY7C63 is not set ++# CONFIG_USB_CYTHERM is not set ++# CONFIG_USB_IDMOUSE is not set ++# CONFIG_USB_FTDI_ELAN is not set ++# CONFIG_USB_APPLEDISPLAY is not set ++# CONFIG_USB_LD is not set ++# CONFIG_USB_TRANCEVIBRATOR is not set ++# CONFIG_USB_IOWARRIOR is not set ++# CONFIG_USB_TEST is not set ++# CONFIG_USB_ISIGHTFW is not set ++# CONFIG_USB_VST is not set ++# CONFIG_USB_GADGET is not set ++ ++# ++# OTG and related infrastructure ++# ++# CONFIG_NOP_USB_XCEIV is not set ++# CONFIG_UWB is not set ++# CONFIG_MMC is not set ++# CONFIG_MEMSTICK is not set ++CONFIG_NEW_LEDS=y ++CONFIG_LEDS_CLASS=m ++ ++# ++# LED drivers ++# ++# CONFIG_LEDS_ALIX2 is not set ++# CONFIG_LEDS_PCA9532 is not set ++# CONFIG_LEDS_LP3944 is not set ++CONFIG_LEDS_CLEVO_MAIL=m ++# CONFIG_LEDS_PCA955X is not set ++# CONFIG_LEDS_BD2802 is not set ++ ++# ++# LED Triggers ++# ++CONFIG_LEDS_TRIGGERS=y ++CONFIG_LEDS_TRIGGER_TIMER=m ++CONFIG_LEDS_TRIGGER_IDE_DISK=y ++CONFIG_LEDS_TRIGGER_HEARTBEAT=m ++# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set ++CONFIG_LEDS_TRIGGER_DEFAULT_ON=m ++ ++# ++# iptables trigger is under Netfilter config (LED target) ++# ++# CONFIG_ACCESSIBILITY is not set ++# CONFIG_INFINIBAND is not set ++# CONFIG_EDAC is not set ++# CONFIG_RTC_CLASS is not set ++# CONFIG_DMADEVICES is not set ++# CONFIG_AUXDISPLAY is not set ++# CONFIG_UIO is not set ++ ++# ++# TI VLYNQ ++# ++# CONFIG_STAGING is not set ++CONFIG_X86_PLATFORM_DEVICES=y ++ ++# ++# Firmware Drivers ++# ++# CONFIG_EDD is not set ++CONFIG_FIRMWARE_MEMMAP=y ++# CONFIG_DELL_RBU is not set ++# CONFIG_DCDBAS is not set ++# CONFIG_DMIID is not set ++# CONFIG_ISCSI_IBFT_FIND is not set ++ ++# ++# File systems ++# ++CONFIG_EXT2_FS=y ++CONFIG_EXT2_FS_XATTR=y ++CONFIG_EXT2_FS_POSIX_ACL=y ++CONFIG_EXT2_FS_SECURITY=y ++# CONFIG_EXT2_FS_XIP is not set ++CONFIG_EXT3_FS=y ++# 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 is not set ++CONFIG_JBD=y ++# CONFIG_JBD_DEBUG is not set ++CONFIG_FS_MBCACHE=y ++# CONFIG_REISERFS_FS is not set ++# CONFIG_JFS_FS is not set ++CONFIG_FS_POSIX_ACL=y ++# CONFIG_XFS_FS is not set ++# CONFIG_GFS2_FS is not set ++# CONFIG_OCFS2_FS is not set ++# CONFIG_BTRFS_FS is not set ++CONFIG_FILE_LOCKING=y ++CONFIG_FSNOTIFY=y ++CONFIG_DNOTIFY=y ++CONFIG_INOTIFY=y ++CONFIG_INOTIFY_USER=y ++CONFIG_QUOTA=y ++CONFIG_QUOTA_NETLINK_INTERFACE=y ++CONFIG_PRINT_QUOTA_WARNING=y ++# CONFIG_QFMT_V1 is not set ++# CONFIG_QFMT_V2 is not set ++CONFIG_QUOTACTL=y ++# CONFIG_AUTOFS_FS is not set ++CONFIG_AUTOFS4_FS=y ++CONFIG_FUSE_FS=y ++# CONFIG_CUSE is not set ++CONFIG_GENERIC_ACL=y ++ ++# ++# Caches ++# ++# CONFIG_FSCACHE is not set ++ ++# ++# CD-ROM/DVD Filesystems ++# ++CONFIG_ISO9660_FS=y ++CONFIG_JOLIET=y ++CONFIG_ZISOFS=y ++CONFIG_UDF_FS=y ++CONFIG_UDF_NLS=y ++ ++# ++# DOS/FAT/NT Filesystems ++# ++CONFIG_FAT_FS=y ++CONFIG_MSDOS_FS=y ++CONFIG_VFAT_FS=y ++CONFIG_FAT_DEFAULT_CODEPAGE=437 ++CONFIG_FAT_DEFAULT_IOCHARSET="utf8" ++# CONFIG_NTFS_FS is not set ++ ++# ++# Pseudo filesystems ++# ++CONFIG_PROC_FS=y ++CONFIG_PROC_KCORE=y ++CONFIG_PROC_SYSCTL=y ++CONFIG_PROC_PAGE_MONITOR=y ++CONFIG_SYSFS=y ++CONFIG_TMPFS=y ++CONFIG_TMPFS_POSIX_ACL=y ++CONFIG_HUGETLBFS=y ++CONFIG_HUGETLB_PAGE=y ++CONFIG_CONFIGFS_FS=y ++CONFIG_MISC_FILESYSTEMS=y ++# CONFIG_ADFS_FS is not set ++# CONFIG_AFFS_FS is not set ++# CONFIG_ECRYPT_FS is not set ++# CONFIG_HFS_FS is not set ++# CONFIG_HFSPLUS_FS is not set ++# CONFIG_BEFS_FS is not set ++# CONFIG_BFS_FS is not set ++# CONFIG_EFS_FS is not set ++# CONFIG_JFFS2_FS is not set ++# CONFIG_UBIFS_FS is not set ++# CONFIG_CRAMFS is not set ++CONFIG_SQUASHFS=y ++# CONFIG_SQUASHFS_EMBEDDED is not set ++CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 ++CONFIG_VXFS_FS=y ++CONFIG_MINIX_FS=y ++# CONFIG_OMFS_FS is not set ++# CONFIG_HPFS_FS is not set ++# CONFIG_QNX4FS_FS is not set ++# CONFIG_ROMFS_FS is not set ++# CONFIG_SYSV_FS is not set ++# CONFIG_UFS_FS is not set ++# CONFIG_NILFS2_FS is not set ++CONFIG_NETWORK_FILESYSTEMS=y ++# CONFIG_NFS_FS is not set ++# CONFIG_NFSD is not set ++# CONFIG_SMB_FS is not set ++# CONFIG_CIFS is not set ++# CONFIG_NCP_FS is not set ++# CONFIG_CODA_FS is not set ++# CONFIG_AFS_FS is not set ++CONFIG_9P_FS=y ++ ++# ++# Partition Types ++# ++CONFIG_PARTITION_ADVANCED=y ++CONFIG_ACORN_PARTITION=y ++# CONFIG_ACORN_PARTITION_CUMANA is not set ++# CONFIG_ACORN_PARTITION_EESOX is not set ++CONFIG_ACORN_PARTITION_ICS=y ++# CONFIG_ACORN_PARTITION_ADFS is not set ++# CONFIG_ACORN_PARTITION_POWERTEC is not set ++CONFIG_ACORN_PARTITION_RISCIX=y ++CONFIG_OSF_PARTITION=y ++CONFIG_AMIGA_PARTITION=y ++CONFIG_ATARI_PARTITION=y ++CONFIG_MAC_PARTITION=y ++CONFIG_MSDOS_PARTITION=y ++CONFIG_BSD_DISKLABEL=y ++CONFIG_MINIX_SUBPARTITION=y ++CONFIG_SOLARIS_X86_PARTITION=y ++CONFIG_UNIXWARE_DISKLABEL=y ++CONFIG_LDM_PARTITION=y ++# CONFIG_LDM_DEBUG is not set ++CONFIG_SGI_PARTITION=y ++CONFIG_ULTRIX_PARTITION=y ++CONFIG_SUN_PARTITION=y ++CONFIG_KARMA_PARTITION=y ++CONFIG_EFI_PARTITION=y ++# CONFIG_SYSV68_PARTITION is not set ++CONFIG_NLS=y ++CONFIG_NLS_DEFAULT="utf8" ++CONFIG_NLS_CODEPAGE_437=y ++# CONFIG_NLS_CODEPAGE_737 is not set ++# CONFIG_NLS_CODEPAGE_775 is not set ++# CONFIG_NLS_CODEPAGE_850 is not set ++# CONFIG_NLS_CODEPAGE_852 is not set ++# CONFIG_NLS_CODEPAGE_855 is not set ++# CONFIG_NLS_CODEPAGE_857 is not set ++# CONFIG_NLS_CODEPAGE_860 is not set ++# CONFIG_NLS_CODEPAGE_861 is not set ++# CONFIG_NLS_CODEPAGE_862 is not set ++# CONFIG_NLS_CODEPAGE_863 is not set ++# CONFIG_NLS_CODEPAGE_864 is not set ++# CONFIG_NLS_CODEPAGE_865 is not set ++# CONFIG_NLS_CODEPAGE_866 is not set ++# CONFIG_NLS_CODEPAGE_869 is not set ++# CONFIG_NLS_CODEPAGE_936 is not set ++# CONFIG_NLS_CODEPAGE_950 is not set ++# CONFIG_NLS_CODEPAGE_932 is not set ++# CONFIG_NLS_CODEPAGE_949 is not set ++# CONFIG_NLS_CODEPAGE_874 is not set ++# CONFIG_NLS_ISO8859_8 is not set ++# CONFIG_NLS_CODEPAGE_1250 is not set ++# CONFIG_NLS_CODEPAGE_1251 is not set ++CONFIG_NLS_ASCII=y ++CONFIG_NLS_ISO8859_1=y ++# CONFIG_NLS_ISO8859_2 is not set ++CONFIG_NLS_ISO8859_3=y ++# CONFIG_NLS_ISO8859_4 is not set ++# CONFIG_NLS_ISO8859_5 is not set ++# CONFIG_NLS_ISO8859_6 is not set ++# CONFIG_NLS_ISO8859_7 is not set ++# CONFIG_NLS_ISO8859_9 is not set ++# CONFIG_NLS_ISO8859_13 is not set ++# CONFIG_NLS_ISO8859_14 is not set ++CONFIG_NLS_ISO8859_15=y ++# CONFIG_NLS_KOI8_R is not set ++# CONFIG_NLS_KOI8_U is not set ++CONFIG_NLS_UTF8=y ++CONFIG_DLM=y ++CONFIG_DLM_DEBUG=y ++ ++# ++# Kernel hacking ++# ++CONFIG_TRACE_IRQFLAGS_SUPPORT=y ++CONFIG_PRINTK_TIME=y ++CONFIG_ENABLE_WARN_DEPRECATED=y ++CONFIG_ENABLE_MUST_CHECK=y ++CONFIG_FRAME_WARN=1024 ++CONFIG_MAGIC_SYSRQ=y ++CONFIG_UNUSED_SYMBOLS=y ++CONFIG_DEBUG_FS=y ++# CONFIG_HEADERS_CHECK is not set ++CONFIG_DEBUG_KERNEL=y ++# CONFIG_DEBUG_SHIRQ is not set ++CONFIG_DETECT_SOFTLOCKUP=y ++# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set ++CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 ++CONFIG_DETECT_HUNG_TASK=y ++# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set ++CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 ++CONFIG_SCHED_DEBUG=y ++# CONFIG_SCHEDSTATS is not set ++CONFIG_TIMER_STATS=y ++# CONFIG_DEBUG_OBJECTS is not set ++# CONFIG_DEBUG_SLAB is not set ++# CONFIG_DEBUG_KMEMLEAK is not set ++# CONFIG_DEBUG_RT_MUTEXES is not set ++# CONFIG_RT_MUTEX_TESTER is not set ++# CONFIG_DEBUG_SPINLOCK is not set ++# CONFIG_DEBUG_MUTEXES is not set ++# CONFIG_DEBUG_LOCK_ALLOC is not set ++# CONFIG_PROVE_LOCKING is not set ++# CONFIG_LOCK_STAT is not set ++# CONFIG_DEBUG_SPINLOCK_SLEEP is not set ++# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set ++CONFIG_STACKTRACE=y ++# CONFIG_DEBUG_KOBJECT is not set ++# CONFIG_DEBUG_HIGHMEM is not set ++CONFIG_DEBUG_BUGVERBOSE=y ++# CONFIG_DEBUG_INFO is not set ++# CONFIG_DEBUG_VM is not set ++# CONFIG_DEBUG_VIRTUAL is not set ++# CONFIG_DEBUG_WRITECOUNT is not set ++CONFIG_DEBUG_MEMORY_INIT=y ++# CONFIG_DEBUG_LIST is not set ++# CONFIG_DEBUG_SG is not set ++# CONFIG_DEBUG_NOTIFIERS is not set ++CONFIG_ARCH_WANT_FRAME_POINTERS=y ++# CONFIG_FRAME_POINTER is not set ++# CONFIG_BOOT_PRINTK_DELAY is not set ++# CONFIG_RCU_TORTURE_TEST is not set ++# CONFIG_RCU_CPU_STALL_DETECTOR is not set ++# CONFIG_BACKTRACE_SELF_TEST is not set ++# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set ++# CONFIG_FAULT_INJECTION is not set ++# CONFIG_LATENCYTOP is not set ++CONFIG_SYSCTL_SYSCALL_CHECK=y ++# CONFIG_DEBUG_PAGEALLOC is not set ++CONFIG_USER_STACKTRACE_SUPPORT=y ++CONFIG_NOP_TRACER=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_FTRACE_SYSCALLS=y ++CONFIG_RING_BUFFER=y ++CONFIG_EVENT_TRACING=y ++CONFIG_CONTEXT_SWITCH_TRACER=y ++CONFIG_TRACING=y ++CONFIG_GENERIC_TRACER=y ++CONFIG_TRACING_SUPPORT=y ++CONFIG_FTRACE=y ++# CONFIG_FUNCTION_TRACER is not set ++# CONFIG_IRQSOFF_TRACER is not set ++# CONFIG_SYSPROF_TRACER is not set ++# CONFIG_SCHED_TRACER is not set ++# CONFIG_FTRACE_SYSCALLS is not set ++# CONFIG_BOOT_TRACER is not set ++CONFIG_BRANCH_PROFILE_NONE=y ++# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set ++# CONFIG_PROFILE_ALL_BRANCHES is not set ++# CONFIG_POWER_TRACER is not set ++# CONFIG_STACK_TRACER is not set ++# CONFIG_KMEMTRACE is not set ++# CONFIG_WORKQUEUE_TRACER is not set ++CONFIG_BLK_DEV_IO_TRACE=y ++# CONFIG_FTRACE_STARTUP_TEST is not set ++# CONFIG_MMIOTRACE is not set ++# CONFIG_RING_BUFFER_BENCHMARK is not set ++# CONFIG_PROVIDE_OHCI1394_DMA_INIT 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_KGDB is not set ++CONFIG_HAVE_ARCH_KMEMCHECK=y ++# CONFIG_STRICT_DEVMEM is not set ++CONFIG_X86_VERBOSE_BOOTUP=y ++CONFIG_EARLY_PRINTK=y ++# CONFIG_EARLY_PRINTK_DBGP is not set ++# CONFIG_DEBUG_STACKOVERFLOW is not set ++# CONFIG_DEBUG_STACK_USAGE is not set ++# CONFIG_DEBUG_PER_CPU_MAPS is not set ++# CONFIG_X86_PTDUMP is not set ++# CONFIG_DEBUG_RODATA is not set ++# CONFIG_DEBUG_NX_TEST is not set ++# CONFIG_4KSTACKS is not set ++CONFIG_DOUBLEFAULT=y ++# 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_DEBUG_BOOT_PARAMS is not set ++# CONFIG_CPA_DEBUG is not set ++# 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=y ++# CONFIG_SECURITY_PATH is not set ++CONFIG_SECURITY_FILE_CAPABILITIES=y ++# CONFIG_SECURITY_ROOTPLUG is not set ++CONFIG_LSM_MMAP_MIN_ADDR=65536 ++CONFIG_SECURITY_SELINUX=y ++CONFIG_SECURITY_SELINUX_BOOTPARAM=y ++CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=0 ++CONFIG_SECURITY_SELINUX_DISABLE=y ++CONFIG_SECURITY_SELINUX_DEVELOP=y ++CONFIG_SECURITY_SELINUX_AVC_STATS=y ++CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 ++# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set ++# CONFIG_SECURITY_TOMOYO is not set ++CONFIG_CRYPTO=y ++ ++# ++# Crypto core or helper ++# ++# CONFIG_CRYPTO_FIPS is not set ++CONFIG_CRYPTO_ALGAPI=y ++CONFIG_CRYPTO_ALGAPI2=y ++CONFIG_CRYPTO_AEAD=m ++CONFIG_CRYPTO_AEAD2=y ++CONFIG_CRYPTO_BLKCIPHER=y ++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=y ++CONFIG_CRYPTO_MANAGER2=y ++CONFIG_CRYPTO_GF128MUL=m ++CONFIG_CRYPTO_NULL=m ++CONFIG_CRYPTO_WORKQUEUE=y ++# CONFIG_CRYPTO_CRYPTD is not set ++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=y ++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=y ++CONFIG_CRYPTO_XCBC=m ++ ++# ++# Digest ++# ++CONFIG_CRYPTO_CRC32C=y ++# CONFIG_CRYPTO_CRC32C_INTEL is not set ++CONFIG_CRYPTO_MD4=m ++CONFIG_CRYPTO_MD5=y ++CONFIG_CRYPTO_MICHAEL_MIC=m ++# CONFIG_CRYPTO_RMD128 is not set ++# CONFIG_CRYPTO_RMD160 is not set ++# CONFIG_CRYPTO_RMD256 is not set ++# CONFIG_CRYPTO_RMD320 is not set ++CONFIG_CRYPTO_SHA1=y ++CONFIG_CRYPTO_SHA256=m ++CONFIG_CRYPTO_SHA512=m ++CONFIG_CRYPTO_TGR192=m ++CONFIG_CRYPTO_WP512=m ++ ++# ++# Ciphers ++# ++CONFIG_CRYPTO_AES=m ++CONFIG_CRYPTO_AES_586=m ++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_586=m ++CONFIG_CRYPTO_SEED=m ++CONFIG_CRYPTO_SERPENT=m ++CONFIG_CRYPTO_TEA=m ++CONFIG_CRYPTO_TWOFISH=m ++CONFIG_CRYPTO_TWOFISH_COMMON=m ++CONFIG_CRYPTO_TWOFISH_586=m ++ ++# ++# Compression ++# ++CONFIG_CRYPTO_DEFLATE=m ++# CONFIG_CRYPTO_ZLIB is not set ++CONFIG_CRYPTO_LZO=m ++ ++# ++# Random Number Generation ++# ++# CONFIG_CRYPTO_ANSI_CPRNG is not set ++CONFIG_CRYPTO_HW=y ++CONFIG_CRYPTO_DEV_PADLOCK=m ++CONFIG_CRYPTO_DEV_PADLOCK_AES=m ++CONFIG_CRYPTO_DEV_PADLOCK_SHA=m ++CONFIG_CRYPTO_DEV_GEODE=m ++CONFIG_CRYPTO_DEV_HIFN_795X=m ++CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y ++CONFIG_HAVE_KVM=y ++CONFIG_HAVE_KVM_IRQCHIP=y ++# CONFIG_VIRTUALIZATION is not set ++CONFIG_VIRTIO=y ++CONFIG_VIRTIO_RING=y ++CONFIG_BINARY_PRINTF=y ++ ++# ++# 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=y ++CONFIG_CRC16=y ++# CONFIG_CRC_T10DIF is not set ++CONFIG_CRC_ITU_T=y ++CONFIG_CRC32=y ++CONFIG_CRC7=y ++CONFIG_LIBCRC32C=y ++CONFIG_AUDIT_GENERIC=y ++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_REED_SOLOMON=m ++CONFIG_REED_SOLOMON_DEC16=y ++CONFIG_HAS_IOMEM=y ++CONFIG_HAS_IOPORT=y ++CONFIG_HAS_DMA=y ++CONFIG_NLATTR=y ++ ++# ++# Plan 9 support ++# ++CONFIG_BINFMT_PLAN9=y +diff -Nur a/fs/binfmt_plan9.c b/fs/binfmt_plan9.c +--- a/fs/binfmt_plan9.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/fs/binfmt_plan9.c 2009-11-27 08:50:19.000000000 +0100 +@@ -0,0 +1,227 @@ ++/* ++ * Binary loader for Plan 9's a.out executable format ++ * ++ * Copyright (C) 2008 Anant Narayanan ++ */ ++ ++#include <linux/init.h> ++#include <linux/module.h> ++#include <linux/kernel.h> ++#include <linux/ptrace.h> ++#include <linux/binfmts.h> ++#include <linux/mm.h> ++#include <linux/fs.h> ++#include <linux/mman.h> ++#include <linux/personality.h> ++ ++#include <asm/page.h> ++#include <asm/uaccess.h> ++#include <asm/processor.h> ++#include <asm/byteorder.h> ++ ++#include "binfmt_plan9.h" ++ ++static int load_plan9_binary(struct linux_binprm *, struct pt_regs *); ++ ++static struct linux_binfmt plan9_format = { ++ .module = THIS_MODULE, ++ .load_binary = load_plan9_binary, ++ .load_shlib = NULL, ++ .core_dump = NULL ++}; ++ ++/* ++ * All Plan 9 programs linked with libc obtain the address of the ++ * '_tos' structure from EAX when executing _main(). ++ * ++ * In Linux, however, the value of EAX is not preserved through the exec() ++ * process, hence we look for the MOV(addr, EAX) instruction and mangle it ++ * to MOV(addr, EBX) instead. (Note that we store the _tos address in EBX ++ * in create_args) ++ */ ++static void mangle_tos(unsigned long entry) ++{ ++ unsigned char a, b, c, d, e; ++ /* ++ * Error checking for get_user/put_user is not done because ++ * the user-space isn't actually running yet ++ */ ++ get_user(a, (unsigned long *)entry); ++ get_user(b, (unsigned long *)(entry + 1)); ++ get_user(c, (unsigned long *)(entry + 2)); ++ get_user(d, (unsigned long *)(entry + 3)); ++ get_user(e, (unsigned long *)(entry + 4)); ++ ++ printk(KERN_INFO "9load: Found %x %x %x %x %x!", a, b, c, d, e); ++ /* Check if our MOV instruction is present */ ++ if (a == 0x83 && b == 0xEC && c == 0x48 && d == 0x89 && e == 0x05) { ++ /* Yes, so we change 0x05 (EAX) to 0x1D (EBX) ++ * (ref: Intel x86 software developer's manual, volume 2A) ++ */ ++ put_user(0x1D, (unsigned long *)(entry + 4)); ++ } ++} ++ ++/* ++ * Setup the environment and argument variables on the user-space stack ++ */ ++static unsigned long __user *create_args(char __user * p, ++ struct linux_binprm * bprm, ++ struct pt_regs * regs) ++{ ++ char __user * __user *argv; ++ unsigned long __user *sp; ++ int argc = bprm->argc; ++ ++ unsigned long q = (unsigned long) p; ++ ++ sp = (void __user *)((-(unsigned long)sizeof(char *)) & q); ++ ++ /* leave space for TOS: 56 / 4 = 14 */ ++ sp -= TOS_SIZE; ++ regs->bx = (unsigned long)sp; ++ ++ sp -= argc+1; ++ argv = (char __user * __user *) sp; ++ ++ put_user(argc, --sp); ++ ++ current->mm->arg_start = q; ++ while (argc-- > 0) { ++ char c; ++ put_user(p, argv++); ++ do { ++ get_user(c, p++); ++ } while (c); ++ } ++ put_user(NULL, argv); ++ current->mm->arg_end = current->mm->env_start = ++ current->mm->env_end = q; ++ ++ return sp; ++} ++ ++static int load_plan9_binary(struct linux_binprm * bprm, struct pt_regs * regs) ++{ ++ loff_t pos; ++ struct plan9_exec ex; ++ unsigned long rlim, retval, fpos = 0, tot = 0; ++ ++ /* Load header and fix big-endianess: we are concerned with x86 only */ ++ ex = *((struct plan9_exec *) bprm->buf); ++ ex.magic = be32_to_cpu(ex.magic); ++ ex.text = be32_to_cpu(ex.text); ++ ex.data = be32_to_cpu(ex.data); ++ ex.bss = be32_to_cpu(ex.bss); ++ ex.syms = be32_to_cpu(ex.syms); ++ ex.entry = be32_to_cpu(ex.entry); ++ ex.spsz = be32_to_cpu(ex.spsz); ++ ex.pcsz = be32_to_cpu(ex.pcsz); ++ ++ tot = 0x20 + ex.text + ex.data + ex.syms + ex.spsz + ex.pcsz; ++ ++ /* Check if this is really a plan 9 executable */ ++ if (ex.magic != I_MAGIC) ++ return -ENOEXEC; ++ ++ /* Check initial limits. This avoids letting people circumvent ++ * size limits imposed on them by creating programs with large ++ * arrays in the data or bss. ++ */ ++ rlim = current->signal->rlim[RLIMIT_DATA].rlim_cur; ++ if (rlim >= RLIM_INFINITY) ++ rlim = ~0; ++ if (ex.data + ex.bss > rlim) ++ return -ENOMEM; ++ ++ /* Flush all traces of the currently running executable */ ++ retval = flush_old_exec(bprm); ++ if (retval) { ++ return retval; ++ } ++ /* Point of no return */ ++ set_personality(PER_LINUX); ++ ++ /* Set code sections */ ++ current->mm->end_code = TXT_ADDR(ex) + ++ (current->mm->start_code = STR_ADDR); ++ current->mm->end_data = ex.data + ++ (current->mm->start_data = PAGE_ALIGN(current->mm->end_code)); ++ current->mm->brk = ex.bss + ++ (current->mm->start_brk = current->mm->end_data); ++ current->mm->mmap_base = 0; ++ current->mm->free_area_cache = 0; ++ current->mm->cached_hole_size = 0; ++ ++ current->flags &= ~PF_FORKNOEXEC; ++ ++ printk(KERN_ALERT "9load: %lx %lx %lx %lx %lx %lx %lx %lx\n", ++ current->mm->start_code, ++ current->mm->end_code, ++ current->mm->start_data, ++ current->mm->end_data, ++ current->mm->start_brk, ++ current->mm->brk, ++ current->mm->mmap_base, ++ tot); ++ ++ /* mmap text in */ ++ down_write(¤t->mm->mmap_sem); ++ fpos = do_mmap(bprm->file, STR_ADDR, TXT_ADDR(ex), ++ PROT_READ | PROT_EXEC, ++ MAP_FIXED | MAP_PRIVATE | MAP_EXECUTABLE, 0); ++ up_write(¤t->mm->mmap_sem); ++ ++ /* copy data in */ ++ down_write(¤t->mm->mmap_sem); ++ fpos = do_mmap(NULL, DAT_ADDR(ex), ex.data + ex.bss, ++ PROT_READ | PROT_WRITE, ++ MAP_FIXED | MAP_PRIVATE, 0); ++ ++ up_write(¤t->mm->mmap_sem); ++ ++ pos = TXT_ADDR(ex); ++ printk(KERN_ALERT "9load: Read %d!\n", bprm->file->f_op->read(bprm->file, ++ (char *)DAT_ADDR(ex), ex.data + ex.bss, &pos)); ++ set_binfmt(&plan9_format); ++ ++ retval = setup_arg_pages(bprm, TASK_SIZE, EXSTACK_DEFAULT); ++ ++ if (retval < 0) { ++ send_sig(SIGKILL, current, 0); ++ return retval; ++ } ++ ++ printk(KERN_ALERT "9load: BPRM Value: %lx\n", bprm->p); ++ ++ current->mm->start_stack = ++ (unsigned long) create_args((char __user *) bprm->p, bprm, regs); ++ ++ printk(KERN_ALERT "9load: Stack start: %lx, TOS: %lx\n", current->mm->start_stack, regs->bx); ++ ++ mangle_tos(ex.entry); ++ start_thread(regs, ex.entry, current->mm->start_stack); ++ printk(KERN_ALERT "9load: Program started: EBX: %lx, EIP: %lx\n", regs->bx, regs->ip); ++ ++ return 0; ++} ++ ++static int __init plan9_init(void) ++{ ++ printk(KERN_ALERT "Hello, Plan9!\n"); ++ return register_binfmt(&plan9_format); ++} ++ ++static void __exit plan9_exit(void) ++{ ++ unregister_binfmt(&plan9_format); ++ printk(KERN_ALERT "Goodbye, Plan9!\n"); ++} ++ ++module_init(plan9_init); ++module_exit(plan9_exit); ++ ++MODULE_LICENSE ("GPL"); ++MODULE_AUTHOR ("Anant Narayanan <anant@kix.in>"); ++MODULE_DESCRIPTION ("Binary loader for Plan9's a.out executable format"); ++ +diff -Nur a/fs/binfmt_plan9.h b/fs/binfmt_plan9.h +--- a/fs/binfmt_plan9.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/fs/binfmt_plan9.h 2009-11-27 08:50:19.000000000 +0100 +@@ -0,0 +1,43 @@ ++/* ++ * Binary loader for Plan 9's a.out executable format ++ * ++ * Copyright (C) 2008 Anant Narayanan ++ */ ++struct plan9_exec ++{ ++ unsigned long magic; /* magic number */ ++ unsigned long text; /* size of text segment */ ++ unsigned long data; /* size of initialized data */ ++ unsigned long bss; /* size of uninitialized data */ ++ unsigned long syms; /* size of symbol table */ ++ unsigned long entry; /* entry point */ ++ unsigned long spsz; /* size of pc/sp offset table */ ++ unsigned long pcsz; /* size of pc/line number table */ ++}; ++ ++#define HDR_MAGIC 0x00008000 /* header expansion */ ++ ++#define _MAGIC(f, b) ((f)|((((4*(b))+0)*(b))+7)) ++#define A_MAGIC _MAGIC(0, 8) /* 68020 */ ++#define I_MAGIC _MAGIC(0, 11) /* intel 386 */ ++#define J_MAGIC _MAGIC(0, 12) /* intel 960 (retired) */ ++#define K_MAGIC _MAGIC(0, 13) /* sparc */ ++#define V_MAGIC _MAGIC(0, 16) /* mips 3000 BE */ ++#define X_MAGIC _MAGIC(0, 17) /* att dsp 3210 (retired) */ ++#define M_MAGIC _MAGIC(0, 18) /* mips 4000 BE */ ++#define D_MAGIC _MAGIC(0, 19) /* amd 29000 (retired) */ ++#define E_MAGIC _MAGIC(0, 20) /* arm */ ++#define Q_MAGIC _MAGIC(0, 21) /* powerpc */ ++#define N_MAGIC _MAGIC(0, 22) /* mips 4000 LE */ ++#define L_MAGIC _MAGIC(0, 23) /* dec alpha */ ++#define P_MAGIC _MAGIC(0, 24) /* mips 3000 LE */ ++#define U_MAGIC _MAGIC(0, 25) /* sparc64 */ ++#define S_MAGIC _MAGIC(HDR_MAGIC, 26) /* amd64 */ ++#define T_MAGIC _MAGIC(HDR_MAGIC, 27) /* powerpc64 */ ++ ++#define TOS_SIZE 14 /* Size of Top of Stack: 56 / 4 */ ++#define HDR_SIZE 0x20 ++#define STR_ADDR 0x1000 /* Start Address */ ++#define TXT_ADDR(x) HDR_SIZE + x.text /* TEXT Address */ ++#define DAT_ADDR(x) STR_ADDR + PAGE_ALIGN(TXT_ADDR(x)) /* DATA & BSS */ ++ +diff -Nur a/Makefile b/Makefile +--- a/Makefile 2009-11-10 01:32:31.000000000 +0100 ++++ b/Makefile 2009-11-27 08:50:19.000000000 +0100 +@@ -639,7 +639,7 @@ + + + ifeq ($(KBUILD_EXTMOD),) +-core-y += kernel/ mm/ fs/ ipc/ security/ crypto/ block/ ++core-y += kernel/ mm/ fs/ ipc/ security/ crypto/ block/ plan9/ + + vmlinux-dirs := $(patsubst %/,%,$(filter %/, $(init-y) $(init-m) \ + $(core-y) $(core-m) $(drivers-y) $(drivers-m) \ +diff -Nur a/plan9/devcons.c b/plan9/devcons.c +--- a/plan9/devcons.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/plan9/devcons.c 2009-11-27 08:50:19.000000000 +0100 +@@ -0,0 +1,65 @@ ++/** ++ * Plan 9 '#c' emulation. ++ * Let's start with /dev/pid ++ */ ++#include <linux/fs.h> ++#include <linux/init.h> ++#include <linux/types.h> ++#include <linux/module.h> ++#include <linux/uaccess.h> ++#include <linux/syscalls.h> ++#include <linux/miscdevice.h> ++ ++MODULE_AUTHOR("Anant Narayanan <anant@kix.in>"); ++MODULE_LICENSE("GPL"); ++ ++static ssize_t pid_read(struct file *, char __user *, size_t, loff_t *); ++ ++static const struct file_operations pid_fops = { ++ .owner = THIS_MODULE, ++ .read = pid_read ++ /* .write to /dev/pid doesn't make sense? */ ++}; ++ ++static struct miscdevice pid_dev = { ++ .minor = MISC_DYNAMIC_MINOR, ++ .name = "pid", ++ .fops = &pid_fops ++}; ++ ++static ssize_t pid_read(struct file *f, char __user *buf, ++ size_t count, loff_t *offset) ++{ ++ int ret = 0; ++ char pidbuf[6]; ++ unsigned long readcount; ++ ++ if (*offset != 0) { ++ ret = 0; ++ } else { ++ ret = scnprintf(pidbuf, 6, "%ld", sys_getpid()); ++ readcount = min(count, (size_t)ret); ++ ++ if (!copy_to_user(buf, pidbuf, readcount)) { ++ *offset += readcount; ++ ret = readcount; ++ } else { ++ ret = -EFAULT; ++ } ++ } ++ ++ return ret; ++} ++ ++static int __init cons_init(void) ++{ ++ return misc_register(&pid_dev); ++} ++ ++static void __exit cons_exit(void) ++{ ++ misc_deregister(&pid_dev); ++} ++ ++module_init(cons_init); ++module_exit(cons_exit); +diff -Nur a/plan9/Kconfig b/plan9/Kconfig +--- a/plan9/Kconfig 1970-01-01 01:00:00.000000000 +0100 ++++ b/plan9/Kconfig 2009-11-27 08:50:19.000000000 +0100 +@@ -0,0 +1,8 @@ ++menu "Plan 9 support" ++ ++config BINFMT_PLAN9 ++ tristate "Kernel support for Plan 9 binaries" ++ ---help--- ++ This will compile support for Plan 9 a.out (to be used with Glendix) ++ ++endmenu +diff -Nur a/plan9/Makefile b/plan9/Makefile +--- a/plan9/Makefile 1970-01-01 01:00:00.000000000 +0100 ++++ b/plan9/Makefile 2009-11-27 08:50:19.000000000 +0100 +@@ -0,0 +1,8 @@ ++# ++# Makefile for Plan 9 system support ++# ++# Anant Narayanan <anant@kix.in> ++# ++ ++obj-$(CONFIG_BINFMT_PLAN9) += syscalls.o devcons.o ++ +diff -Nur a/plan9/p9_constants.h b/plan9/p9_constants.h +--- a/plan9/p9_constants.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/plan9/p9_constants.h 2009-11-27 08:50:19.000000000 +0100 +@@ -0,0 +1,18 @@ ++/* ++ * Plan 9 constants ++ */ ++ ++/* rfork */ ++#define RFNAMEG 1 ++#define RFENVG 2 ++#define RFFDG 4 ++#define RFNOTEG 8 ++#define RFPROC 16 ++#define RFMEM 32 ++#define RFNOWAIT 64 ++#define RFCNAMEG 1024 ++#define RFCENVG 2048 ++#define RFCFDG 4096 ++#define RFREND 8192 ++#define RFNOMNT 16384 ++ +diff -Nur a/plan9/syscalls.c b/plan9/syscalls.c +--- a/plan9/syscalls.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/plan9/syscalls.c 2009-11-27 09:50:45.000000000 +0100 +@@ -0,0 +1,391 @@ ++/* ++ * Copyright (C) 2008 Anant Narayanan <anant@kix.in> ++ * Plan 9 system call implementations ++ */ ++ ++#include <linux/fs.h> ++#include <linux/time.h> ++#include <linux/file.h> ++#include <linux/mount.h> ++#include <linux/dcache.h> ++#include <linux/string.h> ++#include <linux/fsnotify.h> ++#include <linux/syscalls.h> ++#include <linux/namei.h> ++#include <../fs/internal.h> ++#include <asm/current.h> ++#include <asm/uaccess.h> ++#include <asm/syscalls.h> ++#include <asm/processor.h> ++ ++#include "p9_constants.h" ++ ++asmlinkage long sys_plan9_unimplemented(struct pt_regs regs) ++{ ++ if (printk_ratelimit()) ++ printk(KERN_ALERT "P9: %ld called but unimplemented!\n", ++ regs.ax); ++ return 0; ++} ++ ++asmlinkage long sys_plan9_deprecated(struct pt_regs regs) ++{ ++ if (printk_ratelimit()) ++ printk(KERN_INFO "P9: syscall number %ld DEPRECATED!\n", ++ regs.ax); ++ return 0; ++} ++ ++asmlinkage long sys_plan9_exits(struct pt_regs regs) ++{ ++ printk(KERN_INFO "P9: Syscall %ld exits called!\n", regs.ax); ++ return sys_exit(1); ++} ++ ++asmlinkage long sys_plan9_chdir(struct pt_regs regs) ++{ ++ unsigned long dirname; ++ unsigned long *addr = (unsigned long *)regs.sp; ++ printk(KERN_INFO "P9: Syscall %ld chdir called!\n", regs.ax); ++ ++ get_user(dirname, ++addr); ++ ++ return sys_chdir((char __user *)dirname); ++} ++ ++asmlinkage long sys_plan9_close(struct pt_regs regs) ++{ ++ unsigned long fd; ++ unsigned long *addr = (unsigned long *)regs.sp; ++ printk(KERN_INFO "P9: Syscall %ld close called!\n", regs.ax); ++ ++ get_user(fd, ++addr); ++ ++ return sys_close(fd); ++} ++ ++asmlinkage long sys_plan9_dup(struct pt_regs regs) ++{ ++ unsigned long oldfd, newfd; ++ unsigned long *addr = (unsigned long *)regs.sp; ++ printk(KERN_INFO "P9: Syscall %ld dup called!\n", regs.ax); ++ ++ get_user(oldfd, ++addr); ++ get_user(newfd, ++addr); ++ ++ if (newfd == -1) { ++ /* User requested lowest available descriptor */ ++ return sys_dup(oldfd); ++ } else { ++ /* User requested newfd to be the new descriptor ++ * FIXME: Plan 9 ensures that newfd is no more than 20 larger ++ * than the largest fd currently in use by the program. ++ */ ++ return sys_dup2(oldfd, newfd); ++ } ++} ++ ++asmlinkage long sys_plan9_open(struct pt_regs regs) ++{ ++ int fd, len; ++ struct file *f; ++ char path[PATH_MAX + 1]; ++ unsigned long file, omode; ++ unsigned long *addr = (unsigned long *)regs.sp; ++ printk(KERN_INFO "P9: Syscall %ld open called!\n", regs.ax); ++ ++ get_user(file, ++addr); ++ get_user(omode, ++addr); ++ ++ static const struct open_flags flags = { ++ .open_flag = __FMODE_EXEC, ++ .acc_mode = MAY_READ | MAY_OPEN, ++ .intent = LOOKUP_OPEN ++ }; ++ ++ /* Special case for '#c/pid' */ ++ if ((len = strncpy_from_user(path, (char __user *)file, PATH_MAX)) < 0) { ++ return -EFAULT; ++ } ++ path[len] = '\0'; ++ ++ if (strncmp(path, "#c/pid", 6) == 0) { ++ strncpy(path, "/dev/pid\0", 9); ++ printk(KERN_INFO "P9: open for #c/pid received, changed to %s!\n", path); ++ } else { ++ printk(KERN_INFO "P9: open for %s received\n", path); ++ } ++ ++ fd = PTR_ERR(path); ++ ++ if (!IS_ERR(path)) { ++ printk(KERN_INFO "P9: not an error in path."); ++ fd = get_unused_fd(); ++ if (fd >= 0) { ++ f = do_filp_open(AT_FDCWD, path, &flags, LOOKUP_FOLLOW); ++ if (IS_ERR(f)) { ++ printk(KERN_INFO "P9: There is an error in do_filp_open. Error code: %d", f); ++ put_unused_fd(fd); ++ fd = PTR_ERR(f); ++ } else { ++ printk(KERN_INFO "P9: Successful call to do_filp_open."); ++ fsnotify_open(f->f_path.dentry); ++ printk(KERN_INFO "P9: Called fsnotify_open(f_path.dentry)"); ++ fd_install(fd, f); ++ printk(KERN_INFO "P9: Called fd_install(fd, f)"); ++ } ++ } ++ putname(path); ++ printk(KERN_INFO "P9: Called putname(path);"); ++ } ++ ++ return (long)fd; ++} ++ ++asmlinkage long sys_plan9_sleep(struct pt_regs regs) ++{ ++ int rval; ++ struct timespec time; ++ unsigned long millisecs; ++ unsigned long *addr = (unsigned long *)regs.sp; ++ printk(KERN_INFO "P9: Syscall %ld sleep called!\n", regs.ax); ++ ++ get_user(millisecs, ++addr); ++ ++ /* Milliseconds to seconds */ ++ time.tv_sec = (time_t)millisecs / 1000; ++ millisecs -= time.tv_sec * 1000; ++ /* Milliseconds to nanoseconds */ ++ time.tv_nsec = millisecs * 1000000; ++ ++ printk(KERN_INFO "P9: sleep: %ldms resolved to %lds and %ldns\n", ++ millisecs, time.tv_sec, time.tv_nsec); ++ rval = sys_nanosleep(&time, &time); ++ ++ if (rval == 0) ++ return 0; ++ else ++ return -1; ++} ++ ++asmlinkage long sys_plan9_create(struct pt_regs regs) ++{ ++ unsigned long file, omode, perm; ++ unsigned long *addr = (unsigned long *)regs.sp; ++ printk(KERN_INFO "P9: Syscall %ld create called!\n", regs.ax); ++ ++ get_user(file, ++addr); ++ get_user(omode, ++addr); ++ get_user(perm, ++addr); ++ ++ /* TODO: check modes */ ++ return sys_open((const char __user *)file, omode | O_CREAT, perm); ++} ++ ++/* Original code is (C) Alexander Viro, linux-kernel, 12th Aug 2000 ++ * Original code was modified to fit this structure correctly. ++ */ ++asmlinkage long sys_plan9_fd2path(struct pt_regs regs) ++{ ++ char *cwd; ++ int fd, error; ++ char __user *buf; ++ ++ struct file *file; ++ struct path *path; ++ ++ unsigned long abuf, nbuf, len; ++ char *page = (char *) __get_free_page(GFP_USER); ++ unsigned long *addr = (unsigned long *)regs.sp; ++ printk(KERN_INFO "P9: Syscall %ld fd2path called!\n", regs.ax); ++ ++ if (!page) ++ return -ENOMEM; ++ ++ get_user(fd, ++addr); ++ get_user(abuf, ++addr); ++ get_user(nbuf, ++addr); ++ ++ buf = (char __user *)abuf; ++ ++ file = fget(fd); ++ if (!file) ++ return -EBADF; ++ path = &(file->f_path); ++ fput(file); ++ ++ cwd = d_path(path, page, PAGE_SIZE); ++ error = -ERANGE; ++ len = PAGE_SIZE + page - cwd; ++ if (len <= nbuf) { ++ error = len; ++ if (copy_to_user(buf, cwd, len)) ++ error = -EFAULT; ++ } ++ ++ free_page((unsigned long) page); ++ return error; ++} ++ ++/* FIXME: Find out if this is brk_ or sbrk! */ ++asmlinkage long sys_plan9_brk(struct pt_regs regs) ++{ ++ unsigned long incr; ++ unsigned long *addr = (unsigned long *) regs.sp; ++ printk(KERN_INFO "P9: Syscall %ld brk called!\n", regs.ax); ++ ++ get_user(incr, ++addr); ++ ++ return sys_brk(incr); ++} ++ ++asmlinkage long sys_plan9_remove(struct pt_regs regs) ++{ ++ unsigned long file; ++ unsigned long *addr = (unsigned long *) regs.sp; ++ printk(KERN_INFO "P9: Syscall %ld remove called!\n", regs.ax); ++ ++ get_user(file, ++addr); ++ ++ return sys_unlink((const char __user *)file); ++} ++ ++/* FIXME: Plan9's seek uses vlong, we ignore n here! */ ++asmlinkage long sys_plan9_seek(struct pt_regs regs) ++{ ++ loff_t offset; ++ unsigned long ret, fd, n, type; ++ unsigned long *addr = (unsigned long *)regs.sp; ++ printk(KERN_INFO "P9: Syscall %ld seek called!\n", regs.ax); ++ ++ get_user(n, ++addr); ++ get_user(fd, ++addr); ++ addr = addr + 2; ++ ret = copy_from_user(&offset, addr, sizeof(loff_t)); ++ if (ret != 0) { ++ printk(KERN_ALERT "P9: %ld bytes unread for seek!", ret); ++ } ++ get_user(type, ++addr); ++ ++ return sys_lseek(fd, (off_t) offset, type); ++} ++ ++asmlinkage long sys_plan9_pread(struct pt_regs regs) ++{ ++ loff_t offset; ++ unsigned long ret, fd, buf, nbytes; ++ unsigned long *addr = (unsigned long *)regs.sp; ++ printk(KERN_INFO "P9: Syscall %ld pread called!\n", regs.ax); ++ ++ get_user(fd, ++addr); ++ get_user(buf, ++addr); ++ get_user(nbytes, ++addr); ++ addr = addr + 2; ++ ret = copy_from_user(&offset, addr, sizeof(loff_t)); ++ if (ret != 0) { ++ printk(KERN_ALERT "P9: %ld bytes unread for read!", ret); ++ } ++ printk(KERN_INFO "P9: pread: offset: %llx\n", offset); ++ if (offset == 0xffffffff) { ++ printk(KERN_INFO "P9: pread: calling with %lx, %lx, %lx\n", ++ fd, buf, nbytes); ++ return sys_read(fd, (char __user *)buf, nbytes); ++ } else { ++ return sys_pread64(fd, (char __user *)buf, nbytes, offset); ++ } ++} ++ ++asmlinkage long sys_plan9_pwrite(struct pt_regs regs) ++{ ++ loff_t offset; ++ unsigned long ret, fd, buf, nbytes; ++ unsigned long *addr = (unsigned long *)regs.sp; ++ printk(KERN_INFO "P9: Syscall %ld pwrite called!\n", regs.ax); ++ ++ get_user(fd, ++addr); ++ get_user(buf, ++addr); ++ get_user(nbytes, ++addr); ++ addr = addr + 2; ++ ret = copy_from_user(&offset, addr, sizeof(loff_t)); ++ if (ret != 0) { ++ printk(KERN_ALERT "P9: %ld bytes unread for write!", ret); ++ } ++ printk(KERN_INFO "P9: pwrite: offset: %llx\n", offset); ++ if (offset == 0xffffffff) { ++ printk(KERN_INFO "P9: pwrite: calling with %lx, %lx, %lx\n", ++ fd, buf, nbytes); ++ return sys_write(fd, (char __user *)buf, nbytes); ++ } else { ++ return sys_pwrite64(fd, (char __user *)buf, nbytes, offset); ++ } ++} ++ ++asmlinkage long sys_plan9_rfork(struct pt_regs regs) ++{ ++ long ret = -1; ++ int clone_flags = 1; ++ unsigned long flags; ++ unsigned long *addr = (unsigned long *)regs.sp; ++ ++ printk(KERN_INFO "P9: Syscall %ld rfork called!\n", regs.ax); ++ get_user(flags, ++addr); ++ printk(KERN_INFO "P9: rfork called with %lx\n", flags); ++ ++ /* Check for invalid flag combinations */ ++ if ((flags & (RFFDG | RFCFDG)) == (RFFDG | RFCFDG)) ++ return -EINVAL; ++ if ((flags & (RFNAMEG | RFCNAMEG)) == (RFNAMEG | RFCNAMEG)) ++ return -EINVAL; ++ if ((flags & (RFENVG | RFCENVG)) == (RFENVG | RFCENVG)) ++ return -EINVAL; ++ ++ if (flags & RFPROC) { ++ if (flags & (RFMEM | RFNOWAIT)) ++ return -EINVAL; ++ ++ if (flags & RFNOWAIT) { ++ printk(KERN_INFO "rfork with RFNOWAIT unimplemented!\n"); ++ } ++ ++ if (flags & RFNAMEG) { ++ clone_flags |= (CLONE_NEWNS | CLONE_FILES); ++ } else if (flags & RFCNAMEG) { ++ clone_flags |= (CLONE_FILES); ++ } ++ ++ if (flags & RFNOMNT) { ++ printk(KERN_INFO "rfork with RFNOMNT unimplemented!\n"); ++ } ++ if (flags & RFENVG) { ++ printk(KERN_INFO "rfork with RFENVG unimplemented!\n"); ++ } else if (flags & RFCENVG) { ++ printk(KERN_INFO "rfork with RFCENVG unimplemented!\n"); ++ } ++ if (flags & RFNOTEG) { ++ printk(KERN_INFO "rfork with RNOTEG unimplemented!\n"); ++ } ++ if (flags & RFREND) { ++ printk(KERN_INFO "rfork with RFREND unimplemented!\n"); ++ } ++ if (flags & RFMEM) { ++ printk(KERN_INFO "rfork with RFCENVG unimplemented!\n"); ++ } ++ ++ regs.bx = clone_flags; ++ ret = sys_clone(®s.bx, NULL, ®s.dx, ®s.di, ®s); ++ ++ if (flags & RFCNAMEG) { ++ printk(KERN_INFO "rfork with RFCNAMEG called, unsharing!\n"); ++ sys_unshare(CLONE_NEWNS); ++ } ++ if (flags & RFFDG) { ++ printk(KERN_INFO "rfork with RFFDG unimplemented!\n"); ++ } else if (flags & RFCFDG) { ++ printk(KERN_INFO "rfork with RFCFDG called, unsharing!\n"); ++ sys_unshare(CLONE_FILES); ++ } ++ } ++ ++ return ret; ++} ++ +diff -Nur a/fs/Makefile b/fs/Makefile +--- a/fs/Makefile ++++ b/fs/Makefile +@@ -33,6 +33,6 @@ obj-$(CONFIG_NFSD_DEPRECATED) += nfsctl.o + obj-$(CONFIG_BINFMT_AOUT) += binfmt_aout.o + obj-$(CONFIG_BINFMT_EM86) += binfmt_em86.o + obj-$(CONFIG_BINFMT_MISC) += binfmt_misc.o +- ++obj-$(CONFIG_BINFMT_PLAN9) += binfmt_plan9.o + # binfmt_script is always there + obj-y += binfmt_script.o + diff --git a/sys-kernel/glendix-sources/files/glendix_3.0_rc6.patch b/sys-kernel/glendix-sources/files/glendix_3.0_rc6.patch new file mode 100644 index 0000000..3e58c3c --- /dev/null +++ b/sys-kernel/glendix-sources/files/glendix_3.0_rc6.patch @@ -0,0 +1,152 @@ +diff --git a/Makefile b/Makefile +index 86f47a0..d4bf2d9 100644 +--- a/Makefile ++++ b/Makefile +@@ -708,7 +708,7 @@ export mod_strip_cmd + + + ifeq ($(KBUILD_EXTMOD),) +-core-y += kernel/ mm/ fs/ ipc/ security/ crypto/ block/ ++core-y += kernel/ mm/ fs/ ipc/ security/ crypto/ block/ plan9/ + + vmlinux-dirs := $(patsubst %/,%,$(filter %/, $(init-y) $(init-m) \ + $(core-y) $(core-m) $(drivers-y) $(drivers-m) \ +diff --git a/arch/Kconfig b/arch/Kconfig +index 26b0e23..fc64cdf 100644 +--- a/arch/Kconfig ++++ b/arch/Kconfig +@@ -69,7 +69,7 @@ config HAVE_EFFICIENT_UNALIGNED_ACCESS + unable to perform such accesses efficiently (e.g. trap on + unaligned access and require fixing it up in the exception + handler.) +- ++ + This symbol should be selected by an architecture if it can + perform unaligned accesses efficiently to allow different + code paths to be selected for these cases. Some network +diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig +index da34972..98bf19a 100644 +--- a/arch/x86/Kconfig ++++ b/arch/x86/Kconfig +@@ -2166,3 +2166,5 @@ source "crypto/Kconfig" + source "arch/x86/kvm/Kconfig" + + source "lib/Kconfig" ++ ++source "plan9/Kconfig" +diff --git a/arch/x86/include/asm/irq_vectors.h b/arch/x86/include/asm/irq_vectors.h +index 6e976ee..4247720 100644 +--- a/arch/x86/include/asm/irq_vectors.h ++++ b/arch/x86/include/asm/irq_vectors.h +@@ -50,7 +50,7 @@ + #ifdef CONFIG_X86_32 + # define SYSCALL_VECTOR 0x80 + #endif +- ++# define PLAN9_SYSCALL_VECTOR 0x40 + /* + * Vectors 0x30-0x3f are used for ISA interrupts. + * round up to the next 16-vector boundary +diff --git a/arch/x86/kernel/entry_32.S b/arch/x86/kernel/entry_32.S +index 5c1a9197..1b88899 100644 +--- a/arch/x86/kernel/entry_32.S ++++ b/arch/x86/kernel/entry_32.S +@@ -490,6 +490,20 @@ sysexit_audit: + PTGS_TO_GS_EX + ENDPROC(ia32_sysenter_target) + ++#ifdef CONFIG_BINFMT_PLAN9 ++ # plan 9 system call handler stub ++ENTRY(plan9_system_call) ++ RING0_INT_FRAME ++ pushl %eax ++ CFI_ADJUST_CFA_OFFSET 4 ++ SAVE_ALL ++ call *plan9_syscall_table(,%eax,4) ++ movl %eax,PT_EAX(%esp) # store the return value ++ jmp syscall_exit ++ CFI_ENDPROC ++ENDPROC(plan9_system_call) ++#endif ++ + /* + * syscall stub including irq exit should be protected against kprobes + */ +@@ -1215,7 +1229,7 @@ return_to_handler: + + .section .rodata,"a" + #include "syscall_table_32.S" +- ++#include "plan9_syscall_table.S" + syscall_table_size=(.-sys_call_table) + + /* +diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c +index b9b6716..8844a3d 100644 +--- a/arch/x86/kernel/traps.c ++++ b/arch/x86/kernel/traps.c +@@ -67,7 +67,7 @@ + #include <asm/setup.h> + + asmlinkage int system_call(void); +- ++asmlinkage int plan9_system_call(void); + /* Do we ignore FPU interrupts ? */ + char ignore_fpu_irq; + +@@ -870,6 +870,10 @@ void __init trap_init(void) + #ifdef CONFIG_X86_32 + set_system_trap_gate(SYSCALL_VECTOR, &system_call); + set_bit(SYSCALL_VECTOR, used_vectors); ++#ifdef CONFIG_BINFMT_PLAN9 ++ set_system_trap_gate(PLAN9_SYSCALL_VECTOR, &plan9_system_call); ++ set_bit(PLAN9_SYSCALL_VECTOR, used_vectors); ++#endif + #endif + + /* +diff --git a/fs/Makefile b/fs/Makefile +index fb68c2b..d95c4fc 100644 +--- a/fs/Makefile ++++ b/fs/Makefile +@@ -34,6 +34,8 @@ obj-$(CONFIG_BINFMT_AOUT) += binfmt_aout.o + obj-$(CONFIG_BINFMT_EM86) += binfmt_em86.o + obj-$(CONFIG_BINFMT_MISC) += binfmt_misc.o + ++obj-$(CONFIG_BINFMT_PLAN9) += binfmt_plan9.o ++ + # binfmt_script is always there + obj-y += binfmt_script.o + +diff --git a/plan9/syscalls.c b/plan9/syscalls.c +index c2ced2d..c0938a1 100644 +--- a/plan9/syscalls.c ++++ b/plan9/syscalls.c +@@ -11,7 +11,8 @@ + #include <linux/string.h> + #include <linux/fsnotify.h> + #include <linux/syscalls.h> +- ++#include <linux/namei.h> ++#include <../fs/internal.h> + #include <asm/current.h> + #include <asm/uaccess.h> + #include <asm/syscalls.h> +@@ -114,7 +115,7 @@ asmlinkage long sys_plan9_open(struct pt_regs regs) + if (!IS_ERR(path)) { + fd = get_unused_fd(); + if (fd >= 0) { +- f = do_filp_open(AT_FDCWD, path, (int)NULL, omode, (int)NULL); ++ f = do_filp_open(AT_FDCWD, path, omode, (int)NULL); + if (IS_ERR(f)) { + put_unused_fd(fd); + fd = PTR_ERR(f); +@@ -359,7 +360,7 @@ asmlinkage long sys_plan9_rfork(struct pt_regs regs) + } + + regs.bx = clone_flags; +- ret = sys_clone(®s); ++ ret = sys_clone(NULL, NULL, NULL, NULL, ®s); + + if (flags & RFCNAMEG) { + printk(KERN_INFO "rfork with RFCNAMEG called, unsharing!\n"); diff --git a/sys-kernel/glendix-sources/glendix-sources-2.6.39.ebuild b/sys-kernel/glendix-sources/glendix-sources-2.6.39.ebuild new file mode 100644 index 0000000..5e5fcf1 --- /dev/null +++ b/sys-kernel/glendix-sources/glendix-sources-2.6.39.ebuild @@ -0,0 +1,21 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" +K_SECURITY_UNSUPPORTED="1" +K_DEBLOB_AVAILABLE="1" +ETYPE="sources" +inherit kernel-2 +detect_version + +DESCRIPTION="Patched sources for the Linux kernel with experimental support for programs from the Plan 9 From Bell Labs research operating system." +HOMEPAGE="http://www.glendix.org http://www.kernel.org" +SRC_URI="${KERNEL_URI}" + +KEYWORDS="x86" +IUSE="deblob" + +src_prepare() { + epatch "${FILESDIR}/glendix_${PV}.patch" +}
\ No newline at end of file |