linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* Re: powerpc 476, Little-endian, pte fault
       [not found] <CAJw04pD24W_nGSLheWunCa_o7QqBmRf_TSAD44EkzazigRe_nQ@mail.gmail.com>
@ 2011-10-31  5:51 ` Michael Neuling
  2011-10-31  6:35   ` Santosh Kumar
  0 siblings, 1 reply; 9+ messages in thread
From: Michael Neuling @ 2011-10-31  5:51 UTC (permalink / raw)
  To: Santosh Kumar; +Cc: linuxppc-dev, linux-kernel

Adding linuxppc-dev list to the CC

> KERNEL: linux 2.6.39.4
> POWERPC: 476, little endian.
> 
> I am trying to get linux 2.6.39.4 up on PPC 476 i have done done
> Big-endian to little endian Changes in:

Can you explain what you are trying to do in more detail?  What does "i
have done Big-endian to little endian Changes" mean?

> 1) bitops header file.
> 2) while reading the device tree.
> 3) the PTE read/computed in head_32.S
> 4) added E bit in the TLB entries.
> 
> with all the above changes the kernel_init is done but and inited is
> mounted.

Can you post your patch?

Are you trying to boot the kernel in little endian or just run userspace
in little endian?  

> But while spawning init process the kernel continuously hits pte
> faults at address 0x100000fc and never comes out. Please let me know
> where i should be looking into.

Is this the very first userspace instruction?

Mikey

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: powerpc 476, Little-endian, pte fault
  2011-10-31  5:51 ` powerpc 476, Little-endian, pte fault Michael Neuling
@ 2011-10-31  6:35   ` Santosh Kumar
  2011-10-31  7:38     ` Santosh Kumar
  2011-10-31  9:49     ` Michael Neuling
  0 siblings, 2 replies; 9+ messages in thread
From: Santosh Kumar @ 2011-10-31  6:35 UTC (permalink / raw)
  To: Michael Neuling; +Cc: linuxppc-dev, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1548 bytes --]

I have built a cross compiler for ppc440 in little endian mode and
using it to build the kernel.

Yes i am running Linux in Little-Endian. This is the first user space
process. I wrote the below program and running it as init from
/sbin/init. I have also set the permissions with chmod +s.

main()
{

while(1){
printf("hello world");
sleep(1);
 }
}

I have attached the patch.

-
Santosh Kumar .A

Vision without Action is a daydream... Action without Vision is a nightmare...



On 31 October 2011 11:21, Michael Neuling <mikey@neuling.org> wrote:
> Adding linuxppc-dev list to the CC
>
>> KERNEL: linux 2.6.39.4
>> POWERPC: 476, little endian.
>>
>> I am trying to get linux 2.6.39.4 up on PPC 476 i have done done
>> Big-endian to little endian Changes in:
>
> Can you explain what you are trying to do in more detail?  What does "i
> have done Big-endian to little endian Changes" mean?
>
>> 1) bitops header file.
>> 2) while reading the device tree.
>> 3) the PTE read/computed in head_32.S
>> 4) added E bit in the TLB entries.
>>
>> with all the above changes the kernel_init is done but and inited is
>> mounted.
>
> Can you post your patch?
>
> Are you trying to boot the kernel in little endian or just run userspace
> in little endian?
>
>> But while spawning init process the kernel continuously hits pte
>> faults at address 0x100000fc and never comes out. Please let me know
>> where i should be looking into.
>
> Is this the very first userspace instruction?
>
> Mikey
>
>

[-- Attachment #2: linux_ppc.patch --]
[-- Type: application/octet-stream, Size: 1580921 bytes --]

diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/avr32/kernel/vmlinux.lds.S ../linux-2.6.39.4/arch/avr32/kernel/vmlinux.lds.S
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/avr32/kernel/vmlinux.lds.S	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/avr32/kernel/vmlinux.lds.S	2011-10-22 06:38:24.232151629 +0530
@@ -7,7 +7,7 @@
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation.
  */
-#define LOAD_OFFSET 0x00000000
+#define LOAD_OFFSET 0x01000000
 #include <asm-generic/vmlinux.lds.h>
 #include <asm/cache.h>
 #include <asm/thread_info.h>
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/boot/div64.S ../linux-2.6.39.4/arch/powerpc/boot/div64.S
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/boot/div64.S	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/boot/div64.S	2011-10-22 14:16:46.616117143 +0530
@@ -17,8 +17,13 @@
 
 	.globl __div64_32
 __div64_32:
+#ifdef CONFIG_INVADER
+	lwz	r5,4(r3)	# get the dividend into r5/r6
+	lwz	r6,0(r3)
+#else
 	lwz	r5,0(r3)	# get the dividend into r5/r6
 	lwz	r6,4(r3)
+#endif
 	cmplw	r5,r4
 	li	r7,0
 	li	r8,0
@@ -53,7 +58,12 @@
 	mullw	r10,r0,r4	# and get the remainder
 	add	r8,r8,r0
 	subf	r6,r10,r6
+#ifdef CONFIG_INVADER
 4:	stw	r7,0(r3)	# return the quotient in *r3
 	stw	r8,4(r3)
+#else
+4:	stw	r7,0(r3)	# return the quotient in *r3
+	stw	r8,4(r3)
+#endif
 	mr	r3,r6		# return the remainder in r3
 	blr
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/boot/Makefile ../linux-2.6.39.4/arch/powerpc/boot/Makefile
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/boot/Makefile	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/boot/Makefile	2011-10-22 06:47:05.354137527 +0530
@@ -37,7 +37,7 @@
 
 DTC_FLAGS	?= -p 1024
 
-$(obj)/4xx.o: BOOTCFLAGS += -mcpu=405
+$(obj)/4xx.o: BOOTCFLAGS += -mcpu=440
 $(obj)/ebony.o: BOOTCFLAGS += -mcpu=405
 $(obj)/cuboot-hotfoot.o: BOOTCFLAGS += -mcpu=405
 $(obj)/cuboot-taishan.o: BOOTCFLAGS += -mcpu=405
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/boot/wrapper ../linux-2.6.39.4/arch/powerpc/boot/wrapper
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/boot/wrapper	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/boot/wrapper	2011-10-22 06:38:26.286134445 +0530
@@ -38,6 +38,7 @@
 dts=
 cacheit=
 binary=
+gzip=
 gzip=.gz
 
 # cross-compilation prefix
@@ -50,7 +51,6 @@
 object=arch/powerpc/boot
 objbin=$object
 dtc=scripts/dtc/dtc
-
 # directory for working files
 tmpdir=.
 
@@ -260,7 +260,6 @@
 	vmz="$vmz.$$"
     fi
 fi
-
 vmz="$vmz$gzip"
 
 # Extract kernel version information, some platforms want to include
@@ -277,12 +276,13 @@
 case "$platform" in
 uboot)
     rm -f "$ofile"
-    ${MKIMAGE} -A ppc -O linux -T kernel -C gzip -a $membase -e $membase \
+    ${MKIMAGE} -A ppc -O linux -T kernel -a $membase -e $membase \
 	$uboot_version -d "$vmz" "$ofile"
     if [ -z "$cacheit" ]; then
 	rm -f "$vmz"
     fi
     exit 0
+    echo "not exiting"
     ;;
 esac
 
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/configs/44x/invader_defconfig ../linux-2.6.39.4/arch/powerpc/configs/44x/invader_defconfig
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/configs/44x/invader_defconfig	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/configs/44x/invader_defconfig	2011-10-22 06:38:25.658577546 +0530
@@ -0,0 +1,1388 @@
+#
+# Automatically generated make config: don't edit
+# Linux/powerpc 2.6.39.4 Kernel Configuration
+# Wed Oct  5 08:09:48 2011
+#
+# CONFIG_PPC64 is not set
+
+#
+# Processor support
+#
+# CONFIG_PPC_BOOK3S_32 is not set
+# CONFIG_PPC_85xx is not set
+# CONFIG_PPC_8xx is not set
+# CONFIG_40x is not set
+CONFIG_44x=y
+# CONFIG_E200 is not set
+CONFIG_4xx=y
+CONFIG_BOOKE=y
+CONFIG_PTE_64BIT=y
+CONFIG_PHYS_64BIT=y
+CONFIG_PPC_MMU_NOHASH=y
+CONFIG_PPC_MMU_NOHASH_32=y
+# CONFIG_PPC_MM_SLICES is not set
+# CONFIG_SMP is not set
+# CONFIG_NOT_COHERENT_CACHE is not set
+CONFIG_PPC32=y
+CONFIG_32BIT=y
+CONFIG_WORD_SIZE=32
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_MMU=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
+CONFIG_NR_IRQS=512
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_ARCH_HAS_ILOG2_U32=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+CONFIG_GENERIC_FIND_BIT_LE=y
+# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
+CONFIG_PPC=y
+CONFIG_EARLY_PRINTK=y
+CONFIG_GENERIC_NVRAM=y
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_PPC_OF=y
+CONFIG_PPC_UDBG_16550=y
+# CONFIG_GENERIC_TBSYNC is not set
+CONFIG_AUDIT_ARCH=y
+CONFIG_GENERIC_BUG=y
+# CONFIG_DEFAULT_UIMAGE is not set
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_PPC_DCR_NATIVE=y
+# CONFIG_PPC_DCR_MMIO is not set
+CONFIG_PPC_DCR=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_PPC_ADV_DEBUG_REGS=y
+CONFIG_PPC_ADV_DEBUG_IACS=4
+CONFIG_PPC_ADV_DEBUG_DACS=2
+CONFIG_PPC_ADV_DEBUG_DVCS=2
+CONFIG_PPC_ADV_DEBUG_DAC_RANGE=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_CONSTRUCTORS=y
+CONFIG_HAVE_IRQ_WORK=y
+CONFIG_IRQ_WORK=y
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_CROSS_COMPILE=""
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_FHANDLE is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_AUDIT is not set
+CONFIG_HAVE_GENERIC_HARDIRQS=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_HAVE_SPARSE_IRQ=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
+# CONFIG_SPARSE_IRQ is not set
+
+#
+# RCU Subsystem
+#
+CONFIG_TINY_RCU=y
+# CONFIG_PREEMPT_RCU is not set
+# CONFIG_RCU_TRACE is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_CGROUPS is not set
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+# CONFIG_SCHED_AUTOGROUP is not set
+CONFIG_SYSFS_DEPRECATED=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_XZ=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+# CONFIG_EXPERT is not set
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+CONFIG_KALLSYMS_ALL=y
+CONFIG_KALLSYMS_EXTRA_PASS=y
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=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_EMBEDDED is not set
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+CONFIG_PERF_COUNTERS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLUB_DEBUG=y
+CONFIG_COMPAT_BRK=y
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+# CONFIG_PROFILING is not set
+CONFIG_TRACEPOINTS=y
+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_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+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_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+# CONFIG_INLINE_SPIN_TRYLOCK is not set
+# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK is not set
+# CONFIG_INLINE_SPIN_LOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
+CONFIG_INLINE_SPIN_UNLOCK=y
+# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
+CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
+# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_READ_TRYLOCK is not set
+# CONFIG_INLINE_READ_LOCK is not set
+# CONFIG_INLINE_READ_LOCK_BH is not set
+# CONFIG_INLINE_READ_LOCK_IRQ is not set
+# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
+CONFIG_INLINE_READ_UNLOCK=y
+# CONFIG_INLINE_READ_UNLOCK_BH is not set
+CONFIG_INLINE_READ_UNLOCK_IRQ=y
+# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_WRITE_TRYLOCK is not set
+# CONFIG_INLINE_WRITE_LOCK is not set
+# CONFIG_INLINE_WRITE_LOCK_BH is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
+CONFIG_INLINE_WRITE_UNLOCK=y
+# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
+CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
+# CONFIG_MUTEX_SPIN_ON_OWNER is not set
+CONFIG_FREEZER=y
+
+#
+# Platform support
+#
+# CONFIG_PPC_CELL is not set
+# CONFIG_PPC_CELL_NATIVE is not set
+# CONFIG_PQ2ADS is not set
+CONFIG_PPC_47x=y
+# CONFIG_BAMBOO is not set
+# CONFIG_BLUESTONE is not set
+# CONFIG_EBONY is not set
+# CONFIG_SAM440EP is not set
+# CONFIG_SEQUOIA is not set
+# CONFIG_TAISHAN is not set
+# CONFIG_KATMAI is not set
+# CONFIG_RAINIER is not set
+# CONFIG_WARP is not set
+# CONFIG_ARCHES is not set
+# CONFIG_CANYONLANDS is not set
+# CONFIG_GLACIER is not set
+# CONFIG_REDWOOD is not set
+# CONFIG_EIGER is not set
+# CONFIG_YOSEMITE is not set
+# CONFIG_ISS4xx is not set
+# CONFIG_ICON is not set
+# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set
+CONFIG_PPC44x_SIMPLE=y
+# CONFIG_PPC4xx_GPIO is not set
+CONFIG_INVADER=y
+CONFIG_KVM_GUEST=y
+# CONFIG_IPIC is not set
+CONFIG_MPIC=y
+# CONFIG_MPIC_WEIRD is not set
+# CONFIG_PPC_I8259 is not set
+# CONFIG_PPC_RTAS is not set
+# CONFIG_MMIO_NVRAM is not set
+# CONFIG_MPIC_U3_HT_IRQS is not set
+# CONFIG_PPC_MPC106 is not set
+# CONFIG_PPC_970_NAP is not set
+# CONFIG_PPC_INDIRECT_IO is not set
+# CONFIG_GENERIC_IOMAP is not set
+# CONFIG_CPU_FREQ is not set
+# CONFIG_FSL_ULI1575 is not set
+# CONFIG_SIMPLE_GPIO is not set
+
+#
+# Kernel options
+#
+# CONFIG_HIGHMEM is not set
+# CONFIG_NO_HZ is not set
+# CONFIG_HIGH_RES_TIMERS is not set
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_250 is not set
+# CONFIG_HZ_300 is not set
+CONFIG_HZ_1000=y
+CONFIG_HZ=1000
+# CONFIG_SCHED_HRTICK is not set
+# CONFIG_PREEMPT_NONE is not set
+CONFIG_PREEMPT_VOLUNTARY=y
+# CONFIG_PREEMPT is not set
+CONFIG_BINFMT_ELF=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+# CONFIG_HAVE_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_MATH_EMULATION is not set
+# CONFIG_IOMMU_HELPER is not set
+# CONFIG_SWIOTLB is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_ARCH_HAS_WALK_MEMORY=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
+CONFIG_MAX_ACTIVE_REGIONS=32
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_HAVE_MEMBLOCK=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+# CONFIG_COMPACTION is not set
+CONFIG_MIGRATION=y
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+# CONFIG_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_NEED_PER_CPU_KM=y
+CONFIG_STDBINUTILS=y
+CONFIG_PPC_4K_PAGES=y
+# CONFIG_PPC_16K_PAGES is not set
+# CONFIG_PPC_64K_PAGES is not set
+CONFIG_FORCE_MAX_ZONEORDER=11
+CONFIG_CMDLINE_BOOL=y
+CONFIG_CMDLINE=""
+CONFIG_EXTRA_TARGETS=""
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+# CONFIG_HIBERNATION is not set
+CONFIG_PM_SLEEP=y
+# CONFIG_PM_RUNTIME is not set
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+# CONFIG_SECCOMP is not set
+CONFIG_ISA_DMA_API=y
+
+#
+# Bus options
+#
+CONFIG_ZONE_DMA=y
+# CONFIG_NEED_DMA_MAP_STATE is not set
+CONFIG_NEED_SG_DMA_LENGTH=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_PPC4xx_CPM=y
+CONFIG_4xx_SOC=y
+CONFIG_PPC_PCI_CHOICE=y
+# CONFIG_PCI is not set
+# CONFIG_PCI_DOMAINS is not set
+# CONFIG_PCI_SYSCALL is not set
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+# CONFIG_PCCARD is not set
+# CONFIG_HAS_RAPIDIO is not set
+
+#
+# Advanced setup
+#
+CONFIG_ADVANCED_OPTIONS=y
+# CONFIG_LOWMEM_SIZE_BOOL is not set
+CONFIG_LOWMEM_SIZE=0x30000000
+CONFIG_PAGE_OFFSET_BOOL=y
+CONFIG_PAGE_OFFSET=0x70000000
+CONFIG_KERNEL_START_BOOL=y
+CONFIG_KERNEL_START=0x70000000
+CONFIG_PHYSICAL_START=0x00000000
+CONFIG_TASK_SIZE_BOOL=y
+CONFIG_TASK_SIZE=0x70000000
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+# CONFIG_INET is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# 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_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
+# CONFIG_BATMAN_ADV is not set
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=m
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+CONFIG_WIRELESS=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_REG_DEBUG is not set
+CONFIG_CFG80211_DEFAULT_PS=y
+CONFIG_CFG80211_DEBUGFS=y
+# CONFIG_CFG80211_INTERNAL_REGDB is not set
+CONFIG_CFG80211_WEXT=y
+CONFIG_WIRELESS_EXT_SYSFS=y
+CONFIG_LIB80211=m
+# CONFIG_LIB80211_DEBUG is not set
+CONFIG_MAC80211=m
+CONFIG_MAC80211_HAS_RC=y
+CONFIG_MAC80211_RC_MINSTREL=y
+CONFIG_MAC80211_RC_MINSTREL_HT=y
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
+CONFIG_MAC80211_MESH=y
+CONFIG_MAC80211_DEBUGFS=y
+# CONFIG_MAC80211_DEBUG_MENU is not set
+# CONFIG_WIMAX is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+# CONFIG_CAIF is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_FIRMWARE_IN_KERNEL is not set
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_DEBUG_DRIVER is not set
+CONFIG_DEBUG_DEVRES=y
+# CONFIG_SYS_HYPERVISOR is not set
+CONFIG_CONNECTOR=m
+# CONFIG_MTD is not set
+CONFIG_DTC=y
+CONFIG_OF=y
+
+#
+# Device Tree and Open Firmware support
+#
+# CONFIG_PROC_DEVICETREE is not set
+CONFIG_OF_FLATTREE=y
+CONFIG_OF_EARLY_FLATTREE=y
+CONFIG_OF_DYNAMIC=y
+CONFIG_OF_ADDRESS=y
+CONFIG_OF_IRQ=y
+CONFIG_OF_DEVICE=y
+CONFIG_OF_I2C=m
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_FD is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+# CONFIG_BLK_DEV_LOOP is not set
+
+#
+# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
+#
+# CONFIG_BLK_DEV_NBD is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=35000
+# CONFIG_BLK_DEV_XIP is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_XILINX_SYSACE is not set
+# CONFIG_BLK_DEV_HD is not set
+# CONFIG_SENSORS_LIS3LV02D is not set
+CONFIG_MISC_DEVICES=y
+# CONFIG_AD525X_DPOT is not set
+# CONFIG_ICS932S401 is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_APDS9802ALS is not set
+# CONFIG_ISL29003 is not set
+# CONFIG_ISL29020 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+# CONFIG_SENSORS_BH1780 is not set
+# CONFIG_SENSORS_BH1770 is not set
+# CONFIG_SENSORS_APDS990X is not set
+# CONFIG_HMC6352 is not set
+# CONFIG_DS1682 is not set
+# CONFIG_BMP085 is not set
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT24=m
+CONFIG_EEPROM_LEGACY=m
+CONFIG_EEPROM_MAX6875=m
+CONFIG_EEPROM_93CX6=m
+
+#
+# Texas Instruments shared transport line discipline
+#
+# CONFIG_SENSORS_LIS3_I2C is not set
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+# CONFIG_SCSI_TGT is not set
+CONFIG_SCSI_NETLINK=y
+# CONFIG_SCSI_PROC_FS is not set
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+# CONFIG_BLK_DEV_SD is not set
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_CHR_DEV_SCH is not set
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+CONFIG_SCSI_SPI_ATTRS=m
+CONFIG_SCSI_FC_ATTRS=m
+CONFIG_SCSI_ISCSI_ATTRS=m
+CONFIG_SCSI_SAS_ATTRS=m
+CONFIG_SCSI_SAS_LIBSAS=m
+CONFIG_SCSI_SAS_HOST_SMP=y
+CONFIG_SCSI_SRP_ATTRS=m
+# CONFIG_SCSI_LOWLEVEL 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_TARGET_CORE is not set
+# CONFIG_MACINTOSH_DRIVERS is not set
+# CONFIG_NETDEVICES is not set
+# CONFIG_ISDN is not set
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_FF_MEMLESS=y
+CONFIG_INPUT_POLLDEV=m
+CONFIG_INPUT_SPARSEKMAP=m
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ADP5588=m
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_QT1070 is not set
+# CONFIG_KEYBOARD_QT2160 is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_TCA6416 is not set
+CONFIG_KEYBOARD_MAX7359=m
+# CONFIG_KEYBOARD_MCS is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+CONFIG_KEYBOARD_OPENCORES=m
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+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_TRACKPOINT=y
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_MOUSE_PS2_SENTELIC=y
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+CONFIG_MOUSE_SERIAL=m
+CONFIG_MOUSE_VSXXXAA=m
+CONFIG_MOUSE_SYNAPTICS_I2C=m
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_ANALOG=m
+CONFIG_JOYSTICK_A3D=m
+CONFIG_JOYSTICK_ADI=m
+CONFIG_JOYSTICK_COBRA=m
+CONFIG_JOYSTICK_GF2K=m
+CONFIG_JOYSTICK_GRIP=m
+CONFIG_JOYSTICK_GRIP_MP=m
+CONFIG_JOYSTICK_GUILLEMOT=m
+CONFIG_JOYSTICK_INTERACT=m
+CONFIG_JOYSTICK_SIDEWINDER=m
+CONFIG_JOYSTICK_TMDC=m
+CONFIG_JOYSTICK_IFORCE=m
+CONFIG_JOYSTICK_IFORCE_232=y
+CONFIG_JOYSTICK_WARRIOR=m
+CONFIG_JOYSTICK_MAGELLAN=m
+CONFIG_JOYSTICK_SPACEORB=m
+CONFIG_JOYSTICK_SPACEBALL=m
+CONFIG_JOYSTICK_STINGER=m
+CONFIG_JOYSTICK_TWIDJOY=m
+CONFIG_JOYSTICK_ZHENHUA=m
+# CONFIG_JOYSTICK_AS5011 is not set
+CONFIG_JOYSTICK_JOYDUMP=m
+CONFIG_INPUT_TABLET=y
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_AD7879=m
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
+# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set
+# CONFIG_TOUCHSCREEN_BU21013 is not set
+CONFIG_TOUCHSCREEN_DYNAPRO=m
+# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
+CONFIG_TOUCHSCREEN_EETI=m
+CONFIG_TOUCHSCREEN_FUJITSU=m
+CONFIG_TOUCHSCREEN_GUNZE=m
+CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_WACOM_W8001=m
+CONFIG_TOUCHSCREEN_MCS5000=m
+CONFIG_TOUCHSCREEN_MTOUCH=m
+CONFIG_TOUCHSCREEN_INEXIO=m
+CONFIG_TOUCHSCREEN_MK712=m
+CONFIG_TOUCHSCREEN_PENMOUNT=m
+CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
+CONFIG_TOUCHSCREEN_TOUCHWIN=m
+CONFIG_TOUCHSCREEN_TOUCHIT213=m
+CONFIG_TOUCHSCREEN_TSC2007=m
+# CONFIG_TOUCHSCREEN_ST1232 is not set
+# CONFIG_TOUCHSCREEN_TPS6507X is not set
+CONFIG_INPUT_MISC=y
+# CONFIG_INPUT_AD714X is not set
+CONFIG_INPUT_UINPUT=m
+# CONFIG_INPUT_PCF8574 is not set
+# CONFIG_INPUT_ADXL34X is not set
+# CONFIG_INPUT_CMA3000 is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=y
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=m
+# CONFIG_SERIO_XILINX_XPS_PS2 is not set
+CONFIG_SERIO_ALTERA_PS2=m
+# CONFIG_SERIO_PS2MULT is not set
+CONFIG_GAMEPORT=m
+CONFIG_GAMEPORT_NS558=m
+CONFIG_GAMEPORT_L4=m
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_SERIAL_NONSTANDARD=y
+CONFIG_N_HDLC=m
+# CONFIG_N_GSM is not set
+# CONFIG_DEVKMEM is not set
+# CONFIG_STALDRV is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=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_SHARE_IRQ=y
+CONFIG_SERIAL_8250_DETECT_IRQ=y
+CONFIG_SERIAL_8250_RSA=y
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_UARTLITE is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_OF_PLATFORM is not set
+# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
+# CONFIG_SERIAL_TIMBERDALE is not set
+# CONFIG_SERIAL_ALTERA_JTAGUART is not set
+# CONFIG_SERIAL_ALTERA_UART is not set
+# CONFIG_HVC_UDBG is not set
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_TIMERIOMEM=m
+CONFIG_NVRAM=y
+# CONFIG_GEN_RTC is not set
+CONFIG_R3964=m
+CONFIG_RAW_DRIVER=y
+CONFIG_MAX_RAW_DEVS=8192
+CONFIG_TCG_TPM=y
+CONFIG_TCG_TIS=y
+CONFIG_TCG_NSC=m
+CONFIG_TCG_ATMEL=m
+# CONFIG_RAMOOPS is not set
+CONFIG_I2C=m
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=m
+# CONFIG_I2C_MUX is not set
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_SMBUS=m
+CONFIG_I2C_ALGOBIT=m
+CONFIG_I2C_ALGOPCA=m
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_IBM_IIC is not set
+# CONFIG_I2C_MPC is not set
+# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_PCA_PLATFORM=m
+# CONFIG_I2C_PXA_PCI is not set
+CONFIG_I2C_SIMTEC=m
+# CONFIG_I2C_XILINX is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+CONFIG_I2C_PARPORT_LIGHT=m
+# CONFIG_I2C_TAOS_EVM is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+CONFIG_I2C_STUB=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_SPI is not set
+
+#
+# PPS support
+#
+CONFIG_PPS=m
+# CONFIG_PPS_DEBUG is not set
+# CONFIG_NTP_PPS is not set
+
+#
+# PPS clients support
+#
+# CONFIG_PPS_CLIENT_KTIMER is not set
+# CONFIG_PPS_CLIENT_LDISC is not set
+
+#
+# PPS generators support
+#
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+# CONFIG_GPIOLIB is not set
+# CONFIG_W1 is not set
+# CONFIG_POWER_SUPPLY is not set
+# CONFIG_HWMON is not set
+CONFIG_THERMAL=y
+# CONFIG_WATCHDOG is not set
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB=m
+# CONFIG_SSB_DEBUG is not set
+CONFIG_MFD_SUPPORT=y
+# CONFIG_MFD_CORE is not set
+# CONFIG_MFD_SM501 is not set
+# CONFIG_HTC_PASIC3 is not set
+# CONFIG_TPS6105X is not set
+# CONFIG_TPS6507X is not set
+# CONFIG_MFD_TMIO is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_PCF50633 is not set
+# CONFIG_ABX500_CORE is not set
+# CONFIG_MFD_WL1273_CORE is not set
+# CONFIG_REGULATOR is not set
+CONFIG_MEDIA_SUPPORT=m
+
+#
+# Multimedia core support
+#
+# CONFIG_MEDIA_CONTROLLER is not set
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_V4L2_COMMON=m
+CONFIG_VIDEO_MEDIA=m
+
+#
+# Multimedia drivers
+#
+CONFIG_RC_CORE=m
+CONFIG_LIRC=m
+CONFIG_RC_MAP=m
+CONFIG_IR_NEC_DECODER=m
+CONFIG_IR_RC5_DECODER=m
+CONFIG_IR_RC6_DECODER=m
+CONFIG_IR_JVC_DECODER=m
+CONFIG_IR_SONY_DECODER=m
+CONFIG_IR_RC5_SZ_DECODER=m
+CONFIG_IR_LIRC_CODEC=m
+# CONFIG_RC_LOOPBACK is not set
+CONFIG_MEDIA_ATTACH=y
+CONFIG_MEDIA_TUNER=m
+CONFIG_MEDIA_TUNER_CUSTOMISE=y
+
+#
+# Customize TV tuners
+#
+CONFIG_MEDIA_TUNER_SIMPLE=m
+CONFIG_MEDIA_TUNER_TDA8290=m
+CONFIG_MEDIA_TUNER_TDA827X=m
+CONFIG_MEDIA_TUNER_TDA18271=m
+CONFIG_MEDIA_TUNER_TDA9887=m
+CONFIG_MEDIA_TUNER_TEA5761=m
+CONFIG_MEDIA_TUNER_TEA5767=m
+CONFIG_MEDIA_TUNER_MT20XX=m
+CONFIG_MEDIA_TUNER_MT2060=m
+CONFIG_MEDIA_TUNER_MT2266=m
+CONFIG_MEDIA_TUNER_MT2131=m
+CONFIG_MEDIA_TUNER_QT1010=m
+CONFIG_MEDIA_TUNER_XC2028=m
+CONFIG_MEDIA_TUNER_XC5000=m
+CONFIG_MEDIA_TUNER_MXL5005S=m
+CONFIG_MEDIA_TUNER_MXL5007T=m
+CONFIG_MEDIA_TUNER_MC44S803=m
+CONFIG_MEDIA_TUNER_MAX2165=m
+CONFIG_MEDIA_TUNER_TDA18218=m
+CONFIG_VIDEO_V4L2=m
+CONFIG_VIDEOBUF_GEN=m
+CONFIG_VIDEOBUF2_CORE=m
+CONFIG_VIDEO_CAPTURE_DRIVERS=y
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
+CONFIG_VIDEO_IR_I2C=m
+
+#
+# Audio decoders
+#
+
+#
+# RDS decoders
+#
+
+#
+# Video decoders
+#
+
+#
+# Video and audio decoders
+#
+
+#
+# MPEG video encoders
+#
+
+#
+# Video encoders
+#
+
+#
+# Video improvement chips
+#
+# CONFIG_VIDEO_VIVI is not set
+# CONFIG_VIDEO_TIMBERDALE is not set
+# CONFIG_VIDEO_SR030PC30 is not set
+# CONFIG_VIDEO_NOON010PC30 is not set
+CONFIG_SOC_CAMERA=m
+# CONFIG_SOC_CAMERA_IMX074 is not set
+CONFIG_SOC_CAMERA_MT9M001=m
+CONFIG_SOC_CAMERA_MT9M111=m
+CONFIG_SOC_CAMERA_MT9T031=m
+CONFIG_SOC_CAMERA_MT9T112=m
+CONFIG_SOC_CAMERA_MT9V022=m
+CONFIG_SOC_CAMERA_RJ54N1=m
+CONFIG_SOC_CAMERA_TW9910=m
+CONFIG_SOC_CAMERA_PLATFORM=m
+# CONFIG_SOC_CAMERA_OV2640 is not set
+# CONFIG_SOC_CAMERA_OV6650 is not set
+CONFIG_SOC_CAMERA_OV772X=m
+CONFIG_SOC_CAMERA_OV9640=m
+# CONFIG_SOC_CAMERA_OV9740 is not set
+# CONFIG_V4L_MEM2MEM_DRIVERS is not set
+CONFIG_RADIO_ADAPTERS=y
+CONFIG_I2C_SI4713=m
+CONFIG_RADIO_SI4713=m
+CONFIG_RADIO_SI470X=y
+CONFIG_I2C_SI470X=m
+# CONFIG_RADIO_TEA5764 is not set
+# CONFIG_RADIO_SAA7706H is not set
+# CONFIG_RADIO_TEF6862 is not set
+# CONFIG_RADIO_WL1273 is not set
+
+#
+# Texas Instruments WL128x FM driver (ST based)
+#
+
+#
+# Graphics support
+#
+CONFIG_DRM=m
+CONFIG_VGASTATE=m
+CONFIG_VIDEO_OUTPUT_CONTROL=m
+CONFIG_FB=y
+# CONFIG_FIRMWARE_EDID is not set
+# CONFIG_FB_DDC is not set
+# CONFIG_FB_BOOT_VESA_SUPPORT is not set
+CONFIG_FB_CFB_FILLRECT=m
+CONFIG_FB_CFB_COPYAREA=m
+CONFIG_FB_CFB_IMAGEBLIT=m
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+CONFIG_FB_SYS_FILLRECT=m
+CONFIG_FB_SYS_COPYAREA=m
+CONFIG_FB_SYS_IMAGEBLIT=m
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_SYS_FOPS=m
+# CONFIG_FB_WMT_GE_ROPS is not set
+CONFIG_FB_DEFERRED_IO=y
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_OF is not set
+CONFIG_FB_VGA16=m
+# CONFIG_FB_UVESA is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_IBM_GXT4500 is not set
+CONFIG_FB_VIRTUAL=m
+CONFIG_FB_METRONOME=m
+CONFIG_FB_MB862XX=m
+# CONFIG_FB_MB862XX_LIME is not set
+# CONFIG_FB_BROADSHEET is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=m
+CONFIG_LCD_PLATFORM=m
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+# CONFIG_BACKLIGHT_GENERIC is not set
+# CONFIG_BACKLIGHT_ADP8860 is not set
+
+#
+# Display device support
+#
+CONFIG_DISPLAY_SUPPORT=m
+
+#
+# Display hardware drivers
+#
+
+#
+# Console display driver support
+#
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
+CONFIG_SOUND=m
+CONFIG_SOUND_OSS_CORE=y
+CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_RAWMIDI=m
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_DYNAMIC_MINORS=y
+# CONFIG_SND_SUPPORT_OLD_API is not set
+CONFIG_SND_VERBOSE_PROCFS=y
+CONFIG_SND_VERBOSE_PRINTK=y
+CONFIG_SND_DEBUG=y
+# CONFIG_SND_DEBUG_VERBOSE is not set
+CONFIG_SND_PCM_XRUN_DEBUG=y
+CONFIG_SND_RAWMIDI_SEQ=m
+# CONFIG_SND_OPL3_LIB_SEQ is not set
+# CONFIG_SND_OPL4_LIB_SEQ is not set
+# CONFIG_SND_SBAWE_SEQ is not set
+# CONFIG_SND_EMU10K1_SEQ is not set
+CONFIG_SND_MPU401_UART=m
+CONFIG_SND_DRIVERS=y
+CONFIG_SND_DUMMY=m
+# CONFIG_SND_ALOOP is not set
+CONFIG_SND_VIRMIDI=m
+CONFIG_SND_MTPAV=m
+CONFIG_SND_SERIAL_U16550=m
+CONFIG_SND_MPU401=m
+CONFIG_SND_PPC=y
+# CONFIG_SND_SOC is not set
+# CONFIG_SOUND_PRIME is not set
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=y
+CONFIG_HIDRAW=y
+CONFIG_HID_PID=y
+
+#
+# Special HID drivers
+#
+# CONFIG_USB_SUPPORT is not set
+# CONFIG_MMC is not set
+# CONFIG_MEMSTICK is not set
+# CONFIG_NEW_LEDS is not set
+# CONFIG_NFC_DEVICES is not set
+# CONFIG_ACCESSIBILITY 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
+# CONFIG_STAGING is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_EXT4_FS is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_BTRFS_FS is not set
+# CONFIG_NILFS2_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+# CONFIG_INOTIFY_USER is not set
+# CONFIG_FANOTIFY is not set
+# CONFIG_QUOTA is not set
+# CONFIG_QUOTACTL is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# Caches
+#
+# CONFIG_FSCACHE is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+# CONFIG_MSDOS_FS is not set
+# CONFIG_VFAT_FS is not set
+# 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 is not set
+# CONFIG_HUGETLB_PAGE is not set
+# CONFIG_CONFIGFS_FS is not set
+# CONFIG_MISC_FILESYSTEMS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_NLS is not set
+CONFIG_BINARY_PRINTF=y
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
+# CONFIG_CRC_T10DIF is not set
+# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC32=y
+# CONFIG_CRC7 is not set
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_XZ_DEC=y
+CONFIG_XZ_DEC_X86=y
+CONFIG_XZ_DEC_POWERPC=y
+CONFIG_XZ_DEC_IA64=y
+CONFIG_XZ_DEC_ARM=y
+CONFIG_XZ_DEC_ARMTHUMB=y
+CONFIG_XZ_DEC_SPARC=y
+CONFIG_XZ_DEC_BCJ=y
+# CONFIG_XZ_DEC_TEST is not set
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_XZ=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_NLATTR=y
+CONFIG_GENERIC_ATOMIC64=y
+CONFIG_AVERAGE=y
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
+# CONFIG_ENABLE_WARN_DEPRECATED is not set
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=1024
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_STRIP_ASM_SYMS is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+# CONFIG_LOCKUP_DETECTOR is not set
+# CONFIG_HARDLOCKUP_DETECTOR is not set
+# CONFIG_DETECT_HUNG_TASK is not set
+CONFIG_SCHED_DEBUG=y
+CONFIG_SCHEDSTATS=y
+# CONFIG_TIMER_STATS is not set
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS 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_SPARSE_RCU_POINTER 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_BUGVERBOSE=y
+CONFIG_DEBUG_INFO=y
+# CONFIG_DEBUG_INFO_REDUCED is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_TEST_LIST_SORT is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+# CONFIG_LKDTM is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+# CONFIG_SYSCTL_SYSCALL_CHECK is not set
+CONFIG_DEBUG_PAGEALLOC=y
+CONFIG_NOP_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_TRACER_MAX_TRACE=y
+CONFIG_RING_BUFFER=y
+CONFIG_EVENT_TRACING=y
+# CONFIG_EVENT_POWER_TRACING_DEPRECATED is not set
+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_SCHED_TRACER=y
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+# CONFIG_STACK_TRACER is not set
+CONFIG_BLK_DEV_IO_TRACE=y
+# CONFIG_FTRACE_STARTUP_TEST is not set
+CONFIG_RING_BUFFER_BENCHMARK=m
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DMA_API_DEBUG is not set
+# CONFIG_ATOMIC64_SELFTEST is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+# CONFIG_TEST_KSTRTOX is not set
+CONFIG_PPC_DISABLE_WERROR=y
+CONFIG_PRINT_STACK_DEPTH=64
+# CONFIG_DEBUG_STACKOVERFLOW is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_PPC_EMULATED_STATS is not set
+# CONFIG_CODE_PATCHING_SELFTEST is not set
+# CONFIG_FTR_FIXUP_SELFTEST is not set
+# CONFIG_MSI_BITMAP_SELFTEST is not set
+# CONFIG_XMON is not set
+# CONFIG_VIRQ_DEBUG is not set
+# CONFIG_BDI_SWITCH is not set
+# CONFIG_PPC_EARLY_DEBUG is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
+# CONFIG_SECURITY is not set
+CONFIG_SECURITYFS=y
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_CRYPTO=m
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=m
+CONFIG_CRYPTO_ALGAPI2=m
+CONFIG_CRYPTO_AEAD2=m
+CONFIG_CRYPTO_BLKCIPHER=m
+CONFIG_CRYPTO_BLKCIPHER2=m
+CONFIG_CRYPTO_HASH2=m
+CONFIG_CRYPTO_RNG2=m
+CONFIG_CRYPTO_PCOMP2=m
+CONFIG_CRYPTO_MANAGER=m
+CONFIG_CRYPTO_MANAGER2=m
+# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
+CONFIG_CRYPTO_GF128MUL=m
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_WORKQUEUE=m
+# CONFIG_CRYPTO_CRYPTD is not set
+# CONFIG_CRYPTO_AUTHENC is not set
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Authenticated Encryption with Associated Data
+#
+# CONFIG_CRYPTO_CCM is not set
+# CONFIG_CRYPTO_GCM is not set
+# CONFIG_CRYPTO_SEQIV is not set
+
+#
+# Block modes
+#
+# CONFIG_CRYPTO_CBC is not set
+# CONFIG_CRYPTO_CTR is not set
+# CONFIG_CRYPTO_CTS is not set
+CONFIG_CRYPTO_ECB=m
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_PCBC is not set
+# CONFIG_CRYPTO_XTS is not set
+
+#
+# Hash modes
+#
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_VMAC is not set
+
+#
+# Digest
+#
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_GHASH is not set
+# CONFIG_CRYPTO_MD4 is not set
+# CONFIG_CRYPTO_MD5 is not set
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# 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 is not set
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_WP512 is not set
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=m
+# CONFIG_CRYPTO_ANUBIS is not set
+CONFIG_CRYPTO_ARC4=m
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_DES is not set
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_SEED is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+
+#
+# Compression
+#
+# CONFIG_CRYPTO_DEFLATE is not set
+# CONFIG_CRYPTO_ZLIB is not set
+# CONFIG_CRYPTO_LZO is not set
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_USER_API_HASH is not set
+# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
+# CONFIG_CRYPTO_HW is not set
+# CONFIG_PPC_CLOCK is not set
+# CONFIG_VIRTUALIZATION is not set
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/configs/44x/invader_defconfig.dbg ../linux-2.6.39.4/arch/powerpc/configs/44x/invader_defconfig.dbg
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/configs/44x/invader_defconfig.dbg	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/configs/44x/invader_defconfig.dbg	2011-10-22 06:38:25.682238525 +0530
@@ -0,0 +1,1393 @@
+#
+# Automatically generated make config: don't edit
+# Linux/powerpc 2.6.39.4 Kernel Configuration
+# Mon Oct 10 05:29:08 2011
+#
+# CONFIG_PPC64 is not set
+
+#
+# Processor support
+#
+# CONFIG_PPC_BOOK3S_32 is not set
+# CONFIG_PPC_85xx is not set
+# CONFIG_PPC_8xx is not set
+# CONFIG_40x is not set
+CONFIG_44x=y
+# CONFIG_E200 is not set
+CONFIG_4xx=y
+CONFIG_BOOKE=y
+CONFIG_PTE_64BIT=y
+CONFIG_PHYS_64BIT=y
+CONFIG_PPC_MMU_NOHASH=y
+CONFIG_PPC_MMU_NOHASH_32=y
+# CONFIG_PPC_MM_SLICES is not set
+# CONFIG_SMP is not set
+# CONFIG_NOT_COHERENT_CACHE is not set
+CONFIG_PPC32=y
+CONFIG_32BIT=y
+CONFIG_WORD_SIZE=32
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_MMU=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
+CONFIG_NR_IRQS=512
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_ARCH_HAS_ILOG2_U32=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+CONFIG_GENERIC_FIND_BIT_LE=y
+# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
+CONFIG_PPC=y
+CONFIG_EARLY_PRINTK=y
+CONFIG_GENERIC_NVRAM=y
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_PPC_OF=y
+CONFIG_PPC_UDBG_16550=y
+# CONFIG_GENERIC_TBSYNC is not set
+CONFIG_AUDIT_ARCH=y
+CONFIG_GENERIC_BUG=y
+# CONFIG_DEFAULT_UIMAGE is not set
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_PPC_DCR_NATIVE=y
+# CONFIG_PPC_DCR_MMIO is not set
+CONFIG_PPC_DCR=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_PPC_ADV_DEBUG_REGS=y
+CONFIG_PPC_ADV_DEBUG_IACS=4
+CONFIG_PPC_ADV_DEBUG_DACS=2
+CONFIG_PPC_ADV_DEBUG_DVCS=2
+CONFIG_PPC_ADV_DEBUG_DAC_RANGE=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_CONSTRUCTORS=y
+CONFIG_HAVE_IRQ_WORK=y
+CONFIG_IRQ_WORK=y
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_CROSS_COMPILE=""
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_FHANDLE is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_AUDIT is not set
+CONFIG_HAVE_GENERIC_HARDIRQS=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_HAVE_SPARSE_IRQ=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
+# CONFIG_SPARSE_IRQ is not set
+
+#
+# RCU Subsystem
+#
+CONFIG_TINY_RCU=y
+# CONFIG_PREEMPT_RCU is not set
+# CONFIG_RCU_TRACE is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=17
+# CONFIG_CGROUPS is not set
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+# CONFIG_SCHED_AUTOGROUP is not set
+CONFIG_SYSFS_DEPRECATED=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_XZ=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+# CONFIG_EXPERT is not set
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+CONFIG_KALLSYMS_ALL=y
+CONFIG_KALLSYMS_EXTRA_PASS=y
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=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_EMBEDDED is not set
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+CONFIG_PERF_COUNTERS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLUB_DEBUG=y
+CONFIG_COMPAT_BRK=y
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+# CONFIG_PROFILING is not set
+CONFIG_TRACEPOINTS=y
+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_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+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_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+# CONFIG_INLINE_SPIN_TRYLOCK is not set
+# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK is not set
+# CONFIG_INLINE_SPIN_LOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
+CONFIG_INLINE_SPIN_UNLOCK=y
+# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
+CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
+# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_READ_TRYLOCK is not set
+# CONFIG_INLINE_READ_LOCK is not set
+# CONFIG_INLINE_READ_LOCK_BH is not set
+# CONFIG_INLINE_READ_LOCK_IRQ is not set
+# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
+CONFIG_INLINE_READ_UNLOCK=y
+# CONFIG_INLINE_READ_UNLOCK_BH is not set
+CONFIG_INLINE_READ_UNLOCK_IRQ=y
+# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_WRITE_TRYLOCK is not set
+# CONFIG_INLINE_WRITE_LOCK is not set
+# CONFIG_INLINE_WRITE_LOCK_BH is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
+CONFIG_INLINE_WRITE_UNLOCK=y
+# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
+CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
+# CONFIG_MUTEX_SPIN_ON_OWNER is not set
+CONFIG_FREEZER=y
+
+#
+# Platform support
+#
+# CONFIG_PPC_CELL is not set
+# CONFIG_PPC_CELL_NATIVE is not set
+# CONFIG_PQ2ADS is not set
+CONFIG_PPC_47x=y
+# CONFIG_BAMBOO is not set
+# CONFIG_BLUESTONE is not set
+# CONFIG_EBONY is not set
+# CONFIG_SAM440EP is not set
+# CONFIG_SEQUOIA is not set
+# CONFIG_TAISHAN is not set
+# CONFIG_KATMAI is not set
+# CONFIG_RAINIER is not set
+# CONFIG_WARP is not set
+# CONFIG_ARCHES is not set
+# CONFIG_CANYONLANDS is not set
+# CONFIG_GLACIER is not set
+# CONFIG_REDWOOD is not set
+# CONFIG_EIGER is not set
+# CONFIG_YOSEMITE is not set
+# CONFIG_ISS4xx is not set
+# CONFIG_ICON is not set
+# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set
+CONFIG_PPC44x_SIMPLE=y
+# CONFIG_PPC4xx_GPIO is not set
+CONFIG_INVADER=y
+CONFIG_KVM_GUEST=y
+# CONFIG_IPIC is not set
+CONFIG_MPIC=y
+# CONFIG_MPIC_WEIRD is not set
+# CONFIG_PPC_I8259 is not set
+# CONFIG_PPC_RTAS is not set
+# CONFIG_MMIO_NVRAM is not set
+# CONFIG_MPIC_U3_HT_IRQS is not set
+# CONFIG_PPC_MPC106 is not set
+# CONFIG_PPC_970_NAP is not set
+# CONFIG_PPC_INDIRECT_IO is not set
+# CONFIG_GENERIC_IOMAP is not set
+# CONFIG_CPU_FREQ is not set
+# CONFIG_FSL_ULI1575 is not set
+# CONFIG_SIMPLE_GPIO is not set
+
+#
+# Kernel options
+#
+# CONFIG_HIGHMEM is not set
+# CONFIG_NO_HZ is not set
+# CONFIG_HIGH_RES_TIMERS is not set
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_250 is not set
+# CONFIG_HZ_300 is not set
+CONFIG_HZ_1000=y
+CONFIG_HZ=1000
+# CONFIG_SCHED_HRTICK is not set
+# CONFIG_PREEMPT_NONE is not set
+CONFIG_PREEMPT_VOLUNTARY=y
+# CONFIG_PREEMPT is not set
+CONFIG_BINFMT_ELF=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+# CONFIG_HAVE_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_MATH_EMULATION is not set
+# CONFIG_IOMMU_HELPER is not set
+# CONFIG_SWIOTLB is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_ARCH_HAS_WALK_MEMORY=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
+CONFIG_MAX_ACTIVE_REGIONS=32
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_HAVE_MEMBLOCK=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+# CONFIG_COMPACTION is not set
+CONFIG_MIGRATION=y
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+# CONFIG_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_NEED_PER_CPU_KM=y
+CONFIG_STDBINUTILS=y
+CONFIG_PPC_4K_PAGES=y
+# CONFIG_PPC_16K_PAGES is not set
+# CONFIG_PPC_64K_PAGES is not set
+CONFIG_FORCE_MAX_ZONEORDER=11
+CONFIG_CMDLINE_BOOL=y
+CONFIG_CMDLINE=""
+CONFIG_EXTRA_TARGETS=""
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+# CONFIG_HIBERNATION is not set
+CONFIG_PM_SLEEP=y
+# CONFIG_PM_RUNTIME is not set
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+# CONFIG_SECCOMP is not set
+CONFIG_ISA_DMA_API=y
+
+#
+# Bus options
+#
+CONFIG_ZONE_DMA=y
+# CONFIG_NEED_DMA_MAP_STATE is not set
+CONFIG_NEED_SG_DMA_LENGTH=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_PPC4xx_CPM=y
+CONFIG_4xx_SOC=y
+CONFIG_PPC_PCI_CHOICE=y
+# CONFIG_PCI is not set
+# CONFIG_PCI_DOMAINS is not set
+# CONFIG_PCI_SYSCALL is not set
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+# CONFIG_PCCARD is not set
+# CONFIG_HAS_RAPIDIO is not set
+
+#
+# Advanced setup
+#
+CONFIG_ADVANCED_OPTIONS=y
+# CONFIG_LOWMEM_SIZE_BOOL is not set
+CONFIG_LOWMEM_SIZE=0x30000000
+CONFIG_PAGE_OFFSET_BOOL=y
+CONFIG_PAGE_OFFSET=0x70000000
+CONFIG_KERNEL_START_BOOL=y
+CONFIG_KERNEL_START=0x70000000
+CONFIG_PHYSICAL_START=0x00000000
+CONFIG_TASK_SIZE_BOOL=y
+CONFIG_TASK_SIZE=0x70000000
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+# CONFIG_INET is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# 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_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
+# CONFIG_BATMAN_ADV is not set
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=m
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+CONFIG_WIRELESS=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_REG_DEBUG is not set
+CONFIG_CFG80211_DEFAULT_PS=y
+CONFIG_CFG80211_DEBUGFS=y
+# CONFIG_CFG80211_INTERNAL_REGDB is not set
+CONFIG_CFG80211_WEXT=y
+CONFIG_WIRELESS_EXT_SYSFS=y
+CONFIG_LIB80211=m
+# CONFIG_LIB80211_DEBUG is not set
+CONFIG_MAC80211=m
+CONFIG_MAC80211_HAS_RC=y
+CONFIG_MAC80211_RC_MINSTREL=y
+CONFIG_MAC80211_RC_MINSTREL_HT=y
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
+CONFIG_MAC80211_MESH=y
+CONFIG_MAC80211_DEBUGFS=y
+# CONFIG_MAC80211_DEBUG_MENU is not set
+# CONFIG_WIMAX is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+# CONFIG_CAIF is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_FIRMWARE_IN_KERNEL is not set
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_DEBUG_DRIVER is not set
+CONFIG_DEBUG_DEVRES=y
+# CONFIG_SYS_HYPERVISOR is not set
+CONFIG_CONNECTOR=m
+# CONFIG_MTD is not set
+CONFIG_DTC=y
+CONFIG_OF=y
+
+#
+# Device Tree and Open Firmware support
+#
+# CONFIG_PROC_DEVICETREE is not set
+CONFIG_OF_FLATTREE=y
+CONFIG_OF_EARLY_FLATTREE=y
+CONFIG_OF_DYNAMIC=y
+CONFIG_OF_ADDRESS=y
+CONFIG_OF_IRQ=y
+CONFIG_OF_DEVICE=y
+CONFIG_OF_I2C=m
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_FD is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+# CONFIG_BLK_DEV_LOOP is not set
+
+#
+# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
+#
+# CONFIG_BLK_DEV_NBD is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=35000
+# CONFIG_BLK_DEV_XIP is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_XILINX_SYSACE is not set
+# CONFIG_BLK_DEV_HD is not set
+# CONFIG_SENSORS_LIS3LV02D is not set
+CONFIG_MISC_DEVICES=y
+# CONFIG_AD525X_DPOT is not set
+# CONFIG_ICS932S401 is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_APDS9802ALS is not set
+# CONFIG_ISL29003 is not set
+# CONFIG_ISL29020 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+# CONFIG_SENSORS_BH1780 is not set
+# CONFIG_SENSORS_BH1770 is not set
+# CONFIG_SENSORS_APDS990X is not set
+# CONFIG_HMC6352 is not set
+# CONFIG_DS1682 is not set
+# CONFIG_BMP085 is not set
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT24=m
+CONFIG_EEPROM_LEGACY=m
+CONFIG_EEPROM_MAX6875=m
+CONFIG_EEPROM_93CX6=m
+
+#
+# Texas Instruments shared transport line discipline
+#
+# CONFIG_SENSORS_LIS3_I2C is not set
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+# CONFIG_SCSI_TGT is not set
+CONFIG_SCSI_NETLINK=y
+# CONFIG_SCSI_PROC_FS is not set
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+# CONFIG_BLK_DEV_SD is not set
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_CHR_DEV_SCH is not set
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+CONFIG_SCSI_SPI_ATTRS=m
+CONFIG_SCSI_FC_ATTRS=m
+CONFIG_SCSI_ISCSI_ATTRS=m
+CONFIG_SCSI_SAS_ATTRS=m
+CONFIG_SCSI_SAS_LIBSAS=m
+CONFIG_SCSI_SAS_HOST_SMP=y
+CONFIG_SCSI_SRP_ATTRS=m
+# CONFIG_SCSI_LOWLEVEL 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_TARGET_CORE is not set
+# CONFIG_MACINTOSH_DRIVERS is not set
+# CONFIG_NETDEVICES is not set
+# CONFIG_ISDN is not set
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_FF_MEMLESS=y
+CONFIG_INPUT_POLLDEV=m
+CONFIG_INPUT_SPARSEKMAP=m
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ADP5588=m
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_QT1070 is not set
+# CONFIG_KEYBOARD_QT2160 is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_TCA6416 is not set
+CONFIG_KEYBOARD_MAX7359=m
+# CONFIG_KEYBOARD_MCS is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+CONFIG_KEYBOARD_OPENCORES=m
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+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_TRACKPOINT=y
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_MOUSE_PS2_SENTELIC=y
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+CONFIG_MOUSE_SERIAL=m
+CONFIG_MOUSE_VSXXXAA=m
+CONFIG_MOUSE_SYNAPTICS_I2C=m
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_ANALOG=m
+CONFIG_JOYSTICK_A3D=m
+CONFIG_JOYSTICK_ADI=m
+CONFIG_JOYSTICK_COBRA=m
+CONFIG_JOYSTICK_GF2K=m
+CONFIG_JOYSTICK_GRIP=m
+CONFIG_JOYSTICK_GRIP_MP=m
+CONFIG_JOYSTICK_GUILLEMOT=m
+CONFIG_JOYSTICK_INTERACT=m
+CONFIG_JOYSTICK_SIDEWINDER=m
+CONFIG_JOYSTICK_TMDC=m
+CONFIG_JOYSTICK_IFORCE=m
+CONFIG_JOYSTICK_IFORCE_232=y
+CONFIG_JOYSTICK_WARRIOR=m
+CONFIG_JOYSTICK_MAGELLAN=m
+CONFIG_JOYSTICK_SPACEORB=m
+CONFIG_JOYSTICK_SPACEBALL=m
+CONFIG_JOYSTICK_STINGER=m
+CONFIG_JOYSTICK_TWIDJOY=m
+CONFIG_JOYSTICK_ZHENHUA=m
+# CONFIG_JOYSTICK_AS5011 is not set
+CONFIG_JOYSTICK_JOYDUMP=m
+CONFIG_INPUT_TABLET=y
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_AD7879=m
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
+# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set
+# CONFIG_TOUCHSCREEN_BU21013 is not set
+CONFIG_TOUCHSCREEN_DYNAPRO=m
+# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
+CONFIG_TOUCHSCREEN_EETI=m
+CONFIG_TOUCHSCREEN_FUJITSU=m
+CONFIG_TOUCHSCREEN_GUNZE=m
+CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_WACOM_W8001=m
+CONFIG_TOUCHSCREEN_MCS5000=m
+CONFIG_TOUCHSCREEN_MTOUCH=m
+CONFIG_TOUCHSCREEN_INEXIO=m
+CONFIG_TOUCHSCREEN_MK712=m
+CONFIG_TOUCHSCREEN_PENMOUNT=m
+CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
+CONFIG_TOUCHSCREEN_TOUCHWIN=m
+CONFIG_TOUCHSCREEN_TOUCHIT213=m
+CONFIG_TOUCHSCREEN_TSC2007=m
+# CONFIG_TOUCHSCREEN_ST1232 is not set
+# CONFIG_TOUCHSCREEN_TPS6507X is not set
+CONFIG_INPUT_MISC=y
+# CONFIG_INPUT_AD714X is not set
+CONFIG_INPUT_UINPUT=m
+# CONFIG_INPUT_PCF8574 is not set
+# CONFIG_INPUT_ADXL34X is not set
+# CONFIG_INPUT_CMA3000 is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=y
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=m
+# CONFIG_SERIO_XILINX_XPS_PS2 is not set
+CONFIG_SERIO_ALTERA_PS2=m
+# CONFIG_SERIO_PS2MULT is not set
+CONFIG_GAMEPORT=m
+CONFIG_GAMEPORT_NS558=m
+CONFIG_GAMEPORT_L4=m
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_SERIAL_NONSTANDARD=y
+CONFIG_N_HDLC=m
+# CONFIG_N_GSM is not set
+# CONFIG_DEVKMEM is not set
+# CONFIG_STALDRV is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=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_SHARE_IRQ=y
+CONFIG_SERIAL_8250_DETECT_IRQ=y
+CONFIG_SERIAL_8250_RSA=y
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_UARTLITE is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_OF_PLATFORM is not set
+# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
+# CONFIG_SERIAL_TIMBERDALE is not set
+# CONFIG_SERIAL_ALTERA_JTAGUART is not set
+# CONFIG_SERIAL_ALTERA_UART is not set
+# CONFIG_HVC_UDBG is not set
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_TIMERIOMEM=m
+CONFIG_NVRAM=y
+# CONFIG_GEN_RTC is not set
+CONFIG_R3964=m
+CONFIG_RAW_DRIVER=y
+CONFIG_MAX_RAW_DEVS=8192
+CONFIG_TCG_TPM=y
+CONFIG_TCG_TIS=y
+CONFIG_TCG_NSC=m
+CONFIG_TCG_ATMEL=m
+# CONFIG_RAMOOPS is not set
+CONFIG_I2C=m
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=m
+# CONFIG_I2C_MUX is not set
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_SMBUS=m
+CONFIG_I2C_ALGOBIT=m
+CONFIG_I2C_ALGOPCA=m
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_IBM_IIC is not set
+# CONFIG_I2C_MPC is not set
+# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_PCA_PLATFORM=m
+# CONFIG_I2C_PXA_PCI is not set
+CONFIG_I2C_SIMTEC=m
+# CONFIG_I2C_XILINX is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+CONFIG_I2C_PARPORT_LIGHT=m
+# CONFIG_I2C_TAOS_EVM is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+CONFIG_I2C_STUB=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_SPI is not set
+
+#
+# PPS support
+#
+CONFIG_PPS=m
+# CONFIG_PPS_DEBUG is not set
+# CONFIG_NTP_PPS is not set
+
+#
+# PPS clients support
+#
+# CONFIG_PPS_CLIENT_KTIMER is not set
+# CONFIG_PPS_CLIENT_LDISC is not set
+
+#
+# PPS generators support
+#
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+# CONFIG_GPIOLIB is not set
+# CONFIG_W1 is not set
+# CONFIG_POWER_SUPPLY is not set
+# CONFIG_HWMON is not set
+CONFIG_THERMAL=y
+# CONFIG_WATCHDOG is not set
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB=m
+# CONFIG_SSB_DEBUG is not set
+CONFIG_MFD_SUPPORT=y
+# CONFIG_MFD_CORE is not set
+# CONFIG_MFD_SM501 is not set
+# CONFIG_HTC_PASIC3 is not set
+# CONFIG_TPS6105X is not set
+# CONFIG_TPS6507X is not set
+# CONFIG_MFD_TMIO is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_PCF50633 is not set
+# CONFIG_ABX500_CORE is not set
+# CONFIG_MFD_WL1273_CORE is not set
+# CONFIG_REGULATOR is not set
+CONFIG_MEDIA_SUPPORT=m
+
+#
+# Multimedia core support
+#
+# CONFIG_MEDIA_CONTROLLER is not set
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_V4L2_COMMON=m
+CONFIG_VIDEO_MEDIA=m
+
+#
+# Multimedia drivers
+#
+CONFIG_RC_CORE=m
+CONFIG_LIRC=m
+CONFIG_RC_MAP=m
+CONFIG_IR_NEC_DECODER=m
+CONFIG_IR_RC5_DECODER=m
+CONFIG_IR_RC6_DECODER=m
+CONFIG_IR_JVC_DECODER=m
+CONFIG_IR_SONY_DECODER=m
+CONFIG_IR_RC5_SZ_DECODER=m
+CONFIG_IR_LIRC_CODEC=m
+# CONFIG_RC_LOOPBACK is not set
+CONFIG_MEDIA_ATTACH=y
+CONFIG_MEDIA_TUNER=m
+CONFIG_MEDIA_TUNER_CUSTOMISE=y
+
+#
+# Customize TV tuners
+#
+CONFIG_MEDIA_TUNER_SIMPLE=m
+CONFIG_MEDIA_TUNER_TDA8290=m
+CONFIG_MEDIA_TUNER_TDA827X=m
+CONFIG_MEDIA_TUNER_TDA18271=m
+CONFIG_MEDIA_TUNER_TDA9887=m
+CONFIG_MEDIA_TUNER_TEA5761=m
+CONFIG_MEDIA_TUNER_TEA5767=m
+CONFIG_MEDIA_TUNER_MT20XX=m
+CONFIG_MEDIA_TUNER_MT2060=m
+CONFIG_MEDIA_TUNER_MT2266=m
+CONFIG_MEDIA_TUNER_MT2131=m
+CONFIG_MEDIA_TUNER_QT1010=m
+CONFIG_MEDIA_TUNER_XC2028=m
+CONFIG_MEDIA_TUNER_XC5000=m
+CONFIG_MEDIA_TUNER_MXL5005S=m
+CONFIG_MEDIA_TUNER_MXL5007T=m
+CONFIG_MEDIA_TUNER_MC44S803=m
+CONFIG_MEDIA_TUNER_MAX2165=m
+CONFIG_MEDIA_TUNER_TDA18218=m
+CONFIG_VIDEO_V4L2=m
+CONFIG_VIDEOBUF_GEN=m
+CONFIG_VIDEOBUF2_CORE=m
+CONFIG_VIDEO_CAPTURE_DRIVERS=y
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
+CONFIG_VIDEO_IR_I2C=m
+
+#
+# Audio decoders
+#
+
+#
+# RDS decoders
+#
+
+#
+# Video decoders
+#
+
+#
+# Video and audio decoders
+#
+
+#
+# MPEG video encoders
+#
+
+#
+# Video encoders
+#
+
+#
+# Video improvement chips
+#
+# CONFIG_VIDEO_VIVI is not set
+# CONFIG_VIDEO_TIMBERDALE is not set
+# CONFIG_VIDEO_SR030PC30 is not set
+# CONFIG_VIDEO_NOON010PC30 is not set
+CONFIG_SOC_CAMERA=m
+# CONFIG_SOC_CAMERA_IMX074 is not set
+CONFIG_SOC_CAMERA_MT9M001=m
+CONFIG_SOC_CAMERA_MT9M111=m
+CONFIG_SOC_CAMERA_MT9T031=m
+CONFIG_SOC_CAMERA_MT9T112=m
+CONFIG_SOC_CAMERA_MT9V022=m
+CONFIG_SOC_CAMERA_RJ54N1=m
+CONFIG_SOC_CAMERA_TW9910=m
+CONFIG_SOC_CAMERA_PLATFORM=m
+# CONFIG_SOC_CAMERA_OV2640 is not set
+# CONFIG_SOC_CAMERA_OV6650 is not set
+CONFIG_SOC_CAMERA_OV772X=m
+CONFIG_SOC_CAMERA_OV9640=m
+# CONFIG_SOC_CAMERA_OV9740 is not set
+# CONFIG_V4L_MEM2MEM_DRIVERS is not set
+CONFIG_RADIO_ADAPTERS=y
+CONFIG_I2C_SI4713=m
+CONFIG_RADIO_SI4713=m
+CONFIG_RADIO_SI470X=y
+CONFIG_I2C_SI470X=m
+# CONFIG_RADIO_TEA5764 is not set
+# CONFIG_RADIO_SAA7706H is not set
+# CONFIG_RADIO_TEF6862 is not set
+# CONFIG_RADIO_WL1273 is not set
+
+#
+# Texas Instruments WL128x FM driver (ST based)
+#
+
+#
+# Graphics support
+#
+CONFIG_DRM=m
+CONFIG_VGASTATE=m
+CONFIG_VIDEO_OUTPUT_CONTROL=m
+CONFIG_FB=y
+# CONFIG_FIRMWARE_EDID is not set
+# CONFIG_FB_DDC is not set
+# CONFIG_FB_BOOT_VESA_SUPPORT is not set
+CONFIG_FB_CFB_FILLRECT=m
+CONFIG_FB_CFB_COPYAREA=m
+CONFIG_FB_CFB_IMAGEBLIT=m
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+CONFIG_FB_SYS_FILLRECT=m
+CONFIG_FB_SYS_COPYAREA=m
+CONFIG_FB_SYS_IMAGEBLIT=m
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_SYS_FOPS=m
+# CONFIG_FB_WMT_GE_ROPS is not set
+CONFIG_FB_DEFERRED_IO=y
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_OF is not set
+CONFIG_FB_VGA16=m
+# CONFIG_FB_UVESA is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_IBM_GXT4500 is not set
+CONFIG_FB_VIRTUAL=m
+CONFIG_FB_METRONOME=m
+CONFIG_FB_MB862XX=m
+# CONFIG_FB_MB862XX_LIME is not set
+# CONFIG_FB_BROADSHEET is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=m
+CONFIG_LCD_PLATFORM=m
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+# CONFIG_BACKLIGHT_GENERIC is not set
+# CONFIG_BACKLIGHT_ADP8860 is not set
+
+#
+# Display device support
+#
+CONFIG_DISPLAY_SUPPORT=m
+
+#
+# Display hardware drivers
+#
+
+#
+# Console display driver support
+#
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
+CONFIG_SOUND=m
+CONFIG_SOUND_OSS_CORE=y
+CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_RAWMIDI=m
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_DYNAMIC_MINORS=y
+# CONFIG_SND_SUPPORT_OLD_API is not set
+CONFIG_SND_VERBOSE_PROCFS=y
+CONFIG_SND_VERBOSE_PRINTK=y
+CONFIG_SND_DEBUG=y
+# CONFIG_SND_DEBUG_VERBOSE is not set
+CONFIG_SND_PCM_XRUN_DEBUG=y
+CONFIG_SND_RAWMIDI_SEQ=m
+# CONFIG_SND_OPL3_LIB_SEQ is not set
+# CONFIG_SND_OPL4_LIB_SEQ is not set
+# CONFIG_SND_SBAWE_SEQ is not set
+# CONFIG_SND_EMU10K1_SEQ is not set
+CONFIG_SND_MPU401_UART=m
+CONFIG_SND_DRIVERS=y
+CONFIG_SND_DUMMY=m
+# CONFIG_SND_ALOOP is not set
+CONFIG_SND_VIRMIDI=m
+CONFIG_SND_MTPAV=m
+CONFIG_SND_SERIAL_U16550=m
+CONFIG_SND_MPU401=m
+CONFIG_SND_PPC=y
+# CONFIG_SND_SOC is not set
+# CONFIG_SOUND_PRIME is not set
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=y
+CONFIG_HIDRAW=y
+CONFIG_HID_PID=y
+
+#
+# Special HID drivers
+#
+# CONFIG_USB_SUPPORT is not set
+# CONFIG_MMC is not set
+# CONFIG_MEMSTICK is not set
+# CONFIG_NEW_LEDS is not set
+# CONFIG_NFC_DEVICES is not set
+# CONFIG_ACCESSIBILITY 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
+# CONFIG_STAGING is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_EXT4_FS is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_BTRFS_FS is not set
+# CONFIG_NILFS2_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+# CONFIG_INOTIFY_USER is not set
+# CONFIG_FANOTIFY is not set
+# CONFIG_QUOTA is not set
+# CONFIG_QUOTACTL is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# Caches
+#
+# CONFIG_FSCACHE is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+# CONFIG_MSDOS_FS is not set
+# CONFIG_VFAT_FS is not set
+# 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 is not set
+# CONFIG_HUGETLB_PAGE is not set
+# CONFIG_CONFIGFS_FS is not set
+# CONFIG_MISC_FILESYSTEMS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_NLS is not set
+CONFIG_BINARY_PRINTF=y
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
+# CONFIG_CRC_T10DIF is not set
+# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC32=y
+# CONFIG_CRC7 is not set
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_XZ_DEC=y
+CONFIG_XZ_DEC_X86=y
+CONFIG_XZ_DEC_POWERPC=y
+CONFIG_XZ_DEC_IA64=y
+CONFIG_XZ_DEC_ARM=y
+CONFIG_XZ_DEC_ARMTHUMB=y
+CONFIG_XZ_DEC_SPARC=y
+CONFIG_XZ_DEC_BCJ=y
+# CONFIG_XZ_DEC_TEST is not set
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_XZ=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_NLATTR=y
+CONFIG_GENERIC_ATOMIC64=y
+CONFIG_AVERAGE=y
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_DEFAULT_MESSAGE_LOGLEVEL=7
+# CONFIG_ENABLE_WARN_DEPRECATED is not set
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=1024
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_STRIP_ASM_SYMS is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+# CONFIG_LOCKUP_DETECTOR is not set
+# CONFIG_HARDLOCKUP_DETECTOR is not set
+# CONFIG_DETECT_HUNG_TASK is not set
+CONFIG_SCHED_DEBUG=y
+CONFIG_SCHEDSTATS=y
+# CONFIG_TIMER_STATS is not set
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS 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_SPARSE_RCU_POINTER 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_BUGVERBOSE=y
+CONFIG_DEBUG_INFO=y
+# CONFIG_DEBUG_INFO_REDUCED is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_TEST_LIST_SORT is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+# CONFIG_LKDTM is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+# CONFIG_SYSCTL_SYSCALL_CHECK is not set
+CONFIG_DEBUG_PAGEALLOC=y
+CONFIG_NOP_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_TRACER_MAX_TRACE=y
+CONFIG_RING_BUFFER=y
+CONFIG_EVENT_TRACING=y
+# CONFIG_EVENT_POWER_TRACING_DEPRECATED is not set
+CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_TRACING=y
+CONFIG_GENERIC_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
+CONFIG_FUNCTION_TRACER=y
+CONFIG_FUNCTION_GRAPH_TRACER=y
+# CONFIG_IRQSOFF_TRACER is not set
+CONFIG_SCHED_TRACER=y
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+# CONFIG_STACK_TRACER is not set
+CONFIG_BLK_DEV_IO_TRACE=y
+CONFIG_DYNAMIC_FTRACE=y
+# CONFIG_FUNCTION_PROFILER is not set
+CONFIG_FTRACE_MCOUNT_RECORD=y
+# CONFIG_FTRACE_STARTUP_TEST is not set
+CONFIG_RING_BUFFER_BENCHMARK=m
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DMA_API_DEBUG is not set
+# CONFIG_ATOMIC64_SELFTEST is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+# CONFIG_TEST_KSTRTOX is not set
+CONFIG_PPC_DISABLE_WERROR=y
+CONFIG_PRINT_STACK_DEPTH=64
+# CONFIG_DEBUG_STACKOVERFLOW is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_PPC_EMULATED_STATS is not set
+# CONFIG_CODE_PATCHING_SELFTEST is not set
+# CONFIG_FTR_FIXUP_SELFTEST is not set
+# CONFIG_MSI_BITMAP_SELFTEST is not set
+# CONFIG_XMON is not set
+# CONFIG_VIRQ_DEBUG is not set
+# CONFIG_BDI_SWITCH is not set
+# CONFIG_PPC_EARLY_DEBUG is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
+# CONFIG_SECURITY is not set
+CONFIG_SECURITYFS=y
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_CRYPTO=m
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=m
+CONFIG_CRYPTO_ALGAPI2=m
+CONFIG_CRYPTO_AEAD2=m
+CONFIG_CRYPTO_BLKCIPHER=m
+CONFIG_CRYPTO_BLKCIPHER2=m
+CONFIG_CRYPTO_HASH2=m
+CONFIG_CRYPTO_RNG2=m
+CONFIG_CRYPTO_PCOMP2=m
+CONFIG_CRYPTO_MANAGER=m
+CONFIG_CRYPTO_MANAGER2=m
+# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
+CONFIG_CRYPTO_GF128MUL=m
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_WORKQUEUE=m
+# CONFIG_CRYPTO_CRYPTD is not set
+# CONFIG_CRYPTO_AUTHENC is not set
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Authenticated Encryption with Associated Data
+#
+# CONFIG_CRYPTO_CCM is not set
+# CONFIG_CRYPTO_GCM is not set
+# CONFIG_CRYPTO_SEQIV is not set
+
+#
+# Block modes
+#
+# CONFIG_CRYPTO_CBC is not set
+# CONFIG_CRYPTO_CTR is not set
+# CONFIG_CRYPTO_CTS is not set
+CONFIG_CRYPTO_ECB=m
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_PCBC is not set
+# CONFIG_CRYPTO_XTS is not set
+
+#
+# Hash modes
+#
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_VMAC is not set
+
+#
+# Digest
+#
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_GHASH is not set
+# CONFIG_CRYPTO_MD4 is not set
+# CONFIG_CRYPTO_MD5 is not set
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# 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 is not set
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_WP512 is not set
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=m
+# CONFIG_CRYPTO_ANUBIS is not set
+CONFIG_CRYPTO_ARC4=m
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_DES is not set
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_SEED is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+
+#
+# Compression
+#
+# CONFIG_CRYPTO_DEFLATE is not set
+# CONFIG_CRYPTO_ZLIB is not set
+# CONFIG_CRYPTO_LZO is not set
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_USER_API_HASH is not set
+# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
+# CONFIG_CRYPTO_HW is not set
+# CONFIG_PPC_CLOCK is not set
+# CONFIG_VIRTUALIZATION is not set
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/configs/44x/invader_defconfig_no_tpm ../linux-2.6.39.4/arch/powerpc/configs/44x/invader_defconfig_no_tpm
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/configs/44x/invader_defconfig_no_tpm	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/configs/44x/invader_defconfig_no_tpm	2011-10-25 13:31:47.948115218 +0530
@@ -0,0 +1,1158 @@
+#
+# Automatically generated make config: don't edit
+# Linux/powerpc 2.6.39.4 Kernel Configuration
+# Tue Oct 25 13:30:03 2011
+#
+# CONFIG_PPC64 is not set
+
+#
+# Processor support
+#
+# CONFIG_PPC_BOOK3S_32 is not set
+# CONFIG_PPC_85xx is not set
+# CONFIG_PPC_8xx is not set
+# CONFIG_40x is not set
+CONFIG_44x=y
+# CONFIG_E200 is not set
+CONFIG_4xx=y
+CONFIG_BOOKE=y
+CONFIG_PTE_64BIT=y
+CONFIG_PHYS_64BIT=y
+CONFIG_PPC_MMU_NOHASH=y
+CONFIG_PPC_MMU_NOHASH_32=y
+# CONFIG_PPC_MM_SLICES is not set
+# CONFIG_SMP is not set
+# CONFIG_NOT_COHERENT_CACHE is not set
+CONFIG_PPC32=y
+CONFIG_32BIT=y
+CONFIG_WORD_SIZE=32
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_MMU=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
+CONFIG_NR_IRQS=512
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_ARCH_HAS_ILOG2_U32=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+CONFIG_GENERIC_FIND_BIT_LE=y
+# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
+CONFIG_PPC=y
+CONFIG_EARLY_PRINTK=y
+CONFIG_GENERIC_NVRAM=y
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_PPC_OF=y
+CONFIG_PPC_UDBG_16550=y
+# CONFIG_GENERIC_TBSYNC is not set
+CONFIG_AUDIT_ARCH=y
+CONFIG_GENERIC_BUG=y
+# CONFIG_DEFAULT_UIMAGE is not set
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_PPC_DCR_NATIVE=y
+# CONFIG_PPC_DCR_MMIO is not set
+CONFIG_PPC_DCR=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_PPC_ADV_DEBUG_REGS=y
+CONFIG_PPC_ADV_DEBUG_IACS=4
+CONFIG_PPC_ADV_DEBUG_DACS=2
+CONFIG_PPC_ADV_DEBUG_DVCS=2
+CONFIG_PPC_ADV_DEBUG_DAC_RANGE=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_CONSTRUCTORS=y
+CONFIG_HAVE_IRQ_WORK=y
+CONFIG_IRQ_WORK=y
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_CROSS_COMPILE=""
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_FHANDLE is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_AUDIT is not set
+CONFIG_HAVE_GENERIC_HARDIRQS=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_HAVE_SPARSE_IRQ=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
+# CONFIG_SPARSE_IRQ is not set
+
+#
+# RCU Subsystem
+#
+CONFIG_TINY_RCU=y
+# CONFIG_PREEMPT_RCU is not set
+# CONFIG_RCU_TRACE is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=17
+# CONFIG_CGROUPS is not set
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+# CONFIG_SCHED_AUTOGROUP is not set
+CONFIG_SYSFS_DEPRECATED=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_XZ=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+# CONFIG_EXPERT is not set
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_KALLSYMS_EXTRA_PASS=y
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=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_EMBEDDED is not set
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+CONFIG_PERF_COUNTERS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLUB_DEBUG=y
+CONFIG_COMPAT_BRK=y
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+# CONFIG_PROFILING is not set
+CONFIG_TRACEPOINTS=y
+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_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+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_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+# CONFIG_INLINE_SPIN_TRYLOCK is not set
+# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK is not set
+# CONFIG_INLINE_SPIN_LOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
+CONFIG_INLINE_SPIN_UNLOCK=y
+# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
+CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
+# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_READ_TRYLOCK is not set
+# CONFIG_INLINE_READ_LOCK is not set
+# CONFIG_INLINE_READ_LOCK_BH is not set
+# CONFIG_INLINE_READ_LOCK_IRQ is not set
+# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
+CONFIG_INLINE_READ_UNLOCK=y
+# CONFIG_INLINE_READ_UNLOCK_BH is not set
+CONFIG_INLINE_READ_UNLOCK_IRQ=y
+# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_WRITE_TRYLOCK is not set
+# CONFIG_INLINE_WRITE_LOCK is not set
+# CONFIG_INLINE_WRITE_LOCK_BH is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
+CONFIG_INLINE_WRITE_UNLOCK=y
+# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
+CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
+# CONFIG_MUTEX_SPIN_ON_OWNER is not set
+# CONFIG_FREEZER is not set
+
+#
+# Platform support
+#
+# CONFIG_PPC_CELL is not set
+# CONFIG_PPC_CELL_NATIVE is not set
+# CONFIG_PQ2ADS is not set
+CONFIG_PPC_47x=y
+# CONFIG_BAMBOO is not set
+# CONFIG_BLUESTONE is not set
+# CONFIG_EBONY is not set
+# CONFIG_SAM440EP is not set
+# CONFIG_SEQUOIA is not set
+# CONFIG_TAISHAN is not set
+# CONFIG_KATMAI is not set
+# CONFIG_RAINIER is not set
+# CONFIG_WARP is not set
+# CONFIG_ARCHES is not set
+# CONFIG_CANYONLANDS is not set
+# CONFIG_GLACIER is not set
+# CONFIG_REDWOOD is not set
+# CONFIG_EIGER is not set
+# CONFIG_YOSEMITE is not set
+# CONFIG_ISS4xx is not set
+# CONFIG_ICON is not set
+# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set
+CONFIG_PPC44x_SIMPLE=y
+# CONFIG_PPC4xx_GPIO is not set
+CONFIG_INVADER=y
+CONFIG_KVM_GUEST=y
+# CONFIG_IPIC is not set
+CONFIG_MPIC=y
+# CONFIG_MPIC_WEIRD is not set
+# CONFIG_PPC_I8259 is not set
+# CONFIG_PPC_RTAS is not set
+# CONFIG_MMIO_NVRAM is not set
+# CONFIG_MPIC_U3_HT_IRQS is not set
+# CONFIG_PPC_MPC106 is not set
+# CONFIG_PPC_970_NAP is not set
+# CONFIG_PPC_INDIRECT_IO is not set
+# CONFIG_GENERIC_IOMAP is not set
+# CONFIG_CPU_FREQ is not set
+# CONFIG_FSL_ULI1575 is not set
+# CONFIG_SIMPLE_GPIO is not set
+
+#
+# Kernel options
+#
+# CONFIG_HIGHMEM is not set
+# CONFIG_NO_HZ is not set
+# CONFIG_HIGH_RES_TIMERS is not set
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_250 is not set
+# CONFIG_HZ_300 is not set
+CONFIG_HZ_1000=y
+CONFIG_HZ=1000
+# CONFIG_SCHED_HRTICK is not set
+# CONFIG_PREEMPT_NONE is not set
+CONFIG_PREEMPT_VOLUNTARY=y
+# CONFIG_PREEMPT is not set
+CONFIG_BINFMT_ELF=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+# CONFIG_HAVE_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_MATH_EMULATION is not set
+# CONFIG_IOMMU_HELPER is not set
+# CONFIG_SWIOTLB is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_ARCH_HAS_WALK_MEMORY=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
+CONFIG_MAX_ACTIVE_REGIONS=32
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_HAVE_MEMBLOCK=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+# CONFIG_COMPACTION is not set
+CONFIG_MIGRATION=y
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+# CONFIG_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_NEED_PER_CPU_KM=y
+CONFIG_STDBINUTILS=y
+CONFIG_PPC_4K_PAGES=y
+# CONFIG_PPC_16K_PAGES is not set
+# CONFIG_PPC_64K_PAGES is not set
+CONFIG_FORCE_MAX_ZONEORDER=11
+CONFIG_CMDLINE_BOOL=y
+CONFIG_CMDLINE=""
+CONFIG_EXTRA_TARGETS=""
+# CONFIG_SUSPEND is not set
+# CONFIG_HIBERNATION is not set
+# CONFIG_PM_RUNTIME is not set
+# CONFIG_SECCOMP is not set
+CONFIG_ISA_DMA_API=y
+
+#
+# Bus options
+#
+CONFIG_ZONE_DMA=y
+# CONFIG_NEED_DMA_MAP_STATE is not set
+CONFIG_NEED_SG_DMA_LENGTH=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_4xx_SOC=y
+CONFIG_PPC_PCI_CHOICE=y
+# CONFIG_PCI is not set
+# CONFIG_PCI_DOMAINS is not set
+# CONFIG_PCI_SYSCALL is not set
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+# CONFIG_PCCARD is not set
+# CONFIG_HAS_RAPIDIO is not set
+
+#
+# Advanced setup
+#
+CONFIG_ADVANCED_OPTIONS=y
+# CONFIG_LOWMEM_SIZE_BOOL is not set
+CONFIG_LOWMEM_SIZE=0x30000000
+CONFIG_PAGE_OFFSET_BOOL=y
+CONFIG_PAGE_OFFSET=0x70000000
+CONFIG_KERNEL_START_BOOL=y
+CONFIG_KERNEL_START=0x70000000
+CONFIG_PHYSICAL_START=0x00000000
+CONFIG_TASK_SIZE_BOOL=y
+CONFIG_TASK_SIZE=0x70000000
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+# CONFIG_INET is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# 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_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
+# CONFIG_BATMAN_ADV is not set
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=m
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_WIRELESS is not set
+# CONFIG_WIMAX is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+# CONFIG_CAIF is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_FIRMWARE_IN_KERNEL is not set
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+CONFIG_CONNECTOR=m
+# CONFIG_MTD is not set
+CONFIG_DTC=y
+CONFIG_OF=y
+
+#
+# Device Tree and Open Firmware support
+#
+# CONFIG_PROC_DEVICETREE is not set
+CONFIG_OF_FLATTREE=y
+CONFIG_OF_EARLY_FLATTREE=y
+CONFIG_OF_DYNAMIC=y
+CONFIG_OF_ADDRESS=y
+CONFIG_OF_IRQ=y
+CONFIG_OF_DEVICE=y
+CONFIG_OF_I2C=m
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_FD is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+# CONFIG_BLK_DEV_LOOP is not set
+
+#
+# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
+#
+# CONFIG_BLK_DEV_NBD is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=35000
+# CONFIG_BLK_DEV_XIP is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_XILINX_SYSACE is not set
+# CONFIG_BLK_DEV_HD is not set
+# CONFIG_SENSORS_LIS3LV02D is not set
+# CONFIG_MISC_DEVICES is not set
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+# CONFIG_SCSI_TGT is not set
+CONFIG_SCSI_NETLINK=y
+# CONFIG_SCSI_PROC_FS is not set
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+# CONFIG_BLK_DEV_SD is not set
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_CHR_DEV_SCH is not set
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+CONFIG_SCSI_SPI_ATTRS=m
+CONFIG_SCSI_FC_ATTRS=m
+CONFIG_SCSI_ISCSI_ATTRS=m
+CONFIG_SCSI_SAS_ATTRS=m
+CONFIG_SCSI_SAS_LIBSAS=m
+CONFIG_SCSI_SAS_HOST_SMP=y
+CONFIG_SCSI_SRP_ATTRS=m
+# CONFIG_SCSI_LOWLEVEL 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_TARGET_CORE is not set
+# CONFIG_MACINTOSH_DRIVERS is not set
+# CONFIG_NETDEVICES is not set
+# CONFIG_ISDN is not set
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_FF_MEMLESS=y
+CONFIG_INPUT_POLLDEV=m
+CONFIG_INPUT_SPARSEKMAP=m
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ADP5588=m
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_QT1070 is not set
+# CONFIG_KEYBOARD_QT2160 is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_TCA6416 is not set
+CONFIG_KEYBOARD_MAX7359=m
+# CONFIG_KEYBOARD_MCS is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+CONFIG_KEYBOARD_OPENCORES=m
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+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_TRACKPOINT=y
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_MOUSE_PS2_SENTELIC=y
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+CONFIG_MOUSE_SERIAL=m
+CONFIG_MOUSE_VSXXXAA=m
+CONFIG_MOUSE_SYNAPTICS_I2C=m
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_ANALOG=m
+CONFIG_JOYSTICK_A3D=m
+CONFIG_JOYSTICK_ADI=m
+CONFIG_JOYSTICK_COBRA=m
+CONFIG_JOYSTICK_GF2K=m
+CONFIG_JOYSTICK_GRIP=m
+CONFIG_JOYSTICK_GRIP_MP=m
+CONFIG_JOYSTICK_GUILLEMOT=m
+CONFIG_JOYSTICK_INTERACT=m
+CONFIG_JOYSTICK_SIDEWINDER=m
+CONFIG_JOYSTICK_TMDC=m
+CONFIG_JOYSTICK_IFORCE=m
+CONFIG_JOYSTICK_IFORCE_232=y
+CONFIG_JOYSTICK_WARRIOR=m
+CONFIG_JOYSTICK_MAGELLAN=m
+CONFIG_JOYSTICK_SPACEORB=m
+CONFIG_JOYSTICK_SPACEBALL=m
+CONFIG_JOYSTICK_STINGER=m
+CONFIG_JOYSTICK_TWIDJOY=m
+CONFIG_JOYSTICK_ZHENHUA=m
+# CONFIG_JOYSTICK_AS5011 is not set
+CONFIG_JOYSTICK_JOYDUMP=m
+CONFIG_INPUT_TABLET=y
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_AD7879=m
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
+# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set
+# CONFIG_TOUCHSCREEN_BU21013 is not set
+CONFIG_TOUCHSCREEN_DYNAPRO=m
+# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
+CONFIG_TOUCHSCREEN_EETI=m
+CONFIG_TOUCHSCREEN_FUJITSU=m
+CONFIG_TOUCHSCREEN_GUNZE=m
+CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_WACOM_W8001=m
+CONFIG_TOUCHSCREEN_MCS5000=m
+CONFIG_TOUCHSCREEN_MTOUCH=m
+CONFIG_TOUCHSCREEN_INEXIO=m
+CONFIG_TOUCHSCREEN_MK712=m
+CONFIG_TOUCHSCREEN_PENMOUNT=m
+CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
+CONFIG_TOUCHSCREEN_TOUCHWIN=m
+CONFIG_TOUCHSCREEN_TOUCHIT213=m
+CONFIG_TOUCHSCREEN_TSC2007=m
+# CONFIG_TOUCHSCREEN_ST1232 is not set
+# CONFIG_TOUCHSCREEN_TPS6507X is not set
+CONFIG_INPUT_MISC=y
+# CONFIG_INPUT_AD714X is not set
+CONFIG_INPUT_UINPUT=m
+# CONFIG_INPUT_PCF8574 is not set
+# CONFIG_INPUT_ADXL34X is not set
+# CONFIG_INPUT_CMA3000 is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=y
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=m
+# CONFIG_SERIO_XILINX_XPS_PS2 is not set
+CONFIG_SERIO_ALTERA_PS2=m
+# CONFIG_SERIO_PS2MULT is not set
+CONFIG_GAMEPORT=m
+CONFIG_GAMEPORT_NS558=m
+CONFIG_GAMEPORT_L4=m
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_SERIAL_NONSTANDARD=y
+CONFIG_N_HDLC=m
+# CONFIG_N_GSM is not set
+# CONFIG_DEVKMEM is not set
+# CONFIG_STALDRV is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=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_SHARE_IRQ=y
+CONFIG_SERIAL_8250_DETECT_IRQ=y
+CONFIG_SERIAL_8250_RSA=y
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_UARTLITE is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_OF_PLATFORM is not set
+# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
+# CONFIG_SERIAL_TIMBERDALE is not set
+# CONFIG_SERIAL_ALTERA_JTAGUART is not set
+# CONFIG_SERIAL_ALTERA_UART is not set
+# CONFIG_HVC_UDBG is not set
+# CONFIG_IPMI_HANDLER is not set
+# CONFIG_HW_RANDOM is not set
+# CONFIG_NVRAM is not set
+# CONFIG_GEN_RTC is not set
+# CONFIG_R3964 is not set
+# CONFIG_RAW_DRIVER is not set
+# CONFIG_TCG_TPM is not set
+# CONFIG_RAMOOPS is not set
+CONFIG_I2C=m
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=m
+# CONFIG_I2C_MUX is not set
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_SMBUS=m
+CONFIG_I2C_ALGOBIT=m
+CONFIG_I2C_ALGOPCA=m
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_IBM_IIC is not set
+# CONFIG_I2C_MPC is not set
+# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_PCA_PLATFORM=m
+# CONFIG_I2C_PXA_PCI is not set
+CONFIG_I2C_SIMTEC=m
+# CONFIG_I2C_XILINX is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+CONFIG_I2C_PARPORT_LIGHT=m
+# CONFIG_I2C_TAOS_EVM is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+CONFIG_I2C_STUB=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_SPI is not set
+
+#
+# PPS support
+#
+CONFIG_PPS=m
+# CONFIG_PPS_DEBUG is not set
+# CONFIG_NTP_PPS is not set
+
+#
+# PPS clients support
+#
+# CONFIG_PPS_CLIENT_KTIMER is not set
+# CONFIG_PPS_CLIENT_LDISC is not set
+
+#
+# PPS generators support
+#
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+# CONFIG_GPIOLIB is not set
+# CONFIG_W1 is not set
+# CONFIG_POWER_SUPPLY is not set
+# CONFIG_HWMON is not set
+CONFIG_THERMAL=y
+# CONFIG_WATCHDOG is not set
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB=m
+# CONFIG_SSB_DEBUG is not set
+# CONFIG_MFD_SUPPORT is not set
+# CONFIG_REGULATOR is not set
+# CONFIG_MEDIA_SUPPORT is not set
+
+#
+# Graphics support
+#
+CONFIG_DRM=m
+CONFIG_VGASTATE=m
+CONFIG_VIDEO_OUTPUT_CONTROL=m
+CONFIG_FB=y
+# CONFIG_FIRMWARE_EDID is not set
+# CONFIG_FB_DDC is not set
+# CONFIG_FB_BOOT_VESA_SUPPORT is not set
+CONFIG_FB_CFB_FILLRECT=m
+CONFIG_FB_CFB_COPYAREA=m
+CONFIG_FB_CFB_IMAGEBLIT=m
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+CONFIG_FB_SYS_FILLRECT=m
+CONFIG_FB_SYS_COPYAREA=m
+CONFIG_FB_SYS_IMAGEBLIT=m
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_SYS_FOPS=m
+# CONFIG_FB_WMT_GE_ROPS is not set
+CONFIG_FB_DEFERRED_IO=y
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_OF is not set
+CONFIG_FB_VGA16=m
+# CONFIG_FB_UVESA is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_IBM_GXT4500 is not set
+CONFIG_FB_VIRTUAL=m
+CONFIG_FB_METRONOME=m
+CONFIG_FB_MB862XX=m
+# CONFIG_FB_MB862XX_LIME is not set
+# CONFIG_FB_BROADSHEET is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=m
+CONFIG_LCD_PLATFORM=m
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+# CONFIG_BACKLIGHT_GENERIC is not set
+# CONFIG_BACKLIGHT_ADP8860 is not set
+
+#
+# Display device support
+#
+CONFIG_DISPLAY_SUPPORT=m
+
+#
+# Display hardware drivers
+#
+
+#
+# Console display driver support
+#
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
+# CONFIG_SOUND is not set
+# CONFIG_HID_SUPPORT is not set
+# CONFIG_USB_SUPPORT is not set
+# CONFIG_MMC is not set
+# CONFIG_MEMSTICK is not set
+# CONFIG_NEW_LEDS is not set
+# CONFIG_NFC_DEVICES is not set
+# CONFIG_ACCESSIBILITY 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
+# CONFIG_STAGING is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_EXT4_FS is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_BTRFS_FS is not set
+# CONFIG_NILFS2_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+# CONFIG_INOTIFY_USER is not set
+# CONFIG_FANOTIFY is not set
+# CONFIG_QUOTA is not set
+# CONFIG_QUOTACTL is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# Caches
+#
+# CONFIG_FSCACHE is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+# CONFIG_MSDOS_FS is not set
+# CONFIG_VFAT_FS is not set
+# 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 is not set
+# CONFIG_HUGETLB_PAGE is not set
+# CONFIG_CONFIGFS_FS is not set
+# CONFIG_MISC_FILESYSTEMS is not set
+# CONFIG_NETWORK_FILESYSTEMS is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_NLS is not set
+CONFIG_BINARY_PRINTF=y
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
+# CONFIG_CRC_T10DIF is not set
+# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC32=y
+# CONFIG_CRC7 is not set
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_XZ_DEC=y
+CONFIG_XZ_DEC_X86=y
+CONFIG_XZ_DEC_POWERPC=y
+CONFIG_XZ_DEC_IA64=y
+CONFIG_XZ_DEC_ARM=y
+CONFIG_XZ_DEC_ARMTHUMB=y
+CONFIG_XZ_DEC_SPARC=y
+CONFIG_XZ_DEC_BCJ=y
+# CONFIG_XZ_DEC_TEST is not set
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_XZ=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_NLATTR=y
+CONFIG_GENERIC_ATOMIC64=y
+CONFIG_AVERAGE=y
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_DEFAULT_MESSAGE_LOGLEVEL=7
+# CONFIG_ENABLE_WARN_DEPRECATED is not set
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=1024
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_STRIP_ASM_SYMS is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+# CONFIG_LOCKUP_DETECTOR is not set
+# CONFIG_HARDLOCKUP_DETECTOR is not set
+# CONFIG_DETECT_HUNG_TASK is not set
+CONFIG_SCHED_DEBUG=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_TIMER_STATS is not set
+# CONFIG_DEBUG_OBJECTS is not set
+CONFIG_SLUB_DEBUG_ON=y
+# CONFIG_SLUB_STATS 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_SPARSE_RCU_POINTER 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_BUGVERBOSE=y
+CONFIG_DEBUG_INFO=y
+# CONFIG_DEBUG_INFO_REDUCED is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_TEST_LIST_SORT is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+# CONFIG_LKDTM is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+# CONFIG_SYSCTL_SYSCALL_CHECK is not set
+# CONFIG_DEBUG_PAGEALLOC is not set
+CONFIG_NOP_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_TRACER_MAX_TRACE=y
+CONFIG_RING_BUFFER=y
+CONFIG_EVENT_TRACING=y
+# CONFIG_EVENT_POWER_TRACING_DEPRECATED is not set
+CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_TRACING=y
+CONFIG_GENERIC_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
+CONFIG_FUNCTION_TRACER=y
+CONFIG_FUNCTION_GRAPH_TRACER=y
+# CONFIG_IRQSOFF_TRACER is not set
+CONFIG_SCHED_TRACER=y
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+# CONFIG_STACK_TRACER is not set
+CONFIG_BLK_DEV_IO_TRACE=y
+CONFIG_DYNAMIC_FTRACE=y
+# CONFIG_FUNCTION_PROFILER is not set
+CONFIG_FTRACE_MCOUNT_RECORD=y
+# CONFIG_FTRACE_STARTUP_TEST is not set
+CONFIG_RING_BUFFER_BENCHMARK=m
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DMA_API_DEBUG is not set
+# CONFIG_ATOMIC64_SELFTEST is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+# CONFIG_TEST_KSTRTOX is not set
+CONFIG_PPC_DISABLE_WERROR=y
+CONFIG_PRINT_STACK_DEPTH=64
+CONFIG_DEBUG_STACKOVERFLOW=y
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_PPC_EMULATED_STATS is not set
+# CONFIG_CODE_PATCHING_SELFTEST is not set
+# CONFIG_FTR_FIXUP_SELFTEST is not set
+# CONFIG_MSI_BITMAP_SELFTEST is not set
+# CONFIG_XMON is not set
+# CONFIG_VIRQ_DEBUG is not set
+# CONFIG_BDI_SWITCH is not set
+# CONFIG_PPC_EARLY_DEBUG is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
+# CONFIG_SECURITY is not set
+CONFIG_SECURITYFS=y
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_CRYPTO=m
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=m
+CONFIG_CRYPTO_ALGAPI2=m
+CONFIG_CRYPTO_AEAD2=m
+CONFIG_CRYPTO_BLKCIPHER=m
+CONFIG_CRYPTO_BLKCIPHER2=m
+CONFIG_CRYPTO_HASH2=m
+CONFIG_CRYPTO_RNG2=m
+CONFIG_CRYPTO_PCOMP2=m
+CONFIG_CRYPTO_MANAGER=m
+CONFIG_CRYPTO_MANAGER2=m
+# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
+CONFIG_CRYPTO_GF128MUL=m
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_WORKQUEUE=m
+# CONFIG_CRYPTO_CRYPTD is not set
+# CONFIG_CRYPTO_AUTHENC is not set
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Authenticated Encryption with Associated Data
+#
+# CONFIG_CRYPTO_CCM is not set
+# CONFIG_CRYPTO_GCM is not set
+# CONFIG_CRYPTO_SEQIV is not set
+
+#
+# Block modes
+#
+# CONFIG_CRYPTO_CBC is not set
+# CONFIG_CRYPTO_CTR is not set
+# CONFIG_CRYPTO_CTS is not set
+CONFIG_CRYPTO_ECB=m
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_PCBC is not set
+# CONFIG_CRYPTO_XTS is not set
+
+#
+# Hash modes
+#
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_VMAC is not set
+
+#
+# Digest
+#
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_GHASH is not set
+# CONFIG_CRYPTO_MD4 is not set
+# CONFIG_CRYPTO_MD5 is not set
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# 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 is not set
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_WP512 is not set
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=m
+# CONFIG_CRYPTO_ANUBIS is not set
+CONFIG_CRYPTO_ARC4=m
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_DES is not set
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_SEED is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+
+#
+# Compression
+#
+# CONFIG_CRYPTO_DEFLATE is not set
+# CONFIG_CRYPTO_ZLIB is not set
+# CONFIG_CRYPTO_LZO is not set
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_USER_API_HASH is not set
+# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
+# CONFIG_CRYPTO_HW is not set
+# CONFIG_PPC_CLOCK is not set
+# CONFIG_VIRTUALIZATION is not set
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/configs/44x/invader_defconfig.old ../linux-2.6.39.4/arch/powerpc/configs/44x/invader_defconfig.old
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/configs/44x/invader_defconfig.old	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/configs/44x/invader_defconfig.old	2011-10-22 06:38:25.667143741 +0530
@@ -0,0 +1,1405 @@
+#
+# Automatically generated make config: don't edit
+# Linux/powerpc 2.6.39.4 Kernel Configuration
+# Wed Sep 21 17:14:10 2011
+#
+# CONFIG_PPC64 is not set
+
+#
+# Processor support
+#
+# CONFIG_PPC_BOOK3S_32 is not set
+# CONFIG_PPC_85xx is not set
+# CONFIG_PPC_8xx is not set
+# CONFIG_40x is not set
+CONFIG_44x=y
+# CONFIG_E200 is not set
+CONFIG_4xx=y
+CONFIG_BOOKE=y
+CONFIG_PTE_64BIT=y
+CONFIG_PHYS_64BIT=y
+CONFIG_PPC_MMU_NOHASH=y
+CONFIG_PPC_MMU_NOHASH_32=y
+# CONFIG_PPC_MM_SLICES is not set
+# CONFIG_SMP is not set
+# CONFIG_NOT_COHERENT_CACHE is not set
+CONFIG_PPC32=y
+CONFIG_32BIT=y
+CONFIG_WORD_SIZE=32
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_MMU=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
+CONFIG_NR_IRQS=512
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_ARCH_HAS_ILOG2_U32=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+CONFIG_GENERIC_FIND_BIT_LE=y
+# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
+CONFIG_PPC=y
+CONFIG_EARLY_PRINTK=y
+CONFIG_GENERIC_NVRAM=y
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_PPC_OF=y
+CONFIG_PPC_UDBG_16550=y
+# CONFIG_GENERIC_TBSYNC is not set
+CONFIG_AUDIT_ARCH=y
+CONFIG_GENERIC_BUG=y
+# CONFIG_DEFAULT_UIMAGE is not set
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_PPC_DCR_NATIVE=y
+# CONFIG_PPC_DCR_MMIO is not set
+CONFIG_PPC_DCR=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_PPC_ADV_DEBUG_REGS=y
+CONFIG_PPC_ADV_DEBUG_IACS=4
+CONFIG_PPC_ADV_DEBUG_DACS=2
+CONFIG_PPC_ADV_DEBUG_DVCS=2
+CONFIG_PPC_ADV_DEBUG_DAC_RANGE=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_CONSTRUCTORS=y
+CONFIG_HAVE_IRQ_WORK=y
+CONFIG_IRQ_WORK=y
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_CROSS_COMPILE=""
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_FHANDLE is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_AUDIT is not set
+CONFIG_HAVE_GENERIC_HARDIRQS=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_HAVE_SPARSE_IRQ=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
+# CONFIG_SPARSE_IRQ is not set
+
+#
+# RCU Subsystem
+#
+# CONFIG_TREE_RCU is not set
+CONFIG_TINY_RCU=y
+# CONFIG_PREEMPT_RCU is not set
+# CONFIG_RCU_TRACE is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_CGROUPS is not set
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+# CONFIG_SCHED_AUTOGROUP is not set
+CONFIG_SYSFS_DEPRECATED=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_XZ=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+# CONFIG_EXPERT is not set
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+CONFIG_KALLSYMS_ALL=y
+CONFIG_KALLSYMS_EXTRA_PASS=y
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=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_EMBEDDED is not set
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+CONFIG_PERF_COUNTERS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLUB_DEBUG=y
+CONFIG_COMPAT_BRK=y
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+# CONFIG_PROFILING is not set
+CONFIG_TRACEPOINTS=y
+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_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+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_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+# CONFIG_INLINE_SPIN_TRYLOCK is not set
+# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK is not set
+# CONFIG_INLINE_SPIN_LOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
+CONFIG_INLINE_SPIN_UNLOCK=y
+# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
+CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
+# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_READ_TRYLOCK is not set
+# CONFIG_INLINE_READ_LOCK is not set
+# CONFIG_INLINE_READ_LOCK_BH is not set
+# CONFIG_INLINE_READ_LOCK_IRQ is not set
+# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
+CONFIG_INLINE_READ_UNLOCK=y
+# CONFIG_INLINE_READ_UNLOCK_BH is not set
+CONFIG_INLINE_READ_UNLOCK_IRQ=y
+# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_WRITE_TRYLOCK is not set
+# CONFIG_INLINE_WRITE_LOCK is not set
+# CONFIG_INLINE_WRITE_LOCK_BH is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
+CONFIG_INLINE_WRITE_UNLOCK=y
+# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
+CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
+# CONFIG_MUTEX_SPIN_ON_OWNER is not set
+CONFIG_FREEZER=y
+
+#
+# Platform support
+#
+# CONFIG_PPC_CELL is not set
+# CONFIG_PPC_CELL_NATIVE is not set
+# CONFIG_PQ2ADS is not set
+CONFIG_PPC_47x=y
+# CONFIG_BAMBOO is not set
+# CONFIG_BLUESTONE is not set
+# CONFIG_EBONY is not set
+# CONFIG_SAM440EP is not set
+# CONFIG_SEQUOIA is not set
+# CONFIG_TAISHAN is not set
+# CONFIG_KATMAI is not set
+# CONFIG_RAINIER is not set
+# CONFIG_WARP is not set
+# CONFIG_ARCHES is not set
+# CONFIG_CANYONLANDS is not set
+# CONFIG_GLACIER is not set
+# CONFIG_REDWOOD is not set
+# CONFIG_EIGER is not set
+# CONFIG_YOSEMITE is not set
+# CONFIG_ISS4xx is not set
+# CONFIG_ICON is not set
+# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set
+CONFIG_PPC44x_SIMPLE=y
+# CONFIG_PPC4xx_GPIO is not set
+CONFIG_KVM_GUEST=y
+# CONFIG_IPIC is not set
+CONFIG_MPIC=y
+# CONFIG_MPIC_WEIRD is not set
+# CONFIG_PPC_I8259 is not set
+# CONFIG_PPC_RTAS is not set
+# CONFIG_MMIO_NVRAM is not set
+# CONFIG_MPIC_U3_HT_IRQS is not set
+# CONFIG_PPC_MPC106 is not set
+# CONFIG_PPC_970_NAP is not set
+# CONFIG_PPC_INDIRECT_IO is not set
+# CONFIG_GENERIC_IOMAP is not set
+# CONFIG_CPU_FREQ is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE 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_FSL_ULI1575 is not set
+# CONFIG_SIMPLE_GPIO is not set
+
+#
+# Kernel options
+#
+# CONFIG_HIGHMEM is not set
+# CONFIG_NO_HZ is not set
+# CONFIG_HIGH_RES_TIMERS is not set
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_250 is not set
+# CONFIG_HZ_300 is not set
+CONFIG_HZ_1000=y
+CONFIG_HZ=1000
+# CONFIG_SCHED_HRTICK is not set
+# CONFIG_PREEMPT_NONE is not set
+CONFIG_PREEMPT_VOLUNTARY=y
+# CONFIG_PREEMPT is not set
+CONFIG_BINFMT_ELF=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+# CONFIG_HAVE_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_MATH_EMULATION is not set
+# CONFIG_IOMMU_HELPER is not set
+# CONFIG_SWIOTLB is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_ARCH_HAS_WALK_MEMORY=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
+CONFIG_MAX_ACTIVE_REGIONS=32
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_HAVE_MEMBLOCK=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+# CONFIG_COMPACTION is not set
+CONFIG_MIGRATION=y
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+# CONFIG_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_NEED_PER_CPU_KM=y
+CONFIG_STDBINUTILS=y
+CONFIG_PPC_4K_PAGES=y
+# CONFIG_PPC_16K_PAGES is not set
+# CONFIG_PPC_64K_PAGES is not set
+CONFIG_FORCE_MAX_ZONEORDER=11
+CONFIG_CMDLINE_BOOL=y
+CONFIG_CMDLINE=""
+CONFIG_EXTRA_TARGETS=""
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+# CONFIG_HIBERNATION is not set
+CONFIG_PM_SLEEP=y
+# CONFIG_PM_RUNTIME is not set
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+# CONFIG_SECCOMP is not set
+CONFIG_ISA_DMA_API=y
+
+#
+# Bus options
+#
+CONFIG_ZONE_DMA=y
+# CONFIG_NEED_DMA_MAP_STATE is not set
+CONFIG_NEED_SG_DMA_LENGTH=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_PPC4xx_CPM=y
+CONFIG_4xx_SOC=y
+CONFIG_PPC_PCI_CHOICE=y
+# CONFIG_PCI is not set
+# CONFIG_PCI_DOMAINS is not set
+# CONFIG_PCI_SYSCALL is not set
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+# CONFIG_PCCARD is not set
+# CONFIG_HAS_RAPIDIO is not set
+
+#
+# Advanced setup
+#
+CONFIG_ADVANCED_OPTIONS=y
+# CONFIG_LOWMEM_SIZE_BOOL is not set
+CONFIG_LOWMEM_SIZE=0x30000000
+CONFIG_PAGE_OFFSET_BOOL=y
+CONFIG_PAGE_OFFSET=0x7000000
+CONFIG_KERNEL_START_BOOL=y
+CONFIG_KERNEL_START=0x7000000
+CONFIG_PHYSICAL_START=0x00000000
+CONFIG_TASK_SIZE_BOOL=y
+CONFIG_TASK_SIZE=0x70000000
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+# CONFIG_INET is not set
+# CONFIG_DEFAULT_CUBIC is not set
+# CONFIG_DEFAULT_RENO is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_SCTP_HMAC_NONE is not set
+# CONFIG_SCTP_HMAC_SHA1 is not set
+# CONFIG_SCTP_HMAC_MD5 is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# 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_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
+# CONFIG_BATMAN_ADV is not set
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=m
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+CONFIG_WIRELESS=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_REG_DEBUG is not set
+CONFIG_CFG80211_DEFAULT_PS=y
+CONFIG_CFG80211_DEBUGFS=y
+# CONFIG_CFG80211_INTERNAL_REGDB is not set
+CONFIG_CFG80211_WEXT=y
+CONFIG_WIRELESS_EXT_SYSFS=y
+CONFIG_LIB80211=m
+# CONFIG_LIB80211_DEBUG is not set
+CONFIG_MAC80211=m
+CONFIG_MAC80211_HAS_RC=y
+CONFIG_MAC80211_RC_MINSTREL=y
+CONFIG_MAC80211_RC_MINSTREL_HT=y
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
+CONFIG_MAC80211_MESH=y
+CONFIG_MAC80211_DEBUGFS=y
+# CONFIG_MAC80211_DEBUG_MENU is not set
+# CONFIG_WIMAX is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+# CONFIG_CAIF is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_FIRMWARE_IN_KERNEL is not set
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_DEBUG_DRIVER is not set
+CONFIG_DEBUG_DEVRES=y
+# CONFIG_SYS_HYPERVISOR is not set
+CONFIG_CONNECTOR=m
+# CONFIG_MTD is not set
+CONFIG_DTC=y
+CONFIG_OF=y
+
+#
+# Device Tree and Open Firmware support
+#
+# CONFIG_PROC_DEVICETREE is not set
+CONFIG_OF_FLATTREE=y
+CONFIG_OF_EARLY_FLATTREE=y
+CONFIG_OF_DYNAMIC=y
+CONFIG_OF_ADDRESS=y
+CONFIG_OF_IRQ=y
+CONFIG_OF_DEVICE=y
+CONFIG_OF_I2C=m
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_FD is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+# CONFIG_BLK_DEV_LOOP is not set
+
+#
+# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
+#
+# CONFIG_BLK_DEV_NBD is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=35000
+# CONFIG_BLK_DEV_XIP is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_XILINX_SYSACE is not set
+# CONFIG_BLK_DEV_HD is not set
+# CONFIG_SENSORS_LIS3LV02D is not set
+CONFIG_MISC_DEVICES=y
+# CONFIG_AD525X_DPOT is not set
+# CONFIG_ICS932S401 is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_APDS9802ALS is not set
+# CONFIG_ISL29003 is not set
+# CONFIG_ISL29020 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+# CONFIG_SENSORS_BH1780 is not set
+# CONFIG_SENSORS_BH1770 is not set
+# CONFIG_SENSORS_APDS990X is not set
+# CONFIG_HMC6352 is not set
+# CONFIG_DS1682 is not set
+# CONFIG_BMP085 is not set
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT24=m
+CONFIG_EEPROM_LEGACY=m
+CONFIG_EEPROM_MAX6875=m
+CONFIG_EEPROM_93CX6=m
+
+#
+# Texas Instruments shared transport line discipline
+#
+# CONFIG_SENSORS_LIS3_I2C is not set
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+# CONFIG_SCSI_TGT is not set
+CONFIG_SCSI_NETLINK=y
+# CONFIG_SCSI_PROC_FS is not set
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+# CONFIG_BLK_DEV_SD is not set
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_CHR_DEV_SCH is not set
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+CONFIG_SCSI_SPI_ATTRS=m
+CONFIG_SCSI_FC_ATTRS=m
+CONFIG_SCSI_ISCSI_ATTRS=m
+CONFIG_SCSI_SAS_ATTRS=m
+CONFIG_SCSI_SAS_LIBSAS=m
+CONFIG_SCSI_SAS_HOST_SMP=y
+CONFIG_SCSI_SRP_ATTRS=m
+# CONFIG_SCSI_LOWLEVEL 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_TARGET_CORE is not set
+# CONFIG_MACINTOSH_DRIVERS is not set
+# CONFIG_NETDEVICES is not set
+# CONFIG_B43LEGACY_DMA_AND_PIO_MODE is not set
+# CONFIG_B43LEGACY_DMA_MODE is not set
+# CONFIG_B43LEGACY_PIO_MODE is not set
+# CONFIG_ISDN is not set
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_FF_MEMLESS=y
+CONFIG_INPUT_POLLDEV=m
+CONFIG_INPUT_SPARSEKMAP=m
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ADP5588=m
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_QT1070 is not set
+# CONFIG_KEYBOARD_QT2160 is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_TCA6416 is not set
+CONFIG_KEYBOARD_MAX7359=m
+# CONFIG_KEYBOARD_MCS is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+CONFIG_KEYBOARD_OPENCORES=m
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+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_TRACKPOINT=y
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_MOUSE_PS2_SENTELIC=y
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+CONFIG_MOUSE_SERIAL=m
+CONFIG_MOUSE_VSXXXAA=m
+CONFIG_MOUSE_SYNAPTICS_I2C=m
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_ANALOG=m
+CONFIG_JOYSTICK_A3D=m
+CONFIG_JOYSTICK_ADI=m
+CONFIG_JOYSTICK_COBRA=m
+CONFIG_JOYSTICK_GF2K=m
+CONFIG_JOYSTICK_GRIP=m
+CONFIG_JOYSTICK_GRIP_MP=m
+CONFIG_JOYSTICK_GUILLEMOT=m
+CONFIG_JOYSTICK_INTERACT=m
+CONFIG_JOYSTICK_SIDEWINDER=m
+CONFIG_JOYSTICK_TMDC=m
+CONFIG_JOYSTICK_IFORCE=m
+CONFIG_JOYSTICK_IFORCE_232=y
+CONFIG_JOYSTICK_WARRIOR=m
+CONFIG_JOYSTICK_MAGELLAN=m
+CONFIG_JOYSTICK_SPACEORB=m
+CONFIG_JOYSTICK_SPACEBALL=m
+CONFIG_JOYSTICK_STINGER=m
+CONFIG_JOYSTICK_TWIDJOY=m
+CONFIG_JOYSTICK_ZHENHUA=m
+# CONFIG_JOYSTICK_AS5011 is not set
+CONFIG_JOYSTICK_JOYDUMP=m
+CONFIG_INPUT_TABLET=y
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_AD7879=m
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
+# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set
+# CONFIG_TOUCHSCREEN_BU21013 is not set
+CONFIG_TOUCHSCREEN_DYNAPRO=m
+# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
+CONFIG_TOUCHSCREEN_EETI=m
+CONFIG_TOUCHSCREEN_FUJITSU=m
+CONFIG_TOUCHSCREEN_GUNZE=m
+CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_WACOM_W8001=m
+CONFIG_TOUCHSCREEN_MCS5000=m
+CONFIG_TOUCHSCREEN_MTOUCH=m
+CONFIG_TOUCHSCREEN_INEXIO=m
+CONFIG_TOUCHSCREEN_MK712=m
+CONFIG_TOUCHSCREEN_PENMOUNT=m
+CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
+CONFIG_TOUCHSCREEN_TOUCHWIN=m
+CONFIG_TOUCHSCREEN_TOUCHIT213=m
+CONFIG_TOUCHSCREEN_TSC2007=m
+# CONFIG_TOUCHSCREEN_ST1232 is not set
+# CONFIG_TOUCHSCREEN_TPS6507X is not set
+CONFIG_INPUT_MISC=y
+# CONFIG_INPUT_AD714X is not set
+CONFIG_INPUT_UINPUT=m
+# CONFIG_INPUT_PCF8574 is not set
+# CONFIG_INPUT_ADXL34X is not set
+# CONFIG_INPUT_CMA3000 is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=y
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=m
+# CONFIG_SERIO_XILINX_XPS_PS2 is not set
+CONFIG_SERIO_ALTERA_PS2=m
+# CONFIG_SERIO_PS2MULT is not set
+CONFIG_GAMEPORT=m
+CONFIG_GAMEPORT_NS558=m
+CONFIG_GAMEPORT_L4=m
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_SERIAL_NONSTANDARD=y
+CONFIG_N_HDLC=m
+# CONFIG_N_GSM is not set
+# CONFIG_DEVKMEM is not set
+# CONFIG_STALDRV is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=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_SHARE_IRQ=y
+CONFIG_SERIAL_8250_DETECT_IRQ=y
+CONFIG_SERIAL_8250_RSA=y
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_UARTLITE is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_OF_PLATFORM is not set
+# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
+# CONFIG_SERIAL_TIMBERDALE is not set
+# CONFIG_SERIAL_ALTERA_JTAGUART is not set
+# CONFIG_SERIAL_ALTERA_UART is not set
+# CONFIG_HVC_UDBG is not set
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_TIMERIOMEM=m
+CONFIG_NVRAM=y
+# CONFIG_GEN_RTC is not set
+CONFIG_R3964=m
+CONFIG_RAW_DRIVER=y
+CONFIG_MAX_RAW_DEVS=8192
+CONFIG_TCG_TPM=y
+CONFIG_TCG_TIS=y
+CONFIG_TCG_NSC=m
+CONFIG_TCG_ATMEL=m
+# CONFIG_RAMOOPS is not set
+CONFIG_I2C=m
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=m
+# CONFIG_I2C_MUX is not set
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_SMBUS=m
+CONFIG_I2C_ALGOBIT=m
+CONFIG_I2C_ALGOPCA=m
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_IBM_IIC is not set
+# CONFIG_I2C_MPC is not set
+# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_PCA_PLATFORM=m
+# CONFIG_I2C_PXA_PCI is not set
+CONFIG_I2C_SIMTEC=m
+# CONFIG_I2C_XILINX is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+CONFIG_I2C_PARPORT_LIGHT=m
+# CONFIG_I2C_TAOS_EVM is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+CONFIG_I2C_STUB=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_SPI is not set
+
+#
+# PPS support
+#
+CONFIG_PPS=m
+# CONFIG_PPS_DEBUG is not set
+# CONFIG_NTP_PPS is not set
+
+#
+# PPS clients support
+#
+# CONFIG_PPS_CLIENT_KTIMER is not set
+# CONFIG_PPS_CLIENT_LDISC is not set
+
+#
+# PPS generators support
+#
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+# CONFIG_GPIOLIB is not set
+# CONFIG_W1 is not set
+# CONFIG_POWER_SUPPLY is not set
+# CONFIG_HWMON is not set
+CONFIG_THERMAL=y
+# CONFIG_WATCHDOG is not set
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB=m
+# CONFIG_SSB_DEBUG is not set
+CONFIG_MFD_SUPPORT=y
+# CONFIG_MFD_CORE is not set
+# CONFIG_MFD_SM501 is not set
+# CONFIG_HTC_PASIC3 is not set
+# CONFIG_TPS6105X is not set
+# CONFIG_TPS6507X is not set
+# CONFIG_MFD_TMIO is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_PCF50633 is not set
+# CONFIG_ABX500_CORE is not set
+# CONFIG_MFD_WL1273_CORE is not set
+# CONFIG_REGULATOR is not set
+CONFIG_MEDIA_SUPPORT=m
+
+#
+# Multimedia core support
+#
+# CONFIG_MEDIA_CONTROLLER is not set
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_V4L2_COMMON=m
+CONFIG_VIDEO_MEDIA=m
+
+#
+# Multimedia drivers
+#
+CONFIG_RC_CORE=m
+CONFIG_LIRC=m
+CONFIG_RC_MAP=m
+CONFIG_IR_NEC_DECODER=m
+CONFIG_IR_RC5_DECODER=m
+CONFIG_IR_RC6_DECODER=m
+CONFIG_IR_JVC_DECODER=m
+CONFIG_IR_SONY_DECODER=m
+CONFIG_IR_RC5_SZ_DECODER=m
+CONFIG_IR_LIRC_CODEC=m
+# CONFIG_RC_LOOPBACK is not set
+CONFIG_MEDIA_ATTACH=y
+CONFIG_MEDIA_TUNER=m
+CONFIG_MEDIA_TUNER_CUSTOMISE=y
+
+#
+# Customize TV tuners
+#
+CONFIG_MEDIA_TUNER_SIMPLE=m
+CONFIG_MEDIA_TUNER_TDA8290=m
+CONFIG_MEDIA_TUNER_TDA827X=m
+CONFIG_MEDIA_TUNER_TDA18271=m
+CONFIG_MEDIA_TUNER_TDA9887=m
+CONFIG_MEDIA_TUNER_TEA5761=m
+CONFIG_MEDIA_TUNER_TEA5767=m
+CONFIG_MEDIA_TUNER_MT20XX=m
+CONFIG_MEDIA_TUNER_MT2060=m
+CONFIG_MEDIA_TUNER_MT2266=m
+CONFIG_MEDIA_TUNER_MT2131=m
+CONFIG_MEDIA_TUNER_QT1010=m
+CONFIG_MEDIA_TUNER_XC2028=m
+CONFIG_MEDIA_TUNER_XC5000=m
+CONFIG_MEDIA_TUNER_MXL5005S=m
+CONFIG_MEDIA_TUNER_MXL5007T=m
+CONFIG_MEDIA_TUNER_MC44S803=m
+CONFIG_MEDIA_TUNER_MAX2165=m
+CONFIG_MEDIA_TUNER_TDA18218=m
+CONFIG_VIDEO_V4L2=m
+CONFIG_VIDEOBUF_GEN=m
+CONFIG_VIDEOBUF2_CORE=m
+CONFIG_VIDEO_CAPTURE_DRIVERS=y
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
+CONFIG_VIDEO_IR_I2C=m
+
+#
+# Audio decoders
+#
+
+#
+# RDS decoders
+#
+
+#
+# Video decoders
+#
+
+#
+# Video and audio decoders
+#
+
+#
+# MPEG video encoders
+#
+
+#
+# Video encoders
+#
+
+#
+# Video improvement chips
+#
+# CONFIG_VIDEO_VIVI is not set
+# CONFIG_VIDEO_TIMBERDALE is not set
+# CONFIG_VIDEO_SR030PC30 is not set
+# CONFIG_VIDEO_NOON010PC30 is not set
+CONFIG_SOC_CAMERA=m
+# CONFIG_SOC_CAMERA_IMX074 is not set
+CONFIG_SOC_CAMERA_MT9M001=m
+CONFIG_SOC_CAMERA_MT9M111=m
+CONFIG_SOC_CAMERA_MT9T031=m
+CONFIG_SOC_CAMERA_MT9T112=m
+CONFIG_SOC_CAMERA_MT9V022=m
+CONFIG_SOC_CAMERA_RJ54N1=m
+CONFIG_SOC_CAMERA_TW9910=m
+CONFIG_SOC_CAMERA_PLATFORM=m
+# CONFIG_SOC_CAMERA_OV2640 is not set
+# CONFIG_SOC_CAMERA_OV6650 is not set
+CONFIG_SOC_CAMERA_OV772X=m
+CONFIG_SOC_CAMERA_OV9640=m
+# CONFIG_SOC_CAMERA_OV9740 is not set
+# CONFIG_V4L_MEM2MEM_DRIVERS is not set
+CONFIG_RADIO_ADAPTERS=y
+CONFIG_I2C_SI4713=m
+CONFIG_RADIO_SI4713=m
+CONFIG_RADIO_SI470X=y
+CONFIG_I2C_SI470X=m
+# CONFIG_RADIO_TEA5764 is not set
+# CONFIG_RADIO_SAA7706H is not set
+# CONFIG_RADIO_TEF6862 is not set
+# CONFIG_RADIO_WL1273 is not set
+
+#
+# Texas Instruments WL128x FM driver (ST based)
+#
+
+#
+# Graphics support
+#
+CONFIG_DRM=m
+CONFIG_VGASTATE=m
+CONFIG_VIDEO_OUTPUT_CONTROL=m
+CONFIG_FB=y
+# CONFIG_FIRMWARE_EDID is not set
+# CONFIG_FB_DDC is not set
+# CONFIG_FB_BOOT_VESA_SUPPORT is not set
+CONFIG_FB_CFB_FILLRECT=m
+CONFIG_FB_CFB_COPYAREA=m
+CONFIG_FB_CFB_IMAGEBLIT=m
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+CONFIG_FB_SYS_FILLRECT=m
+CONFIG_FB_SYS_COPYAREA=m
+CONFIG_FB_SYS_IMAGEBLIT=m
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_SYS_FOPS=m
+# CONFIG_FB_WMT_GE_ROPS is not set
+CONFIG_FB_DEFERRED_IO=y
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_OF is not set
+CONFIG_FB_VGA16=m
+# CONFIG_FB_UVESA is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_IBM_GXT4500 is not set
+CONFIG_FB_VIRTUAL=m
+CONFIG_FB_METRONOME=m
+CONFIG_FB_MB862XX=m
+# CONFIG_FB_MB862XX_LIME is not set
+# CONFIG_FB_BROADSHEET is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=m
+CONFIG_LCD_PLATFORM=m
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+# CONFIG_BACKLIGHT_GENERIC is not set
+# CONFIG_BACKLIGHT_ADP8860 is not set
+
+#
+# Display device support
+#
+CONFIG_DISPLAY_SUPPORT=m
+
+#
+# Display hardware drivers
+#
+
+#
+# Console display driver support
+#
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
+CONFIG_SOUND=m
+CONFIG_SOUND_OSS_CORE=y
+CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_RAWMIDI=m
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_DYNAMIC_MINORS=y
+# CONFIG_SND_SUPPORT_OLD_API is not set
+CONFIG_SND_VERBOSE_PROCFS=y
+CONFIG_SND_VERBOSE_PRINTK=y
+CONFIG_SND_DEBUG=y
+# CONFIG_SND_DEBUG_VERBOSE is not set
+CONFIG_SND_PCM_XRUN_DEBUG=y
+CONFIG_SND_RAWMIDI_SEQ=m
+# CONFIG_SND_OPL3_LIB_SEQ is not set
+# CONFIG_SND_OPL4_LIB_SEQ is not set
+# CONFIG_SND_SBAWE_SEQ is not set
+# CONFIG_SND_EMU10K1_SEQ is not set
+CONFIG_SND_MPU401_UART=m
+CONFIG_SND_DRIVERS=y
+CONFIG_SND_DUMMY=m
+# CONFIG_SND_ALOOP is not set
+CONFIG_SND_VIRMIDI=m
+CONFIG_SND_MTPAV=m
+CONFIG_SND_SERIAL_U16550=m
+CONFIG_SND_MPU401=m
+CONFIG_SND_PPC=y
+# CONFIG_SND_SOC is not set
+# CONFIG_SOUND_PRIME is not set
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=y
+CONFIG_HIDRAW=y
+CONFIG_HID_PID=y
+
+#
+# Special HID drivers
+#
+# CONFIG_USB_SUPPORT is not set
+# CONFIG_MMC is not set
+# CONFIG_MEMSTICK is not set
+# CONFIG_NEW_LEDS is not set
+# CONFIG_NFC_DEVICES is not set
+# CONFIG_ACCESSIBILITY 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
+# CONFIG_STAGING is not set
+# CONFIG_MACH_NO_WESTBRIDGE is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_EXT4_FS is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_BTRFS_FS is not set
+# CONFIG_NILFS2_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+# CONFIG_INOTIFY_USER is not set
+# CONFIG_FANOTIFY is not set
+# CONFIG_QUOTA is not set
+# CONFIG_QUOTACTL is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# Caches
+#
+# CONFIG_FSCACHE is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+# CONFIG_MSDOS_FS is not set
+# CONFIG_VFAT_FS is not set
+# 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 is not set
+# CONFIG_HUGETLB_PAGE is not set
+# CONFIG_CONFIGFS_FS is not set
+# CONFIG_MISC_FILESYSTEMS is not set
+# CONFIG_ROMFS_BACKED_BY_BLOCK is not set
+# CONFIG_ROMFS_BACKED_BY_MTD is not set
+# CONFIG_ROMFS_BACKED_BY_BOTH is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_NLS is not set
+CONFIG_BINARY_PRINTF=y
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
+# CONFIG_CRC_T10DIF is not set
+# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC32=y
+# CONFIG_CRC7 is not set
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_XZ_DEC=y
+CONFIG_XZ_DEC_X86=y
+CONFIG_XZ_DEC_POWERPC=y
+CONFIG_XZ_DEC_IA64=y
+CONFIG_XZ_DEC_ARM=y
+CONFIG_XZ_DEC_ARMTHUMB=y
+CONFIG_XZ_DEC_SPARC=y
+CONFIG_XZ_DEC_BCJ=y
+# CONFIG_XZ_DEC_TEST is not set
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_XZ=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_NLATTR=y
+CONFIG_GENERIC_ATOMIC64=y
+CONFIG_AVERAGE=y
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
+# CONFIG_ENABLE_WARN_DEPRECATED is not set
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=1024
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_STRIP_ASM_SYMS is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+# CONFIG_LOCKUP_DETECTOR is not set
+# CONFIG_HARDLOCKUP_DETECTOR is not set
+# CONFIG_DETECT_HUNG_TASK is not set
+CONFIG_SCHED_DEBUG=y
+CONFIG_SCHEDSTATS=y
+# CONFIG_TIMER_STATS is not set
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS 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_SPARSE_RCU_POINTER 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_BUGVERBOSE=y
+CONFIG_DEBUG_INFO=y
+# CONFIG_DEBUG_INFO_REDUCED is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_TEST_LIST_SORT is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+# CONFIG_LKDTM is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+# CONFIG_SYSCTL_SYSCALL_CHECK is not set
+CONFIG_DEBUG_PAGEALLOC=y
+CONFIG_NOP_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_TRACER_MAX_TRACE=y
+CONFIG_RING_BUFFER=y
+CONFIG_EVENT_TRACING=y
+# CONFIG_EVENT_POWER_TRACING_DEPRECATED is not set
+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_SCHED_TRACER=y
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+# CONFIG_STACK_TRACER is not set
+CONFIG_BLK_DEV_IO_TRACE=y
+# CONFIG_FTRACE_STARTUP_TEST is not set
+CONFIG_RING_BUFFER_BENCHMARK=m
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DMA_API_DEBUG is not set
+# CONFIG_ATOMIC64_SELFTEST is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+# CONFIG_TEST_KSTRTOX is not set
+CONFIG_PPC_DISABLE_WERROR=y
+CONFIG_PRINT_STACK_DEPTH=64
+# CONFIG_DEBUG_STACKOVERFLOW is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_PPC_EMULATED_STATS is not set
+# CONFIG_CODE_PATCHING_SELFTEST is not set
+# CONFIG_FTR_FIXUP_SELFTEST is not set
+# CONFIG_MSI_BITMAP_SELFTEST is not set
+# CONFIG_XMON is not set
+# CONFIG_VIRQ_DEBUG is not set
+# CONFIG_BDI_SWITCH is not set
+# CONFIG_PPC_EARLY_DEBUG is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
+# CONFIG_SECURITY is not set
+CONFIG_SECURITYFS=y
+# CONFIG_DEFAULT_SECURITY_SELINUX is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_CRYPTO=m
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=m
+CONFIG_CRYPTO_ALGAPI2=m
+CONFIG_CRYPTO_AEAD2=m
+CONFIG_CRYPTO_BLKCIPHER=m
+CONFIG_CRYPTO_BLKCIPHER2=m
+CONFIG_CRYPTO_HASH2=m
+CONFIG_CRYPTO_RNG2=m
+CONFIG_CRYPTO_PCOMP2=m
+CONFIG_CRYPTO_MANAGER=m
+CONFIG_CRYPTO_MANAGER2=m
+# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
+CONFIG_CRYPTO_GF128MUL=m
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_WORKQUEUE=m
+# CONFIG_CRYPTO_CRYPTD is not set
+# CONFIG_CRYPTO_AUTHENC is not set
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Authenticated Encryption with Associated Data
+#
+# CONFIG_CRYPTO_CCM is not set
+# CONFIG_CRYPTO_GCM is not set
+# CONFIG_CRYPTO_SEQIV is not set
+
+#
+# Block modes
+#
+# CONFIG_CRYPTO_CBC is not set
+# CONFIG_CRYPTO_CTR is not set
+# CONFIG_CRYPTO_CTS is not set
+CONFIG_CRYPTO_ECB=m
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_PCBC is not set
+# CONFIG_CRYPTO_XTS is not set
+
+#
+# Hash modes
+#
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_VMAC is not set
+
+#
+# Digest
+#
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_GHASH is not set
+# CONFIG_CRYPTO_MD4 is not set
+# CONFIG_CRYPTO_MD5 is not set
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# 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 is not set
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_WP512 is not set
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=m
+# CONFIG_CRYPTO_ANUBIS is not set
+CONFIG_CRYPTO_ARC4=m
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_DES is not set
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_SEED is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+
+#
+# Compression
+#
+# CONFIG_CRYPTO_DEFLATE is not set
+# CONFIG_CRYPTO_ZLIB is not set
+# CONFIG_CRYPTO_LZO is not set
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_USER_API_HASH is not set
+# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
+# CONFIG_CRYPTO_HW is not set
+# CONFIG_PPC_CLOCK is not set
+# CONFIG_VIRTUALIZATION is not set
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/configs/44x/invader_defconfig.old2 ../linux-2.6.39.4/arch/powerpc/configs/44x/invader_defconfig.old2
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/configs/44x/invader_defconfig.old2	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/configs/44x/invader_defconfig.old2	2011-10-22 06:38:25.665134460 +0530
@@ -0,0 +1,1387 @@
+#
+# Automatically generated make config: don't edit
+# Linux/powerpc 2.6.39.4 Kernel Configuration
+# Wed Sep 21 18:36:14 2011
+#
+# CONFIG_PPC64 is not set
+
+#
+# Processor support
+#
+# CONFIG_PPC_BOOK3S_32 is not set
+# CONFIG_PPC_85xx is not set
+# CONFIG_PPC_8xx is not set
+# CONFIG_40x is not set
+CONFIG_44x=y
+# CONFIG_E200 is not set
+CONFIG_4xx=y
+CONFIG_BOOKE=y
+CONFIG_PTE_64BIT=y
+CONFIG_PHYS_64BIT=y
+CONFIG_PPC_MMU_NOHASH=y
+CONFIG_PPC_MMU_NOHASH_32=y
+# CONFIG_PPC_MM_SLICES is not set
+# CONFIG_SMP is not set
+# CONFIG_NOT_COHERENT_CACHE is not set
+CONFIG_PPC32=y
+CONFIG_32BIT=y
+CONFIG_WORD_SIZE=32
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_MMU=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
+CONFIG_NR_IRQS=512
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_ARCH_HAS_ILOG2_U32=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+CONFIG_GENERIC_FIND_BIT_LE=y
+# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
+CONFIG_PPC=y
+CONFIG_EARLY_PRINTK=y
+CONFIG_GENERIC_NVRAM=y
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_PPC_OF=y
+CONFIG_PPC_UDBG_16550=y
+# CONFIG_GENERIC_TBSYNC is not set
+CONFIG_AUDIT_ARCH=y
+CONFIG_GENERIC_BUG=y
+# CONFIG_DEFAULT_UIMAGE is not set
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_PPC_DCR_NATIVE=y
+# CONFIG_PPC_DCR_MMIO is not set
+CONFIG_PPC_DCR=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_PPC_ADV_DEBUG_REGS=y
+CONFIG_PPC_ADV_DEBUG_IACS=4
+CONFIG_PPC_ADV_DEBUG_DACS=2
+CONFIG_PPC_ADV_DEBUG_DVCS=2
+CONFIG_PPC_ADV_DEBUG_DAC_RANGE=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_CONSTRUCTORS=y
+CONFIG_HAVE_IRQ_WORK=y
+CONFIG_IRQ_WORK=y
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_CROSS_COMPILE=""
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_FHANDLE is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_AUDIT is not set
+CONFIG_HAVE_GENERIC_HARDIRQS=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_HAVE_SPARSE_IRQ=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
+# CONFIG_SPARSE_IRQ is not set
+
+#
+# RCU Subsystem
+#
+CONFIG_TINY_RCU=y
+# CONFIG_PREEMPT_RCU is not set
+# CONFIG_RCU_TRACE is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_CGROUPS is not set
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+# CONFIG_SCHED_AUTOGROUP is not set
+CONFIG_SYSFS_DEPRECATED=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_XZ=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+# CONFIG_EXPERT is not set
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+CONFIG_KALLSYMS_ALL=y
+CONFIG_KALLSYMS_EXTRA_PASS=y
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=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_EMBEDDED is not set
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+CONFIG_PERF_COUNTERS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLUB_DEBUG=y
+CONFIG_COMPAT_BRK=y
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+# CONFIG_PROFILING is not set
+CONFIG_TRACEPOINTS=y
+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_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+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_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+# CONFIG_INLINE_SPIN_TRYLOCK is not set
+# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK is not set
+# CONFIG_INLINE_SPIN_LOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
+CONFIG_INLINE_SPIN_UNLOCK=y
+# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
+CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
+# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_READ_TRYLOCK is not set
+# CONFIG_INLINE_READ_LOCK is not set
+# CONFIG_INLINE_READ_LOCK_BH is not set
+# CONFIG_INLINE_READ_LOCK_IRQ is not set
+# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
+CONFIG_INLINE_READ_UNLOCK=y
+# CONFIG_INLINE_READ_UNLOCK_BH is not set
+CONFIG_INLINE_READ_UNLOCK_IRQ=y
+# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_WRITE_TRYLOCK is not set
+# CONFIG_INLINE_WRITE_LOCK is not set
+# CONFIG_INLINE_WRITE_LOCK_BH is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
+CONFIG_INLINE_WRITE_UNLOCK=y
+# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
+CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
+# CONFIG_MUTEX_SPIN_ON_OWNER is not set
+CONFIG_FREEZER=y
+
+#
+# Platform support
+#
+# CONFIG_PPC_CELL is not set
+# CONFIG_PPC_CELL_NATIVE is not set
+# CONFIG_PQ2ADS is not set
+CONFIG_PPC_47x=y
+# CONFIG_BAMBOO is not set
+# CONFIG_BLUESTONE is not set
+# CONFIG_EBONY is not set
+# CONFIG_SAM440EP is not set
+# CONFIG_SEQUOIA is not set
+# CONFIG_TAISHAN is not set
+# CONFIG_KATMAI is not set
+# CONFIG_RAINIER is not set
+# CONFIG_WARP is not set
+# CONFIG_ARCHES is not set
+# CONFIG_CANYONLANDS is not set
+# CONFIG_GLACIER is not set
+# CONFIG_REDWOOD is not set
+# CONFIG_EIGER is not set
+# CONFIG_YOSEMITE is not set
+# CONFIG_ISS4xx is not set
+# CONFIG_ICON is not set
+# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set
+CONFIG_PPC44x_SIMPLE=y
+# CONFIG_PPC4xx_GPIO is not set
+CONFIG_KVM_GUEST=y
+# CONFIG_IPIC is not set
+CONFIG_MPIC=y
+# CONFIG_MPIC_WEIRD is not set
+# CONFIG_PPC_I8259 is not set
+# CONFIG_PPC_RTAS is not set
+# CONFIG_MMIO_NVRAM is not set
+# CONFIG_MPIC_U3_HT_IRQS is not set
+# CONFIG_PPC_MPC106 is not set
+# CONFIG_PPC_970_NAP is not set
+# CONFIG_PPC_INDIRECT_IO is not set
+# CONFIG_GENERIC_IOMAP is not set
+# CONFIG_CPU_FREQ is not set
+# CONFIG_FSL_ULI1575 is not set
+# CONFIG_SIMPLE_GPIO is not set
+
+#
+# Kernel options
+#
+# CONFIG_HIGHMEM is not set
+# CONFIG_NO_HZ is not set
+# CONFIG_HIGH_RES_TIMERS is not set
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_250 is not set
+# CONFIG_HZ_300 is not set
+CONFIG_HZ_1000=y
+CONFIG_HZ=1000
+# CONFIG_SCHED_HRTICK is not set
+# CONFIG_PREEMPT_NONE is not set
+CONFIG_PREEMPT_VOLUNTARY=y
+# CONFIG_PREEMPT is not set
+CONFIG_BINFMT_ELF=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+# CONFIG_HAVE_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_MATH_EMULATION is not set
+# CONFIG_IOMMU_HELPER is not set
+# CONFIG_SWIOTLB is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_ARCH_HAS_WALK_MEMORY=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
+CONFIG_MAX_ACTIVE_REGIONS=32
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_HAVE_MEMBLOCK=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+# CONFIG_COMPACTION is not set
+CONFIG_MIGRATION=y
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+# CONFIG_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_NEED_PER_CPU_KM=y
+CONFIG_STDBINUTILS=y
+CONFIG_PPC_4K_PAGES=y
+# CONFIG_PPC_16K_PAGES is not set
+# CONFIG_PPC_64K_PAGES is not set
+CONFIG_FORCE_MAX_ZONEORDER=11
+CONFIG_CMDLINE_BOOL=y
+CONFIG_CMDLINE=""
+CONFIG_EXTRA_TARGETS=""
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+# CONFIG_HIBERNATION is not set
+CONFIG_PM_SLEEP=y
+# CONFIG_PM_RUNTIME is not set
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+# CONFIG_SECCOMP is not set
+CONFIG_ISA_DMA_API=y
+
+#
+# Bus options
+#
+CONFIG_ZONE_DMA=y
+# CONFIG_NEED_DMA_MAP_STATE is not set
+CONFIG_NEED_SG_DMA_LENGTH=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_PPC4xx_CPM=y
+CONFIG_4xx_SOC=y
+CONFIG_PPC_PCI_CHOICE=y
+# CONFIG_PCI is not set
+# CONFIG_PCI_DOMAINS is not set
+# CONFIG_PCI_SYSCALL is not set
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+# CONFIG_PCCARD is not set
+# CONFIG_HAS_RAPIDIO is not set
+
+#
+# Advanced setup
+#
+CONFIG_ADVANCED_OPTIONS=y
+# CONFIG_LOWMEM_SIZE_BOOL is not set
+CONFIG_LOWMEM_SIZE=0x30000000
+CONFIG_PAGE_OFFSET_BOOL=y
+CONFIG_PAGE_OFFSET=0x70000000
+CONFIG_KERNEL_START_BOOL=y
+CONFIG_KERNEL_START=0x70000000
+CONFIG_PHYSICAL_START=0x00000000
+CONFIG_TASK_SIZE_BOOL=y
+CONFIG_TASK_SIZE=0x70000000
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+# CONFIG_INET is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# 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_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
+# CONFIG_BATMAN_ADV is not set
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=m
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+CONFIG_WIRELESS=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_REG_DEBUG is not set
+CONFIG_CFG80211_DEFAULT_PS=y
+CONFIG_CFG80211_DEBUGFS=y
+# CONFIG_CFG80211_INTERNAL_REGDB is not set
+CONFIG_CFG80211_WEXT=y
+CONFIG_WIRELESS_EXT_SYSFS=y
+CONFIG_LIB80211=m
+# CONFIG_LIB80211_DEBUG is not set
+CONFIG_MAC80211=m
+CONFIG_MAC80211_HAS_RC=y
+CONFIG_MAC80211_RC_MINSTREL=y
+CONFIG_MAC80211_RC_MINSTREL_HT=y
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
+CONFIG_MAC80211_MESH=y
+CONFIG_MAC80211_DEBUGFS=y
+# CONFIG_MAC80211_DEBUG_MENU is not set
+# CONFIG_WIMAX is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+# CONFIG_CAIF is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_FIRMWARE_IN_KERNEL is not set
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_DEBUG_DRIVER is not set
+CONFIG_DEBUG_DEVRES=y
+# CONFIG_SYS_HYPERVISOR is not set
+CONFIG_CONNECTOR=m
+# CONFIG_MTD is not set
+CONFIG_DTC=y
+CONFIG_OF=y
+
+#
+# Device Tree and Open Firmware support
+#
+# CONFIG_PROC_DEVICETREE is not set
+CONFIG_OF_FLATTREE=y
+CONFIG_OF_EARLY_FLATTREE=y
+CONFIG_OF_DYNAMIC=y
+CONFIG_OF_ADDRESS=y
+CONFIG_OF_IRQ=y
+CONFIG_OF_DEVICE=y
+CONFIG_OF_I2C=m
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_FD is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+# CONFIG_BLK_DEV_LOOP is not set
+
+#
+# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
+#
+# CONFIG_BLK_DEV_NBD is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=35000
+# CONFIG_BLK_DEV_XIP is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_XILINX_SYSACE is not set
+# CONFIG_BLK_DEV_HD is not set
+# CONFIG_SENSORS_LIS3LV02D is not set
+CONFIG_MISC_DEVICES=y
+# CONFIG_AD525X_DPOT is not set
+# CONFIG_ICS932S401 is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_APDS9802ALS is not set
+# CONFIG_ISL29003 is not set
+# CONFIG_ISL29020 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+# CONFIG_SENSORS_BH1780 is not set
+# CONFIG_SENSORS_BH1770 is not set
+# CONFIG_SENSORS_APDS990X is not set
+# CONFIG_HMC6352 is not set
+# CONFIG_DS1682 is not set
+# CONFIG_BMP085 is not set
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT24=m
+CONFIG_EEPROM_LEGACY=m
+CONFIG_EEPROM_MAX6875=m
+CONFIG_EEPROM_93CX6=m
+
+#
+# Texas Instruments shared transport line discipline
+#
+# CONFIG_SENSORS_LIS3_I2C is not set
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+# CONFIG_SCSI_TGT is not set
+CONFIG_SCSI_NETLINK=y
+# CONFIG_SCSI_PROC_FS is not set
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+# CONFIG_BLK_DEV_SD is not set
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_CHR_DEV_SCH is not set
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+CONFIG_SCSI_SPI_ATTRS=m
+CONFIG_SCSI_FC_ATTRS=m
+CONFIG_SCSI_ISCSI_ATTRS=m
+CONFIG_SCSI_SAS_ATTRS=m
+CONFIG_SCSI_SAS_LIBSAS=m
+CONFIG_SCSI_SAS_HOST_SMP=y
+CONFIG_SCSI_SRP_ATTRS=m
+# CONFIG_SCSI_LOWLEVEL 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_TARGET_CORE is not set
+# CONFIG_MACINTOSH_DRIVERS is not set
+# CONFIG_NETDEVICES is not set
+# CONFIG_ISDN is not set
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_FF_MEMLESS=y
+CONFIG_INPUT_POLLDEV=m
+CONFIG_INPUT_SPARSEKMAP=m
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ADP5588=m
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_QT1070 is not set
+# CONFIG_KEYBOARD_QT2160 is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_TCA6416 is not set
+CONFIG_KEYBOARD_MAX7359=m
+# CONFIG_KEYBOARD_MCS is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+CONFIG_KEYBOARD_OPENCORES=m
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+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_TRACKPOINT=y
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_MOUSE_PS2_SENTELIC=y
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+CONFIG_MOUSE_SERIAL=m
+CONFIG_MOUSE_VSXXXAA=m
+CONFIG_MOUSE_SYNAPTICS_I2C=m
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_ANALOG=m
+CONFIG_JOYSTICK_A3D=m
+CONFIG_JOYSTICK_ADI=m
+CONFIG_JOYSTICK_COBRA=m
+CONFIG_JOYSTICK_GF2K=m
+CONFIG_JOYSTICK_GRIP=m
+CONFIG_JOYSTICK_GRIP_MP=m
+CONFIG_JOYSTICK_GUILLEMOT=m
+CONFIG_JOYSTICK_INTERACT=m
+CONFIG_JOYSTICK_SIDEWINDER=m
+CONFIG_JOYSTICK_TMDC=m
+CONFIG_JOYSTICK_IFORCE=m
+CONFIG_JOYSTICK_IFORCE_232=y
+CONFIG_JOYSTICK_WARRIOR=m
+CONFIG_JOYSTICK_MAGELLAN=m
+CONFIG_JOYSTICK_SPACEORB=m
+CONFIG_JOYSTICK_SPACEBALL=m
+CONFIG_JOYSTICK_STINGER=m
+CONFIG_JOYSTICK_TWIDJOY=m
+CONFIG_JOYSTICK_ZHENHUA=m
+# CONFIG_JOYSTICK_AS5011 is not set
+CONFIG_JOYSTICK_JOYDUMP=m
+CONFIG_INPUT_TABLET=y
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_AD7879=m
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
+# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set
+# CONFIG_TOUCHSCREEN_BU21013 is not set
+CONFIG_TOUCHSCREEN_DYNAPRO=m
+# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
+CONFIG_TOUCHSCREEN_EETI=m
+CONFIG_TOUCHSCREEN_FUJITSU=m
+CONFIG_TOUCHSCREEN_GUNZE=m
+CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_WACOM_W8001=m
+CONFIG_TOUCHSCREEN_MCS5000=m
+CONFIG_TOUCHSCREEN_MTOUCH=m
+CONFIG_TOUCHSCREEN_INEXIO=m
+CONFIG_TOUCHSCREEN_MK712=m
+CONFIG_TOUCHSCREEN_PENMOUNT=m
+CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
+CONFIG_TOUCHSCREEN_TOUCHWIN=m
+CONFIG_TOUCHSCREEN_TOUCHIT213=m
+CONFIG_TOUCHSCREEN_TSC2007=m
+# CONFIG_TOUCHSCREEN_ST1232 is not set
+# CONFIG_TOUCHSCREEN_TPS6507X is not set
+CONFIG_INPUT_MISC=y
+# CONFIG_INPUT_AD714X is not set
+CONFIG_INPUT_UINPUT=m
+# CONFIG_INPUT_PCF8574 is not set
+# CONFIG_INPUT_ADXL34X is not set
+# CONFIG_INPUT_CMA3000 is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=y
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=m
+# CONFIG_SERIO_XILINX_XPS_PS2 is not set
+CONFIG_SERIO_ALTERA_PS2=m
+# CONFIG_SERIO_PS2MULT is not set
+CONFIG_GAMEPORT=m
+CONFIG_GAMEPORT_NS558=m
+CONFIG_GAMEPORT_L4=m
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_SERIAL_NONSTANDARD=y
+CONFIG_N_HDLC=m
+# CONFIG_N_GSM is not set
+# CONFIG_DEVKMEM is not set
+# CONFIG_STALDRV is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=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_SHARE_IRQ=y
+CONFIG_SERIAL_8250_DETECT_IRQ=y
+CONFIG_SERIAL_8250_RSA=y
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_UARTLITE is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_OF_PLATFORM is not set
+# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
+# CONFIG_SERIAL_TIMBERDALE is not set
+# CONFIG_SERIAL_ALTERA_JTAGUART is not set
+# CONFIG_SERIAL_ALTERA_UART is not set
+# CONFIG_HVC_UDBG is not set
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_TIMERIOMEM=m
+CONFIG_NVRAM=y
+# CONFIG_GEN_RTC is not set
+CONFIG_R3964=m
+CONFIG_RAW_DRIVER=y
+CONFIG_MAX_RAW_DEVS=8192
+CONFIG_TCG_TPM=y
+CONFIG_TCG_TIS=y
+CONFIG_TCG_NSC=m
+CONFIG_TCG_ATMEL=m
+# CONFIG_RAMOOPS is not set
+CONFIG_I2C=m
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=m
+# CONFIG_I2C_MUX is not set
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_SMBUS=m
+CONFIG_I2C_ALGOBIT=m
+CONFIG_I2C_ALGOPCA=m
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_IBM_IIC is not set
+# CONFIG_I2C_MPC is not set
+# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_PCA_PLATFORM=m
+# CONFIG_I2C_PXA_PCI is not set
+CONFIG_I2C_SIMTEC=m
+# CONFIG_I2C_XILINX is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+CONFIG_I2C_PARPORT_LIGHT=m
+# CONFIG_I2C_TAOS_EVM is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+CONFIG_I2C_STUB=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_SPI is not set
+
+#
+# PPS support
+#
+CONFIG_PPS=m
+# CONFIG_PPS_DEBUG is not set
+# CONFIG_NTP_PPS is not set
+
+#
+# PPS clients support
+#
+# CONFIG_PPS_CLIENT_KTIMER is not set
+# CONFIG_PPS_CLIENT_LDISC is not set
+
+#
+# PPS generators support
+#
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+# CONFIG_GPIOLIB is not set
+# CONFIG_W1 is not set
+# CONFIG_POWER_SUPPLY is not set
+# CONFIG_HWMON is not set
+CONFIG_THERMAL=y
+# CONFIG_WATCHDOG is not set
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB=m
+# CONFIG_SSB_DEBUG is not set
+CONFIG_MFD_SUPPORT=y
+# CONFIG_MFD_CORE is not set
+# CONFIG_MFD_SM501 is not set
+# CONFIG_HTC_PASIC3 is not set
+# CONFIG_TPS6105X is not set
+# CONFIG_TPS6507X is not set
+# CONFIG_MFD_TMIO is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_PCF50633 is not set
+# CONFIG_ABX500_CORE is not set
+# CONFIG_MFD_WL1273_CORE is not set
+# CONFIG_REGULATOR is not set
+CONFIG_MEDIA_SUPPORT=m
+
+#
+# Multimedia core support
+#
+# CONFIG_MEDIA_CONTROLLER is not set
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_V4L2_COMMON=m
+CONFIG_VIDEO_MEDIA=m
+
+#
+# Multimedia drivers
+#
+CONFIG_RC_CORE=m
+CONFIG_LIRC=m
+CONFIG_RC_MAP=m
+CONFIG_IR_NEC_DECODER=m
+CONFIG_IR_RC5_DECODER=m
+CONFIG_IR_RC6_DECODER=m
+CONFIG_IR_JVC_DECODER=m
+CONFIG_IR_SONY_DECODER=m
+CONFIG_IR_RC5_SZ_DECODER=m
+CONFIG_IR_LIRC_CODEC=m
+# CONFIG_RC_LOOPBACK is not set
+CONFIG_MEDIA_ATTACH=y
+CONFIG_MEDIA_TUNER=m
+CONFIG_MEDIA_TUNER_CUSTOMISE=y
+
+#
+# Customize TV tuners
+#
+CONFIG_MEDIA_TUNER_SIMPLE=m
+CONFIG_MEDIA_TUNER_TDA8290=m
+CONFIG_MEDIA_TUNER_TDA827X=m
+CONFIG_MEDIA_TUNER_TDA18271=m
+CONFIG_MEDIA_TUNER_TDA9887=m
+CONFIG_MEDIA_TUNER_TEA5761=m
+CONFIG_MEDIA_TUNER_TEA5767=m
+CONFIG_MEDIA_TUNER_MT20XX=m
+CONFIG_MEDIA_TUNER_MT2060=m
+CONFIG_MEDIA_TUNER_MT2266=m
+CONFIG_MEDIA_TUNER_MT2131=m
+CONFIG_MEDIA_TUNER_QT1010=m
+CONFIG_MEDIA_TUNER_XC2028=m
+CONFIG_MEDIA_TUNER_XC5000=m
+CONFIG_MEDIA_TUNER_MXL5005S=m
+CONFIG_MEDIA_TUNER_MXL5007T=m
+CONFIG_MEDIA_TUNER_MC44S803=m
+CONFIG_MEDIA_TUNER_MAX2165=m
+CONFIG_MEDIA_TUNER_TDA18218=m
+CONFIG_VIDEO_V4L2=m
+CONFIG_VIDEOBUF_GEN=m
+CONFIG_VIDEOBUF2_CORE=m
+CONFIG_VIDEO_CAPTURE_DRIVERS=y
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
+CONFIG_VIDEO_IR_I2C=m
+
+#
+# Audio decoders
+#
+
+#
+# RDS decoders
+#
+
+#
+# Video decoders
+#
+
+#
+# Video and audio decoders
+#
+
+#
+# MPEG video encoders
+#
+
+#
+# Video encoders
+#
+
+#
+# Video improvement chips
+#
+# CONFIG_VIDEO_VIVI is not set
+# CONFIG_VIDEO_TIMBERDALE is not set
+# CONFIG_VIDEO_SR030PC30 is not set
+# CONFIG_VIDEO_NOON010PC30 is not set
+CONFIG_SOC_CAMERA=m
+# CONFIG_SOC_CAMERA_IMX074 is not set
+CONFIG_SOC_CAMERA_MT9M001=m
+CONFIG_SOC_CAMERA_MT9M111=m
+CONFIG_SOC_CAMERA_MT9T031=m
+CONFIG_SOC_CAMERA_MT9T112=m
+CONFIG_SOC_CAMERA_MT9V022=m
+CONFIG_SOC_CAMERA_RJ54N1=m
+CONFIG_SOC_CAMERA_TW9910=m
+CONFIG_SOC_CAMERA_PLATFORM=m
+# CONFIG_SOC_CAMERA_OV2640 is not set
+# CONFIG_SOC_CAMERA_OV6650 is not set
+CONFIG_SOC_CAMERA_OV772X=m
+CONFIG_SOC_CAMERA_OV9640=m
+# CONFIG_SOC_CAMERA_OV9740 is not set
+# CONFIG_V4L_MEM2MEM_DRIVERS is not set
+CONFIG_RADIO_ADAPTERS=y
+CONFIG_I2C_SI4713=m
+CONFIG_RADIO_SI4713=m
+CONFIG_RADIO_SI470X=y
+CONFIG_I2C_SI470X=m
+# CONFIG_RADIO_TEA5764 is not set
+# CONFIG_RADIO_SAA7706H is not set
+# CONFIG_RADIO_TEF6862 is not set
+# CONFIG_RADIO_WL1273 is not set
+
+#
+# Texas Instruments WL128x FM driver (ST based)
+#
+
+#
+# Graphics support
+#
+CONFIG_DRM=m
+CONFIG_VGASTATE=m
+CONFIG_VIDEO_OUTPUT_CONTROL=m
+CONFIG_FB=y
+# CONFIG_FIRMWARE_EDID is not set
+# CONFIG_FB_DDC is not set
+# CONFIG_FB_BOOT_VESA_SUPPORT is not set
+CONFIG_FB_CFB_FILLRECT=m
+CONFIG_FB_CFB_COPYAREA=m
+CONFIG_FB_CFB_IMAGEBLIT=m
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+CONFIG_FB_SYS_FILLRECT=m
+CONFIG_FB_SYS_COPYAREA=m
+CONFIG_FB_SYS_IMAGEBLIT=m
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_SYS_FOPS=m
+# CONFIG_FB_WMT_GE_ROPS is not set
+CONFIG_FB_DEFERRED_IO=y
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_OF is not set
+CONFIG_FB_VGA16=m
+# CONFIG_FB_UVESA is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_IBM_GXT4500 is not set
+CONFIG_FB_VIRTUAL=m
+CONFIG_FB_METRONOME=m
+CONFIG_FB_MB862XX=m
+# CONFIG_FB_MB862XX_LIME is not set
+# CONFIG_FB_BROADSHEET is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=m
+CONFIG_LCD_PLATFORM=m
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+# CONFIG_BACKLIGHT_GENERIC is not set
+# CONFIG_BACKLIGHT_ADP8860 is not set
+
+#
+# Display device support
+#
+CONFIG_DISPLAY_SUPPORT=m
+
+#
+# Display hardware drivers
+#
+
+#
+# Console display driver support
+#
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
+CONFIG_SOUND=m
+CONFIG_SOUND_OSS_CORE=y
+CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_RAWMIDI=m
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_DYNAMIC_MINORS=y
+# CONFIG_SND_SUPPORT_OLD_API is not set
+CONFIG_SND_VERBOSE_PROCFS=y
+CONFIG_SND_VERBOSE_PRINTK=y
+CONFIG_SND_DEBUG=y
+# CONFIG_SND_DEBUG_VERBOSE is not set
+CONFIG_SND_PCM_XRUN_DEBUG=y
+CONFIG_SND_RAWMIDI_SEQ=m
+# CONFIG_SND_OPL3_LIB_SEQ is not set
+# CONFIG_SND_OPL4_LIB_SEQ is not set
+# CONFIG_SND_SBAWE_SEQ is not set
+# CONFIG_SND_EMU10K1_SEQ is not set
+CONFIG_SND_MPU401_UART=m
+CONFIG_SND_DRIVERS=y
+CONFIG_SND_DUMMY=m
+# CONFIG_SND_ALOOP is not set
+CONFIG_SND_VIRMIDI=m
+CONFIG_SND_MTPAV=m
+CONFIG_SND_SERIAL_U16550=m
+CONFIG_SND_MPU401=m
+CONFIG_SND_PPC=y
+# CONFIG_SND_SOC is not set
+# CONFIG_SOUND_PRIME is not set
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=y
+CONFIG_HIDRAW=y
+CONFIG_HID_PID=y
+
+#
+# Special HID drivers
+#
+# CONFIG_USB_SUPPORT is not set
+# CONFIG_MMC is not set
+# CONFIG_MEMSTICK is not set
+# CONFIG_NEW_LEDS is not set
+# CONFIG_NFC_DEVICES is not set
+# CONFIG_ACCESSIBILITY 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
+# CONFIG_STAGING is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_EXT4_FS is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_BTRFS_FS is not set
+# CONFIG_NILFS2_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+# CONFIG_INOTIFY_USER is not set
+# CONFIG_FANOTIFY is not set
+# CONFIG_QUOTA is not set
+# CONFIG_QUOTACTL is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# Caches
+#
+# CONFIG_FSCACHE is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+# CONFIG_MSDOS_FS is not set
+# CONFIG_VFAT_FS is not set
+# 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 is not set
+# CONFIG_HUGETLB_PAGE is not set
+# CONFIG_CONFIGFS_FS is not set
+# CONFIG_MISC_FILESYSTEMS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_NLS is not set
+CONFIG_BINARY_PRINTF=y
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
+# CONFIG_CRC_T10DIF is not set
+# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC32=y
+# CONFIG_CRC7 is not set
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_XZ_DEC=y
+CONFIG_XZ_DEC_X86=y
+CONFIG_XZ_DEC_POWERPC=y
+CONFIG_XZ_DEC_IA64=y
+CONFIG_XZ_DEC_ARM=y
+CONFIG_XZ_DEC_ARMTHUMB=y
+CONFIG_XZ_DEC_SPARC=y
+CONFIG_XZ_DEC_BCJ=y
+# CONFIG_XZ_DEC_TEST is not set
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_XZ=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_NLATTR=y
+CONFIG_GENERIC_ATOMIC64=y
+CONFIG_AVERAGE=y
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
+# CONFIG_ENABLE_WARN_DEPRECATED is not set
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=1024
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_STRIP_ASM_SYMS is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+# CONFIG_LOCKUP_DETECTOR is not set
+# CONFIG_HARDLOCKUP_DETECTOR is not set
+# CONFIG_DETECT_HUNG_TASK is not set
+CONFIG_SCHED_DEBUG=y
+CONFIG_SCHEDSTATS=y
+# CONFIG_TIMER_STATS is not set
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS 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_SPARSE_RCU_POINTER 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_BUGVERBOSE=y
+CONFIG_DEBUG_INFO=y
+# CONFIG_DEBUG_INFO_REDUCED is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_TEST_LIST_SORT is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+# CONFIG_LKDTM is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+# CONFIG_SYSCTL_SYSCALL_CHECK is not set
+CONFIG_DEBUG_PAGEALLOC=y
+CONFIG_NOP_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_TRACER_MAX_TRACE=y
+CONFIG_RING_BUFFER=y
+CONFIG_EVENT_TRACING=y
+# CONFIG_EVENT_POWER_TRACING_DEPRECATED is not set
+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_SCHED_TRACER=y
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+# CONFIG_STACK_TRACER is not set
+CONFIG_BLK_DEV_IO_TRACE=y
+# CONFIG_FTRACE_STARTUP_TEST is not set
+CONFIG_RING_BUFFER_BENCHMARK=m
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DMA_API_DEBUG is not set
+# CONFIG_ATOMIC64_SELFTEST is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+# CONFIG_TEST_KSTRTOX is not set
+CONFIG_PPC_DISABLE_WERROR=y
+CONFIG_PRINT_STACK_DEPTH=64
+# CONFIG_DEBUG_STACKOVERFLOW is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_PPC_EMULATED_STATS is not set
+# CONFIG_CODE_PATCHING_SELFTEST is not set
+# CONFIG_FTR_FIXUP_SELFTEST is not set
+# CONFIG_MSI_BITMAP_SELFTEST is not set
+# CONFIG_XMON is not set
+# CONFIG_VIRQ_DEBUG is not set
+# CONFIG_BDI_SWITCH is not set
+# CONFIG_PPC_EARLY_DEBUG is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
+# CONFIG_SECURITY is not set
+CONFIG_SECURITYFS=y
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_CRYPTO=m
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=m
+CONFIG_CRYPTO_ALGAPI2=m
+CONFIG_CRYPTO_AEAD2=m
+CONFIG_CRYPTO_BLKCIPHER=m
+CONFIG_CRYPTO_BLKCIPHER2=m
+CONFIG_CRYPTO_HASH2=m
+CONFIG_CRYPTO_RNG2=m
+CONFIG_CRYPTO_PCOMP2=m
+CONFIG_CRYPTO_MANAGER=m
+CONFIG_CRYPTO_MANAGER2=m
+# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
+CONFIG_CRYPTO_GF128MUL=m
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_WORKQUEUE=m
+# CONFIG_CRYPTO_CRYPTD is not set
+# CONFIG_CRYPTO_AUTHENC is not set
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Authenticated Encryption with Associated Data
+#
+# CONFIG_CRYPTO_CCM is not set
+# CONFIG_CRYPTO_GCM is not set
+# CONFIG_CRYPTO_SEQIV is not set
+
+#
+# Block modes
+#
+# CONFIG_CRYPTO_CBC is not set
+# CONFIG_CRYPTO_CTR is not set
+# CONFIG_CRYPTO_CTS is not set
+CONFIG_CRYPTO_ECB=m
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_PCBC is not set
+# CONFIG_CRYPTO_XTS is not set
+
+#
+# Hash modes
+#
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_VMAC is not set
+
+#
+# Digest
+#
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_GHASH is not set
+# CONFIG_CRYPTO_MD4 is not set
+# CONFIG_CRYPTO_MD5 is not set
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# 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 is not set
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_WP512 is not set
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=m
+# CONFIG_CRYPTO_ANUBIS is not set
+CONFIG_CRYPTO_ARC4=m
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_DES is not set
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_SEED is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+
+#
+# Compression
+#
+# CONFIG_CRYPTO_DEFLATE is not set
+# CONFIG_CRYPTO_ZLIB is not set
+# CONFIG_CRYPTO_LZO is not set
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_USER_API_HASH is not set
+# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
+# CONFIG_CRYPTO_HW is not set
+# CONFIG_PPC_CLOCK is not set
+# CONFIG_VIRTUALIZATION is not set
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/configs/44x/invader_defconfig_th ../linux-2.6.39.4/arch/powerpc/configs/44x/invader_defconfig_th
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/configs/44x/invader_defconfig_th	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/configs/44x/invader_defconfig_th	2011-10-25 15:45:22.969109821 +0530
@@ -0,0 +1,1124 @@
+#
+# Automatically generated make config: don't edit
+# Linux/powerpc 2.6.39.4 Kernel Configuration
+# Tue Oct 25 15:44:04 2011
+#
+# CONFIG_PPC64 is not set
+
+#
+# Processor support
+#
+# CONFIG_PPC_BOOK3S_32 is not set
+# CONFIG_PPC_85xx is not set
+# CONFIG_PPC_8xx is not set
+# CONFIG_40x is not set
+CONFIG_44x=y
+# CONFIG_E200 is not set
+CONFIG_4xx=y
+CONFIG_BOOKE=y
+CONFIG_PTE_64BIT=y
+CONFIG_PHYS_64BIT=y
+CONFIG_PPC_MMU_NOHASH=y
+CONFIG_PPC_MMU_NOHASH_32=y
+# CONFIG_PPC_MM_SLICES is not set
+# CONFIG_SMP is not set
+# CONFIG_NOT_COHERENT_CACHE is not set
+CONFIG_PPC32=y
+CONFIG_32BIT=y
+CONFIG_WORD_SIZE=32
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_MMU=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
+CONFIG_NR_IRQS=512
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_ARCH_HAS_ILOG2_U32=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+CONFIG_GENERIC_FIND_BIT_LE=y
+# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
+CONFIG_PPC=y
+CONFIG_EARLY_PRINTK=y
+CONFIG_GENERIC_NVRAM=y
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_PPC_OF=y
+CONFIG_PPC_UDBG_16550=y
+# CONFIG_GENERIC_TBSYNC is not set
+CONFIG_AUDIT_ARCH=y
+CONFIG_GENERIC_BUG=y
+# CONFIG_DEFAULT_UIMAGE is not set
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_PPC_DCR_NATIVE=y
+# CONFIG_PPC_DCR_MMIO is not set
+CONFIG_PPC_DCR=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_PPC_ADV_DEBUG_REGS=y
+CONFIG_PPC_ADV_DEBUG_IACS=4
+CONFIG_PPC_ADV_DEBUG_DACS=2
+CONFIG_PPC_ADV_DEBUG_DVCS=2
+CONFIG_PPC_ADV_DEBUG_DAC_RANGE=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_CONSTRUCTORS=y
+CONFIG_HAVE_IRQ_WORK=y
+CONFIG_IRQ_WORK=y
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_CROSS_COMPILE=""
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_FHANDLE is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_AUDIT is not set
+CONFIG_HAVE_GENERIC_HARDIRQS=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_HAVE_SPARSE_IRQ=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
+# CONFIG_SPARSE_IRQ is not set
+
+#
+# RCU Subsystem
+#
+CONFIG_TINY_RCU=y
+# CONFIG_PREEMPT_RCU is not set
+# CONFIG_RCU_TRACE is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=17
+# CONFIG_CGROUPS is not set
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+# CONFIG_SCHED_AUTOGROUP is not set
+CONFIG_SYSFS_DEPRECATED=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_XZ=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+# CONFIG_EXPERT is not set
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_KALLSYMS_EXTRA_PASS=y
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=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_EMBEDDED is not set
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+CONFIG_PERF_COUNTERS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLUB_DEBUG=y
+CONFIG_COMPAT_BRK=y
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+# CONFIG_PROFILING is not set
+CONFIG_TRACEPOINTS=y
+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_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+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_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+# CONFIG_INLINE_SPIN_TRYLOCK is not set
+# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK is not set
+# CONFIG_INLINE_SPIN_LOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
+CONFIG_INLINE_SPIN_UNLOCK=y
+# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
+CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
+# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_READ_TRYLOCK is not set
+# CONFIG_INLINE_READ_LOCK is not set
+# CONFIG_INLINE_READ_LOCK_BH is not set
+# CONFIG_INLINE_READ_LOCK_IRQ is not set
+# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
+CONFIG_INLINE_READ_UNLOCK=y
+# CONFIG_INLINE_READ_UNLOCK_BH is not set
+CONFIG_INLINE_READ_UNLOCK_IRQ=y
+# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_WRITE_TRYLOCK is not set
+# CONFIG_INLINE_WRITE_LOCK is not set
+# CONFIG_INLINE_WRITE_LOCK_BH is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
+CONFIG_INLINE_WRITE_UNLOCK=y
+# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
+CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
+# CONFIG_MUTEX_SPIN_ON_OWNER is not set
+# CONFIG_FREEZER is not set
+
+#
+# Platform support
+#
+# CONFIG_PPC_CELL is not set
+# CONFIG_PPC_CELL_NATIVE is not set
+# CONFIG_PQ2ADS is not set
+CONFIG_PPC_47x=y
+# CONFIG_BAMBOO is not set
+# CONFIG_BLUESTONE is not set
+# CONFIG_EBONY is not set
+# CONFIG_SAM440EP is not set
+# CONFIG_SEQUOIA is not set
+# CONFIG_TAISHAN is not set
+# CONFIG_KATMAI is not set
+# CONFIG_RAINIER is not set
+# CONFIG_WARP is not set
+# CONFIG_ARCHES is not set
+# CONFIG_CANYONLANDS is not set
+# CONFIG_GLACIER is not set
+# CONFIG_REDWOOD is not set
+# CONFIG_EIGER is not set
+# CONFIG_YOSEMITE is not set
+# CONFIG_ISS4xx is not set
+# CONFIG_ICON is not set
+# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set
+CONFIG_PPC44x_SIMPLE=y
+# CONFIG_PPC4xx_GPIO is not set
+CONFIG_INVADER=y
+CONFIG_KVM_GUEST=y
+# CONFIG_IPIC is not set
+CONFIG_MPIC=y
+# CONFIG_MPIC_WEIRD is not set
+# CONFIG_PPC_I8259 is not set
+# CONFIG_PPC_RTAS is not set
+# CONFIG_MMIO_NVRAM is not set
+# CONFIG_MPIC_U3_HT_IRQS is not set
+# CONFIG_PPC_MPC106 is not set
+# CONFIG_PPC_970_NAP is not set
+# CONFIG_PPC_INDIRECT_IO is not set
+# CONFIG_GENERIC_IOMAP is not set
+# CONFIG_CPU_FREQ is not set
+# CONFIG_FSL_ULI1575 is not set
+# CONFIG_SIMPLE_GPIO is not set
+
+#
+# Kernel options
+#
+# CONFIG_HIGHMEM is not set
+# CONFIG_NO_HZ is not set
+# CONFIG_HIGH_RES_TIMERS is not set
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_250 is not set
+# CONFIG_HZ_300 is not set
+CONFIG_HZ_1000=y
+CONFIG_HZ=1000
+# CONFIG_SCHED_HRTICK is not set
+# CONFIG_PREEMPT_NONE is not set
+CONFIG_PREEMPT_VOLUNTARY=y
+# CONFIG_PREEMPT is not set
+CONFIG_BINFMT_ELF=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+# CONFIG_HAVE_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_MATH_EMULATION is not set
+# CONFIG_IOMMU_HELPER is not set
+# CONFIG_SWIOTLB is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_ARCH_HAS_WALK_MEMORY=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
+CONFIG_MAX_ACTIVE_REGIONS=32
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_HAVE_MEMBLOCK=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+# CONFIG_COMPACTION is not set
+CONFIG_MIGRATION=y
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+# CONFIG_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_NEED_PER_CPU_KM=y
+CONFIG_STDBINUTILS=y
+CONFIG_PPC_4K_PAGES=y
+# CONFIG_PPC_16K_PAGES is not set
+# CONFIG_PPC_64K_PAGES is not set
+CONFIG_FORCE_MAX_ZONEORDER=11
+CONFIG_CMDLINE_BOOL=y
+CONFIG_CMDLINE=""
+CONFIG_EXTRA_TARGETS=""
+# CONFIG_SUSPEND is not set
+# CONFIG_HIBERNATION is not set
+# CONFIG_PM_RUNTIME is not set
+# CONFIG_SECCOMP is not set
+CONFIG_ISA_DMA_API=y
+
+#
+# Bus options
+#
+CONFIG_ZONE_DMA=y
+# CONFIG_NEED_DMA_MAP_STATE is not set
+CONFIG_NEED_SG_DMA_LENGTH=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_4xx_SOC=y
+CONFIG_PPC_PCI_CHOICE=y
+# CONFIG_PCI is not set
+# CONFIG_PCI_DOMAINS is not set
+# CONFIG_PCI_SYSCALL is not set
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+# CONFIG_PCCARD is not set
+# CONFIG_HAS_RAPIDIO is not set
+
+#
+# Advanced setup
+#
+CONFIG_ADVANCED_OPTIONS=y
+# CONFIG_LOWMEM_SIZE_BOOL is not set
+CONFIG_LOWMEM_SIZE=0x30000000
+CONFIG_PAGE_OFFSET_BOOL=y
+CONFIG_PAGE_OFFSET=0x70000000
+CONFIG_KERNEL_START_BOOL=y
+CONFIG_KERNEL_START=0x70000000
+CONFIG_PHYSICAL_START=0x00000000
+CONFIG_TASK_SIZE_BOOL=y
+CONFIG_TASK_SIZE=0x70000000
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+# CONFIG_INET is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# 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_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
+# CONFIG_BATMAN_ADV is not set
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=m
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_WIRELESS is not set
+# CONFIG_WIMAX is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+# CONFIG_CAIF is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_FIRMWARE_IN_KERNEL is not set
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+CONFIG_CONNECTOR=m
+CONFIG_MTD=m
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_TESTS is not set
+# CONFIG_MTD_PARTITIONS is not set
+
+#
+# User Modules And Translation Layers
+#
+# CONFIG_MTD_CHAR is not set
+# CONFIG_MTD_BLKDEVS is not set
+# CONFIG_MTD_BLOCK is not set
+# CONFIG_MTD_BLOCK_RO is not set
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_SM_FTL is not set
+# CONFIG_MTD_OOPS is not set
+# CONFIG_MTD_SWAP is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE 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_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+# CONFIG_MTD_NAND is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+# CONFIG_MTD_UBI is not set
+CONFIG_DTC=y
+CONFIG_OF=y
+
+#
+# Device Tree and Open Firmware support
+#
+# CONFIG_PROC_DEVICETREE is not set
+CONFIG_OF_FLATTREE=y
+CONFIG_OF_EARLY_FLATTREE=y
+CONFIG_OF_DYNAMIC=y
+CONFIG_OF_ADDRESS=y
+CONFIG_OF_IRQ=y
+CONFIG_OF_DEVICE=y
+CONFIG_OF_I2C=m
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_FD is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+# CONFIG_BLK_DEV_LOOP is not set
+
+#
+# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
+#
+# CONFIG_BLK_DEV_NBD is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=35000
+# CONFIG_BLK_DEV_XIP is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_XILINX_SYSACE is not set
+# CONFIG_BLK_DEV_HD is not set
+# CONFIG_SENSORS_LIS3LV02D is not set
+# CONFIG_MISC_DEVICES is not set
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+# CONFIG_SCSI_TGT is not set
+CONFIG_SCSI_NETLINK=y
+# CONFIG_SCSI_PROC_FS is not set
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+# CONFIG_BLK_DEV_SD is not set
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_CHR_DEV_SCH is not set
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+CONFIG_SCSI_SPI_ATTRS=m
+CONFIG_SCSI_FC_ATTRS=m
+CONFIG_SCSI_ISCSI_ATTRS=m
+CONFIG_SCSI_SAS_ATTRS=m
+CONFIG_SCSI_SAS_LIBSAS=m
+CONFIG_SCSI_SAS_HOST_SMP=y
+CONFIG_SCSI_SRP_ATTRS=m
+# CONFIG_SCSI_LOWLEVEL 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_TARGET_CORE is not set
+# CONFIG_MACINTOSH_DRIVERS is not set
+# CONFIG_NETDEVICES is not set
+# CONFIG_ISDN is not set
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+CONFIG_INPUT_POLLDEV=y
+CONFIG_INPUT_SPARSEKMAP=m
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_EVDEV is not set
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ADP5588=m
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_QT1070 is not set
+# CONFIG_KEYBOARD_QT2160 is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_TCA6416 is not set
+CONFIG_KEYBOARD_MAX7359=m
+# CONFIG_KEYBOARD_MCS is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+CONFIG_KEYBOARD_OPENCORES=m
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+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_TRACKPOINT=y
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_MOUSE_PS2_SENTELIC=y
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+CONFIG_MOUSE_SERIAL=m
+CONFIG_MOUSE_VSXXXAA=m
+CONFIG_MOUSE_SYNAPTICS_I2C=m
+# 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 is not set
+CONFIG_SERIO_SERPORT=y
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+# CONFIG_SERIO_XILINX_XPS_PS2 is not set
+# CONFIG_SERIO_ALTERA_PS2 is not set
+# CONFIG_SERIO_PS2MULT is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_N_GSM is not set
+# CONFIG_DEVKMEM is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=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_SHARE_IRQ=y
+# CONFIG_SERIAL_8250_DETECT_IRQ is not set
+# CONFIG_SERIAL_8250_RSA is not set
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_UARTLITE is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_OF_PLATFORM is not set
+# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
+# CONFIG_SERIAL_TIMBERDALE is not set
+# CONFIG_SERIAL_ALTERA_JTAGUART is not set
+# CONFIG_SERIAL_ALTERA_UART is not set
+# CONFIG_HVC_UDBG is not set
+# CONFIG_IPMI_HANDLER is not set
+# CONFIG_HW_RANDOM is not set
+# CONFIG_NVRAM is not set
+# CONFIG_GEN_RTC is not set
+# CONFIG_R3964 is not set
+# CONFIG_RAW_DRIVER is not set
+# CONFIG_TCG_TPM is not set
+# CONFIG_RAMOOPS is not set
+CONFIG_I2C=m
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=m
+# CONFIG_I2C_MUX is not set
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_SMBUS=m
+CONFIG_I2C_ALGOBIT=m
+CONFIG_I2C_ALGOPCA=m
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_IBM_IIC is not set
+# CONFIG_I2C_MPC is not set
+# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_PCA_PLATFORM=m
+# CONFIG_I2C_PXA_PCI is not set
+CONFIG_I2C_SIMTEC=m
+# CONFIG_I2C_XILINX is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+CONFIG_I2C_PARPORT_LIGHT=m
+# CONFIG_I2C_TAOS_EVM is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+CONFIG_I2C_STUB=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_SPI is not set
+
+#
+# PPS support
+#
+CONFIG_PPS=m
+# CONFIG_PPS_DEBUG is not set
+# CONFIG_NTP_PPS is not set
+
+#
+# PPS clients support
+#
+# CONFIG_PPS_CLIENT_KTIMER is not set
+# CONFIG_PPS_CLIENT_LDISC is not set
+
+#
+# PPS generators support
+#
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+# CONFIG_GPIOLIB is not set
+# CONFIG_W1 is not set
+# CONFIG_POWER_SUPPLY is not set
+# CONFIG_HWMON is not set
+CONFIG_THERMAL=y
+# CONFIG_WATCHDOG is not set
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB=m
+# CONFIG_SSB_DEBUG is not set
+# CONFIG_MFD_SUPPORT is not set
+# CONFIG_REGULATOR is not set
+# CONFIG_MEDIA_SUPPORT is not set
+
+#
+# Graphics support
+#
+# CONFIG_DRM is not set
+# CONFIG_VGASTATE is not set
+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+# CONFIG_FB is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Display device support
+#
+CONFIG_DISPLAY_SUPPORT=m
+
+#
+# Display hardware drivers
+#
+
+#
+# Console display driver support
+#
+CONFIG_DUMMY_CONSOLE=y
+# CONFIG_SOUND is not set
+# CONFIG_HID_SUPPORT is not set
+# CONFIG_USB_SUPPORT is not set
+# CONFIG_MMC is not set
+# CONFIG_MEMSTICK is not set
+# CONFIG_NEW_LEDS is not set
+# CONFIG_NFC_DEVICES is not set
+# CONFIG_ACCESSIBILITY 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
+# CONFIG_STAGING is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_EXT4_FS is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_BTRFS_FS is not set
+# CONFIG_NILFS2_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY_USER=y
+# CONFIG_FANOTIFY is not set
+# CONFIG_QUOTA is not set
+# CONFIG_QUOTACTL is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# Caches
+#
+# CONFIG_FSCACHE is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+# CONFIG_MSDOS_FS is not set
+# CONFIG_VFAT_FS is not set
+# 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 is not set
+# CONFIG_HUGETLB_PAGE is not set
+# CONFIG_CONFIGFS_FS is not set
+# CONFIG_MISC_FILESYSTEMS is not set
+# CONFIG_NETWORK_FILESYSTEMS is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_NLS is not set
+CONFIG_BINARY_PRINTF=y
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
+# CONFIG_CRC_T10DIF is not set
+# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC32=y
+# CONFIG_CRC7 is not set
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_XZ_DEC=y
+CONFIG_XZ_DEC_X86=y
+CONFIG_XZ_DEC_POWERPC=y
+CONFIG_XZ_DEC_IA64=y
+CONFIG_XZ_DEC_ARM=y
+CONFIG_XZ_DEC_ARMTHUMB=y
+CONFIG_XZ_DEC_SPARC=y
+CONFIG_XZ_DEC_BCJ=y
+# CONFIG_XZ_DEC_TEST is not set
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_XZ=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_NLATTR=y
+CONFIG_GENERIC_ATOMIC64=y
+CONFIG_AVERAGE=y
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_DEFAULT_MESSAGE_LOGLEVEL=7
+# CONFIG_ENABLE_WARN_DEPRECATED is not set
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=1024
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_STRIP_ASM_SYMS is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+# CONFIG_LOCKUP_DETECTOR is not set
+# CONFIG_HARDLOCKUP_DETECTOR is not set
+# CONFIG_DETECT_HUNG_TASK is not set
+CONFIG_SCHED_DEBUG=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_TIMER_STATS is not set
+# CONFIG_DEBUG_OBJECTS is not set
+CONFIG_SLUB_DEBUG_ON=y
+# CONFIG_SLUB_STATS 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_SPARSE_RCU_POINTER 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_BUGVERBOSE=y
+CONFIG_DEBUG_INFO=y
+# CONFIG_DEBUG_INFO_REDUCED is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_TEST_LIST_SORT is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+# CONFIG_LKDTM is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+# CONFIG_SYSCTL_SYSCALL_CHECK is not set
+# CONFIG_DEBUG_PAGEALLOC is not set
+CONFIG_NOP_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_TRACER_MAX_TRACE=y
+CONFIG_RING_BUFFER=y
+CONFIG_EVENT_TRACING=y
+# CONFIG_EVENT_POWER_TRACING_DEPRECATED is not set
+CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_TRACING=y
+CONFIG_GENERIC_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
+CONFIG_FUNCTION_TRACER=y
+CONFIG_FUNCTION_GRAPH_TRACER=y
+# CONFIG_IRQSOFF_TRACER is not set
+CONFIG_SCHED_TRACER=y
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+# CONFIG_STACK_TRACER is not set
+CONFIG_BLK_DEV_IO_TRACE=y
+CONFIG_DYNAMIC_FTRACE=y
+# CONFIG_FUNCTION_PROFILER is not set
+CONFIG_FTRACE_MCOUNT_RECORD=y
+# CONFIG_FTRACE_STARTUP_TEST is not set
+CONFIG_RING_BUFFER_BENCHMARK=m
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DMA_API_DEBUG is not set
+# CONFIG_ATOMIC64_SELFTEST is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+# CONFIG_TEST_KSTRTOX is not set
+CONFIG_PPC_DISABLE_WERROR=y
+CONFIG_PRINT_STACK_DEPTH=64
+CONFIG_DEBUG_STACKOVERFLOW=y
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_PPC_EMULATED_STATS is not set
+# CONFIG_CODE_PATCHING_SELFTEST is not set
+# CONFIG_FTR_FIXUP_SELFTEST is not set
+# CONFIG_MSI_BITMAP_SELFTEST is not set
+# CONFIG_XMON is not set
+# CONFIG_VIRQ_DEBUG is not set
+# CONFIG_BDI_SWITCH is not set
+# CONFIG_PPC_EARLY_DEBUG is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
+# CONFIG_SECURITY is not set
+# CONFIG_SECURITYFS is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_CRYPTO=m
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=m
+CONFIG_CRYPTO_ALGAPI2=m
+CONFIG_CRYPTO_AEAD2=m
+CONFIG_CRYPTO_BLKCIPHER=m
+CONFIG_CRYPTO_BLKCIPHER2=m
+CONFIG_CRYPTO_HASH2=m
+CONFIG_CRYPTO_RNG2=m
+CONFIG_CRYPTO_PCOMP2=m
+CONFIG_CRYPTO_MANAGER=m
+CONFIG_CRYPTO_MANAGER2=m
+# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
+CONFIG_CRYPTO_GF128MUL=m
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_WORKQUEUE=m
+# CONFIG_CRYPTO_CRYPTD is not set
+# CONFIG_CRYPTO_AUTHENC is not set
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Authenticated Encryption with Associated Data
+#
+# CONFIG_CRYPTO_CCM is not set
+# CONFIG_CRYPTO_GCM is not set
+# CONFIG_CRYPTO_SEQIV is not set
+
+#
+# Block modes
+#
+# CONFIG_CRYPTO_CBC is not set
+# CONFIG_CRYPTO_CTR is not set
+# CONFIG_CRYPTO_CTS is not set
+CONFIG_CRYPTO_ECB=m
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_PCBC is not set
+# CONFIG_CRYPTO_XTS is not set
+
+#
+# Hash modes
+#
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_VMAC is not set
+
+#
+# Digest
+#
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_GHASH is not set
+# CONFIG_CRYPTO_MD4 is not set
+# CONFIG_CRYPTO_MD5 is not set
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# 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 is not set
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_WP512 is not set
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=m
+# CONFIG_CRYPTO_ANUBIS is not set
+CONFIG_CRYPTO_ARC4=m
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_DES is not set
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_SEED is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+
+#
+# Compression
+#
+# CONFIG_CRYPTO_DEFLATE is not set
+# CONFIG_CRYPTO_ZLIB is not set
+# CONFIG_CRYPTO_LZO is not set
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_USER_API_HASH is not set
+# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
+# CONFIG_CRYPTO_HW is not set
+# CONFIG_PPC_CLOCK is not set
+# CONFIG_VIRTUALIZATION is not set
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/include/asm/bitops.h ../linux-2.6.39.4/arch/powerpc/include/asm/bitops.h
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/include/asm/bitops.h	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/include/asm/bitops.h	2011-10-22 06:38:25.203141637 +0530
@@ -318,13 +318,34 @@
 	return __test_and_clear_bit(nr ^ BITOP_LE_SWIZZLE, addr);
 }
 
+static inline unsigned long find_next_zero_bit_le(const void *addr,
+                unsigned long size, unsigned long offset)
+{
+        return find_next_zero_bit(addr, size, offset);
+}
+
+static inline unsigned long find_next_bit_le(const void *addr,
+                unsigned long size, unsigned long offset)
+{
+        return find_next_bit(addr, size, offset);
+}
+
+static inline unsigned long find_first_zero_bit_le(const void *addr,
+                unsigned long size)
+{
+        return find_first_zero_bit(addr, size);
+}
+
 #define find_first_zero_bit_le(addr, size) \
 	find_next_zero_bit_le((addr), (size), 0)
+/*
 unsigned long find_next_zero_bit_le(const void *addr,
 				    unsigned long size, unsigned long offset);
 
 unsigned long find_next_bit_le(const void *addr,
 				    unsigned long size, unsigned long offset);
+*/
+
 /* Bitmap functions for the ext2 filesystem */
 
 #define ext2_set_bit_atomic(lock, nr, addr) \
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/include/asm/byteorder.h ../linux-2.6.39.4/arch/powerpc/include/asm/byteorder.h
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/include/asm/byteorder.h	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/include/asm/byteorder.h	2011-10-22 06:38:25.254182204 +0530
@@ -7,6 +7,12 @@
  * as published by the Free Software Foundation; either version
  * 2 of the License, or (at your option) any later version.
  */
+
+#ifdef CONFIG_INVADER
+#include <linux/byteorder/little_endian.h>
+#else
 #include <linux/byteorder/big_endian.h>
+#endif
+
 
 #endif /* _ASM_POWERPC_BYTEORDER_H */
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/include/asm/elf.h ../linux-2.6.39.4/arch/powerpc/include/asm/elf.h
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/include/asm/elf.h	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/include/asm/elf.h	2011-10-22 06:38:25.140139532 +0530
@@ -118,13 +118,21 @@
 # define ELF_GREG_TYPE	elf_greg_t32
 # define ELF_ARCH	EM_PPC
 # define ELF_CLASS	ELFCLASS32
+#ifdef CONFIG_INVADER
+# define ELF_DATA	ELFDATA2LSB
+#else
 # define ELF_DATA	ELFDATA2MSB
+#endif
 #endif /* __powerpc64__ */
 
 #ifndef ELF_ARCH
 # define ELF_ARCH	EM_PPC64
 # define ELF_CLASS	ELFCLASS64
+#ifdef CONFIG_INVADER
+# define ELF_DATA	ELFDATA2LSB
+#else
 # define ELF_DATA	ELFDATA2MSB
+#endif
   typedef elf_greg_t64 elf_greg_t;
   typedef elf_gregset_t64 elf_gregset_t;
 #else
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/include/asm/mmu.h ../linux-2.6.39.4/arch/powerpc/include/asm/mmu.h
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/include/asm/mmu.h	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/include/asm/mmu.h	2011-10-22 06:38:25.156139844 +0530
@@ -75,7 +75,7 @@
 
 static inline int mmu_has_feature(unsigned long feature)
 {
-	return (cur_cpu_spec->mmu_features & feature);
+	return(cur_cpu_spec->mmu_features & feature);
 }
 
 extern unsigned int __start___mmu_ftr_fixup, __stop___mmu_ftr_fixup;
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/include/asm/pgtable-ppc32.h ../linux-2.6.39.4/arch/powerpc/include/asm/pgtable-ppc32.h
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/include/asm/pgtable-ppc32.h	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/include/asm/pgtable-ppc32.h	2011-10-28 13:54:33.350779238 +0530
@@ -63,8 +63,12 @@
 #ifdef CONFIG_HIGHMEM
 #define KVIRT_TOP	PKMAP_BASE
 #else
+#ifdef CONFIG_INVADER
+#define KVIRT_TOP	(0xbe000000UL)	
+#else
 #define KVIRT_TOP	(0xfe000000UL)	/* for now, could be FIXMAP_BASE ? */
 #endif
+#endif
 
 /*
  * ioremap_bot starts at that address. Early ioremaps move down from there,
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/include/asm/prom.h ../linux-2.6.39.4/arch/powerpc/include/asm/prom.h
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/include/asm/prom.h	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/include/asm/prom.h	2011-10-22 06:38:25.211141792 +0530
@@ -20,6 +20,10 @@
 #include <asm/irq.h>
 #include <asm/atomic.h>
 
+#ifdef CONFIG_INVADER
+#include <asm/io.h>
+#endif
+
 #define HAVE_ARCH_DEVTREE_FIXUPS
 
 #ifdef CONFIG_PPC32
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/include/asm/reg.h ../linux-2.6.39.4/arch/powerpc/include/asm/reg.h
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/include/asm/reg.h	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/include/asm/reg.h	2011-10-22 06:38:25.222139709 +0530
@@ -839,7 +839,11 @@
 #define PVR_403GC	0x00200200
 #define PVR_403GCX	0x00201400
 #define PVR_405GP	0x40110000
+#ifdef CONFIG_INVADER
+#define PVR_476		0x7ff52080
+#else
 #define PVR_476		0x11a52000
+#endif
 #define PVR_STB03XXX	0x40310000
 #define PVR_NP405H	0x41410000
 #define PVR_NP405L	0x41610000
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/include/asm/sfp-machine.h ../linux-2.6.39.4/arch/powerpc/include/asm/sfp-machine.h
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/include/asm/sfp-machine.h	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/include/asm/sfp-machine.h	2011-10-22 06:38:25.230134426 +0530
@@ -354,8 +354,10 @@
 	return 0
 
 #ifdef __BIG_ENDIAN
+aaaaaa
 #define __BYTE_ORDER __BIG_ENDIAN
 #else
+bbbbbb
 #define __BYTE_ORDER __LITTLE_ENDIAN
 #endif
 
Binary files ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/.asm-offsets.s.swp and ../linux-2.6.39.4/arch/powerpc/kernel/.asm-offsets.s.swp differ
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/cacheinfo.c ../linux-2.6.39.4/arch/powerpc/kernel/cacheinfo.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/cacheinfo.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/kernel/cacheinfo.c	2011-10-24 17:02:11.354148243 +0530
@@ -203,7 +203,12 @@
 	if (!cache_size)
 		return -ENODEV;
 
+	printk("cache size: 0x%u\n", be32_to_cpup(cache_size));
+#ifdef CONFIG_INVADER
+	*ret = be32_to_cpup(cache_size);
+#else
 	*ret = *cache_size;
+#endif
 	return 0;
 }
 
@@ -238,7 +243,12 @@
 	if (!line_size)
 		return -ENODEV;
 
+	printk("lne size: 0x%u\n", be32_to_cpup(line_size));
+#ifdef CONFIG_INVADER
+	*ret = be32_to_cpup(line_size);
+#else
 	*ret = *line_size;
+#endif
 	return 0;
 }
 
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/cputable.c ../linux-2.6.39.4/arch/powerpc/kernel/cputable.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/cputable.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/kernel/cputable.c	2011-10-22 06:38:27.763108473 +0530
@@ -1853,6 +1853,22 @@
 		.machine_check		= machine_check_47x,
 		.platform		= "ppc470",
 	},
+#ifdef CONFIG_INVADER
+        { /* 476 others */
+                .pvr_mask               = 0xffffffff,
+                .pvr_value              = 0x7ff52080,
+                .cpu_name               = "476fp",
+                .cpu_features           = CPU_FTRS_47X,
+                .cpu_user_features      = COMMON_USER_BOOKE |
+                        PPC_FEATURE_HAS_FPU,
+                .mmu_features           = MMU_FTR_TYPE_47x |
+                        MMU_FTR_USE_TLBIVAX_BCAST | MMU_FTR_LOCK_BCAST_INVAL,
+                .icache_bsize           = 32,
+                .dcache_bsize           = 32,
+                .machine_check          = machine_check_47x,
+                .platform               = "ppc470",
+        },
+#endif
 	{	/* default match */
 		.pvr_mask		= 0x00000000,
 		.pvr_value		= 0x00000000,
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/crash.c ../linux-2.6.39.4/arch/powerpc/kernel/crash.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/crash.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/kernel/crash.c	2011-10-24 18:35:39.117111256 +0530
@@ -36,7 +36,8 @@
 #include <asm/system.h>
 #include <asm/setjmp.h>
 
-#ifdef DEBUG
+//#ifdef DEBUG
+#if 1
 #include <asm/udbg.h>
 #define DBG(fmt...) udbg_printf(fmt)
 #else
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/head_44x.S ../linux-2.6.39.4/arch/powerpc/kernel/head_44x.S
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/head_44x.S	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/kernel/head_44x.S	2011-10-30 16:00:57.409103255 +0530
@@ -259,8 +259,14 @@
 
 	/* Compute pte address */
 	rlwimi  r12, r10, PPC44x_PTE_ADD_SHIFT, PPC44x_PTE_ADD_MASK_BIT, 28
+
+#ifdef CONFIG_INVADER
+	lwz	r11, 4(r12)		/* Get high word of pte entry */
+	lwz	r12, 0(r12)		/* Get low word of pte entry */
+#else
 	lwz	r11, 0(r12)		/* Get high word of pte entry */
 	lwz	r12, 4(r12)		/* Get low word of pte entry */
+#endif
 
 	lis	r10,tlb_44x_index@ha
 
@@ -355,8 +361,13 @@
 
 	/* Compute pte address */
 	rlwimi	r12, r10, PPC44x_PTE_ADD_SHIFT, PPC44x_PTE_ADD_MASK_BIT, 28
+#ifdef CONFIG_INVADER
+	lwz	r11, 4(r12)		/* Get high word of pte entry */
+	lwz	r12, 0(r12)		/* Get low word of pte entry */
+#else
 	lwz	r11, 0(r12)		/* Get high word of pte entry */
 	lwz	r12, 4(r12)		/* Get low word of pte entry */
+#endif
 
 	lis	r10,tlb_44x_index@ha
 
@@ -508,8 +519,12 @@
 	/* Compute pte address */
 	rlwimi  r12,r10,PPC44x_PTE_ADD_SHIFT,PPC44x_PTE_ADD_MASK_BIT,28
 	beq	2f			/* Bail if no table */
-	lwz	r11,0(r12)		/* Get high word of pte entry */
 
+#ifdef CONFIG_INVADER
+	lwz	r11,4(r12)		/* Get high word of pte entry */
+#else
+	lwz	r11,0(r12)		/* Get high word of pte entry */
+#endif
 	/* XXX can we do better ? maybe insert a known 0 bit from r11 into the
 	 * bottom of r12 to create a data dependency... We can also use r10
 	 * as destination nowadays
@@ -517,8 +532,12 @@
 #ifdef CONFIG_SMP
 	lwsync
 #endif
-	lwz	r12,4(r12)		/* Get low word of pte entry */
 
+#ifdef CONFIG_INVADER
+	lwz	r12,0(r12)		/* Get low word of pte entry */
+#else
+	lwz	r12,4(r12)		/* Get low word of pte entry */
+#endif
 	andc.	r13,r13,r12		/* Check permission */
 
 	 /* Jump to common tlb load */
@@ -592,15 +611,23 @@
 	rlwimi  r12,r10,PPC44x_PTE_ADD_SHIFT,PPC44x_PTE_ADD_MASK_BIT,28
 	beq	2f			/* Bail if no table */
 
+#ifdef CONFIG_INVADER
+	lwz	r11,4(r12)		/* Get high word of pte entry */
+#else
 	lwz	r11,0(r12)		/* Get high word of pte entry */
+#endif
 	/* XXX can we do better ? maybe insert a known 0 bit from r11 into the
 	 * bottom of r12 to create a data dependency... We can also use r10
 	 * as destination nowadays
 	 */
-#ifdef CONFIG_SMP
+#ifndef CONFIG_SMP
 	lwsync
 #endif
+#ifdef CONFIG_INVADER
+	lwz	r11,0(r12)		/* Get high word of pte entry */
+#else
 	lwz	r12,4(r12)		/* Get low word of pte entry */
+#endif
 
 	andc.	r13,r13,r12		/* Check permission */
 
@@ -638,8 +665,12 @@
 	rlwimi	r10,r12,29,30,30		/* DIRTY -> SW position */
 	and	r11,r12,r10			/* Mask PTE bits to keep */
 	andi.	r10,r12,_PAGE_USER		/* User page ? */
+#ifdef CONFIG_INVADER
+	ori	r11,r11,PPC47x_TLB2_E
+#endif
 	beq	1f				/* nope, leave U bits empty */
 	rlwimi	r11,r11,3,26,28			/* yes, copy S bits to U */
+
 1:	tlbwe	r11,r13,2
 
 	/* Done...restore registers and get out of here.
@@ -935,6 +966,13 @@
  */
 
 head_start_47x:
+//	.align
+	nop
+	nop
+	nop
+	
+	li r3, 0x3
+	rlwinm r23, r3, 1, 31, 31
 	/* Load our current PID->MMUCR TID and MSR IS->MMUCR STS */
 	mfspr	r3,SPRN_PID			/* Get PID */
 	mfmsr	r4				/* Get MSR */
@@ -964,8 +1002,7 @@
 clear_all_utlb_entries:
 
 	#; Set initial values.
-
-	addis		r3,0,0x8000
+	addis		r3,0,0xa000	/* Invader change: quick fix?? */
 	addi		r4,0,0
 	addi		r5,0,0
 	b		clear_utlb_entry
@@ -976,6 +1013,7 @@
 
 clear_utlb_entry:
 
+//	isync	//not needed ??
 	tlbwe		r4,r3,0
 	tlbwe		r5,r3,1
 	tlbwe		r5,r3,2
@@ -987,12 +1025,15 @@
 	cmpwi		r4,0
 	bne		clear_utlb_entry
 
-	#; Restore original entry.
 
+	#; Restore original entry.
+#ifndef CONFIG_INVDER
+// Invader change 
 	oris	r23,r23,0x8000  /* specify the way */
 	tlbwe		r24,r23,0
 	tlbwe		r25,r23,1
 	tlbwe		r26,r23,2
+#endif
 
 /*
  * Configure and load pinned entry into TLB for the kernel core
@@ -1018,7 +1059,12 @@
 					/* ERPN is 0 for first 4GB page */
 	/* Word 2 */
 	li	r5,0
+#ifdef CONFIG_INVADER
+	ori	r5,r5,(PPC47x_TLB2_S_RWX|PPC47x_TLB2_E)
+#else
 	ori	r5,r5,PPC47x_TLB2_S_RWX
+#endif
+
 #ifdef CONFIG_SMP
 	ori	r5,r5,PPC47x_TLB2_M
 #endif
@@ -1062,14 +1108,19 @@
 
 	/* Word 0 */
 	lis	r3,PPC44x_EARLY_DEBUG_VIRTADDR@h
-	ori	r3,r3,PPC47x_TLB0_VALID | PPC47x_TLB0_TS | PPC47x_TLB0_1M
+	ori	r3,r3, (PPC47x_TLB0_VALID | PPC47x_TLB0_TS | PPC47x_TLB0_1M)
 
 	/* Word 1 */
 	lis	r4,CONFIG_PPC_EARLY_DEBUG_44x_PHYSLOW@h
 	ori	r4,r4,CONFIG_PPC_EARLY_DEBUG_44x_PHYSHIGH
 
-	/* Word 2 */
+#ifdef CONFIG_INVADER
+	/* Removing M flag as there is no SMP support for now*/
+	li	r5,(PPC47x_TLB2_S_RW | PPC47x_TLB2_I | PPC47x_TLB2_G | PPC47x_TLB2_E)
+
+#else
 	li	r5,(PPC47x_TLB2_S_RW | PPC47x_TLB2_IMG)
+#endif
 
 	/* Bolted in way 0, bolt slot 5, we -hope- we don't hit the same
 	 * congruence class as the kernel, we need to make sure of it at
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/irq.c ../linux-2.6.39.4/arch/powerpc/kernel/irq.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/irq.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/kernel/irq.c	2011-10-24 16:36:08.295113827 +0530
@@ -757,7 +757,11 @@
 
 	/* If host has no translation, then we assume interrupt line */
 	if (host->ops->xlate == NULL)
+#ifdef CONFIG_INVADER
+		hwirq = be32_to_cpu(intspec[0]);
+#else
 		hwirq = intspec[0];
+#endif
 	else {
 		if (host->ops->xlate(host, controller, intspec, intsize,
 				     &hwirq, &type))
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/misc_32.S ../linux-2.6.39.4/arch/powerpc/kernel/misc_32.S
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/misc_32.S	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/kernel/misc_32.S	2011-10-26 15:51:22.562068744 +0530
@@ -60,6 +60,32 @@
 /*
  * This returns the high 64 bits of the product of two 64-bit numbers.
  */
+
+#ifdef CONFIG_INVADER
+_GLOBAL(mulhdu)
+       cmpwi   r5,0
+       cmpwi   cr1,r4,0
+       mr      r10,r3
+       mulhwu  r3,r3,r6
+       beq     1f
+       mulhwu  r0,r10,r5
+       mullw   r7,r10,r6
+       addc    r7,r0,r7
+       addze   r3,r3
+1:     beqlr   cr1             /* all done if high part of A is 0 */
+       mr      r10,r4
+       mullw   r9,r4,r6
+       mulhwu  r4,r4,r6
+       beq     2f
+       mullw   r0,r10,r5
+       mulhwu  r8,r10,r5
+       addc    r7,r0,r7
+       adde    r3,r3,r8
+       addze   r4,r4
+2:     addc    r3,r3,r9
+       addze   r4,r4
+       blr
+#else
 _GLOBAL(mulhdu)
 	cmpwi	r6,0
 	cmpwi	cr1,r3,0
@@ -83,6 +109,7 @@
 2:	addc	r4,r4,r9
 	addze	r3,r3
 	blr
+#endif
 
 /*
  * sub_reloc_offset(x) returns x - reloc_offset().
@@ -605,6 +632,42 @@
  *  lshrdi3: logical right shift
  *  ashldi3: left shift
  */
+#ifdef CONFIG_INVADER
+_GLOBAL(__ashrdi3)
+       subfic  r6,r5,32
+       srw     r3,r3,r5        # LSW = count > 31 ? 0 : LSW >> count
+       addi    r7,r5,32        # could be xori, or addi with -32
+       slw     r6,r4,r6        # t1 = count > 31 ? 0 : MSW << (32-count)
+       rlwinm  r8,r7,0,32      # t3 = (count < 32) ? 32 : 0
+       sraw    r7,r4,r7        # t2 = MSW >> (count-32)
+       or      r3,r3,r6        # LSW |= t1
+       slw     r7,r7,r8        # t2 = (count < 32) ? 0 : t2
+       sraw    r4,r4,r5        # MSW = MSW >> count
+       or      r3,r3,r7        # LSW |= t2
+       blr
+
+_GLOBAL(__ashldi3)
+       subfic  r6,r5,32
+       slw     r4,r4,r5        # MSW = count > 31 ? 0 : MSW << count
+       addi    r7,r5,32        # could be xori, or addi with -32
+       srw     r6,r3,r6        # t1 = count > 31 ? 0 : LSW >> (32-count)
+       slw     r7,r3,r7        # t2 = count < 32 ? 0 : LSW << (count-32)
+       or      r4,r4,r6        # MSW |= t1
+       slw     r3,r3,r5        # LSW = LSW << count
+       or      r4,r4,r7        # MSW |= t2
+       blr
+
+_GLOBAL(__lshrdi3)
+       subfic  r6,r5,32
+       srw     r3,r3,r5        # LSW = count > 31 ? 0 : LSW >> count
+       addi    r7,r5,32        # could be xori, or addi with -32
+       slw     r6,r4,r6        # t1 = count > 31 ? 0 : MSW << (32-count)
+       srw     r7,r4,r7        # t2 = count < 32 ? 0 : MSW >> (count-32)
+       or      r3,r3,r6        # LSW |= t1
+       srw     r4,r4,r5        # MSW = MSW >> count
+       or      r3,r3,r7        # LSW |= t2
+       blr
+#else
 _GLOBAL(__ashrdi3)
 	subfic	r6,r5,32
 	srw	r4,r4,r5	# LSW = count > 31 ? 0 : LSW >> count
@@ -639,6 +702,7 @@
 	srw	r3,r3,r5	# MSW = MSW >> count
 	or	r4,r4,r7	# LSW |= t2
 	blr
+#endif 
 
 /*
  * 64-bit comparison: __ucmpdi2(u64 a, u64 b)
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/module_32.c ../linux-2.6.39.4/arch/powerpc/kernel/module_32.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/module_32.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/kernel/module_32.c	2011-10-22 06:38:27.155103324 +0530
@@ -46,9 +46,15 @@
 	r_addend = 0;
 	for (i = 0; i < num; i++)
 		/* Only count 24-bit relocs, others don't need stubs */
+#ifdef CONFIG_INVADER
+		if ( ((ELF32_R_TYPE(rela[i].r_info) == R_PPC_REL24) && (ELF32_R_TYPE(rela[i].r_info) == R_PPC_REL14) &&
+		    (r_info != ELF32_R_SYM(rela[i].r_info) ||
+		     r_addend != rela[i].r_addend)) ) {
+#else
 		if (ELF32_R_TYPE(rela[i].r_info) == R_PPC_REL24 &&
 		    (r_info != ELF32_R_SYM(rela[i].r_info) ||
 		     r_addend != rela[i].r_addend)) {
+#endif
 			_count_relocs++;
 			r_info = ELF32_R_SYM(rela[i].r_info);
 			r_addend = rela[i].r_addend;
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/prom.c ../linux-2.6.39.4/arch/powerpc/kernel/prom.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/prom.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/kernel/prom.c	2011-10-22 12:32:28.777113831 +0530
@@ -103,6 +103,8 @@
 		memcpy(p, initial_boot_params, size);
 		initial_boot_params = (struct boot_param_header *)p;
 		DBG("Moved device tree to 0x%p\n", p);
+// invader debug
+		printk("Moved device tree to 0x%p\n", p);
 	}
 
 	DBG("<- move_device_tree\n");
@@ -300,7 +302,7 @@
 		 */
 		if (initial_boot_params && initial_boot_params->version >= 2) {
 			if (intserv[i] ==
-					initial_boot_params->boot_cpuid_phys) {
+					be32_to_cpu(initial_boot_params->boot_cpuid_phys)) {
 				found = 1;
 				break;
 			}
@@ -344,8 +346,14 @@
 		 * it uses 0x0f000001.
 		 */
 		prop = of_get_flat_dt_prop(node, "cpu-version", NULL);
+		printk(KERN_DEBUG "INVADER PVR: 0x%x\n", be32_to_cpup(prop));
+#ifdef CONFIG_INVADER
+		if (prop && (be32_to_cpup(prop) & 0xff000000) == 0x0f000000)
+			identify_cpu(0, be32_to_cpup(prop));
+#else
 		if (prop && (*prop & 0xff000000) == 0x0f000000)
 			identify_cpu(0, *prop);
+#endif
 
 		identical_pvr_fixup(node);
 	}
@@ -478,6 +486,7 @@
 				if ((base + size) > 0x80000000ul)
 					size = 0x80000000ul - base;
 			}
+			printk(KERN_DEBUG "memblk Add1 base: 0x%llx, size: 0x%llx", base, size);
 			memblock_add(base, size);
 		} while (--rngs);
 	}
@@ -516,6 +525,7 @@
 	memstart_addr = min((u64)memstart_addr, base);
 
 	/* Add the chunk to the MEMBLOCK list */
+	printk(KERN_DEBUG "memblk Add2 base: 0x%llx, size: 0x%llx", base, size);
 	memblock_add(base, size);
 }
 
@@ -541,12 +551,18 @@
 	unsigned long self_base;
 	unsigned long self_size;
 
+	// Invader Change
 	reserve_map = (u64 *)(((unsigned long)initial_boot_params) +
+#ifdef CONFIG_INVADER
+					be32_to_cpu(initial_boot_params->off_mem_rsvmap));
+#else
 					initial_boot_params->off_mem_rsvmap);
+#endif
 
 	/* before we do anything, lets reserve the dt blob */
 	self_base = __pa((unsigned long)initial_boot_params);
-	self_size = initial_boot_params->totalsize;
+	self_size = be32_to_cpu(initial_boot_params->totalsize);
+
 	memblock_reserve(self_base, self_size);
 
 #ifdef CONFIG_BLK_DEV_INITRD
@@ -560,13 +576,18 @@
 	 * Handle the case where we might be booting from an old kexec
 	 * image that setup the mem_rsvmap as pairs of 32-bit values
 	 */
-	if (*reserve_map > 0xffffffffull) {
+	if (be64_to_cpu(*reserve_map) > 0xffffffffull) {
 		u32 base_32, size_32;
 		u32 *reserve_map_32 = (u32 *)reserve_map;
 
 		while (1) {
+#ifdef CONFIG_INVADER
+			base_32 = be32_to_cpu(*(reserve_map_32++));
+			size_32 = be32_to_cpu(*(reserve_map_32++));
+#else
 			base_32 = *(reserve_map_32++);
 			size_32 = *(reserve_map_32++);
+#endif
 			if (size_32 == 0)
 				break;
 			/* skip if the reservation is for the blob */
@@ -579,11 +600,17 @@
 	}
 #endif
 	while (1) {
+// Invader Changes
+#ifdef CONFIG_INVADER
+		base = be64_to_cpu(*(reserve_map++));
+		size = be64_to_cpu(*(reserve_map++));
+#else
 		base = *(reserve_map++);
 		size = *(reserve_map++);
+#endif
 		if (size == 0)
 			break;
-		DBG("reserving: %llx -> %llx\n", base, size);
+		DBG("reserving2: %llx -> %llx\n", base, size);
 		memblock_reserve(base, size);
 	}
 }
@@ -912,8 +939,8 @@
 {
 	struct dentry *d;
 
-	flat_dt_blob.data = initial_boot_params;
-	flat_dt_blob.size = initial_boot_params->totalsize;
+	flat_dt_blob.data = (initial_boot_params);
+	flat_dt_blob.size = be32_to_cpu(initial_boot_params->totalsize);
 
 	d = debugfs_create_blob("flat-device-tree", S_IFREG | S_IRUSR,
 				powerpc_debugfs_root, &flat_dt_blob);
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/prom_init.c ../linux-2.6.39.4/arch/powerpc/kernel/prom_init.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/prom_init.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/kernel/prom_init.c	2011-10-22 06:38:27.610103651 +0530
@@ -789,7 +789,11 @@
 } fake_elf = {
 	.elfhdr = {
 		.e_ident = { 0x7f, 'E', 'L', 'F',
+#ifdef CONFIG_INVADER
+			     ELFCLASS32, ELFDATA2LSB, EV_CURRENT },
+#else
 			     ELFCLASS32, ELFDATA2MSB, EV_CURRENT },
+#endif
 		.e_type = ET_EXEC,	/* yeah right */
 		.e_machine = EM_PPC,
 		.e_version = EV_CURRENT,
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/udbg_16550.c ../linux-2.6.39.4/arch/powerpc/kernel/udbg_16550.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/udbg_16550.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/kernel/udbg_16550.c	2011-10-24 20:30:28.440111054 +0530
@@ -11,12 +11,35 @@
 #include <linux/types.h>
 #include <asm/udbg.h>
 #include <asm/io.h>
-
+#ifdef CONFIG_INVADER
+#include <asm/dcr-native.h>
+#endif
 extern u8 real_readb(volatile u8 __iomem  *addr);
 extern void real_writeb(u8 data, volatile u8 __iomem *addr);
 extern u8 real_205_readb(volatile u8 __iomem  *addr);
 extern void real_205_writeb(u8 data, volatile u8 __iomem *addr);
 
+#ifdef CONFIG_INVADER
+struct NS16550 {
+	/* this struct must be packed */
+	unsigned char rbr;  		/* 0 */
+	unsigned char reserved1[3];
+	unsigned char ier;  		/* 1 */
+	unsigned char reserved2[3];
+	unsigned char fcr;  		/* 2 */
+	unsigned char reserved3[3];
+	unsigned char lcr;  		/* 3 */
+	unsigned char reserved4[3];
+	unsigned char mcr;  		/* 4 */
+	unsigned char reserved5[3];
+	unsigned char lsr;  		/* 5 */
+	unsigned char reserved6[3];
+	unsigned char msr;  		/* 6 */
+	unsigned char reserved7[3];
+	unsigned char scr;  		/* 7 */
+	unsigned char reserved8[3];
+};
+#else
 struct NS16550 {
 	/* this struct must be packed */
 	unsigned char rbr;  /* 0 */
@@ -28,6 +51,7 @@
 	unsigned char msr;  /* 6 */
 	unsigned char scr;  /* 7 */
 };
+#endif
 
 #define thr rbr
 #define iir fcr
@@ -87,11 +111,48 @@
 	return -1;
 }
 
+static inline void MTDCR(Value, DCRAddress)      
+{
+   	 asm volatile ("mtdcrx  %0,%1" : : "r"(DCRAddress), "r"(Value));
+}
+
+static inline unsigned int MFDCR(DCRAddress)   
+{
+        unsigned int ret;
+
+   	asm volatile ("mfdcrx  %0,%1" : "=r"(ret) : "r"(DCRAddress));
+
+	return ret;
+}
+
+
+#define SASHW_DCR_CCR_MISC_CFG_ADDR	0xE007
+#define SASHW_DCR_CCR_MODSPCRST0_ADDR	0xE00C
+
 void udbg_init_uart(void __iomem *comport, unsigned int speed,
 		    unsigned int clock)
 {
 	unsigned int dll, base_bauds;
 
+//#ifdef CONFIG_INVADER
+#if 1
+	unsigned int dcrMiscCfg, dcrModuleReset;
+	
+        dcrMiscCfg = MFDCR(SASHW_DCR_CCR_MISC_CFG_ADDR);
+
+	/*	Set UART clk select */
+        dcrMiscCfg |= 1<<24;
+        MTDCR(SASHW_DCR_CCR_MISC_CFG_ADDR, dcrMiscCfg);
+
+        /* Reset the UART core just in case */
+        dcrModuleReset = MFDCR(SASHW_DCR_CCR_MODSPCRST0_ADDR);
+        dcrModuleReset |=  1<<7;
+
+        MTDCR(SASHW_DCR_CCR_MODSPCRST0_ADDR, dcrModuleReset);
+        dcrModuleReset &= ~(1<<7);
+        MTDCR(SASHW_DCR_CCR_MODSPCRST0_ADDR, dcrModuleReset);
+#endif
+
 	if (clock == 0)
 		clock = 1843200;
 	if (speed == 0)
@@ -100,6 +161,7 @@
 	base_bauds = clock / 16;
 	dll = base_bauds / speed;
 
+	printk(KERN_DEBUG "comport: 0x%p, clk: %u, spd: %u", comport, clock, speed);
 	if (comport) {
 		udbg_comport = (struct NS16550 __iomem *)comport;
 		out_8(&udbg_comport->lcr, 0x00);
@@ -114,6 +176,7 @@
 		out_8(&udbg_comport->mcr, 0x03);
 		/* Clear & enable FIFOs */
 		out_8(&udbg_comport->fcr ,0x07);
+		out_8(&udbg_comport->thr, 0x00);
 		udbg_putc = udbg_550_putc;
 		udbg_flush = udbg_550_flush;
 		udbg_getc = udbg_550_getc;
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/vmlinux.lds.S ../linux-2.6.39.4/arch/powerpc/kernel/vmlinux.lds.S
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/vmlinux.lds.S	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/kernel/vmlinux.lds.S	2011-10-22 06:38:27.713103244 +0530
@@ -34,11 +34,15 @@
 jiffies = jiffies_64;
 #else
 OUTPUT_ARCH(powerpc:common)
+#ifdef CONFIG_INVADER
 jiffies = jiffies_64 + 4;
+#else
+jiffies = jiffies_64 + 4;
+#endif
 #endif
 SECTIONS
 {
-	. = 0;
+	. = 0x00;
 	reloc_start = .;
 
 	. = KERNELBASE;
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/lib/div64.S ../linux-2.6.39.4/arch/powerpc/lib/div64.S
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/lib/div64.S	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/lib/div64.S	2011-10-22 06:38:28.053112501 +0530
@@ -17,8 +17,13 @@
 #include <asm/processor.h>
 
 _GLOBAL(__div64_32)
+#ifdef CONFIG_INVADER
+	lwz	r5,4(r3)	# get the dividend into r5/r6
+	lwz	r6,0(r3)
+#else
 	lwz	r5,0(r3)	# get the dividend into r5/r6
 	lwz	r6,4(r3)
+#endif
 	cmplw	r5,r4
 	li	r7,0
 	li	r8,0
@@ -53,7 +58,12 @@
 	mullw	r10,r0,r4	# and get the remainder
 	add	r8,r8,r0
 	subf	r6,r10,r6
+#ifdef CONFIG_INVADER
+4:	stw	r7,4(r3)	# return the quotient in *r3
+	stw	r8,0(r3)
+#else
 4:	stw	r7,0(r3)	# return the quotient in *r3
 	stw	r8,4(r3)
+#endif
 	mr	r3,r6		# return the remainder in r3
 	blr
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/Makefile ../linux-2.6.39.4/arch/powerpc/Makefile
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/Makefile	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/Makefile	2011-10-22 06:42:29.464137538 +0530
@@ -17,8 +17,8 @@
 # Set default 32 bits cross compilers for vdso and boot wrapper
 CROSS32_COMPILE ?=
 
-CROSS32CC		:= $(CROSS32_COMPILE)gcc
-CROSS32AR		:= $(CROSS32_COMPILE)ar
+CROSS32CC		:= $(CROSS32_COMPILE)gcc -mlittle-endian -mno-mfcrf
+CROSS32AR		:= $(CROSS32_COMPILE)ar -EL
 
 ifeq ($(HAS_BIARCH),y)
 ifeq ($(CROSS32_COMPILE),)
@@ -57,9 +57,9 @@
 UTS_MACHINE := $(OLDARCH)
 
 ifeq ($(HAS_BIARCH),y)
-override AS	+= -a$(CONFIG_WORD_SIZE)
-override LD	+= -m elf$(CONFIG_WORD_SIZE)ppc
-override CC	+= -m$(CONFIG_WORD_SIZE)
+override AS	+= -a$(CONFIG_WORD_SIZE) -mlittle-endian
+override LD	+= -m elf$(CONFIG_WORD_SIZE)ppc -EL
+override CC	+= -m$(CONFIG_WORD_SIZE) -mlittle-endian -mno-mfcrf
 override AR	:= GNUTARGET=elf$(CONFIG_WORD_SIZE)-powerpc $(AR)
 endif
 
@@ -68,10 +68,10 @@
 LDFLAGS_vmlinux	:= $(LDFLAGS_vmlinux-yy)
 
 CFLAGS-$(CONFIG_PPC64)	:= -mminimal-toc -mtraceback=none  -mcall-aixdesc
-CFLAGS-$(CONFIG_PPC32)	:= -ffixed-r2 -mmultiple
+CFLAGS-$(CONFIG_PPC32)	:= -ffixed-r2
 KBUILD_CPPFLAGS	+= -Iarch/$(ARCH)
 KBUILD_AFLAGS	+= -Iarch/$(ARCH)
-KBUILD_CFLAGS	+= -msoft-float -pipe -Iarch/$(ARCH) $(CFLAGS-y)
+KBUILD_CFLAGS	+= -msoft-float -pipe -Iarch/$(ARCH) $(CFLAGS-y) 
 CPP		= $(CC) -E $(KBUILD_CFLAGS)
 
 CHECKFLAGS	+= -m$(CONFIG_WORD_SIZE) -D__powerpc__ -D__powerpc$(CONFIG_WORD_SIZE)__
@@ -119,7 +119,7 @@
 
 # Never use string load/store instructions as they are
 # often slow when they are implemented at all
-KBUILD_CFLAGS		+= -mno-string
+#KBUILD_CFLAGS		+= -mno-string
 
 ifeq ($(CONFIG_6xx),y)
 KBUILD_CFLAGS		+= -mcpu=powerpc
@@ -130,7 +130,7 @@
 KBUILD_CFLAGS		+= -mno-sched-epilog
 endif
 
-cpu-as-$(CONFIG_4xx)		+= -Wa,-m405
+cpu-as-$(CONFIG_4xx)		+= -Wa,-m440
 cpu-as-$(CONFIG_6xx)		+= -Wa,-maltivec
 cpu-as-$(CONFIG_POWER4)		+= -Wa,-maltivec
 cpu-as-$(CONFIG_E500)		+= -Wa,-me500
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/mm/44x_mmu.c ../linux-2.6.39.4/arch/powerpc/mm/44x_mmu.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/mm/44x_mmu.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/mm/44x_mmu.c	2011-10-24 17:26:29.012226884 +0530
@@ -165,7 +165,12 @@
 		"tlbwe	%0,%3,2\n"
 		:
 		: "r" (PPC47x_TLB2_SW | PPC47x_TLB2_SR |
+#ifdef CONFIG_INVADER
+		       PPC47x_TLB2_SX | PPC47x_TLB2_E
+#else
 		       PPC47x_TLB2_SX
+#endif
+
 #ifdef CONFIG_SMP
 		       | PPC47x_TLB2_M
 #endif
@@ -223,6 +228,7 @@
 	 */
 	BUG_ON(first_memblock_base != 0);
 
+	printk(KERN_DEBUG "setup_initial_memory_limit: 0x%llx, 0x%llx\n", first_memblock_base, first_memblock_size);
 	/* 44x has a 256M TLB entry pinned at boot */
 	memblock_set_current_limit(min_t(u64, first_memblock_size, PPC_PIN_SIZE));
 }
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/mm/fault.c ../linux-2.6.39.4/arch/powerpc/mm/fault.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/mm/fault.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/mm/fault.c	2011-11-02 07:52:11.842146542 +0530
@@ -304,6 +304,7 @@
 			goto bad_area;
 	}
 
+	printk(KERN_NOTICE "do_page_fault\n");
 	/*
 	 * If for any reason at all we couldn't handle the fault,
 	 * make sure we exit gracefully rather than endlessly redo
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/mm/mem.c ../linux-2.6.39.4/arch/powerpc/mm/mem.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/mm/mem.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/mm/mem.c	2011-10-23 14:07:04.156102547 +0530
@@ -365,6 +365,7 @@
 #ifdef CONFIG_PPC32
 	pr_info("Kernel virtual memory layout:\n");
 	pr_info("  * 0x%08lx..0x%08lx  : fixmap\n", FIXADDR_START, FIXADDR_TOP);
+
 #ifdef CONFIG_HIGHMEM
 	pr_info("  * 0x%08lx..0x%08lx  : highmem PTEs\n",
 		PKMAP_BASE, PKMAP_ADDR(LAST_PKMAP));
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/mm/mmu_context_nohash.c ../linux-2.6.39.4/arch/powerpc/mm/mmu_context_nohash.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/mm/mmu_context_nohash.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/mm/mmu_context_nohash.c	2011-10-28 13:57:41.946779607 +0530
@@ -62,7 +62,6 @@
 #define CTX_MAP_SIZE	\
 	(sizeof(unsigned long) * (last_context / BITS_PER_LONG + 1))
 
-
 /* Steal a context from a task that has one at the moment.
  *
  * This is used when we are running out of available PID numbers
@@ -401,6 +400,7 @@
 	 * present if needed.
 	 *      -- BenH
 	 */
+
 	if (mmu_has_feature(MMU_FTR_TYPE_8xx)) {
 		first_context = 0;
 		last_context = 15;
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/platforms/invader/invader_setup.c ../linux-2.6.39.4/arch/powerpc/platforms/invader/invader_setup.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/platforms/invader/invader_setup.c	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/platforms/invader/invader_setup.c	2011-10-24 15:53:49.024532082 +0530
@@ -0,0 +1,87 @@
+/*
+	LSI HEADER ???
+*/
+
+#include <linux/init.h>
+#include <linux/of_platform.h>
+
+#include <asm/machdep.h>
+#include <asm/prom.h>
+#include <asm/udbg.h>
+#include <asm/time.h>
+#include <asm/mpic.h>
+#include <asm/ppc4xx.h>
+#include <asm/irq.h>
+#include <asm/pci-bridge.h>
+
+#define DEBUG 1
+
+static struct of_device_id invader_of_bus_ids[] = {
+	{ .compatible = "ibm,plb6", },
+        { .compatible = "simple-bus", },
+	{ .compatible = "chrp,open-pic", },
+	{},
+};
+
+static int __init invader_device_probe(void)
+{
+        of_platform_bus_probe(NULL, invader_of_bus_ids, NULL);
+
+        return 0;
+}
+machine_device_initcall(invader, invader_device_probe);
+
+static int __init invader_probe(void)
+{
+	unsigned long root = of_get_flat_dt_root();
+
+	if (!of_flat_dt_is_compatible(root, "LSI,Invader"))
+		return 0;
+
+	ppc_pci_set_flags(PPC_PCI_REASSIGN_ALL_RSRC);
+
+	return 1;
+}
+
+static void __init invader_init_irq(void)
+{
+        struct mpic *mpic;
+        struct resource r;
+        struct device_node *np = NULL;
+
+        /* Find top level interrupt controller */
+        for_each_node_with_property(np, "interrupt-controller") {
+                if (of_get_property(np, "interrupts", NULL) == NULL)
+                        break;
+        }
+        if (np == NULL)
+                panic("Invader: Can't find top level interrupt controller");
+
+        if (of_device_is_compatible(np, "chrp,open-pic")) {
+                /* The MPIC driver will get everything it needs from the
+                 * device-tree, just pass 0 to all arguments
+                 */
+                mpic = mpic_alloc(np, 0, MPIC_PRIMARY|MPIC_WANTS_RESET, 0, 0, " MPIC ");
+                BUG_ON(mpic == NULL);
+                mpic_init(mpic);
+                ppc_md.get_irq = mpic_get_irq;
+        } else
+                panic("Invader: Unrecognized top level interrupt controller");
+
+	printk("\n\n\t\t\tMPIC initialized\n\n\n");
+}
+
+static void __init invader_progress(char *s, unsigned short hex)
+{
+        printk("*** %04x : %s\n", hex, s ? s : "");
+}
+
+define_machine(invader) {
+	.name			= "Invader",
+	.probe			= invader_probe,
+        .progress               = invader_progress,
+        .init_IRQ       	= invader_init_irq,
+        .get_irq        	= mpic_get_irq,
+        .calibrate_decr         = generic_calibrate_decr,
+        .restart                = ppc4xx_reset_system,
+};
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/platforms/invader/Kconfig ../linux-2.6.39.4/arch/powerpc/platforms/invader/Kconfig
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/platforms/invader/Kconfig	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/platforms/invader/Kconfig	2011-10-22 06:38:25.833134467 +0530
@@ -0,0 +1,8 @@
+config INVADER
+	bool "Invader"
+	depends on PPC_47x
+	help 
+	  This option enabled support for LSI PPC476 "Invader"
+		evaluation board.
+
+
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/platforms/invader/Makefile ../linux-2.6.39.4/arch/powerpc/platforms/invader/Makefile
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/platforms/invader/Makefile	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/platforms/invader/Makefile	2011-10-22 06:38:25.828374811 +0530
@@ -0,0 +1 @@
+obj-$(CONFIG_INVADER)       += invader_setup.o
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/platforms/Kconfig ../linux-2.6.39.4/arch/powerpc/platforms/Kconfig
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/platforms/Kconfig	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/platforms/Kconfig	2011-10-22 06:38:26.083147732 +0530
@@ -20,6 +20,7 @@
 source "arch/powerpc/platforms/44x/Kconfig"
 source "arch/powerpc/platforms/40x/Kconfig"
 source "arch/powerpc/platforms/amigaone/Kconfig"
+source "arch/powerpc/platforms/invader/Kconfig"
 
 config KVM_GUEST
 	bool "KVM Guest support"
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/platforms/Makefile ../linux-2.6.39.4/arch/powerpc/platforms/Makefile
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/platforms/Makefile	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/platforms/Makefile	2011-10-22 06:38:25.910151396 +0530
@@ -22,3 +22,4 @@
 obj-$(CONFIG_PPC_PS3)		+= ps3/
 obj-$(CONFIG_EMBEDDED6xx)	+= embedded6xx/
 obj-$(CONFIG_AMIGAONE)		+= amigaone/
+obj-$(CONFIG_INVADER)		+= invader/
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/sysdev/dcr.c ../linux-2.6.39.4/arch/powerpc/sysdev/dcr.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/sysdev/dcr.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/sysdev/dcr.c	2011-10-24 16:41:24.331106125 +0530
@@ -133,7 +133,12 @@
 	if (dr == NULL || ds & 1 || index >= (ds / 8))
 		return 0;
 
+	printk(KERN_DEBUG " dcr-reg: 0x%x", be32_to_cpu(dr[index * 2]));
+#ifdef CONFIG_INVADER
+	return be32_to_cpu(dr[index * 2]);
+#else
 	return dr[index * 2];
+#endif
 }
 EXPORT_SYMBOL_GPL(dcr_resource_start);
 
@@ -145,7 +150,12 @@
 	if (dr == NULL || ds & 1 || index >= (ds / 8))
 		return 0;
 
+	printk(KERN_DEBUG " dcr-reg2: 0x%x", be32_to_cpu(dr[index * 2]+1));
+#ifdef CONFIG_INVADER
+	return be32_to_cpu(dr[index * 2 + 1]);
+#else
 	return dr[index * 2 + 1];
+#endif
 }
 EXPORT_SYMBOL_GPL(dcr_resource_len);
 
@@ -177,6 +187,8 @@
 
 	/* Maybe could do some better range checking here */
 	ret = of_translate_address(dp, p);
+	
+	printk(KERN_DEBUG " translate-dcr-reg: 0x%llx", ret);
 	if (ret != OF_BAD_ADDR)
 		ret += (u64)(stride) * (u64)dcr_n;
 	if (out_stride)
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/sysdev/mpic.c ../linux-2.6.39.4/arch/powerpc/sysdev/mpic.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/sysdev/mpic.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/sysdev/mpic.c	2011-10-25 18:07:53.637770104 +0530
@@ -296,7 +296,7 @@
 
 	dbasep = of_get_property(node, "dcr-reg", NULL);
 
-	rb->dhost = dcr_map(node, *dbasep + offset, size);
+	rb->dhost = dcr_map(node, be32_to_cpup(dbasep) + offset, size);
 	BUG_ON(!DCR_MAP_OK(rb->dhost));
 }
 
@@ -1179,8 +1179,9 @@
 	 */
 	if (paddr == 0 && !(mpic->flags & MPIC_USES_DCR)) {
 		const u32 *reg = of_get_property(node, "reg", NULL);
+		printk(KERN_DEBUG "mpic: reg: 0x%x\n", *reg);
 		BUG_ON(reg == NULL);
-		paddr = of_translate_address(node, reg);
+		paddr = be32_to_cpu(of_translate_address(node, reg));
 		BUG_ON(paddr == OF_BAD_ADDR);
 	}
 
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/sysdev/ppc4xx_soc.c ../linux-2.6.39.4/arch/powerpc/sysdev/ppc4xx_soc.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/sysdev/ppc4xx_soc.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/sysdev/ppc4xx_soc.c	2011-10-25 18:04:40.509769915 +0530
@@ -93,7 +93,11 @@
 		of_node_put(np);
 		return -ENODEV;
 	}
+#ifdef CONFIG_INVADER
+	l2_size = be32_to_cpu(prop[0]);
+#else
 	l2_size = prop[0];
+#endif
 
 	/* Map DCRs */
 	dcrreg = of_get_property(np, "dcr-reg", &len);
@@ -103,8 +107,13 @@
 		of_node_put(np);
 		return -ENODEV;
 	}
+#ifdef CONFIG_INVADER
+	dcrbase_isram = be32_to_cpu(dcrreg[0]);
+	dcrbase_l2c = be32_to_cpu(dcrreg[2]);
+#else
 	dcrbase_isram = dcrreg[0];
 	dcrbase_l2c = dcrreg[2];
+#endif
 
 	/* Get and map irq number from device tree */
 	irq = irq_of_parse_and_map(np, 0);
@@ -199,6 +208,7 @@
 	struct device_node *np;
 	u32 reset_type = DBCR0_RST_SYSTEM;
 	const u32 *prop;
+	u32	propVal=0;
 
 	np = of_find_node_by_type(NULL, "cpu");
 	if (np) {
@@ -210,8 +220,17 @@
 		 * 2 - PPC4xx chip reset
 		 * 3 - PPC4xx system reset (default)
 		 */
+#ifdef CONFIG_INVADER
+		if (prop)
+		{
+			propVal = be32_to_cpup(prop);
+			if (((propVal>= 1) && (propVal <= 3)))
+				reset_type = propVal << 28;
+		}
+#else
 		if ((prop) && ((prop[0] >= 1) && (prop[0] <= 3)))
 			reset_type = prop[0] << 28;
+#endif
 	}
 
 	mtspr(SPRN_DBCR0, mfspr(SPRN_DBCR0) | reset_type);
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/tile/mm/init.c ../linux-2.6.39.4/arch/tile/mm/init.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/tile/mm/init.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/tile/mm/init.c	2011-10-23 14:01:25.747197765 +0530
@@ -866,7 +866,6 @@
 	datasize =  (unsigned long)&_end - (unsigned long)&_sdata;
 	initsize =  (unsigned long)&_einittext - (unsigned long)&_sinittext;
 	initsize += (unsigned long)&_einitdata - (unsigned long)&_sinitdata;
-
 	pr_info("Memory: %luk/%luk available (%dk kernel code, %dk data, %dk init, %ldk highmem)\n",
 		(unsigned long) nr_free_pages() << (PAGE_SHIFT-10),
 		num_physpages << (PAGE_SHIFT-10),
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/build.sh ../linux-2.6.39.4/build.sh
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/build.sh	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/build.sh	2011-10-22 06:39:26.410706279 +0530
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+#make -j 20 ARCH=powerpc CROSS_COMPILE=$CCL uImage
+su
+#rm -f /root/cm/uImage
+#cp ./arch/powerpc/boot/uImage /root/cm
+'exit'
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/.config ../linux-2.6.39.4/.config
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/.config	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/.config	2011-11-02 10:25:57.367824991 +0530
@@ -0,0 +1,1092 @@
+#
+# Automatically generated make config: don't edit
+# Linux/powerpc 2.6.39.4 Kernel Configuration
+# Wed Oct 26 17:30:02 2011
+#
+# CONFIG_PPC64 is not set
+
+#
+# Processor support
+#
+# CONFIG_PPC_BOOK3S_32 is not set
+# CONFIG_PPC_85xx is not set
+# CONFIG_PPC_8xx is not set
+# CONFIG_40x is not set
+CONFIG_44x=y
+# CONFIG_E200 is not set
+CONFIG_4xx=y
+CONFIG_BOOKE=y
+CONFIG_PTE_64BIT=y
+CONFIG_PHYS_64BIT=y
+CONFIG_PPC_MMU_NOHASH=y
+CONFIG_PPC_MMU_NOHASH_32=y
+# CONFIG_PPC_MM_SLICES is not set
+# CONFIG_SMP is not set
+# CONFIG_NOT_COHERENT_CACHE is not set
+CONFIG_PPC32=y
+CONFIG_32BIT=y
+CONFIG_WORD_SIZE=32
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_MMU=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
+CONFIG_NR_IRQS=512
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_ARCH_HAS_ILOG2_U32=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+CONFIG_GENERIC_FIND_BIT_LE=y
+# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
+CONFIG_PPC=y
+CONFIG_EARLY_PRINTK=y
+CONFIG_GENERIC_NVRAM=y
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_PPC_OF=y
+CONFIG_PPC_UDBG_16550=y
+# CONFIG_GENERIC_TBSYNC is not set
+CONFIG_AUDIT_ARCH=y
+CONFIG_GENERIC_BUG=y
+# CONFIG_DEFAULT_UIMAGE is not set
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_PPC_DCR_NATIVE=y
+# CONFIG_PPC_DCR_MMIO is not set
+CONFIG_PPC_DCR=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_PPC_ADV_DEBUG_REGS=y
+CONFIG_PPC_ADV_DEBUG_IACS=4
+CONFIG_PPC_ADV_DEBUG_DACS=2
+CONFIG_PPC_ADV_DEBUG_DVCS=2
+CONFIG_PPC_ADV_DEBUG_DAC_RANGE=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_CONSTRUCTORS=y
+CONFIG_HAVE_IRQ_WORK=y
+CONFIG_IRQ_WORK=y
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_CROSS_COMPILE=""
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_FHANDLE is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_AUDIT is not set
+CONFIG_HAVE_GENERIC_HARDIRQS=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_HAVE_SPARSE_IRQ=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
+# CONFIG_SPARSE_IRQ is not set
+
+#
+# RCU Subsystem
+#
+CONFIG_TINY_RCU=y
+# CONFIG_PREEMPT_RCU is not set
+# CONFIG_RCU_TRACE is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=17
+# CONFIG_CGROUPS is not set
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+# CONFIG_SCHED_AUTOGROUP is not set
+CONFIG_SYSFS_DEPRECATED=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_XZ=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+# CONFIG_EXPERT is not set
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_KALLSYMS_EXTRA_PASS=y
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=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_EMBEDDED is not set
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+CONFIG_PERF_COUNTERS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLUB_DEBUG=y
+CONFIG_COMPAT_BRK=y
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+# CONFIG_PROFILING is not set
+CONFIG_TRACEPOINTS=y
+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_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+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_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+# CONFIG_INLINE_SPIN_TRYLOCK is not set
+# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK is not set
+# CONFIG_INLINE_SPIN_LOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
+CONFIG_INLINE_SPIN_UNLOCK=y
+# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
+CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
+# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_READ_TRYLOCK is not set
+# CONFIG_INLINE_READ_LOCK is not set
+# CONFIG_INLINE_READ_LOCK_BH is not set
+# CONFIG_INLINE_READ_LOCK_IRQ is not set
+# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
+CONFIG_INLINE_READ_UNLOCK=y
+# CONFIG_INLINE_READ_UNLOCK_BH is not set
+CONFIG_INLINE_READ_UNLOCK_IRQ=y
+# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_WRITE_TRYLOCK is not set
+# CONFIG_INLINE_WRITE_LOCK is not set
+# CONFIG_INLINE_WRITE_LOCK_BH is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
+CONFIG_INLINE_WRITE_UNLOCK=y
+# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
+CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
+# CONFIG_MUTEX_SPIN_ON_OWNER is not set
+# CONFIG_FREEZER is not set
+
+#
+# Platform support
+#
+# CONFIG_PPC_CELL is not set
+# CONFIG_PPC_CELL_NATIVE is not set
+# CONFIG_PQ2ADS is not set
+CONFIG_PPC_47x=y
+# CONFIG_BAMBOO is not set
+# CONFIG_BLUESTONE is not set
+# CONFIG_EBONY is not set
+# CONFIG_SAM440EP is not set
+# CONFIG_SEQUOIA is not set
+# CONFIG_TAISHAN is not set
+# CONFIG_KATMAI is not set
+# CONFIG_RAINIER is not set
+# CONFIG_WARP is not set
+# CONFIG_ARCHES is not set
+# CONFIG_CANYONLANDS is not set
+# CONFIG_GLACIER is not set
+# CONFIG_REDWOOD is not set
+# CONFIG_EIGER is not set
+# CONFIG_YOSEMITE is not set
+# CONFIG_ISS4xx is not set
+# CONFIG_ICON is not set
+# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set
+CONFIG_PPC44x_SIMPLE=y
+# CONFIG_PPC4xx_GPIO is not set
+CONFIG_INVADER=y
+CONFIG_KVM_GUEST=y
+# CONFIG_IPIC is not set
+CONFIG_MPIC=y
+# CONFIG_MPIC_WEIRD is not set
+# CONFIG_PPC_I8259 is not set
+# CONFIG_PPC_RTAS is not set
+# CONFIG_MMIO_NVRAM is not set
+# CONFIG_MPIC_U3_HT_IRQS is not set
+# CONFIG_PPC_MPC106 is not set
+# CONFIG_PPC_970_NAP is not set
+# CONFIG_PPC_INDIRECT_IO is not set
+# CONFIG_GENERIC_IOMAP is not set
+# CONFIG_CPU_FREQ is not set
+# CONFIG_FSL_ULI1575 is not set
+# CONFIG_SIMPLE_GPIO is not set
+
+#
+# Kernel options
+#
+# CONFIG_HIGHMEM is not set
+# CONFIG_NO_HZ is not set
+# CONFIG_HIGH_RES_TIMERS is not set
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_250 is not set
+# CONFIG_HZ_300 is not set
+CONFIG_HZ_1000=y
+CONFIG_HZ=1000
+# CONFIG_SCHED_HRTICK is not set
+# CONFIG_PREEMPT_NONE is not set
+CONFIG_PREEMPT_VOLUNTARY=y
+# CONFIG_PREEMPT is not set
+CONFIG_BINFMT_ELF=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+# CONFIG_HAVE_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_MATH_EMULATION is not set
+# CONFIG_IOMMU_HELPER is not set
+# CONFIG_SWIOTLB is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_ARCH_HAS_WALK_MEMORY=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
+CONFIG_MAX_ACTIVE_REGIONS=32
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_HAVE_MEMBLOCK=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+# CONFIG_COMPACTION is not set
+CONFIG_MIGRATION=y
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+# CONFIG_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_NEED_PER_CPU_KM=y
+CONFIG_STDBINUTILS=y
+CONFIG_PPC_4K_PAGES=y
+# CONFIG_PPC_16K_PAGES is not set
+# CONFIG_PPC_64K_PAGES is not set
+CONFIG_FORCE_MAX_ZONEORDER=11
+CONFIG_CMDLINE_BOOL=y
+CONFIG_CMDLINE=""
+CONFIG_EXTRA_TARGETS=""
+# CONFIG_SUSPEND is not set
+# CONFIG_HIBERNATION is not set
+# CONFIG_PM_RUNTIME is not set
+# CONFIG_SECCOMP is not set
+CONFIG_ISA_DMA_API=y
+
+#
+# Bus options
+#
+CONFIG_ZONE_DMA=y
+# CONFIG_NEED_DMA_MAP_STATE is not set
+CONFIG_NEED_SG_DMA_LENGTH=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_4xx_SOC=y
+CONFIG_PPC_PCI_CHOICE=y
+# CONFIG_PCI is not set
+# CONFIG_PCI_DOMAINS is not set
+# CONFIG_PCI_SYSCALL is not set
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+# CONFIG_PCCARD is not set
+# CONFIG_HAS_RAPIDIO is not set
+
+#
+# Advanced setup
+#
+CONFIG_ADVANCED_OPTIONS=y
+# CONFIG_LOWMEM_SIZE_BOOL is not set
+CONFIG_LOWMEM_SIZE=0x30000000
+CONFIG_PAGE_OFFSET_BOOL=y
+CONFIG_PAGE_OFFSET=0x70000000
+CONFIG_KERNEL_START_BOOL=y
+CONFIG_KERNEL_START=0x70000000
+CONFIG_PHYSICAL_START=0x00000000
+CONFIG_TASK_SIZE_BOOL=y
+CONFIG_TASK_SIZE=0x70000000
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+# CONFIG_INET is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# 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_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
+# CONFIG_BATMAN_ADV is not set
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=m
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_WIRELESS is not set
+# CONFIG_WIMAX is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+# CONFIG_CAIF is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_FIRMWARE_IN_KERNEL is not set
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+CONFIG_CONNECTOR=m
+CONFIG_MTD=m
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_TESTS is not set
+# CONFIG_MTD_PARTITIONS is not set
+
+#
+# User Modules And Translation Layers
+#
+# CONFIG_MTD_CHAR is not set
+# CONFIG_MTD_BLKDEVS is not set
+# CONFIG_MTD_BLOCK is not set
+# CONFIG_MTD_BLOCK_RO is not set
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_SM_FTL is not set
+# CONFIG_MTD_OOPS is not set
+# CONFIG_MTD_SWAP is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE 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_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+# CONFIG_MTD_NAND is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+# CONFIG_MTD_UBI is not set
+CONFIG_DTC=y
+CONFIG_OF=y
+
+#
+# Device Tree and Open Firmware support
+#
+# CONFIG_PROC_DEVICETREE is not set
+CONFIG_OF_FLATTREE=y
+CONFIG_OF_EARLY_FLATTREE=y
+CONFIG_OF_DYNAMIC=y
+CONFIG_OF_ADDRESS=y
+CONFIG_OF_IRQ=y
+CONFIG_OF_DEVICE=y
+CONFIG_OF_I2C=m
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_FD is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+# CONFIG_BLK_DEV_LOOP is not set
+
+#
+# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
+#
+# CONFIG_BLK_DEV_NBD is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=35000
+# CONFIG_BLK_DEV_XIP is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_XILINX_SYSACE is not set
+# CONFIG_BLK_DEV_HD is not set
+# CONFIG_SENSORS_LIS3LV02D is not set
+# CONFIG_MISC_DEVICES is not set
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+# CONFIG_RAID_ATTRS is not set
+# CONFIG_SCSI is not set
+# CONFIG_SCSI_DMA is not set
+# CONFIG_SCSI_NETLINK is not set
+# CONFIG_ATA is not set
+# CONFIG_MD is not set
+# CONFIG_MACINTOSH_DRIVERS is not set
+# CONFIG_NETDEVICES is not set
+# CONFIG_ISDN is not set
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+CONFIG_INPUT_POLLDEV=y
+CONFIG_INPUT_SPARSEKMAP=m
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_EVDEV is not set
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ADP5588=m
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_QT1070 is not set
+# CONFIG_KEYBOARD_QT2160 is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_TCA6416 is not set
+CONFIG_KEYBOARD_MAX7359=m
+# CONFIG_KEYBOARD_MCS is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+CONFIG_KEYBOARD_OPENCORES=m
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+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_TRACKPOINT=y
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_MOUSE_PS2_SENTELIC=y
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+CONFIG_MOUSE_SERIAL=m
+CONFIG_MOUSE_VSXXXAA=m
+CONFIG_MOUSE_SYNAPTICS_I2C=m
+# 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 is not set
+CONFIG_SERIO_SERPORT=y
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+# CONFIG_SERIO_XILINX_XPS_PS2 is not set
+# CONFIG_SERIO_ALTERA_PS2 is not set
+# CONFIG_SERIO_PS2MULT is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_N_GSM is not set
+# CONFIG_DEVKMEM is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=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_SHARE_IRQ=y
+# CONFIG_SERIAL_8250_DETECT_IRQ is not set
+# CONFIG_SERIAL_8250_RSA is not set
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_UARTLITE is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_OF_PLATFORM is not set
+# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
+# CONFIG_SERIAL_TIMBERDALE is not set
+# CONFIG_SERIAL_ALTERA_JTAGUART is not set
+# CONFIG_SERIAL_ALTERA_UART is not set
+# CONFIG_HVC_UDBG is not set
+# CONFIG_IPMI_HANDLER is not set
+# CONFIG_HW_RANDOM is not set
+# CONFIG_NVRAM is not set
+# CONFIG_GEN_RTC is not set
+# CONFIG_R3964 is not set
+# CONFIG_RAW_DRIVER is not set
+# CONFIG_TCG_TPM is not set
+# CONFIG_RAMOOPS is not set
+CONFIG_I2C=m
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=m
+# CONFIG_I2C_MUX is not set
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_SMBUS=m
+CONFIG_I2C_ALGOBIT=m
+CONFIG_I2C_ALGOPCA=m
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_IBM_IIC is not set
+# CONFIG_I2C_MPC is not set
+# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_PCA_PLATFORM=m
+# CONFIG_I2C_PXA_PCI is not set
+CONFIG_I2C_SIMTEC=m
+# CONFIG_I2C_XILINX is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+CONFIG_I2C_PARPORT_LIGHT=m
+# CONFIG_I2C_TAOS_EVM is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+CONFIG_I2C_STUB=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_SPI is not set
+
+#
+# PPS support
+#
+CONFIG_PPS=m
+# CONFIG_PPS_DEBUG is not set
+# CONFIG_NTP_PPS is not set
+
+#
+# PPS clients support
+#
+# CONFIG_PPS_CLIENT_KTIMER is not set
+# CONFIG_PPS_CLIENT_LDISC is not set
+
+#
+# PPS generators support
+#
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+# CONFIG_GPIOLIB is not set
+# CONFIG_W1 is not set
+# CONFIG_POWER_SUPPLY is not set
+# CONFIG_HWMON is not set
+CONFIG_THERMAL=y
+# CONFIG_WATCHDOG is not set
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB=m
+# CONFIG_SSB_DEBUG is not set
+# CONFIG_MFD_SUPPORT is not set
+# CONFIG_REGULATOR is not set
+# CONFIG_MEDIA_SUPPORT is not set
+
+#
+# Graphics support
+#
+# CONFIG_DRM is not set
+# CONFIG_VGASTATE is not set
+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+# CONFIG_FB is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Display device support
+#
+CONFIG_DISPLAY_SUPPORT=m
+
+#
+# Display hardware drivers
+#
+
+#
+# Console display driver support
+#
+CONFIG_DUMMY_CONSOLE=y
+# CONFIG_SOUND is not set
+# CONFIG_HID_SUPPORT is not set
+# CONFIG_USB_SUPPORT is not set
+# CONFIG_MMC is not set
+# CONFIG_MEMSTICK is not set
+# CONFIG_NEW_LEDS is not set
+# CONFIG_NFC_DEVICES is not set
+# CONFIG_ACCESSIBILITY 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
+# CONFIG_STAGING is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_EXT4_FS is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_BTRFS_FS is not set
+# CONFIG_NILFS2_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY_USER=y
+# CONFIG_FANOTIFY is not set
+# CONFIG_QUOTA is not set
+# CONFIG_QUOTACTL is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# Caches
+#
+# CONFIG_FSCACHE is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+# CONFIG_MSDOS_FS is not set
+# CONFIG_VFAT_FS is not set
+# 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 is not set
+# CONFIG_HUGETLB_PAGE is not set
+# CONFIG_CONFIGFS_FS is not set
+# CONFIG_MISC_FILESYSTEMS is not set
+# CONFIG_NETWORK_FILESYSTEMS is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_NLS is not set
+CONFIG_BINARY_PRINTF=y
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
+# CONFIG_CRC_T10DIF is not set
+# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC32=y
+# CONFIG_CRC7 is not set
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_XZ_DEC=y
+CONFIG_XZ_DEC_X86=y
+CONFIG_XZ_DEC_POWERPC=y
+CONFIG_XZ_DEC_IA64=y
+CONFIG_XZ_DEC_ARM=y
+CONFIG_XZ_DEC_ARMTHUMB=y
+CONFIG_XZ_DEC_SPARC=y
+CONFIG_XZ_DEC_BCJ=y
+# CONFIG_XZ_DEC_TEST is not set
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_XZ=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_NLATTR=y
+CONFIG_GENERIC_ATOMIC64=y
+CONFIG_AVERAGE=y
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_DEFAULT_MESSAGE_LOGLEVEL=7
+# CONFIG_ENABLE_WARN_DEPRECATED is not set
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=1024
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_STRIP_ASM_SYMS is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+# CONFIG_LOCKUP_DETECTOR is not set
+# CONFIG_HARDLOCKUP_DETECTOR is not set
+# CONFIG_DETECT_HUNG_TASK is not set
+CONFIG_SCHED_DEBUG=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_TIMER_STATS is not set
+# CONFIG_DEBUG_OBJECTS is not set
+CONFIG_SLUB_DEBUG_ON=y
+# CONFIG_SLUB_STATS 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_SPARSE_RCU_POINTER 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_BUGVERBOSE=y
+CONFIG_DEBUG_INFO=y
+# CONFIG_DEBUG_INFO_REDUCED is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_TEST_LIST_SORT is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+# CONFIG_LKDTM is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+# CONFIG_SYSCTL_SYSCALL_CHECK is not set
+# CONFIG_DEBUG_PAGEALLOC is not set
+CONFIG_NOP_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_TRACER_MAX_TRACE=y
+CONFIG_RING_BUFFER=y
+CONFIG_EVENT_TRACING=y
+# CONFIG_EVENT_POWER_TRACING_DEPRECATED is not set
+CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_TRACING=y
+CONFIG_GENERIC_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
+CONFIG_FUNCTION_TRACER=y
+CONFIG_FUNCTION_GRAPH_TRACER=y
+# CONFIG_IRQSOFF_TRACER is not set
+CONFIG_SCHED_TRACER=y
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+# CONFIG_STACK_TRACER is not set
+CONFIG_BLK_DEV_IO_TRACE=y
+CONFIG_DYNAMIC_FTRACE=y
+# CONFIG_FUNCTION_PROFILER is not set
+CONFIG_FTRACE_MCOUNT_RECORD=y
+# CONFIG_FTRACE_STARTUP_TEST is not set
+CONFIG_RING_BUFFER_BENCHMARK=m
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DMA_API_DEBUG is not set
+# CONFIG_ATOMIC64_SELFTEST is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+# CONFIG_TEST_KSTRTOX is not set
+CONFIG_PPC_DISABLE_WERROR=y
+CONFIG_PRINT_STACK_DEPTH=64
+CONFIG_DEBUG_STACKOVERFLOW=y
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_PPC_EMULATED_STATS is not set
+# CONFIG_CODE_PATCHING_SELFTEST is not set
+# CONFIG_FTR_FIXUP_SELFTEST is not set
+# CONFIG_MSI_BITMAP_SELFTEST is not set
+# CONFIG_XMON is not set
+# CONFIG_VIRQ_DEBUG is not set
+# CONFIG_BDI_SWITCH is not set
+# CONFIG_PPC_EARLY_DEBUG is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
+# CONFIG_SECURITY is not set
+# CONFIG_SECURITYFS is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_CRYPTO=m
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=m
+CONFIG_CRYPTO_ALGAPI2=m
+CONFIG_CRYPTO_AEAD2=m
+CONFIG_CRYPTO_BLKCIPHER=m
+CONFIG_CRYPTO_BLKCIPHER2=m
+CONFIG_CRYPTO_HASH2=m
+CONFIG_CRYPTO_RNG2=m
+CONFIG_CRYPTO_PCOMP2=m
+CONFIG_CRYPTO_MANAGER=m
+CONFIG_CRYPTO_MANAGER2=m
+# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
+CONFIG_CRYPTO_GF128MUL=m
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_WORKQUEUE=m
+# CONFIG_CRYPTO_CRYPTD is not set
+# CONFIG_CRYPTO_AUTHENC is not set
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Authenticated Encryption with Associated Data
+#
+# CONFIG_CRYPTO_CCM is not set
+# CONFIG_CRYPTO_GCM is not set
+# CONFIG_CRYPTO_SEQIV is not set
+
+#
+# Block modes
+#
+# CONFIG_CRYPTO_CBC is not set
+# CONFIG_CRYPTO_CTR is not set
+# CONFIG_CRYPTO_CTS is not set
+CONFIG_CRYPTO_ECB=m
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_PCBC is not set
+# CONFIG_CRYPTO_XTS is not set
+
+#
+# Hash modes
+#
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_VMAC is not set
+
+#
+# Digest
+#
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_GHASH is not set
+# CONFIG_CRYPTO_MD4 is not set
+# CONFIG_CRYPTO_MD5 is not set
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# 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 is not set
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_WP512 is not set
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=m
+# CONFIG_CRYPTO_ANUBIS is not set
+CONFIG_CRYPTO_ARC4=m
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_DES is not set
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_SEED is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+
+#
+# Compression
+#
+# CONFIG_CRYPTO_DEFLATE is not set
+# CONFIG_CRYPTO_ZLIB is not set
+# CONFIG_CRYPTO_LZO is not set
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_USER_API_HASH is not set
+# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
+# CONFIG_CRYPTO_HW is not set
+# CONFIG_PPC_CLOCK is not set
+# CONFIG_VIRTUALIZATION is not set
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/.config.old ../linux-2.6.39.4/.config.old
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/.config.old	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/.config.old	2011-10-25 15:44:04.439141033 +0530
@@ -0,0 +1,1124 @@
+#
+# Automatically generated make config: don't edit
+# Linux/powerpc 2.6.39.4 Kernel Configuration
+# Tue Oct 25 15:44:04 2011
+#
+# CONFIG_PPC64 is not set
+
+#
+# Processor support
+#
+# CONFIG_PPC_BOOK3S_32 is not set
+# CONFIG_PPC_85xx is not set
+# CONFIG_PPC_8xx is not set
+# CONFIG_40x is not set
+CONFIG_44x=y
+# CONFIG_E200 is not set
+CONFIG_4xx=y
+CONFIG_BOOKE=y
+CONFIG_PTE_64BIT=y
+CONFIG_PHYS_64BIT=y
+CONFIG_PPC_MMU_NOHASH=y
+CONFIG_PPC_MMU_NOHASH_32=y
+# CONFIG_PPC_MM_SLICES is not set
+# CONFIG_SMP is not set
+# CONFIG_NOT_COHERENT_CACHE is not set
+CONFIG_PPC32=y
+CONFIG_32BIT=y
+CONFIG_WORD_SIZE=32
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_MMU=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
+CONFIG_NR_IRQS=512
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_ARCH_HAS_ILOG2_U32=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+CONFIG_GENERIC_FIND_BIT_LE=y
+# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
+CONFIG_PPC=y
+CONFIG_EARLY_PRINTK=y
+CONFIG_GENERIC_NVRAM=y
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_PPC_OF=y
+CONFIG_PPC_UDBG_16550=y
+# CONFIG_GENERIC_TBSYNC is not set
+CONFIG_AUDIT_ARCH=y
+CONFIG_GENERIC_BUG=y
+# CONFIG_DEFAULT_UIMAGE is not set
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_PPC_DCR_NATIVE=y
+# CONFIG_PPC_DCR_MMIO is not set
+CONFIG_PPC_DCR=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_PPC_ADV_DEBUG_REGS=y
+CONFIG_PPC_ADV_DEBUG_IACS=4
+CONFIG_PPC_ADV_DEBUG_DACS=2
+CONFIG_PPC_ADV_DEBUG_DVCS=2
+CONFIG_PPC_ADV_DEBUG_DAC_RANGE=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_CONSTRUCTORS=y
+CONFIG_HAVE_IRQ_WORK=y
+CONFIG_IRQ_WORK=y
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_CROSS_COMPILE=""
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_FHANDLE is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_AUDIT is not set
+CONFIG_HAVE_GENERIC_HARDIRQS=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_HAVE_SPARSE_IRQ=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
+# CONFIG_SPARSE_IRQ is not set
+
+#
+# RCU Subsystem
+#
+CONFIG_TINY_RCU=y
+# CONFIG_PREEMPT_RCU is not set
+# CONFIG_RCU_TRACE is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=17
+# CONFIG_CGROUPS is not set
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+# CONFIG_SCHED_AUTOGROUP is not set
+CONFIG_SYSFS_DEPRECATED=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_XZ=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+# CONFIG_EXPERT is not set
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_KALLSYMS_EXTRA_PASS=y
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=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_EMBEDDED is not set
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+CONFIG_PERF_COUNTERS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLUB_DEBUG=y
+CONFIG_COMPAT_BRK=y
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+# CONFIG_PROFILING is not set
+CONFIG_TRACEPOINTS=y
+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_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+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_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+# CONFIG_INLINE_SPIN_TRYLOCK is not set
+# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK is not set
+# CONFIG_INLINE_SPIN_LOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
+CONFIG_INLINE_SPIN_UNLOCK=y
+# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
+CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
+# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_READ_TRYLOCK is not set
+# CONFIG_INLINE_READ_LOCK is not set
+# CONFIG_INLINE_READ_LOCK_BH is not set
+# CONFIG_INLINE_READ_LOCK_IRQ is not set
+# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
+CONFIG_INLINE_READ_UNLOCK=y
+# CONFIG_INLINE_READ_UNLOCK_BH is not set
+CONFIG_INLINE_READ_UNLOCK_IRQ=y
+# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_WRITE_TRYLOCK is not set
+# CONFIG_INLINE_WRITE_LOCK is not set
+# CONFIG_INLINE_WRITE_LOCK_BH is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
+CONFIG_INLINE_WRITE_UNLOCK=y
+# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
+CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
+# CONFIG_MUTEX_SPIN_ON_OWNER is not set
+# CONFIG_FREEZER is not set
+
+#
+# Platform support
+#
+# CONFIG_PPC_CELL is not set
+# CONFIG_PPC_CELL_NATIVE is not set
+# CONFIG_PQ2ADS is not set
+CONFIG_PPC_47x=y
+# CONFIG_BAMBOO is not set
+# CONFIG_BLUESTONE is not set
+# CONFIG_EBONY is not set
+# CONFIG_SAM440EP is not set
+# CONFIG_SEQUOIA is not set
+# CONFIG_TAISHAN is not set
+# CONFIG_KATMAI is not set
+# CONFIG_RAINIER is not set
+# CONFIG_WARP is not set
+# CONFIG_ARCHES is not set
+# CONFIG_CANYONLANDS is not set
+# CONFIG_GLACIER is not set
+# CONFIG_REDWOOD is not set
+# CONFIG_EIGER is not set
+# CONFIG_YOSEMITE is not set
+# CONFIG_ISS4xx is not set
+# CONFIG_ICON is not set
+# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set
+CONFIG_PPC44x_SIMPLE=y
+# CONFIG_PPC4xx_GPIO is not set
+CONFIG_INVADER=y
+CONFIG_KVM_GUEST=y
+# CONFIG_IPIC is not set
+CONFIG_MPIC=y
+# CONFIG_MPIC_WEIRD is not set
+# CONFIG_PPC_I8259 is not set
+# CONFIG_PPC_RTAS is not set
+# CONFIG_MMIO_NVRAM is not set
+# CONFIG_MPIC_U3_HT_IRQS is not set
+# CONFIG_PPC_MPC106 is not set
+# CONFIG_PPC_970_NAP is not set
+# CONFIG_PPC_INDIRECT_IO is not set
+# CONFIG_GENERIC_IOMAP is not set
+# CONFIG_CPU_FREQ is not set
+# CONFIG_FSL_ULI1575 is not set
+# CONFIG_SIMPLE_GPIO is not set
+
+#
+# Kernel options
+#
+# CONFIG_HIGHMEM is not set
+# CONFIG_NO_HZ is not set
+# CONFIG_HIGH_RES_TIMERS is not set
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_250 is not set
+# CONFIG_HZ_300 is not set
+CONFIG_HZ_1000=y
+CONFIG_HZ=1000
+# CONFIG_SCHED_HRTICK is not set
+# CONFIG_PREEMPT_NONE is not set
+CONFIG_PREEMPT_VOLUNTARY=y
+# CONFIG_PREEMPT is not set
+CONFIG_BINFMT_ELF=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+# CONFIG_HAVE_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_MATH_EMULATION is not set
+# CONFIG_IOMMU_HELPER is not set
+# CONFIG_SWIOTLB is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_ARCH_HAS_WALK_MEMORY=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
+CONFIG_MAX_ACTIVE_REGIONS=32
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_HAVE_MEMBLOCK=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+# CONFIG_COMPACTION is not set
+CONFIG_MIGRATION=y
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+# CONFIG_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_NEED_PER_CPU_KM=y
+CONFIG_STDBINUTILS=y
+CONFIG_PPC_4K_PAGES=y
+# CONFIG_PPC_16K_PAGES is not set
+# CONFIG_PPC_64K_PAGES is not set
+CONFIG_FORCE_MAX_ZONEORDER=11
+CONFIG_CMDLINE_BOOL=y
+CONFIG_CMDLINE=""
+CONFIG_EXTRA_TARGETS=""
+# CONFIG_SUSPEND is not set
+# CONFIG_HIBERNATION is not set
+# CONFIG_PM_RUNTIME is not set
+# CONFIG_SECCOMP is not set
+CONFIG_ISA_DMA_API=y
+
+#
+# Bus options
+#
+CONFIG_ZONE_DMA=y
+# CONFIG_NEED_DMA_MAP_STATE is not set
+CONFIG_NEED_SG_DMA_LENGTH=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_4xx_SOC=y
+CONFIG_PPC_PCI_CHOICE=y
+# CONFIG_PCI is not set
+# CONFIG_PCI_DOMAINS is not set
+# CONFIG_PCI_SYSCALL is not set
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+# CONFIG_PCCARD is not set
+# CONFIG_HAS_RAPIDIO is not set
+
+#
+# Advanced setup
+#
+CONFIG_ADVANCED_OPTIONS=y
+# CONFIG_LOWMEM_SIZE_BOOL is not set
+CONFIG_LOWMEM_SIZE=0x30000000
+CONFIG_PAGE_OFFSET_BOOL=y
+CONFIG_PAGE_OFFSET=0x70000000
+CONFIG_KERNEL_START_BOOL=y
+CONFIG_KERNEL_START=0x70000000
+CONFIG_PHYSICAL_START=0x00000000
+CONFIG_TASK_SIZE_BOOL=y
+CONFIG_TASK_SIZE=0x70000000
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+# CONFIG_INET is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# 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_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
+# CONFIG_BATMAN_ADV is not set
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=m
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_WIRELESS is not set
+# CONFIG_WIMAX is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+# CONFIG_CAIF is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_FIRMWARE_IN_KERNEL is not set
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+CONFIG_CONNECTOR=m
+CONFIG_MTD=m
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_TESTS is not set
+# CONFIG_MTD_PARTITIONS is not set
+
+#
+# User Modules And Translation Layers
+#
+# CONFIG_MTD_CHAR is not set
+# CONFIG_MTD_BLKDEVS is not set
+# CONFIG_MTD_BLOCK is not set
+# CONFIG_MTD_BLOCK_RO is not set
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_SM_FTL is not set
+# CONFIG_MTD_OOPS is not set
+# CONFIG_MTD_SWAP is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE 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_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+# CONFIG_MTD_NAND is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+# CONFIG_MTD_UBI is not set
+CONFIG_DTC=y
+CONFIG_OF=y
+
+#
+# Device Tree and Open Firmware support
+#
+# CONFIG_PROC_DEVICETREE is not set
+CONFIG_OF_FLATTREE=y
+CONFIG_OF_EARLY_FLATTREE=y
+CONFIG_OF_DYNAMIC=y
+CONFIG_OF_ADDRESS=y
+CONFIG_OF_IRQ=y
+CONFIG_OF_DEVICE=y
+CONFIG_OF_I2C=m
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_FD is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+# CONFIG_BLK_DEV_LOOP is not set
+
+#
+# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
+#
+# CONFIG_BLK_DEV_NBD is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=35000
+# CONFIG_BLK_DEV_XIP is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_XILINX_SYSACE is not set
+# CONFIG_BLK_DEV_HD is not set
+# CONFIG_SENSORS_LIS3LV02D is not set
+# CONFIG_MISC_DEVICES is not set
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+# CONFIG_SCSI_TGT is not set
+CONFIG_SCSI_NETLINK=y
+# CONFIG_SCSI_PROC_FS is not set
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+# CONFIG_BLK_DEV_SD is not set
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_CHR_DEV_SCH is not set
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+CONFIG_SCSI_SPI_ATTRS=m
+CONFIG_SCSI_FC_ATTRS=m
+CONFIG_SCSI_ISCSI_ATTRS=m
+CONFIG_SCSI_SAS_ATTRS=m
+CONFIG_SCSI_SAS_LIBSAS=m
+CONFIG_SCSI_SAS_HOST_SMP=y
+CONFIG_SCSI_SRP_ATTRS=m
+# CONFIG_SCSI_LOWLEVEL 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_TARGET_CORE is not set
+# CONFIG_MACINTOSH_DRIVERS is not set
+# CONFIG_NETDEVICES is not set
+# CONFIG_ISDN is not set
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+CONFIG_INPUT_POLLDEV=y
+CONFIG_INPUT_SPARSEKMAP=m
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_EVDEV is not set
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ADP5588=m
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_QT1070 is not set
+# CONFIG_KEYBOARD_QT2160 is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_TCA6416 is not set
+CONFIG_KEYBOARD_MAX7359=m
+# CONFIG_KEYBOARD_MCS is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+CONFIG_KEYBOARD_OPENCORES=m
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+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_TRACKPOINT=y
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_MOUSE_PS2_SENTELIC=y
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+CONFIG_MOUSE_SERIAL=m
+CONFIG_MOUSE_VSXXXAA=m
+CONFIG_MOUSE_SYNAPTICS_I2C=m
+# 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 is not set
+CONFIG_SERIO_SERPORT=y
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+# CONFIG_SERIO_XILINX_XPS_PS2 is not set
+# CONFIG_SERIO_ALTERA_PS2 is not set
+# CONFIG_SERIO_PS2MULT is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_N_GSM is not set
+# CONFIG_DEVKMEM is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=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_SHARE_IRQ=y
+# CONFIG_SERIAL_8250_DETECT_IRQ is not set
+# CONFIG_SERIAL_8250_RSA is not set
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_UARTLITE is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_OF_PLATFORM is not set
+# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
+# CONFIG_SERIAL_TIMBERDALE is not set
+# CONFIG_SERIAL_ALTERA_JTAGUART is not set
+# CONFIG_SERIAL_ALTERA_UART is not set
+# CONFIG_HVC_UDBG is not set
+# CONFIG_IPMI_HANDLER is not set
+# CONFIG_HW_RANDOM is not set
+# CONFIG_NVRAM is not set
+# CONFIG_GEN_RTC is not set
+# CONFIG_R3964 is not set
+# CONFIG_RAW_DRIVER is not set
+# CONFIG_TCG_TPM is not set
+# CONFIG_RAMOOPS is not set
+CONFIG_I2C=m
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=m
+# CONFIG_I2C_MUX is not set
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_SMBUS=m
+CONFIG_I2C_ALGOBIT=m
+CONFIG_I2C_ALGOPCA=m
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_IBM_IIC is not set
+# CONFIG_I2C_MPC is not set
+# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_PCA_PLATFORM=m
+# CONFIG_I2C_PXA_PCI is not set
+CONFIG_I2C_SIMTEC=m
+# CONFIG_I2C_XILINX is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+CONFIG_I2C_PARPORT_LIGHT=m
+# CONFIG_I2C_TAOS_EVM is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+CONFIG_I2C_STUB=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_SPI is not set
+
+#
+# PPS support
+#
+CONFIG_PPS=m
+# CONFIG_PPS_DEBUG is not set
+# CONFIG_NTP_PPS is not set
+
+#
+# PPS clients support
+#
+# CONFIG_PPS_CLIENT_KTIMER is not set
+# CONFIG_PPS_CLIENT_LDISC is not set
+
+#
+# PPS generators support
+#
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+# CONFIG_GPIOLIB is not set
+# CONFIG_W1 is not set
+# CONFIG_POWER_SUPPLY is not set
+# CONFIG_HWMON is not set
+CONFIG_THERMAL=y
+# CONFIG_WATCHDOG is not set
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB=m
+# CONFIG_SSB_DEBUG is not set
+# CONFIG_MFD_SUPPORT is not set
+# CONFIG_REGULATOR is not set
+# CONFIG_MEDIA_SUPPORT is not set
+
+#
+# Graphics support
+#
+# CONFIG_DRM is not set
+# CONFIG_VGASTATE is not set
+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+# CONFIG_FB is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Display device support
+#
+CONFIG_DISPLAY_SUPPORT=m
+
+#
+# Display hardware drivers
+#
+
+#
+# Console display driver support
+#
+CONFIG_DUMMY_CONSOLE=y
+# CONFIG_SOUND is not set
+# CONFIG_HID_SUPPORT is not set
+# CONFIG_USB_SUPPORT is not set
+# CONFIG_MMC is not set
+# CONFIG_MEMSTICK is not set
+# CONFIG_NEW_LEDS is not set
+# CONFIG_NFC_DEVICES is not set
+# CONFIG_ACCESSIBILITY 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
+# CONFIG_STAGING is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_EXT4_FS is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_BTRFS_FS is not set
+# CONFIG_NILFS2_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY_USER=y
+# CONFIG_FANOTIFY is not set
+# CONFIG_QUOTA is not set
+# CONFIG_QUOTACTL is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# Caches
+#
+# CONFIG_FSCACHE is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+# CONFIG_MSDOS_FS is not set
+# CONFIG_VFAT_FS is not set
+# 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 is not set
+# CONFIG_HUGETLB_PAGE is not set
+# CONFIG_CONFIGFS_FS is not set
+# CONFIG_MISC_FILESYSTEMS is not set
+# CONFIG_NETWORK_FILESYSTEMS is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_NLS is not set
+CONFIG_BINARY_PRINTF=y
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
+# CONFIG_CRC_T10DIF is not set
+# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC32=y
+# CONFIG_CRC7 is not set
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_XZ_DEC=y
+CONFIG_XZ_DEC_X86=y
+CONFIG_XZ_DEC_POWERPC=y
+CONFIG_XZ_DEC_IA64=y
+CONFIG_XZ_DEC_ARM=y
+CONFIG_XZ_DEC_ARMTHUMB=y
+CONFIG_XZ_DEC_SPARC=y
+CONFIG_XZ_DEC_BCJ=y
+# CONFIG_XZ_DEC_TEST is not set
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_XZ=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_NLATTR=y
+CONFIG_GENERIC_ATOMIC64=y
+CONFIG_AVERAGE=y
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_DEFAULT_MESSAGE_LOGLEVEL=7
+# CONFIG_ENABLE_WARN_DEPRECATED is not set
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=1024
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_STRIP_ASM_SYMS is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+# CONFIG_LOCKUP_DETECTOR is not set
+# CONFIG_HARDLOCKUP_DETECTOR is not set
+# CONFIG_DETECT_HUNG_TASK is not set
+CONFIG_SCHED_DEBUG=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_TIMER_STATS is not set
+# CONFIG_DEBUG_OBJECTS is not set
+CONFIG_SLUB_DEBUG_ON=y
+# CONFIG_SLUB_STATS 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_SPARSE_RCU_POINTER 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_BUGVERBOSE=y
+CONFIG_DEBUG_INFO=y
+# CONFIG_DEBUG_INFO_REDUCED is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_TEST_LIST_SORT is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+# CONFIG_LKDTM is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+# CONFIG_SYSCTL_SYSCALL_CHECK is not set
+# CONFIG_DEBUG_PAGEALLOC is not set
+CONFIG_NOP_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_TRACER_MAX_TRACE=y
+CONFIG_RING_BUFFER=y
+CONFIG_EVENT_TRACING=y
+# CONFIG_EVENT_POWER_TRACING_DEPRECATED is not set
+CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_TRACING=y
+CONFIG_GENERIC_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
+CONFIG_FUNCTION_TRACER=y
+CONFIG_FUNCTION_GRAPH_TRACER=y
+# CONFIG_IRQSOFF_TRACER is not set
+CONFIG_SCHED_TRACER=y
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+# CONFIG_STACK_TRACER is not set
+CONFIG_BLK_DEV_IO_TRACE=y
+CONFIG_DYNAMIC_FTRACE=y
+# CONFIG_FUNCTION_PROFILER is not set
+CONFIG_FTRACE_MCOUNT_RECORD=y
+# CONFIG_FTRACE_STARTUP_TEST is not set
+CONFIG_RING_BUFFER_BENCHMARK=m
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DMA_API_DEBUG is not set
+# CONFIG_ATOMIC64_SELFTEST is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+# CONFIG_TEST_KSTRTOX is not set
+CONFIG_PPC_DISABLE_WERROR=y
+CONFIG_PRINT_STACK_DEPTH=64
+CONFIG_DEBUG_STACKOVERFLOW=y
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_PPC_EMULATED_STATS is not set
+# CONFIG_CODE_PATCHING_SELFTEST is not set
+# CONFIG_FTR_FIXUP_SELFTEST is not set
+# CONFIG_MSI_BITMAP_SELFTEST is not set
+# CONFIG_XMON is not set
+# CONFIG_VIRQ_DEBUG is not set
+# CONFIG_BDI_SWITCH is not set
+# CONFIG_PPC_EARLY_DEBUG is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
+# CONFIG_SECURITY is not set
+# CONFIG_SECURITYFS is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_CRYPTO=m
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=m
+CONFIG_CRYPTO_ALGAPI2=m
+CONFIG_CRYPTO_AEAD2=m
+CONFIG_CRYPTO_BLKCIPHER=m
+CONFIG_CRYPTO_BLKCIPHER2=m
+CONFIG_CRYPTO_HASH2=m
+CONFIG_CRYPTO_RNG2=m
+CONFIG_CRYPTO_PCOMP2=m
+CONFIG_CRYPTO_MANAGER=m
+CONFIG_CRYPTO_MANAGER2=m
+# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
+CONFIG_CRYPTO_GF128MUL=m
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_WORKQUEUE=m
+# CONFIG_CRYPTO_CRYPTD is not set
+# CONFIG_CRYPTO_AUTHENC is not set
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Authenticated Encryption with Associated Data
+#
+# CONFIG_CRYPTO_CCM is not set
+# CONFIG_CRYPTO_GCM is not set
+# CONFIG_CRYPTO_SEQIV is not set
+
+#
+# Block modes
+#
+# CONFIG_CRYPTO_CBC is not set
+# CONFIG_CRYPTO_CTR is not set
+# CONFIG_CRYPTO_CTS is not set
+CONFIG_CRYPTO_ECB=m
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_PCBC is not set
+# CONFIG_CRYPTO_XTS is not set
+
+#
+# Hash modes
+#
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_VMAC is not set
+
+#
+# Digest
+#
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_GHASH is not set
+# CONFIG_CRYPTO_MD4 is not set
+# CONFIG_CRYPTO_MD5 is not set
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# 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 is not set
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_WP512 is not set
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=m
+# CONFIG_CRYPTO_ANUBIS is not set
+CONFIG_CRYPTO_ARC4=m
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_DES is not set
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_SEED is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+
+#
+# Compression
+#
+# CONFIG_CRYPTO_DEFLATE is not set
+# CONFIG_CRYPTO_ZLIB is not set
+# CONFIG_CRYPTO_LZO is not set
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_USER_API_HASH is not set
+# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
+# CONFIG_CRYPTO_HW is not set
+# CONFIG_PPC_CLOCK is not set
+# CONFIG_VIRTUALIZATION is not set
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/cscstup.sh ../linux-2.6.39.4/cscstup.sh
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/cscstup.sh	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/cscstup.sh	2011-10-22 13:22:52.162117187 +0530
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+#find  	$PPL                                                    \
+#	-path "$PPL/arch/powerpc/*"  -prune -o              	\
+#	-path "$PPL/include/asm-*" -prune -o			\
+#	-path "$PPL/kernel/*" -prune -o                         \
+#	-path "$PPL/scripts*" -prune -o                         \
+#       -name "*.[chxsS]" -print > $PPL/cscope.files
+
+rm -rf $PPL/cscope.files
+find $PPL/arch/powerpc -name "*.[chxsS]"  -print >> $PPL/cscope.files
+find $PPL/mm -name "*.[chxsS]"  -print >> $PPL/cscope.files
+find $PPL/include -name "*.[chxsS]"  -print >> $PPL/cscope.files
+find $PPL/kernel -name "*.[chxsS]"  -print >> $PPL/cscope.files
+find $PPL/scripts -name "*.[chxsS]"  -print >> $PPL/cscope.files
+find $PPL/drivers -name "*.[chxsS]"  -print >> $PPL/cscope.files
+find $PPL/lib -name "*.[chxsS]"  -print >> $PPL/cscope.files
+find $PPL/fs -name "*.[chxsS]"  -print >> $PPL/cscope.files
+
+cscope -b -q -k
+
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/drivers/base/devtmpfs.c ../linux-2.6.39.4/drivers/base/devtmpfs.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/drivers/base/devtmpfs.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/drivers/base/devtmpfs.c	2011-10-26 20:39:12.227874922 +0530
@@ -357,6 +357,7 @@
 	if (!dev_mnt)
 		return 0;
 
+	printk(KERN_NOTICE "devtmpfs: mount %s\n", mntdir);
 	err = sys_mount("devtmpfs", (char *)mntdir, "devtmpfs", MS_SILENT, NULL);
 	if (err)
 		printk(KERN_INFO "devtmpfs: error mounting %i\n", err);
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/drivers/char/tpm/tpm_tis.c ../linux-2.6.39.4/drivers/char/tpm/tpm_tis.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/drivers/char/tpm/tpm_tis.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/drivers/char/tpm/tpm_tis.c	2011-10-25 12:19:03.972100020 +0530
@@ -470,6 +470,7 @@
 	if (!(chip = tpm_register_hardware(dev, &tpm_tis)))
 		return -ENODEV;
 
+	printk(KERN_DEBUG "tpm_tis_init: start: 0x%llx, len: 0x%llx\n", start, len);
 	chip->vendor.iobase = ioremap(start, len);
 	if (!chip->vendor.iobase) {
 		rc = -EIO;
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/drivers/of/address.c ../linux-2.6.39.4/drivers/of/address.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/drivers/of/address.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/drivers/of/address.c	2011-10-22 06:39:09.333138691 +0530
@@ -22,7 +22,7 @@
 {
 	printk(KERN_DEBUG "%s", s);
 	while (na--)
-		printk(" %08x", be32_to_cpu(*(addr++)));
+		printk(" 0x%x", be32_to_cpu(*(addr++)));
 	printk("\n");
 }
 #else
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/drivers/of/base.c ../linux-2.6.39.4/drivers/of/base.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/drivers/of/base.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/drivers/of/base.c	2011-10-24 14:34:30.562105585 +0530
@@ -192,7 +192,7 @@
 			 int *lenp)
 {
 	struct property *pp = of_find_property(np, name, lenp);
-
+	
 	return pp ? pp->value : NULL;
 }
 EXPORT_SYMBOL(of_get_property);
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/drivers/of/fdt.c ../linux-2.6.39.4/drivers/of/fdt.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/drivers/of/fdt.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/drivers/of/fdt.c	2011-10-22 12:33:39.806208124 +0530
@@ -158,7 +158,8 @@
 	u32 tag;
 	unsigned int l, allocl;
 	int has_name = 0;
-	int new_format = 0;
+	int new_format = 0, count=0;
+	static flag=0;
 
 	tag = be32_to_cpup((__be32 *)(*p));
 	if (tag != OF_DT_BEGIN_NODE) {
@@ -169,7 +170,17 @@
 	pathp = (char *)*p;
 	l = allocl = strlen(pathp) + 1;
 	*p = ALIGN(*p + l, 4);
-
+/*
+	if(!flag)
+	for (count = 0; count<(0xb9f/4); count+=4)
+	{
+		flag = 1;
+		printk(KERN_DEBUG "BLOB(%p): 0x%x, 0x%x, 0x%x, 0x%x\n", (unsigned int *)blob + count, 	(*((unsigned int *)blob + count + 0)),
+									(*((unsigned int *)blob + count + 1)),
+									(*((unsigned int *)blob + count + 2)),
+									(*((unsigned int *)blob + count + 3)));
+	}
+*/									
 	/* version 0x10 has a more compact unit name here instead of the full
 	 * path. we accumulate the full path size using "fpsize", we'll rebuild
 	 * it later. We detect this because the first character of the name is
@@ -204,7 +215,8 @@
 			/* rebuild full path for new format */
 			if (dad && dad->parent) {
 				strcpy(fn, dad->full_name);
-#ifdef DEBUG
+//#ifdef DEBUG
+#if 1
 				if ((strlen(fn) + l + 1) != allocl) {
 					pr_debug("%s: p: %d, l: %d, a: %d\n",
 						pathp, (int)strlen(fn),
@@ -279,6 +291,20 @@
 			pp->name = pname;
 			pp->length = sz;
 			pp->value = (void *)*p;
+
+/*
+			if (strcmp(pp->name, "clock-frequency") == 0)
+			{
+				unsigned int bt = be32_to_cpup(pp->value);
+				printk(KERN_DEBUG "clkkkkkk: 0x%x(%u)\n", bt, bt);
+			}
+			printk(KERN_DEBUG "--> string:(%p) %s, sz: %u, %u, 0x%x, %d, blob: %p, p: %p\n", pp->name, pp->name, 
+												pp->length, be32_to_cpup(pp->value), 
+												be32_to_cpup(pp->value), 
+												be32_to_cpup(pp->value), 
+												blob, pp->value);
+*/
+
 			*prev_pp = pp;
 			prev_pp = &pp->next;
 		}
@@ -360,6 +386,18 @@
 	unsigned long start, mem, size;
 	struct device_node **allnextp = mynodes;
 
+               union bits {
+                        unsigned int b;
+                        unsigned char a[4];
+                }chk = {1};
+
+                if (chk.a[0] == 1)
+                        printk (KERN_DEBUG "\n\n\n\t\t\tMachine is running in Little Endian\n\n\n");
+                else
+                        printk (KERN_DEBUG "Machine is running in Big Endian\n");
+
+     
+
 	pr_debug(" -> unflatten_device_tree()\n");
 
 	if (!blob) {
@@ -385,10 +423,13 @@
 
 	pr_debug("  size is %lx, allocating...\n", size);
 
+//Invader Change
 	/* Allocate memory for the expanded device tree */
 	mem = (unsigned long)
 		dt_alloc(size + 4, __alignof__(struct device_node));
 
+	pr_debug(" allocated 0x%lx...\n", mem);
+
 	((__be32 *)mem)[size / 4] = cpu_to_be32(0xdeadbeef);
 
 	pr_debug("  unflattening %lx...\n", mem);
@@ -485,6 +526,8 @@
 		depth++;
 		pathp = (char *)p;
 		p = ALIGN(p + strlen(pathp) + 1, 4);
+
+//		printk(KERN_DEBUG "INVADER path: %s, data: 0x%x", pathp,*( (unsigned int *)p));
 		if ((*pathp) == '/') {
 			char *lp, *np;
 			for (lp = NULL, np = pathp; *np; np++)
@@ -601,6 +644,18 @@
 		dt_root_addr_cells = be32_to_cpup(prop);
 	pr_debug("dt_root_addr_cells = %x\n", dt_root_addr_cells);
 
+//Invader Debug
+	prop = of_get_flat_dt_prop(node, "clock-frequency", NULL);
+	if (prop)
+		printk(KERN_DEBUG "$$$ clk-freq: %u\n", be32_to_cpup(prop));
+	else
+		printk(KERN_DEBUG "huh!!! couldnt read\n");
+	prop = of_get_flat_dt_prop(node, "current-speed", NULL);
+	if (prop)
+		printk(KERN_DEBUG "$$$ curr-speed: %u\n", be32_to_cpup(prop));
+	else
+		printk(KERN_DEBUG "huh!!! couldnt read2\n");
+
 	/* break now */
 	return 1;
 }
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/drivers/tty/vt/vt.c ../linux-2.6.39.4/drivers/tty/vt/vt.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/drivers/tty/vt/vt.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/drivers/tty/vt/vt.c	2011-10-23 14:04:31.900196984 +0530
@@ -744,6 +744,7 @@
 
 static void visual_init(struct vc_data *vc, int num, int init)
 {
+	printk(KERN_DEBUG "(visual_init): 0x%p\n", vc);
 	/* ++Geert: vc->vc_sw->con_init determines console size */
 	if (vc->vc_sw)
 		module_put(vc->vc_sw->owner);
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/fs/ext2/balloc.c ../linux-2.6.39.4/fs/ext2/balloc.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/fs/ext2/balloc.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/fs/ext2/balloc.c	2011-10-22 06:38:04.625107806 +0530
@@ -18,6 +18,9 @@
 #include <linux/buffer_head.h>
 #include <linux/capability.h>
 
+#ifdef CONFIG_INVADER
+//#include <asm-generic/bitops/le.h>
+#endif
 /*
  * balloc.c contains the blocks allocation and deallocation routines
  */
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/fs/proc/generic.c ../linux-2.6.39.4/fs/proc/generic.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/fs/proc/generic.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/fs/proc/generic.c	2011-10-23 14:08:52.838166614 +0530
@@ -582,6 +582,7 @@
 
 	for (tmp = dir->subdir; tmp; tmp = tmp->next)
 		if (strcmp(tmp->name, dp->name) == 0) {
+			panic("proc_dir_entry already registered\n");
 			WARN(1, KERN_WARNING "proc_dir_entry '%s/%s' already registered\n",
 				dir->name, dp->name);
 			break;
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/include/asm-generic/bitops/non-atomic.h ../linux-2.6.39.4/include/asm-generic/bitops/non-atomic.h
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/include/asm-generic/bitops/non-atomic.h	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/include/asm-generic/bitops/non-atomic.h	2011-10-22 12:40:27.954406170 +0530
@@ -105,4 +105,25 @@
 	return 1UL & (addr[BIT_WORD(nr)] >> (nr & (BITS_PER_LONG-1)));
 }
 
+static inline int test_bit_dbg(int nr, const volatile unsigned long *addr, volatile unsigned long *ret, volatile unsigned long *ret1, volatile unsigned long *ret2)
+{
+	if(ret)
+		*ret = (addr[BIT_WORD(nr)] >> (nr & (BITS_PER_LONG-1)));
+
+	if (ret1)
+		*ret1 = 1UL&(*ret);
+
+	if (ret2)
+		*ret2 = 1UL & (addr[BIT_WORD(nr)] >> (nr & (BITS_PER_LONG-1)));
+
+#ifdef CONFIG_INVADER
+        return (addr[BIT_WORD(nr)] >> (nr & (BITS_PER_LONG-1)));
+#else
+        return 1UL & (addr[BIT_WORD(nr)] >> (nr & (BITS_PER_LONG-1)));
+#endif
+}
+
+
+
+
 #endif /* _ASM_GENERIC_BITOPS_NON_ATOMIC_H_ */
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/include/config/auto.conf ../linux-2.6.39.4/include/config/auto.conf
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/include/config/auto.conf	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/include/config/auto.conf	2011-10-26 17:30:05.409778707 +0530
@@ -0,0 +1,375 @@
+#
+# Automatically generated make config: don't edit
+# Linux/powerpc 2.6.39.4 Kernel Configuration
+# Wed Oct 26 17:30:05 2011
+#
+CONFIG_RING_BUFFER=y
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_CRC32=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_FLATMEM_MANUAL=y
+CONFIG_XZ_DEC_IA64=y
+CONFIG_INOTIFY_USER=y
+CONFIG_EXPERIMENTAL=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+CONFIG_SSB_POSSIBLE=y
+CONFIG_FSNOTIFY=y
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_AUDIT_ARCH=y
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+CONFIG_NAMESPACES=y
+CONFIG_DEFAULT_MESSAGE_LOGLEVEL=7
+CONFIG_BLK_DEV_BSG=y
+CONFIG_CONNECTOR=m
+CONFIG_CRYPTO_RNG2=m
+CONFIG_SERIAL_8250=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_OF_DEVICE=y
+CONFIG_RD_LZMA=y
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+CONFIG_BRANCH_PROFILE_NONE=y
+CONFIG_OF_I2C=m
+CONFIG_FORCE_MAX_ZONEORDER=11
+CONFIG_PRINTK=y
+CONFIG_TIMERFD=y
+CONFIG_TRACEPOINTS=y
+CONFIG_MTD_CFI_I2=y
+CONFIG_BOUNCE=y
+CONFIG_SHMEM=y
+CONFIG_MTD=m
+CONFIG_MIGRATION=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_DNOTIFY=y
+CONFIG_PPC_47x=y
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_NR_IRQS=512
+CONFIG_SLUB_DEBUG_ON=y
+CONFIG_SERIO=y
+CONFIG_INPUT_MOUSE=y
+CONFIG_BOOKE=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
+CONFIG_I2C_ALGOPCA=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_MOUSE_PS2_SENTELIC=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_ARCH_HAS_WALK_MEMORY=y
+CONFIG_PPC_OF=y
+CONFIG_PPC_ADV_DEBUG_DVCS=2
+CONFIG_INVADER=y
+CONFIG_DISPLAY_SUPPORT=m
+CONFIG_STANDALONE=y
+CONFIG_PAGE_OFFSET_BOOL=y
+CONFIG_BLOCK=y
+CONFIG_HAVE_IDE=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_PPC44x_SIMPLE=y
+CONFIG_USER_NS=y
+CONFIG_BUG=y
+CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_PPS=m
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_OF_IRQ=y
+CONFIG_PPC_ADV_DEBUG_DAC_RANGE=y
+CONFIG_VT=y
+CONFIG_DTC=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_I2C_PCA_PLATFORM=m
+CONFIG_WORD_SIZE=32
+CONFIG_ZONE_DMA=y
+CONFIG_IRQ_WORK=y
+CONFIG_EVENT_TRACING=y
+CONFIG_SYSFS_DEPRECATED=y
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+CONFIG_PREEMPT_VOLUNTARY=y
+CONFIG_PPC_MMU_NOHASH=y
+CONFIG_CRYPTO_WORKQUEUE=m
+CONFIG_EXTRA_TARGETS=""
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_EVENTFD=y
+CONFIG_GENERIC_NVRAM=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_RD_LZO=y
+CONFIG_PERF_COUNTERS=y
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEFAULT_CFQ=y
+CONFIG_MAX_ACTIVE_REGIONS=32
+CONFIG_DEBUG_BUGVERBOSE=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_PPC_UDBG_16550=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_KVM_GUEST=y
+CONFIG_RD_GZIP=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_LBDAF=y
+CONFIG_KERNEL_START=0x70000000
+CONFIG_PPC=y
+CONFIG_HAVE_GENERIC_HARDIRQS=y
+CONFIG_BINFMT_ELF=y
+CONFIG_HOTPLUG=y
+CONFIG_SCHED_TRACER=y
+CONFIG_SLABINFO=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_XZ_DEC_X86=y
+CONFIG_CRYPTO_GF128MUL=m
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_GENERIC_FIND_BIT_LE=y
+CONFIG_TMPFS=y
+CONFIG_ANON_INODES=y
+CONFIG_FUTEX=y
+CONFIG_PPC_ADV_DEBUG_IACS=4
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_SLUB_DEBUG=y
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_SYSVIPC=y
+CONFIG_CRYPTO_PCOMP2=m
+CONFIG_MODULES=y
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_UNIX=y
+CONFIG_CRYPTO_HASH2=m
+CONFIG_BLK_DEV_IO_TRACE=y
+CONFIG_CRYPTO_ALGAPI=m
+CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
+CONFIG_RD_BZIP2=y
+CONFIG_KEYBOARD_ATKBD=y
+CONFIG_MTD_CFI_I1=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+CONFIG_LOG_BUF_SHIFT=17
+CONFIG_HZ_1000=y
+CONFIG_EXTRA_FIRMWARE=""
+CONFIG_VIRT_TO_BUS=y
+CONFIG_PID_NS=y
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_CMDLINE_BOOL=y
+CONFIG_GENERIC_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_CRYPTO_MANAGER2=m
+CONFIG_SLUB=y
+CONFIG_XZ_DEC_BCJ=y
+CONFIG_I2C=m
+CONFIG_FRAME_POINTER=y
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_RELAY=y
+CONFIG_CRYPTO_ECB=m
+CONFIG_DEBUG_FS=y
+CONFIG_NET_PKTGEN=m
+CONFIG_BASE_FULL=y
+CONFIG_MPIC=y
+CONFIG_FW_LOADER=y
+CONFIG_KALLSYMS=y
+CONFIG_GENERIC_ATOMIC64=y
+CONFIG_DECOMPRESS_XZ=y
+CONFIG_SIGNALFD=y
+CONFIG_MOUSE_PS2_ALPS=y
+CONFIG_XZ_DEC=y
+CONFIG_HAS_IOMEM=y
+CONFIG_PPC_PCI_CHOICE=y
+CONFIG_PROC_KCORE=y
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_CONSTRUCTORS=y
+CONFIG_EPOLL=y
+CONFIG_PPC_ADV_DEBUG_DACS=2
+CONFIG_KEYBOARD_MAX7359=m
+CONFIG_NET=y
+CONFIG_HAVE_SPARSE_IRQ=y
+CONFIG_EXT2_FS=y
+CONFIG_PACKET=y
+CONFIG_NOP_TRACER=y
+CONFIG_XZ_DEC_POWERPC=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_MOUSE_SYNAPTICS_I2C=m
+CONFIG_CRYPTO_AES=m
+CONFIG_SSB=m
+CONFIG_I2C_STUB=m
+CONFIG_PPC32=y
+CONFIG_SERIO_SERPORT=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_RD_XZ=y
+CONFIG_32BIT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_SERIO_LIBPS2=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+CONFIG_PAGE_OFFSET=0x70000000
+CONFIG_TASK_SIZE_BOOL=y
+CONFIG_NEED_PER_CPU_KM=y
+CONFIG_GENERIC_BUG=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HW_CONSOLE=y
+CONFIG_IOSCHED_NOOP=y
+CONFIG_PTE_64BIT=y
+CONFIG_HAVE_IOREMAP_PROT=y
+CONFIG_DEBUG_KERNEL=y
+CONFIG_COMPAT_BRK=y
+CONFIG_LOCALVERSION=""
+CONFIG_CRYPTO=m
+CONFIG_FUNCTION_TRACER=y
+CONFIG_SCHED_DEBUG=y
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_CMDLINE=""
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_SCSI_MOD=y
+CONFIG_SERIAL_CORE=y
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_DYNAMIC_FTRACE=y
+CONFIG_INLINE_READ_UNLOCK=y
+CONFIG_HAS_DMA=y
+CONFIG_FUNCTION_GRAPH_TRACER=y
+CONFIG_I2C_SMBUS=m
+CONFIG_SERIAL_8250_MANY_PORTS=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_LOWMEM_SIZE=0x30000000
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_IPC_NS=y
+CONFIG_FTRACE=y
+CONFIG_KEYBOARD_ADP5588=m
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_OF_DYNAMIC=y
+CONFIG_XZ_DEC_SPARC=y
+CONFIG_INLINE_READ_UNLOCK_IRQ=y
+CONFIG_NEED_SG_DMA_LENGTH=y
+CONFIG_PPC_DCR_NATIVE=y
+CONFIG_PHYS_64BIT=y
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_MANAGER=m
+CONFIG_TASK_SIZE=0x70000000
+CONFIG_RT_MUTEXES=y
+CONFIG_I2C_ALGOBIT=m
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+CONFIG_FRAME_WARN=1024
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_STACKTRACE=y
+CONFIG_INLINE_SPIN_UNLOCK=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_HAS_IOPORT=y
+CONFIG_OF_EARLY_FLATTREE=y
+CONFIG_ISA_DMA_API=y
+CONFIG_HZ=1000
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
+CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_DEFAULT_IOSCHED="cfq"
+CONFIG_NLATTR=y
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+CONFIG_MOUSE_VSXXXAA=m
+CONFIG_SYSFS=y
+CONFIG_I2C_PARPORT_LIGHT=m
+CONFIG_I2C_SIMTEC=m
+CONFIG_XZ_DEC_ARM=y
+CONFIG_MOUSE_SERIAL=m
+CONFIG_TRACING=y
+CONFIG_I2C_COMPAT=y
+CONFIG_KEYBOARD_OPENCORES=m
+CONFIG_FTRACE_MCOUNT_RECORD=y
+CONFIG_MSDOS_PARTITION=y
+CONFIG_HAVE_OPROFILE=y
+CONFIG_THERMAL=y
+CONFIG_4xx=y
+CONFIG_PPC_MMU_NOHASH_32=y
+CONFIG_HAVE_ARCH_KGDB=y
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_TINY_RCU=y
+CONFIG_HAVE_DMA_ATTRS=y
+CONFIG_EARLY_PRINTK=y
+CONFIG_PPC_ADV_DEBUG_REGS=y
+CONFIG_PPC_DISABLE_WERROR=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_BASE_SMALL=0
+CONFIG_CRYPTO_BLKCIPHER2=m
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
+CONFIG_PPC_4K_PAGES=y
+CONFIG_PROC_FS=y
+CONFIG_FLATMEM=y
+CONFIG_DEBUG_STACKOVERFLOW=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SYSCTL=y
+CONFIG_ADVANCED_OPTIONS=y
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_NET_NS=y
+CONFIG_HAVE_PERF_EVENTS=y
+CONFIG_DEBUG_MEMORY_INIT=y
+CONFIG_PPC_DCR=y
+CONFIG_BLK_DEV=y
+CONFIG_OF_FLATTREE=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_4xx_SOC=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_ELF_CORE=y
+CONFIG_INPUT_POLLDEV=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_VT_CONSOLE=y
+CONFIG_BLK_DEV_RAM=y
+CONFIG_ARCH_HAS_ILOG2_U32=y
+CONFIG_BINARY_PRINTF=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_TRACER_MAX_TRACE=y
+CONFIG_INPUT_SPARSEKMAP=m
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_OF_ADDRESS=y
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_I2C_CHARDEV=m
+CONFIG_CROSS_COMPILE=""
+CONFIG_KERNEL_START_BOOL=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_XZ_DEC_ARMTHUMB=y
+CONFIG_44x=y
+CONFIG_PRINT_STACK_DEPTH=64
+CONFIG_SWAP=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_AVERAGE=y
+CONFIG_BITREVERSE=y
+CONFIG_STDBINUTILS=y
+CONFIG_BLK_DEV_RAM_SIZE=35000
+CONFIG_CRYPTO_BLKCIPHER=m
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_FILE_LOCKING=y
+CONFIG_AIO=y
+CONFIG_RING_BUFFER_BENCHMARK=m
+CONFIG_OF=y
+CONFIG_PERF_EVENTS=y
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+CONFIG_UTS_NS=y
+CONFIG_CRYPTO_AEAD2=m
+CONFIG_DEBUG_INFO=y
+CONFIG_MOUSE_PS2=y
+CONFIG_CRYPTO_ALGAPI2=m
+CONFIG_PHYSICAL_START=0x00000000
+CONFIG_HAVE_MEMBLOCK=y
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_INPUT=y
+CONFIG_KALLSYMS_EXTRA_PASS=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_MMU=y
+CONFIG_HAVE_IRQ_WORK=y
+CONFIG_INLINE_WRITE_UNLOCK=y
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/include/config/auto.conf.cmd ../linux-2.6.39.4/include/config/auto.conf.cmd
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/include/config/auto.conf.cmd	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/include/config/auto.conf.cmd	2011-10-26 17:30:05.385778610 +0530
@@ -0,0 +1,629 @@
+deps_config := \
+	drivers/virtio/Kconfig \
+	drivers/vhost/Kconfig \
+	virt/kvm/Kconfig \
+	arch/powerpc/kvm/Kconfig \
+	drivers/crypto/Kconfig \
+	crypto/async_tx/Kconfig \
+	crypto/Kconfig \
+	security/integrity/ima/Kconfig \
+	security/apparmor/Kconfig \
+	security/tomoyo/Kconfig \
+	security/smack/Kconfig \
+	security/selinux/Kconfig \
+	security/Kconfig \
+	lib/Kconfig.kmemcheck \
+	lib/Kconfig.kgdb \
+	samples/Kconfig \
+	kernel/trace/Kconfig \
+	mm/Kconfig.debug \
+	lib/Kconfig.debug \
+	arch/powerpc/Kconfig.debug \
+	lib/xz/Kconfig \
+	lib/Kconfig \
+	arch/powerpc/sysdev/qe_lib/Kconfig \
+	fs/dlm/Kconfig \
+	fs/nls/Kconfig \
+	fs/partitions/Kconfig \
+	fs/9p/Kconfig \
+	fs/afs/Kconfig \
+	fs/coda/Kconfig \
+	fs/ncpfs/Kconfig \
+	fs/cifs/Kconfig \
+	fs/ceph/Kconfig \
+	net/sunrpc/Kconfig \
+	fs/nfsd/Kconfig \
+	fs/nfs/Kconfig \
+	fs/exofs/Kconfig \
+	fs/ufs/Kconfig \
+	fs/sysv/Kconfig \
+	fs/pstore/Kconfig \
+	fs/romfs/Kconfig \
+	fs/qnx4/Kconfig \
+	fs/hpfs/Kconfig \
+	fs/omfs/Kconfig \
+	fs/minix/Kconfig \
+	fs/freevxfs/Kconfig \
+	fs/squashfs/Kconfig \
+	fs/cramfs/Kconfig \
+	fs/logfs/Kconfig \
+	fs/ubifs/Kconfig \
+	fs/jffs2/Kconfig \
+	fs/efs/Kconfig \
+	fs/bfs/Kconfig \
+	fs/befs/Kconfig \
+	fs/hfsplus/Kconfig \
+	fs/hfs/Kconfig \
+	fs/ecryptfs/Kconfig \
+	fs/affs/Kconfig \
+	fs/adfs/Kconfig \
+	fs/configfs/Kconfig \
+	fs/sysfs/Kconfig \
+	fs/proc/Kconfig \
+	fs/ntfs/Kconfig \
+	fs/fat/Kconfig \
+	fs/udf/Kconfig \
+	fs/isofs/Kconfig \
+	fs/cachefiles/Kconfig \
+	fs/fscache/Kconfig \
+	fs/fuse/Kconfig \
+	fs/autofs4/Kconfig \
+	fs/quota/Kconfig \
+	fs/notify/fanotify/Kconfig \
+	fs/notify/inotify/Kconfig \
+	fs/notify/dnotify/Kconfig \
+	fs/notify/Kconfig \
+	fs/nilfs2/Kconfig \
+	fs/btrfs/Kconfig \
+	fs/ocfs2/Kconfig \
+	fs/gfs2/Kconfig \
+	fs/xfs/Kconfig \
+	fs/jfs/Kconfig \
+	fs/reiserfs/Kconfig \
+	fs/jbd2/Kconfig \
+	fs/jbd/Kconfig \
+	fs/ext4/Kconfig \
+	fs/ext3/Kconfig \
+	fs/ext2/Kconfig \
+	fs/Kconfig \
+	drivers/hwspinlock/Kconfig \
+	drivers/clk/Kconfig \
+	drivers/platform/x86/Kconfig \
+	drivers/platform/Kconfig \
+	drivers/staging/altera-stapl/Kconfig \
+	drivers/staging/gma500/Kconfig \
+	drivers/staging/ste_rmi4/Kconfig \
+	drivers/staging/cptm1217/Kconfig \
+	drivers/staging/speakup/Kconfig \
+	drivers/staging/intel_sst/Kconfig \
+	drivers/staging/ft1000/Kconfig \
+	drivers/staging/bcm/Kconfig \
+	drivers/staging/keucr/Kconfig \
+	drivers/staging/ath6kl/Kconfig \
+	drivers/staging/sbe-2t3e3/Kconfig \
+	drivers/staging/westbridge/astoria/gadget/Kconfig \
+	drivers/staging/westbridge/astoria/block/Kconfig \
+	drivers/staging/westbridge/astoria/device/Kconfig \
+	drivers/staging/westbridge/astoria/Kconfig \
+	drivers/staging/westbridge/Kconfig \
+	drivers/staging/quickstart/Kconfig \
+	drivers/staging/tidspbridge/Kconfig \
+	drivers/staging/solo6x10/Kconfig \
+	drivers/staging/easycap/Kconfig \
+	drivers/staging/lirc/Kconfig \
+	drivers/staging/msm/Kconfig \
+	drivers/staging/xgifb/Kconfig \
+	drivers/staging/cxt1e1/Kconfig \
+	drivers/staging/crystalhd/Kconfig \
+	drivers/staging/dt3155v4l/Kconfig \
+	drivers/staging/sm7xx/Kconfig \
+	drivers/staging/wlags49_h25/Kconfig \
+	drivers/staging/wlags49_h2/Kconfig \
+	drivers/staging/zcache/Kconfig \
+	drivers/staging/zram/Kconfig \
+	drivers/staging/cs5535_gpio/Kconfig \
+	drivers/staging/iio/trigger/Kconfig \
+	drivers/staging/iio/resolver/Kconfig \
+	drivers/staging/iio/meter/Kconfig \
+	drivers/staging/iio/magnetometer/Kconfig \
+	drivers/staging/iio/light/Kconfig \
+	drivers/staging/iio/imu/Kconfig \
+	drivers/staging/iio/gyro/Kconfig \
+	drivers/staging/iio/dds/Kconfig \
+	drivers/staging/iio/dac/Kconfig \
+	drivers/staging/iio/addac/Kconfig \
+	drivers/staging/iio/adc/Kconfig \
+	drivers/staging/iio/accel/Kconfig \
+	drivers/staging/iio/Kconfig \
+	drivers/staging/sep/Kconfig \
+	drivers/staging/vme/boards/Kconfig \
+	drivers/staging/vme/devices/Kconfig \
+	drivers/staging/vme/bridges/Kconfig \
+	drivers/staging/vme/Kconfig \
+	drivers/staging/hv/Kconfig \
+	drivers/staging/vt6656/Kconfig \
+	drivers/staging/vt6655/Kconfig \
+	drivers/staging/quatech_usb2/Kconfig \
+	drivers/staging/spectra/Kconfig \
+	drivers/staging/serqt_usb2/Kconfig \
+	drivers/staging/octeon/Kconfig \
+	drivers/gpu/drm/nouveau/Kconfig \
+	drivers/gpu/drm/vmwgfx/Kconfig \
+	drivers/staging/line6/Kconfig \
+	drivers/staging/phison/Kconfig \
+	drivers/staging/pohmelfs/Kconfig \
+	drivers/staging/frontier/Kconfig \
+	drivers/staging/rts_pstor/Kconfig \
+	drivers/staging/rtl8712/Kconfig \
+	drivers/staging/rtl8192e/Kconfig \
+	drivers/staging/rtl8192u/Kconfig \
+	drivers/staging/rtl8187se/Kconfig \
+	drivers/staging/panel/Kconfig \
+	drivers/staging/asus_oled/Kconfig \
+	drivers/staging/olpc_dcon/Kconfig \
+	drivers/staging/comedi/Kconfig \
+	drivers/staging/rt2870/Kconfig \
+	drivers/staging/rt2860/Kconfig \
+	drivers/staging/brcm80211/Kconfig \
+	drivers/staging/echo/Kconfig \
+	drivers/staging/wlan-ng/Kconfig \
+	drivers/staging/winbond/Kconfig \
+	drivers/staging/usbip/Kconfig \
+	drivers/staging/cxd2099/Kconfig \
+	drivers/staging/tm6000/Kconfig \
+	drivers/staging/cx25821/Kconfig \
+	drivers/staging/go7007/Kconfig \
+	drivers/staging/slicoss/Kconfig \
+	drivers/staging/et131x/Kconfig \
+	drivers/staging/generic_serial/Kconfig \
+	drivers/staging/tty/Kconfig \
+	drivers/staging/Kconfig \
+	drivers/xen/Kconfig \
+	drivers/vlynq/Kconfig \
+	drivers/uio/Kconfig \
+	drivers/auxdisplay/Kconfig \
+	drivers/dca/Kconfig \
+	drivers/dma/Kconfig \
+	drivers/rtc/Kconfig \
+	drivers/edac/Kconfig \
+	drivers/infiniband/ulp/iser/Kconfig \
+	drivers/infiniband/ulp/srp/Kconfig \
+	drivers/infiniband/ulp/ipoib/Kconfig \
+	drivers/infiniband/hw/nes/Kconfig \
+	drivers/infiniband/hw/mlx4/Kconfig \
+	drivers/infiniband/hw/cxgb4/Kconfig \
+	drivers/infiniband/hw/cxgb3/Kconfig \
+	drivers/infiniband/hw/amso1100/Kconfig \
+	drivers/infiniband/hw/ehca/Kconfig \
+	drivers/infiniband/hw/qib/Kconfig \
+	drivers/infiniband/hw/ipath/Kconfig \
+	drivers/infiniband/hw/mthca/Kconfig \
+	drivers/infiniband/Kconfig \
+	drivers/accessibility/Kconfig \
+	drivers/nfc/Kconfig \
+	drivers/leds/Kconfig \
+	drivers/memstick/host/Kconfig \
+	drivers/memstick/core/Kconfig \
+	drivers/memstick/Kconfig \
+	drivers/mmc/host/Kconfig \
+	drivers/mmc/card/Kconfig \
+	drivers/mmc/core/Kconfig \
+	drivers/mmc/Kconfig \
+	drivers/uwb/Kconfig \
+	drivers/usb/otg/Kconfig \
+	drivers/usb/gadget/Kconfig \
+	drivers/usb/atm/Kconfig \
+	drivers/usb/misc/sisusbvga/Kconfig \
+	drivers/usb/misc/Kconfig \
+	drivers/usb/serial/Kconfig \
+	drivers/usb/image/Kconfig \
+	drivers/usb/storage/Kconfig \
+	drivers/usb/class/Kconfig \
+	drivers/usb/musb/Kconfig \
+	drivers/usb/host/Kconfig \
+	drivers/usb/wusbcore/Kconfig \
+	drivers/usb/mon/Kconfig \
+	drivers/usb/core/Kconfig \
+	drivers/usb/Kconfig \
+	drivers/hid/usbhid/Kconfig \
+	drivers/hid/Kconfig \
+	sound/oss/Kconfig \
+	sound/soc/codecs/Kconfig \
+	sound/soc/txx9/Kconfig \
+	sound/soc/tegra/Kconfig \
+	sound/soc/sh/Kconfig \
+	sound/soc/s6000/Kconfig \
+	sound/soc/samsung/Kconfig \
+	sound/soc/pxa/Kconfig \
+	sound/soc/mid-x86/Kconfig \
+	sound/soc/kirkwood/Kconfig \
+	sound/soc/omap/Kconfig \
+	sound/soc/nuc900/Kconfig \
+	sound/soc/jz4740/Kconfig \
+	sound/soc/imx/Kconfig \
+	sound/soc/fsl/Kconfig \
+	sound/soc/ep93xx/Kconfig \
+	sound/soc/davinci/Kconfig \
+	sound/soc/blackfin/Kconfig \
+	sound/soc/au1x/Kconfig \
+	sound/soc/atmel/Kconfig \
+	sound/soc/Kconfig \
+	sound/parisc/Kconfig \
+	sound/sparc/Kconfig \
+	sound/pcmcia/Kconfig \
+	sound/firewire/Kconfig \
+	sound/usb/Kconfig \
+	sound/sh/Kconfig \
+	sound/mips/Kconfig \
+	sound/spi/Kconfig \
+	sound/atmel/Kconfig \
+	sound/arm/Kconfig \
+	sound/aoa/soundbus/Kconfig \
+	sound/aoa/codecs/Kconfig \
+	sound/aoa/fabrics/Kconfig \
+	sound/aoa/Kconfig \
+	sound/ppc/Kconfig \
+	sound/pci/hda/Kconfig \
+	sound/pci/Kconfig \
+	sound/isa/Kconfig \
+	sound/drivers/Kconfig \
+	sound/core/seq/Kconfig \
+	sound/core/Kconfig \
+	sound/oss/dmasound/Kconfig \
+	sound/Kconfig \
+	drivers/video/logo/Kconfig \
+	drivers/video/console/Kconfig \
+	drivers/video/display/Kconfig \
+	drivers/video/backlight/Kconfig \
+	drivers/video/omap2/displays/Kconfig \
+	drivers/video/omap2/omapfb/Kconfig \
+	drivers/video/omap2/dss/Kconfig \
+	drivers/video/omap2/Kconfig \
+	drivers/video/omap/Kconfig \
+	drivers/video/geode/Kconfig \
+	drivers/gpu/stub/Kconfig \
+	drivers/gpu/drm/radeon/Kconfig \
+	drivers/gpu/drm/Kconfig \
+	drivers/gpu/vga/Kconfig \
+	drivers/char/agp/Kconfig \
+	drivers/video/Kconfig \
+	drivers/media/dvb/frontends/Kconfig \
+	drivers/media/dvb/ngene/Kconfig \
+	drivers/media/dvb/mantis/Kconfig \
+	drivers/media/dvb/pt1/Kconfig \
+	drivers/media/dvb/firewire/Kconfig \
+	drivers/media/dvb/dm1105/Kconfig \
+	drivers/media/dvb/pluto2/Kconfig \
+	drivers/media/dvb/bt8xx/Kconfig \
+	drivers/media/dvb/b2c2/Kconfig \
+	drivers/media/dvb/siano/Kconfig \
+	drivers/media/dvb/ttusb-dec/Kconfig \
+	drivers/media/dvb/ttusb-budget/Kconfig \
+	drivers/media/dvb/dvb-usb/Kconfig \
+	drivers/media/dvb/ttpci/Kconfig \
+	drivers/media/dvb/Kconfig \
+	drivers/media/radio/wl128x/Kconfig \
+	drivers/media/radio/si470x/Kconfig \
+	drivers/media/radio/Kconfig \
+	drivers/media/video/pwc/Kconfig \
+	drivers/media/video/sn9c102/Kconfig \
+	drivers/media/video/et61x251/Kconfig \
+	drivers/media/video/usbvision/Kconfig \
+	drivers/media/video/cx231xx/Kconfig \
+	drivers/media/video/tlg2300/Kconfig \
+	drivers/media/video/em28xx/Kconfig \
+	drivers/media/video/hdpvr/Kconfig \
+	drivers/media/video/pvrusb2/Kconfig \
+	drivers/media/video/gspca/gl860/Kconfig \
+	drivers/media/video/gspca/stv06xx/Kconfig \
+	drivers/media/video/gspca/m5602/Kconfig \
+	drivers/media/video/gspca/Kconfig \
+	drivers/media/video/uvc/Kconfig \
+	drivers/media/video/saa7164/Kconfig \
+	drivers/media/video/cx18/Kconfig \
+	drivers/media/video/ivtv/Kconfig \
+	drivers/media/video/au0828/Kconfig \
+	drivers/media/video/cx23885/Kconfig \
+	drivers/media/video/cx88/Kconfig \
+	drivers/media/video/saa7134/Kconfig \
+	drivers/media/video/zoran/Kconfig \
+	drivers/media/video/cpia2/Kconfig \
+	drivers/media/video/bt8xx/Kconfig \
+	drivers/media/video/omap/Kconfig \
+	drivers/media/video/davinci/Kconfig \
+	drivers/media/video/cx25840/Kconfig \
+	drivers/media/video/Kconfig \
+	drivers/media/common/tuners/Kconfig \
+	drivers/media/rc/keymaps/Kconfig \
+	drivers/media/rc/Kconfig \
+	drivers/media/common/Kconfig \
+	drivers/media/Kconfig \
+	drivers/regulator/Kconfig \
+	drivers/mfd/Kconfig \
+	drivers/ssb/Kconfig \
+	drivers/watchdog/Kconfig \
+	drivers/thermal/Kconfig \
+	drivers/hwmon/Kconfig \
+	drivers/power/Kconfig \
+	drivers/w1/slaves/Kconfig \
+	drivers/w1/masters/Kconfig \
+	drivers/w1/Kconfig \
+	drivers/gpio/Kconfig \
+	drivers/pps/generators/Kconfig \
+	drivers/pps/clients/Kconfig \
+	drivers/pps/Kconfig \
+	drivers/spi/Kconfig \
+	drivers/i2c/busses/Kconfig \
+	drivers/i2c/algos/Kconfig \
+	drivers/i2c/muxes/Kconfig \
+	drivers/i2c/Kconfig \
+	drivers/s390/char/Kconfig \
+	drivers/char/tpm/Kconfig \
+	drivers/char/pcmcia/Kconfig \
+	drivers/char/hw_random/Kconfig \
+	drivers/char/ipmi/Kconfig \
+	drivers/tty/hvc/Kconfig \
+	drivers/tty/serial/Kconfig \
+	drivers/tty/Kconfig \
+	drivers/char/Kconfig \
+	drivers/input/gameport/Kconfig \
+	drivers/input/serio/Kconfig \
+	drivers/input/misc/Kconfig \
+	drivers/input/touchscreen/Kconfig \
+	drivers/input/tablet/Kconfig \
+	drivers/input/joystick/iforce/Kconfig \
+	drivers/input/joystick/Kconfig \
+	drivers/input/mouse/Kconfig \
+	drivers/input/keyboard/Kconfig \
+	drivers/input/Kconfig \
+	drivers/telephony/Kconfig \
+	drivers/isdn/hardware/mISDN/Kconfig \
+	drivers/isdn/mISDN/Kconfig \
+	drivers/isdn/hysdn/Kconfig \
+	drivers/isdn/gigaset/Kconfig \
+	drivers/isdn/hardware/eicon/Kconfig \
+	drivers/isdn/hardware/avm/Kconfig \
+	drivers/isdn/hardware/Kconfig \
+	drivers/isdn/capi/Kconfig \
+	drivers/isdn/act2000/Kconfig \
+	drivers/isdn/sc/Kconfig \
+	drivers/isdn/pcbit/Kconfig \
+	drivers/isdn/icn/Kconfig \
+	drivers/isdn/hisax/Kconfig \
+	drivers/isdn/i4l/Kconfig \
+	drivers/isdn/Kconfig \
+	drivers/net/caif/Kconfig \
+	drivers/s390/net/Kconfig \
+	drivers/ieee802154/Kconfig \
+	drivers/atm/Kconfig \
+	drivers/net/wan/Kconfig \
+	drivers/net/pcmcia/Kconfig \
+	drivers/net/usb/Kconfig \
+	drivers/net/wimax/i2400m/Kconfig \
+	drivers/net/wimax/Kconfig \
+	drivers/net/wireless/zd1211rw/Kconfig \
+	drivers/net/wireless/wl12xx/Kconfig \
+	drivers/net/wireless/wl1251/Kconfig \
+	drivers/net/wireless/rtlwifi/Kconfig \
+	drivers/net/wireless/rt2x00/Kconfig \
+	drivers/net/wireless/p54/Kconfig \
+	drivers/net/wireless/orinoco/Kconfig \
+	drivers/net/wireless/libertas/Kconfig \
+	drivers/net/wireless/iwmc3200wifi/Kconfig \
+	drivers/net/wireless/iwlegacy/Kconfig \
+	drivers/net/wireless/iwlwifi/Kconfig \
+	drivers/net/wireless/ipw2x00/Kconfig \
+	drivers/net/wireless/hostap/Kconfig \
+	drivers/net/wireless/b43legacy/Kconfig \
+	drivers/net/wireless/b43/Kconfig \
+	drivers/net/wireless/ath/carl9170/Kconfig \
+	drivers/net/wireless/ath/ar9170/Kconfig \
+	drivers/net/wireless/ath/ath9k/Kconfig \
+	drivers/net/wireless/ath/ath5k/Kconfig \
+	drivers/net/wireless/ath/Kconfig \
+	drivers/net/wireless/rtl818x/Kconfig \
+	drivers/net/wireless/Kconfig \
+	drivers/net/tokenring/Kconfig \
+	drivers/net/benet/Kconfig \
+	drivers/net/sfc/Kconfig \
+	drivers/net/stmmac/Kconfig \
+	drivers/net/ixp2000/Kconfig \
+	drivers/net/octeon/Kconfig \
+	drivers/net/fs_enet/Kconfig \
+	drivers/net/ibm_newemac/Kconfig \
+	drivers/net/tulip/Kconfig \
+	drivers/net/arm/Kconfig \
+	drivers/net/phy/Kconfig \
+	drivers/net/arcnet/Kconfig \
+	drivers/net/Kconfig \
+	drivers/macintosh/Kconfig \
+	drivers/message/i2o/Kconfig \
+	drivers/firewire/Kconfig \
+	drivers/message/fusion/Kconfig \
+	drivers/target/loopback/Kconfig \
+	drivers/target/Kconfig \
+	drivers/md/Kconfig \
+	drivers/ata/Kconfig \
+	drivers/scsi/osd/Kconfig \
+	drivers/scsi/device_handler/Kconfig \
+	drivers/scsi/pcmcia/Kconfig \
+	drivers/scsi/arm/Kconfig \
+	drivers/scsi/qla4xxx/Kconfig \
+	drivers/scsi/qla2xxx/Kconfig \
+	drivers/scsi/mpt2sas/Kconfig \
+	drivers/scsi/megaraid/Kconfig.megaraid \
+	drivers/scsi/mvsas/Kconfig \
+	drivers/scsi/aic94xx/Kconfig \
+	drivers/scsi/aic7xxx/Kconfig.aic79xx \
+	drivers/scsi/aic7xxx/Kconfig.aic7xxx \
+	drivers/scsi/be2iscsi/Kconfig \
+	drivers/scsi/bnx2fc/Kconfig \
+	drivers/scsi/bnx2i/Kconfig \
+	drivers/scsi/cxgbi/cxgb4i/Kconfig \
+	drivers/scsi/cxgbi/cxgb3i/Kconfig \
+	drivers/scsi/cxgbi/Kconfig \
+	drivers/scsi/libsas/Kconfig \
+	drivers/scsi/Kconfig \
+	drivers/ide/Kconfig \
+	drivers/misc/lis3lv02d/Kconfig \
+	drivers/misc/ti-st/Kconfig \
+	drivers/misc/iwmc3200top/Kconfig \
+	drivers/misc/cb710/Kconfig \
+	drivers/misc/eeprom/Kconfig \
+	drivers/misc/c2port/Kconfig \
+	drivers/misc/Kconfig \
+	drivers/s390/block/Kconfig \
+	drivers/block/drbd/Kconfig \
+	drivers/block/paride/Kconfig \
+	drivers/block/Kconfig \
+	drivers/pnp/pnpacpi/Kconfig \
+	drivers/pnp/pnpbios/Kconfig \
+	drivers/pnp/isapnp/Kconfig \
+	drivers/pnp/Kconfig \
+	drivers/parport/Kconfig \
+	drivers/of/Kconfig \
+	drivers/mtd/ubi/Kconfig \
+	drivers/mtd/lpddr/Kconfig \
+	drivers/mtd/onenand/Kconfig \
+	drivers/mtd/nand/Kconfig \
+	drivers/mtd/devices/Kconfig \
+	drivers/mtd/maps/Kconfig \
+	drivers/mtd/chips/Kconfig \
+	drivers/mtd/Kconfig \
+	drivers/connector/Kconfig \
+	drivers/base/Kconfig \
+	drivers/Kconfig \
+	net/ceph/Kconfig \
+	net/caif/Kconfig \
+	net/9p/Kconfig \
+	net/rfkill/Kconfig \
+	net/wimax/Kconfig \
+	net/mac80211/Kconfig \
+	net/wireless/Kconfig \
+	net/rxrpc/Kconfig \
+	drivers/bluetooth/Kconfig \
+	net/bluetooth/hidp/Kconfig \
+	net/bluetooth/cmtp/Kconfig \
+	net/bluetooth/bnep/Kconfig \
+	net/bluetooth/rfcomm/Kconfig \
+	net/bluetooth/Kconfig \
+	drivers/net/irda/Kconfig \
+	net/irda/ircomm/Kconfig \
+	net/irda/irnet/Kconfig \
+	net/irda/irlan/Kconfig \
+	net/irda/Kconfig \
+	drivers/net/can/softing/Kconfig \
+	drivers/net/can/usb/Kconfig \
+	drivers/net/can/c_can/Kconfig \
+	drivers/net/can/sja1000/Kconfig \
+	drivers/net/can/mscan/Kconfig \
+	drivers/net/can/Kconfig \
+	net/can/Kconfig \
+	drivers/net/hamradio/Kconfig \
+	net/ax25/Kconfig \
+	net/batman-adv/Kconfig \
+	net/dns_resolver/Kconfig \
+	net/dcb/Kconfig \
+	net/sched/Kconfig \
+	net/ieee802154/Kconfig \
+	net/phonet/Kconfig \
+	net/wanrouter/Kconfig \
+	net/econet/Kconfig \
+	net/lapb/Kconfig \
+	net/x25/Kconfig \
+	drivers/net/appletalk/Kconfig \
+	net/ipx/Kconfig \
+	net/llc/Kconfig \
+	net/decnet/Kconfig \
+	net/8021q/Kconfig \
+	net/dsa/Kconfig \
+	net/bridge/Kconfig \
+	net/802/Kconfig \
+	net/l2tp/Kconfig \
+	net/atm/Kconfig \
+	net/tipc/Kconfig \
+	net/rds/Kconfig \
+	net/sctp/Kconfig \
+	net/dccp/ccids/Kconfig \
+	net/dccp/Kconfig \
+	net/bridge/netfilter/Kconfig \
+	net/decnet/netfilter/Kconfig \
+	net/ipv6/netfilter/Kconfig \
+	net/ipv4/netfilter/Kconfig \
+	net/netfilter/ipvs/Kconfig \
+	net/netfilter/ipset/Kconfig \
+	net/netfilter/Kconfig \
+	net/netlabel/Kconfig \
+	net/ipv6/Kconfig \
+	net/ipv4/Kconfig \
+	net/iucv/Kconfig \
+	net/xfrm/Kconfig \
+	net/unix/Kconfig \
+	net/packet/Kconfig \
+	net/Kconfig \
+	drivers/rapidio/switches/Kconfig \
+	drivers/rapidio/Kconfig \
+	drivers/pci/hotplug/Kconfig \
+	drivers/pcmcia/Kconfig \
+	drivers/pci/Kconfig \
+	drivers/pci/pcie/aer/Kconfig.debug \
+	drivers/pci/pcie/aer/Kconfig \
+	drivers/pci/pcie/Kconfig \
+	kernel/power/Kconfig \
+	mm/Kconfig \
+	fs/Kconfig.binfmt \
+	kernel/Kconfig.preempt \
+	kernel/Kconfig.hz \
+	kernel/time/Kconfig \
+	arch/powerpc/sysdev/bestcomm/Kconfig \
+	drivers/cpufreq/Kconfig \
+	arch/powerpc/platforms/invader/Kconfig \
+	arch/powerpc/platforms/amigaone/Kconfig \
+	arch/powerpc/platforms/40x/Kconfig \
+	arch/powerpc/platforms/44x/Kconfig \
+	arch/powerpc/platforms/embedded6xx/Kconfig \
+	arch/powerpc/platforms/86xx/Kconfig \
+	arch/powerpc/platforms/85xx/Kconfig \
+	arch/powerpc/platforms/83xx/Kconfig \
+	arch/powerpc/platforms/82xx/Kconfig \
+	arch/powerpc/platforms/8xx/Kconfig \
+	arch/powerpc/platforms/cell/Kconfig \
+	arch/powerpc/platforms/ps3/Kconfig \
+	arch/powerpc/platforms/pasemi/Kconfig \
+	arch/powerpc/platforms/maple/Kconfig \
+	arch/powerpc/platforms/prep/Kconfig \
+	arch/powerpc/platforms/powermac/Kconfig \
+	arch/powerpc/platforms/52xx/Kconfig \
+	arch/powerpc/platforms/512x/Kconfig \
+	arch/powerpc/platforms/chrp/Kconfig \
+	arch/powerpc/platforms/iseries/Kconfig \
+	arch/powerpc/platforms/pseries/Kconfig \
+	arch/powerpc/platforms/Kconfig \
+	arch/powerpc/sysdev/Kconfig \
+	kernel/Kconfig.freezer \
+	kernel/Kconfig.locks \
+	block/Kconfig.iosched \
+	block/Kconfig \
+	kernel/gcov/Kconfig \
+	arch/Kconfig \
+	usr/Kconfig \
+	kernel/irq/Kconfig \
+	init/Kconfig \
+	arch/powerpc/platforms/Kconfig.cputype \
+	arch/powerpc/Kconfig \
+	Kconfig
+
+include/config/auto.conf: \
+	$(deps_config)
+
+ifneq "$(KERNELVERSION)" "2.6.39.4"
+include/config/auto.conf: FORCE
+endif
+ifneq "$(ARCH)" "powerpc"
+include/config/auto.conf: FORCE
+endif
+ifneq "$(SRCARCH)" "powerpc"
+include/config/auto.conf: FORCE
+endif
+
+$(deps_config): ;
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/include/config/kernel.release ../linux-2.6.39.4/include/config/kernel.release
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/include/config/kernel.release	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/include/config/kernel.release	2011-11-02 08:41:45.402824875 +0530
@@ -0,0 +1 @@
+2.6.39.4
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/include/config/tristate.conf ../linux-2.6.39.4/include/config/tristate.conf
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/include/config/tristate.conf	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/include/config/tristate.conf	2011-10-26 17:30:05.409778707 +0530
@@ -0,0 +1,72 @@
+#
+# Automatically generated - do not edit
+
+CONFIG_CRC32=Y
+CONFIG_CONNECTOR=M
+CONFIG_CRYPTO_RNG2=M
+CONFIG_SERIAL_8250=Y
+CONFIG_LZO_DECOMPRESS=Y
+CONFIG_OF_I2C=M
+CONFIG_MTD=M
+CONFIG_DECOMPRESS_LZMA=Y
+CONFIG_INPUT_MOUSEDEV=Y
+CONFIG_SERIO=Y
+CONFIG_I2C_ALGOPCA=M
+CONFIG_ZLIB_INFLATE=Y
+CONFIG_DISPLAY_SUPPORT=M
+CONFIG_PPS=M
+CONFIG_I2C_PCA_PLATFORM=M
+CONFIG_CRYPTO_WORKQUEUE=M
+CONFIG_IOSCHED_DEADLINE=Y
+CONFIG_IOSCHED_CFQ=Y
+CONFIG_CRYPTO_GF128MUL=M
+CONFIG_CRYPTO_PCOMP2=M
+CONFIG_UNIX=Y
+CONFIG_CRYPTO_HASH2=M
+CONFIG_CRYPTO_ALGAPI=M
+CONFIG_KEYBOARD_ATKBD=Y
+CONFIG_CRYPTO_MANAGER2=M
+CONFIG_I2C=M
+CONFIG_CRYPTO_ECB=M
+CONFIG_NET_PKTGEN=M
+CONFIG_FW_LOADER=Y
+CONFIG_DECOMPRESS_XZ=Y
+CONFIG_XZ_DEC=Y
+CONFIG_KEYBOARD_MAX7359=M
+CONFIG_EXT2_FS=Y
+CONFIG_PACKET=Y
+CONFIG_MOUSE_SYNAPTICS_I2C=M
+CONFIG_CRYPTO_AES=M
+CONFIG_SSB=M
+CONFIG_I2C_STUB=M
+CONFIG_SERIO_SERPORT=Y
+CONFIG_SERIO_LIBPS2=Y
+CONFIG_CRYPTO=M
+CONFIG_SCSI_MOD=Y
+CONFIG_SERIAL_CORE=Y
+CONFIG_I2C_SMBUS=M
+CONFIG_KEYBOARD_ADP5588=M
+CONFIG_DECOMPRESS_BZIP2=Y
+CONFIG_CRYPTO_ARC4=M
+CONFIG_CRYPTO_MANAGER=M
+CONFIG_I2C_ALGOBIT=M
+CONFIG_MOUSE_VSXXXAA=M
+CONFIG_I2C_PARPORT_LIGHT=M
+CONFIG_I2C_SIMTEC=M
+CONFIG_MOUSE_SERIAL=M
+CONFIG_KEYBOARD_OPENCORES=M
+CONFIG_THERMAL=Y
+CONFIG_CRYPTO_BLKCIPHER2=M
+CONFIG_INPUT_POLLDEV=Y
+CONFIG_BLK_DEV_RAM=Y
+CONFIG_INPUT_SPARSEKMAP=M
+CONFIG_DECOMPRESS_GZIP=Y
+CONFIG_DECOMPRESS_LZO=Y
+CONFIG_I2C_CHARDEV=M
+CONFIG_BITREVERSE=Y
+CONFIG_CRYPTO_BLKCIPHER=M
+CONFIG_RING_BUFFER_BENCHMARK=M
+CONFIG_CRYPTO_AEAD2=M
+CONFIG_MOUSE_PS2=Y
+CONFIG_CRYPTO_ALGAPI2=M
+CONFIG_INPUT=Y
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/include/generated/asm-offsets.h ../linux-2.6.39.4/include/generated/asm-offsets.h
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/include/generated/asm-offsets.h	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/include/generated/asm-offsets.h	2011-10-28 13:54:38.515779215 +0530
@@ -0,0 +1,142 @@
+#ifndef __ASM_OFFSETS_H__
+#define __ASM_OFFSETS_H__
+/*
+ * DO NOT MODIFY.
+ *
+ * This file was generated by Kbuild
+ *
+ */
+
+#define THREAD 456 /* offsetof(struct task_struct, thread)	 # */
+#define MM 168 /* offsetof(struct task_struct, mm)	 # */
+#define MMCONTEXTID 384 /* offsetof(struct mm_struct, context.id)	 # */
+#define THREAD_INFO 4 /* offsetof(struct task_struct, stack)	 # */
+#define KSP 0 /* offsetof(struct thread_struct, ksp)	 # */
+#define KSP_LIMIT 4 /* offsetof(struct thread_struct, ksp_limit)	 # */
+#define PT_REGS 8 /* offsetof(struct thread_struct, regs)	 # */
+#define THREAD_FPEXC_MODE 336 /* offsetof(struct thread_struct, fpexc_mode)	 # */
+#define THREAD_FPR0 72 /* offsetof(struct thread_struct, fpr[0])	 # */
+#define THREAD_FPSCR 328 /* offsetof(struct thread_struct, fpscr)	 # */
+#define PGDIR 16 /* offsetof(struct thread_struct, pgdir)	 # */
+#define THREAD_DBCR0 20 /* offsetof(struct thread_struct, dbcr0)	 # */
+#define TI_FLAGS 60 /* offsetof(struct thread_info, flags)	 # */
+#define TI_LOCAL_FLAGS 56 /* offsetof(struct thread_info, local_flags)	 # */
+#define TI_PREEMPT 12 /* offsetof(struct thread_info, preempt_count)	 # */
+#define TI_TASK 0 /* offsetof(struct thread_info, task)	 # */
+#define TI_CPU 8 /* offsetof(struct thread_info, cpu)	 # */
+#define RTASBASE 4 /* offsetof(struct rtas_t, base)	 # */
+#define RTASENTRY 0 /* offsetof(struct rtas_t, entry)	 # */
+#define INT_FRAME_SIZE 192 /* STACK_INT_FRAME_SIZE	 # */
+#define SWITCH_FRAME_SIZE 192 /* STACK_FRAME_OVERHEAD + sizeof(struct pt_regs)	 # */
+#define GPR0 16 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[0])	 # */
+#define GPR1 20 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[1])	 # */
+#define GPR2 24 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[2])	 # */
+#define GPR3 28 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[3])	 # */
+#define GPR4 32 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[4])	 # */
+#define GPR5 36 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[5])	 # */
+#define GPR6 40 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[6])	 # */
+#define GPR7 44 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[7])	 # */
+#define GPR8 48 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[8])	 # */
+#define GPR9 52 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[9])	 # */
+#define GPR10 56 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[10])	 # */
+#define GPR11 60 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[11])	 # */
+#define GPR12 64 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[12])	 # */
+#define GPR13 68 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[13])	 # */
+#define GPR14 72 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[14])	 # */
+#define GPR15 76 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[15])	 # */
+#define GPR16 80 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[16])	 # */
+#define GPR17 84 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[17])	 # */
+#define GPR18 88 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[18])	 # */
+#define GPR19 92 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[19])	 # */
+#define GPR20 96 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[20])	 # */
+#define GPR21 100 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[21])	 # */
+#define GPR22 104 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[22])	 # */
+#define GPR23 108 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[23])	 # */
+#define GPR24 112 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[24])	 # */
+#define GPR25 116 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[25])	 # */
+#define GPR26 120 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[26])	 # */
+#define GPR27 124 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[27])	 # */
+#define GPR28 128 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[28])	 # */
+#define GPR29 132 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[29])	 # */
+#define GPR30 136 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[30])	 # */
+#define GPR31 140 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[31])	 # */
+#define _NIP 144 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, nip)	 # */
+#define _MSR 148 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, msr)	 # */
+#define _CTR 156 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, ctr)	 # */
+#define _LINK 160 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, link)	 # */
+#define _CCR 168 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, ccr)	 # */
+#define _XER 164 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, xer)	 # */
+#define _DAR 180 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, dar)	 # */
+#define _DSISR 184 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, dsisr)	 # */
+#define ORIG_GPR3 152 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, orig_gpr3)	 # */
+#define RESULT 188 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, result)	 # */
+#define _TRAP 176 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, trap)	 # */
+#define _MQ 172 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, mq)	 # */
+#define _DEAR 180 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, dar)	 # */
+#define _ESR 184 /* STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, dsisr)	 # */
+#define EXC_LVL_SIZE 64 /* STACK_EXC_LVL_FRAME_SIZE	 # */
+#define MAS0 192 /* STACK_INT_FRAME_SIZE+offsetof(struct exception_regs, mas0)	 # */
+#define MMUCR 192 /* STACK_INT_FRAME_SIZE+offsetof(struct exception_regs, mas0)	 # */
+#define MAS1 196 /* STACK_INT_FRAME_SIZE+offsetof(struct exception_regs, mas1)	 # */
+#define MAS2 200 /* STACK_INT_FRAME_SIZE+offsetof(struct exception_regs, mas2)	 # */
+#define MAS3 204 /* STACK_INT_FRAME_SIZE+offsetof(struct exception_regs, mas3)	 # */
+#define MAS6 208 /* STACK_INT_FRAME_SIZE+offsetof(struct exception_regs, mas6)	 # */
+#define MAS7 212 /* STACK_INT_FRAME_SIZE+offsetof(struct exception_regs, mas7)	 # */
+#define _SRR0 216 /* STACK_INT_FRAME_SIZE+offsetof(struct exception_regs, srr0)	 # */
+#define _SRR1 220 /* STACK_INT_FRAME_SIZE+offsetof(struct exception_regs, srr1)	 # */
+#define _CSRR0 224 /* STACK_INT_FRAME_SIZE+offsetof(struct exception_regs, csrr0)	 # */
+#define _CSRR1 228 /* STACK_INT_FRAME_SIZE+offsetof(struct exception_regs, csrr1)	 # */
+#define _DSRR0 232 /* STACK_INT_FRAME_SIZE+offsetof(struct exception_regs, dsrr0)	 # */
+#define _DSRR1 236 /* STACK_INT_FRAME_SIZE+offsetof(struct exception_regs, dsrr1)	 # */
+#define SAVED_KSP_LIMIT 240 /* STACK_INT_FRAME_SIZE+offsetof(struct exception_regs, saved_ksp_limit)	 # */
+#define CLONE_VM 256 /* CLONE_VM	 # */
+#define CLONE_UNTRACED 8388608 /* CLONE_UNTRACED	 # */
+#define MM_PGD 36 /* offsetof(struct mm_struct, pgd)	 # */
+#define CPU_SPEC_FEATURES 12 /* offsetof(struct cpu_spec, cpu_features)	 # */
+#define CPU_SPEC_SETUP 40 /* offsetof(struct cpu_spec, cpu_setup)	 # */
+#define CPU_SPEC_RESTORE 44 /* offsetof(struct cpu_spec, cpu_restore)	 # */
+#define pbe_address 0 /* offsetof(struct pbe, address)	 # */
+#define pbe_orig_address 4 /* offsetof(struct pbe, orig_address)	 # */
+#define pbe_next 8 /* offsetof(struct pbe, next)	 # */
+#define TASK_SIZE 1879048192 /* TASK_SIZE	 # */
+#define NUM_USER_SEGMENTS 7 /* TASK_SIZE>>28	 # */
+#define CFG_TB_ORIG_STAMP 0 /* offsetof(struct vdso_data, tb_orig_stamp)	 # */
+#define CFG_TB_TICKS_PER_SEC 8 /* offsetof(struct vdso_data, tb_ticks_per_sec)	 # */
+#define CFG_TB_TO_XS 16 /* offsetof(struct vdso_data, tb_to_xs)	 # */
+#define CFG_STAMP_XSEC 24 /* offsetof(struct vdso_data, stamp_xsec)	 # */
+#define CFG_TB_UPDATE_COUNT 32 /* offsetof(struct vdso_data, tb_update_count)	 # */
+#define CFG_TZ_MINUTEWEST 36 /* offsetof(struct vdso_data, tz_minuteswest)	 # */
+#define CFG_TZ_DSTTIME 40 /* offsetof(struct vdso_data, tz_dsttime)	 # */
+#define CFG_SYSCALL_MAP32 64 /* offsetof(struct vdso_data, syscall_map_32)	 # */
+#define WTOM_CLOCK_SEC 44 /* offsetof(struct vdso_data, wtom_clock_sec)	 # */
+#define WTOM_CLOCK_NSEC 48 /* offsetof(struct vdso_data, wtom_clock_nsec)	 # */
+#define STAMP_XTIME 52 /* offsetof(struct vdso_data, stamp_xtime)	 # */
+#define STAMP_SEC_FRAC 60 /* offsetof(struct vdso_data, stamp_sec_fraction)	 # */
+#define CFG_ICACHE_BLOCKSZ 112 /* offsetof(struct vdso_data, icache_block_size)	 # */
+#define CFG_DCACHE_BLOCKSZ 108 /* offsetof(struct vdso_data, dcache_block_size)	 # */
+#define CFG_ICACHE_LOGBLOCKSZ 120 /* offsetof(struct vdso_data, icache_log_block_size)	 # */
+#define CFG_DCACHE_LOGBLOCKSZ 116 /* offsetof(struct vdso_data, dcache_log_block_size)	 # */
+#define TVAL32_TV_SEC 0 /* offsetof(struct timeval, tv_sec)	 # */
+#define TVAL32_TV_USEC 4 /* offsetof(struct timeval, tv_usec)	 # */
+#define TSPC32_TV_SEC 0 /* offsetof(struct timespec, tv_sec)	 # */
+#define TSPC32_TV_NSEC 4 /* offsetof(struct timespec, tv_nsec)	 # */
+#define TZONE_TZ_MINWEST 0 /* offsetof(struct timezone, tz_minuteswest)	 # */
+#define TZONE_TZ_DSTTIME 4 /* offsetof(struct timezone, tz_dsttime)	 # */
+#define CLOCK_REALTIME 0 /* CLOCK_REALTIME	 # */
+#define CLOCK_MONOTONIC 1 /* CLOCK_MONOTONIC	 # */
+#define NSEC_PER_SEC 1000000000 /* NSEC_PER_SEC	 # */
+#define CLOCK_REALTIME_RES 1000000 /* MONOTONIC_RES_NSEC	 # */
+#define BUG_ENTRY_SIZE 12 /* sizeof(struct bug_entry)	 # */
+#define PGD_TABLE_SIZE 8192 /* PGD_TABLE_SIZE	 # */
+#define PTE_SIZE 8 /* sizeof(pte_t)	 # */
+#define KVM_MAGIC_SCRATCH1 0 /* offsetof(struct kvm_vcpu_arch_shared, scratch1)	 # */
+#define KVM_MAGIC_SCRATCH2 8 /* offsetof(struct kvm_vcpu_arch_shared, scratch2)	 # */
+#define KVM_MAGIC_SCRATCH3 16 /* offsetof(struct kvm_vcpu_arch_shared, scratch3)	 # */
+#define KVM_MAGIC_INT 100 /* offsetof(struct kvm_vcpu_arch_shared, int_pending)	 # */
+#define KVM_MAGIC_MSR 88 /* offsetof(struct kvm_vcpu_arch_shared, msr)	 # */
+#define KVM_MAGIC_CRITICAL 24 /* offsetof(struct kvm_vcpu_arch_shared, critical)	 # */
+#define KVM_MAGIC_SR 104 /* offsetof(struct kvm_vcpu_arch_shared, sr)	 # */
+#define PGD_T_LOG2 2 /* PGD_T_LOG2	 # */
+#define PTE_T_LOG2 3 /* PTE_T_LOG2	 # */
+
+#endif
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/include/generated/autoconf.h ../linux-2.6.39.4/include/generated/autoconf.h
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/include/generated/autoconf.h	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/include/generated/autoconf.h	2011-10-26 17:30:05.409778707 +0530
@@ -0,0 +1,375 @@
+/*
+ * Automatically generated C config: don't edit
+ * Linux/powerpc 2.6.39.4 Kernel Configuration
+ * Wed Oct 26 17:30:05 2011
+ */
+#define CONFIG_RING_BUFFER 1
+#define CONFIG_INPUT_KEYBOARD 1
+#define CONFIG_CRC32 1
+#define CONFIG_I2C_BOARDINFO 1
+#define CONFIG_FLATMEM_MANUAL 1
+#define CONFIG_XZ_DEC_IA64 1
+#define CONFIG_INOTIFY_USER 1
+#define CONFIG_EXPERIMENTAL 1
+#define CONFIG_ARCH_SUSPEND_POSSIBLE 1
+#define CONFIG_INLINE_WRITE_UNLOCK_IRQ 1
+#define CONFIG_SSB_POSSIBLE 1
+#define CONFIG_FSNOTIFY 1
+#define CONFIG_ARCH_FLATMEM_ENABLE 1
+#define CONFIG_DEFAULT_SECURITY_DAC 1
+#define CONFIG_AUDIT_ARCH 1
+#define CONFIG_UEVENT_HELPER_PATH ""
+#define CONFIG_DEVTMPFS 1
+#define CONFIG_NAMESPACES 1
+#define CONFIG_DEFAULT_MESSAGE_LOGLEVEL 7
+#define CONFIG_BLK_DEV_BSG 1
+#define CONFIG_CONNECTOR_MODULE 1
+#define CONFIG_CRYPTO_RNG2_MODULE 1
+#define CONFIG_SERIAL_8250 1
+#define CONFIG_LZO_DECOMPRESS 1
+#define CONFIG_OF_DEVICE 1
+#define CONFIG_RD_LZMA 1
+#define CONFIG_SCHED_OMIT_FRAME_POINTER 1
+#define CONFIG_BRANCH_PROFILE_NONE 1
+#define CONFIG_OF_I2C_MODULE 1
+#define CONFIG_FORCE_MAX_ZONEORDER 11
+#define CONFIG_PRINTK 1
+#define CONFIG_TIMERFD 1
+#define CONFIG_TRACEPOINTS 1
+#define CONFIG_MTD_CFI_I2 1
+#define CONFIG_BOUNCE 1
+#define CONFIG_SHMEM 1
+#define CONFIG_MTD_MODULE 1
+#define CONFIG_MIGRATION 1
+#define CONFIG_DECOMPRESS_LZMA 1
+#define CONFIG_DEVTMPFS_MOUNT 1
+#define CONFIG_DNOTIFY 1
+#define CONFIG_PPC_47x 1
+#define CONFIG_INPUT_MOUSEDEV 1
+#define CONFIG_NR_IRQS 512
+#define CONFIG_SLUB_DEBUG_ON 1
+#define CONFIG_SERIO 1
+#define CONFIG_INPUT_MOUSE 1
+#define CONFIG_BOOKE 1
+#define CONFIG_BLK_DEV_INITRD 1
+#define CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE 1
+#define CONFIG_I2C_ALGOPCA_MODULE 1
+#define CONFIG_ZLIB_INFLATE 1
+#define CONFIG_MOUSE_PS2_SENTELIC 1
+#define CONFIG_STACKTRACE_SUPPORT 1
+#define CONFIG_ARCH_HAS_WALK_MEMORY 1
+#define CONFIG_PPC_OF 1
+#define CONFIG_PPC_ADV_DEBUG_DVCS 2
+#define CONFIG_INVADER 1
+#define CONFIG_DISPLAY_SUPPORT_MODULE 1
+#define CONFIG_STANDALONE 1
+#define CONFIG_PAGE_OFFSET_BOOL 1
+#define CONFIG_BLOCK 1
+#define CONFIG_HAVE_IDE 1
+#define CONFIG_INIT_ENV_ARG_LIMIT 32
+#define CONFIG_PPC44x_SIMPLE 1
+#define CONFIG_USER_NS 1
+#define CONFIG_BUG 1
+#define CONFIG_CONTEXT_SWITCH_TRACER 1
+#define CONFIG_PPS_MODULE 1
+#define CONFIG_GENERIC_ISA_DMA 1
+#define CONFIG_OF_IRQ 1
+#define CONFIG_PPC_ADV_DEBUG_DAC_RANGE 1
+#define CONFIG_VT 1
+#define CONFIG_DTC 1
+#define CONFIG_SPLIT_PTLOCK_CPUS 4
+#define CONFIG_I2C_PCA_PLATFORM_MODULE 1
+#define CONFIG_WORD_SIZE 32
+#define CONFIG_ZONE_DMA 1
+#define CONFIG_IRQ_WORK 1
+#define CONFIG_EVENT_TRACING 1
+#define CONFIG_SYSFS_DEPRECATED 1
+#define CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB 1
+#define CONFIG_PREEMPT_VOLUNTARY 1
+#define CONFIG_PPC_MMU_NOHASH 1
+#define CONFIG_CRYPTO_WORKQUEUE_MODULE 1
+#define CONFIG_EXTRA_TARGETS ""
+#define CONFIG_IOSCHED_DEADLINE 1
+#define CONFIG_EVENTFD 1
+#define CONFIG_GENERIC_NVRAM 1
+#define CONFIG_DEFCONFIG_LIST "/lib/modules/$UNAME_RELEASE/.config"
+#define CONFIG_SERIAL_8250_CONSOLE 1
+#define CONFIG_PROC_PAGE_MONITOR 1
+#define CONFIG_SERIAL_8250_EXTENDED 1
+#define CONFIG_RD_LZO 1
+#define CONFIG_PERF_COUNTERS 1
+#define CONFIG_SELECT_MEMORY_MODEL 1
+#define CONFIG_HAVE_DYNAMIC_FTRACE 1
+#define CONFIG_MAGIC_SYSRQ 1
+#define CONFIG_DEFAULT_CFQ 1
+#define CONFIG_MAX_ACTIVE_REGIONS 32
+#define CONFIG_DEBUG_BUGVERBOSE 1
+#define CONFIG_GENERIC_CLOCKEVENTS 1
+#define CONFIG_IOSCHED_CFQ 1
+#define CONFIG_GENERIC_FIND_LAST_BIT 1
+#define CONFIG_RWSEM_XCHGADD_ALGORITHM 1
+#define CONFIG_PPC_UDBG_16550 1
+#define CONFIG_CONSOLE_TRANSLATIONS 1
+#define CONFIG_DUMMY_CONSOLE 1
+#define CONFIG_TRACE_IRQFLAGS_SUPPORT 1
+#define CONFIG_KVM_GUEST 1
+#define CONFIG_RD_GZIP 1
+#define CONFIG_HAVE_REGS_AND_STACK_ACCESS_API 1
+#define CONFIG_LBDAF 1
+#define CONFIG_KERNEL_START 0x70000000
+#define CONFIG_PPC 1
+#define CONFIG_HAVE_GENERIC_HARDIRQS 1
+#define CONFIG_BINFMT_ELF 1
+#define CONFIG_HOTPLUG 1
+#define CONFIG_SCHED_TRACER 1
+#define CONFIG_SLABINFO 1
+#define CONFIG_VT_HW_CONSOLE_BINDING 1
+#define CONFIG_XZ_DEC_X86 1
+#define CONFIG_CRYPTO_GF128MUL_MODULE 1
+#define CONFIG_BROKEN_ON_SMP 1
+#define CONFIG_GENERIC_FIND_BIT_LE 1
+#define CONFIG_TMPFS 1
+#define CONFIG_ANON_INODES 1
+#define CONFIG_FUTEX 1
+#define CONFIG_PPC_ADV_DEBUG_IACS 4
+#define CONFIG_SERIAL_CORE_CONSOLE 1
+#define CONFIG_SLUB_DEBUG 1
+#define CONFIG_MOUSE_PS2_ELANTECH 1
+#define CONFIG_SYSVIPC 1
+#define CONFIG_CRYPTO_PCOMP2_MODULE 1
+#define CONFIG_MODULES 1
+#define CONFIG_ARCH_HIBERNATION_POSSIBLE 1
+#define CONFIG_UNIX 1
+#define CONFIG_CRYPTO_HASH2_MODULE 1
+#define CONFIG_BLK_DEV_IO_TRACE 1
+#define CONFIG_CRYPTO_ALGAPI_MODULE 1
+#define CONFIG_GENERIC_IRQ_SHOW_LEVEL 1
+#define CONFIG_RD_BZIP2 1
+#define CONFIG_KEYBOARD_ATKBD 1
+#define CONFIG_MTD_CFI_I1 1
+#define CONFIG_SYSFS_DEPRECATED_V2 1
+#define CONFIG_LOG_BUF_SHIFT 17
+#define CONFIG_HZ_1000 1
+#define CONFIG_EXTRA_FIRMWARE ""
+#define CONFIG_VIRT_TO_BUS 1
+#define CONFIG_PID_NS 1
+#define CONFIG_SERIAL_8250_RUNTIME_UARTS 4
+#define CONFIG_HAVE_LATENCYTOP_SUPPORT 1
+#define CONFIG_CMDLINE_BOOL 1
+#define CONFIG_GENERIC_TRACER 1
+#define CONFIG_HAVE_FUNCTION_TRACER 1
+#define CONFIG_CRYPTO_MANAGER2_MODULE 1
+#define CONFIG_SLUB 1
+#define CONFIG_XZ_DEC_BCJ 1
+#define CONFIG_I2C_MODULE 1
+#define CONFIG_FRAME_POINTER 1
+#define CONFIG_MOUSE_PS2_LOGIPS2PP 1
+#define CONFIG_VM_EVENT_COUNTERS 1
+#define CONFIG_RELAY 1
+#define CONFIG_CRYPTO_ECB_MODULE 1
+#define CONFIG_DEBUG_FS 1
+#define CONFIG_NET_PKTGEN_MODULE 1
+#define CONFIG_BASE_FULL 1
+#define CONFIG_MPIC 1
+#define CONFIG_FW_LOADER 1
+#define CONFIG_KALLSYMS 1
+#define CONFIG_GENERIC_ATOMIC64 1
+#define CONFIG_DECOMPRESS_XZ 1
+#define CONFIG_SIGNALFD 1
+#define CONFIG_MOUSE_PS2_ALPS 1
+#define CONFIG_XZ_DEC 1
+#define CONFIG_HAS_IOMEM 1
+#define CONFIG_PPC_PCI_CHOICE 1
+#define CONFIG_PROC_KCORE 1
+#define CONFIG_MTD_MAP_BANK_WIDTH_1 1
+#define CONFIG_CONSTRUCTORS 1
+#define CONFIG_EPOLL 1
+#define CONFIG_PPC_ADV_DEBUG_DACS 2
+#define CONFIG_KEYBOARD_MAX7359_MODULE 1
+#define CONFIG_NET 1
+#define CONFIG_HAVE_SPARSE_IRQ 1
+#define CONFIG_EXT2_FS 1
+#define CONFIG_PACKET 1
+#define CONFIG_NOP_TRACER 1
+#define CONFIG_XZ_DEC_POWERPC 1
+#define CONFIG_PREVENT_FIRMWARE_BUILD 1
+#define CONFIG_HAVE_KPROBES 1
+#define CONFIG_MOUSE_SYNAPTICS_I2C_MODULE 1
+#define CONFIG_CRYPTO_AES_MODULE 1
+#define CONFIG_SSB_MODULE 1
+#define CONFIG_I2C_STUB_MODULE 1
+#define CONFIG_PPC32 1
+#define CONFIG_SERIO_SERPORT 1
+#define CONFIG_BLK_DEV_RAM_COUNT 16
+#define CONFIG_RD_XZ 1
+#define CONFIG_32BIT 1
+#define CONFIG_LOCKDEP_SUPPORT 1
+#define CONFIG_SYSCTL_SYSCALL 1
+#define CONFIG_INPUT_MOUSEDEV_SCREEN_X 1024
+#define CONFIG_SERIO_LIBPS2 1
+#define CONFIG_GENERIC_FIND_NEXT_BIT 1
+#define CONFIG_PAGE_OFFSET 0x70000000
+#define CONFIG_TASK_SIZE_BOOL 1
+#define CONFIG_NEED_PER_CPU_KM 1
+#define CONFIG_GENERIC_BUG 1
+#define CONFIG_HAVE_FTRACE_MCOUNT_RECORD 1
+#define CONFIG_HW_CONSOLE 1
+#define CONFIG_IOSCHED_NOOP 1
+#define CONFIG_PTE_64BIT 1
+#define CONFIG_HAVE_IOREMAP_PROT 1
+#define CONFIG_DEBUG_KERNEL 1
+#define CONFIG_COMPAT_BRK 1
+#define CONFIG_LOCALVERSION ""
+#define CONFIG_CRYPTO_MODULE 1
+#define CONFIG_FUNCTION_TRACER 1
+#define CONFIG_SCHED_DEBUG 1
+#define CONFIG_DEFAULT_MMAP_MIN_ADDR 4096
+#define CONFIG_CMDLINE ""
+#define CONFIG_HAVE_DMA_API_DEBUG 1
+#define CONFIG_GENERIC_IRQ_SHOW 1
+#define CONFIG_SCSI_MOD 1
+#define CONFIG_SERIAL_CORE 1
+#define CONFIG_ARCH_PHYS_ADDR_T_64BIT 1
+#define CONFIG_HAVE_KRETPROBES 1
+#define CONFIG_DYNAMIC_FTRACE 1
+#define CONFIG_INLINE_READ_UNLOCK 1
+#define CONFIG_HAS_DMA 1
+#define CONFIG_FUNCTION_GRAPH_TRACER 1
+#define CONFIG_I2C_SMBUS_MODULE 1
+#define CONFIG_SERIAL_8250_MANY_PORTS 1
+#define CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG 1
+#define CONFIG_LOWMEM_SIZE 0x30000000
+#define CONFIG_LOCALVERSION_AUTO 1
+#define CONFIG_IPC_NS 1
+#define CONFIG_FTRACE 1
+#define CONFIG_KEYBOARD_ADP5588_MODULE 1
+#define CONFIG_DECOMPRESS_BZIP2 1
+#define CONFIG_OF_DYNAMIC 1
+#define CONFIG_XZ_DEC_SPARC 1
+#define CONFIG_INLINE_READ_UNLOCK_IRQ 1
+#define CONFIG_NEED_SG_DMA_LENGTH 1
+#define CONFIG_PPC_DCR_NATIVE 1
+#define CONFIG_PHYS_64BIT 1
+#define CONFIG_CRYPTO_ARC4_MODULE 1
+#define CONFIG_CRYPTO_MANAGER_MODULE 1
+#define CONFIG_TASK_SIZE 0x70000000
+#define CONFIG_RT_MUTEXES 1
+#define CONFIG_I2C_ALGOBIT_MODULE 1
+#define CONFIG_ARCH_POPULATES_NODE_MAP 1
+#define CONFIG_FRAME_WARN 1024
+#define CONFIG_GENERIC_HWEIGHT 1
+#define CONFIG_INITRAMFS_SOURCE ""
+#define CONFIG_STACKTRACE 1
+#define CONFIG_INLINE_SPIN_UNLOCK 1
+#define CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC 1
+#define CONFIG_HAS_IOPORT 1
+#define CONFIG_OF_EARLY_FLATTREE 1
+#define CONFIG_ISA_DMA_API 1
+#define CONFIG_HZ 1000
+#define CONFIG_SERIAL_8250_SHARE_IRQ 1
+#define CONFIG_I2C_HELPER_AUTO 1
+#define CONFIG_INLINE_SPIN_UNLOCK_IRQ 1
+#define CONFIG_SERIAL_8250_NR_UARTS 32
+#define CONFIG_DEFAULT_IOSCHED "cfq"
+#define CONFIG_NLATTR 1
+#define CONFIG_MOUSE_PS2_TRACKPOINT 1
+#define CONFIG_MOUSE_VSXXXAA_MODULE 1
+#define CONFIG_SYSFS 1
+#define CONFIG_I2C_PARPORT_LIGHT_MODULE 1
+#define CONFIG_I2C_SIMTEC_MODULE 1
+#define CONFIG_XZ_DEC_ARM 1
+#define CONFIG_MOUSE_SERIAL_MODULE 1
+#define CONFIG_TRACING 1
+#define CONFIG_I2C_COMPAT 1
+#define CONFIG_KEYBOARD_OPENCORES_MODULE 1
+#define CONFIG_FTRACE_MCOUNT_RECORD 1
+#define CONFIG_MSDOS_PARTITION 1
+#define CONFIG_HAVE_OPROFILE 1
+#define CONFIG_THERMAL 1
+#define CONFIG_4xx 1
+#define CONFIG_PPC_MMU_NOHASH_32 1
+#define CONFIG_HAVE_ARCH_KGDB 1
+#define CONFIG_ZONE_DMA_FLAG 1
+#define CONFIG_MTD_MAP_BANK_WIDTH_2 1
+#define CONFIG_GENERIC_CMOS_UPDATE 1
+#define CONFIG_DEFAULT_SECURITY ""
+#define CONFIG_TINY_RCU 1
+#define CONFIG_HAVE_DMA_ATTRS 1
+#define CONFIG_EARLY_PRINTK 1
+#define CONFIG_PPC_ADV_DEBUG_REGS 1
+#define CONFIG_PPC_DISABLE_WERROR 1
+#define CONFIG_HAVE_FUNCTION_GRAPH_TRACER 1
+#define CONFIG_BASE_SMALL 0
+#define CONFIG_CRYPTO_BLKCIPHER2_MODULE 1
+#define CONFIG_DEVPTS_MULTIPLE_INSTANCES 1
+#define CONFIG_PPC_4K_PAGES 1
+#define CONFIG_PROC_FS 1
+#define CONFIG_FLATMEM 1
+#define CONFIG_DEBUG_STACKOVERFLOW 1
+#define CONFIG_PAGEFLAGS_EXTENDED 1
+#define CONFIG_SYSCTL 1
+#define CONFIG_ADVANCED_OPTIONS 1
+#define CONFIG_PHYS_ADDR_T_64BIT 1
+#define CONFIG_HAVE_ARCH_TRACEHOOK 1
+#define CONFIG_NET_NS 1
+#define CONFIG_HAVE_PERF_EVENTS 1
+#define CONFIG_DEBUG_MEMORY_INIT 1
+#define CONFIG_PPC_DCR 1
+#define CONFIG_BLK_DEV 1
+#define CONFIG_OF_FLATTREE 1
+#define CONFIG_TRACING_SUPPORT 1
+#define CONFIG_UNIX98_PTYS 1
+#define CONFIG_4xx_SOC 1
+#define CONFIG_INPUT_MOUSEDEV_SCREEN_Y 768
+#define CONFIG_ARCH_MAY_HAVE_PC_FDC 1
+#define CONFIG_ELF_CORE 1
+#define CONFIG_INPUT_POLLDEV 1
+#define CONFIG_FLAT_NODE_MEM_MAP 1
+#define CONFIG_VT_CONSOLE 1
+#define CONFIG_BLK_DEV_RAM 1
+#define CONFIG_ARCH_HAS_ILOG2_U32 1
+#define CONFIG_BINARY_PRINTF 1
+#define CONFIG_GENERIC_CLOCKEVENTS_BUILD 1
+#define CONFIG_TRACER_MAX_TRACE 1
+#define CONFIG_INPUT_SPARSEKMAP_MODULE 1
+#define CONFIG_SYSVIPC_SYSCTL 1
+#define CONFIG_OF_ADDRESS 1
+#define CONFIG_DECOMPRESS_GZIP 1
+#define CONFIG_DECOMPRESS_LZO 1
+#define CONFIG_I2C_CHARDEV_MODULE 1
+#define CONFIG_CROSS_COMPILE ""
+#define CONFIG_KERNEL_START_BOOL 1
+#define CONFIG_MOUSE_PS2_SYNAPTICS 1
+#define CONFIG_XZ_DEC_ARMTHUMB 1
+#define CONFIG_44x 1
+#define CONFIG_PRINT_STACK_DEPTH 64
+#define CONFIG_SWAP 1
+#define CONFIG_MODULE_UNLOAD 1
+#define CONFIG_AVERAGE 1
+#define CONFIG_BITREVERSE 1
+#define CONFIG_STDBINUTILS 1
+#define CONFIG_BLK_DEV_RAM_SIZE 35000
+#define CONFIG_CRYPTO_BLKCIPHER_MODULE 1
+#define CONFIG_ARCH_DMA_ADDR_T_64BIT 1
+#define CONFIG_FILE_LOCKING 1
+#define CONFIG_AIO 1
+#define CONFIG_RING_BUFFER_BENCHMARK_MODULE 1
+#define CONFIG_OF 1
+#define CONFIG_PERF_EVENTS 1
+#define CONFIG_GENERIC_TIME_VSYSCALL 1
+#define CONFIG_GENERIC_HARDIRQS 1
+#define CONFIG_MTD_MAP_BANK_WIDTH_4 1
+#define CONFIG_UTS_NS 1
+#define CONFIG_CRYPTO_AEAD2_MODULE 1
+#define CONFIG_DEBUG_INFO 1
+#define CONFIG_MOUSE_PS2 1
+#define CONFIG_CRYPTO_ALGAPI2_MODULE 1
+#define CONFIG_PHYSICAL_START 0x00000000
+#define CONFIG_HAVE_MEMBLOCK 1
+#define CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS 1
+#define CONFIG_INPUT 1
+#define CONFIG_KALLSYMS_EXTRA_PASS 1
+#define CONFIG_PROC_SYSCTL 1
+#define CONFIG_MMU 1
+#define CONFIG_HAVE_IRQ_WORK 1
+#define CONFIG_INLINE_WRITE_UNLOCK 1
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/include/generated/bounds.h ../linux-2.6.39.4/include/generated/bounds.h
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/include/generated/bounds.h	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/include/generated/bounds.h	2011-10-25 16:17:20.782871361 +0530
@@ -0,0 +1,14 @@
+#ifndef __LINUX_BOUNDS_H__
+#define __LINUX_BOUNDS_H__
+/*
+ * DO NOT MODIFY.
+ *
+ * This file was generated by Kbuild
+ *
+ */
+
+#define NR_PAGEFLAGS 22 /* __NR_PAGEFLAGS	 # */
+#define MAX_NR_ZONES 3 /* __MAX_NR_ZONES	 # */
+#define NR_PCG_FLAGS 7 /* __NR_PCG_FLAGS	 # */
+
+#endif
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/include/generated/compile.h ../linux-2.6.39.4/include/generated/compile.h
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/include/generated/compile.h	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/include/generated/compile.h	2011-11-02 08:41:49.978825081 +0530
@@ -0,0 +1,8 @@
+/* This file is auto generated, version 802 */
+#define UTS_MACHINE "ppc"
+#define UTS_VERSION "#802 Wed Nov 2 08:41:49 IST 2011"
+#define LINUX_COMPILE_TIME "08:41:49"
+#define LINUX_COMPILE_BY "sk"
+#define LINUX_COMPILE_HOST "localhost.localdomain"
+#define LINUX_COMPILE_DOMAIN "localdomain"
+#define LINUX_COMPILER "gcc version 4.2.4"
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/include/generated/utsrelease.h ../linux-2.6.39.4/include/generated/utsrelease.h
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/include/generated/utsrelease.h	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/include/generated/utsrelease.h	2011-10-22 06:39:16.223142999 +0530
@@ -0,0 +1 @@
+#define UTS_RELEASE "2.6.39.4"
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/include/linux/printk.h ../linux-2.6.39.4/include/linux/printk.h
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/include/linux/printk.h	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/include/linux/printk.h	2011-10-25 10:27:11.429100494 +0530
@@ -4,6 +4,7 @@
 extern const char linux_banner[];
 extern const char linux_proc_banner[];
 
+#define DEBUG 1
 #define KERN_EMERG	"<0>"	/* system is unusable			*/
 #define KERN_ALERT	"<1>"	/* action must be taken immediately	*/
 #define KERN_CRIT	"<2>"	/* critical conditions			*/
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/include/linux/serial_reg.h ../linux-2.6.39.4/include/linux/serial_reg.h
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/include/linux/serial_reg.h	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/include/linux/serial_reg.h	2011-10-23 15:36:16.569752259 +0530
@@ -20,7 +20,11 @@
 #define UART_RX		0	/* In:  Receive buffer */
 #define UART_TX		0	/* Out: Transmit buffer */
 
+#ifdef CONFIG_INVADER
+#define UART_IER	0x4	/* Out: Interrupt Enable Register */
+#else
 #define UART_IER	1	/* Out: Interrupt Enable Register */
+#endif
 #define UART_IER_MSI		0x08 /* Enable Modem status interrupt */
 #define UART_IER_RLSI		0x04 /* Enable receiver line status interrupt */
 #define UART_IER_THRI		0x02 /* Enable Transmitter holding register int. */
@@ -30,7 +34,11 @@
  */
 #define UART_IERX_SLEEP		0x10 /* Enable sleep mode */
 
+#ifdef CONFIG_INVADER
+#define UART_IIR	0x8	/* In:  Interrupt ID Register */
+#else
 #define UART_IIR	2	/* In:  Interrupt ID Register */
+#endif
 #define UART_IIR_NO_INT		0x01 /* No interrupts pending */
 #define UART_IIR_ID		0x06 /* Mask for the interrupt ID */
 #define UART_IIR_MSI		0x00 /* Modem status interrupt */
@@ -40,7 +48,11 @@
 
 #define UART_IIR_BUSY		0x07 /* DesignWare APB Busy Detect */
 
+#ifdef CONFIG_INVADER
+#define UART_FCR	0x8	/* Out: FIFO Control Register */
+#else
 #define UART_FCR	2	/* Out: FIFO Control Register */
+#endif
 #define UART_FCR_ENABLE_FIFO	0x01 /* Enable the FIFO */
 #define UART_FCR_CLEAR_RCVR	0x02 /* Clear the RCVR FIFO */
 #define UART_FCR_CLEAR_XMIT	0x04 /* Clear the XMIT FIFO */
@@ -83,7 +95,11 @@
 #define UART_FCR6_T_TRIGGER_30	0x30 /* Mask for transmit trigger set at 30 */
 #define UART_FCR7_64BYTE	0x20 /* Go into 64 byte mode (TI16C750) */
 
+#ifdef CONFIG_INVADER
+#define UART_LCR	0xC	/* Out: Line Control Register */
+#else
 #define UART_LCR	3	/* Out: Line Control Register */
+#endif
 /*
  * Note: if the word length is 5 bits (UART_LCR_WLEN5), then setting 
  * UART_LCR_STOP will select 1.5 stop bits, not 2 stop bits.
@@ -106,7 +122,11 @@
 #define UART_LCR_CONF_MODE_A	UART_LCR_DLAB	/* Configutation mode A */
 #define UART_LCR_CONF_MODE_B	0xBF		/* Configutation mode B */
 
+#ifdef CONFIG_INVADER
+#define UART_MCR	0x10	/* Out: Modem Control Register */
+#else
 #define UART_MCR	4	/* Out: Modem Control Register */
+#endif
 #define UART_MCR_CLKSEL		0x80 /* Divide clock by 4 (TI16C752, EFR[4]=1) */
 #define UART_MCR_TCRTLR		0x40 /* Access TCR/TLR (TI16C752, EFR[4]=1) */
 #define UART_MCR_XONANY		0x20 /* Enable Xon Any (TI16C752, EFR[4]=1) */
@@ -117,7 +137,11 @@
 #define UART_MCR_RTS		0x02 /* RTS complement */
 #define UART_MCR_DTR		0x01 /* DTR complement */
 
+#ifdef CONFIG_INVADER
+#define UART_LSR	0x14	/* In:  Line Status Register */
+#else
 #define UART_LSR	5	/* In:  Line Status Register */
+#endif
 #define UART_LSR_TEMT		0x40 /* Transmitter empty */
 #define UART_LSR_THRE		0x20 /* Transmit-hold-register empty */
 #define UART_LSR_BI		0x10 /* Break interrupt indicator */
@@ -127,7 +151,11 @@
 #define UART_LSR_DR		0x01 /* Receiver data ready */
 #define UART_LSR_BRK_ERROR_BITS	0x1E /* BI, FE, PE, OE bits */
 
+#ifdef CONFIG_INVADER
+#define UART_MSR	0x18	/* In:  Modem Status Register */
+#else
 #define UART_MSR	6	/* In:  Modem Status Register */
+#endif
 #define UART_MSR_DCD		0x80 /* Data Carrier Detect */
 #define UART_MSR_RI		0x40 /* Ring Indicator */
 #define UART_MSR_DSR		0x20 /* Data Set Ready */
@@ -138,13 +166,21 @@
 #define UART_MSR_DCTS		0x01 /* Delta CTS */
 #define UART_MSR_ANY_DELTA	0x0F /* Any of the delta bits! */
 
+#ifdef CONFIG_INVADER
+#define UART_SCR	0x1C	/* I/O: Scratch Register */
+#else
 #define UART_SCR	7	/* I/O: Scratch Register */
+#endif
 
 /*
  * DLAB=1
  */
 #define UART_DLL	0	/* Out: Divisor Latch Low */
+#ifdef CONFIG_INVADER
+#define UART_DLM	0x4	/* Out: Divisor Latch High */
+#else
 #define UART_DLM	1	/* Out: Divisor Latch High */
+#endif
 
 /*
  * LCR=0xBF (or DLAB=1 for 16C660)
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/include/linux/tracepoint.h ../linux-2.6.39.4/include/linux/tracepoint.h
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/include/linux/tracepoint.h	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/include/linux/tracepoint.h	2011-10-22 06:39:13.250174003 +0530
@@ -129,6 +129,7 @@
 		it_func_ptr = rcu_dereference_sched((tp)->funcs);	\
 		if (it_func_ptr) {					\
 			do {						\
+				printk(KERN_DEBUG "trace:: func: 0x%p, data: 0x%p, funN: 0x%p\n", (it_func_ptr)->func, (it_func_ptr)->data,(it_func_ptr+1)->func); \
 				it_func = (it_func_ptr)->func;		\
 				__data = (it_func_ptr)->data;		\
 				((void(*)(proto))(it_func))(args);	\
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/init/do_mounts.c ../linux-2.6.39.4/init/do_mounts.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/init/do_mounts.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/init/do_mounts.c	2011-10-30 13:35:27.524103340 +0530
@@ -140,6 +140,7 @@
 	dev_t res = 0;
 	int part;
 
+	printk(KERN_NOTICE "dev: %s\n", name);
 #ifdef CONFIG_BLOCK
 	if (strncmp(name, "PARTUUID=", 9) == 0) {
 		name += 9;
@@ -211,6 +212,7 @@
 
 fail:
 	return 0;
+	printk(KERN_NOTICE "dev: %s, done, 0x%u\n", name, res);
 done:
 	return res;
 }
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/init/do_mounts_initrd.c ../linux-2.6.39.4/init/do_mounts_initrd.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/init/do_mounts_initrd.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/init/do_mounts_initrd.c	2011-10-27 14:11:22.213775642 +0530
@@ -57,11 +57,13 @@
 	 * its children, we need to tell the freezer not to wait for us.
 	 */
 	current->flags |= PF_FREEZER_SKIP;
+	printk(KERN_NOTICE "handle_initrd *******\n");
 
 	pid = kernel_thread(do_linuxrc, "/linuxrc", SIGCHLD);
 	if (pid > 0)
 		while (pid != sys_wait4(-1, NULL, 0, NULL))
 			yield();
+	printk(KERN_NOTICE "handle_initrd *******2\n");
 
 	current->flags &= ~PF_FREEZER_SKIP;
 
@@ -79,8 +81,11 @@
 		return;
 	}
 
+	printk(KERN_NOTICE "handle_initrd *******3\n");
 	ROOT_DEV = new_decode_dev(real_root_dev);
+	printk(KERN_NOTICE "handle_initrd *******4\n");
 	mount_root();
+	printk(KERN_NOTICE "handle_initrd *******5\n");
 
 	printk(KERN_NOTICE "Trying to move old root to /initrd ... ");
 	error = sys_mount("/old", "/root/initrd", NULL, MS_MOVE, NULL);
@@ -109,6 +114,7 @@
 {
 	if (mount_initrd) {
 		create_dev("/dev/ram", Root_RAM0);
+		printk(KERN_NOTICE "created: /dev/ram\n");
 		/*
 		 * Load the initrd data into /dev/ram0. Execute it as initrd
 		 * unless /dev/ram0 is supposed to be our actual root device,
@@ -117,6 +123,7 @@
 		 */
 		if (rd_load_image("/initrd.image") && ROOT_DEV != Root_RAM0) {
 			sys_unlink("/initrd.image");
+			printk(KERN_NOTICE "created: /initrd.image\n");
 			handle_initrd();
 			return 1;
 		}
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/init/main.c ../linux-2.6.39.4/init/main.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/init/main.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/init/main.c	2011-10-30 14:04:41.250103375 +0530
@@ -664,7 +664,8 @@
 	int count = preempt_count();
 	int ret;
 
-	if (initcall_debug)
+//	if (initcall_debug)
+	if (1)
 		ret = do_one_initcall_debug(fn);
 	else
 		ret = fn();
@@ -729,6 +730,7 @@
 static void run_init_process(const char *init_filename)
 {
 	argv_init[0] = init_filename;
+	printk(KERN_DEBUG "RUNNING run_init_process %s\n", init_filename);
 	kernel_execve(init_filename, argv_init, envp_init);
 }
 
@@ -747,6 +749,7 @@
 
 	current->signal->flags |= SIGNAL_UNKILLABLE;
 
+	printk(KERN_DEBUG "ramdisk_execute_command: %s, execute_command: %s\n",ramdisk_execute_command ,execute_command);
 	if (ramdisk_execute_command) {
 		run_init_process(ramdisk_execute_command);
 		printk(KERN_WARNING "Failed to execute %s\n",
@@ -765,10 +768,10 @@
 					"defaults...\n", execute_command);
 	}
 	run_init_process("/sbin/init");
-	run_init_process("/etc/init");
+/*	run_init_process("/etc/init");
 	run_init_process("/bin/init");
 	run_init_process("/bin/sh");
-
+*/
 	panic("No init found.  Try passing init= option to kernel. "
 	      "See Linux Documentation/init.txt for guidance.");
 }
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/kernel/printk.c ../linux-2.6.39.4/kernel/printk.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/kernel/printk.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/kernel/printk.c	2011-10-24 11:52:01.814164824 +0530
@@ -1485,7 +1485,9 @@
 	}
 	console_unlock();
 	console_sysfs_notify();
-
+#ifdef CONFIG_INVADER
+	keep_bootcon = 1;
+#endif
 	/*
 	 * By unregistering the bootconsoles after we enable the real console
 	 * we get the "console xxx enabled" message on all the consoles -
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/lib/idr.c ../linux-2.6.39.4/lib/idr.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/lib/idr.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/lib/idr.c	2011-10-22 12:51:35.874148516 +0530
@@ -798,6 +798,9 @@
 
 	/* if bitmap isn't there, create a new one */
 	bitmap = (void *)pa[0]->ary[idr_id & IDR_MASK];
+
+	if ((unsigned int)bitmap == 0x6b6b6b6b)
+		bitmap = 0;
 	if (!bitmap) {
 		spin_lock_irqsave(&ida->idr.lock, flags);
 		bitmap = ida->free_bitmap;
Binary files ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/lib/.vsprintf.c.swp and ../linux-2.6.39.4/lib/.vsprintf.c.swp differ
Binary files ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/.log.swp and ../linux-2.6.39.4/.log.swp differ
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/MAINTAINERS ../linux-2.6.39.4/MAINTAINERS
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/MAINTAINERS	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/MAINTAINERS	1970-01-01 05:30:00.000000000 +0530
@@ -1,7048 +0,0 @@
-
-	List of maintainers and how to submit kernel changes
-
-Please try to follow the guidelines below.  This will make things
-easier on the maintainers.  Not all of these guidelines matter for every
-trivial patch so apply some common sense.
-
-1.	Always _test_ your changes, however small, on at least 4 or
-	5 people, preferably many more.
-
-2.	Try to release a few ALPHA test versions to the net. Announce
-	them onto the kernel channel and await results. This is especially
-	important for device drivers, because often that's the only way
-	you will find things like the fact version 3 firmware needs
-	a magic fix you didn't know about, or some clown changed the
-	chips on a board and not its name.  (Don't laugh!  Look at the
-	SMC etherpower for that.)
-
-3.	Make sure your changes compile correctly in multiple
-	configurations. In particular check that changes work both as a
-	module and built into the kernel.
-
-4.	When you are happy with a change make it generally available for
-	testing and await feedback.
-
-5.	Make a patch available to the relevant maintainer in the list. Use
-	'diff -u' to make the patch easy to merge. Be prepared to get your
-	changes sent back with seemingly silly requests about formatting
-	and variable names.  These aren't as silly as they seem. One
-	job the maintainers (and especially Linus) do is to keep things
-	looking the same. Sometimes this means that the clever hack in
-	your driver to get around a problem actually needs to become a
-	generalized kernel feature ready for next time.
-
-	PLEASE check your patch with the automated style checker
-	(scripts/checkpatch.pl) to catch trival style violations.
-	See Documentation/CodingStyle for guidance here.
-
-	PLEASE CC: the maintainers and mailing lists that are generated
-	by scripts/get_maintainer.pl.  The results returned by the
-	script will be best if you have git installed and are making
-	your changes in a branch derived from Linus' latest git tree.
-	See Documentation/SubmittingPatches for details.
-
-	PLEASE try to include any credit lines you want added with the
-	patch. It avoids people being missed off by mistake and makes
-	it easier to know who wants adding and who doesn't.
-
-	PLEASE document known bugs. If it doesn't work for everything
-	or does something very odd once a month document it.
-
-	PLEASE remember that submissions must be made under the terms
-	of the OSDL certificate of contribution and should include a
-	Signed-off-by: line.  The current version of this "Developer's
-	Certificate of Origin" (DCO) is listed in the file
-	Documentation/SubmittingPatches.
-
-6.	Make sure you have the right to send any changes you make. If you
-	do changes at work you may find your employer owns the patch
-	not you.
-
-7.	When sending security related changes or reports to a maintainer
-	please Cc: security@kernel.org, especially if the maintainer
-	does not respond.
-
-8.	Happy hacking.
-
-Descriptions of section entries:
-
-	P: Person (obsolete)
-	M: Mail patches to: FullName <address@domain>
-	L: Mailing list that is relevant to this area
-	W: Web-page with status/info
-	Q: Patchwork web based patch tracking system site
-	T: SCM tree type and location.  Type is one of: git, hg, quilt, stgit, topgit.
-	S: Status, one of the following:
-	   Supported:	Someone is actually paid to look after this.
-	   Maintained:	Someone actually looks after it.
-	   Odd Fixes:	It has a maintainer but they don't have time to do
-			much other than throw the odd patch in. See below..
-	   Orphan:	No current maintainer [but maybe you could take the
-			role as you write your new code].
-	   Obsolete:	Old code. Something tagged obsolete generally means
-			it has been replaced by a better system and you
-			should be using that.
-	F: Files and directories with wildcard patterns.
-	   A trailing slash includes all files and subdirectory files.
-	   F:	drivers/net/	all files in and below drivers/net
-	   F:	drivers/net/*	all files in drivers/net, but not below
-	   F:	*/net/*		all files in "any top level directory"/net
-	   One pattern per line.  Multiple F: lines acceptable.
-	X: Files and directories that are NOT maintained, same rules as F:
-	   Files exclusions are tested before file matches.
-	   Can be useful for excluding a specific subdirectory, for instance:
-	   F:	net/
-	   X:	net/ipv6/
-	   matches all files in and below net excluding net/ipv6/
-	K: Keyword perl extended regex pattern to match content in a
-	   patch or file.  For instance:
-	   K: of_get_profile
-	      matches patches or files that contain "of_get_profile"
-	   K: \b(printk|pr_(info|err))\b
-	      matches patches or files that contain one or more of the words
-	      printk, pr_info or pr_err
-	   One regex pattern per line.  Multiple K: lines acceptable.
-
-Note: For the hard of thinking, this list is meant to remain in alphabetical
-order. If you could add yourselves to it in alphabetical order that would be
-so much easier [Ed]
-
-Maintainers List (try to look for most precise areas first)
-
-		-----------------------------------
-
-3C505 NETWORK DRIVER
-M:	Philip Blundell <philb@gnu.org>
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	drivers/net/3c505*
-
-3C59X NETWORK DRIVER
-M:	Steffen Klassert <klassert@mathematik.tu-chemnitz.de>
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	Documentation/networking/vortex.txt
-F:	drivers/net/3c59x.c
-
-3CR990 NETWORK DRIVER
-M:	David Dillow <dave@thedillows.org>
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	drivers/net/typhoon*
-
-3WARE SAS/SATA-RAID SCSI DRIVERS (3W-XXXX, 3W-9XXX, 3W-SAS)
-M:	Adam Radford <linuxraid@lsi.com>
-L:	linux-scsi@vger.kernel.org
-W:	http://www.lsi.com
-S:	Supported
-F:	drivers/scsi/3w-*
-
-53C700 AND 53C700-66 SCSI DRIVER
-M:	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
-L:	linux-scsi@vger.kernel.org
-S:	Maintained
-F:	drivers/scsi/53c700*
-
-6PACK NETWORK DRIVER FOR AX.25
-M:	Andreas Koensgen <ajk@comnets.uni-bremen.de>
-L:	linux-hams@vger.kernel.org
-S:	Maintained
-F:	drivers/net/hamradio/6pack.c
-
-8169 10/100/1000 GIGABIT ETHERNET DRIVER
-M:	Realtek linux nic maintainers <nic_swsd@realtek.com>
-M:	Francois Romieu <romieu@fr.zoreil.com>
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	drivers/net/r8169.c
-
-8250/16?50 (AND CLONE UARTS) SERIAL DRIVER
-M:	Greg Kroah-Hartman <gregkh@suse.de>
-L:	linux-serial@vger.kernel.org
-W:	http://serial.sourceforge.net
-S:	Maintained
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6.git
-F:	drivers/tty/serial/8250*
-F:	include/linux/serial_8250.h
-
-8390 NETWORK DRIVERS [WD80x3/SMC-ELITE, SMC-ULTRA, NE2000, 3C503, etc.]
-L:	netdev@vger.kernel.org
-S:	Orphan / Obsolete
-F:	drivers/net/*8390*
-F:	drivers/net/ax88796.c
-
-9P FILE SYSTEM
-M:	Eric Van Hensbergen <ericvh@gmail.com>
-M:	Ron Minnich <rminnich@sandia.gov>
-M:	Latchesar Ionkov <lucho@ionkov.net>
-L:	v9fs-developer@lists.sourceforge.net
-W:	http://swik.net/v9fs
-Q:	http://patchwork.kernel.org/project/v9fs-devel/list/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs.git
-S:	Maintained
-F:	Documentation/filesystems/9p.txt
-F:	fs/9p/
-
-A2232 SERIAL BOARD DRIVER
-L:	linux-m68k@lists.linux-m68k.org
-S:	Orphan
-F:	drivers/staging/generic_serial/ser_a2232*
-
-AACRAID SCSI RAID DRIVER
-M:	Adaptec OEM Raid Solutions <aacraid@adaptec.com>
-L:	linux-scsi@vger.kernel.org
-W:	http://www.adaptec.com/
-S:	Supported
-F:	Documentation/scsi/aacraid.txt
-F:	drivers/scsi/aacraid/
-
-ABIT UGURU 1,2 HARDWARE MONITOR DRIVER
-M:	Hans de Goede <hdegoede@redhat.com>
-L:	lm-sensors@lm-sensors.org
-S:	Maintained
-F:	drivers/hwmon/abituguru.c
-
-ABIT UGURU 3 HARDWARE MONITOR DRIVER
-M:	Alistair John Strachan <alistair@devzero.co.uk>
-L:	lm-sensors@lm-sensors.org
-S:	Maintained
-F:	drivers/hwmon/abituguru3.c
-
-ACENIC DRIVER
-M:	Jes Sorensen <jes@trained-monkey.org>
-L:	linux-acenic@sunsite.dk
-S:	Maintained
-F:	drivers/net/acenic*
-
-ACER ASPIRE ONE TEMPERATURE AND FAN DRIVER
-M:	Peter Feuerer <peter@piie.net>
-L:	platform-driver-x86@vger.kernel.org
-W:	http://piie.net/?section=acerhdf
-S:	Maintained
-F:	drivers/platform/x86/acerhdf.c
-
-ACER WMI LAPTOP EXTRAS
-M:	Carlos Corbacho <carlos@strangeworlds.co.uk>
-L:	aceracpi@googlegroups.com (subscribers-only)
-L:	platform-driver-x86@vger.kernel.org
-W:	http://code.google.com/p/aceracpi
-S:	Maintained
-F:	drivers/platform/x86/acer-wmi.c
-
-ACPI
-M:	Len Brown <lenb@kernel.org>
-L:	linux-acpi@vger.kernel.org
-W:	http://www.lesswatts.org/projects/acpi/
-Q:	http://patchwork.kernel.org/project/linux-acpi/list/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git
-S:	Supported
-F:	drivers/acpi/
-F:	drivers/pnp/pnpacpi/
-F:	include/linux/acpi.h
-F:	include/acpi/
-
-ACPI FAN DRIVER
-M:	Zhang Rui <rui.zhang@intel.com>
-L:	linux-acpi@vger.kernel.org
-W:	http://www.lesswatts.org/projects/acpi/
-S:	Supported
-F:	drivers/acpi/fan.c
-
-ACPI PROCESSOR AGGREGATOR DRIVER
-M:	Shaohua Li <shaohua.li@intel.com>
-L:	linux-acpi@vger.kernel.org
-W:	http://www.lesswatts.org/projects/acpi/
-S:	Supported
-F:	drivers/acpi/acpi_pad.c
-
-ACPI THERMAL DRIVER
-M:	Zhang Rui <rui.zhang@intel.com>
-L:	linux-acpi@vger.kernel.org
-W:	http://www.lesswatts.org/projects/acpi/
-S:	Supported
-F:	drivers/acpi/*thermal*
-
-ACPI VIDEO DRIVER
-M:	Zhang Rui <rui.zhang@intel.com>
-L:	linux-acpi@vger.kernel.org
-W:	http://www.lesswatts.org/projects/acpi/
-S:	Supported
-F:	drivers/acpi/video.c
-
-ACPI WMI DRIVER
-M:	Carlos Corbacho <carlos@strangeworlds.co.uk>
-L:	platform-driver-x86@vger.kernel.org
-W:	http://www.lesswatts.org/projects/acpi/
-S:	Maintained
-F:	drivers/platform/x86/wmi.c
-
-AD1889 ALSA SOUND DRIVER
-M:	Kyle McMartin <kyle@mcmartin.ca>
-M:	Thibaut Varene <T-Bone@parisc-linux.org>
-W:	http://wiki.parisc-linux.org/AD1889
-L:	linux-parisc@vger.kernel.org
-S:	Maintained
-F:	sound/pci/ad1889.*
-
-AD525X ANALOG DEVICES DIGITAL POTENTIOMETERS DRIVER
-M:	Michael Hennerich <michael.hennerich@analog.com>
-L:	device-driver-devel@blackfin.uclinux.org
-W:	http://wiki.analog.com/AD5254
-S:	Supported
-F:	drivers/misc/ad525x_dpot.c
-
-AD5398 CURRENT REGULATOR DRIVER (AD5398/AD5821)
-M:	Michael Hennerich <michael.hennerich@analog.com>
-L:	device-driver-devel@blackfin.uclinux.org
-W:	http://wiki.analog.com/AD5398
-S:	Supported
-F:	drivers/regulator/ad5398.c
-
-AD714X CAPACITANCE TOUCH SENSOR DRIVER (AD7142/3/7/8/7A)
-M:	Michael Hennerich <michael.hennerich@analog.com>
-L:	device-driver-devel@blackfin.uclinux.org
-W:	http://wiki.analog.com/AD7142
-S:	Supported
-F:	drivers/input/misc/ad714x.c
-
-AD7877 TOUCHSCREEN DRIVER
-M:	Michael Hennerich <michael.hennerich@analog.com>
-L:	device-driver-devel@blackfin.uclinux.org
-W:	http://wiki.analog.com/AD7877
-S:	Supported
-F:	drivers/input/touchscreen/ad7877.c
-
-AD7879 TOUCHSCREEN DRIVER (AD7879/AD7889)
-M:	Michael Hennerich <michael.hennerich@analog.com>
-L:	device-driver-devel@blackfin.uclinux.org
-W:	http://wiki.analog.com/AD7879
-S:	Supported
-F:	drivers/input/touchscreen/ad7879.c
-
-ADM1025 HARDWARE MONITOR DRIVER
-M:	Jean Delvare <khali@linux-fr.org>
-L:	lm-sensors@lm-sensors.org
-S:	Maintained
-F:	Documentation/hwmon/adm1025
-F:	drivers/hwmon/adm1025.c
-
-ADM1029 HARDWARE MONITOR DRIVER
-M:	Corentin Labbe <corentin.labbe@geomatys.fr>
-L:	lm-sensors@lm-sensors.org
-S:	Maintained
-F:	drivers/hwmon/adm1029.c
-
-ADM8211 WIRELESS DRIVER
-L:	linux-wireless@vger.kernel.org
-W:	http://linuxwireless.org/
-S:	Orphan
-F:	drivers/net/wireless/adm8211.*
-
-ADP5520 BACKLIGHT DRIVER WITH IO EXPANDER (ADP5520/ADP5501)
-M:	Michael Hennerich <michael.hennerich@analog.com>
-L:	device-driver-devel@blackfin.uclinux.org
-W:	http://wiki.analog.com/ADP5520
-S:	Supported
-F:	drivers/mfd/adp5520.c
-F:	drivers/video/backlight/adp5520_bl.c
-F:	drivers/leds/leds-adp5520.c
-F:	drivers/gpio/adp5520-gpio.c
-F:	drivers/input/keyboard/adp5520-keys.c
-
-ADP5588 QWERTY KEYPAD AND IO EXPANDER DRIVER (ADP5588/ADP5587)
-M:	Michael Hennerich <michael.hennerich@analog.com>
-L:	device-driver-devel@blackfin.uclinux.org
-W:	http://wiki.analog.com/ADP5588
-S:	Supported
-F:	drivers/input/keyboard/adp5588-keys.c
-F:	drivers/gpio/adp5588-gpio.c
-
-ADP8860 BACKLIGHT DRIVER (ADP8860/ADP8861/ADP8863)
-M:	Michael Hennerich <michael.hennerich@analog.com>
-L:	device-driver-devel@blackfin.uclinux.org
-W:	http://wiki.analog.com/ADP8860
-S:	Supported
-F:	drivers/video/backlight/adp8860_bl.c
-
-ADS1015 HARDWARE MONITOR DRIVER
-M:	Dirk Eibach <eibach@gdsys.de>
-L:	lm-sensors@lm-sensors.org
-S:	Maintained
-F:	Documentation/hwmon/ads1015
-F:	drivers/hwmon/ads1015.c
-F:	include/linux/i2c/ads1015.h
-
-ADT746X FAN DRIVER
-M:	Colin Leroy <colin@colino.net>
-S:	Maintained
-F:	drivers/macintosh/therm_adt746x.c
-
-ADT7475 HARDWARE MONITOR DRIVER
-M:	Jean Delvare <khali@linux-fr.org>
-L:	lm-sensors@lm-sensors.org
-S:	Maintained
-F:	Documentation/hwmon/adt7475
-F:	drivers/hwmon/adt7475.c
-
-ADXL34X THREE-AXIS DIGITAL ACCELEROMETER DRIVER (ADXL345/ADXL346)
-M:	Michael Hennerich <michael.hennerich@analog.com>
-L:	device-driver-devel@blackfin.uclinux.org
-W:	http://wiki.analog.com/ADXL345
-S:	Supported
-F:	drivers/input/misc/adxl34x.c
-
-ADVANSYS SCSI DRIVER
-M:	Matthew Wilcox <matthew@wil.cx>
-L:	linux-scsi@vger.kernel.org
-S:	Maintained
-F:	Documentation/scsi/advansys.txt
-F:	drivers/scsi/advansys.c
-
-AEDSP16 DRIVER
-M:	Riccardo Facchetti <fizban@tin.it>
-S:	Maintained
-F:	sound/oss/aedsp16.c
-
-AFFS FILE SYSTEM
-M:	Roman Zippel <zippel@linux-m68k.org>
-S:	Maintained
-F:	Documentation/filesystems/affs.txt
-F:	fs/affs/
-
-AFS FILESYSTEM & AF_RXRPC SOCKET DOMAIN
-M:	David Howells <dhowells@redhat.com>
-L:	linux-afs@lists.infradead.org
-S:	Supported
-F:	fs/afs/
-F:	include/net/af_rxrpc.h
-F:	net/rxrpc/af_rxrpc.c
-
-AGPGART DRIVER
-M:	David Airlie <airlied@linux.ie>
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git
-S:	Maintained
-F:	drivers/char/agp/
-F:	include/linux/agp*
-
-AHA152X SCSI DRIVER
-M:	"Juergen E. Fischer" <fischer@norbit.de>
-L:	linux-scsi@vger.kernel.org
-S:	Maintained
-F:	drivers/scsi/aha152x*
-F:	drivers/scsi/pcmcia/aha152x*
-
-AIC7XXX / AIC79XX SCSI DRIVER
-M:	Hannes Reinecke <hare@suse.de>
-L:	linux-scsi@vger.kernel.org
-S:	Maintained
-F:	drivers/scsi/aic7xxx/
-F:	drivers/scsi/aic7xxx_old/
-
-AIO
-M:	Benjamin LaHaise <bcrl@kvack.org>
-L:	linux-aio@kvack.org
-S:	Supported
-F:	fs/aio.c
-F:	include/linux/*aio*.h
-
-ALCATEL SPEEDTOUCH USB DRIVER
-M:	Duncan Sands <duncan.sands@free.fr>
-L:	linux-usb@vger.kernel.org
-W:	http://www.linux-usb.org/SpeedTouch/
-S:	Maintained
-F:	drivers/usb/atm/speedtch.c
-F:	drivers/usb/atm/usbatm.c
-
-ALCHEMY AU1XX0 MMC DRIVER
-M:	Manuel Lauss <manuel.lauss@gmail.com>
-S:	Maintained
-F:	drivers/mmc/host/au1xmmc.c
-
-ALI1563 I2C DRIVER
-M:	Rudolf Marek <r.marek@assembler.cz>
-L:	linux-i2c@vger.kernel.org
-S:	Maintained
-F:	Documentation/i2c/busses/i2c-ali1563
-F:	drivers/i2c/busses/i2c-ali1563.c
-
-ALPHA PORT
-M:	Richard Henderson <rth@twiddle.net>
-M:	Ivan Kokshaysky <ink@jurassic.park.msu.ru>
-M:	Matt Turner <mattst88@gmail.com>
-L:	linux-alpha@vger.kernel.org
-F:	arch/alpha/
-
-ALTERA UART/JTAG UART SERIAL DRIVERS
-M:	Tobias Klauser <tklauser@distanz.ch>
-L:	linux-serial@vger.kernel.org
-L:	nios2-dev@sopc.et.ntust.edu.tw (moderated for non-subscribers)
-S:	Maintained
-F:	drivers/tty/serial/altera_uart.c
-F:	drivers/tty/serial/altera_jtaguart.c
-F:	include/linux/altera_uart.h
-F:	include/linux/altera_jtaguart.h
-
-AMD GEODE CS5536 USB DEVICE CONTROLLER DRIVER
-M:	Thomas Dahlmann <dahlmann.thomas@arcor.de>
-L:	linux-geode@lists.infradead.org (moderated for non-subscribers)
-S:	Supported
-F:	drivers/usb/gadget/amd5536udc.*
-
-AMD GEODE PROCESSOR/CHIPSET SUPPORT
-P:	Andres Salomon <dilinger@queued.net>
-L:	linux-geode@lists.infradead.org (moderated for non-subscribers)
-W:	http://www.amd.com/us-en/ConnectivitySolutions/TechnicalResources/0,,50_2334_2452_11363,00.html
-S:	Supported
-F:	drivers/char/hw_random/geode-rng.c
-F:	drivers/crypto/geode*
-F:	drivers/video/geode/
-F:	arch/x86/include/asm/geode.h
-
-AMD IOMMU (AMD-VI)
-M:	Joerg Roedel <joerg.roedel@amd.com>
-L:	iommu@lists.linux-foundation.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu.git
-S:	Supported
-F:	arch/x86/kernel/amd_iommu*.c
-F:	arch/x86/include/asm/amd_iommu*.h
-
-AMD MICROCODE UPDATE SUPPORT
-M:	Andreas Herrmann <andreas.herrmann3@amd.com>
-L:	amd64-microcode@amd64.org
-S:	Supported
-F:	arch/x86/kernel/microcode_amd.c
-
-AMS (Apple Motion Sensor) DRIVER
-M:	Michael Hanselmann <linux-kernel@hansmi.ch>
-S:	Supported
-F:	drivers/macintosh/ams/
-
-AMSO1100 RNIC DRIVER
-M:	Tom Tucker <tom@opengridcomputing.com>
-M:	Steve Wise <swise@opengridcomputing.com>
-L:	linux-rdma@vger.kernel.org
-S:	Maintained
-F:	drivers/infiniband/hw/amso1100/
-
-ANALOG DEVICES INC ASOC CODEC DRIVERS
-L:	device-driver-devel@blackfin.uclinux.org
-L:	alsa-devel@alsa-project.org (moderated for non-subscribers)
-W:	http://wiki.analog.com/
-S:	Supported
-F:	sound/soc/codecs/ad1*
-F:	sound/soc/codecs/ssm*
-
-ANALOG DEVICES INC ASOC DRIVERS
-L:	uclinux-dist-devel@blackfin.uclinux.org
-L:	alsa-devel@alsa-project.org (moderated for non-subscribers)
-W:	http://blackfin.uclinux.org/
-S:	Supported
-F:	sound/soc/blackfin/*
-
-AOA (Apple Onboard Audio) ALSA DRIVER
-M:	Johannes Berg <johannes@sipsolutions.net>
-L:	linuxppc-dev@lists.ozlabs.org
-L:	alsa-devel@alsa-project.org (moderated for non-subscribers)
-S:	Maintained
-F:	sound/aoa/
-
-APM DRIVER
-L:	linux-laptop@vger.kernel.org
-S:	Orphan
-F:	arch/x86/kernel/apm_32.c
-F:	include/linux/apm_bios.h
-
-APPLE BCM5974 MULTITOUCH DRIVER
-M:	Henrik Rydberg <rydberg@euromail.se>
-L:	linux-input@vger.kernel.org
-S:	Maintained
-F:	drivers/input/mouse/bcm5974.c
-
-APPLE SMC DRIVER
-M:	Henrik Rydberg <rydberg@euromail.se>
-L:	lm-sensors@lm-sensors.org
-S:	Maintained
-F:	drivers/hwmon/applesmc.c
-
-APPLETALK NETWORK LAYER
-M:	Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
-S:	Maintained
-F:	drivers/net/appletalk/
-F:	net/appletalk/
-
-ARASAN COMPACT FLASH PATA CONTROLLER
-M:	Viresh Kumar <viresh.kumar@st.com>
-L:	linux-ide@vger.kernel.org
-S:	Maintained
-F:	include/linux/pata_arasan_cf_data.h
-F:	drivers/ata/pata_arasan_cf.c
-
-ARC FRAMEBUFFER DRIVER
-M:	Jaya Kumar <jayalk@intworks.biz>
-S:	Maintained
-F:	drivers/video/arcfb.c
-F:	drivers/video/fb_defio.c
-
-ARM MFM AND FLOPPY DRIVERS
-M:	Ian Molton <spyro@f2s.com>
-S:	Maintained
-F:	arch/arm/lib/floppydma.S
-F:	arch/arm/include/asm/floppy.h
-
-ARM PORT
-M:	Russell King <linux@arm.linux.org.uk>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-W:	http://www.arm.linux.org.uk/
-S:	Maintained
-F:	arch/arm/
-
-ARM PRIMECELL AACI PL041 DRIVER
-M:	Russell King <linux@arm.linux.org.uk>
-S:	Maintained
-F:	sound/arm/aaci.*
-
-ARM PRIMECELL CLCD PL110 DRIVER
-M:	Russell King <linux@arm.linux.org.uk>
-S:	Maintained
-F:	drivers/video/amba-clcd.*
-
-ARM PRIMECELL KMI PL050 DRIVER
-M:	Russell King <linux@arm.linux.org.uk>
-S:	Maintained
-F:	drivers/input/serio/ambakmi.*
-F:	include/linux/amba/kmi.h
-
-ARM PRIMECELL MMCI PL180/1 DRIVER
-S:	Orphan
-F:	drivers/mmc/host/mmci.*
-
-ARM PRIMECELL BUS SUPPORT
-M:	Russell King <linux@arm.linux.org.uk>
-S:	Maintained
-F:	drivers/amba/
-F:	include/linux/amba/bus.h
-
-ARM/ADI ROADRUNNER MACHINE SUPPORT
-M:	Lennert Buytenhek <kernel@wantstofly.org>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-F:	arch/arm/mach-ixp23xx/
-F:	arch/arm/mach-ixp23xx/include/mach/
-
-ARM/ADS SPHERE MACHINE SUPPORT
-M:	Lennert Buytenhek <kernel@wantstofly.org>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-
-ARM/AFEB9260 MACHINE SUPPORT
-M:	Sergey Lapin <slapin@ossfans.org>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-
-ARM/AJECO 1ARM MACHINE SUPPORT
-M:	Lennert Buytenhek <kernel@wantstofly.org>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-
-ARM/ATMEL AT91RM9200 AND AT91SAM ARM ARCHITECTURES
-M:	Andrew Victor <linux@maxim.org.za>
-M:	Nicolas Ferre <nicolas.ferre@atmel.com>
-M:	Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-W:	http://maxim.org.za/at91_26.html
-W:	http://www.linux4sam.org
-S:	Supported
-F:	arch/arm/mach-at91/
-
-ARM/BCMRING ARM ARCHITECTURE
-M:	Jiandong Zheng <jdzheng@broadcom.com>
-M:	Scott Branden <sbranden@broadcom.com>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-F:	arch/arm/mach-bcmring
-
-ARM/BCMRING MTD NAND DRIVER
-M:	Jiandong Zheng <jdzheng@broadcom.com>
-M:	Scott Branden <sbranden@broadcom.com>
-L:	linux-mtd@lists.infradead.org
-S:	Maintained
-F:	drivers/mtd/nand/bcm_umi_nand.c
-F:	drivers/mtd/nand/bcm_umi_bch.c
-F:	drivers/mtd/nand/nand_bcm_umi.h
-
-ARM/CAVIUM NETWORKS CNS3XXX MACHINE SUPPORT
-M:	Anton Vorontsov <avorontsov@mvista.com>
-S:	Maintained
-F:	arch/arm/mach-cns3xxx/
-T:	git git://git.infradead.org/users/cbou/linux-cns3xxx.git
-
-ARM/CIRRUS LOGIC EP93XX ARM ARCHITECTURE
-M:	Hartley Sweeten <hsweeten@visionengravers.com>
-M:	Ryan Mallon <ryan@bluewatersys.com>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-F:	arch/arm/mach-ep93xx/
-F:	arch/arm/mach-ep93xx/include/mach/
-
-ARM/CIRRUS LOGIC EDB9315A MACHINE SUPPORT
-M:	Lennert Buytenhek <kernel@wantstofly.org>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-
-ARM/CLKDEV SUPPORT
-M:	Russell King <linux@arm.linux.org.uk>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-F:	arch/arm/include/asm/clkdev.h
-F:	drivers/clk/clkdev.c
-
-ARM/COMPULAB CM-X270/EM-X270 and CM-X300 MACHINE SUPPORT
-M:	Mike Rapoport <mike@compulab.co.il>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-
-ARM/CONTEC MICRO9 MACHINE SUPPORT
-M:	Hubert Feurstein <hubert.feurstein@contec.at>
-S:	Maintained
-F:	arch/arm/mach-ep93xx/micro9.c
-
-ARM/CORGI MACHINE SUPPORT
-M:	Richard Purdie <rpurdie@rpsys.net>
-S:	Maintained
-
-ARM/CORTINA SYSTEMS GEMINI ARM ARCHITECTURE
-M:	Hans Ulli Kroll <ulli.kroll@googlemail.com>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-T:	git git://git.berlios.de/gemini-board
-S:	Maintained
-F:	arch/arm/mach-gemini/
-
-ARM/EBSA110 MACHINE SUPPORT
-M:	Russell King <linux@arm.linux.org.uk>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-W:	http://www.arm.linux.org.uk/
-S:	Maintained
-F:	arch/arm/mach-ebsa110/
-F:	drivers/net/arm/am79c961a.*
-
-ARM/EZX SMARTPHONES (A780, A910, A1200, E680, ROKR E2 and ROKR E6)
-M:	Daniel Ribeiro <drwyrm@gmail.com>
-M:	Stefan Schmidt <stefan@openezx.org>
-M:	Harald Welte <laforge@openezx.org>
-L:	openezx-devel@lists.openezx.org (subscribers-only)
-W:	http://www.openezx.org/
-S:	Maintained
-T:	topgit git://git.openezx.org/openezx.git
-F:	arch/arm/mach-pxa/ezx.c
-
-ARM/FARADAY FA526 PORT
-M:	Hans Ulli Kroll <ulli.kroll@googlemail.com>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-T:	git git://git.berlios.de/gemini-board
-F:	arch/arm/mm/*-fa*
-
-ARM/FOOTBRIDGE ARCHITECTURE
-M:	Russell King <linux@arm.linux.org.uk>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-W:	http://www.arm.linux.org.uk/
-S:	Maintained
-F:	arch/arm/include/asm/hardware/dec21285.h
-F:	arch/arm/mach-footbridge/
-
-ARM/FREESCALE IMX / MXC ARM ARCHITECTURE
-M:	Sascha Hauer <kernel@pengutronix.de>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-T:	git git://git.pengutronix.de/git/imx/linux-2.6.git
-F:	arch/arm/mach-mx*/
-F:	arch/arm/plat-mxc/
-
-ARM/FREESCALE IMX51
-M:	Amit Kucheria <amit.kucheria@canonical.com>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-F:	arch/arm/mach-mx5/
-
-ARM/GLOMATION GESBC9312SX MACHINE SUPPORT
-M:	Lennert Buytenhek <kernel@wantstofly.org>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-
-ARM/GUMSTIX MACHINE SUPPORT
-M:	Steve Sakoman <sakoman@gmail.com>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-
-ARM/H4700 (HP IPAQ HX4700) MACHINE SUPPORT
-M:	Philipp Zabel <philipp.zabel@gmail.com>
-S:	Maintained
-F:	arch/arm/mach-pxa/hx4700.c
-F:	arch/arm/mach-pxa/include/mach/hx4700.h
-
-ARM/HP JORNADA 7XX MACHINE SUPPORT
-M:	Kristoffer Ericson <kristoffer.ericson@gmail.com>
-W:	www.jlime.com
-S:	Maintained
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/kristoffer/linux-hpc.git
-F:	arch/arm/mach-sa1100/jornada720.c
-F:	arch/arm/mach-sa1100/include/mach/jornada720.h
-
-ARM/INCOME PXA270 SUPPORT
-M:	Marek Vasut <marek.vasut@gmail.com>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-F:	arch/arm/mach-pxa/colibri-pxa270-income.c
-
-ARM/INTEL IOP32X ARM ARCHITECTURE
-M:	Lennert Buytenhek <kernel@wantstofly.org>
-M:	Dan Williams <dan.j.williams@intel.com>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-
-ARM/INTEL IOP33X ARM ARCHITECTURE
-M:	Dan Williams <dan.j.williams@intel.com>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-
-ARM/INTEL IOP13XX ARM ARCHITECTURE
-M:	Lennert Buytenhek <kernel@wantstofly.org>
-M:	Dan Williams <dan.j.williams@intel.com>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-
-ARM/INTEL IQ81342EX MACHINE SUPPORT
-M:	Lennert Buytenhek <kernel@wantstofly.org>
-M:	Dan Williams <dan.j.williams@intel.com>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-
-ARM/INTEL IXP2000 ARM ARCHITECTURE
-M:	Lennert Buytenhek <kernel@wantstofly.org>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-
-ARM/INTEL IXDP2850 MACHINE SUPPORT
-M:	Lennert Buytenhek <kernel@wantstofly.org>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-
-ARM/INTEL IXP23XX ARM ARCHITECTURE
-M:	Lennert Buytenhek <kernel@wantstofly.org>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-
-ARM/INTEL IXP4XX ARM ARCHITECTURE
-M:	Imre Kaloz <kaloz@openwrt.org>
-M:	Krzysztof Halasa <khc@pm.waw.pl>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-F:	arch/arm/mach-ixp4xx/
-
-ARM/INTEL RESEARCH IMOTE/STARGATE 2 MACHINE SUPPORT
-M:	Jonathan Cameron <jic23@cam.ac.uk>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-F:	arch/arm/mach-pxa/stargate2.c
-F:	drivers/pcmcia/pxa2xx_stargate2.c
-
-ARM/INTEL XSC3 (MANZANO) ARM CORE
-M:	Lennert Buytenhek <kernel@wantstofly.org>
-M:	Dan Williams <dan.j.williams@intel.com>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-
-ARM/IP FABRICS DOUBLE ESPRESSO MACHINE SUPPORT
-M:	Lennert Buytenhek <kernel@wantstofly.org>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-
-ARM/LOGICPD PXA270 MACHINE SUPPORT
-M:	Lennert Buytenhek <kernel@wantstofly.org>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-
-ARM/MAGICIAN MACHINE SUPPORT
-M:	Philipp Zabel <philipp.zabel@gmail.com>
-S:	Maintained
-
-ARM/Marvell Loki/Kirkwood/MV78xx0/Orion SOC support
-M:	Lennert Buytenhek <kernel@wantstofly.org>
-M:	Nicolas Pitre <nico@fluxnic.net>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Odd Fixes
-F:	arch/arm/mach-loki/
-F:	arch/arm/mach-kirkwood/
-F:	arch/arm/mach-mv78xx0/
-F:	arch/arm/mach-orion5x/
-F:	arch/arm/plat-orion/
-
-ARM/Orion SoC/Technologic Systems TS-78xx platform support
-M:	Alexander Clouter <alex@digriz.org.uk>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-W:	http://www.digriz.org.uk/ts78xx/kernel
-S:	Maintained
-F:	arch/arm/mach-orion5x/ts78xx-*
-
-ARM/MIOA701 MACHINE SUPPORT
-M:	Robert Jarzmik <robert.jarzmik@free.fr>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-F:	arch/arm/mach-pxa/mioa701.c
-S:	Maintained
-
-ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
-M:	Michael Petchkovsky <mkpetch@internode.on.net>
-S:	Maintained
-
-ARM/NOMADIK ARCHITECTURE
-M:	Alessandro Rubini <rubini@unipv.it>
-M:	Linus Walleij <linus.walleij@stericsson.com>
-M:	STEricsson <STEricsson_nomadik_linux@list.st.com>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-F:	arch/arm/mach-nomadik/
-F:	arch/arm/plat-nomadik/
-F:	drivers/i2c/busses/i2c-nomadik.c
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson.git
-
-ARM/OPENMOKO NEO FREERUNNER (GTA02) MACHINE SUPPORT
-M:	Nelson Castillo <arhuaco@freaks-unidos.net>
-L:	openmoko-kernel@lists.openmoko.org (subscribers-only)
-W:	http://wiki.openmoko.org/wiki/Neo_FreeRunner
-S:	Supported
-
-ARM/QUALCOMM MSM MACHINE SUPPORT
-M:	David Brown <davidb@codeaurora.org>
-M:	Daniel Walker <dwalker@fifo99.com>
-M:	Bryan Huntsman <bryanh@codeaurora.org>
-L:	linux-arm-msm@vger.kernel.org
-F:	arch/arm/mach-msm/
-F:	drivers/video/msm/
-F:	drivers/mmc/host/msm_sdcc.c
-F:	drivers/mmc/host/msm_sdcc.h
-F:	drivers/tty/serial/msm_serial.h
-F:	drivers/tty/serial/msm_serial.c
-F:	drivers/platform/msm/
-T:	git git://codeaurora.org/quic/kernel/davidb/linux-msm.git
-S:	Maintained
-
-ARM/TOSA MACHINE SUPPORT
-M:	Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
-M:	Dirk Opfer <dirk@opfer-online.de>
-S:	Maintained
-
-ARM/PALMTX,PALMT5,PALMLD,PALMTE2,PALMTC SUPPORT
-M:	Marek Vasut <marek.vasut@gmail.com>
-L:	linux-arm-kernel@lists.infradead.org
-W:	http://hackndev.com
-S:	Maintained
-F:	arch/arm/mach-pxa/include/mach/palmtx.h
-F:	arch/arm/mach-pxa/palmtx.c
-F:	arch/arm/mach-pxa/include/mach/palmt5.h
-F:	arch/arm/mach-pxa/palmt5.c
-F:	arch/arm/mach-pxa/include/mach/palmld.h
-F:	arch/arm/mach-pxa/palmld.c
-F:	arch/arm/mach-pxa/include/mach/palmte2.h
-F:	arch/arm/mach-pxa/palmte2.c
-F:	arch/arm/mach-pxa/include/mach/palmtc.h
-F:	arch/arm/mach-pxa/palmtc.c
-
-ARM/PALM TREO SUPPORT
-M:	Tomas Cech <sleep_walker@suse.cz>
-L:	linux-arm-kernel@lists.infradead.org
-W:	http://hackndev.com
-S:	Maintained
-F:	arch/arm/mach-pxa/include/mach/palmtreo.h
-F:	arch/arm/mach-pxa/palmtreo.c
-
-ARM/PALMZ72 SUPPORT
-M:	Sergey Lapin <slapin@ossfans.org>
-L:	linux-arm-kernel@lists.infradead.org
-W:	http://hackndev.com
-S:	Maintained
-F:	arch/arm/mach-pxa/include/mach/palmz72.h
-F:	arch/arm/mach-pxa/palmz72.c
-
-ARM/PLEB SUPPORT
-M:	Peter Chubb <pleb@gelato.unsw.edu.au>
-W:	http://www.disy.cse.unsw.edu.au/Hardware/PLEB
-S:	Maintained
-
-ARM/PT DIGITAL BOARD PORT
-M:	Stefan Eletzhofer <stefan.eletzhofer@eletztrick.de>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-W:	http://www.arm.linux.org.uk/
-S:	Maintained
-
-ARM/RADISYS ENP2611 MACHINE SUPPORT
-M:	Lennert Buytenhek <kernel@wantstofly.org>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-
-ARM/RISCPC ARCHITECTURE
-M:	Russell King <linux@arm.linux.org.uk>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-W:	http://www.arm.linux.org.uk/
-S:	Maintained
-F:	arch/arm/common/time-acorn.c
-F:	arch/arm/include/asm/hardware/entry-macro-iomd.S
-F:	arch/arm/include/asm/hardware/ioc.h
-F:	arch/arm/include/asm/hardware/iomd.h
-F:	arch/arm/include/asm/hardware/memc.h
-F:	arch/arm/mach-rpc/
-F:	drivers/net/arm/ether*
-F:	drivers/scsi/arm/
-
-ARM/SHARK MACHINE SUPPORT
-M:	Alexander Schulz <alex@shark-linux.de>
-W:	http://www.shark-linux.de/shark.html
-S:	Maintained
-
-ARM/SAMSUNG ARM ARCHITECTURES
-M:	Ben Dooks <ben-linux@fluff.org>
-M:	Kukjin Kim <kgene.kim@samsung.com>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-W:	http://www.fluff.org/ben/linux/
-S:	Maintained
-F:	arch/arm/plat-samsung/
-F:	arch/arm/plat-s3c24xx/
-F:	arch/arm/plat-s5p/
-F:	drivers/*/*s3c2410*
-F:	drivers/*/*/*s3c2410*
-
-ARM/S3C2410 ARM ARCHITECTURE
-M:	Ben Dooks <ben-linux@fluff.org>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-W:	http://www.fluff.org/ben/linux/
-S:	Maintained
-F:	arch/arm/mach-s3c2410/
-
-ARM/S3C244x ARM ARCHITECTURE
-M:	Ben Dooks <ben-linux@fluff.org>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-W:	http://www.fluff.org/ben/linux/
-S:	Maintained
-F:	arch/arm/mach-s3c2440/
-F:	arch/arm/mach-s3c2443/
-
-ARM/S3C64xx ARM ARCHITECTURE
-M:	Ben Dooks <ben-linux@fluff.org>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-W:	http://www.fluff.org/ben/linux/
-S:	Maintained
-F:	arch/arm/mach-s3c64xx/
-
-ARM/S5P EXYNOS ARM ARCHITECTURES
-M:	Kukjin Kim <kgene.kim@samsung.com>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-L:	linux-samsung-soc@vger.kernel.org (moderated for non-subscribers)
-S:	Maintained
-F:	arch/arm/mach-s5p*/
-F:	arch/arm/mach-exynos*/
-
-ARM/SAMSUNG MOBILE MACHINE SUPPORT
-M:	Kyungmin Park <kyungmin.park@samsung.com>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-F:	arch/arm/mach-s5pv210/mach-aquila.c
-F:	arch/arm/mach-s5pv210/mach-goni.c
-F:	arch/arm/mach-exynos4/mach-universal_c210.c
-F:	arch/arm/mach-exynos4/mach-nuri.c
-
-ARM/SAMSUNG S5P SERIES FIMC SUPPORT
-M:	Kyungmin Park <kyungmin.park@samsung.com>
-M:	Sylwester Nawrocki <s.nawrocki@samsung.com>
-L:	linux-arm-kernel@lists.infradead.org
-L:	linux-media@vger.kernel.org
-S:	Maintained
-F:	arch/arm/plat-s5p/dev-fimc*
-F:	arch/arm/plat-samsung/include/plat/*fimc*
-F:	drivers/media/video/s5p-fimc/
-
-ARM/SHMOBILE ARM ARCHITECTURE
-M:	Paul Mundt <lethal@linux-sh.org>
-M:	Magnus Damm <magnus.damm@gmail.com>
-L:	linux-sh@vger.kernel.org
-W:	http://oss.renesas.com
-Q:	http://patchwork.kernel.org/project/linux-sh/list/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.git rmobile-latest
-S:	Supported
-F:	arch/arm/mach-shmobile/
-F:	drivers/sh/
-
-ARM/TELECHIPS ARM ARCHITECTURE
-M:	"Hans J. Koch" <hjk@hansjkoch.de>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-F:	arch/arm/plat-tcc/
-F:	arch/arm/mach-tcc8k/
-
-ARM/TECHNOLOGIC SYSTEMS TS7250 MACHINE SUPPORT
-M:	Lennert Buytenhek <kernel@wantstofly.org>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-
-ARM/TETON BGA MACHINE SUPPORT
-M:	"Mark F. Brown" <mark.brown314@gmail.com>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-
-ARM/THECUS N2100 MACHINE SUPPORT
-M:	Lennert Buytenhek <kernel@wantstofly.org>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-
-ARM/NUVOTON W90X900 ARM ARCHITECTURE
-M:	Wan ZongShun <mcuos.com@gmail.com>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-W:	http://www.mcuos.com
-S:	Maintained
-F:	arch/arm/mach-w90x900/
-F:	arch/arm/mach-nuc93x/
-F:	drivers/input/keyboard/w90p910_keypad.c
-F:	drivers/input/touchscreen/w90p910_ts.c
-F:	drivers/watchdog/nuc900_wdt.c
-F:	drivers/net/arm/w90p910_ether.c
-F:	drivers/mtd/nand/nuc900_nand.c
-F:	drivers/rtc/rtc-nuc900.c
-F:	drivers/spi/spi_nuc900.c
-F:	drivers/usb/host/ehci-w90x900.c
-F:	drivers/video/nuc900fb.c
-
-ARM/U300 MACHINE SUPPORT
-M:	Linus Walleij <linus.walleij@stericsson.com>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Supported
-F:	arch/arm/mach-u300/
-F:	drivers/i2c/busses/i2c-stu300.c
-F:	drivers/rtc/rtc-coh901331.c
-F:	drivers/watchdog/coh901327_wdt.c
-F:	drivers/dma/coh901318*
-F:	drivers/mfd/ab3100*
-F:	drivers/rtc/rtc-ab3100.c
-F:	drivers/rtc/rtc-coh901331.c
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson.git
-
-ARM/Ux500 ARM ARCHITECTURE
-M:	Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
-M:	Linus Walleij <linus.walleij@stericsson.com>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-F:	arch/arm/mach-ux500/
-F:	drivers/dma/ste_dma40*
-F:	drivers/mfd/ab3550*
-F:	drivers/mfd/abx500*
-F:	drivers/mfd/ab8500*
-F:	drivers/mfd/stmpe*
-F:	drivers/rtc/rtc-ab8500.c
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson.git
-
-ARM/VFP SUPPORT
-M:	Russell King <linux@arm.linux.org.uk>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-W:	http://www.arm.linux.org.uk/
-S:	Maintained
-F:	arch/arm/vfp/
-
-ARM/VOIPAC PXA270 SUPPORT
-M:	Marek Vasut <marek.vasut@gmail.com>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-F:	arch/arm/mach-pxa/vpac270.c
-F:	arch/arm/mach-pxa/include/mach/vpac270.h
-
-ARM/ZIPIT Z2 SUPPORT
-M:	Marek Vasut <marek.vasut@gmail.com>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-F:	arch/arm/mach-pxa/z2.c
-F:	arch/arm/mach-pxa/include/mach/z2.h
-
-ASC7621 HARDWARE MONITOR DRIVER
-M:	George Joseph <george.joseph@fairview5.com>
-L:	lm-sensors@lm-sensors.org
-S:	Maintained
-F:	Documentation/hwmon/asc7621
-F:	drivers/hwmon/asc7621.c
-
-ASUS NOTEBOOKS AND EEEPC ACPI/WMI EXTRAS DRIVERS
-M:	Corentin Chary <corentincj@iksaif.net>
-L:	acpi4asus-user@lists.sourceforge.net
-L:	platform-driver-x86@vger.kernel.org
-W:	http://acpi4asus.sf.net
-S:	Maintained
-F:	drivers/platform/x86/asus*.c
-F:	drivers/platform/x86/eeepc*.c
-
-ASUS ASB100 HARDWARE MONITOR DRIVER
-M:	"Mark M. Hoffman" <mhoffman@lightlink.com>
-L:	lm-sensors@lm-sensors.org
-S:	Maintained
-F:	drivers/hwmon/asb100.c
-
-ASYNCHRONOUS TRANSFERS/TRANSFORMS (IOAT) API
-M:	Dan Williams <dan.j.williams@intel.com>
-W:	http://sourceforge.net/projects/xscaleiop
-S:	Supported
-F:	Documentation/crypto/async-tx-api.txt
-F:	crypto/async_tx/
-F:	drivers/dma/
-F:	include/linux/dmaengine.h
-F:	include/linux/async_tx.h
-
-AT24 EEPROM DRIVER
-M:	Wolfram Sang <w.sang@pengutronix.de>
-L:	linux-i2c@vger.kernel.org
-S:	Maintained
-F:	drivers/misc/eeprom/at24.c
-F:	include/linux/i2c/at24.h
-
-ATA OVER ETHERNET (AOE) DRIVER
-M:	"Ed L. Cashin" <ecashin@coraid.com>
-W:	http://www.coraid.com/support/linux
-S:	Supported
-F:	Documentation/aoe/
-F:	drivers/block/aoe/
-
-ATHEROS ATH GENERIC UTILITIES
-M:	"Luis R. Rodriguez" <lrodriguez@atheros.com>
-L:	linux-wireless@vger.kernel.org
-S:	Supported
-F:	drivers/net/wireless/ath/*
-
-ATHEROS ATH5K WIRELESS DRIVER
-M:	Jiri Slaby <jirislaby@gmail.com>
-M:	Nick Kossifidis <mickflemm@gmail.com>
-M:	"Luis R. Rodriguez" <lrodriguez@atheros.com>
-M:	Bob Copeland <me@bobcopeland.com>
-L:	linux-wireless@vger.kernel.org
-L:	ath5k-devel@lists.ath5k.org
-W:	http://wireless.kernel.org/en/users/Drivers/ath5k
-S:	Maintained
-F:	drivers/net/wireless/ath/ath5k/
-
-ATHEROS ATH9K WIRELESS DRIVER
-M:	"Luis R. Rodriguez" <lrodriguez@atheros.com>
-M:	Jouni Malinen <jmalinen@atheros.com>
-M:	Vasanthakumar Thiagarajan <vasanth@atheros.com>
-M:	Senthil Balasubramanian <senthilkumar@atheros.com>
-L:	linux-wireless@vger.kernel.org
-L:	ath9k-devel@lists.ath9k.org
-W:	http://wireless.kernel.org/en/users/Drivers/ath9k
-S:	Supported
-F:	drivers/net/wireless/ath/ath9k/
-
-ATHEROS AR9170 WIRELESS DRIVER
-M:	Christian Lamparter <chunkeey@web.de>
-L:	linux-wireless@vger.kernel.org
-W:	http://wireless.kernel.org/en/users/Drivers/ar9170
-S:	Obsolete
-F:	drivers/net/wireless/ath/ar9170/
-
-CARL9170 LINUX COMMUNITY WIRELESS DRIVER
-M:	Christian Lamparter <chunkeey@googlemail.com>
-L:	linux-wireless@vger.kernel.org
-W:	http://wireless.kernel.org/en/users/Drivers/carl9170
-S:	Maintained
-F:	drivers/net/wireless/ath/carl9170/
-
-ATK0110 HWMON DRIVER
-M:	Luca Tettamanti <kronos.it@gmail.com>
-L:	lm-sensors@lm-sensors.org
-S:	Maintained
-F:	drivers/hwmon/asus_atk0110.c
-
-ATI_REMOTE2 DRIVER
-M:	Ville Syrjala <syrjala@sci.fi>
-S:	Maintained
-F:	drivers/input/misc/ati_remote2.c
-
-ATLX ETHERNET DRIVERS
-M:	Jay Cliburn <jcliburn@gmail.com>
-M:	Chris Snook <chris.snook@gmail.com>
-M:	Jie Yang <jie.yang@atheros.com>
-L:	netdev@vger.kernel.org
-W:	http://sourceforge.net/projects/atl1
-W:	http://atl1.sourceforge.net
-S:	Maintained
-F:	drivers/net/atlx/
-
-ATM
-M:	Chas Williams <chas@cmf.nrl.navy.mil>
-L:	linux-atm-general@lists.sourceforge.net (moderated for non-subscribers)
-L:	netdev@vger.kernel.org
-W:	http://linux-atm.sourceforge.net
-S:	Maintained
-F:	drivers/atm/
-F:	include/linux/atm*
-
-ATMEL AT91 MCI DRIVER
-M:	Nicolas Ferre <nicolas.ferre@atmel.com>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-W:	http://www.atmel.com/products/AT91/
-W:	http://www.at91.com/
-S:	Maintained
-F:	drivers/mmc/host/at91_mci.c
-
-ATMEL AT91 / AT32 MCI DRIVER
-M:	Nicolas Ferre <nicolas.ferre@atmel.com>
-S:	Maintained
-F:	drivers/mmc/host/atmel-mci.c
-F:	drivers/mmc/host/atmel-mci-regs.h
-
-ATMEL AT91 / AT32 SERIAL DRIVER
-M:	Nicolas Ferre <nicolas.ferre@atmel.com>
-S:	Supported
-F:	drivers/tty/serial/atmel_serial.c
-
-ATMEL LCDFB DRIVER
-M:	Nicolas Ferre <nicolas.ferre@atmel.com>
-L:	linux-fbdev@vger.kernel.org
-S:	Maintained
-F:	drivers/video/atmel_lcdfb.c
-F:	include/video/atmel_lcdc.h
-
-ATMEL MACB ETHERNET DRIVER
-M:	Nicolas Ferre <nicolas.ferre@atmel.com>
-S:	Supported
-F:	drivers/net/macb.*
-
-ATMEL SPI DRIVER
-M:	Nicolas Ferre <nicolas.ferre@atmel.com>
-S:	Supported
-F:	drivers/spi/atmel_spi.*
-
-ATMEL USBA UDC DRIVER
-M:	Nicolas Ferre <nicolas.ferre@atmel.com>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-W:	http://avr32linux.org/twiki/bin/view/Main/AtmelUsbDeviceDriver
-S:	Supported
-F:	drivers/usb/gadget/atmel_usba_udc.*
-
-ATMEL WIRELESS DRIVER
-M:	Simon Kelley <simon@thekelleys.org.uk>
-L:	linux-wireless@vger.kernel.org
-W:	http://www.thekelleys.org.uk/atmel
-W:	http://atmelwlandriver.sourceforge.net/
-S:	Maintained
-F:	drivers/net/wireless/atmel*
-
-AUDIT SUBSYSTEM
-M:	Al Viro <viro@zeniv.linux.org.uk>
-M:	Eric Paris <eparis@redhat.com>
-L:	linux-audit@redhat.com (subscribers-only)
-W:	http://people.redhat.com/sgrubb/audit/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current.git
-S:	Maintained
-F:	include/linux/audit.h
-F:	kernel/audit*
-
-AUXILIARY DISPLAY DRIVERS
-M:	Miguel Ojeda Sandonis <miguel.ojeda.sandonis@gmail.com>
-W:	http://miguelojeda.es/auxdisplay.htm
-W:	http://jair.lab.fi.uva.es/~migojed/auxdisplay.htm
-S:	Maintained
-F:	drivers/auxdisplay/
-F:	include/linux/cfag12864b.h
-
-AVR32 ARCHITECTURE
-M:	Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
-W:	http://www.atmel.com/products/AVR32/
-W:	http://avr32linux.org/
-W:	http://avrfreaks.net/
-S:	Supported
-F:	arch/avr32/
-
-AVR32/AT32AP MACHINE SUPPORT
-M:	Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
-S:	Supported
-F:	arch/avr32/mach-at32ap/
-
-AX.25 NETWORK LAYER
-M:	Ralf Baechle <ralf@linux-mips.org>
-L:	linux-hams@vger.kernel.org
-W:	http://www.linux-ax25.org/
-S:	Maintained
-F:	include/linux/ax25.h
-F:	include/net/ax25.h
-F:	net/ax25/
-
-B43 WIRELESS DRIVER
-M:	Stefano Brivio <stefano.brivio@polimi.it>
-L:	linux-wireless@vger.kernel.org
-W:	http://linuxwireless.org/en/users/Drivers/b43
-S:	Maintained
-F:	drivers/net/wireless/b43/
-
-B43LEGACY WIRELESS DRIVER
-M:	Larry Finger <Larry.Finger@lwfinger.net>
-M:	Stefano Brivio <stefano.brivio@polimi.it>
-L:	linux-wireless@vger.kernel.org
-W:	http://linuxwireless.org/en/users/Drivers/b43
-S:	Maintained
-F:	drivers/net/wireless/b43legacy/
-
-BACKLIGHT CLASS/SUBSYSTEM
-M:	Richard Purdie <rpurdie@rpsys.net>
-S:	Maintained
-F:	drivers/video/backlight/
-F:	include/linux/backlight.h
-
-BATMAN ADVANCED
-M:	Marek Lindner <lindner_marek@yahoo.de>
-M:	Simon Wunderlich <siwu@hrz.tu-chemnitz.de>
-M:	Sven Eckelmann <sven@narfation.org>
-L:	b.a.t.m.a.n@lists.open-mesh.org
-W:	http://www.open-mesh.org/
-S:	Maintained
-F:	net/batman-adv/
-
-BAYCOM/HDLCDRV DRIVERS FOR AX.25
-M:	Thomas Sailer <t.sailer@alumni.ethz.ch>
-L:	linux-hams@vger.kernel.org
-W:	http://www.baycom.org/~tom/ham/ham.html
-S:	Maintained
-F:	drivers/net/hamradio/baycom*
-
-BEFS FILE SYSTEM
-S:	Orphan
-F:	Documentation/filesystems/befs.txt
-F:	fs/befs/
-
-BFS FILE SYSTEM
-M:	"Tigran A. Aivazian" <tigran@aivazian.fsnet.co.uk>
-S:	Maintained
-F:	Documentation/filesystems/bfs.txt
-F:	fs/bfs/
-F:	include/linux/bfs_fs.h
-
-BLACKFIN ARCHITECTURE
-M:	Mike Frysinger <vapier@gentoo.org>
-L:	uclinux-dist-devel@blackfin.uclinux.org
-W:	http://blackfin.uclinux.org
-S:	Supported
-F:	arch/blackfin/
-
-BLACKFIN EMAC DRIVER
-M:	Michael Hennerich <michael.hennerich@analog.com>
-L:	uclinux-dist-devel@blackfin.uclinux.org
-W:	http://blackfin.uclinux.org
-S:	Supported
-F:	drivers/net/bfin_mac.*
-
-BLACKFIN RTC DRIVER
-M:	Mike Frysinger <vapier.adi@gmail.com>
-L:	uclinux-dist-devel@blackfin.uclinux.org
-W:	http://blackfin.uclinux.org
-S:	Supported
-F:	drivers/rtc/rtc-bfin.c
-
-BLACKFIN SDH DRIVER
-M:	Cliff Cai <cliff.cai@analog.com>
-L:	uclinux-dist-devel@blackfin.uclinux.org
-W:	http://blackfin.uclinux.org
-S:	Supported
-F:	drivers/mmc/host/bfin_sdh.c
-
-BLACKFIN SERIAL DRIVER
-M:	Sonic Zhang <sonic.zhang@analog.com>
-L:	uclinux-dist-devel@blackfin.uclinux.org
-W:	http://blackfin.uclinux.org
-S:	Supported
-F:	drivers/tty/serial/bfin_5xx.c
-
-BLACKFIN WATCHDOG DRIVER
-M:	Mike Frysinger <vapier.adi@gmail.com>
-L:	uclinux-dist-devel@blackfin.uclinux.org
-W:	http://blackfin.uclinux.org
-S:	Supported
-F:	drivers/watchdog/bfin_wdt.c
-
-BLACKFIN I2C TWI DRIVER
-M:	Sonic Zhang <sonic.zhang@analog.com>
-L:	uclinux-dist-devel@blackfin.uclinux.org
-W:	http://blackfin.uclinux.org/
-S:	Supported
-F:	drivers/i2c/busses/i2c-bfin-twi.c
-
-BLOCK LAYER
-M:	Jens Axboe <axboe@kernel.dk>
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-2.6-block.git
-S:	Maintained
-F:	block/
-
-BLOCK2MTD DRIVER
-M:	Joern Engel <joern@lazybastard.org>
-L:	linux-mtd@lists.infradead.org
-S:	Maintained
-F:	drivers/mtd/devices/block2mtd.c
-
-BLUETOOTH DRIVERS
-M:	Marcel Holtmann <marcel@holtmann.org>
-M:	"Gustavo F. Padovan" <padovan@profusion.mobi>
-L:	linux-bluetooth@vger.kernel.org
-W:	http://www.bluez.org/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-2.6.git
-S:	Maintained
-F:	drivers/bluetooth/
-
-BLUETOOTH SUBSYSTEM
-M:	Marcel Holtmann <marcel@holtmann.org>
-M:	"Gustavo F. Padovan" <padovan@profusion.mobi>
-L:	linux-bluetooth@vger.kernel.org
-W:	http://www.bluez.org/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-2.6.git
-S:	Maintained
-F:	net/bluetooth/
-F:	include/net/bluetooth/
-
-BONDING DRIVER
-M:	Jay Vosburgh <fubar@us.ibm.com>
-M:	Andy Gospodarek <andy@greyhouse.net>
-L:	netdev@vger.kernel.org
-W:	http://sourceforge.net/projects/bonding/
-S:	Supported
-F:	drivers/net/bonding/
-F:	include/linux/if_bonding.h
-
-BROADCOM B44 10/100 ETHERNET DRIVER
-M:	Gary Zambrano <zambrano@broadcom.com>
-L:	netdev@vger.kernel.org
-S:	Supported
-F:	drivers/net/b44.*
-
-BROADCOM BNX2 GIGABIT ETHERNET DRIVER
-M:	Michael Chan <mchan@broadcom.com>
-L:	netdev@vger.kernel.org
-S:	Supported
-F:	drivers/net/bnx2.*
-F:	drivers/net/bnx2_*
-
-BROADCOM BNX2X 10 GIGABIT ETHERNET DRIVER
-M:	Eilon Greenstein <eilong@broadcom.com>
-L:	netdev@vger.kernel.org
-S:	Supported
-F:	drivers/net/bnx2x/
-
-BROADCOM TG3 GIGABIT ETHERNET DRIVER
-M:	Matt Carlson <mcarlson@broadcom.com>
-M:	Michael Chan <mchan@broadcom.com>
-L:	netdev@vger.kernel.org
-S:	Supported
-F:	drivers/net/tg3.*
-
-BROADCOM BRCM80211 IEEE802.11n WIRELESS DRIVER
-M:	Brett Rudley <brudley@broadcom.com>
-M:	Henry Ptasinski <henryp@broadcom.com>
-M:	Dowan Kim <dowan@broadcom.com>
-M:	Roland Vossen <rvossen@broadcom.com>
-M:	Arend van Spriel <arend@broadcom.com>
-L:	linux-wireless@vger.kernel.org
-S:	Supported
-F:	drivers/staging/brcm80211/
-
-BROCADE BFA FC SCSI DRIVER
-M:	Jing Huang <huangj@brocade.com>
-L:	linux-scsi@vger.kernel.org
-S:	Supported
-F:	drivers/scsi/bfa/
-
-BROCADE BNA 10 GIGABIT ETHERNET DRIVER
-M:	Rasesh Mody <rmody@brocade.com>
-M:	Debashis Dutt <ddutt@brocade.com>
-L:	netdev@vger.kernel.org
-S:	Supported
-F:	drivers/net/bna/
-
-BSG (block layer generic sg v4 driver)
-M:	FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
-L:	linux-scsi@vger.kernel.org
-S:	Supported
-F:	block/bsg.c
-F:	include/linux/bsg.h
-
-BT87X AUDIO DRIVER
-M:	Clemens Ladisch <clemens@ladisch.de>
-L:	alsa-devel@alsa-project.org (moderated for non-subscribers)
-T:	git git://git.alsa-project.org/alsa-kernel.git
-S:	Maintained
-F:	Documentation/sound/alsa/Bt87x.txt
-F:	sound/pci/bt87x.c
-
-BT8XXGPIO DRIVER
-M:	Michael Buesch <mb@bu3sch.de>
-W:	http://bu3sch.de/btgpio.php
-S:	Maintained
-F:	drivers/gpio/bt8xxgpio.c
-
-BTRFS FILE SYSTEM
-M:	Chris Mason <chris.mason@oracle.com>
-L:	linux-btrfs@vger.kernel.org
-W:	http://btrfs.wiki.kernel.org/
-Q:	http://patchwork.kernel.org/project/linux-btrfs/list/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable.git
-S:	Maintained
-F:	Documentation/filesystems/btrfs.txt
-F:	fs/btrfs/
-
-BTTV VIDEO4LINUX DRIVER
-M:	Mauro Carvalho Chehab <mchehab@infradead.org>
-L:	linux-media@vger.kernel.org
-W:	http://linuxtv.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
-S:	Maintained
-F:	Documentation/video4linux/bttv/
-F:	drivers/media/video/bt8xx/bttv*
-
-C-MEDIA CMI8788 DRIVER
-M:	Clemens Ladisch <clemens@ladisch.de>
-L:	alsa-devel@alsa-project.org (moderated for non-subscribers)
-T:	git git://git.alsa-project.org/alsa-kernel.git
-S:	Maintained
-F:	sound/pci/oxygen/
-
-CACHEFILES: FS-CACHE BACKEND FOR CACHING ON MOUNTED FILESYSTEMS
-M:	David Howells <dhowells@redhat.com>
-L:	linux-cachefs@redhat.com
-S:	Supported
-F:	Documentation/filesystems/caching/cachefiles.txt
-F:	fs/cachefiles/
-
-CAFE CMOS INTEGRATED CAMERA CONTROLLER DRIVER
-M:	Jonathan Corbet <corbet@lwn.net>
-L:	linux-media@vger.kernel.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
-S:	Maintained
-F:	Documentation/video4linux/cafe_ccic
-F:	drivers/media/video/cafe_ccic*
-
-CAIF NETWORK LAYER
-M:	Sjur Braendeland <sjur.brandeland@stericsson.com>
-L:	netdev@vger.kernel.org
-S:	Supported
-F:	Documentation/networking/caif/
-F:	drivers/net/caif/
-F:	include/linux/caif/
-F:	include/net/caif/
-F:	net/caif/
-
-CALGARY x86-64 IOMMU
-M:	Muli Ben-Yehuda <muli@il.ibm.com>
-M:	"Jon D. Mason" <jdmason@kudzu.us>
-L:	discuss@x86-64.org
-S:	Maintained
-F:	arch/x86/kernel/pci-calgary_64.c
-F:	arch/x86/kernel/tce_64.c
-F:	arch/x86/include/asm/calgary.h
-F:	arch/x86/include/asm/tce.h
-
-CAN NETWORK LAYER
-M:	Oliver Hartkopp <socketcan@hartkopp.net>
-M:	Oliver Hartkopp <oliver.hartkopp@volkswagen.de>
-M:	Urs Thuermann <urs.thuermann@volkswagen.de>
-L:	socketcan-core@lists.berlios.de
-L:	netdev@vger.kernel.org
-W:	http://developer.berlios.de/projects/socketcan/
-S:	Maintained
-F:	net/can/
-F:	include/linux/can.h
-F:	include/linux/can/core.h
-F:	include/linux/can/bcm.h
-F:	include/linux/can/raw.h
-
-CAN NETWORK DRIVERS
-M:	Wolfgang Grandegger <wg@grandegger.com>
-L:	socketcan-core@lists.berlios.de
-L:	netdev@vger.kernel.org
-W:	http://developer.berlios.de/projects/socketcan/
-S:	Maintained
-F:	drivers/net/can/
-F:	include/linux/can/dev.h
-F:	include/linux/can/error.h
-F:	include/linux/can/netlink.h
-F:	include/linux/can/platform/
-
-CELL BROADBAND ENGINE ARCHITECTURE
-M:	Arnd Bergmann <arnd@arndb.de>
-L:	linuxppc-dev@lists.ozlabs.org
-L:	cbe-oss-dev@lists.ozlabs.org
-W:	http://www.ibm.com/developerworks/power/cell/
-S:	Supported
-F:	arch/powerpc/include/asm/cell*.h
-F:	arch/powerpc/include/asm/spu*.h
-F:	arch/powerpc/oprofile/*cell*
-F:	arch/powerpc/platforms/cell/
-
-CEPH DISTRIBUTED FILE SYSTEM CLIENT
-M:	Sage Weil <sage@newdream.net>
-L:	ceph-devel@vger.kernel.org
-W:	http://ceph.newdream.net/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git
-S:	Supported
-F:	Documentation/filesystems/ceph.txt
-F:	fs/ceph
-F:	net/ceph
-F:	include/linux/ceph
-
-CERTIFIED WIRELESS USB (WUSB) SUBSYSTEM:
-L:	linux-usb@vger.kernel.org
-S:	Orphan
-F:	Documentation/usb/WUSB-Design-overview.txt
-F:	Documentation/usb/wusb-cbaf
-F:	drivers/usb/host/hwa-hc.c
-F:	drivers/usb/host/whci/
-F:	drivers/usb/wusbcore/
-F:	include/linux/usb/wusb*
-
-CFAG12864B LCD DRIVER
-M:	Miguel Ojeda Sandonis <miguel.ojeda.sandonis@gmail.com>
-W:	http://miguelojeda.es/auxdisplay.htm
-W:	http://jair.lab.fi.uva.es/~migojed/auxdisplay.htm
-S:	Maintained
-F:	drivers/auxdisplay/cfag12864b.c
-F:	include/linux/cfag12864b.h
-
-CFAG12864BFB LCD FRAMEBUFFER DRIVER
-M:	Miguel Ojeda Sandonis <miguel.ojeda.sandonis@gmail.com>
-W:	http://miguelojeda.es/auxdisplay.htm
-W:	http://jair.lab.fi.uva.es/~migojed/auxdisplay.htm
-S:	Maintained
-F:	drivers/auxdisplay/cfag12864bfb.c
-F:	include/linux/cfag12864b.h
-
-CFG80211 and NL80211
-M:	Johannes Berg <johannes@sipsolutions.net>
-L:	linux-wireless@vger.kernel.org
-S:	Maintained
-F:	include/linux/nl80211.h
-F:	include/net/cfg80211.h
-F:	net/wireless/*
-X:	net/wireless/wext*
-
-CHECKPATCH
-M:	Andy Whitcroft <apw@canonical.com>
-S:	Supported
-F:	scripts/checkpatch.pl
-
-CHINESE DOCUMENTATION
-M:	Harry Wei <harryxiyou@gmail.com>
-L:	xiyoulinuxkernelgroup@googlegroups.com
-L:	linux-kernel@zh-kernel.org (moderated for non-subscribers)
-S:	Maintained
-F:	Documentation/zh_CN/
-
-CISCO VIC ETHERNET NIC DRIVER
-M:	Christian Benvenuti <benve@cisco.com>
-M:	Vasanthy Kolluri <vkolluri@cisco.com>
-M:	Roopa Prabhu <roprabhu@cisco.com>
-M:	David Wang <dwang2@cisco.com>
-S:	Supported
-F:	drivers/net/enic/
-
-CIRRUS LOGIC EP93XX ETHERNET DRIVER
-M:	Lennert Buytenhek <kernel@wantstofly.org>
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	drivers/net/arm/ep93xx_eth.c
-
-CIRRUS LOGIC EP93XX OHCI USB HOST DRIVER
-M:	Lennert Buytenhek <kernel@wantstofly.org>
-L:	linux-usb@vger.kernel.org
-S:	Maintained
-F:	drivers/usb/host/ohci-ep93xx.c
-
-CIRRUS LOGIC CS4270 SOUND DRIVER
-M:	Timur Tabi <timur@freescale.com>
-L:	alsa-devel@alsa-project.org (moderated for non-subscribers)
-S:	Supported
-F:	sound/soc/codecs/cs4270*
-
-CLK API
-M:	Russell King <linux@arm.linux.org.uk>
-F:	include/linux/clk.h
-
-CISCO FCOE HBA DRIVER
-M:	Abhijeet Joglekar <abjoglek@cisco.com>
-M:	Joe Eykholt <jeykholt@cisco.com>
-L:	linux-scsi@vger.kernel.org
-S:	Supported
-F:	drivers/scsi/fnic/
-
-CMPC ACPI DRIVER
-M:	Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
-M:	Daniel Oliveira Nascimento <don@syst.com.br>
-L:	platform-driver-x86@vger.kernel.org
-S:	Supported
-F:	drivers/platform/x86/classmate-laptop.c
-
-COCCINELLE/Semantic Patches (SmPL)
-M:	Julia Lawall <julia@diku.dk>
-M:	Gilles Muller <Gilles.Muller@lip6.fr>
-M:	Nicolas Palix <npalix.work@gmail.com>
-L:	cocci@diku.dk (moderated for non-subscribers)
-W:	http://coccinelle.lip6.fr/
-S:	Supported
-F:	scripts/coccinelle/
-F:	scripts/coccicheck
-
-CODA FILE SYSTEM
-M:	Jan Harkes <jaharkes@cs.cmu.edu>
-M:	coda@cs.cmu.edu
-L:	codalist@coda.cs.cmu.edu
-W:	http://www.coda.cs.cmu.edu/
-S:	Maintained
-F:	Documentation/filesystems/coda.txt
-F:	fs/coda/
-F:	include/linux/coda*.h
-
-COMMON INTERNET FILE SYSTEM (CIFS)
-M:	Steve French <sfrench@samba.org>
-L:	linux-cifs@vger.kernel.org
-L:	samba-technical@lists.samba.org (moderated for non-subscribers)
-W:	http://linux-cifs.samba.org/
-Q:	http://patchwork.ozlabs.org/project/linux-cifs-client/list/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6.git
-S:	Supported
-F:	Documentation/filesystems/cifs.txt
-F:	fs/cifs/
-
-COMPACTPCI HOTPLUG CORE
-M:	Scott Murray <scott@spiteful.org>
-L:	linux-pci@vger.kernel.org
-S:	Maintained
-F:	drivers/pci/hotplug/cpci_hotplug*
-
-COMPACTPCI HOTPLUG ZIATECH ZT5550 DRIVER
-M:	Scott Murray <scott@spiteful.org>
-L:	linux-pci@vger.kernel.org
-S:	Maintained
-F:	drivers/pci/hotplug/cpcihp_zt5550.*
-
-COMPACTPCI HOTPLUG GENERIC DRIVER
-M:	Scott Murray <scott@spiteful.org>
-L:	linux-pci@vger.kernel.org
-S:	Maintained
-F:	drivers/pci/hotplug/cpcihp_generic.c
-
-COMPAL LAPTOP SUPPORT
-M:	Cezary Jackiewicz <cezary.jackiewicz@gmail.com>
-L:	platform-driver-x86@vger.kernel.org
-S:	Maintained
-F:	drivers/platform/x86/compal-laptop.c
-
-COMPUTONE INTELLIPORT MULTIPORT CARD
-W:	http://www.wittsend.com/computone.html
-S:	Orphan
-F:	Documentation/serial/computone.txt
-F:	drivers/staging/tty/ip2/
-
-CONEXANT ACCESSRUNNER USB DRIVER
-M:	Simon Arlott <cxacru@fire.lp0.eu>
-L:	accessrunner-general@lists.sourceforge.net
-W:	http://accessrunner.sourceforge.net/
-S:	Maintained
-F:	drivers/usb/atm/cxacru.c
-
-CONFIGFS
-M:	Joel Becker <jlbec@evilplan.org>
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/configfs.git
-S:	Supported
-F:	fs/configfs/
-F:	include/linux/configfs.h
-
-CONNECTOR
-M:	Evgeniy Polyakov <zbr@ioremap.net>
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	drivers/connector/
-
-CONTROL GROUPS (CGROUPS)
-M:	Paul Menage <menage@google.com>
-M:	Li Zefan <lizf@cn.fujitsu.com>
-L:	containers@lists.linux-foundation.org
-S:	Maintained
-F:	include/linux/cgroup*
-F:	kernel/cgroup*
-F:	mm/*cgroup*
-
-CORETEMP HARDWARE MONITORING DRIVER
-M:	Fenghua Yu <fenghua.yu@intel.com>
-L:	lm-sensors@lm-sensors.org
-S:	Maintained
-F:	Documentation/hwmon/coretemp
-F:	drivers/hwmon/coretemp.c
-
-COSA/SRP SYNC SERIAL DRIVER
-M:	Jan "Yenya" Kasprzak <kas@fi.muni.cz>
-W:	http://www.fi.muni.cz/~kas/cosa/
-S:	Maintained
-F:	drivers/net/wan/cosa*
-
-CPMAC ETHERNET DRIVER
-M:	Florian Fainelli <florian@openwrt.org>
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	drivers/net/cpmac.c
-
-CPU FREQUENCY DRIVERS
-M:	Dave Jones <davej@redhat.com>
-L:	cpufreq@vger.kernel.org
-W:	http://www.codemonkey.org.uk/projects/cpufreq/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq.git
-S:	Maintained
-F:	arch/x86/kernel/cpu/cpufreq/
-F:	drivers/cpufreq/
-F:	include/linux/cpufreq.h
-
-CPUID/MSR DRIVER
-M:	"H. Peter Anvin" <hpa@zytor.com>
-S:	Maintained
-F:	arch/x86/kernel/cpuid.c
-F:	arch/x86/kernel/msr.c
-
-CPUSETS
-M:	Paul Menage <menage@google.com>
-W:	http://www.bullopensource.org/cpuset/
-W:	http://oss.sgi.com/projects/cpusets/
-S:	Supported
-F:	Documentation/cgroups/cpusets.txt
-F:	include/linux/cpuset.h
-F:	kernel/cpuset.c
-
-CRAMFS FILESYSTEM
-W:	http://sourceforge.net/projects/cramfs/
-S:	Orphan
-F:	Documentation/filesystems/cramfs.txt
-F:	fs/cramfs/
-
-CRIS PORT
-M:	Mikael Starvik <starvik@axis.com>
-M:	Jesper Nilsson <jesper.nilsson@axis.com>
-L:	linux-cris-kernel@axis.com
-W:	http://developer.axis.com
-S:	Maintained
-F:	arch/cris/
-F:	drivers/tty/serial/crisv10.*
-
-CRYPTO API
-M:	Herbert Xu <herbert@gondor.apana.org.au>
-M:	"David S. Miller" <davem@davemloft.net>
-L:	linux-crypto@vger.kernel.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6.git
-S:	Maintained
-F:	Documentation/crypto/
-F:	arch/*/crypto/
-F:	crypto/
-F:	drivers/crypto/
-F:	include/crypto/
-
-CRYPTOGRAPHIC RANDOM NUMBER GENERATOR
-M:	Neil Horman <nhorman@tuxdriver.com>
-L:	linux-crypto@vger.kernel.org
-S:	Maintained
-F:	crypto/ansi_cprng.c
-F:	crypto/rng.c
-
-CS5535 Audio ALSA driver
-M:	Jaya Kumar <jayakumar.alsa@gmail.com>
-S:	Maintained
-F:	sound/pci/cs5535audio/
-
-CX18 VIDEO4LINUX DRIVER
-M:	Andy Walls <awalls@md.metrocast.net>
-L:	ivtv-devel@ivtvdriver.org (moderated for non-subscribers)
-L:	linux-media@vger.kernel.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
-W:	http://linuxtv.org
-W:	http://www.ivtvdriver.org/index.php/Cx18
-S:	Maintained
-F:	Documentation/video4linux/cx18.txt
-F:	drivers/media/video/cx18/
-
-CXGB3 ETHERNET DRIVER (CXGB3)
-M:	Divy Le Ray <divy@chelsio.com>
-L:	netdev@vger.kernel.org
-W:	http://www.chelsio.com
-S:	Supported
-F:	drivers/net/cxgb3/
-
-CXGB3 IWARP RNIC DRIVER (IW_CXGB3)
-M:	Steve Wise <swise@chelsio.com>
-L:	linux-rdma@vger.kernel.org
-W:	http://www.openfabrics.org
-S:	Supported
-F:	drivers/infiniband/hw/cxgb3/
-
-CXGB4 ETHERNET DRIVER (CXGB4)
-M:	Dimitris Michailidis <dm@chelsio.com>
-L:	netdev@vger.kernel.org
-W:	http://www.chelsio.com
-S:	Supported
-F:	drivers/net/cxgb4/
-
-CXGB4 IWARP RNIC DRIVER (IW_CXGB4)
-M:	Steve Wise <swise@chelsio.com>
-L:	linux-rdma@vger.kernel.org
-W:	http://www.openfabrics.org
-S:	Supported
-F:	drivers/infiniband/hw/cxgb4/
-
-CXGB4VF ETHERNET DRIVER (CXGB4VF)
-M:	Casey Leedom <leedom@chelsio.com>
-L:	netdev@vger.kernel.org
-W:	http://www.chelsio.com
-S:	Supported
-F:	drivers/net/cxgb4vf/
-
-STMMAC ETHERNET DRIVER
-M:	Giuseppe Cavallaro <peppe.cavallaro@st.com>
-L:	netdev@vger.kernel.org
-W:	http://www.stlinux.com
-S:	Supported
-F:	drivers/net/stmmac/
-
-CYBERPRO FB DRIVER
-M:	Russell King <linux@arm.linux.org.uk>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-W:	http://www.arm.linux.org.uk/
-S:	Maintained
-F:	drivers/video/cyber2000fb.*
-
-CYCLADES 2X SYNC CARD DRIVER
-M:	Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
-W:	http://oops.ghostprotocols.net:81/blog
-S:	Maintained
-F:	drivers/net/wan/cycx*
-
-CYCLADES ASYNC MUX DRIVER
-W:	http://www.cyclades.com/
-S:	Orphan
-F:	drivers/tty/cyclades.c
-F:	include/linux/cyclades.h
-
-CYCLADES PC300 DRIVER
-W:	http://www.cyclades.com/
-S:	Orphan
-F:	drivers/net/wan/pc300*
-
-DAMA SLAVE for AX.25
-M:	Joerg Reuter <jreuter@yaina.de>
-W:	http://yaina.de/jreuter/
-W:	http://www.qsl.net/dl1bke/
-L:	linux-hams@vger.kernel.org
-S:	Maintained
-F:	net/ax25/af_ax25.c
-F:	net/ax25/ax25_dev.c
-F:	net/ax25/ax25_ds_*
-F:	net/ax25/ax25_in.c
-F:	net/ax25/ax25_out.c
-F:	net/ax25/ax25_timer.c
-F:	net/ax25/sysctl_net_ax25.c
-
-DAVICOM FAST ETHERNET (DMFE) NETWORK DRIVER
-M:	Tobias Ringstrom <tori@unhappy.mine.nu>
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	Documentation/networking/dmfe.txt
-F:	drivers/net/tulip/dmfe.c
-
-DC390/AM53C974 SCSI driver
-M:	Kurt Garloff <garloff@suse.de>
-W:	http://www.garloff.de/kurt/linux/dc390/
-M:	Guennadi Liakhovetski <g.liakhovetski@gmx.de>
-S:	Maintained
-F:	drivers/scsi/tmscsim.*
-
-DC395x SCSI driver
-M:	Oliver Neukum <oliver@neukum.name>
-M:	Ali Akcaagac <aliakc@web.de>
-M:	Jamie Lenehan <lenehan@twibble.org>
-W:	http://twibble.org/dist/dc395x/
-L:	dc395x@twibble.org
-L:	http://lists.twibble.org/mailman/listinfo/dc395x/
-S:	Maintained
-F:	Documentation/scsi/dc395x.txt
-F:	drivers/scsi/dc395x.*
-
-DCCP PROTOCOL
-M:	Gerrit Renker <gerrit@erg.abdn.ac.uk>
-L:	dccp@vger.kernel.org
-W:	http://www.linuxfoundation.org/collaborate/workgroups/networking/dccp
-S:	Maintained
-F:	include/linux/dccp.h
-F:	include/linux/tfrc.h
-F:	net/dccp/
-
-DECnet NETWORK LAYER
-W:	http://linux-decnet.sourceforge.net
-L:	linux-decnet-user@lists.sourceforge.net
-S:	Orphan
-F:	Documentation/networking/decnet.txt
-F:	net/decnet/
-
-DEFXX FDDI NETWORK DRIVER
-M:	"Maciej W. Rozycki" <macro@linux-mips.org>
-S:	Maintained
-F:	drivers/net/defxx.*
-
-DELL LAPTOP DRIVER
-M:	Matthew Garrett <mjg59@srcf.ucam.org>
-L:	platform-driver-x86@vger.kernel.org
-S:	Maintained
-F:	drivers/platform/x86/dell-laptop.c
-
-DELL LAPTOP SMM DRIVER
-M:	Massimo Dal Zotto <dz@debian.org>
-W:	http://www.debian.org/~dz/i8k/
-S:	Maintained
-F:	drivers/char/i8k.c
-F:	include/linux/i8k.h
-
-DELL SYSTEMS MANAGEMENT BASE DRIVER (dcdbas)
-M:	Doug Warzecha <Douglas_Warzecha@dell.com>
-S:	Maintained
-F:	Documentation/dcdbas.txt
-F:	drivers/firmware/dcdbas.*
-
-DELL WMI EXTRAS DRIVER
-M:	Matthew Garrett <mjg59@srcf.ucam.org>
-S:	Maintained
-F:	drivers/platform/x86/dell-wmi.c
-
-DEVICE NUMBER REGISTRY
-M:	Torben Mathiasen <device@lanana.org>
-W:	http://lanana.org/docs/device-list/index.html
-S:	Maintained
-
-DEVICE-MAPPER  (LVM)
-P:	Alasdair Kergon
-L:	dm-devel@redhat.com
-W:	http://sources.redhat.com/dm
-Q:	http://patchwork.kernel.org/project/dm-devel/list/
-S:	Maintained
-F:	Documentation/device-mapper/
-F:	drivers/md/dm*
-F:	include/linux/device-mapper.h
-F:	include/linux/dm-*.h
-
-DIGI INTL. EPCA DRIVER
-M:	"Digi International, Inc" <Eng.Linux@digi.com>
-L:	Eng.Linux@digi.com
-W:	http://www.digi.com
-S:	Orphan
-F:	Documentation/serial/digiepca.txt
-F:	drivers/staging/tty/epca*
-F:	drivers/staging/tty/digi*
-
-DIOLAN U2C-12 I2C DRIVER
-M:	Guenter Roeck <guenter.roeck@ericsson.com>
-L:	linux-i2c@vger.kernel.org
-S:	Maintained
-F:	drivers/i2c/busses/i2c-diolan-u2c.c
-
-DIRECTORY NOTIFICATION (DNOTIFY)
-M:	Eric Paris <eparis@parisplace.org>
-S:	Maintained
-F:	Documentation/filesystems/dnotify.txt
-F:	fs/notify/dnotify/
-F:	include/linux/dnotify.h
-
-DISK GEOMETRY AND PARTITION HANDLING
-M:	Andries Brouwer <aeb@cwi.nl>
-W:	http://www.win.tue.nl/~aeb/linux/Large-Disk.html
-W:	http://www.win.tue.nl/~aeb/linux/zip/zip-1.html
-W:	http://www.win.tue.nl/~aeb/partitions/partition_types-1.html
-S:	Maintained
-
-DISKQUOTA
-M:	Jan Kara <jack@suse.cz>
-S:	Maintained
-F:	Documentation/filesystems/quota.txt
-F:	fs/quota/
-F:	include/linux/quota*.h
-
-DISTRIBUTED LOCK MANAGER (DLM)
-M:	Christine Caulfield <ccaulfie@redhat.com>
-M:	David Teigland <teigland@redhat.com>
-L:	cluster-devel@redhat.com
-W:	http://sources.redhat.com/cluster/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm.git
-S:	Supported
-F:	fs/dlm/
-
-DMA GENERIC OFFLOAD ENGINE SUBSYSTEM
-M:	Vinod Koul <vinod.koul@intel.com>
-M:	Dan Williams <dan.j.williams@intel.com>
-S:	Supported
-F:	drivers/dma/
-F:	include/linux/dma*
-
-DME1737 HARDWARE MONITOR DRIVER
-M:	Juerg Haefliger <juergh@gmail.com>
-L:	lm-sensors@lm-sensors.org
-S:	Maintained
-F:	Documentation/hwmon/dme1737
-F:	drivers/hwmon/dme1737.c
-
-DOCBOOK FOR DOCUMENTATION
-M:	Randy Dunlap <rdunlap@xenotime.net>
-S:	Maintained
-F:	scripts/kernel-doc
-
-DOCKING STATION DRIVER
-M:	Shaohua Li <shaohua.li@intel.com>
-L:	linux-acpi@vger.kernel.org
-S:	Supported
-F:	drivers/acpi/dock.c
-
-DOCUMENTATION
-M:	Randy Dunlap <rdunlap@xenotime.net>
-L:	linux-doc@vger.kernel.org
-T:	quilt oss.oracle.com/~rdunlap/kernel-doc-patches/current/
-S:	Maintained
-F:	Documentation/
-
-DOUBLETALK DRIVER
-M:	"James R. Van Zandt" <jrv@vanzandt.mv.com>
-L:	blinux-list@redhat.com
-S:	Maintained
-F:	drivers/char/dtlk.c
-F:	include/linux/dtlk.h
-
-DPT_I2O SCSI RAID DRIVER
-M:	Adaptec OEM Raid Solutions <aacraid@adaptec.com>
-L:	linux-scsi@vger.kernel.org
-W:	http://www.adaptec.com/
-S:	Maintained
-F:	drivers/scsi/dpt*
-F:	drivers/scsi/dpt/
-
-DRBD DRIVER
-P:	Philipp Reisner
-P:	Lars Ellenberg
-M:	drbd-dev@lists.linbit.com
-L:	drbd-user@lists.linbit.com
-W:	http://www.drbd.org
-T:	git git://git.drbd.org/linux-2.6-drbd.git drbd
-T:	git git://git.drbd.org/drbd-8.3.git
-S:	Supported
-F:	drivers/block/drbd/
-F:	lib/lru_cache.c
-F:	Documentation/blockdev/drbd/
-
-DRIVER CORE, KOBJECTS, DEBUGFS AND SYSFS
-M:	Greg Kroah-Hartman <gregkh@suse.de>
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6.git
-S:	Supported
-F:	Documentation/kobject.txt
-F:	drivers/base/
-F:	fs/sysfs/
-F:	fs/debugfs/
-F:	include/linux/kobj*
-F:	include/linux/debugfs.h
-F:	lib/kobj*
-
-DRM DRIVERS
-M:	David Airlie <airlied@linux.ie>
-L:	dri-devel@lists.freedesktop.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git
-S:	Maintained
-F:	drivers/gpu/drm/
-F:	include/drm/
-
-INTEL DRM DRIVERS (excluding Poulsbo, Moorestown and derivative chipsets)
-M:	Chris Wilson <chris@chris-wilson.co.uk>
-L:	intel-gfx@lists.freedesktop.org (subscribers-only)
-L:	dri-devel@lists.freedesktop.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/ickle/drm-intel.git
-S:	Supported
-F:	drivers/gpu/drm/i915
-F:	include/drm/i915*
-
-DSCC4 DRIVER
-M:	Francois Romieu <romieu@fr.zoreil.com>
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	drivers/net/wan/dscc4.c
-
-DZ DECSTATION DZ11 SERIAL DRIVER
-M:	"Maciej W. Rozycki" <macro@linux-mips.org>
-S:	Maintained
-F:	drivers/tty/serial/dz.*
-
-EATA-DMA SCSI DRIVER
-M:	Michael Neuffer <mike@i-Connect.Net>
-L:	linux-eata@i-connect.net
-L:	linux-scsi@vger.kernel.org
-S:	Maintained
-F:	drivers/scsi/eata*
-
-EATA ISA/EISA/PCI SCSI DRIVER
-M:	Dario Ballabio <ballabio_dario@emc.com>
-L:	linux-scsi@vger.kernel.org
-S:	Maintained
-F:	drivers/scsi/eata.c
-
-EATA-PIO SCSI DRIVER
-M:	Michael Neuffer <mike@i-Connect.Net>
-L:	linux-eata@i-connect.net
-L:	linux-scsi@vger.kernel.org
-S:	Maintained
-F:	drivers/scsi/eata_pio.*
-
-EBTABLES
-M:	Bart De Schuymer <bart.de.schuymer@pandora.be>
-L:	ebtables-user@lists.sourceforge.net
-L:	ebtables-devel@lists.sourceforge.net
-W:	http://ebtables.sourceforge.net/
-S:	Maintained
-F:	include/linux/netfilter_bridge/ebt_*.h
-F:	net/bridge/netfilter/ebt*.c
-
-ECRYPT FILE SYSTEM
-M:	Tyler Hicks <tyhicks@linux.vnet.ibm.com>
-M:	Dustin Kirkland <kirkland@canonical.com>
-L:	ecryptfs-devel@lists.launchpad.net
-W:	https://launchpad.net/ecryptfs
-S:	Supported
-F:	Documentation/filesystems/ecryptfs.txt
-F:	fs/ecryptfs/
-
-EDAC-CORE
-M:	Doug Thompson <dougthompson@xmission.com>
-L:	bluesmoke-devel@lists.sourceforge.net (moderated for non-subscribers)
-W:	bluesmoke.sourceforge.net
-S:	Supported
-F:	Documentation/edac.txt
-F:	drivers/edac/edac_*
-F:	include/linux/edac.h
-
-EDAC-AMD64
-M:	Doug Thompson <dougthompson@xmission.com>
-M:	Borislav Petkov <borislav.petkov@amd.com>
-L:	bluesmoke-devel@lists.sourceforge.net (moderated for non-subscribers)
-W:	bluesmoke.sourceforge.net
-S:	Supported
-F:	drivers/edac/amd64_edac*
-
-EDAC-E752X
-M:	Mark Gross <mark.gross@intel.com>
-M:	Doug Thompson <dougthompson@xmission.com>
-L:	bluesmoke-devel@lists.sourceforge.net (moderated for non-subscribers)
-W:	bluesmoke.sourceforge.net
-S:	Maintained
-F:	drivers/edac/e752x_edac.c
-
-EDAC-E7XXX
-M:	Doug Thompson <dougthompson@xmission.com>
-L:	bluesmoke-devel@lists.sourceforge.net (moderated for non-subscribers)
-W:	bluesmoke.sourceforge.net
-S:	Maintained
-F:	drivers/edac/e7xxx_edac.c
-
-EDAC-I82443BXGX
-M:	Tim Small <tim@buttersideup.com>
-L:	bluesmoke-devel@lists.sourceforge.net (moderated for non-subscribers)
-W:	bluesmoke.sourceforge.net
-S:	Maintained
-F:	drivers/edac/i82443bxgx_edac.c
-
-EDAC-I3000
-M:	Jason Uhlenkott <juhlenko@akamai.com>
-L:	bluesmoke-devel@lists.sourceforge.net (moderated for non-subscribers)
-W:	bluesmoke.sourceforge.net
-S:	Maintained
-F:	drivers/edac/i3000_edac.c
-
-EDAC-I5000
-M:	Doug Thompson <dougthompson@xmission.com>
-L:	bluesmoke-devel@lists.sourceforge.net (moderated for non-subscribers)
-W:	bluesmoke.sourceforge.net
-S:	Maintained
-F:	drivers/edac/i5000_edac.c
-
-EDAC-I5400
-M:	Mauro Carvalho Chehab <mchehab@redhat.com>
-L:	linux-edac@vger.kernel.org
-W:	bluesmoke.sourceforge.net
-S:	Maintained
-F:	drivers/edac/i5400_edac.c
-
-EDAC-I7300
-M:	Mauro Carvalho Chehab <mchehab@redhat.com>
-L:	linux-edac@vger.kernel.org
-W:	bluesmoke.sourceforge.net
-S:	Maintained
-F:	drivers/edac/i7300_edac.c
-
-EDAC-I7CORE
-M:	Mauro Carvalho Chehab <mchehab@redhat.com>
-L:	linux-edac@vger.kernel.org
-W:	bluesmoke.sourceforge.net
-S:	Maintained
-F:	drivers/edac/i7core_edac.c
-F:	drivers/edac/edac_mce.c
-F:	include/linux/edac_mce.h
-
-EDAC-I82975X
-M:	Ranganathan Desikan <ravi@jetztechnologies.com>
-M:	"Arvind R." <arvino55@gmail.com>
-L:	bluesmoke-devel@lists.sourceforge.net (moderated for non-subscribers)
-W:	bluesmoke.sourceforge.net
-S:	Maintained
-F:	drivers/edac/i82975x_edac.c
-
-EDAC-PASEMI
-M:	Egor Martovetsky <egor@pasemi.com>
-L:	bluesmoke-devel@lists.sourceforge.net (moderated for non-subscribers)
-W:	bluesmoke.sourceforge.net
-S:	Maintained
-F:	drivers/edac/pasemi_edac.c
-
-EDAC-R82600
-M:	Tim Small <tim@buttersideup.com>
-L:	bluesmoke-devel@lists.sourceforge.net (moderated for non-subscribers)
-W:	bluesmoke.sourceforge.net
-S:	Maintained
-F:	drivers/edac/r82600_edac.c
-
-EDIROL UA-101/UA-1000 DRIVER
-M:	Clemens Ladisch <clemens@ladisch.de>
-L:	alsa-devel@alsa-project.org (moderated for non-subscribers)
-T:	git git://git.alsa-project.org/alsa-kernel.git
-S:	Maintained
-F:	sound/usb/misc/ua101.c
-
-EFIFB FRAMEBUFFER DRIVER
-L:	linux-fbdev@vger.kernel.org
-M:	Peter Jones <pjones@redhat.com>
-S:	Maintained
-F:	drivers/video/efifb.c
-
-EFS FILESYSTEM
-W:	http://aeschi.ch.eu.org/efs/
-S:	Orphan
-F:	fs/efs/
-
-EHCA (IBM GX bus InfiniBand adapter) DRIVER
-M:	Hoang-Nam Nguyen <hnguyen@de.ibm.com>
-M:	Christoph Raisch <raisch@de.ibm.com>
-L:	linux-rdma@vger.kernel.org
-S:	Supported
-F:	drivers/infiniband/hw/ehca/
-
-EHEA (IBM pSeries eHEA 10Gb ethernet adapter) DRIVER
-M:	Breno Leitao <leitao@linux.vnet.ibm.com>
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	drivers/net/ehea/
-
-EMBEDDED LINUX
-M:	Paul Gortmaker <paul.gortmaker@windriver.com>
-M:	Matt Mackall <mpm@selenic.com>
-M:	David Woodhouse <dwmw2@infradead.org>
-L:	linux-embedded@vger.kernel.org
-S:	Maintained
-
-EMULEX LPFC FC SCSI DRIVER
-M:	James Smart <james.smart@emulex.com>
-L:	linux-scsi@vger.kernel.org
-W:	http://sourceforge.net/projects/lpfcxxxx
-S:	Supported
-F:	drivers/scsi/lpfc/
-
-ENE CB710 FLASH CARD READER DRIVER
-M:	Michał Mirosław <mirq-linux@rere.qmqm.pl>
-S:	Maintained
-F:	drivers/misc/cb710/
-F:	drivers/mmc/host/cb710-mmc.*
-F:	include/linux/cb710.h
-
-ENE KB2426 (ENE0100/ENE020XX) INFRARED RECEIVER
-M:	Maxim Levitsky <maximlevitsky@gmail.com>
-S:	Maintained
-F:	drivers/media/rc/ene_ir.*
-
-EPSON 1355 FRAMEBUFFER DRIVER
-M:	Christopher Hoover <ch@murgatroid.com>
-M:	Christopher Hoover <ch@hpl.hp.com>
-S:	Maintained
-F:	drivers/video/epson1355fb.c
-
-EPSON S1D13XXX FRAMEBUFFER DRIVER
-M:	Kristoffer Ericson <kristoffer.ericson@gmail.com>
-S:	Maintained
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/kristoffer/linux-hpc.git
-F:	drivers/video/s1d13xxxfb.c
-F:	include/video/s1d13xxxfb.h
-
-ETHEREXPRESS-16 NETWORK DRIVER
-M:	Philip Blundell <philb@gnu.org>
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	drivers/net/eexpress.*
-
-ETHERNET BRIDGE
-M:	Stephen Hemminger <shemminger@linux-foundation.org>
-L:	bridge@lists.linux-foundation.org
-L:	netdev@vger.kernel.org
-W:	http://www.linuxfoundation.org/en/Net:Bridge
-S:	Maintained
-F:	include/linux/netfilter_bridge/
-F:	net/bridge/
-
-ETHERTEAM 16I DRIVER
-M:	Mika Kuoppala <miku@iki.fi>
-S:	Maintained
-F:	drivers/net/eth16i.c
-
-EXT2 FILE SYSTEM
-M:	Jan Kara <jack@suse.cz>
-L:	linux-ext4@vger.kernel.org
-S:	Maintained
-F:	Documentation/filesystems/ext2.txt
-F:	fs/ext2/
-F:	include/linux/ext2*
-
-EXT3 FILE SYSTEM
-M:	Jan Kara <jack@suse.cz>
-M:	Andrew Morton <akpm@linux-foundation.org>
-M:	Andreas Dilger <adilger.kernel@dilger.ca>
-L:	linux-ext4@vger.kernel.org
-S:	Maintained
-F:	Documentation/filesystems/ext3.txt
-F:	fs/ext3/
-F:	include/linux/ext3*
-
-EXT4 FILE SYSTEM
-M:	"Theodore Ts'o" <tytso@mit.edu>
-M:	Andreas Dilger <adilger.kernel@dilger.ca>
-L:	linux-ext4@vger.kernel.org
-W:	http://ext4.wiki.kernel.org
-Q:	http://patchwork.ozlabs.org/project/linux-ext4/list/
-S:	Maintained
-F:	Documentation/filesystems/ext4.txt
-F:	fs/ext4/
-
-F71805F HARDWARE MONITORING DRIVER
-M:	Jean Delvare <khali@linux-fr.org>
-L:	lm-sensors@lm-sensors.org
-S:	Maintained
-F:	Documentation/hwmon/f71805f
-F:	drivers/hwmon/f71805f.c
-
-FANOTIFY
-M:	Eric Paris <eparis@redhat.com>
-S:	Maintained
-F:	fs/notify/fanotify/
-F:	include/linux/fanotify.h
-
-FARSYNC SYNCHRONOUS DRIVER
-M:	Kevin Curtis <kevin.curtis@farsite.co.uk>
-W:	http://www.farsite.co.uk/
-S:	Supported
-F:	drivers/net/wan/farsync.*
-
-FAULT INJECTION SUPPORT
-M:	Akinobu Mita <akinobu.mita@gmail.com>
-S:	Supported
-F:	Documentation/fault-injection/
-F:	lib/fault-inject.c
-
-FCOE SUBSYSTEM (libfc, libfcoe, fcoe)
-M:	Robert Love <robert.w.love@intel.com>
-L:	devel@open-fcoe.org
-W:	www.Open-FCoE.org
-S:	Supported
-F:	drivers/scsi/libfc/
-F:	drivers/scsi/fcoe/
-F:	include/scsi/fc/
-F:	include/scsi/libfc.h
-F:	include/scsi/libfcoe.h
-
-FILE LOCKING (flock() and fcntl()/lockf())
-M:	Matthew Wilcox <matthew@wil.cx>
-L:	linux-fsdevel@vger.kernel.org
-S:	Maintained
-F:	include/linux/fcntl.h
-F:	include/linux/fs.h
-F:	fs/fcntl.c
-F:	fs/locks.c
-
-FILESYSTEMS (VFS and infrastructure)
-M:	Alexander Viro <viro@zeniv.linux.org.uk>
-L:	linux-fsdevel@vger.kernel.org
-S:	Maintained
-F:	fs/*
-
-FINTEK F75375S HARDWARE MONITOR AND FAN CONTROLLER DRIVER
-M:	Riku Voipio <riku.voipio@iki.fi>
-L:	lm-sensors@lm-sensors.org
-S:	Maintained
-F:	drivers/hwmon/f75375s.c
-F:	include/linux/f75375s.h
-
-FIREWIRE SUBSYSTEM
-M:	Stefan Richter <stefanr@s5r6.in-berlin.de>
-L:	linux1394-devel@lists.sourceforge.net
-W:	http://ieee1394.wiki.kernel.org/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6.git
-S:	Maintained
-F:	drivers/firewire/
-F:	include/linux/firewire*.h
-F:	tools/firewire/
-
-FIRMWARE LOADER (request_firmware)
-S:	Orphan
-F:	Documentation/firmware_class/
-F:	drivers/base/firmware*.c
-F:	include/linux/firmware.h
-
-FPU EMULATOR
-M:	Bill Metzenthen <billm@melbpc.org.au>
-W:	http://floatingpoint.sourceforge.net/emulator/index.html
-S:	Maintained
-F:	arch/x86/math-emu/
-
-FRAME RELAY DLCI/FRAD (Sangoma drivers too)
-M:	Mike McLagan <mike.mclagan@linux.org>
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	drivers/net/wan/dlci.c
-F:	drivers/net/wan/sdla.c
-
-FRAMEBUFFER LAYER
-M:	Paul Mundt <lethal@linux-sh.org>
-L:	linux-fbdev@vger.kernel.org
-W:	http://linux-fbdev.sourceforge.net/
-Q:	http://patchwork.kernel.org/project/linux-fbdev/list/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-2.6.git
-S:	Maintained
-F:	Documentation/fb/
-F:	Documentation/devicetree/bindings/fb/
-F:	drivers/video/
-F:	include/video/
-F:	include/linux/fb.h
-
-FREESCALE DMA DRIVER
-M:	Li Yang <leoli@freescale.com>
-M:	Zhang Wei <zw@zh-kernel.org>
-L:	linuxppc-dev@lists.ozlabs.org
-S:	Maintained
-F:	drivers/dma/fsldma.*
-
-FREESCALE I2C CPM DRIVER
-M:	Jochen Friedrich <jochen@scram.de>
-L:	linuxppc-dev@lists.ozlabs.org
-L:	linux-i2c@vger.kernel.org
-S:	Maintained
-F:	drivers/i2c/busses/i2c-cpm.c
-
-FREESCALE IMX / MXC FRAMEBUFFER DRIVER
-M:	Sascha Hauer <kernel@pengutronix.de>
-L:	linux-fbdev@vger.kernel.org
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-F:	arch/arm/plat-mxc/include/mach/imxfb.h
-F:	drivers/video/imxfb.c
-
-FREESCALE SOC FS_ENET DRIVER
-M:	Pantelis Antoniou <pantelis.antoniou@gmail.com>
-M:	Vitaly Bordug <vbordug@ru.mvista.com>
-L:	linuxppc-dev@lists.ozlabs.org
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	drivers/net/fs_enet/
-F:	include/linux/fs_enet_pd.h
-
-FREESCALE QUICC ENGINE LIBRARY
-M:	Timur Tabi <timur@freescale.com>
-L:	linuxppc-dev@lists.ozlabs.org
-S:	Supported
-F:	arch/powerpc/sysdev/qe_lib/
-F:	arch/powerpc/include/asm/*qe.h
-
-FREESCALE USB PERIPHERAL DRIVERS
-M:	Li Yang <leoli@freescale.com>
-L:	linux-usb@vger.kernel.org
-L:	linuxppc-dev@lists.ozlabs.org
-S:	Maintained
-F:	drivers/usb/gadget/fsl*
-
-FREESCALE QUICC ENGINE UCC ETHERNET DRIVER
-M:	Li Yang <leoli@freescale.com>
-L:	netdev@vger.kernel.org
-L:	linuxppc-dev@lists.ozlabs.org
-S:	Maintained
-F:	drivers/net/ucc_geth*
-
-FREESCALE QUICC ENGINE UCC UART DRIVER
-M:	Timur Tabi <timur@freescale.com>
-L:	linuxppc-dev@lists.ozlabs.org
-S:	Supported
-F:	drivers/tty/serial/ucc_uart.c
-
-FREESCALE SOC SOUND DRIVERS
-M:	Timur Tabi <timur@freescale.com>
-L:	alsa-devel@alsa-project.org (moderated for non-subscribers)
-L:	linuxppc-dev@lists.ozlabs.org
-S:	Supported
-F:	sound/soc/fsl/fsl*
-F:	sound/soc/fsl/mpc8610_hpcd.c
-
-FREEVXFS FILESYSTEM
-M:	Christoph Hellwig <hch@infradead.org>
-W:	ftp://ftp.openlinux.org/pub/people/hch/vxfs
-S:	Maintained
-F:	fs/freevxfs/
-
-FREEZER
-M:	Pavel Machek <pavel@ucw.cz>
-M:	"Rafael J. Wysocki" <rjw@sisk.pl>
-L:	linux-pm@lists.linux-foundation.org
-S:	Supported
-F:	Documentation/power/freezing-of-tasks.txt
-F:	include/linux/freezer.h
-F:	kernel/freezer.c
-
-FS-CACHE: LOCAL CACHING FOR NETWORK FILESYSTEMS
-M:	David Howells <dhowells@redhat.com>
-L:	linux-cachefs@redhat.com
-S:	Supported
-F:	Documentation/filesystems/caching/
-F:	fs/fscache/
-F:	include/linux/fscache*.h
-
-FUJITSU FR-V (FRV) PORT
-M:	David Howells <dhowells@redhat.com>
-S:	Maintained
-F:	arch/frv/
-
-FUJITSU LAPTOP EXTRAS
-M:	Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
-L:	platform-driver-x86@vger.kernel.org
-S:	Maintained
-F:	drivers/platform/x86/fujitsu-laptop.c
-
-FUSE: FILESYSTEM IN USERSPACE
-M:	Miklos Szeredi <miklos@szeredi.hu>
-L:	fuse-devel@lists.sourceforge.net
-W:	http://fuse.sourceforge.net/
-S:	Maintained
-F:	fs/fuse/
-F:	include/linux/fuse.h
-
-FUTURE DOMAIN TMC-16x0 SCSI DRIVER (16-bit)
-M:	Rik Faith <faith@cs.unc.edu>
-L:	linux-scsi@vger.kernel.org
-S:	Odd Fixes (e.g., new signatures)
-F:	drivers/scsi/fdomain.*
-
-GDT SCSI DISK ARRAY CONTROLLER DRIVER
-M:	Achim Leubner <achim_leubner@adaptec.com>
-L:	linux-scsi@vger.kernel.org
-W:	http://www.icp-vortex.com/
-S:	Supported
-F:	drivers/scsi/gdt*
-
-GENERIC GPIO I2C DRIVER
-M:	Haavard Skinnemoen <hskinnemoen@gmail.com>
-S:	Supported
-F:	drivers/i2c/busses/i2c-gpio.c
-F:	include/linux/i2c-gpio.h
-
-GENERIC GPIO I2C MULTIPLEXER DRIVER
-M:	Peter Korsgaard <peter.korsgaard@barco.com>
-L:	linux-i2c@vger.kernel.org
-S:	Supported
-F:	drivers/i2c/muxes/gpio-i2cmux.c
-F:	include/linux/gpio-i2cmux.h
-F:	Documentation/i2c/muxes/gpio-i2cmux
-
-GENERIC HDLC (WAN) DRIVERS
-M:	Krzysztof Halasa <khc@pm.waw.pl>
-W:	http://www.kernel.org/pub/linux/utils/net/hdlc/
-S:	Maintained
-F:	drivers/net/wan/c101.c
-F:	drivers/net/wan/hd6457*
-F:	drivers/net/wan/hdlc*
-F:	drivers/net/wan/n2.c
-F:	drivers/net/wan/pc300too.c
-F:	drivers/net/wan/pci200syn.c
-F:	drivers/net/wan/wanxl*
-
-GENERIC INCLUDE/ASM HEADER FILES
-M:	Arnd Bergmann <arnd@arndb.de>
-L:	linux-arch@vger.kernel.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic.git
-S:	Maintained
-F:	include/asm-generic
-
-GENERIC UIO DRIVER FOR PCI DEVICES
-M:	"Michael S. Tsirkin" <mst@redhat.com>
-L:	kvm@vger.kernel.org
-S:	Supported
-F:	drivers/uio/uio_pci_generic.c
-
-GFS2 FILE SYSTEM
-M:	Steven Whitehouse <swhiteho@redhat.com>
-L:	cluster-devel@redhat.com
-W:	http://sources.redhat.com/cluster/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes.git
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw.git
-S:	Supported
-F:	Documentation/filesystems/gfs2*.txt
-F:	fs/gfs2/
-F:	include/linux/gfs2_ondisk.h
-
-GIGASET ISDN DRIVERS
-M:	Hansjoerg Lipp <hjlipp@web.de>
-M:	Tilman Schmidt <tilman@imap.cc>
-L:	gigaset307x-common@lists.sourceforge.net
-W:	http://gigaset307x.sourceforge.net/
-S:	Maintained
-F:	Documentation/isdn/README.gigaset
-F:	drivers/isdn/gigaset/
-F:	include/linux/gigaset_dev.h
-
-GPIO SUBSYSTEM
-M:	Grant Likely <grant.likely@secretlab.ca>
-S:	Maintained
-T:	git git://git.secretlab.ca/git/linux-2.6.git
-F:	Documentation/gpio.txt
-F:	drivers/gpio/
-F:	include/linux/gpio*
-
-GRE DEMULTIPLEXER DRIVER
-M:	Dmitry Kozlov <xeb@mail.ru>
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	net/ipv4/gre.c
-F:	include/net/gre.h
-
-GRETH 10/100/1G Ethernet MAC device driver
-M:	Kristoffer Glembo <kristoffer@gaisler.com>
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	drivers/net/greth*
-
-GSPCA FINEPIX SUBDRIVER
-M:	Frank Zago <frank@zago.net>
-L:	linux-media@vger.kernel.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
-S:	Maintained
-F:	drivers/media/video/gspca/finepix.c
-
-GSPCA GL860 SUBDRIVER
-M:	Olivier Lorin <o.lorin@laposte.net>
-L:	linux-media@vger.kernel.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
-S:	Maintained
-F:	drivers/media/video/gspca/gl860/
-
-GSPCA M5602 SUBDRIVER
-M:	Erik Andren <erik.andren@gmail.com>
-L:	linux-media@vger.kernel.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
-S:	Maintained
-F:	drivers/media/video/gspca/m5602/
-
-GSPCA PAC207 SONIXB SUBDRIVER
-M:	Hans de Goede <hdegoede@redhat.com>
-L:	linux-media@vger.kernel.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
-S:	Maintained
-F:	drivers/media/video/gspca/pac207.c
-
-GSPCA SN9C20X SUBDRIVER
-M:	Brian Johnson <brijohn@gmail.com>
-L:	linux-media@vger.kernel.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
-S:	Maintained
-F:	drivers/media/video/gspca/sn9c20x.c
-
-GSPCA T613 SUBDRIVER
-M:	Leandro Costantino <lcostantino@gmail.com>
-L:	linux-media@vger.kernel.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
-S:	Maintained
-F:	drivers/media/video/gspca/t613.c
-
-GSPCA USB WEBCAM DRIVER
-M:	Jean-Francois Moine <moinejf@free.fr>
-W:	http://moinejf.free.fr
-L:	linux-media@vger.kernel.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
-S:	Maintained
-F:	drivers/media/video/gspca/
-
-HARD DRIVE ACTIVE PROTECTION SYSTEM (HDAPS) DRIVER
-M:	Frank Seidel <frank@f-seidel.de>
-L:	platform-driver-x86@vger.kernel.org
-W:	http://www.kernel.org/pub/linux/kernel/people/fseidel/hdaps/
-S:	Maintained
-F:	drivers/platform/x86/hdaps.c
-
-HWPOISON MEMORY FAILURE HANDLING
-M:	Andi Kleen <andi@firstfloor.org>
-L:	linux-mm@kvack.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6.git hwpoison
-S:	Maintained
-F:	mm/memory-failure.c
-F:	mm/hwpoison-inject.c
-
-HYPERVISOR VIRTUAL CONSOLE DRIVER
-L:	linuxppc-dev@lists.ozlabs.org
-S:	Odd Fixes
-F:	drivers/tty/hvc/
-
-HARDWARE MONITORING
-M:	Jean Delvare <khali@linux-fr.org>
-M:	Guenter Roeck <guenter.roeck@ericsson.com>
-L:	lm-sensors@lm-sensors.org
-W:	http://www.lm-sensors.org/
-T:	quilt kernel.org/pub/linux/kernel/people/jdelvare/linux-2.6/jdelvare-hwmon/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git
-S:	Maintained
-F:	Documentation/hwmon/
-F:	drivers/hwmon/
-F:	include/linux/hwmon*.h
-
-HARDWARE RANDOM NUMBER GENERATOR CORE
-M:	Matt Mackall <mpm@selenic.com>
-M:	Herbert Xu <herbert@gondor.apana.org.au>
-S:	Odd fixes
-F:	Documentation/hw_random.txt
-F:	drivers/char/hw_random/
-F:	include/linux/hw_random.h
-
-HARMONY SOUND DRIVER
-M:	Kyle McMartin <kyle@mcmartin.ca>
-L:	linux-parisc@vger.kernel.org
-S:	Maintained
-F:	sound/parisc/harmony.*
-
-HEWLETT-PACKARD SMART2 RAID DRIVER
-M:	Chirag Kantharia <chirag.kantharia@hp.com>
-L:	iss_storagedev@hp.com
-S:	Maintained
-F:	Documentation/blockdev/cpqarray.txt
-F:	drivers/block/cpqarray.*
-
-HEWLETT-PACKARD SMART ARRAY RAID DRIVER (hpsa)
-M:	"Stephen M. Cameron" <scameron@beardog.cce.hp.com>
-L:	iss_storagedev@hp.com
-S:	Supported
-F:	Documentation/scsi/hpsa.txt
-F:	drivers/scsi/hpsa*.[ch]
-F:	include/linux/cciss*.h
-
-HEWLETT-PACKARD SMART CISS RAID DRIVER (cciss)
-M:	Mike Miller <mike.miller@hp.com>
-L:	iss_storagedev@hp.com
-S:	Supported
-F:	Documentation/blockdev/cciss.txt
-F:	drivers/block/cciss*
-F:	include/linux/cciss_ioctl.h
-
-HFS FILESYSTEM
-M:	Roman Zippel <zippel@linux-m68k.org>
-S:	Maintained
-F:	Documentation/filesystems/hfs.txt
-F:	fs/hfs/
-
-HGA FRAMEBUFFER DRIVER
-M:	Ferenc Bakonyi <fero@drama.obuda.kando.hu>
-L:	linux-nvidia@lists.surfsouth.com
-W:	http://drama.obuda.kando.hu/~fero/cgi-bin/hgafb.shtml
-S:	Maintained
-F:	drivers/video/hgafb.c
-
-HIBERNATION (aka Software Suspend, aka swsusp)
-M:	Pavel Machek <pavel@ucw.cz>
-M:	"Rafael J. Wysocki" <rjw@sisk.pl>
-L:	linux-pm@lists.linux-foundation.org
-S:	Supported
-F:	arch/x86/power/
-F:	drivers/base/power/
-F:	kernel/power/
-F:	include/linux/suspend.h
-F:	include/linux/freezer.h
-F:	include/linux/pm.h
-F:	arch/*/include/asm/suspend*.h
-
-HID CORE LAYER
-M:	Jiri Kosina <jkosina@suse.cz>
-L:	linux-input@vger.kernel.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git
-S:	Maintained
-F:	drivers/hid/
-F:	include/linux/hid*
-
-HIGH-RESOLUTION TIMERS, CLOCKEVENTS, DYNTICKS
-M:	Thomas Gleixner <tglx@linutronix.de>
-S:	Maintained
-F:	Documentation/timers/
-F:	kernel/hrtimer.c
-F:	kernel/time/clockevents.c
-F:	kernel/time/tick*.*
-F:	kernel/time/timer_*.c
-F:	include/linux/clockevents.h
-F:	include/linux/hrtimer.h
-
-HIGH-SPEED SCC DRIVER FOR AX.25
-M:	Klaus Kudielka <klaus.kudielka@ieee.org>
-L:	linux-hams@vger.kernel.org
-W:	http://www.nt.tuwien.ac.at/~kkudielk/Linux/
-S:	Maintained
-F:	drivers/net/hamradio/dmascc.c
-F:	drivers/net/hamradio/scc.c
-
-HIGHPOINT ROCKETRAID 3xxx RAID DRIVER
-M:	HighPoint Linux Team <linux@highpoint-tech.com>
-W:	http://www.highpoint-tech.com
-S:	Supported
-F:	Documentation/scsi/hptiop.txt
-F:	drivers/scsi/hptiop.c
-
-HIPPI
-M:	Jes Sorensen <jes@trained-monkey.org>
-L:	linux-hippi@sunsite.dk
-S:	Maintained
-F:	include/linux/hippidevice.h
-F:	include/linux/if_hippi.h
-F:	net/802/hippi.c
-
-HOST AP DRIVER
-M:	Jouni Malinen <j@w1.fi>
-L:	hostap@shmoo.com (subscribers-only)
-L:	linux-wireless@vger.kernel.org
-W:	http://hostap.epitest.fi/
-S:	Maintained
-F:	drivers/net/wireless/hostap/
-
-HP COMPAQ TC1100 TABLET WMI EXTRAS DRIVER
-M:	Carlos Corbacho <carlos@strangeworlds.co.uk>
-L:	platform-driver-x86@vger.kernel.org
-S:	Odd Fixes
-F:	drivers/platform/x86/tc1100-wmi.c
-
-HP100:	Driver for HP 10/100 Mbit/s Voice Grade Network Adapter Series
-M:	Jaroslav Kysela <perex@perex.cz>
-S:	Maintained
-F:	drivers/net/hp100.*
-
-HPET:	High Precision Event Timers driver
-M:	Clemens Ladisch <clemens@ladisch.de>
-S:	Maintained
-F:	Documentation/timers/hpet.txt
-F:	drivers/char/hpet.c
-F:	include/linux/hpet.h
-
-HPET:	x86
-M:	"Venkatesh Pallipadi (Venki)" <venki@google.com>
-S:	Maintained
-F:	arch/x86/kernel/hpet.c
-F:	arch/x86/include/asm/hpet.h
-
-HPFS FILESYSTEM
-M:	Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
-W:	http://artax.karlin.mff.cuni.cz/~mikulas/vyplody/hpfs/index-e.cgi
-S:	Maintained
-F:	fs/hpfs/
-
-HSO 3G MODEM DRIVER
-M:	Jan Dumon <j.dumon@option.com>
-W:	http://www.pharscape.org
-S:	Maintained
-F:	drivers/net/usb/hso.c
-
-HTCPEN TOUCHSCREEN DRIVER
-M:	Pau Oliva Fora <pof@eslack.org>
-L:	linux-input@vger.kernel.org
-S:	Maintained
-F:	drivers/input/touchscreen/htcpen.c
-
-HUGETLB FILESYSTEM
-M:	William Irwin <wli@holomorphy.com>
-S:	Maintained
-F:	fs/hugetlbfs/
-
-I2C/SMBUS STUB DRIVER
-M:	"Mark M. Hoffman" <mhoffman@lightlink.com>
-L:	linux-i2c@vger.kernel.org
-S:	Maintained
-F:	drivers/i2c/busses/i2c-stub.c
-
-I2C SUBSYSTEM
-M:	"Jean Delvare (PC drivers, core)" <khali@linux-fr.org>
-M:	"Ben Dooks (embedded platforms)" <ben-linux@fluff.org>
-L:	linux-i2c@vger.kernel.org
-W:	http://i2c.wiki.kernel.org/
-T:	quilt kernel.org/pub/linux/kernel/people/jdelvare/linux-2.6/jdelvare-i2c/
-T:	git git://git.fluff.org/bjdooks/linux.git
-S:	Maintained
-F:	Documentation/i2c/
-F:	drivers/i2c/
-F:	include/linux/i2c.h
-F:	include/linux/i2c-*.h
-
-I2C-TINY-USB DRIVER
-M:	Till Harbaum <till@harbaum.org>
-L:	linux-i2c@vger.kernel.org
-W:	http://www.harbaum.org/till/i2c_tiny_usb
-S:	Maintained
-F:	drivers/i2c/busses/i2c-tiny-usb.c
-
-i386 BOOT CODE
-M:	"H. Peter Anvin" <hpa@zytor.com>
-S:	Maintained
-F:	arch/x86/boot/
-
-i386 SETUP CODE / CPU ERRATA WORKAROUNDS
-M:	"H. Peter Anvin" <hpa@zytor.com>
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-x86setup.git
-S:	Maintained
-
-IA64 (Itanium) PLATFORM
-M:	Tony Luck <tony.luck@intel.com>
-M:	Fenghua Yu <fenghua.yu@intel.com>
-L:	linux-ia64@vger.kernel.org
-W:	http://www.ia64-linux.org/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git
-S:	Maintained
-F:	arch/ia64/
-
-IBM MCA SCSI SUBSYSTEM DRIVER
-M:	Michael Lang <langa2@kph.uni-mainz.de>
-W:	http://www.uni-mainz.de/~langm000/linux.html
-S:	Maintained
-F:	drivers/scsi/ibmmca.c
-
-IBM Power Linux RAID adapter
-M:	Brian King <brking@us.ibm.com>
-S:	Supported
-F:	drivers/scsi/ipr.*
-
-IBM Power Virtual Ethernet Device Driver
-M:	Santiago Leon <santil@linux.vnet.ibm.com>
-L:	netdev@vger.kernel.org
-S:	Supported
-F:	drivers/net/ibmveth.*
-
-IBM ServeRAID RAID DRIVER
-P:	Jack Hammer
-M:	Dave Jeffery <ipslinux@adaptec.com>
-W:	http://www.developer.ibm.com/welcome/netfinity/serveraid.html
-S:	Supported
-F:	drivers/scsi/ips.*
-
-IDE SUBSYSTEM
-M:	"David S. Miller" <davem@davemloft.net>
-L:	linux-ide@vger.kernel.org
-Q:	http://patchwork.ozlabs.org/project/linux-ide/list/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6.git
-S:	Maintained
-F:	Documentation/ide/
-F:	drivers/ide/
-F:	include/linux/ide.h
-
-IDE/ATAPI DRIVERS
-M:	Borislav Petkov <petkovbb@gmail.com>
-L:	linux-ide@vger.kernel.org
-S:	Maintained
-F:	Documentation/cdrom/ide-cd
-F:	drivers/ide/ide-cd*
-
-IDLE-I7300
-M:	Andy Henroid <andrew.d.henroid@intel.com>
-L:	linux-pm@lists.linux-foundation.org
-S:	Supported
-F:	drivers/idle/i7300_idle.c
-
-IEEE 802.15.4 SUBSYSTEM
-M:	Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
-M:	Sergey Lapin <slapin@ossfans.org>
-L:	linux-zigbee-devel@lists.sourceforge.net (moderated for non-subscribers)
-W:	http://apps.sourceforge.net/trac/linux-zigbee
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/lowpan/lowpan.git
-S:	Maintained
-F:	net/ieee802154/
-F:	drivers/ieee802154/
-
-IKANOS/ADI EAGLE ADSL USB DRIVER
-M:	Matthieu Castet <castet.matthieu@free.fr>
-M:	Stanislaw Gruszka <stf_xl@wp.pl>
-S:	Maintained
-F:	drivers/usb/atm/ueagle-atm.c
-
-INTEGRITY MEASUREMENT ARCHITECTURE (IMA)
-M:	Mimi Zohar <zohar@us.ibm.com>
-S:	Supported
-F:	security/integrity/ima/
-
-IMS TWINTURBO FRAMEBUFFER DRIVER
-L:	linux-fbdev@vger.kernel.org
-S:	Orphan
-F:	drivers/video/imsttfb.c
-
-INFINIBAND SUBSYSTEM
-M:	Roland Dreier <roland@kernel.org>
-M:	Sean Hefty <sean.hefty@intel.com>
-M:	Hal Rosenstock <hal.rosenstock@gmail.com>
-L:	linux-rdma@vger.kernel.org
-W:	http://www.openfabrics.org/
-Q:	http://patchwork.kernel.org/project/linux-rdma/list/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband.git
-S:	Supported
-F:	Documentation/infiniband/
-F:	drivers/infiniband/
-F:	include/linux/if_infiniband.h
-
-INOTIFY
-M:	John McCutchan <john@johnmccutchan.com>
-M:	Robert Love <rlove@rlove.org>
-M:	Eric Paris <eparis@parisplace.org>
-S:	Maintained
-F:	Documentation/filesystems/inotify.txt
-F:	fs/notify/inotify/
-F:	include/linux/inotify.h
-
-INPUT (KEYBOARD, MOUSE, JOYSTICK, TOUCHSCREEN) DRIVERS
-M:	Dmitry Torokhov <dmitry.torokhov@gmail.com>
-M:	Dmitry Torokhov <dtor@mail.ru>
-L:	linux-input@vger.kernel.org
-Q:	http://patchwork.kernel.org/project/linux-input/list/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git
-S:	Maintained
-F:	drivers/input/
-
-INPUT MULTITOUCH (MT) PROTOCOL
-M:	Henrik Rydberg <rydberg@euromail.se>
-L:	linux-input@vger.kernel.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/rydberg/input-mt.git
-S:	Maintained
-F:	Documentation/input/multi-touch-protocol.txt
-F:	drivers/input/input-mt.c
-K:	\b(ABS|SYN)_MT_
-
-INTEL IDLE DRIVER
-M:	Len Brown <lenb@kernel.org>
-L:	linux-pm@lists.linux-foundation.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6.git
-S:	Supported
-F:	drivers/idle/intel_idle.c
-
-INTEL FRAMEBUFFER DRIVER (excluding 810 and 815)
-M:	Maik Broemme <mbroemme@plusserver.de>
-L:	linux-fbdev@vger.kernel.org
-S:	Maintained
-F:	Documentation/fb/intelfb.txt
-F:	drivers/video/intelfb/
-
-INTEL 810/815 FRAMEBUFFER DRIVER
-M:	Antonino Daplas <adaplas@gmail.com>
-L:	linux-fbdev@vger.kernel.org
-S:	Maintained
-F:	drivers/video/i810/
-
-INTEL MENLOW THERMAL DRIVER
-M:	Sujith Thomas <sujith.thomas@intel.com>
-L:	platform-driver-x86@vger.kernel.org
-W:	http://www.lesswatts.org/projects/acpi/
-S:	Supported
-F:	drivers/platform/x86/intel_menlow.c
-
-INTEL IA32 MICROCODE UPDATE SUPPORT
-M:	Tigran Aivazian <tigran@aivazian.fsnet.co.uk>
-S:	Maintained
-F:	arch/x86/kernel/microcode_core.c
-F:	arch/x86/kernel/microcode_intel.c
-
-INTEL I/OAT DMA DRIVER
-M:	Dan Williams <dan.j.williams@intel.com>
-S:	Supported
-F:	drivers/dma/ioat*
-
-INTEL IOMMU (VT-d)
-M:	David Woodhouse <dwmw2@infradead.org>
-L:	iommu@lists.linux-foundation.org
-T:	git git://git.infradead.org/iommu-2.6.git
-S:	Supported
-F:	drivers/pci/intel-iommu.c
-F:	include/linux/intel-iommu.h
-
-INTEL IOP-ADMA DMA DRIVER
-M:	Dan Williams <dan.j.williams@intel.com>
-S:	Maintained
-F:	drivers/dma/iop-adma.c
-
-INTEL IXP4XX QMGR, NPE, ETHERNET and HSS SUPPORT
-M:	Krzysztof Halasa <khc@pm.waw.pl>
-S:	Maintained
-F:	arch/arm/mach-ixp4xx/include/mach/qmgr.h
-F:	arch/arm/mach-ixp4xx/include/mach/npe.h
-F:	arch/arm/mach-ixp4xx/ixp4xx_qmgr.c
-F:	arch/arm/mach-ixp4xx/ixp4xx_npe.c
-F:	drivers/net/arm/ixp4xx_eth.c
-F:	drivers/net/wan/ixp4xx_hss.c
-
-INTEL IXP4XX RANDOM NUMBER GENERATOR SUPPORT
-M:	Deepak Saxena <dsaxena@plexity.net>
-S:	Maintained
-F:	drivers/char/hw_random/ixp4xx-rng.c
-
-INTEL IXP2000 ETHERNET DRIVER
-M:	Lennert Buytenhek <kernel@wantstofly.org>
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	drivers/net/ixp2000/
-
-INTEL ETHERNET DRIVERS (e100/e1000/e1000e/igb/igbvf/ixgb/ixgbe/ixgbevf)
-M:	Jeff Kirsher <jeffrey.t.kirsher@intel.com>
-M:	Jesse Brandeburg <jesse.brandeburg@intel.com>
-M:	Bruce Allan <bruce.w.allan@intel.com>
-M:	Carolyn Wyborny <carolyn.wyborny@intel.com>
-M:	Don Skidmore <donald.c.skidmore@intel.com>
-M:	Greg Rose <gregory.v.rose@intel.com>
-M:	PJ Waskiewicz <peter.p.waskiewicz.jr@intel.com>
-M:	Alex Duyck <alexander.h.duyck@intel.com>
-M:	John Ronciak <john.ronciak@intel.com>
-L:	e1000-devel@lists.sourceforge.net
-W:	http://e1000.sourceforge.net/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-2.6.git
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next-2.6.git
-S:	Supported
-F:	Documentation/networking/e100.txt
-F:	Documentation/networking/e1000.txt
-F:	Documentation/networking/e1000e.txt
-F:	Documentation/networking/igb.txt
-F:	Documentation/networking/igbvf.txt
-F:	Documentation/networking/ixgb.txt
-F:	Documentation/networking/ixgbe.txt
-F:	Documentation/networking/ixgbevf.txt
-F:	drivers/net/e100.c
-F:	drivers/net/e1000/
-F:	drivers/net/e1000e/
-F:	drivers/net/igb/
-F:	drivers/net/igbvf/
-F:	drivers/net/ixgb/
-F:	drivers/net/ixgbe/
-F:	drivers/net/ixgbevf/
-
-INTEL PRO/WIRELESS 2100 NETWORK CONNECTION SUPPORT
-L:	linux-wireless@vger.kernel.org
-S:	Orphan
-F:	Documentation/networking/README.ipw2100
-F:	drivers/net/wireless/ipw2x00/ipw2100.*
-
-INTEL PRO/WIRELESS 2915ABG NETWORK CONNECTION SUPPORT
-L:	linux-wireless@vger.kernel.org
-S:	Orphan
-F:	Documentation/networking/README.ipw2200
-F:	drivers/net/wireless/ipw2x00/ipw2200.*
-
-INTEL(R) TRUSTED EXECUTION TECHNOLOGY (TXT)
-M:	Joseph Cihula <joseph.cihula@intel.com>
-M:	Shane Wang <shane.wang@intel.com>
-L:	tboot-devel@lists.sourceforge.net
-W:	http://tboot.sourceforge.net
-T:	Mercurial http://www.bughost.org/repos.hg/tboot.hg
-S:	Supported
-F:	Documentation/intel_txt.txt
-F:	include/linux/tboot.h
-F:	arch/x86/kernel/tboot.c
-
-INTEL WIRELESS WIMAX CONNECTION 2400
-M:	Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
-M:	linux-wimax@intel.com
-L:	wimax@linuxwimax.org
-S:	Supported
-W:	http://linuxwimax.org
-F:	Documentation/wimax/README.i2400m
-F:	drivers/net/wimax/i2400m/
-F:	include/linux/wimax/i2400m.h
-
-INTEL WIRELESS WIFI LINK (iwlwifi)
-M:	Wey-Yi Guy <wey-yi.w.guy@intel.com>
-M:	Intel Linux Wireless <ilw@linux.intel.com>
-L:	linux-wireless@vger.kernel.org
-W:	http://intellinuxwireless.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6.git
-S:	Supported
-F:	drivers/net/wireless/iwlwifi/
-
-INTEL WIRELESS MULTICOMM 3200 WIFI (iwmc3200wifi)
-M:	Samuel Ortiz <samuel.ortiz@intel.com>
-M:	Intel Linux Wireless <ilw@linux.intel.com>
-L:	linux-wireless@vger.kernel.org
-S:	Supported
-W:	http://wireless.kernel.org/en/users/Drivers/iwmc3200wifi
-F:	drivers/net/wireless/iwmc3200wifi/
-
-IOC3 ETHERNET DRIVER
-M:	Ralf Baechle <ralf@linux-mips.org>
-L:	linux-mips@linux-mips.org
-S:	Maintained
-F:	drivers/net/ioc3-eth.c
-
-IOC3 SERIAL DRIVER
-M:	Pat Gefre <pfg@sgi.com>
-L:	linux-serial@vger.kernel.org
-S:	Maintained
-F:	drivers/tty/serial/ioc3_serial.c
-
-IP MASQUERADING
-M:	Juanjo Ciarlante <jjciarla@raiz.uncu.edu.ar>
-S:	Maintained
-F:	net/ipv4/netfilter/ipt_MASQUERADE.c
-
-IP1000A 10/100/1000 GIGABIT ETHERNET DRIVER
-M:	Francois Romieu <romieu@fr.zoreil.com>
-M:	Sorbica Shieh <sorbica@icplus.com.tw>
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	drivers/net/ipg.*
-
-IPATH DRIVER
-M:	Ralph Campbell <infinipath@qlogic.com>
-L:	linux-rdma@vger.kernel.org
-T:	git git://git.qlogic.com/ipath-linux-2.6
-S:	Supported
-F:	drivers/infiniband/hw/ipath/
-
-IPMI SUBSYSTEM
-M:	Corey Minyard <minyard@acm.org>
-L:	openipmi-developer@lists.sourceforge.net (moderated for non-subscribers)
-W:	http://openipmi.sourceforge.net/
-S:	Supported
-F:	Documentation/IPMI.txt
-F:	drivers/char/ipmi/
-F:	include/linux/ipmi*
-
-IPS SCSI RAID DRIVER
-M:	Adaptec OEM Raid Solutions <aacraid@adaptec.com>
-L:	linux-scsi@vger.kernel.org
-W:	http://www.adaptec.com/
-S:	Maintained
-F:	drivers/scsi/ips*
-
-IPVS
-M:	Wensong Zhang <wensong@linux-vs.org>
-M:	Simon Horman <horms@verge.net.au>
-M:	Julian Anastasov <ja@ssi.bg>
-L:	netdev@vger.kernel.org
-L:	lvs-devel@vger.kernel.org
-S:	Maintained
-F:	Documentation/networking/ipvs-sysctl.txt
-F:	include/net/ip_vs.h
-F:	include/linux/ip_vs.h
-F:	net/netfilter/ipvs/
-
-IPWIRELESS DRIVER
-M:	Jiri Kosina <jkosina@suse.cz>
-M:	David Sterba <dsterba@suse.cz>
-S:	Maintained
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/ipwireless_cs.git
-F:	drivers/tty/ipwireless/
-
-IPX NETWORK LAYER
-M:	Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	include/linux/ipx.h
-F:	include/net/ipx.h
-F:	net/ipx/
-
-IRDA SUBSYSTEM
-M:	Samuel Ortiz <samuel@sortiz.org>
-L:	irda-users@lists.sourceforge.net (subscribers-only)
-L:	netdev@vger.kernel.org
-W:	http://irda.sourceforge.net/
-S:	Maintained
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/sameo/irda-2.6.git
-F:	Documentation/networking/irda.txt
-F:	drivers/net/irda/
-F:	include/net/irda/
-F:	net/irda/
-
-IRQ SUBSYSTEM
-M:	Thomas Gleixner <tglx@linutronix.de>
-S:	Maintained
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git irq/core
-F:	kernel/irq/
-
-ISAPNP
-M:	Jaroslav Kysela <perex@perex.cz>
-S:	Maintained
-F:	Documentation/isapnp.txt
-F:	drivers/pnp/isapnp/
-F:	include/linux/isapnp.h
-
-iSCSI BOOT FIRMWARE TABLE (iBFT) DRIVER
-M:	Peter Jones <pjones@redhat.com>
-M:	Konrad Rzeszutek Wilk <konrad@kernel.org>
-S:	Maintained
-F:	drivers/firmware/iscsi_ibft*
-
-ISCSI
-M:	Mike Christie <michaelc@cs.wisc.edu>
-L:	open-iscsi@googlegroups.com
-W:	www.open-iscsi.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mnc/linux-2.6-iscsi.git
-S:	Maintained
-F:	drivers/scsi/*iscsi*
-F:	include/scsi/*iscsi*
-
-ISDN SUBSYSTEM
-M:	Karsten Keil <isdn@linux-pingi.de>
-L:	isdn4linux@listserv.isdn4linux.de (subscribers-only)
-L:	netdev@vger.kernel.org
-W:	http://www.isdn4linux.de
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/kkeil/isdn-2.6.git
-S:	Maintained
-F:	Documentation/isdn/
-F:	drivers/isdn/
-F:	include/linux/isdn.h
-F:	include/linux/isdn/
-
-ISDN SUBSYSTEM (Eicon active card driver)
-M:	Armin Schindler <mac@melware.de>
-L:	isdn4linux@listserv.isdn4linux.de (subscribers-only)
-W:	http://www.melware.de
-S:	Maintained
-F:	drivers/isdn/hardware/eicon/
-
-IT87 HARDWARE MONITORING DRIVER
-M:	Jean Delvare <khali@linux-fr.org>
-L:	lm-sensors@lm-sensors.org
-S:	Maintained
-F:	Documentation/hwmon/it87
-F:	drivers/hwmon/it87.c
-
-IVTV VIDEO4LINUX DRIVER
-M:	Andy Walls <awalls@md.metrocast.net>
-L:	ivtv-devel@ivtvdriver.org (moderated for non-subscribers)
-L:	linux-media@vger.kernel.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
-W:	http://www.ivtvdriver.org
-S:	Maintained
-F:	Documentation/video4linux/*.ivtv
-F:	drivers/media/video/ivtv/
-F:	include/linux/ivtv*
-
-JC42.4 TEMPERATURE SENSOR DRIVER
-M:	Guenter Roeck <linux@roeck-us.net>
-L:	lm-sensors@lm-sensors.org
-S:	Maintained
-F:	drivers/hwmon/jc42.c
-F:	Documentation/hwmon/jc42
-
-JFS FILESYSTEM
-M:	Dave Kleikamp <shaggy@kernel.org>
-L:	jfs-discussion@lists.sourceforge.net
-W:	http://jfs.sourceforge.net/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6.git
-S:	Maintained
-F:	Documentation/filesystems/jfs.txt
-F:	fs/jfs/
-
-JME NETWORK DRIVER
-M:	Guo-Fu Tseng <cooldavid@cooldavid.org>
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	drivers/net/jme.*
-
-JOURNALLING FLASH FILE SYSTEM V2 (JFFS2)
-M:	David Woodhouse <dwmw2@infradead.org>
-L:	linux-mtd@lists.infradead.org
-W:	http://www.linux-mtd.infradead.org/doc/jffs2.html
-S:	Maintained
-F:	fs/jffs2/
-F:	include/linux/jffs2.h
-
-JOURNALLING LAYER FOR BLOCK DEVICES (JBD)
-M:	Andrew Morton <akpm@linux-foundation.org>
-M:	Jan Kara <jack@suse.cz>
-L:	linux-ext4@vger.kernel.org
-S:	Maintained
-F:	fs/jbd*/
-F:	include/linux/ext*jbd*.h
-F:	include/linux/jbd*.h
-
-JSM Neo PCI based serial card
-M:	Breno Leitao <leitao@linux.vnet.ibm.com>
-L:	linux-serial@vger.kernel.org
-S:	Maintained
-F:	drivers/tty/serial/jsm/
-
-K10TEMP HARDWARE MONITORING DRIVER
-M:	Clemens Ladisch <clemens@ladisch.de>
-L:	lm-sensors@lm-sensors.org
-S:	Maintained
-F:	Documentation/hwmon/k10temp
-F:	drivers/hwmon/k10temp.c
-
-K8TEMP HARDWARE MONITORING DRIVER
-M:	Rudolf Marek <r.marek@assembler.cz>
-L:	lm-sensors@lm-sensors.org
-S:	Maintained
-F:	Documentation/hwmon/k8temp
-F:	drivers/hwmon/k8temp.c
-
-KCONFIG
-M:	Roman Zippel <zippel@linux-m68k.org>
-L:	linux-kbuild@vger.kernel.org
-Q:	http://patchwork.kernel.org/project/linux-kbuild/list/
-S:	Maintained
-F:	Documentation/kbuild/kconfig-language.txt
-F:	scripts/kconfig/
-
-KDUMP
-M:	Vivek Goyal <vgoyal@redhat.com>
-M:	Haren Myneni <hbabu@us.ibm.com>
-L:	kexec@lists.infradead.org
-W:	http://lse.sourceforge.net/kdump/
-S:	Maintained
-F:	Documentation/kdump/
-
-KERNEL AUTOMOUNTER v4 (AUTOFS4)
-M:	Ian Kent <raven@themaw.net>
-L:	autofs@linux.kernel.org
-S:	Maintained
-F:	fs/autofs4/
-
-KERNEL BUILD + files below scripts/ (unless maintained elsewhere)
-M:	Michal Marek <mmarek@suse.cz>
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6.git for-next
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6.git rc-fixes
-L:	linux-kbuild@vger.kernel.org
-S:	Maintained
-F:	Documentation/kbuild/
-F:	Makefile
-F:	scripts/Makefile.*
-F:	scripts/basic/
-F:	scripts/mk*
-F:	scripts/package/
-
-KERNEL JANITORS
-L:	kernel-janitors@vger.kernel.org
-W:	http://kernelnewbies.org/KernelJanitors
-S:	Odd Fixes
-
-KERNEL NFSD, SUNRPC, AND LOCKD SERVERS
-M:	"J. Bruce Fields" <bfields@fieldses.org>
-M:	Neil Brown <neilb@suse.de>
-L:	linux-nfs@vger.kernel.org
-W:	http://nfs.sourceforge.net/
-S:	Supported
-F:	fs/nfsd/
-F:	include/linux/nfsd/
-F:	fs/lockd/
-F:	fs/nfs_common/
-F:	net/sunrpc/
-F:	include/linux/lockd/
-F:	include/linux/sunrpc/
-
-KERNEL VIRTUAL MACHINE (KVM)
-M:	Avi Kivity <avi@redhat.com>
-M:	Marcelo Tosatti <mtosatti@redhat.com>
-L:	kvm@vger.kernel.org
-W:	http://kvm.qumranet.com
-S:	Supported
-F:	Documentation/*/kvm.txt
-F:	arch/*/kvm/
-F:	arch/*/include/asm/kvm*
-F:	include/linux/kvm*
-F:	virt/kvm/
-
-KERNEL VIRTUAL MACHINE (KVM) FOR AMD-V
-M:	Joerg Roedel <joerg.roedel@amd.com>
-L:	kvm@vger.kernel.org
-W:	http://kvm.qumranet.com
-S:	Supported
-F:	arch/x86/include/asm/svm.h
-F:	arch/x86/kvm/svm.c
-
-KERNEL VIRTUAL MACHINE (KVM) FOR POWERPC
-M:	Alexander Graf <agraf@suse.de>
-L:	kvm-ppc@vger.kernel.org
-W:	http://kvm.qumranet.com
-S:	Supported
-F:	arch/powerpc/include/asm/kvm*
-F:	arch/powerpc/kvm/
-
-KERNEL VIRTUAL MACHINE For Itanium (KVM/IA64)
-M:	Xiantao Zhang <xiantao.zhang@intel.com>
-L:	kvm-ia64@vger.kernel.org
-W:	http://kvm.qumranet.com
-S:	Supported
-F:	Documentation/ia64/kvm.txt
-F:	arch/ia64/include/asm/kvm*
-F:	arch/ia64/kvm/
-
-KERNEL VIRTUAL MACHINE for s390 (KVM/s390)
-M:	Carsten Otte <cotte@de.ibm.com>
-M:	Christian Borntraeger <borntraeger@de.ibm.com>
-M:	linux390@de.ibm.com
-L:	linux-s390@vger.kernel.org
-W:	http://www.ibm.com/developerworks/linux/linux390/
-S:	Supported
-F:	Documentation/s390/kvm.txt
-F:	arch/s390/include/asm/kvm*
-F:	arch/s390/kvm/
-F:	drivers/s390/kvm/
-
-KEXEC
-M:	Eric Biederman <ebiederm@xmission.com>
-W:	http://kernel.org/pub/linux/utils/kernel/kexec/
-L:	kexec@lists.infradead.org
-S:	Maintained
-F:	include/linux/kexec.h
-F:	kernel/kexec.c
-
-KEYS/KEYRINGS:
-M:	David Howells <dhowells@redhat.com>
-L:	keyrings@linux-nfs.org
-S:	Maintained
-F:	Documentation/keys.txt
-F:	include/linux/key.h
-F:	include/linux/key-type.h
-F:	include/keys/
-F:	security/keys/
-
-KEYS-TRUSTED
-M:	David Safford <safford@watson.ibm.com>
-M:	Mimi Zohar <zohar@us.ibm.com>
-L:	linux-security-module@vger.kernel.org
-L:	keyrings@linux-nfs.org
-S:	Supported
-F:	Documentation/keys-trusted-encrypted.txt
-F:	include/keys/trusted-type.h
-F:	security/keys/trusted.c
-F:	security/keys/trusted.h
-
-KEYS-ENCRYPTED
-M:	Mimi Zohar <zohar@us.ibm.com>
-M:	David Safford <safford@watson.ibm.com>
-L:	linux-security-module@vger.kernel.org
-L:	keyrings@linux-nfs.org
-S:	Supported
-F:	Documentation/keys-trusted-encrypted.txt
-F:	include/keys/encrypted-type.h
-F:	security/keys/encrypted.c
-F:	security/keys/encrypted.h
-
-KGDB / KDB /debug_core
-M:	Jason Wessel <jason.wessel@windriver.com>
-W:	http://kgdb.wiki.kernel.org/
-L:	kgdb-bugreport@lists.sourceforge.net
-S:	Maintained
-F:	Documentation/DocBook/kgdb.tmpl
-F:	drivers/misc/kgdbts.c
-F:	drivers/tty/serial/kgdboc.c
-F:	include/linux/kdb.h
-F:	include/linux/kgdb.h
-F:	kernel/debug/
-
-KMEMCHECK
-M:	Vegard Nossum <vegardno@ifi.uio.no>
-M:	Pekka Enberg <penberg@kernel.org>
-S:	Maintained
-F:	Documentation/kmemcheck.txt
-F:	arch/x86/include/asm/kmemcheck.h
-F:	arch/x86/mm/kmemcheck/
-F:	include/linux/kmemcheck.h
-F:	mm/kmemcheck.c
-
-KMEMLEAK
-M:	Catalin Marinas <catalin.marinas@arm.com>
-S:	Maintained
-F:	Documentation/kmemleak.txt
-F:	include/linux/kmemleak.h
-F:	mm/kmemleak.c
-F:	mm/kmemleak-test.c
-
-KPROBES
-M:	Ananth N Mavinakayanahalli <ananth@in.ibm.com>
-M:	Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
-M:	"David S. Miller" <davem@davemloft.net>
-M:	Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
-S:	Maintained
-F:	Documentation/kprobes.txt
-F:	include/linux/kprobes.h
-F:	kernel/kprobes.c
-
-KS0108 LCD CONTROLLER DRIVER
-M:	Miguel Ojeda Sandonis <miguel.ojeda.sandonis@gmail.com>
-W:	http://miguelojeda.es/auxdisplay.htm
-W:	http://jair.lab.fi.uva.es/~migojed/auxdisplay.htm
-S:	Maintained
-F:	Documentation/auxdisplay/ks0108
-F:	drivers/auxdisplay/ks0108.c
-F:	include/linux/ks0108.h
-
-LAPB module
-L:	linux-x25@vger.kernel.org
-S:	Orphan
-F:	Documentation/networking/lapb-module.txt
-F:	include/*/lapb.h
-F:	net/lapb/
-
-LASI 53c700 driver for PARISC
-M:	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
-L:	linux-scsi@vger.kernel.org
-S:	Maintained
-F:	Documentation/scsi/53c700.txt
-F:	drivers/scsi/53c700*
-
-LED SUBSYSTEM
-M:	Richard Purdie <rpurdie@rpsys.net>
-S:	Maintained
-F:	drivers/leds/
-F:	include/linux/leds.h
-
-LEGO USB Tower driver
-M:	Juergen Stuber <starblue@users.sourceforge.net>
-L:	legousb-devel@lists.sourceforge.net
-W:	http://legousb.sourceforge.net/
-S:	Maintained
-F:	drivers/usb/misc/legousbtower.c
-
-LGUEST
-M:	Rusty Russell <rusty@rustcorp.com.au>
-L:	lguest@lists.ozlabs.org
-W:	http://lguest.ozlabs.org/
-S:	Odd Fixes
-F:	Documentation/lguest/
-F:	arch/x86/lguest/
-F:	drivers/lguest/
-F:	include/linux/lguest*.h
-F:	arch/x86/include/asm/lguest*.h
-
-LINUX FOR IBM pSERIES (RS/6000)
-M:	Paul Mackerras <paulus@au.ibm.com>
-W:	http://www.ibm.com/linux/ltc/projects/ppc
-S:	Supported
-F:	arch/powerpc/boot/rs6000.h
-
-LINUX FOR POWERPC (32-BIT AND 64-BIT)
-M:	Benjamin Herrenschmidt <benh@kernel.crashing.org>
-M:	Paul Mackerras <paulus@samba.org>
-W:	http://www.penguinppc.org/
-L:	linuxppc-dev@lists.ozlabs.org
-Q:	http://patchwork.ozlabs.org/project/linuxppc-dev/list/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc.git
-S:	Supported
-F:	Documentation/powerpc/
-F:	arch/powerpc/
-
-LINUX FOR POWER MACINTOSH
-M:	Benjamin Herrenschmidt <benh@kernel.crashing.org>
-W:	http://www.penguinppc.org/
-L:	linuxppc-dev@lists.ozlabs.org
-S:	Maintained
-F:	arch/powerpc/platforms/powermac/
-F:	drivers/macintosh/
-
-LINUX FOR POWERPC EMBEDDED MPC5XXX
-M:	Grant Likely <grant.likely@secretlab.ca>
-L:	linuxppc-dev@lists.ozlabs.org
-T:	git git://git.secretlab.ca/git/linux-2.6.git
-S:	Maintained
-F:	arch/powerpc/platforms/512x/
-F:	arch/powerpc/platforms/52xx/
-
-LINUX FOR POWERPC EMBEDDED PPC4XX
-M:	Josh Boyer <jwboyer@linux.vnet.ibm.com>
-M:	Matt Porter <mporter@kernel.crashing.org>
-W:	http://www.penguinppc.org/
-L:	linuxppc-dev@lists.ozlabs.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx.git
-S:	Maintained
-F:	arch/powerpc/platforms/40x/
-F:	arch/powerpc/platforms/44x/
-
-LINUX FOR POWERPC EMBEDDED XILINX VIRTEX
-M:	Grant Likely <grant.likely@secretlab.ca>
-W:	http://wiki.secretlab.ca/index.php/Linux_on_Xilinx_Virtex
-L:	linuxppc-dev@lists.ozlabs.org
-T:	git git://git.secretlab.ca/git/linux-2.6.git
-S:	Maintained
-F:	arch/powerpc/*/*virtex*
-F:	arch/powerpc/*/*/*virtex*
-
-LINUX FOR POWERPC EMBEDDED PPC8XX
-M:	Vitaly Bordug <vitb@kernel.crashing.org>
-M:	Marcelo Tosatti <marcelo@kvack.org>
-W:	http://www.penguinppc.org/
-L:	linuxppc-dev@lists.ozlabs.org
-S:	Maintained
-F:	arch/powerpc/platforms/8xx/
-
-LINUX FOR POWERPC EMBEDDED PPC83XX AND PPC85XX
-M:	Kumar Gala <galak@kernel.crashing.org>
-W:	http://www.penguinppc.org/
-L:	linuxppc-dev@lists.ozlabs.org
-S:	Maintained
-F:	arch/powerpc/platforms/83xx/
-
-LINUX FOR POWERPC PA SEMI PWRFICIENT
-M:	Olof Johansson <olof@lixom.net>
-L:	linuxppc-dev@lists.ozlabs.org
-S:	Maintained
-F:	arch/powerpc/platforms/pasemi/
-F:	drivers/*/*pasemi*
-F:	drivers/*/*/*pasemi*
-
-LINUX SECURITY MODULE (LSM) FRAMEWORK
-M:	Chris Wright <chrisw@sous-sol.org>
-L:	linux-security-module@vger.kernel.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/chrisw/lsm-2.6.git
-S:	Supported
-
-LIS3LV02D ACCELEROMETER DRIVER
-M:	Eric Piel <eric.piel@tremplin-utc.net>
-S:	Maintained
-F:	Documentation/misc-devices/lis3lv02d
-F:	drivers/misc/lis3lv02d/
-
-LLC (802.2)
-M:	Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
-S:	Maintained
-F:	include/linux/llc.h
-F:	include/net/llc*
-F:	net/llc/
-
-LM73 HARDWARE MONITOR DRIVER
-M:	Guillaume Ligneul <guillaume.ligneul@gmail.com>
-L:	lm-sensors@lm-sensors.org
-S:	Maintained
-F:	drivers/hwmon/lm73.c
-
-LM83 HARDWARE MONITOR DRIVER
-M:	Jean Delvare <khali@linux-fr.org>
-L:	lm-sensors@lm-sensors.org
-S:	Maintained
-F:	Documentation/hwmon/lm83
-F:	drivers/hwmon/lm83.c
-
-LM90 HARDWARE MONITOR DRIVER
-M:	Jean Delvare <khali@linux-fr.org>
-L:	lm-sensors@lm-sensors.org
-S:	Maintained
-F:	Documentation/hwmon/lm90
-F:	drivers/hwmon/lm90.c
-
-LOCKDEP AND LOCKSTAT
-M:	Peter Zijlstra <peterz@infradead.org>
-M:	Ingo Molnar <mingo@redhat.com>
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-lockdep.git
-S:	Maintained
-F:	Documentation/lockdep*.txt
-F:	Documentation/lockstat.txt
-F:	include/linux/lockdep.h
-F:	kernel/lockdep*
-
-LOGICAL DISK MANAGER SUPPORT (LDM, Windows 2000/XP/Vista Dynamic Disks)
-M:	"Richard Russon (FlatCap)" <ldm@flatcap.org>
-L:	linux-ntfs-dev@lists.sourceforge.net
-W:	http://www.linux-ntfs.org/content/view/19/37/
-S:	Maintained
-F:	Documentation/ldm.txt
-F:	fs/partitions/ldm.*
-
-LogFS
-M:	Joern Engel <joern@logfs.org>
-L:	logfs@logfs.org
-W:	logfs.org
-S:	Maintained
-F:	fs/logfs/
-
-LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI)
-M:	Eric Moore <Eric.Moore@lsi.com>
-M:	support@lsi.com
-L:	DL-MPTFusionLinux@lsi.com
-L:	linux-scsi@vger.kernel.org
-W:	http://www.lsilogic.com/support
-S:	Supported
-F:	drivers/message/fusion/
-
-LSILOGIC/SYMBIOS/NCR 53C8XX and 53C1010 PCI-SCSI drivers
-M:	Matthew Wilcox <matthew@wil.cx>
-L:	linux-scsi@vger.kernel.org
-S:	Maintained
-F:	drivers/scsi/sym53c8xx_2/
-
-LTC4261 HARDWARE MONITOR DRIVER
-M:	Guenter Roeck <linux@roeck-us.net>
-L:	lm-sensors@lm-sensors.org
-S:	Maintained
-F:	Documentation/hwmon/ltc4261
-F:	drivers/hwmon/ltc4261.c
-
-LTP (Linux Test Project)
-M:	Rishikesh K Rajak <risrajak@linux.vnet.ibm.com>
-M:	Garrett Cooper <yanegomi@gmail.com>
-M:	Mike Frysinger <vapier@gentoo.org>
-M:	Subrata Modak <subrata@linux.vnet.ibm.com>
-L:	ltp-list@lists.sourceforge.net (subscribers-only)
-W:	http://ltp.sourceforge.net/
-T:	git git://ltp.git.sourceforge.net/gitroot/ltp/ltp-dev
-S:	Maintained
-
-M32R ARCHITECTURE
-M:	Hirokazu Takata <takata@linux-m32r.org>
-L:	linux-m32r@ml.linux-m32r.org
-L:	linux-m32r-ja@ml.linux-m32r.org (in Japanese)
-W:	http://www.linux-m32r.org/
-S:	Maintained
-F:	arch/m32r/
-
-M68K ARCHITECTURE
-M:	Geert Uytterhoeven <geert@linux-m68k.org>
-M:	Roman Zippel <zippel@linux-m68k.org>
-L:	linux-m68k@lists.linux-m68k.org
-W:	http://www.linux-m68k.org/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k.git
-S:	Maintained
-F:	arch/m68k/
-F:	drivers/zorro/
-
-M68K ON APPLE MACINTOSH
-M:	Joshua Thompson <funaho@jurai.org>
-W:	http://www.mac.linux-m68k.org/
-L:	linux-m68k@lists.linux-m68k.org
-S:	Maintained
-F:	arch/m68k/mac/
-
-M68K ON HP9000/300
-M:	Philip Blundell <philb@gnu.org>
-W:	http://www.tazenda.demon.co.uk/phil/linux-hp
-S:	Maintained
-F:	arch/m68k/hp300/
-
-MAC80211
-M:	Johannes Berg <johannes@sipsolutions.net>
-L:	linux-wireless@vger.kernel.org
-W:	http://linuxwireless.org/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git
-S:	Maintained
-F:	Documentation/networking/mac80211-injection.txt
-F:	include/net/mac80211.h
-F:	net/mac80211/
-
-MAC80211 PID RATE CONTROL
-M:	Stefano Brivio <stefano.brivio@polimi.it>
-M:	Mattias Nissler <mattias.nissler@gmx.de>
-L:	linux-wireless@vger.kernel.org
-W:	http://linuxwireless.org/en/developers/Documentation/mac80211/RateControl/PID
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git
-S:	Maintained
-F:	net/mac80211/rc80211_pid*
-
-MACVLAN DRIVER
-M:	Patrick McHardy <kaber@trash.net>
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	drivers/net/macvlan.c
-F:	include/linux/if_macvlan.h
-
-MAN-PAGES: MANUAL PAGES FOR LINUX -- Sections 2, 3, 4, 5, and 7
-M:	Michael Kerrisk <mtk.manpages@gmail.com>
-W:	http://www.kernel.org/doc/man-pages
-L:	linux-man@vger.kernel.org
-S:	Maintained
-
-MARVELL LIBERTAS WIRELESS DRIVER
-M:	Dan Williams <dcbw@redhat.com>
-L:	libertas-dev@lists.infradead.org
-S:	Maintained
-F:	drivers/net/wireless/libertas/
-
-MARVELL MV643XX ETHERNET DRIVER
-M:	Lennert Buytenhek <buytenh@wantstofly.org>
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	drivers/net/mv643xx_eth.*
-F:	include/linux/mv643xx.h
-
-MARVELL MWL8K WIRELESS DRIVER
-M:	Lennert Buytenhek <buytenh@wantstofly.org>
-L:	linux-wireless@vger.kernel.org
-S:	Odd Fixes
-F:	drivers/net/wireless/mwl8k.c
-
-MARVELL SOC MMC/SD/SDIO CONTROLLER DRIVER
-M:	Nicolas Pitre <nico@fluxnic.net>
-S:	Odd Fixes
-F:	drivers/mmc/host/mvsdio.*
-
-MARVELL YUKON / SYSKONNECT DRIVER
-M:	Mirko Lindner <mlindner@syskonnect.de>
-M:	Ralph Roesler <rroesler@syskonnect.de>
-W:	http://www.syskonnect.com
-S:	Supported
-
-MATROX FRAMEBUFFER DRIVER
-L:	linux-fbdev@vger.kernel.org
-S:	Orphan
-F:	drivers/video/matrox/matroxfb_*
-F:	include/linux/matroxfb.h
-
-MAX6650 HARDWARE MONITOR AND FAN CONTROLLER DRIVER
-M:	"Hans J. Koch" <hjk@hansjkoch.de>
-L:	lm-sensors@lm-sensors.org
-S:	Maintained
-F:	Documentation/hwmon/max6650
-F:	drivers/hwmon/max6650.c
-
-MEDIA INPUT INFRASTRUCTURE (V4L/DVB)
-M:	Mauro Carvalho Chehab <mchehab@infradead.org>
-P:	LinuxTV.org Project
-L:	linux-media@vger.kernel.org
-W:	http://linuxtv.org
-Q:	http://patchwork.kernel.org/project/linux-media/list/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
-S:	Maintained
-F:	Documentation/dvb/
-F:	Documentation/video4linux/
-F:	drivers/media/
-F:	include/media/
-F:	include/linux/dvb/
-F:	include/linux/videodev*.h
-
-MEGARAID SCSI DRIVERS
-M:	Neela Syam Kolli <megaraidlinux@lsi.com>
-L:	linux-scsi@vger.kernel.org
-W:	http://megaraid.lsilogic.com
-S:	Maintained
-F:	Documentation/scsi/megaraid.txt
-F:	drivers/scsi/megaraid.*
-F:	drivers/scsi/megaraid/
-
-MEMORY MANAGEMENT
-L:	linux-mm@kvack.org
-W:	http://www.linux-mm.org
-S:	Maintained
-F:	include/linux/mm.h
-F:	mm/
-
-MEMORY RESOURCE CONTROLLER
-M:	Balbir Singh <balbir@linux.vnet.ibm.com>
-M:	Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>
-M:	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
-L:	linux-mm@kvack.org
-S:	Maintained
-F:	mm/memcontrol.c
-
-MEMORY TECHNOLOGY DEVICES (MTD)
-M:	David Woodhouse <dwmw2@infradead.org>
-L:	linux-mtd@lists.infradead.org
-W:	http://www.linux-mtd.infradead.org/
-Q:	http://patchwork.ozlabs.org/project/linux-mtd/list/
-T:	git git://git.infradead.org/mtd-2.6.git
-S:	Maintained
-F:	drivers/mtd/
-F:	include/linux/mtd/
-F:	include/mtd/
-
-MICROBLAZE ARCHITECTURE
-M:	Michal Simek <monstr@monstr.eu>
-L:	microblaze-uclinux@itee.uq.edu.au
-W:	http://www.monstr.eu/fdt/
-T:	git git://git.monstr.eu/linux-2.6-microblaze.git
-S:	Supported
-F:	arch/microblaze/
-
-MICROTEK X6 SCANNER
-M:	Oliver Neukum <oliver@neukum.name>
-S:	Maintained
-F:	drivers/usb/image/microtek.*
-
-MIPS
-M:	Ralf Baechle <ralf@linux-mips.org>
-W:	http://www.linux-mips.org/
-L:	linux-mips@linux-mips.org
-T:	git git://git.linux-mips.org/pub/scm/linux.git
-S:	Supported
-F:	Documentation/mips/
-F:	arch/mips/
-
-MISCELLANEOUS MCA-SUPPORT
-M:	James Bottomley <James.Bottomley@HansenPartnership.com>
-S:	Maintained
-F:	Documentation/ia64/mca.txt
-F:	Documentation/mca.txt
-F:	drivers/mca/
-F:	include/linux/mca*
-
-MODULE SUPPORT
-M:	Rusty Russell <rusty@rustcorp.com.au>
-S:	Maintained
-F:	include/linux/module.h
-F:	kernel/module.c
-
-MOTION EYE VAIO PICTUREBOOK CAMERA DRIVER
-W:	http://popies.net/meye/
-S:	Orphan
-F:	Documentation/video4linux/meye.txt
-F:	drivers/media/video/meye.*
-F:	include/linux/meye.h
-
-MOTOROLA IMX MMC/SD HOST CONTROLLER INTERFACE DRIVER
-M:	Pavel Pisa <ppisa@pikron.com>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-F:	drivers/mmc/host/imxmmc.*
-
-MOUSE AND MISC DEVICES [GENERAL]
-M:	Alessandro Rubini <rubini@ipvvis.unipv.it>
-S:	Maintained
-F:	drivers/input/mouse/
-F:	include/linux/gpio_mouse.h
-
-MOXA SMARTIO/INDUSTIO/INTELLIO SERIAL CARD
-M:	Jiri Slaby <jirislaby@gmail.com>
-S:	Maintained
-F:	Documentation/serial/moxa-smartio
-F:	drivers/tty/mxser.*
-
-MSI LAPTOP SUPPORT
-M:	"Lee, Chun-Yi" <jlee@novell.com>
-L:	platform-driver-x86@vger.kernel.org
-S:	Maintained
-F:	drivers/platform/x86/msi-laptop.c
-
-MSI WMI SUPPORT
-M:	Anisse Astier <anisse@astier.eu>
-L:	platform-driver-x86@vger.kernel.org
-S:	Supported
-F:	drivers/platform/x86/msi-wmi.c
-
-MULTIFUNCTION DEVICES (MFD)
-M:	Samuel Ortiz <sameo@linux.intel.com>
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6.git
-S:	Supported
-F:	drivers/mfd/
-
-MULTIMEDIA CARD (MMC), SECURE DIGITAL (SD) AND SDIO SUBSYSTEM
-M:	Chris Ball <cjb@laptop.org>
-L:	linux-mmc@vger.kernel.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc.git
-S:	Maintained
-F:	drivers/mmc/
-F:	include/linux/mmc/
-
-MULTIMEDIA CARD (MMC) ETC. OVER SPI
-M:	David Brownell <dbrownell@users.sourceforge.net>
-S:	Odd Fixes
-F:	drivers/mmc/host/mmc_spi.c
-F:	include/linux/spi/mmc_spi.h
-
-MULTISOUND SOUND DRIVER
-M:	Andrew Veliath <andrewtv@usa.net>
-S:	Maintained
-F:	Documentation/sound/oss/MultiSound
-F:	sound/oss/msnd*
-
-MULTITECH MULTIPORT CARD (ISICOM)
-S:	Orphan
-F:	drivers/tty/isicom.c
-F:	include/linux/isicom.h
-
-MUSB MULTIPOINT HIGH SPEED DUAL-ROLE CONTROLLER
-M:	Felipe Balbi <balbi@ti.com>
-L:	linux-usb@vger.kernel.org
-T:	git git://gitorious.org/usb/usb.git
-S:	Maintained
-F:	drivers/usb/musb/
-
-MYRICOM MYRI-10G 10GbE DRIVER (MYRI10GE)
-M:	Andrew Gallatin <gallatin@myri.com>
-M:	Brice Goglin <brice@myri.com>
-L:	netdev@vger.kernel.org
-W:	http://www.myri.com/scs/download-Myri10GE.html
-S:	Supported
-F:	drivers/net/myri10ge/
-
-NATSEMI ETHERNET DRIVER (DP8381x)
-M:	Tim Hockin <thockin@hockin.org>
-S:	Maintained
-F:	drivers/net/natsemi.c
-
-NCP FILESYSTEM
-M:	Petr Vandrovec <petr@vandrovec.name>
-S:	Odd Fixes
-F:	fs/ncpfs/
-
-NCR DUAL 700 SCSI DRIVER (MICROCHANNEL)
-M:	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
-L:	linux-scsi@vger.kernel.org
-S:	Maintained
-F:	drivers/scsi/NCR_D700.*
-
-NETEFFECT IWARP RNIC DRIVER (IW_NES)
-M:	Faisal Latif <faisal.latif@intel.com>
-L:	linux-rdma@vger.kernel.org
-W:	http://www.intel.com/Products/Server/Adapters/Server-Cluster/Server-Cluster-overview.htm
-S:	Supported
-F:	drivers/infiniband/hw/nes/
-
-NETEM NETWORK EMULATOR
-M:	Stephen Hemminger <shemminger@linux-foundation.org>
-L:	netem@lists.linux-foundation.org
-S:	Maintained
-F:	net/sched/sch_netem.c
-
-NETERION 10GbE DRIVERS (s2io/vxge)
-M:	Jon Mason <jdmason@kudzu.us>
-L:	netdev@vger.kernel.org
-W:	http://trac.neterion.com/cgi-bin/trac.cgi/wiki/Linux?Anonymous
-W:	http://trac.neterion.com/cgi-bin/trac.cgi/wiki/X3100Linux?Anonymous
-S:	Supported
-F:	Documentation/networking/s2io.txt
-F:	drivers/net/s2io*
-F:	Documentation/networking/vxge.txt
-F:	drivers/net/vxge/
-
-NETFILTER/IPTABLES/IPCHAINS
-P:	Rusty Russell
-P:	Marc Boucher
-P:	James Morris
-P:	Harald Welte
-P:	Jozsef Kadlecsik
-M:	Patrick McHardy <kaber@trash.net>
-L:	netfilter-devel@vger.kernel.org
-L:	netfilter@vger.kernel.org
-L:	coreteam@netfilter.org
-W:	http://www.netfilter.org/
-W:	http://www.iptables.org/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6.git
-S:	Supported
-F:	include/linux/netfilter*
-F:	include/linux/netfilter/
-F:	include/net/netfilter/
-F:	net/*/netfilter.c
-F:	net/*/netfilter/
-F:	net/netfilter/
-
-NETLABEL
-M:	Paul Moore <paul.moore@hp.com>
-W:	http://netlabel.sf.net
-L:	netdev@vger.kernel.org
-S:	Supported
-F:	Documentation/netlabel/
-F:	include/net/netlabel.h
-F:	net/netlabel/
-
-NETROM NETWORK LAYER
-M:	Ralf Baechle <ralf@linux-mips.org>
-L:	linux-hams@vger.kernel.org
-W:	http://www.linux-ax25.org/
-S:	Maintained
-F:	include/linux/netrom.h
-F:	include/net/netrom.h
-F:	net/netrom/
-
-NETWORK BLOCK DEVICE (NBD)
-M:	Paul Clements <Paul.Clements@steeleye.com>
-S:	Maintained
-F:	Documentation/blockdev/nbd.txt
-F:	drivers/block/nbd.c
-F:	include/linux/nbd.h
-
-NETWORK DROP MONITOR
-M:	Neil Horman <nhorman@tuxdriver.com>
-L:	netdev@vger.kernel.org
-S:	Maintained
-W:	https://fedorahosted.org/dropwatch/
-F:	net/core/drop_monitor.c
-
-NETWORKING [GENERAL]
-M:	"David S. Miller" <davem@davemloft.net>
-L:	netdev@vger.kernel.org
-W:	http://www.linuxfoundation.org/en/Net
-W:	http://patchwork.ozlabs.org/project/netdev/list/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.git
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6.git
-S:	Maintained
-F:	net/
-F:	include/net/
-F:	include/linux/in.h
-F:	include/linux/net.h
-F:	include/linux/netdevice.h
-
-NETWORKING [IPv4/IPv6]
-M:	"David S. Miller" <davem@davemloft.net>
-M:	Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
-M:	"Pekka Savola (ipv6)" <pekkas@netcore.fi>
-M:	James Morris <jmorris@namei.org>
-M:	Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
-M:	Patrick McHardy <kaber@trash.net>
-L:	netdev@vger.kernel.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.git
-S:	Maintained
-F:	net/ipv4/
-F:	net/ipv6/
-F:	include/net/ip*
-
-NETWORKING [LABELED] (NetLabel, CIPSO, Labeled IPsec, SECMARK)
-M:	Paul Moore <paul.moore@hp.com>
-L:	netdev@vger.kernel.org
-S:	Maintained
-
-NETWORKING [WIRELESS]
-M:	"John W. Linville" <linville@tuxdriver.com>
-L:	linux-wireless@vger.kernel.org
-Q:	http://patchwork.kernel.org/project/linux-wireless/list/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git
-S:	Maintained
-F:	net/mac80211/
-F:	net/rfkill/
-F:	net/wireless/
-F:	include/net/ieee80211*
-F:	include/linux/wireless.h
-F:	include/net/iw_handler.h
-F:	drivers/net/wireless/
-
-NETWORKING DRIVERS
-L:	netdev@vger.kernel.org
-W:	http://www.linuxfoundation.org/en/Net
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.git
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6.git
-S:	Odd Fixes
-F:	drivers/net/
-F:	include/linux/if_*
-F:	include/linux/*device.h
-
-NETXEN (1/10) GbE SUPPORT
-M:	Amit Kumar Salecha <amit.salecha@qlogic.com>
-L:	netdev@vger.kernel.org
-W:	http://www.qlogic.com
-S:	Supported
-F:	drivers/net/netxen/
-
-NFS, SUNRPC, AND LOCKD CLIENTS
-M:	Trond Myklebust <Trond.Myklebust@netapp.com>
-L:	linux-nfs@vger.kernel.org
-W:	http://client.linux-nfs.org
-T:	git git://git.linux-nfs.org/pub/linux/nfs-2.6.git
-S:	Maintained
-F:	fs/lockd/
-F:	fs/nfs/
-F:	fs/nfs_common/
-F:	net/sunrpc/
-F:	include/linux/lockd/
-F:	include/linux/nfs*
-F:	include/linux/sunrpc/
-
-NI5010 NETWORK DRIVER
-M:	Jan-Pascal van Best <janpascal@vanbest.org>
-M:	Andreas Mohr <andi@lisas.de>
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	drivers/net/ni5010.*
-
-NILFS2 FILESYSTEM
-M:	KONISHI Ryusuke <konishi.ryusuke@lab.ntt.co.jp>
-L:	linux-nilfs@vger.kernel.org
-W:	http://www.nilfs.org/en/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2.git
-S:	Supported
-F:	Documentation/filesystems/nilfs2.txt
-F:	fs/nilfs2/
-F:	include/linux/nilfs2_fs.h
-
-NINJA SCSI-3 / NINJA SCSI-32Bi (16bit/CardBus) PCMCIA SCSI HOST ADAPTER DRIVER
-M:	YOKOTA Hiroshi <yokota@netlab.is.tsukuba.ac.jp>
-W:	http://www.netlab.is.tsukuba.ac.jp/~yokota/izumi/ninja/
-S:	Maintained
-F:	Documentation/scsi/NinjaSCSI.txt
-F:	drivers/scsi/pcmcia/nsp_*
-
-NINJA SCSI-32Bi/UDE PCI/CARDBUS SCSI HOST ADAPTER DRIVER
-M:	GOTO Masanori <gotom@debian.or.jp>
-M:	YOKOTA Hiroshi <yokota@netlab.is.tsukuba.ac.jp>
-W:	http://www.netlab.is.tsukuba.ac.jp/~yokota/izumi/ninja/
-S:	Maintained
-F:	Documentation/scsi/NinjaSCSI.txt
-F:	drivers/scsi/nsp32*
-
-NTFS FILESYSTEM
-M:	Anton Altaparmakov <anton@tuxera.com>
-L:	linux-ntfs-dev@lists.sourceforge.net
-W:	http://www.tuxera.com/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/aia21/ntfs-2.6.git
-S:	Supported
-F:	Documentation/filesystems/ntfs.txt
-F:	fs/ntfs/
-
-NVIDIA (rivafb and nvidiafb) FRAMEBUFFER DRIVER
-M:	Antonino Daplas <adaplas@gmail.com>
-L:	linux-fbdev@vger.kernel.org
-S:	Maintained
-F:	drivers/video/riva/
-F:	drivers/video/nvidia/
-
-OMAP SUPPORT
-M:	Tony Lindgren <tony@atomide.com>
-L:	linux-omap@vger.kernel.org
-W:	http://www.muru.com/linux/omap/
-W:	http://linux.omap.com/
-Q:	http://patchwork.kernel.org/project/linux-omap/list/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git
-S:	Maintained
-F:	arch/arm/*omap*/
-
-OMAP CLOCK FRAMEWORK SUPPORT
-M:	Paul Walmsley <paul@pwsan.com>
-L:	linux-omap@vger.kernel.org
-S:	Maintained
-F:	arch/arm/*omap*/*clock*
-
-OMAP POWER MANAGEMENT SUPPORT
-M:	Kevin Hilman <khilman@ti.com>
-L:	linux-omap@vger.kernel.org
-S:	Maintained
-F:	arch/arm/*omap*/*pm*
-
-OMAP POWERDOMAIN/CLOCKDOMAIN SOC ADAPTATION LAYER SUPPORT
-M:	Rajendra Nayak <rnayak@ti.com>
-M:	Paul Walmsley <paul@pwsan.com>
-L:	linux-omap@vger.kernel.org
-S:	Maintained
-F:	arch/arm/mach-omap2/powerdomain2xxx_3xxx.c
-F:	arch/arm/mach-omap2/powerdomain44xx.c
-F:	arch/arm/mach-omap2/clockdomain2xxx_3xxx.c
-F:	arch/arm/mach-omap2/clockdomain44xx.c
-
-OMAP AUDIO SUPPORT
-M:	Jarkko Nikula <jhnikula@gmail.com>
-L:	alsa-devel@alsa-project.org (subscribers-only)
-L:	linux-omap@vger.kernel.org
-S:	Maintained
-F:	sound/soc/omap/
-
-OMAP FRAMEBUFFER SUPPORT
-M:	Tomi Valkeinen <tomi.valkeinen@ti.com>
-L:	linux-fbdev@vger.kernel.org
-L:	linux-omap@vger.kernel.org
-S:	Maintained
-F:	drivers/video/omap/
-
-OMAP DISPLAY SUBSYSTEM and FRAMEBUFFER SUPPORT (DSS2)
-M:	Tomi Valkeinen <tomi.valkeinen@ti.com>
-L:	linux-omap@vger.kernel.org
-L:	linux-fbdev@vger.kernel.org
-S:	Maintained
-F:	drivers/video/omap2/
-F:	Documentation/arm/OMAP/DSS
-
-OMAP MMC SUPPORT
-M:	Jarkko Lavinen <jarkko.lavinen@nokia.com>
-L:	linux-omap@vger.kernel.org
-S:	Maintained
-F:	drivers/mmc/host/omap.c
-
-OMAP HS MMC SUPPORT
-M:	Madhusudhan Chikkature <madhu.cr@ti.com>
-L:	linux-omap@vger.kernel.org
-S:	Maintained
-F:	drivers/mmc/host/omap_hsmmc.c
-
-OMAP RANDOM NUMBER GENERATOR SUPPORT
-M:	Deepak Saxena <dsaxena@plexity.net>
-S:	Maintained
-F:	drivers/char/hw_random/omap-rng.c
-
-OMAP HWMOD SUPPORT
-M:	Benoît Cousson <b-cousson@ti.com>
-M:	Paul Walmsley <paul@pwsan.com>
-L:	linux-omap@vger.kernel.org
-S:	Maintained
-F:	arch/arm/mach-omap2/omap_hwmod.c
-F:	arch/arm/plat-omap/include/plat/omap_hwmod.h
-
-OMAP HWMOD DATA FOR OMAP4-BASED DEVICES
-M:	Benoît Cousson <b-cousson@ti.com>
-L:	linux-omap@vger.kernel.org
-S:	Maintained
-F:	arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-
-OMAP IMAGE SIGNAL PROCESSOR (ISP)
-M:	Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-L:	linux-media@vger.kernel.org
-S:	Maintained
-F:	drivers/media/video/omap3isp/*
-
-OMAP USB SUPPORT
-M:	Felipe Balbi <balbi@ti.com>
-M:	David Brownell <dbrownell@users.sourceforge.net>
-L:	linux-usb@vger.kernel.org
-L:	linux-omap@vger.kernel.org
-S:	Maintained
-F:	drivers/usb/*/*omap*
-F:	arch/arm/*omap*/usb*
-
-OMFS FILESYSTEM
-M:	Bob Copeland <me@bobcopeland.com>
-L:	linux-karma-devel@lists.sourceforge.net
-S:	Maintained
-F:	Documentation/filesystems/omfs.txt
-F:	fs/omfs/
-
-OMNIKEY CARDMAN 4000 DRIVER
-M:	Harald Welte <laforge@gnumonks.org>
-S:	Maintained
-F:	drivers/char/pcmcia/cm4000_cs.c
-F:	include/linux/cm4000_cs.h
-
-OMNIKEY CARDMAN 4040 DRIVER
-M:	Harald Welte <laforge@gnumonks.org>
-S:	Maintained
-F:	drivers/char/pcmcia/cm4040_cs.*
-
-OMNIVISION OV7670 SENSOR DRIVER
-M:	Jonathan Corbet <corbet@lwn.net>
-L:	linux-media@vger.kernel.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
-S:	Maintained
-F:	drivers/media/video/ov7670.c
-
-ONENAND FLASH DRIVER
-M:	Kyungmin Park <kyungmin.park@samsung.com>
-L:	linux-mtd@lists.infradead.org
-S:	Maintained
-F:	drivers/mtd/onenand/
-F:	include/linux/mtd/onenand*.h
-
-ONSTREAM SCSI TAPE DRIVER
-M:	Willem Riede <osst@riede.org>
-L:	osst-users@lists.sourceforge.net
-L:	linux-scsi@vger.kernel.org
-S:	Maintained
-F:	drivers/scsi/osst*
-F:	drivers/scsi/st*
-
-OPENCORES I2C BUS DRIVER
-M:	Peter Korsgaard <jacmet@sunsite.dk>
-L:	linux-i2c@vger.kernel.org
-S:	Maintained
-F:	Documentation/i2c/busses/i2c-ocores
-F:	drivers/i2c/busses/i2c-ocores.c
-
-OPEN FIRMWARE AND FLATTENED DEVICE TREE
-M:	Grant Likely <grant.likely@secretlab.ca>
-L:	devicetree-discuss@lists.ozlabs.org (moderated for non-subscribers)
-W:	http://fdt.secretlab.ca
-T:	git git://git.secretlab.ca/git/linux-2.6.git
-S:	Maintained
-F:	drivers/of
-F:	include/linux/of*.h
-K:	of_get_property
-
-OPL4 DRIVER
-M:	Clemens Ladisch <clemens@ladisch.de>
-L:	alsa-devel@alsa-project.org (moderated for non-subscribers)
-T:	git git://git.alsa-project.org/alsa-kernel.git
-S:	Maintained
-F:	sound/drivers/opl4/
-
-OPROFILE
-M:	Robert Richter <robert.richter@amd.com>
-L:	oprofile-list@lists.sf.net
-S:	Maintained
-F:	arch/*/include/asm/oprofile*.h
-F:	arch/*/oprofile/
-F:	drivers/oprofile/
-F:	include/linux/oprofile.h
-
-ORACLE CLUSTER FILESYSTEM 2 (OCFS2)
-M:	Mark Fasheh <mfasheh@suse.com>
-M:	Joel Becker <jlbec@evilplan.org>
-L:	ocfs2-devel@oss.oracle.com (moderated for non-subscribers)
-W:	http://oss.oracle.com/projects/ocfs2/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2.git
-S:	Supported
-F:	Documentation/filesystems/ocfs2.txt
-F:	Documentation/filesystems/dlmfs.txt
-F:	fs/ocfs2/
-
-ORINOCO DRIVER
-L:	linux-wireless@vger.kernel.org
-L:	orinoco-users@lists.sourceforge.net
-L:	orinoco-devel@lists.sourceforge.net
-W:	http://linuxwireless.org/en/users/Drivers/orinoco
-W:	http://www.nongnu.org/orinoco/
-S:	Orphan
-F:	drivers/net/wireless/orinoco/
-
-OSD LIBRARY and FILESYSTEM
-M:	Boaz Harrosh <bharrosh@panasas.com>
-M:	Benny Halevy <bhalevy@panasas.com>
-L:	osd-dev@open-osd.org
-W:	http://open-osd.org
-T:	git git://git.open-osd.org/open-osd.git
-S:	Maintained
-F:	drivers/scsi/osd/
-F:	include/scsi/osd_*
-F:	fs/exofs/
-
-P54 WIRELESS DRIVER
-M:	Christian Lamparter <chunkeey@googlemail.com>
-L:	linux-wireless@vger.kernel.org
-W:	http://wireless.kernel.org/en/users/Drivers/p54
-S:	Maintained
-F:	drivers/net/wireless/p54/
-
-PA SEMI ETHERNET DRIVER
-M:	Olof Johansson <olof@lixom.net>
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	drivers/net/pasemi_mac.*
-
-PA SEMI SMBUS DRIVER
-M:	Olof Johansson <olof@lixom.net>
-L:	linux-i2c@vger.kernel.org
-S:	Maintained
-F:	drivers/i2c/busses/i2c-pasemi.c
-
-PADATA PARALLEL EXECUTION MECHANISM
-M:	Steffen Klassert <steffen.klassert@secunet.com>
-L:	linux-crypto@vger.kernel.org
-S:	Maintained
-F:	kernel/padata.c
-F:	include/linux/padata.h
-F:	Documentation/padata.txt
-
-PANASONIC LAPTOP ACPI EXTRAS DRIVER
-M:	Harald Welte <laforge@gnumonks.org>
-L:	platform-driver-x86@vger.kernel.org
-S:	Maintained
-F:	drivers/platform/x86/panasonic-laptop.c
-
-PANASONIC MN10300/AM33/AM34 PORT
-M:	David Howells <dhowells@redhat.com>
-M:	Koichi Yasutake <yasutake.koichi@jp.panasonic.com>
-L:	linux-am33-list@redhat.com (moderated for non-subscribers)
-W:	ftp://ftp.redhat.com/pub/redhat/gnupro/AM33/
-S:	Maintained
-F:	Documentation/mn10300/
-F:	arch/mn10300/
-
-PARALLEL PORT SUPPORT
-L:	linux-parport@lists.infradead.org (subscribers-only)
-S:	Orphan
-F:	drivers/parport/
-F:	include/linux/parport*.h
-F:	drivers/char/ppdev.c
-F:	include/linux/ppdev.h
-
-PARAVIRT_OPS INTERFACE
-M:	Jeremy Fitzhardinge <jeremy@xensource.com>
-M:	Chris Wright <chrisw@sous-sol.org>
-M:	Alok Kataria <akataria@vmware.com>
-M:	Rusty Russell <rusty@rustcorp.com.au>
-L:	virtualization@lists.linux-foundation.org
-S:	Supported
-F:	Documentation/ia64/paravirt_ops.txt
-F:	arch/*/kernel/paravirt*
-F:	arch/*/include/asm/paravirt.h
-
-PARIDE DRIVERS FOR PARALLEL PORT IDE DEVICES
-M:	Tim Waugh <tim@cyberelk.net>
-L:	linux-parport@lists.infradead.org (subscribers-only)
-W:	http://www.torque.net/linux-pp.html
-S:	Maintained
-F:	Documentation/blockdev/paride.txt
-F:	drivers/block/paride/
-
-PARISC ARCHITECTURE
-M:	Kyle McMartin <kyle@mcmartin.ca>
-M:	Helge Deller <deller@gmx.de>
-M:	"James E.J. Bottomley" <jejb@parisc-linux.org>
-L:	linux-parisc@vger.kernel.org
-W:	http://www.parisc-linux.org/
-Q:	http://patchwork.kernel.org/project/linux-parisc/list/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6.git
-S:	Maintained
-F:	arch/parisc/
-F:	drivers/parisc/
-
-PC87360 HARDWARE MONITORING DRIVER
-M:	Jim Cromie <jim.cromie@gmail.com>
-L:	lm-sensors@lm-sensors.org
-S:	Maintained
-F:	Documentation/hwmon/pc87360
-F:	drivers/hwmon/pc87360.c
-
-PC8736x GPIO DRIVER
-M:	Jim Cromie <jim.cromie@gmail.com>
-S:	Maintained
-F:	drivers/char/pc8736x_gpio.c
-
-PC87427 HARDWARE MONITORING DRIVER
-M:	Jean Delvare <khali@linux-fr.org>
-L:	lm-sensors@lm-sensors.org
-S:	Maintained
-F:	Documentation/hwmon/pc87427
-F:	drivers/hwmon/pc87427.c
-
-PCA9532 LED DRIVER
-M:	Riku Voipio <riku.voipio@iki.fi>
-S:	Maintained
-F:	drivers/leds/leds-pca9532.c
-F:	include/linux/leds-pca9532.h
-
-PCA9541 I2C BUS MASTER SELECTOR DRIVER
-M:	Guenter Roeck <guenter.roeck@ericsson.com>
-L:	linux-i2c@vger.kernel.org
-S:	Maintained
-F:	drivers/i2c/muxes/pca9541.c
-
-PCA9564/PCA9665 I2C BUS DRIVER
-M:	Wolfram Sang <w.sang@pengutronix.de>
-L:	linux-i2c@vger.kernel.org
-S:	Maintained
-F:	drivers/i2c/algos/i2c-algo-pca.c
-F:	drivers/i2c/busses/i2c-pca-*
-F:	include/linux/i2c-algo-pca.h
-F:	include/linux/i2c-pca-platform.h
-
-PCI ERROR RECOVERY
-M:	Linas Vepstas <linas@austin.ibm.com>
-L:	linux-pci@vger.kernel.org
-S:	Supported
-F:	Documentation/PCI/pci-error-recovery.txt
-F:	Documentation/powerpc/eeh-pci-error-recovery.txt
-
-PCI SUBSYSTEM
-M:	Jesse Barnes <jbarnes@virtuousgeek.org>
-L:	linux-pci@vger.kernel.org
-Q:	http://patchwork.kernel.org/project/linux-pci/list/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6.git
-S:	Supported
-F:	Documentation/PCI/
-F:	drivers/pci/
-F:	include/linux/pci*
-
-PCI HOTPLUG
-M:	Jesse Barnes <jbarnes@virtuousgeek.org>
-L:	linux-pci@vger.kernel.org
-S:	Supported
-F:	drivers/pci/hotplug
-
-PCMCIA SUBSYSTEM
-P:	Linux PCMCIA Team
-L:	linux-pcmcia@lists.infradead.org
-W:	http://lists.infradead.org/mailman/listinfo/linux-pcmcia
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6.git
-S:	Maintained
-F:	Documentation/pcmcia/
-F:	drivers/pcmcia/
-F:	include/pcmcia/
-
-PCNET32 NETWORK DRIVER
-M:	Don Fry <pcnet32@frontier.com>
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	drivers/net/pcnet32.c
-
-PCRYPT PARALLEL CRYPTO ENGINE
-M:	Steffen Klassert <steffen.klassert@secunet.com>
-L:	linux-crypto@vger.kernel.org
-S:	Maintained
-F:	crypto/pcrypt.c
-F:	include/crypto/pcrypt.h
-
-PER-CPU MEMORY ALLOCATOR
-M:	Tejun Heo <tj@kernel.org>
-M:	Christoph Lameter <cl@linux-foundation.org>
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu.git
-S:	Maintained
-F:	include/linux/percpu*.h
-F:	mm/percpu*.c
-F:	arch/*/include/asm/percpu.h
-
-PER-TASK DELAY ACCOUNTING
-M:	Balbir Singh <balbir@linux.vnet.ibm.com>
-S:	Maintained
-F:	include/linux/delayacct.h
-F:	kernel/delayacct.c
-
-PERFORMANCE EVENTS SUBSYSTEM
-M:	Peter Zijlstra <a.p.zijlstra@chello.nl>
-M:	Paul Mackerras <paulus@samba.org>
-M:	Ingo Molnar <mingo@elte.hu>
-M:	Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
-S:	Supported
-F:	kernel/perf_event*.c
-F:	include/linux/perf_event.h
-F:	arch/*/kernel/perf_event*.c
-F:	arch/*/kernel/*/perf_event*.c
-F:	arch/*/kernel/*/*/perf_event*.c
-F:	arch/*/include/asm/perf_event.h
-F:	arch/*/lib/perf_event*.c
-F:	arch/*/kernel/perf_callchain.c
-F:	tools/perf/
-
-PERSONALITY HANDLING
-M:	Christoph Hellwig <hch@infradead.org>
-L:	linux-abi-devel@lists.sourceforge.net
-S:	Maintained
-F:	include/linux/personality.h
-
-PHONET PROTOCOL
-M:	Remi Denis-Courmont <remi.denis-courmont@nokia.com>
-S:	Supported
-F:	Documentation/networking/phonet.txt
-F:	include/linux/phonet.h
-F:	include/net/phonet/
-F:	net/phonet/
-
-PHRAM MTD DRIVER
-M:	Joern Engel <joern@lazybastard.org>
-L:	linux-mtd@lists.infradead.org
-S:	Maintained
-F:	drivers/mtd/devices/phram.c
-
-PKTCDVD DRIVER
-M:	Peter Osterlund <petero2@telia.com>
-S:	Maintained
-F:	drivers/block/pktcdvd.c
-F:	include/linux/pktcdvd.h
-
-PKUNITY SOC DRIVERS
-M:	Guan Xuetao <gxt@mprc.pku.edu.cn>
-W:	http://mprc.pku.edu.cn/~guanxuetao/linux
-S:	Maintained
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/epip/linux-2.6-unicore32.git
-F:	drivers/input/serio/i8042-unicore32io.h
-F:	drivers/i2c/busses/i2c-puv3.c
-F:	drivers/video/fb-puv3.c
-
-PMC SIERRA MaxRAID DRIVER
-M:	Anil Ravindranath <anil_ravindranath@pmc-sierra.com>
-L:	linux-scsi@vger.kernel.org
-W:	http://www.pmc-sierra.com/
-S:	Supported
-F:	drivers/scsi/pmcraid.*
-
-PMC SIERRA PM8001 DRIVER
-M:	jack_wang@usish.com
-M:	lindar_liu@usish.com
-L:	linux-scsi@vger.kernel.org
-S:	Supported
-F:	drivers/scsi/pm8001/
-
-POSIX CLOCKS and TIMERS
-M:	Thomas Gleixner <tglx@linutronix.de>
-S:	Supported
-F:	fs/timerfd.c
-F:	include/linux/timer*
-F:	kernel/*timer*
-
-POWER SUPPLY CLASS/SUBSYSTEM and DRIVERS
-M:	Anton Vorontsov <cbou@mail.ru>
-M:	David Woodhouse <dwmw2@infradead.org>
-T:	git git://git.infradead.org/battery-2.6.git
-S:	Maintained
-F:	include/linux/power_supply.h
-F:	drivers/power/power_supply*
-
-PNP SUPPORT
-M:	Adam Belay <abelay@mit.edu>
-M:	Bjorn Helgaas <bjorn.helgaas@hp.com>
-S:	Maintained
-F:	drivers/pnp/
-
-PNXxxxx I2C DRIVER
-M:	Vitaly Wool <vitalywool@gmail.com>
-L:	linux-i2c@vger.kernel.org
-S:	Maintained
-F:	drivers/i2c/busses/i2c-pnx.c
-
-PPP PROTOCOL DRIVERS AND COMPRESSORS
-M:	Paul Mackerras <paulus@samba.org>
-L:	linux-ppp@vger.kernel.org
-S:	Maintained
-F:	drivers/net/ppp_*
-
-PPP OVER ATM (RFC 2364)
-M:	Mitchell Blank Jr <mitch@sfgoth.com>
-S:	Maintained
-F:	net/atm/pppoatm.c
-F:	include/linux/atmppp.h
-
-PPP OVER ETHERNET
-M:	Michal Ostrowski <mostrows@earthlink.net>
-S:	Maintained
-F:	drivers/net/pppoe.c
-F:	drivers/net/pppox.c
-
-PPP OVER L2TP
-M:	James Chapman <jchapman@katalix.com>
-S:	Maintained
-F:	net/l2tp/l2tp_ppp.c
-F:	include/linux/if_pppol2tp.h
-
-PPS SUPPORT
-M:	Rodolfo Giometti <giometti@enneenne.com>
-W:	http://wiki.enneenne.com/index.php/LinuxPPS_support
-L:	linuxpps@ml.enneenne.com (subscribers-only)
-S:	Maintained
-F:	Documentation/pps/
-F:	drivers/pps/
-F:	include/linux/pps*.h
-
-PPTP DRIVER
-M:	Dmitry Kozlov <xeb@mail.ru>
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	drivers/net/pptp.c
-W:	http://sourceforge.net/projects/accel-pptp
-
-PREEMPTIBLE KERNEL
-M:	Robert Love <rml@tech9.net>
-L:	kpreempt-tech@lists.sourceforge.net
-W:	ftp://ftp.kernel.org/pub/linux/kernel/people/rml/preempt-kernel
-S:	Supported
-F:	Documentation/preempt-locking.txt
-F:	include/linux/preempt.h
-
-PRISM54 WIRELESS DRIVER
-M:	"Luis R. Rodriguez" <mcgrof@gmail.com>
-L:	linux-wireless@vger.kernel.org
-W:	http://wireless.kernel.org/en/users/Drivers/p54
-S:	Obsolete
-F:	drivers/net/wireless/prism54/
-
-PROMISE SATA TX2/TX4 CONTROLLER LIBATA DRIVER
-M:	Mikael Pettersson <mikpe@it.uu.se>
-L:	linux-ide@vger.kernel.org
-S:	Maintained
-F:	drivers/ata/sata_promise.*
-
-PS3 NETWORK SUPPORT
-M:	Geoff Levand <geoff@infradead.org>
-L:	netdev@vger.kernel.org
-L:	cbe-oss-dev@lists.ozlabs.org
-S:	Maintained
-F:	drivers/net/ps3_gelic_net.*
-
-PS3 PLATFORM SUPPORT
-M:	Geoff Levand <geoff@infradead.org>
-L:	linuxppc-dev@lists.ozlabs.org
-L:	cbe-oss-dev@lists.ozlabs.org
-S:	Maintained
-F:	arch/powerpc/boot/ps3*
-F:	arch/powerpc/include/asm/lv1call.h
-F:	arch/powerpc/include/asm/ps3*.h
-F:	arch/powerpc/platforms/ps3/
-F:	drivers/*/ps3*
-F:	drivers/ps3/
-F:	drivers/rtc/rtc-ps3.c
-F:	drivers/usb/host/*ps3.c
-F:	sound/ppc/snd_ps3*
-
-PS3VRAM DRIVER
-M:	Jim Paris <jim@jtan.com>
-L:	cbe-oss-dev@lists.ozlabs.org
-S:	Maintained
-F:	drivers/block/ps3vram.c
-
-PTRACE SUPPORT
-M:	Roland McGrath <roland@redhat.com>
-M:	Oleg Nesterov <oleg@redhat.com>
-S:	Maintained
-F:	include/asm-generic/syscall.h
-F:	include/linux/ptrace.h
-F:	include/linux/regset.h
-F:	include/linux/tracehook.h
-F:	kernel/ptrace.c
-
-PVRUSB2 VIDEO4LINUX DRIVER
-M:	Mike Isely <isely@pobox.com>
-L:	pvrusb2@isely.net	(subscribers-only)
-L:	linux-media@vger.kernel.org
-W:	http://www.isely.net/pvrusb2/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
-S:	Maintained
-F:	Documentation/video4linux/README.pvrusb2
-F:	drivers/media/video/pvrusb2/
-
-PXA2xx/PXA3xx SUPPORT
-M:	Eric Miao <eric.y.miao@gmail.com>
-M:	Russell King <linux@arm.linux.org.uk>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-F:	arch/arm/mach-pxa/
-F:	drivers/pcmcia/pxa2xx*
-F:	drivers/spi/pxa2xx*
-F:	drivers/usb/gadget/pxa2*
-F:	include/sound/pxa2xx-lib.h
-F:	sound/arm/pxa*
-F:	sound/soc/pxa
-
-PXA168 SUPPORT
-M:	Eric Miao <eric.y.miao@gmail.com>
-M:	Jason Chagas <jason.chagas@marvell.com>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6.git
-S:	Maintained
-
-PXA910 SUPPORT
-M:	Eric Miao <eric.y.miao@gmail.com>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6.git
-S:	Maintained
-
-MMP2 SUPPORT (aka ARMADA610)
-M:	Haojian Zhuang <haojian.zhuang@marvell.com>
-M:	Eric Miao <eric.y.miao@gmail.com>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6.git
-S:	Maintained
-
-PXA MMCI DRIVER
-S:	Orphan
-
-PXA RTC DRIVER
-M:	Robert Jarzmik <robert.jarzmik@free.fr>
-L:	rtc-linux@googlegroups.com
-S:	Maintained
-
-QLOGIC QLA1280 SCSI DRIVER
-M:	Michael Reed <mdr@sgi.com>
-L:	linux-scsi@vger.kernel.org
-S:	Maintained
-F:	drivers/scsi/qla1280.[ch]
-
-QLOGIC QLA2XXX FC-SCSI DRIVER
-M:	Andrew Vasquez <andrew.vasquez@qlogic.com>
-M:	linux-driver@qlogic.com
-L:	linux-scsi@vger.kernel.org
-S:	Supported
-F:	Documentation/scsi/LICENSE.qla2xxx
-F:	drivers/scsi/qla2xxx/
-
-QLOGIC QLA4XXX iSCSI DRIVER
-M:	Ravi Anand <ravi.anand@qlogic.com>
-M:	Vikas Chaudhary <vikas.chaudhary@qlogic.com>
-M:	iscsi-driver@qlogic.com
-L:	linux-scsi@vger.kernel.org
-S:	Supported
-F:	drivers/scsi/qla4xxx/
-
-QLOGIC QLA3XXX NETWORK DRIVER
-M:	Ron Mercer <ron.mercer@qlogic.com>
-M:	linux-driver@qlogic.com
-L:	netdev@vger.kernel.org
-S:	Supported
-F:	Documentation/networking/LICENSE.qla3xxx
-F:	drivers/net/qla3xxx.*
-
-QLOGIC QLCNIC (1/10)Gb ETHERNET DRIVER
-M:	Amit Kumar Salecha <amit.salecha@qlogic.com>
-M:	Anirban Chakraborty <anirban.chakraborty@qlogic.com>
-M:	linux-driver@qlogic.com
-L:	netdev@vger.kernel.org
-S:	Supported
-F:	drivers/net/qlcnic/
-
-QLOGIC QLGE 10Gb ETHERNET DRIVER
-M:	Ron Mercer <ron.mercer@qlogic.com>
-M:	linux-driver@qlogic.com
-L:	netdev@vger.kernel.org
-S:	Supported
-F:	drivers/net/qlge/
-
-QNX4 FILESYSTEM
-M:	Anders Larsen <al@alarsen.net>
-W:	http://www.alarsen.net/linux/qnx4fs/
-S:	Maintained
-F:	fs/qnx4/
-F:	include/linux/qnx4_fs.h
-F:	include/linux/qnxtypes.h
-
-RADOS BLOCK DEVICE (RBD)
-F:	include/linux/qnxtypes.h
-M:	Yehuda Sadeh <yehuda@hq.newdream.net>
-M:	Sage Weil <sage@newdream.net>
-M:	ceph-devel@vger.kernel.org
-S:	Supported
-F:	drivers/block/rbd.c
-F:	drivers/block/rbd_types.h
-
-RADEON FRAMEBUFFER DISPLAY DRIVER
-M:	Benjamin Herrenschmidt <benh@kernel.crashing.org>
-L:	linux-fbdev@vger.kernel.org
-S:	Maintained
-F:	drivers/video/aty/radeon*
-F:	include/linux/radeonfb.h
-
-RAGE128 FRAMEBUFFER DISPLAY DRIVER
-M:	Paul Mackerras <paulus@samba.org>
-L:	linux-fbdev@vger.kernel.org
-S:	Maintained
-F:	drivers/video/aty/aty128fb.c
-
-RALINK RT2X00 WIRELESS LAN DRIVER
-P:	rt2x00 project
-M:	Ivo van Doorn <IvDoorn@gmail.com>
-M:	Gertjan van Wingerde <gwingerde@gmail.com>
-M:	Helmut Schaa <helmut.schaa@googlemail.com>
-L:	linux-wireless@vger.kernel.org
-L:	users@rt2x00.serialmonkey.com (moderated for non-subscribers)
-W:	http://rt2x00.serialmonkey.com/
-S:	Maintained
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/ivd/rt2x00.git
-F:	drivers/net/wireless/rt2x00/
-
-RAMDISK RAM BLOCK DEVICE DRIVER
-M:	Nick Piggin <npiggin@kernel.dk>
-S:	Maintained
-F:	Documentation/blockdev/ramdisk.txt
-F:	drivers/block/brd.c
-
-RANDOM NUMBER DRIVER
-M:	Matt Mackall <mpm@selenic.com>
-S:	Maintained
-F:	drivers/char/random.c
-
-RAPIDIO SUBSYSTEM
-M:	Matt Porter <mporter@kernel.crashing.org>
-M:	Alexandre Bounine <alexandre.bounine@idt.com>
-S:	Maintained
-F:	drivers/rapidio/
-
-RAYLINK/WEBGEAR 802.11 WIRELESS LAN DRIVER
-L:	linux-wireless@vger.kernel.org
-S:	Orphan
-F:	drivers/net/wireless/ray*
-
-RCUTORTURE MODULE
-M:	Josh Triplett <josh@freedesktop.org>
-M:	"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
-S:	Supported
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-2.6-rcu.git
-F:	Documentation/RCU/torture.txt
-F:	kernel/rcutorture.c
-
-RDC R-321X SoC
-M:	Florian Fainelli <florian@openwrt.org>
-S:	Maintained
-
-RDC R6040 FAST ETHERNET DRIVER
-M:	Florian Fainelli <florian@openwrt.org>
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	drivers/net/r6040.c
-
-RDS - RELIABLE DATAGRAM SOCKETS
-M:	Andy Grover <andy.grover@oracle.com>
-L:	rds-devel@oss.oracle.com (moderated for non-subscribers)
-S:	Supported
-F:	net/rds/
-
-READ-COPY UPDATE (RCU)
-M:	Dipankar Sarma <dipankar@in.ibm.com>
-M:	"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
-W:	http://www.rdrop.com/users/paulmck/rclock/
-S:	Supported
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-2.6-rcu.git
-F:	Documentation/RCU/
-F:	include/linux/rcu*
-F:	include/linux/srcu*
-F:	kernel/rcu*
-F:	kernel/srcu*
-X:	kernel/rcutorture.c
-
-REAL TIME CLOCK (RTC) SUBSYSTEM
-M:	Alessandro Zummo <a.zummo@towertech.it>
-L:	rtc-linux@googlegroups.com
-Q:	http://patchwork.ozlabs.org/project/rtc-linux/list/
-S:	Maintained
-F:	Documentation/rtc.txt
-F:	drivers/rtc/
-F:	include/linux/rtc.h
-
-REISERFS FILE SYSTEM
-L:	reiserfs-devel@vger.kernel.org
-S:	Supported
-F:	fs/reiserfs/
-
-RFKILL
-M:	Johannes Berg <johannes@sipsolutions.net>
-L:	linux-wireless@vger.kernel.org
-S:	Maintained
-F:	Documentation/rfkill.txt
-F:	net/rfkill/
-
-RICOH SMARTMEDIA/XD DRIVER
-M:	Maxim Levitsky <maximlevitsky@gmail.com>
-S:	Maintained
-F:	drivers/mtd/nand/r852.c
-F:	drivers/mtd/nand/r852.h
-
-RICOH R5C592 MEMORYSTICK DRIVER
-M:	Maxim Levitsky <maximlevitsky@gmail.com>
-S:	Maintained
-F:	drivers/memstick/host/r592.*
-
-RISCOM8 DRIVER
-S:	Orphan
-F:	Documentation/serial/riscom8.txt
-F:	drivers/staging/tty/riscom8*
-
-ROCKETPORT DRIVER
-P:	Comtrol Corp.
-W:	http://www.comtrol.com
-S:	Maintained
-F:	Documentation/serial/rocket.txt
-F:	drivers/tty/rocket*
-
-ROSE NETWORK LAYER
-M:	Ralf Baechle <ralf@linux-mips.org>
-L:	linux-hams@vger.kernel.org
-W:	http://www.linux-ax25.org/
-S:	Maintained
-F:	include/linux/rose.h
-F:	include/net/rose.h
-F:	net/rose/
-
-RTL8180 WIRELESS DRIVER
-M:	"John W. Linville" <linville@tuxdriver.com>
-L:	linux-wireless@vger.kernel.org
-W:	http://linuxwireless.org/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git
-S:	Maintained
-F:	drivers/net/wireless/rtl818x/rtl8180/
-
-RTL8187 WIRELESS DRIVER
-M:	Herton Ronaldo Krzesinski <herton@canonical.com>
-M:	Hin-Tak Leung <htl10@users.sourceforge.net>
-M:	Larry Finger <Larry.Finger@lwfinger.net>
-L:	linux-wireless@vger.kernel.org
-W:	http://linuxwireless.org/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git
-S:	Maintained
-F:	drivers/net/wireless/rtl818x/rtl8187/
-
-RTL8192CE WIRELESS DRIVER
-M:	Larry Finger <Larry.Finger@lwfinger.net>
-M:	Chaoming Li <chaoming_li@realsil.com.cn>
-L:	linux-wireless@vger.kernel.org
-W:	http://linuxwireless.org/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git
-S:	Maintained
-F:	drivers/net/wireless/rtlwifi/
-F:	drivers/net/wireless/rtlwifi/rtl8192ce/
-
-S3 SAVAGE FRAMEBUFFER DRIVER
-M:	Antonino Daplas <adaplas@gmail.com>
-L:	linux-fbdev@vger.kernel.org
-S:	Maintained
-F:	drivers/video/savage/
-
-S390
-M:	Martin Schwidefsky <schwidefsky@de.ibm.com>
-M:	Heiko Carstens <heiko.carstens@de.ibm.com>
-M:	linux390@de.ibm.com
-L:	linux-s390@vger.kernel.org
-W:	http://www.ibm.com/developerworks/linux/linux390/
-S:	Supported
-F:	arch/s390/
-F:	drivers/s390/
-F:	fs/partitions/ibm.c
-F:	Documentation/s390/
-F:	Documentation/DocBook/s390*
-
-S390 NETWORK DRIVERS
-M:	Ursula Braun <ursula.braun@de.ibm.com>
-M:	Frank Blaschka <blaschka@linux.vnet.ibm.com>
-M:	linux390@de.ibm.com
-L:	linux-s390@vger.kernel.org
-W:	http://www.ibm.com/developerworks/linux/linux390/
-S:	Supported
-F:	drivers/s390/net/
-
-S390 ZCRYPT DRIVER
-M:	Holger Dengler <hd@linux.vnet.ibm.com>
-M:	linux390@de.ibm.com
-L:	linux-s390@vger.kernel.org
-W:	http://www.ibm.com/developerworks/linux/linux390/
-S:	Supported
-F:	drivers/s390/crypto/
-
-S390 ZFCP DRIVER
-M:	Steffen Maier <maier@linux.vnet.ibm.com>
-M:	linux390@de.ibm.com
-L:	linux-s390@vger.kernel.org
-W:	http://www.ibm.com/developerworks/linux/linux390/
-S:	Supported
-F:	drivers/s390/scsi/zfcp_*
-
-S390 IUCV NETWORK LAYER
-M:	Ursula Braun <ursula.braun@de.ibm.com>
-M:	linux390@de.ibm.com
-L:	linux-s390@vger.kernel.org
-W:	http://www.ibm.com/developerworks/linux/linux390/
-S:	Supported
-F:	drivers/s390/net/*iucv*
-F:	include/net/iucv/
-F:	net/iucv/
-
-S3C24XX SD/MMC Driver
-M:	Ben Dooks <ben-linux@fluff.org>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Supported
-F:	drivers/mmc/host/s3cmci.*
-
-SAA7146 VIDEO4LINUX-2 DRIVER
-M:	Michael Hunold <michael@mihu.de>
-L:	linux-media@vger.kernel.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
-W:	http://www.mihu.de/linux/saa7146
-S:	Maintained
-F:	drivers/media/common/saa7146*
-F:	drivers/media/video/*7146*
-F:	include/media/*7146*
-
-SAMSUNG AUDIO (ASoC) DRIVERS
-M:	Jassi Brar <jassisinghbrar@gmail.com>
-L:	alsa-devel@alsa-project.org (moderated for non-subscribers)
-S:	Supported
-F:	sound/soc/samsung
-
-SERIAL DRIVERS
-M:	Alan Cox <alan@linux.intel.com>
-L:	linux-serial@vger.kernel.org
-S:	Maintained
-F:	drivers/tty/serial
-
-TIMEKEEPING, NTP
-M:	John Stultz <johnstul@us.ibm.com>
-M:	Thomas Gleixner <tglx@linutronix.de>
-S:	Supported
-F:	include/linux/clocksource.h
-F:	include/linux/time.h
-F:	include/linux/timex.h
-F:	kernel/time/clocksource.c
-F:	kernel/time/time*.c
-F:	kernel/time/ntp.c
-
-TLG2300 VIDEO4LINUX-2 DRIVER
-M:	Huang Shijie <shijie8@gmail.com>
-M:	Kang Yong <kangyong@telegent.com>
-M:	Zhang Xiaobing <xbzhang@telegent.com>
-S:	Supported
-F:	drivers/media/video/tlg2300
-
-SC1200 WDT DRIVER
-M:	Zwane Mwaikambo <zwane@arm.linux.org.uk>
-S:	Maintained
-F:	drivers/watchdog/sc1200wdt.c
-
-SCHEDULER
-M:	Ingo Molnar <mingo@elte.hu>
-M:	Peter Zijlstra <peterz@infradead.org>
-S:	Maintained
-F:	kernel/sched*
-F:	include/linux/sched.h
-
-SCORE ARCHITECTURE
-M:	Chen Liqin <liqin.chen@sunplusct.com>
-M:	Lennox Wu <lennox.wu@gmail.com>
-W:	http://www.sunplusct.com
-S:	Supported
-F:	arch/score/
-
-SCSI CDROM DRIVER
-M:	Jens Axboe <axboe@kernel.dk>
-L:	linux-scsi@vger.kernel.org
-W:	http://www.kernel.dk
-S:	Maintained
-F:	drivers/scsi/sr*
-
-SCSI RDMA PROTOCOL (SRP) INITIATOR
-M:	David Dillow <dillowda@ornl.gov>
-L:	linux-rdma@vger.kernel.org
-S:	Supported
-W:	http://www.openfabrics.org
-Q:	http://patchwork.kernel.org/project/linux-rdma/list/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/dad/srp-initiator.git
-F:	drivers/infiniband/ulp/srp/
-F:	include/scsi/srp.h
-
-SCSI SG DRIVER
-M:	Doug Gilbert <dgilbert@interlog.com>
-L:	linux-scsi@vger.kernel.org
-W:	http://www.torque.net/sg
-S:	Maintained
-F:	drivers/scsi/sg.c
-F:	include/scsi/sg.h
-
-SCSI SUBSYSTEM
-M:	"James E.J. Bottomley" <James.Bottomley@suse.de>
-L:	linux-scsi@vger.kernel.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6.git
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6.git
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-pending-2.6.git
-S:	Maintained
-F:	drivers/scsi/
-F:	include/scsi/
-
-SCSI TAPE DRIVER
-M:	Kai Mäkisara <Kai.Makisara@kolumbus.fi>
-L:	linux-scsi@vger.kernel.org
-S:	Maintained
-F:	Documentation/scsi/st.txt
-F:	drivers/scsi/st*
-
-SCTP PROTOCOL
-M:	Vlad Yasevich <vladislav.yasevich@hp.com>
-M:	Sridhar Samudrala <sri@us.ibm.com>
-L:	linux-sctp@vger.kernel.org
-W:	http://lksctp.sourceforge.net
-S:	Supported
-F:	Documentation/networking/sctp.txt
-F:	include/linux/sctp.h
-F:	include/net/sctp/
-F:	net/sctp/
-
-SCx200 CPU SUPPORT
-M:	Jim Cromie <jim.cromie@gmail.com>
-S:	Odd Fixes
-F:	Documentation/i2c/busses/scx200_acb
-F:	arch/x86/platform/scx200/
-F:	drivers/watchdog/scx200_wdt.c
-F:	drivers/i2c/busses/scx200*
-F:	drivers/mtd/maps/scx200_docflash.c
-F:	include/linux/scx200.h
-
-SCx200 GPIO DRIVER
-M:	Jim Cromie <jim.cromie@gmail.com>
-S:	Maintained
-F:	drivers/char/scx200_gpio.c
-F:	include/linux/scx200_gpio.h
-
-SCx200 HRT CLOCKSOURCE DRIVER
-M:	Jim Cromie <jim.cromie@gmail.com>
-S:	Maintained
-F:	drivers/clocksource/scx200_hrt.c
-
-SDRICOH_CS MMC/SD HOST CONTROLLER INTERFACE DRIVER
-M:	Sascha Sommer <saschasommer@freenet.de>
-L:	sdricohcs-devel@lists.sourceforge.net (subscribers-only)
-S:	Maintained
-F:	drivers/mmc/host/sdricoh_cs.c
-
-SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) DRIVER
-M:	Chris Ball <cjb@laptop.org>
-L:	linux-mmc@vger.kernel.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc.git
-S:	Maintained
-F:	drivers/mmc/host/sdhci.*
-
-SECURE DIGITAL HOST CONTROLLER INTERFACE, OPEN FIRMWARE BINDINGS (SDHCI-OF)
-M:	Anton Vorontsov <avorontsov@ru.mvista.com>
-L:	linuxppc-dev@lists.ozlabs.org
-L:	linux-mmc@vger.kernel.org
-S:	Maintained
-F:	drivers/mmc/host/sdhci-of.*
-
-SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) SAMSUNG DRIVER
-M:	Ben Dooks <ben-linux@fluff.org>
-L:	linux-mmc@vger.kernel.org
-S:	Maintained
-F:	drivers/mmc/host/sdhci-s3c.c
-
-SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) ST SPEAR DRIVER
-M:	Viresh Kumar <viresh.kumar@st.com>
-L:	linux-mmc@vger.kernel.org
-S:	Maintained
-F:	drivers/mmc/host/sdhci-spear.c
-
-SECURITY SUBSYSTEM
-M:	James Morris <jmorris@namei.org>
-L:	linux-security-module@vger.kernel.org (suggested Cc:)
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6.git
-W:	http://security.wiki.kernel.org/
-S:	Supported
-F:	security/
-
-SECURITY CONTACT
-M:	Security Officers <security@kernel.org>
-S:	Supported
-
-SELINUX SECURITY MODULE
-M:	Stephen Smalley <sds@tycho.nsa.gov>
-M:	James Morris <jmorris@namei.org>
-M:	Eric Paris <eparis@parisplace.org>
-L:	selinux@tycho.nsa.gov (subscribers-only, general discussion)
-W:	http://selinuxproject.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6.git
-S:	Supported
-F:	include/linux/selinux*
-F:	security/selinux/
-
-APPARMOR SECURITY MODULE
-M:	John Johansen <john.johansen@canonical.com>
-L:	apparmor@lists.ubuntu.com (subscribers-only, general discussion)
-W:	apparmor.wiki.kernel.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jj/apparmor-dev.git
-S:	Supported
-F:	security/apparmor/
-
-SENSABLE PHANTOM
-M:	Jiri Slaby <jirislaby@gmail.com>
-S:	Maintained
-F:	drivers/misc/phantom.c
-F:	include/linux/phantom.h
-
-SERIAL ATA (SATA) SUBSYSTEM
-M:	Jeff Garzik <jgarzik@pobox.com>
-L:	linux-ide@vger.kernel.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev.git
-S:	Supported
-F:	drivers/ata/
-F:	include/linux/ata.h
-F:	include/linux/libata.h
-
-SERVER ENGINES 10Gbps iSCSI - BladeEngine 2 DRIVER
-M:	Jayamohan Kallickal <jayamohank@serverengines.com>
-L:	linux-scsi@vger.kernel.org
-W:	http://www.serverengines.com
-S:	Supported
-F:	drivers/scsi/be2iscsi/
-
-SERVER ENGINES 10Gbps NIC - BladeEngine 2 DRIVER
-M:	Sathya Perla <sathya.perla@emulex.com>
-M:	Subbu Seetharaman <subbu.seetharaman@emulex.com>
-M:	Ajit Khaparde <ajit.khaparde@emulex.com>
-L:	netdev@vger.kernel.org
-W:	http://www.emulex.com
-S:	Supported
-F:	drivers/net/benet/
-
-SFC NETWORK DRIVER
-M:	Solarflare linux maintainers <linux-net-drivers@solarflare.com>
-M:	Steve Hodgson <shodgson@solarflare.com>
-M:	Ben Hutchings <bhutchings@solarflare.com>
-L:	netdev@vger.kernel.org
-S:	Supported
-F:	drivers/net/sfc/
-
-SGI GRU DRIVER
-M:	Jack Steiner <steiner@sgi.com>
-S:	Maintained
-F:	drivers/misc/sgi-gru/
-
-SGI SN-IA64 (Altix) SERIAL CONSOLE DRIVER
-M:	Pat Gefre <pfg@sgi.com>
-L:	linux-ia64@vger.kernel.org
-S:	Supported
-F:	Documentation/ia64/serial.txt
-F:	drivers/tty/serial/ioc?_serial.c
-F:	include/linux/ioc?.h
-
-SGI VISUAL WORKSTATION 320 AND 540
-M:	Andrey Panin <pazke@donpac.ru>
-L:	linux-visws-devel@lists.sf.net
-W:	http://linux-visws.sf.net
-S:	Maintained for 2.6.
-F:	Documentation/sgi-visws.txt
-
-SGI XP/XPC/XPNET DRIVER
-M:	Robin Holt <holt@sgi.com>
-S:	Maintained
-F:	drivers/misc/sgi-xp/
-
-SIMPLE FIRMWARE INTERFACE (SFI)
-M:	Len Brown <lenb@kernel.org>
-L:	sfi-devel@simplefirmware.org
-W:	http://simplefirmware.org/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-sfi-2.6.git
-S:	Supported
-F:	arch/x86/platform/sfi/
-F:	drivers/sfi/
-F:	include/linux/sfi*.h
-
-SIMTEC EB110ATX (Chalice CATS)
-P:	Ben Dooks
-P:	Vincent Sanders <vince@simtec.co.uk>
-M:	Simtec Linux Team <linux@simtec.co.uk>
-W:	http://www.simtec.co.uk/products/EB110ATX/
-S:	Supported
-
-SIMTEC EB2410ITX (BAST)
-P:	Ben Dooks
-P:	Vincent Sanders <vince@simtec.co.uk>
-M:	Simtec Linux Team <linux@simtec.co.uk>
-W:	http://www.simtec.co.uk/products/EB2410ITX/
-S:	Supported
-F:	arch/arm/mach-s3c2410/mach-bast.c
-F:	arch/arm/mach-s3c2410/bast-ide.c
-F:	arch/arm/mach-s3c2410/bast-irq.c
-
-TI DAVINCI MACHINE SUPPORT
-M:	Sekhar Nori <nsekhar@ti.com>
-M:	Kevin Hilman <khilman@ti.com>
-L:	davinci-linux-open-source@linux.davincidsp.com (subscribers-only)
-Q:	http://patchwork.kernel.org/project/linux-davinci/list/
-S:	Supported
-F:	arch/arm/mach-davinci
-
-SIS 190 ETHERNET DRIVER
-M:	Francois Romieu <romieu@fr.zoreil.com>
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	drivers/net/sis190.c
-
-SIS 900/7016 FAST ETHERNET DRIVER
-M:	Daniele Venzano <venza@brownhat.org>
-W:	http://www.brownhat.org/sis900.html
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	drivers/net/sis900.*
-
-SIS 96X I2C/SMBUS DRIVER
-M:	"Mark M. Hoffman" <mhoffman@lightlink.com>
-L:	linux-i2c@vger.kernel.org
-S:	Maintained
-F:	Documentation/i2c/busses/i2c-sis96x
-F:	drivers/i2c/busses/i2c-sis96x.c
-
-SIS FRAMEBUFFER DRIVER
-M:	Thomas Winischhofer <thomas@winischhofer.net>
-W:	http://www.winischhofer.net/linuxsisvga.shtml
-S:	Maintained
-F:	Documentation/fb/sisfb.txt
-F:	drivers/video/sis/
-F:	include/video/sisfb.h
-
-SIS USB2VGA DRIVER
-M:	Thomas Winischhofer <thomas@winischhofer.net>
-W:	http://www.winischhofer.at/linuxsisusbvga.shtml
-S:	Maintained
-F:	drivers/usb/misc/sisusbvga/
-
-SKGE, SKY2 10/100/1000 GIGABIT ETHERNET DRIVERS
-M:	Stephen Hemminger <shemminger@linux-foundation.org>
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	drivers/net/skge.*
-F:	drivers/net/sky2.*
-
-SLAB ALLOCATOR
-M:	Christoph Lameter <cl@linux-foundation.org>
-M:	Pekka Enberg <penberg@kernel.org>
-M:	Matt Mackall <mpm@selenic.com>
-L:	linux-mm@kvack.org
-S:	Maintained
-F:	include/linux/sl?b*.h
-F:	mm/sl?b.c
-
-SMC91x ETHERNET DRIVER
-M:	Nicolas Pitre <nico@fluxnic.net>
-S:	Odd Fixes
-F:	drivers/net/smc91x.*
-
-SMM665 HARDWARE MONITOR DRIVER
-M:	Guenter Roeck <linux@roeck-us.net>
-L:	lm-sensors@lm-sensors.org
-S:	Maintained
-F:	Documentation/hwmon/smm665
-F:	drivers/hwmon/smm665.c
-
-SMSC EMC2103 HARDWARE MONITOR DRIVER
-M:	Steve Glendinning <steve.glendinning@smsc.com>
-L:	lm-sensors@lm-sensors.org
-S:	Supported
-F:	Documentation/hwmon/emc2103
-F:	drivers/hwmon/emc2103.c
-
-SMSC SCH5627 HARDWARE MONITOR DRIVER
-M:	Hans de Goede <hdegoede@redhat.com>
-L:	lm-sensors@lm-sensors.org
-S:	Supported
-F:	Documentation/hwmon/sch5627
-F:	drivers/hwmon/sch5627.c
-
-SMSC47B397 HARDWARE MONITOR DRIVER
-M:	"Mark M. Hoffman" <mhoffman@lightlink.com>
-L:	lm-sensors@lm-sensors.org
-S:	Maintained
-F:	Documentation/hwmon/smsc47b397
-F:	drivers/hwmon/smsc47b397.c
-
-SMSC911x ETHERNET DRIVER
-M:	Steve Glendinning <steve.glendinning@smsc.com>
-L:	netdev@vger.kernel.org
-S:	Supported
-F:	include/linux/smsc911x.h
-F:	drivers/net/smsc911x.*
-
-SMSC9420 PCI ETHERNET DRIVER
-M:	Steve Glendinning <steve.glendinning@smsc.com>
-L:	netdev@vger.kernel.org
-S:	Supported
-F:	drivers/net/smsc9420.*
-
-SN-IA64 (Itanium) SUB-PLATFORM
-M:	Jes Sorensen <jes@sgi.com>
-L:	linux-altix@sgi.com
-L:	linux-ia64@vger.kernel.org
-W:	http://www.sgi.com/altix
-S:	Maintained
-F:	arch/ia64/sn/
-
-SOC-CAMERA V4L2 SUBSYSTEM
-M:	Guennadi Liakhovetski <g.liakhovetski@gmx.de>
-L:	linux-media@vger.kernel.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
-S:	Maintained
-F:	include/media/v4l2*
-F:	drivers/media/video/v4l2*
-
-SOEKRIS NET48XX LED SUPPORT
-M:	Chris Boot <bootc@bootc.net>
-S:	Maintained
-F:	drivers/leds/leds-net48xx.c
-
-SOFTWARE RAID (Multiple Disks) SUPPORT
-M:	Neil Brown <neilb@suse.de>
-L:	linux-raid@vger.kernel.org
-S:	Supported
-F:	drivers/md/
-F:	include/linux/raid/
-
-SONIC NETWORK DRIVER
-M:	Thomas Bogendoerfer <tsbogend@alpha.franken.de>
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	drivers/net/sonic.*
-
-SONICS SILICON BACKPLANE DRIVER (SSB)
-M:	Michael Buesch <mb@bu3sch.de>
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	drivers/ssb/
-F:	include/linux/ssb/
-
-SONY VAIO CONTROL DEVICE DRIVER
-M:	Mattia Dongili <malattia@linux.it>
-L:	platform-driver-x86@vger.kernel.org
-W:	http://www.linux.it/~malattia/wiki/index.php/Sony_drivers
-S:	Maintained
-F:	Documentation/laptops/sony-laptop.txt
-F:	drivers/char/sonypi.c
-F:	drivers/platform/x86/sony-laptop.c
-F:	include/linux/sony-laptop.h
-
-SONY MEMORYSTICK CARD SUPPORT
-M:	Alex Dubov <oakad@yahoo.com>
-W:	http://tifmxx.berlios.de/
-S:	Maintained
-F:	drivers/memstick/host/tifm_ms.c
-
-SOUND
-M:	Jaroslav Kysela <perex@perex.cz>
-M:	Takashi Iwai <tiwai@suse.de>
-L:	alsa-devel@alsa-project.org (moderated for non-subscribers)
-W:	http://www.alsa-project.org/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git
-T:	git git://git.alsa-project.org/alsa-kernel.git
-S:	Maintained
-F:	Documentation/sound/
-F:	include/sound/
-F:	sound/
-
-SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEMENT (ASoC)
-M:	Liam Girdwood <lrg@slimlogic.co.uk>
-M:	Mark Brown <broonie@opensource.wolfsonmicro.com>
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git
-L:	alsa-devel@alsa-project.org (moderated for non-subscribers)
-W:	http://alsa-project.org/main/index.php/ASoC
-S:	Supported
-F:	sound/soc/
-F:	include/sound/soc*
-
-SPARC + UltraSPARC (sparc/sparc64)
-M:	"David S. Miller" <davem@davemloft.net>
-L:	sparclinux@vger.kernel.org
-Q:	http://patchwork.ozlabs.org/project/sparclinux/list/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6.git
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6.git
-S:	Maintained
-F:	arch/sparc/
-F:	drivers/sbus/
-
-SPARC SERIAL DRIVERS
-M:	"David S. Miller" <davem@davemloft.net>
-L:	sparclinux@vger.kernel.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6.git
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6.git
-S:	Maintained
-F:	drivers/tty/serial/suncore.c
-F:	drivers/tty/serial/suncore.h
-F:	drivers/tty/serial/sunhv.c
-F:	drivers/tty/serial/sunsab.c
-F:	drivers/tty/serial/sunsab.h
-F:	drivers/tty/serial/sunsu.c
-F:	drivers/tty/serial/sunzilog.c
-F:	drivers/tty/serial/sunzilog.h
-
-SPEAR PLATFORM SUPPORT
-M:	Viresh Kumar <viresh.kumar@st.com>
-W:	http://www.st.com/spear
-S:	Maintained
-F:	arch/arm/plat-spear/
-
-SPEAR3XX MACHINE SUPPORT
-M:	Viresh Kumar <viresh.kumar@st.com>
-W:	http://www.st.com/spear
-S:	Maintained
-F:	arch/arm/mach-spear3xx/
-
-SPEAR6XX MACHINE SUPPORT
-M:	Rajeev Kumar <rajeev-dlh.kumar@st.com>
-W:	http://www.st.com/spear
-S:	Maintained
-F:	arch/arm/mach-spear6xx/
-
-SPEAR CLOCK FRAMEWORK SUPPORT
-M:	Viresh Kumar <viresh.kumar@st.com>
-W:	http://www.st.com/spear
-S:	Maintained
-F:	arch/arm/mach-spear*/clock.c
-F:	arch/arm/mach-spear*/include/mach/clkdev.h
-F:	arch/arm/plat-spear/clock.c
-F:	arch/arm/plat-spear/include/plat/clkdev.h
-F:	arch/arm/plat-spear/include/plat/clock.h
-
-SPEAR PAD MULTIPLEXING SUPPORT
-M:	Viresh Kumar <viresh.kumar@st.com>
-W:	http://www.st.com/spear
-S:	Maintained
-F:	arch/arm/plat-spear/include/plat/padmux.h
-F:	arch/arm/plat-spear/padmux.c
-F:	arch/arm/mach-spear*/spear*xx.c
-F:	arch/arm/mach-spear*/include/mach/generic.h
-F:	arch/arm/mach-spear3xx/spear3*0.c
-F:	arch/arm/mach-spear3xx/spear3*0_evb.c
-F:	arch/arm/mach-spear6xx/spear600.c
-F:	arch/arm/mach-spear6xx/spear600_evb.c
-
-SPECIALIX IO8+ MULTIPORT SERIAL CARD DRIVER
-S:	Orphan
-F:	Documentation/serial/specialix.txt
-F:	drivers/staging/tty/specialix*
-
-SPI SUBSYSTEM
-M:	David Brownell <dbrownell@users.sourceforge.net>
-M:	Grant Likely <grant.likely@secretlab.ca>
-L:	spi-devel-general@lists.sourceforge.net
-Q:	http://patchwork.kernel.org/project/spi-devel-general/list/
-T:	git git://git.secretlab.ca/git/linux-2.6.git
-S:	Maintained
-F:	Documentation/spi/
-F:	drivers/spi/
-F:	include/linux/spi/
-
-SPIDERNET NETWORK DRIVER for CELL
-M:	Ishizaki Kou <kou.ishizaki@toshiba.co.jp>
-M:	Jens Osterkamp <jens@de.ibm.com>
-L:	netdev@vger.kernel.org
-S:	Supported
-F:	Documentation/networking/spider_net.txt
-F:	drivers/net/spider_net*
-
-SPU FILE SYSTEM
-M:	Jeremy Kerr <jk@ozlabs.org>
-L:	linuxppc-dev@lists.ozlabs.org
-L:	cbe-oss-dev@lists.ozlabs.org
-W:	http://www.ibm.com/developerworks/power/cell/
-S:	Supported
-F:	Documentation/filesystems/spufs.txt
-F:	arch/powerpc/platforms/cell/spufs/
-
-SQUASHFS FILE SYSTEM
-M:	Phillip Lougher <phillip@lougher.demon.co.uk>
-L:	squashfs-devel@lists.sourceforge.net (subscribers-only)
-W:	http://squashfs.org.uk
-S:	Maintained
-F:	Documentation/filesystems/squashfs.txt
-F:	fs/squashfs/
-
-SRM (Alpha) environment access
-M:	Jan-Benedict Glaw <jbglaw@lug-owl.de>
-S:	Maintained
-F:	arch/alpha/kernel/srm_env.c
-
-STABLE BRANCH
-M:	Greg Kroah-Hartman <greg@kroah.com>
-L:	stable@kernel.org
-S:	Maintained
-
-STAGING SUBSYSTEM
-M:	Greg Kroah-Hartman <gregkh@suse.de>
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6.git
-L:	devel@driverdev.osuosl.org
-S:	Maintained
-F:	drivers/staging/
-
-STARFIRE/DURALAN NETWORK DRIVER
-M:	Ion Badulescu <ionut@badula.org>
-S:	Odd Fixes
-F:	drivers/net/starfire*
-
-SUN3/3X
-M:	Sam Creasey <sammy@sammy.net>
-W:	http://sammy.net/sun3/
-S:	Maintained
-F:	arch/m68k/kernel/*sun3*
-F:	arch/m68k/sun3*/
-F:	arch/m68k/include/asm/sun3*
-
-SUPERH
-M:	Paul Mundt <lethal@linux-sh.org>
-L:	linux-sh@vger.kernel.org
-W:	http://www.linux-sh.org
-Q:	http://patchwork.kernel.org/project/linux-sh/list/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.git sh-latest
-S:	Supported
-F:	Documentation/sh/
-F:	arch/sh/
-F:	drivers/sh/
-
-SUSPEND TO RAM
-M:	Len Brown <len.brown@intel.com>
-M:	Pavel Machek <pavel@ucw.cz>
-M:	"Rafael J. Wysocki" <rjw@sisk.pl>
-L:	linux-pm@lists.linux-foundation.org
-S:	Supported
-F:	Documentation/power/
-F:	arch/x86/kernel/acpi/
-F:	drivers/base/power/
-F:	kernel/power/
-F:	include/linux/suspend.h
-F:	include/linux/freezer.h
-F:	include/linux/pm.h
-
-SVGA HANDLING
-M:	Martin Mares <mj@ucw.cz>
-L:	linux-video@atrey.karlin.mff.cuni.cz
-S:	Maintained
-F:	Documentation/svga.txt
-F:	arch/x86/boot/video*
-
-SYSV FILESYSTEM
-M:	Christoph Hellwig <hch@infradead.org>
-S:	Maintained
-F:	Documentation/filesystems/sysv-fs.txt
-F:	fs/sysv/
-F:	include/linux/sysv_fs.h
-
-TASKSTATS STATISTICS INTERFACE
-M:	Balbir Singh <balbir@linux.vnet.ibm.com>
-S:	Maintained
-F:	Documentation/accounting/taskstats*
-F:	include/linux/taskstats*
-F:	kernel/taskstats.c
-
-TC CLASSIFIER
-M:	Jamal Hadi Salim <hadi@cyberus.ca>
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	include/linux/pkt_cls.h
-F:	include/net/pkt_cls.h
-F:	net/sched/
-
-TCP LOW PRIORITY MODULE
-M:	"Wong Hoi Sing, Edison" <hswong3i@gmail.com>
-M:	"Hung Hing Lun, Mike" <hlhung3i@gmail.com>
-W:	http://tcp-lp-mod.sourceforge.net/
-S:	Maintained
-F:	net/ipv4/tcp_lp.c
-
-TEGRA SUPPORT
-M:	Colin Cross <ccross@android.com>
-M:	Erik Gilling <konkers@android.com>
-M:	Olof Johansson <olof@lixom.net>
-L:	linux-tegra@vger.kernel.org
-T:	git git://android.git.kernel.org/kernel/tegra.git
-S:	Supported
-F:	arch/arm/mach-tegra
-
-TEHUTI ETHERNET DRIVER
-M:	Alexander Indenbaum <baum@tehutinetworks.net>
-M:	Andy Gospodarek <andy@greyhouse.net>
-L:	netdev@vger.kernel.org
-S:	Supported
-F:	drivers/net/tehuti*
-
-Telecom Clock Driver for MCPL0010
-M:	Mark Gross <mark.gross@intel.com>
-S:	Supported
-F:	drivers/char/tlclk.c
-
-TENSILICA XTENSA PORT (xtensa)
-M:	Chris Zankel <chris@zankel.net>
-S:	Maintained
-F:	arch/xtensa/
-
-THINKPAD ACPI EXTRAS DRIVER
-M:	Henrique de Moraes Holschuh <ibm-acpi@hmh.eng.br>
-L:	ibm-acpi-devel@lists.sourceforge.net
-L:	platform-driver-x86@vger.kernel.org
-W:	http://ibm-acpi.sourceforge.net
-W:	http://thinkwiki.org/wiki/Ibm-acpi
-T:	git git://repo.or.cz/linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git
-S:	Maintained
-F:	drivers/platform/x86/thinkpad_acpi.c
-
-TI FLASH MEDIA INTERFACE DRIVER
-M:	Alex Dubov <oakad@yahoo.com>
-S:	Maintained
-F:	drivers/misc/tifm*
-F:	drivers/mmc/host/tifm_sd.c
-F:	include/linux/tifm.h
-
-TI TWL4030 SERIES SOC CODEC DRIVER
-M:	Peter Ujfalusi <peter.ujfalusi@nokia.com>
-L:	alsa-devel@alsa-project.org (moderated for non-subscribers)
-S:	Maintained
-F:	sound/soc/codecs/twl4030*
-
-TIPC NETWORK LAYER
-M:	Jon Maloy <jon.maloy@ericsson.com>
-M:	Allan Stephens <allan.stephens@windriver.com>
-L:	netdev@vger.kernel.org (core kernel code)
-L:	tipc-discussion@lists.sourceforge.net (user apps, general discussion)
-W:	http://tipc.sourceforge.net/
-S:	Maintained
-F:	include/linux/tipc*.h
-F:	net/tipc/
-
-TILE ARCHITECTURE
-M:	Chris Metcalf <cmetcalf@tilera.com>
-W:	http://www.tilera.com/scm/
-S:	Supported
-F:	arch/tile/
-F:	drivers/tty/hvc/hvc_tile.c
-F:	drivers/net/tile/
-F:	drivers/edac/tile_edac.c
-
-TLAN NETWORK DRIVER
-M:	Samuel Chessman <chessman@tux.org>
-L:	tlan-devel@lists.sourceforge.net (subscribers-only)
-W:	http://sourceforge.net/projects/tlan/
-S:	Maintained
-F:	Documentation/networking/tlan.txt
-F:	drivers/net/tlan.*
-
-TOMOYO SECURITY MODULE
-M:	Kentaro Takeda <takedakn@nttdata.co.jp>
-M:	Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
-L:	tomoyo-dev-en@lists.sourceforge.jp (subscribers-only, for developers in English)
-L:	tomoyo-users-en@lists.sourceforge.jp (subscribers-only, for users in English)
-L:	tomoyo-dev@lists.sourceforge.jp (subscribers-only, for developers in Japanese)
-L:	tomoyo-users@lists.sourceforge.jp (subscribers-only, for users in Japanese)
-W:	http://tomoyo.sourceforge.jp/
-T:	quilt http://svn.sourceforge.jp/svnroot/tomoyo/trunk/2.3.x/tomoyo-lsm/patches/
-S:	Maintained
-F:	security/tomoyo/
-
-TOPSTAR LAPTOP EXTRAS DRIVER
-M:	Herton Ronaldo Krzesinski <herton@canonical.com>
-L:	platform-driver-x86@vger.kernel.org
-S:	Maintained
-F:	drivers/platform/x86/topstar-laptop.c
-
-TOSHIBA ACPI EXTRAS DRIVER
-L:	platform-driver-x86@vger.kernel.org
-S:	Orphan
-F:	drivers/platform/x86/toshiba_acpi.c
-
-TOSHIBA SMM DRIVER
-M:	Jonathan Buzzard <jonathan@buzzard.org.uk>
-L:	tlinux-users@tce.toshiba-dme.co.jp
-W:	http://www.buzzard.org.uk/toshiba/
-S:	Maintained
-F:	drivers/char/toshiba.c
-F:	include/linux/toshiba.h
-
-TMIO MMC DRIVER
-M:	Ian Molton <ian@mnementh.co.uk>
-S:	Maintained
-F:	drivers/mmc/host/tmio_mmc.*
-
-TMPFS (SHMEM FILESYSTEM)
-M:	Hugh Dickins <hughd@google.com>
-L:	linux-mm@kvack.org
-S:	Maintained
-F:	include/linux/shmem_fs.h
-F:	mm/shmem.c
-
-TPM DEVICE DRIVER
-M:	Debora Velarde <debora@linux.vnet.ibm.com>
-M:	Rajiv Andrade <srajiv@linux.vnet.ibm.com>
-W:	http://tpmdd.sourceforge.net
-M:	Marcel Selhorst <m.selhorst@sirrix.com>
-W:	http://www.sirrix.com
-L:	tpmdd-devel@lists.sourceforge.net (moderated for non-subscribers)
-S:	Maintained
-F:	drivers/char/tpm/
-
-TRACING
-M:	Steven Rostedt <rostedt@goodmis.org>
-M:	Frederic Weisbecker <fweisbec@gmail.com>
-M:	Ingo Molnar <mingo@redhat.com>
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git perf/core
-S:	Maintained
-F:	Documentation/trace/ftrace.txt
-F:	arch/*/*/*/ftrace.h
-F:	arch/*/kernel/ftrace.c
-F:	include/*/ftrace.h
-F:	include/linux/trace*.h
-F:	include/trace/
-F:	kernel/trace/
-
-TRIVIAL PATCHES
-M:	Jiri Kosina <trivial@kernel.org>
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial.git
-S:	Maintained
-
-TTY LAYER
-M:	Greg Kroah-Hartman <gregkh@suse.de>
-S:	Maintained
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6.git
-F:	drivers/tty/*
-F:	drivers/tty/serial/serial_core.c
-F:	include/linux/serial_core.h
-F:	include/linux/serial.h
-F:	include/linux/tty.h
-
-TULIP NETWORK DRIVERS
-M:	Grant Grundler <grundler@parisc-linux.org>
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	drivers/net/tulip/
-
-TUN/TAP driver
-M:	Maxim Krasnyansky <maxk@qualcomm.com>
-L:	vtun@office.satix.net
-W:	http://vtun.sourceforge.net/tun
-S:	Maintained
-F:	Documentation/networking/tuntap.txt
-F:	arch/um/os-Linux/drivers/
-
-TURBOCHANNEL SUBSYSTEM
-M:	"Maciej W. Rozycki" <macro@linux-mips.org>
-S:	Maintained
-F:	drivers/tc/
-F:	include/linux/tc.h
-
-U14-34F SCSI DRIVER
-M:	Dario Ballabio <ballabio_dario@emc.com>
-L:	linux-scsi@vger.kernel.org
-S:	Maintained
-F:	drivers/scsi/u14-34f.c
-
-UBI FILE SYSTEM (UBIFS)
-M:	Artem Bityutskiy <dedekind1@gmail.com>
-M:	Adrian Hunter <adrian.hunter@nokia.com>
-L:	linux-mtd@lists.infradead.org
-T:	git git://git.infradead.org/ubifs-2.6.git
-W:	http://www.linux-mtd.infradead.org/doc/ubifs.html
-S:	Maintained
-F:	Documentation/filesystems/ubifs.txt
-F:	fs/ubifs/
-
-UCLINUX (AND M68KNOMMU)
-M:	Greg Ungerer <gerg@uclinux.org>
-W:	http://www.uclinux.org/
-L:	uclinux-dev@uclinux.org  (subscribers-only)
-S:	Maintained
-F:	arch/m68k/*/*_no.*
-F:	arch/m68k/include/asm/*_no.*
-
-UCLINUX FOR RENESAS H8/300 (H8300)
-M:	Yoshinori Sato <ysato@users.sourceforge.jp>
-W:	http://uclinux-h8.sourceforge.jp/
-S:	Supported
-F:	arch/h8300/
-F:	drivers/ide/ide-h8300.c
-F:	drivers/net/ne-h8300.c
-
-UDF FILESYSTEM
-M:	Jan Kara <jack@suse.cz>
-W:	http://linux-udf.sourceforge.net
-S:	Maintained
-F:	Documentation/filesystems/udf.txt
-F:	fs/udf/
-
-UFS FILESYSTEM
-M:	Evgeniy Dushistov <dushistov@mail.ru>
-S:	Maintained
-F:	Documentation/filesystems/ufs.txt
-F:	fs/ufs/
-
-ULTRA-WIDEBAND (UWB) SUBSYSTEM:
-L:	linux-usb@vger.kernel.org
-S:	Orphan
-F:	drivers/uwb/
-F:	include/linux/uwb.h
-F:	include/linux/uwb/
-
-UNICORE32 ARCHITECTURE:
-M:	Guan Xuetao <gxt@mprc.pku.edu.cn>
-W:	http://mprc.pku.edu.cn/~guanxuetao/linux
-S:	Maintained
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/epip/linux-2.6-unicore32.git
-F:	arch/unicore32/
-
-UNIFDEF
-M:	Tony Finch <dot@dotat.at>
-W:	http://dotat.at/prog/unifdef
-S:	Maintained
-F:	scripts/unifdef.c
-
-UNIFORM CDROM DRIVER
-M:	Jens Axboe <axboe@kernel.dk>
-W:	http://www.kernel.dk
-S:	Maintained
-F:	Documentation/cdrom/
-F:	drivers/cdrom/cdrom.c
-F:	include/linux/cdrom.h
-
-UNSORTED BLOCK IMAGES (UBI)
-M:	Artem Bityutskiy <dedekind1@gmail.com>
-W:	http://www.linux-mtd.infradead.org/
-L:	linux-mtd@lists.infradead.org
-T:	git git://git.infradead.org/ubi-2.6.git
-S:	Maintained
-F:	drivers/mtd/ubi/
-F:	include/linux/mtd/ubi.h
-F:	include/mtd/ubi-user.h
-
-USB ACM DRIVER
-M:	Oliver Neukum <oliver@neukum.name>
-L:	linux-usb@vger.kernel.org
-S:	Maintained
-F:	Documentation/usb/acm.txt
-F:	drivers/usb/class/cdc-acm.*
-
-USB ATTACHED SCSI
-M:	Matthew Wilcox <willy@linux.intel.com>
-M:	Sarah Sharp <sarah.a.sharp@linux.intel.com>
-L:	linux-usb@vger.kernel.org
-L:	linux-scsi@vger.kernel.org
-S:	Supported
-F:	drivers/usb/storage/uas.c
-
-USB BLOCK DRIVER (UB ub)
-M:	Pete Zaitcev <zaitcev@redhat.com>
-L:	linux-usb@vger.kernel.org
-S:	Supported
-F:	drivers/block/ub.c
-
-USB CDC ETHERNET DRIVER
-M:	Oliver Neukum <oliver@neukum.name>
-L:	linux-usb@vger.kernel.org
-S:	Maintained
-F:	drivers/net/usb/cdc_*.c
-F:	include/linux/usb/cdc.h
-
-USB CYPRESS C67X00 DRIVER
-M:	Peter Korsgaard <jacmet@sunsite.dk>
-L:	linux-usb@vger.kernel.org
-S:	Maintained
-F:	drivers/usb/c67x00/
-
-USB DAVICOM DM9601 DRIVER
-M:	Peter Korsgaard <jacmet@sunsite.dk>
-L:	netdev@vger.kernel.org
-W:	http://www.linux-usb.org/usbnet
-S:	Maintained
-F:	drivers/net/usb/dm9601.c
-
-USB DIAMOND RIO500 DRIVER
-M:	Cesar Miquel <miquel@df.uba.ar>
-L:	rio500-users@lists.sourceforge.net
-W:	http://rio500.sourceforge.net
-S:	Maintained
-F:	drivers/usb/misc/rio500*
-
-USB EHCI DRIVER
-M:	David Brownell <dbrownell@users.sourceforge.net>
-L:	linux-usb@vger.kernel.org
-S:	Odd Fixes
-F:	Documentation/usb/ehci.txt
-F:	drivers/usb/host/ehci*
-
-USB ET61X[12]51 DRIVER
-M:	Luca Risolia <luca.risolia@studio.unibo.it>
-L:	linux-usb@vger.kernel.org
-L:	linux-media@vger.kernel.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
-W:	http://www.linux-projects.org
-S:	Maintained
-F:	drivers/media/video/et61x251/
-
-USB GADGET/PERIPHERAL SUBSYSTEM
-M:	David Brownell <dbrownell@users.sourceforge.net>
-L:	linux-usb@vger.kernel.org
-W:	http://www.linux-usb.org/gadget
-S:	Maintained
-F:	drivers/usb/gadget/
-F:	include/linux/usb/gadget*
-
-USB HID/HIDBP DRIVERS (USB KEYBOARDS, MICE, REMOTE CONTROLS, ...)
-M:	Jiri Kosina <jkosina@suse.cz>
-L:	linux-usb@vger.kernel.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git
-S:	Maintained
-F:	Documentation/usb/hiddev.txt
-F:	drivers/hid/usbhid/
-
-USB ISP116X DRIVER
-M:	Olav Kongas <ok@artecdesign.ee>
-L:	linux-usb@vger.kernel.org
-S:	Maintained
-F:	drivers/usb/host/isp116x*
-F:	include/linux/usb/isp116x.h
-
-USB KAWASAKI LSI DRIVER
-M:	Oliver Neukum <oliver@neukum.name>
-L:	linux-usb@vger.kernel.org
-S:	Maintained
-F:	drivers/usb/serial/kl5kusb105.*
-
-USB MASS STORAGE DRIVER
-M:	Matthew Dharm <mdharm-usb@one-eyed-alien.net>
-L:	linux-usb@vger.kernel.org
-L:	usb-storage@lists.one-eyed-alien.net
-S:	Maintained
-W:	http://www.one-eyed-alien.net/~mdharm/linux-usb/
-F:	drivers/usb/storage/
-
-USB MIDI DRIVER
-M:	Clemens Ladisch <clemens@ladisch.de>
-L:	alsa-devel@alsa-project.org (moderated for non-subscribers)
-T:	git git://git.alsa-project.org/alsa-kernel.git
-S:	Maintained
-F:	sound/usb/midi.*
-
-USB OHCI DRIVER
-M:	David Brownell <dbrownell@users.sourceforge.net>
-L:	linux-usb@vger.kernel.org
-S:	Odd Fixes
-F:	Documentation/usb/ohci.txt
-F:	drivers/usb/host/ohci*
-
-USB OPTION-CARD DRIVER
-M:	Matthias Urlichs <smurf@smurf.noris.de>
-L:	linux-usb@vger.kernel.org
-S:	Maintained
-F:	drivers/usb/serial/option.c
-
-USB PEGASUS DRIVER
-M:	Petko Manolov <petkan@users.sourceforge.net>
-L:	linux-usb@vger.kernel.org
-L:	netdev@vger.kernel.org
-W:	http://pegasus2.sourceforge.net/
-S:	Maintained
-F:	drivers/net/usb/pegasus.*
-
-USB PRINTER DRIVER (usblp)
-M:	Pete Zaitcev <zaitcev@redhat.com>
-L:	linux-usb@vger.kernel.org
-S:	Supported
-F:	drivers/usb/class/usblp.c
-
-USB RTL8150 DRIVER
-M:	Petko Manolov <petkan@users.sourceforge.net>
-L:	linux-usb@vger.kernel.org
-L:	netdev@vger.kernel.org
-W:	http://pegasus2.sourceforge.net/
-S:	Maintained
-F:	drivers/net/usb/rtl8150.c
-
-USB SE401 DRIVER
-L:	linux-usb@vger.kernel.org
-W:	http://www.chello.nl/~j.vreeken/se401/
-S:	Orphan
-F:	Documentation/video4linux/se401.txt
-F:	drivers/staging/se401/
-
-USB SERIAL BELKIN F5U103 DRIVER
-M:	William Greathouse <wgreathouse@smva.com>
-L:	linux-usb@vger.kernel.org
-S:	Maintained
-F:	drivers/usb/serial/belkin_sa.*
-
-USB SERIAL CYPRESS M8 DRIVER
-M:	Lonnie Mendez <dignome@gmail.com>
-L:	linux-usb@vger.kernel.org
-S:	Maintained
-W:	http://geocities.com/i0xox0i
-W:	http://firstlight.net/cvs
-F:	drivers/usb/serial/cypress_m8.*
-
-USB SERIAL CYBERJACK DRIVER
-M:	Matthias Bruestle and Harald Welte <support@reiner-sct.com>
-W:	http://www.reiner-sct.de/support/treiber_cyberjack.php
-S:	Maintained
-F:	drivers/usb/serial/cyberjack.c
-
-USB SERIAL DIGI ACCELEPORT DRIVER
-M:	Peter Berger <pberger@brimson.com>
-M:	Al Borchers <alborchers@steinerpoint.com>
-L:	linux-usb@vger.kernel.org
-S:	Maintained
-F:	drivers/usb/serial/digi_acceleport.c
-
-USB SERIAL DRIVER
-M:	Greg Kroah-Hartman <gregkh@suse.de>
-L:	linux-usb@vger.kernel.org
-S:	Supported
-F:	Documentation/usb/usb-serial.txt
-F:	drivers/usb/serial/generic.c
-F:	drivers/usb/serial/usb-serial.c
-F:	include/linux/usb/serial.h
-
-USB SERIAL EMPEG EMPEG-CAR MARK I/II DRIVER
-M:	Gary Brubaker <xavyer@ix.netcom.com>
-L:	linux-usb@vger.kernel.org
-S:	Maintained
-F:	drivers/usb/serial/empeg.c
-
-USB SERIAL KEYSPAN DRIVER
-M:	Greg Kroah-Hartman <greg@kroah.com>
-L:	linux-usb@vger.kernel.org
-W:	http://www.kroah.com/linux/
-S:	Maintained
-F:	drivers/usb/serial/*keyspan*
-
-USB SERIAL WHITEHEAT DRIVER
-M:	Support Department <support@connecttech.com>
-L:	linux-usb@vger.kernel.org
-W:	http://www.connecttech.com
-S:	Supported
-F:	drivers/usb/serial/whiteheat*
-
-USB SMSC95XX ETHERNET DRIVER
-M:	Steve Glendinning <steve.glendinning@smsc.com>
-L:	netdev@vger.kernel.org
-S:	Supported
-F:	drivers/net/usb/smsc95xx.*
-
-USB SN9C1xx DRIVER
-M:	Luca Risolia <luca.risolia@studio.unibo.it>
-L:	linux-usb@vger.kernel.org
-L:	linux-media@vger.kernel.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
-W:	http://www.linux-projects.org
-S:	Maintained
-F:	Documentation/video4linux/sn9c102.txt
-F:	drivers/media/video/sn9c102/
-
-USB SUBSYSTEM
-M:	Greg Kroah-Hartman <gregkh@suse.de>
-L:	linux-usb@vger.kernel.org
-W:	http://www.linux-usb.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6.git
-S:	Supported
-F:	Documentation/usb/
-F:	drivers/net/usb/
-F:	drivers/usb/
-F:	include/linux/usb.h
-F:	include/linux/usb/
-
-USB UHCI DRIVER
-M:	Alan Stern <stern@rowland.harvard.edu>
-L:	linux-usb@vger.kernel.org
-S:	Maintained
-F:	drivers/usb/host/uhci*
-
-USB "USBNET" DRIVER FRAMEWORK
-M:	Oliver Neukum <oneukum@suse.de>
-L:	netdev@vger.kernel.org
-W:	http://www.linux-usb.org/usbnet
-S:	Maintained
-F:	drivers/net/usb/usbnet.c
-F:	include/linux/usb/usbnet.h
-
-USB VIDEO CLASS
-M:	Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-L:	linux-uvc-devel@lists.berlios.de (subscribers-only)
-L:	linux-media@vger.kernel.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
-W:	http://www.ideasonboard.org/uvc/
-S:	Maintained
-F:	drivers/media/video/uvc/
-
-USB W996[87]CF DRIVER
-M:	Luca Risolia <luca.risolia@studio.unibo.it>
-L:	linux-usb@vger.kernel.org
-L:	linux-media@vger.kernel.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
-W:	http://www.linux-projects.org
-S:	Maintained
-F:	Documentation/video4linux/w9968cf.txt
-F:	drivers/media/video/w996*
-
-USB WIRELESS RNDIS DRIVER (rndis_wlan)
-M:	Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
-L:	linux-wireless@vger.kernel.org
-S:	Maintained
-F:	drivers/net/wireless/rndis_wlan.c
-
-USB XHCI DRIVER
-M:	Sarah Sharp <sarah.a.sharp@linux.intel.com>
-L:	linux-usb@vger.kernel.org
-S:	Supported
-F:	drivers/usb/host/xhci*
-F:	drivers/usb/host/pci-quirks*
-
-USB ZD1201 DRIVER
-L:	linux-wireless@vger.kernel.org
-W:	http://linux-lc100020.sourceforge.net
-S:	Orphan
-F:	drivers/net/wireless/zd1201.*
-
-USB ZR364XX DRIVER
-M:	Antoine Jacquet <royale@zerezo.com>
-L:	linux-usb@vger.kernel.org
-L:	linux-media@vger.kernel.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
-W:	http://royale.zerezo.com/zr364xx/
-S:	Maintained
-F:	Documentation/video4linux/zr364xx.txt
-F:	drivers/media/video/zr364xx.c
-
-USER-MODE LINUX (UML)
-M:	Jeff Dike <jdike@addtoit.com>
-M:	Richard Weinberger <richard@nod.at>
-L:	user-mode-linux-devel@lists.sourceforge.net
-L:	user-mode-linux-user@lists.sourceforge.net
-W:	http://user-mode-linux.sourceforge.net
-S:	Maintained
-F:	Documentation/uml/
-F:	arch/um/
-F:	fs/hostfs/
-F:	fs/hppfs/
-
-USERSPACE I/O (UIO)
-M:	"Hans J. Koch" <hjk@hansjkoch.de>
-M:	Greg Kroah-Hartman <gregkh@suse.de>
-S:	Maintained
-F:	Documentation/DocBook/uio-howto.tmpl
-F:	drivers/uio/
-F:	include/linux/uio*.h
-
-UTIL-LINUX-NG PACKAGE
-M:	Karel Zak <kzak@redhat.com>
-L:	util-linux-ng@vger.kernel.org
-W:	http://kernel.org/~kzak/util-linux-ng/
-T:	git git://git.kernel.org/pub/scm/utils/util-linux-ng/util-linux-ng.git
-S:	Maintained
-
-UVESAFB DRIVER
-M:	Michal Januszewski <spock@gentoo.org>
-L:	linux-fbdev@vger.kernel.org
-W:	http://dev.gentoo.org/~spock/projects/uvesafb/
-S:	Maintained
-F:	Documentation/fb/uvesafb.txt
-F:	drivers/video/uvesafb.*
-
-VFAT/FAT/MSDOS FILESYSTEM
-M:	OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
-S:	Maintained
-F:	Documentation/filesystems/vfat.txt
-F:	fs/fat/
-
-VIRTIO CONSOLE DRIVER
-M:	Amit Shah <amit.shah@redhat.com>
-L:	virtualization@lists.linux-foundation.org
-S:	Maintained
-F:	drivers/char/virtio_console.c
-F:	include/linux/virtio_console.h
-
-VIRTIO CORE, NET AND BLOCK DRIVERS
-M:	Rusty Russell <rusty@rustcorp.com.au>
-M:	"Michael S. Tsirkin" <mst@redhat.com>
-L:	virtualization@lists.linux-foundation.org
-S:	Maintained
-F:	drivers/virtio/
-F:	drivers/net/virtio_net.c
-F:	drivers/block/virtio_blk.c
-F:	include/linux/virtio_*.h
-
-VIRTIO HOST (VHOST)
-M:	"Michael S. Tsirkin" <mst@redhat.com>
-L:	kvm@vger.kernel.org
-L:	virtualization@lists.linux-foundation.org
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	drivers/vhost/
-F:	include/linux/vhost.h
-
-VIA RHINE NETWORK DRIVER
-M:	Roger Luethi <rl@hellgate.ch>
-S:	Maintained
-F:	drivers/net/via-rhine.c
-
-VIAPRO SMBUS DRIVER
-M:	Jean Delvare <khali@linux-fr.org>
-L:	linux-i2c@vger.kernel.org
-S:	Maintained
-F:	Documentation/i2c/busses/i2c-viapro
-F:	drivers/i2c/busses/i2c-viapro.c
-
-VIA SD/MMC CARD CONTROLLER DRIVER
-M:	Bruce Chang <brucechang@via.com.tw>
-M:	Harald Welte <HaraldWelte@viatech.com>
-S:	Maintained
-F:	drivers/mmc/host/via-sdmmc.c
-
-VIA UNICHROME(PRO)/CHROME9 FRAMEBUFFER DRIVER
-M:	Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
-L:	linux-fbdev@vger.kernel.org
-S:	Maintained
-F:	include/linux/via-core.h
-F:	include/linux/via-gpio.h
-F:	include/linux/via_i2c.h
-F:	drivers/video/via/
-
-VIA VELOCITY NETWORK DRIVER
-M:	Francois Romieu <romieu@fr.zoreil.com>
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	drivers/net/via-velocity.*
-
-VLAN (802.1Q)
-M:	Patrick McHardy <kaber@trash.net>
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	drivers/net/macvlan.c
-F:	include/linux/if_*vlan.h
-F:	net/8021q/
-
-VLYNQ BUS
-M:	Florian Fainelli <florian@openwrt.org>
-L:	openwrt-devel@lists.openwrt.org (subscribers-only)
-S:	Maintained
-F:	drivers/vlynq/vlynq.c
-F:	include/linux/vlynq.h
-
-VMWARE VMXNET3 ETHERNET DRIVER
-M:	Shreyas Bhatewara <sbhatewara@vmware.com>
-M:	"VMware, Inc." <pv-drivers@vmware.com>
-L:	netdev@vger.kernel.org
-S:	Maintained
-F:	drivers/net/vmxnet3/
-
-VMware PVSCSI driver
-M:	Alok Kataria <akataria@vmware.com>
-M:	VMware PV-Drivers <pv-drivers@vmware.com>
-L:	linux-scsi@vger.kernel.org
-S:	Maintained
-F:	drivers/scsi/vmw_pvscsi.c
-F:	drivers/scsi/vmw_pvscsi.h
-
-VOLTAGE AND CURRENT REGULATOR FRAMEWORK
-M:	Liam Girdwood <lrg@slimlogic.co.uk>
-M:	Mark Brown <broonie@opensource.wolfsonmicro.com>
-W:	http://opensource.wolfsonmicro.com/node/15
-W:	http://www.slimlogic.co.uk/?p=48
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6.git
-S:	Supported
-F:	drivers/regulator/
-F:	include/linux/regulator/
-
-VT1211 HARDWARE MONITOR DRIVER
-M:	Juerg Haefliger <juergh@gmail.com>
-L:	lm-sensors@lm-sensors.org
-S:	Maintained
-F:	Documentation/hwmon/vt1211
-F:	drivers/hwmon/vt1211.c
-
-VT8231 HARDWARE MONITOR DRIVER
-M:	Roger Lucas <vt8231@hiddenengine.co.uk>
-L:	lm-sensors@lm-sensors.org
-S:	Maintained
-F:	drivers/hwmon/vt8231.c
-
-W1 DALLAS'S 1-WIRE BUS
-M:	Evgeniy Polyakov <johnpol@2ka.mipt.ru>
-S:	Maintained
-F:	Documentation/w1/
-F:	drivers/w1/
-
-W83791D HARDWARE MONITORING DRIVER
-M:	Marc Hulsman <m.hulsman@tudelft.nl>
-L:	lm-sensors@lm-sensors.org
-S:	Maintained
-F:	Documentation/hwmon/w83791d
-F:	drivers/hwmon/w83791d.c
-
-W83793 HARDWARE MONITORING DRIVER
-M:	Rudolf Marek <r.marek@assembler.cz>
-L:	lm-sensors@lm-sensors.org
-S:	Maintained
-F:	Documentation/hwmon/w83793
-F:	drivers/hwmon/w83793.c
-
-W83795 HARDWARE MONITORING DRIVER
-M:	Jean Delvare <khali@linux-fr.org>
-L:	lm-sensors@lm-sensors.org
-S:	Maintained
-F:	drivers/hwmon/w83795.c
-
-W83L51xD SD/MMC CARD INTERFACE DRIVER
-M:	Pierre Ossman <pierre@ossman.eu>
-S:	Maintained
-F:	drivers/mmc/host/wbsd.*
-
-WATCHDOG DEVICE DRIVERS
-M:	Wim Van Sebroeck <wim@iguana.be>
-L:	linux-watchdog@vger.kernel.org
-W:	http://www.linux-watchdog.org/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog.git
-S:	Maintained
-F:	Documentation/watchdog/
-F:	drivers/watchdog/
-F:	include/linux/watchdog.h
-
-WD7000 SCSI DRIVER
-M:	Miroslav Zagorac <zaga@fly.cc.fer.hr>
-L:	linux-scsi@vger.kernel.org
-S:	Maintained
-F:	drivers/scsi/wd7000.c
-
-WINBOND CIR DRIVER
-M:	David Härdeman <david@hardeman.nu>
-S:	Maintained
-F:	drivers/media/rc/winbond-cir.c
-
-WIMAX STACK
-M:	Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
-M:	linux-wimax@intel.com
-L:	wimax@linuxwimax.org
-S:	Supported
-W:	http://linuxwimax.org
-F:	Documentation/wimax/README.wimax
-F:	include/linux/wimax.h
-F:	include/linux/wimax/debug.h
-F:	include/net/wimax.h
-F:	net/wimax/
-
-WISTRON LAPTOP BUTTON DRIVER
-M:	Miloslav Trmac <mitr@volny.cz>
-S:	Maintained
-F:	drivers/input/misc/wistron_btns.c
-
-WL1251 WIRELESS DRIVER
-M:	Kalle Valo <kvalo@adurom.com>
-L:	linux-wireless@vger.kernel.org
-W:	http://wireless.kernel.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git
-S:	Maintained
-F:	drivers/net/wireless/wl1251/*
-
-WL1271 WIRELESS DRIVER
-M:	Luciano Coelho <coelho@ti.com>
-L:	linux-wireless@vger.kernel.org
-W:	http://wireless.kernel.org/en/users/Drivers/wl12xx
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/luca/wl12xx.git
-S:	Maintained
-F:	drivers/net/wireless/wl12xx/
-F:	include/linux/wl12xx.h
-
-WL3501 WIRELESS PCMCIA CARD DRIVER
-M:	Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
-L:	linux-wireless@vger.kernel.org
-W:	http://oops.ghostprotocols.net:81/blog
-S:	Maintained
-F:	drivers/net/wireless/wl3501*
-
-WM97XX TOUCHSCREEN DRIVERS
-M:	Mark Brown <broonie@opensource.wolfsonmicro.com>
-M:	Liam Girdwood <lrg@slimlogic.co.uk>
-L:	linux-input@vger.kernel.org
-T:	git git://opensource.wolfsonmicro.com/linux-2.6-touch
-W:	http://opensource.wolfsonmicro.com/node/7
-S:	Supported
-F:	drivers/input/touchscreen/*wm97*
-F:	include/linux/wm97xx.h
-
-WOLFSON MICROELECTRONICS DRIVERS
-M:	Mark Brown <broonie@opensource.wolfsonmicro.com>
-M:	Ian Lartey <ian@opensource.wolfsonmicro.com>
-M:	Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
-T:	git git://opensource.wolfsonmicro.com/linux-2.6-asoc
-T:	git git://opensource.wolfsonmicro.com/linux-2.6-audioplus
-W:	http://opensource.wolfsonmicro.com/content/linux-drivers-wolfson-devices
-S:	Supported
-F:	Documentation/hwmon/wm83??
-F:	drivers/leds/leds-wm83*.c
-F:	drivers/mfd/wm8*.c
-F:	drivers/power/wm83*.c
-F:	drivers/rtc/rtc-wm83*.c
-F:	drivers/regulator/wm8*.c
-F:	drivers/video/backlight/wm83*_bl.c
-F:	drivers/watchdog/wm83*_wdt.c
-F:	include/linux/mfd/wm831x/
-F:	include/linux/mfd/wm8350/
-F:	include/linux/mfd/wm8400*
-F:	include/sound/wm????.h
-F:	sound/soc/codecs/wm*
-
-WORKQUEUE
-M:	Tejun Heo <tj@kernel.org>
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git
-S:	Maintained
-F:	include/linux/workqueue.h
-F:	kernel/workqueue.c
-F:	Documentation/workqueue.txt
-
-X.25 NETWORK LAYER
-M:	Andrew Hendry <andrew.hendry@gmail.com>
-L:	linux-x25@vger.kernel.org
-S:	Odd Fixes
-F:	Documentation/networking/x25*
-F:	include/net/x25*
-F:	net/x25/
-
-X86 ARCHITECTURE (32-BIT AND 64-BIT)
-M:	Thomas Gleixner <tglx@linutronix.de>
-M:	Ingo Molnar <mingo@redhat.com>
-M:	"H. Peter Anvin" <hpa@zytor.com>
-M:	x86@kernel.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86.git
-S:	Maintained
-F:	Documentation/x86/
-F:	arch/x86/
-
-X86 PLATFORM DRIVERS
-M:	Matthew Garrett <mjg@redhat.com>
-L:	platform-driver-x86@vger.kernel.org
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86.git
-S:	Maintained
-F:	drivers/platform/x86
-
-XEN HYPERVISOR INTERFACE
-M:	Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
-M:	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
-L:	xen-devel@lists.xensource.com (moderated for non-subscribers)
-L:	virtualization@lists.linux-foundation.org
-S:	Supported
-F:	arch/x86/xen/
-F:	drivers/*/xen-*front.c
-F:	drivers/xen/
-F:	arch/x86/include/asm/xen/
-F:	include/xen/
-
-XEN NETWORK BACKEND DRIVER
-M:	Ian Campbell <ian.campbell@citrix.com>
-L:	xen-devel@lists.xensource.com (moderated for non-subscribers)
-L:	netdev@vger.kernel.org
-S:	Supported
-F:	drivers/net/xen-netback/*
-
-XEN PCI SUBSYSTEM
-M:	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
-L:	xen-devel@lists.xensource.com (moderated for non-subscribers)
-S:	Supported
-F:	arch/x86/pci/*xen*
-F:	drivers/pci/*xen*
-
-XEN SWIOTLB SUBSYSTEM
-M:	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
-L:	xen-devel@lists.xensource.com (moderated for non-subscribers)
-S:	Supported
-F:	arch/x86/xen/*swiotlb*
-F:	drivers/xen/*swiotlb*
-
-XFS FILESYSTEM
-P:	Silicon Graphics Inc
-M:	Alex Elder <aelder@sgi.com>
-M:	xfs-masters@oss.sgi.com
-L:	xfs@oss.sgi.com
-W:	http://oss.sgi.com/projects/xfs
-T:	git git://oss.sgi.com/xfs/xfs.git
-S:	Supported
-F:	Documentation/filesystems/xfs.txt
-F:	fs/xfs/
-
-XILINX SYSTEMACE DRIVER
-M:	Grant Likely <grant.likely@secretlab.ca>
-W:	http://www.secretlab.ca/
-S:	Maintained
-F:	drivers/block/xsysace.c
-
-XILINX UARTLITE SERIAL DRIVER
-M:	Peter Korsgaard <jacmet@sunsite.dk>
-L:	linux-serial@vger.kernel.org
-S:	Maintained
-F:	drivers/tty/serial/uartlite.c
-
-YAM DRIVER FOR AX.25
-M:	Jean-Paul Roubelat <jpr@f6fbb.org>
-L:	linux-hams@vger.kernel.org
-S:	Maintained
-F:	drivers/net/hamradio/yam*
-F:	include/linux/yam.h
-
-YEALINK PHONE DRIVER
-M:	Henk Vergonet <Henk.Vergonet@gmail.com>
-L:	usbb2k-api-dev@nongnu.org
-S:	Maintained
-F:	Documentation/input/yealink.txt
-F:	drivers/input/misc/yealink.*
-
-Z8530 DRIVER FOR AX.25
-M:	Joerg Reuter <jreuter@yaina.de>
-W:	http://yaina.de/jreuter/
-W:	http://www.qsl.net/dl1bke/
-L:	linux-hams@vger.kernel.org
-S:	Maintained
-F:	Documentation/networking/z8530drv.txt
-F:	drivers/net/hamradio/*scc.c
-F:	drivers/net/hamradio/z8530.h
-
-ZD1211RW WIRELESS DRIVER
-M:	Daniel Drake <dsd@gentoo.org>
-M:	Ulrich Kunitz <kune@deine-taler.de>
-W:	http://zd1211.ath.cx/wiki/DriverRewrite
-L:	linux-wireless@vger.kernel.org
-L:	zd1211-devs@lists.sourceforge.net (subscribers-only)
-S:	Maintained
-F:	drivers/net/wireless/zd1211rw/
-
-ZR36067 VIDEO FOR LINUX DRIVER
-L:	mjpeg-users@lists.sourceforge.net
-L:	linux-media@vger.kernel.org
-W:	http://mjpeg.sourceforge.net/driver-zoran/
-T:	Mercurial http://linuxtv.org/hg/v4l-dvb
-S:	Odd Fixes
-F:	drivers/media/video/zoran/
-
-ZS DECSTATION Z85C30 SERIAL DRIVER
-M:	"Maciej W. Rozycki" <macro@linux-mips.org>
-S:	Maintained
-F:	drivers/tty/serial/zs.*
-
-THE REST
-M:	Linus Torvalds <torvalds@linux-foundation.org>
-L:	linux-kernel@vger.kernel.org
-Q:	http://patchwork.kernel.org/project/LKML/list/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
-S:	Buried alive in reporters
-F:	*
-F:	*/
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/Makefile ../linux-2.6.39.4/Makefile
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/Makefile	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/Makefile	2011-10-22 06:39:21.397105230 +0530
@@ -237,6 +237,7 @@
 
 HOSTCC       = gcc
 HOSTCXX      = g++
+#Invader Changes
 HOSTCFLAGS   = -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer
 HOSTCXXFLAGS = -O2
 
@@ -320,9 +321,9 @@
 
 # Make variables (CC, etc...)
 
-AS		= $(CROSS_COMPILE)as
-LD		= $(CROSS_COMPILE)ld
-CC		= $(CROSS_COMPILE)gcc
+AS		= $(CROSS_COMPILE)as -mlittle-endian
+LD		= $(CROSS_COMPILE)ld -EL
+CC		= $(CROSS_COMPILE)gcc -mlittle-endian -mno-mfcrf
 CPP		= $(CC) -E
 AR		= $(CROSS_COMPILE)ar
 NM		= $(CROSS_COMPILE)nm
@@ -359,10 +360,12 @@
 		   -fno-strict-aliasing -fno-common \
 		   -Werror-implicit-function-declaration \
 		   -Wno-format-security \
-		   -fno-delete-null-pointer-checks
+		   -fno-delete-null-pointer-checks \
+		   -mlittle-endian \
+		   -fsigned-char
 KBUILD_AFLAGS_KERNEL :=
 KBUILD_CFLAGS_KERNEL :=
-KBUILD_AFLAGS   := -D__ASSEMBLY__
+KBUILD_AFLAGS   := -D__ASSEMBLY__ -mlittle-endian
 KBUILD_AFLAGS_MODULE  := -DMODULE
 KBUILD_CFLAGS_MODULE  := -DMODULE
 KBUILD_LDFLAGS_MODULE := -T $(srctree)/scripts/module-common.lds
@@ -545,6 +548,7 @@
 ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
 KBUILD_CFLAGS	+= -Os
 else
+#Invader Changes
 KBUILD_CFLAGS	+= -O2
 endif
 
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/mm/huge_memory.c ../linux-2.6.39.4/mm/huge_memory.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/mm/huge_memory.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/mm/huge_memory.c	2011-11-02 08:38:11.747824906 +0530
@@ -714,6 +714,7 @@
 	 * safe to run pte_offset_map().
 	 */
 	pte = pte_offset_map(pmd, address);
+
 	return handle_pte_fault(mm, vma, address, pte, pmd, flags);
 }
 
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/mm/memblock.c ../linux-2.6.39.4/mm/memblock.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/mm/memblock.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/mm/memblock.c	2011-10-24 17:06:14.553361499 +0530
@@ -65,6 +65,7 @@
 	for (i = 0; i < type->cnt; i++) {
 		phys_addr_t rgnbase = type->regions[i].base;
 		phys_addr_t rgnsize = type->regions[i].size;
+
 		if (memblock_addrs_overlap(base, size, rgnbase, rgnsize))
 			break;
 	}
@@ -406,7 +407,6 @@
 long __init_memblock memblock_add(phys_addr_t base, phys_addr_t size)
 {
 	return memblock_add_region(&memblock.memory, base, size);
-
 }
 
 static long __init_memblock __memblock_remove(struct memblock_type *type,
@@ -462,6 +462,7 @@
 
 long __init_memblock memblock_remove(phys_addr_t base, phys_addr_t size)
 {
+
 	return __memblock_remove(&memblock.memory, base, size);
 }
 
@@ -491,7 +492,9 @@
 	found = memblock_find_base(size, align, 0, max_addr);
 	if (found != MEMBLOCK_ERROR &&
 	    !memblock_add_region(&memblock.reserved, found, size))
+	{
 		return found;
+	}
 
 	return 0;
 }
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/mm/memory.c ../linux-2.6.39.4/mm/memory.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/mm/memory.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/mm/memory.c	2011-11-02 08:41:43.755824993 +0530
@@ -3297,6 +3297,7 @@
 	pte_t entry;
 	spinlock_t *ptl;
 
+	printk(KERN_NOTICE "handle_pte_fault: add: 0x%lx, flags: 0x%x, *pte: 0x%lx, pte: 0x%p", address, flags, *pte, pte);
 	entry = *pte;
 	if (!pte_present(entry)) {
 		if (pte_none(entry)) {
@@ -3314,6 +3315,7 @@
 		return do_swap_page(mm, vma, address,
 					pte, pmd, flags, entry);
 	}
+	printk(KERN_NOTICE "handle_pte_fault: PTE present\n ");
 
 	ptl = pte_lockptr(mm, pmd);
 	spin_lock(ptl);
@@ -3338,6 +3340,7 @@
 		if (flags & FAULT_FLAG_WRITE)
 			flush_tlb_fix_spurious_fault(vma, address);
 	}
+	printk(KERN_NOTICE "handle_pte_fault: PTE present unlock\n ");
 unlock:
 	pte_unmap_unlock(pte, ptl);
 	return 0;
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/mm/page_alloc.c ../linux-2.6.39.4/mm/page_alloc.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/mm/page_alloc.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/mm/page_alloc.c	2011-10-23 14:12:32.718197051 +0530
@@ -2514,7 +2514,6 @@
 			struct per_cpu_pageset *pageset;
 
 			pageset = per_cpu_ptr(zone->pageset, cpu);
-
 			printk("CPU %4d: hi:%5d, btch:%4d usd:%4d\n",
 			       cpu, pageset->pcp.high,
 			       pageset->pcp.batch, pageset->pcp.count);
@@ -2610,7 +2609,9 @@
 			);
 		printk("lowmem_reserve[]:");
 		for (i = 0; i < MAX_NR_ZONES; i++)
+{
 			printk(" %lu", zone->lowmem_reserve[i]);
+}
 		printk("\n");
 	}
 
@@ -4833,7 +4834,7 @@
 	/* Print out the early_node_map[] */
 	printk("early_node_map[%d] active PFN ranges\n", nr_nodemap_entries);
 	for (i = 0; i < nr_nodemap_entries; i++)
-		printk("  %3d: %0#10lx -> %0#10lx\n", early_node_map[i].nid,
+		printk("  %3d: %0#lx -> %0#lx\n", early_node_map[i].nid,
 						early_node_map[i].start_pfn,
 						early_node_map[i].end_pfn);
 
@@ -5326,9 +5327,25 @@
 	log2qty = ilog2(numentries);
 
 	do {
+#if 0
+		union bits {
+			unsigned int b;
+			unsigned char a[4];
+		}chk = {1};
+
+		if (chk.a[0] == 1)	
+			printk (KERN_DEBUG "Machine is running in Little Endian\n");
+		else
+			printk (KERN_DEBUG "Machine is running in Big Endian\n");
+
+		printk(KERN_DEBUG "endan chk:: val(b): 0x%x, 1stbyte: 0x%x, 2byte: 0x%x, 3byte: 0x%x, 4byte: 0x%x\n ", chk.b, chk.a[0], chk.a[1],chk.a[2],chk.a[3]);
+#endif
 		size = bucketsize << log2qty;
+
 		if (flags & HASH_EARLY)
+		{
 			table = alloc_bootmem_nopanic(size);
+		}
 		else if (hashdist)
 			table = __vmalloc(size, GFP_ATOMIC, PAGE_KERNEL);
 		else {
Binary files ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/.narrr1.txt.swp and ../linux-2.6.39.4/.narrr1.txt.swp differ
Binary files ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/.narrr.txt.swp and ../linux-2.6.39.4/.narrr.txt.swp differ
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/printk.h ../linux-2.6.39.4/printk.h
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/printk.h	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/printk.h	2011-10-23 17:52:39.480197437 +0530
@@ -0,0 +1,336 @@
+#ifndef __KERNEL_PRINTK__
+#define __KERNEL_PRINTK__
+
+extern const char linux_banner[];
+extern const char linux_proc_banner[];
+
+#define KERN_EMERG	"<0>"	/* system is unusable			*/
+#define KERN_ALERT	"<1>"	/* action must be taken immediately	*/
+#define KERN_CRIT	"<2>"	/* critical conditions			*/
+#define KERN_ERR	"<3>"	/* error conditions			*/
+#define KERN_WARNING	"<4>"	/* warning conditions			*/
+#define KERN_NOTICE	"<5>"	/* normal but significant condition	*/
+#define KERN_INFO	"<6>"	/* informational			*/
+#define KERN_DEBUG	"<7>"	/* debug-level messages			*/
+
+/* Use the default kernel loglevel */
+#define KERN_DEFAULT	"<d>"
+/*
+ * Annotation for a "continued" line of log printout (only done after a
+ * line that had no enclosing \n). Only to be used by core/arch code
+ * during early bootup (a continued line is not SMP-safe otherwise).
+ */
+#define KERN_CONT	"<c>"
+
+
+extern int console_printk[];
+
+#define console_loglevel (console_printk[0])
+#define default_message_loglevel (console_printk[1])
+#define minimum_console_loglevel (console_printk[2])
+#define default_console_loglevel (console_printk[3])
+
+static inline void console_silent(void)
+{
+	console_loglevel = 0;
+}
+
+static inline void console_verbose(void)
+{
+	if (console_loglevel)
+		console_loglevel = 15;
+}
+
+struct va_format {
+	const char *fmt;
+	va_list *va;
+};
+
+/*
+ * FW_BUG
+ * Add this to a message where you are sure the firmware is buggy or behaves
+ * really stupid or out of spec. Be aware that the responsible BIOS developer
+ * should be able to fix this issue or at least get a concrete idea of the
+ * problem by reading your message without the need of looking at the kernel
+ * code.
+ *
+ * Use it for definite and high priority BIOS bugs.
+ *
+ * FW_WARN
+ * Use it for not that clear (e.g. could the kernel messed up things already?)
+ * and medium priority BIOS bugs.
+ *
+ * FW_INFO
+ * Use this one if you want to tell the user or vendor about something
+ * suspicious, but generally harmless related to the firmware.
+ *
+ * Use it for information or very low priority BIOS bugs.
+ */
+#define FW_BUG		"[Firmware Bug]: "
+#define FW_WARN		"[Firmware Warn]: "
+#define FW_INFO		"[Firmware Info]: "
+
+/*
+ * HW_ERR
+ * Add this to a message for hardware errors, so that user can report
+ * it to hardware vendor instead of LKML or software vendor.
+ */
+#define HW_ERR		"[Hardware Error]: "
+
+/*
+ * Dummy printk for disabled debugging statements to use whilst maintaining
+ * gcc's format and side-effect checking.
+ */
+static inline __attribute__ ((format (printf, 1, 2)))
+int no_printk(const char *fmt, ...)
+{
+	return 0;
+}
+
+extern asmlinkage __attribute__ ((format (printf, 1, 2)))
+void early_printk(const char *fmt, ...);
+
+extern int printk_needs_cpu(int cpu);
+extern void printk_tick(void);
+
+#ifdef CONFIG_PRINTK
+asmlinkage __attribute__ ((format (printf, 1, 0)))
+int vprintk(const char *fmt, va_list args);
+asmlinkage __attribute__ ((format (printf, 1, 2))) __cold
+int printk(const char *fmt, ...);
+
+/*
+ * Please don't use printk_ratelimit(), because it shares ratelimiting state
+ * with all other unrelated printk_ratelimit() callsites.  Instead use
+ * printk_ratelimited() or plain old __ratelimit().
+ */
+extern int __printk_ratelimit(const char *func);
+#define printk_ratelimit() __printk_ratelimit(__func__)
+extern bool printk_timed_ratelimit(unsigned long *caller_jiffies,
+				   unsigned int interval_msec);
+
+extern int printk_delay_msec;
+extern int dmesg_restrict;
+extern int kptr_restrict;
+
+void log_buf_kexec_setup(void);
+#else
+static inline __attribute__ ((format (printf, 1, 0)))
+int vprintk(const char *s, va_list args)
+{
+	return 0;
+}
+static inline __attribute__ ((format (printf, 1, 2))) __cold
+int printk(const char *s, ...)
+{
+	return 0;
+}
+static inline int printk_ratelimit(void)
+{
+	return 0;
+}
+static inline bool printk_timed_ratelimit(unsigned long *caller_jiffies,
+					  unsigned int interval_msec)
+{
+	return false;
+}
+
+static inline void log_buf_kexec_setup(void)
+{
+}
+#endif
+
+extern void dump_stack(void) __cold;
+
+#ifndef pr_fmt
+#define pr_fmt(fmt) fmt
+#endif
+
+// Invader Changes
+#if 0
+#define pr_emerg(fmt, ...) \
+        printk(KERN_EMERG fmt, ##__VA_ARGS__)
+#define pr_alert(fmt, ...) \
+        printk(KERN_ALERT fmt, ##__VA_ARGS__)
+#define pr_crit(fmt, ...) \
+        printk(KERN_CRIT fmt, ##__VA_ARGS__)
+#define pr_err(fmt, ...) \
+        printk(KERN_ERR fmt, ##__VA_ARGS__)
+#define pr_warning(fmt, ...) \
+        printk(KERN_WARNING fmt, ##__VA_ARGS__)
+#define pr_warn pr_warning
+#define pr_notice(fmt, ...) \
+        printk(KERN_NOTICE fmt, ##__VA_ARGS__)
+#define pr_info(fmt, ...) \
+        printk(KERN_INFO fmt, ##__VA_ARGS__)
+#define pr_cont(fmt, ...) \
+        printk(KERN_CONT fmt, ##__VA_ARGS__)
+#define pr_debug(fmt, ...) \
+	printk(KERN_DEBUG fmt, ##__VA_ARGS__)
+#define pr_devel(fmt, ...) \
+	printk(KERN_DEBUG fmt, ##__VA_ARGS__)
+#define DBG(fmt...) ]\
+	printk(fmt)
+#endif
+
+#if 1
+#define pr_emerg(fmt, ...) \
+	printk(KERN_EMERG pr_fmt(fmt), ##__VA_ARGS__)
+#define pr_alert(fmt, ...) \
+	printk(KERN_ALERT pr_fmt(fmt), ##__VA_ARGS__)
+#define pr_crit(fmt, ...) \
+	printk(KERN_CRIT pr_fmt(fmt), ##__VA_ARGS__)
+#define pr_err(fmt, ...) \
+	printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
+#define pr_warning(fmt, ...) \
+	printk(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
+#define pr_warn pr_warning
+#define pr_notice(fmt, ...) \
+	printk(KERN_NOTICE pr_fmt(fmt), ##__VA_ARGS__)
+#define pr_info(fmt, ...) \
+	printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
+#define pr_cont(fmt, ...) \
+	printk(KERN_CONT fmt, ##__VA_ARGS__)
+#endif
+
+//Invader Changes
+#define DEBUG 1
+
+/* pr_devel() should produce zero code unless DEBUG is defined */
+#ifdef DEBUG
+#define pr_devel(fmt, ...) \
+	printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
+#else
+#define pr_devel(fmt, ...) \
+	no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
+#endif
+
+
+/* If you are writing a driver, please use dev_dbg instead */
+#if defined(DEBUG)
+#define pr_debug(fmt, ...) \
+	printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
+#elif defined(CONFIG_DYNAMIC_DEBUG)
+/* dynamic_pr_debug() uses pr_fmt() internally so we don't need it here */
+#define pr_debug(fmt, ...) \
+	dynamic_pr_debug(fmt, ##__VA_ARGS__)
+#else
+#define pr_debug(fmt, ...) \
+	no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
+#endif
+
+/*
+ * Print a one-time message (analogous to WARN_ONCE() et al):
+ */
+
+#ifdef CONFIG_PRINTK
+#define printk_once(fmt, ...)			\
+({						\
+	static bool __print_once;		\
+						\
+	if (!__print_once) {			\
+		__print_once = true;		\
+		printk(fmt, ##__VA_ARGS__);	\
+	}					\
+})
+#else
+#define printk_once(fmt, ...)			\
+	no_printk(fmt, ##__VA_ARGS__)
+#endif
+
+#define pr_emerg_once(fmt, ...)					\
+	printk_once(KERN_EMERG pr_fmt(fmt), ##__VA_ARGS__)
+#define pr_alert_once(fmt, ...)					\
+	printk_once(KERN_ALERT pr_fmt(fmt), ##__VA_ARGS__)
+#define pr_crit_once(fmt, ...)					\
+	printk_once(KERN_CRIT pr_fmt(fmt), ##__VA_ARGS__)
+#define pr_err_once(fmt, ...)					\
+	printk_once(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
+#define pr_warn_once(fmt, ...)					\
+	printk_once(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
+#define pr_notice_once(fmt, ...)				\
+	printk_once(KERN_NOTICE pr_fmt(fmt), ##__VA_ARGS__)
+#define pr_info_once(fmt, ...)					\
+	printk_once(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
+#define pr_cont_once(fmt, ...)					\
+	printk_once(KERN_CONT pr_fmt(fmt), ##__VA_ARGS__)
+/* If you are writing a driver, please use dev_dbg instead */
+#if defined(DEBUG)
+#define pr_debug_once(fmt, ...)					\
+	printk_once(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
+#else
+#define pr_debug_once(fmt, ...)					\
+	no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
+#endif
+
+/*
+ * ratelimited messages with local ratelimit_state,
+ * no local ratelimit_state used in the !PRINTK case
+ */
+#ifdef CONFIG_PRINTK
+#define printk_ratelimited(fmt, ...)					\
+({									\
+	static DEFINE_RATELIMIT_STATE(_rs,				\
+				      DEFAULT_RATELIMIT_INTERVAL,	\
+				      DEFAULT_RATELIMIT_BURST);		\
+									\
+	if (__ratelimit(&_rs))						\
+		printk(fmt, ##__VA_ARGS__);				\
+})
+#else
+#define printk_ratelimited(fmt, ...)					\
+	no_printk(fmt, ##__VA_ARGS__)
+#endif
+
+#define pr_emerg_ratelimited(fmt, ...)					\
+	printk_ratelimited(KERN_EMERG pr_fmt(fmt), ##__VA_ARGS__)
+#define pr_alert_ratelimited(fmt, ...)					\
+	printk_ratelimited(KERN_ALERT pr_fmt(fmt), ##__VA_ARGS__)
+#define pr_crit_ratelimited(fmt, ...)					\
+	printk_ratelimited(KERN_CRIT pr_fmt(fmt), ##__VA_ARGS__)
+#define pr_err_ratelimited(fmt, ...)					\
+	printk_ratelimited(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
+#define pr_warn_ratelimited(fmt, ...)					\
+	printk_ratelimited(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
+#define pr_notice_ratelimited(fmt, ...)					\
+	printk_ratelimited(KERN_NOTICE pr_fmt(fmt), ##__VA_ARGS__)
+#define pr_info_ratelimited(fmt, ...)					\
+	printk_ratelimited(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
+/* no pr_cont_ratelimited, don't do that... */
+/* If you are writing a driver, please use dev_dbg instead */
+#if defined(DEBUG)
+#define pr_debug_ratelimited(fmt, ...)					\
+	printk_ratelimited(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
+#else
+#define pr_debug_ratelimited(fmt, ...) \
+	no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
+#endif
+
+enum {
+	DUMP_PREFIX_NONE,
+	DUMP_PREFIX_ADDRESS,
+	DUMP_PREFIX_OFFSET
+};
+extern void hex_dump_to_buffer(const void *buf, size_t len,
+			       int rowsize, int groupsize,
+			       char *linebuf, size_t linebuflen, bool ascii);
+#ifdef CONFIG_PRINTK
+extern void print_hex_dump(const char *level, const char *prefix_str,
+			   int prefix_type, int rowsize, int groupsize,
+			   const void *buf, size_t len, bool ascii);
+extern void print_hex_dump_bytes(const char *prefix_str, int prefix_type,
+				 const void *buf, size_t len);
+#else
+static inline void print_hex_dump(const char *level, const char *prefix_str,
+				  int prefix_type, int rowsize, int groupsize,
+				  const void *buf, size_t len, bool ascii)
+{
+}
+static inline void print_hex_dump_bytes(const char *prefix_str, int prefix_type,
+					const void *buf, size_t len)
+{
+}
+
+#endif
+
+#endif
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/REPORTING-BUGS ../linux-2.6.39.4/REPORTING-BUGS
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/REPORTING-BUGS	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/REPORTING-BUGS	1970-01-01 05:30:00.000000000 +0530
@@ -1,68 +0,0 @@
-[Some of this is taken from Frohwalt Egerer's original linux-kernel FAQ]
-
-     What follows is a suggested procedure for reporting Linux bugs. You
-aren't obliged to use the bug reporting format, it is provided as a guide
-to the kind of information that can be useful to developers - no more.
-
-     If the failure includes an "OOPS:" type message in your log or on
-screen please read "Documentation/oops-tracing.txt" before posting your
-bug report. This explains what you should do with the "Oops" information
-to make it useful to the recipient.
-
-      Send the output to the maintainer of the kernel area that seems to
-be involved with the problem, and cc the relevant mailing list. Don't
-worry too much about getting the wrong person. If you are unsure send it
-to the person responsible for the code relevant to what you were doing.
-If it occurs repeatably try and describe how to recreate it. That is
-worth even more than the oops itself.  The list of maintainers and
-mailing lists is in the MAINTAINERS file in this directory.  If you
-know the file name that causes the problem you can use the following
-command in this directory to find some of the maintainers of that file:
-     perl scripts/get_maintainer.pl -f <filename>
-
-      If it is a security bug, please copy the Security Contact listed
-in the MAINTAINERS file.  They can help coordinate bugfix and disclosure.
-See Documentation/SecurityBugs for more information.
-
-      If you are totally stumped as to whom to send the report, send it to
-linux-kernel@vger.kernel.org. (For more information on the linux-kernel
-mailing list see http://www.tux.org/lkml/).
-
-This is a suggested format for a bug report sent to the Linux kernel mailing
-list. Having a standardized bug report form makes it easier for you not to
-overlook things, and easier for the developers to find the pieces of
-information they're really interested in. Don't feel you have to follow it.
-
-      First run the ver_linux script included as scripts/ver_linux, which
-reports the version of some important subsystems.  Run this script with
-the command "sh scripts/ver_linux".
-
-Use that information to fill in all fields of the bug report form, and
-post it to the mailing list with a subject of "PROBLEM: <one line
-summary from [1.]>" for easy identification by the developers.
-
-[1.] One line summary of the problem:
-[2.] Full description of the problem/report:
-[3.] Keywords (i.e., modules, networking, kernel):
-[4.] Kernel information
-[4.1.] Kernel version (from /proc/version):
-[4.2.] Kernel .config file:
-[5.] Most recent kernel version which did not have the bug:
-[6.] Output of Oops.. message (if applicable) with symbolic information
-     resolved (see Documentation/oops-tracing.txt)
-[7.] A small shell script or example program which triggers the
-     problem (if possible)
-[8.] Environment
-[8.1.] Software (add the output of the ver_linux script here)
-[8.2.] Processor information (from /proc/cpuinfo):
-[8.3.] Module information (from /proc/modules):
-[8.4.] Loaded driver and hardware information (/proc/ioports, /proc/iomem)
-[8.5.] PCI information ('lspci -vvv' as root)
-[8.6.] SCSI information (from /proc/scsi/scsi)
-[8.7.] Other information that might be relevant to the problem
-       (please look in /proc and include all information that you
-       think to be relevant):
-[X.] Other notes, patches, fixes, workarounds:
-
-
-Thank you
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/basic/.docproc.cmd ../linux-2.6.39.4/scripts/basic/.docproc.cmd
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/basic/.docproc.cmd	2011-10-22 04:52:28.647213563 +0530
+++ ../linux-2.6.39.4/scripts/basic/.docproc.cmd	1970-01-01 05:30:00.000000000 +0530
@@ -1,87 +0,0 @@
-cmd_scripts/basic/docproc := gcc -Wp,-MD,scripts/basic/.docproc.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer     -o scripts/basic/docproc scripts/basic/docproc.c  
-
-source_scripts/basic/docproc := scripts/basic/docproc.c
-
-deps_scripts/basic/docproc := \
-  /usr/include/stdio.h \
-  /usr/include/features.h \
-  /usr/include/sys/cdefs.h \
-  /usr/include/bits/wordsize.h \
-  /usr/include/gnu/stubs.h \
-  /usr/include/gnu/stubs-32.h \
-  /usr/lib/gcc/i686-redhat-linux/4.4.4/include/stddef.h \
-  /usr/include/bits/types.h \
-  /usr/include/bits/typesizes.h \
-  /usr/include/libio.h \
-  /usr/include/_G_config.h \
-  /usr/include/wchar.h \
-  /usr/lib/gcc/i686-redhat-linux/4.4.4/include/stdarg.h \
-  /usr/include/bits/stdio_lim.h \
-  /usr/include/bits/sys_errlist.h \
-  /usr/include/bits/stdio.h \
-  /usr/include/stdlib.h \
-  /usr/include/bits/waitflags.h \
-  /usr/include/bits/waitstatus.h \
-  /usr/include/endian.h \
-  /usr/include/bits/endian.h \
-  /usr/include/bits/byteswap.h \
-  /usr/include/xlocale.h \
-  /usr/include/sys/types.h \
-  /usr/include/time.h \
-  /usr/include/sys/select.h \
-  /usr/include/bits/select.h \
-  /usr/include/bits/sigset.h \
-  /usr/include/bits/time.h \
-  /usr/include/sys/sysmacros.h \
-  /usr/include/bits/pthreadtypes.h \
-  /usr/include/alloca.h \
-  /usr/include/string.h \
-  /usr/include/bits/string.h \
-  /usr/include/bits/string2.h \
-  /usr/include/ctype.h \
-  /usr/include/unistd.h \
-  /usr/include/bits/posix_opt.h \
-  /usr/include/bits/environments.h \
-  /usr/include/bits/confname.h \
-  /usr/include/getopt.h \
-  /usr/lib/gcc/i686-redhat-linux/4.4.4/include/limits.h \
-  /usr/lib/gcc/i686-redhat-linux/4.4.4/include/syslimits.h \
-  /usr/include/limits.h \
-  /usr/include/bits/posix1_lim.h \
-  /usr/include/bits/local_lim.h \
-  /usr/include/linux/limits.h \
-  /usr/include/bits/posix2_lim.h \
-  /usr/include/bits/xopen_lim.h \
-  /usr/include/errno.h \
-  /usr/include/bits/errno.h \
-  /usr/include/linux/errno.h \
-  /usr/include/asm/errno.h \
-  /usr/include/asm-generic/errno.h \
-  /usr/include/asm-generic/errno-base.h \
-  /usr/include/sys/wait.h \
-  /usr/include/signal.h \
-  /usr/include/bits/signum.h \
-  /usr/include/bits/siginfo.h \
-  /usr/include/bits/sigaction.h \
-  /usr/include/bits/sigcontext.h \
-  /usr/include/asm/sigcontext.h \
-  /usr/include/linux/types.h \
-  /usr/include/asm/types.h \
-  /usr/include/asm-generic/types.h \
-  /usr/include/asm-generic/int-ll64.h \
-  /usr/include/asm/bitsperlong.h \
-  /usr/include/asm-generic/bitsperlong.h \
-    $(wildcard include/config/64bit.h) \
-  /usr/include/linux/posix_types.h \
-  /usr/include/linux/stddef.h \
-  /usr/include/asm/posix_types.h \
-  /usr/include/asm/posix_types_32.h \
-  /usr/include/bits/sigstack.h \
-  /usr/include/sys/ucontext.h \
-  /usr/include/bits/sigthread.h \
-  /usr/include/sys/resource.h \
-  /usr/include/bits/resource.h \
-
-scripts/basic/docproc: $(deps_scripts/basic/docproc)
-
-$(deps_scripts/basic/docproc):
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/basic/.fixdep.cmd ../linux-2.6.39.4/scripts/basic/.fixdep.cmd
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/basic/.fixdep.cmd	2011-10-22 04:52:28.407246602 +0530
+++ ../linux-2.6.39.4/scripts/basic/.fixdep.cmd	1970-01-01 05:30:00.000000000 +0530
@@ -1,82 +0,0 @@
-cmd_scripts/basic/fixdep := gcc -Wp,-MD,scripts/basic/.fixdep.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer     -o scripts/basic/fixdep scripts/basic/fixdep.c  
-
-source_scripts/basic/fixdep := scripts/basic/fixdep.c
-
-deps_scripts/basic/fixdep := \
-    $(wildcard include/config/his/driver.h) \
-    $(wildcard include/config/my/option.h) \
-    $(wildcard include/config/.h) \
-    $(wildcard include/config/foo.h) \
-    $(wildcard include/config/boom.h) \
-  /usr/include/sys/types.h \
-  /usr/include/features.h \
-  /usr/include/sys/cdefs.h \
-  /usr/include/bits/wordsize.h \
-  /usr/include/gnu/stubs.h \
-  /usr/include/gnu/stubs-32.h \
-  /usr/include/bits/types.h \
-  /usr/include/bits/typesizes.h \
-  /usr/include/time.h \
-  /usr/lib/gcc/i686-redhat-linux/4.4.4/include/stddef.h \
-  /usr/include/endian.h \
-  /usr/include/bits/endian.h \
-  /usr/include/bits/byteswap.h \
-  /usr/include/sys/select.h \
-  /usr/include/bits/select.h \
-  /usr/include/bits/sigset.h \
-  /usr/include/bits/time.h \
-  /usr/include/sys/sysmacros.h \
-  /usr/include/bits/pthreadtypes.h \
-  /usr/include/sys/stat.h \
-  /usr/include/bits/stat.h \
-  /usr/include/sys/mman.h \
-  /usr/include/bits/mman.h \
-  /usr/include/unistd.h \
-  /usr/include/bits/posix_opt.h \
-  /usr/include/bits/environments.h \
-  /usr/include/bits/confname.h \
-  /usr/include/getopt.h \
-  /usr/include/fcntl.h \
-  /usr/include/bits/fcntl.h \
-  /usr/include/string.h \
-  /usr/include/xlocale.h \
-  /usr/include/bits/string.h \
-  /usr/include/bits/string2.h \
-  /usr/include/stdlib.h \
-  /usr/include/bits/waitflags.h \
-  /usr/include/bits/waitstatus.h \
-  /usr/include/alloca.h \
-  /usr/include/stdio.h \
-  /usr/include/libio.h \
-  /usr/include/_G_config.h \
-  /usr/include/wchar.h \
-  /usr/lib/gcc/i686-redhat-linux/4.4.4/include/stdarg.h \
-  /usr/include/bits/stdio_lim.h \
-  /usr/include/bits/sys_errlist.h \
-  /usr/include/bits/stdio.h \
-  /usr/lib/gcc/i686-redhat-linux/4.4.4/include/limits.h \
-  /usr/lib/gcc/i686-redhat-linux/4.4.4/include/syslimits.h \
-  /usr/include/limits.h \
-  /usr/include/bits/posix1_lim.h \
-  /usr/include/bits/local_lim.h \
-  /usr/include/linux/limits.h \
-  /usr/include/bits/posix2_lim.h \
-  /usr/include/ctype.h \
-  /usr/include/arpa/inet.h \
-  /usr/include/netinet/in.h \
-  /usr/include/stdint.h \
-  /usr/include/bits/wchar.h \
-  /usr/include/sys/socket.h \
-  /usr/include/sys/uio.h \
-  /usr/include/bits/uio.h \
-  /usr/include/bits/socket.h \
-  /usr/include/bits/sockaddr.h \
-  /usr/include/asm/socket.h \
-  /usr/include/asm-generic/socket.h \
-  /usr/include/asm/sockios.h \
-  /usr/include/asm-generic/sockios.h \
-  /usr/include/bits/in.h \
-
-scripts/basic/fixdep: $(deps_scripts/basic/fixdep)
-
-$(deps_scripts/basic/fixdep):
Binary files ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/conmakehash and ../linux-2.6.39.4/scripts/conmakehash differ
Binary files ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/dtc/dtc and ../linux-2.6.39.4/scripts/dtc/dtc differ
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/dtc/dtc-lexer.lex.c ../linux-2.6.39.4/scripts/dtc/dtc-lexer.lex.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/dtc/dtc-lexer.lex.c	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/scripts/dtc/dtc-lexer.lex.c	2011-10-22 06:42:13.203103275 +0530
@@ -0,0 +1,2025 @@
+#line 2 "dtc-lexer.lex.c"
+
+#line 4 "dtc-lexer.lex.c"
+
+#define  YY_INT_ALIGNED short int
+
+/* A lexical scanner generated by flex */
+
+#define FLEX_SCANNER
+#define YY_FLEX_MAJOR_VERSION 2
+#define YY_FLEX_MINOR_VERSION 5
+#define YY_FLEX_SUBMINOR_VERSION 35
+#if YY_FLEX_SUBMINOR_VERSION > 0
+#define FLEX_BETA
+#endif
+
+/* First, we deal with  platform-specific or compiler-specific issues. */
+
+/* begin standard C headers. */
+#include <stdio.h>
+#include <string.h>
+#include <errno.h>
+#include <stdlib.h>
+
+/* end standard C headers. */
+
+/* flex integer type definitions */
+
+#ifndef FLEXINT_H
+#define FLEXINT_H
+
+/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
+
+#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+
+/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
+ * if you want the limit (max/min) macros for int types. 
+ */
+#ifndef __STDC_LIMIT_MACROS
+#define __STDC_LIMIT_MACROS 1
+#endif
+
+#include <inttypes.h>
+typedef int8_t flex_int8_t;
+typedef uint8_t flex_uint8_t;
+typedef int16_t flex_int16_t;
+typedef uint16_t flex_uint16_t;
+typedef int32_t flex_int32_t;
+typedef uint32_t flex_uint32_t;
+#else
+typedef signed char flex_int8_t;
+typedef short int flex_int16_t;
+typedef int flex_int32_t;
+typedef unsigned char flex_uint8_t; 
+typedef unsigned short int flex_uint16_t;
+typedef unsigned int flex_uint32_t;
+
+/* Limits of integral types. */
+#ifndef INT8_MIN
+#define INT8_MIN               (-128)
+#endif
+#ifndef INT16_MIN
+#define INT16_MIN              (-32767-1)
+#endif
+#ifndef INT32_MIN
+#define INT32_MIN              (-2147483647-1)
+#endif
+#ifndef INT8_MAX
+#define INT8_MAX               (127)
+#endif
+#ifndef INT16_MAX
+#define INT16_MAX              (32767)
+#endif
+#ifndef INT32_MAX
+#define INT32_MAX              (2147483647)
+#endif
+#ifndef UINT8_MAX
+#define UINT8_MAX              (255U)
+#endif
+#ifndef UINT16_MAX
+#define UINT16_MAX             (65535U)
+#endif
+#ifndef UINT32_MAX
+#define UINT32_MAX             (4294967295U)
+#endif
+
+#endif /* ! C99 */
+
+#endif /* ! FLEXINT_H */
+
+#ifdef __cplusplus
+
+/* The "const" storage-class-modifier is valid. */
+#define YY_USE_CONST
+
+#else	/* ! __cplusplus */
+
+/* C99 requires __STDC__ to be defined as 1. */
+#if defined (__STDC__)
+
+#define YY_USE_CONST
+
+#endif	/* defined (__STDC__) */
+#endif	/* ! __cplusplus */
+
+#ifdef YY_USE_CONST
+#define yyconst const
+#else
+#define yyconst
+#endif
+
+/* Returned upon end-of-file. */
+#define YY_NULL 0
+
+/* Promotes a possibly negative, possibly signed char to an unsigned
+ * integer for use as an array index.  If the signed char is negative,
+ * we want to instead treat it as an 8-bit unsigned char, hence the
+ * double cast.
+ */
+#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
+
+/* Enter a start condition.  This macro really ought to take a parameter,
+ * but we do it the disgusting crufty way forced on us by the ()-less
+ * definition of BEGIN.
+ */
+#define BEGIN (yy_start) = 1 + 2 *
+
+/* Translate the current start state into a value that can be later handed
+ * to BEGIN to return to the state.  The YYSTATE alias is for lex
+ * compatibility.
+ */
+#define YY_START (((yy_start) - 1) / 2)
+#define YYSTATE YY_START
+
+/* Action number for EOF rule of a given start state. */
+#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
+
+/* Special action meaning "start processing a new file". */
+#define YY_NEW_FILE yyrestart(yyin  )
+
+#define YY_END_OF_BUFFER_CHAR 0
+
+/* Size of default input buffer. */
+#ifndef YY_BUF_SIZE
+#ifdef __ia64__
+/* On IA-64, the buffer size is 16k, not 8k.
+ * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
+ * Ditto for the __ia64__ case accordingly.
+ */
+#define YY_BUF_SIZE 32768
+#else
+#define YY_BUF_SIZE 16384
+#endif /* __ia64__ */
+#endif
+
+/* The state buf must be large enough to hold one state per character in the main buffer.
+ */
+#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
+
+#ifndef YY_TYPEDEF_YY_BUFFER_STATE
+#define YY_TYPEDEF_YY_BUFFER_STATE
+typedef struct yy_buffer_state *YY_BUFFER_STATE;
+#endif
+
+extern int yyleng;
+
+extern FILE *yyin, *yyout;
+
+#define EOB_ACT_CONTINUE_SCAN 0
+#define EOB_ACT_END_OF_FILE 1
+#define EOB_ACT_LAST_MATCH 2
+
+    #define YY_LESS_LINENO(n)
+    
+/* Return all but the first "n" matched characters back to the input stream. */
+#define yyless(n) \
+	do \
+		{ \
+		/* Undo effects of setting up yytext. */ \
+        int yyless_macro_arg = (n); \
+        YY_LESS_LINENO(yyless_macro_arg);\
+		*yy_cp = (yy_hold_char); \
+		YY_RESTORE_YY_MORE_OFFSET \
+		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
+		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
+		} \
+	while ( 0 )
+
+#define unput(c) yyunput( c, (yytext_ptr)  )
+
+#ifndef YY_TYPEDEF_YY_SIZE_T
+#define YY_TYPEDEF_YY_SIZE_T
+typedef size_t yy_size_t;
+#endif
+
+#ifndef YY_STRUCT_YY_BUFFER_STATE
+#define YY_STRUCT_YY_BUFFER_STATE
+struct yy_buffer_state
+	{
+	FILE *yy_input_file;
+
+	char *yy_ch_buf;		/* input buffer */
+	char *yy_buf_pos;		/* current position in input buffer */
+
+	/* Size of input buffer in bytes, not including room for EOB
+	 * characters.
+	 */
+	yy_size_t yy_buf_size;
+
+	/* Number of characters read into yy_ch_buf, not including EOB
+	 * characters.
+	 */
+	int yy_n_chars;
+
+	/* Whether we "own" the buffer - i.e., we know we created it,
+	 * and can realloc() it to grow it, and should free() it to
+	 * delete it.
+	 */
+	int yy_is_our_buffer;
+
+	/* Whether this is an "interactive" input source; if so, and
+	 * if we're using stdio for input, then we want to use getc()
+	 * instead of fread(), to make sure we stop fetching input after
+	 * each newline.
+	 */
+	int yy_is_interactive;
+
+	/* Whether we're considered to be at the beginning of a line.
+	 * If so, '^' rules will be active on the next match, otherwise
+	 * not.
+	 */
+	int yy_at_bol;
+
+    int yy_bs_lineno; /**< The line count. */
+    int yy_bs_column; /**< The column count. */
+    
+	/* Whether to try to fill the input buffer when we reach the
+	 * end of it.
+	 */
+	int yy_fill_buffer;
+
+	int yy_buffer_status;
+
+#define YY_BUFFER_NEW 0
+#define YY_BUFFER_NORMAL 1
+	/* When an EOF's been seen but there's still some text to process
+	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
+	 * shouldn't try reading from the input source any more.  We might
+	 * still have a bunch of tokens to match, though, because of
+	 * possible backing-up.
+	 *
+	 * When we actually see the EOF, we change the status to "new"
+	 * (via yyrestart()), so that the user can continue scanning by
+	 * just pointing yyin at a new input file.
+	 */
+#define YY_BUFFER_EOF_PENDING 2
+
+	};
+#endif /* !YY_STRUCT_YY_BUFFER_STATE */
+
+/* Stack of input buffers. */
+static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
+static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
+static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
+
+/* We provide macros for accessing buffer states in case in the
+ * future we want to put the buffer states in a more general
+ * "scanner state".
+ *
+ * Returns the top of the stack, or NULL.
+ */
+#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
+                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
+                          : NULL)
+
+/* Same as previous macro, but useful when we know that the buffer stack is not
+ * NULL or when we need an lvalue. For internal use only.
+ */
+#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
+
+/* yy_hold_char holds the character lost when yytext is formed. */
+static char yy_hold_char;
+static int yy_n_chars;		/* number of characters read into yy_ch_buf */
+int yyleng;
+
+/* Points to current character in buffer. */
+static char *yy_c_buf_p = (char *) 0;
+static int yy_init = 0;		/* whether we need to initialize */
+static int yy_start = 0;	/* start state number */
+
+/* Flag which is used to allow yywrap()'s to do buffer switches
+ * instead of setting up a fresh yyin.  A bit of a hack ...
+ */
+static int yy_did_buffer_switch_on_eof;
+
+void yyrestart (FILE *input_file  );
+void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
+YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
+void yy_delete_buffer (YY_BUFFER_STATE b  );
+void yy_flush_buffer (YY_BUFFER_STATE b  );
+void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
+void yypop_buffer_state (void );
+
+static void yyensure_buffer_stack (void );
+static void yy_load_buffer_state (void );
+static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
+
+#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
+
+YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
+YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
+YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len  );
+
+void *yyalloc (yy_size_t  );
+void *yyrealloc (void *,yy_size_t  );
+void yyfree (void *  );
+
+#define yy_new_buffer yy_create_buffer
+
+#define yy_set_interactive(is_interactive) \
+	{ \
+	if ( ! YY_CURRENT_BUFFER ){ \
+        yyensure_buffer_stack (); \
+		YY_CURRENT_BUFFER_LVALUE =    \
+            yy_create_buffer(yyin,YY_BUF_SIZE ); \
+	} \
+	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
+	}
+
+#define yy_set_bol(at_bol) \
+	{ \
+	if ( ! YY_CURRENT_BUFFER ){\
+        yyensure_buffer_stack (); \
+		YY_CURRENT_BUFFER_LVALUE =    \
+            yy_create_buffer(yyin,YY_BUF_SIZE ); \
+	} \
+	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
+	}
+
+#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
+
+/* Begin user sect3 */
+
+#define yywrap(n) 1
+#define YY_SKIP_YYWRAP
+
+typedef unsigned char YY_CHAR;
+
+FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
+
+typedef int yy_state_type;
+
+extern int yylineno;
+
+int yylineno = 1;
+
+extern char *yytext;
+#define yytext_ptr yytext
+
+static yy_state_type yy_get_previous_state (void );
+static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
+static int yy_get_next_buffer (void );
+static void yy_fatal_error (yyconst char msg[]  );
+
+/* Done after the current pattern has been matched and before the
+ * corresponding action - sets up yytext.
+ */
+#define YY_DO_BEFORE_ACTION \
+	(yytext_ptr) = yy_bp; \
+	yyleng = (size_t) (yy_cp - yy_bp); \
+	(yy_hold_char) = *yy_cp; \
+	*yy_cp = '\0'; \
+	(yy_c_buf_p) = yy_cp;
+
+#define YY_NUM_RULES 17
+#define YY_END_OF_BUFFER 18
+/* This struct is not used in this scanner,
+   but its presence is necessary. */
+struct yy_trans_info
+	{
+	flex_int32_t yy_verify;
+	flex_int32_t yy_nxt;
+	};
+static yyconst flex_int16_t yy_accept[94] =
+    {   0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+       18,   16,   13,   13,   16,   16,   16,   16,   16,   16,
+       16,   10,   11,   11,    6,    6,   13,    0,    2,    0,
+        7,    0,    0,    0,    0,    0,    0,    0,    5,    0,
+        9,    9,   11,   11,    6,    0,    7,    0,    0,    0,
+        0,   15,    0,    0,    0,    0,    6,    0,   14,    0,
+        0,    0,    0,    0,    8,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    3,   12,
+        0,    0,    0,    0,    0,    0,    0,    0,    1,    0,
+        0,    4,    0
+
+    } ;
+
+static yyconst flex_int32_t yy_ec[256] =
+    {   0,
+        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
+        2,    2,    2,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    2,    1,    4,    5,    1,    1,    6,    1,    1,
+        1,    7,    5,    5,    8,    5,    9,   10,   11,   12,
+       12,   12,   12,   12,   12,   12,   12,   13,    1,    1,
+        1,    1,    5,    5,   14,   14,   14,   14,   14,   14,
+       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
+       15,   15,   15,   15,   15,   15,   15,   16,   15,   15,
+        1,   17,   18,    1,   15,    1,   14,   19,   20,   21,
+
+       22,   14,   15,   15,   23,   15,   15,   24,   25,   26,
+       15,   15,   15,   27,   28,   29,   30,   31,   15,   16,
+       15,   15,   32,    1,   33,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1
+    } ;
+
+static yyconst flex_int32_t yy_meta[34] =
+    {   0,
+        1,    1,    1,    1,    2,    1,    2,    2,    3,    4,
+        4,    4,    5,    6,    7,    7,    1,    1,    6,    6,
+        6,    6,    7,    7,    7,    7,    7,    7,    7,    7,
+        7,    8,    1
+    } ;
+
+static yyconst flex_int16_t yy_base[106] =
+    {   0,
+        0,    0,  237,  236,   25,    0,   47,    0,   30,   71,
+      244,  247,   82,   84,   84,  211,   95,  229,  218,    0,
+      111,  247,    0,   84,   83,   95,  106,   86,  247,  237,
+        0,  230,  231,  234,  207,  209,  212,  220,  247,  206,
+      247,  218,    0,  106,  116,    0,    0,    0,  223,   89,
+      226,  219,  199,  206,  200,  204,    0,  190,  213,  212,
+      202,   91,  178,  161,  247,  172,  144,  150,  140,  130,
+      140,  124,  128,  120,  138,  137,  123,  122,  247,  247,
+      134,  114,  132,   86,  135,  125,   90,  136,  247,   97,
+       29,  247,  247,  153,  156,  161,  165,  170,  176,  180,
+
+      187,  195,  200,  205,  212
+    } ;
+
+static yyconst flex_int16_t yy_def[106] =
+    {   0,
+       93,    1,    1,    1,    1,    5,   93,    7,    1,    1,
+       93,   93,   93,   93,   94,   95,   93,   96,   17,   97,
+       96,   93,   98,   99,   93,   93,   93,   94,   93,   94,
+      100,   93,  101,  102,   93,   93,   93,   96,   93,   93,
+       93,   96,   98,   99,   93,  103,  100,  104,  101,  101,
+      102,   93,   93,   93,   93,   93,  103,  104,   93,   93,
+       93,   93,   93,   93,   93,   93,   93,   93,   93,   93,
+       93,   93,   93,   93,   93,   93,   93,   93,   93,   93,
+       93,   93,   93,   93,   93,  105,   93,  105,   93,  105,
+       93,   93,    0,   93,   93,   93,   93,   93,   93,   93,
+
+       93,   93,   93,   93,   93
+    } ;
+
+static yyconst flex_int16_t yy_nxt[281] =
+    {   0,
+       12,   13,   14,   15,   12,   16,   12,   12,   17,   12,
+       12,   12,   12,   18,   18,   18,   12,   12,   18,   18,
+       18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
+       18,   12,   12,   19,   20,   20,   20,   92,   21,   25,
+       26,   26,   22,   21,   21,   21,   21,   12,   13,   14,
+       15,   23,   16,   23,   23,   19,   23,   23,   23,   12,
+       24,   24,   24,   12,   12,   24,   24,   24,   24,   24,
+       24,   24,   24,   24,   24,   24,   24,   24,   12,   12,
+       25,   26,   26,   27,   27,   27,   27,   29,   43,   29,
+       43,   43,   45,   45,   45,   50,   39,   59,   46,   93,
+
+       30,   33,   30,   34,   45,   45,   45,   27,   27,   68,
+       43,   91,   43,   43,   69,   35,   87,   36,   39,   37,
+       42,   42,   42,   39,   42,   45,   45,   45,   89,   42,
+       42,   42,   42,   85,   85,   86,   85,   85,   86,   89,
+       84,   90,   83,   82,   81,   80,   79,   78,   77,   76,
+       75,   74,   90,   28,   28,   28,   28,   28,   28,   28,
+       28,   31,   31,   31,   38,   38,   38,   38,   41,   73,
+       41,   43,   72,   43,   71,   43,   43,   44,   33,   44,
+       44,   44,   44,   47,   69,   47,   47,   49,   49,   49,
+       49,   49,   49,   49,   49,   51,   51,   51,   51,   51,
+
+       51,   51,   51,   57,   70,   57,   58,   58,   58,   67,
+       58,   58,   88,   88,   88,   88,   88,   88,   88,   88,
+       34,   66,   65,   64,   63,   62,   61,   60,   52,   50,
+       39,   56,   39,   55,   54,   53,   52,   50,   48,   93,
+       40,   39,   32,   93,   19,   19,   11,   93,   93,   93,
+       93,   93,   93,   93,   93,   93,   93,   93,   93,   93,
+       93,   93,   93,   93,   93,   93,   93,   93,   93,   93,
+       93,   93,   93,   93,   93,   93,   93,   93,   93,   93
+    } ;
+
+static yyconst flex_int16_t yy_chk[281] =
+    {   0,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    5,    5,    5,    5,   91,    5,    9,
+        9,    9,    5,    5,    5,    5,    5,    7,    7,    7,
+        7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
+        7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
+        7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
+       10,   10,   10,   13,   13,   14,   14,   15,   24,   28,
+       24,   24,   25,   25,   25,   50,   24,   50,   25,   90,
+
+       15,   17,   28,   17,   26,   26,   26,   27,   27,   62,
+       44,   87,   44,   44,   62,   17,   84,   17,   44,   17,
+       21,   21,   21,   21,   21,   45,   45,   45,   86,   21,
+       21,   21,   21,   83,   83,   83,   85,   85,   85,   88,
+       82,   86,   81,   78,   77,   76,   75,   74,   73,   72,
+       71,   70,   88,   94,   94,   94,   94,   94,   94,   94,
+       94,   95,   95,   95,   96,   96,   96,   96,   97,   69,
+       97,   98,   68,   98,   67,   98,   98,   99,   66,   99,
+       99,   99,   99,  100,   64,  100,  100,  101,  101,  101,
+      101,  101,  101,  101,  101,  102,  102,  102,  102,  102,
+
+      102,  102,  102,  103,   63,  103,  104,  104,  104,   61,
+      104,  104,  105,  105,  105,  105,  105,  105,  105,  105,
+       60,   59,   58,   56,   55,   54,   53,   52,   51,   49,
+       42,   40,   38,   37,   36,   35,   34,   33,   32,   30,
+       19,   18,   16,   11,    4,    3,   93,   93,   93,   93,
+       93,   93,   93,   93,   93,   93,   93,   93,   93,   93,
+       93,   93,   93,   93,   93,   93,   93,   93,   93,   93,
+       93,   93,   93,   93,   93,   93,   93,   93,   93,   93
+    } ;
+
+static yy_state_type yy_last_accepting_state;
+static char *yy_last_accepting_cpos;
+
+extern int yy_flex_debug;
+int yy_flex_debug = 0;
+
+/* The intent behind this definition is that it'll catch
+ * any uses of REJECT which flex missed.
+ */
+#define REJECT reject_used_but_not_detected
+#define yymore() yymore_used_but_not_detected
+#define YY_MORE_ADJ 0
+#define YY_RESTORE_YY_MORE_OFFSET
+char *yytext;
+#line 1 "dtc-lexer.l"
+/*
+ * (C) Copyright David Gibson <dwg@au1.ibm.com>, IBM Corporation.  2005.
+ *
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *  General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
+ *                                                                   USA
+ */
+#define YY_NO_INPUT 1
+
+
+
+
+#line 37 "dtc-lexer.l"
+#include "dtc.h"
+#include "srcpos.h"
+#include "dtc-parser.tab.h"
+
+YYLTYPE yylloc;
+
+/* CAUTION: this will stop working if we ever use yyless() or yyunput() */
+#define	YY_USER_ACTION \
+	{ \
+		srcpos_update(&yylloc, yytext, yyleng); \
+	}
+
+/*#define LEXDEBUG	1*/
+
+#ifdef LEXDEBUG
+#define DPRINT(fmt, ...)	fprintf(stderr, fmt, ##__VA_ARGS__)
+#else
+#define DPRINT(fmt, ...)	do { } while (0)
+#endif
+
+static int dts_version = 1;
+
+#define BEGIN_DEFAULT()		DPRINT("<V1>\n"); \
+				BEGIN(V1); \
+
+static void push_input_file(const char *filename);
+static int pop_input_file(void);
+#line 607 "dtc-lexer.lex.c"
+
+#define INITIAL 0
+#define INCLUDE 1
+#define BYTESTRING 2
+#define PROPNODENAME 3
+#define V1 4
+
+#ifndef YY_NO_UNISTD_H
+/* Special case for "unistd.h", since it is non-ANSI. We include it way
+ * down here because we want the user's section 1 to have been scanned first.
+ * The user has a chance to override it with an option.
+ */
+#include <unistd.h>
+#endif
+
+#ifndef YY_EXTRA_TYPE
+#define YY_EXTRA_TYPE void *
+#endif
+
+static int yy_init_globals (void );
+
+/* Accessor methods to globals.
+   These are made visible to non-reentrant scanners for convenience. */
+
+int yylex_destroy (void );
+
+int yyget_debug (void );
+
+void yyset_debug (int debug_flag  );
+
+YY_EXTRA_TYPE yyget_extra (void );
+
+void yyset_extra (YY_EXTRA_TYPE user_defined  );
+
+FILE *yyget_in (void );
+
+void yyset_in  (FILE * in_str  );
+
+FILE *yyget_out (void );
+
+void yyset_out  (FILE * out_str  );
+
+int yyget_leng (void );
+
+char *yyget_text (void );
+
+int yyget_lineno (void );
+
+void yyset_lineno (int line_number  );
+
+/* Macros after this point can all be overridden by user definitions in
+ * section 1.
+ */
+
+#ifndef YY_SKIP_YYWRAP
+#ifdef __cplusplus
+extern "C" int yywrap (void );
+#else
+extern int yywrap (void );
+#endif
+#endif
+
+#ifndef yytext_ptr
+static void yy_flex_strncpy (char *,yyconst char *,int );
+#endif
+
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen (yyconst char * );
+#endif
+
+#ifndef YY_NO_INPUT
+
+#ifdef __cplusplus
+static int yyinput (void );
+#else
+static int input (void );
+#endif
+
+#endif
+
+/* Amount of stuff to slurp up with each read. */
+#ifndef YY_READ_BUF_SIZE
+#ifdef __ia64__
+/* On IA-64, the buffer size is 16k, not 8k */
+#define YY_READ_BUF_SIZE 16384
+#else
+#define YY_READ_BUF_SIZE 8192
+#endif /* __ia64__ */
+#endif
+
+/* Copy whatever the last rule matched to the standard output. */
+#ifndef ECHO
+/* This used to be an fputs(), but since the string might contain NUL's,
+ * we now use fwrite().
+ */
+#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
+#endif
+
+/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
+ * is returned in "result".
+ */
+#ifndef YY_INPUT
+#define YY_INPUT(buf,result,max_size) \
+	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
+		{ \
+		int c = '*'; \
+		size_t n; \
+		for ( n = 0; n < max_size && \
+			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
+			buf[n] = (char) c; \
+		if ( c == '\n' ) \
+			buf[n++] = (char) c; \
+		if ( c == EOF && ferror( yyin ) ) \
+			YY_FATAL_ERROR( "input in flex scanner failed" ); \
+		result = n; \
+		} \
+	else \
+		{ \
+		errno=0; \
+		while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
+			{ \
+			if( errno != EINTR) \
+				{ \
+				YY_FATAL_ERROR( "input in flex scanner failed" ); \
+				break; \
+				} \
+			errno=0; \
+			clearerr(yyin); \
+			} \
+		}\
+\
+
+#endif
+
+/* No semi-colon after return; correct usage is to write "yyterminate();" -
+ * we don't want an extra ';' after the "return" because that will cause
+ * some compilers to complain about unreachable statements.
+ */
+#ifndef yyterminate
+#define yyterminate() return YY_NULL
+#endif
+
+/* Number of entries by which start-condition stack grows. */
+#ifndef YY_START_STACK_INCR
+#define YY_START_STACK_INCR 25
+#endif
+
+/* Report a fatal error. */
+#ifndef YY_FATAL_ERROR
+#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
+#endif
+
+/* end tables serialization structures and prototypes */
+
+/* Default declaration of generated scanner - a define so the user can
+ * easily add parameters.
+ */
+#ifndef YY_DECL
+#define YY_DECL_IS_OURS 1
+
+extern int yylex (void);
+
+#define YY_DECL int yylex (void)
+#endif /* !YY_DECL */
+
+/* Code executed at the beginning of each rule, after yytext and yyleng
+ * have been set up.
+ */
+#ifndef YY_USER_ACTION
+#define YY_USER_ACTION
+#endif
+
+/* Code executed at the end of each rule. */
+#ifndef YY_BREAK
+#define YY_BREAK break;
+#endif
+
+#define YY_RULE_SETUP \
+	YY_USER_ACTION
+
+/** The main scanner function which does all the work.
+ */
+YY_DECL
+{
+	register yy_state_type yy_current_state;
+	register char *yy_cp, *yy_bp;
+	register int yy_act;
+    
+#line 66 "dtc-lexer.l"
+
+#line 798 "dtc-lexer.lex.c"
+
+	if ( !(yy_init) )
+		{
+		(yy_init) = 1;
+
+#ifdef YY_USER_INIT
+		YY_USER_INIT;
+#endif
+
+		if ( ! (yy_start) )
+			(yy_start) = 1;	/* first start state */
+
+		if ( ! yyin )
+			yyin = stdin;
+
+		if ( ! yyout )
+			yyout = stdout;
+
+		if ( ! YY_CURRENT_BUFFER ) {
+			yyensure_buffer_stack ();
+			YY_CURRENT_BUFFER_LVALUE =
+				yy_create_buffer(yyin,YY_BUF_SIZE );
+		}
+
+		yy_load_buffer_state( );
+		}
+
+	while ( 1 )		/* loops until end-of-file is reached */
+		{
+		yy_cp = (yy_c_buf_p);
+
+		/* Support of yytext. */
+		*yy_cp = (yy_hold_char);
+
+		/* yy_bp points to the position in yy_ch_buf of the start of
+		 * the current run.
+		 */
+		yy_bp = yy_cp;
+
+		yy_current_state = (yy_start);
+yy_match:
+		do
+			{
+			register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
+			if ( yy_accept[yy_current_state] )
+				{
+				(yy_last_accepting_state) = yy_current_state;
+				(yy_last_accepting_cpos) = yy_cp;
+				}
+			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+				{
+				yy_current_state = (int) yy_def[yy_current_state];
+				if ( yy_current_state >= 94 )
+					yy_c = yy_meta[(unsigned int) yy_c];
+				}
+			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+			++yy_cp;
+			}
+		while ( yy_current_state != 93 );
+		yy_cp = (yy_last_accepting_cpos);
+		yy_current_state = (yy_last_accepting_state);
+
+yy_find_action:
+		yy_act = yy_accept[yy_current_state];
+
+		YY_DO_BEFORE_ACTION;
+
+do_action:	/* This label is used only to access EOF actions. */
+
+		switch ( yy_act )
+	{ /* beginning of action switch */
+			case 0: /* must back up */
+			/* undo the effects of YY_DO_BEFORE_ACTION */
+			*yy_cp = (yy_hold_char);
+			yy_cp = (yy_last_accepting_cpos);
+			yy_current_state = (yy_last_accepting_state);
+			goto yy_find_action;
+
+case 1:
+/* rule 1 can match eol */
+YY_RULE_SETUP
+#line 67 "dtc-lexer.l"
+{
+			char *name = strchr(yytext, '\"') + 1;
+			yytext[yyleng-1] = '\0';
+			push_input_file(name);
+		}
+	YY_BREAK
+case YY_STATE_EOF(INITIAL):
+case YY_STATE_EOF(INCLUDE):
+case YY_STATE_EOF(BYTESTRING):
+case YY_STATE_EOF(PROPNODENAME):
+case YY_STATE_EOF(V1):
+#line 73 "dtc-lexer.l"
+{
+			if (!pop_input_file()) {
+				yyterminate();
+			}
+		}
+	YY_BREAK
+case 2:
+/* rule 2 can match eol */
+YY_RULE_SETUP
+#line 79 "dtc-lexer.l"
+{
+			DPRINT("String: %s\n", yytext);
+			yylval.data = data_copy_escape_string(yytext+1,
+					yyleng-2);
+			return DT_STRING;
+		}
+	YY_BREAK
+case 3:
+YY_RULE_SETUP
+#line 86 "dtc-lexer.l"
+{
+			DPRINT("Keyword: /dts-v1/\n");
+			dts_version = 1;
+			BEGIN_DEFAULT();
+			return DT_V1;
+		}
+	YY_BREAK
+case 4:
+YY_RULE_SETUP
+#line 93 "dtc-lexer.l"
+{
+			DPRINT("Keyword: /memreserve/\n");
+			BEGIN_DEFAULT();
+			return DT_MEMRESERVE;
+		}
+	YY_BREAK
+case 5:
+YY_RULE_SETUP
+#line 99 "dtc-lexer.l"
+{
+			DPRINT("Label: %s\n", yytext);
+			yylval.labelref = xstrdup(yytext);
+			yylval.labelref[yyleng-1] = '\0';
+			return DT_LABEL;
+		}
+	YY_BREAK
+case 6:
+YY_RULE_SETUP
+#line 106 "dtc-lexer.l"
+{
+			yylval.literal = xstrdup(yytext);
+			DPRINT("Literal: '%s'\n", yylval.literal);
+			return DT_LITERAL;
+		}
+	YY_BREAK
+case 7:
+YY_RULE_SETUP
+#line 112 "dtc-lexer.l"
+{	/* label reference */
+			DPRINT("Ref: %s\n", yytext+1);
+			yylval.labelref = xstrdup(yytext+1);
+			return DT_REF;
+		}
+	YY_BREAK
+case 8:
+YY_RULE_SETUP
+#line 118 "dtc-lexer.l"
+{	/* new-style path reference */
+			yytext[yyleng-1] = '\0';
+			DPRINT("Ref: %s\n", yytext+2);
+			yylval.labelref = xstrdup(yytext+2);
+			return DT_REF;
+		}
+	YY_BREAK
+case 9:
+YY_RULE_SETUP
+#line 125 "dtc-lexer.l"
+{
+			yylval.byte = strtol(yytext, NULL, 16);
+			DPRINT("Byte: %02x\n", (int)yylval.byte);
+			return DT_BYTE;
+		}
+	YY_BREAK
+case 10:
+YY_RULE_SETUP
+#line 131 "dtc-lexer.l"
+{
+			DPRINT("/BYTESTRING\n");
+			BEGIN_DEFAULT();
+			return ']';
+		}
+	YY_BREAK
+case 11:
+YY_RULE_SETUP
+#line 137 "dtc-lexer.l"
+{
+			DPRINT("PropNodeName: %s\n", yytext);
+			yylval.propnodename = xstrdup(yytext);
+			BEGIN_DEFAULT();
+			return DT_PROPNODENAME;
+		}
+	YY_BREAK
+case 12:
+YY_RULE_SETUP
+#line 144 "dtc-lexer.l"
+{
+			DPRINT("Binary Include\n");
+			return DT_INCBIN;
+		}
+	YY_BREAK
+case 13:
+/* rule 13 can match eol */
+YY_RULE_SETUP
+#line 149 "dtc-lexer.l"
+/* eat whitespace */
+	YY_BREAK
+case 14:
+/* rule 14 can match eol */
+YY_RULE_SETUP
+#line 150 "dtc-lexer.l"
+/* eat C-style comments */
+	YY_BREAK
+case 15:
+/* rule 15 can match eol */
+YY_RULE_SETUP
+#line 151 "dtc-lexer.l"
+/* eat C++-style comments */
+	YY_BREAK
+case 16:
+YY_RULE_SETUP
+#line 153 "dtc-lexer.l"
+{
+			DPRINT("Char: %c (\\x%02x)\n", yytext[0],
+				(unsigned)yytext[0]);
+			if (yytext[0] == '[') {
+				DPRINT("<BYTESTRING>\n");
+				BEGIN(BYTESTRING);
+			}
+			if ((yytext[0] == '{')
+			    || (yytext[0] == ';')) {
+				DPRINT("<PROPNODENAME>\n");
+				BEGIN(PROPNODENAME);
+			}
+			return yytext[0];
+		}
+	YY_BREAK
+case 17:
+YY_RULE_SETUP
+#line 168 "dtc-lexer.l"
+ECHO;
+	YY_BREAK
+#line 1044 "dtc-lexer.lex.c"
+
+	case YY_END_OF_BUFFER:
+		{
+		/* Amount of text matched not including the EOB char. */
+		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
+
+		/* Undo the effects of YY_DO_BEFORE_ACTION. */
+		*yy_cp = (yy_hold_char);
+		YY_RESTORE_YY_MORE_OFFSET
+
+		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
+			{
+			/* We're scanning a new file or input source.  It's
+			 * possible that this happened because the user
+			 * just pointed yyin at a new source and called
+			 * yylex().  If so, then we have to assure
+			 * consistency between YY_CURRENT_BUFFER and our
+			 * globals.  Here is the right place to do so, because
+			 * this is the first action (other than possibly a
+			 * back-up) that will match for the new input source.
+			 */
+			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
+			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
+			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
+			}
+
+		/* Note that here we test for yy_c_buf_p "<=" to the position
+		 * of the first EOB in the buffer, since yy_c_buf_p will
+		 * already have been incremented past the NUL character
+		 * (since all states make transitions on EOB to the
+		 * end-of-buffer state).  Contrast this with the test
+		 * in input().
+		 */
+		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
+			{ /* This was really a NUL. */
+			yy_state_type yy_next_state;
+
+			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
+
+			yy_current_state = yy_get_previous_state(  );
+
+			/* Okay, we're now positioned to make the NUL
+			 * transition.  We couldn't have
+			 * yy_get_previous_state() go ahead and do it
+			 * for us because it doesn't know how to deal
+			 * with the possibility of jamming (and we don't
+			 * want to build jamming into it because then it
+			 * will run more slowly).
+			 */
+
+			yy_next_state = yy_try_NUL_trans( yy_current_state );
+
+			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+
+			if ( yy_next_state )
+				{
+				/* Consume the NUL. */
+				yy_cp = ++(yy_c_buf_p);
+				yy_current_state = yy_next_state;
+				goto yy_match;
+				}
+
+			else
+				{
+				yy_cp = (yy_last_accepting_cpos);
+				yy_current_state = (yy_last_accepting_state);
+				goto yy_find_action;
+				}
+			}
+
+		else switch ( yy_get_next_buffer(  ) )
+			{
+			case EOB_ACT_END_OF_FILE:
+				{
+				(yy_did_buffer_switch_on_eof) = 0;
+
+				if ( yywrap( ) )
+					{
+					/* Note: because we've taken care in
+					 * yy_get_next_buffer() to have set up
+					 * yytext, we can now set up
+					 * yy_c_buf_p so that if some total
+					 * hoser (like flex itself) wants to
+					 * call the scanner after we return the
+					 * YY_NULL, it'll still work - another
+					 * YY_NULL will get returned.
+					 */
+					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
+
+					yy_act = YY_STATE_EOF(YY_START);
+					goto do_action;
+					}
+
+				else
+					{
+					if ( ! (yy_did_buffer_switch_on_eof) )
+						YY_NEW_FILE;
+					}
+				break;
+				}
+
+			case EOB_ACT_CONTINUE_SCAN:
+				(yy_c_buf_p) =
+					(yytext_ptr) + yy_amount_of_matched_text;
+
+				yy_current_state = yy_get_previous_state(  );
+
+				yy_cp = (yy_c_buf_p);
+				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+				goto yy_match;
+
+			case EOB_ACT_LAST_MATCH:
+				(yy_c_buf_p) =
+				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
+
+				yy_current_state = yy_get_previous_state(  );
+
+				yy_cp = (yy_c_buf_p);
+				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+				goto yy_find_action;
+			}
+		break;
+		}
+
+	default:
+		YY_FATAL_ERROR(
+			"fatal flex scanner internal error--no action found" );
+	} /* end of action switch */
+		} /* end of scanning one token */
+} /* end of yylex */
+
+/* yy_get_next_buffer - try to read in a new buffer
+ *
+ * Returns a code representing an action:
+ *	EOB_ACT_LAST_MATCH -
+ *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
+ *	EOB_ACT_END_OF_FILE - end of file
+ */
+static int yy_get_next_buffer (void)
+{
+    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
+	register char *source = (yytext_ptr);
+	register int number_to_move, i;
+	int ret_val;
+
+	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
+		YY_FATAL_ERROR(
+		"fatal flex scanner internal error--end of buffer missed" );
+
+	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
+		{ /* Don't try to fill the buffer, so this is an EOF. */
+		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
+			{
+			/* We matched a single character, the EOB, so
+			 * treat this as a final EOF.
+			 */
+			return EOB_ACT_END_OF_FILE;
+			}
+
+		else
+			{
+			/* We matched some text prior to the EOB, first
+			 * process it.
+			 */
+			return EOB_ACT_LAST_MATCH;
+			}
+		}
+
+	/* Try to read more data. */
+
+	/* First move last chars to start of buffer. */
+	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
+
+	for ( i = 0; i < number_to_move; ++i )
+		*(dest++) = *(source++);
+
+	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
+		/* don't do the read, it's not guaranteed to return an EOF,
+		 * just force an EOF
+		 */
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
+
+	else
+		{
+			int num_to_read =
+			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
+
+		while ( num_to_read <= 0 )
+			{ /* Not enough room in the buffer - grow it. */
+
+			/* just a shorter name for the current buffer */
+			YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
+
+			int yy_c_buf_p_offset =
+				(int) ((yy_c_buf_p) - b->yy_ch_buf);
+
+			if ( b->yy_is_our_buffer )
+				{
+				int new_size = b->yy_buf_size * 2;
+
+				if ( new_size <= 0 )
+					b->yy_buf_size += b->yy_buf_size / 8;
+				else
+					b->yy_buf_size *= 2;
+
+				b->yy_ch_buf = (char *)
+					/* Include room in for 2 EOB chars. */
+					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
+				}
+			else
+				/* Can't grow it, we don't own it. */
+				b->yy_ch_buf = 0;
+
+			if ( ! b->yy_ch_buf )
+				YY_FATAL_ERROR(
+				"fatal error - scanner input buffer overflow" );
+
+			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
+
+			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
+						number_to_move - 1;
+
+			}
+
+		if ( num_to_read > YY_READ_BUF_SIZE )
+			num_to_read = YY_READ_BUF_SIZE;
+
+		/* Read in more data. */
+		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
+			(yy_n_chars), (size_t) num_to_read );
+
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+		}
+
+	if ( (yy_n_chars) == 0 )
+		{
+		if ( number_to_move == YY_MORE_ADJ )
+			{
+			ret_val = EOB_ACT_END_OF_FILE;
+			yyrestart(yyin  );
+			}
+
+		else
+			{
+			ret_val = EOB_ACT_LAST_MATCH;
+			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
+				YY_BUFFER_EOF_PENDING;
+			}
+		}
+
+	else
+		ret_val = EOB_ACT_CONTINUE_SCAN;
+
+	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
+		/* Extend the array by 50%, plus the number we really need. */
+		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
+		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
+		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
+			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
+	}
+
+	(yy_n_chars) += number_to_move;
+	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
+	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
+
+	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
+
+	return ret_val;
+}
+
+/* yy_get_previous_state - get the state just before the EOB char was reached */
+
+    static yy_state_type yy_get_previous_state (void)
+{
+	register yy_state_type yy_current_state;
+	register char *yy_cp;
+    
+	yy_current_state = (yy_start);
+
+	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
+		{
+		register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+		if ( yy_accept[yy_current_state] )
+			{
+			(yy_last_accepting_state) = yy_current_state;
+			(yy_last_accepting_cpos) = yy_cp;
+			}
+		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+			{
+			yy_current_state = (int) yy_def[yy_current_state];
+			if ( yy_current_state >= 94 )
+				yy_c = yy_meta[(unsigned int) yy_c];
+			}
+		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+		}
+
+	return yy_current_state;
+}
+
+/* yy_try_NUL_trans - try to make a transition on the NUL character
+ *
+ * synopsis
+ *	next_state = yy_try_NUL_trans( current_state );
+ */
+    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
+{
+	register int yy_is_jam;
+    	register char *yy_cp = (yy_c_buf_p);
+
+	register YY_CHAR yy_c = 1;
+	if ( yy_accept[yy_current_state] )
+		{
+		(yy_last_accepting_state) = yy_current_state;
+		(yy_last_accepting_cpos) = yy_cp;
+		}
+	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+		{
+		yy_current_state = (int) yy_def[yy_current_state];
+		if ( yy_current_state >= 94 )
+			yy_c = yy_meta[(unsigned int) yy_c];
+		}
+	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+	yy_is_jam = (yy_current_state == 93);
+
+	return yy_is_jam ? 0 : yy_current_state;
+}
+
+#ifndef YY_NO_INPUT
+#ifdef __cplusplus
+    static int yyinput (void)
+#else
+    static int input  (void)
+#endif
+
+{
+	int c;
+    
+	*(yy_c_buf_p) = (yy_hold_char);
+
+	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
+		{
+		/* yy_c_buf_p now points to the character we want to return.
+		 * If this occurs *before* the EOB characters, then it's a
+		 * valid NUL; if not, then we've hit the end of the buffer.
+		 */
+		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
+			/* This was really a NUL. */
+			*(yy_c_buf_p) = '\0';
+
+		else
+			{ /* need more input */
+			int offset = (yy_c_buf_p) - (yytext_ptr);
+			++(yy_c_buf_p);
+
+			switch ( yy_get_next_buffer(  ) )
+				{
+				case EOB_ACT_LAST_MATCH:
+					/* This happens because yy_g_n_b()
+					 * sees that we've accumulated a
+					 * token and flags that we need to
+					 * try matching the token before
+					 * proceeding.  But for input(),
+					 * there's no matching to consider.
+					 * So convert the EOB_ACT_LAST_MATCH
+					 * to EOB_ACT_END_OF_FILE.
+					 */
+
+					/* Reset buffer status. */
+					yyrestart(yyin );
+
+					/*FALLTHROUGH*/
+
+				case EOB_ACT_END_OF_FILE:
+					{
+					if ( yywrap( ) )
+						return EOF;
+
+					if ( ! (yy_did_buffer_switch_on_eof) )
+						YY_NEW_FILE;
+#ifdef __cplusplus
+					return yyinput();
+#else
+					return input();
+#endif
+					}
+
+				case EOB_ACT_CONTINUE_SCAN:
+					(yy_c_buf_p) = (yytext_ptr) + offset;
+					break;
+				}
+			}
+		}
+
+	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
+	*(yy_c_buf_p) = '\0';	/* preserve yytext */
+	(yy_hold_char) = *++(yy_c_buf_p);
+
+	return c;
+}
+#endif	/* ifndef YY_NO_INPUT */
+
+/** Immediately switch to a different input stream.
+ * @param input_file A readable stream.
+ * 
+ * @note This function does not reset the start condition to @c INITIAL .
+ */
+    void yyrestart  (FILE * input_file )
+{
+    
+	if ( ! YY_CURRENT_BUFFER ){
+        yyensure_buffer_stack ();
+		YY_CURRENT_BUFFER_LVALUE =
+            yy_create_buffer(yyin,YY_BUF_SIZE );
+	}
+
+	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
+	yy_load_buffer_state( );
+}
+
+/** Switch to a different input buffer.
+ * @param new_buffer The new input buffer.
+ * 
+ */
+    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
+{
+    
+	/* TODO. We should be able to replace this entire function body
+	 * with
+	 *		yypop_buffer_state();
+	 *		yypush_buffer_state(new_buffer);
+     */
+	yyensure_buffer_stack ();
+	if ( YY_CURRENT_BUFFER == new_buffer )
+		return;
+
+	if ( YY_CURRENT_BUFFER )
+		{
+		/* Flush out information for old buffer. */
+		*(yy_c_buf_p) = (yy_hold_char);
+		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+		}
+
+	YY_CURRENT_BUFFER_LVALUE = new_buffer;
+	yy_load_buffer_state( );
+
+	/* We don't actually know whether we did this switch during
+	 * EOF (yywrap()) processing, but the only time this flag
+	 * is looked at is after yywrap() is called, so it's safe
+	 * to go ahead and always set it.
+	 */
+	(yy_did_buffer_switch_on_eof) = 1;
+}
+
+static void yy_load_buffer_state  (void)
+{
+    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
+	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
+	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
+	(yy_hold_char) = *(yy_c_buf_p);
+}
+
+/** Allocate and initialize an input buffer state.
+ * @param file A readable stream.
+ * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
+ * 
+ * @return the allocated buffer state.
+ */
+    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
+{
+	YY_BUFFER_STATE b;
+    
+	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
+	if ( ! b )
+		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+	b->yy_buf_size = size;
+
+	/* yy_ch_buf has to be 2 characters longer than the size given because
+	 * we need to put in 2 end-of-buffer characters.
+	 */
+	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
+	if ( ! b->yy_ch_buf )
+		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+	b->yy_is_our_buffer = 1;
+
+	yy_init_buffer(b,file );
+
+	return b;
+}
+
+/** Destroy the buffer.
+ * @param b a buffer created with yy_create_buffer()
+ * 
+ */
+    void yy_delete_buffer (YY_BUFFER_STATE  b )
+{
+    
+	if ( ! b )
+		return;
+
+	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
+		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
+
+	if ( b->yy_is_our_buffer )
+		yyfree((void *) b->yy_ch_buf  );
+
+	yyfree((void *) b  );
+}
+
+/* Initializes or reinitializes a buffer.
+ * This function is sometimes called more than once on the same buffer,
+ * such as during a yyrestart() or at EOF.
+ */
+    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
+
+{
+	int oerrno = errno;
+    
+	yy_flush_buffer(b );
+
+	b->yy_input_file = file;
+	b->yy_fill_buffer = 1;
+
+    /* If b is the current buffer, then yy_init_buffer was _probably_
+     * called from yyrestart() or through yy_get_next_buffer.
+     * In that case, we don't want to reset the lineno or column.
+     */
+    if (b != YY_CURRENT_BUFFER){
+        b->yy_bs_lineno = 1;
+        b->yy_bs_column = 0;
+    }
+
+        b->yy_is_interactive = 0;
+    
+	errno = oerrno;
+}
+
+/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
+ * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
+ * 
+ */
+    void yy_flush_buffer (YY_BUFFER_STATE  b )
+{
+    	if ( ! b )
+		return;
+
+	b->yy_n_chars = 0;
+
+	/* We always need two end-of-buffer characters.  The first causes
+	 * a transition to the end-of-buffer state.  The second causes
+	 * a jam in that state.
+	 */
+	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
+	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
+
+	b->yy_buf_pos = &b->yy_ch_buf[0];
+
+	b->yy_at_bol = 1;
+	b->yy_buffer_status = YY_BUFFER_NEW;
+
+	if ( b == YY_CURRENT_BUFFER )
+		yy_load_buffer_state( );
+}
+
+/** Pushes the new state onto the stack. The new state becomes
+ *  the current state. This function will allocate the stack
+ *  if necessary.
+ *  @param new_buffer The new state.
+ *  
+ */
+void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
+{
+    	if (new_buffer == NULL)
+		return;
+
+	yyensure_buffer_stack();
+
+	/* This block is copied from yy_switch_to_buffer. */
+	if ( YY_CURRENT_BUFFER )
+		{
+		/* Flush out information for old buffer. */
+		*(yy_c_buf_p) = (yy_hold_char);
+		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+		}
+
+	/* Only push if top exists. Otherwise, replace top. */
+	if (YY_CURRENT_BUFFER)
+		(yy_buffer_stack_top)++;
+	YY_CURRENT_BUFFER_LVALUE = new_buffer;
+
+	/* copied from yy_switch_to_buffer. */
+	yy_load_buffer_state( );
+	(yy_did_buffer_switch_on_eof) = 1;
+}
+
+/** Removes and deletes the top of the stack, if present.
+ *  The next element becomes the new top.
+ *  
+ */
+void yypop_buffer_state (void)
+{
+    	if (!YY_CURRENT_BUFFER)
+		return;
+
+	yy_delete_buffer(YY_CURRENT_BUFFER );
+	YY_CURRENT_BUFFER_LVALUE = NULL;
+	if ((yy_buffer_stack_top) > 0)
+		--(yy_buffer_stack_top);
+
+	if (YY_CURRENT_BUFFER) {
+		yy_load_buffer_state( );
+		(yy_did_buffer_switch_on_eof) = 1;
+	}
+}
+
+/* Allocates the stack if it does not exist.
+ *  Guarantees space for at least one push.
+ */
+static void yyensure_buffer_stack (void)
+{
+	int num_to_alloc;
+    
+	if (!(yy_buffer_stack)) {
+
+		/* First allocation is just for 2 elements, since we don't know if this
+		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
+		 * immediate realloc on the next call.
+         */
+		num_to_alloc = 1;
+		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
+								(num_to_alloc * sizeof(struct yy_buffer_state*)
+								);
+		if ( ! (yy_buffer_stack) )
+			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
+								  
+		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
+				
+		(yy_buffer_stack_max) = num_to_alloc;
+		(yy_buffer_stack_top) = 0;
+		return;
+	}
+
+	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
+
+		/* Increase the buffer to prepare for a possible push. */
+		int grow_size = 8 /* arbitrary grow size */;
+
+		num_to_alloc = (yy_buffer_stack_max) + grow_size;
+		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
+								((yy_buffer_stack),
+								num_to_alloc * sizeof(struct yy_buffer_state*)
+								);
+		if ( ! (yy_buffer_stack) )
+			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
+
+		/* zero only the new slots.*/
+		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
+		(yy_buffer_stack_max) = num_to_alloc;
+	}
+}
+
+/** Setup the input buffer state to scan directly from a user-specified character buffer.
+ * @param base the character buffer
+ * @param size the size in bytes of the character buffer
+ * 
+ * @return the newly allocated buffer state object. 
+ */
+YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
+{
+	YY_BUFFER_STATE b;
+    
+	if ( size < 2 ||
+	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
+	     base[size-1] != YY_END_OF_BUFFER_CHAR )
+		/* They forgot to leave room for the EOB's. */
+		return 0;
+
+	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
+	if ( ! b )
+		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
+
+	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
+	b->yy_buf_pos = b->yy_ch_buf = base;
+	b->yy_is_our_buffer = 0;
+	b->yy_input_file = 0;
+	b->yy_n_chars = b->yy_buf_size;
+	b->yy_is_interactive = 0;
+	b->yy_at_bol = 1;
+	b->yy_fill_buffer = 0;
+	b->yy_buffer_status = YY_BUFFER_NEW;
+
+	yy_switch_to_buffer(b  );
+
+	return b;
+}
+
+/** Setup the input buffer state to scan a string. The next call to yylex() will
+ * scan from a @e copy of @a str.
+ * @param yystr a NUL-terminated string to scan
+ * 
+ * @return the newly allocated buffer state object.
+ * @note If you want to scan bytes that may contain NUL values, then use
+ *       yy_scan_bytes() instead.
+ */
+YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
+{
+    
+	return yy_scan_bytes(yystr,strlen(yystr) );
+}
+
+/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
+ * scan from a @e copy of @a bytes.
+ * @param yybytes the byte buffer to scan
+ * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
+ * 
+ * @return the newly allocated buffer state object.
+ */
+YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, int  _yybytes_len )
+{
+	YY_BUFFER_STATE b;
+	char *buf;
+	yy_size_t n;
+	int i;
+    
+	/* Get memory for full buffer, including space for trailing EOB's. */
+	n = _yybytes_len + 2;
+	buf = (char *) yyalloc(n  );
+	if ( ! buf )
+		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
+
+	for ( i = 0; i < _yybytes_len; ++i )
+		buf[i] = yybytes[i];
+
+	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
+
+	b = yy_scan_buffer(buf,n );
+	if ( ! b )
+		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
+
+	/* It's okay to grow etc. this buffer, and we should throw it
+	 * away when we're done.
+	 */
+	b->yy_is_our_buffer = 1;
+
+	return b;
+}
+
+#ifndef YY_EXIT_FAILURE
+#define YY_EXIT_FAILURE 2
+#endif
+
+static void yy_fatal_error (yyconst char* msg )
+{
+    	(void) fprintf( stderr, "%s\n", msg );
+	exit( YY_EXIT_FAILURE );
+}
+
+/* Redefine yyless() so it works in section 3 code. */
+
+#undef yyless
+#define yyless(n) \
+	do \
+		{ \
+		/* Undo effects of setting up yytext. */ \
+        int yyless_macro_arg = (n); \
+        YY_LESS_LINENO(yyless_macro_arg);\
+		yytext[yyleng] = (yy_hold_char); \
+		(yy_c_buf_p) = yytext + yyless_macro_arg; \
+		(yy_hold_char) = *(yy_c_buf_p); \
+		*(yy_c_buf_p) = '\0'; \
+		yyleng = yyless_macro_arg; \
+		} \
+	while ( 0 )
+
+/* Accessor  methods (get/set functions) to struct members. */
+
+/** Get the current line number.
+ * 
+ */
+int yyget_lineno  (void)
+{
+        
+    return yylineno;
+}
+
+/** Get the input stream.
+ * 
+ */
+FILE *yyget_in  (void)
+{
+        return yyin;
+}
+
+/** Get the output stream.
+ * 
+ */
+FILE *yyget_out  (void)
+{
+        return yyout;
+}
+
+/** Get the length of the current token.
+ * 
+ */
+int yyget_leng  (void)
+{
+        return yyleng;
+}
+
+/** Get the current token.
+ * 
+ */
+
+char *yyget_text  (void)
+{
+        return yytext;
+}
+
+/** Set the current line number.
+ * @param line_number
+ * 
+ */
+void yyset_lineno (int  line_number )
+{
+    
+    yylineno = line_number;
+}
+
+/** Set the input stream. This does not discard the current
+ * input buffer.
+ * @param in_str A readable stream.
+ * 
+ * @see yy_switch_to_buffer
+ */
+void yyset_in (FILE *  in_str )
+{
+        yyin = in_str ;
+}
+
+void yyset_out (FILE *  out_str )
+{
+        yyout = out_str ;
+}
+
+int yyget_debug  (void)
+{
+        return yy_flex_debug;
+}
+
+void yyset_debug (int  bdebug )
+{
+        yy_flex_debug = bdebug ;
+}
+
+static int yy_init_globals (void)
+{
+        /* Initialization is the same as for the non-reentrant scanner.
+     * This function is called from yylex_destroy(), so don't allocate here.
+     */
+
+    (yy_buffer_stack) = 0;
+    (yy_buffer_stack_top) = 0;
+    (yy_buffer_stack_max) = 0;
+    (yy_c_buf_p) = (char *) 0;
+    (yy_init) = 0;
+    (yy_start) = 0;
+
+/* Defined in main.c */
+#ifdef YY_STDINIT
+    yyin = stdin;
+    yyout = stdout;
+#else
+    yyin = (FILE *) 0;
+    yyout = (FILE *) 0;
+#endif
+
+    /* For future reference: Set errno on error, since we are called by
+     * yylex_init()
+     */
+    return 0;
+}
+
+/* yylex_destroy is for both reentrant and non-reentrant scanners. */
+int yylex_destroy  (void)
+{
+    
+    /* Pop the buffer stack, destroying each element. */
+	while(YY_CURRENT_BUFFER){
+		yy_delete_buffer(YY_CURRENT_BUFFER  );
+		YY_CURRENT_BUFFER_LVALUE = NULL;
+		yypop_buffer_state();
+	}
+
+	/* Destroy the stack itself. */
+	yyfree((yy_buffer_stack) );
+	(yy_buffer_stack) = NULL;
+
+    /* Reset the globals. This is important in a non-reentrant scanner so the next time
+     * yylex() is called, initialization will occur. */
+    yy_init_globals( );
+
+    return 0;
+}
+
+/*
+ * Internal utility routines.
+ */
+
+#ifndef yytext_ptr
+static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
+{
+	register int i;
+	for ( i = 0; i < n; ++i )
+		s1[i] = s2[i];
+}
+#endif
+
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen (yyconst char * s )
+{
+	register int n;
+	for ( n = 0; s[n]; ++n )
+		;
+
+	return n;
+}
+#endif
+
+void *yyalloc (yy_size_t  size )
+{
+	return (void *) malloc( size );
+}
+
+void *yyrealloc  (void * ptr, yy_size_t  size )
+{
+	/* The cast to (char *) in the following accommodates both
+	 * implementations that use char* generic pointers, and those
+	 * that use void* generic pointers.  It works with the latter
+	 * because both ANSI C and C++ allow castless assignment from
+	 * any pointer type to void*, and deal with argument conversions
+	 * as though doing an assignment.
+	 */
+	return (void *) realloc( (char *) ptr, size );
+}
+
+void yyfree (void * ptr )
+{
+	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
+}
+
+#define YYTABLES_NAME "yytables"
+
+#line 168 "dtc-lexer.l"
+
+
+
+static void push_input_file(const char *filename)
+{
+	assert(filename);
+
+	srcfile_push(filename);
+
+	yyin = current_srcfile->f;
+
+	yypush_buffer_state(yy_create_buffer(yyin,YY_BUF_SIZE));
+}
+
+
+static int pop_input_file(void)
+{
+	if (srcfile_pop() == 0)
+		return 0;
+
+	yypop_buffer_state();
+	yyin = current_srcfile->f;
+
+	return 1;
+}
+
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/dtc/dtc-parser.tab.c ../linux-2.6.39.4/scripts/dtc/dtc-parser.tab.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/dtc/dtc-parser.tab.c	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/scripts/dtc/dtc-parser.tab.c	2011-10-22 06:42:13.240152387 +0530
@@ -0,0 +1,2028 @@
+
+/* A Bison parser, made by GNU Bison 2.4.1.  */
+
+/* Skeleton implementation for Bison's Yacc-like parsers in C
+   
+      Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+   Free Software Foundation, Inc.
+   
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation, either version 3 of the License, or
+   (at your option) any later version.
+   
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+   
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* As a special exception, you may create a larger work that contains
+   part or all of the Bison parser skeleton and distribute that work
+   under terms of your choice, so long as that work isn't itself a
+   parser generator using the skeleton or a modified version thereof
+   as a parser skeleton.  Alternatively, if you modify or redistribute
+   the parser skeleton itself, you may (at your option) remove this
+   special exception, which will cause the skeleton and the resulting
+   Bison output files to be licensed under the GNU General Public
+   License without this special exception.
+   
+   This special exception was added by the Free Software Foundation in
+   version 2.2 of Bison.  */
+
+/* C LALR(1) parser skeleton written by Richard Stallman, by
+   simplifying the original so-called "semantic" parser.  */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+   infringing on user name space.  This should be done even for local
+   variables, as they might otherwise be expanded by user macros.
+   There are some unavoidable exceptions within include files to
+   define necessary library symbols; they are noted "INFRINGES ON
+   USER NAME SPACE" below.  */
+
+/* Identify Bison output.  */
+#define YYBISON 1
+
+/* Bison version.  */
+#define YYBISON_VERSION "2.4.1"
+
+/* Skeleton name.  */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers.  */
+#define YYPURE 0
+
+/* Push parsers.  */
+#define YYPUSH 0
+
+/* Pull parsers.  */
+#define YYPULL 1
+
+/* Using locations.  */
+#define YYLSP_NEEDED 0
+
+
+
+/* Copy the first part of user declarations.  */
+
+/* Line 189 of yacc.c  */
+#line 21 "dtc-parser.y"
+
+#include <stdio.h>
+
+#include "dtc.h"
+#include "srcpos.h"
+
+YYLTYPE yylloc;
+
+extern int yylex(void);
+extern void print_error(char const *fmt, ...);
+extern void yyerror(char const *s);
+
+extern struct boot_info *the_boot_info;
+extern int treesource_error;
+
+static unsigned long long eval_literal(const char *s, int base, int bits);
+
+
+/* Line 189 of yacc.c  */
+#line 92 "dtc-parser.tab.c"
+
+/* Enabling traces.  */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+
+/* Enabling verbose error messages.  */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
+#endif
+
+/* Enabling the token table.  */
+#ifndef YYTOKEN_TABLE
+# define YYTOKEN_TABLE 0
+#endif
+
+
+/* Tokens.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+   /* Put the tokens into the symbol table, so that GDB and other debuggers
+      know about them.  */
+   enum yytokentype {
+     DT_V1 = 258,
+     DT_MEMRESERVE = 259,
+     DT_PROPNODENAME = 260,
+     DT_LITERAL = 261,
+     DT_BASE = 262,
+     DT_BYTE = 263,
+     DT_STRING = 264,
+     DT_LABEL = 265,
+     DT_REF = 266,
+     DT_INCBIN = 267
+   };
+#endif
+
+
+
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+typedef union YYSTYPE
+{
+
+/* Line 214 of yacc.c  */
+#line 39 "dtc-parser.y"
+
+	char *propnodename;
+	char *literal;
+	char *labelref;
+	unsigned int cbase;
+	uint8_t byte;
+	struct data data;
+
+	uint64_t addr;
+	cell_t cell;
+	struct property *prop;
+	struct property *proplist;
+	struct node *node;
+	struct node *nodelist;
+	struct reserve_info *re;
+
+
+
+/* Line 214 of yacc.c  */
+#line 159 "dtc-parser.tab.c"
+} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+#endif
+
+
+/* Copy the second part of user declarations.  */
+
+
+/* Line 264 of yacc.c  */
+#line 171 "dtc-parser.tab.c"
+
+#ifdef short
+# undef short
+#endif
+
+#ifdef YYTYPE_UINT8
+typedef YYTYPE_UINT8 yytype_uint8;
+#else
+typedef unsigned char yytype_uint8;
+#endif
+
+#ifdef YYTYPE_INT8
+typedef YYTYPE_INT8 yytype_int8;
+#elif (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+typedef signed char yytype_int8;
+#else
+typedef short int yytype_int8;
+#endif
+
+#ifdef YYTYPE_UINT16
+typedef YYTYPE_UINT16 yytype_uint16;
+#else
+typedef unsigned short int yytype_uint16;
+#endif
+
+#ifdef YYTYPE_INT16
+typedef YYTYPE_INT16 yytype_int16;
+#else
+typedef short int yytype_int16;
+#endif
+
+#ifndef YYSIZE_T
+# ifdef __SIZE_TYPE__
+#  define YYSIZE_T __SIZE_TYPE__
+# elif defined size_t
+#  define YYSIZE_T size_t
+# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYSIZE_T size_t
+# else
+#  define YYSIZE_T unsigned int
+# endif
+#endif
+
+#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
+
+#ifndef YY_
+# if YYENABLE_NLS
+#  if ENABLE_NLS
+#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
+#   define YY_(msgid) dgettext ("bison-runtime", msgid)
+#  endif
+# endif
+# ifndef YY_
+#  define YY_(msgid) msgid
+# endif
+#endif
+
+/* Suppress unused-variable warnings by "using" E.  */
+#if ! defined lint || defined __GNUC__
+# define YYUSE(e) ((void) (e))
+#else
+# define YYUSE(e) /* empty */
+#endif
+
+/* Identity function, used to suppress warnings about constant conditions.  */
+#ifndef lint
+# define YYID(n) (n)
+#else
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static int
+YYID (int yyi)
+#else
+static int
+YYID (yyi)
+    int yyi;
+#endif
+{
+  return yyi;
+}
+#endif
+
+#if ! defined yyoverflow || YYERROR_VERBOSE
+
+/* The parser invokes alloca or malloc; define the necessary symbols.  */
+
+# ifdef YYSTACK_USE_ALLOCA
+#  if YYSTACK_USE_ALLOCA
+#   ifdef __GNUC__
+#    define YYSTACK_ALLOC __builtin_alloca
+#   elif defined __BUILTIN_VA_ARG_INCR
+#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
+#   elif defined _AIX
+#    define YYSTACK_ALLOC __alloca
+#   elif defined _MSC_VER
+#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
+#    define alloca _alloca
+#   else
+#    define YYSTACK_ALLOC alloca
+#    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+#     ifndef _STDLIB_H
+#      define _STDLIB_H 1
+#     endif
+#    endif
+#   endif
+#  endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+   /* Pacify GCC's `empty if-body' warning.  */
+#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
+#  ifndef YYSTACK_ALLOC_MAXIMUM
+    /* The OS might guarantee only one guard page at the bottom of the stack,
+       and a page size can be as small as 4096 bytes.  So we cannot safely
+       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
+       to allow for a few compiler-allocated temporary stack slots.  */
+#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
+#  endif
+# else
+#  define YYSTACK_ALLOC YYMALLOC
+#  define YYSTACK_FREE YYFREE
+#  ifndef YYSTACK_ALLOC_MAXIMUM
+#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
+#  endif
+#  if (defined __cplusplus && ! defined _STDLIB_H \
+       && ! ((defined YYMALLOC || defined malloc) \
+	     && (defined YYFREE || defined free)))
+#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+#   ifndef _STDLIB_H
+#    define _STDLIB_H 1
+#   endif
+#  endif
+#  ifndef YYMALLOC
+#   define YYMALLOC malloc
+#   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
+#   endif
+#  endif
+#  ifndef YYFREE
+#   define YYFREE free
+#   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+void free (void *); /* INFRINGES ON USER NAME SPACE */
+#   endif
+#  endif
+# endif
+#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
+
+
+#if (! defined yyoverflow \
+     && (! defined __cplusplus \
+	 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member.  */
+union yyalloc
+{
+  yytype_int16 yyss_alloc;
+  YYSTYPE yyvs_alloc;
+};
+
+/* The size of the maximum gap between one aligned stack and the next.  */
+# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+   N elements.  */
+# define YYSTACK_BYTES(N) \
+     ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
+      + YYSTACK_GAP_MAXIMUM)
+
+/* Copy COUNT objects from FROM to TO.  The source and destination do
+   not overlap.  */
+# ifndef YYCOPY
+#  if defined __GNUC__ && 1 < __GNUC__
+#   define YYCOPY(To, From, Count) \
+      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
+#  else
+#   define YYCOPY(To, From, Count)		\
+      do					\
+	{					\
+	  YYSIZE_T yyi;				\
+	  for (yyi = 0; yyi < (Count); yyi++)	\
+	    (To)[yyi] = (From)[yyi];		\
+	}					\
+      while (YYID (0))
+#  endif
+# endif
+
+/* Relocate STACK from its old location to the new one.  The
+   local variables YYSIZE and YYSTACKSIZE give the old and new number of
+   elements in the stack, and YYPTR gives the new location of the
+   stack.  Advance YYPTR to a properly aligned location for the next
+   stack.  */
+# define YYSTACK_RELOCATE(Stack_alloc, Stack)				\
+    do									\
+      {									\
+	YYSIZE_T yynewbytes;						\
+	YYCOPY (&yyptr->Stack_alloc, Stack, yysize);			\
+	Stack = &yyptr->Stack_alloc;					\
+	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+	yyptr += yynewbytes / sizeof (*yyptr);				\
+      }									\
+    while (YYID (0))
+
+#endif
+
+/* YYFINAL -- State number of the termination state.  */
+#define YYFINAL  4
+/* YYLAST -- Last index in YYTABLE.  */
+#define YYLAST   56
+
+/* YYNTOKENS -- Number of terminals.  */
+#define YYNTOKENS  25
+/* YYNNTS -- Number of nonterminals.  */
+#define YYNNTS  16
+/* YYNRULES -- Number of rules.  */
+#define YYNRULES  39
+/* YYNRULES -- Number of states.  */
+#define YYNSTATES  67
+
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
+#define YYUNDEFTOK  2
+#define YYMAXUTOK   267
+
+#define YYTRANSLATE(YYX)						\
+  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
+static const yytype_uint8 yytranslate[] =
+{
+       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+      22,    24,     2,     2,    23,     2,     2,    14,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,    13,
+      18,    17,    19,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,    20,     2,    21,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,    15,     2,    16,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,    12
+};
+
+#if YYDEBUG
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+   YYRHS.  */
+static const yytype_uint8 yyprhs[] =
+{
+       0,     0,     3,     8,     9,    12,    17,    20,    22,    25,
+      29,    33,    39,    40,    43,    48,    51,    54,    57,    62,
+      67,    70,    80,    86,    89,    90,    93,    96,    97,   100,
+     103,   106,   108,   109,   112,   115,   116,   119,   122,   125
+};
+
+/* YYRHS -- A `-1'-separated list of the rules' RHS.  */
+static const yytype_int8 yyrhs[] =
+{
+      26,     0,    -1,     3,    13,    27,    30,    -1,    -1,    28,
+      27,    -1,     4,    29,    29,    13,    -1,    10,    28,    -1,
+       6,    -1,    14,    31,    -1,    30,    14,    31,    -1,    30,
+      11,    31,    -1,    15,    32,    39,    16,    13,    -1,    -1,
+      32,    33,    -1,     5,    17,    34,    13,    -1,     5,    13,
+      -1,    10,    33,    -1,    35,     9,    -1,    35,    18,    36,
+      19,    -1,    35,    20,    38,    21,    -1,    35,    11,    -1,
+      35,    12,    22,     9,    23,    29,    23,    29,    24,    -1,
+      35,    12,    22,     9,    24,    -1,    34,    10,    -1,    -1,
+      34,    23,    -1,    35,    10,    -1,    -1,    36,    37,    -1,
+      36,    11,    -1,    36,    10,    -1,     6,    -1,    -1,    38,
+       8,    -1,    38,    10,    -1,    -1,    40,    39,    -1,    40,
+      33,    -1,     5,    31,    -1,    10,    40,    -1
+};
+
+/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
+static const yytype_uint16 yyrline[] =
+{
+       0,    86,    86,    95,    98,   105,   109,   117,   124,   128,
+     132,   145,   153,   156,   163,   167,   171,   179,   183,   187,
+     191,   195,   212,   222,   230,   233,   237,   245,   248,   252,
+     257,   264,   272,   275,   279,   287,   290,   294,   302,   306
+};
+#endif
+
+#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
+/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
+static const char *const yytname[] =
+{
+  "$end", "error", "$undefined", "DT_V1", "DT_MEMRESERVE",
+  "DT_PROPNODENAME", "DT_LITERAL", "DT_BASE", "DT_BYTE", "DT_STRING",
+  "DT_LABEL", "DT_REF", "DT_INCBIN", "';'", "'/'", "'{'", "'}'", "'='",
+  "'<'", "'>'", "'['", "']'", "'('", "','", "')'", "$accept", "sourcefile",
+  "memreserves", "memreserve", "addr", "devicetree", "nodedef", "proplist",
+  "propdef", "propdata", "propdataprefix", "celllist", "cellval",
+  "bytestring", "subnodes", "subnode", 0
+};
+#endif
+
+# ifdef YYPRINT
+/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+   token YYLEX-NUM.  */
+static const yytype_uint16 yytoknum[] =
+{
+       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
+     265,   266,   267,    59,    47,   123,   125,    61,    60,    62,
+      91,    93,    40,    44,    41
+};
+# endif
+
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
+static const yytype_uint8 yyr1[] =
+{
+       0,    25,    26,    27,    27,    28,    28,    29,    30,    30,
+      30,    31,    32,    32,    33,    33,    33,    34,    34,    34,
+      34,    34,    34,    34,    35,    35,    35,    36,    36,    36,
+      36,    37,    38,    38,    38,    39,    39,    39,    40,    40
+};
+
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
+static const yytype_uint8 yyr2[] =
+{
+       0,     2,     4,     0,     2,     4,     2,     1,     2,     3,
+       3,     5,     0,     2,     4,     2,     2,     2,     4,     4,
+       2,     9,     5,     2,     0,     2,     2,     0,     2,     2,
+       2,     1,     0,     2,     2,     0,     2,     2,     2,     2
+};
+
+/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
+   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
+   means the default is an error.  */
+static const yytype_uint8 yydefact[] =
+{
+       0,     0,     0,     3,     1,     0,     0,     0,     3,     7,
+       0,     6,     0,     2,     4,     0,    12,     8,     0,     0,
+       5,    35,    10,     9,     0,     0,    13,     0,    35,    15,
+      24,    38,    16,    39,     0,    37,    36,     0,     0,    11,
+      23,    14,    25,    17,    26,    20,     0,    27,    32,     0,
+       0,     0,     0,    31,    30,    29,    18,    28,    33,    34,
+      19,     0,    22,     0,     0,     0,    21
+};
+
+/* YYDEFGOTO[NTERM-NUM].  */
+static const yytype_int8 yydefgoto[] =
+{
+      -1,     2,     7,     8,    10,    13,    17,    21,    26,    37,
+      38,    50,    57,    51,    27,    28
+};
+
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+   STATE-NUM.  */
+#define YYPACT_NINF -12
+static const yytype_int8 yypact[] =
+{
+      10,   -11,    18,    -1,   -12,    22,    -1,    15,    -1,   -12,
+      22,   -12,    20,     1,   -12,    17,   -12,   -12,    20,    20,
+     -12,     6,   -12,   -12,    21,     6,   -12,    23,     6,   -12,
+     -12,   -12,   -12,   -12,    28,   -12,   -12,    -6,    13,   -12,
+     -12,   -12,   -12,   -12,   -12,   -12,    24,   -12,   -12,    33,
+      -5,     0,    -4,   -12,   -12,   -12,   -12,   -12,   -12,   -12,
+     -12,    22,   -12,    25,    22,    19,   -12
+};
+
+/* YYPGOTO[NTERM-NUM].  */
+static const yytype_int8 yypgoto[] =
+{
+     -12,   -12,    36,    39,   -10,   -12,     8,   -12,    12,   -12,
+     -12,   -12,   -12,   -12,    27,    31
+};
+
+/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
+   positive, shift that token.  If negative, reduce the rule which
+   number is the opposite.  If zero, do what YYDEFACT says.
+   If YYTABLE_NINF, syntax error.  */
+#define YYTABLE_NINF -1
+static const yytype_uint8 yytable[] =
+{
+      15,    53,     3,     5,    40,    54,    55,    41,    58,     6,
+      59,    24,    18,     1,    56,    19,    25,    42,     4,    61,
+      62,    60,    43,    44,    45,    46,    22,    23,     9,    12,
+      20,    47,    31,    48,    29,    16,    16,    32,    30,    34,
+      35,    39,    52,    66,    14,    11,    49,     0,    64,     0,
+       0,    63,     0,     0,    65,    36,    33
+};
+
+static const yytype_int8 yycheck[] =
+{
+      10,     6,    13,     4,    10,    10,    11,    13,     8,    10,
+      10,     5,    11,     3,    19,    14,    10,    23,     0,    23,
+      24,    21,     9,    10,    11,    12,    18,    19,     6,    14,
+      13,    18,    24,    20,    13,    15,    15,    25,    17,    16,
+      28,    13,     9,    24,     8,     6,    22,    -1,    23,    -1,
+      -1,    61,    -1,    -1,    64,    28,    25
+};
+
+/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+   symbol of state STATE-NUM.  */
+static const yytype_uint8 yystos[] =
+{
+       0,     3,    26,    13,     0,     4,    10,    27,    28,     6,
+      29,    28,    14,    30,    27,    29,    15,    31,    11,    14,
+      13,    32,    31,    31,     5,    10,    33,    39,    40,    13,
+      17,    31,    33,    40,    16,    33,    39,    34,    35,    13,
+      10,    13,    23,     9,    10,    11,    12,    18,    20,    22,
+      36,    38,     9,     6,    10,    11,    19,    37,     8,    10,
+      21,    23,    24,    29,    23,    29,    24
+};
+
+#define yyerrok		(yyerrstatus = 0)
+#define yyclearin	(yychar = YYEMPTY)
+#define YYEMPTY		(-2)
+#define YYEOF		0
+
+#define YYACCEPT	goto yyacceptlab
+#define YYABORT		goto yyabortlab
+#define YYERROR		goto yyerrorlab
+
+
+/* Like YYERROR except do call yyerror.  This remains here temporarily
+   to ease the transition to the new meaning of YYERROR, for GCC.
+   Once GCC version 2 has supplanted version 1, this can go.  */
+
+#define YYFAIL		goto yyerrlab
+
+#define YYRECOVERING()  (!!yyerrstatus)
+
+#define YYBACKUP(Token, Value)					\
+do								\
+  if (yychar == YYEMPTY && yylen == 1)				\
+    {								\
+      yychar = (Token);						\
+      yylval = (Value);						\
+      yytoken = YYTRANSLATE (yychar);				\
+      YYPOPSTACK (1);						\
+      goto yybackup;						\
+    }								\
+  else								\
+    {								\
+      yyerror (YY_("syntax error: cannot back up")); \
+      YYERROR;							\
+    }								\
+while (YYID (0))
+
+
+#define YYTERROR	1
+#define YYERRCODE	256
+
+
+/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
+   If N is 0, then set CURRENT to the empty location which ends
+   the previous symbol: RHS[0] (always defined).  */
+
+#define YYRHSLOC(Rhs, K) ((Rhs)[K])
+#ifndef YYLLOC_DEFAULT
+# define YYLLOC_DEFAULT(Current, Rhs, N)				\
+    do									\
+      if (YYID (N))                                                    \
+	{								\
+	  (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;	\
+	  (Current).first_column = YYRHSLOC (Rhs, 1).first_column;	\
+	  (Current).last_line    = YYRHSLOC (Rhs, N).last_line;		\
+	  (Current).last_column  = YYRHSLOC (Rhs, N).last_column;	\
+	}								\
+      else								\
+	{								\
+	  (Current).first_line   = (Current).last_line   =		\
+	    YYRHSLOC (Rhs, 0).last_line;				\
+	  (Current).first_column = (Current).last_column =		\
+	    YYRHSLOC (Rhs, 0).last_column;				\
+	}								\
+    while (YYID (0))
+#endif
+
+
+/* YY_LOCATION_PRINT -- Print the location on the stream.
+   This macro was not mandated originally: define only if we know
+   we won't break user code: when these are the locations we know.  */
+
+#ifndef YY_LOCATION_PRINT
+# if YYLTYPE_IS_TRIVIAL
+#  define YY_LOCATION_PRINT(File, Loc)			\
+     fprintf (File, "%d.%d-%d.%d",			\
+	      (Loc).first_line, (Loc).first_column,	\
+	      (Loc).last_line,  (Loc).last_column)
+# else
+#  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
+# endif
+#endif
+
+
+/* YYLEX -- calling `yylex' with the right arguments.  */
+
+#ifdef YYLEX_PARAM
+# define YYLEX yylex (YYLEX_PARAM)
+#else
+# define YYLEX yylex ()
+#endif
+
+/* Enable debugging if requested.  */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args)			\
+do {						\
+  if (yydebug)					\
+    YYFPRINTF Args;				\
+} while (YYID (0))
+
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)			  \
+do {									  \
+  if (yydebug)								  \
+    {									  \
+      YYFPRINTF (stderr, "%s ", Title);					  \
+      yy_symbol_print (stderr,						  \
+		  Type, Value); \
+      YYFPRINTF (stderr, "\n");						  \
+    }									  \
+} while (YYID (0))
+
+
+/*--------------------------------.
+| Print this symbol on YYOUTPUT.  |
+`--------------------------------*/
+
+/*ARGSUSED*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+#else
+static void
+yy_symbol_value_print (yyoutput, yytype, yyvaluep)
+    FILE *yyoutput;
+    int yytype;
+    YYSTYPE const * const yyvaluep;
+#endif
+{
+  if (!yyvaluep)
+    return;
+# ifdef YYPRINT
+  if (yytype < YYNTOKENS)
+    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# else
+  YYUSE (yyoutput);
+# endif
+  switch (yytype)
+    {
+      default:
+	break;
+    }
+}
+
+
+/*--------------------------------.
+| Print this symbol on YYOUTPUT.  |
+`--------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+#else
+static void
+yy_symbol_print (yyoutput, yytype, yyvaluep)
+    FILE *yyoutput;
+    int yytype;
+    YYSTYPE const * const yyvaluep;
+#endif
+{
+  if (yytype < YYNTOKENS)
+    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
+  else
+    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+
+  yy_symbol_value_print (yyoutput, yytype, yyvaluep);
+  YYFPRINTF (yyoutput, ")");
+}
+
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included).                                                   |
+`------------------------------------------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
+#else
+static void
+yy_stack_print (yybottom, yytop)
+    yytype_int16 *yybottom;
+    yytype_int16 *yytop;
+#endif
+{
+  YYFPRINTF (stderr, "Stack now");
+  for (; yybottom <= yytop; yybottom++)
+    {
+      int yybot = *yybottom;
+      YYFPRINTF (stderr, " %d", yybot);
+    }
+  YYFPRINTF (stderr, "\n");
+}
+
+# define YY_STACK_PRINT(Bottom, Top)				\
+do {								\
+  if (yydebug)							\
+    yy_stack_print ((Bottom), (Top));				\
+} while (YYID (0))
+
+
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced.  |
+`------------------------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
+#else
+static void
+yy_reduce_print (yyvsp, yyrule)
+    YYSTYPE *yyvsp;
+    int yyrule;
+#endif
+{
+  int yynrhs = yyr2[yyrule];
+  int yyi;
+  unsigned long int yylno = yyrline[yyrule];
+  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
+	     yyrule - 1, yylno);
+  /* The symbols being reduced.  */
+  for (yyi = 0; yyi < yynrhs; yyi++)
+    {
+      YYFPRINTF (stderr, "   $%d = ", yyi + 1);
+      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
+		       &(yyvsp[(yyi + 1) - (yynrhs)])
+		       		       );
+      YYFPRINTF (stderr, "\n");
+    }
+}
+
+# define YY_REDUCE_PRINT(Rule)		\
+do {					\
+  if (yydebug)				\
+    yy_reduce_print (yyvsp, Rule); \
+} while (YYID (0))
+
+/* Nonzero means print parse trace.  It is left uninitialized so that
+   multiple parsers can coexist.  */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args)
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
+
+
+/* YYINITDEPTH -- initial size of the parser's stacks.  */
+#ifndef	YYINITDEPTH
+# define YYINITDEPTH 200
+#endif
+
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+   if the built-in stack extension method is used).
+
+   Do not make this value too large; the results are undefined if
+   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
+   evaluated with infinite-precision integer arithmetic.  */
+
+#ifndef YYMAXDEPTH
+# define YYMAXDEPTH 10000
+#endif
+
+\f
+
+#if YYERROR_VERBOSE
+
+# ifndef yystrlen
+#  if defined __GLIBC__ && defined _STRING_H
+#   define yystrlen strlen
+#  else
+/* Return the length of YYSTR.  */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static YYSIZE_T
+yystrlen (const char *yystr)
+#else
+static YYSIZE_T
+yystrlen (yystr)
+    const char *yystr;
+#endif
+{
+  YYSIZE_T yylen;
+  for (yylen = 0; yystr[yylen]; yylen++)
+    continue;
+  return yylen;
+}
+#  endif
+# endif
+
+# ifndef yystpcpy
+#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
+#   define yystpcpy stpcpy
+#  else
+/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+   YYDEST.  */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static char *
+yystpcpy (char *yydest, const char *yysrc)
+#else
+static char *
+yystpcpy (yydest, yysrc)
+    char *yydest;
+    const char *yysrc;
+#endif
+{
+  char *yyd = yydest;
+  const char *yys = yysrc;
+
+  while ((*yyd++ = *yys++) != '\0')
+    continue;
+
+  return yyd - 1;
+}
+#  endif
+# endif
+
+# ifndef yytnamerr
+/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
+   quotes and backslashes, so that it's suitable for yyerror.  The
+   heuristic is that double-quoting is unnecessary unless the string
+   contains an apostrophe, a comma, or backslash (other than
+   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
+   null, do not copy; instead, return the length of what the result
+   would have been.  */
+static YYSIZE_T
+yytnamerr (char *yyres, const char *yystr)
+{
+  if (*yystr == '"')
+    {
+      YYSIZE_T yyn = 0;
+      char const *yyp = yystr;
+
+      for (;;)
+	switch (*++yyp)
+	  {
+	  case '\'':
+	  case ',':
+	    goto do_not_strip_quotes;
+
+	  case '\\':
+	    if (*++yyp != '\\')
+	      goto do_not_strip_quotes;
+	    /* Fall through.  */
+	  default:
+	    if (yyres)
+	      yyres[yyn] = *yyp;
+	    yyn++;
+	    break;
+
+	  case '"':
+	    if (yyres)
+	      yyres[yyn] = '\0';
+	    return yyn;
+	  }
+    do_not_strip_quotes: ;
+    }
+
+  if (! yyres)
+    return yystrlen (yystr);
+
+  return yystpcpy (yyres, yystr) - yyres;
+}
+# endif
+
+/* Copy into YYRESULT an error message about the unexpected token
+   YYCHAR while in state YYSTATE.  Return the number of bytes copied,
+   including the terminating null byte.  If YYRESULT is null, do not
+   copy anything; just return the number of bytes that would be
+   copied.  As a special case, return 0 if an ordinary "syntax error"
+   message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
+   size calculation.  */
+static YYSIZE_T
+yysyntax_error (char *yyresult, int yystate, int yychar)
+{
+  int yyn = yypact[yystate];
+
+  if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
+    return 0;
+  else
+    {
+      int yytype = YYTRANSLATE (yychar);
+      YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
+      YYSIZE_T yysize = yysize0;
+      YYSIZE_T yysize1;
+      int yysize_overflow = 0;
+      enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
+      char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
+      int yyx;
+
+# if 0
+      /* This is so xgettext sees the translatable formats that are
+	 constructed on the fly.  */
+      YY_("syntax error, unexpected %s");
+      YY_("syntax error, unexpected %s, expecting %s");
+      YY_("syntax error, unexpected %s, expecting %s or %s");
+      YY_("syntax error, unexpected %s, expecting %s or %s or %s");
+      YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
+# endif
+      char *yyfmt;
+      char const *yyf;
+      static char const yyunexpected[] = "syntax error, unexpected %s";
+      static char const yyexpecting[] = ", expecting %s";
+      static char const yyor[] = " or %s";
+      char yyformat[sizeof yyunexpected
+		    + sizeof yyexpecting - 1
+		    + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
+		       * (sizeof yyor - 1))];
+      char const *yyprefix = yyexpecting;
+
+      /* Start YYX at -YYN if negative to avoid negative indexes in
+	 YYCHECK.  */
+      int yyxbegin = yyn < 0 ? -yyn : 0;
+
+      /* Stay within bounds of both yycheck and yytname.  */
+      int yychecklim = YYLAST - yyn + 1;
+      int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+      int yycount = 1;
+
+      yyarg[0] = yytname[yytype];
+      yyfmt = yystpcpy (yyformat, yyunexpected);
+
+      for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+	if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+	  {
+	    if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
+	      {
+		yycount = 1;
+		yysize = yysize0;
+		yyformat[sizeof yyunexpected - 1] = '\0';
+		break;
+	      }
+	    yyarg[yycount++] = yytname[yyx];
+	    yysize1 = yysize + yytnamerr (0, yytname[yyx]);
+	    yysize_overflow |= (yysize1 < yysize);
+	    yysize = yysize1;
+	    yyfmt = yystpcpy (yyfmt, yyprefix);
+	    yyprefix = yyor;
+	  }
+
+      yyf = YY_(yyformat);
+      yysize1 = yysize + yystrlen (yyf);
+      yysize_overflow |= (yysize1 < yysize);
+      yysize = yysize1;
+
+      if (yysize_overflow)
+	return YYSIZE_MAXIMUM;
+
+      if (yyresult)
+	{
+	  /* Avoid sprintf, as that infringes on the user's name space.
+	     Don't have undefined behavior even if the translation
+	     produced a string with the wrong number of "%s"s.  */
+	  char *yyp = yyresult;
+	  int yyi = 0;
+	  while ((*yyp = *yyf) != '\0')
+	    {
+	      if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
+		{
+		  yyp += yytnamerr (yyp, yyarg[yyi++]);
+		  yyf += 2;
+		}
+	      else
+		{
+		  yyp++;
+		  yyf++;
+		}
+	    }
+	}
+      return yysize;
+    }
+}
+#endif /* YYERROR_VERBOSE */
+\f
+
+/*-----------------------------------------------.
+| Release the memory associated to this symbol.  |
+`-----------------------------------------------*/
+
+/*ARGSUSED*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yydestruct (yymsg, yytype, yyvaluep)
+    const char *yymsg;
+    int yytype;
+    YYSTYPE *yyvaluep;
+#endif
+{
+  YYUSE (yyvaluep);
+
+  if (!yymsg)
+    yymsg = "Deleting";
+  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
+
+  switch (yytype)
+    {
+
+      default:
+	break;
+    }
+}
+
+/* Prevent warnings from -Wmissing-prototypes.  */
+#ifdef YYPARSE_PARAM
+#if defined __STDC__ || defined __cplusplus
+int yyparse (void *YYPARSE_PARAM);
+#else
+int yyparse ();
+#endif
+#else /* ! YYPARSE_PARAM */
+#if defined __STDC__ || defined __cplusplus
+int yyparse (void);
+#else
+int yyparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
+
+
+/* The lookahead symbol.  */
+int yychar;
+
+/* The semantic value of the lookahead symbol.  */
+YYSTYPE yylval;
+
+/* Number of syntax errors so far.  */
+int yynerrs;
+
+
+
+/*-------------------------.
+| yyparse or yypush_parse.  |
+`-------------------------*/
+
+#ifdef YYPARSE_PARAM
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+int
+yyparse (void *YYPARSE_PARAM)
+#else
+int
+yyparse (YYPARSE_PARAM)
+    void *YYPARSE_PARAM;
+#endif
+#else /* ! YYPARSE_PARAM */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+int
+yyparse (void)
+#else
+int
+yyparse ()
+
+#endif
+#endif
+{
+
+
+    int yystate;
+    /* Number of tokens to shift before error messages enabled.  */
+    int yyerrstatus;
+
+    /* The stacks and their tools:
+       `yyss': related to states.
+       `yyvs': related to semantic values.
+
+       Refer to the stacks thru separate pointers, to allow yyoverflow
+       to reallocate them elsewhere.  */
+
+    /* The state stack.  */
+    yytype_int16 yyssa[YYINITDEPTH];
+    yytype_int16 *yyss;
+    yytype_int16 *yyssp;
+
+    /* The semantic value stack.  */
+    YYSTYPE yyvsa[YYINITDEPTH];
+    YYSTYPE *yyvs;
+    YYSTYPE *yyvsp;
+
+    YYSIZE_T yystacksize;
+
+  int yyn;
+  int yyresult;
+  /* Lookahead token as an internal (translated) token number.  */
+  int yytoken;
+  /* The variables used to return semantic value and location from the
+     action routines.  */
+  YYSTYPE yyval;
+
+#if YYERROR_VERBOSE
+  /* Buffer for error messages, and its allocated size.  */
+  char yymsgbuf[128];
+  char *yymsg = yymsgbuf;
+  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+#endif
+
+#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
+
+  /* The number of symbols on the RHS of the reduced rule.
+     Keep to zero when no symbol should be popped.  */
+  int yylen = 0;
+
+  yytoken = 0;
+  yyss = yyssa;
+  yyvs = yyvsa;
+  yystacksize = YYINITDEPTH;
+
+  YYDPRINTF ((stderr, "Starting parse\n"));
+
+  yystate = 0;
+  yyerrstatus = 0;
+  yynerrs = 0;
+  yychar = YYEMPTY; /* Cause a token to be read.  */
+
+  /* Initialize stack pointers.
+     Waste one element of value and location stack
+     so that they stay on the same level as the state stack.
+     The wasted elements are never initialized.  */
+  yyssp = yyss;
+  yyvsp = yyvs;
+
+  goto yysetstate;
+
+/*------------------------------------------------------------.
+| yynewstate -- Push a new state, which is found in yystate.  |
+`------------------------------------------------------------*/
+ yynewstate:
+  /* In all cases, when you get here, the value and location stacks
+     have just been pushed.  So pushing a state here evens the stacks.  */
+  yyssp++;
+
+ yysetstate:
+  *yyssp = yystate;
+
+  if (yyss + yystacksize - 1 <= yyssp)
+    {
+      /* Get the current used size of the three stacks, in elements.  */
+      YYSIZE_T yysize = yyssp - yyss + 1;
+
+#ifdef yyoverflow
+      {
+	/* Give user a chance to reallocate the stack.  Use copies of
+	   these so that the &'s don't force the real ones into
+	   memory.  */
+	YYSTYPE *yyvs1 = yyvs;
+	yytype_int16 *yyss1 = yyss;
+
+	/* Each stack pointer address is followed by the size of the
+	   data in use in that stack, in bytes.  This used to be a
+	   conditional around just the two extra args, but that might
+	   be undefined if yyoverflow is a macro.  */
+	yyoverflow (YY_("memory exhausted"),
+		    &yyss1, yysize * sizeof (*yyssp),
+		    &yyvs1, yysize * sizeof (*yyvsp),
+		    &yystacksize);
+
+	yyss = yyss1;
+	yyvs = yyvs1;
+      }
+#else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+      goto yyexhaustedlab;
+# else
+      /* Extend the stack our own way.  */
+      if (YYMAXDEPTH <= yystacksize)
+	goto yyexhaustedlab;
+      yystacksize *= 2;
+      if (YYMAXDEPTH < yystacksize)
+	yystacksize = YYMAXDEPTH;
+
+      {
+	yytype_int16 *yyss1 = yyss;
+	union yyalloc *yyptr =
+	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+	if (! yyptr)
+	  goto yyexhaustedlab;
+	YYSTACK_RELOCATE (yyss_alloc, yyss);
+	YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+#  undef YYSTACK_RELOCATE
+	if (yyss1 != yyssa)
+	  YYSTACK_FREE (yyss1);
+      }
+# endif
+#endif /* no yyoverflow */
+
+      yyssp = yyss + yysize - 1;
+      yyvsp = yyvs + yysize - 1;
+
+      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
+		  (unsigned long int) yystacksize));
+
+      if (yyss + yystacksize - 1 <= yyssp)
+	YYABORT;
+    }
+
+  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+
+  if (yystate == YYFINAL)
+    YYACCEPT;
+
+  goto yybackup;
+
+/*-----------.
+| yybackup.  |
+`-----------*/
+yybackup:
+
+  /* Do appropriate processing given the current state.  Read a
+     lookahead token if we need one and don't already have one.  */
+
+  /* First try to decide what to do without reference to lookahead token.  */
+  yyn = yypact[yystate];
+  if (yyn == YYPACT_NINF)
+    goto yydefault;
+
+  /* Not known => get a lookahead token if don't already have one.  */
+
+  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
+  if (yychar == YYEMPTY)
+    {
+      YYDPRINTF ((stderr, "Reading a token: "));
+      yychar = YYLEX;
+    }
+
+  if (yychar <= YYEOF)
+    {
+      yychar = yytoken = YYEOF;
+      YYDPRINTF ((stderr, "Now at end of input.\n"));
+    }
+  else
+    {
+      yytoken = YYTRANSLATE (yychar);
+      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
+    }
+
+  /* If the proper action on seeing token YYTOKEN is to reduce or to
+     detect an error, take that action.  */
+  yyn += yytoken;
+  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
+    goto yydefault;
+  yyn = yytable[yyn];
+  if (yyn <= 0)
+    {
+      if (yyn == 0 || yyn == YYTABLE_NINF)
+	goto yyerrlab;
+      yyn = -yyn;
+      goto yyreduce;
+    }
+
+  /* Count tokens shifted since error; after three, turn off error
+     status.  */
+  if (yyerrstatus)
+    yyerrstatus--;
+
+  /* Shift the lookahead token.  */
+  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
+
+  /* Discard the shifted token.  */
+  yychar = YYEMPTY;
+
+  yystate = yyn;
+  *++yyvsp = yylval;
+
+  goto yynewstate;
+
+
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state.  |
+`-----------------------------------------------------------*/
+yydefault:
+  yyn = yydefact[yystate];
+  if (yyn == 0)
+    goto yyerrlab;
+  goto yyreduce;
+
+
+/*-----------------------------.
+| yyreduce -- Do a reduction.  |
+`-----------------------------*/
+yyreduce:
+  /* yyn is the number of a rule to reduce with.  */
+  yylen = yyr2[yyn];
+
+  /* If YYLEN is nonzero, implement the default value of the action:
+     `$$ = $1'.
+
+     Otherwise, the following line sets YYVAL to garbage.
+     This behavior is undocumented and Bison
+     users should not rely upon it.  Assigning to YYVAL
+     unconditionally makes the parser a bit smaller, and it avoids a
+     GCC warning that YYVAL may be used uninitialized.  */
+  yyval = yyvsp[1-yylen];
+
+
+  YY_REDUCE_PRINT (yyn);
+  switch (yyn)
+    {
+        case 2:
+
+/* Line 1455 of yacc.c  */
+#line 87 "dtc-parser.y"
+    {
+			the_boot_info = build_boot_info((yyvsp[(3) - (4)].re), (yyvsp[(4) - (4)].node),
+							guess_boot_cpuid((yyvsp[(4) - (4)].node)));
+		;}
+    break;
+
+  case 3:
+
+/* Line 1455 of yacc.c  */
+#line 95 "dtc-parser.y"
+    {
+			(yyval.re) = NULL;
+		;}
+    break;
+
+  case 4:
+
+/* Line 1455 of yacc.c  */
+#line 99 "dtc-parser.y"
+    {
+			(yyval.re) = chain_reserve_entry((yyvsp[(1) - (2)].re), (yyvsp[(2) - (2)].re));
+		;}
+    break;
+
+  case 5:
+
+/* Line 1455 of yacc.c  */
+#line 106 "dtc-parser.y"
+    {
+			(yyval.re) = build_reserve_entry((yyvsp[(2) - (4)].addr), (yyvsp[(3) - (4)].addr));
+		;}
+    break;
+
+  case 6:
+
+/* Line 1455 of yacc.c  */
+#line 110 "dtc-parser.y"
+    {
+			add_label(&(yyvsp[(2) - (2)].re)->labels, (yyvsp[(1) - (2)].labelref));
+			(yyval.re) = (yyvsp[(2) - (2)].re);
+		;}
+    break;
+
+  case 7:
+
+/* Line 1455 of yacc.c  */
+#line 118 "dtc-parser.y"
+    {
+			(yyval.addr) = eval_literal((yyvsp[(1) - (1)].literal), 0, 64);
+		;}
+    break;
+
+  case 8:
+
+/* Line 1455 of yacc.c  */
+#line 125 "dtc-parser.y"
+    {
+			(yyval.node) = name_node((yyvsp[(2) - (2)].node), "");
+		;}
+    break;
+
+  case 9:
+
+/* Line 1455 of yacc.c  */
+#line 129 "dtc-parser.y"
+    {
+			(yyval.node) = merge_nodes((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
+		;}
+    break;
+
+  case 10:
+
+/* Line 1455 of yacc.c  */
+#line 133 "dtc-parser.y"
+    {
+			struct node *target = get_node_by_ref((yyvsp[(1) - (3)].node), (yyvsp[(2) - (3)].labelref));
+
+			if (target)
+				merge_nodes(target, (yyvsp[(3) - (3)].node));
+			else
+				print_error("label or path, '%s', not found", (yyvsp[(2) - (3)].labelref));
+			(yyval.node) = (yyvsp[(1) - (3)].node);
+		;}
+    break;
+
+  case 11:
+
+/* Line 1455 of yacc.c  */
+#line 146 "dtc-parser.y"
+    {
+			(yyval.node) = build_node((yyvsp[(2) - (5)].proplist), (yyvsp[(3) - (5)].nodelist));
+		;}
+    break;
+
+  case 12:
+
+/* Line 1455 of yacc.c  */
+#line 153 "dtc-parser.y"
+    {
+			(yyval.proplist) = NULL;
+		;}
+    break;
+
+  case 13:
+
+/* Line 1455 of yacc.c  */
+#line 157 "dtc-parser.y"
+    {
+			(yyval.proplist) = chain_property((yyvsp[(2) - (2)].prop), (yyvsp[(1) - (2)].proplist));
+		;}
+    break;
+
+  case 14:
+
+/* Line 1455 of yacc.c  */
+#line 164 "dtc-parser.y"
+    {
+			(yyval.prop) = build_property((yyvsp[(1) - (4)].propnodename), (yyvsp[(3) - (4)].data));
+		;}
+    break;
+
+  case 15:
+
+/* Line 1455 of yacc.c  */
+#line 168 "dtc-parser.y"
+    {
+			(yyval.prop) = build_property((yyvsp[(1) - (2)].propnodename), empty_data);
+		;}
+    break;
+
+  case 16:
+
+/* Line 1455 of yacc.c  */
+#line 172 "dtc-parser.y"
+    {
+			add_label(&(yyvsp[(2) - (2)].prop)->labels, (yyvsp[(1) - (2)].labelref));
+			(yyval.prop) = (yyvsp[(2) - (2)].prop);
+		;}
+    break;
+
+  case 17:
+
+/* Line 1455 of yacc.c  */
+#line 180 "dtc-parser.y"
+    {
+			(yyval.data) = data_merge((yyvsp[(1) - (2)].data), (yyvsp[(2) - (2)].data));
+		;}
+    break;
+
+  case 18:
+
+/* Line 1455 of yacc.c  */
+#line 184 "dtc-parser.y"
+    {
+			(yyval.data) = data_merge((yyvsp[(1) - (4)].data), (yyvsp[(3) - (4)].data));
+		;}
+    break;
+
+  case 19:
+
+/* Line 1455 of yacc.c  */
+#line 188 "dtc-parser.y"
+    {
+			(yyval.data) = data_merge((yyvsp[(1) - (4)].data), (yyvsp[(3) - (4)].data));
+		;}
+    break;
+
+  case 20:
+
+/* Line 1455 of yacc.c  */
+#line 192 "dtc-parser.y"
+    {
+			(yyval.data) = data_add_marker((yyvsp[(1) - (2)].data), REF_PATH, (yyvsp[(2) - (2)].labelref));
+		;}
+    break;
+
+  case 21:
+
+/* Line 1455 of yacc.c  */
+#line 196 "dtc-parser.y"
+    {
+			FILE *f = srcfile_relative_open((yyvsp[(4) - (9)].data).val, NULL);
+			struct data d;
+
+			if ((yyvsp[(6) - (9)].addr) != 0)
+				if (fseek(f, (yyvsp[(6) - (9)].addr), SEEK_SET) != 0)
+					print_error("Couldn't seek to offset %llu in \"%s\": %s",
+						     (unsigned long long)(yyvsp[(6) - (9)].addr),
+						     (yyvsp[(4) - (9)].data).val,
+						     strerror(errno));
+
+			d = data_copy_file(f, (yyvsp[(8) - (9)].addr));
+
+			(yyval.data) = data_merge((yyvsp[(1) - (9)].data), d);
+			fclose(f);
+		;}
+    break;
+
+  case 22:
+
+/* Line 1455 of yacc.c  */
+#line 213 "dtc-parser.y"
+    {
+			FILE *f = srcfile_relative_open((yyvsp[(4) - (5)].data).val, NULL);
+			struct data d = empty_data;
+
+			d = data_copy_file(f, -1);
+
+			(yyval.data) = data_merge((yyvsp[(1) - (5)].data), d);
+			fclose(f);
+		;}
+    break;
+
+  case 23:
+
+/* Line 1455 of yacc.c  */
+#line 223 "dtc-parser.y"
+    {
+			(yyval.data) = data_add_marker((yyvsp[(1) - (2)].data), LABEL, (yyvsp[(2) - (2)].labelref));
+		;}
+    break;
+
+  case 24:
+
+/* Line 1455 of yacc.c  */
+#line 230 "dtc-parser.y"
+    {
+			(yyval.data) = empty_data;
+		;}
+    break;
+
+  case 25:
+
+/* Line 1455 of yacc.c  */
+#line 234 "dtc-parser.y"
+    {
+			(yyval.data) = (yyvsp[(1) - (2)].data);
+		;}
+    break;
+
+  case 26:
+
+/* Line 1455 of yacc.c  */
+#line 238 "dtc-parser.y"
+    {
+			(yyval.data) = data_add_marker((yyvsp[(1) - (2)].data), LABEL, (yyvsp[(2) - (2)].labelref));
+		;}
+    break;
+
+  case 27:
+
+/* Line 1455 of yacc.c  */
+#line 245 "dtc-parser.y"
+    {
+			(yyval.data) = empty_data;
+		;}
+    break;
+
+  case 28:
+
+/* Line 1455 of yacc.c  */
+#line 249 "dtc-parser.y"
+    {
+			(yyval.data) = data_append_cell((yyvsp[(1) - (2)].data), (yyvsp[(2) - (2)].cell));
+		;}
+    break;
+
+  case 29:
+
+/* Line 1455 of yacc.c  */
+#line 253 "dtc-parser.y"
+    {
+			(yyval.data) = data_append_cell(data_add_marker((yyvsp[(1) - (2)].data), REF_PHANDLE,
+							      (yyvsp[(2) - (2)].labelref)), -1);
+		;}
+    break;
+
+  case 30:
+
+/* Line 1455 of yacc.c  */
+#line 258 "dtc-parser.y"
+    {
+			(yyval.data) = data_add_marker((yyvsp[(1) - (2)].data), LABEL, (yyvsp[(2) - (2)].labelref));
+		;}
+    break;
+
+  case 31:
+
+/* Line 1455 of yacc.c  */
+#line 265 "dtc-parser.y"
+    {
+			(yyval.cell) = eval_literal((yyvsp[(1) - (1)].literal), 0, 32);
+		;}
+    break;
+
+  case 32:
+
+/* Line 1455 of yacc.c  */
+#line 272 "dtc-parser.y"
+    {
+			(yyval.data) = empty_data;
+		;}
+    break;
+
+  case 33:
+
+/* Line 1455 of yacc.c  */
+#line 276 "dtc-parser.y"
+    {
+			(yyval.data) = data_append_byte((yyvsp[(1) - (2)].data), (yyvsp[(2) - (2)].byte));
+		;}
+    break;
+
+  case 34:
+
+/* Line 1455 of yacc.c  */
+#line 280 "dtc-parser.y"
+    {
+			(yyval.data) = data_add_marker((yyvsp[(1) - (2)].data), LABEL, (yyvsp[(2) - (2)].labelref));
+		;}
+    break;
+
+  case 35:
+
+/* Line 1455 of yacc.c  */
+#line 287 "dtc-parser.y"
+    {
+			(yyval.nodelist) = NULL;
+		;}
+    break;
+
+  case 36:
+
+/* Line 1455 of yacc.c  */
+#line 291 "dtc-parser.y"
+    {
+			(yyval.nodelist) = chain_node((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].nodelist));
+		;}
+    break;
+
+  case 37:
+
+/* Line 1455 of yacc.c  */
+#line 295 "dtc-parser.y"
+    {
+			print_error("syntax error: properties must precede subnodes");
+			YYERROR;
+		;}
+    break;
+
+  case 38:
+
+/* Line 1455 of yacc.c  */
+#line 303 "dtc-parser.y"
+    {
+			(yyval.node) = name_node((yyvsp[(2) - (2)].node), (yyvsp[(1) - (2)].propnodename));
+		;}
+    break;
+
+  case 39:
+
+/* Line 1455 of yacc.c  */
+#line 307 "dtc-parser.y"
+    {
+			add_label(&(yyvsp[(2) - (2)].node)->labels, (yyvsp[(1) - (2)].labelref));
+			(yyval.node) = (yyvsp[(2) - (2)].node);
+		;}
+    break;
+
+
+
+/* Line 1455 of yacc.c  */
+#line 1783 "dtc-parser.tab.c"
+      default: break;
+    }
+  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
+
+  YYPOPSTACK (yylen);
+  yylen = 0;
+  YY_STACK_PRINT (yyss, yyssp);
+
+  *++yyvsp = yyval;
+
+  /* Now `shift' the result of the reduction.  Determine what state
+     that goes to, based on the state we popped back to and the rule
+     number reduced by.  */
+
+  yyn = yyr1[yyn];
+
+  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+    yystate = yytable[yystate];
+  else
+    yystate = yydefgoto[yyn - YYNTOKENS];
+
+  goto yynewstate;
+
+
+/*------------------------------------.
+| yyerrlab -- here on detecting error |
+`------------------------------------*/
+yyerrlab:
+  /* If not already recovering from an error, report this error.  */
+  if (!yyerrstatus)
+    {
+      ++yynerrs;
+#if ! YYERROR_VERBOSE
+      yyerror (YY_("syntax error"));
+#else
+      {
+	YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
+	if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
+	  {
+	    YYSIZE_T yyalloc = 2 * yysize;
+	    if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
+	      yyalloc = YYSTACK_ALLOC_MAXIMUM;
+	    if (yymsg != yymsgbuf)
+	      YYSTACK_FREE (yymsg);
+	    yymsg = (char *) YYSTACK_ALLOC (yyalloc);
+	    if (yymsg)
+	      yymsg_alloc = yyalloc;
+	    else
+	      {
+		yymsg = yymsgbuf;
+		yymsg_alloc = sizeof yymsgbuf;
+	      }
+	  }
+
+	if (0 < yysize && yysize <= yymsg_alloc)
+	  {
+	    (void) yysyntax_error (yymsg, yystate, yychar);
+	    yyerror (yymsg);
+	  }
+	else
+	  {
+	    yyerror (YY_("syntax error"));
+	    if (yysize != 0)
+	      goto yyexhaustedlab;
+	  }
+      }
+#endif
+    }
+
+
+
+  if (yyerrstatus == 3)
+    {
+      /* If just tried and failed to reuse lookahead token after an
+	 error, discard it.  */
+
+      if (yychar <= YYEOF)
+	{
+	  /* Return failure if at end of input.  */
+	  if (yychar == YYEOF)
+	    YYABORT;
+	}
+      else
+	{
+	  yydestruct ("Error: discarding",
+		      yytoken, &yylval);
+	  yychar = YYEMPTY;
+	}
+    }
+
+  /* Else will try to reuse lookahead token after shifting the error
+     token.  */
+  goto yyerrlab1;
+
+
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR.  |
+`---------------------------------------------------*/
+yyerrorlab:
+
+  /* Pacify compilers like GCC when the user code never invokes
+     YYERROR and the label yyerrorlab therefore never appears in user
+     code.  */
+  if (/*CONSTCOND*/ 0)
+     goto yyerrorlab;
+
+  /* Do not reclaim the symbols of the rule which action triggered
+     this YYERROR.  */
+  YYPOPSTACK (yylen);
+  yylen = 0;
+  YY_STACK_PRINT (yyss, yyssp);
+  yystate = *yyssp;
+  goto yyerrlab1;
+
+
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR.  |
+`-------------------------------------------------------------*/
+yyerrlab1:
+  yyerrstatus = 3;	/* Each real token shifted decrements this.  */
+
+  for (;;)
+    {
+      yyn = yypact[yystate];
+      if (yyn != YYPACT_NINF)
+	{
+	  yyn += YYTERROR;
+	  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+	    {
+	      yyn = yytable[yyn];
+	      if (0 < yyn)
+		break;
+	    }
+	}
+
+      /* Pop the current state because it cannot handle the error token.  */
+      if (yyssp == yyss)
+	YYABORT;
+
+
+      yydestruct ("Error: popping",
+		  yystos[yystate], yyvsp);
+      YYPOPSTACK (1);
+      yystate = *yyssp;
+      YY_STACK_PRINT (yyss, yyssp);
+    }
+
+  *++yyvsp = yylval;
+
+
+  /* Shift the error token.  */
+  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
+
+  yystate = yyn;
+  goto yynewstate;
+
+
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here.  |
+`-------------------------------------*/
+yyacceptlab:
+  yyresult = 0;
+  goto yyreturn;
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here.  |
+`-----------------------------------*/
+yyabortlab:
+  yyresult = 1;
+  goto yyreturn;
+
+#if !defined(yyoverflow) || YYERROR_VERBOSE
+/*-------------------------------------------------.
+| yyexhaustedlab -- memory exhaustion comes here.  |
+`-------------------------------------------------*/
+yyexhaustedlab:
+  yyerror (YY_("memory exhausted"));
+  yyresult = 2;
+  /* Fall through.  */
+#endif
+
+yyreturn:
+  if (yychar != YYEMPTY)
+     yydestruct ("Cleanup: discarding lookahead",
+		 yytoken, &yylval);
+  /* Do not reclaim the symbols of the rule which action triggered
+     this YYABORT or YYACCEPT.  */
+  YYPOPSTACK (yylen);
+  YY_STACK_PRINT (yyss, yyssp);
+  while (yyssp != yyss)
+    {
+      yydestruct ("Cleanup: popping",
+		  yystos[*yyssp], yyvsp);
+      YYPOPSTACK (1);
+    }
+#ifndef yyoverflow
+  if (yyss != yyssa)
+    YYSTACK_FREE (yyss);
+#endif
+#if YYERROR_VERBOSE
+  if (yymsg != yymsgbuf)
+    YYSTACK_FREE (yymsg);
+#endif
+  /* Make sure YYID is used.  */
+  return YYID (yyresult);
+}
+
+
+
+/* Line 1675 of yacc.c  */
+#line 313 "dtc-parser.y"
+
+
+void print_error(char const *fmt, ...)
+{
+	va_list va;
+
+	va_start(va, fmt);
+	srcpos_verror(&yylloc, fmt, va);
+	va_end(va);
+
+	treesource_error = 1;
+}
+
+void yyerror(char const *s) {
+	print_error("%s", s);
+}
+
+static unsigned long long eval_literal(const char *s, int base, int bits)
+{
+	unsigned long long val;
+	char *e;
+
+	errno = 0;
+	val = strtoull(s, &e, base);
+	if (*e)
+		print_error("bad characters in literal");
+	else if ((errno == ERANGE)
+		 || ((bits < 64) && (val >= (1ULL << bits))))
+		print_error("literal out of range");
+	else if (errno != 0)
+		print_error("bad literal");
+	return val;
+}
+
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/dtc/dtc-parser.tab.h ../linux-2.6.39.4/scripts/dtc/dtc-parser.tab.h
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/dtc/dtc-parser.tab.h	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/scripts/dtc/dtc-parser.tab.h	2011-10-22 06:42:13.205103602 +0530
@@ -0,0 +1,91 @@
+
+/* A Bison parser, made by GNU Bison 2.4.1.  */
+
+/* Skeleton interface for Bison's Yacc-like parsers in C
+   
+      Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+   Free Software Foundation, Inc.
+   
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation, either version 3 of the License, or
+   (at your option) any later version.
+   
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+   
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* As a special exception, you may create a larger work that contains
+   part or all of the Bison parser skeleton and distribute that work
+   under terms of your choice, so long as that work isn't itself a
+   parser generator using the skeleton or a modified version thereof
+   as a parser skeleton.  Alternatively, if you modify or redistribute
+   the parser skeleton itself, you may (at your option) remove this
+   special exception, which will cause the skeleton and the resulting
+   Bison output files to be licensed under the GNU General Public
+   License without this special exception.
+   
+   This special exception was added by the Free Software Foundation in
+   version 2.2 of Bison.  */
+
+
+/* Tokens.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+   /* Put the tokens into the symbol table, so that GDB and other debuggers
+      know about them.  */
+   enum yytokentype {
+     DT_V1 = 258,
+     DT_MEMRESERVE = 259,
+     DT_PROPNODENAME = 260,
+     DT_LITERAL = 261,
+     DT_BASE = 262,
+     DT_BYTE = 263,
+     DT_STRING = 264,
+     DT_LABEL = 265,
+     DT_REF = 266,
+     DT_INCBIN = 267
+   };
+#endif
+
+
+
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+typedef union YYSTYPE
+{
+
+/* Line 1676 of yacc.c  */
+#line 39 "dtc-parser.y"
+
+	char *propnodename;
+	char *literal;
+	char *labelref;
+	unsigned int cbase;
+	uint8_t byte;
+	struct data data;
+
+	uint64_t addr;
+	cell_t cell;
+	struct property *prop;
+	struct property *proplist;
+	struct node *node;
+	struct node *nodelist;
+	struct reserve_info *re;
+
+
+
+/* Line 1676 of yacc.c  */
+#line 83 "dtc-parser.tab.h"
+} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+#endif
+
+extern YYSTYPE yylval;
+
+
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/dtc/flattree.c ../linux-2.6.39.4/scripts/dtc/flattree.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/dtc/flattree.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/scripts/dtc/flattree.c	2011-10-22 06:39:57.547134484 +0530
@@ -142,6 +142,10 @@
 	fprintf(f, "\t.byte 0x%02x; .byte 0x%02x; .byte 0x%02x; .byte 0x%02x\n",
 		(val >> 24) & 0xff, (val >> 16) & 0xff,
 		(val >> 8) & 0xff, val & 0xff);
+
+	printf("\t.byte 0x%02x; .byte 0x%02x; .byte 0x%02x; .byte 0x%02x\n",
+		(val >> 24) & 0xff, (val >> 16) & 0xff,
+		(val >> 8) & 0xff, val & 0xff);
 }
 
 static void asm_emit_string(void *e, char *str, int len)
@@ -156,6 +160,7 @@
 	}
 
 	fprintf(f, "\t.string\t\"%s\"\n", str);
+	printf("\t.string\t\"%s\"\n", str);
 
 	if (len != 0) {
 		str[len] = c;
@@ -185,6 +190,7 @@
 
 	while ((d.len - off) >= 1) {
 		fprintf(f, "\t.byte\t0x%hhx\n", d.val[off]);
+		printf("\t.byte\t0x%hhx\n", d.val[off]);
 		off += 1;
 	}
 
@@ -289,6 +295,15 @@
 
 		emit->data(etarget, prop->val);
 		emit->align(etarget, sizeof(cell_t));
+
+		if (prop->labels)
+			printf("prop name: %20s, label: %15s, len: %4u, val: %s\n", prop->name, prop->labels->label, prop->val.len, prop->val.val);
+		else
+		{
+			if (prop->val.val)
+				printf("prop name: %20s, len: %4u, val: 0x%x\n", prop->name, prop->val.len, *((unsigned int *)prop->val.val));
+//			else						printf("prop name: %20s, len: %4u, val: %s\n", prop->name, prop->val.len, prop->val.val);
+		}
 	}
 
 	if ((vi->flags & FTF_NAMEPROPS) && !seen_name_prop) {
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/dtc/tags ../linux-2.6.39.4/scripts/dtc/tags
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/dtc/tags	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/scripts/dtc/tags	2011-10-22 06:39:57.602852584 +0530
@@ -0,0 +1,888 @@
+!_TAG_FILE_FORMAT	2	/extended format; --format=1 will not append ;" to lines/
+!_TAG_FILE_SORTED	1	/0=unsorted, 1=sorted, 2=foldcase/
+!_TAG_PROGRAM_AUTHOR	Darren Hiebert	/dhiebert@users.sourceforge.net/
+!_TAG_PROGRAM_NAME	Exuberant Ctags	//
+!_TAG_PROGRAM_URL	http://ctags.sourceforge.net	/official site/
+!_TAG_PROGRAM_VERSION	5.8	//
+ALIGN	dtc.h	67;"	d
+ARRAY_SIZE	dtc.h	68;"	d
+ASM_EMIT_BELONG	flattree.c	130;"	d	file:
+BATCH_CHECK	checks.c	87;"	d	file:
+BEGIN	dtc-lexer.lex.c	126;"	d	file:
+BEGIN_DEFAULT	dtc-lexer.lex.c	601;"	d	file:
+BISON	Makefile	/^BISON = bison$/;"	m
+BYTESTRING	dtc-lexer.lex.c	610;"	d	file:
+CHECK	checks.c	67;"	d	file:
+CHECK_IS_CELL	checks.c	210;"	d	file:
+CHECK_IS_STRING	checks.c	193;"	d	file:
+DEFAULT_FDT_VERSION	dtc.h	46;"	d
+DESCLABEL_ARGS	checks.c	282;"	d	file:
+DESCLABEL_FMT	checks.c	281;"	d	file:
+DIGITS	checks.c	247;"	d	file:
+DPRINT	dtc-lexer.lex.c	594;"	d	file:
+DPRINT	dtc-lexer.lex.c	596;"	d	file:
+DTC_VERSION	version_gen.h	1;"	d
+DT_BASE	dtc-parser.tab.c	/^     DT_BASE = 262,$/;"	e	enum:yytokentype	file:
+DT_BASE	dtc-parser.tab.h	/^     DT_BASE = 262,$/;"	e	enum:yytokentype
+DT_BYTE	dtc-parser.tab.c	/^     DT_BYTE = 263,$/;"	e	enum:yytokentype	file:
+DT_BYTE	dtc-parser.tab.h	/^     DT_BYTE = 263,$/;"	e	enum:yytokentype
+DT_INCBIN	dtc-parser.tab.c	/^     DT_INCBIN = 267$/;"	e	enum:yytokentype	file:
+DT_INCBIN	dtc-parser.tab.h	/^     DT_INCBIN = 267$/;"	e	enum:yytokentype
+DT_LABEL	dtc-parser.tab.c	/^     DT_LABEL = 265,$/;"	e	enum:yytokentype	file:
+DT_LABEL	dtc-parser.tab.h	/^     DT_LABEL = 265,$/;"	e	enum:yytokentype
+DT_LITERAL	dtc-parser.tab.c	/^     DT_LITERAL = 261,$/;"	e	enum:yytokentype	file:
+DT_LITERAL	dtc-parser.tab.h	/^     DT_LITERAL = 261,$/;"	e	enum:yytokentype
+DT_MEMRESERVE	dtc-parser.tab.c	/^     DT_MEMRESERVE = 259,$/;"	e	enum:yytokentype	file:
+DT_MEMRESERVE	dtc-parser.tab.h	/^     DT_MEMRESERVE = 259,$/;"	e	enum:yytokentype
+DT_PROPNODENAME	dtc-parser.tab.c	/^     DT_PROPNODENAME = 260,$/;"	e	enum:yytokentype	file:
+DT_PROPNODENAME	dtc-parser.tab.h	/^     DT_PROPNODENAME = 260,$/;"	e	enum:yytokentype
+DT_REF	dtc-parser.tab.c	/^     DT_REF = 266,$/;"	e	enum:yytokentype	file:
+DT_REF	dtc-parser.tab.h	/^     DT_REF = 266,$/;"	e	enum:yytokentype
+DT_STRING	dtc-parser.tab.c	/^     DT_STRING = 264,$/;"	e	enum:yytokentype	file:
+DT_STRING	dtc-parser.tab.h	/^     DT_STRING = 264,$/;"	e	enum:yytokentype
+DT_V1	dtc-parser.tab.c	/^     DT_V1 = 258,$/;"	e	enum:yytokentype	file:
+DT_V1	dtc-parser.tab.h	/^     DT_V1 = 258,$/;"	e	enum:yytokentype
+ECHO	dtc-lexer.lex.c	702;"	d	file:
+EOB_ACT_CONTINUE_SCAN	dtc-lexer.lex.c	169;"	d	file:
+EOB_ACT_END_OF_FILE	dtc-lexer.lex.c	170;"	d	file:
+EOB_ACT_LAST_MATCH	dtc-lexer.lex.c	171;"	d	file:
+ERROR	checks.c	/^	ERROR = 2,$/;"	e	enum:checklevel	file:
+FAIL	checks.c	107;"	d	file:
+FAILED	checks.c	/^	FAILED,$/;"	e	enum:checkstatus	file:
+FDT_ALIGN	libfdt/libfdt_internal.h	55;"	d
+FDT_BEGIN_NODE	libfdt/fdt.h	47;"	d
+FDT_CHECK_HEADER	libfdt/libfdt_internal.h	58;"	d
+FDT_END	libfdt/fdt.h	52;"	d
+FDT_END_NODE	libfdt/fdt.h	48;"	d
+FDT_ERRTABENT	libfdt/fdt_strerror.c	62;"	d	file:
+FDT_ERRTABSIZE	libfdt/fdt_strerror.c	80;"	d	file:
+FDT_ERR_BADLAYOUT	libfdt/libfdt.h	106;"	d
+FDT_ERR_BADMAGIC	libfdt/libfdt.h	93;"	d
+FDT_ERR_BADOFFSET	libfdt/libfdt.h	73;"	d
+FDT_ERR_BADPATH	libfdt/libfdt.h	77;"	d
+FDT_ERR_BADPHANDLE	libfdt/libfdt.h	81;"	d
+FDT_ERR_BADSTATE	libfdt/libfdt.h	84;"	d
+FDT_ERR_BADSTRUCTURE	libfdt/libfdt.h	102;"	d
+FDT_ERR_BADVERSION	libfdt/libfdt.h	97;"	d
+FDT_ERR_EXISTS	libfdt/libfdt.h	63;"	d
+FDT_ERR_INTERNAL	libfdt/libfdt.h	114;"	d
+FDT_ERR_MAX	libfdt/libfdt.h	119;"	d
+FDT_ERR_NOSPACE	libfdt/libfdt.h	66;"	d
+FDT_ERR_NOTFOUND	libfdt/libfdt.h	61;"	d
+FDT_ERR_TRUNCATED	libfdt/libfdt.h	90;"	d
+FDT_FIRST_SUPPORTED_VERSION	libfdt/libfdt.h	57;"	d
+FDT_LAST_SUPPORTED_VERSION	libfdt/libfdt.h	58;"	d
+FDT_MAGIC	libfdt/fdt.h	44;"	d
+FDT_NOP	libfdt/fdt.h	51;"	d
+FDT_PROP	libfdt/fdt.h	49;"	d
+FDT_RW_CHECK_HEADER	libfdt/fdt_rw.c	85;"	d	file:
+FDT_SW_CHECK_HEADER	libfdt/fdt_sw.c	66;"	d	file:
+FDT_SW_MAGIC	libfdt/libfdt_internal.h	93;"	d
+FDT_TAGALIGN	libfdt/libfdt_internal.h	56;"	d
+FDT_TAGSIZE	libfdt/fdt.h	45;"	d
+FDT_V16_SIZE	libfdt/fdt.h	57;"	d
+FDT_V17_SIZE	libfdt/fdt.h	58;"	d
+FDT_V1_SIZE	libfdt/fdt.h	54;"	d
+FDT_V2_SIZE	libfdt/fdt.h	55;"	d
+FDT_V3_SIZE	libfdt/fdt.h	56;"	d
+FLEX	Makefile	/^FLEX = flex$/;"	m
+FLEXINT_H	dtc-lexer.lex.c	30;"	d	file:
+FLEX_BETA	dtc-lexer.lex.c	14;"	d	file:
+FLEX_SCANNER	dtc-lexer.lex.c	9;"	d	file:
+FTF_BOOTCPUID	flattree.c	27;"	d	file:
+FTF_FULLPATH	flattree.c	24;"	d	file:
+FTF_NAMEPROPS	flattree.c	26;"	d	file:
+FTF_NOPS	flattree.c	30;"	d	file:
+FTF_STRTABSIZE	flattree.c	28;"	d	file:
+FTF_STRUCTSIZE	flattree.c	29;"	d	file:
+FTF_VARALIGN	flattree.c	25;"	d	file:
+HOSTCFLAGS_DTC	Makefile	/^HOSTCFLAGS_DTC := -I$(src) -I$(src)\/libfdt$/;"	m
+HOSTCFLAGS_checks.o	Makefile	/^HOSTCFLAGS_checks.o := $(HOSTCFLAGS_DTC)$/;"	m
+HOSTCFLAGS_data.o	Makefile	/^HOSTCFLAGS_data.o := $(HOSTCFLAGS_DTC)$/;"	m
+HOSTCFLAGS_dtc-lexer.lex.o	Makefile	/^HOSTCFLAGS_dtc-lexer.lex.o := $(HOSTCFLAGS_DTC)$/;"	m
+HOSTCFLAGS_dtc-parser.tab.o	Makefile	/^HOSTCFLAGS_dtc-parser.tab.o := $(HOSTCFLAGS_DTC)$/;"	m
+HOSTCFLAGS_dtc.o	Makefile	/^HOSTCFLAGS_dtc.o := $(HOSTCFLAGS_DTC)$/;"	m
+HOSTCFLAGS_flattree.o	Makefile	/^HOSTCFLAGS_flattree.o := $(HOSTCFLAGS_DTC)$/;"	m
+HOSTCFLAGS_fstree.o	Makefile	/^HOSTCFLAGS_fstree.o := $(HOSTCFLAGS_DTC)$/;"	m
+HOSTCFLAGS_livetree.o	Makefile	/^HOSTCFLAGS_livetree.o := $(HOSTCFLAGS_DTC)$/;"	m
+HOSTCFLAGS_srcpos.o	Makefile	/^HOSTCFLAGS_srcpos.o := $(HOSTCFLAGS_DTC)$/;"	m
+HOSTCFLAGS_treesource.o	Makefile	/^HOSTCFLAGS_treesource.o := $(HOSTCFLAGS_DTC)$/;"	m
+HOSTCFLAGS_util.o	Makefile	/^HOSTCFLAGS_util.o := $(HOSTCFLAGS_DTC)$/;"	m
+IGNORE	checks.c	/^	IGNORE = 0,$/;"	e	enum:checklevel	file:
+INCLUDE	dtc-lexer.lex.c	609;"	d	file:
+INITIAL	dtc-lexer.lex.c	608;"	d	file:
+INT16_MAX	dtc-lexer.lex.c	72;"	d	file:
+INT16_MIN	dtc-lexer.lex.c	63;"	d	file:
+INT32_MAX	dtc-lexer.lex.c	75;"	d	file:
+INT32_MIN	dtc-lexer.lex.c	66;"	d	file:
+INT8_MAX	dtc-lexer.lex.c	69;"	d	file:
+INT8_MIN	dtc-lexer.lex.c	60;"	d	file:
+LABEL	dtc.h	/^	LABEL,$/;"	e	enum:markertype
+LOWERCASE	checks.c	245;"	d	file:
+MAX_NODENAME_LEN	dtc.h	125;"	d
+MAX_PROPNAME_LEN	dtc.h	124;"	d
+MAX_SRCFILE_DEPTH	srcpos.c	46;"	d	file:
+NODE_CHECK	checks.c	83;"	d	file:
+PASSED	checks.c	/^	PASSED,$/;"	e	enum:checkstatus	file:
+PHANDLE_BOTH	dtc.h	59;"	d
+PHANDLE_EPAPR	dtc.h	58;"	d
+PHANDLE_LEGACY	dtc.h	57;"	d
+PREREQ	checks.c	/^	PREREQ,$/;"	e	enum:checkstatus	file:
+PROPNODECHARS	checks.c	248;"	d	file:
+PROPNODENAME	dtc-lexer.lex.c	611;"	d	file:
+PROP_CHECK	checks.c	85;"	d	file:
+REF_PATH	dtc.h	/^	REF_PATH,$/;"	e	enum:markertype
+REF_PHANDLE	dtc.h	/^	REF_PHANDLE,$/;"	e	enum:markertype
+REJECT	dtc-lexer.lex.c	548;"	d	file:
+TAB_SIZE	srcpos.c	130;"	d	file:
+TRACE	checks.c	24;"	d	file:
+TRACE	checks.c	31;"	d	file:
+TREE_CHECK	checks.c	81;"	d	file:
+UINT16_MAX	dtc-lexer.lex.c	81;"	d	file:
+UINT32_MAX	dtc-lexer.lex.c	84;"	d	file:
+UINT8_MAX	dtc-lexer.lex.c	78;"	d	file:
+UNCHECKED	checks.c	/^	UNCHECKED = 0,$/;"	e	enum:checkstatus	file:
+UPPERCASE	checks.c	246;"	d	file:
+V1	dtc-lexer.lex.c	612;"	d	file:
+WARN	checks.c	/^	WARN = 1,$/;"	e	enum:checklevel	file:
+YYABORT	dtc-parser.tab.c	604;"	d	file:
+YYACCEPT	dtc-parser.tab.c	603;"	d	file:
+YYBACKUP	dtc-parser.tab.c	616;"	d	file:
+YYBISON	dtc-parser.tab.c	46;"	d	file:
+YYBISON_VERSION	dtc-parser.tab.c	49;"	d	file:
+YYCOPY	dtc-parser.tab.c	350;"	d	file:
+YYCOPY	dtc-parser.tab.c	353;"	d	file:
+YYDEBUG	dtc-parser.tab.c	95;"	d	file:
+YYDPRINTF	dtc-parser.tab.c	696;"	d	file:
+YYDPRINTF	dtc-parser.tab.c	845;"	d	file:
+YYEMPTY	dtc-parser.tab.c	600;"	d	file:
+YYEOF	dtc-parser.tab.c	601;"	d	file:
+YYERRCODE	dtc-parser.tab.c	635;"	d	file:
+YYERROR	dtc-parser.tab.c	605;"	d	file:
+YYERROR_VERBOSE	dtc-parser.tab.c	100;"	d	file:
+YYERROR_VERBOSE	dtc-parser.tab.c	101;"	d	file:
+YYERROR_VERBOSE	dtc-parser.tab.c	103;"	d	file:
+YYFAIL	dtc-parser.tab.c	612;"	d	file:
+YYFINAL	dtc-parser.tab.c	383;"	d	file:
+YYFPRINTF	dtc-parser.tab.c	693;"	d	file:
+YYFREE	dtc-parser.tab.c	316;"	d	file:
+YYID	dtc-parser.tab.c	/^YYID (int yyi)$/;"	f	file:
+YYID	dtc-parser.tab.c	240;"	d	file:
+YYINITDEPTH	dtc-parser.tab.c	854;"	d	file:
+YYLAST	dtc-parser.tab.c	385;"	d	file:
+YYLEX	dtc-parser.tab.c	683;"	d	file:
+YYLEX	dtc-parser.tab.c	685;"	d	file:
+YYLLOC_DEFAULT	dtc-parser.tab.c	644;"	d	file:
+YYLLOC_DEFAULT	srcpos.h	49;"	d
+YYLSP_NEEDED	dtc-parser.tab.c	64;"	d	file:
+YYLTYPE	srcpos.h	47;"	d
+YYMALLOC	dtc-parser.tab.c	309;"	d	file:
+YYMAXDEPTH	dtc-parser.tab.c	865;"	d	file:
+YYMAXUTOK	dtc-parser.tab.c	398;"	d	file:
+YYNNTS	dtc-parser.tab.c	390;"	d	file:
+YYNRULES	dtc-parser.tab.c	392;"	d	file:
+YYNSTATES	dtc-parser.tab.c	394;"	d	file:
+YYNTOKENS	dtc-parser.tab.c	388;"	d	file:
+YYPACT_NINF	dtc-parser.tab.c	541;"	d	file:
+YYPOPSTACK	dtc-parser.tab.c	1205;"	d	file:
+YYPULL	dtc-parser.tab.c	61;"	d	file:
+YYPURE	dtc-parser.tab.c	55;"	d	file:
+YYPUSH	dtc-parser.tab.c	58;"	d	file:
+YYRECOVERING	dtc-parser.tab.c	614;"	d	file:
+YYRHSLOC	dtc-parser.tab.c	642;"	d	file:
+YYSIZE_MAXIMUM	dtc-parser.tab.c	217;"	d	file:
+YYSIZE_T	dtc-parser.tab.c	205;"	d	file:
+YYSIZE_T	dtc-parser.tab.c	207;"	d	file:
+YYSIZE_T	dtc-parser.tab.c	211;"	d	file:
+YYSIZE_T	dtc-parser.tab.c	213;"	d	file:
+YYSKELETON_NAME	dtc-parser.tab.c	52;"	d	file:
+YYSTACK_ALLOC	dtc-parser.tab.c	263;"	d	file:
+YYSTACK_ALLOC	dtc-parser.tab.c	267;"	d	file:
+YYSTACK_ALLOC	dtc-parser.tab.c	272;"	d	file:
+YYSTACK_ALLOC	dtc-parser.tab.c	295;"	d	file:
+YYSTACK_ALLOC_MAXIMUM	dtc-parser.tab.c	292;"	d	file:
+YYSTACK_ALLOC_MAXIMUM	dtc-parser.tab.c	298;"	d	file:
+YYSTACK_BYTES	dtc-parser.tab.c	342;"	d	file:
+YYSTACK_FREE	dtc-parser.tab.c	286;"	d	file:
+YYSTACK_FREE	dtc-parser.tab.c	296;"	d	file:
+YYSTACK_GAP_MAXIMUM	dtc-parser.tab.c	338;"	d	file:
+YYSTACK_RELOCATE	dtc-parser.tab.c	369;"	d	file:
+YYSTATE	dtc-lexer.lex.c	133;"	d	file:
+YYSTYPE	dtc-parser.tab.c	/^typedef union YYSTYPE$/;"	u	file:
+YYSTYPE	dtc-parser.tab.c	/^} YYSTYPE;$/;"	t	typeref:union:YYSTYPE	file:
+YYSTYPE	dtc-parser.tab.h	/^typedef union YYSTYPE$/;"	u
+YYSTYPE	dtc-parser.tab.h	/^} YYSTYPE;$/;"	t	typeref:union:YYSTYPE
+YYSTYPE_IS_DECLARED	dtc-parser.tab.c	162;"	d	file:
+YYSTYPE_IS_DECLARED	dtc-parser.tab.h	86;"	d
+YYSTYPE_IS_TRIVIAL	dtc-parser.tab.c	160;"	d	file:
+YYSTYPE_IS_TRIVIAL	dtc-parser.tab.h	84;"	d
+YYTABLES_NAME	dtc-lexer.lex.c	1997;"	d	file:
+YYTABLE_NINF	dtc-parser.tab.c	564;"	d	file:
+YYTERROR	dtc-parser.tab.c	634;"	d	file:
+YYTOKENTYPE	dtc-parser.tab.c	114;"	d	file:
+YYTOKENTYPE	dtc-parser.tab.h	38;"	d
+YYTOKEN_TABLE	dtc-parser.tab.c	108;"	d	file:
+YYTRANSLATE	dtc-parser.tab.c	400;"	d	file:
+YYUNDEFTOK	dtc-parser.tab.c	397;"	d	file:
+YYUSE	dtc-parser.tab.c	233;"	d	file:
+YYUSE	dtc-parser.tab.c	235;"	d	file:
+YY_	dtc-parser.tab.c	223;"	d	file:
+YY_	dtc-parser.tab.c	227;"	d	file:
+YY_AT_BOL	dtc-lexer.lex.c	340;"	d	file:
+YY_BREAK	dtc-lexer.lex.c	781;"	d	file:
+YY_BUFFER_EOF_PENDING	dtc-lexer.lex.c	256;"	d	file:
+YY_BUFFER_NEW	dtc-lexer.lex.c	244;"	d	file:
+YY_BUFFER_NORMAL	dtc-lexer.lex.c	245;"	d	file:
+YY_BUFFER_STATE	dtc-lexer.lex.c	/^typedef struct yy_buffer_state *YY_BUFFER_STATE;$/;"	t	typeref:struct:yy_buffer_state	file:
+YY_BUF_SIZE	dtc-lexer.lex.c	150;"	d	file:
+YY_BUF_SIZE	dtc-lexer.lex.c	152;"	d	file:
+YY_CHAR	dtc-lexer.lex.c	/^typedef unsigned char YY_CHAR;$/;"	t	file:
+YY_CURRENT_BUFFER	dtc-lexer.lex.c	272;"	d	file:
+YY_CURRENT_BUFFER_LVALUE	dtc-lexer.lex.c	279;"	d	file:
+YY_DECL	dtc-lexer.lex.c	769;"	d	file:
+YY_DECL_IS_OURS	dtc-lexer.lex.c	765;"	d	file:
+YY_DO_BEFORE_ACTION	dtc-lexer.lex.c	368;"	d	file:
+YY_END_OF_BUFFER	dtc-lexer.lex.c	376;"	d	file:
+YY_END_OF_BUFFER_CHAR	dtc-lexer.lex.c	141;"	d	file:
+YY_EXIT_FAILURE	dtc-lexer.lex.c	1795;"	d	file:
+YY_EXTRA_TYPE	dtc-lexer.lex.c	623;"	d	file:
+YY_FATAL_ERROR	dtc-lexer.lex.c	756;"	d	file:
+YY_FLEX_MAJOR_VERSION	dtc-lexer.lex.c	10;"	d	file:
+YY_FLEX_MINOR_VERSION	dtc-lexer.lex.c	11;"	d	file:
+YY_FLEX_SUBMINOR_VERSION	dtc-lexer.lex.c	12;"	d	file:
+YY_FLUSH_BUFFER	dtc-lexer.lex.c	308;"	d	file:
+YY_INPUT	dtc-lexer.lex.c	709;"	d	file:
+YY_INT_ALIGNED	dtc-lexer.lex.c	5;"	d	file:
+YY_LESS_LINENO	dtc-lexer.lex.c	173;"	d	file:
+YY_LOCATION_PRINT	dtc-parser.tab.c	670;"	d	file:
+YY_LOCATION_PRINT	dtc-parser.tab.c	675;"	d	file:
+YY_MORE_ADJ	dtc-lexer.lex.c	550;"	d	file:
+YY_NEW_FILE	dtc-lexer.lex.c	139;"	d	file:
+YY_NO_INPUT	dtc-lexer.lex.c	573;"	d	file:
+YY_NULL	dtc-lexer.lex.c	113;"	d	file:
+YY_NUM_RULES	dtc-lexer.lex.c	375;"	d	file:
+YY_READ_BUF_SIZE	dtc-lexer.lex.c	691;"	d	file:
+YY_READ_BUF_SIZE	dtc-lexer.lex.c	693;"	d	file:
+YY_REDUCE_PRINT	dtc-parser.tab.c	835;"	d	file:
+YY_REDUCE_PRINT	dtc-parser.tab.c	848;"	d	file:
+YY_RESTORE_YY_MORE_OFFSET	dtc-lexer.lex.c	551;"	d	file:
+YY_RULE_SETUP	dtc-lexer.lex.c	784;"	d	file:
+YY_SC_TO_UI	dtc-lexer.lex.c	120;"	d	file:
+YY_SKIP_YYWRAP	dtc-lexer.lex.c	345;"	d	file:
+YY_STACK_PRINT	dtc-parser.tab.c	797;"	d	file:
+YY_STACK_PRINT	dtc-parser.tab.c	847;"	d	file:
+YY_START	dtc-lexer.lex.c	132;"	d	file:
+YY_START_STACK_INCR	dtc-lexer.lex.c	751;"	d	file:
+YY_STATE_BUF_SIZE	dtc-lexer.lex.c	158;"	d	file:
+YY_STATE_EOF	dtc-lexer.lex.c	136;"	d	file:
+YY_STRUCT_YY_BUFFER_STATE	dtc-lexer.lex.c	197;"	d	file:
+YY_SYMBOL_PRINT	dtc-parser.tab.c	702;"	d	file:
+YY_SYMBOL_PRINT	dtc-parser.tab.c	846;"	d	file:
+YY_TYPEDEF_YY_BUFFER_STATE	dtc-lexer.lex.c	161;"	d	file:
+YY_TYPEDEF_YY_SIZE_T	dtc-lexer.lex.c	192;"	d	file:
+YY_USER_ACTION	dtc-lexer.lex.c	586;"	d	file:
+YY_USER_ACTION	dtc-lexer.lex.c	776;"	d	file:
+YY_USE_CONST	dtc-lexer.lex.c	101;"	d	file:
+YY_USE_CONST	dtc-lexer.lex.c	94;"	d	file:
+_B	libfdt/libfdt_env.h	21;"	d
+_B	libfdt/libfdt_env.h	8;"	d
+_DTC_H	dtc.h	2;"	d
+_FDT_H	libfdt/fdt.h	2;"	d
+_GNU_SOURCE	srcpos.c	20;"	d	file:
+_LIBFDT_ENV_H	libfdt/libfdt_env.h	2;"	d
+_LIBFDT_H	libfdt/libfdt.h	2;"	d
+_LIBFDT_INTERNAL_H	libfdt/libfdt_internal.h	2;"	d
+_SRCPOS_H_	srcpos.h	21;"	d
+_STDLIB_H	dtc-parser.tab.c	277;"	d	file:
+_STDLIB_H	dtc-parser.tab.c	305;"	d	file:
+_UTIL_H	util.h	2;"	d
+__STDC_LIMIT_MACROS	dtc-lexer.lex.c	40;"	d	file:
+__fdt_set_hdr	libfdt/libfdt.h	156;"	d
+__fdt_set_hdr	libfdt/libfdt.h	172;"	d
+_fdt_add_property	libfdt/fdt_rw.c	/^static int _fdt_add_property(void *fdt, int nodeoffset, const char *name,$/;"	f	file:
+_fdt_blocks_misordered	libfdt/fdt_rw.c	/^static int _fdt_blocks_misordered(const void *fdt,$/;"	f	file:
+_fdt_check_node_offset	libfdt/fdt.c	/^int _fdt_check_node_offset(const void *fdt, int offset)$/;"	f
+_fdt_data_size	libfdt/fdt_rw.c	/^static inline int _fdt_data_size(void *fdt)$/;"	f	file:
+_fdt_find_add_string	libfdt/fdt_rw.c	/^static int _fdt_find_add_string(void *fdt, const char *s)$/;"	f	file:
+_fdt_find_add_string	libfdt/fdt_sw.c	/^static int _fdt_find_add_string(void *fdt, const char *s)$/;"	f	file:
+_fdt_find_string	libfdt/fdt.c	/^const char *_fdt_find_string(const char *strtab, int tabsize, const char *s)$/;"	f
+_fdt_grab_space	libfdt/fdt_sw.c	/^static void *_fdt_grab_space(void *fdt, int len)$/;"	f	file:
+_fdt_mem_rsv	libfdt/libfdt_internal.h	/^static inline const struct fdt_reserve_entry *_fdt_mem_rsv(const void *fdt, int n)$/;"	f
+_fdt_mem_rsv_w	libfdt/libfdt_internal.h	/^static inline struct fdt_reserve_entry *_fdt_mem_rsv_w(void *fdt, int n)$/;"	f
+_fdt_node_end_offset	libfdt/fdt_wip.c	/^int _fdt_node_end_offset(void *fdt, int nodeoffset)$/;"	f
+_fdt_nodename_eq	libfdt/fdt_ro.c	/^static int _fdt_nodename_eq(const void *fdt, int offset,$/;"	f	file:
+_fdt_nop_region	libfdt/fdt_wip.c	/^static void _fdt_nop_region(void *start, int len)$/;"	f	file:
+_fdt_offset_ptr	libfdt/libfdt_internal.h	/^static inline const void *_fdt_offset_ptr(const void *fdt, int offset)$/;"	f
+_fdt_offset_ptr_w	libfdt/libfdt_internal.h	/^static inline void *_fdt_offset_ptr_w(void *fdt, int offset)$/;"	f
+_fdt_packblocks	libfdt/fdt_rw.c	/^static void _fdt_packblocks(const char *old, char *new,$/;"	f	file:
+_fdt_resize_property	libfdt/fdt_rw.c	/^static int _fdt_resize_property(void *fdt, int nodeoffset, const char *name,$/;"	f	file:
+_fdt_rw_check_header	libfdt/fdt_rw.c	/^static int _fdt_rw_check_header(void *fdt)$/;"	f	file:
+_fdt_splice	libfdt/fdt_rw.c	/^static int _fdt_splice(void *fdt, void *splicepoint, int oldlen, int newlen)$/;"	f	file:
+_fdt_splice_mem_rsv	libfdt/fdt_rw.c	/^static int _fdt_splice_mem_rsv(void *fdt, struct fdt_reserve_entry *p,$/;"	f	file:
+_fdt_splice_string	libfdt/fdt_rw.c	/^static int _fdt_splice_string(void *fdt, int newlen)$/;"	f	file:
+_fdt_splice_struct	libfdt/fdt_rw.c	/^static int _fdt_splice_struct(void *fdt, void *p,$/;"	f	file:
+_fdt_sw_check_header	libfdt/fdt_sw.c	/^static int _fdt_sw_check_header(void *fdt)$/;"	f	file:
+_stringlist_contains	libfdt/fdt_ro.c	/^static int _stringlist_contains(const char *strlist, int listlen, const char *str)$/;"	f	file:
+add_child	livetree.c	/^void add_child(struct node *parent, struct node *child)$/;"	f
+add_label	livetree.c	/^void add_label(struct label **labels, char *label)$/;"	f
+add_property	livetree.c	/^void add_property(struct node *node, struct property *prop)$/;"	f
+add_reserve_entry	livetree.c	/^struct reserve_info *add_reserve_entry(struct reserve_info *list,$/;"	f
+addr	dtc-parser.tab.c	/^	uint64_t addr;$/;"	m	union:YYSTYPE	file:
+addr	dtc-parser.tab.h	/^	uint64_t addr;$/;"	m	union:YYSTYPE
+addr	dtc-parser.y	/^addr:$/;"	l
+addr_cells	dtc.h	/^	int addr_cells, size_cells;$/;"	m	struct:node
+address	libfdt/fdt.h	/^	uint64_t address;$/;"	m	struct:fdt_reserve_entry
+align	flattree.c	/^	void (*align)(void *, int);$/;"	m	struct:emitter	file:
+alloca	dtc-parser.tab.c	270;"	d	file:
+always	Makefile	/^always		:= $(hostprogs-y)$/;"	m
+asm_emit_align	flattree.c	/^static void asm_emit_align(void *e, int a)$/;"	f	file:
+asm_emit_beginnode	flattree.c	/^static void asm_emit_beginnode(void *e, struct label *labels)$/;"	f	file:
+asm_emit_cell	flattree.c	/^static void asm_emit_cell(void *e, cell_t val)$/;"	f	file:
+asm_emit_data	flattree.c	/^static void asm_emit_data(void *e, struct data d)$/;"	f	file:
+asm_emit_endnode	flattree.c	/^static void asm_emit_endnode(void *e, struct label *labels)$/;"	f	file:
+asm_emit_property	flattree.c	/^static void asm_emit_property(void *e, struct label *labels)$/;"	f	file:
+asm_emit_string	flattree.c	/^static void asm_emit_string(void *e, char *str, int len)$/;"	f	file:
+asm_emitter	flattree.c	/^static struct emitter asm_emitter = {$/;"	v	typeref:struct:emitter	file:
+base	flattree.c	/^	char *base, *limit, *ptr;$/;"	m	struct:inbuf	file:
+basenamelen	dtc.h	/^	int basenamelen;$/;"	m	struct:node
+beginnode	flattree.c	/^	void (*beginnode)(void *, struct label *labels);$/;"	m	struct:emitter	file:
+bin_emit_align	flattree.c	/^static void bin_emit_align(void *e, int a)$/;"	f	file:
+bin_emit_beginnode	flattree.c	/^static void bin_emit_beginnode(void *e, struct label *labels)$/;"	f	file:
+bin_emit_cell	flattree.c	/^static void bin_emit_cell(void *e, cell_t val)$/;"	f	file:
+bin_emit_data	flattree.c	/^static void bin_emit_data(void *e, struct data d)$/;"	f	file:
+bin_emit_endnode	flattree.c	/^static void bin_emit_endnode(void *e, struct label *labels)$/;"	f	file:
+bin_emit_property	flattree.c	/^static void bin_emit_property(void *e, struct label *labels)$/;"	f	file:
+bin_emit_string	flattree.c	/^static void bin_emit_string(void *e, char *str, int len)$/;"	f	file:
+bin_emitter	flattree.c	/^static struct emitter bin_emitter = {$/;"	v	typeref:struct:emitter	file:
+boot_cpuid_phys	dtc.h	/^	uint32_t boot_cpuid_phys;$/;"	m	struct:boot_info
+boot_cpuid_phys	libfdt/fdt.h	/^	uint32_t boot_cpuid_phys;	 \/* Which physical CPU id we're$/;"	m	struct:fdt_header
+boot_cpuid_phys	libfdt/libfdt.h	/^__fdt_set_hdr(boot_cpuid_phys);$/;"	v
+boot_info	dtc.h	/^struct boot_info {$/;"	s
+build_boot_info	livetree.c	/^struct boot_info *build_boot_info(struct reserve_info *reservelist,$/;"	f
+build_node	livetree.c	/^struct node *build_node(struct property *proplist, struct node *children)$/;"	f
+build_property	livetree.c	/^struct property *build_property(char *name, struct data val)$/;"	f
+build_reserve_entry	livetree.c	/^struct reserve_info *build_reserve_entry(uint64_t address, uint64_t size)$/;"	f
+byte	dtc-parser.tab.c	/^	uint8_t byte;$/;"	m	union:YYSTYPE	file:
+byte	dtc-parser.tab.h	/^	uint8_t byte;$/;"	m	union:YYSTYPE
+bytestring	dtc-parser.y	/^bytestring:$/;"	l
+cbase	dtc-parser.tab.c	/^	unsigned int cbase;$/;"	m	union:YYSTYPE	file:
+cbase	dtc-parser.tab.h	/^	unsigned int cbase;$/;"	m	union:YYSTYPE
+cell	dtc-parser.tab.c	/^	cell_t cell;$/;"	m	union:YYSTYPE	file:
+cell	dtc-parser.tab.h	/^	cell_t cell;$/;"	m	union:YYSTYPE
+cell	flattree.c	/^	void (*cell)(void *, cell_t);$/;"	m	struct:emitter	file:
+cell_t	dtc.h	/^typedef uint32_t cell_t;$/;"	t
+celllist	dtc-parser.y	/^celllist:$/;"	l
+cellval	dtc-parser.y	/^cellval:$/;"	l
+chain_node	livetree.c	/^struct node *chain_node(struct node *first, struct node *list)$/;"	f
+chain_property	livetree.c	/^struct property *chain_property(struct property *first, struct property *list)$/;"	f
+chain_reserve_entry	livetree.c	/^struct reserve_info *chain_reserve_entry(struct reserve_info *first,$/;"	f
+check	checks.c	/^struct check {$/;"	s	file:
+check_avoid_default_addr_size	checks.c	/^static void check_avoid_default_addr_size(struct check *c, struct node *dt,$/;"	f	file:
+check_duplicate_label	checks.c	/^static void check_duplicate_label(struct check *c, struct node *dt,$/;"	f	file:
+check_duplicate_label_node	checks.c	/^static void check_duplicate_label_node(struct check *c, struct node *dt,$/;"	f	file:
+check_duplicate_label_prop	checks.c	/^static void check_duplicate_label_prop(struct check *c, struct node *dt,$/;"	f	file:
+check_duplicate_node_names	checks.c	/^static void check_duplicate_node_names(struct check *c, struct node *dt,$/;"	f	file:
+check_duplicate_property_names	checks.c	/^static void check_duplicate_property_names(struct check *c, struct node *dt,$/;"	f	file:
+check_explicit_phandles	checks.c	/^static void check_explicit_phandles(struct check *c, struct node *root,$/;"	f	file:
+check_is_cell	checks.c	/^static void check_is_cell(struct check *c, struct node *root,$/;"	f	file:
+check_is_string	checks.c	/^static void check_is_string(struct check *c, struct node *root,$/;"	f	file:
+check_msg	checks.c	/^static inline void check_msg(struct check *c, const char *fmt, ...)$/;"	f	file:
+check_name_properties	checks.c	/^static void check_name_properties(struct check *c, struct node *root,$/;"	f	file:
+check_node_name_chars	checks.c	/^static void check_node_name_chars(struct check *c, struct node *dt,$/;"	f	file:
+check_node_name_format	checks.c	/^static void check_node_name_format(struct check *c, struct node *dt,$/;"	f	file:
+check_nodes_props	checks.c	/^static void check_nodes_props(struct check *c, struct node *dt, struct node *node)$/;"	f	file:
+check_obsolete_chosen_interrupt_controller	checks.c	/^static void check_obsolete_chosen_interrupt_controller(struct check *c,$/;"	f	file:
+check_property_name_chars	checks.c	/^static void check_property_name_chars(struct check *c, struct node *dt,$/;"	f	file:
+check_ranges_format	checks.c	/^static void check_ranges_format(struct check *c, struct node *dt,$/;"	f	file:
+check_reg_format	checks.c	/^static void check_reg_format(struct check *c, struct node *dt,$/;"	f	file:
+check_table	checks.c	/^static struct check *check_table[] = {$/;"	v	typeref:struct:check	file:
+checklevel	checks.c	/^enum checklevel {$/;"	g	file:
+checkstatus	checks.c	/^enum checkstatus {$/;"	g	file:
+children	dtc.h	/^	struct node *children;$/;"	m	struct:node	typeref:struct:node::node
+cmd_bison	Makefile	/^      cmd_bison = $(BISON) -o$@ -d $<; cp $@ $@_shipped$/;"	m
+cmd_flex	Makefile	/^      cmd_flex = $(FLEX) -o$@ $<; cp $@ $@_shipped$/;"	m
+cmp_prop	livetree.c	/^static int cmp_prop(const void *ax, const void *bx)$/;"	f	file:
+cmp_reserve_info	livetree.c	/^static int cmp_reserve_info(const void *ax, const void *bx)$/;"	f	file:
+cmp_subnode	livetree.c	/^static int cmp_subnode(const void *ax, const void *bx)$/;"	f	file:
+colno	srcpos.h	/^	int lineno, colno;$/;"	m	struct:srcfile_state
+cpu_to_fdt32	libfdt/libfdt_env.h	13;"	d
+cpu_to_fdt64	libfdt/libfdt_env.h	20;"	d
+current_srcfile	srcpos.c	/^struct srcfile_state *current_srcfile; \/* = NULL *\/$/;"	v	typeref:struct:srcfile_state
+data	checks.c	/^	void *data;$/;"	m	struct:check	file:
+data	dtc-parser.tab.c	/^	struct data data;$/;"	m	union:YYSTYPE	typeref:struct:YYSTYPE::data	file:
+data	dtc-parser.tab.h	/^	struct data data;$/;"	m	union:YYSTYPE	typeref:struct:YYSTYPE::data
+data	dtc.h	/^struct data {$/;"	s
+data	flattree.c	/^	void (*data)(void *, struct data);$/;"	m	struct:emitter	file:
+data	libfdt/fdt.h	/^	char data[0];$/;"	m	struct:fdt_property
+data_add_marker	data.c	/^struct data data_add_marker(struct data d, enum markertype type, char *ref)$/;"	f
+data_append_addr	data.c	/^struct data data_append_addr(struct data d, uint64_t addr)$/;"	f
+data_append_align	data.c	/^struct data data_append_align(struct data d, int align)$/;"	f
+data_append_byte	data.c	/^struct data data_append_byte(struct data d, uint8_t byte)$/;"	f
+data_append_cell	data.c	/^struct data data_append_cell(struct data d, cell_t word)$/;"	f
+data_append_data	data.c	/^struct data data_append_data(struct data d, const void *p, int len)$/;"	f
+data_append_markers	data.c	/^static struct data data_append_markers(struct data d, struct marker *m)$/;"	f	file:
+data_append_re	data.c	/^struct data data_append_re(struct data d, const struct fdt_reserve_entry *re)$/;"	f
+data_append_zeroes	data.c	/^struct data data_append_zeroes(struct data d, int len)$/;"	f
+data_copy_escape_string	data.c	/^struct data data_copy_escape_string(const char *s, int len)$/;"	f
+data_copy_file	data.c	/^struct data data_copy_file(FILE *f, size_t maxlen)$/;"	f
+data_copy_mem	data.c	/^struct data data_copy_mem(const char *mem, int len)$/;"	f
+data_free	data.c	/^void data_free(struct data d)$/;"	f
+data_grow_for	data.c	/^struct data data_grow_for(struct data d, int xlen)$/;"	f
+data_insert_at_marker	data.c	/^struct data data_insert_at_marker(struct data d, struct marker *m,$/;"	f
+data_is_one_string	data.c	/^int data_is_one_string(struct data d)$/;"	f
+data_merge	data.c	/^struct data data_merge(struct data d1, struct data d2)$/;"	f
+debug	dtc.h	40;"	d
+debug	dtc.h	42;"	d
+devicetree	dtc-parser.y	/^devicetree:$/;"	l
+die	util.h	/^static inline void __attribute__((noreturn)) die(char * str, ...)$/;"	f
+dir	srcpos.h	/^	char *dir;$/;"	m	struct:srcfile_state
+dirname	srcpos.c	/^static char *dirname(const char *path)$/;"	f	file:
+dt	dtc.h	/^	struct node *dt;		\/* the device tree *\/$/;"	m	struct:boot_info	typeref:struct:boot_info::node
+dt_from_blob	flattree.c	/^struct boot_info *dt_from_blob(const char *fname)$/;"	f
+dt_from_fs	fstree.c	/^struct boot_info *dt_from_fs(const char *dirname)$/;"	f
+dt_from_source	treesource.c	/^struct boot_info *dt_from_source(const char *fname)$/;"	f
+dt_to_asm	flattree.c	/^void dt_to_asm(FILE *f, struct boot_info *bi, int version)$/;"	f
+dt_to_blob	flattree.c	/^void dt_to_blob(FILE *f, struct boot_info *bi, int version)$/;"	f
+dt_to_source	treesource.c	/^void dt_to_source(FILE *f, struct boot_info *bi)$/;"	f
+dtc-objs	Makefile	/^dtc-objs	:= dtc.o flattree.o fstree.o data.o livetree.o treesource.o \\$/;"	m
+dts_version	dtc-lexer.lex.c	/^static int dts_version = 1;$/;"	v	file:
+dump_stringtable_asm	flattree.c	/^static void dump_stringtable_asm(FILE *f, struct data strbuf)$/;"	f	file:
+emit_label	flattree.c	/^static void emit_label(FILE *f, const char *prefix, const char *label)$/;"	f	file:
+emit_offset_label	flattree.c	/^static void emit_offset_label(FILE *f, const char *label, int offset)$/;"	f	file:
+emitter	flattree.c	/^struct emitter {$/;"	s	file:
+empty_data	dtc.h	91;"	d
+endnode	flattree.c	/^	void (*endnode)(void *, struct label *labels);$/;"	m	struct:emitter	file:
+eval_literal	dtc-parser.tab.c	/^static unsigned long long eval_literal(const char *s, int base, int bits)$/;"	f	file:
+f	srcpos.h	/^	FILE *f;$/;"	m	struct:srcfile_state
+fdt32_to_cpu	libfdt/libfdt_env.h	/^static inline uint32_t fdt32_to_cpu(uint32_t x)$/;"	f
+fdt64_to_cpu	libfdt/libfdt_env.h	/^static inline uint64_t fdt64_to_cpu(uint64_t x)$/;"	f
+fdt_add_mem_rsv	libfdt/fdt_rw.c	/^int fdt_add_mem_rsv(void *fdt, uint64_t address, uint64_t size)$/;"	f
+fdt_add_reservemap_entry	libfdt/fdt_sw.c	/^int fdt_add_reservemap_entry(void *fdt, uint64_t addr, uint64_t size)$/;"	f
+fdt_add_subnode	libfdt/fdt_rw.c	/^int fdt_add_subnode(void *fdt, int parentoffset, const char *name)$/;"	f
+fdt_add_subnode_namelen	libfdt/fdt_rw.c	/^int fdt_add_subnode_namelen(void *fdt, int parentoffset,$/;"	f
+fdt_begin_node	libfdt/fdt_sw.c	/^int fdt_begin_node(void *fdt, const char *name)$/;"	f
+fdt_boot_cpuid_phys	libfdt/libfdt.h	152;"	d
+fdt_check_header	libfdt/fdt.c	/^int fdt_check_header(const void *fdt)$/;"	f
+fdt_create	libfdt/fdt_sw.c	/^int fdt_create(void *buf, int bufsize)$/;"	f
+fdt_del_mem_rsv	libfdt/fdt_rw.c	/^int fdt_del_mem_rsv(void *fdt, int n)$/;"	f
+fdt_del_node	libfdt/fdt_rw.c	/^int fdt_del_node(void *fdt, int nodeoffset)$/;"	f
+fdt_delprop	libfdt/fdt_rw.c	/^int fdt_delprop(void *fdt, int nodeoffset, const char *name)$/;"	f
+fdt_end_node	libfdt/fdt_sw.c	/^int fdt_end_node(void *fdt)$/;"	f
+fdt_errtabent	libfdt/fdt_strerror.c	/^struct fdt_errtabent {$/;"	s	file:
+fdt_errtable	libfdt/fdt_strerror.c	/^static struct fdt_errtabent fdt_errtable[] = {$/;"	v	typeref:struct:fdt_errtabent	file:
+fdt_finish	libfdt/fdt_sw.c	/^int fdt_finish(void *fdt)$/;"	f
+fdt_finish_reservemap	libfdt/fdt_sw.c	/^int fdt_finish_reservemap(void *fdt)$/;"	f
+fdt_get_header	libfdt/libfdt.h	143;"	d
+fdt_get_mem_rsv	libfdt/fdt_ro.c	/^int fdt_get_mem_rsv(const void *fdt, int n, uint64_t *address, uint64_t *size)$/;"	f
+fdt_get_name	libfdt/fdt_ro.c	/^const char *fdt_get_name(const void *fdt, int nodeoffset, int *len)$/;"	f
+fdt_get_path	libfdt/fdt_ro.c	/^int fdt_get_path(const void *fdt, int nodeoffset, char *buf, int buflen)$/;"	f
+fdt_get_phandle	libfdt/fdt_ro.c	/^uint32_t fdt_get_phandle(const void *fdt, int nodeoffset)$/;"	f
+fdt_get_property	libfdt/fdt_ro.c	/^const struct fdt_property *fdt_get_property(const void *fdt,$/;"	f
+fdt_get_property_w	libfdt/libfdt.h	/^static inline struct fdt_property *fdt_get_property_w(void *fdt, int nodeoffset,$/;"	f
+fdt_getprop	libfdt/fdt_ro.c	/^const void *fdt_getprop(const void *fdt, int nodeoffset,$/;"	f
+fdt_getprop_w	libfdt/libfdt.h	/^static inline void *fdt_getprop_w(void *fdt, int nodeoffset,$/;"	f
+fdt_header	libfdt/fdt.h	/^struct fdt_header {$/;"	s
+fdt_last_comp_version	libfdt/libfdt.h	151;"	d
+fdt_magic	libfdt/libfdt.h	145;"	d
+fdt_move	libfdt/fdt.c	/^int fdt_move(const void *fdt, void *buf, int bufsize)$/;"	f
+fdt_next_node	libfdt/fdt.c	/^int fdt_next_node(const void *fdt, int offset, int *depth)$/;"	f
+fdt_next_tag	libfdt/fdt.c	/^uint32_t fdt_next_tag(const void *fdt, int offset, int *nextoffset)$/;"	f
+fdt_node_check_compatible	libfdt/fdt_ro.c	/^int fdt_node_check_compatible(const void *fdt, int nodeoffset,$/;"	f
+fdt_node_depth	libfdt/fdt_ro.c	/^int fdt_node_depth(const void *fdt, int nodeoffset)$/;"	f
+fdt_node_header	libfdt/fdt.h	/^struct fdt_node_header {$/;"	s
+fdt_node_offset_by_compatible	libfdt/fdt_ro.c	/^int fdt_node_offset_by_compatible(const void *fdt, int startoffset,$/;"	f
+fdt_node_offset_by_phandle	libfdt/fdt_ro.c	/^int fdt_node_offset_by_phandle(const void *fdt, uint32_t phandle)$/;"	f
+fdt_node_offset_by_prop_value	libfdt/fdt_ro.c	/^int fdt_node_offset_by_prop_value(const void *fdt, int startoffset,$/;"	f
+fdt_nop_node	libfdt/fdt_wip.c	/^int fdt_nop_node(void *fdt, int nodeoffset)$/;"	f
+fdt_nop_property	libfdt/fdt_wip.c	/^int fdt_nop_property(void *fdt, int nodeoffset, const char *name)$/;"	f
+fdt_num_mem_rsv	libfdt/fdt_ro.c	/^int fdt_num_mem_rsv(const void *fdt)$/;"	f
+fdt_off_dt_strings	libfdt/libfdt.h	148;"	d
+fdt_off_dt_struct	libfdt/libfdt.h	147;"	d
+fdt_off_mem_rsvmap	libfdt/libfdt.h	149;"	d
+fdt_offset_ptr	libfdt/fdt.c	/^const void *fdt_offset_ptr(const void *fdt, int offset, int len)$/;"	f
+fdt_offset_ptr_w	libfdt/libfdt.h	/^static inline void *fdt_offset_ptr_w(void *fdt, int offset, int checklen)$/;"	f
+fdt_open_into	libfdt/fdt_rw.c	/^int fdt_open_into(const void *fdt, void *buf, int bufsize)$/;"	f
+fdt_pack	libfdt/fdt_rw.c	/^int fdt_pack(void *fdt)$/;"	f
+fdt_parent_offset	libfdt/fdt_ro.c	/^int fdt_parent_offset(const void *fdt, int nodeoffset)$/;"	f
+fdt_path_offset	libfdt/fdt_ro.c	/^int fdt_path_offset(const void *fdt, const char *path)$/;"	f
+fdt_property	libfdt/fdt.h	/^struct fdt_property {$/;"	s
+fdt_property	libfdt/fdt_sw.c	/^int fdt_property(void *fdt, const char *name, const void *val, int len)$/;"	f
+fdt_property_cell	libfdt/libfdt.h	/^static inline int fdt_property_cell(void *fdt, const char *name, uint32_t val)$/;"	f
+fdt_property_string	libfdt/libfdt.h	794;"	d
+fdt_reserve_entry	libfdt/fdt.h	/^struct fdt_reserve_entry {$/;"	s
+fdt_set_name	libfdt/fdt_rw.c	/^int fdt_set_name(void *fdt, int nodeoffset, const char *name)$/;"	f
+fdt_setprop	libfdt/fdt_rw.c	/^int fdt_setprop(void *fdt, int nodeoffset, const char *name,$/;"	f
+fdt_setprop_cell	libfdt/libfdt.h	/^static inline int fdt_setprop_cell(void *fdt, int nodeoffset, const char *name,$/;"	f
+fdt_setprop_inplace	libfdt/fdt_wip.c	/^int fdt_setprop_inplace(void *fdt, int nodeoffset, const char *name,$/;"	f
+fdt_setprop_inplace_cell	libfdt/libfdt.h	/^static inline int fdt_setprop_inplace_cell(void *fdt, int nodeoffset,$/;"	f
+fdt_setprop_string	libfdt/libfdt.h	974;"	d
+fdt_size_dt_strings	libfdt/libfdt.h	153;"	d
+fdt_size_dt_struct	libfdt/libfdt.h	154;"	d
+fdt_strerror	libfdt/fdt_strerror.c	/^const char *fdt_strerror(int errval)$/;"	f
+fdt_string	libfdt/fdt_ro.c	/^const char *fdt_string(const void *fdt, int stroffset)$/;"	f
+fdt_subnode_offset	libfdt/fdt_ro.c	/^int fdt_subnode_offset(const void *fdt, int parentoffset,$/;"	f
+fdt_subnode_offset_namelen	libfdt/fdt_ro.c	/^int fdt_subnode_offset_namelen(const void *fdt, int offset,$/;"	f
+fdt_supernode_atdepth_offset	libfdt/fdt_ro.c	/^int fdt_supernode_atdepth_offset(const void *fdt, int nodeoffset,$/;"	f
+fdt_totalsize	libfdt/libfdt.h	146;"	d
+fdt_version	libfdt/libfdt.h	150;"	d
+file	srcpos.h	/^    struct srcfile_state *file;$/;"	m	struct:srcpos	typeref:struct:srcpos::srcfile_state
+fill_fullpaths	dtc.c	/^static void fill_fullpaths(struct node *tree, const char *prefix)$/;"	f	file:
+first_column	srcpos.h	/^    int first_column;$/;"	m	struct:srcpos
+first_line	srcpos.h	/^    int first_line;$/;"	m	struct:srcpos
+fixup_addr_size_cells	checks.c	/^static void fixup_addr_size_cells(struct check *c, struct node *dt,$/;"	f	file:
+fixup_path_references	checks.c	/^static void fixup_path_references(struct check *c, struct node *dt,$/;"	f	file:
+fixup_phandle_references	checks.c	/^static void fixup_phandle_references(struct check *c, struct node *dt,$/;"	f	file:
+flags	flattree.c	/^	int flags;$/;"	m	struct:version_info	file:
+flat_read_chunk	flattree.c	/^static void flat_read_chunk(struct inbuf *inb, void *p, int len)$/;"	f	file:
+flat_read_data	flattree.c	/^static struct data flat_read_data(struct inbuf *inb, int len)$/;"	f	file:
+flat_read_mem_reserve	flattree.c	/^static struct reserve_info *flat_read_mem_reserve(struct inbuf *inb)$/;"	f	file:
+flat_read_property	flattree.c	/^static struct property *flat_read_property(struct inbuf *dtbuf,$/;"	f	file:
+flat_read_string	flattree.c	/^static char *flat_read_string(struct inbuf *inb)$/;"	f	file:
+flat_read_stringtable	flattree.c	/^static char *flat_read_stringtable(struct inbuf *inb, int offset)$/;"	f	file:
+flat_read_word	flattree.c	/^static uint32_t flat_read_word(struct inbuf *inb)$/;"	f	file:
+flat_realign	flattree.c	/^static void flat_realign(struct inbuf *inb, int align)$/;"	f	file:
+flatten_reserve_list	flattree.c	/^static struct data flatten_reserve_list(struct reserve_info *reservelist,$/;"	f	file:
+flatten_tree	flattree.c	/^static void flatten_tree(struct node *tree, struct emitter *emit,$/;"	f	file:
+flex_int16_t	dtc-lexer.lex.c	/^typedef int16_t flex_int16_t;$/;"	t	file:
+flex_int16_t	dtc-lexer.lex.c	/^typedef short int flex_int16_t;$/;"	t	file:
+flex_int32_t	dtc-lexer.lex.c	/^typedef int flex_int32_t;$/;"	t	file:
+flex_int32_t	dtc-lexer.lex.c	/^typedef int32_t flex_int32_t;$/;"	t	file:
+flex_int8_t	dtc-lexer.lex.c	/^typedef int8_t flex_int8_t;$/;"	t	file:
+flex_int8_t	dtc-lexer.lex.c	/^typedef signed char flex_int8_t;$/;"	t	file:
+flex_uint16_t	dtc-lexer.lex.c	/^typedef uint16_t flex_uint16_t;$/;"	t	file:
+flex_uint16_t	dtc-lexer.lex.c	/^typedef unsigned short int flex_uint16_t;$/;"	t	file:
+flex_uint32_t	dtc-lexer.lex.c	/^typedef uint32_t flex_uint32_t;$/;"	t	file:
+flex_uint32_t	dtc-lexer.lex.c	/^typedef unsigned int flex_uint32_t;$/;"	t	file:
+flex_uint8_t	dtc-lexer.lex.c	/^typedef uint8_t flex_uint8_t;$/;"	t	file:
+flex_uint8_t	dtc-lexer.lex.c	/^typedef unsigned char flex_uint8_t; $/;"	t	file:
+for_each_child	dtc.h	165;"	d
+for_each_label	dtc.h	159;"	d
+for_each_marker	dtc.h	93;"	d
+for_each_marker_of_type	dtc.h	95;"	d
+for_each_property	dtc.h	162;"	d
+fullpath	dtc.h	/^	char *fullpath;$/;"	m	struct:node
+get_hex_char	data.c	/^static char get_hex_char(const char *s, int *i)$/;"	f	file:
+get_marker_label	livetree.c	/^struct marker *get_marker_label(struct node *tree, const char *label,$/;"	f
+get_node_by_label	livetree.c	/^struct node *get_node_by_label(struct node *tree, const char *label)$/;"	f
+get_node_by_path	livetree.c	/^struct node *get_node_by_path(struct node *tree, const char *path)$/;"	f
+get_node_by_phandle	livetree.c	/^struct node *get_node_by_phandle(struct node *tree, cell_t phandle)$/;"	f
+get_node_by_ref	livetree.c	/^struct node *get_node_by_ref(struct node *tree, const char *ref)$/;"	f
+get_node_phandle	livetree.c	/^cell_t get_node_phandle(struct node *root, struct node *node)$/;"	f
+get_oct_char	data.c	/^static char get_oct_char(const char *s, int *i)$/;"	f	file:
+get_property	livetree.c	/^struct property *get_property(struct node *node, const char *propname)$/;"	f
+get_property_by_label	livetree.c	/^struct property *get_property_by_label(struct node *tree, const char *label,$/;"	f
+get_subnode	livetree.c	/^struct node *get_subnode(struct node *node, const char *nodename)$/;"	f
+get_unitname	livetree.c	/^const char *get_unitname(struct node *node)$/;"	f
+guess_boot_cpuid	livetree.c	/^uint32_t guess_boot_cpuid(struct node *tree)$/;"	f
+hdr_size	flattree.c	/^	int hdr_size;$/;"	m	struct:version_info	file:
+hostprogs-y	Makefile	/^hostprogs-y	:= dtc$/;"	m
+inbuf	flattree.c	/^struct inbuf {$/;"	s	file:
+inbuf_init	flattree.c	/^static void inbuf_init(struct inbuf *inb, void *base, void *limit)$/;"	f	file:
+inprogress	checks.c	/^	int inprogress;$/;"	m	struct:check	file:
+isstring	treesource.c	/^static int isstring(char c)$/;"	f	file:
+join_path	util.c	/^char *join_path(const char *path, const char *name)$/;"	f
+label	dtc.h	/^	char *label;$/;"	m	struct:label
+label	dtc.h	/^struct label {$/;"	s
+labelref	dtc-parser.tab.c	/^	char *labelref;$/;"	m	union:YYSTYPE	file:
+labelref	dtc-parser.tab.h	/^	char *labelref;$/;"	m	union:YYSTYPE
+labels	dtc.h	/^	struct label *labels;$/;"	m	struct:node	typeref:struct:node::label
+labels	dtc.h	/^	struct label *labels;$/;"	m	struct:property	typeref:struct:property::label
+labels	dtc.h	/^	struct label *labels;$/;"	m	struct:reserve_info	typeref:struct:reserve_info::label
+last_column	srcpos.h	/^    int last_column;$/;"	m	struct:srcpos
+last_comp_version	flattree.c	/^	int last_comp_version;$/;"	m	struct:version_info	file:
+last_comp_version	libfdt/fdt.h	/^	uint32_t last_comp_version;	 \/* last compatible version *\/$/;"	m	struct:fdt_header
+last_comp_version	libfdt/libfdt.h	/^__fdt_set_hdr(last_comp_version);$/;"	v
+last_line	srcpos.h	/^    int last_line;$/;"	m	struct:srcpos
+len	dtc.h	/^	int len;$/;"	m	struct:data
+len	libfdt/fdt.h	/^	uint32_t len;$/;"	m	struct:fdt_property
+level	checks.c	/^	enum checklevel level;$/;"	m	struct:check	typeref:enum:check::checklevel	file:
+limit	flattree.c	/^	char *base, *limit, *ptr;$/;"	m	struct:inbuf	file:
+lineno	srcpos.h	/^	int lineno, colno;$/;"	m	struct:srcfile_state
+literal	dtc-parser.tab.c	/^	char *literal;$/;"	m	union:YYSTYPE	file:
+literal	dtc-parser.tab.h	/^	char *literal;$/;"	m	union:YYSTYPE
+magic	libfdt/fdt.h	/^	uint32_t magic;			 \/* magic word FDT_MAGIC *\/$/;"	m	struct:fdt_header
+magic	libfdt/libfdt.h	/^__fdt_set_hdr(magic);$/;"	v
+main	dtc.c	/^int main(int argc, char *argv[])$/;"	f
+make_fdt_header	flattree.c	/^static void make_fdt_header(struct fdt_header *fdt,$/;"	f	file:
+marker	dtc.h	/^struct  marker {$/;"	s
+markers	dtc.h	/^	struct marker *markers;$/;"	m	struct:data	typeref:struct:data::marker
+markertype	dtc.h	/^enum markertype {$/;"	g
+memreserve	dtc-parser.y	/^memreserve:$/;"	l
+memreserves	dtc-parser.y	/^memreserves:$/;"	l
+merge_nodes	livetree.c	/^struct node *merge_nodes(struct node *old_node, struct node *new_node)$/;"	f
+minsize	dtc.c	/^int minsize;		\/* Minimum blob size *\/$/;"	v
+name	checks.c	/^	const char *name;$/;"	m	struct:check	file:
+name	dtc.h	/^	char *name;$/;"	m	struct:node
+name	dtc.h	/^	char *name;$/;"	m	struct:property
+name	libfdt/fdt.h	/^	char name[0];$/;"	m	struct:fdt_node_header
+name	srcpos.h	/^	char *name;$/;"	m	struct:srcfile_state
+name_node	livetree.c	/^struct node *name_node(struct node *node, char *name)$/;"	f
+nameoff	libfdt/fdt.h	/^	uint32_t nameoff;$/;"	m	struct:fdt_property
+next	dtc.h	/^	struct label *next;$/;"	m	struct:label	typeref:struct:label::label
+next	dtc.h	/^	struct marker *next;$/;"	m	struct:marker	typeref:struct:marker::marker
+next	dtc.h	/^	struct property *next;$/;"	m	struct:property	typeref:struct:property::property
+next	dtc.h	/^	struct reserve_info *next;$/;"	m	struct:reserve_info	typeref:struct:reserve_info::reserve_info
+next_sibling	dtc.h	/^	struct node *next_sibling;$/;"	m	struct:node	typeref:struct:node::node
+node	dtc-parser.tab.c	/^	struct node *node;$/;"	m	union:YYSTYPE	typeref:struct:YYSTYPE::node	file:
+node	dtc-parser.tab.h	/^	struct node *node;$/;"	m	union:YYSTYPE	typeref:struct:YYSTYPE::node
+node	dtc.h	/^struct node {$/;"	s
+node_addr_cells	checks.c	509;"	d	file:
+node_check_fn	checks.c	/^typedef void (*node_check_fn)(struct check *c, struct node *dt, struct node *node);$/;"	t	file:
+node_fn	checks.c	/^	node_check_fn node_fn;$/;"	m	struct:check	file:
+node_size_cells	checks.c	511;"	d	file:
+nodedef	dtc-parser.y	/^nodedef:$/;"	l
+nodelist	dtc-parser.tab.c	/^	struct node *nodelist;$/;"	m	union:YYSTYPE	typeref:struct:YYSTYPE::node	file:
+nodelist	dtc-parser.tab.h	/^	struct node *nodelist;$/;"	m	union:YYSTYPE	typeref:struct:YYSTYPE::node
+nodename_from_path	flattree.c	/^static char *nodename_from_path(const char *ppath, const char *cpath)$/;"	f	file:
+num_prereqs	checks.c	/^	int num_prereqs;$/;"	m	struct:check	file:
+off_dt_strings	libfdt/fdt.h	/^	uint32_t off_dt_strings;	 \/* offset to strings *\/$/;"	m	struct:fdt_header
+off_dt_strings	libfdt/libfdt.h	/^__fdt_set_hdr(off_dt_strings);$/;"	v
+off_dt_struct	libfdt/fdt.h	/^	uint32_t off_dt_struct;		 \/* offset to structure *\/$/;"	m	struct:fdt_header
+off_dt_struct	libfdt/libfdt.h	/^__fdt_set_hdr(off_dt_struct);$/;"	v
+off_mem_rsvmap	libfdt/fdt.h	/^	uint32_t off_mem_rsvmap;	 \/* offset to memory reserve map *\/$/;"	m	struct:fdt_header
+off_mem_rsvmap	libfdt/libfdt.h	/^__fdt_set_hdr(off_mem_rsvmap);$/;"	v
+offset	dtc.h	/^	int offset;$/;"	m	struct:marker
+padsize	dtc.c	/^int padsize;		\/* Additional padding to blob *\/$/;"	v
+parent	dtc.h	/^	struct node *parent;$/;"	m	struct:node	typeref:struct:node::node
+phandle	dtc.h	/^	cell_t phandle;$/;"	m	struct:node
+phandle_format	dtc.c	/^int phandle_format = PHANDLE_BOTH;	\/* Use linux,phandle or phandle properties *\/$/;"	v
+pop_input_file	dtc-lexer.lex.c	/^static int pop_input_file(void)$/;"	f	file:
+prereq	checks.c	/^	struct check **prereq;$/;"	m	struct:check	typeref:struct:check::check	file:
+prev	srcpos.h	/^	struct srcfile_state *prev;$/;"	m	struct:srcfile_state	typeref:struct:srcfile_state::srcfile_state
+print_error	dtc-parser.tab.c	/^void print_error(char const *fmt, ...)$/;"	f
+process_checks	checks.c	/^void process_checks(int force, struct boot_info *bi)$/;"	f
+prop	dtc-parser.tab.c	/^	struct property *prop;$/;"	m	union:YYSTYPE	typeref:struct:YYSTYPE::property	file:
+prop	dtc-parser.tab.h	/^	struct property *prop;$/;"	m	union:YYSTYPE	typeref:struct:YYSTYPE::property
+prop_check_fn	checks.c	/^typedef void (*prop_check_fn)(struct check *c, struct node *dt,$/;"	t	file:
+prop_fn	checks.c	/^	prop_check_fn prop_fn;$/;"	m	struct:check	file:
+propdata	dtc-parser.y	/^propdata:$/;"	l
+propdataprefix	dtc-parser.y	/^propdataprefix:$/;"	l
+propdef	dtc-parser.y	/^propdef:$/;"	l
+property	dtc.h	/^struct property {$/;"	s
+property	flattree.c	/^	void (*property)(void *, struct label *labels);$/;"	m	struct:emitter	file:
+proplist	dtc-parser.tab.c	/^	struct property *proplist;$/;"	m	union:YYSTYPE	typeref:struct:YYSTYPE::property	file:
+proplist	dtc-parser.tab.h	/^	struct property *proplist;$/;"	m	union:YYSTYPE	typeref:struct:YYSTYPE::property
+proplist	dtc-parser.y	/^proplist:$/;"	l
+proplist	dtc.h	/^	struct property *proplist;$/;"	m	struct:node	typeref:struct:node::property
+propnodename	dtc-parser.tab.c	/^	char *propnodename;$/;"	m	union:YYSTYPE	file:
+propnodename	dtc-parser.tab.h	/^	char *propnodename;$/;"	m	union:YYSTYPE
+propval_cell	livetree.c	/^cell_t propval_cell(struct property *prop)$/;"	f
+ptr	flattree.c	/^	char *base, *limit, *ptr;$/;"	m	struct:inbuf	file:
+push_input_file	dtc-lexer.lex.c	/^static void push_input_file(const char *filename)$/;"	f	file:
+quiet	dtc.c	/^int quiet;		\/* Level of quietness *\/$/;"	v
+quiet_cmd_bison	Makefile	/^quiet_cmd_bison = BISON   $@$/;"	m
+quiet_cmd_flex	Makefile	/^quiet_cmd_flex = FLEX    $@$/;"	m
+re	dtc-parser.tab.c	/^	struct reserve_info *re;$/;"	m	union:YYSTYPE	typeref:struct:YYSTYPE::reserve_info	file:
+re	dtc-parser.tab.h	/^	struct reserve_info *re;$/;"	m	union:YYSTYPE	typeref:struct:YYSTYPE::reserve_info
+re	dtc.h	/^	struct fdt_reserve_entry re;$/;"	m	struct:reserve_info	typeref:struct:reserve_info::fdt_reserve_entry
+read_fstree	fstree.c	/^static struct node *read_fstree(const char *dirname)$/;"	f	file:
+ref	dtc.h	/^	char *ref;$/;"	m	struct:marker
+reserve_info	dtc.h	/^struct reserve_info {$/;"	s
+reservelist	dtc.h	/^	struct reserve_info *reservelist;$/;"	m	struct:boot_info	typeref:struct:boot_info::reserve_info
+reservenum	dtc.c	/^int reservenum;		\/* Number of memory reservation slots *\/$/;"	v
+reverse_properties	livetree.c	/^struct property *reverse_properties(struct property *first)$/;"	f
+run_check	checks.c	/^static int run_check(struct check *c, struct node *dt)$/;"	f	file:
+short	dtc-parser.tab.c	173;"	d	file:
+size	libfdt/fdt.h	/^	uint64_t size;$/;"	m	struct:fdt_reserve_entry
+size_cells	dtc.h	/^	int addr_cells, size_cells;$/;"	m	struct:node
+size_dt_strings	libfdt/fdt.h	/^	uint32_t size_dt_strings;	 \/* size of the strings block *\/$/;"	m	struct:fdt_header
+size_dt_strings	libfdt/libfdt.h	/^__fdt_set_hdr(size_dt_strings);$/;"	v
+size_dt_struct	libfdt/fdt.h	/^	uint32_t size_dt_struct;	 \/* size of the structure block *\/$/;"	m	struct:fdt_header
+size_dt_struct	libfdt/libfdt.h	/^__fdt_set_hdr(size_dt_struct);$/;"	v
+sort_node	livetree.c	/^static void sort_node(struct node *node)$/;"	f	file:
+sort_properties	livetree.c	/^static void sort_properties(struct node *node)$/;"	f	file:
+sort_reserve_entries	livetree.c	/^static void sort_reserve_entries(struct boot_info *bi)$/;"	f	file:
+sort_subnodes	livetree.c	/^static void sort_subnodes(struct node *node)$/;"	f	file:
+sort_tree	livetree.c	/^void sort_tree(struct boot_info *bi)$/;"	f
+sourcefile	dtc-parser.y	/^sourcefile:$/;"	l
+srcfile_depth	srcpos.c	/^static int srcfile_depth; \/* = 0 *\/$/;"	v	file:
+srcfile_pop	srcpos.c	/^int srcfile_pop(void)$/;"	f
+srcfile_push	srcpos.c	/^void srcfile_push(const char *fname)$/;"	f
+srcfile_relative_open	srcpos.c	/^FILE *srcfile_relative_open(const char *fname, char **fullnamep)$/;"	f
+srcfile_state	srcpos.h	/^struct srcfile_state {$/;"	s
+srcpos	srcpos.h	/^struct srcpos {$/;"	s
+srcpos_copy	srcpos.c	/^srcpos_copy(struct srcpos *pos)$/;"	f
+srcpos_dump	srcpos.c	/^srcpos_dump(struct srcpos *pos)$/;"	f
+srcpos_empty	srcpos.c	/^struct srcpos srcpos_empty = {$/;"	v	typeref:struct:srcpos
+srcpos_error	srcpos.c	/^srcpos_error(struct srcpos *pos, char const *fmt, ...)$/;"	f
+srcpos_string	srcpos.c	/^srcpos_string(struct srcpos *pos)$/;"	f
+srcpos_update	srcpos.c	/^void srcpos_update(struct srcpos *pos, const char *text, int len)$/;"	f
+srcpos_verror	srcpos.c	/^srcpos_verror(struct srcpos *pos, char const *fmt, va_list va)$/;"	f
+srcpos_warn	srcpos.c	/^srcpos_warn(struct srcpos *pos, char const *fmt, ...)$/;"	f
+status	checks.c	/^	enum checkstatus status;$/;"	m	struct:check	typeref:enum:check::checkstatus	file:
+str	libfdt/fdt_strerror.c	/^	const char *str;$/;"	m	struct:fdt_errtabent	file:
+streq	dtc.h	64;"	d
+string	flattree.c	/^	void (*string)(void *, char *, int);$/;"	m	struct:emitter	file:
+stringtable_insert	flattree.c	/^static int stringtable_insert(struct data *d, const char *str)$/;"	f	file:
+strneq	dtc.h	65;"	d
+subnode	dtc-parser.y	/^subnode:$/;"	l
+subnodes	dtc-parser.y	/^subnodes:$/;"	l
+tag	libfdt/fdt.h	/^	uint32_t tag;$/;"	m	struct:fdt_node_header
+tag	libfdt/fdt.h	/^	uint32_t tag;$/;"	m	struct:fdt_property
+the_boot_info	treesource.c	/^struct boot_info *the_boot_info;$/;"	v	typeref:struct:boot_info
+totalsize	libfdt/fdt.h	/^	uint32_t totalsize;		 \/* total size of DT block *\/$/;"	m	struct:fdt_header
+totalsize	libfdt/libfdt.h	/^__fdt_set_hdr(totalsize);$/;"	v
+tree_check_fn	checks.c	/^typedef void (*tree_check_fn)(struct check *c, struct node *dt);$/;"	t	file:
+tree_fn	checks.c	/^	tree_check_fn tree_fn;$/;"	m	struct:check	file:
+treesource_error	treesource.c	/^int treesource_error;$/;"	v
+type	dtc.h	/^	enum markertype type;$/;"	m	struct:marker	typeref:enum:marker::markertype
+unflatten_tree	flattree.c	/^static struct node *unflatten_tree(struct inbuf *dtbuf,$/;"	f	file:
+unput	dtc-lexer.lex.c	189;"	d	file:
+usage	dtc.c	/^static void  __attribute__ ((noreturn)) usage(void)$/;"	f	file:
+val	dtc.h	/^	char *val;$/;"	m	struct:data
+val	dtc.h	/^	struct data val;$/;"	m	struct:property	typeref:struct:property::data
+version	flattree.c	/^	int version;$/;"	m	struct:version_info	file:
+version	libfdt/fdt.h	/^	uint32_t version;		 \/* format version *\/$/;"	m	struct:fdt_header
+version	libfdt/libfdt.h	/^__fdt_set_hdr(version);$/;"	v
+version_info	flattree.c	/^static struct version_info {$/;"	s	file:
+version_table	flattree.c	/^} version_table[] = {$/;"	v	typeref:struct:version_info	file:
+write_prefix	treesource.c	/^static void write_prefix(FILE *f, int level)$/;"	f	file:
+write_propval	treesource.c	/^static void write_propval(FILE *f, struct property *prop)$/;"	f	file:
+write_propval_bytes	treesource.c	/^static void write_propval_bytes(FILE *f, struct data val)$/;"	f	file:
+write_propval_cells	treesource.c	/^static void write_propval_cells(FILE *f, struct data val)$/;"	f	file:
+write_propval_string	treesource.c	/^static void write_propval_string(FILE *f, struct data val)$/;"	f	file:
+write_tree_source_node	treesource.c	/^static void write_tree_source_node(FILE *f, struct node *tree, int level)$/;"	f	file:
+xmalloc	util.h	/^static inline void *xmalloc(size_t len)$/;"	f
+xrealloc	util.h	/^static inline void *xrealloc(void *p, size_t len)$/;"	f
+xstrdup	util.c	/^char *xstrdup(const char *s)$/;"	f
+yy_accept	dtc-lexer.lex.c	/^static yyconst flex_int16_t yy_accept[94] =$/;"	v	file:
+yy_at_bol	dtc-lexer.lex.c	/^	int yy_at_bol;$/;"	m	struct:yy_buffer_state	file:
+yy_base	dtc-lexer.lex.c	/^static yyconst flex_int16_t yy_base[106] =$/;"	v	file:
+yy_bs_column	dtc-lexer.lex.c	/^    int yy_bs_column; \/**< The column count. *\/$/;"	m	struct:yy_buffer_state	file:
+yy_bs_lineno	dtc-lexer.lex.c	/^    int yy_bs_lineno; \/**< The line count. *\/$/;"	m	struct:yy_buffer_state	file:
+yy_buf_pos	dtc-lexer.lex.c	/^	char *yy_buf_pos;		\/* current position in input buffer *\/$/;"	m	struct:yy_buffer_state	file:
+yy_buf_size	dtc-lexer.lex.c	/^	yy_size_t yy_buf_size;$/;"	m	struct:yy_buffer_state	file:
+yy_buffer_stack	dtc-lexer.lex.c	/^static YY_BUFFER_STATE * yy_buffer_stack = 0; \/**< Stack as an array. *\/$/;"	v	file:
+yy_buffer_stack_max	dtc-lexer.lex.c	/^static size_t yy_buffer_stack_max = 0; \/**< capacity of stack. *\/$/;"	v	file:
+yy_buffer_stack_top	dtc-lexer.lex.c	/^static size_t yy_buffer_stack_top = 0; \/**< index of top of stack. *\/$/;"	v	file:
+yy_buffer_state	dtc-lexer.lex.c	/^struct yy_buffer_state$/;"	s	file:
+yy_buffer_status	dtc-lexer.lex.c	/^	int yy_buffer_status;$/;"	m	struct:yy_buffer_state	file:
+yy_c_buf_p	dtc-lexer.lex.c	/^static char *yy_c_buf_p = (char *) 0;$/;"	v	file:
+yy_ch_buf	dtc-lexer.lex.c	/^	char *yy_ch_buf;		\/* input buffer *\/$/;"	m	struct:yy_buffer_state	file:
+yy_chk	dtc-lexer.lex.c	/^static yyconst flex_int16_t yy_chk[281] =$/;"	v	file:
+yy_create_buffer	dtc-lexer.lex.c	/^    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )$/;"	f
+yy_def	dtc-lexer.lex.c	/^static yyconst flex_int16_t yy_def[106] =$/;"	v	file:
+yy_delete_buffer	dtc-lexer.lex.c	/^    void yy_delete_buffer (YY_BUFFER_STATE  b )$/;"	f
+yy_did_buffer_switch_on_eof	dtc-lexer.lex.c	/^static int yy_did_buffer_switch_on_eof;$/;"	v	file:
+yy_ec	dtc-lexer.lex.c	/^static yyconst flex_int32_t yy_ec[256] =$/;"	v	file:
+yy_fatal_error	dtc-lexer.lex.c	/^static void yy_fatal_error (yyconst char* msg )$/;"	f	file:
+yy_fill_buffer	dtc-lexer.lex.c	/^	int yy_fill_buffer;$/;"	m	struct:yy_buffer_state	file:
+yy_flex_debug	dtc-lexer.lex.c	/^int yy_flex_debug = 0;$/;"	v
+yy_flex_strlen	dtc-lexer.lex.c	/^static int yy_flex_strlen (yyconst char * s )$/;"	f	file:
+yy_flex_strncpy	dtc-lexer.lex.c	/^static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )$/;"	f	file:
+yy_flush_buffer	dtc-lexer.lex.c	/^    void yy_flush_buffer (YY_BUFFER_STATE  b )$/;"	f
+yy_get_next_buffer	dtc-lexer.lex.c	/^static int yy_get_next_buffer (void)$/;"	f	file:
+yy_get_previous_state	dtc-lexer.lex.c	/^    static yy_state_type yy_get_previous_state (void)$/;"	f	file:
+yy_hold_char	dtc-lexer.lex.c	/^static char yy_hold_char;$/;"	v	file:
+yy_init	dtc-lexer.lex.c	/^static int yy_init = 0;		\/* whether we need to initialize *\/$/;"	v	file:
+yy_init_buffer	dtc-lexer.lex.c	/^    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )$/;"	f	file:
+yy_init_globals	dtc-lexer.lex.c	/^static int yy_init_globals (void)$/;"	f	file:
+yy_input_file	dtc-lexer.lex.c	/^	FILE *yy_input_file;$/;"	m	struct:yy_buffer_state	file:
+yy_is_interactive	dtc-lexer.lex.c	/^	int yy_is_interactive;$/;"	m	struct:yy_buffer_state	file:
+yy_is_our_buffer	dtc-lexer.lex.c	/^	int yy_is_our_buffer;$/;"	m	struct:yy_buffer_state	file:
+yy_last_accepting_cpos	dtc-lexer.lex.c	/^static char *yy_last_accepting_cpos;$/;"	v	file:
+yy_last_accepting_state	dtc-lexer.lex.c	/^static yy_state_type yy_last_accepting_state;$/;"	v	file:
+yy_load_buffer_state	dtc-lexer.lex.c	/^static void yy_load_buffer_state  (void)$/;"	f	file:
+yy_meta	dtc-lexer.lex.c	/^static yyconst flex_int32_t yy_meta[34] =$/;"	v	file:
+yy_n_chars	dtc-lexer.lex.c	/^	int yy_n_chars;$/;"	m	struct:yy_buffer_state	file:
+yy_n_chars	dtc-lexer.lex.c	/^static int yy_n_chars;		\/* number of characters read into yy_ch_buf *\/$/;"	v	file:
+yy_new_buffer	dtc-lexer.lex.c	318;"	d	file:
+yy_nxt	dtc-lexer.lex.c	/^	flex_int32_t yy_nxt;$/;"	m	struct:yy_trans_info	file:
+yy_nxt	dtc-lexer.lex.c	/^static yyconst flex_int16_t yy_nxt[281] =$/;"	v	file:
+yy_reduce_print	dtc-parser.tab.c	/^yy_reduce_print (YYSTYPE *yyvsp, int yyrule)$/;"	f	file:
+yy_scan_buffer	dtc-lexer.lex.c	/^YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )$/;"	f
+yy_scan_bytes	dtc-lexer.lex.c	/^YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, int  _yybytes_len )$/;"	f
+yy_scan_string	dtc-lexer.lex.c	/^YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )$/;"	f
+yy_set_bol	dtc-lexer.lex.c	330;"	d	file:
+yy_set_interactive	dtc-lexer.lex.c	320;"	d	file:
+yy_size_t	dtc-lexer.lex.c	/^typedef size_t yy_size_t;$/;"	t	file:
+yy_stack_print	dtc-parser.tab.c	/^yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)$/;"	f	file:
+yy_start	dtc-lexer.lex.c	/^static int yy_start = 0;	\/* start state number *\/$/;"	v	file:
+yy_state_type	dtc-lexer.lex.c	/^typedef int yy_state_type;$/;"	t	file:
+yy_switch_to_buffer	dtc-lexer.lex.c	/^    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )$/;"	f
+yy_symbol_print	dtc-parser.tab.c	/^yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)$/;"	f	file:
+yy_symbol_value_print	dtc-parser.tab.c	/^yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)$/;"	f	file:
+yy_trans_info	dtc-lexer.lex.c	/^struct yy_trans_info$/;"	s	file:
+yy_try_NUL_trans	dtc-lexer.lex.c	/^    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )$/;"	f	file:
+yy_verify	dtc-lexer.lex.c	/^	flex_int32_t yy_verify;$/;"	m	struct:yy_trans_info	file:
+yyalloc	dtc-lexer.lex.c	/^void *yyalloc (yy_size_t  size )$/;"	f
+yyalloc	dtc-parser.tab.c	/^union yyalloc$/;"	u	file:
+yychar	dtc-parser.tab.c	/^int yychar;$/;"	v
+yycheck	dtc-parser.tab.c	/^static const yytype_int8 yycheck[] =$/;"	v	file:
+yyclearin	dtc-parser.tab.c	599;"	d	file:
+yyconst	dtc-lexer.lex.c	107;"	d	file:
+yyconst	dtc-lexer.lex.c	109;"	d	file:
+yydebug	dtc-parser.tab.c	/^int yydebug;$/;"	v
+yydefact	dtc-parser.tab.c	/^static const yytype_uint8 yydefact[] =$/;"	v	file:
+yydefgoto	dtc-parser.tab.c	/^static const yytype_int8 yydefgoto[] =$/;"	v	file:
+yydestruct	dtc-parser.tab.c	/^yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)$/;"	f	file:
+yyensure_buffer_stack	dtc-lexer.lex.c	/^static void yyensure_buffer_stack (void)$/;"	f	file:
+yyerrok	dtc-parser.tab.c	598;"	d	file:
+yyerror	dtc-parser.tab.c	/^void yyerror(char const *s) {$/;"	f
+yyfree	dtc-lexer.lex.c	/^void yyfree (void * ptr )$/;"	f
+yyget_debug	dtc-lexer.lex.c	/^int yyget_debug  (void)$/;"	f
+yyget_in	dtc-lexer.lex.c	/^FILE *yyget_in  (void)$/;"	f
+yyget_leng	dtc-lexer.lex.c	/^int yyget_leng  (void)$/;"	f
+yyget_lineno	dtc-lexer.lex.c	/^int yyget_lineno  (void)$/;"	f
+yyget_out	dtc-lexer.lex.c	/^FILE *yyget_out  (void)$/;"	f
+yyget_text	dtc-lexer.lex.c	/^char *yyget_text  (void)$/;"	f
+yyin	dtc-lexer.lex.c	/^FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;$/;"	v
+yyinput	dtc-lexer.lex.c	/^    static int yyinput (void)$/;"	f	file:
+yyleng	dtc-lexer.lex.c	/^int yyleng;$/;"	v
+yyless	dtc-lexer.lex.c	176;"	d	file:
+yyless	dtc-lexer.lex.c	1806;"	d	file:
+yyless	dtc-lexer.lex.c	1807;"	d	file:
+yylex_destroy	dtc-lexer.lex.c	/^int yylex_destroy  (void)$/;"	f
+yylineno	dtc-lexer.lex.c	/^int yylineno = 1;$/;"	v
+yylloc	dtc-lexer.lex.c	/^YYLTYPE yylloc;$/;"	v
+yylloc	dtc-parser.tab.c	/^YYLTYPE yylloc;$/;"	v
+yylval	dtc-parser.tab.c	/^YYSTYPE yylval;$/;"	v
+yymore	dtc-lexer.lex.c	549;"	d	file:
+yynerrs	dtc-parser.tab.c	/^int yynerrs;$/;"	v
+yyout	dtc-lexer.lex.c	/^FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;$/;"	v
+yypact	dtc-parser.tab.c	/^static const yytype_int8 yypact[] =$/;"	v	file:
+yyparse	dtc-parser.tab.c	/^yyparse (void *YYPARSE_PARAM)$/;"	f
+yypgoto	dtc-parser.tab.c	/^static const yytype_int8 yypgoto[] =$/;"	v	file:
+yypop_buffer_state	dtc-lexer.lex.c	/^void yypop_buffer_state (void)$/;"	f
+yyprhs	dtc-parser.tab.c	/^static const yytype_uint8 yyprhs[] =$/;"	v	file:
+yypush_buffer_state	dtc-lexer.lex.c	/^void yypush_buffer_state (YY_BUFFER_STATE new_buffer )$/;"	f
+yyr1	dtc-parser.tab.c	/^static const yytype_uint8 yyr1[] =$/;"	v	file:
+yyr2	dtc-parser.tab.c	/^static const yytype_uint8 yyr2[] =$/;"	v	file:
+yyrealloc	dtc-lexer.lex.c	/^void *yyrealloc  (void * ptr, yy_size_t  size )$/;"	f
+yyrestart	dtc-lexer.lex.c	/^    void yyrestart  (FILE * input_file )$/;"	f
+yyrhs	dtc-parser.tab.c	/^static const yytype_int8 yyrhs[] =$/;"	v	file:
+yyrline	dtc-parser.tab.c	/^static const yytype_uint16 yyrline[] =$/;"	v	file:
+yyset_debug	dtc-lexer.lex.c	/^void yyset_debug (int  bdebug )$/;"	f
+yyset_in	dtc-lexer.lex.c	/^void yyset_in (FILE *  in_str )$/;"	f
+yyset_lineno	dtc-lexer.lex.c	/^void yyset_lineno (int  line_number )$/;"	f
+yyset_out	dtc-lexer.lex.c	/^void yyset_out (FILE *  out_str )$/;"	f
+yyss_alloc	dtc-parser.tab.c	/^  yytype_int16 yyss_alloc;$/;"	m	union:yyalloc	file:
+yystos	dtc-parser.tab.c	/^static const yytype_uint8 yystos[] =$/;"	v	file:
+yystpcpy	dtc-parser.tab.c	/^yystpcpy (char *yydest, const char *yysrc)$/;"	f	file:
+yystpcpy	dtc-parser.tab.c	897;"	d	file:
+yystrlen	dtc-parser.tab.c	/^yystrlen (const char *yystr)$/;"	f	file:
+yystrlen	dtc-parser.tab.c	874;"	d	file:
+yystype	dtc-parser.tab.c	161;"	d	file:
+yystype	dtc-parser.tab.h	85;"	d
+yysyntax_error	dtc-parser.tab.c	/^yysyntax_error (char *yyresult, int yystate, int yychar)$/;"	f	file:
+yytable	dtc-parser.tab.c	/^static const yytype_uint8 yytable[] =$/;"	v	file:
+yyterminate	dtc-lexer.lex.c	746;"	d	file:
+yytext	dtc-lexer.lex.c	/^char *yytext;$/;"	v
+yytext_ptr	dtc-lexer.lex.c	358;"	d	file:
+yytname	dtc-parser.tab.c	/^static const char *const yytname[] =$/;"	v	file:
+yytnamerr	dtc-parser.tab.c	/^yytnamerr (char *yyres, const char *yystr)$/;"	f	file:
+yytokentype	dtc-parser.tab.c	/^   enum yytokentype {$/;"	g	file:
+yytokentype	dtc-parser.tab.h	/^   enum yytokentype {$/;"	g
+yytoknum	dtc-parser.tab.c	/^static const yytype_uint16 yytoknum[] =$/;"	v	file:
+yytranslate	dtc-parser.tab.c	/^static const yytype_uint8 yytranslate[] =$/;"	v	file:
+yytype_int16	dtc-parser.tab.c	/^typedef YYTYPE_INT16 yytype_int16;$/;"	t	file:
+yytype_int16	dtc-parser.tab.c	/^typedef short int yytype_int16;$/;"	t	file:
+yytype_int8	dtc-parser.tab.c	/^typedef YYTYPE_INT8 yytype_int8;$/;"	t	file:
+yytype_int8	dtc-parser.tab.c	/^typedef short int yytype_int8;$/;"	t	file:
+yytype_int8	dtc-parser.tab.c	/^typedef signed char yytype_int8;$/;"	t	file:
+yytype_uint16	dtc-parser.tab.c	/^typedef YYTYPE_UINT16 yytype_uint16;$/;"	t	file:
+yytype_uint16	dtc-parser.tab.c	/^typedef unsigned short int yytype_uint16;$/;"	t	file:
+yytype_uint8	dtc-parser.tab.c	/^typedef YYTYPE_UINT8 yytype_uint8;$/;"	t	file:
+yytype_uint8	dtc-parser.tab.c	/^typedef unsigned char yytype_uint8;$/;"	t	file:
+yyvs_alloc	dtc-parser.tab.c	/^  YYSTYPE yyvs_alloc;$/;"	m	union:yyalloc	file:
+yywrap	dtc-lexer.lex.c	344;"	d	file:
Binary files ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/kallsyms and ../linux-2.6.39.4/scripts/kallsyms differ
Binary files ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/kconfig/conf and ../linux-2.6.39.4/scripts/kconfig/conf differ
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/kconfig/lex.zconf.c ../linux-2.6.39.4/scripts/kconfig/lex.zconf.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/kconfig/lex.zconf.c	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/scripts/kconfig/lex.zconf.c	2011-10-22 06:39:57.681147940 +0530
@@ -0,0 +1,2430 @@
+
+#line 3 "scripts/kconfig/lex.zconf.c"
+
+#define  YY_INT_ALIGNED short int
+
+/* A lexical scanner generated by flex */
+
+#define yy_create_buffer zconf_create_buffer
+#define yy_delete_buffer zconf_delete_buffer
+#define yy_flex_debug zconf_flex_debug
+#define yy_init_buffer zconf_init_buffer
+#define yy_flush_buffer zconf_flush_buffer
+#define yy_load_buffer_state zconf_load_buffer_state
+#define yy_switch_to_buffer zconf_switch_to_buffer
+#define yyin zconfin
+#define yyleng zconfleng
+#define yylex zconflex
+#define yylineno zconflineno
+#define yyout zconfout
+#define yyrestart zconfrestart
+#define yytext zconftext
+#define yywrap zconfwrap
+#define yyalloc zconfalloc
+#define yyrealloc zconfrealloc
+#define yyfree zconffree
+
+#define FLEX_SCANNER
+#define YY_FLEX_MAJOR_VERSION 2
+#define YY_FLEX_MINOR_VERSION 5
+#define YY_FLEX_SUBMINOR_VERSION 35
+#if YY_FLEX_SUBMINOR_VERSION > 0
+#define FLEX_BETA
+#endif
+
+/* First, we deal with  platform-specific or compiler-specific issues. */
+
+/* begin standard C headers. */
+#include <stdio.h>
+#include <string.h>
+#include <errno.h>
+#include <stdlib.h>
+
+/* end standard C headers. */
+
+/* flex integer type definitions */
+
+#ifndef FLEXINT_H
+#define FLEXINT_H
+
+/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
+
+#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+
+/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
+ * if you want the limit (max/min) macros for int types. 
+ */
+#ifndef __STDC_LIMIT_MACROS
+#define __STDC_LIMIT_MACROS 1
+#endif
+
+#include <inttypes.h>
+typedef int8_t flex_int8_t;
+typedef uint8_t flex_uint8_t;
+typedef int16_t flex_int16_t;
+typedef uint16_t flex_uint16_t;
+typedef int32_t flex_int32_t;
+typedef uint32_t flex_uint32_t;
+#else
+typedef signed char flex_int8_t;
+typedef short int flex_int16_t;
+typedef int flex_int32_t;
+typedef unsigned char flex_uint8_t; 
+typedef unsigned short int flex_uint16_t;
+typedef unsigned int flex_uint32_t;
+
+/* Limits of integral types. */
+#ifndef INT8_MIN
+#define INT8_MIN               (-128)
+#endif
+#ifndef INT16_MIN
+#define INT16_MIN              (-32767-1)
+#endif
+#ifndef INT32_MIN
+#define INT32_MIN              (-2147483647-1)
+#endif
+#ifndef INT8_MAX
+#define INT8_MAX               (127)
+#endif
+#ifndef INT16_MAX
+#define INT16_MAX              (32767)
+#endif
+#ifndef INT32_MAX
+#define INT32_MAX              (2147483647)
+#endif
+#ifndef UINT8_MAX
+#define UINT8_MAX              (255U)
+#endif
+#ifndef UINT16_MAX
+#define UINT16_MAX             (65535U)
+#endif
+#ifndef UINT32_MAX
+#define UINT32_MAX             (4294967295U)
+#endif
+
+#endif /* ! C99 */
+
+#endif /* ! FLEXINT_H */
+
+#ifdef __cplusplus
+
+/* The "const" storage-class-modifier is valid. */
+#define YY_USE_CONST
+
+#else	/* ! __cplusplus */
+
+/* C99 requires __STDC__ to be defined as 1. */
+#if defined (__STDC__)
+
+#define YY_USE_CONST
+
+#endif	/* defined (__STDC__) */
+#endif	/* ! __cplusplus */
+
+#ifdef YY_USE_CONST
+#define yyconst const
+#else
+#define yyconst
+#endif
+
+/* Returned upon end-of-file. */
+#define YY_NULL 0
+
+/* Promotes a possibly negative, possibly signed char to an unsigned
+ * integer for use as an array index.  If the signed char is negative,
+ * we want to instead treat it as an 8-bit unsigned char, hence the
+ * double cast.
+ */
+#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
+
+/* Enter a start condition.  This macro really ought to take a parameter,
+ * but we do it the disgusting crufty way forced on us by the ()-less
+ * definition of BEGIN.
+ */
+#define BEGIN (yy_start) = 1 + 2 *
+
+/* Translate the current start state into a value that can be later handed
+ * to BEGIN to return to the state.  The YYSTATE alias is for lex
+ * compatibility.
+ */
+#define YY_START (((yy_start) - 1) / 2)
+#define YYSTATE YY_START
+
+/* Action number for EOF rule of a given start state. */
+#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
+
+/* Special action meaning "start processing a new file". */
+#define YY_NEW_FILE zconfrestart(zconfin  )
+
+#define YY_END_OF_BUFFER_CHAR 0
+
+/* Size of default input buffer. */
+#ifndef YY_BUF_SIZE
+#ifdef __ia64__
+/* On IA-64, the buffer size is 16k, not 8k.
+ * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
+ * Ditto for the __ia64__ case accordingly.
+ */
+#define YY_BUF_SIZE 32768
+#else
+#define YY_BUF_SIZE 16384
+#endif /* __ia64__ */
+#endif
+
+/* The state buf must be large enough to hold one state per character in the main buffer.
+ */
+#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
+
+#ifndef YY_TYPEDEF_YY_BUFFER_STATE
+#define YY_TYPEDEF_YY_BUFFER_STATE
+typedef struct yy_buffer_state *YY_BUFFER_STATE;
+#endif
+
+extern int zconfleng;
+
+extern FILE *zconfin, *zconfout;
+
+#define EOB_ACT_CONTINUE_SCAN 0
+#define EOB_ACT_END_OF_FILE 1
+#define EOB_ACT_LAST_MATCH 2
+
+    #define YY_LESS_LINENO(n)
+    
+/* Return all but the first "n" matched characters back to the input stream. */
+#define yyless(n) \
+	do \
+		{ \
+		/* Undo effects of setting up zconftext. */ \
+        int yyless_macro_arg = (n); \
+        YY_LESS_LINENO(yyless_macro_arg);\
+		*yy_cp = (yy_hold_char); \
+		YY_RESTORE_YY_MORE_OFFSET \
+		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
+		YY_DO_BEFORE_ACTION; /* set up zconftext again */ \
+		} \
+	while ( 0 )
+
+#define unput(c) yyunput( c, (yytext_ptr)  )
+
+#ifndef YY_TYPEDEF_YY_SIZE_T
+#define YY_TYPEDEF_YY_SIZE_T
+typedef size_t yy_size_t;
+#endif
+
+#ifndef YY_STRUCT_YY_BUFFER_STATE
+#define YY_STRUCT_YY_BUFFER_STATE
+struct yy_buffer_state
+	{
+	FILE *yy_input_file;
+
+	char *yy_ch_buf;		/* input buffer */
+	char *yy_buf_pos;		/* current position in input buffer */
+
+	/* Size of input buffer in bytes, not including room for EOB
+	 * characters.
+	 */
+	yy_size_t yy_buf_size;
+
+	/* Number of characters read into yy_ch_buf, not including EOB
+	 * characters.
+	 */
+	int yy_n_chars;
+
+	/* Whether we "own" the buffer - i.e., we know we created it,
+	 * and can realloc() it to grow it, and should free() it to
+	 * delete it.
+	 */
+	int yy_is_our_buffer;
+
+	/* Whether this is an "interactive" input source; if so, and
+	 * if we're using stdio for input, then we want to use getc()
+	 * instead of fread(), to make sure we stop fetching input after
+	 * each newline.
+	 */
+	int yy_is_interactive;
+
+	/* Whether we're considered to be at the beginning of a line.
+	 * If so, '^' rules will be active on the next match, otherwise
+	 * not.
+	 */
+	int yy_at_bol;
+
+    int yy_bs_lineno; /**< The line count. */
+    int yy_bs_column; /**< The column count. */
+    
+	/* Whether to try to fill the input buffer when we reach the
+	 * end of it.
+	 */
+	int yy_fill_buffer;
+
+	int yy_buffer_status;
+
+#define YY_BUFFER_NEW 0
+#define YY_BUFFER_NORMAL 1
+	/* When an EOF's been seen but there's still some text to process
+	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
+	 * shouldn't try reading from the input source any more.  We might
+	 * still have a bunch of tokens to match, though, because of
+	 * possible backing-up.
+	 *
+	 * When we actually see the EOF, we change the status to "new"
+	 * (via zconfrestart()), so that the user can continue scanning by
+	 * just pointing zconfin at a new input file.
+	 */
+#define YY_BUFFER_EOF_PENDING 2
+
+	};
+#endif /* !YY_STRUCT_YY_BUFFER_STATE */
+
+/* Stack of input buffers. */
+static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
+static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
+static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
+
+/* We provide macros for accessing buffer states in case in the
+ * future we want to put the buffer states in a more general
+ * "scanner state".
+ *
+ * Returns the top of the stack, or NULL.
+ */
+#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
+                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
+                          : NULL)
+
+/* Same as previous macro, but useful when we know that the buffer stack is not
+ * NULL or when we need an lvalue. For internal use only.
+ */
+#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
+
+/* yy_hold_char holds the character lost when zconftext is formed. */
+static char yy_hold_char;
+static int yy_n_chars;		/* number of characters read into yy_ch_buf */
+int zconfleng;
+
+/* Points to current character in buffer. */
+static char *yy_c_buf_p = (char *) 0;
+static int yy_init = 0;		/* whether we need to initialize */
+static int yy_start = 0;	/* start state number */
+
+/* Flag which is used to allow zconfwrap()'s to do buffer switches
+ * instead of setting up a fresh zconfin.  A bit of a hack ...
+ */
+static int yy_did_buffer_switch_on_eof;
+
+void zconfrestart (FILE *input_file  );
+void zconf_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
+YY_BUFFER_STATE zconf_create_buffer (FILE *file,int size  );
+void zconf_delete_buffer (YY_BUFFER_STATE b  );
+void zconf_flush_buffer (YY_BUFFER_STATE b  );
+void zconfpush_buffer_state (YY_BUFFER_STATE new_buffer  );
+void zconfpop_buffer_state (void );
+
+static void zconfensure_buffer_stack (void );
+static void zconf_load_buffer_state (void );
+static void zconf_init_buffer (YY_BUFFER_STATE b,FILE *file  );
+
+#define YY_FLUSH_BUFFER zconf_flush_buffer(YY_CURRENT_BUFFER )
+
+YY_BUFFER_STATE zconf_scan_buffer (char *base,yy_size_t size  );
+YY_BUFFER_STATE zconf_scan_string (yyconst char *yy_str  );
+YY_BUFFER_STATE zconf_scan_bytes (yyconst char *bytes,int len  );
+
+void *zconfalloc (yy_size_t  );
+void *zconfrealloc (void *,yy_size_t  );
+void zconffree (void *  );
+
+#define yy_new_buffer zconf_create_buffer
+
+#define yy_set_interactive(is_interactive) \
+	{ \
+	if ( ! YY_CURRENT_BUFFER ){ \
+        zconfensure_buffer_stack (); \
+		YY_CURRENT_BUFFER_LVALUE =    \
+            zconf_create_buffer(zconfin,YY_BUF_SIZE ); \
+	} \
+	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
+	}
+
+#define yy_set_bol(at_bol) \
+	{ \
+	if ( ! YY_CURRENT_BUFFER ){\
+        zconfensure_buffer_stack (); \
+		YY_CURRENT_BUFFER_LVALUE =    \
+            zconf_create_buffer(zconfin,YY_BUF_SIZE ); \
+	} \
+	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
+	}
+
+#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
+
+/* Begin user sect3 */
+
+#define zconfwrap(n) 1
+#define YY_SKIP_YYWRAP
+
+typedef unsigned char YY_CHAR;
+
+FILE *zconfin = (FILE *) 0, *zconfout = (FILE *) 0;
+
+typedef int yy_state_type;
+
+extern int zconflineno;
+
+int zconflineno = 1;
+
+extern char *zconftext;
+#define yytext_ptr zconftext
+static yyconst flex_int16_t yy_nxt[][17] =
+    {
+    {
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0
+    },
+
+    {
+       11,   12,   13,   14,   12,   12,   15,   12,   12,   12,
+       12,   12,   12,   12,   12,   12,   12
+    },
+
+    {
+       11,   12,   13,   14,   12,   12,   15,   12,   12,   12,
+       12,   12,   12,   12,   12,   12,   12
+    },
+
+    {
+       11,   16,   16,   17,   16,   16,   16,   16,   16,   16,
+       16,   16,   16,   18,   16,   16,   16
+    },
+
+    {
+       11,   16,   16,   17,   16,   16,   16,   16,   16,   16,
+       16,   16,   16,   18,   16,   16,   16
+
+    },
+
+    {
+       11,   19,   20,   21,   19,   19,   19,   19,   19,   19,
+       19,   19,   19,   19,   19,   19,   19
+    },
+
+    {
+       11,   19,   20,   21,   19,   19,   19,   19,   19,   19,
+       19,   19,   19,   19,   19,   19,   19
+    },
+
+    {
+       11,   22,   22,   23,   22,   24,   22,   22,   24,   22,
+       22,   22,   22,   22,   22,   25,   22
+    },
+
+    {
+       11,   22,   22,   23,   22,   24,   22,   22,   24,   22,
+       22,   22,   22,   22,   22,   25,   22
+    },
+
+    {
+       11,   26,   26,   27,   28,   29,   30,   31,   29,   32,
+       33,   34,   35,   35,   36,   37,   38
+
+    },
+
+    {
+       11,   26,   26,   27,   28,   29,   30,   31,   29,   32,
+       33,   34,   35,   35,   36,   37,   38
+    },
+
+    {
+      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
+      -11,  -11,  -11,  -11,  -11,  -11,  -11
+    },
+
+    {
+       11,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
+      -12,  -12,  -12,  -12,  -12,  -12,  -12
+    },
+
+    {
+       11,  -13,   39,   40,  -13,  -13,   41,  -13,  -13,  -13,
+      -13,  -13,  -13,  -13,  -13,  -13,  -13
+    },
+
+    {
+       11,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
+      -14,  -14,  -14,  -14,  -14,  -14,  -14
+
+    },
+
+    {
+       11,   42,   42,   43,   42,   42,   42,   42,   42,   42,
+       42,   42,   42,   42,   42,   42,   42
+    },
+
+    {
+       11,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
+      -16,  -16,  -16,  -16,  -16,  -16,  -16
+    },
+
+    {
+       11,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
+      -17,  -17,  -17,  -17,  -17,  -17,  -17
+    },
+
+    {
+       11,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
+      -18,  -18,  -18,   44,  -18,  -18,  -18
+    },
+
+    {
+       11,   45,   45,  -19,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45
+
+    },
+
+    {
+       11,  -20,   46,   47,  -20,  -20,  -20,  -20,  -20,  -20,
+      -20,  -20,  -20,  -20,  -20,  -20,  -20
+    },
+
+    {
+       11,   48,  -21,  -21,   48,   48,   48,   48,   48,   48,
+       48,   48,   48,   48,   48,   48,   48
+    },
+
+    {
+       11,   49,   49,   50,   49,  -22,   49,   49,  -22,   49,
+       49,   49,   49,   49,   49,  -22,   49
+    },
+
+    {
+       11,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
+      -23,  -23,  -23,  -23,  -23,  -23,  -23
+    },
+
+    {
+       11,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
+      -24,  -24,  -24,  -24,  -24,  -24,  -24
+
+    },
+
+    {
+       11,   51,   51,   52,   51,   51,   51,   51,   51,   51,
+       51,   51,   51,   51,   51,   51,   51
+    },
+
+    {
+       11,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
+      -26,  -26,  -26,  -26,  -26,  -26,  -26
+    },
+
+    {
+       11,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
+      -27,  -27,  -27,  -27,  -27,  -27,  -27
+    },
+
+    {
+       11,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
+      -28,  -28,  -28,  -28,   53,  -28,  -28
+    },
+
+    {
+       11,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
+      -29,  -29,  -29,  -29,  -29,  -29,  -29
+
+    },
+
+    {
+       11,   54,   54,  -30,   54,   54,   54,   54,   54,   54,
+       54,   54,   54,   54,   54,   54,   54
+    },
+
+    {
+       11,  -31,  -31,  -31,  -31,  -31,  -31,   55,  -31,  -31,
+      -31,  -31,  -31,  -31,  -31,  -31,  -31
+    },
+
+    {
+       11,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
+      -32,  -32,  -32,  -32,  -32,  -32,  -32
+    },
+
+    {
+       11,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
+      -33,  -33,  -33,  -33,  -33,  -33,  -33
+    },
+
+    {
+       11,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
+      -34,   56,   57,   57,  -34,  -34,  -34
+
+    },
+
+    {
+       11,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
+      -35,   57,   57,   57,  -35,  -35,  -35
+    },
+
+    {
+       11,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
+      -36,  -36,  -36,  -36,  -36,  -36,  -36
+    },
+
+    {
+       11,  -37,  -37,   58,  -37,  -37,  -37,  -37,  -37,  -37,
+      -37,  -37,  -37,  -37,  -37,  -37,  -37
+    },
+
+    {
+       11,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
+      -38,  -38,  -38,  -38,  -38,  -38,   59
+    },
+
+    {
+       11,  -39,   39,   40,  -39,  -39,   41,  -39,  -39,  -39,
+      -39,  -39,  -39,  -39,  -39,  -39,  -39
+
+    },
+
+    {
+       11,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
+      -40,  -40,  -40,  -40,  -40,  -40,  -40
+    },
+
+    {
+       11,   42,   42,   43,   42,   42,   42,   42,   42,   42,
+       42,   42,   42,   42,   42,   42,   42
+    },
+
+    {
+       11,   42,   42,   43,   42,   42,   42,   42,   42,   42,
+       42,   42,   42,   42,   42,   42,   42
+    },
+
+    {
+       11,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
+      -43,  -43,  -43,  -43,  -43,  -43,  -43
+    },
+
+    {
+       11,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
+      -44,  -44,  -44,   44,  -44,  -44,  -44
+
+    },
+
+    {
+       11,   45,   45,  -45,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45
+    },
+
+    {
+       11,  -46,   46,   47,  -46,  -46,  -46,  -46,  -46,  -46,
+      -46,  -46,  -46,  -46,  -46,  -46,  -46
+    },
+
+    {
+       11,   48,  -47,  -47,   48,   48,   48,   48,   48,   48,
+       48,   48,   48,   48,   48,   48,   48
+    },
+
+    {
+       11,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
+      -48,  -48,  -48,  -48,  -48,  -48,  -48
+    },
+
+    {
+       11,   49,   49,   50,   49,  -49,   49,   49,  -49,   49,
+       49,   49,   49,   49,   49,  -49,   49
+
+    },
+
+    {
+       11,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
+      -50,  -50,  -50,  -50,  -50,  -50,  -50
+    },
+
+    {
+       11,  -51,  -51,   52,  -51,  -51,  -51,  -51,  -51,  -51,
+      -51,  -51,  -51,  -51,  -51,  -51,  -51
+    },
+
+    {
+       11,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
+      -52,  -52,  -52,  -52,  -52,  -52,  -52
+    },
+
+    {
+       11,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
+      -53,  -53,  -53,  -53,  -53,  -53,  -53
+    },
+
+    {
+       11,   54,   54,  -54,   54,   54,   54,   54,   54,   54,
+       54,   54,   54,   54,   54,   54,   54
+
+    },
+
+    {
+       11,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
+      -55,  -55,  -55,  -55,  -55,  -55,  -55
+    },
+
+    {
+       11,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
+      -56,   60,   57,   57,  -56,  -56,  -56
+    },
+
+    {
+       11,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
+      -57,   57,   57,   57,  -57,  -57,  -57
+    },
+
+    {
+       11,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
+      -58,  -58,  -58,  -58,  -58,  -58,  -58
+    },
+
+    {
+       11,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
+      -59,  -59,  -59,  -59,  -59,  -59,  -59
+
+    },
+
+    {
+       11,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
+      -60,   57,   57,   57,  -60,  -60,  -60
+    },
+
+    } ;
+
+static yy_state_type yy_get_previous_state (void );
+static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
+static int yy_get_next_buffer (void );
+static void yy_fatal_error (yyconst char msg[]  );
+
+/* Done after the current pattern has been matched and before the
+ * corresponding action - sets up zconftext.
+ */
+#define YY_DO_BEFORE_ACTION \
+	(yytext_ptr) = yy_bp; \
+	zconfleng = (size_t) (yy_cp - yy_bp); \
+	(yy_hold_char) = *yy_cp; \
+	*yy_cp = '\0'; \
+	(yy_c_buf_p) = yy_cp;
+
+#define YY_NUM_RULES 33
+#define YY_END_OF_BUFFER 34
+/* This struct is not used in this scanner,
+   but its presence is necessary. */
+struct yy_trans_info
+	{
+	flex_int32_t yy_verify;
+	flex_int32_t yy_nxt;
+	};
+static yyconst flex_int16_t yy_accept[61] =
+    {   0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+       34,    5,    4,    2,    3,    7,    8,    6,   32,   29,
+       31,   24,   28,   27,   26,   22,   17,   13,   16,   20,
+       22,   11,   12,   19,   19,   14,   22,   22,    4,    2,
+        3,    3,    1,    6,   32,   29,   31,   30,   24,   23,
+       26,   25,   15,   20,    9,   19,   19,   21,   10,   18
+    } ;
+
+static yyconst flex_int32_t yy_ec[256] =
+    {   0,
+        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    2,    4,    5,    6,    1,    1,    7,    8,    9,
+       10,    1,    1,    1,   11,   12,   12,   13,   13,   13,
+       13,   13,   13,   13,   13,   13,   13,    1,    1,    1,
+       14,    1,    1,    1,   13,   13,   13,   13,   13,   13,
+       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
+       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
+        1,   15,    1,    1,   13,    1,   13,   13,   13,   13,
+
+       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
+       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
+       13,   13,    1,   16,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1
+    } ;
+
+extern int zconf_flex_debug;
+int zconf_flex_debug = 0;
+
+/* The intent behind this definition is that it'll catch
+ * any uses of REJECT which flex missed.
+ */
+#define REJECT reject_used_but_not_detected
+#define yymore() yymore_used_but_not_detected
+#define YY_MORE_ADJ 0
+#define YY_RESTORE_YY_MORE_OFFSET
+char *zconftext;
+#define YY_NO_INPUT 1
+
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+#include <limits.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#define LKC_DIRECT_LINK
+#include "lkc.h"
+
+#define START_STRSIZE	16
+
+static struct {
+	struct file *file;
+	int lineno;
+} current_pos;
+
+static char *text;
+static int text_size, text_asize;
+
+struct buffer {
+        struct buffer *parent;
+        YY_BUFFER_STATE state;
+};
+
+struct buffer *current_buf;
+
+static int last_ts, first_ts;
+
+static void zconf_endhelp(void);
+static void zconf_endfile(void);
+
+static void new_string(void)
+{
+	text = malloc(START_STRSIZE);
+	text_asize = START_STRSIZE;
+	text_size = 0;
+	*text = 0;
+}
+
+static void append_string(const char *str, int size)
+{
+	int new_size = text_size + size + 1;
+	if (new_size > text_asize) {
+		new_size += START_STRSIZE - 1;
+		new_size &= -START_STRSIZE;
+		text = realloc(text, new_size);
+		text_asize = new_size;
+	}
+	memcpy(text + text_size, str, size);
+	text_size += size;
+	text[text_size] = 0;
+}
+
+static void alloc_string(const char *str, int size)
+{
+	text = malloc(size + 1);
+	memcpy(text, str, size);
+	text[size] = 0;
+}
+
+#define INITIAL 0
+#define COMMAND 1
+#define HELP 2
+#define STRING 3
+#define PARAM 4
+
+#ifndef YY_NO_UNISTD_H
+/* Special case for "unistd.h", since it is non-ANSI. We include it way
+ * down here because we want the user's section 1 to have been scanned first.
+ * The user has a chance to override it with an option.
+ */
+#include <unistd.h>
+#endif
+
+#ifndef YY_EXTRA_TYPE
+#define YY_EXTRA_TYPE void *
+#endif
+
+static int yy_init_globals (void );
+
+/* Accessor methods to globals.
+   These are made visible to non-reentrant scanners for convenience. */
+
+int zconflex_destroy (void );
+
+int zconfget_debug (void );
+
+void zconfset_debug (int debug_flag  );
+
+YY_EXTRA_TYPE zconfget_extra (void );
+
+void zconfset_extra (YY_EXTRA_TYPE user_defined  );
+
+FILE *zconfget_in (void );
+
+void zconfset_in  (FILE * in_str  );
+
+FILE *zconfget_out (void );
+
+void zconfset_out  (FILE * out_str  );
+
+int zconfget_leng (void );
+
+char *zconfget_text (void );
+
+int zconfget_lineno (void );
+
+void zconfset_lineno (int line_number  );
+
+/* Macros after this point can all be overridden by user definitions in
+ * section 1.
+ */
+
+#ifndef YY_SKIP_YYWRAP
+#ifdef __cplusplus
+extern "C" int zconfwrap (void );
+#else
+extern int zconfwrap (void );
+#endif
+#endif
+
+    static void yyunput (int c,char *buf_ptr  );
+    
+#ifndef yytext_ptr
+static void yy_flex_strncpy (char *,yyconst char *,int );
+#endif
+
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen (yyconst char * );
+#endif
+
+#ifndef YY_NO_INPUT
+
+#ifdef __cplusplus
+static int yyinput (void );
+#else
+static int input (void );
+#endif
+
+#endif
+
+/* Amount of stuff to slurp up with each read. */
+#ifndef YY_READ_BUF_SIZE
+#ifdef __ia64__
+/* On IA-64, the buffer size is 16k, not 8k */
+#define YY_READ_BUF_SIZE 16384
+#else
+#define YY_READ_BUF_SIZE 8192
+#endif /* __ia64__ */
+#endif
+
+/* Copy whatever the last rule matched to the standard output. */
+#ifndef ECHO
+/* This used to be an fputs(), but since the string might contain NUL's,
+ * we now use fwrite().
+ */
+#define ECHO do { if (fwrite( zconftext, zconfleng, 1, zconfout )) {} } while (0)
+#endif
+
+/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
+ * is returned in "result".
+ */
+#ifndef YY_INPUT
+#define YY_INPUT(buf,result,max_size) \
+	errno=0; \
+	while ( (result = read( fileno(zconfin), (char *) buf, max_size )) < 0 ) \
+	{ \
+		if( errno != EINTR) \
+		{ \
+			YY_FATAL_ERROR( "input in flex scanner failed" ); \
+			break; \
+		} \
+		errno=0; \
+		clearerr(zconfin); \
+	}\
+\
+
+#endif
+
+/* No semi-colon after return; correct usage is to write "yyterminate();" -
+ * we don't want an extra ';' after the "return" because that will cause
+ * some compilers to complain about unreachable statements.
+ */
+#ifndef yyterminate
+#define yyterminate() return YY_NULL
+#endif
+
+/* Number of entries by which start-condition stack grows. */
+#ifndef YY_START_STACK_INCR
+#define YY_START_STACK_INCR 25
+#endif
+
+/* Report a fatal error. */
+#ifndef YY_FATAL_ERROR
+#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
+#endif
+
+/* end tables serialization structures and prototypes */
+
+/* Default declaration of generated scanner - a define so the user can
+ * easily add parameters.
+ */
+#ifndef YY_DECL
+#define YY_DECL_IS_OURS 1
+
+extern int zconflex (void);
+
+#define YY_DECL int zconflex (void)
+#endif /* !YY_DECL */
+
+/* Code executed at the beginning of each rule, after zconftext and zconfleng
+ * have been set up.
+ */
+#ifndef YY_USER_ACTION
+#define YY_USER_ACTION
+#endif
+
+/* Code executed at the end of each rule. */
+#ifndef YY_BREAK
+#define YY_BREAK break;
+#endif
+
+#define YY_RULE_SETUP \
+	YY_USER_ACTION
+
+/** The main scanner function which does all the work.
+ */
+YY_DECL
+{
+	register yy_state_type yy_current_state;
+	register char *yy_cp, *yy_bp;
+	register int yy_act;
+    
+	int str = 0;
+	int ts, i;
+
+	if ( !(yy_init) )
+		{
+		(yy_init) = 1;
+
+#ifdef YY_USER_INIT
+		YY_USER_INIT;
+#endif
+
+		if ( ! (yy_start) )
+			(yy_start) = 1;	/* first start state */
+
+		if ( ! zconfin )
+			zconfin = stdin;
+
+		if ( ! zconfout )
+			zconfout = stdout;
+
+		if ( ! YY_CURRENT_BUFFER ) {
+			zconfensure_buffer_stack ();
+			YY_CURRENT_BUFFER_LVALUE =
+				zconf_create_buffer(zconfin,YY_BUF_SIZE );
+		}
+
+		zconf_load_buffer_state( );
+		}
+
+	while ( 1 )		/* loops until end-of-file is reached */
+		{
+		yy_cp = (yy_c_buf_p);
+
+		/* Support of zconftext. */
+		*yy_cp = (yy_hold_char);
+
+		/* yy_bp points to the position in yy_ch_buf of the start of
+		 * the current run.
+		 */
+		yy_bp = yy_cp;
+
+		yy_current_state = (yy_start);
+yy_match:
+		while ( (yy_current_state = yy_nxt[yy_current_state][ yy_ec[YY_SC_TO_UI(*yy_cp)]  ]) > 0 )
+			++yy_cp;
+
+		yy_current_state = -yy_current_state;
+
+yy_find_action:
+		yy_act = yy_accept[yy_current_state];
+
+		YY_DO_BEFORE_ACTION;
+
+do_action:	/* This label is used only to access EOF actions. */
+
+		switch ( yy_act )
+	{ /* beginning of action switch */
+case 1:
+/* rule 1 can match eol */
+case 2:
+/* rule 2 can match eol */
+YY_RULE_SETUP
+{
+	current_file->lineno++;
+	return T_EOL;
+}
+	YY_BREAK
+case 3:
+YY_RULE_SETUP
+
+	YY_BREAK
+case 4:
+YY_RULE_SETUP
+{
+	BEGIN(COMMAND);
+}
+	YY_BREAK
+case 5:
+YY_RULE_SETUP
+{
+	unput(zconftext[0]);
+	BEGIN(COMMAND);
+}
+	YY_BREAK
+
+case 6:
+YY_RULE_SETUP
+{
+		struct kconf_id *id = kconf_id_lookup(zconftext, zconfleng);
+		BEGIN(PARAM);
+		current_pos.file = current_file;
+		current_pos.lineno = current_file->lineno;
+		if (id && id->flags & TF_COMMAND) {
+			zconflval.id = id;
+			return id->token;
+		}
+		alloc_string(zconftext, zconfleng);
+		zconflval.string = text;
+		return T_WORD;
+	}
+	YY_BREAK
+case 7:
+YY_RULE_SETUP
+
+	YY_BREAK
+case 8:
+/* rule 8 can match eol */
+YY_RULE_SETUP
+{
+		BEGIN(INITIAL);
+		current_file->lineno++;
+		return T_EOL;
+	}
+	YY_BREAK
+
+case 9:
+YY_RULE_SETUP
+return T_AND;
+	YY_BREAK
+case 10:
+YY_RULE_SETUP
+return T_OR;
+	YY_BREAK
+case 11:
+YY_RULE_SETUP
+return T_OPEN_PAREN;
+	YY_BREAK
+case 12:
+YY_RULE_SETUP
+return T_CLOSE_PAREN;
+	YY_BREAK
+case 13:
+YY_RULE_SETUP
+return T_NOT;
+	YY_BREAK
+case 14:
+YY_RULE_SETUP
+return T_EQUAL;
+	YY_BREAK
+case 15:
+YY_RULE_SETUP
+return T_UNEQUAL;
+	YY_BREAK
+case 16:
+YY_RULE_SETUP
+{
+		str = zconftext[0];
+		new_string();
+		BEGIN(STRING);
+	}
+	YY_BREAK
+case 17:
+/* rule 17 can match eol */
+YY_RULE_SETUP
+BEGIN(INITIAL); current_file->lineno++; return T_EOL;
+	YY_BREAK
+case 18:
+YY_RULE_SETUP
+/* ignore */
+	YY_BREAK
+case 19:
+YY_RULE_SETUP
+{
+		struct kconf_id *id = kconf_id_lookup(zconftext, zconfleng);
+		if (id && id->flags & TF_PARAM) {
+			zconflval.id = id;
+			return id->token;
+		}
+		alloc_string(zconftext, zconfleng);
+		zconflval.string = text;
+		return T_WORD;
+	}
+	YY_BREAK
+case 20:
+YY_RULE_SETUP
+/* comment */
+	YY_BREAK
+case 21:
+/* rule 21 can match eol */
+YY_RULE_SETUP
+current_file->lineno++;
+	YY_BREAK
+case 22:
+YY_RULE_SETUP
+
+	YY_BREAK
+case YY_STATE_EOF(PARAM):
+{
+		BEGIN(INITIAL);
+	}
+	YY_BREAK
+
+case 23:
+/* rule 23 can match eol */
+*yy_cp = (yy_hold_char); /* undo effects of setting up zconftext */
+(yy_c_buf_p) = yy_cp -= 1;
+YY_DO_BEFORE_ACTION; /* set up zconftext again */
+YY_RULE_SETUP
+{
+		append_string(zconftext, zconfleng);
+		zconflval.string = text;
+		return T_WORD_QUOTE;
+	}
+	YY_BREAK
+case 24:
+YY_RULE_SETUP
+{
+		append_string(zconftext, zconfleng);
+	}
+	YY_BREAK
+case 25:
+/* rule 25 can match eol */
+*yy_cp = (yy_hold_char); /* undo effects of setting up zconftext */
+(yy_c_buf_p) = yy_cp -= 1;
+YY_DO_BEFORE_ACTION; /* set up zconftext again */
+YY_RULE_SETUP
+{
+		append_string(zconftext + 1, zconfleng - 1);
+		zconflval.string = text;
+		return T_WORD_QUOTE;
+	}
+	YY_BREAK
+case 26:
+YY_RULE_SETUP
+{
+		append_string(zconftext + 1, zconfleng - 1);
+	}
+	YY_BREAK
+case 27:
+YY_RULE_SETUP
+{
+		if (str == zconftext[0]) {
+			BEGIN(PARAM);
+			zconflval.string = text;
+			return T_WORD_QUOTE;
+		} else
+			append_string(zconftext, 1);
+	}
+	YY_BREAK
+case 28:
+/* rule 28 can match eol */
+YY_RULE_SETUP
+{
+		printf("%s:%d:warning: multi-line strings not supported\n", zconf_curname(), zconf_lineno());
+		current_file->lineno++;
+		BEGIN(INITIAL);
+		return T_EOL;
+	}
+	YY_BREAK
+case YY_STATE_EOF(STRING):
+{
+		BEGIN(INITIAL);
+	}
+	YY_BREAK
+
+case 29:
+YY_RULE_SETUP
+{
+		ts = 0;
+		for (i = 0; i < zconfleng; i++) {
+			if (zconftext[i] == '\t')
+				ts = (ts & ~7) + 8;
+			else
+				ts++;
+		}
+		last_ts = ts;
+		if (first_ts) {
+			if (ts < first_ts) {
+				zconf_endhelp();
+				return T_HELPTEXT;
+			}
+			ts -= first_ts;
+			while (ts > 8) {
+				append_string("        ", 8);
+				ts -= 8;
+			}
+			append_string("        ", ts);
+		}
+	}
+	YY_BREAK
+case 30:
+/* rule 30 can match eol */
+*yy_cp = (yy_hold_char); /* undo effects of setting up zconftext */
+(yy_c_buf_p) = yy_cp -= 1;
+YY_DO_BEFORE_ACTION; /* set up zconftext again */
+YY_RULE_SETUP
+{
+		current_file->lineno++;
+		zconf_endhelp();
+		return T_HELPTEXT;
+	}
+	YY_BREAK
+case 31:
+/* rule 31 can match eol */
+YY_RULE_SETUP
+{
+		current_file->lineno++;
+		append_string("\n", 1);
+	}
+	YY_BREAK
+case 32:
+YY_RULE_SETUP
+{
+		while (zconfleng) {
+			if ((zconftext[zconfleng-1] != ' ') && (zconftext[zconfleng-1] != '\t'))
+				break;
+			zconfleng--;
+		}
+		append_string(zconftext, zconfleng);
+		if (!first_ts)
+			first_ts = last_ts;
+	}
+	YY_BREAK
+case YY_STATE_EOF(HELP):
+{
+		zconf_endhelp();
+		return T_HELPTEXT;
+	}
+	YY_BREAK
+
+case YY_STATE_EOF(INITIAL):
+case YY_STATE_EOF(COMMAND):
+{
+	if (current_file) {
+		zconf_endfile();
+		return T_EOL;
+	}
+	fclose(zconfin);
+	yyterminate();
+}
+	YY_BREAK
+case 33:
+YY_RULE_SETUP
+YY_FATAL_ERROR( "flex scanner jammed" );
+	YY_BREAK
+
+	case YY_END_OF_BUFFER:
+		{
+		/* Amount of text matched not including the EOB char. */
+		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
+
+		/* Undo the effects of YY_DO_BEFORE_ACTION. */
+		*yy_cp = (yy_hold_char);
+		YY_RESTORE_YY_MORE_OFFSET
+
+		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
+			{
+			/* We're scanning a new file or input source.  It's
+			 * possible that this happened because the user
+			 * just pointed zconfin at a new source and called
+			 * zconflex().  If so, then we have to assure
+			 * consistency between YY_CURRENT_BUFFER and our
+			 * globals.  Here is the right place to do so, because
+			 * this is the first action (other than possibly a
+			 * back-up) that will match for the new input source.
+			 */
+			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
+			YY_CURRENT_BUFFER_LVALUE->yy_input_file = zconfin;
+			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
+			}
+
+		/* Note that here we test for yy_c_buf_p "<=" to the position
+		 * of the first EOB in the buffer, since yy_c_buf_p will
+		 * already have been incremented past the NUL character
+		 * (since all states make transitions on EOB to the
+		 * end-of-buffer state).  Contrast this with the test
+		 * in input().
+		 */
+		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
+			{ /* This was really a NUL. */
+			yy_state_type yy_next_state;
+
+			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
+
+			yy_current_state = yy_get_previous_state(  );
+
+			/* Okay, we're now positioned to make the NUL
+			 * transition.  We couldn't have
+			 * yy_get_previous_state() go ahead and do it
+			 * for us because it doesn't know how to deal
+			 * with the possibility of jamming (and we don't
+			 * want to build jamming into it because then it
+			 * will run more slowly).
+			 */
+
+			yy_next_state = yy_try_NUL_trans( yy_current_state );
+
+			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+
+			if ( yy_next_state )
+				{
+				/* Consume the NUL. */
+				yy_cp = ++(yy_c_buf_p);
+				yy_current_state = yy_next_state;
+				goto yy_match;
+				}
+
+			else
+				{
+				yy_cp = (yy_c_buf_p);
+				goto yy_find_action;
+				}
+			}
+
+		else switch ( yy_get_next_buffer(  ) )
+			{
+			case EOB_ACT_END_OF_FILE:
+				{
+				(yy_did_buffer_switch_on_eof) = 0;
+
+				if ( zconfwrap( ) )
+					{
+					/* Note: because we've taken care in
+					 * yy_get_next_buffer() to have set up
+					 * zconftext, we can now set up
+					 * yy_c_buf_p so that if some total
+					 * hoser (like flex itself) wants to
+					 * call the scanner after we return the
+					 * YY_NULL, it'll still work - another
+					 * YY_NULL will get returned.
+					 */
+					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
+
+					yy_act = YY_STATE_EOF(YY_START);
+					goto do_action;
+					}
+
+				else
+					{
+					if ( ! (yy_did_buffer_switch_on_eof) )
+						YY_NEW_FILE;
+					}
+				break;
+				}
+
+			case EOB_ACT_CONTINUE_SCAN:
+				(yy_c_buf_p) =
+					(yytext_ptr) + yy_amount_of_matched_text;
+
+				yy_current_state = yy_get_previous_state(  );
+
+				yy_cp = (yy_c_buf_p);
+				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+				goto yy_match;
+
+			case EOB_ACT_LAST_MATCH:
+				(yy_c_buf_p) =
+				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
+
+				yy_current_state = yy_get_previous_state(  );
+
+				yy_cp = (yy_c_buf_p);
+				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+				goto yy_find_action;
+			}
+		break;
+		}
+
+	default:
+		YY_FATAL_ERROR(
+			"fatal flex scanner internal error--no action found" );
+	} /* end of action switch */
+		} /* end of scanning one token */
+} /* end of zconflex */
+
+/* yy_get_next_buffer - try to read in a new buffer
+ *
+ * Returns a code representing an action:
+ *	EOB_ACT_LAST_MATCH -
+ *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
+ *	EOB_ACT_END_OF_FILE - end of file
+ */
+static int yy_get_next_buffer (void)
+{
+    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
+	register char *source = (yytext_ptr);
+	register int number_to_move, i;
+	int ret_val;
+
+	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
+		YY_FATAL_ERROR(
+		"fatal flex scanner internal error--end of buffer missed" );
+
+	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
+		{ /* Don't try to fill the buffer, so this is an EOF. */
+		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
+			{
+			/* We matched a single character, the EOB, so
+			 * treat this as a final EOF.
+			 */
+			return EOB_ACT_END_OF_FILE;
+			}
+
+		else
+			{
+			/* We matched some text prior to the EOB, first
+			 * process it.
+			 */
+			return EOB_ACT_LAST_MATCH;
+			}
+		}
+
+	/* Try to read more data. */
+
+	/* First move last chars to start of buffer. */
+	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
+
+	for ( i = 0; i < number_to_move; ++i )
+		*(dest++) = *(source++);
+
+	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
+		/* don't do the read, it's not guaranteed to return an EOF,
+		 * just force an EOF
+		 */
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
+
+	else
+		{
+			int num_to_read =
+			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
+
+		while ( num_to_read <= 0 )
+			{ /* Not enough room in the buffer - grow it. */
+
+			/* just a shorter name for the current buffer */
+			YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
+
+			int yy_c_buf_p_offset =
+				(int) ((yy_c_buf_p) - b->yy_ch_buf);
+
+			if ( b->yy_is_our_buffer )
+				{
+				int new_size = b->yy_buf_size * 2;
+
+				if ( new_size <= 0 )
+					b->yy_buf_size += b->yy_buf_size / 8;
+				else
+					b->yy_buf_size *= 2;
+
+				b->yy_ch_buf = (char *)
+					/* Include room in for 2 EOB chars. */
+					zconfrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
+				}
+			else
+				/* Can't grow it, we don't own it. */
+				b->yy_ch_buf = 0;
+
+			if ( ! b->yy_ch_buf )
+				YY_FATAL_ERROR(
+				"fatal error - scanner input buffer overflow" );
+
+			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
+
+			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
+						number_to_move - 1;
+
+			}
+
+		if ( num_to_read > YY_READ_BUF_SIZE )
+			num_to_read = YY_READ_BUF_SIZE;
+
+		/* Read in more data. */
+		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
+			(yy_n_chars), (size_t) num_to_read );
+
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+		}
+
+	if ( (yy_n_chars) == 0 )
+		{
+		if ( number_to_move == YY_MORE_ADJ )
+			{
+			ret_val = EOB_ACT_END_OF_FILE;
+			zconfrestart(zconfin  );
+			}
+
+		else
+			{
+			ret_val = EOB_ACT_LAST_MATCH;
+			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
+				YY_BUFFER_EOF_PENDING;
+			}
+		}
+
+	else
+		ret_val = EOB_ACT_CONTINUE_SCAN;
+
+	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
+		/* Extend the array by 50%, plus the number we really need. */
+		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
+		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) zconfrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
+		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
+			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
+	}
+
+	(yy_n_chars) += number_to_move;
+	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
+	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
+
+	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
+
+	return ret_val;
+}
+
+/* yy_get_previous_state - get the state just before the EOB char was reached */
+
+    static yy_state_type yy_get_previous_state (void)
+{
+	register yy_state_type yy_current_state;
+	register char *yy_cp;
+    
+	yy_current_state = (yy_start);
+
+	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
+		{
+		yy_current_state = yy_nxt[yy_current_state][(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1)];
+		}
+
+	return yy_current_state;
+}
+
+/* yy_try_NUL_trans - try to make a transition on the NUL character
+ *
+ * synopsis
+ *	next_state = yy_try_NUL_trans( current_state );
+ */
+    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
+{
+	register int yy_is_jam;
+    
+	yy_current_state = yy_nxt[yy_current_state][1];
+	yy_is_jam = (yy_current_state <= 0);
+
+	return yy_is_jam ? 0 : yy_current_state;
+}
+
+    static void yyunput (int c, register char * yy_bp )
+{
+	register char *yy_cp;
+    
+    yy_cp = (yy_c_buf_p);
+
+	/* undo effects of setting up zconftext */
+	*yy_cp = (yy_hold_char);
+
+	if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
+		{ /* need to shift things up to make room */
+		/* +2 for EOB chars. */
+		register int number_to_move = (yy_n_chars) + 2;
+		register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
+					YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
+		register char *source =
+				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
+
+		while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
+			*--dest = *--source;
+
+		yy_cp += (int) (dest - source);
+		yy_bp += (int) (dest - source);
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
+			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
+
+		if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
+			YY_FATAL_ERROR( "flex scanner push-back overflow" );
+		}
+
+	*--yy_cp = (char) c;
+
+	(yytext_ptr) = yy_bp;
+	(yy_hold_char) = *yy_cp;
+	(yy_c_buf_p) = yy_cp;
+}
+
+#ifndef YY_NO_INPUT
+#ifdef __cplusplus
+    static int yyinput (void)
+#else
+    static int input  (void)
+#endif
+
+{
+	int c;
+    
+	*(yy_c_buf_p) = (yy_hold_char);
+
+	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
+		{
+		/* yy_c_buf_p now points to the character we want to return.
+		 * If this occurs *before* the EOB characters, then it's a
+		 * valid NUL; if not, then we've hit the end of the buffer.
+		 */
+		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
+			/* This was really a NUL. */
+			*(yy_c_buf_p) = '\0';
+
+		else
+			{ /* need more input */
+			int offset = (yy_c_buf_p) - (yytext_ptr);
+			++(yy_c_buf_p);
+
+			switch ( yy_get_next_buffer(  ) )
+				{
+				case EOB_ACT_LAST_MATCH:
+					/* This happens because yy_g_n_b()
+					 * sees that we've accumulated a
+					 * token and flags that we need to
+					 * try matching the token before
+					 * proceeding.  But for input(),
+					 * there's no matching to consider.
+					 * So convert the EOB_ACT_LAST_MATCH
+					 * to EOB_ACT_END_OF_FILE.
+					 */
+
+					/* Reset buffer status. */
+					zconfrestart(zconfin );
+
+					/*FALLTHROUGH*/
+
+				case EOB_ACT_END_OF_FILE:
+					{
+					if ( zconfwrap( ) )
+						return EOF;
+
+					if ( ! (yy_did_buffer_switch_on_eof) )
+						YY_NEW_FILE;
+#ifdef __cplusplus
+					return yyinput();
+#else
+					return input();
+#endif
+					}
+
+				case EOB_ACT_CONTINUE_SCAN:
+					(yy_c_buf_p) = (yytext_ptr) + offset;
+					break;
+				}
+			}
+		}
+
+	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
+	*(yy_c_buf_p) = '\0';	/* preserve zconftext */
+	(yy_hold_char) = *++(yy_c_buf_p);
+
+	return c;
+}
+#endif	/* ifndef YY_NO_INPUT */
+
+/** Immediately switch to a different input stream.
+ * @param input_file A readable stream.
+ * 
+ * @note This function does not reset the start condition to @c INITIAL .
+ */
+    void zconfrestart  (FILE * input_file )
+{
+    
+	if ( ! YY_CURRENT_BUFFER ){
+        zconfensure_buffer_stack ();
+		YY_CURRENT_BUFFER_LVALUE =
+            zconf_create_buffer(zconfin,YY_BUF_SIZE );
+	}
+
+	zconf_init_buffer(YY_CURRENT_BUFFER,input_file );
+	zconf_load_buffer_state( );
+}
+
+/** Switch to a different input buffer.
+ * @param new_buffer The new input buffer.
+ * 
+ */
+    void zconf_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
+{
+    
+	/* TODO. We should be able to replace this entire function body
+	 * with
+	 *		zconfpop_buffer_state();
+	 *		zconfpush_buffer_state(new_buffer);
+     */
+	zconfensure_buffer_stack ();
+	if ( YY_CURRENT_BUFFER == new_buffer )
+		return;
+
+	if ( YY_CURRENT_BUFFER )
+		{
+		/* Flush out information for old buffer. */
+		*(yy_c_buf_p) = (yy_hold_char);
+		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+		}
+
+	YY_CURRENT_BUFFER_LVALUE = new_buffer;
+	zconf_load_buffer_state( );
+
+	/* We don't actually know whether we did this switch during
+	 * EOF (zconfwrap()) processing, but the only time this flag
+	 * is looked at is after zconfwrap() is called, so it's safe
+	 * to go ahead and always set it.
+	 */
+	(yy_did_buffer_switch_on_eof) = 1;
+}
+
+static void zconf_load_buffer_state  (void)
+{
+    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
+	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
+	zconfin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
+	(yy_hold_char) = *(yy_c_buf_p);
+}
+
+/** Allocate and initialize an input buffer state.
+ * @param file A readable stream.
+ * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
+ * 
+ * @return the allocated buffer state.
+ */
+    YY_BUFFER_STATE zconf_create_buffer  (FILE * file, int  size )
+{
+	YY_BUFFER_STATE b;
+    
+	b = (YY_BUFFER_STATE) zconfalloc(sizeof( struct yy_buffer_state )  );
+	if ( ! b )
+		YY_FATAL_ERROR( "out of dynamic memory in zconf_create_buffer()" );
+
+	b->yy_buf_size = size;
+
+	/* yy_ch_buf has to be 2 characters longer than the size given because
+	 * we need to put in 2 end-of-buffer characters.
+	 */
+	b->yy_ch_buf = (char *) zconfalloc(b->yy_buf_size + 2  );
+	if ( ! b->yy_ch_buf )
+		YY_FATAL_ERROR( "out of dynamic memory in zconf_create_buffer()" );
+
+	b->yy_is_our_buffer = 1;
+
+	zconf_init_buffer(b,file );
+
+	return b;
+}
+
+/** Destroy the buffer.
+ * @param b a buffer created with zconf_create_buffer()
+ * 
+ */
+    void zconf_delete_buffer (YY_BUFFER_STATE  b )
+{
+    
+	if ( ! b )
+		return;
+
+	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
+		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
+
+	if ( b->yy_is_our_buffer )
+		zconffree((void *) b->yy_ch_buf  );
+
+	zconffree((void *) b  );
+}
+
+/* Initializes or reinitializes a buffer.
+ * This function is sometimes called more than once on the same buffer,
+ * such as during a zconfrestart() or at EOF.
+ */
+    static void zconf_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
+
+{
+	int oerrno = errno;
+    
+	zconf_flush_buffer(b );
+
+	b->yy_input_file = file;
+	b->yy_fill_buffer = 1;
+
+    /* If b is the current buffer, then zconf_init_buffer was _probably_
+     * called from zconfrestart() or through yy_get_next_buffer.
+     * In that case, we don't want to reset the lineno or column.
+     */
+    if (b != YY_CURRENT_BUFFER){
+        b->yy_bs_lineno = 1;
+        b->yy_bs_column = 0;
+    }
+
+        b->yy_is_interactive = 0;
+    
+	errno = oerrno;
+}
+
+/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
+ * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
+ * 
+ */
+    void zconf_flush_buffer (YY_BUFFER_STATE  b )
+{
+    	if ( ! b )
+		return;
+
+	b->yy_n_chars = 0;
+
+	/* We always need two end-of-buffer characters.  The first causes
+	 * a transition to the end-of-buffer state.  The second causes
+	 * a jam in that state.
+	 */
+	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
+	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
+
+	b->yy_buf_pos = &b->yy_ch_buf[0];
+
+	b->yy_at_bol = 1;
+	b->yy_buffer_status = YY_BUFFER_NEW;
+
+	if ( b == YY_CURRENT_BUFFER )
+		zconf_load_buffer_state( );
+}
+
+/** Pushes the new state onto the stack. The new state becomes
+ *  the current state. This function will allocate the stack
+ *  if necessary.
+ *  @param new_buffer The new state.
+ *  
+ */
+void zconfpush_buffer_state (YY_BUFFER_STATE new_buffer )
+{
+    	if (new_buffer == NULL)
+		return;
+
+	zconfensure_buffer_stack();
+
+	/* This block is copied from zconf_switch_to_buffer. */
+	if ( YY_CURRENT_BUFFER )
+		{
+		/* Flush out information for old buffer. */
+		*(yy_c_buf_p) = (yy_hold_char);
+		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+		}
+
+	/* Only push if top exists. Otherwise, replace top. */
+	if (YY_CURRENT_BUFFER)
+		(yy_buffer_stack_top)++;
+	YY_CURRENT_BUFFER_LVALUE = new_buffer;
+
+	/* copied from zconf_switch_to_buffer. */
+	zconf_load_buffer_state( );
+	(yy_did_buffer_switch_on_eof) = 1;
+}
+
+/** Removes and deletes the top of the stack, if present.
+ *  The next element becomes the new top.
+ *  
+ */
+void zconfpop_buffer_state (void)
+{
+    	if (!YY_CURRENT_BUFFER)
+		return;
+
+	zconf_delete_buffer(YY_CURRENT_BUFFER );
+	YY_CURRENT_BUFFER_LVALUE = NULL;
+	if ((yy_buffer_stack_top) > 0)
+		--(yy_buffer_stack_top);
+
+	if (YY_CURRENT_BUFFER) {
+		zconf_load_buffer_state( );
+		(yy_did_buffer_switch_on_eof) = 1;
+	}
+}
+
+/* Allocates the stack if it does not exist.
+ *  Guarantees space for at least one push.
+ */
+static void zconfensure_buffer_stack (void)
+{
+	int num_to_alloc;
+    
+	if (!(yy_buffer_stack)) {
+
+		/* First allocation is just for 2 elements, since we don't know if this
+		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
+		 * immediate realloc on the next call.
+         */
+		num_to_alloc = 1;
+		(yy_buffer_stack) = (struct yy_buffer_state**)zconfalloc
+								(num_to_alloc * sizeof(struct yy_buffer_state*)
+								);
+		if ( ! (yy_buffer_stack) )
+			YY_FATAL_ERROR( "out of dynamic memory in zconfensure_buffer_stack()" );
+								  
+		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
+				
+		(yy_buffer_stack_max) = num_to_alloc;
+		(yy_buffer_stack_top) = 0;
+		return;
+	}
+
+	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
+
+		/* Increase the buffer to prepare for a possible push. */
+		int grow_size = 8 /* arbitrary grow size */;
+
+		num_to_alloc = (yy_buffer_stack_max) + grow_size;
+		(yy_buffer_stack) = (struct yy_buffer_state**)zconfrealloc
+								((yy_buffer_stack),
+								num_to_alloc * sizeof(struct yy_buffer_state*)
+								);
+		if ( ! (yy_buffer_stack) )
+			YY_FATAL_ERROR( "out of dynamic memory in zconfensure_buffer_stack()" );
+
+		/* zero only the new slots.*/
+		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
+		(yy_buffer_stack_max) = num_to_alloc;
+	}
+}
+
+/** Setup the input buffer state to scan directly from a user-specified character buffer.
+ * @param base the character buffer
+ * @param size the size in bytes of the character buffer
+ * 
+ * @return the newly allocated buffer state object. 
+ */
+YY_BUFFER_STATE zconf_scan_buffer  (char * base, yy_size_t  size )
+{
+	YY_BUFFER_STATE b;
+    
+	if ( size < 2 ||
+	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
+	     base[size-1] != YY_END_OF_BUFFER_CHAR )
+		/* They forgot to leave room for the EOB's. */
+		return 0;
+
+	b = (YY_BUFFER_STATE) zconfalloc(sizeof( struct yy_buffer_state )  );
+	if ( ! b )
+		YY_FATAL_ERROR( "out of dynamic memory in zconf_scan_buffer()" );
+
+	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
+	b->yy_buf_pos = b->yy_ch_buf = base;
+	b->yy_is_our_buffer = 0;
+	b->yy_input_file = 0;
+	b->yy_n_chars = b->yy_buf_size;
+	b->yy_is_interactive = 0;
+	b->yy_at_bol = 1;
+	b->yy_fill_buffer = 0;
+	b->yy_buffer_status = YY_BUFFER_NEW;
+
+	zconf_switch_to_buffer(b  );
+
+	return b;
+}
+
+/** Setup the input buffer state to scan a string. The next call to zconflex() will
+ * scan from a @e copy of @a str.
+ * @param yystr a NUL-terminated string to scan
+ * 
+ * @return the newly allocated buffer state object.
+ * @note If you want to scan bytes that may contain NUL values, then use
+ *       zconf_scan_bytes() instead.
+ */
+YY_BUFFER_STATE zconf_scan_string (yyconst char * yystr )
+{
+    
+	return zconf_scan_bytes(yystr,strlen(yystr) );
+}
+
+/** Setup the input buffer state to scan the given bytes. The next call to zconflex() will
+ * scan from a @e copy of @a bytes.
+ * @param yybytes the byte buffer to scan
+ * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
+ * 
+ * @return the newly allocated buffer state object.
+ */
+YY_BUFFER_STATE zconf_scan_bytes  (yyconst char * yybytes, int  _yybytes_len )
+{
+	YY_BUFFER_STATE b;
+	char *buf;
+	yy_size_t n;
+	int i;
+    
+	/* Get memory for full buffer, including space for trailing EOB's. */
+	n = _yybytes_len + 2;
+	buf = (char *) zconfalloc(n  );
+	if ( ! buf )
+		YY_FATAL_ERROR( "out of dynamic memory in zconf_scan_bytes()" );
+
+	for ( i = 0; i < _yybytes_len; ++i )
+		buf[i] = yybytes[i];
+
+	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
+
+	b = zconf_scan_buffer(buf,n );
+	if ( ! b )
+		YY_FATAL_ERROR( "bad buffer in zconf_scan_bytes()" );
+
+	/* It's okay to grow etc. this buffer, and we should throw it
+	 * away when we're done.
+	 */
+	b->yy_is_our_buffer = 1;
+
+	return b;
+}
+
+#ifndef YY_EXIT_FAILURE
+#define YY_EXIT_FAILURE 2
+#endif
+
+static void yy_fatal_error (yyconst char* msg )
+{
+    	(void) fprintf( stderr, "%s\n", msg );
+	exit( YY_EXIT_FAILURE );
+}
+
+/* Redefine yyless() so it works in section 3 code. */
+
+#undef yyless
+#define yyless(n) \
+	do \
+		{ \
+		/* Undo effects of setting up zconftext. */ \
+        int yyless_macro_arg = (n); \
+        YY_LESS_LINENO(yyless_macro_arg);\
+		zconftext[zconfleng] = (yy_hold_char); \
+		(yy_c_buf_p) = zconftext + yyless_macro_arg; \
+		(yy_hold_char) = *(yy_c_buf_p); \
+		*(yy_c_buf_p) = '\0'; \
+		zconfleng = yyless_macro_arg; \
+		} \
+	while ( 0 )
+
+/* Accessor  methods (get/set functions) to struct members. */
+
+/** Get the current line number.
+ * 
+ */
+int zconfget_lineno  (void)
+{
+        
+    return zconflineno;
+}
+
+/** Get the input stream.
+ * 
+ */
+FILE *zconfget_in  (void)
+{
+        return zconfin;
+}
+
+/** Get the output stream.
+ * 
+ */
+FILE *zconfget_out  (void)
+{
+        return zconfout;
+}
+
+/** Get the length of the current token.
+ * 
+ */
+int zconfget_leng  (void)
+{
+        return zconfleng;
+}
+
+/** Get the current token.
+ * 
+ */
+
+char *zconfget_text  (void)
+{
+        return zconftext;
+}
+
+/** Set the current line number.
+ * @param line_number
+ * 
+ */
+void zconfset_lineno (int  line_number )
+{
+    
+    zconflineno = line_number;
+}
+
+/** Set the input stream. This does not discard the current
+ * input buffer.
+ * @param in_str A readable stream.
+ * 
+ * @see zconf_switch_to_buffer
+ */
+void zconfset_in (FILE *  in_str )
+{
+        zconfin = in_str ;
+}
+
+void zconfset_out (FILE *  out_str )
+{
+        zconfout = out_str ;
+}
+
+int zconfget_debug  (void)
+{
+        return zconf_flex_debug;
+}
+
+void zconfset_debug (int  bdebug )
+{
+        zconf_flex_debug = bdebug ;
+}
+
+static int yy_init_globals (void)
+{
+        /* Initialization is the same as for the non-reentrant scanner.
+     * This function is called from zconflex_destroy(), so don't allocate here.
+     */
+
+    (yy_buffer_stack) = 0;
+    (yy_buffer_stack_top) = 0;
+    (yy_buffer_stack_max) = 0;
+    (yy_c_buf_p) = (char *) 0;
+    (yy_init) = 0;
+    (yy_start) = 0;
+
+/* Defined in main.c */
+#ifdef YY_STDINIT
+    zconfin = stdin;
+    zconfout = stdout;
+#else
+    zconfin = (FILE *) 0;
+    zconfout = (FILE *) 0;
+#endif
+
+    /* For future reference: Set errno on error, since we are called by
+     * zconflex_init()
+     */
+    return 0;
+}
+
+/* zconflex_destroy is for both reentrant and non-reentrant scanners. */
+int zconflex_destroy  (void)
+{
+    
+    /* Pop the buffer stack, destroying each element. */
+	while(YY_CURRENT_BUFFER){
+		zconf_delete_buffer(YY_CURRENT_BUFFER  );
+		YY_CURRENT_BUFFER_LVALUE = NULL;
+		zconfpop_buffer_state();
+	}
+
+	/* Destroy the stack itself. */
+	zconffree((yy_buffer_stack) );
+	(yy_buffer_stack) = NULL;
+
+    /* Reset the globals. This is important in a non-reentrant scanner so the next time
+     * zconflex() is called, initialization will occur. */
+    yy_init_globals( );
+
+    return 0;
+}
+
+/*
+ * Internal utility routines.
+ */
+
+#ifndef yytext_ptr
+static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
+{
+	register int i;
+	for ( i = 0; i < n; ++i )
+		s1[i] = s2[i];
+}
+#endif
+
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen (yyconst char * s )
+{
+	register int n;
+	for ( n = 0; s[n]; ++n )
+		;
+
+	return n;
+}
+#endif
+
+void *zconfalloc (yy_size_t  size )
+{
+	return (void *) malloc( size );
+}
+
+void *zconfrealloc  (void * ptr, yy_size_t  size )
+{
+	/* The cast to (char *) in the following accommodates both
+	 * implementations that use char* generic pointers, and those
+	 * that use void* generic pointers.  It works with the latter
+	 * because both ANSI C and C++ allow castless assignment from
+	 * any pointer type to void*, and deal with argument conversions
+	 * as though doing an assignment.
+	 */
+	return (void *) realloc( (char *) ptr, size );
+}
+
+void zconffree (void * ptr )
+{
+	free( (char *) ptr );	/* see zconfrealloc() for (char *) cast */
+}
+
+#define YYTABLES_NAME "yytables"
+
+void zconf_starthelp(void)
+{
+	new_string();
+	last_ts = first_ts = 0;
+	BEGIN(HELP);
+}
+
+static void zconf_endhelp(void)
+{
+	zconflval.string = text;
+	BEGIN(INITIAL);
+}
+
+/*
+ * Try to open specified file with following names:
+ * ./name
+ * $(srctree)/name
+ * The latter is used when srctree is separate from objtree
+ * when compiling the kernel.
+ * Return NULL if file is not found.
+ */
+FILE *zconf_fopen(const char *name)
+{
+	char *env, fullname[PATH_MAX+1];
+	FILE *f;
+
+	f = fopen(name, "r");
+	if (!f && name != NULL && name[0] != '/') {
+		env = getenv(SRCTREE);
+		if (env) {
+			sprintf(fullname, "%s/%s", env, name);
+			f = fopen(fullname, "r");
+		}
+	}
+	return f;
+}
+
+void zconf_initscan(const char *name)
+{
+	zconfin = zconf_fopen(name);
+	if (!zconfin) {
+		printf("can't find file %s\n", name);
+		exit(1);
+	}
+
+	current_buf = malloc(sizeof(*current_buf));
+	memset(current_buf, 0, sizeof(*current_buf));
+
+	current_file = file_lookup(name);
+	current_file->lineno = 1;
+	current_file->flags = FILE_BUSY;
+}
+
+void zconf_nextfile(const char *name)
+{
+	struct file *file = file_lookup(name);
+	struct buffer *buf = malloc(sizeof(*buf));
+	memset(buf, 0, sizeof(*buf));
+
+	current_buf->state = YY_CURRENT_BUFFER;
+	zconfin = zconf_fopen(file->name);
+	if (!zconfin) {
+		printf("%s:%d: can't open file \"%s\"\n",
+		    zconf_curname(), zconf_lineno(), file->name);
+		exit(1);
+	}
+	zconf_switch_to_buffer(zconf_create_buffer(zconfin,YY_BUF_SIZE));
+	buf->parent = current_buf;
+	current_buf = buf;
+
+	if (file->flags & FILE_BUSY) {
+		printf("%s:%d: do not source '%s' from itself\n",
+		       zconf_curname(), zconf_lineno(), name);
+		exit(1);
+	}
+	if (file->flags & FILE_SCANNED) {
+		printf("%s:%d: file '%s' is already sourced from '%s'\n",
+		       zconf_curname(), zconf_lineno(), name,
+		       file->parent->name);
+		exit(1);
+	}
+	file->flags |= FILE_BUSY;
+	file->lineno = 1;
+	file->parent = current_file;
+	current_file = file;
+}
+
+static void zconf_endfile(void)
+{
+	struct buffer *parent;
+
+	current_file->flags |= FILE_SCANNED;
+	current_file->flags &= ~FILE_BUSY;
+	current_file = current_file->parent;
+
+	parent = current_buf->parent;
+	if (parent) {
+		fclose(zconfin);
+		zconf_delete_buffer(YY_CURRENT_BUFFER);
+		zconf_switch_to_buffer(parent->state);
+	}
+	free(current_buf);
+	current_buf = parent;
+}
+
+int zconf_lineno(void)
+{
+	return current_pos.lineno;
+}
+
+const char *zconf_curname(void)
+{
+	return current_pos.file ? current_pos.file->name : "<none>";
+}
+
Binary files ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/kconfig/mconf and ../linux-2.6.39.4/scripts/kconfig/mconf differ
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/kconfig/zconf.hash.c ../linux-2.6.39.4/scripts/kconfig/zconf.hash.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/kconfig/zconf.hash.c	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/scripts/kconfig/zconf.hash.c	2011-10-22 06:41:35.289197201 +0530
@@ -0,0 +1,245 @@
+/* ANSI-C code produced by gperf version 3.0.3 */
+/* Command-line: gperf  */
+/* Computed positions: -k'1,3' */
+
+#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
+      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
+      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
+      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
+      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
+      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
+      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
+      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
+      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
+      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
+      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
+      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
+      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
+      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
+      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
+      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
+      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
+      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
+      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
+      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
+      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
+      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
+      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
+/* The character set is not based on ISO-646.  */
+#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
+#endif
+
+struct kconf_id;
+
+static struct kconf_id *kconf_id_lookup(register const char *str, register unsigned int len);
+/* maximum key range = 50, duplicates = 0 */
+
+#ifdef __GNUC__
+__inline
+#else
+#ifdef __cplusplus
+inline
+#endif
+#endif
+static unsigned int
+kconf_id_hash (register const char *str, register unsigned int len)
+{
+  static unsigned char asso_values[] =
+    {
+      52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+      52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+      52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+      52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+      52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+      52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+      52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+      52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+      52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+      52, 52, 52, 52, 52, 52, 52, 52, 40,  5,
+       0,  0,  5, 52,  0, 20, 52, 52, 10, 20,
+       5,  0, 35, 52,  0, 30,  0, 15,  0, 52,
+      15, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+      52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+      52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+      52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+      52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+      52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+      52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+      52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+      52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+      52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+      52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+      52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+      52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+      52, 52, 52, 52, 52, 52
+    };
+  register int hval = len;
+
+  switch (hval)
+    {
+      default:
+        hval += asso_values[(unsigned char)str[2]];
+      /*FALLTHROUGH*/
+      case 2:
+      case 1:
+        hval += asso_values[(unsigned char)str[0]];
+        break;
+    }
+  return hval;
+}
+
+struct kconf_id_strings_t
+  {
+    char kconf_id_strings_str2[sizeof("on")];
+    char kconf_id_strings_str3[sizeof("env")];
+    char kconf_id_strings_str5[sizeof("endif")];
+    char kconf_id_strings_str6[sizeof("option")];
+    char kconf_id_strings_str7[sizeof("endmenu")];
+    char kconf_id_strings_str8[sizeof("optional")];
+    char kconf_id_strings_str9[sizeof("endchoice")];
+    char kconf_id_strings_str10[sizeof("range")];
+    char kconf_id_strings_str11[sizeof("choice")];
+    char kconf_id_strings_str12[sizeof("default")];
+    char kconf_id_strings_str13[sizeof("def_bool")];
+    char kconf_id_strings_str14[sizeof("help")];
+    char kconf_id_strings_str16[sizeof("config")];
+    char kconf_id_strings_str17[sizeof("def_tristate")];
+    char kconf_id_strings_str18[sizeof("hex")];
+    char kconf_id_strings_str19[sizeof("defconfig_list")];
+    char kconf_id_strings_str22[sizeof("if")];
+    char kconf_id_strings_str23[sizeof("int")];
+    char kconf_id_strings_str27[sizeof("modules")];
+    char kconf_id_strings_str28[sizeof("tristate")];
+    char kconf_id_strings_str29[sizeof("menu")];
+    char kconf_id_strings_str32[sizeof("comment")];
+    char kconf_id_strings_str35[sizeof("menuconfig")];
+    char kconf_id_strings_str36[sizeof("string")];
+    char kconf_id_strings_str37[sizeof("visible")];
+    char kconf_id_strings_str41[sizeof("prompt")];
+    char kconf_id_strings_str42[sizeof("depends")];
+    char kconf_id_strings_str44[sizeof("bool")];
+    char kconf_id_strings_str46[sizeof("select")];
+    char kconf_id_strings_str47[sizeof("boolean")];
+    char kconf_id_strings_str48[sizeof("mainmenu")];
+    char kconf_id_strings_str51[sizeof("source")];
+  };
+static struct kconf_id_strings_t kconf_id_strings_contents =
+  {
+    "on",
+    "env",
+    "endif",
+    "option",
+    "endmenu",
+    "optional",
+    "endchoice",
+    "range",
+    "choice",
+    "default",
+    "def_bool",
+    "help",
+    "config",
+    "def_tristate",
+    "hex",
+    "defconfig_list",
+    "if",
+    "int",
+    "modules",
+    "tristate",
+    "menu",
+    "comment",
+    "menuconfig",
+    "string",
+    "visible",
+    "prompt",
+    "depends",
+    "bool",
+    "select",
+    "boolean",
+    "mainmenu",
+    "source"
+  };
+#define kconf_id_strings ((const char *) &kconf_id_strings_contents)
+#ifdef __GNUC__
+__inline
+#ifdef __GNUC_STDC_INLINE__
+__attribute__ ((__gnu_inline__))
+#endif
+#endif
+struct kconf_id *
+kconf_id_lookup (register const char *str, register unsigned int len)
+{
+  enum
+    {
+      TOTAL_KEYWORDS = 32,
+      MIN_WORD_LENGTH = 2,
+      MAX_WORD_LENGTH = 14,
+      MIN_HASH_VALUE = 2,
+      MAX_HASH_VALUE = 51
+    };
+
+  static struct kconf_id wordlist[] =
+    {
+      {-1}, {-1},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str2,		T_ON,		TF_PARAM},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str3,		T_OPT_ENV,	TF_OPTION},
+      {-1},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str5,		T_ENDIF,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str6,		T_OPTION,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str7,	T_ENDMENU,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str8,	T_OPTIONAL,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str9,	T_ENDCHOICE,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str10,		T_RANGE,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str11,		T_CHOICE,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str12,	T_DEFAULT,	TF_COMMAND, S_UNKNOWN},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str13,	T_DEFAULT,	TF_COMMAND, S_BOOLEAN},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str14,		T_HELP,		TF_COMMAND},
+      {-1},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str16,		T_CONFIG,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str17,	T_DEFAULT,	TF_COMMAND, S_TRISTATE},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str18,		T_TYPE,		TF_COMMAND, S_HEX},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str19,	T_OPT_DEFCONFIG_LIST,TF_OPTION},
+      {-1}, {-1},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str22,		T_IF,		TF_COMMAND|TF_PARAM},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str23,		T_TYPE,		TF_COMMAND, S_INT},
+      {-1}, {-1}, {-1},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str27,	T_OPT_MODULES,	TF_OPTION},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str28,	T_TYPE,		TF_COMMAND, S_TRISTATE},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str29,		T_MENU,		TF_COMMAND},
+      {-1}, {-1},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str32,	T_COMMENT,	TF_COMMAND},
+      {-1}, {-1},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str35,	T_MENUCONFIG,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str36,		T_TYPE,		TF_COMMAND, S_STRING},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str37,	T_VISIBLE,	TF_COMMAND},
+      {-1}, {-1}, {-1},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str41,		T_PROMPT,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str42,	T_DEPENDS,	TF_COMMAND},
+      {-1},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str44,		T_TYPE,		TF_COMMAND, S_BOOLEAN},
+      {-1},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str46,		T_SELECT,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str47,	T_TYPE,		TF_COMMAND, S_BOOLEAN},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str48,	T_MAINMENU,	TF_COMMAND},
+      {-1}, {-1},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str51,		T_SOURCE,	TF_COMMAND}
+    };
+
+  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+    {
+      register int key = kconf_id_hash (str, len);
+
+      if (key <= MAX_HASH_VALUE && key >= 0)
+        {
+          register int o = wordlist[key].name;
+          if (o >= 0)
+            {
+              register const char *s = o + kconf_id_strings;
+
+              if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
+                return &wordlist[key];
+            }
+        }
+    }
+  return 0;
+}
+
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/kconfig/zconf.tab.c ../linux-2.6.39.4/scripts/kconfig/zconf.tab.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/kconfig/zconf.tab.c	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/scripts/kconfig/zconf.tab.c	2011-10-22 06:39:57.710233489 +0530
@@ -0,0 +1,2505 @@
+
+/* A Bison parser, made by GNU Bison 2.4.1.  */
+
+/* Skeleton implementation for Bison's Yacc-like parsers in C
+   
+      Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+   Free Software Foundation, Inc.
+   
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation, either version 3 of the License, or
+   (at your option) any later version.
+   
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+   
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* As a special exception, you may create a larger work that contains
+   part or all of the Bison parser skeleton and distribute that work
+   under terms of your choice, so long as that work isn't itself a
+   parser generator using the skeleton or a modified version thereof
+   as a parser skeleton.  Alternatively, if you modify or redistribute
+   the parser skeleton itself, you may (at your option) remove this
+   special exception, which will cause the skeleton and the resulting
+   Bison output files to be licensed under the GNU General Public
+   License without this special exception.
+   
+   This special exception was added by the Free Software Foundation in
+   version 2.2 of Bison.  */
+
+/* C LALR(1) parser skeleton written by Richard Stallman, by
+   simplifying the original so-called "semantic" parser.  */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+   infringing on user name space.  This should be done even for local
+   variables, as they might otherwise be expanded by user macros.
+   There are some unavoidable exceptions within include files to
+   define necessary library symbols; they are noted "INFRINGES ON
+   USER NAME SPACE" below.  */
+
+/* Identify Bison output.  */
+#define YYBISON 1
+
+/* Bison version.  */
+#define YYBISON_VERSION "2.4.1"
+
+/* Skeleton name.  */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers.  */
+#define YYPURE 0
+
+/* Push parsers.  */
+#define YYPUSH 0
+
+/* Pull parsers.  */
+#define YYPULL 1
+
+/* Using locations.  */
+#define YYLSP_NEEDED 0
+
+/* Substitute the variable and function names.  */
+#define yyparse         zconfparse
+#define yylex           zconflex
+#define yyerror         zconferror
+#define yylval          zconflval
+#define yychar          zconfchar
+#define yydebug         zconfdebug
+#define yynerrs         zconfnerrs
+
+
+/* Copy the first part of user declarations.  */
+
+
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+#include <ctype.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdbool.h>
+
+#define LKC_DIRECT_LINK
+#include "lkc.h"
+
+#define printd(mask, fmt...) if (cdebug & (mask)) printf(fmt)
+
+#define PRINTD		0x0001
+#define DEBUG_PARSE	0x0002
+
+int cdebug = PRINTD;
+
+extern int zconflex(void);
+static void zconfprint(const char *err, ...);
+static void zconf_error(const char *err, ...);
+static void zconferror(const char *err);
+static bool zconf_endtoken(struct kconf_id *id, int starttoken, int endtoken);
+
+struct symbol *symbol_hash[SYMBOL_HASHSIZE];
+
+static struct menu *current_menu, *current_entry;
+
+#define YYDEBUG 0
+#if YYDEBUG
+#define YYERROR_VERBOSE
+#endif
+
+
+
+/* Enabling traces.  */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+
+/* Enabling verbose error messages.  */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
+#endif
+
+/* Enabling the token table.  */
+#ifndef YYTOKEN_TABLE
+# define YYTOKEN_TABLE 0
+#endif
+
+
+/* Tokens.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+   /* Put the tokens into the symbol table, so that GDB and other debuggers
+      know about them.  */
+   enum yytokentype {
+     T_MAINMENU = 258,
+     T_MENU = 259,
+     T_ENDMENU = 260,
+     T_SOURCE = 261,
+     T_CHOICE = 262,
+     T_ENDCHOICE = 263,
+     T_COMMENT = 264,
+     T_CONFIG = 265,
+     T_MENUCONFIG = 266,
+     T_HELP = 267,
+     T_HELPTEXT = 268,
+     T_IF = 269,
+     T_ENDIF = 270,
+     T_DEPENDS = 271,
+     T_OPTIONAL = 272,
+     T_PROMPT = 273,
+     T_TYPE = 274,
+     T_DEFAULT = 275,
+     T_SELECT = 276,
+     T_RANGE = 277,
+     T_VISIBLE = 278,
+     T_OPTION = 279,
+     T_ON = 280,
+     T_WORD = 281,
+     T_WORD_QUOTE = 282,
+     T_UNEQUAL = 283,
+     T_CLOSE_PAREN = 284,
+     T_OPEN_PAREN = 285,
+     T_EOL = 286,
+     T_OR = 287,
+     T_AND = 288,
+     T_EQUAL = 289,
+     T_NOT = 290
+   };
+#endif
+
+
+
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+typedef union YYSTYPE
+{
+
+
+	char *string;
+	struct file *file;
+	struct symbol *symbol;
+	struct expr *expr;
+	struct menu *menu;
+	struct kconf_id *id;
+
+
+
+} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+#endif
+
+
+/* Copy the second part of user declarations.  */
+
+
+/* Include zconf.hash.c here so it can see the token constants. */
+#include "zconf.hash.c"
+
+
+
+#ifdef short
+# undef short
+#endif
+
+#ifdef YYTYPE_UINT8
+typedef YYTYPE_UINT8 yytype_uint8;
+#else
+typedef unsigned char yytype_uint8;
+#endif
+
+#ifdef YYTYPE_INT8
+typedef YYTYPE_INT8 yytype_int8;
+#elif (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+typedef signed char yytype_int8;
+#else
+typedef short int yytype_int8;
+#endif
+
+#ifdef YYTYPE_UINT16
+typedef YYTYPE_UINT16 yytype_uint16;
+#else
+typedef unsigned short int yytype_uint16;
+#endif
+
+#ifdef YYTYPE_INT16
+typedef YYTYPE_INT16 yytype_int16;
+#else
+typedef short int yytype_int16;
+#endif
+
+#ifndef YYSIZE_T
+# ifdef __SIZE_TYPE__
+#  define YYSIZE_T __SIZE_TYPE__
+# elif defined size_t
+#  define YYSIZE_T size_t
+# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYSIZE_T size_t
+# else
+#  define YYSIZE_T unsigned int
+# endif
+#endif
+
+#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
+
+#ifndef YY_
+# if YYENABLE_NLS
+#  if ENABLE_NLS
+#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
+#   define YY_(msgid) dgettext ("bison-runtime", msgid)
+#  endif
+# endif
+# ifndef YY_
+#  define YY_(msgid) msgid
+# endif
+#endif
+
+/* Suppress unused-variable warnings by "using" E.  */
+#if ! defined lint || defined __GNUC__
+# define YYUSE(e) ((void) (e))
+#else
+# define YYUSE(e) /* empty */
+#endif
+
+/* Identity function, used to suppress warnings about constant conditions.  */
+#ifndef lint
+# define YYID(n) (n)
+#else
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static int
+YYID (int yyi)
+#else
+static int
+YYID (yyi)
+    int yyi;
+#endif
+{
+  return yyi;
+}
+#endif
+
+#if ! defined yyoverflow || YYERROR_VERBOSE
+
+/* The parser invokes alloca or malloc; define the necessary symbols.  */
+
+# ifdef YYSTACK_USE_ALLOCA
+#  if YYSTACK_USE_ALLOCA
+#   ifdef __GNUC__
+#    define YYSTACK_ALLOC __builtin_alloca
+#   elif defined __BUILTIN_VA_ARG_INCR
+#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
+#   elif defined _AIX
+#    define YYSTACK_ALLOC __alloca
+#   elif defined _MSC_VER
+#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
+#    define alloca _alloca
+#   else
+#    define YYSTACK_ALLOC alloca
+#    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+#     ifndef _STDLIB_H
+#      define _STDLIB_H 1
+#     endif
+#    endif
+#   endif
+#  endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+   /* Pacify GCC's `empty if-body' warning.  */
+#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
+#  ifndef YYSTACK_ALLOC_MAXIMUM
+    /* The OS might guarantee only one guard page at the bottom of the stack,
+       and a page size can be as small as 4096 bytes.  So we cannot safely
+       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
+       to allow for a few compiler-allocated temporary stack slots.  */
+#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
+#  endif
+# else
+#  define YYSTACK_ALLOC YYMALLOC
+#  define YYSTACK_FREE YYFREE
+#  ifndef YYSTACK_ALLOC_MAXIMUM
+#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
+#  endif
+#  if (defined __cplusplus && ! defined _STDLIB_H \
+       && ! ((defined YYMALLOC || defined malloc) \
+	     && (defined YYFREE || defined free)))
+#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+#   ifndef _STDLIB_H
+#    define _STDLIB_H 1
+#   endif
+#  endif
+#  ifndef YYMALLOC
+#   define YYMALLOC malloc
+#   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
+#   endif
+#  endif
+#  ifndef YYFREE
+#   define YYFREE free
+#   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+void free (void *); /* INFRINGES ON USER NAME SPACE */
+#   endif
+#  endif
+# endif
+#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
+
+
+#if (! defined yyoverflow \
+     && (! defined __cplusplus \
+	 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member.  */
+union yyalloc
+{
+  yytype_int16 yyss_alloc;
+  YYSTYPE yyvs_alloc;
+};
+
+/* The size of the maximum gap between one aligned stack and the next.  */
+# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+   N elements.  */
+# define YYSTACK_BYTES(N) \
+     ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
+      + YYSTACK_GAP_MAXIMUM)
+
+/* Copy COUNT objects from FROM to TO.  The source and destination do
+   not overlap.  */
+# ifndef YYCOPY
+#  if defined __GNUC__ && 1 < __GNUC__
+#   define YYCOPY(To, From, Count) \
+      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
+#  else
+#   define YYCOPY(To, From, Count)		\
+      do					\
+	{					\
+	  YYSIZE_T yyi;				\
+	  for (yyi = 0; yyi < (Count); yyi++)	\
+	    (To)[yyi] = (From)[yyi];		\
+	}					\
+      while (YYID (0))
+#  endif
+# endif
+
+/* Relocate STACK from its old location to the new one.  The
+   local variables YYSIZE and YYSTACKSIZE give the old and new number of
+   elements in the stack, and YYPTR gives the new location of the
+   stack.  Advance YYPTR to a properly aligned location for the next
+   stack.  */
+# define YYSTACK_RELOCATE(Stack_alloc, Stack)				\
+    do									\
+      {									\
+	YYSIZE_T yynewbytes;						\
+	YYCOPY (&yyptr->Stack_alloc, Stack, yysize);			\
+	Stack = &yyptr->Stack_alloc;					\
+	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+	yyptr += yynewbytes / sizeof (*yyptr);				\
+      }									\
+    while (YYID (0))
+
+#endif
+
+/* YYFINAL -- State number of the termination state.  */
+#define YYFINAL  11
+/* YYLAST -- Last index in YYTABLE.  */
+#define YYLAST   290
+
+/* YYNTOKENS -- Number of terminals.  */
+#define YYNTOKENS  36
+/* YYNNTS -- Number of nonterminals.  */
+#define YYNNTS  50
+/* YYNRULES -- Number of rules.  */
+#define YYNRULES  118
+/* YYNRULES -- Number of states.  */
+#define YYNSTATES  191
+
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
+#define YYUNDEFTOK  2
+#define YYMAXUTOK   290
+
+#define YYTRANSLATE(YYX)						\
+  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
+static const yytype_uint8 yytranslate[] =
+{
+       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
+      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
+      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
+      35
+};
+
+#if YYDEBUG
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+   YYRHS.  */
+static const yytype_uint16 yyprhs[] =
+{
+       0,     0,     3,     6,     8,    11,    13,    14,    17,    20,
+      23,    26,    31,    36,    40,    42,    44,    46,    48,    50,
+      52,    54,    56,    58,    60,    62,    64,    66,    68,    72,
+      75,    79,    82,    86,    89,    90,    93,    96,    99,   102,
+     105,   108,   112,   117,   122,   127,   133,   137,   138,   142,
+     143,   146,   150,   153,   155,   159,   160,   163,   166,   169,
+     172,   175,   180,   184,   187,   192,   193,   196,   200,   202,
+     206,   207,   210,   213,   216,   220,   224,   228,   230,   234,
+     235,   238,   241,   244,   248,   252,   255,   258,   261,   262,
+     265,   268,   271,   276,   277,   280,   283,   286,   287,   290,
+     292,   294,   297,   300,   303,   305,   308,   309,   312,   314,
+     318,   322,   326,   329,   333,   337,   339,   341,   342
+};
+
+/* YYRHS -- A `-1'-separated list of the rules' RHS.  */
+static const yytype_int8 yyrhs[] =
+{
+      37,     0,    -1,    81,    38,    -1,    38,    -1,    63,    39,
+      -1,    39,    -1,    -1,    39,    41,    -1,    39,    55,    -1,
+      39,    67,    -1,    39,    80,    -1,    39,    26,     1,    31,
+      -1,    39,    40,     1,    31,    -1,    39,     1,    31,    -1,
+      16,    -1,    18,    -1,    19,    -1,    21,    -1,    17,    -1,
+      22,    -1,    20,    -1,    23,    -1,    31,    -1,    61,    -1,
+      71,    -1,    44,    -1,    46,    -1,    69,    -1,    26,     1,
+      31,    -1,     1,    31,    -1,    10,    26,    31,    -1,    43,
+      47,    -1,    11,    26,    31,    -1,    45,    47,    -1,    -1,
+      47,    48,    -1,    47,    49,    -1,    47,    75,    -1,    47,
+      73,    -1,    47,    42,    -1,    47,    31,    -1,    19,    78,
+      31,    -1,    18,    79,    82,    31,    -1,    20,    83,    82,
+      31,    -1,    21,    26,    82,    31,    -1,    22,    84,    84,
+      82,    31,    -1,    24,    50,    31,    -1,    -1,    50,    26,
+      51,    -1,    -1,    34,    79,    -1,     7,    85,    31,    -1,
+      52,    56,    -1,    80,    -1,    53,    58,    54,    -1,    -1,
+      56,    57,    -1,    56,    75,    -1,    56,    73,    -1,    56,
+      31,    -1,    56,    42,    -1,    18,    79,    82,    31,    -1,
+      19,    78,    31,    -1,    17,    31,    -1,    20,    26,    82,
+      31,    -1,    -1,    58,    41,    -1,    14,    83,    81,    -1,
+      80,    -1,    59,    62,    60,    -1,    -1,    62,    41,    -1,
+      62,    67,    -1,    62,    55,    -1,     3,    79,    81,    -1,
+       4,    79,    31,    -1,    64,    76,    74,    -1,    80,    -1,
+      65,    68,    66,    -1,    -1,    68,    41,    -1,    68,    67,
+      -1,    68,    55,    -1,     6,    79,    31,    -1,     9,    79,
+      31,    -1,    70,    74,    -1,    12,    31,    -1,    72,    13,
+      -1,    -1,    74,    75,    -1,    74,    31,    -1,    74,    42,
+      -1,    16,    25,    83,    31,    -1,    -1,    76,    77,    -1,
+      76,    31,    -1,    23,    82,    -1,    -1,    79,    82,    -1,
+      26,    -1,    27,    -1,     5,    31,    -1,     8,    31,    -1,
+      15,    31,    -1,    31,    -1,    81,    31,    -1,    -1,    14,
+      83,    -1,    84,    -1,    84,    34,    84,    -1,    84,    28,
+      84,    -1,    30,    83,    29,    -1,    35,    83,    -1,    83,
+      32,    83,    -1,    83,    33,    83,    -1,    26,    -1,    27,
+      -1,    -1,    26,    -1
+};
+
+/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
+static const yytype_uint16 yyrline[] =
+{
+       0,   108,   108,   108,   110,   110,   112,   114,   115,   116,
+     117,   118,   119,   123,   127,   127,   127,   127,   127,   127,
+     127,   127,   131,   132,   133,   134,   135,   136,   140,   141,
+     147,   155,   161,   169,   179,   181,   182,   183,   184,   185,
+     186,   189,   197,   203,   213,   219,   225,   228,   230,   241,
+     242,   247,   256,   261,   269,   272,   274,   275,   276,   277,
+     278,   281,   287,   298,   304,   314,   316,   321,   329,   337,
+     340,   342,   343,   344,   349,   356,   363,   368,   376,   379,
+     381,   382,   383,   386,   394,   401,   408,   414,   421,   423,
+     424,   425,   428,   436,   438,   439,   442,   449,   451,   456,
+     457,   460,   461,   462,   466,   467,   470,   471,   474,   475,
+     476,   477,   478,   479,   480,   483,   484,   487,   488
+};
+#endif
+
+#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
+/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
+static const char *const yytname[] =
+{
+  "$end", "error", "$undefined", "T_MAINMENU", "T_MENU", "T_ENDMENU",
+  "T_SOURCE", "T_CHOICE", "T_ENDCHOICE", "T_COMMENT", "T_CONFIG",
+  "T_MENUCONFIG", "T_HELP", "T_HELPTEXT", "T_IF", "T_ENDIF", "T_DEPENDS",
+  "T_OPTIONAL", "T_PROMPT", "T_TYPE", "T_DEFAULT", "T_SELECT", "T_RANGE",
+  "T_VISIBLE", "T_OPTION", "T_ON", "T_WORD", "T_WORD_QUOTE", "T_UNEQUAL",
+  "T_CLOSE_PAREN", "T_OPEN_PAREN", "T_EOL", "T_OR", "T_AND", "T_EQUAL",
+  "T_NOT", "$accept", "input", "start", "stmt_list", "option_name",
+  "common_stmt", "option_error", "config_entry_start", "config_stmt",
+  "menuconfig_entry_start", "menuconfig_stmt", "config_option_list",
+  "config_option", "symbol_option", "symbol_option_list",
+  "symbol_option_arg", "choice", "choice_entry", "choice_end",
+  "choice_stmt", "choice_option_list", "choice_option", "choice_block",
+  "if_entry", "if_end", "if_stmt", "if_block", "mainmenu_stmt", "menu",
+  "menu_entry", "menu_end", "menu_stmt", "menu_block", "source_stmt",
+  "comment", "comment_stmt", "help_start", "help", "depends_list",
+  "depends", "visibility_list", "visible", "prompt_stmt_opt", "prompt",
+  "end", "nl", "if_expr", "expr", "symbol", "word_opt", 0
+};
+#endif
+
+# ifdef YYPRINT
+/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+   token YYLEX-NUM.  */
+static const yytype_uint16 yytoknum[] =
+{
+       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
+     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
+     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
+     285,   286,   287,   288,   289,   290
+};
+# endif
+
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
+static const yytype_uint8 yyr1[] =
+{
+       0,    36,    37,    37,    38,    38,    39,    39,    39,    39,
+      39,    39,    39,    39,    40,    40,    40,    40,    40,    40,
+      40,    40,    41,    41,    41,    41,    41,    41,    42,    42,
+      43,    44,    45,    46,    47,    47,    47,    47,    47,    47,
+      47,    48,    48,    48,    48,    48,    49,    50,    50,    51,
+      51,    52,    53,    54,    55,    56,    56,    56,    56,    56,
+      56,    57,    57,    57,    57,    58,    58,    59,    60,    61,
+      62,    62,    62,    62,    63,    64,    65,    66,    67,    68,
+      68,    68,    68,    69,    70,    71,    72,    73,    74,    74,
+      74,    74,    75,    76,    76,    76,    77,    78,    78,    79,
+      79,    80,    80,    80,    81,    81,    82,    82,    83,    83,
+      83,    83,    83,    83,    83,    84,    84,    85,    85
+};
+
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
+static const yytype_uint8 yyr2[] =
+{
+       0,     2,     2,     1,     2,     1,     0,     2,     2,     2,
+       2,     4,     4,     3,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     3,     2,
+       3,     2,     3,     2,     0,     2,     2,     2,     2,     2,
+       2,     3,     4,     4,     4,     5,     3,     0,     3,     0,
+       2,     3,     2,     1,     3,     0,     2,     2,     2,     2,
+       2,     4,     3,     2,     4,     0,     2,     3,     1,     3,
+       0,     2,     2,     2,     3,     3,     3,     1,     3,     0,
+       2,     2,     2,     3,     3,     2,     2,     2,     0,     2,
+       2,     2,     4,     0,     2,     2,     2,     0,     2,     1,
+       1,     2,     2,     2,     1,     2,     0,     2,     1,     3,
+       3,     3,     2,     3,     3,     1,     1,     0,     1
+};
+
+/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
+   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
+   means the default is an error.  */
+static const yytype_uint8 yydefact[] =
+{
+       6,     0,   104,     0,     3,     0,     6,     6,    99,   100,
+       0,     1,     0,     0,     0,     0,   117,     0,     0,     0,
+       0,     0,     0,    14,    18,    15,    16,    20,    17,    19,
+      21,     0,    22,     0,     7,    34,    25,    34,    26,    55,
+      65,     8,    70,    23,    93,    79,     9,    27,    88,    24,
+      10,     0,   105,     2,    74,    13,     0,   101,     0,   118,
+       0,   102,     0,     0,     0,   115,   116,     0,     0,     0,
+     108,   103,     0,     0,     0,     0,     0,     0,     0,    88,
+       0,     0,    75,    83,    51,    84,    30,    32,     0,   112,
+       0,     0,    67,     0,     0,    11,    12,     0,     0,     0,
+       0,    97,     0,     0,     0,    47,     0,    40,    39,    35,
+      36,     0,    38,    37,     0,     0,    97,     0,    59,    60,
+      56,    58,    57,    66,    54,    53,    71,    73,    69,    72,
+      68,   106,    95,     0,    94,    80,    82,    78,    81,    77,
+      90,    91,    89,   111,   113,   114,   110,   109,    29,    86,
+       0,   106,     0,   106,   106,   106,     0,     0,     0,    87,
+      63,   106,     0,   106,     0,    96,     0,     0,    41,    98,
+       0,     0,   106,    49,    46,    28,     0,    62,     0,   107,
+      92,    42,    43,    44,     0,     0,    48,    61,    64,    45,
+      50
+};
+
+/* YYDEFGOTO[NTERM-NUM].  */
+static const yytype_int16 yydefgoto[] =
+{
+      -1,     3,     4,     5,    33,    34,   108,    35,    36,    37,
+      38,    74,   109,   110,   157,   186,    39,    40,   124,    41,
+      76,   120,    77,    42,   128,    43,    78,     6,    44,    45,
+     137,    46,    80,    47,    48,    49,   111,   112,    81,   113,
+      79,   134,   152,   153,    50,     7,   165,    69,    70,    60
+};
+
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+   STATE-NUM.  */
+#define YYPACT_NINF -90
+static const yytype_int16 yypact[] =
+{
+       4,    42,   -90,    96,   -90,   111,   -90,    15,   -90,   -90,
+      75,   -90,    82,    42,   104,    42,   110,   107,    42,   115,
+     125,    -4,   121,   -90,   -90,   -90,   -90,   -90,   -90,   -90,
+     -90,   162,   -90,   163,   -90,   -90,   -90,   -90,   -90,   -90,
+     -90,   -90,   -90,   -90,   -90,   -90,   -90,   -90,   -90,   -90,
+     -90,   139,   -90,   -90,   138,   -90,   142,   -90,   143,   -90,
+     152,   -90,   164,   167,   168,   -90,   -90,    -4,    -4,    77,
+     -18,   -90,   177,   185,    33,    71,   195,   247,   236,    -2,
+     236,   171,   -90,   -90,   -90,   -90,   -90,   -90,    41,   -90,
+      -4,    -4,   138,    97,    97,   -90,   -90,   186,   187,   194,
+      42,    42,    -4,   196,    97,   -90,   219,   -90,   -90,   -90,
+     -90,   210,   -90,   -90,   204,    42,    42,   199,   -90,   -90,
+     -90,   -90,   -90,   -90,   -90,   -90,   -90,   -90,   -90,   -90,
+     -90,   222,   -90,   223,   -90,   -90,   -90,   -90,   -90,   -90,
+     -90,   -90,   -90,   -90,   215,   -90,   -90,   -90,   -90,   -90,
+      -4,   222,   228,   222,    -5,   222,    97,    35,   229,   -90,
+     -90,   222,   232,   222,    -4,   -90,   135,   233,   -90,   -90,
+     234,   235,   222,   240,   -90,   -90,   237,   -90,   239,   -13,
+     -90,   -90,   -90,   -90,   244,    42,   -90,   -90,   -90,   -90,
+     -90
+};
+
+/* YYPGOTO[NTERM-NUM].  */
+static const yytype_int16 yypgoto[] =
+{
+     -90,   -90,   269,   271,   -90,    23,   -70,   -90,   -90,   -90,
+     -90,   243,   -90,   -90,   -90,   -90,   -90,   -90,   -90,   -48,
+     -90,   -90,   -90,   -90,   -90,   -90,   -90,   -90,   -90,   -90,
+     -90,   -20,   -90,   -90,   -90,   -90,   -90,   206,   205,   -68,
+     -90,   -90,   169,    -1,    27,    -7,   118,   -66,   -89,   -90
+};
+
+/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
+   positive, shift that token.  If negative, reduce the rule which
+   number is the opposite.  If zero, do what YYDEFACT says.
+   If YYTABLE_NINF, syntax error.  */
+#define YYTABLE_NINF -86
+static const yytype_int16 yytable[] =
+{
+      10,    88,    89,    54,   146,   147,   119,     1,   122,   164,
+      93,   141,    56,   142,    58,   156,    94,    62,     1,    90,
+      91,   131,    65,    66,   144,   145,    67,    90,    91,   132,
+     127,    68,   136,   -31,    97,     2,   154,   -31,   -31,   -31,
+     -31,   -31,   -31,   -31,   -31,    98,    52,   -31,   -31,    99,
+     -31,   100,   101,   102,   103,   104,   -31,   105,   129,   106,
+     138,   173,    92,   141,   107,   142,   174,   172,     8,     9,
+     143,   -33,    97,    90,    91,   -33,   -33,   -33,   -33,   -33,
+     -33,   -33,   -33,    98,   166,   -33,   -33,    99,   -33,   100,
+     101,   102,   103,   104,   -33,   105,    11,   106,   179,   151,
+     123,   126,   107,   135,   125,   130,     2,   139,     2,    90,
+      91,    -5,    12,    55,   161,    13,    14,    15,    16,    17,
+      18,    19,    20,    65,    66,    21,    22,    23,    24,    25,
+      26,    27,    28,    29,    30,    57,    59,    31,    61,    -4,
+      12,    63,    32,    13,    14,    15,    16,    17,    18,    19,
+      20,    64,    71,    21,    22,    23,    24,    25,    26,    27,
+      28,    29,    30,    72,    73,    31,   180,    90,    91,    52,
+      32,   -85,    97,    82,    83,   -85,   -85,   -85,   -85,   -85,
+     -85,   -85,   -85,    84,   190,   -85,   -85,    99,   -85,   -85,
+     -85,   -85,   -85,   -85,   -85,    85,    97,   106,    86,    87,
+     -52,   -52,   140,   -52,   -52,   -52,   -52,    98,    95,   -52,
+     -52,    99,   114,   115,   116,   117,    96,   148,   149,   150,
+     158,   106,   155,   159,    97,   163,   118,   -76,   -76,   -76,
+     -76,   -76,   -76,   -76,   -76,   160,   164,   -76,   -76,    99,
+      13,    14,    15,    16,    17,    18,    19,    20,    91,   106,
+      21,    22,    14,    15,   140,    17,    18,    19,    20,   168,
+     175,    21,    22,   177,   181,   182,   183,    32,   187,   167,
+     188,   169,   170,   171,   185,   189,    53,    51,    32,   176,
+      75,   178,   121,     0,   133,   162,     0,     0,     0,     0,
+     184
+};
+
+static const yytype_int16 yycheck[] =
+{
+       1,    67,    68,    10,    93,    94,    76,     3,    76,    14,
+      28,    81,    13,    81,    15,   104,    34,    18,     3,    32,
+      33,    23,    26,    27,    90,    91,    30,    32,    33,    31,
+      78,    35,    80,     0,     1,    31,   102,     4,     5,     6,
+       7,     8,     9,    10,    11,    12,    31,    14,    15,    16,
+      17,    18,    19,    20,    21,    22,    23,    24,    78,    26,
+      80,    26,    69,   133,    31,   133,    31,   156,    26,    27,
+      29,     0,     1,    32,    33,     4,     5,     6,     7,     8,
+       9,    10,    11,    12,   150,    14,    15,    16,    17,    18,
+      19,    20,    21,    22,    23,    24,     0,    26,   164,   100,
+      77,    78,    31,    80,    77,    78,    31,    80,    31,    32,
+      33,     0,     1,    31,   115,     4,     5,     6,     7,     8,
+       9,    10,    11,    26,    27,    14,    15,    16,    17,    18,
+      19,    20,    21,    22,    23,    31,    26,    26,    31,     0,
+       1,    26,    31,     4,     5,     6,     7,     8,     9,    10,
+      11,    26,    31,    14,    15,    16,    17,    18,    19,    20,
+      21,    22,    23,     1,     1,    26,    31,    32,    33,    31,
+      31,     0,     1,    31,    31,     4,     5,     6,     7,     8,
+       9,    10,    11,    31,   185,    14,    15,    16,    17,    18,
+      19,    20,    21,    22,    23,    31,     1,    26,    31,    31,
+       5,     6,    31,     8,     9,    10,    11,    12,    31,    14,
+      15,    16,    17,    18,    19,    20,    31,    31,    31,    25,
+       1,    26,    26,    13,     1,    26,    31,     4,     5,     6,
+       7,     8,     9,    10,    11,    31,    14,    14,    15,    16,
+       4,     5,     6,     7,     8,     9,    10,    11,    33,    26,
+      14,    15,     5,     6,    31,     8,     9,    10,    11,    31,
+      31,    14,    15,    31,    31,    31,    31,    31,    31,   151,
+      31,   153,   154,   155,    34,    31,     7,     6,    31,   161,
+      37,   163,    76,    -1,    79,   116,    -1,    -1,    -1,    -1,
+     172
+};
+
+/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+   symbol of state STATE-NUM.  */
+static const yytype_uint8 yystos[] =
+{
+       0,     3,    31,    37,    38,    39,    63,    81,    26,    27,
+      79,     0,     1,     4,     5,     6,     7,     8,     9,    10,
+      11,    14,    15,    16,    17,    18,    19,    20,    21,    22,
+      23,    26,    31,    40,    41,    43,    44,    45,    46,    52,
+      53,    55,    59,    61,    64,    65,    67,    69,    70,    71,
+      80,    39,    31,    38,    81,    31,    79,    31,    79,    26,
+      85,    31,    79,    26,    26,    26,    27,    30,    35,    83,
+      84,    31,     1,     1,    47,    47,    56,    58,    62,    76,
+      68,    74,    31,    31,    31,    31,    31,    31,    83,    83,
+      32,    33,    81,    28,    34,    31,    31,     1,    12,    16,
+      18,    19,    20,    21,    22,    24,    26,    31,    42,    48,
+      49,    72,    73,    75,    17,    18,    19,    20,    31,    42,
+      57,    73,    75,    41,    54,    80,    41,    55,    60,    67,
+      80,    23,    31,    74,    77,    41,    55,    66,    67,    80,
+      31,    42,    75,    29,    83,    83,    84,    84,    31,    31,
+      25,    79,    78,    79,    83,    26,    84,    50,     1,    13,
+      31,    79,    78,    26,    14,    82,    83,    82,    31,    82,
+      82,    82,    84,    26,    31,    31,    82,    31,    82,    83,
+      31,    31,    31,    31,    82,    34,    51,    31,    31,    31,
+      79
+};
+
+#define yyerrok		(yyerrstatus = 0)
+#define yyclearin	(yychar = YYEMPTY)
+#define YYEMPTY		(-2)
+#define YYEOF		0
+
+#define YYACCEPT	goto yyacceptlab
+#define YYABORT		goto yyabortlab
+#define YYERROR		goto yyerrorlab
+
+
+/* Like YYERROR except do call yyerror.  This remains here temporarily
+   to ease the transition to the new meaning of YYERROR, for GCC.
+   Once GCC version 2 has supplanted version 1, this can go.  */
+
+#define YYFAIL		goto yyerrlab
+
+#define YYRECOVERING()  (!!yyerrstatus)
+
+#define YYBACKUP(Token, Value)					\
+do								\
+  if (yychar == YYEMPTY && yylen == 1)				\
+    {								\
+      yychar = (Token);						\
+      yylval = (Value);						\
+      yytoken = YYTRANSLATE (yychar);				\
+      YYPOPSTACK (1);						\
+      goto yybackup;						\
+    }								\
+  else								\
+    {								\
+      yyerror (YY_("syntax error: cannot back up")); \
+      YYERROR;							\
+    }								\
+while (YYID (0))
+
+
+#define YYTERROR	1
+#define YYERRCODE	256
+
+
+/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
+   If N is 0, then set CURRENT to the empty location which ends
+   the previous symbol: RHS[0] (always defined).  */
+
+#define YYRHSLOC(Rhs, K) ((Rhs)[K])
+#ifndef YYLLOC_DEFAULT
+# define YYLLOC_DEFAULT(Current, Rhs, N)				\
+    do									\
+      if (YYID (N))                                                    \
+	{								\
+	  (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;	\
+	  (Current).first_column = YYRHSLOC (Rhs, 1).first_column;	\
+	  (Current).last_line    = YYRHSLOC (Rhs, N).last_line;		\
+	  (Current).last_column  = YYRHSLOC (Rhs, N).last_column;	\
+	}								\
+      else								\
+	{								\
+	  (Current).first_line   = (Current).last_line   =		\
+	    YYRHSLOC (Rhs, 0).last_line;				\
+	  (Current).first_column = (Current).last_column =		\
+	    YYRHSLOC (Rhs, 0).last_column;				\
+	}								\
+    while (YYID (0))
+#endif
+
+
+/* YY_LOCATION_PRINT -- Print the location on the stream.
+   This macro was not mandated originally: define only if we know
+   we won't break user code: when these are the locations we know.  */
+
+#ifndef YY_LOCATION_PRINT
+# if YYLTYPE_IS_TRIVIAL
+#  define YY_LOCATION_PRINT(File, Loc)			\
+     fprintf (File, "%d.%d-%d.%d",			\
+	      (Loc).first_line, (Loc).first_column,	\
+	      (Loc).last_line,  (Loc).last_column)
+# else
+#  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
+# endif
+#endif
+
+
+/* YYLEX -- calling `yylex' with the right arguments.  */
+
+#ifdef YYLEX_PARAM
+# define YYLEX yylex (YYLEX_PARAM)
+#else
+# define YYLEX yylex ()
+#endif
+
+/* Enable debugging if requested.  */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args)			\
+do {						\
+  if (yydebug)					\
+    YYFPRINTF Args;				\
+} while (YYID (0))
+
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)			  \
+do {									  \
+  if (yydebug)								  \
+    {									  \
+      YYFPRINTF (stderr, "%s ", Title);					  \
+      yy_symbol_print (stderr,						  \
+		  Type, Value); \
+      YYFPRINTF (stderr, "\n");						  \
+    }									  \
+} while (YYID (0))
+
+
+/*--------------------------------.
+| Print this symbol on YYOUTPUT.  |
+`--------------------------------*/
+
+/*ARGSUSED*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+#else
+static void
+yy_symbol_value_print (yyoutput, yytype, yyvaluep)
+    FILE *yyoutput;
+    int yytype;
+    YYSTYPE const * const yyvaluep;
+#endif
+{
+  if (!yyvaluep)
+    return;
+# ifdef YYPRINT
+  if (yytype < YYNTOKENS)
+    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# else
+  YYUSE (yyoutput);
+# endif
+  switch (yytype)
+    {
+      default:
+	break;
+    }
+}
+
+
+/*--------------------------------.
+| Print this symbol on YYOUTPUT.  |
+`--------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+#else
+static void
+yy_symbol_print (yyoutput, yytype, yyvaluep)
+    FILE *yyoutput;
+    int yytype;
+    YYSTYPE const * const yyvaluep;
+#endif
+{
+  if (yytype < YYNTOKENS)
+    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
+  else
+    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+
+  yy_symbol_value_print (yyoutput, yytype, yyvaluep);
+  YYFPRINTF (yyoutput, ")");
+}
+
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included).                                                   |
+`------------------------------------------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
+#else
+static void
+yy_stack_print (yybottom, yytop)
+    yytype_int16 *yybottom;
+    yytype_int16 *yytop;
+#endif
+{
+  YYFPRINTF (stderr, "Stack now");
+  for (; yybottom <= yytop; yybottom++)
+    {
+      int yybot = *yybottom;
+      YYFPRINTF (stderr, " %d", yybot);
+    }
+  YYFPRINTF (stderr, "\n");
+}
+
+# define YY_STACK_PRINT(Bottom, Top)				\
+do {								\
+  if (yydebug)							\
+    yy_stack_print ((Bottom), (Top));				\
+} while (YYID (0))
+
+
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced.  |
+`------------------------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
+#else
+static void
+yy_reduce_print (yyvsp, yyrule)
+    YYSTYPE *yyvsp;
+    int yyrule;
+#endif
+{
+  int yynrhs = yyr2[yyrule];
+  int yyi;
+  unsigned long int yylno = yyrline[yyrule];
+  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
+	     yyrule - 1, yylno);
+  /* The symbols being reduced.  */
+  for (yyi = 0; yyi < yynrhs; yyi++)
+    {
+      YYFPRINTF (stderr, "   $%d = ", yyi + 1);
+      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
+		       &(yyvsp[(yyi + 1) - (yynrhs)])
+		       		       );
+      YYFPRINTF (stderr, "\n");
+    }
+}
+
+# define YY_REDUCE_PRINT(Rule)		\
+do {					\
+  if (yydebug)				\
+    yy_reduce_print (yyvsp, Rule); \
+} while (YYID (0))
+
+/* Nonzero means print parse trace.  It is left uninitialized so that
+   multiple parsers can coexist.  */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args)
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
+
+
+/* YYINITDEPTH -- initial size of the parser's stacks.  */
+#ifndef	YYINITDEPTH
+# define YYINITDEPTH 200
+#endif
+
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+   if the built-in stack extension method is used).
+
+   Do not make this value too large; the results are undefined if
+   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
+   evaluated with infinite-precision integer arithmetic.  */
+
+#ifndef YYMAXDEPTH
+# define YYMAXDEPTH 10000
+#endif
+
+\f
+
+#if YYERROR_VERBOSE
+
+# ifndef yystrlen
+#  if defined __GLIBC__ && defined _STRING_H
+#   define yystrlen strlen
+#  else
+/* Return the length of YYSTR.  */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static YYSIZE_T
+yystrlen (const char *yystr)
+#else
+static YYSIZE_T
+yystrlen (yystr)
+    const char *yystr;
+#endif
+{
+  YYSIZE_T yylen;
+  for (yylen = 0; yystr[yylen]; yylen++)
+    continue;
+  return yylen;
+}
+#  endif
+# endif
+
+# ifndef yystpcpy
+#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
+#   define yystpcpy stpcpy
+#  else
+/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+   YYDEST.  */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static char *
+yystpcpy (char *yydest, const char *yysrc)
+#else
+static char *
+yystpcpy (yydest, yysrc)
+    char *yydest;
+    const char *yysrc;
+#endif
+{
+  char *yyd = yydest;
+  const char *yys = yysrc;
+
+  while ((*yyd++ = *yys++) != '\0')
+    continue;
+
+  return yyd - 1;
+}
+#  endif
+# endif
+
+# ifndef yytnamerr
+/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
+   quotes and backslashes, so that it's suitable for yyerror.  The
+   heuristic is that double-quoting is unnecessary unless the string
+   contains an apostrophe, a comma, or backslash (other than
+   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
+   null, do not copy; instead, return the length of what the result
+   would have been.  */
+static YYSIZE_T
+yytnamerr (char *yyres, const char *yystr)
+{
+  if (*yystr == '"')
+    {
+      YYSIZE_T yyn = 0;
+      char const *yyp = yystr;
+
+      for (;;)
+	switch (*++yyp)
+	  {
+	  case '\'':
+	  case ',':
+	    goto do_not_strip_quotes;
+
+	  case '\\':
+	    if (*++yyp != '\\')
+	      goto do_not_strip_quotes;
+	    /* Fall through.  */
+	  default:
+	    if (yyres)
+	      yyres[yyn] = *yyp;
+	    yyn++;
+	    break;
+
+	  case '"':
+	    if (yyres)
+	      yyres[yyn] = '\0';
+	    return yyn;
+	  }
+    do_not_strip_quotes: ;
+    }
+
+  if (! yyres)
+    return yystrlen (yystr);
+
+  return yystpcpy (yyres, yystr) - yyres;
+}
+# endif
+
+/* Copy into YYRESULT an error message about the unexpected token
+   YYCHAR while in state YYSTATE.  Return the number of bytes copied,
+   including the terminating null byte.  If YYRESULT is null, do not
+   copy anything; just return the number of bytes that would be
+   copied.  As a special case, return 0 if an ordinary "syntax error"
+   message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
+   size calculation.  */
+static YYSIZE_T
+yysyntax_error (char *yyresult, int yystate, int yychar)
+{
+  int yyn = yypact[yystate];
+
+  if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
+    return 0;
+  else
+    {
+      int yytype = YYTRANSLATE (yychar);
+      YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
+      YYSIZE_T yysize = yysize0;
+      YYSIZE_T yysize1;
+      int yysize_overflow = 0;
+      enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
+      char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
+      int yyx;
+
+# if 0
+      /* This is so xgettext sees the translatable formats that are
+	 constructed on the fly.  */
+      YY_("syntax error, unexpected %s");
+      YY_("syntax error, unexpected %s, expecting %s");
+      YY_("syntax error, unexpected %s, expecting %s or %s");
+      YY_("syntax error, unexpected %s, expecting %s or %s or %s");
+      YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
+# endif
+      char *yyfmt;
+      char const *yyf;
+      static char const yyunexpected[] = "syntax error, unexpected %s";
+      static char const yyexpecting[] = ", expecting %s";
+      static char const yyor[] = " or %s";
+      char yyformat[sizeof yyunexpected
+		    + sizeof yyexpecting - 1
+		    + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
+		       * (sizeof yyor - 1))];
+      char const *yyprefix = yyexpecting;
+
+      /* Start YYX at -YYN if negative to avoid negative indexes in
+	 YYCHECK.  */
+      int yyxbegin = yyn < 0 ? -yyn : 0;
+
+      /* Stay within bounds of both yycheck and yytname.  */
+      int yychecklim = YYLAST - yyn + 1;
+      int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+      int yycount = 1;
+
+      yyarg[0] = yytname[yytype];
+      yyfmt = yystpcpy (yyformat, yyunexpected);
+
+      for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+	if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+	  {
+	    if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
+	      {
+		yycount = 1;
+		yysize = yysize0;
+		yyformat[sizeof yyunexpected - 1] = '\0';
+		break;
+	      }
+	    yyarg[yycount++] = yytname[yyx];
+	    yysize1 = yysize + yytnamerr (0, yytname[yyx]);
+	    yysize_overflow |= (yysize1 < yysize);
+	    yysize = yysize1;
+	    yyfmt = yystpcpy (yyfmt, yyprefix);
+	    yyprefix = yyor;
+	  }
+
+      yyf = YY_(yyformat);
+      yysize1 = yysize + yystrlen (yyf);
+      yysize_overflow |= (yysize1 < yysize);
+      yysize = yysize1;
+
+      if (yysize_overflow)
+	return YYSIZE_MAXIMUM;
+
+      if (yyresult)
+	{
+	  /* Avoid sprintf, as that infringes on the user's name space.
+	     Don't have undefined behavior even if the translation
+	     produced a string with the wrong number of "%s"s.  */
+	  char *yyp = yyresult;
+	  int yyi = 0;
+	  while ((*yyp = *yyf) != '\0')
+	    {
+	      if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
+		{
+		  yyp += yytnamerr (yyp, yyarg[yyi++]);
+		  yyf += 2;
+		}
+	      else
+		{
+		  yyp++;
+		  yyf++;
+		}
+	    }
+	}
+      return yysize;
+    }
+}
+#endif /* YYERROR_VERBOSE */
+\f
+
+/*-----------------------------------------------.
+| Release the memory associated to this symbol.  |
+`-----------------------------------------------*/
+
+/*ARGSUSED*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yydestruct (yymsg, yytype, yyvaluep)
+    const char *yymsg;
+    int yytype;
+    YYSTYPE *yyvaluep;
+#endif
+{
+  YYUSE (yyvaluep);
+
+  if (!yymsg)
+    yymsg = "Deleting";
+  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
+
+  switch (yytype)
+    {
+      case 53: /* "choice_entry" */
+
+	{
+	fprintf(stderr, "%s:%d: missing end statement for this entry\n",
+		(yyvaluep->menu)->file->name, (yyvaluep->menu)->lineno);
+	if (current_menu == (yyvaluep->menu))
+		menu_end_menu();
+};
+
+	break;
+      case 59: /* "if_entry" */
+
+	{
+	fprintf(stderr, "%s:%d: missing end statement for this entry\n",
+		(yyvaluep->menu)->file->name, (yyvaluep->menu)->lineno);
+	if (current_menu == (yyvaluep->menu))
+		menu_end_menu();
+};
+
+	break;
+      case 65: /* "menu_entry" */
+
+	{
+	fprintf(stderr, "%s:%d: missing end statement for this entry\n",
+		(yyvaluep->menu)->file->name, (yyvaluep->menu)->lineno);
+	if (current_menu == (yyvaluep->menu))
+		menu_end_menu();
+};
+
+	break;
+
+      default:
+	break;
+    }
+}
+
+/* Prevent warnings from -Wmissing-prototypes.  */
+#ifdef YYPARSE_PARAM
+#if defined __STDC__ || defined __cplusplus
+int yyparse (void *YYPARSE_PARAM);
+#else
+int yyparse ();
+#endif
+#else /* ! YYPARSE_PARAM */
+#if defined __STDC__ || defined __cplusplus
+int yyparse (void);
+#else
+int yyparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
+
+
+/* The lookahead symbol.  */
+int yychar;
+
+/* The semantic value of the lookahead symbol.  */
+YYSTYPE yylval;
+
+/* Number of syntax errors so far.  */
+int yynerrs;
+
+
+
+/*-------------------------.
+| yyparse or yypush_parse.  |
+`-------------------------*/
+
+#ifdef YYPARSE_PARAM
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+int
+yyparse (void *YYPARSE_PARAM)
+#else
+int
+yyparse (YYPARSE_PARAM)
+    void *YYPARSE_PARAM;
+#endif
+#else /* ! YYPARSE_PARAM */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+int
+yyparse (void)
+#else
+int
+yyparse ()
+
+#endif
+#endif
+{
+
+
+    int yystate;
+    /* Number of tokens to shift before error messages enabled.  */
+    int yyerrstatus;
+
+    /* The stacks and their tools:
+       `yyss': related to states.
+       `yyvs': related to semantic values.
+
+       Refer to the stacks thru separate pointers, to allow yyoverflow
+       to reallocate them elsewhere.  */
+
+    /* The state stack.  */
+    yytype_int16 yyssa[YYINITDEPTH];
+    yytype_int16 *yyss;
+    yytype_int16 *yyssp;
+
+    /* The semantic value stack.  */
+    YYSTYPE yyvsa[YYINITDEPTH];
+    YYSTYPE *yyvs;
+    YYSTYPE *yyvsp;
+
+    YYSIZE_T yystacksize;
+
+  int yyn;
+  int yyresult;
+  /* Lookahead token as an internal (translated) token number.  */
+  int yytoken;
+  /* The variables used to return semantic value and location from the
+     action routines.  */
+  YYSTYPE yyval;
+
+#if YYERROR_VERBOSE
+  /* Buffer for error messages, and its allocated size.  */
+  char yymsgbuf[128];
+  char *yymsg = yymsgbuf;
+  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+#endif
+
+#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
+
+  /* The number of symbols on the RHS of the reduced rule.
+     Keep to zero when no symbol should be popped.  */
+  int yylen = 0;
+
+  yytoken = 0;
+  yyss = yyssa;
+  yyvs = yyvsa;
+  yystacksize = YYINITDEPTH;
+
+  YYDPRINTF ((stderr, "Starting parse\n"));
+
+  yystate = 0;
+  yyerrstatus = 0;
+  yynerrs = 0;
+  yychar = YYEMPTY; /* Cause a token to be read.  */
+
+  /* Initialize stack pointers.
+     Waste one element of value and location stack
+     so that they stay on the same level as the state stack.
+     The wasted elements are never initialized.  */
+  yyssp = yyss;
+  yyvsp = yyvs;
+
+  goto yysetstate;
+
+/*------------------------------------------------------------.
+| yynewstate -- Push a new state, which is found in yystate.  |
+`------------------------------------------------------------*/
+ yynewstate:
+  /* In all cases, when you get here, the value and location stacks
+     have just been pushed.  So pushing a state here evens the stacks.  */
+  yyssp++;
+
+ yysetstate:
+  *yyssp = yystate;
+
+  if (yyss + yystacksize - 1 <= yyssp)
+    {
+      /* Get the current used size of the three stacks, in elements.  */
+      YYSIZE_T yysize = yyssp - yyss + 1;
+
+#ifdef yyoverflow
+      {
+	/* Give user a chance to reallocate the stack.  Use copies of
+	   these so that the &'s don't force the real ones into
+	   memory.  */
+	YYSTYPE *yyvs1 = yyvs;
+	yytype_int16 *yyss1 = yyss;
+
+	/* Each stack pointer address is followed by the size of the
+	   data in use in that stack, in bytes.  This used to be a
+	   conditional around just the two extra args, but that might
+	   be undefined if yyoverflow is a macro.  */
+	yyoverflow (YY_("memory exhausted"),
+		    &yyss1, yysize * sizeof (*yyssp),
+		    &yyvs1, yysize * sizeof (*yyvsp),
+		    &yystacksize);
+
+	yyss = yyss1;
+	yyvs = yyvs1;
+      }
+#else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+      goto yyexhaustedlab;
+# else
+      /* Extend the stack our own way.  */
+      if (YYMAXDEPTH <= yystacksize)
+	goto yyexhaustedlab;
+      yystacksize *= 2;
+      if (YYMAXDEPTH < yystacksize)
+	yystacksize = YYMAXDEPTH;
+
+      {
+	yytype_int16 *yyss1 = yyss;
+	union yyalloc *yyptr =
+	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+	if (! yyptr)
+	  goto yyexhaustedlab;
+	YYSTACK_RELOCATE (yyss_alloc, yyss);
+	YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+#  undef YYSTACK_RELOCATE
+	if (yyss1 != yyssa)
+	  YYSTACK_FREE (yyss1);
+      }
+# endif
+#endif /* no yyoverflow */
+
+      yyssp = yyss + yysize - 1;
+      yyvsp = yyvs + yysize - 1;
+
+      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
+		  (unsigned long int) yystacksize));
+
+      if (yyss + yystacksize - 1 <= yyssp)
+	YYABORT;
+    }
+
+  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+
+  if (yystate == YYFINAL)
+    YYACCEPT;
+
+  goto yybackup;
+
+/*-----------.
+| yybackup.  |
+`-----------*/
+yybackup:
+
+  /* Do appropriate processing given the current state.  Read a
+     lookahead token if we need one and don't already have one.  */
+
+  /* First try to decide what to do without reference to lookahead token.  */
+  yyn = yypact[yystate];
+  if (yyn == YYPACT_NINF)
+    goto yydefault;
+
+  /* Not known => get a lookahead token if don't already have one.  */
+
+  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
+  if (yychar == YYEMPTY)
+    {
+      YYDPRINTF ((stderr, "Reading a token: "));
+      yychar = YYLEX;
+    }
+
+  if (yychar <= YYEOF)
+    {
+      yychar = yytoken = YYEOF;
+      YYDPRINTF ((stderr, "Now at end of input.\n"));
+    }
+  else
+    {
+      yytoken = YYTRANSLATE (yychar);
+      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
+    }
+
+  /* If the proper action on seeing token YYTOKEN is to reduce or to
+     detect an error, take that action.  */
+  yyn += yytoken;
+  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
+    goto yydefault;
+  yyn = yytable[yyn];
+  if (yyn <= 0)
+    {
+      if (yyn == 0 || yyn == YYTABLE_NINF)
+	goto yyerrlab;
+      yyn = -yyn;
+      goto yyreduce;
+    }
+
+  /* Count tokens shifted since error; after three, turn off error
+     status.  */
+  if (yyerrstatus)
+    yyerrstatus--;
+
+  /* Shift the lookahead token.  */
+  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
+
+  /* Discard the shifted token.  */
+  yychar = YYEMPTY;
+
+  yystate = yyn;
+  *++yyvsp = yylval;
+
+  goto yynewstate;
+
+
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state.  |
+`-----------------------------------------------------------*/
+yydefault:
+  yyn = yydefact[yystate];
+  if (yyn == 0)
+    goto yyerrlab;
+  goto yyreduce;
+
+
+/*-----------------------------.
+| yyreduce -- Do a reduction.  |
+`-----------------------------*/
+yyreduce:
+  /* yyn is the number of a rule to reduce with.  */
+  yylen = yyr2[yyn];
+
+  /* If YYLEN is nonzero, implement the default value of the action:
+     `$$ = $1'.
+
+     Otherwise, the following line sets YYVAL to garbage.
+     This behavior is undocumented and Bison
+     users should not rely upon it.  Assigning to YYVAL
+     unconditionally makes the parser a bit smaller, and it avoids a
+     GCC warning that YYVAL may be used uninitialized.  */
+  yyval = yyvsp[1-yylen];
+
+
+  YY_REDUCE_PRINT (yyn);
+  switch (yyn)
+    {
+        case 10:
+
+    { zconf_error("unexpected end statement"); ;}
+    break;
+
+  case 11:
+
+    { zconf_error("unknown statement \"%s\"", (yyvsp[(2) - (4)].string)); ;}
+    break;
+
+  case 12:
+
+    {
+	zconf_error("unexpected option \"%s\"", kconf_id_strings + (yyvsp[(2) - (4)].id)->name);
+;}
+    break;
+
+  case 13:
+
+    { zconf_error("invalid statement"); ;}
+    break;
+
+  case 28:
+
+    { zconf_error("unknown option \"%s\"", (yyvsp[(1) - (3)].string)); ;}
+    break;
+
+  case 29:
+
+    { zconf_error("invalid option"); ;}
+    break;
+
+  case 30:
+
+    {
+	struct symbol *sym = sym_lookup((yyvsp[(2) - (3)].string), 0);
+	sym->flags |= SYMBOL_OPTIONAL;
+	menu_add_entry(sym);
+	printd(DEBUG_PARSE, "%s:%d:config %s\n", zconf_curname(), zconf_lineno(), (yyvsp[(2) - (3)].string));
+;}
+    break;
+
+  case 31:
+
+    {
+	menu_end_entry();
+	printd(DEBUG_PARSE, "%s:%d:endconfig\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 32:
+
+    {
+	struct symbol *sym = sym_lookup((yyvsp[(2) - (3)].string), 0);
+	sym->flags |= SYMBOL_OPTIONAL;
+	menu_add_entry(sym);
+	printd(DEBUG_PARSE, "%s:%d:menuconfig %s\n", zconf_curname(), zconf_lineno(), (yyvsp[(2) - (3)].string));
+;}
+    break;
+
+  case 33:
+
+    {
+	if (current_entry->prompt)
+		current_entry->prompt->type = P_MENU;
+	else
+		zconfprint("warning: menuconfig statement without prompt");
+	menu_end_entry();
+	printd(DEBUG_PARSE, "%s:%d:endconfig\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 41:
+
+    {
+	menu_set_type((yyvsp[(1) - (3)].id)->stype);
+	printd(DEBUG_PARSE, "%s:%d:type(%u)\n",
+		zconf_curname(), zconf_lineno(),
+		(yyvsp[(1) - (3)].id)->stype);
+;}
+    break;
+
+  case 42:
+
+    {
+	menu_add_prompt(P_PROMPT, (yyvsp[(2) - (4)].string), (yyvsp[(3) - (4)].expr));
+	printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 43:
+
+    {
+	menu_add_expr(P_DEFAULT, (yyvsp[(2) - (4)].expr), (yyvsp[(3) - (4)].expr));
+	if ((yyvsp[(1) - (4)].id)->stype != S_UNKNOWN)
+		menu_set_type((yyvsp[(1) - (4)].id)->stype);
+	printd(DEBUG_PARSE, "%s:%d:default(%u)\n",
+		zconf_curname(), zconf_lineno(),
+		(yyvsp[(1) - (4)].id)->stype);
+;}
+    break;
+
+  case 44:
+
+    {
+	menu_add_symbol(P_SELECT, sym_lookup((yyvsp[(2) - (4)].string), 0), (yyvsp[(3) - (4)].expr));
+	printd(DEBUG_PARSE, "%s:%d:select\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 45:
+
+    {
+	menu_add_expr(P_RANGE, expr_alloc_comp(E_RANGE,(yyvsp[(2) - (5)].symbol), (yyvsp[(3) - (5)].symbol)), (yyvsp[(4) - (5)].expr));
+	printd(DEBUG_PARSE, "%s:%d:range\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 48:
+
+    {
+	struct kconf_id *id = kconf_id_lookup((yyvsp[(2) - (3)].string), strlen((yyvsp[(2) - (3)].string)));
+	if (id && id->flags & TF_OPTION)
+		menu_add_option(id->token, (yyvsp[(3) - (3)].string));
+	else
+		zconfprint("warning: ignoring unknown option %s", (yyvsp[(2) - (3)].string));
+	free((yyvsp[(2) - (3)].string));
+;}
+    break;
+
+  case 49:
+
+    { (yyval.string) = NULL; ;}
+    break;
+
+  case 50:
+
+    { (yyval.string) = (yyvsp[(2) - (2)].string); ;}
+    break;
+
+  case 51:
+
+    {
+	struct symbol *sym = sym_lookup((yyvsp[(2) - (3)].string), SYMBOL_CHOICE);
+	sym->flags |= SYMBOL_AUTO;
+	menu_add_entry(sym);
+	menu_add_expr(P_CHOICE, NULL, NULL);
+	printd(DEBUG_PARSE, "%s:%d:choice\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 52:
+
+    {
+	(yyval.menu) = menu_add_menu();
+;}
+    break;
+
+  case 53:
+
+    {
+	if (zconf_endtoken((yyvsp[(1) - (1)].id), T_CHOICE, T_ENDCHOICE)) {
+		menu_end_menu();
+		printd(DEBUG_PARSE, "%s:%d:endchoice\n", zconf_curname(), zconf_lineno());
+	}
+;}
+    break;
+
+  case 61:
+
+    {
+	menu_add_prompt(P_PROMPT, (yyvsp[(2) - (4)].string), (yyvsp[(3) - (4)].expr));
+	printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 62:
+
+    {
+	if ((yyvsp[(1) - (3)].id)->stype == S_BOOLEAN || (yyvsp[(1) - (3)].id)->stype == S_TRISTATE) {
+		menu_set_type((yyvsp[(1) - (3)].id)->stype);
+		printd(DEBUG_PARSE, "%s:%d:type(%u)\n",
+			zconf_curname(), zconf_lineno(),
+			(yyvsp[(1) - (3)].id)->stype);
+	} else
+		YYERROR;
+;}
+    break;
+
+  case 63:
+
+    {
+	current_entry->sym->flags |= SYMBOL_OPTIONAL;
+	printd(DEBUG_PARSE, "%s:%d:optional\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 64:
+
+    {
+	if ((yyvsp[(1) - (4)].id)->stype == S_UNKNOWN) {
+		menu_add_symbol(P_DEFAULT, sym_lookup((yyvsp[(2) - (4)].string), 0), (yyvsp[(3) - (4)].expr));
+		printd(DEBUG_PARSE, "%s:%d:default\n",
+			zconf_curname(), zconf_lineno());
+	} else
+		YYERROR;
+;}
+    break;
+
+  case 67:
+
+    {
+	printd(DEBUG_PARSE, "%s:%d:if\n", zconf_curname(), zconf_lineno());
+	menu_add_entry(NULL);
+	menu_add_dep((yyvsp[(2) - (3)].expr));
+	(yyval.menu) = menu_add_menu();
+;}
+    break;
+
+  case 68:
+
+    {
+	if (zconf_endtoken((yyvsp[(1) - (1)].id), T_IF, T_ENDIF)) {
+		menu_end_menu();
+		printd(DEBUG_PARSE, "%s:%d:endif\n", zconf_curname(), zconf_lineno());
+	}
+;}
+    break;
+
+  case 74:
+
+    {
+	menu_add_prompt(P_MENU, (yyvsp[(2) - (3)].string), NULL);
+;}
+    break;
+
+  case 75:
+
+    {
+	menu_add_entry(NULL);
+	menu_add_prompt(P_MENU, (yyvsp[(2) - (3)].string), NULL);
+	printd(DEBUG_PARSE, "%s:%d:menu\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 76:
+
+    {
+	(yyval.menu) = menu_add_menu();
+;}
+    break;
+
+  case 77:
+
+    {
+	if (zconf_endtoken((yyvsp[(1) - (1)].id), T_MENU, T_ENDMENU)) {
+		menu_end_menu();
+		printd(DEBUG_PARSE, "%s:%d:endmenu\n", zconf_curname(), zconf_lineno());
+	}
+;}
+    break;
+
+  case 83:
+
+    {
+	printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), (yyvsp[(2) - (3)].string));
+	zconf_nextfile((yyvsp[(2) - (3)].string));
+;}
+    break;
+
+  case 84:
+
+    {
+	menu_add_entry(NULL);
+	menu_add_prompt(P_COMMENT, (yyvsp[(2) - (3)].string), NULL);
+	printd(DEBUG_PARSE, "%s:%d:comment\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 85:
+
+    {
+	menu_end_entry();
+;}
+    break;
+
+  case 86:
+
+    {
+	printd(DEBUG_PARSE, "%s:%d:help\n", zconf_curname(), zconf_lineno());
+	zconf_starthelp();
+;}
+    break;
+
+  case 87:
+
+    {
+	current_entry->help = (yyvsp[(2) - (2)].string);
+;}
+    break;
+
+  case 92:
+
+    {
+	menu_add_dep((yyvsp[(3) - (4)].expr));
+	printd(DEBUG_PARSE, "%s:%d:depends on\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 96:
+
+    {
+	menu_add_visibility((yyvsp[(2) - (2)].expr));
+;}
+    break;
+
+  case 98:
+
+    {
+	menu_add_prompt(P_PROMPT, (yyvsp[(1) - (2)].string), (yyvsp[(2) - (2)].expr));
+;}
+    break;
+
+  case 101:
+
+    { (yyval.id) = (yyvsp[(1) - (2)].id); ;}
+    break;
+
+  case 102:
+
+    { (yyval.id) = (yyvsp[(1) - (2)].id); ;}
+    break;
+
+  case 103:
+
+    { (yyval.id) = (yyvsp[(1) - (2)].id); ;}
+    break;
+
+  case 106:
+
+    { (yyval.expr) = NULL; ;}
+    break;
+
+  case 107:
+
+    { (yyval.expr) = (yyvsp[(2) - (2)].expr); ;}
+    break;
+
+  case 108:
+
+    { (yyval.expr) = expr_alloc_symbol((yyvsp[(1) - (1)].symbol)); ;}
+    break;
+
+  case 109:
+
+    { (yyval.expr) = expr_alloc_comp(E_EQUAL, (yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].symbol)); ;}
+    break;
+
+  case 110:
+
+    { (yyval.expr) = expr_alloc_comp(E_UNEQUAL, (yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].symbol)); ;}
+    break;
+
+  case 111:
+
+    { (yyval.expr) = (yyvsp[(2) - (3)].expr); ;}
+    break;
+
+  case 112:
+
+    { (yyval.expr) = expr_alloc_one(E_NOT, (yyvsp[(2) - (2)].expr)); ;}
+    break;
+
+  case 113:
+
+    { (yyval.expr) = expr_alloc_two(E_OR, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); ;}
+    break;
+
+  case 114:
+
+    { (yyval.expr) = expr_alloc_two(E_AND, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); ;}
+    break;
+
+  case 115:
+
+    { (yyval.symbol) = sym_lookup((yyvsp[(1) - (1)].string), 0); free((yyvsp[(1) - (1)].string)); ;}
+    break;
+
+  case 116:
+
+    { (yyval.symbol) = sym_lookup((yyvsp[(1) - (1)].string), SYMBOL_CONST); free((yyvsp[(1) - (1)].string)); ;}
+    break;
+
+  case 117:
+
+    { (yyval.string) = NULL; ;}
+    break;
+
+
+
+      default: break;
+    }
+  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
+
+  YYPOPSTACK (yylen);
+  yylen = 0;
+  YY_STACK_PRINT (yyss, yyssp);
+
+  *++yyvsp = yyval;
+
+  /* Now `shift' the result of the reduction.  Determine what state
+     that goes to, based on the state we popped back to and the rule
+     number reduced by.  */
+
+  yyn = yyr1[yyn];
+
+  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+    yystate = yytable[yystate];
+  else
+    yystate = yydefgoto[yyn - YYNTOKENS];
+
+  goto yynewstate;
+
+
+/*------------------------------------.
+| yyerrlab -- here on detecting error |
+`------------------------------------*/
+yyerrlab:
+  /* If not already recovering from an error, report this error.  */
+  if (!yyerrstatus)
+    {
+      ++yynerrs;
+#if ! YYERROR_VERBOSE
+      yyerror (YY_("syntax error"));
+#else
+      {
+	YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
+	if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
+	  {
+	    YYSIZE_T yyalloc = 2 * yysize;
+	    if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
+	      yyalloc = YYSTACK_ALLOC_MAXIMUM;
+	    if (yymsg != yymsgbuf)
+	      YYSTACK_FREE (yymsg);
+	    yymsg = (char *) YYSTACK_ALLOC (yyalloc);
+	    if (yymsg)
+	      yymsg_alloc = yyalloc;
+	    else
+	      {
+		yymsg = yymsgbuf;
+		yymsg_alloc = sizeof yymsgbuf;
+	      }
+	  }
+
+	if (0 < yysize && yysize <= yymsg_alloc)
+	  {
+	    (void) yysyntax_error (yymsg, yystate, yychar);
+	    yyerror (yymsg);
+	  }
+	else
+	  {
+	    yyerror (YY_("syntax error"));
+	    if (yysize != 0)
+	      goto yyexhaustedlab;
+	  }
+      }
+#endif
+    }
+
+
+
+  if (yyerrstatus == 3)
+    {
+      /* If just tried and failed to reuse lookahead token after an
+	 error, discard it.  */
+
+      if (yychar <= YYEOF)
+	{
+	  /* Return failure if at end of input.  */
+	  if (yychar == YYEOF)
+	    YYABORT;
+	}
+      else
+	{
+	  yydestruct ("Error: discarding",
+		      yytoken, &yylval);
+	  yychar = YYEMPTY;
+	}
+    }
+
+  /* Else will try to reuse lookahead token after shifting the error
+     token.  */
+  goto yyerrlab1;
+
+
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR.  |
+`---------------------------------------------------*/
+yyerrorlab:
+
+  /* Pacify compilers like GCC when the user code never invokes
+     YYERROR and the label yyerrorlab therefore never appears in user
+     code.  */
+  if (/*CONSTCOND*/ 0)
+     goto yyerrorlab;
+
+  /* Do not reclaim the symbols of the rule which action triggered
+     this YYERROR.  */
+  YYPOPSTACK (yylen);
+  yylen = 0;
+  YY_STACK_PRINT (yyss, yyssp);
+  yystate = *yyssp;
+  goto yyerrlab1;
+
+
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR.  |
+`-------------------------------------------------------------*/
+yyerrlab1:
+  yyerrstatus = 3;	/* Each real token shifted decrements this.  */
+
+  for (;;)
+    {
+      yyn = yypact[yystate];
+      if (yyn != YYPACT_NINF)
+	{
+	  yyn += YYTERROR;
+	  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+	    {
+	      yyn = yytable[yyn];
+	      if (0 < yyn)
+		break;
+	    }
+	}
+
+      /* Pop the current state because it cannot handle the error token.  */
+      if (yyssp == yyss)
+	YYABORT;
+
+
+      yydestruct ("Error: popping",
+		  yystos[yystate], yyvsp);
+      YYPOPSTACK (1);
+      yystate = *yyssp;
+      YY_STACK_PRINT (yyss, yyssp);
+    }
+
+  *++yyvsp = yylval;
+
+
+  /* Shift the error token.  */
+  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
+
+  yystate = yyn;
+  goto yynewstate;
+
+
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here.  |
+`-------------------------------------*/
+yyacceptlab:
+  yyresult = 0;
+  goto yyreturn;
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here.  |
+`-----------------------------------*/
+yyabortlab:
+  yyresult = 1;
+  goto yyreturn;
+
+#if !defined(yyoverflow) || YYERROR_VERBOSE
+/*-------------------------------------------------.
+| yyexhaustedlab -- memory exhaustion comes here.  |
+`-------------------------------------------------*/
+yyexhaustedlab:
+  yyerror (YY_("memory exhausted"));
+  yyresult = 2;
+  /* Fall through.  */
+#endif
+
+yyreturn:
+  if (yychar != YYEMPTY)
+     yydestruct ("Cleanup: discarding lookahead",
+		 yytoken, &yylval);
+  /* Do not reclaim the symbols of the rule which action triggered
+     this YYABORT or YYACCEPT.  */
+  YYPOPSTACK (yylen);
+  YY_STACK_PRINT (yyss, yyssp);
+  while (yyssp != yyss)
+    {
+      yydestruct ("Cleanup: popping",
+		  yystos[*yyssp], yyvsp);
+      YYPOPSTACK (1);
+    }
+#ifndef yyoverflow
+  if (yyss != yyssa)
+    YYSTACK_FREE (yyss);
+#endif
+#if YYERROR_VERBOSE
+  if (yymsg != yymsgbuf)
+    YYSTACK_FREE (yymsg);
+#endif
+  /* Make sure YYID is used.  */
+  return YYID (yyresult);
+}
+
+
+
+
+
+void conf_parse(const char *name)
+{
+	struct symbol *sym;
+	int i;
+
+	zconf_initscan(name);
+
+	sym_init();
+	_menu_init();
+	modules_sym = sym_lookup(NULL, 0);
+	modules_sym->type = S_BOOLEAN;
+	modules_sym->flags |= SYMBOL_AUTO;
+	rootmenu.prompt = menu_add_prompt(P_MENU, "Linux Kernel Configuration", NULL);
+
+#if YYDEBUG
+	if (getenv("ZCONF_DEBUG"))
+		zconfdebug = 1;
+#endif
+	zconfparse();
+	if (zconfnerrs)
+		exit(1);
+	if (!modules_sym->prop) {
+		struct property *prop;
+
+		prop = prop_alloc(P_DEFAULT, modules_sym);
+		prop->expr = expr_alloc_symbol(sym_lookup("MODULES", 0));
+	}
+
+	rootmenu.prompt->text = _(rootmenu.prompt->text);
+	rootmenu.prompt->text = sym_expand_string_value(rootmenu.prompt->text);
+
+	menu_finalize(&rootmenu);
+	for_all_symbols(i, sym) {
+		if (sym_check_deps(sym))
+			zconfnerrs++;
+        }
+	if (zconfnerrs)
+		exit(1);
+	sym_set_change_count(1);
+}
+
+static const char *zconf_tokenname(int token)
+{
+	switch (token) {
+	case T_MENU:		return "menu";
+	case T_ENDMENU:		return "endmenu";
+	case T_CHOICE:		return "choice";
+	case T_ENDCHOICE:	return "endchoice";
+	case T_IF:		return "if";
+	case T_ENDIF:		return "endif";
+	case T_DEPENDS:		return "depends";
+	case T_VISIBLE:		return "visible";
+	}
+	return "<token>";
+}
+
+static bool zconf_endtoken(struct kconf_id *id, int starttoken, int endtoken)
+{
+	if (id->token != endtoken) {
+		zconf_error("unexpected '%s' within %s block",
+			kconf_id_strings + id->name, zconf_tokenname(starttoken));
+		zconfnerrs++;
+		return false;
+	}
+	if (current_menu->file != current_file) {
+		zconf_error("'%s' in different file than '%s'",
+			kconf_id_strings + id->name, zconf_tokenname(starttoken));
+		fprintf(stderr, "%s:%d: location of the '%s'\n",
+			current_menu->file->name, current_menu->lineno,
+			zconf_tokenname(starttoken));
+		zconfnerrs++;
+		return false;
+	}
+	return true;
+}
+
+static void zconfprint(const char *err, ...)
+{
+	va_list ap;
+
+	fprintf(stderr, "%s:%d: ", zconf_curname(), zconf_lineno());
+	va_start(ap, err);
+	vfprintf(stderr, err, ap);
+	va_end(ap);
+	fprintf(stderr, "\n");
+}
+
+static void zconf_error(const char *err, ...)
+{
+	va_list ap;
+
+	zconfnerrs++;
+	fprintf(stderr, "%s:%d: ", zconf_curname(), zconf_lineno());
+	va_start(ap, err);
+	vfprintf(stderr, err, ap);
+	va_end(ap);
+	fprintf(stderr, "\n");
+}
+
+static void zconferror(const char *err)
+{
+#if YYDEBUG
+	fprintf(stderr, "%s:%d: %s\n", zconf_curname(), zconf_lineno() + 1, err);
+#endif
+}
+
+static void print_quoted_string(FILE *out, const char *str)
+{
+	const char *p;
+	int len;
+
+	putc('"', out);
+	while ((p = strchr(str, '"'))) {
+		len = p - str;
+		if (len)
+			fprintf(out, "%.*s", len, str);
+		fputs("\\\"", out);
+		str = p + 1;
+	}
+	fputs(str, out);
+	putc('"', out);
+}
+
+static void print_symbol(FILE *out, struct menu *menu)
+{
+	struct symbol *sym = menu->sym;
+	struct property *prop;
+
+	if (sym_is_choice(sym))
+		fprintf(out, "\nchoice\n");
+	else
+		fprintf(out, "\nconfig %s\n", sym->name);
+	switch (sym->type) {
+	case S_BOOLEAN:
+		fputs("  boolean\n", out);
+		break;
+	case S_TRISTATE:
+		fputs("  tristate\n", out);
+		break;
+	case S_STRING:
+		fputs("  string\n", out);
+		break;
+	case S_INT:
+		fputs("  integer\n", out);
+		break;
+	case S_HEX:
+		fputs("  hex\n", out);
+		break;
+	default:
+		fputs("  ???\n", out);
+		break;
+	}
+	for (prop = sym->prop; prop; prop = prop->next) {
+		if (prop->menu != menu)
+			continue;
+		switch (prop->type) {
+		case P_PROMPT:
+			fputs("  prompt ", out);
+			print_quoted_string(out, prop->text);
+			if (!expr_is_yes(prop->visible.expr)) {
+				fputs(" if ", out);
+				expr_fprint(prop->visible.expr, out);
+			}
+			fputc('\n', out);
+			break;
+		case P_DEFAULT:
+			fputs( "  default ", out);
+			expr_fprint(prop->expr, out);
+			if (!expr_is_yes(prop->visible.expr)) {
+				fputs(" if ", out);
+				expr_fprint(prop->visible.expr, out);
+			}
+			fputc('\n', out);
+			break;
+		case P_CHOICE:
+			fputs("  #choice value\n", out);
+			break;
+		case P_SELECT:
+			fputs( "  select ", out);
+			expr_fprint(prop->expr, out);
+			fputc('\n', out);
+			break;
+		case P_RANGE:
+			fputs( "  range ", out);
+			expr_fprint(prop->expr, out);
+			fputc('\n', out);
+			break;
+		case P_MENU:
+			fputs( "  menu ", out);
+			print_quoted_string(out, prop->text);
+			fputc('\n', out);
+			break;
+		default:
+			fprintf(out, "  unknown prop %d!\n", prop->type);
+			break;
+		}
+	}
+	if (menu->help) {
+		int len = strlen(menu->help);
+		while (menu->help[--len] == '\n')
+			menu->help[len] = 0;
+		fprintf(out, "  help\n%s\n", menu->help);
+	}
+}
+
+void zconfdump(FILE *out)
+{
+	struct property *prop;
+	struct symbol *sym;
+	struct menu *menu;
+
+	menu = rootmenu.list;
+	while (menu) {
+		if ((sym = menu->sym))
+			print_symbol(out, menu);
+		else if ((prop = menu->prompt)) {
+			switch (prop->type) {
+			case P_COMMENT:
+				fputs("\ncomment ", out);
+				print_quoted_string(out, prop->text);
+				fputs("\n", out);
+				break;
+			case P_MENU:
+				fputs("\nmenu ", out);
+				print_quoted_string(out, prop->text);
+				fputs("\n", out);
+				break;
+			default:
+				;
+			}
+			if (!expr_is_yes(prop->visible.expr)) {
+				fputs("  depends ", out);
+				expr_fprint(prop->visible.expr, out);
+				fputc('\n', out);
+			}
+		}
+
+		if (menu->list)
+			menu = menu->list;
+		else if (menu->next)
+			menu = menu->next;
+		else while ((menu = menu->parent)) {
+			if (menu->prompt && menu->prompt->type == P_MENU)
+				fputs("\nendmenu\n", out);
+			if (menu->next) {
+				menu = menu->next;
+				break;
+			}
+		}
+	}
+}
+
+#include "lex.zconf.c"
+#include "util.c"
+#include "confdata.c"
+#include "expr.c"
+#include "symbol.c"
+#include "menu.c"
+
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/mkuboot.sh ../linux-2.6.39.4/scripts/mkuboot.sh
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/mkuboot.sh	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/scripts/mkuboot.sh	2011-10-22 06:39:57.634139907 +0530
@@ -10,6 +10,8 @@
 	MKIMAGE=$(type -path mkimage)
 	if [ -z "${MKIMAGE}" ]; then
 		# Doesn't exist
+		echo $mkimage
+		echo $MKIMAGE
 		echo '"mkimage" command not found - U-Boot images will not be built' >&2
 		exit 1;
 	fi
Binary files ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/.mkuboot.sh.swp and ../linux-2.6.39.4/scripts/.mkuboot.sh.swp differ
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/mod/elfconfig.h ../linux-2.6.39.4/scripts/mod/elfconfig.h
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/mod/elfconfig.h	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/scripts/mod/elfconfig.h	2011-10-25 16:17:21.991980779 +0530
@@ -0,0 +1,4 @@
+#define KERNEL_ELFCLASS ELFCLASS32
+#define KERNEL_ELFDATA ELFDATA2LSB
+#define HOST_ELFCLASS ELFCLASS32
+#define HOST_ELFDATA ELFDATA2LSB
Binary files ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/mod/mk_elfconfig and ../linux-2.6.39.4/scripts/mod/mk_elfconfig differ
Binary files ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/mod/modpost and ../linux-2.6.39.4/scripts/mod/modpost differ
Binary files ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/pnmtologo and ../linux-2.6.39.4/scripts/pnmtologo differ
Binary files ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/unifdef and ../linux-2.6.39.4/scripts/unifdef differ
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/.unifdef.cmd ../linux-2.6.39.4/scripts/.unifdef.cmd
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/scripts/.unifdef.cmd	2011-10-22 04:52:29.053135033 +0530
+++ ../linux-2.6.39.4/scripts/.unifdef.cmd	1970-01-01 05:30:00.000000000 +0530
@@ -1,60 +0,0 @@
-cmd_scripts/unifdef := gcc -Wp,-MD,scripts/.unifdef.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer     -o scripts/unifdef scripts/unifdef.c  
-
-source_scripts/unifdef := scripts/unifdef.c
-
-deps_scripts/unifdef := \
-  /usr/include/sys/types.h \
-  /usr/include/features.h \
-  /usr/include/sys/cdefs.h \
-  /usr/include/bits/wordsize.h \
-  /usr/include/gnu/stubs.h \
-  /usr/include/gnu/stubs-32.h \
-  /usr/include/bits/types.h \
-  /usr/include/bits/typesizes.h \
-  /usr/include/time.h \
-  /usr/lib/gcc/i686-redhat-linux/4.4.4/include/stddef.h \
-  /usr/include/endian.h \
-  /usr/include/bits/endian.h \
-  /usr/include/bits/byteswap.h \
-  /usr/include/sys/select.h \
-  /usr/include/bits/select.h \
-  /usr/include/bits/sigset.h \
-  /usr/include/bits/time.h \
-  /usr/include/sys/sysmacros.h \
-  /usr/include/bits/pthreadtypes.h \
-  /usr/include/sys/stat.h \
-  /usr/include/bits/stat.h \
-  /usr/include/ctype.h \
-  /usr/include/xlocale.h \
-  /usr/include/err.h \
-  /usr/lib/gcc/i686-redhat-linux/4.4.4/include/stdarg.h \
-  /usr/include/errno.h \
-  /usr/include/bits/errno.h \
-  /usr/include/linux/errno.h \
-  /usr/include/asm/errno.h \
-  /usr/include/asm-generic/errno.h \
-  /usr/include/asm-generic/errno-base.h \
-  /usr/lib/gcc/i686-redhat-linux/4.4.4/include/stdbool.h \
-  /usr/include/stdio.h \
-  /usr/include/libio.h \
-  /usr/include/_G_config.h \
-  /usr/include/wchar.h \
-  /usr/include/bits/stdio_lim.h \
-  /usr/include/bits/sys_errlist.h \
-  /usr/include/bits/stdio.h \
-  /usr/include/stdlib.h \
-  /usr/include/bits/waitflags.h \
-  /usr/include/bits/waitstatus.h \
-  /usr/include/alloca.h \
-  /usr/include/string.h \
-  /usr/include/bits/string.h \
-  /usr/include/bits/string2.h \
-  /usr/include/unistd.h \
-  /usr/include/bits/posix_opt.h \
-  /usr/include/bits/environments.h \
-  /usr/include/bits/confname.h \
-  /usr/include/getopt.h \
-
-scripts/unifdef: $(deps_scripts/unifdef)
-
-$(deps_scripts/unifdef):
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/temps/root.i ../linux-2.6.39.4/temps/root.i
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/temps/root.i	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/temps/root.i	2011-10-22 06:39:09.848105260 +0530
@@ -0,0 +1,21514 @@
+# 1 "fs/proc/root.c"
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4//"
+# 1 "<built-in>"
+# 1 "<command-line>"
+# 1 "./include/generated/autoconf.h" 1
+# 1 "<command-line>" 2
+# 1 "fs/proc/root.c"
+# 9 "fs/proc/root.c"
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/uaccess.h" 1
+
+
+
+
+
+
+# 1 "include/linux/sched.h" 1
+# 47 "include/linux/sched.h"
+struct sched_param {
+ int sched_priority;
+};
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/param.h" 1
+# 1 "include/asm-generic/param.h" 1
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/param.h" 2
+# 52 "include/linux/sched.h" 2
+
+# 1 "include/linux/capability.h" 1
+# 16 "include/linux/capability.h"
+# 1 "include/linux/types.h" 1
+
+
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/types.h" 1
+# 12 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/types.h"
+# 1 "include/asm-generic/int-ll64.h" 1
+# 11 "include/asm-generic/int-ll64.h"
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/bitsperlong.h" 1
+# 10 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/bitsperlong.h"
+# 1 "include/asm-generic/bitsperlong.h" 1
+# 11 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/bitsperlong.h" 2
+# 12 "include/asm-generic/int-ll64.h" 2
+
+
+
+
+
+
+
+typedef __signed__ char __s8;
+typedef unsigned char __u8;
+
+typedef __signed__ short __s16;
+typedef unsigned short __u16;
+
+typedef __signed__ int __s32;
+typedef unsigned int __u32;
+
+
+__extension__ typedef __signed__ long long __s64;
+__extension__ typedef unsigned long long __u64;
+# 42 "include/asm-generic/int-ll64.h"
+typedef signed char s8;
+typedef unsigned char u8;
+
+typedef signed short s16;
+typedef unsigned short u16;
+
+typedef signed int s32;
+typedef unsigned int u32;
+
+typedef signed long long s64;
+typedef unsigned long long u64;
+# 13 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/types.h" 2
+# 33 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/types.h"
+typedef unsigned short umode_t;
+
+
+typedef struct {
+ __u32 u[4];
+} __attribute__((aligned(16))) __vector128;
+
+
+
+
+
+
+typedef __vector128 vector128;
+
+typedef struct {
+ unsigned long entry;
+ unsigned long toc;
+ unsigned long env;
+} func_descr_t;
+# 5 "include/linux/types.h" 2
+# 17 "include/linux/types.h"
+# 1 "include/linux/posix_types.h" 1
+
+
+
+# 1 "include/linux/stddef.h" 1
+
+
+
+# 1 "include/linux/compiler.h" 1
+# 48 "include/linux/compiler.h"
+# 1 "include/linux/compiler-gcc.h" 1
+# 90 "include/linux/compiler-gcc.h"
+# 1 "include/linux/compiler-gcc4.h" 1
+# 91 "include/linux/compiler-gcc.h" 2
+# 49 "include/linux/compiler.h" 2
+# 66 "include/linux/compiler.h"
+struct ftrace_branch_data {
+ const char *func;
+ const char *file;
+ unsigned line;
+ union {
+  struct {
+   unsigned long correct;
+   unsigned long incorrect;
+  };
+  struct {
+   unsigned long miss;
+   unsigned long hit;
+  };
+  unsigned long miss_hit[2];
+ };
+};
+# 5 "include/linux/stddef.h" 2
+# 15 "include/linux/stddef.h"
+enum {
+ false = 0,
+ true = 1
+};
+# 5 "include/linux/posix_types.h" 2
+# 36 "include/linux/posix_types.h"
+typedef struct {
+ unsigned long fds_bits [(1024/(8 * sizeof(unsigned long)))];
+} __kernel_fd_set;
+
+
+typedef void (*__kernel_sighandler_t)(int);
+
+
+typedef int __kernel_key_t;
+typedef int __kernel_mqd_t;
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/posix_types.h" 1
+# 10 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/posix_types.h"
+typedef unsigned long __kernel_ino_t;
+typedef unsigned int __kernel_mode_t;
+typedef long __kernel_off_t;
+typedef int __kernel_pid_t;
+typedef unsigned int __kernel_uid_t;
+typedef unsigned int __kernel_gid_t;
+typedef long __kernel_ptrdiff_t;
+typedef long __kernel_time_t;
+typedef long __kernel_clock_t;
+typedef int __kernel_timer_t;
+typedef int __kernel_clockid_t;
+typedef long __kernel_suseconds_t;
+typedef int __kernel_daddr_t;
+typedef char * __kernel_caddr_t;
+typedef unsigned short __kernel_uid16_t;
+typedef unsigned short __kernel_gid16_t;
+typedef unsigned int __kernel_uid32_t;
+typedef unsigned int __kernel_gid32_t;
+typedef unsigned int __kernel_old_uid_t;
+typedef unsigned int __kernel_old_gid_t;
+# 38 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/posix_types.h"
+typedef unsigned short __kernel_nlink_t;
+typedef short __kernel_ipc_pid_t;
+typedef unsigned int __kernel_size_t;
+typedef int __kernel_ssize_t;
+typedef unsigned int __kernel_old_dev_t;
+
+
+
+
+
+
+typedef long long __kernel_loff_t;
+
+
+
+typedef struct {
+ int val[2];
+} __kernel_fsid_t;
+# 71 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/posix_types.h"
+static __inline__ __attribute__((always_inline)) void __FD_SET(unsigned long fd, __kernel_fd_set *fdsetp)
+{
+ unsigned long _tmp = fd / (8 * sizeof(unsigned long));
+ unsigned long _rem = fd % (8 * sizeof(unsigned long));
+ fdsetp->fds_bits[_tmp] |= (1UL<<_rem);
+}
+
+
+static __inline__ __attribute__((always_inline)) void __FD_CLR(unsigned long fd, __kernel_fd_set *fdsetp)
+{
+ unsigned long _tmp = fd / (8 * sizeof(unsigned long));
+ unsigned long _rem = fd % (8 * sizeof(unsigned long));
+ fdsetp->fds_bits[_tmp] &= ~(1UL<<_rem);
+}
+
+
+static __inline__ __attribute__((always_inline)) int __FD_ISSET(unsigned long fd, __kernel_fd_set *p)
+{
+ unsigned long _tmp = fd / (8 * sizeof(unsigned long));
+ unsigned long _rem = fd % (8 * sizeof(unsigned long));
+ return (p->fds_bits[_tmp] & (1UL<<_rem)) != 0;
+}
+
+
+
+
+
+
+static __inline__ __attribute__((always_inline)) void __FD_ZERO(__kernel_fd_set *p)
+{
+ unsigned long *tmp = (unsigned long *)p->fds_bits;
+ int i;
+
+ if (__builtin_constant_p((1024/(8 * sizeof(unsigned long))))) {
+  switch ((1024/(8 * sizeof(unsigned long)))) {
+        case 16:
+   tmp[12] = 0; tmp[13] = 0; tmp[14] = 0; tmp[15] = 0;
+   tmp[ 8] = 0; tmp[ 9] = 0; tmp[10] = 0; tmp[11] = 0;
+
+        case 8:
+   tmp[ 4] = 0; tmp[ 5] = 0; tmp[ 6] = 0; tmp[ 7] = 0;
+
+        case 4:
+   tmp[ 0] = 0; tmp[ 1] = 0; tmp[ 2] = 0; tmp[ 3] = 0;
+   return;
+  }
+ }
+ i = (1024/(8 * sizeof(unsigned long)));
+ while (i) {
+  i--;
+  *tmp = 0;
+  tmp++;
+ }
+}
+# 48 "include/linux/posix_types.h" 2
+# 18 "include/linux/types.h" 2
+
+
+
+typedef __u32 __kernel_dev_t;
+
+typedef __kernel_fd_set fd_set;
+typedef __kernel_dev_t dev_t;
+typedef __kernel_ino_t ino_t;
+typedef __kernel_mode_t mode_t;
+typedef __kernel_nlink_t nlink_t;
+typedef __kernel_off_t off_t;
+typedef __kernel_pid_t pid_t;
+typedef __kernel_daddr_t daddr_t;
+typedef __kernel_key_t key_t;
+typedef __kernel_suseconds_t suseconds_t;
+typedef __kernel_timer_t timer_t;
+typedef __kernel_clockid_t clockid_t;
+typedef __kernel_mqd_t mqd_t;
+
+typedef _Bool bool;
+
+typedef __kernel_uid32_t uid_t;
+typedef __kernel_gid32_t gid_t;
+typedef __kernel_uid16_t uid16_t;
+typedef __kernel_gid16_t gid16_t;
+
+typedef unsigned long uintptr_t;
+# 53 "include/linux/types.h"
+typedef __kernel_loff_t loff_t;
+# 62 "include/linux/types.h"
+typedef __kernel_size_t size_t;
+
+
+
+
+typedef __kernel_ssize_t ssize_t;
+
+
+
+
+typedef __kernel_ptrdiff_t ptrdiff_t;
+
+
+
+
+typedef __kernel_time_t time_t;
+
+
+
+
+typedef __kernel_clock_t clock_t;
+
+
+
+
+typedef __kernel_caddr_t caddr_t;
+
+
+
+typedef unsigned char u_char;
+typedef unsigned short u_short;
+typedef unsigned int u_int;
+typedef unsigned long u_long;
+
+
+typedef unsigned char unchar;
+typedef unsigned short ushort;
+typedef unsigned int uint;
+typedef unsigned long ulong;
+
+
+
+
+typedef __u8 u_int8_t;
+typedef __s8 int8_t;
+typedef __u16 u_int16_t;
+typedef __s16 int16_t;
+typedef __u32 u_int32_t;
+typedef __s32 int32_t;
+
+
+
+typedef __u8 uint8_t;
+typedef __u16 uint16_t;
+typedef __u32 uint32_t;
+
+
+typedef __u64 uint64_t;
+typedef __u64 u_int64_t;
+typedef __s64 int64_t;
+# 138 "include/linux/types.h"
+typedef u64 sector_t;
+typedef u64 blkcnt_t;
+# 154 "include/linux/types.h"
+typedef u64 dma_addr_t;
+# 177 "include/linux/types.h"
+typedef __u16 __le16;
+typedef __u16 __be16;
+typedef __u32 __le32;
+typedef __u32 __be32;
+typedef __u64 __le64;
+typedef __u64 __be64;
+
+typedef __u16 __sum16;
+typedef __u32 __wsum;
+# 201 "include/linux/types.h"
+typedef unsigned gfp_t;
+typedef unsigned fmode_t;
+
+
+typedef u64 phys_addr_t;
+
+
+
+
+typedef phys_addr_t resource_size_t;
+
+typedef struct {
+ int counter;
+} atomic_t;
+
+
+
+
+
+
+
+struct list_head {
+ struct list_head *next, *prev;
+};
+
+struct hlist_head {
+ struct hlist_node *first;
+};
+
+struct hlist_node {
+ struct hlist_node *next, **pprev;
+};
+
+struct ustat {
+ __kernel_daddr_t f_tfree;
+ __kernel_ino_t f_tinode;
+ char f_fname[6];
+ char f_fpack[6];
+};
+# 17 "include/linux/capability.h" 2
+
+struct task_struct;
+# 40 "include/linux/capability.h"
+typedef struct __user_cap_header_struct {
+ __u32 version;
+ int pid;
+} *cap_user_header_t;
+
+typedef struct __user_cap_data_struct {
+        __u32 effective;
+        __u32 permitted;
+        __u32 inheritable;
+} *cap_user_data_t;
+# 69 "include/linux/capability.h"
+struct vfs_cap_data {
+ __le32 magic_etc;
+ struct {
+  __le32 permitted;
+  __le32 inheritable;
+ } data[2];
+};
+# 92 "include/linux/capability.h"
+extern int file_caps_enabled;
+
+typedef struct kernel_cap_struct {
+ __u32 cap[2];
+} kernel_cap_t;
+
+
+struct cpu_vfs_cap_data {
+ __u32 magic_etc;
+ kernel_cap_t permitted;
+ kernel_cap_t inheritable;
+};
+# 371 "include/linux/capability.h"
+struct dentry;
+struct user_namespace;
+
+struct user_namespace *current_user_ns(void);
+
+extern const kernel_cap_t __cap_empty_set;
+extern const kernel_cap_t __cap_full_set;
+extern const kernel_cap_t __cap_init_eff_set;
+# 451 "include/linux/capability.h"
+static inline __attribute__((always_inline)) kernel_cap_t cap_combine(const kernel_cap_t a,
+           const kernel_cap_t b)
+{
+ kernel_cap_t dest;
+ do { unsigned __capi; for (__capi = 0; __capi < 2; ++__capi) { dest.cap[__capi] = a.cap[__capi] | b.cap[__capi]; } } while (0);
+ return dest;
+}
+
+static inline __attribute__((always_inline)) kernel_cap_t cap_intersect(const kernel_cap_t a,
+      const kernel_cap_t b)
+{
+ kernel_cap_t dest;
+ do { unsigned __capi; for (__capi = 0; __capi < 2; ++__capi) { dest.cap[__capi] = a.cap[__capi] & b.cap[__capi]; } } while (0);
+ return dest;
+}
+
+static inline __attribute__((always_inline)) kernel_cap_t cap_drop(const kernel_cap_t a,
+        const kernel_cap_t drop)
+{
+ kernel_cap_t dest;
+ do { unsigned __capi; for (__capi = 0; __capi < 2; ++__capi) { dest.cap[__capi] = a.cap[__capi] &~ drop.cap[__capi]; } } while (0);
+ return dest;
+}
+
+static inline __attribute__((always_inline)) kernel_cap_t cap_invert(const kernel_cap_t c)
+{
+ kernel_cap_t dest;
+ do { unsigned __capi; for (__capi = 0; __capi < 2; ++__capi) { dest.cap[__capi] = ~ c.cap[__capi]; } } while (0);
+ return dest;
+}
+
+static inline __attribute__((always_inline)) int cap_isclear(const kernel_cap_t a)
+{
+ unsigned __capi;
+ for (__capi = 0; __capi < 2; ++__capi) {
+  if (a.cap[__capi] != 0)
+   return 0;
+ }
+ return 1;
+}
+# 499 "include/linux/capability.h"
+static inline __attribute__((always_inline)) int cap_issubset(const kernel_cap_t a, const kernel_cap_t set)
+{
+ kernel_cap_t dest;
+ dest = cap_drop(a, set);
+ return cap_isclear(dest);
+}
+
+
+
+static inline __attribute__((always_inline)) int cap_is_fs_cap(int cap)
+{
+ const kernel_cap_t __cap_fs_set = ((kernel_cap_t){{ ((1 << ((0) & 31)) | (1 << ((27) & 31)) | (1 << ((1) & 31)) | (1 << ((2) & 31)) | (1 << ((3) & 31)) | (1 << ((4) & 31))) | (1 << ((9) & 31)), ((1 << ((32) & 31))) } });
+ return !!((1 << ((cap) & 31)) & __cap_fs_set.cap[((cap) >> 5)]);
+}
+
+static inline __attribute__((always_inline)) kernel_cap_t cap_drop_fs_set(const kernel_cap_t a)
+{
+ const kernel_cap_t __cap_fs_set = ((kernel_cap_t){{ ((1 << ((0) & 31)) | (1 << ((27) & 31)) | (1 << ((1) & 31)) | (1 << ((2) & 31)) | (1 << ((3) & 31)) | (1 << ((4) & 31))) | (1 << ((9) & 31)), ((1 << ((32) & 31))) } });
+ return cap_drop(a, __cap_fs_set);
+}
+
+static inline __attribute__((always_inline)) kernel_cap_t cap_raise_fs_set(const kernel_cap_t a,
+         const kernel_cap_t permitted)
+{
+ const kernel_cap_t __cap_fs_set = ((kernel_cap_t){{ ((1 << ((0) & 31)) | (1 << ((27) & 31)) | (1 << ((1) & 31)) | (1 << ((2) & 31)) | (1 << ((3) & 31)) | (1 << ((4) & 31))) | (1 << ((9) & 31)), ((1 << ((32) & 31))) } });
+ return cap_combine(a,
+      cap_intersect(permitted, __cap_fs_set));
+}
+
+static inline __attribute__((always_inline)) kernel_cap_t cap_drop_nfsd_set(const kernel_cap_t a)
+{
+ const kernel_cap_t __cap_fs_set = ((kernel_cap_t){{ ((1 << ((0) & 31)) | (1 << ((27) & 31)) | (1 << ((1) & 31)) | (1 << ((2) & 31)) | (1 << ((3) & 31)) | (1 << ((4) & 31))) | (1 << ((24) & 31)), ((1 << ((32) & 31))) } });
+ return cap_drop(a, __cap_fs_set);
+}
+
+static inline __attribute__((always_inline)) kernel_cap_t cap_raise_nfsd_set(const kernel_cap_t a,
+           const kernel_cap_t permitted)
+{
+ const kernel_cap_t __cap_nfsd_set = ((kernel_cap_t){{ ((1 << ((0) & 31)) | (1 << ((27) & 31)) | (1 << ((1) & 31)) | (1 << ((2) & 31)) | (1 << ((3) & 31)) | (1 << ((4) & 31))) | (1 << ((24) & 31)), ((1 << ((32) & 31))) } });
+ return cap_combine(a,
+      cap_intersect(permitted, __cap_nfsd_set));
+}
+
+extern bool has_capability(struct task_struct *t, int cap);
+extern bool has_ns_capability(struct task_struct *t,
+         struct user_namespace *ns, int cap);
+extern bool has_capability_noaudit(struct task_struct *t, int cap);
+extern bool capable(int cap);
+extern bool ns_capable(struct user_namespace *ns, int cap);
+extern bool task_ns_capable(struct task_struct *t, int cap);
+extern bool nsown_capable(int cap);
+
+
+extern int get_vfs_caps_from_disk(const struct dentry *dentry, struct cpu_vfs_cap_data *cpu_caps);
+# 54 "include/linux/sched.h" 2
+# 1 "include/linux/threads.h" 1
+# 55 "include/linux/sched.h" 2
+# 1 "include/linux/kernel.h" 1
+# 12 "include/linux/kernel.h"
+# 1 "/home/sk/Projects/sdk/working/crosscompiler_with_gdb_c_c++_objc/toolchain/lib/gcc/powerpc-476-linux-gnu/4.6.1/include/stdarg.h" 1 3 4
+# 40 "/home/sk/Projects/sdk/working/crosscompiler_with_gdb_c_c++_objc/toolchain/lib/gcc/powerpc-476-linux-gnu/4.6.1/include/stdarg.h" 3 4
+typedef __builtin_va_list __gnuc_va_list;
+# 102 "/home/sk/Projects/sdk/working/crosscompiler_with_gdb_c_c++_objc/toolchain/lib/gcc/powerpc-476-linux-gnu/4.6.1/include/stdarg.h" 3 4
+typedef __gnuc_va_list va_list;
+# 13 "include/linux/kernel.h" 2
+# 1 "include/linux/linkage.h" 1
+
+
+
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/linkage.h" 1
+# 6 "include/linux/linkage.h" 2
+# 14 "include/linux/kernel.h" 2
+
+
+
+# 1 "include/linux/bitops.h" 1
+# 13 "include/linux/bitops.h"
+extern unsigned int __sw_hweight8(unsigned int w);
+extern unsigned int __sw_hweight16(unsigned int w);
+extern unsigned int __sw_hweight32(unsigned int w);
+extern unsigned long __sw_hweight64(__u64 w);
+
+
+
+
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/bitops.h" 1
+# 46 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/bitops.h"
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/asm-compat.h" 1
+
+
+
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/ppc-opcode.h" 1
+# 15 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/ppc-opcode.h"
+# 1 "include/linux/stringify.h" 1
+# 16 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/ppc-opcode.h" 2
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/asm-compat.h" 1
+# 17 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/ppc-opcode.h" 2
+# 6 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/asm-compat.h" 2
+# 47 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/bitops.h" 2
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/synch.h" 1
+
+
+
+
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/feature-fixups.h" 1
+# 7 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/synch.h" 2
+
+
+
+
+
+
+extern unsigned int __start___lwsync_fixup, __stop___lwsync_fixup;
+extern void do_lwsync_fixups(unsigned long value, void *fixup_start,
+        void *fixup_end);
+
+static inline __attribute__((always_inline)) void eieio(void)
+{
+ __asm__ __volatile__ ("eieio" : : : "memory");
+}
+
+static inline __attribute__((always_inline)) void isync(void)
+{
+ __asm__ __volatile__ ("isync" : : : "memory");
+}
+# 48 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/bitops.h" 2
+# 79 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/bitops.h"
+static __inline__ __attribute__((always_inline)) void set_bits(unsigned long mask, volatile unsigned long *_p) { unsigned long old; unsigned long *p = (unsigned long *)_p; __asm__ __volatile__ ( "" "1:" ".long 0x7c000028 | (((%0) & 0x1f) << 21) | (((0) & 0x1f) << 16) | (((%3) & 0x1f) << 11) | 0" " " "\n" "or" " " "%0,%0,%2\n" "stwcx." " " "%0,0,%3\n" "bne- 1b\n" "" : "=&r" (old), "+m" (*p) : "r" (mask), "r" (p) : "cc", "memory"); }
+static __inline__ __attribute__((always_inline)) void clear_bits(unsigned long mask, volatile unsigned long *_p) { unsigned long old; unsigned long *p = (unsigned long *)_p; __asm__ __volatile__ ( "" "1:" ".long 0x7c000028 | (((%0) & 0x1f) << 21) | (((0) & 0x1f) << 16) | (((%3) & 0x1f) << 11) | 0" " " "\n" "andc" " " "%0,%0,%2\n" "stwcx." " " "%0,0,%3\n" "bne- 1b\n" "" : "=&r" (old), "+m" (*p) : "r" (mask), "r" (p) : "cc", "memory"); }
+static __inline__ __attribute__((always_inline)) void clear_bits_unlock(unsigned long mask, volatile unsigned long *_p) { unsigned long old; unsigned long *p = (unsigned long *)_p; __asm__ __volatile__ ( "1:" ".long 0x7c000028 | (((%0) & 0x1f) << 21) | (((0) & 0x1f) << 16) | (((%3) & 0x1f) << 11) | 0" " " "\n" "andc" " " "%0,%0,%2\n" "stwcx." " " "%0,0,%3\n" "bne- 1b\n" "" : "=&r" (old), "+m" (*p) : "r" (mask), "r" (p) : "cc", "memory"); }
+static __inline__ __attribute__((always_inline)) void change_bits(unsigned long mask, volatile unsigned long *_p) { unsigned long old; unsigned long *p = (unsigned long *)_p; __asm__ __volatile__ ( "" "1:" ".long 0x7c000028 | (((%0) & 0x1f) << 21) | (((0) & 0x1f) << 16) | (((%3) & 0x1f) << 11) | 0" " " "\n" "xor" " " "%0,%0,%2\n" "stwcx." " " "%0,0,%3\n" "bne- 1b\n" "" : "=&r" (old), "+m" (*p) : "r" (mask), "r" (p) : "cc", "memory"); }
+
+static __inline__ __attribute__((always_inline)) void set_bit(int nr, volatile unsigned long *addr)
+{
+ set_bits((1UL << ((nr) % 32)), addr + ((nr) / 32));
+}
+
+static __inline__ __attribute__((always_inline)) void clear_bit(int nr, volatile unsigned long *addr)
+{
+ clear_bits((1UL << ((nr) % 32)), addr + ((nr) / 32));
+}
+
+static __inline__ __attribute__((always_inline)) void clear_bit_unlock(int nr, volatile unsigned long *addr)
+{
+ clear_bits_unlock((1UL << ((nr) % 32)), addr + ((nr) / 32));
+}
+
+static __inline__ __attribute__((always_inline)) void change_bit(int nr, volatile unsigned long *addr)
+{
+ change_bits((1UL << ((nr) % 32)), addr + ((nr) / 32));
+}
+# 127 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/bitops.h"
+static __inline__ __attribute__((always_inline)) unsigned long test_and_set_bits( unsigned long mask, volatile unsigned long *_p) { unsigned long old, t; unsigned long *p = (unsigned long *)_p; __asm__ __volatile__ ( "1:" ".long 0x7c000028 | (((%0) & 0x1f) << 21) | (((0) & 0x1f) << 16) | (((%3) & 0x1f) << 11) | 0" " " "\n" "or" " " "%1,%0,%2\n" "stwcx." " " "%1,0,%3\n" "bne- 1b\n" : "=&r" (old), "=&r" (t) : "r" (mask), "r" (p) : "cc", "memory"); return (old & mask); }
+
+static __inline__ __attribute__((always_inline)) unsigned long test_and_set_bits_lock( unsigned long mask, volatile unsigned long *_p) { unsigned long old, t; unsigned long *p = (unsigned long *)_p; __asm__ __volatile__ ( "" "1:" ".long 0x7c000028 | (((%0) & 0x1f) << 21) | (((0) & 0x1f) << 16) | (((%3) & 0x1f) << 11) | 0" " " "\n" "or" " " "%1,%0,%2\n" "stwcx." " " "%1,0,%3\n" "bne- 1b\n" : "=&r" (old), "=&r" (t) : "r" (mask), "r" (p) : "cc", "memory"); return (old & mask); }
+
+static __inline__ __attribute__((always_inline)) unsigned long test_and_clear_bits( unsigned long mask, volatile unsigned long *_p) { unsigned long old, t; unsigned long *p = (unsigned long *)_p; __asm__ __volatile__ ( "1:" ".long 0x7c000028 | (((%0) & 0x1f) << 21) | (((0) & 0x1f) << 16) | (((%3) & 0x1f) << 11) | 0" " " "\n" "andc" " " "%1,%0,%2\n" "stwcx." " " "%1,0,%3\n" "bne- 1b\n" : "=&r" (old), "=&r" (t) : "r" (mask), "r" (p) : "cc", "memory"); return (old & mask); }
+
+static __inline__ __attribute__((always_inline)) unsigned long test_and_change_bits( unsigned long mask, volatile unsigned long *_p) { unsigned long old, t; unsigned long *p = (unsigned long *)_p; __asm__ __volatile__ ( "1:" ".long 0x7c000028 | (((%0) & 0x1f) << 21) | (((0) & 0x1f) << 16) | (((%3) & 0x1f) << 11) | 0" " " "\n" "xor" " " "%1,%0,%2\n" "stwcx." " " "%1,0,%3\n" "bne- 1b\n" : "=&r" (old), "=&r" (t) : "r" (mask), "r" (p) : "cc", "memory"); return (old & mask); }
+
+
+static __inline__ __attribute__((always_inline)) int test_and_set_bit(unsigned long nr,
+           volatile unsigned long *addr)
+{
+ return test_and_set_bits((1UL << ((nr) % 32)), addr + ((nr) / 32)) != 0;
+}
+
+static __inline__ __attribute__((always_inline)) int test_and_set_bit_lock(unsigned long nr,
+           volatile unsigned long *addr)
+{
+ return test_and_set_bits_lock((1UL << ((nr) % 32)),
+    addr + ((nr) / 32)) != 0;
+}
+
+static __inline__ __attribute__((always_inline)) int test_and_clear_bit(unsigned long nr,
+      volatile unsigned long *addr)
+{
+ return test_and_clear_bits((1UL << ((nr) % 32)), addr + ((nr) / 32)) != 0;
+}
+
+static __inline__ __attribute__((always_inline)) int test_and_change_bit(unsigned long nr,
+       volatile unsigned long *addr)
+{
+ return test_and_change_bits((1UL << ((nr) % 32)), addr + ((nr) / 32)) != 0;
+}
+
+# 1 "include/asm-generic/bitops/non-atomic.h" 1
+# 15 "include/asm-generic/bitops/non-atomic.h"
+static inline __attribute__((always_inline)) void __set_bit(int nr, volatile unsigned long *addr)
+{
+ unsigned long mask = (1UL << ((nr) % 32));
+ unsigned long *p = ((unsigned long *)addr) + ((nr) / 32);
+
+ *p |= mask;
+}
+
+static inline __attribute__((always_inline)) void __clear_bit(int nr, volatile unsigned long *addr)
+{
+ unsigned long mask = (1UL << ((nr) % 32));
+ unsigned long *p = ((unsigned long *)addr) + ((nr) / 32);
+
+ *p &= ~mask;
+}
+# 40 "include/asm-generic/bitops/non-atomic.h"
+static inline __attribute__((always_inline)) void __change_bit(int nr, volatile unsigned long *addr)
+{
+ unsigned long mask = (1UL << ((nr) % 32));
+ unsigned long *p = ((unsigned long *)addr) + ((nr) / 32);
+
+ *p ^= mask;
+}
+# 57 "include/asm-generic/bitops/non-atomic.h"
+static inline __attribute__((always_inline)) int __test_and_set_bit(int nr, volatile unsigned long *addr)
+{
+ unsigned long mask = (1UL << ((nr) % 32));
+ unsigned long *p = ((unsigned long *)addr) + ((nr) / 32);
+ unsigned long old = *p;
+
+ *p = old | mask;
+ return (old & mask) != 0;
+}
+# 76 "include/asm-generic/bitops/non-atomic.h"
+static inline __attribute__((always_inline)) int __test_and_clear_bit(int nr, volatile unsigned long *addr)
+{
+ unsigned long mask = (1UL << ((nr) % 32));
+ unsigned long *p = ((unsigned long *)addr) + ((nr) / 32);
+ unsigned long old = *p;
+
+ *p = old & ~mask;
+ return (old & mask) != 0;
+}
+
+
+static inline __attribute__((always_inline)) int __test_and_change_bit(int nr,
+         volatile unsigned long *addr)
+{
+ unsigned long mask = (1UL << ((nr) % 32));
+ unsigned long *p = ((unsigned long *)addr) + ((nr) / 32);
+ unsigned long old = *p;
+
+ *p = old ^ mask;
+ return (old & mask) != 0;
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) int test_bit(int nr, const volatile unsigned long *addr)
+{
+
+
+
+ return 1UL & (addr[((nr) / 32)] >> (nr & (32 -1)));
+
+}
+
+static inline __attribute__((always_inline)) int test_bit_dbg(int nr, const volatile unsigned long *addr, volatile unsigned long *ret, volatile unsigned long *ret1, volatile unsigned long *ret2)
+{
+ if(ret)
+  *ret = (addr[((nr) / 32)] >> (nr & (32 -1)));
+
+ if (ret1)
+  *ret1 = 1UL&(*ret);
+
+ if (ret2)
+  *ret2 = 1UL & (addr[((nr) / 32)] >> (nr & (32 -1)));
+
+
+        return (addr[((nr) / 32)] >> (nr & (32 -1)));
+
+
+
+}
+# 162 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/bitops.h" 2
+
+static __inline__ __attribute__((always_inline)) void __clear_bit_unlock(int nr, volatile unsigned long *addr)
+{
+ __asm__ __volatile__( "" ::: "memory");
+ __clear_bit(nr, addr);
+}
+
+
+
+
+
+static __inline__ __attribute__((always_inline)) __attribute__((const))
+int __ilog2(unsigned long x)
+{
+ int lz;
+
+ asm ("cntlzw" " " "%0,%1" : "=r" (lz) : "r" (x));
+ return 32 - 1 - lz;
+}
+
+static inline __attribute__((always_inline)) __attribute__((const))
+int __ilog2_u32(u32 n)
+{
+ int bit;
+ asm ("cntlzw %0,%1" : "=r" (bit) : "r" (n));
+ return 31 - bit;
+}
+# 205 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/bitops.h"
+static __inline__ __attribute__((always_inline)) unsigned long ffz(unsigned long x)
+{
+
+ if ((x = ~x) == 0)
+  return 32;
+
+
+
+
+
+
+
+ return __ilog2(x & -x);
+}
+
+static __inline__ __attribute__((always_inline)) int __ffs(unsigned long x)
+{
+ return __ilog2(x & -x);
+}
+
+
+
+
+
+
+static __inline__ __attribute__((always_inline)) int ffs(int x)
+{
+ unsigned long i = (unsigned long)x;
+ return __ilog2(i & -i) + 1;
+}
+
+
+
+
+
+static __inline__ __attribute__((always_inline)) int fls(unsigned int x)
+{
+ int lz;
+
+ asm ("cntlzw %0,%1" : "=r" (lz) : "r" (x));
+ return 32 - lz;
+}
+
+static __inline__ __attribute__((always_inline)) unsigned long __fls(unsigned long x)
+{
+ return __ilog2(x);
+}
+# 267 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/bitops.h"
+# 1 "include/asm-generic/bitops/fls64.h" 1
+# 18 "include/asm-generic/bitops/fls64.h"
+static inline __attribute__((always_inline)) __attribute__((always_inline)) int fls64(__u64 x)
+{
+ __u32 h = x >> 32;
+ if (h)
+  return fls(h) + 32;
+ return fls(x);
+}
+# 268 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/bitops.h" 2
+# 277 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/bitops.h"
+# 1 "include/asm-generic/bitops/hweight.h" 1
+
+
+
+# 1 "include/asm-generic/bitops/arch_hweight.h" 1
+
+
+
+
+
+static inline __attribute__((always_inline)) unsigned int __arch_hweight32(unsigned int w)
+{
+ return __sw_hweight32(w);
+}
+
+static inline __attribute__((always_inline)) unsigned int __arch_hweight16(unsigned int w)
+{
+ return __sw_hweight16(w);
+}
+
+static inline __attribute__((always_inline)) unsigned int __arch_hweight8(unsigned int w)
+{
+ return __sw_hweight8(w);
+}
+
+static inline __attribute__((always_inline)) unsigned long __arch_hweight64(__u64 w)
+{
+ return __sw_hweight64(w);
+}
+# 5 "include/asm-generic/bitops/hweight.h" 2
+# 1 "include/asm-generic/bitops/const_hweight.h" 1
+# 6 "include/asm-generic/bitops/hweight.h" 2
+# 278 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/bitops.h" 2
+
+
+# 1 "include/asm-generic/bitops/find.h" 1
+# 10 "include/asm-generic/bitops/find.h"
+extern unsigned long find_next_bit(const unsigned long *addr, unsigned long
+  size, unsigned long offset);
+
+
+
+
+
+
+
+extern unsigned long find_next_zero_bit(const unsigned long *addr, unsigned
+  long size, unsigned long offset);
+# 281 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/bitops.h" 2
+
+
+
+static __inline__ __attribute__((always_inline)) int test_bit_le(unsigned long nr,
+      __const__ void *addr)
+{
+ __const__ unsigned char *tmp = (__const__ unsigned char *) addr;
+ return (tmp[nr >> 3] >> (nr & 7)) & 1;
+}
+
+static inline __attribute__((always_inline)) void __set_bit_le(int nr, void *addr)
+{
+ __set_bit(nr ^ ((32 -1) & ~0x7), addr);
+}
+
+static inline __attribute__((always_inline)) void __clear_bit_le(int nr, void *addr)
+{
+ __clear_bit(nr ^ ((32 -1) & ~0x7), addr);
+}
+
+static inline __attribute__((always_inline)) int test_and_set_bit_le(int nr, void *addr)
+{
+ return test_and_set_bit(nr ^ ((32 -1) & ~0x7), addr);
+}
+
+static inline __attribute__((always_inline)) int test_and_clear_bit_le(int nr, void *addr)
+{
+ return test_and_clear_bit(nr ^ ((32 -1) & ~0x7), addr);
+}
+
+static inline __attribute__((always_inline)) int __test_and_set_bit_le(int nr, void *addr)
+{
+ return __test_and_set_bit(nr ^ ((32 -1) & ~0x7), addr);
+}
+
+static inline __attribute__((always_inline)) int __test_and_clear_bit_le(int nr, void *addr)
+{
+ return __test_and_clear_bit(nr ^ ((32 -1) & ~0x7), addr);
+}
+
+static inline __attribute__((always_inline)) unsigned long find_next_zero_bit_le(const void *addr,
+                unsigned long size, unsigned long offset)
+{
+        return find_next_zero_bit(addr, size, offset);
+}
+
+static inline __attribute__((always_inline)) unsigned long find_next_bit_le(const void *addr,
+                unsigned long size, unsigned long offset)
+{
+        return find_next_bit(addr, size, offset);
+}
+
+static inline __attribute__((always_inline)) unsigned long find_first_zero_bit_le(const void *addr,
+                unsigned long size)
+{
+        return find_next_zero_bit((addr), (size), 0);
+}
+# 356 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/bitops.h"
+# 1 "include/asm-generic/bitops/sched.h" 1
+# 12 "include/asm-generic/bitops/sched.h"
+static inline __attribute__((always_inline)) int sched_find_first_bit(const unsigned long *b)
+{
+
+
+
+
+
+ if (b[0])
+  return __ffs(b[0]);
+ if (b[1])
+  return __ffs(b[1]) + 32;
+ if (b[2])
+  return __ffs(b[2]) + 64;
+ return __ffs(b[3]) + 96;
+
+
+
+}
+# 357 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/bitops.h" 2
+# 23 "include/linux/bitops.h" 2
+
+
+
+
+
+
+static __inline__ __attribute__((always_inline)) int get_bitmask_order(unsigned int count)
+{
+ int order;
+
+ order = fls(count);
+ return order;
+}
+
+static __inline__ __attribute__((always_inline)) int get_count_order(unsigned int count)
+{
+ int order;
+
+ order = fls(count) - 1;
+ if (count & (count - 1))
+  order++;
+ return order;
+}
+
+static inline __attribute__((always_inline)) unsigned long hweight_long(unsigned long w)
+{
+ return sizeof(w) == 4 ? (__builtin_constant_p(w) ? ((( (!!((w) & (1ULL << 0))) + (!!((w) & (1ULL << 1))) + (!!((w) & (1ULL << 2))) + (!!((w) & (1ULL << 3))) + (!!((w) & (1ULL << 4))) + (!!((w) & (1ULL << 5))) + (!!((w) & (1ULL << 6))) + (!!((w) & (1ULL << 7))) ) + ( (!!(((w) >> 8) & (1ULL << 0))) + (!!(((w) >> 8) & (1ULL << 1))) + (!!(((w) >> 8) & (1ULL << 2))) + (!!(((w) >> 8) & (1ULL << 3))) + (!!(((w) >> 8) & (1ULL << 4))) + (!!(((w) >> 8) & (1ULL << 5))) + (!!(((w) >> 8) & (1ULL << 6))) + (!!(((w) >> 8) & (1ULL << 7))) )) + (( (!!(((w) >> 16) & (1ULL << 0))) + (!!(((w) >> 16) & (1ULL << 1))) + (!!(((w) >> 16) & (1ULL << 2))) + (!!(((w) >> 16) & (1ULL << 3))) + (!!(((w) >> 16) & (1ULL << 4))) + (!!(((w) >> 16) & (1ULL << 5))) + (!!(((w) >> 16) & (1ULL << 6))) + (!!(((w) >> 16) & (1ULL << 7))) ) + ( (!!((((w) >> 16) >> 8) & (1ULL << 0))) + (!!((((w) >> 16) >> 8) & (1ULL << 1))) + (!!((((w) >> 16) >> 8) & (1ULL << 2))) + (!!((((w) >> 16) >> 8) & (1ULL << 3))) + (!!((((w) >> 16) >> 8) & (1ULL << 4))) + (!!((((w) >> 16) >> 8) & (1ULL << 5))) + (!!((((w) >> 16) >> 8) & (1ULL << 6))) + (!!((((w) >> 16) >> 8) & (1ULL << 7))) ))) : __arch_hweight32(w)) : (__builtin_constant_p(w) ? (((( (!!((w) & (1ULL << 0))) + (!!((w) & (1ULL << 1))) + (!!((w) & (1ULL << 2))) + (!!((w) & (1ULL << 3))) + (!!((w) & (1ULL << 4))) + (!!((w) & (1ULL << 5))) + (!!((w) & (1ULL << 6))) + (!!((w) & (1ULL << 7))) ) + ( (!!(((w) >> 8) & (1ULL << 0))) + (!!(((w) >> 8) & (1ULL << 1))) + (!!(((w) >> 8) & (1ULL << 2))) + (!!(((w) >> 8) & (1ULL << 3))) + (!!(((w) >> 8) & (1ULL << 4))) + (!!(((w) >> 8) & (1ULL << 5))) + (!!(((w) >> 8) & (1ULL << 6))) + (!!(((w) >> 8) & (1ULL << 7))) )) + (( (!!(((w) >> 16) & (1ULL << 0))) + (!!(((w) >> 16) & (1ULL << 1))) + (!!(((w) >> 16) & (1ULL << 2))) + (!!(((w) >> 16) & (1ULL << 3))) + (!!(((w) >> 16) & (1ULL << 4))) + (!!(((w) >> 16) & (1ULL << 5))) + (!!(((w) >> 16) & (1ULL << 6))) + (!!(((w) >> 16) & (1ULL << 7))) ) + ( (!!((((w) >> 16) >> 8) & (1ULL << 0))) + (!!((((w) >> 16) >> 8) & (1ULL << 1))) + (!!((((w) >> 16) >> 8) & (1ULL << 2))) + (!!((((w) >> 16) >> 8) & (1ULL << 3))) + (!!((((w) >> 16) >> 8) & (1ULL << 4))) + (!!((((w) >> 16) >> 8) & (1ULL << 5))) + (!!((((w) >> 16) >> 8) & (1ULL << 6))) + (!!((((w) >> 16) >> 8) & (1ULL << 7))) ))) + ((( (!!(((w) >> 32) & (1ULL << 0))) + (!!(((w) >> 32) & (1ULL << 1))) + (!!(((w) >> 32) & (1ULL << 2))) + (!!(((w) >> 32) & (1ULL << 3))) + (!!(((w) >> 32) & (1ULL << 4))) + (!!(((w) >> 32) & (1ULL << 5))) + (!!(((w) >> 32) & (1ULL << 6))) + (!!(((w) >> 32) & (1ULL << 7))) ) + ( (!!((((w) >> 32) >> 8) & (1ULL << 0))) + (!!((((w) >> 32) >> 8) & (1ULL << 1))) + (!!((((w) >> 32) >> 8) & (1ULL << 2))) + (!!((((w) >> 32) >> 8) & (1ULL << 3))) + (!!((((w) >> 32) >> 8) & (1ULL << 4))) + (!!((((w) >> 32) >> 8) & (1ULL << 5))) + (!!((((w) >> 32) >> 8) & (1ULL << 6))) + (!!((((w) >> 32) >> 8) & (1ULL << 7))) )) + (( (!!((((w) >> 32) >> 16) & (1ULL << 0))) + (!!((((w) >> 32) >> 16) & (1ULL << 1))) + (!!((((w) >> 32) >> 16) & (1ULL << 2))) + (!!((((w) >> 32) >> 16) & (1ULL << 3))) + (!!((((w) >> 32) >> 16) & (1ULL << 4))) + (!!((((w) >> 32) >> 16) & (1ULL << 5))) + (!!((((w) >> 32) >> 16) & (1ULL << 6))) + (!!((((w) >> 32) >> 16) & (1ULL << 7))) ) + ( (!!(((((w) >> 32) >> 16) >> 8) & (1ULL << 0))) + (!!(((((w) >> 32) >> 16) >> 8) & (1ULL << 1))) + (!!(((((w) >> 32) >> 16) >> 8) & (1ULL << 2))) + (!!(((((w) >> 32) >> 16) >> 8) & (1ULL << 3))) + (!!(((((w) >> 32) >> 16) >> 8) & (1ULL << 4))) + (!!(((((w) >> 32) >> 16) >> 8) & (1ULL << 5))) + (!!(((((w) >> 32) >> 16) >> 8) & (1ULL << 6))) + (!!(((((w) >> 32) >> 16) >> 8) & (1ULL << 7))) )))) : __arch_hweight64(w));
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) __u32 rol32(__u32 word, unsigned int shift)
+{
+ return (word << shift) | (word >> (32 - shift));
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) __u32 ror32(__u32 word, unsigned int shift)
+{
+ return (word >> shift) | (word << (32 - shift));
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) __u16 rol16(__u16 word, unsigned int shift)
+{
+ return (word << shift) | (word >> (16 - shift));
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) __u16 ror16(__u16 word, unsigned int shift)
+{
+ return (word >> shift) | (word << (16 - shift));
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) __u8 rol8(__u8 word, unsigned int shift)
+{
+ return (word << shift) | (word >> (8 - shift));
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) __u8 ror8(__u8 word, unsigned int shift)
+{
+ return (word >> shift) | (word << (8 - shift));
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) __s32 sign_extend32(__u32 value, int index)
+{
+ __u8 shift = 31 - index;
+ return (__s32)(value << shift) >> shift;
+}
+
+static inline __attribute__((always_inline)) unsigned fls_long(unsigned long l)
+{
+ if (sizeof(l) == 4)
+  return fls(l);
+ return fls64(l);
+}
+# 138 "include/linux/bitops.h"
+static inline __attribute__((always_inline)) unsigned long __ffs64(u64 word)
+{
+
+ if (((u32)word) == 0UL)
+  return __ffs((u32)(word >> 32)) + 32;
+
+
+
+ return __ffs((unsigned long)word);
+}
+# 159 "include/linux/bitops.h"
+extern unsigned long find_last_bit(const unsigned long *addr,
+       unsigned long size);
+# 18 "include/linux/kernel.h" 2
+# 1 "include/linux/log2.h" 1
+# 21 "include/linux/log2.h"
+extern __attribute__((const, noreturn))
+int ____ilog2_NaN(void);
+# 39 "include/linux/log2.h"
+static inline __attribute__((always_inline)) __attribute__((const))
+int __ilog2_u64(u64 n)
+{
+ return fls64(n) - 1;
+}
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) __attribute__((const))
+bool is_power_of_2(unsigned long n)
+{
+ return (n != 0 && ((n & (n - 1)) == 0));
+}
+
+
+
+
+static inline __attribute__((always_inline)) __attribute__((const))
+unsigned long __roundup_pow_of_two(unsigned long n)
+{
+ return 1UL << fls_long(n - 1);
+}
+
+
+
+
+static inline __attribute__((always_inline)) __attribute__((const))
+unsigned long __rounddown_pow_of_two(unsigned long n)
+{
+ return 1UL << (fls_long(n) - 1);
+}
+# 19 "include/linux/kernel.h" 2
+# 1 "include/linux/typecheck.h" 1
+# 20 "include/linux/kernel.h" 2
+# 1 "include/linux/printk.h" 1
+
+
+
+extern const char linux_banner[];
+extern const char linux_proc_banner[];
+# 26 "include/linux/printk.h"
+extern int console_printk[];
+
+
+
+
+
+
+static inline __attribute__((always_inline)) void console_silent(void)
+{
+ (console_printk[0]) = 0;
+}
+
+static inline __attribute__((always_inline)) void console_verbose(void)
+{
+ if ((console_printk[0]))
+  (console_printk[0]) = 15;
+}
+
+struct va_format {
+ const char *fmt;
+ va_list *va;
+};
+# 84 "include/linux/printk.h"
+static inline __attribute__((always_inline)) __attribute__ ((format (printf, 1, 2)))
+int no_printk(const char *fmt, ...)
+{
+ return 0;
+}
+
+extern __attribute__ ((format (printf, 1, 2)))
+void early_printk(const char *fmt, ...);
+
+extern int printk_needs_cpu(int cpu);
+extern void printk_tick(void);
+
+
+ __attribute__ ((format (printf, 1, 0)))
+int vprintk(const char *fmt, va_list args);
+ __attribute__ ((format (printf, 1, 2))) __attribute__((__cold__))
+int printk(const char *fmt, ...);
+
+
+
+
+
+
+extern int __printk_ratelimit(const char *func);
+
+extern bool printk_timed_ratelimit(unsigned long *caller_jiffies,
+       unsigned int interval_msec);
+
+extern int printk_delay_msec;
+extern int dmesg_restrict;
+extern int kptr_restrict;
+
+void log_buf_kexec_setup(void);
+# 143 "include/linux/printk.h"
+extern void dump_stack(void) __attribute__((__cold__));
+# 309 "include/linux/printk.h"
+enum {
+ DUMP_PREFIX_NONE,
+ DUMP_PREFIX_ADDRESS,
+ DUMP_PREFIX_OFFSET
+};
+extern void hex_dump_to_buffer(const void *buf, size_t len,
+          int rowsize, int groupsize,
+          char *linebuf, size_t linebuflen, bool ascii);
+
+extern void print_hex_dump(const char *level, const char *prefix_str,
+      int prefix_type, int rowsize, int groupsize,
+      const void *buf, size_t len, bool ascii);
+extern void print_hex_dump_bytes(const char *prefix_str, int prefix_type,
+     const void *buf, size_t len);
+# 21 "include/linux/kernel.h" 2
+# 1 "include/linux/dynamic_debug.h" 1
+
+
+
+# 1 "include/linux/jump_label.h" 1
+# 9 "include/linux/jump_label.h"
+enum jump_label_type {
+ JUMP_LABEL_ENABLE,
+ JUMP_LABEL_DISABLE
+};
+
+struct module;
+# 54 "include/linux/jump_label.h"
+static inline __attribute__((always_inline)) int jump_label_apply_nops(struct module *mod)
+{
+ return 0;
+}
+
+static inline __attribute__((always_inline)) int jump_label_text_reserved(void *start, void *end)
+{
+ return 0;
+}
+
+static inline __attribute__((always_inline)) void jump_label_lock(void) {}
+static inline __attribute__((always_inline)) void jump_label_unlock(void) {}
+# 5 "include/linux/dynamic_debug.h" 2
+
+
+
+
+
+extern long long dynamic_debug_enabled;
+extern long long dynamic_debug_enabled2;
+
+
+
+
+
+
+struct _ddebug {
+
+
+
+
+ const char *modname;
+ const char *function;
+ const char *filename;
+ const char *format;
+ unsigned int lineno:24;
+# 39 "include/linux/dynamic_debug.h"
+ unsigned int flags:8;
+ char enabled;
+} __attribute__((aligned(8)));
+
+
+int ddebug_add_module(struct _ddebug *tab, unsigned int n,
+    const char *modname);
+# 75 "include/linux/dynamic_debug.h"
+static inline __attribute__((always_inline)) int ddebug_remove_module(const char *mod)
+{
+ return 0;
+}
+# 22 "include/linux/kernel.h" 2
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/byteorder.h" 1
+# 12 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/byteorder.h"
+# 1 "include/linux/byteorder/little_endian.h" 1
+# 12 "include/linux/byteorder/little_endian.h"
+# 1 "include/linux/swab.h" 1
+
+
+
+
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/swab.h" 1
+# 22 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/swab.h"
+static __inline__ __attribute__((always_inline)) __u16 ld_le16(const volatile __u16 *addr)
+{
+ __u16 val;
+
+ __asm__ __volatile__ ("lhbrx %0,0,%1" : "=r" (val) : "r" (addr), "m" (*addr));
+ return val;
+}
+
+
+static __inline__ __attribute__((always_inline)) void st_le16(volatile __u16 *addr, const __u16 val)
+{
+ __asm__ __volatile__ ("sthbrx %1,0,%2" : "=m" (*addr) : "r" (val), "r" (addr));
+}
+
+static inline __attribute__((always_inline)) void __arch_swab16s(__u16 *addr)
+{
+ st_le16(addr, *addr);
+}
+
+
+static __inline__ __attribute__((always_inline)) __u32 ld_le32(const volatile __u32 *addr)
+{
+ __u32 val;
+
+ __asm__ __volatile__ ("lwbrx %0,0,%1" : "=r" (val) : "r" (addr), "m" (*addr));
+ return val;
+}
+
+
+static __inline__ __attribute__((always_inline)) void st_le32(volatile __u32 *addr, const __u32 val)
+{
+ __asm__ __volatile__ ("stwbrx %1,0,%2" : "=m" (*addr) : "r" (val), "r" (addr));
+}
+
+static inline __attribute__((always_inline)) void __arch_swab32s(__u32 *addr)
+{
+ st_le32(addr, *addr);
+}
+
+
+static inline __attribute__((always_inline)) __attribute__((__const__)) __u16 __arch_swab16(__u16 value)
+{
+ __u16 result;
+
+ __asm__("rlwimi %0,%1,8,16,23"
+     : "=r" (result)
+     : "r" (value), "0" (value >> 8));
+ return result;
+}
+
+
+static inline __attribute__((always_inline)) __attribute__((__const__)) __u32 __arch_swab32(__u32 value)
+{
+ __u32 result;
+
+ __asm__("rlwimi %0,%1,24,16,23\n\t"
+     "rlwimi %0,%1,8,8,15\n\t"
+     "rlwimi %0,%1,24,0,7"
+     : "=r" (result)
+     : "r" (value), "0" (value >> 24));
+ return result;
+}
+# 7 "include/linux/swab.h" 2
+# 46 "include/linux/swab.h"
+static inline __attribute__((always_inline)) __attribute__((__const__)) __u16 __fswab16(__u16 val)
+{
+
+ return __arch_swab16(val);
+
+
+
+}
+
+static inline __attribute__((always_inline)) __attribute__((__const__)) __u32 __fswab32(__u32 val)
+{
+
+ return __arch_swab32(val);
+
+
+
+}
+
+static inline __attribute__((always_inline)) __attribute__((__const__)) __u64 __fswab64(__u64 val)
+{
+
+
+
+ __u32 h = val >> 32;
+ __u32 l = val & ((1ULL << 32) - 1);
+ return (((__u64)__fswab32(l)) << 32) | ((__u64)(__fswab32(h)));
+
+
+
+}
+
+static inline __attribute__((always_inline)) __attribute__((__const__)) __u32 __fswahw32(__u32 val)
+{
+
+
+
+ return ((__u32)( (((__u32)(val) & (__u32)0x0000ffffUL) << 16) | (((__u32)(val) & (__u32)0xffff0000UL) >> 16)));
+
+}
+
+static inline __attribute__((always_inline)) __attribute__((__const__)) __u32 __fswahb32(__u32 val)
+{
+
+
+
+ return ((__u32)( (((__u32)(val) & (__u32)0x00ff00ffUL) << 8) | (((__u32)(val) & (__u32)0xff00ff00UL) >> 8)));
+
+}
+# 148 "include/linux/swab.h"
+static inline __attribute__((always_inline)) __u16 __swab16p(const __u16 *p)
+{
+
+ return ld_le16(p);
+
+
+
+}
+
+
+
+
+
+static inline __attribute__((always_inline)) __u32 __swab32p(const __u32 *p)
+{
+
+ return ld_le32(p);
+
+
+
+}
+
+
+
+
+
+static inline __attribute__((always_inline)) __u64 __swab64p(const __u64 *p)
+{
+
+
+
+ return (__builtin_constant_p((__u64)(*p)) ? ((__u64)( (((__u64)(*p) & (__u64)0x00000000000000ffULL) << 56) | (((__u64)(*p) & (__u64)0x000000000000ff00ULL) << 40) | (((__u64)(*p) & (__u64)0x0000000000ff0000ULL) << 24) | (((__u64)(*p) & (__u64)0x00000000ff000000ULL) << 8) | (((__u64)(*p) & (__u64)0x000000ff00000000ULL) >> 8) | (((__u64)(*p) & (__u64)0x0000ff0000000000ULL) >> 24) | (((__u64)(*p) & (__u64)0x00ff000000000000ULL) >> 40) | (((__u64)(*p) & (__u64)0xff00000000000000ULL) >> 56))) : __fswab64(*p));
+
+}
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) __u32 __swahw32p(const __u32 *p)
+{
+
+
+
+ return (__builtin_constant_p((__u32)(*p)) ? ((__u32)( (((__u32)(*p) & (__u32)0x0000ffffUL) << 16) | (((__u32)(*p) & (__u32)0xffff0000UL) >> 16))) : __fswahw32(*p));
+
+}
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) __u32 __swahb32p(const __u32 *p)
+{
+
+
+
+ return (__builtin_constant_p((__u32)(*p)) ? ((__u32)( (((__u32)(*p) & (__u32)0x00ff00ffUL) << 8) | (((__u32)(*p) & (__u32)0xff00ff00UL) >> 8))) : __fswahb32(*p));
+
+}
+
+
+
+
+
+static inline __attribute__((always_inline)) void __swab16s(__u16 *p)
+{
+
+ __arch_swab16s(p);
+
+
+
+}
+
+
+
+
+static inline __attribute__((always_inline)) void __swab32s(__u32 *p)
+{
+
+ __arch_swab32s(p);
+
+
+
+}
+
+
+
+
+
+static inline __attribute__((always_inline)) void __swab64s(__u64 *p)
+{
+
+
+
+ *p = __swab64p(p);
+
+}
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) void __swahw32s(__u32 *p)
+{
+
+
+
+ *p = __swahw32p(p);
+
+}
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) void __swahb32s(__u32 *p)
+{
+
+
+
+ *p = __swahb32p(p);
+
+}
+# 13 "include/linux/byteorder/little_endian.h" 2
+# 43 "include/linux/byteorder/little_endian.h"
+static inline __attribute__((always_inline)) __le64 __cpu_to_le64p(const __u64 *p)
+{
+ return ( __le64)*p;
+}
+static inline __attribute__((always_inline)) __u64 __le64_to_cpup(const __le64 *p)
+{
+ return ( __u64)*p;
+}
+static inline __attribute__((always_inline)) __le32 __cpu_to_le32p(const __u32 *p)
+{
+ return ( __le32)*p;
+}
+static inline __attribute__((always_inline)) __u32 __le32_to_cpup(const __le32 *p)
+{
+ return ( __u32)*p;
+}
+static inline __attribute__((always_inline)) __le16 __cpu_to_le16p(const __u16 *p)
+{
+ return ( __le16)*p;
+}
+static inline __attribute__((always_inline)) __u16 __le16_to_cpup(const __le16 *p)
+{
+ return ( __u16)*p;
+}
+static inline __attribute__((always_inline)) __be64 __cpu_to_be64p(const __u64 *p)
+{
+ return ( __be64)__swab64p(p);
+}
+static inline __attribute__((always_inline)) __u64 __be64_to_cpup(const __be64 *p)
+{
+ return __swab64p((__u64 *)p);
+}
+static inline __attribute__((always_inline)) __be32 __cpu_to_be32p(const __u32 *p)
+{
+ return ( __be32)__swab32p(p);
+}
+static inline __attribute__((always_inline)) __u32 __be32_to_cpup(const __be32 *p)
+{
+ return __swab32p((__u32 *)p);
+}
+static inline __attribute__((always_inline)) __be16 __cpu_to_be16p(const __u16 *p)
+{
+ return ( __be16)__swab16p(p);
+}
+static inline __attribute__((always_inline)) __u16 __be16_to_cpup(const __be16 *p)
+{
+ return __swab16p((__u16 *)p);
+}
+# 105 "include/linux/byteorder/little_endian.h"
+# 1 "include/linux/byteorder/generic.h" 1
+# 143 "include/linux/byteorder/generic.h"
+static inline __attribute__((always_inline)) void le16_add_cpu(__le16 *var, u16 val)
+{
+ *var = (( __le16)(__u16)((( __u16)(__le16)(*var)) + val));
+}
+
+static inline __attribute__((always_inline)) void le32_add_cpu(__le32 *var, u32 val)
+{
+ *var = (( __le32)(__u32)((( __u32)(__le32)(*var)) + val));
+}
+
+static inline __attribute__((always_inline)) void le64_add_cpu(__le64 *var, u64 val)
+{
+ *var = (( __le64)(__u64)((( __u64)(__le64)(*var)) + val));
+}
+
+static inline __attribute__((always_inline)) void be16_add_cpu(__be16 *var, u16 val)
+{
+ *var = (( __be16)(__builtin_constant_p((__u16)(((__builtin_constant_p((__u16)(( __u16)(__be16)(*var))) ? ((__u16)( (((__u16)(( __u16)(__be16)(*var)) & (__u16)0x00ffU) << 8) | (((__u16)(( __u16)(__be16)(*var)) & (__u16)0xff00U) >> 8))) : __fswab16(( __u16)(__be16)(*var))) + val))) ? ((__u16)( (((__u16)(((__builtin_constant_p((__u16)(( __u16)(__be16)(*var))) ? ((__u16)( (((__u16)(( __u16)(__be16)(*var)) & (__u16)0x00ffU) << 8) | (((__u16)(( __u16)(__be16)(*var)) & (__u16)0xff00U) >> 8))) : __fswab16(( __u16)(__be16)(*var))) + val)) & (__u16)0x00ffU) << 8) | (((__u16)(((__builtin_constant_p((__u16)(( __u16)(__be16)(*var))) ? ((__u16)( (((__u16)(( __u16)(__be16)(*var)) & (__u16)0x00ffU) << 8) | (((__u16)(( __u16)(__be16)(*var)) & (__u16)0xff00U) >> 8))) : __fswab16(( __u16)(__be16)(*var))) + val)) & (__u16)0xff00U) >> 8))) : __fswab16(((__builtin_constant_p((__u16)(( __u16)(__be16)(*var))) ? ((__u16)( (((__u16)(( __u16)(__be16)(*var)) & (__u16)0x00ffU) << 8) | (((__u16)(( __u16)(__be16)(*var)) & (__u16)0xff00U) >> 8))) : __fswab16(( __u16)(__be16)(*var))) + val))));
+}
+
+static inline __attribute__((always_inline)) void be32_add_cpu(__be32 *var, u32 val)
+{
+ *var = (( __be32)(__builtin_constant_p((__u32)(((__builtin_constant_p((__u32)(( __u32)(__be32)(*var))) ? ((__u32)( (((__u32)(( __u32)(__be32)(*var)) & (__u32)0x000000ffUL) << 24) | (((__u32)(( __u32)(__be32)(*var)) & (__u32)0x0000ff00UL) << 8) | (((__u32)(( __u32)(__be32)(*var)) & (__u32)0x00ff0000UL) >> 8) | (((__u32)(( __u32)(__be32)(*var)) & (__u32)0xff000000UL) >> 24))) : __fswab32(( __u32)(__be32)(*var))) + val))) ? ((__u32)( (((__u32)(((__builtin_constant_p((__u32)(( __u32)(__be32)(*var))) ? ((__u32)( (((__u32)(( __u32)(__be32)(*var)) & (__u32)0x000000ffUL) << 24) | (((__u32)(( __u32)(__be32)(*var)) & (__u32)0x0000ff00UL) << 8) | (((__u32)(( __u32)(__be32)(*var)) & (__u32)0x00ff0000UL) >> 8) | (((__u32)(( __u32)(__be32)(*var)) & (__u32)0xff000000UL) >> 24))) : __fswab32(( __u32)(__be32)(*var))) + val)) & (__u32)0x000000ffUL) << 24) | (((__u32)(((__builtin_constant_p((__u32)(( __u32)(__be32)(*var))) ? ((__u32)( (((__u32)(( __u32)(__be32)(*var)) & (__u32)0x000000ffUL) << 24) | (((__u32)(( __u32)(__be32)(*var)) & (__u32)0x0000ff00UL) << 8) | (((__u32)(( __u32)(__be32)(*var)) & (__u32)0x00ff0000UL) >> 8) | (((__u32)(( __u32)(__be32)(*var)) & (__u32)0xff000000UL) >> 24))) : __fswab32(( __u32)(__be32)(*var))) + val)) & (__u32)0x0000ff00UL) << 8) | (((__u32)(((__builtin_constant_p((__u32)(( __u32)(__be32)(*var))) ? ((__u32)( (((__u32)(( __u32)(__be32)(*var)) & (__u32)0x000000ffUL) << 24) | (((__u32)(( __u32)(__be32)(*var)) & (__u32)0x0000ff00UL) << 8) | (((__u32)(( __u32)(__be32)(*var)) & (__u32)0x00ff0000UL) >> 8) | (((__u32)(( __u32)(__be32)(*var)) & (__u32)0xff000000UL) >> 24))) : __fswab32(( __u32)(__be32)(*var))) + val)) & (__u32)0x00ff0000UL) >> 8) | (((__u32)(((__builtin_constant_p((__u32)(( __u32)(__be32)(*var))) ? ((__u32)( (((__u32)(( __u32)(__be32)(*var)) & (__u32)0x000000ffUL) << 24) | (((__u32)(( __u32)(__be32)(*var)) & (__u32)0x0000ff00UL) << 8) | (((__u32)(( __u32)(__be32)(*var)) & (__u32)0x00ff0000UL) >> 8) | (((__u32)(( __u32)(__be32)(*var)) & (__u32)0xff000000UL) >> 24))) : __fswab32(( __u32)(__be32)(*var))) + val)) & (__u32)0xff000000UL) >> 24))) : __fswab32(((__builtin_constant_p((__u32)(( __u32)(__be32)(*var))) ? ((__u32)( (((__u32)(( __u32)(__be32)(*var)) & (__u32)0x000000ffUL) << 24) | (((__u32)(( __u32)(__be32)(*var)) & (__u32)0x0000ff00UL) << 8) | (((__u32)(( __u32)(__be32)(*var)) & (__u32)0x00ff0000UL) >> 8) | (((__u32)(( __u32)(__be32)(*var)) & (__u32)0xff000000UL) >> 24))) : __fswab32(( __u32)(__be32)(*var))) + val))));
+}
+
+static inline __attribute__((always_inline)) void be64_add_cpu(__be64 *var, u64 val)
+{
+ *var = (( __be64)(__builtin_constant_p((__u64)(((__builtin_constant_p((__u64)(( __u64)(__be64)(*var))) ? ((__u64)( (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x00000000000000ffULL) << 56) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x000000000000ff00ULL) << 40) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x0000000000ff0000ULL) << 24) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x00000000ff000000ULL) << 8) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x000000ff00000000ULL) >> 8) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x0000ff0000000000ULL) >> 24) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x00ff000000000000ULL) >> 40) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0xff00000000000000ULL) >> 56))) : __fswab64(( __u64)(__be64)(*var))) + val))) ? ((__u64)( (((__u64)(((__builtin_constant_p((__u64)(( __u64)(__be64)(*var))) ? ((__u64)( (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x00000000000000ffULL) << 56) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x000000000000ff00ULL) << 40) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x0000000000ff0000ULL) << 24) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x00000000ff000000ULL) << 8) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x000000ff00000000ULL) >> 8) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x0000ff0000000000ULL) >> 24) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x00ff000000000000ULL) >> 40) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0xff00000000000000ULL) >> 56))) : __fswab64(( __u64)(__be64)(*var))) + val)) & (__u64)0x00000000000000ffULL) << 56) | (((__u64)(((__builtin_constant_p((__u64)(( __u64)(__be64)(*var))) ? ((__u64)( (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x00000000000000ffULL) << 56) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x000000000000ff00ULL) << 40) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x0000000000ff0000ULL) << 24) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x00000000ff000000ULL) << 8) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x000000ff00000000ULL) >> 8) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x0000ff0000000000ULL) >> 24) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x00ff000000000000ULL) >> 40) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0xff00000000000000ULL) >> 56))) : __fswab64(( __u64)(__be64)(*var))) + val)) & (__u64)0x000000000000ff00ULL) << 40) | (((__u64)(((__builtin_constant_p((__u64)(( __u64)(__be64)(*var))) ? ((__u64)( (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x00000000000000ffULL) << 56) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x000000000000ff00ULL) << 40) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x0000000000ff0000ULL) << 24) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x00000000ff000000ULL) << 8) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x000000ff00000000ULL) >> 8) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x0000ff0000000000ULL) >> 24) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x00ff000000000000ULL) >> 40) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0xff00000000000000ULL) >> 56))) : __fswab64(( __u64)(__be64)(*var))) + val)) & (__u64)0x0000000000ff0000ULL) << 24) | (((__u64)(((__builtin_constant_p((__u64)(( __u64)(__be64)(*var))) ? ((__u64)( (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x00000000000000ffULL) << 56) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x000000000000ff00ULL) << 40) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x0000000000ff0000ULL) << 24) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x00000000ff000000ULL) << 8) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x000000ff00000000ULL) >> 8) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x0000ff0000000000ULL) >> 24) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x00ff000000000000ULL) >> 40) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0xff00000000000000ULL) >> 56))) : __fswab64(( __u64)(__be64)(*var))) + val)) & (__u64)0x00000000ff000000ULL) << 8) | (((__u64)(((__builtin_constant_p((__u64)(( __u64)(__be64)(*var))) ? ((__u64)( (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x00000000000000ffULL) << 56) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x000000000000ff00ULL) << 40) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x0000000000ff0000ULL) << 24) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x00000000ff000000ULL) << 8) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x000000ff00000000ULL) >> 8) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x0000ff0000000000ULL) >> 24) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x00ff000000000000ULL) >> 40) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0xff00000000000000ULL) >> 56))) : __fswab64(( __u64)(__be64)(*var))) + val)) & (__u64)0x000000ff00000000ULL) >> 8) | (((__u64)(((__builtin_constant_p((__u64)(( __u64)(__be64)(*var))) ? ((__u64)( (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x00000000000000ffULL) << 56) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x000000000000ff00ULL) << 40) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x0000000000ff0000ULL) << 24) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x00000000ff000000ULL) << 8) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x000000ff00000000ULL) >> 8) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x0000ff0000000000ULL) >> 24) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x00ff000000000000ULL) >> 40) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0xff00000000000000ULL) >> 56))) : __fswab64(( __u64)(__be64)(*var))) + val)) & (__u64)0x0000ff0000000000ULL) >> 24) | (((__u64)(((__builtin_constant_p((__u64)(( __u64)(__be64)(*var))) ? ((__u64)( (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x00000000000000ffULL) << 56) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x000000000000ff00ULL) << 40) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x0000000000ff0000ULL) << 24) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x00000000ff000000ULL) << 8) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x000000ff00000000ULL) >> 8) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x0000ff0000000000ULL) >> 24) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x00ff000000000000ULL) >> 40) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0xff00000000000000ULL) >> 56))) : __fswab64(( __u64)(__be64)(*var))) + val)) & (__u64)0x00ff000000000000ULL) >> 40) | (((__u64)(((__builtin_constant_p((__u64)(( __u64)(__be64)(*var))) ? ((__u64)( (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x00000000000000ffULL) << 56) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x000000000000ff00ULL) << 40) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x0000000000ff0000ULL) << 24) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x00000000ff000000ULL) << 8) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x000000ff00000000ULL) >> 8) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x0000ff0000000000ULL) >> 24) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x00ff000000000000ULL) >> 40) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0xff00000000000000ULL) >> 56))) : __fswab64(( __u64)(__be64)(*var))) + val)) & (__u64)0xff00000000000000ULL) >> 56))) : __fswab64(((__builtin_constant_p((__u64)(( __u64)(__be64)(*var))) ? ((__u64)( (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x00000000000000ffULL) << 56) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x000000000000ff00ULL) << 40) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x0000000000ff0000ULL) << 24) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x00000000ff000000ULL) << 8) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x000000ff00000000ULL) >> 8) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x0000ff0000000000ULL) >> 24) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0x00ff000000000000ULL) >> 40) | (((__u64)(( __u64)(__be64)(*var)) & (__u64)0xff00000000000000ULL) >> 56))) : __fswab64(( __u64)(__be64)(*var))) + val))));
+}
+# 106 "include/linux/byteorder/little_endian.h" 2
+# 13 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/byteorder.h" 2
+# 23 "include/linux/kernel.h" 2
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/bug.h" 1
+# 127 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/bug.h"
+# 1 "include/asm-generic/bug.h" 1
+# 10 "include/asm-generic/bug.h"
+struct bug_entry {
+
+ unsigned long bug_addr;
+
+
+
+
+
+ const char *file;
+
+
+
+ unsigned short line;
+
+ unsigned short flags;
+};
+# 128 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/bug.h" 2
+# 24 "include/linux/kernel.h" 2
+# 84 "include/linux/kernel.h"
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/div64.h" 1
+# 1 "include/asm-generic/div64.h" 1
+# 35 "include/asm-generic/div64.h"
+extern uint32_t __div64_32(uint64_t *dividend, uint32_t divisor);
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/div64.h" 2
+# 85 "include/linux/kernel.h" 2
+# 113 "include/linux/kernel.h"
+struct completion;
+struct pt_regs;
+struct user;
+
+
+extern int _cond_resched(void);
+# 139 "include/linux/kernel.h"
+  static inline __attribute__((always_inline)) void __might_sleep(const char *file, int line,
+       int preempt_offset) { }
+# 172 "include/linux/kernel.h"
+static inline __attribute__((always_inline)) void might_fault(void)
+{
+ do { _cond_resched(); } while (0);
+}
+
+
+extern struct atomic_notifier_head panic_notifier_list;
+extern long (*panic_blink)(int state);
+ void panic(const char * fmt, ...)
+ __attribute__ ((noreturn, format (printf, 1, 2))) __attribute__((__cold__));
+extern void oops_enter(void);
+extern void oops_exit(void);
+void print_oops_end_marker(void);
+extern int oops_may_print(void);
+ void do_exit(long error_code)
+ __attribute__((noreturn));
+ void complete_and_exit(struct completion *, long)
+ __attribute__((noreturn));
+
+
+int _kstrtoul(const char *s, unsigned int base, unsigned long *res);
+int _kstrtol(const char *s, unsigned int base, long *res);
+
+int kstrtoull(const char *s, unsigned int base, unsigned long long *res);
+int kstrtoll(const char *s, unsigned int base, long long *res);
+static inline __attribute__((always_inline)) int kstrtoul(const char *s, unsigned int base, unsigned long *res)
+{
+
+
+
+
+ if (sizeof(unsigned long) == sizeof(unsigned long long) &&
+     __alignof__(unsigned long) == __alignof__(unsigned long long))
+  return kstrtoull(s, base, (unsigned long long *)res);
+ else
+  return _kstrtoul(s, base, res);
+}
+
+static inline __attribute__((always_inline)) int kstrtol(const char *s, unsigned int base, long *res)
+{
+
+
+
+
+ if (sizeof(long) == sizeof(long long) &&
+     __alignof__(long) == __alignof__(long long))
+  return kstrtoll(s, base, (long long *)res);
+ else
+  return _kstrtol(s, base, res);
+}
+
+int kstrtouint(const char *s, unsigned int base, unsigned int *res);
+int kstrtoint(const char *s, unsigned int base, int *res);
+
+static inline __attribute__((always_inline)) int kstrtou64(const char *s, unsigned int base, u64 *res)
+{
+ return kstrtoull(s, base, res);
+}
+
+static inline __attribute__((always_inline)) int kstrtos64(const char *s, unsigned int base, s64 *res)
+{
+ return kstrtoll(s, base, res);
+}
+
+static inline __attribute__((always_inline)) int kstrtou32(const char *s, unsigned int base, u32 *res)
+{
+ return kstrtouint(s, base, res);
+}
+
+static inline __attribute__((always_inline)) int kstrtos32(const char *s, unsigned int base, s32 *res)
+{
+ return kstrtoint(s, base, res);
+}
+
+int kstrtou16(const char *s, unsigned int base, u16 *res);
+int kstrtos16(const char *s, unsigned int base, s16 *res);
+int kstrtou8(const char *s, unsigned int base, u8 *res);
+int kstrtos8(const char *s, unsigned int base, s8 *res);
+
+extern unsigned long simple_strtoul(const char *,char **,unsigned int);
+extern long simple_strtol(const char *,char **,unsigned int);
+extern unsigned long long simple_strtoull(const char *,char **,unsigned int);
+extern long long simple_strtoll(const char *,char **,unsigned int);
+
+
+
+
+
+extern int sprintf(char * buf, const char * fmt, ...)
+ __attribute__ ((format (printf, 2, 3)));
+extern int vsprintf(char *buf, const char *, va_list)
+ __attribute__ ((format (printf, 2, 0)));
+extern int snprintf(char * buf, size_t size, const char * fmt, ...)
+ __attribute__ ((format (printf, 3, 4)));
+extern int vsnprintf(char *buf, size_t size, const char *fmt, va_list args)
+ __attribute__ ((format (printf, 3, 0)));
+extern int scnprintf(char * buf, size_t size, const char * fmt, ...)
+ __attribute__ ((format (printf, 3, 4)));
+extern int vscnprintf(char *buf, size_t size, const char *fmt, va_list args)
+ __attribute__ ((format (printf, 3, 0)));
+extern char *kasprintf(gfp_t gfp, const char *fmt, ...)
+ __attribute__ ((format (printf, 2, 3)));
+extern char *kvasprintf(gfp_t gfp, const char *fmt, va_list args);
+
+extern int sscanf(const char *, const char *, ...)
+ __attribute__ ((format (scanf, 2, 3)));
+extern int vsscanf(const char *, const char *, va_list)
+ __attribute__ ((format (scanf, 2, 0)));
+
+extern int get_option(char **str, int *pint);
+extern char *get_options(const char *str, int nints, int *ints);
+extern unsigned long long memparse(const char *ptr, char **retptr);
+
+extern int core_kernel_text(unsigned long addr);
+extern int __kernel_text_address(unsigned long addr);
+extern int kernel_text_address(unsigned long addr);
+extern int func_ptr_is_kernel_text(void *ptr);
+
+struct pid;
+extern struct pid *session_of_pgrp(struct pid *pgrp);
+
+unsigned long int_sqrt(unsigned long);
+
+extern void bust_spinlocks(int yes);
+extern void wake_up_klogd(void);
+extern int oops_in_progress;
+extern int panic_timeout;
+extern int panic_on_oops;
+extern int panic_on_unrecovered_nmi;
+extern int panic_on_io_nmi;
+extern const char *print_tainted(void);
+extern void add_taint(unsigned flag);
+extern int test_taint(unsigned flag);
+extern unsigned long get_taint(void);
+extern int root_mountflags;
+
+extern bool early_boot_irqs_disabled;
+
+
+extern enum system_states {
+ SYSTEM_BOOTING,
+ SYSTEM_RUNNING,
+ SYSTEM_HALT,
+ SYSTEM_POWER_OFF,
+ SYSTEM_RESTART,
+ SYSTEM_SUSPEND_DISK,
+} system_state;
+# 333 "include/linux/kernel.h"
+extern const char hex_asc[];
+
+
+
+static inline __attribute__((always_inline)) char *pack_hex_byte(char *buf, u8 byte)
+{
+ *buf++ = hex_asc[((byte) & 0xf0) >> 4];
+ *buf++ = hex_asc[((byte) & 0x0f)];
+ return buf;
+}
+
+extern int hex_to_bin(char ch);
+extern void hex2bin(u8 *dst, const char *src, size_t count);
+# 367 "include/linux/kernel.h"
+void tracing_on(void);
+void tracing_off(void);
+
+void tracing_off_permanent(void);
+int tracing_is_on(void);
+
+
+
+
+
+
+
+enum ftrace_dump_mode {
+ DUMP_NONE,
+ DUMP_ALL,
+ DUMP_ORIG,
+};
+
+
+extern void tracing_start(void);
+extern void tracing_stop(void);
+extern void ftrace_off_permanent(void);
+
+static inline __attribute__((always_inline)) void __attribute__ ((format (printf, 1, 2)))
+____trace_printk_check_format(const char *fmt, ...)
+{
+}
+# 430 "include/linux/kernel.h"
+extern int
+__trace_bprintk(unsigned long ip, const char *fmt, ...)
+ __attribute__ ((format (printf, 2, 3)));
+
+extern int
+__trace_printk(unsigned long ip, const char *fmt, ...)
+ __attribute__ ((format (printf, 2, 3)));
+
+extern void trace_dump_stack(void);
+# 457 "include/linux/kernel.h"
+extern int
+__ftrace_vbprintk(unsigned long ip, const char *fmt, va_list ap);
+
+extern int
+__ftrace_vprintk(unsigned long ip, const char *fmt, va_list ap);
+
+extern void ftrace_dump(enum ftrace_dump_mode oops_dump_mode);
+# 617 "include/linux/kernel.h"
+struct sysinfo;
+extern int do_sysinfo(struct sysinfo *info);
+
+
+
+
+struct sysinfo {
+ long uptime;
+ unsigned long loads[3];
+ unsigned long totalram;
+ unsigned long freeram;
+ unsigned long sharedram;
+ unsigned long bufferram;
+ unsigned long totalswap;
+ unsigned long freeswap;
+ unsigned short procs;
+ unsigned short pad;
+ unsigned long totalhigh;
+ unsigned long freehigh;
+ unsigned int mem_unit;
+ char _f[20-2*sizeof(long)-sizeof(int)];
+};
+# 669 "include/linux/kernel.h"
+extern int __build_bug_on_failed;
+# 56 "include/linux/sched.h" 2
+
+# 1 "include/linux/timex.h" 1
+# 56 "include/linux/timex.h"
+# 1 "include/linux/time.h" 1
+
+
+
+
+
+
+# 1 "include/linux/cache.h" 1
+
+
+
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/cache.h" 1
+# 6 "include/linux/cache.h" 2
+# 8 "include/linux/time.h" 2
+# 1 "include/linux/seqlock.h" 1
+# 29 "include/linux/seqlock.h"
+# 1 "include/linux/spinlock.h" 1
+# 50 "include/linux/spinlock.h"
+# 1 "include/linux/preempt.h" 1
+# 9 "include/linux/preempt.h"
+# 1 "include/linux/thread_info.h" 1
+# 12 "include/linux/thread_info.h"
+struct timespec;
+struct compat_timespec;
+
+
+
+
+struct restart_block {
+ long (*fn)(struct restart_block *);
+ union {
+
+  struct {
+   u32 *uaddr;
+   u32 val;
+   u32 flags;
+   u32 bitset;
+   u64 time;
+   u32 *uaddr2;
+  } futex;
+
+  struct {
+   clockid_t index;
+   struct timespec *rmtp;
+
+
+
+   u64 expires;
+  } nanosleep;
+
+  struct {
+   struct pollfd *ufds;
+   int nfds;
+   int has_timeout;
+   unsigned long tv_sec;
+   unsigned long tv_nsec;
+  } poll;
+ };
+};
+
+extern long do_no_restart_syscall(struct restart_block *parm);
+
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/thread_info.h" 1
+# 27 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/thread_info.h"
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/processor.h" 1
+# 13 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/processor.h"
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/reg.h" 1
+# 14 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/reg.h"
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/cputable.h" 1
+# 46 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/cputable.h"
+struct cpu_spec;
+
+typedef void (*cpu_setup_t)(unsigned long offset, struct cpu_spec* spec);
+typedef void (*cpu_restore_t)(void);
+
+enum powerpc_oprofile_type {
+ PPC_OPROFILE_INVALID = 0,
+ PPC_OPROFILE_RS64 = 1,
+ PPC_OPROFILE_POWER4 = 2,
+ PPC_OPROFILE_G4 = 3,
+ PPC_OPROFILE_FSL_EMB = 4,
+ PPC_OPROFILE_CELL = 5,
+ PPC_OPROFILE_PA6T = 6,
+};
+
+enum powerpc_pmc_type {
+ PPC_PMC_DEFAULT = 0,
+ PPC_PMC_IBM = 1,
+ PPC_PMC_PA6T = 2,
+ PPC_PMC_G4 = 3,
+};
+
+struct pt_regs;
+
+extern int machine_check_generic(struct pt_regs *regs);
+extern int machine_check_4xx(struct pt_regs *regs);
+extern int machine_check_440A(struct pt_regs *regs);
+extern int machine_check_e500mc(struct pt_regs *regs);
+extern int machine_check_e500(struct pt_regs *regs);
+extern int machine_check_e200(struct pt_regs *regs);
+extern int machine_check_47x(struct pt_regs *regs);
+
+
+struct cpu_spec {
+
+ unsigned int pvr_mask;
+ unsigned int pvr_value;
+
+ char *cpu_name;
+ unsigned long cpu_features;
+ unsigned int cpu_user_features;
+ unsigned int mmu_features;
+
+
+ unsigned int icache_bsize;
+ unsigned int dcache_bsize;
+
+
+ unsigned int num_pmcs;
+ enum powerpc_pmc_type pmc_type;
+
+
+
+
+ cpu_setup_t cpu_setup;
+
+ cpu_restore_t cpu_restore;
+
+
+ char *oprofile_cpu_type;
+
+
+ enum powerpc_oprofile_type oprofile_type;
+
+
+ unsigned long oprofile_mmcra_sihv;
+ unsigned long oprofile_mmcra_sipr;
+
+
+ unsigned long oprofile_mmcra_clear;
+
+
+ char *platform;
+
+
+
+
+ int (*machine_check)(struct pt_regs *regs);
+};
+
+extern struct cpu_spec *cur_cpu_spec;
+
+extern unsigned int __start___ftr_fixup, __stop___ftr_fixup;
+
+extern struct cpu_spec *identify_cpu(unsigned long offset, unsigned int pvr);
+extern void do_feature_fixups(unsigned long value, void *fixup_start,
+         void *fixup_end);
+
+extern const char *powerpc_base_platform;
+# 450 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/cputable.h"
+enum {
+ CPU_FTRS_POSSIBLE =
+# 463 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/cputable.h"
+     (0 | 0x0000000000100000UL) |
+# 472 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/cputable.h"
+     (0x0000000000000040UL | 0x0000000000100000UL | 0x0000000010000000UL) | (0x0000000000000040UL | 0x0000000000100000UL | 0x0000000010000000UL | 0x0000000020000000UL) |
+
+
+     ((0x0000000000000040UL | 0x0000000000100000UL | 0x0000000010000000UL | 0x0000000020000000UL)) | 0x0000000000010000UL |
+# 484 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/cputable.h"
+     0,
+};
+# 498 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/cputable.h"
+enum {
+ CPU_FTRS_ALWAYS =
+# 511 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/cputable.h"
+     (0 | 0x0000000000100000UL) &
+# 520 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/cputable.h"
+     (0x0000000000000040UL | 0x0000000000100000UL | 0x0000000010000000UL) & (0x0000000000000040UL | 0x0000000000100000UL | 0x0000000010000000UL | 0x0000000020000000UL) &
+# 529 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/cputable.h"
+     CPU_FTRS_POSSIBLE,
+};
+
+
+static inline __attribute__((always_inline)) int cpu_has_feature(unsigned long feature)
+{
+ return (CPU_FTRS_ALWAYS & feature) ||
+        (CPU_FTRS_POSSIBLE
+  & cur_cpu_spec->cpu_features
+  & feature);
+}
+# 15 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/reg.h" 2
+
+
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/reg_booke.h" 1
+# 19 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/reg.h" 2
+# 994 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/reg.h"
+struct pt_regs;
+
+extern void ppc_save_regs(struct pt_regs *regs);
+# 14 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/processor.h" 2
+# 23 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/processor.h"
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/ptrace.h" 1
+# 31 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/ptrace.h"
+struct pt_regs {
+ unsigned long gpr[32];
+ unsigned long nip;
+ unsigned long msr;
+ unsigned long orig_gpr3;
+ unsigned long ctr;
+ unsigned long link;
+ unsigned long xer;
+ unsigned long ccr;
+
+
+
+ unsigned long mq;
+
+
+ unsigned long trap;
+
+
+ unsigned long dar;
+ unsigned long dsisr;
+ unsigned long result;
+};
+# 108 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/ptrace.h"
+struct task_struct;
+extern unsigned long ptrace_get_reg(struct task_struct *task, int regno);
+extern int ptrace_put_reg(struct task_struct *task, int regno,
+     unsigned long data);
+# 148 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/ptrace.h"
+# 1 "include/linux/thread_info.h" 1
+# 149 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/ptrace.h" 2
+extern int regs_query_register_offset(const char *name);
+extern const char *regs_query_register_name(unsigned int offset);
+# 162 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/ptrace.h"
+static inline __attribute__((always_inline)) unsigned long regs_get_register(struct pt_regs *regs,
+      unsigned int offset)
+{
+ if (__builtin_expect(!!(offset > (__builtin_offsetof(struct pt_regs,dsisr))), 0))
+  return 0;
+ return *(unsigned long *)((unsigned long)regs + offset);
+}
+# 179 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/ptrace.h"
+static inline __attribute__((always_inline)) bool regs_within_kernel_stack(struct pt_regs *regs,
+      unsigned long addr)
+{
+ return ((addr & ~((1 << 13) - 1)) ==
+  (((regs)->gpr[1]) & ~((1 << 13) - 1)));
+}
+# 195 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/ptrace.h"
+static inline __attribute__((always_inline)) unsigned long regs_get_kernel_stack_nth(struct pt_regs *regs,
+            unsigned int n)
+{
+ unsigned long *addr = (unsigned long *)((regs)->gpr[1]);
+ addr += n;
+ if (regs_within_kernel_stack(regs, (unsigned long)addr))
+  return *addr;
+ else
+  return 0;
+}
+# 364 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/ptrace.h"
+struct ppc_debug_info {
+ __u32 version;
+ __u32 num_instruction_bps;
+ __u32 num_data_bps;
+ __u32 num_condition_regs;
+ __u32 data_bp_alignment;
+ __u32 sizeof_condition;
+ __u64 features;
+};
+# 386 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/ptrace.h"
+struct ppc_hw_breakpoint {
+ __u32 version;
+ __u32 trigger_type;
+ __u32 addr_mode;
+ __u32 condition_mode;
+ __u64 addr;
+ __u64 addr2;
+ __u64 condition_value;
+};
+# 24 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/processor.h" 2
+# 45 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/processor.h"
+extern int _chrp_type;
+# 72 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/processor.h"
+struct task_struct;
+void start_thread(struct pt_regs *regs, unsigned long fdptr, unsigned long sp);
+void release_thread(struct task_struct *);
+
+
+extern void prepare_to_copy(struct task_struct *tsk);
+
+
+extern long kernel_thread(int (*fn)(void *), void *arg, unsigned long flags);
+
+
+extern struct task_struct *last_task_used_math;
+extern struct task_struct *last_task_used_altivec;
+extern struct task_struct *last_task_used_vsx;
+extern struct task_struct *last_task_used_spe;
+# 142 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/processor.h"
+typedef struct {
+ unsigned long seg;
+} mm_segment_t;
+
+
+
+
+
+struct thread_struct {
+ unsigned long ksp;
+ unsigned long ksp_limit;
+
+
+
+
+ struct pt_regs *regs;
+ mm_segment_t fs;
+
+ void *pgdir;
+
+
+
+
+
+
+ unsigned long dbcr0;
+ unsigned long dbcr1;
+
+ unsigned long dbcr2;
+
+
+
+
+
+
+
+ unsigned long dbsr;
+
+
+
+
+
+
+ unsigned long iac1;
+ unsigned long iac2;
+
+ unsigned long iac3;
+ unsigned long iac4;
+
+ unsigned long dac1;
+ unsigned long dac2;
+
+ unsigned long dvc1;
+ unsigned long dvc2;
+
+
+
+ double fpr[32][1];
+ struct {
+
+  unsigned int pad;
+  unsigned int val;
+ } fpscr;
+ int fpexc_mode;
+ unsigned int align_ctl;
+# 219 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/processor.h"
+ unsigned long dabr;
+# 241 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/processor.h"
+};
+# 284 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/processor.h"
+unsigned long get_wchan(struct task_struct *p);
+# 293 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/processor.h"
+extern int get_fpexc_mode(struct task_struct *tsk, unsigned long adr);
+extern int set_fpexc_mode(struct task_struct *tsk, unsigned int val);
+
+
+
+
+extern int get_endian(struct task_struct *tsk, unsigned long adr);
+extern int set_endian(struct task_struct *tsk, unsigned int val);
+
+
+
+
+extern int get_unalign_ctl(struct task_struct *tsk, unsigned long adr);
+extern int set_unalign_ctl(struct task_struct *tsk, unsigned int val);
+
+static inline __attribute__((always_inline)) unsigned int __unpack_fe01(unsigned long msr_bits)
+{
+ return ((msr_bits & (1UL<<(11))) >> 10) | ((msr_bits & (1UL<<(8))) >> 8);
+}
+
+static inline __attribute__((always_inline)) unsigned long __pack_fe01(unsigned int fpmode)
+{
+ return ((fpmode << 10) & (1UL<<(11))) | ((fpmode << 8) & (1UL<<(8)));
+}
+# 325 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/processor.h"
+int validate_sp(unsigned long sp, struct task_struct *p,
+                       unsigned long nbytes);
+# 335 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/processor.h"
+static inline __attribute__((always_inline)) void prefetch(const void *x)
+{
+ if (__builtin_expect(!!(!x), 0))
+  return;
+
+ __asm__ __volatile__ ("dcbt 0,%0" : : "r" (x));
+}
+
+static inline __attribute__((always_inline)) void prefetchw(const void *x)
+{
+ if (__builtin_expect(!!(!x), 0))
+  return;
+
+ __asm__ __volatile__ ("dcbtst 0,%0" : : "r" (x));
+}
+# 370 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/processor.h"
+static inline __attribute__((always_inline)) unsigned long get_clean_sp(struct pt_regs *regs, int is_32)
+{
+ return regs->gpr[1];
+}
+# 28 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/thread_info.h" 2
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/page.h" 1
+# 19 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/page.h"
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/kdump.h" 1
+
+
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/page.h" 1
+# 5 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/kdump.h" 2
+# 50 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/kdump.h"
+static inline __attribute__((always_inline)) void reserve_kdump_trampoline(void) { ; }
+static inline __attribute__((always_inline)) void setup_kdump_trampoline(void) { ; }
+# 20 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/page.h" 2
+# 141 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/page.h"
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/page_32.h" 1
+# 34 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/page_32.h"
+typedef unsigned long long pte_basic_t;
+
+
+
+
+struct page;
+extern void clear_pages(void *page, int order);
+static inline __attribute__((always_inline)) void clear_page(void *page) { clear_pages(page, 0); }
+extern void copy_page(void *to, void *from);
+
+# 1 "include/asm-generic/getorder.h" 1
+# 9 "include/asm-generic/getorder.h"
+static inline __attribute__((always_inline)) __attribute__((__const__)) int get_order(unsigned long size)
+{
+ int order;
+
+ size = (size - 1) >> (12 - 1);
+ order = -1;
+ do {
+  size >>= 1;
+  order++;
+ } while (size);
+ return order;
+}
+# 45 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/page_32.h" 2
+# 142 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/page.h" 2
+# 212 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/page.h"
+typedef pte_basic_t pte_t;
+
+
+
+
+
+
+typedef pte_t real_pte_t;
+# 235 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/page.h"
+typedef unsigned long pgd_t;
+
+
+
+typedef unsigned long pgprot_t;
+
+
+
+
+
+typedef struct { signed long pd; } hugepd_t;
+# 259 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/page.h"
+struct page;
+extern void clear_user_page(void *page, unsigned long vaddr, struct page *pg);
+extern void copy_user_page(void *to, void *from, unsigned long vaddr,
+  struct page *p);
+extern int page_is_ram(unsigned long pfn);
+
+
+
+
+
+
+struct vm_area_struct;
+
+typedef struct page *pgtable_t;
+
+# 1 "include/asm-generic/memory_model.h" 1
+# 275 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/page.h" 2
+# 29 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/thread_info.h" 2
+
+
+
+
+
+struct thread_info {
+ struct task_struct *task;
+ struct exec_domain *exec_domain;
+ int cpu;
+ int preempt_count;
+
+ struct restart_block restart_block;
+ unsigned long local_flags;
+
+
+ unsigned long flags ;
+};
+# 81 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/thread_info.h"
+static inline __attribute__((always_inline)) struct thread_info *current_thread_info(void)
+{
+ register unsigned long sp asm("r1");
+
+
+
+ return (struct thread_info *)(sp & ~((1 << 13)-1));
+}
+# 149 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/thread_info.h"
+static inline __attribute__((always_inline)) void set_restore_sigmask(void)
+{
+ struct thread_info *ti = current_thread_info();
+ ti->local_flags |= (1 << 2);
+ set_bit(1, &ti->flags);
+}
+# 54 "include/linux/thread_info.h" 2
+# 62 "include/linux/thread_info.h"
+static inline __attribute__((always_inline)) void set_ti_thread_flag(struct thread_info *ti, int flag)
+{
+ set_bit(flag, (unsigned long *)&ti->flags);
+}
+
+static inline __attribute__((always_inline)) void clear_ti_thread_flag(struct thread_info *ti, int flag)
+{
+ clear_bit(flag, (unsigned long *)&ti->flags);
+}
+
+static inline __attribute__((always_inline)) int test_and_set_ti_thread_flag(struct thread_info *ti, int flag)
+{
+ return test_and_set_bit(flag, (unsigned long *)&ti->flags);
+}
+
+static inline __attribute__((always_inline)) int test_and_clear_ti_thread_flag(struct thread_info *ti, int flag)
+{
+ return test_and_clear_bit(flag, (unsigned long *)&ti->flags);
+}
+
+static inline __attribute__((always_inline)) int test_ti_thread_flag(struct thread_info *ti, int flag)
+{
+ return test_bit(flag, (unsigned long *)&ti->flags);
+}
+# 10 "include/linux/preempt.h" 2
+
+# 1 "include/linux/list.h" 1
+
+
+
+
+
+# 1 "include/linux/poison.h" 1
+# 7 "include/linux/list.h" 2
+# 1 "include/linux/prefetch.h" 1
+# 53 "include/linux/prefetch.h"
+static inline __attribute__((always_inline)) void prefetch_range(void *addr, size_t len)
+{
+
+ char *cp;
+ char *end = addr + len;
+
+ for (cp = addr; cp < end; cp += (4*(1 << 7)))
+  prefetch(cp);
+
+}
+# 8 "include/linux/list.h" 2
+# 24 "include/linux/list.h"
+static inline __attribute__((always_inline)) void INIT_LIST_HEAD(struct list_head *list)
+{
+ list->next = list;
+ list->prev = list;
+}
+# 37 "include/linux/list.h"
+static inline __attribute__((always_inline)) void __list_add(struct list_head *new,
+         struct list_head *prev,
+         struct list_head *next)
+{
+ next->prev = new;
+ new->next = next;
+ new->prev = prev;
+ prev->next = new;
+}
+# 60 "include/linux/list.h"
+static inline __attribute__((always_inline)) void list_add(struct list_head *new, struct list_head *head)
+{
+ __list_add(new, head, head->next);
+}
+# 74 "include/linux/list.h"
+static inline __attribute__((always_inline)) void list_add_tail(struct list_head *new, struct list_head *head)
+{
+ __list_add(new, head->prev, head);
+}
+# 86 "include/linux/list.h"
+static inline __attribute__((always_inline)) void __list_del(struct list_head * prev, struct list_head * next)
+{
+ next->prev = prev;
+ prev->next = next;
+}
+# 99 "include/linux/list.h"
+static inline __attribute__((always_inline)) void __list_del_entry(struct list_head *entry)
+{
+ __list_del(entry->prev, entry->next);
+}
+
+static inline __attribute__((always_inline)) void list_del(struct list_head *entry)
+{
+ __list_del(entry->prev, entry->next);
+ entry->next = ((void *) 0x00100100 + 0);
+ entry->prev = ((void *) 0x00200200 + 0);
+}
+# 122 "include/linux/list.h"
+static inline __attribute__((always_inline)) void list_replace(struct list_head *old,
+    struct list_head *new)
+{
+ new->next = old->next;
+ new->next->prev = new;
+ new->prev = old->prev;
+ new->prev->next = new;
+}
+
+static inline __attribute__((always_inline)) void list_replace_init(struct list_head *old,
+     struct list_head *new)
+{
+ list_replace(old, new);
+ INIT_LIST_HEAD(old);
+}
+
+
+
+
+
+static inline __attribute__((always_inline)) void list_del_init(struct list_head *entry)
+{
+ __list_del_entry(entry);
+ INIT_LIST_HEAD(entry);
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) void list_move(struct list_head *list, struct list_head *head)
+{
+ __list_del_entry(list);
+ list_add(list, head);
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) void list_move_tail(struct list_head *list,
+      struct list_head *head)
+{
+ __list_del_entry(list);
+ list_add_tail(list, head);
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) int list_is_last(const struct list_head *list,
+    const struct list_head *head)
+{
+ return list->next == head;
+}
+
+
+
+
+
+static inline __attribute__((always_inline)) int list_empty(const struct list_head *head)
+{
+ return head->next == head;
+}
+# 204 "include/linux/list.h"
+static inline __attribute__((always_inline)) int list_empty_careful(const struct list_head *head)
+{
+ struct list_head *next = head->next;
+ return (next == head) && (next == head->prev);
+}
+
+
+
+
+
+static inline __attribute__((always_inline)) void list_rotate_left(struct list_head *head)
+{
+ struct list_head *first;
+
+ if (!list_empty(head)) {
+  first = head->next;
+  list_move_tail(first, head);
+ }
+}
+
+
+
+
+
+static inline __attribute__((always_inline)) int list_is_singular(const struct list_head *head)
+{
+ return !list_empty(head) && (head->next == head->prev);
+}
+
+static inline __attribute__((always_inline)) void __list_cut_position(struct list_head *list,
+  struct list_head *head, struct list_head *entry)
+{
+ struct list_head *new_first = entry->next;
+ list->next = head->next;
+ list->next->prev = list;
+ list->prev = entry;
+ entry->next = list;
+ head->next = new_first;
+ new_first->prev = head;
+}
+# 259 "include/linux/list.h"
+static inline __attribute__((always_inline)) void list_cut_position(struct list_head *list,
+  struct list_head *head, struct list_head *entry)
+{
+ if (list_empty(head))
+  return;
+ if (list_is_singular(head) &&
+  (head->next != entry && head != entry))
+  return;
+ if (entry == head)
+  INIT_LIST_HEAD(list);
+ else
+  __list_cut_position(list, head, entry);
+}
+
+static inline __attribute__((always_inline)) void __list_splice(const struct list_head *list,
+     struct list_head *prev,
+     struct list_head *next)
+{
+ struct list_head *first = list->next;
+ struct list_head *last = list->prev;
+
+ first->prev = prev;
+ prev->next = first;
+
+ last->next = next;
+ next->prev = last;
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) void list_splice(const struct list_head *list,
+    struct list_head *head)
+{
+ if (!list_empty(list))
+  __list_splice(list, head, head->next);
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) void list_splice_tail(struct list_head *list,
+    struct list_head *head)
+{
+ if (!list_empty(list))
+  __list_splice(list, head->prev, head);
+}
+# 318 "include/linux/list.h"
+static inline __attribute__((always_inline)) void list_splice_init(struct list_head *list,
+        struct list_head *head)
+{
+ if (!list_empty(list)) {
+  __list_splice(list, head, head->next);
+  INIT_LIST_HEAD(list);
+ }
+}
+# 335 "include/linux/list.h"
+static inline __attribute__((always_inline)) void list_splice_tail_init(struct list_head *list,
+      struct list_head *head)
+{
+ if (!list_empty(list)) {
+  __list_splice(list, head->prev, head);
+  INIT_LIST_HEAD(list);
+ }
+}
+# 574 "include/linux/list.h"
+static inline __attribute__((always_inline)) void INIT_HLIST_NODE(struct hlist_node *h)
+{
+ h->next = ((void *)0);
+ h->pprev = ((void *)0);
+}
+
+static inline __attribute__((always_inline)) int hlist_unhashed(const struct hlist_node *h)
+{
+ return !h->pprev;
+}
+
+static inline __attribute__((always_inline)) int hlist_empty(const struct hlist_head *h)
+{
+ return !h->first;
+}
+
+static inline __attribute__((always_inline)) void __hlist_del(struct hlist_node *n)
+{
+ struct hlist_node *next = n->next;
+ struct hlist_node **pprev = n->pprev;
+ *pprev = next;
+ if (next)
+  next->pprev = pprev;
+}
+
+static inline __attribute__((always_inline)) void hlist_del(struct hlist_node *n)
+{
+ __hlist_del(n);
+ n->next = ((void *) 0x00100100 + 0);
+ n->pprev = ((void *) 0x00200200 + 0);
+}
+
+static inline __attribute__((always_inline)) void hlist_del_init(struct hlist_node *n)
+{
+ if (!hlist_unhashed(n)) {
+  __hlist_del(n);
+  INIT_HLIST_NODE(n);
+ }
+}
+
+static inline __attribute__((always_inline)) void hlist_add_head(struct hlist_node *n, struct hlist_head *h)
+{
+ struct hlist_node *first = h->first;
+ n->next = first;
+ if (first)
+  first->pprev = &n->next;
+ h->first = n;
+ n->pprev = &h->first;
+}
+
+
+static inline __attribute__((always_inline)) void hlist_add_before(struct hlist_node *n,
+     struct hlist_node *next)
+{
+ n->pprev = next->pprev;
+ n->next = next;
+ next->pprev = &n->next;
+ *(n->pprev) = n;
+}
+
+static inline __attribute__((always_inline)) void hlist_add_after(struct hlist_node *n,
+     struct hlist_node *next)
+{
+ next->next = n->next;
+ n->next = next;
+ next->pprev = &n->next;
+
+ if(next->next)
+  next->next->pprev = &next->next;
+}
+
+
+static inline __attribute__((always_inline)) void hlist_add_fake(struct hlist_node *n)
+{
+ n->pprev = &n->next;
+}
+
+
+
+
+
+static inline __attribute__((always_inline)) void hlist_move_list(struct hlist_head *old,
+       struct hlist_head *new)
+{
+ new->first = old->first;
+ if (new->first)
+  new->first->pprev = &new->first;
+ old->first = ((void *)0);
+}
+# 12 "include/linux/preempt.h" 2
+# 51 "include/linux/spinlock.h" 2
+
+
+# 1 "include/linux/irqflags.h" 1
+# 15 "include/linux/irqflags.h"
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/irqflags.h" 1
+# 11 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/irqflags.h"
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/hw_irq.h" 1
+# 9 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/hw_irq.h"
+# 1 "include/linux/errno.h" 1
+
+
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/errno.h" 1
+
+
+
+# 1 "include/asm-generic/errno.h" 1
+
+
+
+# 1 "include/asm-generic/errno-base.h" 1
+# 5 "include/asm-generic/errno.h" 2
+# 5 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/errno.h" 2
+# 5 "include/linux/errno.h" 2
+# 10 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/hw_irq.h" 2
+
+
+
+
+extern void timer_interrupt(struct pt_regs *);
+# 86 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/hw_irq.h"
+static inline __attribute__((always_inline)) unsigned long arch_local_save_flags(void)
+{
+ return ({unsigned long rval; asm volatile("mfmsr %0" : "=r" (rval)); rval;});
+}
+
+static inline __attribute__((always_inline)) void arch_local_irq_restore(unsigned long flags)
+{
+
+ asm volatile("wrtee %0" : : "r" (flags) : "memory");
+
+
+
+}
+
+static inline __attribute__((always_inline)) unsigned long arch_local_irq_save(void)
+{
+ unsigned long flags = arch_local_save_flags();
+
+ asm volatile("wrteei 0" : : : "memory");
+
+
+
+ return flags;
+}
+
+static inline __attribute__((always_inline)) void arch_local_irq_disable(void)
+{
+
+ asm volatile("wrteei 0" : : : "memory");
+
+
+
+}
+
+static inline __attribute__((always_inline)) void arch_local_irq_enable(void)
+{
+
+ asm volatile("wrteei 1" : : : "memory");
+
+
+
+
+}
+
+static inline __attribute__((always_inline)) bool arch_irqs_disabled_flags(unsigned long flags)
+{
+ return (flags & (1UL<<(15))) == 0;
+}
+
+static inline __attribute__((always_inline)) bool arch_irqs_disabled(void)
+{
+ return arch_irqs_disabled_flags(arch_local_save_flags());
+}
+# 150 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/hw_irq.h"
+struct irq_chip;
+# 12 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/irqflags.h" 2
+# 16 "include/linux/irqflags.h" 2
+# 54 "include/linux/spinlock.h" 2
+
+
+
+# 1 "include/linux/bottom_half.h" 1
+
+
+
+extern void local_bh_disable(void);
+extern void _local_bh_enable(void);
+extern void local_bh_enable(void);
+extern void local_bh_enable_ip(unsigned long ip);
+# 58 "include/linux/spinlock.h" 2
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/system.h" 1
+# 75 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/system.h"
+struct task_struct;
+struct pt_regs;
+# 105 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/system.h"
+static inline __attribute__((always_inline)) int debugger(struct pt_regs *regs) { return 0; }
+static inline __attribute__((always_inline)) int debugger_ipi(struct pt_regs *regs) { return 0; }
+static inline __attribute__((always_inline)) int debugger_bpt(struct pt_regs *regs) { return 0; }
+static inline __attribute__((always_inline)) int debugger_sstep(struct pt_regs *regs) { return 0; }
+static inline __attribute__((always_inline)) int debugger_iabr_match(struct pt_regs *regs) { return 0; }
+static inline __attribute__((always_inline)) int debugger_dabr_match(struct pt_regs *regs) { return 0; }
+static inline __attribute__((always_inline)) int debugger_fault_handler(struct pt_regs *regs) { return 0; }
+
+
+extern int set_dabr(unsigned long dabr);
+
+extern void do_send_trap(struct pt_regs *regs, unsigned long address,
+    unsigned long error_code, int signal_code, int brkpt);
+
+
+
+
+extern void print_backtrace(unsigned long *);
+extern void show_regs(struct pt_regs * regs);
+extern void flush_instruction_cache(void);
+extern void hard_reset_now(void);
+extern void poweroff_now(void);
+# 140 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/system.h"
+extern void via_cuda_init(void);
+extern void read_rtc_time(void);
+extern void pmac_find_display(void);
+extern void giveup_fpu(struct task_struct *);
+extern void disable_kernel_fp(void);
+extern void enable_kernel_fp(void);
+extern void flush_fp_to_thread(struct task_struct *);
+extern void enable_kernel_altivec(void);
+extern void giveup_altivec(struct task_struct *);
+extern void load_up_altivec(struct task_struct *);
+extern int emulate_altivec(struct pt_regs *);
+extern void __giveup_vsx(struct task_struct *);
+extern void giveup_vsx(struct task_struct *);
+extern void enable_kernel_spe(void);
+extern void giveup_spe(struct task_struct *);
+extern void load_up_spe(struct task_struct *);
+extern int fix_alignment(struct pt_regs *);
+extern void cvt_fd(float *from, double *to);
+extern void cvt_df(double *from, float *to);
+
+
+extern void discard_lazy_cpu_state(void);
+# 171 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/system.h"
+static inline __attribute__((always_inline)) void flush_altivec_to_thread(struct task_struct *t)
+{
+}
+
+
+
+
+
+static inline __attribute__((always_inline)) void flush_vsx_to_thread(struct task_struct *t)
+{
+}
+
+
+
+
+
+static inline __attribute__((always_inline)) void flush_spe_to_thread(struct task_struct *t)
+{
+}
+
+
+extern int call_rtas(const char *, int, int, unsigned long *, ...);
+extern void cacheable_memzero(void *p, unsigned int nb);
+extern void *cacheable_memcpy(void *, const void *, unsigned int);
+extern int do_page_fault(struct pt_regs *, unsigned long, unsigned long);
+extern void bad_page_fault(struct pt_regs *, unsigned long, int);
+extern int die(const char *, struct pt_regs *, long);
+extern void _exception(int, struct pt_regs *, int, unsigned long);
+extern void _nmask_and_or_msr(unsigned long nmask, unsigned long or_val);
+
+
+
+
+
+
+struct device_node;
+extern void note_scsi_host(struct device_node *, void *);
+
+extern struct task_struct *__switch_to(struct task_struct *,
+ struct task_struct *);
+
+
+struct thread_struct;
+extern struct task_struct *_switch(struct thread_struct *prev,
+       struct thread_struct *next);
+
+extern unsigned int rtas_data;
+extern int mem_init_done;
+extern int init_bootmem_done;
+extern phys_addr_t memory_limit;
+extern unsigned long klimit;
+
+extern void *alloc_maybe_bootmem(size_t size, gfp_t mask);
+extern void *zalloc_maybe_bootmem(size_t size, gfp_t mask);
+
+extern int powersave_nap;
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) __attribute__((always_inline)) unsigned long
+__xchg_u32(volatile void *p, unsigned long val)
+{
+ unsigned long prev;
+
+ __asm__ __volatile__(
+
+"1:	lwarx	%0,0,%2 \n"
+
+"	stwcx.	%3,0,%2 \n	bne-	1b"
+
+
+ : "=&r" (prev), "+m" (*(volatile unsigned int *)p)
+ : "r" (p), "r" (val)
+ : "cc", "memory");
+
+ return prev;
+}
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) __attribute__((always_inline)) unsigned long
+__xchg_u32_local(volatile void *p, unsigned long val)
+{
+ unsigned long prev;
+
+ __asm__ __volatile__(
+"1:	lwarx	%0,0,%2 \n"
+
+"	stwcx.	%3,0,%2 \n	bne-	1b"
+
+ : "=&r" (prev), "+m" (*(volatile unsigned int *)p)
+ : "r" (p), "r" (val)
+ : "cc", "memory");
+
+ return prev;
+}
+# 318 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/system.h"
+extern void __xchg_called_with_bad_pointer(void);
+
+static inline __attribute__((always_inline)) __attribute__((always_inline)) unsigned long
+__xchg(volatile void *ptr, unsigned long x, unsigned int size)
+{
+ switch (size) {
+ case 4:
+  return __xchg_u32(ptr, x);
+
+
+
+
+ }
+ __xchg_called_with_bad_pointer();
+ return x;
+}
+
+static inline __attribute__((always_inline)) __attribute__((always_inline)) unsigned long
+__xchg_local(volatile void *ptr, unsigned long x, unsigned int size)
+{
+ switch (size) {
+ case 4:
+  return __xchg_u32_local(ptr, x);
+
+
+
+
+ }
+ __xchg_called_with_bad_pointer();
+ return x;
+}
+# 368 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/system.h"
+static inline __attribute__((always_inline)) __attribute__((always_inline)) unsigned long
+__cmpxchg_u32(volatile unsigned int *p, unsigned long old, unsigned long new)
+{
+ unsigned int prev;
+
+ __asm__ __volatile__ (
+
+"1:	lwarx	%0,0,%2		# __cmpxchg_u32\n	cmpw	0,%0,%3\n	bne-	2f\n"
+
+
+
+"	stwcx.	%4,0,%2\n	bne-	1b"
+
+
+ "\n2:"
+
+ : "=&r" (prev), "+m" (*p)
+ : "r" (p), "r" (old), "r" (new)
+ : "cc", "memory");
+
+ return prev;
+}
+
+static inline __attribute__((always_inline)) __attribute__((always_inline)) unsigned long
+__cmpxchg_u32_local(volatile unsigned int *p, unsigned long old,
+   unsigned long new)
+{
+ unsigned int prev;
+
+ __asm__ __volatile__ (
+"1:	lwarx	%0,0,%2		# __cmpxchg_u32\n	cmpw	0,%0,%3\n	bne-	2f\n"
+
+
+
+"	stwcx.	%4,0,%2\n	bne-	1b"
+
+ "\n2:"
+
+ : "=&r" (prev), "+m" (*p)
+ : "r" (p), "r" (old), "r" (new)
+ : "cc", "memory");
+
+ return prev;
+}
+# 460 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/system.h"
+extern void __cmpxchg_called_with_bad_pointer(void);
+
+static inline __attribute__((always_inline)) __attribute__((always_inline)) unsigned long
+__cmpxchg(volatile void *ptr, unsigned long old, unsigned long new,
+   unsigned int size)
+{
+ switch (size) {
+ case 4:
+  return __cmpxchg_u32(ptr, old, new);
+
+
+
+
+ }
+ __cmpxchg_called_with_bad_pointer();
+ return old;
+}
+
+static inline __attribute__((always_inline)) __attribute__((always_inline)) unsigned long
+__cmpxchg_local(volatile void *ptr, unsigned long old, unsigned long new,
+   unsigned int size)
+{
+ switch (size) {
+ case 4:
+  return __cmpxchg_u32_local(ptr, old, new);
+
+
+
+
+ }
+ __cmpxchg_called_with_bad_pointer();
+ return old;
+}
+# 532 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/system.h"
+# 1 "include/asm-generic/cmpxchg-local.h" 1
+
+
+
+
+
+
+extern unsigned long wrong_size_cmpxchg(volatile void *ptr);
+
+
+
+
+
+static inline __attribute__((always_inline)) unsigned long __cmpxchg_local_generic(volatile void *ptr,
+  unsigned long old, unsigned long new, int size)
+{
+ unsigned long flags, prev;
+
+
+
+
+ if (size == 8 && sizeof(unsigned long) != 8)
+  wrong_size_cmpxchg(ptr);
+
+ do { do { ({ unsigned long __dummy; typeof(flags) __dummy2; (void)(&__dummy == &__dummy2); 1; }); flags = arch_local_irq_save(); } while (0); do { } while (0); } while (0);
+ switch (size) {
+ case 1: prev = *(u8 *)ptr;
+  if (prev == old)
+   *(u8 *)ptr = (u8)new;
+  break;
+ case 2: prev = *(u16 *)ptr;
+  if (prev == old)
+   *(u16 *)ptr = (u16)new;
+  break;
+ case 4: prev = *(u32 *)ptr;
+  if (prev == old)
+   *(u32 *)ptr = (u32)new;
+  break;
+ case 8: prev = *(u64 *)ptr;
+  if (prev == old)
+   *(u64 *)ptr = (u64)new;
+  break;
+ default:
+  wrong_size_cmpxchg(ptr);
+ }
+ do { if (({ ({ unsigned long __dummy; typeof(flags) __dummy2; (void)(&__dummy == &__dummy2); 1; }); arch_irqs_disabled_flags(flags); })) { do { ({ unsigned long __dummy; typeof(flags) __dummy2; (void)(&__dummy == &__dummy2); 1; }); arch_local_irq_restore(flags); } while (0); do { } while (0); } else { do { } while (0); do { ({ unsigned long __dummy; typeof(flags) __dummy2; (void)(&__dummy == &__dummy2); 1; }); arch_local_irq_restore(flags); } while (0); } } while (0);
+ return prev;
+}
+
+
+
+
+static inline __attribute__((always_inline)) u64 __cmpxchg64_local_generic(volatile void *ptr,
+  u64 old, u64 new)
+{
+ u64 prev;
+ unsigned long flags;
+
+ do { do { ({ unsigned long __dummy; typeof(flags) __dummy2; (void)(&__dummy == &__dummy2); 1; }); flags = arch_local_irq_save(); } while (0); do { } while (0); } while (0);
+ prev = *(u64 *)ptr;
+ if (prev == old)
+  *(u64 *)ptr = new;
+ do { if (({ ({ unsigned long __dummy; typeof(flags) __dummy2; (void)(&__dummy == &__dummy2); 1; }); arch_irqs_disabled_flags(flags); })) { do { ({ unsigned long __dummy; typeof(flags) __dummy2; (void)(&__dummy == &__dummy2); 1; }); arch_local_irq_restore(flags); } while (0); do { } while (0); } else { do { } while (0); do { ({ unsigned long __dummy; typeof(flags) __dummy2; (void)(&__dummy == &__dummy2); 1; }); arch_local_irq_restore(flags); } while (0); } } while (0);
+ return prev;
+}
+# 533 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/system.h" 2
+
+
+
+extern unsigned long arch_align_stack(unsigned long sp);
+
+
+extern unsigned long reloc_offset(void);
+extern unsigned long add_reloc_offset(unsigned long);
+extern void reloc_got2(unsigned long);
+
+
+
+extern struct dentry *powerpc_debugfs_root;
+# 60 "include/linux/spinlock.h" 2
+# 81 "include/linux/spinlock.h"
+# 1 "include/linux/spinlock_types.h" 1
+# 15 "include/linux/spinlock_types.h"
+# 1 "include/linux/spinlock_types_up.h" 1
+# 25 "include/linux/spinlock_types_up.h"
+typedef struct { } arch_spinlock_t;
+
+
+
+
+
+typedef struct {
+
+} arch_rwlock_t;
+# 16 "include/linux/spinlock_types.h" 2
+
+
+# 1 "include/linux/lockdep.h" 1
+# 12 "include/linux/lockdep.h"
+struct task_struct;
+struct lockdep_map;
+
+
+extern int prove_locking;
+extern int lock_stat;
+# 348 "include/linux/lockdep.h"
+static inline __attribute__((always_inline)) void lockdep_off(void)
+{
+}
+
+static inline __attribute__((always_inline)) void lockdep_on(void)
+{
+}
+# 389 "include/linux/lockdep.h"
+struct lock_class_key { };
+# 441 "include/linux/lockdep.h"
+static inline __attribute__((always_inline)) void print_irqtrace_events(struct task_struct *curr)
+{
+}
+# 19 "include/linux/spinlock_types.h" 2
+
+typedef struct raw_spinlock {
+ arch_spinlock_t raw_lock;
+# 32 "include/linux/spinlock_types.h"
+} raw_spinlock_t;
+# 64 "include/linux/spinlock_types.h"
+typedef struct spinlock {
+ union {
+  struct raw_spinlock rlock;
+# 75 "include/linux/spinlock_types.h"
+ };
+} spinlock_t;
+# 86 "include/linux/spinlock_types.h"
+# 1 "include/linux/rwlock_types.h" 1
+# 11 "include/linux/rwlock_types.h"
+typedef struct {
+ arch_rwlock_t raw_lock;
+# 23 "include/linux/rwlock_types.h"
+} rwlock_t;
+# 87 "include/linux/spinlock_types.h" 2
+# 82 "include/linux/spinlock.h" 2
+
+
+
+
+
+
+
+# 1 "include/linux/spinlock_up.h" 1
+# 90 "include/linux/spinlock.h" 2
+# 122 "include/linux/spinlock.h"
+static inline __attribute__((always_inline)) void smp_mb__after_lock(void) { __asm__ __volatile__("": : :"memory"); }
+# 137 "include/linux/spinlock.h"
+static inline __attribute__((always_inline)) void do_raw_spin_lock(raw_spinlock_t *lock)
+{
+ (void)0;
+ do { (void)(&lock->raw_lock); } while (0);
+}
+
+static inline __attribute__((always_inline)) void
+do_raw_spin_lock_flags(raw_spinlock_t *lock, unsigned long *flags)
+{
+ (void)0;
+ do { (void)(&lock->raw_lock); } while (0);
+}
+
+static inline __attribute__((always_inline)) int do_raw_spin_trylock(raw_spinlock_t *lock)
+{
+ return ({ (void)(&(lock)->raw_lock); 1; });
+}
+
+static inline __attribute__((always_inline)) void do_raw_spin_unlock(raw_spinlock_t *lock)
+{
+ do { (void)(&lock->raw_lock); } while (0);
+ (void)0;
+}
+# 257 "include/linux/spinlock.h"
+# 1 "include/linux/rwlock.h" 1
+# 258 "include/linux/spinlock.h" 2
+
+
+
+
+
+
+
+# 1 "include/linux/spinlock_api_up.h" 1
+# 266 "include/linux/spinlock.h" 2
+
+
+
+
+
+
+static inline __attribute__((always_inline)) raw_spinlock_t *spinlock_check(spinlock_t *lock)
+{
+ return &lock->rlock;
+}
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) void spin_lock(spinlock_t *lock)
+{
+ do { do { } while (0); (void)0; (void)(&lock->rlock); } while (0);
+}
+
+static inline __attribute__((always_inline)) void spin_lock_bh(spinlock_t *lock)
+{
+ do { local_bh_disable(); do { do { } while (0); (void)0; (void)(&lock->rlock); } while (0); } while (0);
+}
+
+static inline __attribute__((always_inline)) int spin_trylock(spinlock_t *lock)
+{
+ return (({ do { do { } while (0); (void)0; (void)(&lock->rlock); } while (0); 1; }));
+}
+# 308 "include/linux/spinlock.h"
+static inline __attribute__((always_inline)) void spin_lock_irq(spinlock_t *lock)
+{
+ do { do { arch_local_irq_disable(); do { } while (0); } while (0); do { do { } while (0); (void)0; (void)(&lock->rlock); } while (0); } while (0);
+}
+# 323 "include/linux/spinlock.h"
+static inline __attribute__((always_inline)) void spin_unlock(spinlock_t *lock)
+{
+ do { do { } while (0); (void)0; (void)(&lock->rlock); } while (0);
+}
+
+static inline __attribute__((always_inline)) void spin_unlock_bh(spinlock_t *lock)
+{
+ do { do { } while (0); local_bh_enable(); (void)0; (void)(&lock->rlock); } while (0);
+}
+
+static inline __attribute__((always_inline)) void spin_unlock_irq(spinlock_t *lock)
+{
+ do { do { do { } while (0); arch_local_irq_enable(); } while (0); do { do { } while (0); (void)0; (void)(&lock->rlock); } while (0); } while (0);
+}
+
+static inline __attribute__((always_inline)) void spin_unlock_irqrestore(spinlock_t *lock, unsigned long flags)
+{
+ do { ({ unsigned long __dummy; typeof(flags) __dummy2; (void)(&__dummy == &__dummy2); 1; }); do { do { if (({ ({ unsigned long __dummy; typeof(flags) __dummy2; (void)(&__dummy == &__dummy2); 1; }); arch_irqs_disabled_flags(flags); })) { do { ({ unsigned long __dummy; typeof(flags) __dummy2; (void)(&__dummy == &__dummy2); 1; }); arch_local_irq_restore(flags); } while (0); do { } while (0); } else { do { } while (0); do { ({ unsigned long __dummy; typeof(flags) __dummy2; (void)(&__dummy == &__dummy2); 1; }); arch_local_irq_restore(flags); } while (0); } } while (0); do { do { } while (0); (void)0; (void)(&lock->rlock); } while (0); } while (0); } while (0);
+}
+
+static inline __attribute__((always_inline)) int spin_trylock_bh(spinlock_t *lock)
+{
+ return (({ do { local_bh_disable(); do { do { } while (0); (void)0; (void)(&lock->rlock); } while (0); } while (0); 1; }));
+}
+
+static inline __attribute__((always_inline)) int spin_trylock_irq(spinlock_t *lock)
+{
+ return ({ do { arch_local_irq_disable(); do { } while (0); } while (0); (({ do { do { } while (0); (void)0; (void)(&lock->rlock); } while (0); 1; })) ? 1 : ({ do { do { } while (0); arch_local_irq_enable(); } while (0); 0; }); });
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) void spin_unlock_wait(spinlock_t *lock)
+{
+ do { __asm__ __volatile__("": : :"memory"); } while (((void)(&(&lock->rlock)->raw_lock), 0));
+}
+
+static inline __attribute__((always_inline)) int spin_is_locked(spinlock_t *lock)
+{
+ return ((void)(&(&lock->rlock)->raw_lock), 0);
+}
+
+static inline __attribute__((always_inline)) int spin_is_contended(spinlock_t *lock)
+{
+ return (((void)(&(&lock->rlock)->raw_lock), 0));
+}
+
+static inline __attribute__((always_inline)) int spin_can_lock(spinlock_t *lock)
+{
+ return (!((void)(&(&lock->rlock)->raw_lock), 0));
+}
+
+static inline __attribute__((always_inline)) void assert_spin_locked(spinlock_t *lock)
+{
+ do { (void)(&lock->rlock); } while (0);
+}
+
+
+
+
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/atomic.h" 1
+# 18 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/atomic.h"
+static __inline__ __attribute__((always_inline)) int atomic_read(const atomic_t *v)
+{
+ int t;
+
+ __asm__ __volatile__("lwz%U1%X1 %0,%1" : "=r"(t) : "m"(v->counter));
+
+ return t;
+}
+
+static __inline__ __attribute__((always_inline)) void atomic_set(atomic_t *v, int i)
+{
+ __asm__ __volatile__("stw%U0%X0 %1,%0" : "=m"(v->counter) : "r"(i));
+}
+
+static __inline__ __attribute__((always_inline)) void atomic_add(int a, atomic_t *v)
+{
+ int t;
+
+ __asm__ __volatile__(
+"1:	lwarx	%0,0,%3		# atomic_add\n	add	%0,%2,%0\n"
+
+
+"	stwcx.	%0,0,%3 \n	bne-	1b"
+
+ : "=&r" (t), "+m" (v->counter)
+ : "r" (a), "r" (&v->counter)
+ : "cc");
+}
+
+static __inline__ __attribute__((always_inline)) int atomic_add_return(int a, atomic_t *v)
+{
+ int t;
+
+ __asm__ __volatile__(
+
+"1:	lwarx	%0,0,%2		# atomic_add_return\n	add	%0,%1,%0\n"
+
+
+"	stwcx.	%0,0,%2 \n	bne-	1b"
+
+
+ : "=&r" (t)
+ : "r" (a), "r" (&v->counter)
+ : "cc", "memory");
+
+ return t;
+}
+
+
+
+static __inline__ __attribute__((always_inline)) void atomic_sub(int a, atomic_t *v)
+{
+ int t;
+
+ __asm__ __volatile__(
+"1:	lwarx	%0,0,%3		# atomic_sub\n	subf	%0,%2,%0\n"
+
+
+"	stwcx.	%0,0,%3 \n	bne-	1b"
+
+ : "=&r" (t), "+m" (v->counter)
+ : "r" (a), "r" (&v->counter)
+ : "cc");
+}
+
+static __inline__ __attribute__((always_inline)) int atomic_sub_return(int a, atomic_t *v)
+{
+ int t;
+
+ __asm__ __volatile__(
+
+"1:	lwarx	%0,0,%2		# atomic_sub_return\n	subf	%0,%1,%0\n"
+
+
+"	stwcx.	%0,0,%2 \n	bne-	1b"
+
+
+ : "=&r" (t)
+ : "r" (a), "r" (&v->counter)
+ : "cc", "memory");
+
+ return t;
+}
+
+static __inline__ __attribute__((always_inline)) void atomic_inc(atomic_t *v)
+{
+ int t;
+
+ __asm__ __volatile__(
+"1:	lwarx	%0,0,%2		# atomic_inc\n	addic	%0,%0,1\n"
+
+
+"	stwcx.	%0,0,%2 \n	bne-	1b"
+
+ : "=&r" (t), "+m" (v->counter)
+ : "r" (&v->counter)
+ : "cc", "xer");
+}
+
+static __inline__ __attribute__((always_inline)) int atomic_inc_return(atomic_t *v)
+{
+ int t;
+
+ __asm__ __volatile__(
+
+"1:	lwarx	%0,0,%1		# atomic_inc_return\n	addic	%0,%0,1\n"
+
+
+"	stwcx.	%0,0,%1 \n	bne-	1b"
+
+
+ : "=&r" (t)
+ : "r" (&v->counter)
+ : "cc", "xer", "memory");
+
+ return t;
+}
+# 146 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/atomic.h"
+static __inline__ __attribute__((always_inline)) void atomic_dec(atomic_t *v)
+{
+ int t;
+
+ __asm__ __volatile__(
+"1:	lwarx	%0,0,%2		# atomic_dec\n	addic	%0,%0,-1\n"
+
+
+ "	stwcx.	%0,0,%2\n	bne-	1b"
+
+ : "=&r" (t), "+m" (v->counter)
+ : "r" (&v->counter)
+ : "cc", "xer");
+}
+
+static __inline__ __attribute__((always_inline)) int atomic_dec_return(atomic_t *v)
+{
+ int t;
+
+ __asm__ __volatile__(
+
+"1:	lwarx	%0,0,%1		# atomic_dec_return\n	addic	%0,%0,-1\n"
+
+
+"	stwcx.	%0,0,%1\n	bne-	1b"
+
+
+ : "=&r" (t)
+ : "r" (&v->counter)
+ : "cc", "xer", "memory");
+
+ return t;
+}
+# 192 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/atomic.h"
+static __inline__ __attribute__((always_inline)) int atomic_add_unless(atomic_t *v, int a, int u)
+{
+ int t;
+
+ __asm__ __volatile__ (
+
+"1:	lwarx	%0,0,%1		# atomic_add_unless\n	cmpw	0,%0,%3 \n	beq-	2f \n	add	%0,%2,%0 \n"
+
+
+
+
+"	stwcx.	%0,0,%1 \n	bne-	1b \n"
+
+
+"	subf	%0,%2,%0 \n2:"
+
+ : "=&r" (t)
+ : "r" (&v->counter), "r" (a), "r" (u)
+ : "cc", "memory");
+
+ return t != u;
+}
+# 225 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/atomic.h"
+static __inline__ __attribute__((always_inline)) int atomic_dec_if_positive(atomic_t *v)
+{
+ int t;
+
+ __asm__ __volatile__(
+
+"1:	lwarx	%0,0,%1		# atomic_dec_if_positive\n	cmpwi	%0,1\n	addi	%0,%0,-1\n	blt-	2f\n"
+
+
+
+
+"	stwcx.	%0,0,%1\n	bne-	1b"
+
+
+ "\n2:"
+    : "=&b" (t)
+ : "r" (&v->counter)
+ : "cc", "memory");
+
+ return t;
+}
+# 474 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/atomic.h"
+# 1 "include/asm-generic/atomic64.h" 1
+# 15 "include/asm-generic/atomic64.h"
+typedef struct {
+ long long counter;
+} atomic64_t;
+
+
+
+extern long long atomic64_read(const atomic64_t *v);
+extern void atomic64_set(atomic64_t *v, long long i);
+extern void atomic64_add(long long a, atomic64_t *v);
+extern long long atomic64_add_return(long long a, atomic64_t *v);
+extern void atomic64_sub(long long a, atomic64_t *v);
+extern long long atomic64_sub_return(long long a, atomic64_t *v);
+extern long long atomic64_dec_if_positive(atomic64_t *v);
+extern long long atomic64_cmpxchg(atomic64_t *v, long long o, long long n);
+extern long long atomic64_xchg(atomic64_t *v, long long new);
+extern int atomic64_add_unless(atomic64_t *v, long long a, long long u);
+# 475 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/atomic.h" 2
+
+
+
+# 1 "include/asm-generic/atomic-long.h" 1
+# 141 "include/asm-generic/atomic-long.h"
+typedef atomic_t atomic_long_t;
+
+
+static inline __attribute__((always_inline)) long atomic_long_read(atomic_long_t *l)
+{
+ atomic_t *v = (atomic_t *)l;
+
+ return (long)atomic_read(v);
+}
+
+static inline __attribute__((always_inline)) void atomic_long_set(atomic_long_t *l, long i)
+{
+ atomic_t *v = (atomic_t *)l;
+
+ atomic_set(v, i);
+}
+
+static inline __attribute__((always_inline)) void atomic_long_inc(atomic_long_t *l)
+{
+ atomic_t *v = (atomic_t *)l;
+
+ atomic_inc(v);
+}
+
+static inline __attribute__((always_inline)) void atomic_long_dec(atomic_long_t *l)
+{
+ atomic_t *v = (atomic_t *)l;
+
+ atomic_dec(v);
+}
+
+static inline __attribute__((always_inline)) void atomic_long_add(long i, atomic_long_t *l)
+{
+ atomic_t *v = (atomic_t *)l;
+
+ atomic_add(i, v);
+}
+
+static inline __attribute__((always_inline)) void atomic_long_sub(long i, atomic_long_t *l)
+{
+ atomic_t *v = (atomic_t *)l;
+
+ atomic_sub(i, v);
+}
+
+static inline __attribute__((always_inline)) int atomic_long_sub_and_test(long i, atomic_long_t *l)
+{
+ atomic_t *v = (atomic_t *)l;
+
+ return (atomic_sub_return((i), (v)) == 0);
+}
+
+static inline __attribute__((always_inline)) int atomic_long_dec_and_test(atomic_long_t *l)
+{
+ atomic_t *v = (atomic_t *)l;
+
+ return (atomic_dec_return((v)) == 0);
+}
+
+static inline __attribute__((always_inline)) int atomic_long_inc_and_test(atomic_long_t *l)
+{
+ atomic_t *v = (atomic_t *)l;
+
+ return (atomic_inc_return(v) == 0);
+}
+
+static inline __attribute__((always_inline)) int atomic_long_add_negative(long i, atomic_long_t *l)
+{
+ atomic_t *v = (atomic_t *)l;
+
+ return (atomic_add_return((i), (v)) < 0);
+}
+
+static inline __attribute__((always_inline)) long atomic_long_add_return(long i, atomic_long_t *l)
+{
+ atomic_t *v = (atomic_t *)l;
+
+ return (long)atomic_add_return(i, v);
+}
+
+static inline __attribute__((always_inline)) long atomic_long_sub_return(long i, atomic_long_t *l)
+{
+ atomic_t *v = (atomic_t *)l;
+
+ return (long)atomic_sub_return(i, v);
+}
+
+static inline __attribute__((always_inline)) long atomic_long_inc_return(atomic_long_t *l)
+{
+ atomic_t *v = (atomic_t *)l;
+
+ return (long)atomic_inc_return(v);
+}
+
+static inline __attribute__((always_inline)) long atomic_long_dec_return(atomic_long_t *l)
+{
+ atomic_t *v = (atomic_t *)l;
+
+ return (long)atomic_dec_return(v);
+}
+
+static inline __attribute__((always_inline)) long atomic_long_add_unless(atomic_long_t *l, long a, long u)
+{
+ atomic_t *v = (atomic_t *)l;
+
+ return (long)atomic_add_unless(v, a, u);
+}
+# 479 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/atomic.h" 2
+# 388 "include/linux/spinlock.h" 2
+# 396 "include/linux/spinlock.h"
+extern int _atomic_dec_and_lock(atomic_t *atomic, spinlock_t *lock);
+# 30 "include/linux/seqlock.h" 2
+
+
+typedef struct {
+ unsigned sequence;
+ spinlock_t lock;
+} seqlock_t;
+# 60 "include/linux/seqlock.h"
+static inline __attribute__((always_inline)) void write_seqlock(seqlock_t *sl)
+{
+ spin_lock(&sl->lock);
+ ++sl->sequence;
+ __asm__ __volatile__("": : :"memory");
+}
+
+static inline __attribute__((always_inline)) void write_sequnlock(seqlock_t *sl)
+{
+ __asm__ __volatile__("": : :"memory");
+ sl->sequence++;
+ spin_unlock(&sl->lock);
+}
+
+static inline __attribute__((always_inline)) int write_tryseqlock(seqlock_t *sl)
+{
+ int ret = spin_trylock(&sl->lock);
+
+ if (ret) {
+  ++sl->sequence;
+  __asm__ __volatile__("": : :"memory");
+ }
+ return ret;
+}
+
+
+static inline __attribute__((always_inline)) __attribute__((always_inline)) unsigned read_seqbegin(const seqlock_t *sl)
+{
+ unsigned ret;
+
+repeat:
+ ret = (*(volatile typeof(sl->sequence) *)&(sl->sequence));
+ if (__builtin_expect(!!(ret & 1), 0)) {
+  __asm__ __volatile__("": : :"memory");
+  goto repeat;
+ }
+ __asm__ __volatile__("": : :"memory");
+
+ return ret;
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) __attribute__((always_inline)) int read_seqretry(const seqlock_t *sl, unsigned start)
+{
+ __asm__ __volatile__("": : :"memory");
+
+ return __builtin_expect(!!(sl->sequence != start), 0);
+}
+# 121 "include/linux/seqlock.h"
+typedef struct seqcount {
+ unsigned sequence;
+} seqcount_t;
+# 141 "include/linux/seqlock.h"
+static inline __attribute__((always_inline)) unsigned __read_seqcount_begin(const seqcount_t *s)
+{
+ unsigned ret;
+
+repeat:
+ ret = s->sequence;
+ if (__builtin_expect(!!(ret & 1), 0)) {
+  __asm__ __volatile__("": : :"memory");
+  goto repeat;
+ }
+ return ret;
+}
+# 163 "include/linux/seqlock.h"
+static inline __attribute__((always_inline)) unsigned read_seqcount_begin(const seqcount_t *s)
+{
+ unsigned ret = __read_seqcount_begin(s);
+ __asm__ __volatile__("": : :"memory");
+ return ret;
+}
+# 184 "include/linux/seqlock.h"
+static inline __attribute__((always_inline)) int __read_seqcount_retry(const seqcount_t *s, unsigned start)
+{
+ return __builtin_expect(!!(s->sequence != start), 0);
+}
+# 199 "include/linux/seqlock.h"
+static inline __attribute__((always_inline)) int read_seqcount_retry(const seqcount_t *s, unsigned start)
+{
+ __asm__ __volatile__("": : :"memory");
+
+ return __read_seqcount_retry(s, start);
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) void write_seqcount_begin(seqcount_t *s)
+{
+ s->sequence++;
+ __asm__ __volatile__("": : :"memory");
+}
+
+static inline __attribute__((always_inline)) void write_seqcount_end(seqcount_t *s)
+{
+ __asm__ __volatile__("": : :"memory");
+ s->sequence++;
+}
+# 230 "include/linux/seqlock.h"
+static inline __attribute__((always_inline)) void write_seqcount_barrier(seqcount_t *s)
+{
+ __asm__ __volatile__("": : :"memory");
+ s->sequence+=2;
+}
+# 9 "include/linux/time.h" 2
+# 1 "include/linux/math64.h" 1
+
+
+
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/div64.h" 1
+# 6 "include/linux/math64.h" 2
+# 49 "include/linux/math64.h"
+static inline __attribute__((always_inline)) u64 div_u64_rem(u64 dividend, u32 divisor, u32 *remainder)
+{
+ *remainder = ({ uint32_t __base = (divisor); uint32_t __rem; (void)(((typeof((dividend)) *)0) == ((uint64_t *)0)); if (__builtin_expect(!!(((dividend) >> 32) == 0), 1)) { __rem = (uint32_t)(dividend) % __base; (dividend) = (uint32_t)(dividend) / __base; } else __rem = __div64_32(&(dividend), __base); __rem; });
+ return dividend;
+}
+
+
+
+extern s64 div_s64_rem(s64 dividend, s32 divisor, s32 *remainder);
+
+
+
+extern u64 div64_u64(u64 dividend, u64 divisor);
+
+
+
+extern s64 div64_s64(s64 dividend, s64 divisor);
+# 78 "include/linux/math64.h"
+static inline __attribute__((always_inline)) u64 div_u64(u64 dividend, u32 divisor)
+{
+ u32 remainder;
+ return div_u64_rem(dividend, divisor, &remainder);
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) s64 div_s64(s64 dividend, s32 divisor)
+{
+ s32 remainder;
+ return div_s64_rem(dividend, divisor, &remainder);
+}
+
+
+u32 iter_div_u64_rem(u64 dividend, u32 divisor, u64 *remainder);
+
+static inline __attribute__((always_inline)) __attribute__((always_inline)) u32
+__iter_div_u64_rem(u64 dividend, u32 divisor, u64 *remainder)
+{
+ u32 ret = 0;
+
+ while (dividend >= divisor) {
+
+
+  asm("" : "+rm"(dividend));
+
+  dividend -= divisor;
+  ret++;
+ }
+
+ *remainder = dividend;
+
+ return ret;
+}
+# 10 "include/linux/time.h" 2
+
+
+
+
+struct timespec {
+ __kernel_time_t tv_sec;
+ long tv_nsec;
+};
+
+
+struct timeval {
+ __kernel_time_t tv_sec;
+ __kernel_suseconds_t tv_usec;
+};
+
+struct timezone {
+ int tz_minuteswest;
+ int tz_dsttime;
+};
+
+
+
+extern struct timezone sys_tz;
+# 45 "include/linux/time.h"
+static inline __attribute__((always_inline)) int timespec_equal(const struct timespec *a,
+                                 const struct timespec *b)
+{
+ return (a->tv_sec == b->tv_sec) && (a->tv_nsec == b->tv_nsec);
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) int timespec_compare(const struct timespec *lhs, const struct timespec *rhs)
+{
+ if (lhs->tv_sec < rhs->tv_sec)
+  return -1;
+ if (lhs->tv_sec > rhs->tv_sec)
+  return 1;
+ return lhs->tv_nsec - rhs->tv_nsec;
+}
+
+static inline __attribute__((always_inline)) int timeval_compare(const struct timeval *lhs, const struct timeval *rhs)
+{
+ if (lhs->tv_sec < rhs->tv_sec)
+  return -1;
+ if (lhs->tv_sec > rhs->tv_sec)
+  return 1;
+ return lhs->tv_usec - rhs->tv_usec;
+}
+
+extern unsigned long mktime(const unsigned int year, const unsigned int mon,
+       const unsigned int day, const unsigned int hour,
+       const unsigned int min, const unsigned int sec);
+
+extern void set_normalized_timespec(struct timespec *ts, time_t sec, s64 nsec);
+
+
+
+
+
+
+extern struct timespec timespec_add_safe(const struct timespec lhs,
+      const struct timespec rhs);
+
+
+static inline __attribute__((always_inline)) struct timespec timespec_add(struct timespec lhs,
+      struct timespec rhs)
+{
+ struct timespec ts_delta;
+ set_normalized_timespec(&ts_delta, lhs.tv_sec + rhs.tv_sec,
+    lhs.tv_nsec + rhs.tv_nsec);
+ return ts_delta;
+}
+
+
+
+
+static inline __attribute__((always_inline)) struct timespec timespec_sub(struct timespec lhs,
+      struct timespec rhs)
+{
+ struct timespec ts_delta;
+ set_normalized_timespec(&ts_delta, lhs.tv_sec - rhs.tv_sec,
+    lhs.tv_nsec - rhs.tv_nsec);
+ return ts_delta;
+}
+
+
+
+
+
+
+
+extern void read_persistent_clock(struct timespec *ts);
+extern void read_boot_clock(struct timespec *ts);
+extern int update_persistent_clock(struct timespec now);
+extern int no_sync_cmos_clock __attribute__((__section__(".data..read_mostly")));
+void timekeeping_init(void);
+extern int timekeeping_suspended;
+
+unsigned long get_seconds(void);
+struct timespec current_kernel_time(void);
+struct timespec __current_kernel_time(void);
+struct timespec get_monotonic_coarse(void);
+void get_xtime_and_monotonic_and_sleep_offset(struct timespec *xtim,
+    struct timespec *wtom, struct timespec *sleep);
+# 145 "include/linux/time.h"
+static inline __attribute__((always_inline)) u32 arch_gettimeoffset(void) { return 0; }
+
+
+extern void do_gettimeofday(struct timeval *tv);
+extern int do_settimeofday(const struct timespec *tv);
+extern int do_sys_settimeofday(const struct timespec *tv,
+          const struct timezone *tz);
+
+extern long do_utimes(int dfd, const char *filename, struct timespec *times, int flags);
+struct itimerval;
+extern int do_setitimer(int which, struct itimerval *value,
+   struct itimerval *ovalue);
+extern unsigned int alarm_setitimer(unsigned int seconds);
+extern int do_getitimer(int which, struct itimerval *value);
+extern void getnstimeofday(struct timespec *tv);
+extern void getrawmonotonic(struct timespec *ts);
+extern void getnstime_raw_and_real(struct timespec *ts_raw,
+  struct timespec *ts_real);
+extern void getboottime(struct timespec *ts);
+extern void monotonic_to_bootbased(struct timespec *ts);
+extern void get_monotonic_boottime(struct timespec *ts);
+
+extern struct timespec timespec_trunc(struct timespec t, unsigned gran);
+extern int timekeeping_valid_for_hres(void);
+extern u64 timekeeping_max_deferment(void);
+extern void timekeeping_leap_insert(int leapsecond);
+extern int timekeeping_inject_offset(struct timespec *ts);
+
+struct tms;
+extern void do_sys_times(struct tms *);
+
+
+
+
+
+struct tm {
+
+
+
+
+ int tm_sec;
+
+ int tm_min;
+
+ int tm_hour;
+
+ int tm_mday;
+
+ int tm_mon;
+
+ long tm_year;
+
+ int tm_wday;
+
+ int tm_yday;
+};
+
+void time_to_tm(time_t totalsecs, int offset, struct tm *result);
+# 211 "include/linux/time.h"
+static inline __attribute__((always_inline)) s64 timespec_to_ns(const struct timespec *ts)
+{
+ return ((s64) ts->tv_sec * 1000000000L) + ts->tv_nsec;
+}
+# 223 "include/linux/time.h"
+static inline __attribute__((always_inline)) s64 timeval_to_ns(const struct timeval *tv)
+{
+ return ((s64) tv->tv_sec * 1000000000L) +
+  tv->tv_usec * 1000L;
+}
+
+
+
+
+
+
+
+extern struct timespec ns_to_timespec(const s64 nsec);
+
+
+
+
+
+
+
+extern struct timeval ns_to_timeval(const s64 nsec);
+# 253 "include/linux/time.h"
+static inline __attribute__((always_inline)) __attribute__((always_inline)) void timespec_add_ns(struct timespec *a, u64 ns)
+{
+ a->tv_sec += __iter_div_u64_rem(a->tv_nsec + ns, 1000000000L, &ns);
+ a->tv_nsec = ns;
+}
+# 276 "include/linux/time.h"
+struct itimerspec {
+ struct timespec it_interval;
+ struct timespec it_value;
+};
+
+struct itimerval {
+ struct timeval it_interval;
+ struct timeval it_value;
+};
+# 57 "include/linux/timex.h" 2
+
+
+
+
+
+
+
+struct timex {
+ unsigned int modes;
+ long offset;
+ long freq;
+ long maxerror;
+ long esterror;
+ int status;
+ long constant;
+ long precision;
+ long tolerance;
+
+
+ struct timeval time;
+ long tick;
+
+ long ppsfreq;
+ long jitter;
+ int shift;
+ long stabil;
+ long jitcnt;
+ long calcnt;
+ long errcnt;
+ long stbcnt;
+
+ int tai;
+
+ int :32; int :32; int :32; int :32;
+ int :32; int :32; int :32; int :32;
+ int :32; int :32; int :32;
+};
+# 172 "include/linux/timex.h"
+# 1 "include/linux/param.h" 1
+
+
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/param.h" 1
+# 5 "include/linux/param.h" 2
+# 173 "include/linux/timex.h" 2
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/timex.h" 1
+# 15 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/timex.h"
+typedef unsigned long cycles_t;
+
+static inline __attribute__((always_inline)) cycles_t get_cycles(void)
+{
+
+
+
+ cycles_t ret;
+
+
+
+
+
+
+ ret = 0;
+
+ __asm__ __volatile__(
+  "97:	mftb %0\n"
+  "99:\n"
+  ".section __ftr_fixup,\"a\"\n"
+  ".align 2\n"
+  "98:\n"
+  "	.long %1\n"
+  "	.long 0\n"
+  "	.long 97b-98b\n"
+  "	.long 99b-98b\n"
+  "	.long 0\n"
+  "	.long 0\n"
+  ".previous"
+  : "=r" (ret) : "i" (0x0000000000000100UL));
+ return ret;
+
+}
+# 175 "include/linux/timex.h" 2
+# 234 "include/linux/timex.h"
+extern unsigned long tick_usec;
+extern unsigned long tick_nsec;
+
+
+
+
+extern int time_status;
+
+extern void ntp_init(void);
+extern void ntp_clear(void);
+
+
+
+
+
+static inline __attribute__((always_inline)) int ntp_synced(void)
+{
+ return !(time_status & 0x0040);
+}
+# 267 "include/linux/timex.h"
+extern u64 tick_length;
+
+extern void second_overflow(void);
+extern void update_ntp_one_tick(void);
+extern int do_adjtimex(struct timex *);
+extern void hardpps(const struct timespec *, const struct timespec *);
+
+int read_current_timer(unsigned long *timer_val);
+# 58 "include/linux/sched.h" 2
+# 1 "include/linux/jiffies.h" 1
+# 9 "include/linux/jiffies.h"
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/param.h" 1
+# 10 "include/linux/jiffies.h" 2
+# 81 "include/linux/jiffies.h"
+extern u64 __attribute__((section(".data"))) jiffies_64;
+extern unsigned long volatile __attribute__((section(".data"))) jiffies;
+
+
+u64 get_jiffies_64(void);
+# 183 "include/linux/jiffies.h"
+extern unsigned long preset_lpj;
+# 296 "include/linux/jiffies.h"
+extern unsigned int jiffies_to_msecs(const unsigned long j);
+extern unsigned int jiffies_to_usecs(const unsigned long j);
+extern unsigned long msecs_to_jiffies(const unsigned int m);
+extern unsigned long usecs_to_jiffies(const unsigned int u);
+extern unsigned long timespec_to_jiffies(const struct timespec *value);
+extern void jiffies_to_timespec(const unsigned long jiffies,
+    struct timespec *value);
+extern unsigned long timeval_to_jiffies(const struct timeval *value);
+extern void jiffies_to_timeval(const unsigned long jiffies,
+          struct timeval *value);
+extern clock_t jiffies_to_clock_t(long x);
+extern unsigned long clock_t_to_jiffies(unsigned long x);
+extern u64 jiffies_64_to_clock_t(u64 x);
+extern u64 nsec_to_clock_t(u64 x);
+extern u64 nsecs_to_jiffies64(u64 n);
+extern unsigned long nsecs_to_jiffies(u64 n);
+# 59 "include/linux/sched.h" 2
+# 1 "include/linux/rbtree.h" 1
+# 100 "include/linux/rbtree.h"
+struct rb_node
+{
+ unsigned long rb_parent_color;
+
+
+ struct rb_node *rb_right;
+ struct rb_node *rb_left;
+} __attribute__((aligned(sizeof(long))));
+
+
+struct rb_root
+{
+ struct rb_node *rb_node;
+};
+# 123 "include/linux/rbtree.h"
+static inline __attribute__((always_inline)) void rb_set_parent(struct rb_node *rb, struct rb_node *p)
+{
+ rb->rb_parent_color = (rb->rb_parent_color & 3) | (unsigned long)p;
+}
+static inline __attribute__((always_inline)) void rb_set_color(struct rb_node *rb, int color)
+{
+ rb->rb_parent_color = (rb->rb_parent_color & ~1) | color;
+}
+# 139 "include/linux/rbtree.h"
+extern void rb_insert_color(struct rb_node *, struct rb_root *);
+extern void rb_erase(struct rb_node *, struct rb_root *);
+
+typedef void (*rb_augment_f)(struct rb_node *node, void *data);
+
+extern void rb_augment_insert(struct rb_node *node,
+         rb_augment_f func, void *data);
+extern struct rb_node *rb_augment_erase_begin(struct rb_node *node);
+extern void rb_augment_erase_end(struct rb_node *node,
+     rb_augment_f func, void *data);
+
+
+extern struct rb_node *rb_next(const struct rb_node *);
+extern struct rb_node *rb_prev(const struct rb_node *);
+extern struct rb_node *rb_first(const struct rb_root *);
+extern struct rb_node *rb_last(const struct rb_root *);
+
+
+extern void rb_replace_node(struct rb_node *victim, struct rb_node *new,
+       struct rb_root *root);
+
+static inline __attribute__((always_inline)) void rb_link_node(struct rb_node * node, struct rb_node * parent,
+    struct rb_node ** rb_link)
+{
+ node->rb_parent_color = (unsigned long )parent;
+ node->rb_left = node->rb_right = ((void *)0);
+
+ *rb_link = node;
+}
+# 60 "include/linux/sched.h" 2
+
+# 1 "include/linux/cpumask.h" 1
+# 11 "include/linux/cpumask.h"
+# 1 "include/linux/bitmap.h" 1
+
+
+
+
+
+
+
+# 1 "include/linux/string.h" 1
+# 15 "include/linux/string.h"
+extern char *strndup_user(const char *, long);
+extern void *memdup_user(const void *, size_t);
+
+
+
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/string.h" 1
+# 18 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/string.h"
+extern char * strcpy(char *,const char *);
+extern char * strncpy(char *,const char *, __kernel_size_t);
+extern __kernel_size_t strlen(const char *);
+extern int strcmp(const char *,const char *);
+extern int strncmp(const char *, const char *, __kernel_size_t);
+extern char * strcat(char *, const char *);
+extern void * memset(void *,int,__kernel_size_t);
+extern void * memcpy(void *,const void *,__kernel_size_t);
+extern void * memmove(void *,const void *,__kernel_size_t);
+extern int memcmp(const void *,const void *,__kernel_size_t);
+extern void * memchr(const void *,int,__kernel_size_t);
+# 22 "include/linux/string.h" 2
+# 30 "include/linux/string.h"
+size_t strlcpy(char *, const char *, size_t);
+
+
+
+
+
+extern char * strncat(char *, const char *, __kernel_size_t);
+
+
+extern size_t strlcat(char *, const char *, __kernel_size_t);
+# 48 "include/linux/string.h"
+extern int strnicmp(const char *, const char *, __kernel_size_t);
+
+
+extern int strcasecmp(const char *s1, const char *s2);
+
+
+extern int strncasecmp(const char *s1, const char *s2, size_t n);
+
+
+extern char * strchr(const char *,int);
+
+
+extern char * strnchr(const char *, size_t, int);
+
+
+extern char * strrchr(const char *,int);
+
+extern char * skip_spaces(const char *);
+
+extern char *strim(char *);
+
+static inline __attribute__((always_inline)) char *strstrip(char *str)
+{
+ return strim(str);
+}
+
+
+extern char * strstr(const char *, const char *);
+
+
+extern char * strnstr(const char *, const char *, size_t);
+
+
+
+
+
+extern __kernel_size_t strnlen(const char *,__kernel_size_t);
+
+
+extern char * strpbrk(const char *,const char *);
+
+
+extern char * strsep(char **,const char *);
+
+
+extern __kernel_size_t strspn(const char *,const char *);
+
+
+extern __kernel_size_t strcspn(const char *,const char *);
+# 109 "include/linux/string.h"
+extern void * memscan(void *,int,__kernel_size_t);
+# 118 "include/linux/string.h"
+extern char *kstrdup(const char *s, gfp_t gfp);
+extern char *kstrndup(const char *s, size_t len, gfp_t gfp);
+extern void *kmemdup(const void *src, size_t len, gfp_t gfp);
+
+extern char **argv_split(gfp_t gfp, const char *str, int *argcp);
+extern void argv_free(char **argv);
+
+extern bool sysfs_streq(const char *s1, const char *s2);
+
+
+int vbin_printf(u32 *bin_buf, size_t size, const char *fmt, va_list args);
+int bstr_printf(char *buf, size_t size, const char *fmt, const u32 *bin_buf);
+int bprintf(u32 *bin_buf, size_t size, const char *fmt, ...) __attribute__((format(printf,3,4)));
+
+
+extern ssize_t memory_read_from_buffer(void *to, size_t count, loff_t *ppos,
+   const void *from, size_t available);
+
+
+
+
+
+
+static inline __attribute__((always_inline)) bool strstarts(const char *str, const char *prefix)
+{
+ return strncmp(str, prefix, strlen(prefix)) == 0;
+}
+# 9 "include/linux/bitmap.h" 2
+# 90 "include/linux/bitmap.h"
+extern int __bitmap_empty(const unsigned long *bitmap, int bits);
+extern int __bitmap_full(const unsigned long *bitmap, int bits);
+extern int __bitmap_equal(const unsigned long *bitmap1,
+                 const unsigned long *bitmap2, int bits);
+extern void __bitmap_complement(unsigned long *dst, const unsigned long *src,
+   int bits);
+extern void __bitmap_shift_right(unsigned long *dst,
+                        const unsigned long *src, int shift, int bits);
+extern void __bitmap_shift_left(unsigned long *dst,
+                        const unsigned long *src, int shift, int bits);
+extern int __bitmap_and(unsigned long *dst, const unsigned long *bitmap1,
+   const unsigned long *bitmap2, int bits);
+extern void __bitmap_or(unsigned long *dst, const unsigned long *bitmap1,
+   const unsigned long *bitmap2, int bits);
+extern void __bitmap_xor(unsigned long *dst, const unsigned long *bitmap1,
+   const unsigned long *bitmap2, int bits);
+extern int __bitmap_andnot(unsigned long *dst, const unsigned long *bitmap1,
+   const unsigned long *bitmap2, int bits);
+extern int __bitmap_intersects(const unsigned long *bitmap1,
+   const unsigned long *bitmap2, int bits);
+extern int __bitmap_subset(const unsigned long *bitmap1,
+   const unsigned long *bitmap2, int bits);
+extern int __bitmap_weight(const unsigned long *bitmap, int bits);
+
+extern void bitmap_set(unsigned long *map, int i, int len);
+extern void bitmap_clear(unsigned long *map, int start, int nr);
+extern unsigned long bitmap_find_next_zero_area(unsigned long *map,
+      unsigned long size,
+      unsigned long start,
+      unsigned int nr,
+      unsigned long align_mask);
+
+extern int bitmap_scnprintf(char *buf, unsigned int len,
+   const unsigned long *src, int nbits);
+extern int __bitmap_parse(const char *buf, unsigned int buflen, int is_user,
+   unsigned long *dst, int nbits);
+extern int bitmap_parse_user(const char *ubuf, unsigned int ulen,
+   unsigned long *dst, int nbits);
+extern int bitmap_scnlistprintf(char *buf, unsigned int len,
+   const unsigned long *src, int nbits);
+extern int bitmap_parselist(const char *buf, unsigned long *maskp,
+   int nmaskbits);
+extern void bitmap_remap(unsigned long *dst, const unsigned long *src,
+  const unsigned long *old, const unsigned long *new, int bits);
+extern int bitmap_bitremap(int oldbit,
+  const unsigned long *old, const unsigned long *new, int bits);
+extern void bitmap_onto(unsigned long *dst, const unsigned long *orig,
+  const unsigned long *relmap, int bits);
+extern void bitmap_fold(unsigned long *dst, const unsigned long *orig,
+  int sz, int bits);
+extern int bitmap_find_free_region(unsigned long *bitmap, int bits, int order);
+extern void bitmap_release_region(unsigned long *bitmap, int pos, int order);
+extern int bitmap_allocate_region(unsigned long *bitmap, int pos, int order);
+extern void bitmap_copy_le(void *dst, const unsigned long *src, int nbits);
+# 154 "include/linux/bitmap.h"
+static inline __attribute__((always_inline)) void bitmap_zero(unsigned long *dst, int nbits)
+{
+ if ((__builtin_constant_p(nbits) && (nbits) <= 32))
+  *dst = 0UL;
+ else {
+  int len = (((nbits) + (8 * sizeof(long)) - 1) / (8 * sizeof(long))) * sizeof(unsigned long);
+  memset(dst, 0, len);
+ }
+}
+
+static inline __attribute__((always_inline)) void bitmap_fill(unsigned long *dst, int nbits)
+{
+ size_t nlongs = (((nbits) + (8 * sizeof(long)) - 1) / (8 * sizeof(long)));
+ if (!(__builtin_constant_p(nbits) && (nbits) <= 32)) {
+  int len = (nlongs - 1) * sizeof(unsigned long);
+  memset(dst, 0xff, len);
+ }
+ dst[nlongs - 1] = ( ((nbits) % 32) ? (1UL<<((nbits) % 32))-1 : ~0UL );
+}
+
+static inline __attribute__((always_inline)) void bitmap_copy(unsigned long *dst, const unsigned long *src,
+   int nbits)
+{
+ if ((__builtin_constant_p(nbits) && (nbits) <= 32))
+  *dst = *src;
+ else {
+  int len = (((nbits) + (8 * sizeof(long)) - 1) / (8 * sizeof(long))) * sizeof(unsigned long);
+  memcpy(dst, src, len);
+ }
+}
+
+static inline __attribute__((always_inline)) int bitmap_and(unsigned long *dst, const unsigned long *src1,
+   const unsigned long *src2, int nbits)
+{
+ if ((__builtin_constant_p(nbits) && (nbits) <= 32))
+  return (*dst = *src1 & *src2) != 0;
+ return __bitmap_and(dst, src1, src2, nbits);
+}
+
+static inline __attribute__((always_inline)) void bitmap_or(unsigned long *dst, const unsigned long *src1,
+   const unsigned long *src2, int nbits)
+{
+ if ((__builtin_constant_p(nbits) && (nbits) <= 32))
+  *dst = *src1 | *src2;
+ else
+  __bitmap_or(dst, src1, src2, nbits);
+}
+
+static inline __attribute__((always_inline)) void bitmap_xor(unsigned long *dst, const unsigned long *src1,
+   const unsigned long *src2, int nbits)
+{
+ if ((__builtin_constant_p(nbits) && (nbits) <= 32))
+  *dst = *src1 ^ *src2;
+ else
+  __bitmap_xor(dst, src1, src2, nbits);
+}
+
+static inline __attribute__((always_inline)) int bitmap_andnot(unsigned long *dst, const unsigned long *src1,
+   const unsigned long *src2, int nbits)
+{
+ if ((__builtin_constant_p(nbits) && (nbits) <= 32))
+  return (*dst = *src1 & ~(*src2)) != 0;
+ return __bitmap_andnot(dst, src1, src2, nbits);
+}
+
+static inline __attribute__((always_inline)) void bitmap_complement(unsigned long *dst, const unsigned long *src,
+   int nbits)
+{
+ if ((__builtin_constant_p(nbits) && (nbits) <= 32))
+  *dst = ~(*src) & ( ((nbits) % 32) ? (1UL<<((nbits) % 32))-1 : ~0UL );
+ else
+  __bitmap_complement(dst, src, nbits);
+}
+
+static inline __attribute__((always_inline)) int bitmap_equal(const unsigned long *src1,
+   const unsigned long *src2, int nbits)
+{
+ if ((__builtin_constant_p(nbits) && (nbits) <= 32))
+  return ! ((*src1 ^ *src2) & ( ((nbits) % 32) ? (1UL<<((nbits) % 32))-1 : ~0UL ));
+ else
+  return __bitmap_equal(src1, src2, nbits);
+}
+
+static inline __attribute__((always_inline)) int bitmap_intersects(const unsigned long *src1,
+   const unsigned long *src2, int nbits)
+{
+ if ((__builtin_constant_p(nbits) && (nbits) <= 32))
+  return ((*src1 & *src2) & ( ((nbits) % 32) ? (1UL<<((nbits) % 32))-1 : ~0UL )) != 0;
+ else
+  return __bitmap_intersects(src1, src2, nbits);
+}
+
+static inline __attribute__((always_inline)) int bitmap_subset(const unsigned long *src1,
+   const unsigned long *src2, int nbits)
+{
+ if ((__builtin_constant_p(nbits) && (nbits) <= 32))
+  return ! ((*src1 & ~(*src2)) & ( ((nbits) % 32) ? (1UL<<((nbits) % 32))-1 : ~0UL ));
+ else
+  return __bitmap_subset(src1, src2, nbits);
+}
+
+static inline __attribute__((always_inline)) int bitmap_empty(const unsigned long *src, int nbits)
+{
+ if ((__builtin_constant_p(nbits) && (nbits) <= 32))
+  return ! (*src & ( ((nbits) % 32) ? (1UL<<((nbits) % 32))-1 : ~0UL ));
+ else
+  return __bitmap_empty(src, nbits);
+}
+
+static inline __attribute__((always_inline)) int bitmap_full(const unsigned long *src, int nbits)
+{
+ if ((__builtin_constant_p(nbits) && (nbits) <= 32))
+  return ! (~(*src) & ( ((nbits) % 32) ? (1UL<<((nbits) % 32))-1 : ~0UL ));
+ else
+  return __bitmap_full(src, nbits);
+}
+
+static inline __attribute__((always_inline)) int bitmap_weight(const unsigned long *src, int nbits)
+{
+ if ((__builtin_constant_p(nbits) && (nbits) <= 32))
+  return hweight_long(*src & ( ((nbits) % 32) ? (1UL<<((nbits) % 32))-1 : ~0UL ));
+ return __bitmap_weight(src, nbits);
+}
+
+static inline __attribute__((always_inline)) void bitmap_shift_right(unsigned long *dst,
+   const unsigned long *src, int n, int nbits)
+{
+ if ((__builtin_constant_p(nbits) && (nbits) <= 32))
+  *dst = *src >> n;
+ else
+  __bitmap_shift_right(dst, src, n, nbits);
+}
+
+static inline __attribute__((always_inline)) void bitmap_shift_left(unsigned long *dst,
+   const unsigned long *src, int n, int nbits)
+{
+ if ((__builtin_constant_p(nbits) && (nbits) <= 32))
+  *dst = (*src << n) & ( ((nbits) % 32) ? (1UL<<((nbits) % 32))-1 : ~0UL );
+ else
+  __bitmap_shift_left(dst, src, n, nbits);
+}
+
+static inline __attribute__((always_inline)) int bitmap_parse(const char *buf, unsigned int buflen,
+   unsigned long *maskp, int nmaskbits)
+{
+ return __bitmap_parse(buf, buflen, 0, maskp, nmaskbits);
+}
+# 12 "include/linux/cpumask.h" 2
+
+typedef struct cpumask { unsigned long bits[(((1) + (8 * sizeof(long)) - 1) / (8 * sizeof(long)))]; } cpumask_t;
+# 78 "include/linux/cpumask.h"
+extern const struct cpumask *const cpu_possible_mask;
+extern const struct cpumask *const cpu_online_mask;
+extern const struct cpumask *const cpu_present_mask;
+extern const struct cpumask *const cpu_active_mask;
+# 104 "include/linux/cpumask.h"
+static inline __attribute__((always_inline)) unsigned int cpumask_check(unsigned int cpu)
+{
+
+
+
+ return cpu;
+}
+
+
+
+static inline __attribute__((always_inline)) unsigned int cpumask_first(const struct cpumask *srcp)
+{
+ return 0;
+}
+
+
+static inline __attribute__((always_inline)) unsigned int cpumask_next(int n, const struct cpumask *srcp)
+{
+ return n+1;
+}
+
+static inline __attribute__((always_inline)) unsigned int cpumask_next_zero(int n, const struct cpumask *srcp)
+{
+ return n+1;
+}
+
+static inline __attribute__((always_inline)) unsigned int cpumask_next_and(int n,
+         const struct cpumask *srcp,
+         const struct cpumask *andp)
+{
+ return n+1;
+}
+
+
+static inline __attribute__((always_inline)) unsigned int cpumask_any_but(const struct cpumask *mask,
+        unsigned int cpu)
+{
+ return 1;
+}
+# 254 "include/linux/cpumask.h"
+static inline __attribute__((always_inline)) void cpumask_set_cpu(unsigned int cpu, struct cpumask *dstp)
+{
+ set_bit(cpumask_check(cpu), ((dstp)->bits));
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) void cpumask_clear_cpu(int cpu, struct cpumask *dstp)
+{
+ clear_bit(cpumask_check(cpu), ((dstp)->bits));
+}
+# 286 "include/linux/cpumask.h"
+static inline __attribute__((always_inline)) int cpumask_test_and_set_cpu(int cpu, struct cpumask *cpumask)
+{
+ return test_and_set_bit(cpumask_check(cpu), ((cpumask)->bits));
+}
+# 298 "include/linux/cpumask.h"
+static inline __attribute__((always_inline)) int cpumask_test_and_clear_cpu(int cpu, struct cpumask *cpumask)
+{
+ return test_and_clear_bit(cpumask_check(cpu), ((cpumask)->bits));
+}
+
+
+
+
+
+static inline __attribute__((always_inline)) void cpumask_setall(struct cpumask *dstp)
+{
+ bitmap_fill(((dstp)->bits), 1);
+}
+
+
+
+
+
+static inline __attribute__((always_inline)) void cpumask_clear(struct cpumask *dstp)
+{
+ bitmap_zero(((dstp)->bits), 1);
+}
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) int cpumask_and(struct cpumask *dstp,
+          const struct cpumask *src1p,
+          const struct cpumask *src2p)
+{
+ return bitmap_and(((dstp)->bits), ((src1p)->bits),
+           ((src2p)->bits), 1);
+}
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) void cpumask_or(struct cpumask *dstp, const struct cpumask *src1p,
+         const struct cpumask *src2p)
+{
+ bitmap_or(((dstp)->bits), ((src1p)->bits),
+          ((src2p)->bits), 1);
+}
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) void cpumask_xor(struct cpumask *dstp,
+          const struct cpumask *src1p,
+          const struct cpumask *src2p)
+{
+ bitmap_xor(((dstp)->bits), ((src1p)->bits),
+           ((src2p)->bits), 1);
+}
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) int cpumask_andnot(struct cpumask *dstp,
+      const struct cpumask *src1p,
+      const struct cpumask *src2p)
+{
+ return bitmap_andnot(((dstp)->bits), ((src1p)->bits),
+       ((src2p)->bits), 1);
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) void cpumask_complement(struct cpumask *dstp,
+          const struct cpumask *srcp)
+{
+ bitmap_complement(((dstp)->bits), ((srcp)->bits),
+           1);
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) bool cpumask_equal(const struct cpumask *src1p,
+    const struct cpumask *src2p)
+{
+ return bitmap_equal(((src1p)->bits), ((src2p)->bits),
+       1);
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) bool cpumask_intersects(const struct cpumask *src1p,
+         const struct cpumask *src2p)
+{
+ return bitmap_intersects(((src1p)->bits), ((src2p)->bits),
+            1);
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) int cpumask_subset(const struct cpumask *src1p,
+     const struct cpumask *src2p)
+{
+ return bitmap_subset(((src1p)->bits), ((src2p)->bits),
+        1);
+}
+
+
+
+
+
+static inline __attribute__((always_inline)) bool cpumask_empty(const struct cpumask *srcp)
+{
+ return bitmap_empty(((srcp)->bits), 1);
+}
+
+
+
+
+
+static inline __attribute__((always_inline)) bool cpumask_full(const struct cpumask *srcp)
+{
+ return bitmap_full(((srcp)->bits), 1);
+}
+
+
+
+
+
+static inline __attribute__((always_inline)) unsigned int cpumask_weight(const struct cpumask *srcp)
+{
+ return bitmap_weight(((srcp)->bits), 1);
+}
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) void cpumask_shift_right(struct cpumask *dstp,
+           const struct cpumask *srcp, int n)
+{
+ bitmap_shift_right(((dstp)->bits), ((srcp)->bits), n,
+            1);
+}
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) void cpumask_shift_left(struct cpumask *dstp,
+          const struct cpumask *srcp, int n)
+{
+ bitmap_shift_left(((dstp)->bits), ((srcp)->bits), n,
+           1);
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) void cpumask_copy(struct cpumask *dstp,
+    const struct cpumask *srcp)
+{
+ bitmap_copy(((dstp)->bits), ((srcp)->bits), 1);
+}
+# 529 "include/linux/cpumask.h"
+static inline __attribute__((always_inline)) int cpumask_scnprintf(char *buf, int len,
+        const struct cpumask *srcp)
+{
+ return bitmap_scnprintf(buf, len, ((srcp)->bits), 1);
+}
+# 543 "include/linux/cpumask.h"
+static inline __attribute__((always_inline)) int cpumask_parse_user(const char *buf, int len,
+         struct cpumask *dstp)
+{
+ return bitmap_parse_user(buf, len, ((dstp)->bits), 1);
+}
+# 558 "include/linux/cpumask.h"
+static inline __attribute__((always_inline)) int cpulist_scnprintf(char *buf, int len,
+        const struct cpumask *srcp)
+{
+ return bitmap_scnlistprintf(buf, len, ((srcp)->bits),
+        1);
+}
+# 573 "include/linux/cpumask.h"
+static inline __attribute__((always_inline)) int cpulist_parse(const char *buf, struct cpumask *dstp)
+{
+ return bitmap_parselist(buf, ((dstp)->bits), 1);
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) size_t cpumask_size(void)
+{
+
+
+ return (((1) + (8 * sizeof(long)) - 1) / (8 * sizeof(long))) * sizeof(long);
+}
+# 618 "include/linux/cpumask.h"
+typedef struct cpumask cpumask_var_t[1];
+
+static inline __attribute__((always_inline)) bool alloc_cpumask_var(cpumask_var_t *mask, gfp_t flags)
+{
+ return true;
+}
+
+static inline __attribute__((always_inline)) bool alloc_cpumask_var_node(cpumask_var_t *mask, gfp_t flags,
+       int node)
+{
+ return true;
+}
+
+static inline __attribute__((always_inline)) bool zalloc_cpumask_var(cpumask_var_t *mask, gfp_t flags)
+{
+ cpumask_clear(*mask);
+ return true;
+}
+
+static inline __attribute__((always_inline)) bool zalloc_cpumask_var_node(cpumask_var_t *mask, gfp_t flags,
+       int node)
+{
+ cpumask_clear(*mask);
+ return true;
+}
+
+static inline __attribute__((always_inline)) void alloc_bootmem_cpumask_var(cpumask_var_t *mask)
+{
+}
+
+static inline __attribute__((always_inline)) void free_cpumask_var(cpumask_var_t mask)
+{
+}
+
+static inline __attribute__((always_inline)) void free_bootmem_cpumask_var(cpumask_var_t mask)
+{
+}
+
+
+
+
+extern const unsigned long cpu_all_bits[(((1) + (8 * sizeof(long)) - 1) / (8 * sizeof(long)))];
+# 670 "include/linux/cpumask.h"
+void set_cpu_possible(unsigned int cpu, bool possible);
+void set_cpu_present(unsigned int cpu, bool present);
+void set_cpu_online(unsigned int cpu, bool online);
+void set_cpu_active(unsigned int cpu, bool active);
+void init_cpu_present(const struct cpumask *src);
+void init_cpu_possible(const struct cpumask *src);
+void init_cpu_online(const struct cpumask *src);
+# 692 "include/linux/cpumask.h"
+static inline __attribute__((always_inline)) int __check_is_bitmap(const unsigned long *bitmap)
+{
+ return 1;
+}
+# 704 "include/linux/cpumask.h"
+extern const unsigned long
+ cpu_bit_bitmap[32 +1][(((1) + (8 * sizeof(long)) - 1) / (8 * sizeof(long)))];
+
+static inline __attribute__((always_inline)) const struct cpumask *get_cpu_mask(unsigned int cpu)
+{
+ const unsigned long *p = cpu_bit_bitmap[1 + cpu % 32];
+ p -= cpu / 32;
+ return ((struct cpumask *)(1 ? (p) : (void *)sizeof(__check_is_bitmap(p))));
+}
+# 811 "include/linux/cpumask.h"
+static inline __attribute__((always_inline)) void __cpu_set(int cpu, volatile cpumask_t *dstp)
+{
+ set_bit(cpu, dstp->bits);
+}
+
+
+static inline __attribute__((always_inline)) void __cpu_clear(int cpu, volatile cpumask_t *dstp)
+{
+ clear_bit(cpu, dstp->bits);
+}
+
+
+static inline __attribute__((always_inline)) void __cpus_setall(cpumask_t *dstp, int nbits)
+{
+ bitmap_fill(dstp->bits, nbits);
+}
+
+
+static inline __attribute__((always_inline)) void __cpus_clear(cpumask_t *dstp, int nbits)
+{
+ bitmap_zero(dstp->bits, nbits);
+}
+
+
+
+
+
+static inline __attribute__((always_inline)) int __cpu_test_and_set(int cpu, cpumask_t *addr)
+{
+ return test_and_set_bit(cpu, addr->bits);
+}
+
+
+static inline __attribute__((always_inline)) int __cpus_and(cpumask_t *dstp, const cpumask_t *src1p,
+     const cpumask_t *src2p, int nbits)
+{
+ return bitmap_and(dstp->bits, src1p->bits, src2p->bits, nbits);
+}
+
+
+static inline __attribute__((always_inline)) void __cpus_or(cpumask_t *dstp, const cpumask_t *src1p,
+     const cpumask_t *src2p, int nbits)
+{
+ bitmap_or(dstp->bits, src1p->bits, src2p->bits, nbits);
+}
+
+
+static inline __attribute__((always_inline)) void __cpus_xor(cpumask_t *dstp, const cpumask_t *src1p,
+     const cpumask_t *src2p, int nbits)
+{
+ bitmap_xor(dstp->bits, src1p->bits, src2p->bits, nbits);
+}
+
+
+
+static inline __attribute__((always_inline)) int __cpus_andnot(cpumask_t *dstp, const cpumask_t *src1p,
+     const cpumask_t *src2p, int nbits)
+{
+ return bitmap_andnot(dstp->bits, src1p->bits, src2p->bits, nbits);
+}
+
+
+static inline __attribute__((always_inline)) int __cpus_equal(const cpumask_t *src1p,
+     const cpumask_t *src2p, int nbits)
+{
+ return bitmap_equal(src1p->bits, src2p->bits, nbits);
+}
+
+
+static inline __attribute__((always_inline)) int __cpus_intersects(const cpumask_t *src1p,
+     const cpumask_t *src2p, int nbits)
+{
+ return bitmap_intersects(src1p->bits, src2p->bits, nbits);
+}
+
+
+static inline __attribute__((always_inline)) int __cpus_subset(const cpumask_t *src1p,
+     const cpumask_t *src2p, int nbits)
+{
+ return bitmap_subset(src1p->bits, src2p->bits, nbits);
+}
+
+
+static inline __attribute__((always_inline)) int __cpus_empty(const cpumask_t *srcp, int nbits)
+{
+ return bitmap_empty(srcp->bits, nbits);
+}
+
+
+static inline __attribute__((always_inline)) int __cpus_weight(const cpumask_t *srcp, int nbits)
+{
+ return bitmap_weight(srcp->bits, nbits);
+}
+
+
+
+static inline __attribute__((always_inline)) void __cpus_shift_left(cpumask_t *dstp,
+     const cpumask_t *srcp, int n, int nbits)
+{
+ bitmap_shift_left(dstp->bits, srcp->bits, n, nbits);
+}
+# 62 "include/linux/sched.h" 2
+
+# 1 "include/linux/nodemask.h" 1
+# 94 "include/linux/nodemask.h"
+# 1 "include/linux/numa.h" 1
+# 95 "include/linux/nodemask.h" 2
+
+typedef struct { unsigned long bits[((((1 << 0)) + (8 * sizeof(long)) - 1) / (8 * sizeof(long)))]; } nodemask_t;
+extern nodemask_t _unused_nodemask_arg_;
+
+
+static inline __attribute__((always_inline)) void __node_set(int node, volatile nodemask_t *dstp)
+{
+ set_bit(node, dstp->bits);
+}
+
+
+static inline __attribute__((always_inline)) void __node_clear(int node, volatile nodemask_t *dstp)
+{
+ clear_bit(node, dstp->bits);
+}
+
+
+static inline __attribute__((always_inline)) void __nodes_setall(nodemask_t *dstp, int nbits)
+{
+ bitmap_fill(dstp->bits, nbits);
+}
+
+
+static inline __attribute__((always_inline)) void __nodes_clear(nodemask_t *dstp, int nbits)
+{
+ bitmap_zero(dstp->bits, nbits);
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) int __node_test_and_set(int node, nodemask_t *addr)
+{
+ return test_and_set_bit(node, addr->bits);
+}
+
+
+
+static inline __attribute__((always_inline)) void __nodes_and(nodemask_t *dstp, const nodemask_t *src1p,
+     const nodemask_t *src2p, int nbits)
+{
+ bitmap_and(dstp->bits, src1p->bits, src2p->bits, nbits);
+}
+
+
+
+static inline __attribute__((always_inline)) void __nodes_or(nodemask_t *dstp, const nodemask_t *src1p,
+     const nodemask_t *src2p, int nbits)
+{
+ bitmap_or(dstp->bits, src1p->bits, src2p->bits, nbits);
+}
+
+
+
+static inline __attribute__((always_inline)) void __nodes_xor(nodemask_t *dstp, const nodemask_t *src1p,
+     const nodemask_t *src2p, int nbits)
+{
+ bitmap_xor(dstp->bits, src1p->bits, src2p->bits, nbits);
+}
+
+
+
+static inline __attribute__((always_inline)) void __nodes_andnot(nodemask_t *dstp, const nodemask_t *src1p,
+     const nodemask_t *src2p, int nbits)
+{
+ bitmap_andnot(dstp->bits, src1p->bits, src2p->bits, nbits);
+}
+
+
+
+static inline __attribute__((always_inline)) void __nodes_complement(nodemask_t *dstp,
+     const nodemask_t *srcp, int nbits)
+{
+ bitmap_complement(dstp->bits, srcp->bits, nbits);
+}
+
+
+
+static inline __attribute__((always_inline)) int __nodes_equal(const nodemask_t *src1p,
+     const nodemask_t *src2p, int nbits)
+{
+ return bitmap_equal(src1p->bits, src2p->bits, nbits);
+}
+
+
+
+static inline __attribute__((always_inline)) int __nodes_intersects(const nodemask_t *src1p,
+     const nodemask_t *src2p, int nbits)
+{
+ return bitmap_intersects(src1p->bits, src2p->bits, nbits);
+}
+
+
+
+static inline __attribute__((always_inline)) int __nodes_subset(const nodemask_t *src1p,
+     const nodemask_t *src2p, int nbits)
+{
+ return bitmap_subset(src1p->bits, src2p->bits, nbits);
+}
+
+
+static inline __attribute__((always_inline)) int __nodes_empty(const nodemask_t *srcp, int nbits)
+{
+ return bitmap_empty(srcp->bits, nbits);
+}
+
+
+static inline __attribute__((always_inline)) int __nodes_full(const nodemask_t *srcp, int nbits)
+{
+ return bitmap_full(srcp->bits, nbits);
+}
+
+
+static inline __attribute__((always_inline)) int __nodes_weight(const nodemask_t *srcp, int nbits)
+{
+ return bitmap_weight(srcp->bits, nbits);
+}
+
+
+
+static inline __attribute__((always_inline)) void __nodes_shift_right(nodemask_t *dstp,
+     const nodemask_t *srcp, int n, int nbits)
+{
+ bitmap_shift_right(dstp->bits, srcp->bits, n, nbits);
+}
+
+
+
+static inline __attribute__((always_inline)) void __nodes_shift_left(nodemask_t *dstp,
+     const nodemask_t *srcp, int n, int nbits)
+{
+ bitmap_shift_left(dstp->bits, srcp->bits, n, nbits);
+}
+
+
+
+
+
+static inline __attribute__((always_inline)) int __first_node(const nodemask_t *srcp)
+{
+ return ({ int __min1 = ((1 << 0)); int __min2 = (find_next_bit((srcp->bits), ((1 << 0)), 0)); __min1 < __min2 ? __min1: __min2; });
+}
+
+
+static inline __attribute__((always_inline)) int __next_node(int n, const nodemask_t *srcp)
+{
+ return ({ int __min1 = ((1 << 0)); int __min2 = (find_next_bit(srcp->bits, (1 << 0), n+1)); __min1 < __min2 ? __min1: __min2; });
+}
+
+static inline __attribute__((always_inline)) void init_nodemask_of_node(nodemask_t *mask, int node)
+{
+ __nodes_clear(&(*mask), (1 << 0));
+ __node_set((node), &(*mask));
+}
+# 264 "include/linux/nodemask.h"
+static inline __attribute__((always_inline)) int __first_unset_node(const nodemask_t *maskp)
+{
+ return ({ int __min1 = ((1 << 0)); int __min2 = (find_next_zero_bit((maskp->bits), ((1 << 0)), 0)); __min1 < __min2 ? __min1: __min2; })
+                                                  ;
+}
+# 298 "include/linux/nodemask.h"
+static inline __attribute__((always_inline)) int __nodemask_scnprintf(char *buf, int len,
+     const nodemask_t *srcp, int nbits)
+{
+ return bitmap_scnprintf(buf, len, srcp->bits, nbits);
+}
+
+
+
+static inline __attribute__((always_inline)) int __nodemask_parse_user(const char *buf, int len,
+     nodemask_t *dstp, int nbits)
+{
+ return bitmap_parse_user(buf, len, dstp->bits, nbits);
+}
+
+
+
+static inline __attribute__((always_inline)) int __nodelist_scnprintf(char *buf, int len,
+     const nodemask_t *srcp, int nbits)
+{
+ return bitmap_scnlistprintf(buf, len, srcp->bits, nbits);
+}
+
+
+static inline __attribute__((always_inline)) int __nodelist_parse(const char *buf, nodemask_t *dstp, int nbits)
+{
+ return bitmap_parselist(buf, dstp->bits, nbits);
+}
+
+
+
+static inline __attribute__((always_inline)) int __node_remap(int oldbit,
+  const nodemask_t *oldp, const nodemask_t *newp, int nbits)
+{
+ return bitmap_bitremap(oldbit, oldp->bits, newp->bits, nbits);
+}
+
+
+
+static inline __attribute__((always_inline)) void __nodes_remap(nodemask_t *dstp, const nodemask_t *srcp,
+  const nodemask_t *oldp, const nodemask_t *newp, int nbits)
+{
+ bitmap_remap(dstp->bits, srcp->bits, oldp->bits, newp->bits, nbits);
+}
+
+
+
+static inline __attribute__((always_inline)) void __nodes_onto(nodemask_t *dstp, const nodemask_t *origp,
+  const nodemask_t *relmapp, int nbits)
+{
+ bitmap_onto(dstp->bits, origp->bits, relmapp->bits, nbits);
+}
+
+
+
+static inline __attribute__((always_inline)) void __nodes_fold(nodemask_t *dstp, const nodemask_t *origp,
+  int sz, int nbits)
+{
+ bitmap_fold(dstp->bits, origp->bits, sz, nbits);
+}
+# 372 "include/linux/nodemask.h"
+enum node_states {
+ N_POSSIBLE,
+ N_ONLINE,
+ N_NORMAL_MEMORY,
+
+
+
+ N_HIGH_MEMORY = N_NORMAL_MEMORY,
+
+ N_CPU,
+ NR_NODE_STATES
+};
+
+
+
+
+
+
+extern nodemask_t node_states[NR_NODE_STATES];
+# 435 "include/linux/nodemask.h"
+static inline __attribute__((always_inline)) int node_state(int node, enum node_states state)
+{
+ return node == 0;
+}
+
+static inline __attribute__((always_inline)) void node_set_state(int node, enum node_states state)
+{
+}
+
+static inline __attribute__((always_inline)) void node_clear_state(int node, enum node_states state)
+{
+}
+
+static inline __attribute__((always_inline)) int num_node_state(enum node_states state)
+{
+ return 1;
+}
+# 491 "include/linux/nodemask.h"
+struct nodemask_scratch {
+ nodemask_t mask1;
+ nodemask_t mask2;
+};
+# 64 "include/linux/sched.h" 2
+# 1 "include/linux/mm_types.h" 1
+
+
+
+# 1 "include/linux/auxvec.h" 1
+
+
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/auxvec.h" 1
+# 5 "include/linux/auxvec.h" 2
+# 5 "include/linux/mm_types.h" 2
+
+
+
+
+# 1 "include/linux/prio_tree.h" 1
+# 14 "include/linux/prio_tree.h"
+struct raw_prio_tree_node {
+ struct prio_tree_node *left;
+ struct prio_tree_node *right;
+ struct prio_tree_node *parent;
+};
+
+struct prio_tree_node {
+ struct prio_tree_node *left;
+ struct prio_tree_node *right;
+ struct prio_tree_node *parent;
+ unsigned long start;
+ unsigned long last;
+};
+
+struct prio_tree_root {
+ struct prio_tree_node *prio_tree_node;
+ unsigned short index_bits;
+ unsigned short raw;
+
+
+
+
+};
+
+struct prio_tree_iter {
+ struct prio_tree_node *cur;
+ unsigned long mask;
+ unsigned long value;
+ int size_level;
+
+ struct prio_tree_root *root;
+ unsigned long r_index;
+ unsigned long h_index;
+};
+
+static inline __attribute__((always_inline)) void prio_tree_iter_init(struct prio_tree_iter *iter,
+  struct prio_tree_root *root, unsigned long r_index, unsigned long h_index)
+{
+ iter->root = root;
+ iter->r_index = r_index;
+ iter->h_index = h_index;
+ iter->cur = ((void *)0);
+}
+# 84 "include/linux/prio_tree.h"
+static inline __attribute__((always_inline)) int prio_tree_empty(const struct prio_tree_root *root)
+{
+ return root->prio_tree_node == ((void *)0);
+}
+
+static inline __attribute__((always_inline)) int prio_tree_root(const struct prio_tree_node *node)
+{
+ return node->parent == node;
+}
+
+static inline __attribute__((always_inline)) int prio_tree_left_empty(const struct prio_tree_node *node)
+{
+ return node->left == node;
+}
+
+static inline __attribute__((always_inline)) int prio_tree_right_empty(const struct prio_tree_node *node)
+{
+ return node->right == node;
+}
+
+
+struct prio_tree_node *prio_tree_replace(struct prio_tree_root *root,
+                struct prio_tree_node *old, struct prio_tree_node *node);
+struct prio_tree_node *prio_tree_insert(struct prio_tree_root *root,
+                struct prio_tree_node *node);
+void prio_tree_remove(struct prio_tree_root *root, struct prio_tree_node *node);
+struct prio_tree_node *prio_tree_next(struct prio_tree_iter *iter);
+# 10 "include/linux/mm_types.h" 2
+
+# 1 "include/linux/rwsem.h" 1
+# 20 "include/linux/rwsem.h"
+struct rw_semaphore;
+
+
+
+
+
+struct rw_semaphore {
+ long count;
+ spinlock_t wait_lock;
+ struct list_head wait_list;
+
+
+
+};
+
+extern struct rw_semaphore *rwsem_down_read_failed(struct rw_semaphore *sem);
+extern struct rw_semaphore *rwsem_down_write_failed(struct rw_semaphore *sem);
+extern struct rw_semaphore *rwsem_wake(struct rw_semaphore *);
+extern struct rw_semaphore *rwsem_downgrade_wake(struct rw_semaphore *sem);
+
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/rwsem.h" 1
+# 34 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/rwsem.h"
+static inline __attribute__((always_inline)) void __down_read(struct rw_semaphore *sem)
+{
+ if (__builtin_expect(!!(atomic_long_inc_return((atomic_long_t *)&sem->count) <= 0), 0))
+  rwsem_down_read_failed(sem);
+}
+
+static inline __attribute__((always_inline)) int __down_read_trylock(struct rw_semaphore *sem)
+{
+ long tmp;
+
+ while ((tmp = sem->count) >= 0) {
+  if (tmp == ({ __typeof__(*(&sem->count)) _o_ = (tmp); __typeof__(*(&sem->count)) _n_ = (tmp + 0x00000001L); (__typeof__(*(&sem->count))) __cmpxchg((&sem->count), (unsigned long)_o_, (unsigned long)_n_, sizeof(*(&sem->count))); })
+                                    ) {
+   return 1;
+  }
+ }
+ return 0;
+}
+
+
+
+
+static inline __attribute__((always_inline)) void __down_write_nested(struct rw_semaphore *sem, int subclass)
+{
+ long tmp;
+
+ tmp = atomic_long_add_return(((-0x0000ffffL -1) + 0x00000001L),
+         (atomic_long_t *)&sem->count);
+ if (__builtin_expect(!!(tmp != ((-0x0000ffffL -1) + 0x00000001L)), 0))
+  rwsem_down_write_failed(sem);
+}
+
+static inline __attribute__((always_inline)) void __down_write(struct rw_semaphore *sem)
+{
+ __down_write_nested(sem, 0);
+}
+
+static inline __attribute__((always_inline)) int __down_write_trylock(struct rw_semaphore *sem)
+{
+ long tmp;
+
+ tmp = ({ __typeof__(*(&sem->count)) _o_ = (0x00000000L); __typeof__(*(&sem->count)) _n_ = (((-0x0000ffffL -1) + 0x00000001L)); (__typeof__(*(&sem->count))) __cmpxchg((&sem->count), (unsigned long)_o_, (unsigned long)_n_, sizeof(*(&sem->count))); })
+                                ;
+ return tmp == 0x00000000L;
+}
+
+
+
+
+static inline __attribute__((always_inline)) void __up_read(struct rw_semaphore *sem)
+{
+ long tmp;
+
+ tmp = atomic_long_dec_return((atomic_long_t *)&sem->count);
+ if (__builtin_expect(!!(tmp < -1 && (tmp & 0x0000ffffL) == 0), 0))
+  rwsem_wake(sem);
+}
+
+
+
+
+static inline __attribute__((always_inline)) void __up_write(struct rw_semaphore *sem)
+{
+ if (__builtin_expect(!!(atomic_long_sub_return(((-0x0000ffffL -1) + 0x00000001L), (atomic_long_t *)&sem->count) < 0), 0)
+                                       )
+  rwsem_wake(sem);
+}
+
+
+
+
+static inline __attribute__((always_inline)) void rwsem_atomic_add(long delta, struct rw_semaphore *sem)
+{
+ atomic_long_add(delta, (atomic_long_t *)&sem->count);
+}
+
+
+
+
+static inline __attribute__((always_inline)) void __downgrade_write(struct rw_semaphore *sem)
+{
+ long tmp;
+
+ tmp = atomic_long_add_return(-(-0x0000ffffL -1),
+         (atomic_long_t *)&sem->count);
+ if (tmp < 0)
+  rwsem_downgrade_wake(sem);
+}
+
+
+
+
+static inline __attribute__((always_inline)) long rwsem_atomic_update(long delta, struct rw_semaphore *sem)
+{
+ return atomic_long_add_return(delta, (atomic_long_t *)&sem->count);
+}
+# 42 "include/linux/rwsem.h" 2
+
+
+static inline __attribute__((always_inline)) int rwsem_is_locked(struct rw_semaphore *sem)
+{
+ return sem->count != 0;
+}
+# 66 "include/linux/rwsem.h"
+extern void __init_rwsem(struct rw_semaphore *sem, const char *name,
+    struct lock_class_key *key);
+# 79 "include/linux/rwsem.h"
+extern void down_read(struct rw_semaphore *sem);
+
+
+
+
+extern int down_read_trylock(struct rw_semaphore *sem);
+
+
+
+
+extern void down_write(struct rw_semaphore *sem);
+
+
+
+
+extern int down_write_trylock(struct rw_semaphore *sem);
+
+
+
+
+extern void up_read(struct rw_semaphore *sem);
+
+
+
+
+extern void up_write(struct rw_semaphore *sem);
+
+
+
+
+extern void downgrade_write(struct rw_semaphore *sem);
+# 12 "include/linux/mm_types.h" 2
+# 1 "include/linux/completion.h" 1
+# 11 "include/linux/completion.h"
+# 1 "include/linux/wait.h" 1
+# 26 "include/linux/wait.h"
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/current.h" 1
+# 12 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/current.h"
+struct task_struct;
+# 35 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/current.h"
+register struct task_struct *current asm ("r2");
+# 27 "include/linux/wait.h" 2
+
+typedef struct __wait_queue wait_queue_t;
+typedef int (*wait_queue_func_t)(wait_queue_t *wait, unsigned mode, int flags, void *key);
+int default_wake_function(wait_queue_t *wait, unsigned mode, int flags, void *key);
+
+struct __wait_queue {
+ unsigned int flags;
+
+ void *private;
+ wait_queue_func_t func;
+ struct list_head task_list;
+};
+
+struct wait_bit_key {
+ void *flags;
+ int bit_nr;
+};
+
+struct wait_bit_queue {
+ struct wait_bit_key key;
+ wait_queue_t wait;
+};
+
+struct __wait_queue_head {
+ spinlock_t lock;
+ struct list_head task_list;
+};
+typedef struct __wait_queue_head wait_queue_head_t;
+
+struct task_struct;
+# 80 "include/linux/wait.h"
+extern void __init_waitqueue_head(wait_queue_head_t *q, struct lock_class_key *);
+# 98 "include/linux/wait.h"
+static inline __attribute__((always_inline)) void init_waitqueue_entry(wait_queue_t *q, struct task_struct *p)
+{
+ q->flags = 0;
+ q->private = p;
+ q->func = default_wake_function;
+}
+
+static inline __attribute__((always_inline)) void init_waitqueue_func_entry(wait_queue_t *q,
+     wait_queue_func_t func)
+{
+ q->flags = 0;
+ q->private = ((void *)0);
+ q->func = func;
+}
+
+static inline __attribute__((always_inline)) int waitqueue_active(wait_queue_head_t *q)
+{
+ return !list_empty(&q->task_list);
+}
+
+extern void add_wait_queue(wait_queue_head_t *q, wait_queue_t *wait);
+extern void add_wait_queue_exclusive(wait_queue_head_t *q, wait_queue_t *wait);
+extern void remove_wait_queue(wait_queue_head_t *q, wait_queue_t *wait);
+
+static inline __attribute__((always_inline)) void __add_wait_queue(wait_queue_head_t *head, wait_queue_t *new)
+{
+ list_add(&new->task_list, &head->task_list);
+}
+
+
+
+
+static inline __attribute__((always_inline)) void __add_wait_queue_exclusive(wait_queue_head_t *q,
+           wait_queue_t *wait)
+{
+ wait->flags |= 0x01;
+ __add_wait_queue(q, wait);
+}
+
+static inline __attribute__((always_inline)) void __add_wait_queue_tail(wait_queue_head_t *head,
+      wait_queue_t *new)
+{
+ list_add_tail(&new->task_list, &head->task_list);
+}
+
+static inline __attribute__((always_inline)) void __add_wait_queue_tail_exclusive(wait_queue_head_t *q,
+           wait_queue_t *wait)
+{
+ wait->flags |= 0x01;
+ __add_wait_queue_tail(q, wait);
+}
+
+static inline __attribute__((always_inline)) void __remove_wait_queue(wait_queue_head_t *head,
+       wait_queue_t *old)
+{
+ list_del(&old->task_list);
+}
+
+void __wake_up(wait_queue_head_t *q, unsigned int mode, int nr, void *key);
+void __wake_up_locked_key(wait_queue_head_t *q, unsigned int mode, void *key);
+void __wake_up_sync_key(wait_queue_head_t *q, unsigned int mode, int nr,
+   void *key);
+void __wake_up_locked(wait_queue_head_t *q, unsigned int mode);
+void __wake_up_sync(wait_queue_head_t *q, unsigned int mode, int nr);
+void __wake_up_bit(wait_queue_head_t *, void *, int);
+int __wait_on_bit(wait_queue_head_t *, struct wait_bit_queue *, int (*)(void *), unsigned);
+int __wait_on_bit_lock(wait_queue_head_t *, struct wait_bit_queue *, int (*)(void *), unsigned);
+void wake_up_bit(void *, int);
+int out_of_line_wait_on_bit(void *, int, int (*)(void *), unsigned);
+int out_of_line_wait_on_bit_lock(void *, int, int (*)(void *), unsigned);
+wait_queue_head_t *bit_waitqueue(void *, int);
+# 574 "include/linux/wait.h"
+extern void sleep_on(wait_queue_head_t *q);
+extern long sleep_on_timeout(wait_queue_head_t *q,
+          signed long timeout);
+extern void interruptible_sleep_on(wait_queue_head_t *q);
+extern long interruptible_sleep_on_timeout(wait_queue_head_t *q,
+        signed long timeout);
+
+
+
+
+void prepare_to_wait(wait_queue_head_t *q, wait_queue_t *wait, int state);
+void prepare_to_wait_exclusive(wait_queue_head_t *q, wait_queue_t *wait, int state);
+void finish_wait(wait_queue_head_t *q, wait_queue_t *wait);
+void abort_exclusive_wait(wait_queue_head_t *q, wait_queue_t *wait,
+   unsigned int mode, void *key);
+int autoremove_wake_function(wait_queue_t *wait, unsigned mode, int sync, void *key);
+int wake_bit_function(wait_queue_t *wait, unsigned mode, int sync, void *key);
+# 634 "include/linux/wait.h"
+static inline __attribute__((always_inline)) int wait_on_bit(void *word, int bit,
+    int (*action)(void *), unsigned mode)
+{
+ if (!test_bit(bit, word))
+  return 0;
+ return out_of_line_wait_on_bit(word, bit, action, mode);
+}
+# 658 "include/linux/wait.h"
+static inline __attribute__((always_inline)) int wait_on_bit_lock(void *word, int bit,
+    int (*action)(void *), unsigned mode)
+{
+ if (!test_and_set_bit(bit, word))
+  return 0;
+ return out_of_line_wait_on_bit_lock(word, bit, action, mode);
+}
+# 12 "include/linux/completion.h" 2
+# 25 "include/linux/completion.h"
+struct completion {
+ unsigned int done;
+ wait_queue_head_t wait;
+};
+# 73 "include/linux/completion.h"
+static inline __attribute__((always_inline)) void init_completion(struct completion *x)
+{
+ x->done = 0;
+ do { static struct lock_class_key __key; __init_waitqueue_head((&x->wait), &__key); } while (0);
+}
+
+extern void wait_for_completion(struct completion *);
+extern int wait_for_completion_interruptible(struct completion *x);
+extern int wait_for_completion_killable(struct completion *x);
+extern unsigned long wait_for_completion_timeout(struct completion *x,
+         unsigned long timeout);
+extern long wait_for_completion_interruptible_timeout(
+ struct completion *x, unsigned long timeout);
+extern long wait_for_completion_killable_timeout(
+ struct completion *x, unsigned long timeout);
+extern bool try_wait_for_completion(struct completion *x);
+extern bool completion_done(struct completion *x);
+
+extern void complete(struct completion *);
+extern void complete_all(struct completion *);
+# 13 "include/linux/mm_types.h" 2
+
+# 1 "include/linux/page-debug-flags.h" 1
+# 14 "include/linux/page-debug-flags.h"
+enum page_debug_flags {
+ PAGE_DEBUG_FLAG_POISON,
+};
+# 15 "include/linux/mm_types.h" 2
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/mmu.h" 1
+# 76 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/mmu.h"
+static inline __attribute__((always_inline)) int mmu_has_feature(unsigned long feature)
+{
+ return(cur_cpu_spec->mmu_features & feature);
+}
+
+extern unsigned int __start___mmu_ftr_fixup, __stop___mmu_ftr_fixup;
+
+
+extern void early_init_mmu(void);
+extern void early_init_mmu_secondary(void);
+
+extern void setup_initial_memory_limit(phys_addr_t first_memblock_base,
+           phys_addr_t first_memblock_size);
+# 146 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/mmu.h"
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/mmu-44x.h" 1
+# 104 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/mmu-44x.h"
+extern unsigned int tlb_44x_hwater;
+extern unsigned int tlb_44x_index;
+
+typedef struct {
+ unsigned int id;
+ unsigned int active;
+ unsigned long vdso_base;
+} mm_context_t;
+# 147 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/mmu.h" 2
+# 17 "include/linux/mm_types.h" 2
+
+
+
+
+
+
+struct address_space;
+# 34 "include/linux/mm_types.h"
+struct page {
+ unsigned long flags;
+
+ atomic_t _count;
+ union {
+  atomic_t _mapcount;
+
+
+
+  struct {
+   u16 inuse;
+   u16 objects;
+  };
+ };
+ union {
+     struct {
+  unsigned long private;
+
+
+
+
+
+
+  struct address_space *mapping;
+
+
+
+
+
+
+     };
+
+
+
+     struct kmem_cache *slab;
+     struct page *first_page;
+ };
+ union {
+  unsigned long index;
+  void *freelist;
+ };
+ struct list_head lru;
+# 103 "include/linux/mm_types.h"
+};
+
+
+
+
+
+
+struct vm_region {
+ struct rb_node vm_rb;
+ unsigned long vm_flags;
+ unsigned long vm_start;
+ unsigned long vm_end;
+ unsigned long vm_top;
+ unsigned long vm_pgoff;
+ struct file *vm_file;
+
+ int vm_usage;
+ bool vm_icache_flushed : 1;
+
+};
+
+
+
+
+
+
+
+struct vm_area_struct {
+ struct mm_struct * vm_mm;
+ unsigned long vm_start;
+ unsigned long vm_end;
+
+
+
+ struct vm_area_struct *vm_next, *vm_prev;
+
+ pgprot_t vm_page_prot;
+ unsigned long vm_flags;
+
+ struct rb_node vm_rb;
+
+
+
+
+
+
+
+ union {
+  struct {
+   struct list_head list;
+   void *parent;
+   struct vm_area_struct *head;
+  } vm_set;
+
+  struct raw_prio_tree_node prio_tree_node;
+ } shared;
+
+
+
+
+
+
+
+ struct list_head anon_vma_chain;
+
+ struct anon_vma *anon_vma;
+
+
+ const struct vm_operations_struct *vm_ops;
+
+
+ unsigned long vm_pgoff;
+
+ struct file * vm_file;
+ void * vm_private_data;
+ unsigned long vm_truncate_count;
+
+
+
+
+
+
+
+};
+
+struct core_thread {
+ struct task_struct *task;
+ struct core_thread *next;
+};
+
+struct core_state {
+ atomic_t nr_threads;
+ struct core_thread dumper;
+ struct completion startup;
+};
+
+enum {
+ MM_FILEPAGES,
+ MM_ANONPAGES,
+ MM_SWAPENTS,
+ NR_MM_COUNTERS
+};
+# 217 "include/linux/mm_types.h"
+struct mm_rss_stat {
+ unsigned long count[NR_MM_COUNTERS];
+};
+
+
+struct mm_struct {
+ struct vm_area_struct * mmap;
+ struct rb_root mm_rb;
+ struct vm_area_struct * mmap_cache;
+
+ unsigned long (*get_unmapped_area) (struct file *filp,
+    unsigned long addr, unsigned long len,
+    unsigned long pgoff, unsigned long flags);
+ void (*unmap_area) (struct mm_struct *mm, unsigned long addr);
+
+ unsigned long mmap_base;
+ unsigned long task_size;
+ unsigned long cached_hole_size;
+ unsigned long free_area_cache;
+ pgd_t * pgd;
+ atomic_t mm_users;
+ atomic_t mm_count;
+ int map_count;
+
+ spinlock_t page_table_lock;
+ struct rw_semaphore mmap_sem;
+
+ struct list_head mmlist;
+
+
+
+
+
+ unsigned long hiwater_rss;
+ unsigned long hiwater_vm;
+
+ unsigned long total_vm, locked_vm, shared_vm, exec_vm;
+ unsigned long stack_vm, reserved_vm, def_flags, nr_ptes;
+ unsigned long start_code, end_code, start_data, end_data;
+ unsigned long start_brk, brk, start_stack;
+ unsigned long arg_start, arg_end, env_start, env_end;
+
+ unsigned long saved_auxv[(2*(6 + 19 + 1))];
+
+
+
+
+
+ struct mm_rss_stat rss_stat;
+
+ struct linux_binfmt *binfmt;
+
+ cpumask_t cpu_vm_mask;
+
+
+ mm_context_t context;
+# 281 "include/linux/mm_types.h"
+ unsigned int faultstamp;
+ unsigned int token_priority;
+ unsigned int last_interval;
+
+
+ atomic_t oom_disable_count;
+
+ unsigned long flags;
+
+ struct core_state *core_state;
+
+ spinlock_t ioctx_lock;
+ struct hlist_head ioctx_list;
+# 311 "include/linux/mm_types.h"
+ struct file *exe_file;
+ unsigned long num_exe_file_vmas;
+
+
+
+
+
+
+
+};
+# 65 "include/linux/sched.h" 2
+
+
+
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/cputime.h" 1
+# 20 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/cputime.h"
+# 1 "include/asm-generic/cputime.h" 1
+
+
+
+
+
+
+typedef unsigned long cputime_t;
+# 25 "include/asm-generic/cputime.h"
+typedef u64 cputime64_t;
+# 21 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/cputime.h" 2
+
+static inline __attribute__((always_inline)) void setup_cputime_one_jiffy(void) { }
+# 70 "include/linux/sched.h" 2
+
+# 1 "include/linux/smp.h" 1
+# 13 "include/linux/smp.h"
+# 1 "include/linux/init.h" 1
+# 138 "include/linux/init.h"
+typedef int (*initcall_t)(void);
+typedef void (*exitcall_t)(void);
+
+extern initcall_t __con_initcall_start[], __con_initcall_end[];
+extern initcall_t __security_initcall_start[], __security_initcall_end[];
+
+
+typedef void (*ctor_fn_t)(void);
+
+
+extern int do_one_initcall(initcall_t fn);
+extern char __attribute__ ((__section__(".init.data"))) boot_command_line[];
+extern char *saved_command_line;
+extern unsigned int reset_devices;
+
+
+void setup_arch(char **);
+void prepare_namespace(void);
+
+extern void (*late_time_init)(void);
+
+extern int initcall_debug;
+# 225 "include/linux/init.h"
+struct obs_kernel_param {
+ const char *str;
+ int (*setup_func)(char *);
+ int early;
+};
+# 254 "include/linux/init.h"
+void __attribute__ ((__section__(".init.text"))) __attribute__((__cold__)) __attribute__((no_instrument_function)) parse_early_param(void);
+void __attribute__ ((__section__(".init.text"))) __attribute__((__cold__)) __attribute__((no_instrument_function)) parse_early_options(char *cmdline);
+# 14 "include/linux/smp.h" 2
+
+extern void cpu_idle(void);
+
+typedef void (*smp_call_func_t)(void *info);
+struct call_single_data {
+ struct list_head list;
+ smp_call_func_t func;
+ void *info;
+ u16 flags;
+ u16 priv;
+};
+
+
+extern unsigned int total_cpus;
+
+int smp_call_function_single(int cpuid, smp_call_func_t func, void *info,
+        int wait);
+# 123 "include/linux/smp.h"
+static inline __attribute__((always_inline)) void smp_send_stop(void) { }
+
+
+
+
+
+static inline __attribute__((always_inline)) int up_smp_call_function(smp_call_func_t func, void *info)
+{
+ return 0;
+}
+# 142 "include/linux/smp.h"
+static inline __attribute__((always_inline)) void smp_send_reschedule(int cpu) { }
+
+
+
+
+static inline __attribute__((always_inline)) void init_call_single_data(void) { }
+
+static inline __attribute__((always_inline)) int
+smp_call_function_any(const struct cpumask *mask, smp_call_func_t func,
+        void *info, int wait)
+{
+ return smp_call_function_single(0, func, info, wait);
+}
+# 187 "include/linux/smp.h"
+extern void arch_disable_smp_support(void);
+
+void smp_setup_processor_id(void);
+# 72 "include/linux/sched.h" 2
+# 1 "include/linux/sem.h" 1
+
+
+
+# 1 "include/linux/ipc.h" 1
+# 9 "include/linux/ipc.h"
+struct ipc_perm
+{
+ __kernel_key_t key;
+ __kernel_uid_t uid;
+ __kernel_gid_t gid;
+ __kernel_uid_t cuid;
+ __kernel_gid_t cgid;
+ __kernel_mode_t mode;
+ unsigned short seq;
+};
+
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/ipcbuf.h" 1
+# 20 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/ipcbuf.h"
+struct ipc64_perm
+{
+ __kernel_key_t key;
+ __kernel_uid_t uid;
+ __kernel_gid_t gid;
+ __kernel_uid_t cuid;
+ __kernel_gid_t cgid;
+ __kernel_mode_t mode;
+ unsigned int seq;
+ unsigned int __pad1;
+ unsigned long long __unused1;
+ unsigned long long __unused2;
+};
+# 22 "include/linux/ipc.h" 2
+# 57 "include/linux/ipc.h"
+struct ipc_kludge {
+ struct msgbuf *msgp;
+ long msgtyp;
+};
+# 86 "include/linux/ipc.h"
+struct kern_ipc_perm
+{
+ spinlock_t lock;
+ int deleted;
+ int id;
+ key_t key;
+ uid_t uid;
+ gid_t gid;
+ uid_t cuid;
+ gid_t cgid;
+ mode_t mode;
+ unsigned long seq;
+ void *security;
+};
+# 5 "include/linux/sem.h" 2
+# 23 "include/linux/sem.h"
+struct semid_ds {
+ struct ipc_perm sem_perm;
+ __kernel_time_t sem_otime;
+ __kernel_time_t sem_ctime;
+ struct sem *sem_base;
+ struct sem_queue *sem_pending;
+ struct sem_queue **sem_pending_last;
+ struct sem_undo *undo;
+ unsigned short sem_nsems;
+};
+
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/sembuf.h" 1
+# 21 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/sembuf.h"
+struct semid64_ds {
+ struct ipc64_perm sem_perm;
+
+ unsigned long __unused1;
+
+ __kernel_time_t sem_otime;
+
+ unsigned long __unused2;
+
+ __kernel_time_t sem_ctime;
+ unsigned long sem_nsems;
+ unsigned long __unused3;
+ unsigned long __unused4;
+};
+# 36 "include/linux/sem.h" 2
+
+
+struct sembuf {
+ unsigned short sem_num;
+ short sem_op;
+ short sem_flg;
+};
+
+
+union semun {
+ int val;
+ struct semid_ds *buf;
+ unsigned short *array;
+ struct seminfo *__buf;
+ void *__pad;
+};
+
+struct seminfo {
+ int semmap;
+ int semmni;
+ int semmns;
+ int semmnu;
+ int semmsl;
+ int semopm;
+ int semume;
+ int semusz;
+ int semvmx;
+ int semaem;
+};
+# 81 "include/linux/sem.h"
+# 1 "include/linux/rcupdate.h" 1
+# 43 "include/linux/rcupdate.h"
+# 1 "include/linux/debugobjects.h" 1
+
+
+
+
+
+
+enum debug_obj_state {
+ ODEBUG_STATE_NONE,
+ ODEBUG_STATE_INIT,
+ ODEBUG_STATE_INACTIVE,
+ ODEBUG_STATE_ACTIVE,
+ ODEBUG_STATE_DESTROYED,
+ ODEBUG_STATE_NOTAVAILABLE,
+ ODEBUG_STATE_MAX,
+};
+
+struct debug_obj_descr;
+# 27 "include/linux/debugobjects.h"
+struct debug_obj {
+ struct hlist_node node;
+ enum debug_obj_state state;
+ unsigned int astate;
+ void *object;
+ struct debug_obj_descr *descr;
+};
+# 50 "include/linux/debugobjects.h"
+struct debug_obj_descr {
+ const char *name;
+ void *(*debug_hint) (void *addr);
+ int (*fixup_init) (void *addr, enum debug_obj_state state);
+ int (*fixup_activate) (void *addr, enum debug_obj_state state);
+ int (*fixup_destroy) (void *addr, enum debug_obj_state state);
+ int (*fixup_free) (void *addr, enum debug_obj_state state);
+};
+# 80 "include/linux/debugobjects.h"
+static inline __attribute__((always_inline)) void
+debug_object_init (void *addr, struct debug_obj_descr *descr) { }
+static inline __attribute__((always_inline)) void
+debug_object_init_on_stack(void *addr, struct debug_obj_descr *descr) { }
+static inline __attribute__((always_inline)) void
+debug_object_activate (void *addr, struct debug_obj_descr *descr) { }
+static inline __attribute__((always_inline)) void
+debug_object_deactivate(void *addr, struct debug_obj_descr *descr) { }
+static inline __attribute__((always_inline)) void
+debug_object_destroy (void *addr, struct debug_obj_descr *descr) { }
+static inline __attribute__((always_inline)) void
+debug_object_free (void *addr, struct debug_obj_descr *descr) { }
+
+static inline __attribute__((always_inline)) void debug_objects_early_init(void) { }
+static inline __attribute__((always_inline)) void debug_objects_mem_init(void) { }
+
+
+
+
+
+static inline __attribute__((always_inline)) void
+debug_check_no_obj_freed(const void *address, unsigned long size) { }
+# 44 "include/linux/rcupdate.h" 2
+# 60 "include/linux/rcupdate.h"
+struct rcu_head {
+ struct rcu_head *next;
+ void (*func)(struct rcu_head *head);
+};
+
+
+extern void call_rcu_sched(struct rcu_head *head,
+      void (*func)(struct rcu_head *rcu));
+extern void synchronize_sched(void);
+extern void rcu_barrier_bh(void);
+extern void rcu_barrier_sched(void);
+extern int sched_expedited_torture_stats(char *page);
+
+static inline __attribute__((always_inline)) void __rcu_read_lock_bh(void)
+{
+ local_bh_disable();
+}
+
+static inline __attribute__((always_inline)) void __rcu_read_unlock_bh(void)
+{
+ local_bh_enable();
+}
+# 99 "include/linux/rcupdate.h"
+static inline __attribute__((always_inline)) void __rcu_read_lock(void)
+{
+ do { } while (0);
+}
+
+static inline __attribute__((always_inline)) void __rcu_read_unlock(void)
+{
+ do { } while (0);
+}
+
+static inline __attribute__((always_inline)) void synchronize_rcu(void)
+{
+ synchronize_sched();
+}
+
+static inline __attribute__((always_inline)) int rcu_preempt_depth(void)
+{
+ return 0;
+}
+
+
+
+
+extern void rcu_sched_qs(int cpu);
+extern void rcu_bh_qs(int cpu);
+extern void rcu_check_callbacks(int cpu, int user);
+struct notifier_block;
+# 134 "include/linux/rcupdate.h"
+static inline __attribute__((always_inline)) void rcu_enter_nohz(void)
+{
+}
+
+static inline __attribute__((always_inline)) void rcu_exit_nohz(void)
+{
+}
+
+
+
+
+
+
+# 1 "include/linux/rcutiny.h" 1
+# 30 "include/linux/rcutiny.h"
+static inline __attribute__((always_inline)) void rcu_init(void)
+{
+}
+
+
+
+static inline __attribute__((always_inline)) void synchronize_rcu_expedited(void)
+{
+ synchronize_sched();
+}
+
+static inline __attribute__((always_inline)) void rcu_barrier(void)
+{
+ rcu_barrier_sched();
+}
+# 53 "include/linux/rcutiny.h"
+static inline __attribute__((always_inline)) void synchronize_rcu_bh(void)
+{
+ synchronize_sched();
+}
+
+static inline __attribute__((always_inline)) void synchronize_rcu_bh_expedited(void)
+{
+ synchronize_sched();
+}
+
+static inline __attribute__((always_inline)) void synchronize_sched_expedited(void)
+{
+ synchronize_sched();
+}
+
+
+
+static inline __attribute__((always_inline)) void rcu_preempt_note_context_switch(void)
+{
+}
+
+static inline __attribute__((always_inline)) void exit_rcu(void)
+{
+}
+
+static inline __attribute__((always_inline)) int rcu_needs_cpu(int cpu)
+{
+ return 0;
+}
+# 96 "include/linux/rcutiny.h"
+static inline __attribute__((always_inline)) void rcu_note_context_switch(int cpu)
+{
+ rcu_sched_qs(cpu);
+ rcu_preempt_note_context_switch();
+}
+
+
+
+
+static inline __attribute__((always_inline)) long rcu_batches_completed(void)
+{
+ return 0;
+}
+
+
+
+
+static inline __attribute__((always_inline)) long rcu_batches_completed_bh(void)
+{
+ return 0;
+}
+
+static inline __attribute__((always_inline)) void rcu_force_quiescent_state(void)
+{
+}
+
+static inline __attribute__((always_inline)) void rcu_bh_force_quiescent_state(void)
+{
+}
+
+static inline __attribute__((always_inline)) void rcu_sched_force_quiescent_state(void)
+{
+}
+
+static inline __attribute__((always_inline)) void rcu_cpu_stall_reset(void)
+{
+}
+
+
+
+
+
+static inline __attribute__((always_inline)) void rcu_scheduler_starting(void)
+{
+}
+# 148 "include/linux/rcupdate.h" 2
+# 162 "include/linux/rcupdate.h"
+static inline __attribute__((always_inline)) void init_rcu_head_on_stack(struct rcu_head *head)
+{
+}
+
+static inline __attribute__((always_inline)) void destroy_rcu_head_on_stack(struct rcu_head *head)
+{
+}
+# 258 "include/linux/rcupdate.h"
+static inline __attribute__((always_inline)) int rcu_read_lock_held(void)
+{
+ return 1;
+}
+
+static inline __attribute__((always_inline)) int rcu_read_lock_bh_held(void)
+{
+ return 1;
+}
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) int rcu_read_lock_sched_held(void)
+{
+ return 1;
+}
+# 579 "include/linux/rcupdate.h"
+static inline __attribute__((always_inline)) void rcu_read_lock(void)
+{
+ __rcu_read_lock();
+ (void)0;
+ do { } while (0);
+}
+# 601 "include/linux/rcupdate.h"
+static inline __attribute__((always_inline)) void rcu_read_unlock(void)
+{
+ do { } while (0);
+ (void)0;
+ __rcu_read_unlock();
+}
+# 620 "include/linux/rcupdate.h"
+static inline __attribute__((always_inline)) void rcu_read_lock_bh(void)
+{
+ __rcu_read_lock_bh();
+ (void)0;
+ do { } while (0);
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) void rcu_read_unlock_bh(void)
+{
+ do { } while (0);
+ (void)0;
+ __rcu_read_unlock_bh();
+}
+# 647 "include/linux/rcupdate.h"
+static inline __attribute__((always_inline)) void rcu_read_lock_sched(void)
+{
+ do { } while (0);
+ (void)0;
+ do { } while (0);
+}
+
+
+static inline __attribute__((always_inline)) __attribute__((no_instrument_function)) void rcu_read_lock_sched_notrace(void)
+{
+ do { } while (0);
+ (void)0;
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) void rcu_read_unlock_sched(void)
+{
+ do { } while (0);
+ (void)0;
+ do { } while (0);
+}
+
+
+static inline __attribute__((always_inline)) __attribute__((no_instrument_function)) void rcu_read_unlock_sched_notrace(void)
+{
+ (void)0;
+ do { } while (0);
+}
+# 710 "include/linux/rcupdate.h"
+struct rcu_synchronize {
+ struct rcu_head head;
+ struct completion completion;
+};
+
+extern void wakeme_after_rcu(struct rcu_head *head);
+# 760 "include/linux/rcupdate.h"
+extern void call_rcu_bh(struct rcu_head *head,
+   void (*func)(struct rcu_head *head));
+# 791 "include/linux/rcupdate.h"
+static inline __attribute__((always_inline)) void debug_rcu_head_queue(struct rcu_head *head)
+{
+}
+
+static inline __attribute__((always_inline)) void debug_rcu_head_unqueue(struct rcu_head *head)
+{
+}
+# 82 "include/linux/sem.h" 2
+
+
+struct task_struct;
+
+
+struct sem {
+ int semval;
+ int sempid;
+ struct list_head sem_pending;
+};
+
+
+struct sem_array {
+ struct kern_ipc_perm
+    sem_perm;
+ time_t sem_otime;
+ time_t sem_ctime;
+ struct sem *sem_base;
+ struct list_head sem_pending;
+ struct list_head list_id;
+ int sem_nsems;
+ int complex_count;
+};
+
+
+struct sem_queue {
+ struct list_head simple_list;
+ struct list_head list;
+ struct task_struct *sleeper;
+ struct sem_undo *undo;
+ int pid;
+ int status;
+ struct sembuf *sops;
+ int nsops;
+ int alter;
+};
+
+
+
+
+struct sem_undo {
+ struct list_head list_proc;
+
+ struct rcu_head rcu;
+ struct sem_undo_list *ulp;
+ struct list_head list_id;
+ int semid;
+ short * semadj;
+};
+
+
+
+
+struct sem_undo_list {
+ atomic_t refcnt;
+ spinlock_t lock;
+ struct list_head list_proc;
+};
+
+struct sysv_sem {
+ struct sem_undo_list *undo_list;
+};
+
+
+
+extern int copy_semundo(unsigned long clone_flags, struct task_struct *tsk);
+extern void exit_sem(struct task_struct *tsk);
+# 73 "include/linux/sched.h" 2
+# 1 "include/linux/signal.h" 1
+
+
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/signal.h" 1
+# 14 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/signal.h"
+typedef unsigned long old_sigset_t;
+
+typedef struct {
+ unsigned long sig[(64 / 32)];
+} sigset_t;
+# 97 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/signal.h"
+# 1 "include/asm-generic/signal-defs.h" 1
+# 17 "include/asm-generic/signal-defs.h"
+typedef void __signalfn_t(int);
+typedef __signalfn_t *__sighandler_t;
+
+typedef void __restorefn_t(void);
+typedef __restorefn_t *__sigrestore_t;
+# 98 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/signal.h" 2
+
+struct old_sigaction {
+ __sighandler_t sa_handler;
+ old_sigset_t sa_mask;
+ unsigned long sa_flags;
+ __sigrestore_t sa_restorer;
+};
+
+struct sigaction {
+ __sighandler_t sa_handler;
+ unsigned long sa_flags;
+ __sigrestore_t sa_restorer;
+ sigset_t sa_mask;
+};
+
+struct k_sigaction {
+ struct sigaction sa;
+};
+
+typedef struct sigaltstack {
+ void *ss_sp;
+ int ss_flags;
+ size_t ss_size;
+} stack_t;
+
+
+struct pt_regs;
+# 137 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/signal.h"
+struct sig_dbg_op {
+ int dbg_type;
+ unsigned long dbg_value;
+};
+# 5 "include/linux/signal.h" 2
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/siginfo.h" 1
+# 16 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/siginfo.h"
+# 1 "include/asm-generic/siginfo.h" 1
+
+
+
+
+
+
+typedef union sigval {
+ int sival_int;
+ void *sival_ptr;
+} sigval_t;
+# 40 "include/asm-generic/siginfo.h"
+typedef struct siginfo {
+ int si_signo;
+ int si_errno;
+ int si_code;
+
+ union {
+  int _pad[((128 - (3 * sizeof(int))) / sizeof(int))];
+
+
+  struct {
+   __kernel_pid_t _pid;
+   __kernel_uid32_t _uid;
+  } _kill;
+
+
+  struct {
+   __kernel_timer_t _tid;
+   int _overrun;
+   char _pad[sizeof( __kernel_uid32_t) - sizeof(int)];
+   sigval_t _sigval;
+   int _sys_private;
+  } _timer;
+
+
+  struct {
+   __kernel_pid_t _pid;
+   __kernel_uid32_t _uid;
+   sigval_t _sigval;
+  } _rt;
+
+
+  struct {
+   __kernel_pid_t _pid;
+   __kernel_uid32_t _uid;
+   int _status;
+   __kernel_clock_t _utime;
+   __kernel_clock_t _stime;
+  } _sigchld;
+
+
+  struct {
+   void *_addr;
+
+
+
+   short _addr_lsb;
+  } _sigfault;
+
+
+  struct {
+   long _band;
+   int _fd;
+  } _sigpoll;
+ } _sifields;
+} siginfo_t;
+# 259 "include/asm-generic/siginfo.h"
+typedef struct sigevent {
+ sigval_t sigev_value;
+ int sigev_signo;
+ int sigev_notify;
+ union {
+  int _pad[((64 - (sizeof(int) * 2 + sizeof(sigval_t))) / sizeof(int))];
+   int _tid;
+
+  struct {
+   void (*_function)(sigval_t);
+   void *_attribute;
+  } _sigev_thread;
+ } _sigev_un;
+} sigevent_t;
+
+
+
+
+
+
+
+struct siginfo;
+void do_schedule_next_timer(struct siginfo *info);
+
+
+
+
+
+static inline __attribute__((always_inline)) void copy_siginfo(struct siginfo *to, struct siginfo *from)
+{
+ if (from->si_code < 0)
+  memcpy(to, from, sizeof(*to));
+ else
+
+  memcpy(to, from, (3 * sizeof(int)) + sizeof(from->_sifields._sigchld));
+}
+
+
+
+extern int copy_siginfo_to_user(struct siginfo *to, struct siginfo *from);
+# 17 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/siginfo.h" 2
+# 6 "include/linux/signal.h" 2
+
+
+
+
+
+extern int print_fatal_signals;
+
+
+
+
+struct sigqueue {
+ struct list_head list;
+ int flags;
+ siginfo_t info;
+ struct user_struct *user;
+};
+
+
+
+
+struct sigpending {
+ struct list_head list;
+ sigset_t signal;
+};
+# 40 "include/linux/signal.h"
+static inline __attribute__((always_inline)) void sigaddset(sigset_t *set, int _sig)
+{
+ unsigned long sig = _sig - 1;
+ if ((64 / 32) == 1)
+  set->sig[0] |= 1UL << sig;
+ else
+  set->sig[sig / 32] |= 1UL << (sig % 32);
+}
+
+static inline __attribute__((always_inline)) void sigdelset(sigset_t *set, int _sig)
+{
+ unsigned long sig = _sig - 1;
+ if ((64 / 32) == 1)
+  set->sig[0] &= ~(1UL << sig);
+ else
+  set->sig[sig / 32] &= ~(1UL << (sig % 32));
+}
+
+static inline __attribute__((always_inline)) int sigismember(sigset_t *set, int _sig)
+{
+ unsigned long sig = _sig - 1;
+ if ((64 / 32) == 1)
+  return 1 & (set->sig[0] >> sig);
+ else
+  return 1 & (set->sig[sig / 32] >> (sig % 32));
+}
+
+static inline __attribute__((always_inline)) int sigfindinword(unsigned long word)
+{
+ return ffz(~word);
+}
+
+
+
+static inline __attribute__((always_inline)) int sigisemptyset(sigset_t *set)
+{
+ extern void _NSIG_WORDS_is_unsupported_size(void);
+ switch ((64 / 32)) {
+ case 4:
+  return (set->sig[3] | set->sig[2] |
+   set->sig[1] | set->sig[0]) == 0;
+ case 2:
+  return (set->sig[1] | set->sig[0]) == 0;
+ case 1:
+  return set->sig[0] == 0;
+ default:
+  _NSIG_WORDS_is_unsupported_size();
+  return 0;
+ }
+}
+# 121 "include/linux/signal.h"
+static inline __attribute__((always_inline)) void sigorsets(sigset_t *r, const sigset_t *a, const sigset_t *b) { extern void _NSIG_WORDS_is_unsupported_size(void); unsigned long a0, a1, a2, a3, b0, b1, b2, b3; switch ((64 / 32)) { case 4: a3 = a->sig[3]; a2 = a->sig[2]; b3 = b->sig[3]; b2 = b->sig[2]; r->sig[3] = ((a3) | (b3)); r->sig[2] = ((a2) | (b2)); case 2: a1 = a->sig[1]; b1 = b->sig[1]; r->sig[1] = ((a1) | (b1)); case 1: a0 = a->sig[0]; b0 = b->sig[0]; r->sig[0] = ((a0) | (b0)); break; default: _NSIG_WORDS_is_unsupported_size(); } }
+
+
+static inline __attribute__((always_inline)) void sigandsets(sigset_t *r, const sigset_t *a, const sigset_t *b) { extern void _NSIG_WORDS_is_unsupported_size(void); unsigned long a0, a1, a2, a3, b0, b1, b2, b3; switch ((64 / 32)) { case 4: a3 = a->sig[3]; a2 = a->sig[2]; b3 = b->sig[3]; b2 = b->sig[2]; r->sig[3] = ((a3) & (b3)); r->sig[2] = ((a2) & (b2)); case 2: a1 = a->sig[1]; b1 = b->sig[1]; r->sig[1] = ((a1) & (b1)); case 1: a0 = a->sig[0]; b0 = b->sig[0]; r->sig[0] = ((a0) & (b0)); break; default: _NSIG_WORDS_is_unsupported_size(); } }
+
+
+static inline __attribute__((always_inline)) void signandsets(sigset_t *r, const sigset_t *a, const sigset_t *b) { extern void _NSIG_WORDS_is_unsupported_size(void); unsigned long a0, a1, a2, a3, b0, b1, b2, b3; switch ((64 / 32)) { case 4: a3 = a->sig[3]; a2 = a->sig[2]; b3 = b->sig[3]; b2 = b->sig[2]; r->sig[3] = ((a3) & ~(b3)); r->sig[2] = ((a2) & ~(b2)); case 2: a1 = a->sig[1]; b1 = b->sig[1]; r->sig[1] = ((a1) & ~(b1)); case 1: a0 = a->sig[0]; b0 = b->sig[0]; r->sig[0] = ((a0) & ~(b0)); break; default: _NSIG_WORDS_is_unsupported_size(); } }
+# 151 "include/linux/signal.h"
+static inline __attribute__((always_inline)) void signotset(sigset_t *set) { extern void _NSIG_WORDS_is_unsupported_size(void); switch ((64 / 32)) { case 4: set->sig[3] = (~(set->sig[3])); set->sig[2] = (~(set->sig[2])); case 2: set->sig[1] = (~(set->sig[1])); case 1: set->sig[0] = (~(set->sig[0])); break; default: _NSIG_WORDS_is_unsupported_size(); } }
+
+
+
+
+static inline __attribute__((always_inline)) void sigemptyset(sigset_t *set)
+{
+ switch ((64 / 32)) {
+ default:
+  memset(set, 0, sizeof(sigset_t));
+  break;
+ case 2: set->sig[1] = 0;
+ case 1: set->sig[0] = 0;
+  break;
+ }
+}
+
+static inline __attribute__((always_inline)) void sigfillset(sigset_t *set)
+{
+ switch ((64 / 32)) {
+ default:
+  memset(set, -1, sizeof(sigset_t));
+  break;
+ case 2: set->sig[1] = -1;
+ case 1: set->sig[0] = -1;
+  break;
+ }
+}
+
+
+
+static inline __attribute__((always_inline)) void sigaddsetmask(sigset_t *set, unsigned long mask)
+{
+ set->sig[0] |= mask;
+}
+
+static inline __attribute__((always_inline)) void sigdelsetmask(sigset_t *set, unsigned long mask)
+{
+ set->sig[0] &= ~mask;
+}
+
+static inline __attribute__((always_inline)) int sigtestsetmask(sigset_t *set, unsigned long mask)
+{
+ return (set->sig[0] & mask) != 0;
+}
+
+static inline __attribute__((always_inline)) void siginitset(sigset_t *set, unsigned long mask)
+{
+ set->sig[0] = mask;
+ switch ((64 / 32)) {
+ default:
+  memset(&set->sig[1], 0, sizeof(long)*((64 / 32)-1));
+  break;
+ case 2: set->sig[1] = 0;
+ case 1: ;
+ }
+}
+
+static inline __attribute__((always_inline)) void siginitsetinv(sigset_t *set, unsigned long mask)
+{
+ set->sig[0] = ~mask;
+ switch ((64 / 32)) {
+ default:
+  memset(&set->sig[1], -1, sizeof(long)*((64 / 32)-1));
+  break;
+ case 2: set->sig[1] = -1;
+ case 1: ;
+ }
+}
+
+
+
+static inline __attribute__((always_inline)) void init_sigpending(struct sigpending *sig)
+{
+ sigemptyset(&sig->signal);
+ INIT_LIST_HEAD(&sig->list);
+}
+
+extern void flush_sigqueue(struct sigpending *queue);
+
+
+static inline __attribute__((always_inline)) int valid_signal(unsigned long sig)
+{
+ return sig <= 64 ? 1 : 0;
+}
+
+extern int next_signal(struct sigpending *pending, sigset_t *mask);
+extern int do_send_sig_info(int sig, struct siginfo *info,
+    struct task_struct *p, bool group);
+extern int group_send_sig_info(int sig, struct siginfo *info, struct task_struct *p);
+extern int __group_send_sig_info(int, struct siginfo *, struct task_struct *);
+extern long do_rt_tgsigqueueinfo(pid_t tgid, pid_t pid, int sig,
+     siginfo_t *info);
+extern long do_sigpending(void *, unsigned long);
+extern int sigprocmask(int, sigset_t *, sigset_t *);
+extern int show_unhandled_signals;
+
+struct pt_regs;
+extern int get_signal_to_deliver(siginfo_t *info, struct k_sigaction *return_ka, struct pt_regs *regs, void *cookie);
+extern void exit_signals(struct task_struct *tsk);
+
+extern struct kmem_cache *sighand_cachep;
+
+int unhandled_signal(struct task_struct *tsk, int sig);
+# 379 "include/linux/signal.h"
+void signals_init(void);
+# 74 "include/linux/sched.h" 2
+
+
+# 1 "include/linux/pid.h" 1
+
+
+
+
+
+enum pid_type
+{
+ PIDTYPE_PID,
+ PIDTYPE_PGID,
+ PIDTYPE_SID,
+ PIDTYPE_MAX
+};
+# 50 "include/linux/pid.h"
+struct upid {
+
+ int nr;
+ struct pid_namespace *ns;
+ struct hlist_node pid_chain;
+};
+
+struct pid
+{
+ atomic_t count;
+ unsigned int level;
+
+ struct hlist_head tasks[PIDTYPE_MAX];
+ struct rcu_head rcu;
+ struct upid numbers[1];
+};
+
+extern struct pid init_struct_pid;
+
+struct pid_link
+{
+ struct hlist_node node;
+ struct pid *pid;
+};
+
+static inline __attribute__((always_inline)) struct pid *get_pid(struct pid *pid)
+{
+ if (pid)
+  atomic_inc(&pid->count);
+ return pid;
+}
+
+extern void put_pid(struct pid *pid);
+extern struct task_struct *pid_task(struct pid *pid, enum pid_type);
+extern struct task_struct *get_pid_task(struct pid *pid, enum pid_type);
+
+extern struct pid *get_task_pid(struct task_struct *task, enum pid_type type);
+
+
+
+
+
+extern void attach_pid(struct task_struct *task, enum pid_type type,
+   struct pid *pid);
+extern void detach_pid(struct task_struct *task, enum pid_type);
+extern void change_pid(struct task_struct *task, enum pid_type,
+   struct pid *pid);
+extern void transfer_pid(struct task_struct *old, struct task_struct *new,
+    enum pid_type);
+
+struct pid_namespace;
+extern struct pid_namespace init_pid_ns;
+# 112 "include/linux/pid.h"
+extern struct pid *find_pid_ns(int nr, struct pid_namespace *ns);
+extern struct pid *find_vpid(int nr);
+
+
+
+
+extern struct pid *find_get_pid(int nr);
+extern struct pid *find_ge_pid(int nr, struct pid_namespace *);
+int next_pidmap(struct pid_namespace *pid_ns, unsigned int last);
+
+extern struct pid *alloc_pid(struct pid_namespace *ns);
+extern void free_pid(struct pid *pid);
+# 135 "include/linux/pid.h"
+static inline __attribute__((always_inline)) struct pid_namespace *ns_of_pid(struct pid *pid)
+{
+ struct pid_namespace *ns = ((void *)0);
+ if (pid)
+  ns = pid->numbers[pid->level].ns;
+ return ns;
+}
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) bool is_child_reaper(struct pid *pid)
+{
+ return pid->numbers[pid->level].nr == 1;
+}
+# 165 "include/linux/pid.h"
+static inline __attribute__((always_inline)) pid_t pid_nr(struct pid *pid)
+{
+ pid_t nr = 0;
+ if (pid)
+  nr = pid->numbers[0].nr;
+ return nr;
+}
+
+pid_t pid_nr_ns(struct pid *pid, struct pid_namespace *ns);
+pid_t pid_vnr(struct pid *pid);
+# 77 "include/linux/sched.h" 2
+# 1 "include/linux/percpu.h" 1
+
+
+
+
+
+
+# 1 "include/linux/pfn.h" 1
+# 8 "include/linux/percpu.h" 2
+
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/percpu.h" 1
+# 19 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/percpu.h"
+# 1 "include/asm-generic/percpu.h" 1
+
+
+
+
+
+# 1 "include/linux/percpu-defs.h" 1
+# 7 "include/asm-generic/percpu.h" 2
+# 20 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/percpu.h" 2
+# 11 "include/linux/percpu.h" 2
+# 81 "include/linux/percpu.h"
+extern void *pcpu_base_addr;
+extern const unsigned long *pcpu_unit_offsets;
+
+struct pcpu_group_info {
+ int nr_units;
+ unsigned long base_offset;
+ unsigned int *cpu_map;
+
+};
+
+struct pcpu_alloc_info {
+ size_t static_size;
+ size_t reserved_size;
+ size_t dyn_size;
+ size_t unit_size;
+ size_t atom_size;
+ size_t alloc_size;
+ size_t __ai_size;
+ int nr_groups;
+ struct pcpu_group_info groups[];
+};
+
+enum pcpu_fc {
+ PCPU_FC_AUTO,
+ PCPU_FC_EMBED,
+ PCPU_FC_PAGE,
+
+ PCPU_FC_NR,
+};
+extern const char *pcpu_fc_names[PCPU_FC_NR];
+
+extern enum pcpu_fc pcpu_chosen_fc;
+
+typedef void * (*pcpu_fc_alloc_fn_t)(unsigned int cpu, size_t size,
+         size_t align);
+typedef void (*pcpu_fc_free_fn_t)(void *ptr, size_t size);
+typedef void (*pcpu_fc_populate_pte_fn_t)(unsigned long addr);
+typedef int (pcpu_fc_cpu_distance_fn_t)(unsigned int from, unsigned int to);
+
+extern struct pcpu_alloc_info * __attribute__ ((__section__(".init.text"))) __attribute__((__cold__)) __attribute__((no_instrument_function)) pcpu_alloc_alloc_info(int nr_groups,
+            int nr_units);
+extern void __attribute__ ((__section__(".init.text"))) __attribute__((__cold__)) __attribute__((no_instrument_function)) pcpu_free_alloc_info(struct pcpu_alloc_info *ai);
+
+extern int __attribute__ ((__section__(".init.text"))) __attribute__((__cold__)) __attribute__((no_instrument_function)) pcpu_setup_first_chunk(const struct pcpu_alloc_info *ai,
+      void *base_addr);
+# 153 "include/linux/percpu.h"
+extern void *__alloc_reserved_percpu(size_t size, size_t align);
+extern bool is_kernel_percpu_address(unsigned long addr);
+
+
+extern void __attribute__ ((__section__(".init.text"))) __attribute__((__cold__)) __attribute__((no_instrument_function)) setup_per_cpu_areas(void);
+
+extern void __attribute__ ((__section__(".init.text"))) __attribute__((__cold__)) __attribute__((no_instrument_function)) percpu_init_late(void);
+
+extern void *__alloc_percpu(size_t size, size_t align);
+extern void free_percpu(void *__pdata);
+extern phys_addr_t per_cpu_ptr_to_phys(void *addr);
+# 227 "include/linux/percpu.h"
+extern void __bad_size_call_parameter(void);
+# 78 "include/linux/sched.h" 2
+# 1 "include/linux/topology.h" 1
+# 32 "include/linux/topology.h"
+# 1 "include/linux/mmzone.h" 1
+# 17 "include/linux/mmzone.h"
+# 1 "include/linux/pageblock-flags.h" 1
+# 29 "include/linux/pageblock-flags.h"
+enum pageblock_bits {
+ PB_migrate,
+ PB_migrate_end = PB_migrate + 3 - 1,
+
+ NR_PAGEBLOCK_BITS
+};
+# 60 "include/linux/pageblock-flags.h"
+struct page;
+
+
+unsigned long get_pageblock_flags_group(struct page *page,
+     int start_bitidx, int end_bitidx);
+void set_pageblock_flags_group(struct page *page, unsigned long flags,
+     int start_bitidx, int end_bitidx);
+# 18 "include/linux/mmzone.h" 2
+# 1 "include/generated/bounds.h" 1
+# 19 "include/linux/mmzone.h" 2
+# 50 "include/linux/mmzone.h"
+extern int page_group_by_mobility_disabled;
+
+static inline __attribute__((always_inline)) int get_pageblock_migratetype(struct page *page)
+{
+ return get_pageblock_flags_group(page, PB_migrate, PB_migrate_end);
+}
+
+struct free_area {
+ struct list_head free_list[5];
+ unsigned long nr_free;
+};
+
+struct pglist_data;
+# 79 "include/linux/mmzone.h"
+enum zone_stat_item {
+
+ NR_FREE_PAGES,
+ NR_LRU_BASE,
+ NR_INACTIVE_ANON = NR_LRU_BASE,
+ NR_ACTIVE_ANON,
+ NR_INACTIVE_FILE,
+ NR_ACTIVE_FILE,
+ NR_UNEVICTABLE,
+ NR_MLOCK,
+ NR_ANON_PAGES,
+ NR_FILE_MAPPED,
+
+ NR_FILE_PAGES,
+ NR_FILE_DIRTY,
+ NR_WRITEBACK,
+ NR_SLAB_RECLAIMABLE,
+ NR_SLAB_UNRECLAIMABLE,
+ NR_PAGETABLE,
+ NR_KERNEL_STACK,
+
+ NR_UNSTABLE_NFS,
+ NR_BOUNCE,
+ NR_VMSCAN_WRITE,
+ NR_WRITEBACK_TEMP,
+ NR_ISOLATED_ANON,
+ NR_ISOLATED_FILE,
+ NR_SHMEM,
+ NR_DIRTIED,
+ NR_WRITTEN,
+# 117 "include/linux/mmzone.h"
+ NR_ANON_TRANSPARENT_HUGEPAGES,
+ NR_VM_ZONE_STAT_ITEMS };
+# 133 "include/linux/mmzone.h"
+enum lru_list {
+ LRU_INACTIVE_ANON = 0,
+ LRU_ACTIVE_ANON = 0 + 1,
+ LRU_INACTIVE_FILE = 0 + 2,
+ LRU_ACTIVE_FILE = 0 + 2 + 1,
+ LRU_UNEVICTABLE,
+ NR_LRU_LISTS
+};
+
+
+
+
+
+static inline __attribute__((always_inline)) int is_file_lru(enum lru_list l)
+{
+ return (l == LRU_INACTIVE_FILE || l == LRU_ACTIVE_FILE);
+}
+
+static inline __attribute__((always_inline)) int is_active_lru(enum lru_list l)
+{
+ return (l == LRU_ACTIVE_ANON || l == LRU_ACTIVE_FILE);
+}
+
+static inline __attribute__((always_inline)) int is_unevictable_lru(enum lru_list l)
+{
+ return (l == LRU_UNEVICTABLE);
+}
+
+enum zone_watermarks {
+ WMARK_MIN,
+ WMARK_LOW,
+ WMARK_HIGH,
+ NR_WMARK
+};
+
+
+
+
+
+struct per_cpu_pages {
+ int count;
+ int high;
+ int batch;
+
+
+ struct list_head lists[3];
+};
+
+struct per_cpu_pageset {
+ struct per_cpu_pages pcp;
+
+
+
+
+
+
+
+};
+
+
+
+enum zone_type {
+# 214 "include/linux/mmzone.h"
+ ZONE_DMA,
+# 229 "include/linux/mmzone.h"
+ ZONE_NORMAL,
+# 241 "include/linux/mmzone.h"
+ ZONE_MOVABLE,
+ __MAX_NR_ZONES
+};
+# 265 "include/linux/mmzone.h"
+struct zone_reclaim_stat {
+# 274 "include/linux/mmzone.h"
+ unsigned long recent_rotated[2];
+ unsigned long recent_scanned[2];
+
+
+
+
+ unsigned long nr_saved_scan[NR_LRU_LISTS];
+};
+
+struct zone {
+
+
+
+ unsigned long watermark[NR_WMARK];
+
+
+
+
+
+
+ unsigned long percpu_drift_mark;
+# 304 "include/linux/mmzone.h"
+ unsigned long lowmem_reserve[3];
+# 314 "include/linux/mmzone.h"
+ struct per_cpu_pageset *pageset;
+
+
+
+ spinlock_t lock;
+ int all_unreclaimable;
+
+
+
+
+ struct free_area free_area[11];
+
+
+
+
+
+
+ unsigned long *pageblock_flags;
+# 344 "include/linux/mmzone.h"
+
+
+
+ spinlock_t lru_lock;
+ struct zone_lru {
+  struct list_head list;
+ } lru[NR_LRU_LISTS];
+
+ struct zone_reclaim_stat reclaim_stat;
+
+ unsigned long pages_scanned;
+ unsigned long flags;
+
+
+ atomic_long_t vm_stat[NR_VM_ZONE_STAT_ITEMS];
+
+
+
+
+
+ unsigned int inactive_ratio;
+
+
+
+# 394 "include/linux/mmzone.h"
+ wait_queue_head_t * wait_table;
+ unsigned long wait_table_hash_nr_entries;
+ unsigned long wait_table_bits;
+
+
+
+
+ struct pglist_data *zone_pgdat;
+
+ unsigned long zone_start_pfn;
+# 415 "include/linux/mmzone.h"
+ unsigned long spanned_pages;
+ unsigned long present_pages;
+
+
+
+
+ const char *name;
+} ;
+
+typedef enum {
+ ZONE_RECLAIM_LOCKED,
+ ZONE_OOM_LOCKED,
+ ZONE_CONGESTED,
+
+
+} zone_flags_t;
+
+static inline __attribute__((always_inline)) void zone_set_flag(struct zone *zone, zone_flags_t flag)
+{
+ set_bit(flag, &zone->flags);
+}
+
+static inline __attribute__((always_inline)) int zone_test_and_set_flag(struct zone *zone, zone_flags_t flag)
+{
+ return test_and_set_bit(flag, &zone->flags);
+}
+
+static inline __attribute__((always_inline)) void zone_clear_flag(struct zone *zone, zone_flags_t flag)
+{
+ clear_bit(flag, &zone->flags);
+}
+
+static inline __attribute__((always_inline)) int zone_is_reclaim_congested(const struct zone *zone)
+{
+ return test_bit(ZONE_CONGESTED, &zone->flags);
+}
+
+static inline __attribute__((always_inline)) int zone_is_reclaim_locked(const struct zone *zone)
+{
+ return test_bit(ZONE_RECLAIM_LOCKED, &zone->flags);
+}
+
+static inline __attribute__((always_inline)) int zone_is_oom_locked(const struct zone *zone)
+{
+ return test_bit(ZONE_OOM_LOCKED, &zone->flags);
+}
+# 550 "include/linux/mmzone.h"
+struct zonelist_cache;
+
+
+
+
+
+
+struct zoneref {
+ struct zone *zone;
+ int zone_idx;
+};
+# 579 "include/linux/mmzone.h"
+struct zonelist {
+ struct zonelist_cache *zlcache_ptr;
+ struct zoneref _zonerefs[((1 << 0) * 3) + 1];
+
+
+
+};
+
+
+struct node_active_region {
+ unsigned long start_pfn;
+ unsigned long end_pfn;
+ int nid;
+};
+
+
+
+
+extern struct page *mem_map;
+# 611 "include/linux/mmzone.h"
+struct bootmem_data;
+typedef struct pglist_data {
+ struct zone node_zones[3];
+ struct zonelist node_zonelists[1];
+ int nr_zones;
+
+ struct page *node_mem_map;
+
+
+
+
+
+ struct bootmem_data *bdata;
+# 635 "include/linux/mmzone.h"
+ unsigned long node_start_pfn;
+ unsigned long node_present_pages;
+ unsigned long node_spanned_pages;
+
+ int node_id;
+ wait_queue_head_t kswapd_wait;
+ struct task_struct *kswapd;
+ int kswapd_max_order;
+ enum zone_type classzone_idx;
+} pg_data_t;
+# 655 "include/linux/mmzone.h"
+# 1 "include/linux/memory_hotplug.h" 1
+
+
+
+# 1 "include/linux/mmzone.h" 1
+# 5 "include/linux/memory_hotplug.h" 2
+
+# 1 "include/linux/notifier.h" 1
+# 13 "include/linux/notifier.h"
+# 1 "include/linux/mutex.h" 1
+# 48 "include/linux/mutex.h"
+struct mutex {
+
+ atomic_t count;
+ spinlock_t wait_lock;
+ struct list_head wait_list;
+# 63 "include/linux/mutex.h"
+};
+
+
+
+
+
+struct mutex_waiter {
+ struct list_head list;
+ struct task_struct *task;
+
+
+
+};
+# 115 "include/linux/mutex.h"
+extern void __mutex_init(struct mutex *lock, const char *name,
+    struct lock_class_key *key);
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) int mutex_is_locked(struct mutex *lock)
+{
+ return atomic_read(&lock->count) != 1;
+}
+# 144 "include/linux/mutex.h"
+extern void mutex_lock(struct mutex *lock);
+extern int mutex_lock_interruptible(struct mutex *lock);
+extern int mutex_lock_killable(struct mutex *lock);
+# 159 "include/linux/mutex.h"
+extern int mutex_trylock(struct mutex *lock);
+extern void mutex_unlock(struct mutex *lock);
+extern int atomic_dec_and_mutex_lock(atomic_t *cnt, struct mutex *lock);
+# 14 "include/linux/notifier.h" 2
+
+# 1 "include/linux/srcu.h" 1
+# 32 "include/linux/srcu.h"
+struct srcu_struct_array {
+ int c[2];
+};
+
+struct srcu_struct {
+ int completed;
+ struct srcu_struct_array *per_cpu_ref;
+ struct mutex mutex;
+
+
+
+};
+# 70 "include/linux/srcu.h"
+int init_srcu_struct(struct srcu_struct *sp);
+
+
+
+
+
+
+void cleanup_srcu_struct(struct srcu_struct *sp);
+int __srcu_read_lock(struct srcu_struct *sp) ;
+void __srcu_read_unlock(struct srcu_struct *sp, int idx) ;
+void synchronize_srcu(struct srcu_struct *sp);
+void synchronize_srcu_expedited(struct srcu_struct *sp);
+long srcu_batches_completed(struct srcu_struct *sp);
+# 103 "include/linux/srcu.h"
+static inline __attribute__((always_inline)) int srcu_read_lock_held(struct srcu_struct *sp)
+{
+ return 1;
+}
+# 149 "include/linux/srcu.h"
+static inline __attribute__((always_inline)) int srcu_read_lock(struct srcu_struct *sp)
+{
+ int retval = __srcu_read_lock(sp);
+
+ do { } while (0);
+ return retval;
+}
+# 164 "include/linux/srcu.h"
+static inline __attribute__((always_inline)) void srcu_read_unlock(struct srcu_struct *sp, int idx)
+
+{
+ do { } while (0);
+ __srcu_read_unlock(sp, idx);
+}
+# 16 "include/linux/notifier.h" 2
+# 50 "include/linux/notifier.h"
+struct notifier_block {
+ int (*notifier_call)(struct notifier_block *, unsigned long, void *);
+ struct notifier_block *next;
+ int priority;
+};
+
+struct atomic_notifier_head {
+ spinlock_t lock;
+ struct notifier_block *head;
+};
+
+struct blocking_notifier_head {
+ struct rw_semaphore rwsem;
+ struct notifier_block *head;
+};
+
+struct raw_notifier_head {
+ struct notifier_block *head;
+};
+
+struct srcu_notifier_head {
+ struct mutex mutex;
+ struct srcu_struct srcu;
+ struct notifier_block *head;
+};
+# 89 "include/linux/notifier.h"
+extern void srcu_init_notifier_head(struct srcu_notifier_head *nh);
+# 115 "include/linux/notifier.h"
+extern int atomic_notifier_chain_register(struct atomic_notifier_head *nh,
+  struct notifier_block *nb);
+extern int blocking_notifier_chain_register(struct blocking_notifier_head *nh,
+  struct notifier_block *nb);
+extern int raw_notifier_chain_register(struct raw_notifier_head *nh,
+  struct notifier_block *nb);
+extern int srcu_notifier_chain_register(struct srcu_notifier_head *nh,
+  struct notifier_block *nb);
+
+extern int blocking_notifier_chain_cond_register(
+  struct blocking_notifier_head *nh,
+  struct notifier_block *nb);
+
+extern int atomic_notifier_chain_unregister(struct atomic_notifier_head *nh,
+  struct notifier_block *nb);
+extern int blocking_notifier_chain_unregister(struct blocking_notifier_head *nh,
+  struct notifier_block *nb);
+extern int raw_notifier_chain_unregister(struct raw_notifier_head *nh,
+  struct notifier_block *nb);
+extern int srcu_notifier_chain_unregister(struct srcu_notifier_head *nh,
+  struct notifier_block *nb);
+
+extern int atomic_notifier_call_chain(struct atomic_notifier_head *nh,
+  unsigned long val, void *v);
+extern int __atomic_notifier_call_chain(struct atomic_notifier_head *nh,
+ unsigned long val, void *v, int nr_to_call, int *nr_calls);
+extern int blocking_notifier_call_chain(struct blocking_notifier_head *nh,
+  unsigned long val, void *v);
+extern int __blocking_notifier_call_chain(struct blocking_notifier_head *nh,
+ unsigned long val, void *v, int nr_to_call, int *nr_calls);
+extern int raw_notifier_call_chain(struct raw_notifier_head *nh,
+  unsigned long val, void *v);
+extern int __raw_notifier_call_chain(struct raw_notifier_head *nh,
+ unsigned long val, void *v, int nr_to_call, int *nr_calls);
+extern int srcu_notifier_call_chain(struct srcu_notifier_head *nh,
+  unsigned long val, void *v);
+extern int __srcu_notifier_call_chain(struct srcu_notifier_head *nh,
+ unsigned long val, void *v, int nr_to_call, int *nr_calls);
+# 165 "include/linux/notifier.h"
+static inline __attribute__((always_inline)) int notifier_from_errno(int err)
+{
+ if (err)
+  return 0x8000 | (0x0001 - err);
+
+ return 0x0001;
+}
+
+
+static inline __attribute__((always_inline)) int notifier_to_errno(int ret)
+{
+ ret &= ~0x8000;
+ return ret > 0x0001 ? 0x0001 - ret : 0;
+}
+# 271 "include/linux/notifier.h"
+extern struct blocking_notifier_head reboot_notifier_list;
+# 7 "include/linux/memory_hotplug.h" 2
+
+struct page;
+struct zone;
+struct pglist_data;
+struct mem_section;
+# 181 "include/linux/memory_hotplug.h"
+static inline __attribute__((always_inline)) void pgdat_resize_lock(struct pglist_data *p, unsigned long *f) {}
+static inline __attribute__((always_inline)) void pgdat_resize_unlock(struct pglist_data *p, unsigned long *f) {}
+static inline __attribute__((always_inline)) void pgdat_resize_init(struct pglist_data *pgdat) {}
+
+static inline __attribute__((always_inline)) unsigned zone_span_seqbegin(struct zone *zone)
+{
+ return 0;
+}
+static inline __attribute__((always_inline)) int zone_span_seqretry(struct zone *zone, unsigned iv)
+{
+ return 0;
+}
+static inline __attribute__((always_inline)) void zone_span_writelock(struct zone *zone) {}
+static inline __attribute__((always_inline)) void zone_span_writeunlock(struct zone *zone) {}
+static inline __attribute__((always_inline)) void zone_seqlock_init(struct zone *zone) {}
+
+static inline __attribute__((always_inline)) int mhp_notimplemented(const char *func)
+{
+ printk("<4>" "%s() called, with CONFIG_MEMORY_HOTPLUG disabled\n", func);
+ dump_stack();
+ return -38;
+}
+
+static inline __attribute__((always_inline)) void register_page_bootmem_info_node(struct pglist_data *pgdat)
+{
+}
+
+static inline __attribute__((always_inline)) void lock_memory_hotplug(void) {}
+static inline __attribute__((always_inline)) void unlock_memory_hotplug(void) {}
+# 218 "include/linux/memory_hotplug.h"
+static inline __attribute__((always_inline)) int is_mem_section_removable(unsigned long pfn,
+     unsigned long nr_pages)
+{
+ return 0;
+}
+
+
+extern int mem_online_node(int nid);
+extern int add_memory(int nid, u64 start, u64 size);
+extern int arch_add_memory(int nid, u64 start, u64 size);
+extern int remove_memory(u64 start, u64 size);
+extern int sparse_add_one_section(struct zone *zone, unsigned long start_pfn,
+        int nr_pages);
+extern void sparse_remove_one_section(struct zone *zone, struct mem_section *ms);
+extern struct page *sparse_decode_mem_map(unsigned long coded_mem_map,
+       unsigned long pnum);
+# 656 "include/linux/mmzone.h" 2
+
+extern struct mutex zonelists_mutex;
+void build_all_zonelists(void *data);
+void wakeup_kswapd(struct zone *zone, int order, enum zone_type classzone_idx);
+bool zone_watermark_ok(struct zone *z, int order, unsigned long mark,
+  int classzone_idx, int alloc_flags);
+bool zone_watermark_ok_safe(struct zone *z, int order, unsigned long mark,
+  int classzone_idx, int alloc_flags);
+enum memmap_context {
+ MEMMAP_EARLY,
+ MEMMAP_HOTPLUG,
+};
+extern int init_currently_empty_zone(struct zone *zone, unsigned long start_pfn,
+         unsigned long size,
+         enum memmap_context context);
+
+
+
+
+static inline __attribute__((always_inline)) void memory_present(int nid, unsigned long start, unsigned long end) {}
+
+
+
+
+
+static inline __attribute__((always_inline)) int local_memory_node(int node_id) { return node_id; };
+# 693 "include/linux/mmzone.h"
+static inline __attribute__((always_inline)) int populated_zone(struct zone *zone)
+{
+ return (!!zone->present_pages);
+}
+
+extern int movable_zone;
+
+static inline __attribute__((always_inline)) int zone_movable_is_highmem(void)
+{
+
+
+
+ return 0;
+
+}
+
+static inline __attribute__((always_inline)) int is_highmem_idx(enum zone_type idx)
+{
+
+
+
+
+ return 0;
+
+}
+
+static inline __attribute__((always_inline)) int is_normal_idx(enum zone_type idx)
+{
+ return (idx == ZONE_NORMAL);
+}
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) int is_highmem(struct zone *zone)
+{
+
+
+
+
+
+
+ return 0;
+
+}
+
+static inline __attribute__((always_inline)) int is_normal(struct zone *zone)
+{
+ return zone == zone->zone_pgdat->node_zones + ZONE_NORMAL;
+}
+
+static inline __attribute__((always_inline)) int is_dma32(struct zone *zone)
+{
+
+
+
+ return 0;
+
+}
+
+static inline __attribute__((always_inline)) int is_dma(struct zone *zone)
+{
+
+ return zone == zone->zone_pgdat->node_zones + ZONE_DMA;
+
+
+
+}
+
+
+struct ctl_table;
+int min_free_kbytes_sysctl_handler(struct ctl_table *, int,
+     void *, size_t *, loff_t *);
+extern int sysctl_lowmem_reserve_ratio[3 -1];
+int lowmem_reserve_ratio_sysctl_handler(struct ctl_table *, int,
+     void *, size_t *, loff_t *);
+int percpu_pagelist_fraction_sysctl_handler(struct ctl_table *, int,
+     void *, size_t *, loff_t *);
+int sysctl_min_unmapped_ratio_sysctl_handler(struct ctl_table *, int,
+   void *, size_t *, loff_t *);
+int sysctl_min_slab_ratio_sysctl_handler(struct ctl_table *, int,
+   void *, size_t *, loff_t *);
+
+extern int numa_zonelist_order_handler(struct ctl_table *, int,
+   void *, size_t *, loff_t *);
+extern char numa_zonelist_order[];
+
+
+
+
+extern struct pglist_data contig_page_data;
+# 796 "include/linux/mmzone.h"
+extern struct pglist_data *first_online_pgdat(void);
+extern struct pglist_data *next_online_pgdat(struct pglist_data *pgdat);
+extern struct zone *next_zone(struct zone *zone);
+# 828 "include/linux/mmzone.h"
+static inline __attribute__((always_inline)) struct zone *zonelist_zone(struct zoneref *zoneref)
+{
+ return zoneref->zone;
+}
+
+static inline __attribute__((always_inline)) int zonelist_zone_idx(struct zoneref *zoneref)
+{
+ return zoneref->zone_idx;
+}
+
+static inline __attribute__((always_inline)) int zonelist_node_idx(struct zoneref *zoneref)
+{
+
+
+
+
+ return 0;
+
+}
+# 861 "include/linux/mmzone.h"
+struct zoneref *next_zones_zonelist(struct zoneref *z,
+     enum zone_type highest_zoneidx,
+     nodemask_t *nodes,
+     struct zone **zone);
+# 878 "include/linux/mmzone.h"
+static inline __attribute__((always_inline)) struct zoneref *first_zones_zonelist(struct zonelist *zonelist,
+     enum zone_type highest_zoneidx,
+     nodemask_t *nodes,
+     struct zone **zone)
+{
+ return next_zones_zonelist(zonelist->_zonerefs, highest_zoneidx, nodes,
+        zone);
+}
+# 1102 "include/linux/mmzone.h"
+void memory_present(int nid, unsigned long start, unsigned long end);
+unsigned long __attribute__ ((__section__(".init.text"))) __attribute__((__cold__)) __attribute__((no_instrument_function)) node_memmap_size_bytes(int, unsigned long, unsigned long);
+# 1136 "include/linux/mmzone.h"
+static inline __attribute__((always_inline)) int memmap_valid_within(unsigned long pfn,
+     struct page *page, struct zone *zone)
+{
+ return 1;
+}
+# 33 "include/linux/topology.h" 2
+
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/topology.h" 1
+
+
+
+
+
+struct sys_device;
+struct device_node;
+# 98 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/topology.h"
+static inline __attribute__((always_inline)) void dump_numa_cpu_topology(void) {}
+
+static inline __attribute__((always_inline)) int sysfs_add_device_to_node(struct sys_device *dev, int nid)
+{
+ return 0;
+}
+
+static inline __attribute__((always_inline)) void sysfs_remove_device_from_node(struct sys_device *dev,
+      int nid)
+{
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) int start_topology_update(void)
+{
+ return 0;
+}
+static inline __attribute__((always_inline)) int stop_topology_update(void)
+{
+ return 0;
+}
+
+
+# 1 "include/asm-generic/topology.h" 1
+# 126 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/topology.h" 2
+# 36 "include/linux/topology.h" 2
+# 49 "include/linux/topology.h"
+int arch_update_cpu_topology(void);
+# 253 "include/linux/topology.h"
+static inline __attribute__((always_inline)) int numa_node_id(void)
+{
+ return ((void)(0),0);
+}
+# 303 "include/linux/topology.h"
+static inline __attribute__((always_inline)) int numa_mem_id(void)
+{
+ return numa_node_id();
+}
+# 79 "include/linux/sched.h" 2
+# 1 "include/linux/proportions.h" 1
+# 12 "include/linux/proportions.h"
+# 1 "include/linux/percpu_counter.h" 1
+# 88 "include/linux/percpu_counter.h"
+struct percpu_counter {
+ s64 count;
+};
+
+static inline __attribute__((always_inline)) int percpu_counter_init(struct percpu_counter *fbc, s64 amount)
+{
+ fbc->count = amount;
+ return 0;
+}
+
+static inline __attribute__((always_inline)) void percpu_counter_destroy(struct percpu_counter *fbc)
+{
+}
+
+static inline __attribute__((always_inline)) void percpu_counter_set(struct percpu_counter *fbc, s64 amount)
+{
+ fbc->count = amount;
+}
+
+static inline __attribute__((always_inline)) int percpu_counter_compare(struct percpu_counter *fbc, s64 rhs)
+{
+ if (fbc->count > rhs)
+  return 1;
+ else if (fbc->count < rhs)
+  return -1;
+ else
+  return 0;
+}
+
+static inline __attribute__((always_inline)) void
+percpu_counter_add(struct percpu_counter *fbc, s64 amount)
+{
+ do { } while (0);
+ fbc->count += amount;
+ do { } while (0);
+}
+
+static inline __attribute__((always_inline)) void
+__percpu_counter_add(struct percpu_counter *fbc, s64 amount, s32 batch)
+{
+ percpu_counter_add(fbc, amount);
+}
+
+static inline __attribute__((always_inline)) s64 percpu_counter_read(struct percpu_counter *fbc)
+{
+ return fbc->count;
+}
+
+static inline __attribute__((always_inline)) s64 percpu_counter_read_positive(struct percpu_counter *fbc)
+{
+ return fbc->count;
+}
+
+static inline __attribute__((always_inline)) s64 percpu_counter_sum_positive(struct percpu_counter *fbc)
+{
+ return percpu_counter_read_positive(fbc);
+}
+
+static inline __attribute__((always_inline)) s64 percpu_counter_sum(struct percpu_counter *fbc)
+{
+ return percpu_counter_read(fbc);
+}
+
+static inline __attribute__((always_inline)) int percpu_counter_initialized(struct percpu_counter *fbc)
+{
+ return 1;
+}
+
+
+
+static inline __attribute__((always_inline)) void percpu_counter_inc(struct percpu_counter *fbc)
+{
+ percpu_counter_add(fbc, 1);
+}
+
+static inline __attribute__((always_inline)) void percpu_counter_dec(struct percpu_counter *fbc)
+{
+ percpu_counter_add(fbc, -1);
+}
+
+static inline __attribute__((always_inline)) void percpu_counter_sub(struct percpu_counter *fbc, s64 amount)
+{
+ percpu_counter_add(fbc, -amount);
+}
+# 13 "include/linux/proportions.h" 2
+
+
+
+struct prop_global {
+
+
+
+
+
+ int shift;
+
+
+
+
+
+
+ struct percpu_counter events;
+};
+
+
+
+
+
+
+struct prop_descriptor {
+ int index;
+ struct prop_global pg[2];
+ struct mutex mutex;
+};
+
+int prop_descriptor_init(struct prop_descriptor *pd, int shift);
+void prop_change_shift(struct prop_descriptor *pd, int new_shift);
+
+
+
+
+
+struct prop_local_percpu {
+
+
+
+ struct percpu_counter events;
+
+
+
+
+ int shift;
+ unsigned long period;
+ spinlock_t lock;
+};
+
+int prop_local_init_percpu(struct prop_local_percpu *pl);
+void prop_local_destroy_percpu(struct prop_local_percpu *pl);
+void __prop_inc_percpu(struct prop_descriptor *pd, struct prop_local_percpu *pl);
+void prop_fraction_percpu(struct prop_descriptor *pd, struct prop_local_percpu *pl,
+  long *numerator, long *denominator);
+
+static inline __attribute__((always_inline))
+void prop_inc_percpu(struct prop_descriptor *pd, struct prop_local_percpu *pl)
+{
+ unsigned long flags;
+
+ do { do { ({ unsigned long __dummy; typeof(flags) __dummy2; (void)(&__dummy == &__dummy2); 1; }); flags = arch_local_irq_save(); } while (0); do { } while (0); } while (0);
+ __prop_inc_percpu(pd, pl);
+ do { if (({ ({ unsigned long __dummy; typeof(flags) __dummy2; (void)(&__dummy == &__dummy2); 1; }); arch_irqs_disabled_flags(flags); })) { do { ({ unsigned long __dummy; typeof(flags) __dummy2; (void)(&__dummy == &__dummy2); 1; }); arch_local_irq_restore(flags); } while (0); do { } while (0); } else { do { } while (0); do { ({ unsigned long __dummy; typeof(flags) __dummy2; (void)(&__dummy == &__dummy2); 1; }); arch_local_irq_restore(flags); } while (0); } } while (0);
+}
+# 89 "include/linux/proportions.h"
+void __prop_inc_percpu_max(struct prop_descriptor *pd,
+      struct prop_local_percpu *pl, long frac);
+
+
+
+
+
+
+struct prop_local_single {
+
+
+
+ unsigned long events;
+
+
+
+
+
+ unsigned long period;
+ int shift;
+ spinlock_t lock;
+};
+
+
+
+
+
+int prop_local_init_single(struct prop_local_single *pl);
+void prop_local_destroy_single(struct prop_local_single *pl);
+void __prop_inc_single(struct prop_descriptor *pd, struct prop_local_single *pl);
+void prop_fraction_single(struct prop_descriptor *pd, struct prop_local_single *pl,
+  long *numerator, long *denominator);
+
+static inline __attribute__((always_inline))
+void prop_inc_single(struct prop_descriptor *pd, struct prop_local_single *pl)
+{
+ unsigned long flags;
+
+ do { do { ({ unsigned long __dummy; typeof(flags) __dummy2; (void)(&__dummy == &__dummy2); 1; }); flags = arch_local_irq_save(); } while (0); do { } while (0); } while (0);
+ __prop_inc_single(pd, pl);
+ do { if (({ ({ unsigned long __dummy; typeof(flags) __dummy2; (void)(&__dummy == &__dummy2); 1; }); arch_irqs_disabled_flags(flags); })) { do { ({ unsigned long __dummy; typeof(flags) __dummy2; (void)(&__dummy == &__dummy2); 1; }); arch_local_irq_restore(flags); } while (0); do { } while (0); } else { do { } while (0); do { ({ unsigned long __dummy; typeof(flags) __dummy2; (void)(&__dummy == &__dummy2); 1; }); arch_local_irq_restore(flags); } while (0); } } while (0);
+}
+# 80 "include/linux/sched.h" 2
+# 1 "include/linux/seccomp.h" 1
+# 26 "include/linux/seccomp.h"
+typedef struct { } seccomp_t;
+
+
+
+static inline __attribute__((always_inline)) long prctl_get_seccomp(void)
+{
+ return -22;
+}
+
+static inline __attribute__((always_inline)) long prctl_set_seccomp(unsigned long arg2)
+{
+ return -22;
+}
+# 81 "include/linux/sched.h" 2
+
+# 1 "include/linux/rculist.h" 1
+# 33 "include/linux/rculist.h"
+static inline __attribute__((always_inline)) void __list_add_rcu(struct list_head *new,
+  struct list_head *prev, struct list_head *next)
+{
+ new->next = next;
+ new->prev = prev;
+ ({ if (!__builtin_constant_p((new)) || (((new)) != ((void *)0))) __asm__ __volatile__("": : :"memory"); (((*((struct list_head **)(&(prev)->next))))) = (typeof(*(new)) *)((new)); });
+ next->prev = new;
+}
+# 58 "include/linux/rculist.h"
+static inline __attribute__((always_inline)) void list_add_rcu(struct list_head *new, struct list_head *head)
+{
+ __list_add_rcu(new, head, head->next);
+}
+# 79 "include/linux/rculist.h"
+static inline __attribute__((always_inline)) void list_add_tail_rcu(struct list_head *new,
+     struct list_head *head)
+{
+ __list_add_rcu(new, head->prev, head);
+}
+# 109 "include/linux/rculist.h"
+static inline __attribute__((always_inline)) void list_del_rcu(struct list_head *entry)
+{
+ __list_del(entry->prev, entry->next);
+ entry->prev = ((void *) 0x00200200 + 0);
+}
+# 135 "include/linux/rculist.h"
+static inline __attribute__((always_inline)) void hlist_del_init_rcu(struct hlist_node *n)
+{
+ if (!hlist_unhashed(n)) {
+  __hlist_del(n);
+  n->pprev = ((void *)0);
+ }
+}
+# 151 "include/linux/rculist.h"
+static inline __attribute__((always_inline)) void list_replace_rcu(struct list_head *old,
+    struct list_head *new)
+{
+ new->next = old->next;
+ new->prev = old->prev;
+ ({ if (!__builtin_constant_p((new)) || (((new)) != ((void *)0))) __asm__ __volatile__("": : :"memory"); (((*((struct list_head **)(&(new->prev)->next))))) = (typeof(*(new)) *)((new)); });
+ new->next->prev = new;
+ old->prev = ((void *) 0x00200200 + 0);
+}
+# 178 "include/linux/rculist.h"
+static inline __attribute__((always_inline)) void list_splice_init_rcu(struct list_head *list,
+     struct list_head *head,
+     void (*sync)(void))
+{
+ struct list_head *first = list->next;
+ struct list_head *last = list->prev;
+ struct list_head *at = head->next;
+
+ if (list_empty(head))
+  return;
+
+
+
+ INIT_LIST_HEAD(list);
+# 200 "include/linux/rculist.h"
+ sync();
+# 210 "include/linux/rculist.h"
+ last->next = at;
+ ({ if (!__builtin_constant_p((first)) || (((first)) != ((void *)0))) __asm__ __volatile__("": : :"memory"); (((*((struct list_head **)(&(head)->next))))) = (typeof(*(first)) *)((first)); });
+ first->prev = head;
+ at->prev = last;
+}
+# 309 "include/linux/rculist.h"
+static inline __attribute__((always_inline)) void hlist_del_rcu(struct hlist_node *n)
+{
+ __hlist_del(n);
+ n->pprev = ((void *) 0x00200200 + 0);
+}
+# 322 "include/linux/rculist.h"
+static inline __attribute__((always_inline)) void hlist_replace_rcu(struct hlist_node *old,
+     struct hlist_node *new)
+{
+ struct hlist_node *next = old->next;
+
+ new->next = next;
+ new->pprev = old->pprev;
+ ({ if (!__builtin_constant_p((new)) || (((new)) != ((void *)0))) __asm__ __volatile__("": : :"memory"); ((*(struct hlist_node **)new->pprev)) = (typeof(*(new)) *)((new)); });
+ if (next)
+  new->next->pprev = &new->next;
+ old->pprev = ((void *) 0x00200200 + 0);
+}
+# 361 "include/linux/rculist.h"
+static inline __attribute__((always_inline)) void hlist_add_head_rcu(struct hlist_node *n,
+     struct hlist_head *h)
+{
+ struct hlist_node *first = h->first;
+
+ n->next = first;
+ n->pprev = &h->first;
+ ({ if (!__builtin_constant_p((n)) || (((n)) != ((void *)0))) __asm__ __volatile__("": : :"memory"); (((*((struct hlist_node **)(&(h)->first))))) = (typeof(*(n)) *)((n)); });
+ if (first)
+  first->pprev = &n->next;
+}
+# 391 "include/linux/rculist.h"
+static inline __attribute__((always_inline)) void hlist_add_before_rcu(struct hlist_node *n,
+     struct hlist_node *next)
+{
+ n->pprev = next->pprev;
+ n->next = next;
+ ({ if (!__builtin_constant_p((n)) || (((n)) != ((void *)0))) __asm__ __volatile__("": : :"memory"); (((*((struct hlist_node **)((n)->pprev))))) = (typeof(*(n)) *)((n)); });
+ next->pprev = &n->next;
+}
+# 418 "include/linux/rculist.h"
+static inline __attribute__((always_inline)) void hlist_add_after_rcu(struct hlist_node *prev,
+           struct hlist_node *n)
+{
+ n->next = prev->next;
+ n->pprev = &prev->next;
+ ({ if (!__builtin_constant_p((n)) || (((n)) != ((void *)0))) __asm__ __volatile__("": : :"memory"); (((*((struct hlist_node **)(&(prev)->next))))) = (typeof(*(n)) *)((n)); });
+ if (n->next)
+  n->next->pprev = &n->next;
+}
+# 83 "include/linux/sched.h" 2
+# 1 "include/linux/rtmutex.h" 1
+# 16 "include/linux/rtmutex.h"
+# 1 "include/linux/plist.h" 1
+# 82 "include/linux/plist.h"
+struct plist_head {
+ struct list_head node_list;
+
+
+
+
+};
+
+struct plist_node {
+ int prio;
+ struct list_head prio_list;
+ struct list_head node_list;
+};
+# 146 "include/linux/plist.h"
+static inline __attribute__((always_inline)) void
+plist_head_init(struct plist_head *head, spinlock_t *lock)
+{
+ INIT_LIST_HEAD(&head->node_list);
+
+
+
+
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) void
+plist_head_init_raw(struct plist_head *head, raw_spinlock_t *lock)
+{
+ INIT_LIST_HEAD(&head->node_list);
+
+
+
+
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) void plist_node_init(struct plist_node *node, int prio)
+{
+ node->prio = prio;
+ INIT_LIST_HEAD(&node->prio_list);
+ INIT_LIST_HEAD(&node->node_list);
+}
+
+extern void plist_add(struct plist_node *node, struct plist_head *head);
+extern void plist_del(struct plist_node *node, struct plist_head *head);
+# 230 "include/linux/plist.h"
+static inline __attribute__((always_inline)) int plist_head_empty(const struct plist_head *head)
+{
+ return list_empty(&head->node_list);
+}
+
+
+
+
+
+static inline __attribute__((always_inline)) int plist_node_empty(const struct plist_node *node)
+{
+ return list_empty(&node->node_list);
+}
+# 286 "include/linux/plist.h"
+static inline __attribute__((always_inline)) struct plist_node *plist_first(const struct plist_head *head)
+{
+ return ({ const typeof( ((struct plist_node *)0)->node_list ) *__mptr = (head->node_list.next); (struct plist_node *)( (char *)__mptr - __builtin_offsetof(struct plist_node,node_list) );})
+                                  ;
+}
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) struct plist_node *plist_last(const struct plist_head *head)
+{
+ return ({ const typeof( ((struct plist_node *)0)->node_list ) *__mptr = (head->node_list.prev); (struct plist_node *)( (char *)__mptr - __builtin_offsetof(struct plist_node,node_list) );})
+                                  ;
+}
+# 17 "include/linux/rtmutex.h" 2
+
+
+extern int max_lock_depth;
+# 28 "include/linux/rtmutex.h"
+struct rt_mutex {
+ raw_spinlock_t wait_lock;
+ struct plist_head wait_list;
+ struct task_struct *owner;
+
+
+
+
+
+
+};
+
+struct rt_mutex_waiter;
+struct hrtimer_sleeper;
+
+
+
+
+
+
+ static inline __attribute__((always_inline)) int rt_mutex_debug_check_no_locks_freed(const void *from,
+             unsigned long len)
+ {
+ return 0;
+ }
+# 82 "include/linux/rtmutex.h"
+static inline __attribute__((always_inline)) int rt_mutex_is_locked(struct rt_mutex *lock)
+{
+ return lock->owner != ((void *)0);
+}
+
+extern void __rt_mutex_init(struct rt_mutex *lock, const char *name);
+extern void rt_mutex_destroy(struct rt_mutex *lock);
+
+extern void rt_mutex_lock(struct rt_mutex *lock);
+extern int rt_mutex_lock_interruptible(struct rt_mutex *lock,
+      int detect_deadlock);
+extern int rt_mutex_timed_lock(struct rt_mutex *lock,
+     struct hrtimer_sleeper *timeout,
+     int detect_deadlock);
+
+extern int rt_mutex_trylock(struct rt_mutex *lock);
+
+extern void rt_mutex_unlock(struct rt_mutex *lock);
+# 84 "include/linux/sched.h" 2
+
+
+
+# 1 "include/linux/resource.h" 1
+# 23 "include/linux/resource.h"
+struct rusage {
+ struct timeval ru_utime;
+ struct timeval ru_stime;
+ long ru_maxrss;
+ long ru_ixrss;
+ long ru_idrss;
+ long ru_isrss;
+ long ru_minflt;
+ long ru_majflt;
+ long ru_nswap;
+ long ru_inblock;
+ long ru_oublock;
+ long ru_msgsnd;
+ long ru_msgrcv;
+ long ru_nsignals;
+ long ru_nvcsw;
+ long ru_nivcsw;
+};
+
+struct rlimit {
+ unsigned long rlim_cur;
+ unsigned long rlim_max;
+};
+
+
+
+struct rlimit64 {
+ __u64 rlim_cur;
+ __u64 rlim_max;
+};
+# 77 "include/linux/resource.h"
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/resource.h" 1
+# 1 "include/asm-generic/resource.h" 1
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/resource.h" 2
+# 78 "include/linux/resource.h" 2
+
+
+
+struct task_struct;
+
+int getrusage(struct task_struct *p, int who, struct rusage *ru);
+int do_prlimit(struct task_struct *tsk, unsigned int resource,
+  struct rlimit *new_rlim, struct rlimit *old_rlim);
+# 88 "include/linux/sched.h" 2
+# 1 "include/linux/timer.h" 1
+
+
+
+
+# 1 "include/linux/ktime.h" 1
+# 46 "include/linux/ktime.h"
+union ktime {
+ s64 tv64;
+
+ struct {
+
+
+
+ s32 nsec, sec;
+
+ } tv;
+
+};
+
+typedef union ktime ktime_t;
+# 151 "include/linux/ktime.h"
+static inline __attribute__((always_inline)) ktime_t ktime_set(const long secs, const unsigned long nsecs)
+{
+ return (ktime_t) { .tv = { .sec = secs, .nsec = nsecs } };
+}
+# 163 "include/linux/ktime.h"
+static inline __attribute__((always_inline)) ktime_t ktime_sub(const ktime_t lhs, const ktime_t rhs)
+{
+ ktime_t res;
+
+ res.tv64 = lhs.tv64 - rhs.tv64;
+ if (res.tv.nsec < 0)
+  res.tv.nsec += 1000000000L;
+
+ return res;
+}
+# 181 "include/linux/ktime.h"
+static inline __attribute__((always_inline)) ktime_t ktime_add(const ktime_t add1, const ktime_t add2)
+{
+ ktime_t res;
+
+ res.tv64 = add1.tv64 + add2.tv64;
+# 194 "include/linux/ktime.h"
+ if (res.tv.nsec >= 1000000000L)
+  res.tv64 += (u32)-1000000000L;
+
+ return res;
+}
+# 207 "include/linux/ktime.h"
+extern ktime_t ktime_add_ns(const ktime_t kt, u64 nsec);
+# 216 "include/linux/ktime.h"
+extern ktime_t ktime_sub_ns(const ktime_t kt, u64 nsec);
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) ktime_t timespec_to_ktime(const struct timespec ts)
+{
+ return (ktime_t) { .tv = { .sec = (s32)ts.tv_sec,
+          .nsec = (s32)ts.tv_nsec } };
+}
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) ktime_t timeval_to_ktime(const struct timeval tv)
+{
+ return (ktime_t) { .tv = { .sec = (s32)tv.tv_sec,
+       .nsec = (s32)tv.tv_usec * 1000 } };
+}
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) struct timespec ktime_to_timespec(const ktime_t kt)
+{
+ return (struct timespec) { .tv_sec = (time_t) kt.tv.sec,
+       .tv_nsec = (long) kt.tv.nsec };
+}
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) struct timeval ktime_to_timeval(const ktime_t kt)
+{
+ return (struct timeval) {
+  .tv_sec = (time_t) kt.tv.sec,
+  .tv_usec = (suseconds_t) (kt.tv.nsec / 1000L) };
+}
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) s64 ktime_to_ns(const ktime_t kt)
+{
+ return (s64) kt.tv.sec * 1000000000L + kt.tv.nsec;
+}
+# 287 "include/linux/ktime.h"
+static inline __attribute__((always_inline)) int ktime_equal(const ktime_t cmp1, const ktime_t cmp2)
+{
+ return cmp1.tv64 == cmp2.tv64;
+}
+
+static inline __attribute__((always_inline)) s64 ktime_to_us(const ktime_t kt)
+{
+ struct timeval tv = ktime_to_timeval(kt);
+ return (s64) tv.tv_sec * 1000000L + tv.tv_usec;
+}
+
+static inline __attribute__((always_inline)) s64 ktime_to_ms(const ktime_t kt)
+{
+ struct timeval tv = ktime_to_timeval(kt);
+ return (s64) tv.tv_sec * 1000L + tv.tv_usec / 1000L;
+}
+
+static inline __attribute__((always_inline)) s64 ktime_us_delta(const ktime_t later, const ktime_t earlier)
+{
+       return ktime_to_us(ktime_sub(later, earlier));
+}
+
+static inline __attribute__((always_inline)) ktime_t ktime_add_us(const ktime_t kt, const u64 usec)
+{
+ return ktime_add_ns(kt, usec * 1000);
+}
+
+static inline __attribute__((always_inline)) ktime_t ktime_sub_us(const ktime_t kt, const u64 usec)
+{
+ return ktime_sub_ns(kt, usec * 1000);
+}
+
+extern ktime_t ktime_add_safe(const ktime_t lhs, const ktime_t rhs);
+# 331 "include/linux/ktime.h"
+extern void ktime_get_ts(struct timespec *ts);
+
+
+
+
+static inline __attribute__((always_inline)) ktime_t ns_to_ktime(u64 ns)
+{
+ static const ktime_t ktime_zero = { .tv64 = 0 };
+ return ktime_add_ns(ktime_zero, ns);
+}
+# 6 "include/linux/timer.h" 2
+
+
+
+
+struct tvec_base;
+
+struct timer_list {
+
+
+
+
+ struct list_head entry;
+ unsigned long expires;
+ struct tvec_base *base;
+
+ void (*function)(unsigned long);
+ unsigned long data;
+
+ int slack;
+# 34 "include/linux/timer.h"
+};
+
+extern struct tvec_base boot_tvec_bases;
+# 91 "include/linux/timer.h"
+void init_timer_key(struct timer_list *timer,
+      const char *name,
+      struct lock_class_key *key);
+void init_timer_deferrable_key(struct timer_list *timer,
+          const char *name,
+          struct lock_class_key *key);
+# 157 "include/linux/timer.h"
+static inline __attribute__((always_inline)) void destroy_timer_on_stack(struct timer_list *timer) { }
+static inline __attribute__((always_inline)) void init_timer_on_stack_key(struct timer_list *timer,
+        const char *name,
+        struct lock_class_key *key)
+{
+ init_timer_key(timer, name, key);
+}
+
+
+static inline __attribute__((always_inline)) void setup_timer_key(struct timer_list * timer,
+    const char *name,
+    struct lock_class_key *key,
+    void (*function)(unsigned long),
+    unsigned long data)
+{
+ timer->function = function;
+ timer->data = data;
+ init_timer_key(timer, name, key);
+}
+
+static inline __attribute__((always_inline)) void setup_timer_on_stack_key(struct timer_list *timer,
+     const char *name,
+     struct lock_class_key *key,
+     void (*function)(unsigned long),
+     unsigned long data)
+{
+ timer->function = function;
+ timer->data = data;
+ init_timer_on_stack_key(timer, name, key);
+}
+
+extern void setup_deferrable_timer_on_stack_key(struct timer_list *timer,
+      const char *name,
+      struct lock_class_key *key,
+      void (*function)(unsigned long),
+      unsigned long data);
+# 204 "include/linux/timer.h"
+static inline __attribute__((always_inline)) int timer_pending(const struct timer_list * timer)
+{
+ return timer->entry.next != ((void *)0);
+}
+
+extern void add_timer_on(struct timer_list *timer, int cpu);
+extern int del_timer(struct timer_list * timer);
+extern int mod_timer(struct timer_list *timer, unsigned long expires);
+extern int mod_timer_pending(struct timer_list *timer, unsigned long expires);
+extern int mod_timer_pinned(struct timer_list *timer, unsigned long expires);
+
+extern void set_timer_slack(struct timer_list *time, int slack_hz);
+# 230 "include/linux/timer.h"
+extern unsigned long get_next_timer_interrupt(unsigned long now);
+# 262 "include/linux/timer.h"
+static inline __attribute__((always_inline)) void init_timer_stats(void)
+{
+}
+
+static inline __attribute__((always_inline)) void timer_stats_timer_set_start_info(struct timer_list *timer)
+{
+}
+
+static inline __attribute__((always_inline)) void timer_stats_timer_clear_start_info(struct timer_list *timer)
+{
+}
+
+
+extern void add_timer(struct timer_list *timer);
+
+extern int try_to_del_timer_sync(struct timer_list *timer);
+# 287 "include/linux/timer.h"
+extern void init_timers(void);
+extern void run_local_timers(void);
+struct hrtimer;
+extern enum hrtimer_restart it_real_fn(struct hrtimer *);
+
+unsigned long __round_jiffies(unsigned long j, int cpu);
+unsigned long __round_jiffies_relative(unsigned long j, int cpu);
+unsigned long round_jiffies(unsigned long j);
+unsigned long round_jiffies_relative(unsigned long j);
+
+unsigned long __round_jiffies_up(unsigned long j, int cpu);
+unsigned long __round_jiffies_up_relative(unsigned long j, int cpu);
+unsigned long round_jiffies_up(unsigned long j);
+unsigned long round_jiffies_up_relative(unsigned long j);
+# 89 "include/linux/sched.h" 2
+# 1 "include/linux/hrtimer.h" 1
+# 25 "include/linux/hrtimer.h"
+# 1 "include/linux/timerqueue.h" 1
+
+
+
+
+
+
+
+struct timerqueue_node {
+ struct rb_node node;
+ ktime_t expires;
+};
+
+struct timerqueue_head {
+ struct rb_root head;
+ struct timerqueue_node *next;
+};
+
+
+extern void timerqueue_add(struct timerqueue_head *head,
+    struct timerqueue_node *node);
+extern void timerqueue_del(struct timerqueue_head *head,
+    struct timerqueue_node *node);
+extern struct timerqueue_node *timerqueue_iterate_next(
+      struct timerqueue_node *node);
+# 34 "include/linux/timerqueue.h"
+static inline __attribute__((always_inline))
+struct timerqueue_node *timerqueue_getnext(struct timerqueue_head *head)
+{
+ return head->next;
+}
+
+static inline __attribute__((always_inline)) void timerqueue_init(struct timerqueue_node *node)
+{
+ (rb_set_parent(&node->node, &node->node));
+}
+
+static inline __attribute__((always_inline)) void timerqueue_init_head(struct timerqueue_head *head)
+{
+ head->head = (struct rb_root) { ((void *)0), };
+ head->next = ((void *)0);
+}
+# 26 "include/linux/hrtimer.h" 2
+
+struct hrtimer_clock_base;
+struct hrtimer_cpu_base;
+
+
+
+
+enum hrtimer_mode {
+ HRTIMER_MODE_ABS = 0x0,
+ HRTIMER_MODE_REL = 0x1,
+ HRTIMER_MODE_PINNED = 0x02,
+ HRTIMER_MODE_ABS_PINNED = 0x02,
+ HRTIMER_MODE_REL_PINNED = 0x03,
+};
+
+
+
+
+enum hrtimer_restart {
+ HRTIMER_NORESTART,
+ HRTIMER_RESTART,
+};
+# 108 "include/linux/hrtimer.h"
+struct hrtimer {
+ struct timerqueue_node node;
+ ktime_t _softexpires;
+ enum hrtimer_restart (*function)(struct hrtimer *);
+ struct hrtimer_clock_base *base;
+ unsigned long state;
+
+
+
+
+
+};
+# 128 "include/linux/hrtimer.h"
+struct hrtimer_sleeper {
+ struct hrtimer timer;
+ struct task_struct *task;
+};
+# 144 "include/linux/hrtimer.h"
+struct hrtimer_clock_base {
+ struct hrtimer_cpu_base *cpu_base;
+ clockid_t index;
+ struct timerqueue_head active;
+ ktime_t resolution;
+ ktime_t (*get_time)(void);
+ ktime_t softirq_time;
+
+
+
+};
+
+enum hrtimer_base_type {
+ HRTIMER_BASE_REALTIME,
+ HRTIMER_BASE_MONOTONIC,
+ HRTIMER_BASE_BOOTTIME,
+ HRTIMER_MAX_CLOCK_BASES,
+};
+# 177 "include/linux/hrtimer.h"
+struct hrtimer_cpu_base {
+ raw_spinlock_t lock;
+ struct hrtimer_clock_base clock_base[HRTIMER_MAX_CLOCK_BASES];
+# 189 "include/linux/hrtimer.h"
+};
+
+static inline __attribute__((always_inline)) void hrtimer_set_expires(struct hrtimer *timer, ktime_t time)
+{
+ timer->node.expires = time;
+ timer->_softexpires = time;
+}
+
+static inline __attribute__((always_inline)) void hrtimer_set_expires_range(struct hrtimer *timer, ktime_t time, ktime_t delta)
+{
+ timer->_softexpires = time;
+ timer->node.expires = ktime_add_safe(time, delta);
+}
+
+static inline __attribute__((always_inline)) void hrtimer_set_expires_range_ns(struct hrtimer *timer, ktime_t time, unsigned long delta)
+{
+ timer->_softexpires = time;
+ timer->node.expires = ktime_add_safe(time, ns_to_ktime(delta));
+}
+
+static inline __attribute__((always_inline)) void hrtimer_set_expires_tv64(struct hrtimer *timer, s64 tv64)
+{
+ timer->node.expires.tv64 = tv64;
+ timer->_softexpires.tv64 = tv64;
+}
+
+static inline __attribute__((always_inline)) void hrtimer_add_expires(struct hrtimer *timer, ktime_t time)
+{
+ timer->node.expires = ktime_add_safe(timer->node.expires, time);
+ timer->_softexpires = ktime_add_safe(timer->_softexpires, time);
+}
+
+static inline __attribute__((always_inline)) void hrtimer_add_expires_ns(struct hrtimer *timer, u64 ns)
+{
+ timer->node.expires = ktime_add_ns(timer->node.expires, ns);
+ timer->_softexpires = ktime_add_ns(timer->_softexpires, ns);
+}
+
+static inline __attribute__((always_inline)) ktime_t hrtimer_get_expires(const struct hrtimer *timer)
+{
+ return timer->node.expires;
+}
+
+static inline __attribute__((always_inline)) ktime_t hrtimer_get_softexpires(const struct hrtimer *timer)
+{
+ return timer->_softexpires;
+}
+
+static inline __attribute__((always_inline)) s64 hrtimer_get_expires_tv64(const struct hrtimer *timer)
+{
+ return timer->node.expires.tv64;
+}
+static inline __attribute__((always_inline)) s64 hrtimer_get_softexpires_tv64(const struct hrtimer *timer)
+{
+ return timer->_softexpires.tv64;
+}
+
+static inline __attribute__((always_inline)) s64 hrtimer_get_expires_ns(const struct hrtimer *timer)
+{
+ return ktime_to_ns(timer->node.expires);
+}
+
+static inline __attribute__((always_inline)) ktime_t hrtimer_expires_remaining(const struct hrtimer *timer)
+{
+ return ktime_sub(timer->node.expires, timer->base->get_time());
+}
+# 299 "include/linux/hrtimer.h"
+static inline __attribute__((always_inline)) void clock_was_set(void) { }
+static inline __attribute__((always_inline)) void hrtimer_peek_ahead_timers(void) { }
+
+static inline __attribute__((always_inline)) void hres_timers_resume(void) { }
+
+
+
+
+
+static inline __attribute__((always_inline)) ktime_t hrtimer_cb_get_time(struct hrtimer *timer)
+{
+ return timer->base->softirq_time;
+}
+
+static inline __attribute__((always_inline)) int hrtimer_is_hres_active(struct hrtimer *timer)
+{
+ return 0;
+}
+
+
+extern ktime_t ktime_get(void);
+extern ktime_t ktime_get_real(void);
+extern ktime_t ktime_get_boottime(void);
+
+
+extern __attribute__((section(".data" ""))) __typeof__(struct tick_device) tick_cpu_device;
+
+
+
+
+
+extern void hrtimer_init(struct hrtimer *timer, clockid_t which_clock,
+    enum hrtimer_mode mode);
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) void hrtimer_init_on_stack(struct hrtimer *timer,
+      clockid_t which_clock,
+      enum hrtimer_mode mode)
+{
+ hrtimer_init(timer, which_clock, mode);
+}
+static inline __attribute__((always_inline)) void destroy_hrtimer_on_stack(struct hrtimer *timer) { }
+
+
+
+extern int hrtimer_start(struct hrtimer *timer, ktime_t tim,
+    const enum hrtimer_mode mode);
+extern int hrtimer_start_range_ns(struct hrtimer *timer, ktime_t tim,
+   unsigned long range_ns, const enum hrtimer_mode mode);
+extern int
+__hrtimer_start_range_ns(struct hrtimer *timer, ktime_t tim,
+    unsigned long delta_ns,
+    const enum hrtimer_mode mode, int wakeup);
+
+extern int hrtimer_cancel(struct hrtimer *timer);
+extern int hrtimer_try_to_cancel(struct hrtimer *timer);
+
+static inline __attribute__((always_inline)) int hrtimer_start_expires(struct hrtimer *timer,
+      enum hrtimer_mode mode)
+{
+ unsigned long delta;
+ ktime_t soft, hard;
+ soft = hrtimer_get_softexpires(timer);
+ hard = hrtimer_get_expires(timer);
+ delta = ktime_to_ns(ktime_sub(hard, soft));
+ return hrtimer_start_range_ns(timer, soft, delta, mode);
+}
+
+static inline __attribute__((always_inline)) int hrtimer_restart(struct hrtimer *timer)
+{
+ return hrtimer_start_expires(timer, HRTIMER_MODE_ABS);
+}
+
+
+extern ktime_t hrtimer_get_remaining(const struct hrtimer *timer);
+extern int hrtimer_get_res(const clockid_t which_clock, struct timespec *tp);
+
+extern ktime_t hrtimer_get_next_event(void);
+
+
+
+
+
+
+static inline __attribute__((always_inline)) int hrtimer_active(const struct hrtimer *timer)
+{
+ return timer->state != 0x00;
+}
+
+
+
+
+static inline __attribute__((always_inline)) int hrtimer_is_queued(struct hrtimer *timer)
+{
+ return timer->state & 0x01;
+}
+
+
+
+
+
+static inline __attribute__((always_inline)) int hrtimer_callback_running(struct hrtimer *timer)
+{
+ return timer->state & 0x02;
+}
+
+
+extern u64
+hrtimer_forward(struct hrtimer *timer, ktime_t now, ktime_t interval);
+
+
+static inline __attribute__((always_inline)) u64 hrtimer_forward_now(struct hrtimer *timer,
+          ktime_t interval)
+{
+ return hrtimer_forward(timer, timer->base->get_time(), interval);
+}
+
+
+extern long hrtimer_nanosleep(struct timespec *rqtp,
+         struct timespec *rmtp,
+         const enum hrtimer_mode mode,
+         const clockid_t clockid);
+extern long hrtimer_nanosleep_restart(struct restart_block *restart_block);
+
+extern void hrtimer_init_sleeper(struct hrtimer_sleeper *sl,
+     struct task_struct *tsk);
+
+extern int schedule_hrtimeout_range(ktime_t *expires, unsigned long delta,
+      const enum hrtimer_mode mode);
+extern int schedule_hrtimeout_range_clock(ktime_t *expires,
+  unsigned long delta, const enum hrtimer_mode mode, int clock);
+extern int schedule_hrtimeout(ktime_t *expires, const enum hrtimer_mode mode);
+
+
+extern void hrtimer_run_queues(void);
+extern void hrtimer_run_pending(void);
+
+
+extern void __attribute__ ((__section__(".init.text"))) __attribute__((__cold__)) __attribute__((no_instrument_function)) hrtimers_init(void);
+
+
+extern u64 ktime_divns(const ktime_t kt, s64 div);
+
+
+
+
+
+extern void sysrq_timer_list_show(void);
+# 90 "include/linux/sched.h" 2
+# 1 "include/linux/task_io_accounting.h" 1
+# 11 "include/linux/task_io_accounting.h"
+struct task_io_accounting {
+# 45 "include/linux/task_io_accounting.h"
+};
+# 91 "include/linux/sched.h" 2
+# 1 "include/linux/latencytop.h" 1
+# 41 "include/linux/latencytop.h"
+static inline __attribute__((always_inline)) void
+account_scheduler_latency(struct task_struct *task, int usecs, int inter)
+{
+}
+
+static inline __attribute__((always_inline)) void clear_all_latency_tracing(struct task_struct *p)
+{
+}
+# 92 "include/linux/sched.h" 2
+# 1 "include/linux/cred.h" 1
+# 17 "include/linux/cred.h"
+# 1 "include/linux/key.h" 1
+# 22 "include/linux/key.h"
+# 1 "include/linux/sysctl.h" 1
+# 29 "include/linux/sysctl.h"
+struct completion;
+
+
+
+
+
+
+struct __sysctl_args {
+ int *name;
+ int nlen;
+ void *oldval;
+ size_t *oldlenp;
+ void *newval;
+ size_t newlen;
+ unsigned long __unused[4];
+};
+
+
+
+
+
+enum
+{
+ CTL_KERN=1,
+ CTL_VM=2,
+ CTL_NET=3,
+ CTL_PROC=4,
+ CTL_FS=5,
+ CTL_DEBUG=6,
+ CTL_DEV=7,
+ CTL_BUS=8,
+ CTL_ABI=9,
+ CTL_CPU=10,
+ CTL_ARLAN=254,
+ CTL_S390DBF=5677,
+ CTL_SUNRPC=7249,
+ CTL_PM=9899,
+ CTL_FRV=9898,
+};
+
+
+enum
+{
+ CTL_BUS_ISA=1
+};
+
+
+enum
+{
+ INOTIFY_MAX_USER_INSTANCES=1,
+ INOTIFY_MAX_USER_WATCHES=2,
+ INOTIFY_MAX_QUEUED_EVENTS=3
+};
+
+
+enum
+{
+ KERN_OSTYPE=1,
+ KERN_OSRELEASE=2,
+ KERN_OSREV=3,
+ KERN_VERSION=4,
+ KERN_SECUREMASK=5,
+ KERN_PROF=6,
+ KERN_NODENAME=7,
+ KERN_DOMAINNAME=8,
+
+ KERN_PANIC=15,
+ KERN_REALROOTDEV=16,
+
+ KERN_SPARC_REBOOT=21,
+ KERN_CTLALTDEL=22,
+ KERN_PRINTK=23,
+ KERN_NAMETRANS=24,
+ KERN_PPC_HTABRECLAIM=25,
+ KERN_PPC_ZEROPAGED=26,
+ KERN_PPC_POWERSAVE_NAP=27,
+ KERN_MODPROBE=28,
+ KERN_SG_BIG_BUFF=29,
+ KERN_ACCT=30,
+ KERN_PPC_L2CR=31,
+
+ KERN_RTSIGNR=32,
+ KERN_RTSIGMAX=33,
+
+ KERN_SHMMAX=34,
+ KERN_MSGMAX=35,
+ KERN_MSGMNB=36,
+ KERN_MSGPOOL=37,
+ KERN_SYSRQ=38,
+ KERN_MAX_THREADS=39,
+  KERN_RANDOM=40,
+  KERN_SHMALL=41,
+  KERN_MSGMNI=42,
+  KERN_SEM=43,
+  KERN_SPARC_STOP_A=44,
+  KERN_SHMMNI=45,
+ KERN_OVERFLOWUID=46,
+ KERN_OVERFLOWGID=47,
+ KERN_SHMPATH=48,
+ KERN_HOTPLUG=49,
+ KERN_IEEE_EMULATION_WARNINGS=50,
+ KERN_S390_USER_DEBUG_LOGGING=51,
+ KERN_CORE_USES_PID=52,
+ KERN_TAINTED=53,
+ KERN_CADPID=54,
+ KERN_PIDMAX=55,
+   KERN_CORE_PATTERN=56,
+ KERN_PANIC_ON_OOPS=57,
+ KERN_HPPA_PWRSW=58,
+ KERN_HPPA_UNALIGNED=59,
+ KERN_PRINTK_RATELIMIT=60,
+ KERN_PRINTK_RATELIMIT_BURST=61,
+ KERN_PTY=62,
+ KERN_NGROUPS_MAX=63,
+ KERN_SPARC_SCONS_PWROFF=64,
+ KERN_HZ_TIMER=65,
+ KERN_UNKNOWN_NMI_PANIC=66,
+ KERN_BOOTLOADER_TYPE=67,
+ KERN_RANDOMIZE=68,
+ KERN_SETUID_DUMPABLE=69,
+ KERN_SPIN_RETRY=70,
+ KERN_ACPI_VIDEO_FLAGS=71,
+ KERN_IA64_UNALIGNED=72,
+ KERN_COMPAT_LOG=73,
+ KERN_MAX_LOCK_DEPTH=74,
+ KERN_NMI_WATCHDOG=75,
+ KERN_PANIC_ON_NMI=76,
+};
+
+
+
+
+enum
+{
+ VM_UNUSED1=1,
+ VM_UNUSED2=2,
+ VM_UNUSED3=3,
+ VM_UNUSED4=4,
+ VM_OVERCOMMIT_MEMORY=5,
+ VM_UNUSED5=6,
+ VM_UNUSED7=7,
+ VM_UNUSED8=8,
+ VM_UNUSED9=9,
+ VM_PAGE_CLUSTER=10,
+ VM_DIRTY_BACKGROUND=11,
+ VM_DIRTY_RATIO=12,
+ VM_DIRTY_WB_CS=13,
+ VM_DIRTY_EXPIRE_CS=14,
+ VM_NR_PDFLUSH_THREADS=15,
+ VM_OVERCOMMIT_RATIO=16,
+ VM_PAGEBUF=17,
+ VM_HUGETLB_PAGES=18,
+ VM_SWAPPINESS=19,
+ VM_LOWMEM_RESERVE_RATIO=20,
+ VM_MIN_FREE_KBYTES=21,
+ VM_MAX_MAP_COUNT=22,
+ VM_LAPTOP_MODE=23,
+ VM_BLOCK_DUMP=24,
+ VM_HUGETLB_GROUP=25,
+ VM_VFS_CACHE_PRESSURE=26,
+ VM_LEGACY_VA_LAYOUT=27,
+ VM_SWAP_TOKEN_TIMEOUT=28,
+ VM_DROP_PAGECACHE=29,
+ VM_PERCPU_PAGELIST_FRACTION=30,
+ VM_ZONE_RECLAIM_MODE=31,
+ VM_MIN_UNMAPPED=32,
+ VM_PANIC_ON_OOM=33,
+ VM_VDSO_ENABLED=34,
+ VM_MIN_SLAB=35,
+};
+
+
+
+enum
+{
+ NET_CORE=1,
+ NET_ETHER=2,
+ NET_802=3,
+ NET_UNIX=4,
+ NET_IPV4=5,
+ NET_IPX=6,
+ NET_ATALK=7,
+ NET_NETROM=8,
+ NET_AX25=9,
+ NET_BRIDGE=10,
+ NET_ROSE=11,
+ NET_IPV6=12,
+ NET_X25=13,
+ NET_TR=14,
+ NET_DECNET=15,
+ NET_ECONET=16,
+ NET_SCTP=17,
+ NET_LLC=18,
+ NET_NETFILTER=19,
+ NET_DCCP=20,
+ NET_IRDA=412,
+};
+
+
+enum
+{
+ RANDOM_POOLSIZE=1,
+ RANDOM_ENTROPY_COUNT=2,
+ RANDOM_READ_THRESH=3,
+ RANDOM_WRITE_THRESH=4,
+ RANDOM_BOOT_ID=5,
+ RANDOM_UUID=6
+};
+
+
+enum
+{
+ PTY_MAX=1,
+ PTY_NR=2
+};
+
+
+enum
+{
+ BUS_ISA_MEM_BASE=1,
+ BUS_ISA_PORT_BASE=2,
+ BUS_ISA_PORT_SHIFT=3
+};
+
+
+enum
+{
+ NET_CORE_WMEM_MAX=1,
+ NET_CORE_RMEM_MAX=2,
+ NET_CORE_WMEM_DEFAULT=3,
+ NET_CORE_RMEM_DEFAULT=4,
+
+ NET_CORE_MAX_BACKLOG=6,
+ NET_CORE_FASTROUTE=7,
+ NET_CORE_MSG_COST=8,
+ NET_CORE_MSG_BURST=9,
+ NET_CORE_OPTMEM_MAX=10,
+ NET_CORE_HOT_LIST_LENGTH=11,
+ NET_CORE_DIVERT_VERSION=12,
+ NET_CORE_NO_CONG_THRESH=13,
+ NET_CORE_NO_CONG=14,
+ NET_CORE_LO_CONG=15,
+ NET_CORE_MOD_CONG=16,
+ NET_CORE_DEV_WEIGHT=17,
+ NET_CORE_SOMAXCONN=18,
+ NET_CORE_BUDGET=19,
+ NET_CORE_AEVENT_ETIME=20,
+ NET_CORE_AEVENT_RSEQTH=21,
+ NET_CORE_WARNINGS=22,
+};
+
+
+
+
+
+
+
+enum
+{
+ NET_UNIX_DESTROY_DELAY=1,
+ NET_UNIX_DELETE_DELAY=2,
+ NET_UNIX_MAX_DGRAM_QLEN=3,
+};
+
+
+enum
+{
+ NET_NF_CONNTRACK_MAX=1,
+ NET_NF_CONNTRACK_TCP_TIMEOUT_SYN_SENT=2,
+ NET_NF_CONNTRACK_TCP_TIMEOUT_SYN_RECV=3,
+ NET_NF_CONNTRACK_TCP_TIMEOUT_ESTABLISHED=4,
+ NET_NF_CONNTRACK_TCP_TIMEOUT_FIN_WAIT=5,
+ NET_NF_CONNTRACK_TCP_TIMEOUT_CLOSE_WAIT=6,
+ NET_NF_CONNTRACK_TCP_TIMEOUT_LAST_ACK=7,
+ NET_NF_CONNTRACK_TCP_TIMEOUT_TIME_WAIT=8,
+ NET_NF_CONNTRACK_TCP_TIMEOUT_CLOSE=9,
+ NET_NF_CONNTRACK_UDP_TIMEOUT=10,
+ NET_NF_CONNTRACK_UDP_TIMEOUT_STREAM=11,
+ NET_NF_CONNTRACK_ICMP_TIMEOUT=12,
+ NET_NF_CONNTRACK_GENERIC_TIMEOUT=13,
+ NET_NF_CONNTRACK_BUCKETS=14,
+ NET_NF_CONNTRACK_LOG_INVALID=15,
+ NET_NF_CONNTRACK_TCP_TIMEOUT_MAX_RETRANS=16,
+ NET_NF_CONNTRACK_TCP_LOOSE=17,
+ NET_NF_CONNTRACK_TCP_BE_LIBERAL=18,
+ NET_NF_CONNTRACK_TCP_MAX_RETRANS=19,
+ NET_NF_CONNTRACK_SCTP_TIMEOUT_CLOSED=20,
+ NET_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_WAIT=21,
+ NET_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_ECHOED=22,
+ NET_NF_CONNTRACK_SCTP_TIMEOUT_ESTABLISHED=23,
+ NET_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_SENT=24,
+ NET_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_RECD=25,
+ NET_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_ACK_SENT=26,
+ NET_NF_CONNTRACK_COUNT=27,
+ NET_NF_CONNTRACK_ICMPV6_TIMEOUT=28,
+ NET_NF_CONNTRACK_FRAG6_TIMEOUT=29,
+ NET_NF_CONNTRACK_FRAG6_LOW_THRESH=30,
+ NET_NF_CONNTRACK_FRAG6_HIGH_THRESH=31,
+ NET_NF_CONNTRACK_CHECKSUM=32,
+};
+
+
+enum
+{
+
+ NET_IPV4_FORWARD=8,
+ NET_IPV4_DYNADDR=9,
+
+ NET_IPV4_CONF=16,
+ NET_IPV4_NEIGH=17,
+ NET_IPV4_ROUTE=18,
+ NET_IPV4_FIB_HASH=19,
+ NET_IPV4_NETFILTER=20,
+
+ NET_IPV4_TCP_TIMESTAMPS=33,
+ NET_IPV4_TCP_WINDOW_SCALING=34,
+ NET_IPV4_TCP_SACK=35,
+ NET_IPV4_TCP_RETRANS_COLLAPSE=36,
+ NET_IPV4_DEFAULT_TTL=37,
+ NET_IPV4_AUTOCONFIG=38,
+ NET_IPV4_NO_PMTU_DISC=39,
+ NET_IPV4_TCP_SYN_RETRIES=40,
+ NET_IPV4_IPFRAG_HIGH_THRESH=41,
+ NET_IPV4_IPFRAG_LOW_THRESH=42,
+ NET_IPV4_IPFRAG_TIME=43,
+ NET_IPV4_TCP_MAX_KA_PROBES=44,
+ NET_IPV4_TCP_KEEPALIVE_TIME=45,
+ NET_IPV4_TCP_KEEPALIVE_PROBES=46,
+ NET_IPV4_TCP_RETRIES1=47,
+ NET_IPV4_TCP_RETRIES2=48,
+ NET_IPV4_TCP_FIN_TIMEOUT=49,
+ NET_IPV4_IP_MASQ_DEBUG=50,
+ NET_TCP_SYNCOOKIES=51,
+ NET_TCP_STDURG=52,
+ NET_TCP_RFC1337=53,
+ NET_TCP_SYN_TAILDROP=54,
+ NET_TCP_MAX_SYN_BACKLOG=55,
+ NET_IPV4_LOCAL_PORT_RANGE=56,
+ NET_IPV4_ICMP_ECHO_IGNORE_ALL=57,
+ NET_IPV4_ICMP_ECHO_IGNORE_BROADCASTS=58,
+ NET_IPV4_ICMP_SOURCEQUENCH_RATE=59,
+ NET_IPV4_ICMP_DESTUNREACH_RATE=60,
+ NET_IPV4_ICMP_TIMEEXCEED_RATE=61,
+ NET_IPV4_ICMP_PARAMPROB_RATE=62,
+ NET_IPV4_ICMP_ECHOREPLY_RATE=63,
+ NET_IPV4_ICMP_IGNORE_BOGUS_ERROR_RESPONSES=64,
+ NET_IPV4_IGMP_MAX_MEMBERSHIPS=65,
+ NET_TCP_TW_RECYCLE=66,
+ NET_IPV4_ALWAYS_DEFRAG=67,
+ NET_IPV4_TCP_KEEPALIVE_INTVL=68,
+ NET_IPV4_INET_PEER_THRESHOLD=69,
+ NET_IPV4_INET_PEER_MINTTL=70,
+ NET_IPV4_INET_PEER_MAXTTL=71,
+ NET_IPV4_INET_PEER_GC_MINTIME=72,
+ NET_IPV4_INET_PEER_GC_MAXTIME=73,
+ NET_TCP_ORPHAN_RETRIES=74,
+ NET_TCP_ABORT_ON_OVERFLOW=75,
+ NET_TCP_SYNACK_RETRIES=76,
+ NET_TCP_MAX_ORPHANS=77,
+ NET_TCP_MAX_TW_BUCKETS=78,
+ NET_TCP_FACK=79,
+ NET_TCP_REORDERING=80,
+ NET_TCP_ECN=81,
+ NET_TCP_DSACK=82,
+ NET_TCP_MEM=83,
+ NET_TCP_WMEM=84,
+ NET_TCP_RMEM=85,
+ NET_TCP_APP_WIN=86,
+ NET_TCP_ADV_WIN_SCALE=87,
+ NET_IPV4_NONLOCAL_BIND=88,
+ NET_IPV4_ICMP_RATELIMIT=89,
+ NET_IPV4_ICMP_RATEMASK=90,
+ NET_TCP_TW_REUSE=91,
+ NET_TCP_FRTO=92,
+ NET_TCP_LOW_LATENCY=93,
+ NET_IPV4_IPFRAG_SECRET_INTERVAL=94,
+ NET_IPV4_IGMP_MAX_MSF=96,
+ NET_TCP_NO_METRICS_SAVE=97,
+ NET_TCP_DEFAULT_WIN_SCALE=105,
+ NET_TCP_MODERATE_RCVBUF=106,
+ NET_TCP_TSO_WIN_DIVISOR=107,
+ NET_TCP_BIC_BETA=108,
+ NET_IPV4_ICMP_ERRORS_USE_INBOUND_IFADDR=109,
+ NET_TCP_CONG_CONTROL=110,
+ NET_TCP_ABC=111,
+ NET_IPV4_IPFRAG_MAX_DIST=112,
+  NET_TCP_MTU_PROBING=113,
+ NET_TCP_BASE_MSS=114,
+ NET_IPV4_TCP_WORKAROUND_SIGNED_WINDOWS=115,
+ NET_TCP_DMA_COPYBREAK=116,
+ NET_TCP_SLOW_START_AFTER_IDLE=117,
+ NET_CIPSOV4_CACHE_ENABLE=118,
+ NET_CIPSOV4_CACHE_BUCKET_SIZE=119,
+ NET_CIPSOV4_RBM_OPTFMT=120,
+ NET_CIPSOV4_RBM_STRICTVALID=121,
+ NET_TCP_AVAIL_CONG_CONTROL=122,
+ NET_TCP_ALLOWED_CONG_CONTROL=123,
+ NET_TCP_MAX_SSTHRESH=124,
+ NET_TCP_FRTO_RESPONSE=125,
+};
+
+enum {
+ NET_IPV4_ROUTE_FLUSH=1,
+ NET_IPV4_ROUTE_MIN_DELAY=2,
+ NET_IPV4_ROUTE_MAX_DELAY=3,
+ NET_IPV4_ROUTE_GC_THRESH=4,
+ NET_IPV4_ROUTE_MAX_SIZE=5,
+ NET_IPV4_ROUTE_GC_MIN_INTERVAL=6,
+ NET_IPV4_ROUTE_GC_TIMEOUT=7,
+ NET_IPV4_ROUTE_GC_INTERVAL=8,
+ NET_IPV4_ROUTE_REDIRECT_LOAD=9,
+ NET_IPV4_ROUTE_REDIRECT_NUMBER=10,
+ NET_IPV4_ROUTE_REDIRECT_SILENCE=11,
+ NET_IPV4_ROUTE_ERROR_COST=12,
+ NET_IPV4_ROUTE_ERROR_BURST=13,
+ NET_IPV4_ROUTE_GC_ELASTICITY=14,
+ NET_IPV4_ROUTE_MTU_EXPIRES=15,
+ NET_IPV4_ROUTE_MIN_PMTU=16,
+ NET_IPV4_ROUTE_MIN_ADVMSS=17,
+ NET_IPV4_ROUTE_SECRET_INTERVAL=18,
+ NET_IPV4_ROUTE_GC_MIN_INTERVAL_MS=19,
+};
+
+enum
+{
+ NET_PROTO_CONF_ALL=-2,
+ NET_PROTO_CONF_DEFAULT=-3
+
+
+};
+
+enum
+{
+ NET_IPV4_CONF_FORWARDING=1,
+ NET_IPV4_CONF_MC_FORWARDING=2,
+ NET_IPV4_CONF_PROXY_ARP=3,
+ NET_IPV4_CONF_ACCEPT_REDIRECTS=4,
+ NET_IPV4_CONF_SECURE_REDIRECTS=5,
+ NET_IPV4_CONF_SEND_REDIRECTS=6,
+ NET_IPV4_CONF_SHARED_MEDIA=7,
+ NET_IPV4_CONF_RP_FILTER=8,
+ NET_IPV4_CONF_ACCEPT_SOURCE_ROUTE=9,
+ NET_IPV4_CONF_BOOTP_RELAY=10,
+ NET_IPV4_CONF_LOG_MARTIANS=11,
+ NET_IPV4_CONF_TAG=12,
+ NET_IPV4_CONF_ARPFILTER=13,
+ NET_IPV4_CONF_MEDIUM_ID=14,
+ NET_IPV4_CONF_NOXFRM=15,
+ NET_IPV4_CONF_NOPOLICY=16,
+ NET_IPV4_CONF_FORCE_IGMP_VERSION=17,
+ NET_IPV4_CONF_ARP_ANNOUNCE=18,
+ NET_IPV4_CONF_ARP_IGNORE=19,
+ NET_IPV4_CONF_PROMOTE_SECONDARIES=20,
+ NET_IPV4_CONF_ARP_ACCEPT=21,
+ NET_IPV4_CONF_ARP_NOTIFY=22,
+};
+
+
+enum
+{
+ NET_IPV4_NF_CONNTRACK_MAX=1,
+ NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_SYN_SENT=2,
+ NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_SYN_RECV=3,
+ NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_ESTABLISHED=4,
+ NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_FIN_WAIT=5,
+ NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_CLOSE_WAIT=6,
+ NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_LAST_ACK=7,
+ NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_TIME_WAIT=8,
+ NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_CLOSE=9,
+ NET_IPV4_NF_CONNTRACK_UDP_TIMEOUT=10,
+ NET_IPV4_NF_CONNTRACK_UDP_TIMEOUT_STREAM=11,
+ NET_IPV4_NF_CONNTRACK_ICMP_TIMEOUT=12,
+ NET_IPV4_NF_CONNTRACK_GENERIC_TIMEOUT=13,
+ NET_IPV4_NF_CONNTRACK_BUCKETS=14,
+ NET_IPV4_NF_CONNTRACK_LOG_INVALID=15,
+ NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_MAX_RETRANS=16,
+ NET_IPV4_NF_CONNTRACK_TCP_LOOSE=17,
+ NET_IPV4_NF_CONNTRACK_TCP_BE_LIBERAL=18,
+ NET_IPV4_NF_CONNTRACK_TCP_MAX_RETRANS=19,
+  NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_CLOSED=20,
+  NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_WAIT=21,
+  NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_ECHOED=22,
+  NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_ESTABLISHED=23,
+  NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_SENT=24,
+  NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_RECD=25,
+  NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_ACK_SENT=26,
+ NET_IPV4_NF_CONNTRACK_COUNT=27,
+ NET_IPV4_NF_CONNTRACK_CHECKSUM=28,
+};
+
+
+enum {
+ NET_IPV6_CONF=16,
+ NET_IPV6_NEIGH=17,
+ NET_IPV6_ROUTE=18,
+ NET_IPV6_ICMP=19,
+ NET_IPV6_BINDV6ONLY=20,
+ NET_IPV6_IP6FRAG_HIGH_THRESH=21,
+ NET_IPV6_IP6FRAG_LOW_THRESH=22,
+ NET_IPV6_IP6FRAG_TIME=23,
+ NET_IPV6_IP6FRAG_SECRET_INTERVAL=24,
+ NET_IPV6_MLD_MAX_MSF=25,
+};
+
+enum {
+ NET_IPV6_ROUTE_FLUSH=1,
+ NET_IPV6_ROUTE_GC_THRESH=2,
+ NET_IPV6_ROUTE_MAX_SIZE=3,
+ NET_IPV6_ROUTE_GC_MIN_INTERVAL=4,
+ NET_IPV6_ROUTE_GC_TIMEOUT=5,
+ NET_IPV6_ROUTE_GC_INTERVAL=6,
+ NET_IPV6_ROUTE_GC_ELASTICITY=7,
+ NET_IPV6_ROUTE_MTU_EXPIRES=8,
+ NET_IPV6_ROUTE_MIN_ADVMSS=9,
+ NET_IPV6_ROUTE_GC_MIN_INTERVAL_MS=10
+};
+
+enum {
+ NET_IPV6_FORWARDING=1,
+ NET_IPV6_HOP_LIMIT=2,
+ NET_IPV6_MTU=3,
+ NET_IPV6_ACCEPT_RA=4,
+ NET_IPV6_ACCEPT_REDIRECTS=5,
+ NET_IPV6_AUTOCONF=6,
+ NET_IPV6_DAD_TRANSMITS=7,
+ NET_IPV6_RTR_SOLICITS=8,
+ NET_IPV6_RTR_SOLICIT_INTERVAL=9,
+ NET_IPV6_RTR_SOLICIT_DELAY=10,
+ NET_IPV6_USE_TEMPADDR=11,
+ NET_IPV6_TEMP_VALID_LFT=12,
+ NET_IPV6_TEMP_PREFERED_LFT=13,
+ NET_IPV6_REGEN_MAX_RETRY=14,
+ NET_IPV6_MAX_DESYNC_FACTOR=15,
+ NET_IPV6_MAX_ADDRESSES=16,
+ NET_IPV6_FORCE_MLD_VERSION=17,
+ NET_IPV6_ACCEPT_RA_DEFRTR=18,
+ NET_IPV6_ACCEPT_RA_PINFO=19,
+ NET_IPV6_ACCEPT_RA_RTR_PREF=20,
+ NET_IPV6_RTR_PROBE_INTERVAL=21,
+ NET_IPV6_ACCEPT_RA_RT_INFO_MAX_PLEN=22,
+ NET_IPV6_PROXY_NDP=23,
+ NET_IPV6_ACCEPT_SOURCE_ROUTE=25,
+ __NET_IPV6_MAX
+};
+
+
+enum {
+ NET_IPV6_ICMP_RATELIMIT=1
+};
+
+
+enum {
+ NET_NEIGH_MCAST_SOLICIT=1,
+ NET_NEIGH_UCAST_SOLICIT=2,
+ NET_NEIGH_APP_SOLICIT=3,
+ NET_NEIGH_RETRANS_TIME=4,
+ NET_NEIGH_REACHABLE_TIME=5,
+ NET_NEIGH_DELAY_PROBE_TIME=6,
+ NET_NEIGH_GC_STALE_TIME=7,
+ NET_NEIGH_UNRES_QLEN=8,
+ NET_NEIGH_PROXY_QLEN=9,
+ NET_NEIGH_ANYCAST_DELAY=10,
+ NET_NEIGH_PROXY_DELAY=11,
+ NET_NEIGH_LOCKTIME=12,
+ NET_NEIGH_GC_INTERVAL=13,
+ NET_NEIGH_GC_THRESH1=14,
+ NET_NEIGH_GC_THRESH2=15,
+ NET_NEIGH_GC_THRESH3=16,
+ NET_NEIGH_RETRANS_TIME_MS=17,
+ NET_NEIGH_REACHABLE_TIME_MS=18,
+};
+
+
+enum {
+ NET_DCCP_DEFAULT=1,
+};
+
+
+enum {
+ NET_IPX_PPROP_BROADCASTING=1,
+ NET_IPX_FORWARDING=2
+};
+
+
+enum {
+ NET_LLC2=1,
+ NET_LLC_STATION=2,
+};
+
+
+enum {
+ NET_LLC2_TIMEOUT=1,
+};
+
+
+enum {
+ NET_LLC_STATION_ACK_TIMEOUT=1,
+};
+
+
+enum {
+ NET_LLC2_ACK_TIMEOUT=1,
+ NET_LLC2_P_TIMEOUT=2,
+ NET_LLC2_REJ_TIMEOUT=3,
+ NET_LLC2_BUSY_TIMEOUT=4,
+};
+
+
+enum {
+ NET_ATALK_AARP_EXPIRY_TIME=1,
+ NET_ATALK_AARP_TICK_TIME=2,
+ NET_ATALK_AARP_RETRANSMIT_LIMIT=3,
+ NET_ATALK_AARP_RESOLVE_TIME=4
+};
+
+
+
+enum {
+ NET_NETROM_DEFAULT_PATH_QUALITY=1,
+ NET_NETROM_OBSOLESCENCE_COUNT_INITIALISER=2,
+ NET_NETROM_NETWORK_TTL_INITIALISER=3,
+ NET_NETROM_TRANSPORT_TIMEOUT=4,
+ NET_NETROM_TRANSPORT_MAXIMUM_TRIES=5,
+ NET_NETROM_TRANSPORT_ACKNOWLEDGE_DELAY=6,
+ NET_NETROM_TRANSPORT_BUSY_DELAY=7,
+ NET_NETROM_TRANSPORT_REQUESTED_WINDOW_SIZE=8,
+ NET_NETROM_TRANSPORT_NO_ACTIVITY_TIMEOUT=9,
+ NET_NETROM_ROUTING_CONTROL=10,
+ NET_NETROM_LINK_FAILS_COUNT=11,
+ NET_NETROM_RESET=12
+};
+
+
+enum {
+ NET_AX25_IP_DEFAULT_MODE=1,
+ NET_AX25_DEFAULT_MODE=2,
+ NET_AX25_BACKOFF_TYPE=3,
+ NET_AX25_CONNECT_MODE=4,
+ NET_AX25_STANDARD_WINDOW=5,
+ NET_AX25_EXTENDED_WINDOW=6,
+ NET_AX25_T1_TIMEOUT=7,
+ NET_AX25_T2_TIMEOUT=8,
+ NET_AX25_T3_TIMEOUT=9,
+ NET_AX25_IDLE_TIMEOUT=10,
+ NET_AX25_N2=11,
+ NET_AX25_PACLEN=12,
+ NET_AX25_PROTOCOL=13,
+ NET_AX25_DAMA_SLAVE_TIMEOUT=14
+};
+
+
+enum {
+ NET_ROSE_RESTART_REQUEST_TIMEOUT=1,
+ NET_ROSE_CALL_REQUEST_TIMEOUT=2,
+ NET_ROSE_RESET_REQUEST_TIMEOUT=3,
+ NET_ROSE_CLEAR_REQUEST_TIMEOUT=4,
+ NET_ROSE_ACK_HOLD_BACK_TIMEOUT=5,
+ NET_ROSE_ROUTING_CONTROL=6,
+ NET_ROSE_LINK_FAIL_TIMEOUT=7,
+ NET_ROSE_MAX_VCS=8,
+ NET_ROSE_WINDOW_SIZE=9,
+ NET_ROSE_NO_ACTIVITY_TIMEOUT=10
+};
+
+
+enum {
+ NET_X25_RESTART_REQUEST_TIMEOUT=1,
+ NET_X25_CALL_REQUEST_TIMEOUT=2,
+ NET_X25_RESET_REQUEST_TIMEOUT=3,
+ NET_X25_CLEAR_REQUEST_TIMEOUT=4,
+ NET_X25_ACK_HOLD_BACK_TIMEOUT=5,
+ NET_X25_FORWARD=6
+};
+
+
+enum
+{
+ NET_TR_RIF_TIMEOUT=1
+};
+
+
+enum {
+ NET_DECNET_NODE_TYPE = 1,
+ NET_DECNET_NODE_ADDRESS = 2,
+ NET_DECNET_NODE_NAME = 3,
+ NET_DECNET_DEFAULT_DEVICE = 4,
+ NET_DECNET_TIME_WAIT = 5,
+ NET_DECNET_DN_COUNT = 6,
+ NET_DECNET_DI_COUNT = 7,
+ NET_DECNET_DR_COUNT = 8,
+ NET_DECNET_DST_GC_INTERVAL = 9,
+ NET_DECNET_CONF = 10,
+ NET_DECNET_NO_FC_MAX_CWND = 11,
+ NET_DECNET_MEM = 12,
+ NET_DECNET_RMEM = 13,
+ NET_DECNET_WMEM = 14,
+ NET_DECNET_DEBUG_LEVEL = 255
+};
+
+
+enum {
+ NET_DECNET_CONF_LOOPBACK = -2,
+ NET_DECNET_CONF_DDCMP = -3,
+ NET_DECNET_CONF_PPP = -4,
+ NET_DECNET_CONF_X25 = -5,
+ NET_DECNET_CONF_GRE = -6,
+ NET_DECNET_CONF_ETHER = -7
+
+
+};
+
+
+enum {
+ NET_DECNET_CONF_DEV_PRIORITY = 1,
+ NET_DECNET_CONF_DEV_T1 = 2,
+ NET_DECNET_CONF_DEV_T2 = 3,
+ NET_DECNET_CONF_DEV_T3 = 4,
+ NET_DECNET_CONF_DEV_FORWARDING = 5,
+ NET_DECNET_CONF_DEV_BLKSIZE = 6,
+ NET_DECNET_CONF_DEV_STATE = 7
+};
+
+
+enum {
+ NET_SCTP_RTO_INITIAL = 1,
+ NET_SCTP_RTO_MIN = 2,
+ NET_SCTP_RTO_MAX = 3,
+ NET_SCTP_RTO_ALPHA = 4,
+ NET_SCTP_RTO_BETA = 5,
+ NET_SCTP_VALID_COOKIE_LIFE = 6,
+ NET_SCTP_ASSOCIATION_MAX_RETRANS = 7,
+ NET_SCTP_PATH_MAX_RETRANS = 8,
+ NET_SCTP_MAX_INIT_RETRANSMITS = 9,
+ NET_SCTP_HB_INTERVAL = 10,
+ NET_SCTP_PRESERVE_ENABLE = 11,
+ NET_SCTP_MAX_BURST = 12,
+ NET_SCTP_ADDIP_ENABLE = 13,
+ NET_SCTP_PRSCTP_ENABLE = 14,
+ NET_SCTP_SNDBUF_POLICY = 15,
+ NET_SCTP_SACK_TIMEOUT = 16,
+ NET_SCTP_RCVBUF_POLICY = 17,
+};
+
+
+enum {
+ NET_BRIDGE_NF_CALL_ARPTABLES = 1,
+ NET_BRIDGE_NF_CALL_IPTABLES = 2,
+ NET_BRIDGE_NF_CALL_IP6TABLES = 3,
+ NET_BRIDGE_NF_FILTER_VLAN_TAGGED = 4,
+ NET_BRIDGE_NF_FILTER_PPPOE_TAGGED = 5,
+};
+
+
+enum {
+ NET_IRDA_DISCOVERY=1,
+ NET_IRDA_DEVNAME=2,
+ NET_IRDA_DEBUG=3,
+ NET_IRDA_FAST_POLL=4,
+ NET_IRDA_DISCOVERY_SLOTS=5,
+ NET_IRDA_DISCOVERY_TIMEOUT=6,
+ NET_IRDA_SLOT_TIMEOUT=7,
+ NET_IRDA_MAX_BAUD_RATE=8,
+ NET_IRDA_MIN_TX_TURN_TIME=9,
+ NET_IRDA_MAX_TX_DATA_SIZE=10,
+ NET_IRDA_MAX_TX_WINDOW=11,
+ NET_IRDA_MAX_NOREPLY_TIME=12,
+ NET_IRDA_WARN_NOREPLY_TIME=13,
+ NET_IRDA_LAP_KEEPALIVE_TIME=14,
+};
+
+
+
+enum
+{
+ FS_NRINODE=1,
+ FS_STATINODE=2,
+ FS_MAXINODE=3,
+ FS_NRDQUOT=4,
+ FS_MAXDQUOT=5,
+ FS_NRFILE=6,
+ FS_MAXFILE=7,
+ FS_DENTRY=8,
+ FS_NRSUPER=9,
+ FS_MAXSUPER=10,
+ FS_OVERFLOWUID=11,
+ FS_OVERFLOWGID=12,
+ FS_LEASES=13,
+ FS_DIR_NOTIFY=14,
+ FS_LEASE_TIME=15,
+ FS_DQSTATS=16,
+ FS_XFS=17,
+ FS_AIO_NR=18,
+ FS_AIO_MAX_NR=19,
+ FS_INOTIFY=20,
+ FS_OCFS2=988,
+};
+
+
+enum {
+ FS_DQ_LOOKUPS = 1,
+ FS_DQ_DROPS = 2,
+ FS_DQ_READS = 3,
+ FS_DQ_WRITES = 4,
+ FS_DQ_CACHE_HITS = 5,
+ FS_DQ_ALLOCATED = 6,
+ FS_DQ_FREE = 7,
+ FS_DQ_SYNCS = 8,
+ FS_DQ_WARNINGS = 9,
+};
+
+
+
+
+enum {
+ DEV_CDROM=1,
+ DEV_HWMON=2,
+ DEV_PARPORT=3,
+ DEV_RAID=4,
+ DEV_MAC_HID=5,
+ DEV_SCSI=6,
+ DEV_IPMI=7,
+};
+
+
+enum {
+ DEV_CDROM_INFO=1,
+ DEV_CDROM_AUTOCLOSE=2,
+ DEV_CDROM_AUTOEJECT=3,
+ DEV_CDROM_DEBUG=4,
+ DEV_CDROM_LOCK=5,
+ DEV_CDROM_CHECK_MEDIA=6
+};
+
+
+enum {
+ DEV_PARPORT_DEFAULT=-3
+};
+
+
+enum {
+ DEV_RAID_SPEED_LIMIT_MIN=1,
+ DEV_RAID_SPEED_LIMIT_MAX=2
+};
+
+
+enum {
+ DEV_PARPORT_DEFAULT_TIMESLICE=1,
+ DEV_PARPORT_DEFAULT_SPINTIME=2
+};
+
+
+enum {
+ DEV_PARPORT_SPINTIME=1,
+ DEV_PARPORT_BASE_ADDR=2,
+ DEV_PARPORT_IRQ=3,
+ DEV_PARPORT_DMA=4,
+ DEV_PARPORT_MODES=5,
+ DEV_PARPORT_DEVICES=6,
+ DEV_PARPORT_AUTOPROBE=16
+};
+
+
+enum {
+ DEV_PARPORT_DEVICES_ACTIVE=-3,
+};
+
+
+enum {
+ DEV_PARPORT_DEVICE_TIMESLICE=1,
+};
+
+
+enum {
+ DEV_MAC_HID_KEYBOARD_SENDS_LINUX_KEYCODES=1,
+ DEV_MAC_HID_KEYBOARD_LOCK_KEYCODES=2,
+ DEV_MAC_HID_MOUSE_BUTTON_EMULATION=3,
+ DEV_MAC_HID_MOUSE_BUTTON2_KEYCODE=4,
+ DEV_MAC_HID_MOUSE_BUTTON3_KEYCODE=5,
+ DEV_MAC_HID_ADB_MOUSE_SENDS_KEYCODES=6
+};
+
+
+enum {
+ DEV_SCSI_LOGGING_LEVEL=1,
+};
+
+
+enum {
+ DEV_IPMI_POWEROFF_POWERCYCLE=1,
+};
+
+
+enum
+{
+ ABI_DEFHANDLER_COFF=1,
+ ABI_DEFHANDLER_ELF=2,
+ ABI_DEFHANDLER_LCALL7=3,
+ ABI_DEFHANDLER_LIBCSO=4,
+ ABI_TRACE=5,
+ ABI_FAKE_UTSNAME=6,
+};
+
+
+
+
+
+
+struct ctl_table;
+struct nsproxy;
+struct ctl_table_root;
+
+struct ctl_table_set {
+ struct list_head list;
+ struct ctl_table_set *parent;
+ int (*is_seen)(struct ctl_table_set *);
+};
+
+extern void setup_sysctl_set(struct ctl_table_set *p,
+ struct ctl_table_set *parent,
+ int (*is_seen)(struct ctl_table_set *));
+
+struct ctl_table_header;
+
+extern void sysctl_head_get(struct ctl_table_header *);
+extern void sysctl_head_put(struct ctl_table_header *);
+extern int sysctl_is_seen(struct ctl_table_header *);
+extern struct ctl_table_header *sysctl_head_grab(struct ctl_table_header *);
+extern struct ctl_table_header *sysctl_head_next(struct ctl_table_header *prev);
+extern struct ctl_table_header *__sysctl_head_next(struct nsproxy *namespaces,
+      struct ctl_table_header *prev);
+extern void sysctl_head_finish(struct ctl_table_header *prev);
+extern int sysctl_perm(struct ctl_table_root *root,
+  struct ctl_table *table, int op);
+
+typedef struct ctl_table ctl_table;
+
+typedef int proc_handler (struct ctl_table *ctl, int write,
+     void *buffer, size_t *lenp, loff_t *ppos);
+
+extern int proc_dostring(struct ctl_table *, int,
+    void *, size_t *, loff_t *);
+extern int proc_dointvec(struct ctl_table *, int,
+    void *, size_t *, loff_t *);
+extern int proc_dointvec_minmax(struct ctl_table *, int,
+    void *, size_t *, loff_t *);
+extern int proc_dointvec_jiffies(struct ctl_table *, int,
+     void *, size_t *, loff_t *);
+extern int proc_dointvec_userhz_jiffies(struct ctl_table *, int,
+     void *, size_t *, loff_t *);
+extern int proc_dointvec_ms_jiffies(struct ctl_table *, int,
+        void *, size_t *, loff_t *);
+extern int proc_doulongvec_minmax(struct ctl_table *, int,
+      void *, size_t *, loff_t *);
+extern int proc_doulongvec_ms_jiffies_minmax(struct ctl_table *table, int,
+          void *, size_t *, loff_t *);
+extern int proc_do_large_bitmap(struct ctl_table *, int,
+    void *, size_t *, loff_t *);
+# 1015 "include/linux/sysctl.h"
+struct ctl_table
+{
+ const char *procname;
+ void *data;
+ int maxlen;
+ mode_t mode;
+ struct ctl_table *child;
+ struct ctl_table *parent;
+ proc_handler *proc_handler;
+ void *extra1;
+ void *extra2;
+};
+
+struct ctl_table_root {
+ struct list_head root_list;
+ struct ctl_table_set default_set;
+ struct ctl_table_set *(*lookup)(struct ctl_table_root *root,
+        struct nsproxy *namespaces);
+ int (*permissions)(struct ctl_table_root *root,
+   struct nsproxy *namespaces, struct ctl_table *table);
+};
+
+
+
+struct ctl_table_header
+{
+ union {
+  struct {
+   struct ctl_table *ctl_table;
+   struct list_head ctl_entry;
+   int used;
+   int count;
+  };
+  struct rcu_head rcu;
+ };
+ struct completion *unregistering;
+ struct ctl_table *ctl_table_arg;
+ struct ctl_table_root *root;
+ struct ctl_table_set *set;
+ struct ctl_table *attached_by;
+ struct ctl_table *attached_to;
+ struct ctl_table_header *parent;
+};
+
+
+struct ctl_path {
+ const char *procname;
+};
+
+void register_sysctl_root(struct ctl_table_root *root);
+struct ctl_table_header *__register_sysctl_paths(
+ struct ctl_table_root *root, struct nsproxy *namespaces,
+ const struct ctl_path *path, struct ctl_table *table);
+struct ctl_table_header *register_sysctl_table(struct ctl_table * table);
+struct ctl_table_header *register_sysctl_paths(const struct ctl_path *path,
+      struct ctl_table *table);
+
+void unregister_sysctl_table(struct ctl_table_header * table);
+int sysctl_check_table(struct nsproxy *namespaces, struct ctl_table *table);
+# 23 "include/linux/key.h" 2
+
+
+
+
+
+
+typedef int32_t key_serial_t;
+
+
+typedef uint32_t key_perm_t;
+
+struct key;
+# 18 "include/linux/cred.h" 2
+# 1 "include/linux/selinux.h" 1
+# 17 "include/linux/selinux.h"
+struct selinux_audit_rule;
+struct audit_context;
+struct kern_ipc_perm;
+# 29 "include/linux/selinux.h"
+static inline __attribute__((always_inline)) bool selinux_is_enabled(void)
+{
+ return false;
+}
+# 19 "include/linux/cred.h" 2
+
+
+struct user_struct;
+struct cred;
+struct inode;
+
+
+
+
+
+
+
+struct group_info {
+ atomic_t usage;
+ int ngroups;
+ int nblocks;
+ gid_t small_block[32];
+ gid_t *blocks[0];
+};
+# 48 "include/linux/cred.h"
+static inline __attribute__((always_inline)) struct group_info *get_group_info(struct group_info *gi)
+{
+ atomic_inc(&gi->usage);
+ return gi;
+}
+# 64 "include/linux/cred.h"
+extern struct group_info *groups_alloc(int);
+extern struct group_info init_groups;
+extern void groups_free(struct group_info *);
+extern int set_current_groups(struct group_info *);
+extern int set_groups(struct cred *, struct group_info *);
+extern int groups_search(const struct group_info *, gid_t);
+
+
+
+
+
+extern int in_group_p(gid_t);
+extern int in_egroup_p(gid_t);
+# 116 "include/linux/cred.h"
+struct cred {
+ atomic_t usage;
+
+
+
+
+
+
+
+ uid_t uid;
+ gid_t gid;
+ uid_t suid;
+ gid_t sgid;
+ uid_t euid;
+ gid_t egid;
+ uid_t fsuid;
+ gid_t fsgid;
+ unsigned securebits;
+ kernel_cap_t cap_inheritable;
+ kernel_cap_t cap_permitted;
+ kernel_cap_t cap_effective;
+ kernel_cap_t cap_bset;
+# 148 "include/linux/cred.h"
+ struct user_struct *user;
+ struct user_namespace *user_ns;
+ struct group_info *group_info;
+ struct rcu_head rcu;
+};
+
+extern void __put_cred(struct cred *);
+extern void exit_creds(struct task_struct *);
+extern int copy_creds(struct task_struct *, unsigned long);
+extern const struct cred *get_task_cred(struct task_struct *);
+extern struct cred *cred_alloc_blank(void);
+extern struct cred *prepare_creds(void);
+extern struct cred *prepare_exec_creds(void);
+extern int commit_creds(struct cred *);
+extern void abort_creds(struct cred *);
+extern const struct cred *override_creds(const struct cred *);
+extern void revert_creds(const struct cred *);
+extern struct cred *prepare_kernel_cred(struct task_struct *);
+extern int change_create_files_as(struct cred *, struct inode *);
+extern int set_security_override(struct cred *, u32);
+extern int set_security_override_from_ctx(struct cred *, const char *);
+extern int set_create_files_as(struct cred *, struct inode *);
+extern void __attribute__ ((__section__(".init.text"))) __attribute__((__cold__)) __attribute__((no_instrument_function)) cred_init(void);
+# 201 "include/linux/cred.h"
+static inline __attribute__((always_inline)) void validate_creds(const struct cred *cred)
+{
+}
+static inline __attribute__((always_inline)) void validate_creds_for_do_exit(struct task_struct *tsk)
+{
+}
+static inline __attribute__((always_inline)) void validate_process_creds(void)
+{
+}
+# 219 "include/linux/cred.h"
+static inline __attribute__((always_inline)) struct cred *get_new_cred(struct cred *cred)
+{
+ atomic_inc(&cred->usage);
+ return cred;
+}
+# 238 "include/linux/cred.h"
+static inline __attribute__((always_inline)) const struct cred *get_cred(const struct cred *cred)
+{
+ struct cred *nonconst_cred = (struct cred *) cred;
+ validate_creds(cred);
+ return get_new_cred(nonconst_cred);
+}
+# 256 "include/linux/cred.h"
+static inline __attribute__((always_inline)) void put_cred(const struct cred *_cred)
+{
+ struct cred *cred = (struct cred *) _cred;
+
+ validate_creds(cred);
+ if ((atomic_dec_return((&(cred)->usage)) == 0))
+  __put_cred(cred);
+}
+# 93 "include/linux/sched.h" 2
+
+
+
+struct exec_domain;
+struct futex_pi_state;
+struct robust_list_head;
+struct bio_list;
+struct fs_struct;
+struct perf_event_context;
+struct blk_plug;
+# 120 "include/linux/sched.h"
+extern unsigned long avenrun[];
+extern void get_avenrun(unsigned long *loads, unsigned long offset, int shift);
+# 135 "include/linux/sched.h"
+extern unsigned long total_forks;
+extern int nr_threads;
+extern __attribute__((section(".data" ""))) __typeof__(unsigned long) process_counts;
+extern int nr_processes(void);
+extern unsigned long nr_running(void);
+extern unsigned long nr_uninterruptible(void);
+extern unsigned long nr_iowait(void);
+extern unsigned long nr_iowait_cpu(int cpu);
+extern unsigned long this_cpu_load(void);
+
+
+extern void calc_global_load(unsigned long ticks);
+
+extern unsigned long get_parent_ip(unsigned long addr);
+
+struct seq_file;
+struct cfs_rq;
+struct task_group;
+
+extern void proc_sched_show_task(struct task_struct *p, struct seq_file *m);
+extern void proc_sched_set_task(struct task_struct *p);
+extern void
+print_cfs_rq(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq);
+# 198 "include/linux/sched.h"
+extern char ___assert_task_state[1 - 2*!!(
+  sizeof("RSDTtZXxKW")-1 != ( __builtin_constant_p(512) ? ( (512) < 1 ? ____ilog2_NaN() : (512) & (1ULL << 63) ? 63 : (512) & (1ULL << 62) ? 62 : (512) & (1ULL << 61) ? 61 : (512) & (1ULL << 60) ? 60 : (512) & (1ULL << 59) ? 59 : (512) & (1ULL << 58) ? 58 : (512) & (1ULL << 57) ? 57 : (512) & (1ULL << 56) ? 56 : (512) & (1ULL << 55) ? 55 : (512) & (1ULL << 54) ? 54 : (512) & (1ULL << 53) ? 53 : (512) & (1ULL << 52) ? 52 : (512) & (1ULL << 51) ? 51 : (512) & (1ULL << 50) ? 50 : (512) & (1ULL << 49) ? 49 : (512) & (1ULL << 48) ? 48 : (512) & (1ULL << 47) ? 47 : (512) & (1ULL << 46) ? 46 : (512) & (1ULL << 45) ? 45 : (512) & (1ULL << 44) ? 44 : (512) & (1ULL << 43) ? 43 : (512) & (1ULL << 42) ? 42 : (512) & (1ULL << 41) ? 41 : (512) & (1ULL << 40) ? 40 : (512) & (1ULL << 39) ? 39 : (512) & (1ULL << 38) ? 38 : (512) & (1ULL << 37) ? 37 : (512) & (1ULL << 36) ? 36 : (512) & (1ULL << 35) ? 35 : (512) & (1ULL << 34) ? 34 : (512) & (1ULL << 33) ? 33 : (512) & (1ULL << 32) ? 32 : (512) & (1ULL << 31) ? 31 : (512) & (1ULL << 30) ? 30 : (512) & (1ULL << 29) ? 29 : (512) & (1ULL << 28) ? 28 : (512) & (1ULL << 27) ? 27 : (512) & (1ULL << 26) ? 26 : (512) & (1ULL << 25) ? 25 : (512) & (1ULL << 24) ? 24 : (512) & (1ULL << 23) ? 23 : (512) & (1ULL << 22) ? 22 : (512) & (1ULL << 21) ? 21 : (512) & (1ULL << 20) ? 20 : (512) & (1ULL << 19) ? 19 : (512) & (1ULL << 18) ? 18 : (512) & (1ULL << 17) ? 17 : (512) & (1ULL << 16) ? 16 : (512) & (1ULL << 15) ? 15 : (512) & (1ULL << 14) ? 14 : (512) & (1ULL << 13) ? 13 : (512) & (1ULL << 12) ? 12 : (512) & (1ULL << 11) ? 11 : (512) & (1ULL << 10) ? 10 : (512) & (1ULL << 9) ? 9 : (512) & (1ULL << 8) ? 8 : (512) & (1ULL << 7) ? 7 : (512) & (1ULL << 6) ? 6 : (512) & (1ULL << 5) ? 5 : (512) & (1ULL << 4) ? 4 : (512) & (1ULL << 3) ? 3 : (512) & (1ULL << 2) ? 2 : (512) & (1ULL << 1) ? 1 : (512) & (1ULL << 0) ? 0 : ____ilog2_NaN() ) : (sizeof(512) <= 4) ? __ilog2_u32(512) : __ilog2_u64(512) )+1)];
+# 256 "include/linux/sched.h"
+extern rwlock_t tasklist_lock;
+extern spinlock_t mmlist_lock;
+
+struct task_struct;
+
+
+
+
+
+extern void sched_init(void);
+extern void sched_init_smp(void);
+extern void schedule_tail(struct task_struct *prev);
+extern void init_idle(struct task_struct *idle, int cpu);
+extern void init_idle_bootup_task(struct task_struct *idle);
+
+extern int runqueue_is_locked(int cpu);
+
+extern cpumask_var_t nohz_cpu_mask;
+
+
+
+
+static inline __attribute__((always_inline)) void select_nohz_load_balancer(int stop_tick) { }
+
+
+
+
+
+extern void show_state_filter(unsigned long state_filter);
+
+static inline __attribute__((always_inline)) void show_state(void)
+{
+ show_state_filter(0);
+}
+
+extern void show_regs(struct pt_regs *);
+
+
+
+
+
+
+extern void show_stack(struct task_struct *task, unsigned long *sp);
+
+void io_schedule(void);
+long io_schedule_timeout(long timeout);
+
+extern void cpu_init (void);
+extern void trap_init(void);
+extern void update_process_times(int user);
+extern void scheduler_tick(void);
+
+extern void sched_show_task(struct task_struct *p);
+# 321 "include/linux/sched.h"
+static inline __attribute__((always_inline)) void touch_softlockup_watchdog(void)
+{
+}
+static inline __attribute__((always_inline)) void touch_softlockup_watchdog_sync(void)
+{
+}
+static inline __attribute__((always_inline)) void touch_all_softlockup_watchdogs(void)
+{
+}
+static inline __attribute__((always_inline)) void lockup_detector_init(void)
+{
+}
+# 345 "include/linux/sched.h"
+enum { sysctl_hung_task_timeout_secs = 0 };
+
+
+
+
+
+
+extern char __sched_text_start[], __sched_text_end[];
+
+
+extern int in_sched_functions(unsigned long addr);
+
+
+extern signed long schedule_timeout(signed long timeout);
+extern signed long schedule_timeout_interruptible(signed long timeout);
+extern signed long schedule_timeout_killable(signed long timeout);
+extern signed long schedule_timeout_uninterruptible(signed long timeout);
+ void schedule(void);
+extern int mutex_spin_on_owner(struct mutex *lock, struct thread_info *owner);
+
+struct nsproxy;
+struct user_namespace;
+# 383 "include/linux/sched.h"
+extern int sysctl_max_map_count;
+
+# 1 "include/linux/aio.h" 1
+
+
+
+
+# 1 "include/linux/workqueue.h" 1
+# 15 "include/linux/workqueue.h"
+struct workqueue_struct;
+
+struct work_struct;
+typedef void (*work_func_t)(struct work_struct *work);
+
+
+
+
+
+
+
+enum {
+ WORK_STRUCT_PENDING_BIT = 0,
+ WORK_STRUCT_DELAYED_BIT = 1,
+ WORK_STRUCT_CWQ_BIT = 2,
+ WORK_STRUCT_LINKED_BIT = 3,
+
+
+
+
+ WORK_STRUCT_COLOR_SHIFT = 4,
+
+
+ WORK_STRUCT_COLOR_BITS = 4,
+
+ WORK_STRUCT_PENDING = 1 << WORK_STRUCT_PENDING_BIT,
+ WORK_STRUCT_DELAYED = 1 << WORK_STRUCT_DELAYED_BIT,
+ WORK_STRUCT_CWQ = 1 << WORK_STRUCT_CWQ_BIT,
+ WORK_STRUCT_LINKED = 1 << WORK_STRUCT_LINKED_BIT,
+
+
+
+ WORK_STRUCT_STATIC = 0,
+
+
+
+
+
+
+ WORK_NR_COLORS = (1 << WORK_STRUCT_COLOR_BITS) - 1,
+ WORK_NO_COLOR = WORK_NR_COLORS,
+
+
+ WORK_CPU_UNBOUND = 1,
+ WORK_CPU_NONE = 1 + 1,
+ WORK_CPU_LAST = WORK_CPU_NONE,
+
+
+
+
+
+
+ WORK_STRUCT_FLAG_BITS = WORK_STRUCT_COLOR_SHIFT +
+      WORK_STRUCT_COLOR_BITS,
+
+ WORK_STRUCT_FLAG_MASK = (1UL << WORK_STRUCT_FLAG_BITS) - 1,
+ WORK_STRUCT_WQ_DATA_MASK = ~WORK_STRUCT_FLAG_MASK,
+ WORK_STRUCT_NO_CPU = WORK_CPU_NONE << WORK_STRUCT_FLAG_BITS,
+
+
+ WORK_BUSY_PENDING = 1 << 0,
+ WORK_BUSY_RUNNING = 1 << 1,
+};
+
+struct work_struct {
+ atomic_long_t data;
+ struct list_head entry;
+ work_func_t func;
+
+
+
+};
+
+
+
+
+
+struct delayed_work {
+ struct work_struct work;
+ struct timer_list timer;
+};
+
+static inline __attribute__((always_inline)) struct delayed_work *to_delayed_work(struct work_struct *work)
+{
+ return ({ const typeof( ((struct delayed_work *)0)->work ) *__mptr = (work); (struct delayed_work *)( (char *)__mptr - __builtin_offsetof(struct delayed_work,work) );});
+}
+
+struct execute_work {
+ struct work_struct work;
+};
+# 163 "include/linux/workqueue.h"
+static inline __attribute__((always_inline)) void __init_work(struct work_struct *work, int onstack) { }
+static inline __attribute__((always_inline)) void destroy_work_on_stack(struct work_struct *work) { }
+static inline __attribute__((always_inline)) unsigned int work_static(struct work_struct *work) { return 0; }
+# 250 "include/linux/workqueue.h"
+enum {
+ WQ_NON_REENTRANT = 1 << 0,
+ WQ_UNBOUND = 1 << 1,
+ WQ_FREEZABLE = 1 << 2,
+ WQ_MEM_RECLAIM = 1 << 3,
+ WQ_HIGHPRI = 1 << 4,
+ WQ_CPU_INTENSIVE = 1 << 5,
+
+ WQ_DYING = 1 << 6,
+ WQ_RESCUER = 1 << 7,
+
+ WQ_MAX_ACTIVE = 512,
+ WQ_MAX_UNBOUND_PER_CPU = 4,
+ WQ_DFL_ACTIVE = WQ_MAX_ACTIVE / 2,
+};
+# 293 "include/linux/workqueue.h"
+extern struct workqueue_struct *system_wq;
+extern struct workqueue_struct *system_long_wq;
+extern struct workqueue_struct *system_nrt_wq;
+extern struct workqueue_struct *system_unbound_wq;
+extern struct workqueue_struct *system_freezable_wq;
+
+extern struct workqueue_struct *
+__alloc_workqueue_key(const char *name, unsigned int flags, int max_active,
+        struct lock_class_key *key, const char *lock_name);
+# 334 "include/linux/workqueue.h"
+static inline __attribute__((always_inline)) struct workqueue_struct *
+alloc_ordered_workqueue(const char *name, unsigned int flags)
+{
+ return __alloc_workqueue_key((name), (WQ_UNBOUND | flags), (1), ((void *)0), ((void *)0));
+}
+# 347 "include/linux/workqueue.h"
+extern void destroy_workqueue(struct workqueue_struct *wq);
+
+extern int queue_work(struct workqueue_struct *wq, struct work_struct *work);
+extern int queue_work_on(int cpu, struct workqueue_struct *wq,
+   struct work_struct *work);
+extern int queue_delayed_work(struct workqueue_struct *wq,
+   struct delayed_work *work, unsigned long delay);
+extern int queue_delayed_work_on(int cpu, struct workqueue_struct *wq,
+   struct delayed_work *work, unsigned long delay);
+
+extern void flush_workqueue(struct workqueue_struct *wq);
+extern void flush_scheduled_work(void);
+
+extern int schedule_work(struct work_struct *work);
+extern int schedule_work_on(int cpu, struct work_struct *work);
+extern int schedule_delayed_work(struct delayed_work *work, unsigned long delay);
+extern int schedule_delayed_work_on(int cpu, struct delayed_work *work,
+     unsigned long delay);
+extern int schedule_on_each_cpu(work_func_t func);
+extern int keventd_up(void);
+
+int execute_in_process_context(work_func_t fn, struct execute_work *);
+
+extern bool flush_work(struct work_struct *work);
+extern bool flush_work_sync(struct work_struct *work);
+extern bool cancel_work_sync(struct work_struct *work);
+
+extern bool flush_delayed_work(struct delayed_work *dwork);
+extern bool flush_delayed_work_sync(struct delayed_work *work);
+extern bool cancel_delayed_work_sync(struct delayed_work *dwork);
+
+extern void workqueue_set_max_active(struct workqueue_struct *wq,
+         int max_active);
+extern bool workqueue_congested(unsigned int cpu, struct workqueue_struct *wq);
+extern unsigned int work_cpu(struct work_struct *work);
+extern unsigned int work_busy(struct work_struct *work);
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) bool cancel_delayed_work(struct delayed_work *work)
+{
+ bool ret;
+
+ ret = del_timer(&work->timer);
+ if (ret)
+  clear_bit(WORK_STRUCT_PENDING_BIT, ((unsigned long *)(&(&work->work)->data)));
+ return ret;
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) bool __cancel_delayed_work(struct delayed_work *work)
+{
+ bool ret;
+
+ ret = del_timer(&work->timer);
+ if (ret)
+  clear_bit(WORK_STRUCT_PENDING_BIT, ((unsigned long *)(&(&work->work)->data)));
+ return ret;
+}
+
+
+static inline __attribute__((always_inline))
+void cancel_rearming_delayed_workqueue(struct workqueue_struct *wq,
+     struct delayed_work *work)
+{
+ cancel_delayed_work_sync(work);
+}
+
+
+static inline __attribute__((always_inline))
+void cancel_rearming_delayed_work(struct delayed_work *work)
+{
+ cancel_delayed_work_sync(work);
+}
+
+
+static inline __attribute__((always_inline)) long work_on_cpu(unsigned int cpu, long (*fn)(void *), void *arg)
+{
+ return fn(arg);
+}
+# 6 "include/linux/aio.h" 2
+# 1 "include/linux/aio_abi.h" 1
+# 33 "include/linux/aio_abi.h"
+typedef unsigned long aio_context_t;
+
+enum {
+ IOCB_CMD_PREAD = 0,
+ IOCB_CMD_PWRITE = 1,
+ IOCB_CMD_FSYNC = 2,
+ IOCB_CMD_FDSYNC = 3,
+
+
+
+
+ IOCB_CMD_NOOP = 6,
+ IOCB_CMD_PREADV = 7,
+ IOCB_CMD_PWRITEV = 8,
+};
+# 58 "include/linux/aio_abi.h"
+struct io_event {
+ __u64 data;
+ __u64 obj;
+ __s64 res;
+ __s64 res2;
+};
+# 79 "include/linux/aio_abi.h"
+struct iocb {
+
+ __u64 aio_data;
+ __u32 aio_key, aio_reserved1;
+
+
+
+ __u16 aio_lio_opcode;
+ __s16 aio_reqprio;
+ __u32 aio_fildes;
+
+ __u64 aio_buf;
+ __u64 aio_nbytes;
+ __s64 aio_offset;
+
+
+ __u64 aio_reserved2;
+
+
+ __u32 aio_flags;
+
+
+
+
+
+ __u32 aio_resfd;
+};
+# 7 "include/linux/aio.h" 2
+# 1 "include/linux/uio.h" 1
+# 16 "include/linux/uio.h"
+struct iovec
+{
+ void *iov_base;
+ __kernel_size_t iov_len;
+};
+# 31 "include/linux/uio.h"
+struct kvec {
+ void *iov_base;
+ size_t iov_len;
+};
+# 43 "include/linux/uio.h"
+static inline __attribute__((always_inline)) size_t iov_length(const struct iovec *iov, unsigned long nr_segs)
+{
+ unsigned long seg;
+ size_t ret = 0;
+
+ for (seg = 0; seg < nr_segs; seg++)
+  ret += iov[seg].iov_len;
+ return ret;
+}
+
+unsigned long iov_shorten(struct iovec *iov, unsigned long nr_segs, size_t to);
+# 8 "include/linux/aio.h" 2
+
+
+
+
+
+
+
+struct kioctx;
+# 87 "include/linux/aio.h"
+struct kiocb {
+ struct list_head ki_run_list;
+ unsigned long ki_flags;
+ int ki_users;
+ unsigned ki_key;
+
+ struct file *ki_filp;
+ struct kioctx *ki_ctx;
+ int (*ki_cancel)(struct kiocb *, struct io_event *);
+ ssize_t (*ki_retry)(struct kiocb *);
+ void (*ki_dtor)(struct kiocb *);
+
+ union {
+  void *user;
+  struct task_struct *tsk;
+ } ki_obj;
+
+ __u64 ki_user_data;
+ loff_t ki_pos;
+
+ void *private;
+
+ unsigned short ki_opcode;
+ size_t ki_nbytes;
+ char *ki_buf;
+ size_t ki_left;
+ struct iovec ki_inline_vec;
+  struct iovec *ki_iovec;
+  unsigned long ki_nr_segs;
+  unsigned long ki_cur_seg;
+
+ struct list_head ki_list;
+
+
+
+
+
+
+ struct eventfd_ctx *ki_eventfd;
+};
+# 147 "include/linux/aio.h"
+struct aio_ring {
+ unsigned id;
+ unsigned nr;
+ unsigned head;
+ unsigned tail;
+
+ unsigned magic;
+ unsigned compat_features;
+ unsigned incompat_features;
+ unsigned header_length;
+
+
+ struct io_event io_events[0];
+};
+
+
+
+
+struct aio_ring_info {
+ unsigned long mmap_base;
+ unsigned long mmap_size;
+
+ struct page **ring_pages;
+ spinlock_t ring_lock;
+ long nr_pages;
+
+ unsigned nr, tail;
+
+ struct page *internal_pages[8];
+};
+
+struct kioctx {
+ atomic_t users;
+ int dead;
+ struct mm_struct *mm;
+
+
+ unsigned long user_id;
+ struct hlist_node list;
+
+ wait_queue_head_t wait;
+
+ spinlock_t ctx_lock;
+
+ int reqs_active;
+ struct list_head active_reqs;
+ struct list_head run_list;
+
+
+ unsigned max_reqs;
+
+ struct aio_ring_info ring_info;
+
+ struct delayed_work wq;
+
+ struct rcu_head rcu_head;
+};
+
+
+extern unsigned aio_max_size;
+
+
+extern ssize_t wait_on_sync_kiocb(struct kiocb *iocb);
+extern int aio_put_req(struct kiocb *iocb);
+extern void kick_iocb(struct kiocb *iocb);
+extern int aio_complete(struct kiocb *iocb, long res, long res2);
+struct mm_struct;
+extern void exit_aio(struct mm_struct *mm);
+extern long do_io_submit(aio_context_t ctx_id, long nr,
+    struct iocb * *iocbpp, bool compat);
+# 229 "include/linux/aio.h"
+static inline __attribute__((always_inline)) struct kiocb *list_kiocb(struct list_head *h)
+{
+ return ({ const typeof( ((struct kiocb *)0)->ki_list ) *__mptr = (h); (struct kiocb *)( (char *)__mptr - __builtin_offsetof(struct kiocb,ki_list) );});
+}
+
+
+extern unsigned long aio_nr;
+extern unsigned long aio_max_nr;
+# 386 "include/linux/sched.h" 2
+
+
+extern void arch_pick_mmap_layout(struct mm_struct *mm);
+extern unsigned long
+arch_get_unmapped_area(struct file *, unsigned long, unsigned long,
+         unsigned long, unsigned long);
+extern unsigned long
+arch_get_unmapped_area_topdown(struct file *filp, unsigned long addr,
+     unsigned long len, unsigned long pgoff,
+     unsigned long flags);
+extern void arch_unmap_area(struct mm_struct *, unsigned long);
+extern void arch_unmap_area_topdown(struct mm_struct *, unsigned long);
+
+
+
+
+
+extern void set_dumpable(struct mm_struct *mm, int value);
+extern int get_dumpable(struct mm_struct *mm);
+# 442 "include/linux/sched.h"
+struct sighand_struct {
+ atomic_t count;
+ struct k_sigaction action[64];
+ spinlock_t siglock;
+ wait_queue_head_t signalfd_wqh;
+};
+
+struct pacct_struct {
+ int ac_flag;
+ long ac_exitcode;
+ unsigned long ac_mem;
+ cputime_t ac_utime, ac_stime;
+ unsigned long ac_minflt, ac_majflt;
+};
+
+struct cpu_itimer {
+ cputime_t expires;
+ cputime_t incr;
+ u32 error;
+ u32 incr_error;
+};
+# 475 "include/linux/sched.h"
+struct task_cputime {
+ cputime_t utime;
+ cputime_t stime;
+ unsigned long long sum_exec_runtime;
+};
+# 511 "include/linux/sched.h"
+struct thread_group_cputimer {
+ struct task_cputime cputime;
+ int running;
+ spinlock_t lock;
+};
+
+struct autogroup;
+# 526 "include/linux/sched.h"
+struct signal_struct {
+ atomic_t sigcnt;
+ atomic_t live;
+ int nr_threads;
+
+ wait_queue_head_t wait_chldexit;
+
+
+ struct task_struct *curr_target;
+
+
+ struct sigpending shared_pending;
+
+
+ int group_exit_code;
+
+
+
+
+
+ int notify_count;
+ struct task_struct *group_exit_task;
+
+
+ int group_stop_count;
+ unsigned int flags;
+
+
+ struct list_head posix_timers;
+
+
+ struct hrtimer real_timer;
+ struct pid *leader_pid;
+ ktime_t it_real_incr;
+
+
+
+
+
+
+ struct cpu_itimer it[2];
+
+
+
+
+
+ struct thread_group_cputimer cputimer;
+
+
+ struct task_cputime cputime_expires;
+
+ struct list_head cpu_timers[3];
+
+ struct pid *tty_old_pgrp;
+
+
+ int leader;
+
+ struct tty_struct *tty;
+# 595 "include/linux/sched.h"
+ cputime_t utime, stime, cutime, cstime;
+ cputime_t gtime;
+ cputime_t cgtime;
+
+ cputime_t prev_utime, prev_stime;
+
+ unsigned long nvcsw, nivcsw, cnvcsw, cnivcsw;
+ unsigned long min_flt, maj_flt, cmin_flt, cmaj_flt;
+ unsigned long inblock, oublock, cinblock, coublock;
+ unsigned long maxrss, cmaxrss;
+ struct task_io_accounting ioac;
+
+
+
+
+
+
+
+ unsigned long long sum_sched_runtime;
+# 624 "include/linux/sched.h"
+ struct rlimit rlim[16];
+# 637 "include/linux/sched.h"
+ int oom_adj;
+ int oom_score_adj;
+ int oom_score_adj_min;
+
+
+ struct mutex cred_guard_mutex;
+
+
+};
+# 669 "include/linux/sched.h"
+static inline __attribute__((always_inline)) int signal_group_exit(const struct signal_struct *sig)
+{
+ return (sig->flags & 0x00000008) ||
+  (sig->group_exit_task != ((void *)0));
+}
+
+
+
+
+struct user_struct {
+ atomic_t __count;
+ atomic_t processes;
+ atomic_t files;
+ atomic_t sigpending;
+# 691 "include/linux/sched.h"
+ atomic_long_t epoll_watches;
+
+
+
+
+
+ unsigned long locked_shm;
+
+
+
+
+
+
+
+ struct hlist_node uidhash_node;
+ uid_t uid;
+ struct user_namespace *user_ns;
+
+
+ atomic_long_t locked_vm;
+
+};
+
+extern int uids_sysfs_init(void);
+
+extern struct user_struct *find_user(uid_t);
+
+extern struct user_struct root_user;
+
+
+
+struct backing_dev_info;
+struct reclaim_state;
+# 775 "include/linux/sched.h"
+static inline __attribute__((always_inline)) int sched_info_on(void)
+{
+
+
+
+
+
+
+ return 0;
+
+}
+
+enum cpu_idle_type {
+ CPU_IDLE,
+ CPU_NOT_IDLE,
+ CPU_NEWLY_IDLE,
+ CPU_MAX_IDLE_TYPES
+};
+# 1017 "include/linux/sched.h"
+struct sched_domain_attr;
+
+static inline __attribute__((always_inline)) void
+partition_sched_domains(int ndoms_new, cpumask_var_t doms_new[],
+   struct sched_domain_attr *dattr_new)
+{
+}
+
+
+
+struct io_context;
+
+
+
+
+
+static inline __attribute__((always_inline)) void prefetch_stack(struct task_struct *t) { }
+
+
+struct audit_context;
+struct mempolicy;
+struct pipe_inode_info;
+struct uts_namespace;
+
+struct rq;
+struct sched_domain;
+# 1056 "include/linux/sched.h"
+struct sched_class {
+ const struct sched_class *next;
+
+ void (*enqueue_task) (struct rq *rq, struct task_struct *p, int flags);
+ void (*dequeue_task) (struct rq *rq, struct task_struct *p, int flags);
+ void (*yield_task) (struct rq *rq);
+ bool (*yield_to_task) (struct rq *rq, struct task_struct *p, bool preempt);
+
+ void (*check_preempt_curr) (struct rq *rq, struct task_struct *p, int flags);
+
+ struct task_struct * (*pick_next_task) (struct rq *rq);
+ void (*put_prev_task) (struct rq *rq, struct task_struct *p);
+# 1085 "include/linux/sched.h"
+ void (*set_curr_task) (struct rq *rq);
+ void (*task_tick) (struct rq *rq, struct task_struct *p, int queued);
+ void (*task_fork) (struct task_struct *p);
+
+ void (*switched_from) (struct rq *this_rq, struct task_struct *task);
+ void (*switched_to) (struct rq *this_rq, struct task_struct *task);
+ void (*prio_changed) (struct rq *this_rq, struct task_struct *task,
+        int oldprio);
+
+ unsigned int (*get_rr_interval) (struct rq *rq,
+      struct task_struct *task);
+
+
+
+
+};
+
+struct load_weight {
+ unsigned long weight, inv_weight;
+};
+# 1142 "include/linux/sched.h"
+struct sched_entity {
+ struct load_weight load;
+ struct rb_node run_node;
+ struct list_head group_node;
+ unsigned int on_rq;
+
+ u64 exec_start;
+ u64 sum_exec_runtime;
+ u64 vruntime;
+ u64 prev_sum_exec_runtime;
+
+ u64 nr_migrations;
+# 1166 "include/linux/sched.h"
+};
+
+struct sched_rt_entity {
+ struct list_head run_list;
+ unsigned long timeout;
+ unsigned int time_slice;
+ int nr_cpus_allowed;
+
+ struct sched_rt_entity *back;
+
+
+
+
+
+
+
+};
+
+struct rcu_node;
+
+enum perf_event_task_context {
+ perf_invalid_context = -1,
+ perf_hw_context = 0,
+ perf_sw_context,
+ perf_nr_task_contexts,
+};
+
+struct task_struct {
+ volatile long state;
+ void *stack;
+ atomic_t usage;
+ unsigned int flags;
+ unsigned int ptrace;
+
+ int lock_depth;
+
+
+
+
+
+
+
+ int prio, static_prio, normal_prio;
+ unsigned int rt_priority;
+ const struct sched_class *sched_class;
+ struct sched_entity se;
+ struct sched_rt_entity rt;
+# 1227 "include/linux/sched.h"
+ unsigned char fpu_counter;
+
+ unsigned int btrace_seq;
+
+
+ unsigned int policy;
+ cpumask_t cpus_allowed;
+# 1251 "include/linux/sched.h"
+ struct list_head tasks;
+
+
+
+
+ struct mm_struct *mm, *active_mm;
+
+ unsigned brk_randomized:1;
+
+
+
+
+
+ int exit_state;
+ int exit_code, exit_signal;
+ int pdeath_signal;
+
+ unsigned int personality;
+ unsigned did_exec:1;
+ unsigned in_execve:1;
+
+ unsigned in_iowait:1;
+
+
+
+ unsigned sched_reset_on_fork:1;
+
+ pid_t pid;
+ pid_t tgid;
+# 1291 "include/linux/sched.h"
+ struct task_struct *real_parent;
+ struct task_struct *parent;
+
+
+
+ struct list_head children;
+ struct list_head sibling;
+ struct task_struct *group_leader;
+
+
+
+
+
+
+ struct list_head ptraced;
+ struct list_head ptrace_entry;
+
+
+ struct pid_link pids[PIDTYPE_MAX];
+ struct list_head thread_group;
+
+ struct completion *vfork_done;
+ int *set_child_tid;
+ int *clear_child_tid;
+
+ cputime_t utime, stime, utimescaled, stimescaled;
+ cputime_t gtime;
+
+ cputime_t prev_utime, prev_stime;
+
+ unsigned long nvcsw, nivcsw;
+ struct timespec start_time;
+ struct timespec real_start_time;
+
+ unsigned long min_flt, maj_flt;
+
+ struct task_cputime cputime_expires;
+ struct list_head cpu_timers[3];
+
+
+ const struct cred *real_cred;
+
+ const struct cred *cred;
+
+ struct cred *replacement_session_keyring;
+
+ char comm[16];
+
+
+
+
+ int link_count, total_link_count;
+
+
+ struct sysv_sem sysvsem;
+
+
+
+
+
+
+ struct thread_struct thread;
+
+ struct fs_struct *fs;
+
+ struct files_struct *files;
+
+ struct nsproxy *nsproxy;
+
+ struct signal_struct *signal;
+ struct sighand_struct *sighand;
+
+ sigset_t blocked, real_blocked;
+ sigset_t saved_sigmask;
+ struct sigpending pending;
+
+ unsigned long sas_ss_sp;
+ size_t sas_ss_size;
+ int (*notifier)(void *priv);
+ void *notifier_data;
+ sigset_t *notifier_mask;
+ struct audit_context *audit_context;
+
+
+
+
+ seccomp_t seccomp;
+
+
+    u32 parent_exec_id;
+    u32 self_exec_id;
+
+
+ spinlock_t alloc_lock;
+
+
+
+ struct irqaction *irqaction;
+
+
+
+ raw_spinlock_t pi_lock;
+
+
+
+ struct plist_head pi_waiters;
+
+ struct rt_mutex_waiter *pi_blocked_on;
+# 1430 "include/linux/sched.h"
+ void *journal_info;
+
+
+ struct bio_list *bio_list;
+
+
+
+ struct blk_plug *plug;
+
+
+
+ struct reclaim_state *reclaim_state;
+
+ struct backing_dev_info *backing_dev_info;
+
+ struct io_context *io_context;
+
+ unsigned long ptrace_message;
+ siginfo_t *last_siginfo;
+ struct task_io_accounting ioac;
+# 1468 "include/linux/sched.h"
+ struct robust_list_head *robust_list;
+
+
+
+ struct list_head pi_state_list;
+ struct futex_pi_state *pi_state_cache;
+
+
+ struct perf_event_context *perf_event_ctxp[perf_nr_task_contexts];
+ struct mutex perf_event_mutex;
+ struct list_head perf_event_list;
+
+
+
+
+
+
+ atomic_t fs_excl;
+ struct rcu_head rcu;
+
+
+
+
+ struct pipe_inode_info *splice_pipe;
+
+
+
+
+
+
+ struct prop_local_single dirties;
+# 1507 "include/linux/sched.h"
+ unsigned long timer_slack_ns;
+ unsigned long default_timer_slack_ns;
+
+ struct list_head *scm_work_list;
+
+
+ int curr_ret_stack;
+
+ struct ftrace_ret_stack *ret_stack;
+
+ unsigned long long ftrace_timestamp;
+
+
+
+
+ atomic_t trace_overrun;
+
+ atomic_t tracing_graph_pause;
+
+
+
+ unsigned long trace;
+
+ unsigned long trace_recursion;
+# 1543 "include/linux/sched.h"
+};
+# 1567 "include/linux/sched.h"
+static inline __attribute__((always_inline)) int rt_prio(int prio)
+{
+ if (__builtin_expect(!!(prio < 100), 0))
+  return 1;
+ return 0;
+}
+
+static inline __attribute__((always_inline)) int rt_task(struct task_struct *p)
+{
+ return rt_prio(p->prio);
+}
+
+static inline __attribute__((always_inline)) struct pid *task_pid(struct task_struct *task)
+{
+ return task->pids[PIDTYPE_PID].pid;
+}
+
+static inline __attribute__((always_inline)) struct pid *task_tgid(struct task_struct *task)
+{
+ return task->group_leader->pids[PIDTYPE_PID].pid;
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) struct pid *task_pgrp(struct task_struct *task)
+{
+ return task->group_leader->pids[PIDTYPE_PGID].pid;
+}
+
+static inline __attribute__((always_inline)) struct pid *task_session(struct task_struct *task)
+{
+ return task->group_leader->pids[PIDTYPE_SID].pid;
+}
+
+struct pid_namespace;
+# 1619 "include/linux/sched.h"
+pid_t __task_pid_nr_ns(struct task_struct *task, enum pid_type type,
+   struct pid_namespace *ns);
+
+static inline __attribute__((always_inline)) pid_t task_pid_nr(struct task_struct *tsk)
+{
+ return tsk->pid;
+}
+
+static inline __attribute__((always_inline)) pid_t task_pid_nr_ns(struct task_struct *tsk,
+     struct pid_namespace *ns)
+{
+ return __task_pid_nr_ns(tsk, PIDTYPE_PID, ns);
+}
+
+static inline __attribute__((always_inline)) pid_t task_pid_vnr(struct task_struct *tsk)
+{
+ return __task_pid_nr_ns(tsk, PIDTYPE_PID, ((void *)0));
+}
+
+
+static inline __attribute__((always_inline)) pid_t task_tgid_nr(struct task_struct *tsk)
+{
+ return tsk->tgid;
+}
+
+pid_t task_tgid_nr_ns(struct task_struct *tsk, struct pid_namespace *ns);
+
+static inline __attribute__((always_inline)) pid_t task_tgid_vnr(struct task_struct *tsk)
+{
+ return pid_vnr(task_tgid(tsk));
+}
+
+
+static inline __attribute__((always_inline)) pid_t task_pgrp_nr_ns(struct task_struct *tsk,
+     struct pid_namespace *ns)
+{
+ return __task_pid_nr_ns(tsk, PIDTYPE_PGID, ns);
+}
+
+static inline __attribute__((always_inline)) pid_t task_pgrp_vnr(struct task_struct *tsk)
+{
+ return __task_pid_nr_ns(tsk, PIDTYPE_PGID, ((void *)0));
+}
+
+
+static inline __attribute__((always_inline)) pid_t task_session_nr_ns(struct task_struct *tsk,
+     struct pid_namespace *ns)
+{
+ return __task_pid_nr_ns(tsk, PIDTYPE_SID, ns);
+}
+
+static inline __attribute__((always_inline)) pid_t task_session_vnr(struct task_struct *tsk)
+{
+ return __task_pid_nr_ns(tsk, PIDTYPE_SID, ((void *)0));
+}
+
+
+static inline __attribute__((always_inline)) pid_t task_pgrp_nr(struct task_struct *tsk)
+{
+ return task_pgrp_nr_ns(tsk, &init_pid_ns);
+}
+# 1689 "include/linux/sched.h"
+static inline __attribute__((always_inline)) int pid_alive(struct task_struct *p)
+{
+ return p->pids[PIDTYPE_PID].pid != ((void *)0);
+}
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) int is_global_init(struct task_struct *tsk)
+{
+ return tsk->pid == 1;
+}
+
+
+
+
+
+extern int is_container_init(struct task_struct *tsk);
+
+extern struct pid *cad_pid;
+
+extern void free_task(struct task_struct *tsk);
+
+
+extern void __put_task_struct(struct task_struct *t);
+
+static inline __attribute__((always_inline)) void put_task_struct(struct task_struct *t)
+{
+ if ((atomic_dec_return((&t->usage)) == 0))
+  __put_task_struct(t);
+}
+
+extern void task_times(struct task_struct *p, cputime_t *ut, cputime_t *st);
+extern void thread_group_times(struct task_struct *p, cputime_t *ut, cputime_t *st);
+# 1807 "include/linux/sched.h"
+static inline __attribute__((always_inline)) void rcu_copy_process(struct task_struct *p)
+{
+}
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) int set_cpus_allowed_ptr(struct task_struct *p,
+           const struct cpumask *new_mask)
+{
+ if (!test_bit(cpumask_check(0), (((new_mask))->bits)))
+  return -22;
+ return 0;
+}
+
+
+
+static inline __attribute__((always_inline)) int set_cpus_allowed(struct task_struct *p, cpumask_t new_mask)
+{
+ return set_cpus_allowed_ptr(p, &new_mask);
+}
+# 1841 "include/linux/sched.h"
+extern unsigned long long __attribute__((no_instrument_function)) sched_clock(void);
+
+
+
+extern u64 cpu_clock(int cpu);
+extern u64 local_clock(void);
+extern u64 sched_clock_cpu(int cpu);
+
+
+extern void sched_clock_init(void);
+
+
+static inline __attribute__((always_inline)) void sched_clock_tick(void)
+{
+}
+
+static inline __attribute__((always_inline)) void sched_clock_idle_sleep_event(void)
+{
+}
+
+static inline __attribute__((always_inline)) void sched_clock_idle_wakeup_event(u64 delta_ns)
+{
+}
+# 1887 "include/linux/sched.h"
+static inline __attribute__((always_inline)) void enable_sched_clock_irqtime(void) {}
+static inline __attribute__((always_inline)) void disable_sched_clock_irqtime(void) {}
+
+
+extern unsigned long long
+task_sched_runtime(struct task_struct *task);
+extern unsigned long long thread_group_sched_runtime(struct task_struct *task);
+# 1902 "include/linux/sched.h"
+extern void sched_clock_idle_sleep_event(void);
+extern void sched_clock_idle_wakeup_event(u64 delta_ns);
+
+
+
+
+static inline __attribute__((always_inline)) void idle_task_exit(void) {}
+
+
+
+
+
+static inline __attribute__((always_inline)) void wake_up_idle_cpu(int cpu) { }
+
+
+extern unsigned int sysctl_sched_latency;
+extern unsigned int sysctl_sched_min_granularity;
+extern unsigned int sysctl_sched_wakeup_granularity;
+extern unsigned int sysctl_sched_child_runs_first;
+
+enum sched_tunable_scaling {
+ SCHED_TUNABLESCALING_NONE,
+ SCHED_TUNABLESCALING_LOG,
+ SCHED_TUNABLESCALING_LINEAR,
+ SCHED_TUNABLESCALING_END,
+};
+extern enum sched_tunable_scaling sysctl_sched_tunable_scaling;
+
+
+extern unsigned int sysctl_sched_migration_cost;
+extern unsigned int sysctl_sched_nr_migrate;
+extern unsigned int sysctl_sched_time_avg;
+extern unsigned int sysctl_timer_migration;
+extern unsigned int sysctl_sched_shares_window;
+
+int sched_proc_update_handler(struct ctl_table *table, int write,
+  void *buffer, size_t *length,
+  loff_t *ppos);
+
+
+static inline __attribute__((always_inline)) unsigned int get_sysctl_timer_migration(void)
+{
+ return sysctl_timer_migration;
+}
+
+
+
+
+
+
+extern unsigned int sysctl_sched_rt_period;
+extern int sysctl_sched_rt_runtime;
+
+int sched_rt_handler(struct ctl_table *table, int write,
+  void *buffer, size_t *lenp,
+  loff_t *ppos);
+# 1971 "include/linux/sched.h"
+static inline __attribute__((always_inline)) void sched_autogroup_create_attach(struct task_struct *p) { }
+static inline __attribute__((always_inline)) void sched_autogroup_detach(struct task_struct *p) { }
+static inline __attribute__((always_inline)) void sched_autogroup_fork(struct signal_struct *sig) { }
+static inline __attribute__((always_inline)) void sched_autogroup_exit(struct signal_struct *sig) { }
+
+
+
+extern int rt_mutex_getprio(struct task_struct *p);
+extern void rt_mutex_setprio(struct task_struct *p, int prio);
+extern void rt_mutex_adjust_pi(struct task_struct *p);
+# 1989 "include/linux/sched.h"
+extern bool yield_to(struct task_struct *p, bool preempt);
+extern void set_user_nice(struct task_struct *p, long nice);
+extern int task_prio(const struct task_struct *p);
+extern int task_nice(const struct task_struct *p);
+extern int can_nice(const struct task_struct *p, const int nice);
+extern int task_curr(const struct task_struct *p);
+extern int idle_cpu(int cpu);
+extern int sched_setscheduler(struct task_struct *, int,
+         const struct sched_param *);
+extern int sched_setscheduler_nocheck(struct task_struct *, int,
+          const struct sched_param *);
+extern struct task_struct *idle_task(int cpu);
+extern struct task_struct *curr_task(int cpu);
+extern void set_curr_task(int cpu, struct task_struct *p);
+
+void yield(void);
+
+
+
+
+extern struct exec_domain default_exec_domain;
+
+union thread_union {
+ struct thread_info thread_info;
+ unsigned long stack[(1 << 13)/sizeof(long)];
+};
+
+
+static inline __attribute__((always_inline)) int kstack_end(void *addr)
+{
+
+
+
+ return !(((unsigned long)addr+sizeof(void*)-1) & ((1 << 13)-sizeof(void*)));
+}
+
+
+extern union thread_union init_thread_union;
+extern struct task_struct init_task;
+
+extern struct mm_struct init_mm;
+
+extern struct pid_namespace init_pid_ns;
+# 2044 "include/linux/sched.h"
+extern struct task_struct *find_task_by_vpid(pid_t nr);
+extern struct task_struct *find_task_by_pid_ns(pid_t nr,
+  struct pid_namespace *ns);
+
+extern void __set_special_pids(struct pid *pid);
+
+
+extern struct user_struct * alloc_uid(struct user_namespace *, uid_t);
+static inline __attribute__((always_inline)) struct user_struct *get_uid(struct user_struct *u)
+{
+ atomic_inc(&u->__count);
+ return u;
+}
+extern void free_uid(struct user_struct *);
+extern void release_uids(struct user_namespace *ns);
+
+
+
+extern void xtime_update(unsigned long ticks);
+
+extern int wake_up_state(struct task_struct *tsk, unsigned int state);
+extern int wake_up_process(struct task_struct *tsk);
+extern void wake_up_new_task(struct task_struct *tsk,
+    unsigned long clone_flags);
+
+
+
+ static inline __attribute__((always_inline)) void kick_process(struct task_struct *tsk) { }
+
+extern void sched_fork(struct task_struct *p, int clone_flags);
+extern void sched_dead(struct task_struct *p);
+
+extern void proc_caches_init(void);
+extern void flush_signals(struct task_struct *);
+extern void __flush_signals(struct task_struct *);
+extern void ignore_signals(struct task_struct *);
+extern void flush_signal_handlers(struct task_struct *, int force_default);
+extern int dequeue_signal(struct task_struct *tsk, sigset_t *mask, siginfo_t *info);
+
+static inline __attribute__((always_inline)) int dequeue_signal_lock(struct task_struct *tsk, sigset_t *mask, siginfo_t *info)
+{
+ unsigned long flags;
+ int ret;
+
+ do { do { ({ unsigned long __dummy; typeof(flags) __dummy2; (void)(&__dummy == &__dummy2); 1; }); do { do { do { ({ unsigned long __dummy; typeof(flags) __dummy2; (void)(&__dummy == &__dummy2); 1; }); flags = arch_local_irq_save(); } while (0); do { } while (0); } while (0); do { do { } while (0); (void)0; (void)(spinlock_check(&tsk->sighand->siglock)); } while (0); } while (0); } while (0); } while (0);
+ ret = dequeue_signal(tsk, mask, info);
+ spin_unlock_irqrestore(&tsk->sighand->siglock, flags);
+
+ return ret;
+}
+
+extern void block_all_signals(int (*notifier)(void *priv), void *priv,
+         sigset_t *mask);
+extern void unblock_all_signals(void);
+extern void release_task(struct task_struct * p);
+extern int send_sig_info(int, struct siginfo *, struct task_struct *);
+extern int force_sigsegv(int, struct task_struct *);
+extern int force_sig_info(int, struct siginfo *, struct task_struct *);
+extern int __kill_pgrp_info(int sig, struct siginfo *info, struct pid *pgrp);
+extern int kill_pid_info(int sig, struct siginfo *info, struct pid *pid);
+extern int kill_pid_info_as_uid(int, struct siginfo *, struct pid *, uid_t, uid_t, u32);
+extern int kill_pgrp(struct pid *pid, int sig, int priv);
+extern int kill_pid(struct pid *pid, int sig, int priv);
+extern int kill_proc_info(int, struct siginfo *, pid_t);
+extern int do_notify_parent(struct task_struct *, int);
+extern void __wake_up_parent(struct task_struct *p, struct task_struct *parent);
+extern void force_sig(int, struct task_struct *);
+extern int send_sig(int, struct task_struct *, int);
+extern int zap_other_threads(struct task_struct *p);
+extern struct sigqueue *sigqueue_alloc(void);
+extern void sigqueue_free(struct sigqueue *);
+extern int send_sigqueue(struct sigqueue *, struct task_struct *, int group);
+extern int do_sigaction(int, struct k_sigaction *, struct k_sigaction *);
+extern int do_sigaltstack(const stack_t *, stack_t *, unsigned long);
+
+static inline __attribute__((always_inline)) int kill_cad_pid(int sig, int priv)
+{
+ return kill_pid(cad_pid, sig, priv);
+}
+# 2132 "include/linux/sched.h"
+static inline __attribute__((always_inline)) int on_sig_stack(unsigned long sp)
+{
+
+
+
+
+ return sp > current->sas_ss_sp &&
+  sp - current->sas_ss_sp <= current->sas_ss_size;
+
+}
+
+static inline __attribute__((always_inline)) int sas_ss_flags(unsigned long sp)
+{
+ return (current->sas_ss_size == 0 ? 2
+  : on_sig_stack(sp) ? 1 : 0);
+}
+
+
+
+
+extern struct mm_struct * mm_alloc(void);
+
+
+extern void __mmdrop(struct mm_struct *);
+static inline __attribute__((always_inline)) void mmdrop(struct mm_struct * mm)
+{
+ if (__builtin_expect(!!((atomic_dec_return((&mm->mm_count)) == 0)), 0))
+  __mmdrop(mm);
+}
+
+
+extern void mmput(struct mm_struct *);
+
+extern struct mm_struct *get_task_mm(struct task_struct *task);
+
+extern void mm_release(struct task_struct *, struct mm_struct *);
+
+extern struct mm_struct *dup_mm(struct task_struct *tsk);
+
+extern int copy_thread(unsigned long, unsigned long, unsigned long,
+   struct task_struct *, struct pt_regs *);
+extern void flush_thread(void);
+extern void exit_thread(void);
+
+extern void exit_files(struct task_struct *);
+extern void __cleanup_sighand(struct sighand_struct *);
+
+extern void exit_itimers(struct signal_struct *);
+extern void flush_itimer_signals(void);
+
+extern void do_group_exit(int);
+
+extern void daemonize(const char *, ...);
+extern int allow_signal(int);
+extern int disallow_signal(int);
+
+extern int do_execve(const char *,
+       const char * const *,
+       const char * const *, struct pt_regs *);
+extern long do_fork(unsigned long, unsigned long, struct pt_regs *, unsigned long, int *, int *);
+struct task_struct *fork_idle(int);
+
+extern void set_task_comm(struct task_struct *tsk, char *from);
+extern char *get_task_comm(char *to, struct task_struct *tsk);
+
+
+
+
+static inline __attribute__((always_inline)) unsigned long wait_task_inactive(struct task_struct *p,
+            long match_state)
+{
+ return 1;
+}
+# 2213 "include/linux/sched.h"
+extern bool current_is_single_threaded(void);
+# 2225 "include/linux/sched.h"
+static inline __attribute__((always_inline)) int get_nr_threads(struct task_struct *tsk)
+{
+ return tsk->signal->nr_threads;
+}
+# 2239 "include/linux/sched.h"
+static inline __attribute__((always_inline)) int has_group_leader_pid(struct task_struct *p)
+{
+ return p->pid == p->tgid;
+}
+
+static inline __attribute__((always_inline))
+int same_thread_group(struct task_struct *p1, struct task_struct *p2)
+{
+ return p1->tgid == p2->tgid;
+}
+
+static inline __attribute__((always_inline)) struct task_struct *next_thread(const struct task_struct *p)
+{
+ return ({typeof (*p->thread_group.next) *__ptr = (typeof (*p->thread_group.next) *)p->thread_group.next; ({ const typeof( ((struct task_struct *)0)->thread_group ) *__mptr = ((typeof(p->thread_group.next))({ typeof(*(__ptr)) *_________p1 = (typeof(*(__ptr))* )(*(volatile typeof((__ptr)) *)&((__ptr))); do { } while (0); ; do { } while(0); ((typeof(*(__ptr)) *)(_________p1)); })); (struct task_struct *)( (char *)__mptr - __builtin_offsetof(struct task_struct,thread_group) );}); })
+                                          ;
+}
+
+static inline __attribute__((always_inline)) int thread_group_empty(struct task_struct *p)
+{
+ return list_empty(&p->thread_group);
+}
+
+
+
+
+static inline __attribute__((always_inline)) int task_detached(struct task_struct *p)
+{
+ return p->exit_signal == -1;
+}
+# 2279 "include/linux/sched.h"
+static inline __attribute__((always_inline)) void task_lock(struct task_struct *p)
+{
+ spin_lock(&p->alloc_lock);
+}
+
+static inline __attribute__((always_inline)) void task_unlock(struct task_struct *p)
+{
+ spin_unlock(&p->alloc_lock);
+}
+
+extern struct sighand_struct *__lock_task_sighand(struct task_struct *tsk,
+       unsigned long *flags);
+# 2299 "include/linux/sched.h"
+static inline __attribute__((always_inline)) void unlock_task_sighand(struct task_struct *tsk,
+      unsigned long *flags)
+{
+ spin_unlock_irqrestore(&tsk->sighand->siglock, *flags);
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) void setup_thread_stack(struct task_struct *p, struct task_struct *org)
+{
+ *((struct thread_info *)(p)->stack) = *((struct thread_info *)(org)->stack);
+ ((struct thread_info *)(p)->stack)->task = p;
+}
+
+static inline __attribute__((always_inline)) unsigned long *end_of_stack(struct task_struct *p)
+{
+ return (unsigned long *)(((struct thread_info *)(p)->stack) + 1);
+}
+
+
+
+static inline __attribute__((always_inline)) int object_is_on_stack(void *obj)
+{
+ void *stack = ((current)->stack);
+
+ return (obj >= stack) && (obj < (stack + (1 << 13)));
+}
+
+extern void thread_info_cache_init(void);
+# 2348 "include/linux/sched.h"
+static inline __attribute__((always_inline)) void set_tsk_thread_flag(struct task_struct *tsk, int flag)
+{
+ set_ti_thread_flag(((struct thread_info *)(tsk)->stack), flag);
+}
+
+static inline __attribute__((always_inline)) void clear_tsk_thread_flag(struct task_struct *tsk, int flag)
+{
+ clear_ti_thread_flag(((struct thread_info *)(tsk)->stack), flag);
+}
+
+static inline __attribute__((always_inline)) int test_and_set_tsk_thread_flag(struct task_struct *tsk, int flag)
+{
+ return test_and_set_ti_thread_flag(((struct thread_info *)(tsk)->stack), flag);
+}
+
+static inline __attribute__((always_inline)) int test_and_clear_tsk_thread_flag(struct task_struct *tsk, int flag)
+{
+ return test_and_clear_ti_thread_flag(((struct thread_info *)(tsk)->stack), flag);
+}
+
+static inline __attribute__((always_inline)) int test_tsk_thread_flag(struct task_struct *tsk, int flag)
+{
+ return test_ti_thread_flag(((struct thread_info *)(tsk)->stack), flag);
+}
+
+static inline __attribute__((always_inline)) void set_tsk_need_resched(struct task_struct *tsk)
+{
+ set_tsk_thread_flag(tsk,2);
+}
+
+static inline __attribute__((always_inline)) void clear_tsk_need_resched(struct task_struct *tsk)
+{
+ clear_tsk_thread_flag(tsk,2);
+}
+
+static inline __attribute__((always_inline)) int test_tsk_need_resched(struct task_struct *tsk)
+{
+ return __builtin_expect(!!(test_tsk_thread_flag(tsk,2)), 0);
+}
+
+static inline __attribute__((always_inline)) int restart_syscall(void)
+{
+ set_tsk_thread_flag(current, 1);
+ return -513;
+}
+
+static inline __attribute__((always_inline)) int signal_pending(struct task_struct *p)
+{
+ return __builtin_expect(!!(test_tsk_thread_flag(p,1)), 0);
+}
+
+static inline __attribute__((always_inline)) int __fatal_signal_pending(struct task_struct *p)
+{
+ return __builtin_expect(!!(sigismember(&p->pending.signal, 9)), 0);
+}
+
+static inline __attribute__((always_inline)) int fatal_signal_pending(struct task_struct *p)
+{
+ return signal_pending(p) && __fatal_signal_pending(p);
+}
+
+static inline __attribute__((always_inline)) int signal_pending_state(long state, struct task_struct *p)
+{
+ if (!(state & (1 | 128)))
+  return 0;
+ if (!signal_pending(p))
+  return 0;
+
+ return (state & 1) || __fatal_signal_pending(p);
+}
+
+static inline __attribute__((always_inline)) int need_resched(void)
+{
+ return __builtin_expect(!!(test_ti_thread_flag(current_thread_info(), 2)), 0);
+}
+# 2431 "include/linux/sched.h"
+extern int _cond_resched(void);
+
+
+
+
+
+
+extern int __cond_resched_lock(spinlock_t *lock);
+# 2451 "include/linux/sched.h"
+extern int __cond_resched_softirq(void);
+# 2463 "include/linux/sched.h"
+static inline __attribute__((always_inline)) int spin_needbreak(spinlock_t *lock)
+{
+
+
+
+ return 0;
+
+}
+
+
+
+
+void thread_group_cputime(struct task_struct *tsk, struct task_cputime *times);
+void thread_group_cputimer(struct task_struct *tsk, struct task_cputime *times);
+
+static inline __attribute__((always_inline)) void thread_group_cputime_init(struct signal_struct *sig)
+{
+ do { spinlock_check(&sig->cputimer.lock); do { *(&(&sig->cputimer.lock)->rlock) = (raw_spinlock_t) { .raw_lock = { }, }; } while (0); } while (0);
+}
+
+
+
+
+
+
+
+extern void recalc_sigpending_and_wake(struct task_struct *t);
+extern void recalc_sigpending(void);
+
+extern void signal_wake_up(struct task_struct *t, int resume_stopped);
+# 2508 "include/linux/sched.h"
+static inline __attribute__((always_inline)) unsigned int task_cpu(const struct task_struct *p)
+{
+ return 0;
+}
+
+static inline __attribute__((always_inline)) void set_task_cpu(struct task_struct *p, unsigned int cpu)
+{
+}
+
+
+
+extern long sched_setaffinity(pid_t pid, const struct cpumask *new_mask);
+extern long sched_getaffinity(pid_t pid, struct cpumask *mask);
+
+extern void normalize_rt_tasks(void);
+# 2546 "include/linux/sched.h"
+extern int task_can_switch_user(struct user_struct *up,
+     struct task_struct *tsk);
+# 2570 "include/linux/sched.h"
+static inline __attribute__((always_inline)) void add_rchar(struct task_struct *tsk, ssize_t amt)
+{
+}
+
+static inline __attribute__((always_inline)) void add_wchar(struct task_struct *tsk, ssize_t amt)
+{
+}
+
+static inline __attribute__((always_inline)) void inc_syscr(struct task_struct *tsk)
+{
+}
+
+static inline __attribute__((always_inline)) void inc_syscw(struct task_struct *tsk)
+{
+}
+# 2595 "include/linux/sched.h"
+static inline __attribute__((always_inline)) void mm_update_next_owner(struct mm_struct *mm)
+{
+}
+
+static inline __attribute__((always_inline)) void mm_init_owner(struct mm_struct *mm, struct task_struct *p)
+{
+}
+
+
+static inline __attribute__((always_inline)) unsigned long task_rlimit(const struct task_struct *tsk,
+  unsigned int limit)
+{
+ return (*(volatile typeof(tsk->signal->rlim[limit].rlim_cur) *)&(tsk->signal->rlim[limit].rlim_cur));
+}
+
+static inline __attribute__((always_inline)) unsigned long task_rlimit_max(const struct task_struct *tsk,
+  unsigned int limit)
+{
+ return (*(volatile typeof(tsk->signal->rlim[limit].rlim_max) *)&(tsk->signal->rlim[limit].rlim_max));
+}
+
+static inline __attribute__((always_inline)) unsigned long rlimit(unsigned int limit)
+{
+ return task_rlimit(current, limit);
+}
+
+static inline __attribute__((always_inline)) unsigned long rlimit_max(unsigned int limit)
+{
+ return task_rlimit_max(current, limit);
+}
+# 8 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/uaccess.h" 2
+# 76 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/uaccess.h"
+struct exception_table_entry {
+ unsigned long insn;
+ unsigned long fixup;
+};
+# 129 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/uaccess.h"
+extern long __put_user_bad(void);
+# 216 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/uaccess.h"
+extern long __get_user_bad(void);
+# 327 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/uaccess.h"
+extern unsigned long __copy_tofrom_user(void *to,
+  const void *from, unsigned long size);
+
+
+
+static inline __attribute__((always_inline)) unsigned long copy_from_user(void *to,
+  const void *from, unsigned long n)
+{
+ unsigned long over;
+
+ if (((void)0, (((( unsigned long)(from)) <= ((current->thread.fs)).seg) && ((((n)) == 0) || ((((n)) - 1) <= (((current->thread.fs)).seg - (( unsigned long)(from))))))))
+  return __copy_tofrom_user(( void *)to, from, n);
+ if ((unsigned long)from < (0x70000000)) {
+  over = (unsigned long)from + n - (0x70000000);
+  return __copy_tofrom_user(( void *)to, from,
+    n - over) + over;
+ }
+ return n;
+}
+
+static inline __attribute__((always_inline)) unsigned long copy_to_user(void *to,
+  const void *from, unsigned long n)
+{
+ unsigned long over;
+
+ if (((void)0, (((( unsigned long)(to)) <= ((current->thread.fs)).seg) && ((((n)) == 0) || ((((n)) - 1) <= (((current->thread.fs)).seg - (( unsigned long)(to))))))))
+  return __copy_tofrom_user(to, ( void *)from, n);
+ if ((unsigned long)to < (0x70000000)) {
+  over = (unsigned long)to + n - (0x70000000);
+  return __copy_tofrom_user(to, ( void *)from,
+    n - over) + over;
+ }
+ return n;
+}
+# 376 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/uaccess.h"
+static inline __attribute__((always_inline)) unsigned long __copy_from_user_inatomic(void *to,
+  const void *from, unsigned long n)
+{
+ if (__builtin_constant_p(n) && (n <= 8)) {
+  unsigned long ret = 1;
+
+  switch (n) {
+  case 1:
+   do { ret = 0; (void)0; if (1 > sizeof(*(u8 *)to)) (*(u8 *)to) = __get_user_bad(); switch (1) { case 1: __asm__ __volatile__( "1:	""lbz"" %1,0(%2)	# get_user\n" "2:\n" ".section .fixup,\"ax\"\n" "3:	li %0,%3\n" "	li %1,0\n" "	b 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" ".balign 4" " " "\n" ".long" " " "1b,3b\n" ".previous" : "=r" (ret), "=r" (*(u8 *)to) : "b" (from), "i" (-14), "0" (ret)); break; case 2: __asm__ __volatile__( "1:	""lhz"" %1,0(%2)	# get_user\n" "2:\n" ".section .fixup,\"ax\"\n" "3:	li %0,%3\n" "	li %1,0\n" "	b 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" ".balign 4" " " "\n" ".long" " " "1b,3b\n" ".previous" : "=r" (ret), "=r" (*(u8 *)to) : "b" (from), "i" (-14), "0" (ret)); break; case 4: __asm__ __volatile__( "1:	""lwz"" %1,0(%2)	# get_user\n" "2:\n" ".section .fixup,\"ax\"\n" "3:	li %0,%3\n" "	li %1,0\n" "	b 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" ".balign 4" " " "\n" ".long" " " "1b,3b\n" ".previous" : "=r" (ret), "=r" (*(u8 *)to) : "b" (from), "i" (-14), "0" (ret)); break; case 8: __asm__ __volatile__( "1:	lwz %1,0(%2)\n" "2:	lwz %1+1,4(%2)\n" "3:\n" ".section .fixup,\"ax\"\n" "4:	li %0,%3\n" "	li %1,0\n" "	li %1+1,0\n" "	b 3b\n" ".previous\n" ".section __ex_table,\"a\"\n" ".balign 4" " " "\n" ".long" " " "1b,4b\n" ".long" " " "2b,4b\n" ".previous" : "=r" (ret), "=&r" (*(u8 *)to) : "b" (from), "i" (-14), "0" (ret)); break; default: (*(u8 *)to) = __get_user_bad(); } } while (0);
+   break;
+  case 2:
+   do { ret = 0; (void)0; if (2 > sizeof(*(u16 *)to)) (*(u16 *)to) = __get_user_bad(); switch (2) { case 1: __asm__ __volatile__( "1:	""lbz"" %1,0(%2)	# get_user\n" "2:\n" ".section .fixup,\"ax\"\n" "3:	li %0,%3\n" "	li %1,0\n" "	b 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" ".balign 4" " " "\n" ".long" " " "1b,3b\n" ".previous" : "=r" (ret), "=r" (*(u16 *)to) : "b" (from), "i" (-14), "0" (ret)); break; case 2: __asm__ __volatile__( "1:	""lhz"" %1,0(%2)	# get_user\n" "2:\n" ".section .fixup,\"ax\"\n" "3:	li %0,%3\n" "	li %1,0\n" "	b 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" ".balign 4" " " "\n" ".long" " " "1b,3b\n" ".previous" : "=r" (ret), "=r" (*(u16 *)to) : "b" (from), "i" (-14), "0" (ret)); break; case 4: __asm__ __volatile__( "1:	""lwz"" %1,0(%2)	# get_user\n" "2:\n" ".section .fixup,\"ax\"\n" "3:	li %0,%3\n" "	li %1,0\n" "	b 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" ".balign 4" " " "\n" ".long" " " "1b,3b\n" ".previous" : "=r" (ret), "=r" (*(u16 *)to) : "b" (from), "i" (-14), "0" (ret)); break; case 8: __asm__ __volatile__( "1:	lwz %1,0(%2)\n" "2:	lwz %1+1,4(%2)\n" "3:\n" ".section .fixup,\"ax\"\n" "4:	li %0,%3\n" "	li %1,0\n" "	li %1+1,0\n" "	b 3b\n" ".previous\n" ".section __ex_table,\"a\"\n" ".balign 4" " " "\n" ".long" " " "1b,4b\n" ".long" " " "2b,4b\n" ".previous" : "=r" (ret), "=&r" (*(u16 *)to) : "b" (from), "i" (-14), "0" (ret)); break; default: (*(u16 *)to) = __get_user_bad(); } } while (0);
+   break;
+  case 4:
+   do { ret = 0; (void)0; if (4 > sizeof(*(u32 *)to)) (*(u32 *)to) = __get_user_bad(); switch (4) { case 1: __asm__ __volatile__( "1:	""lbz"" %1,0(%2)	# get_user\n" "2:\n" ".section .fixup,\"ax\"\n" "3:	li %0,%3\n" "	li %1,0\n" "	b 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" ".balign 4" " " "\n" ".long" " " "1b,3b\n" ".previous" : "=r" (ret), "=r" (*(u32 *)to) : "b" (from), "i" (-14), "0" (ret)); break; case 2: __asm__ __volatile__( "1:	""lhz"" %1,0(%2)	# get_user\n" "2:\n" ".section .fixup,\"ax\"\n" "3:	li %0,%3\n" "	li %1,0\n" "	b 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" ".balign 4" " " "\n" ".long" " " "1b,3b\n" ".previous" : "=r" (ret), "=r" (*(u32 *)to) : "b" (from), "i" (-14), "0" (ret)); break; case 4: __asm__ __volatile__( "1:	""lwz"" %1,0(%2)	# get_user\n" "2:\n" ".section .fixup,\"ax\"\n" "3:	li %0,%3\n" "	li %1,0\n" "	b 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" ".balign 4" " " "\n" ".long" " " "1b,3b\n" ".previous" : "=r" (ret), "=r" (*(u32 *)to) : "b" (from), "i" (-14), "0" (ret)); break; case 8: __asm__ __volatile__( "1:	lwz %1,0(%2)\n" "2:	lwz %1+1,4(%2)\n" "3:\n" ".section .fixup,\"ax\"\n" "4:	li %0,%3\n" "	li %1,0\n" "	li %1+1,0\n" "	b 3b\n" ".previous\n" ".section __ex_table,\"a\"\n" ".balign 4" " " "\n" ".long" " " "1b,4b\n" ".long" " " "2b,4b\n" ".previous" : "=r" (ret), "=&r" (*(u32 *)to) : "b" (from), "i" (-14), "0" (ret)); break; default: (*(u32 *)to) = __get_user_bad(); } } while (0);
+   break;
+  case 8:
+   do { ret = 0; (void)0; if (8 > sizeof(*(u64 *)to)) (*(u64 *)to) = __get_user_bad(); switch (8) { case 1: __asm__ __volatile__( "1:	""lbz"" %1,0(%2)	# get_user\n" "2:\n" ".section .fixup,\"ax\"\n" "3:	li %0,%3\n" "	li %1,0\n" "	b 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" ".balign 4" " " "\n" ".long" " " "1b,3b\n" ".previous" : "=r" (ret), "=r" (*(u64 *)to) : "b" (from), "i" (-14), "0" (ret)); break; case 2: __asm__ __volatile__( "1:	""lhz"" %1,0(%2)	# get_user\n" "2:\n" ".section .fixup,\"ax\"\n" "3:	li %0,%3\n" "	li %1,0\n" "	b 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" ".balign 4" " " "\n" ".long" " " "1b,3b\n" ".previous" : "=r" (ret), "=r" (*(u64 *)to) : "b" (from), "i" (-14), "0" (ret)); break; case 4: __asm__ __volatile__( "1:	""lwz"" %1,0(%2)	# get_user\n" "2:\n" ".section .fixup,\"ax\"\n" "3:	li %0,%3\n" "	li %1,0\n" "	b 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" ".balign 4" " " "\n" ".long" " " "1b,3b\n" ".previous" : "=r" (ret), "=r" (*(u64 *)to) : "b" (from), "i" (-14), "0" (ret)); break; case 8: __asm__ __volatile__( "1:	lwz %1,0(%2)\n" "2:	lwz %1+1,4(%2)\n" "3:\n" ".section .fixup,\"ax\"\n" "4:	li %0,%3\n" "	li %1,0\n" "	li %1+1,0\n" "	b 3b\n" ".previous\n" ".section __ex_table,\"a\"\n" ".balign 4" " " "\n" ".long" " " "1b,4b\n" ".long" " " "2b,4b\n" ".previous" : "=r" (ret), "=&r" (*(u64 *)to) : "b" (from), "i" (-14), "0" (ret)); break; default: (*(u64 *)to) = __get_user_bad(); } } while (0);
+   break;
+  }
+  if (ret == 0)
+   return 0;
+ }
+ return __copy_tofrom_user(( void *)to, from, n);
+}
+
+static inline __attribute__((always_inline)) unsigned long __copy_to_user_inatomic(void *to,
+  const void *from, unsigned long n)
+{
+ if (__builtin_constant_p(n) && (n <= 8)) {
+  unsigned long ret = 1;
+
+  switch (n) {
+  case 1:
+   do { ret = 0; switch (1) { case 1: __asm__ __volatile__( "1:	" "stb" " %1,0(%2)	# put_user\n" "2:\n" ".section .fixup,\"ax\"\n" "3:	li %0,%3\n" "	b 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" ".balign 4" " " "\n" ".long" " " "1b,3b\n" ".previous" : "=r" (ret) : "r" (*(u8 *)from), "b" ((u8 *)to), "i" (-14), "0" (ret)); break; case 2: __asm__ __volatile__( "1:	" "sth" " %1,0(%2)	# put_user\n" "2:\n" ".section .fixup,\"ax\"\n" "3:	li %0,%3\n" "	b 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" ".balign 4" " " "\n" ".long" " " "1b,3b\n" ".previous" : "=r" (ret) : "r" (*(u8 *)from), "b" ((u8 *)to), "i" (-14), "0" (ret)); break; case 4: __asm__ __volatile__( "1:	" "stw" " %1,0(%2)	# put_user\n" "2:\n" ".section .fixup,\"ax\"\n" "3:	li %0,%3\n" "	b 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" ".balign 4" " " "\n" ".long" " " "1b,3b\n" ".previous" : "=r" (ret) : "r" (*(u8 *)from), "b" ((u8 *)to), "i" (-14), "0" (ret)); break; case 8: __asm__ __volatile__( "1:	stw %1,0(%2)\n" "2:	stw %1+1,4(%2)\n" "3:\n" ".section .fixup,\"ax\"\n" "4:	li %0,%3\n" "	b 3b\n" ".previous\n" ".section __ex_table,\"a\"\n" ".balign 4" " " "\n" ".long" " " "1b,4b\n" ".long" " " "2b,4b\n" ".previous" : "=r" (ret) : "r" (*(u8 *)from), "b" ((u8 *)to), "i" (-14), "0" (ret)); break; default: __put_user_bad(); } } while (0);
+   break;
+  case 2:
+   do { ret = 0; switch (2) { case 1: __asm__ __volatile__( "1:	" "stb" " %1,0(%2)	# put_user\n" "2:\n" ".section .fixup,\"ax\"\n" "3:	li %0,%3\n" "	b 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" ".balign 4" " " "\n" ".long" " " "1b,3b\n" ".previous" : "=r" (ret) : "r" (*(u16 *)from), "b" ((u16 *)to), "i" (-14), "0" (ret)); break; case 2: __asm__ __volatile__( "1:	" "sth" " %1,0(%2)	# put_user\n" "2:\n" ".section .fixup,\"ax\"\n" "3:	li %0,%3\n" "	b 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" ".balign 4" " " "\n" ".long" " " "1b,3b\n" ".previous" : "=r" (ret) : "r" (*(u16 *)from), "b" ((u16 *)to), "i" (-14), "0" (ret)); break; case 4: __asm__ __volatile__( "1:	" "stw" " %1,0(%2)	# put_user\n" "2:\n" ".section .fixup,\"ax\"\n" "3:	li %0,%3\n" "	b 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" ".balign 4" " " "\n" ".long" " " "1b,3b\n" ".previous" : "=r" (ret) : "r" (*(u16 *)from), "b" ((u16 *)to), "i" (-14), "0" (ret)); break; case 8: __asm__ __volatile__( "1:	stw %1,0(%2)\n" "2:	stw %1+1,4(%2)\n" "3:\n" ".section .fixup,\"ax\"\n" "4:	li %0,%3\n" "	b 3b\n" ".previous\n" ".section __ex_table,\"a\"\n" ".balign 4" " " "\n" ".long" " " "1b,4b\n" ".long" " " "2b,4b\n" ".previous" : "=r" (ret) : "r" (*(u16 *)from), "b" ((u16 *)to), "i" (-14), "0" (ret)); break; default: __put_user_bad(); } } while (0);
+   break;
+  case 4:
+   do { ret = 0; switch (4) { case 1: __asm__ __volatile__( "1:	" "stb" " %1,0(%2)	# put_user\n" "2:\n" ".section .fixup,\"ax\"\n" "3:	li %0,%3\n" "	b 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" ".balign 4" " " "\n" ".long" " " "1b,3b\n" ".previous" : "=r" (ret) : "r" (*(u32 *)from), "b" ((u32 *)to), "i" (-14), "0" (ret)); break; case 2: __asm__ __volatile__( "1:	" "sth" " %1,0(%2)	# put_user\n" "2:\n" ".section .fixup,\"ax\"\n" "3:	li %0,%3\n" "	b 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" ".balign 4" " " "\n" ".long" " " "1b,3b\n" ".previous" : "=r" (ret) : "r" (*(u32 *)from), "b" ((u32 *)to), "i" (-14), "0" (ret)); break; case 4: __asm__ __volatile__( "1:	" "stw" " %1,0(%2)	# put_user\n" "2:\n" ".section .fixup,\"ax\"\n" "3:	li %0,%3\n" "	b 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" ".balign 4" " " "\n" ".long" " " "1b,3b\n" ".previous" : "=r" (ret) : "r" (*(u32 *)from), "b" ((u32 *)to), "i" (-14), "0" (ret)); break; case 8: __asm__ __volatile__( "1:	stw %1,0(%2)\n" "2:	stw %1+1,4(%2)\n" "3:\n" ".section .fixup,\"ax\"\n" "4:	li %0,%3\n" "	b 3b\n" ".previous\n" ".section __ex_table,\"a\"\n" ".balign 4" " " "\n" ".long" " " "1b,4b\n" ".long" " " "2b,4b\n" ".previous" : "=r" (ret) : "r" (*(u32 *)from), "b" ((u32 *)to), "i" (-14), "0" (ret)); break; default: __put_user_bad(); } } while (0);
+   break;
+  case 8:
+   do { ret = 0; switch (8) { case 1: __asm__ __volatile__( "1:	" "stb" " %1,0(%2)	# put_user\n" "2:\n" ".section .fixup,\"ax\"\n" "3:	li %0,%3\n" "	b 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" ".balign 4" " " "\n" ".long" " " "1b,3b\n" ".previous" : "=r" (ret) : "r" (*(u64 *)from), "b" ((u64 *)to), "i" (-14), "0" (ret)); break; case 2: __asm__ __volatile__( "1:	" "sth" " %1,0(%2)	# put_user\n" "2:\n" ".section .fixup,\"ax\"\n" "3:	li %0,%3\n" "	b 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" ".balign 4" " " "\n" ".long" " " "1b,3b\n" ".previous" : "=r" (ret) : "r" (*(u64 *)from), "b" ((u64 *)to), "i" (-14), "0" (ret)); break; case 4: __asm__ __volatile__( "1:	" "stw" " %1,0(%2)	# put_user\n" "2:\n" ".section .fixup,\"ax\"\n" "3:	li %0,%3\n" "	b 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" ".balign 4" " " "\n" ".long" " " "1b,3b\n" ".previous" : "=r" (ret) : "r" (*(u64 *)from), "b" ((u64 *)to), "i" (-14), "0" (ret)); break; case 8: __asm__ __volatile__( "1:	stw %1,0(%2)\n" "2:	stw %1+1,4(%2)\n" "3:\n" ".section .fixup,\"ax\"\n" "4:	li %0,%3\n" "	b 3b\n" ".previous\n" ".section __ex_table,\"a\"\n" ".balign 4" " " "\n" ".long" " " "1b,4b\n" ".long" " " "2b,4b\n" ".previous" : "=r" (ret) : "r" (*(u64 *)from), "b" ((u64 *)to), "i" (-14), "0" (ret)); break; default: __put_user_bad(); } } while (0);
+   break;
+  }
+  if (ret == 0)
+   return 0;
+ }
+ return __copy_tofrom_user(to, ( const void *)from, n);
+}
+
+static inline __attribute__((always_inline)) unsigned long __copy_from_user(void *to,
+  const void *from, unsigned long size)
+{
+ do { _cond_resched(); } while (0);
+ return __copy_from_user_inatomic(to, from, size);
+}
+
+static inline __attribute__((always_inline)) unsigned long __copy_to_user(void *to,
+  const void *from, unsigned long size)
+{
+ do { _cond_resched(); } while (0);
+ return __copy_to_user_inatomic(to, from, size);
+}
+
+extern unsigned long __clear_user(void *addr, unsigned long size);
+
+static inline __attribute__((always_inline)) unsigned long clear_user(void *addr, unsigned long size)
+{
+ do { _cond_resched(); } while (0);
+ if (__builtin_expect(!!(((void)0, (((( unsigned long)(addr)) <= ((current->thread.fs)).seg) && ((((size)) == 0) || ((((size)) - 1) <= (((current->thread.fs)).seg - (( unsigned long)(addr)))))))), 1))
+  return __clear_user(addr, size);
+ if ((unsigned long)addr < (0x70000000)) {
+  unsigned long over = (unsigned long)addr + size - (0x70000000);
+  return __clear_user(addr, size - over) + over;
+ }
+ return size;
+}
+
+extern int __strncpy_from_user(char *dst, const char *src, long count);
+
+static inline __attribute__((always_inline)) long strncpy_from_user(char *dst, const char *src,
+  long count)
+{
+ do { _cond_resched(); } while (0);
+ if (__builtin_expect(!!(((void)0, (((( unsigned long)(src)) <= ((current->thread.fs)).seg) && ((((1)) == 0) || ((((1)) - 1) <= (((current->thread.fs)).seg - (( unsigned long)(src)))))))), 1))
+  return __strncpy_from_user(dst, src, count);
+ return -14;
+}
+
+
+
+
+
+
+extern int __strnlen_user(const char *str, long len, unsigned long top);
+# 482 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/uaccess.h"
+static inline __attribute__((always_inline)) int strnlen_user(const char *str, long len)
+{
+ unsigned long top = current->thread.fs.seg;
+
+ if ((unsigned long)str > top)
+  return 0;
+ return __strnlen_user(str, len, top);
+}
+# 10 "fs/proc/root.c" 2
+
+
+
+# 1 "include/linux/proc_fs.h" 1
+
+
+
+# 1 "include/linux/slab.h" 1
+# 12 "include/linux/slab.h"
+# 1 "include/linux/gfp.h" 1
+
+
+
+
+
+
+
+# 1 "include/linux/mmdebug.h" 1
+# 9 "include/linux/gfp.h" 2
+
+struct vm_area_struct;
+# 150 "include/linux/gfp.h"
+static inline __attribute__((always_inline)) int allocflags_to_migratetype(gfp_t gfp_flags)
+{
+ ({ int __ret_warn_on = !!((gfp_flags & ((( gfp_t)0x80000u)|(( gfp_t)0x08u))) == ((( gfp_t)0x80000u)|(( gfp_t)0x08u))); if (__builtin_constant_p(__ret_warn_on)) { if (__ret_warn_on) do { __asm__ __volatile__( "1:	twi 31,0,0\n" ".section __bug_table,\"a\"\n" "2:\t" ".long" " " "1b, %0\n" "\t.short %1, %2\n" ".org 2b+%3\n" ".previous\n" : : "i" ("include/linux/gfp.h"), "i" (152), "i" (((1 << 0) | ((9) << 8))), "i" (sizeof(struct bug_entry))); } while (0); } else { __asm__ __volatile__( "1:	""twnei" " ""	%4,0\n" ".section __bug_table,\"a\"\n" "2:\t" ".long" " " "1b, %0\n" "\t.short %1, %2\n" ".org 2b+%3\n" ".previous\n" : : "i" ("include/linux/gfp.h"), "i" (152), "i" (((1 << 0) | ((9) << 8))), "i" (sizeof(struct bug_entry)), "r" (__ret_warn_on)); } __builtin_expect(!!(__ret_warn_on), 0); });
+
+ if (__builtin_expect(!!(page_group_by_mobility_disabled), 0))
+  return 0;
+
+
+ return (((gfp_flags & (( gfp_t)0x08u)) != 0) << 1) |
+  ((gfp_flags & (( gfp_t)0x80000u)) != 0);
+}
+# 245 "include/linux/gfp.h"
+static inline __attribute__((always_inline)) enum zone_type gfp_zone(gfp_t flags)
+{
+ enum zone_type z;
+ int bit = ( int) (flags & ((( gfp_t)0x01u)|(( gfp_t)0x02u)|(( gfp_t)0x04u)|(( gfp_t)0x08u)));
+
+ z = (( (ZONE_NORMAL << 0 * 2) | (ZONE_DMA << 0x01u * 2) | (ZONE_NORMAL << 0x02u * 2) | (ZONE_NORMAL << 0x04u * 2) | (ZONE_NORMAL << 0x08u * 2) | (ZONE_DMA << (0x08u | 0x01u) * 2) | (ZONE_MOVABLE << (0x08u | 0x02u) * 2) | (ZONE_NORMAL << (0x08u | 0x04u) * 2) ) >> (bit * 2)) &
+      ((1 << 2) - 1);
+
+ if (__builtin_constant_p(bit))
+  do { ((void)sizeof(char[1 - 2*!!((( 1 << (0x01u | 0x02u) | 1 << (0x01u | 0x04u) | 1 << (0x04u | 0x02u) | 1 << (0x01u | 0x04u | 0x02u) | 1 << (0x08u | 0x02u | 0x01u) | 1 << (0x08u | 0x04u | 0x01u) | 1 << (0x08u | 0x04u | 0x02u) | 1 << (0x08u | 0x04u | 0x01u | 0x02u) ) >> bit) & 1)])); if ((( 1 << (0x01u | 0x02u) | 1 << (0x01u | 0x04u) | 1 << (0x04u | 0x02u) | 1 << (0x01u | 0x04u | 0x02u) | 1 << (0x08u | 0x02u | 0x01u) | 1 << (0x08u | 0x04u | 0x01u) | 1 << (0x08u | 0x04u | 0x02u) | 1 << (0x08u | 0x04u | 0x01u | 0x02u) ) >> bit) & 1) __build_bug_on_failed = 1; } while(0);
+ else {
+
+
+
+ }
+ return z;
+}
+# 270 "include/linux/gfp.h"
+static inline __attribute__((always_inline)) int gfp_zonelist(gfp_t flags)
+{
+ if (0 && __builtin_expect(!!(flags & (( gfp_t)0x40000u)), 0))
+  return 1;
+
+ return 0;
+}
+# 287 "include/linux/gfp.h"
+static inline __attribute__((always_inline)) struct zonelist *node_zonelist(int nid, gfp_t flags)
+{
+ return (&contig_page_data)->node_zonelists + gfp_zonelist(flags);
+}
+
+
+static inline __attribute__((always_inline)) void arch_free_page(struct page *page, int order) { }
+
+
+static inline __attribute__((always_inline)) void arch_alloc_page(struct page *page, int order) { }
+
+
+struct page *
+__alloc_pages_nodemask(gfp_t gfp_mask, unsigned int order,
+         struct zonelist *zonelist, nodemask_t *nodemask);
+
+static inline __attribute__((always_inline)) struct page *
+__alloc_pages(gfp_t gfp_mask, unsigned int order,
+  struct zonelist *zonelist)
+{
+ return __alloc_pages_nodemask(gfp_mask, order, zonelist, ((void *)0));
+}
+
+static inline __attribute__((always_inline)) struct page *alloc_pages_node(int nid, gfp_t gfp_mask,
+      unsigned int order)
+{
+
+ if (nid < 0)
+  nid = numa_node_id();
+
+ return __alloc_pages(gfp_mask, order, node_zonelist(nid, gfp_mask));
+}
+
+static inline __attribute__((always_inline)) struct page *alloc_pages_exact_node(int nid, gfp_t gfp_mask,
+      unsigned int order)
+{
+ do { (void)(nid < 0 || nid >= (1 << 0)); } while (0);
+
+ return __alloc_pages(gfp_mask, order, node_zonelist(nid, gfp_mask));
+}
+# 351 "include/linux/gfp.h"
+extern unsigned long __get_free_pages(gfp_t gfp_mask, unsigned int order);
+extern unsigned long get_zeroed_page(gfp_t gfp_mask);
+
+void *alloc_pages_exact(size_t size, gfp_t gfp_mask);
+void free_pages_exact(void *virt, size_t size);
+
+void *alloc_pages_exact_nid(int nid, size_t size, gfp_t gfp_mask);
+
+
+
+
+
+
+
+extern void __free_pages(struct page *page, unsigned int order);
+extern void free_pages(unsigned long addr, unsigned int order);
+extern void free_hot_cold_page(struct page *page, int cold);
+
+
+
+
+void page_alloc_init(void);
+void drain_zone_pages(struct zone *zone, struct per_cpu_pages *pcp);
+void drain_all_pages(void);
+void drain_local_pages(void *dummy);
+
+extern gfp_t gfp_allowed_mask;
+
+extern void pm_restrict_gfp_mask(void);
+extern void pm_restore_gfp_mask(void);
+# 13 "include/linux/slab.h" 2
+# 103 "include/linux/slab.h"
+void __attribute__ ((__section__(".init.text"))) __attribute__((__cold__)) __attribute__((no_instrument_function)) kmem_cache_init(void);
+int slab_is_available(void);
+
+struct kmem_cache *kmem_cache_create(const char *, size_t, size_t,
+   unsigned long,
+   void (*)(void *));
+void kmem_cache_destroy(struct kmem_cache *);
+int kmem_cache_shrink(struct kmem_cache *);
+void kmem_cache_free(struct kmem_cache *, void *);
+unsigned int kmem_cache_size(struct kmem_cache *);
+# 144 "include/linux/slab.h"
+void * __krealloc(const void *, size_t, gfp_t);
+void * krealloc(const void *, size_t, gfp_t);
+void kfree(const void *);
+void kzfree(const void *);
+size_t ksize(const void *);
+# 170 "include/linux/slab.h"
+# 1 "include/linux/slub_def.h" 1
+# 12 "include/linux/slub_def.h"
+# 1 "include/linux/kobject.h" 1
+# 21 "include/linux/kobject.h"
+# 1 "include/linux/sysfs.h" 1
+# 19 "include/linux/sysfs.h"
+# 1 "include/linux/kobject_ns.h" 1
+# 20 "include/linux/kobject_ns.h"
+struct sock;
+struct kobject;
+
+
+
+
+
+enum kobj_ns_type {
+ KOBJ_NS_TYPE_NONE = 0,
+ KOBJ_NS_TYPE_NET,
+ KOBJ_NS_TYPES
+};
+
+
+
+
+
+
+
+struct kobj_ns_type_operations {
+ enum kobj_ns_type type;
+ const void *(*current_ns)(void);
+ const void *(*netlink_ns)(struct sock *sk);
+ const void *(*initial_ns)(void);
+};
+
+int kobj_ns_type_register(const struct kobj_ns_type_operations *ops);
+int kobj_ns_type_registered(enum kobj_ns_type type);
+const struct kobj_ns_type_operations *kobj_child_ns_ops(struct kobject *parent);
+const struct kobj_ns_type_operations *kobj_ns_ops(struct kobject *kobj);
+
+const void *kobj_ns_current(enum kobj_ns_type type);
+const void *kobj_ns_netlink(enum kobj_ns_type type, struct sock *sk);
+const void *kobj_ns_initial(enum kobj_ns_type type);
+void kobj_ns_exit(enum kobj_ns_type type, const void *ns);
+# 20 "include/linux/sysfs.h" 2
+
+
+struct kobject;
+struct module;
+enum kobj_ns_type;
+
+struct attribute {
+ const char *name;
+ mode_t mode;
+
+
+
+
+};
+# 56 "include/linux/sysfs.h"
+struct attribute_group {
+ const char *name;
+ mode_t (*is_visible)(struct kobject *,
+           struct attribute *, int);
+ struct attribute **attrs;
+};
+# 85 "include/linux/sysfs.h"
+struct file;
+struct vm_area_struct;
+
+struct bin_attribute {
+ struct attribute attr;
+ size_t size;
+ void *private;
+ ssize_t (*read)(struct file *, struct kobject *, struct bin_attribute *,
+   char *, loff_t, size_t);
+ ssize_t (*write)(struct file *,struct kobject *, struct bin_attribute *,
+    char *, loff_t, size_t);
+ int (*mmap)(struct file *, struct kobject *, struct bin_attribute *attr,
+      struct vm_area_struct *vma);
+};
+# 112 "include/linux/sysfs.h"
+struct sysfs_ops {
+ ssize_t (*show)(struct kobject *, struct attribute *,char *);
+ ssize_t (*store)(struct kobject *,struct attribute *,const char *, size_t);
+};
+
+struct sysfs_dirent;
+
+
+
+int sysfs_schedule_callback(struct kobject *kobj, void (*func)(void *),
+       void *data, struct module *owner);
+
+int sysfs_create_dir(struct kobject *kobj);
+void sysfs_remove_dir(struct kobject *kobj);
+int sysfs_rename_dir(struct kobject *kobj, const char *new_name);
+int sysfs_move_dir(struct kobject *kobj,
+    struct kobject *new_parent_kobj);
+
+int sysfs_create_file(struct kobject *kobj,
+       const struct attribute *attr);
+int sysfs_create_files(struct kobject *kobj,
+       const struct attribute **attr);
+int sysfs_chmod_file(struct kobject *kobj,
+      const struct attribute *attr, mode_t mode);
+void sysfs_remove_file(struct kobject *kobj, const struct attribute *attr);
+void sysfs_remove_files(struct kobject *kobj, const struct attribute **attr);
+
+int sysfs_create_bin_file(struct kobject *kobj,
+           const struct bin_attribute *attr);
+void sysfs_remove_bin_file(struct kobject *kobj,
+      const struct bin_attribute *attr);
+
+int sysfs_create_link(struct kobject *kobj, struct kobject *target,
+       const char *name);
+int sysfs_create_link_nowarn(struct kobject *kobj,
+       struct kobject *target,
+       const char *name);
+void sysfs_remove_link(struct kobject *kobj, const char *name);
+
+int sysfs_rename_link(struct kobject *kobj, struct kobject *target,
+   const char *old_name, const char *new_name);
+
+void sysfs_delete_link(struct kobject *dir, struct kobject *targ,
+   const char *name);
+
+int sysfs_create_group(struct kobject *kobj,
+        const struct attribute_group *grp);
+int sysfs_update_group(struct kobject *kobj,
+         const struct attribute_group *grp);
+void sysfs_remove_group(struct kobject *kobj,
+   const struct attribute_group *grp);
+int sysfs_add_file_to_group(struct kobject *kobj,
+   const struct attribute *attr, const char *group);
+void sysfs_remove_file_from_group(struct kobject *kobj,
+   const struct attribute *attr, const char *group);
+int sysfs_merge_group(struct kobject *kobj,
+         const struct attribute_group *grp);
+void sysfs_unmerge_group(struct kobject *kobj,
+         const struct attribute_group *grp);
+
+void sysfs_notify(struct kobject *kobj, const char *dir, const char *attr);
+void sysfs_notify_dirent(struct sysfs_dirent *sd);
+struct sysfs_dirent *sysfs_get_dirent(struct sysfs_dirent *parent_sd,
+          const void *ns,
+          const unsigned char *name);
+struct sysfs_dirent *sysfs_get(struct sysfs_dirent *sd);
+void sysfs_put(struct sysfs_dirent *sd);
+void sysfs_printk_last_file(void);
+
+
+void sysfs_exit_ns(enum kobj_ns_type type, const void *tag);
+
+int sysfs_init(void);
+# 22 "include/linux/kobject.h" 2
+
+
+# 1 "include/linux/kref.h" 1
+# 20 "include/linux/kref.h"
+struct kref {
+ atomic_t refcount;
+};
+
+void kref_init(struct kref *kref);
+void kref_get(struct kref *kref);
+int kref_put(struct kref *kref, void (*release) (struct kref *kref));
+int kref_sub(struct kref *kref, unsigned int count,
+      void (*release) (struct kref *kref));
+# 25 "include/linux/kobject.h" 2
+# 35 "include/linux/kobject.h"
+extern char uevent_helper[];
+
+
+extern u64 uevent_seqnum;
+# 50 "include/linux/kobject.h"
+enum kobject_action {
+ KOBJ_ADD,
+ KOBJ_REMOVE,
+ KOBJ_CHANGE,
+ KOBJ_MOVE,
+ KOBJ_ONLINE,
+ KOBJ_OFFLINE,
+ KOBJ_MAX
+};
+
+struct kobject {
+ const char *name;
+ struct list_head entry;
+ struct kobject *parent;
+ struct kset *kset;
+ struct kobj_type *ktype;
+ struct sysfs_dirent *sd;
+ struct kref kref;
+ unsigned int state_initialized:1;
+ unsigned int state_in_sysfs:1;
+ unsigned int state_add_uevent_sent:1;
+ unsigned int state_remove_uevent_sent:1;
+ unsigned int uevent_suppress:1;
+};
+
+extern int kobject_set_name(struct kobject *kobj, const char *name, ...)
+       __attribute__((format(printf, 2, 3)));
+extern int kobject_set_name_vargs(struct kobject *kobj, const char *fmt,
+      va_list vargs);
+
+static inline __attribute__((always_inline)) const char *kobject_name(const struct kobject *kobj)
+{
+ return kobj->name;
+}
+
+extern void kobject_init(struct kobject *kobj, struct kobj_type *ktype);
+extern int kobject_add(struct kobject *kobj,
+        struct kobject *parent,
+        const char *fmt, ...)
+ __attribute__((format(printf, 3, 4)));
+extern int kobject_init_and_add(struct kobject *kobj,
+          struct kobj_type *ktype,
+          struct kobject *parent,
+          const char *fmt, ...)
+ __attribute__((format(printf, 4, 5)));
+
+extern void kobject_del(struct kobject *kobj);
+
+extern struct kobject * kobject_create(void);
+extern struct kobject * kobject_create_and_add(const char *name,
+      struct kobject *parent);
+
+extern int kobject_rename(struct kobject *, const char *new_name);
+extern int kobject_move(struct kobject *, struct kobject *);
+
+extern struct kobject *kobject_get(struct kobject *kobj);
+extern void kobject_put(struct kobject *kobj);
+
+extern char *kobject_get_path(struct kobject *kobj, gfp_t flag);
+
+struct kobj_type {
+ void (*release)(struct kobject *kobj);
+ const struct sysfs_ops *sysfs_ops;
+ struct attribute **default_attrs;
+ const struct kobj_ns_type_operations *(*child_ns_type)(struct kobject *kobj);
+ const void *(*namespace)(struct kobject *kobj);
+};
+
+struct kobj_uevent_env {
+ char *envp[32];
+ int envp_idx;
+ char buf[2048];
+ int buflen;
+};
+
+struct kset_uevent_ops {
+ int (* const filter)(struct kset *kset, struct kobject *kobj);
+ const char *(* const name)(struct kset *kset, struct kobject *kobj);
+ int (* const uevent)(struct kset *kset, struct kobject *kobj,
+        struct kobj_uevent_env *env);
+};
+
+struct kobj_attribute {
+ struct attribute attr;
+ ssize_t (*show)(struct kobject *kobj, struct kobj_attribute *attr,
+   char *buf);
+ ssize_t (*store)(struct kobject *kobj, struct kobj_attribute *attr,
+    const char *buf, size_t count);
+};
+
+extern const struct sysfs_ops kobj_sysfs_ops;
+
+struct sock;
+# 161 "include/linux/kobject.h"
+struct kset {
+ struct list_head list;
+ spinlock_t list_lock;
+ struct kobject kobj;
+ const struct kset_uevent_ops *uevent_ops;
+};
+
+extern void kset_init(struct kset *kset);
+extern int kset_register(struct kset *kset);
+extern void kset_unregister(struct kset *kset);
+extern struct kset * kset_create_and_add(const char *name,
+      const struct kset_uevent_ops *u,
+      struct kobject *parent_kobj);
+
+static inline __attribute__((always_inline)) struct kset *to_kset(struct kobject *kobj)
+{
+ return kobj ? ({ const typeof( ((struct kset *)0)->kobj ) *__mptr = (kobj); (struct kset *)( (char *)__mptr - __builtin_offsetof(struct kset,kobj) );}) : ((void *)0);
+}
+
+static inline __attribute__((always_inline)) struct kset *kset_get(struct kset *k)
+{
+ return k ? to_kset(kobject_get(&k->kobj)) : ((void *)0);
+}
+
+static inline __attribute__((always_inline)) void kset_put(struct kset *k)
+{
+ kobject_put(&k->kobj);
+}
+
+static inline __attribute__((always_inline)) struct kobj_type *get_ktype(struct kobject *kobj)
+{
+ return kobj->ktype;
+}
+
+extern struct kobject *kset_find_obj(struct kset *, const char *);
+extern struct kobject *kset_find_obj_hinted(struct kset *, const char *,
+      struct kobject *);
+
+
+extern struct kobject *kernel_kobj;
+
+extern struct kobject *mm_kobj;
+
+extern struct kobject *hypervisor_kobj;
+
+extern struct kobject *power_kobj;
+
+extern struct kobject *firmware_kobj;
+
+
+int kobject_uevent(struct kobject *kobj, enum kobject_action action);
+int kobject_uevent_env(struct kobject *kobj, enum kobject_action action,
+   char *envp[]);
+
+int add_uevent_var(struct kobj_uevent_env *env, const char *format, ...)
+ __attribute__((format (printf, 2, 3)));
+
+int kobject_action_type(const char *buf, size_t count,
+   enum kobject_action *type);
+# 13 "include/linux/slub_def.h" 2
+
+# 1 "include/linux/kmemleak.h" 1
+# 59 "include/linux/kmemleak.h"
+static inline __attribute__((always_inline)) void kmemleak_init(void)
+{
+}
+static inline __attribute__((always_inline)) void kmemleak_alloc(const void *ptr, size_t size, int min_count,
+      gfp_t gfp)
+{
+}
+static inline __attribute__((always_inline)) void kmemleak_alloc_recursive(const void *ptr, size_t size,
+         int min_count, unsigned long flags,
+         gfp_t gfp)
+{
+}
+static inline __attribute__((always_inline)) void kmemleak_free(const void *ptr)
+{
+}
+static inline __attribute__((always_inline)) void kmemleak_free_part(const void *ptr, size_t size)
+{
+}
+static inline __attribute__((always_inline)) void kmemleak_free_recursive(const void *ptr, unsigned long flags)
+{
+}
+static inline __attribute__((always_inline)) void kmemleak_not_leak(const void *ptr)
+{
+}
+static inline __attribute__((always_inline)) void kmemleak_ignore(const void *ptr)
+{
+}
+static inline __attribute__((always_inline)) void kmemleak_scan_area(const void *ptr, size_t size, gfp_t gfp)
+{
+}
+static inline __attribute__((always_inline)) void kmemleak_erase(void **ptr)
+{
+}
+static inline __attribute__((always_inline)) void kmemleak_no_scan(const void *ptr)
+{
+}
+# 15 "include/linux/slub_def.h" 2
+
+enum stat_item {
+ ALLOC_FASTPATH,
+ ALLOC_SLOWPATH,
+ FREE_FASTPATH,
+ FREE_SLOWPATH,
+ FREE_FROZEN,
+ FREE_ADD_PARTIAL,
+ FREE_REMOVE_PARTIAL,
+ ALLOC_FROM_PARTIAL,
+ ALLOC_SLAB,
+ ALLOC_REFILL,
+ FREE_SLAB,
+ CPUSLAB_FLUSH,
+ DEACTIVATE_FULL,
+ DEACTIVATE_EMPTY,
+ DEACTIVATE_TO_HEAD,
+ DEACTIVATE_TO_TAIL,
+ DEACTIVATE_REMOTE_FREES,
+ ORDER_FALLBACK,
+ CMPXCHG_DOUBLE_CPU_FAIL,
+ NR_SLUB_STAT_ITEMS };
+
+struct kmem_cache_cpu {
+ void **freelist;
+
+
+
+ struct page *page;
+ int node;
+
+
+
+};
+
+struct kmem_cache_node {
+ spinlock_t list_lock;
+ unsigned long nr_partial;
+ struct list_head partial;
+
+ atomic_long_t nr_slabs;
+ atomic_long_t total_objects;
+ struct list_head full;
+
+};
+
+
+
+
+
+
+struct kmem_cache_order_objects {
+ unsigned long x;
+};
+
+
+
+
+struct kmem_cache {
+ struct kmem_cache_cpu *cpu_slab;
+
+ unsigned long flags;
+ unsigned long min_partial;
+ int size;
+ int objsize;
+ int offset;
+ struct kmem_cache_order_objects oo;
+
+
+ struct kmem_cache_order_objects max;
+ struct kmem_cache_order_objects min;
+ gfp_t allocflags;
+ int refcount;
+ void (*ctor)(void *);
+ int inuse;
+ int align;
+ int reserved;
+ const char *name;
+ struct list_head list;
+
+ struct kobject kobj;
+# 104 "include/linux/slub_def.h"
+ struct kmem_cache_node *node[(1 << 0)];
+};
+# 152 "include/linux/slub_def.h"
+extern struct kmem_cache *kmalloc_caches[(12 + 2)];
+
+
+
+
+
+static inline __attribute__((always_inline)) __attribute__((always_inline)) int kmalloc_index(size_t size)
+{
+ if (!size)
+  return 0;
+
+ if (size <= 8)
+  return ( __builtin_constant_p(8) ? ( (8) < 1 ? ____ilog2_NaN() : (8) & (1ULL << 63) ? 63 : (8) & (1ULL << 62) ? 62 : (8) & (1ULL << 61) ? 61 : (8) & (1ULL << 60) ? 60 : (8) & (1ULL << 59) ? 59 : (8) & (1ULL << 58) ? 58 : (8) & (1ULL << 57) ? 57 : (8) & (1ULL << 56) ? 56 : (8) & (1ULL << 55) ? 55 : (8) & (1ULL << 54) ? 54 : (8) & (1ULL << 53) ? 53 : (8) & (1ULL << 52) ? 52 : (8) & (1ULL << 51) ? 51 : (8) & (1ULL << 50) ? 50 : (8) & (1ULL << 49) ? 49 : (8) & (1ULL << 48) ? 48 : (8) & (1ULL << 47) ? 47 : (8) & (1ULL << 46) ? 46 : (8) & (1ULL << 45) ? 45 : (8) & (1ULL << 44) ? 44 : (8) & (1ULL << 43) ? 43 : (8) & (1ULL << 42) ? 42 : (8) & (1ULL << 41) ? 41 : (8) & (1ULL << 40) ? 40 : (8) & (1ULL << 39) ? 39 : (8) & (1ULL << 38) ? 38 : (8) & (1ULL << 37) ? 37 : (8) & (1ULL << 36) ? 36 : (8) & (1ULL << 35) ? 35 : (8) & (1ULL << 34) ? 34 : (8) & (1ULL << 33) ? 33 : (8) & (1ULL << 32) ? 32 : (8) & (1ULL << 31) ? 31 : (8) & (1ULL << 30) ? 30 : (8) & (1ULL << 29) ? 29 : (8) & (1ULL << 28) ? 28 : (8) & (1ULL << 27) ? 27 : (8) & (1ULL << 26) ? 26 : (8) & (1ULL << 25) ? 25 : (8) & (1ULL << 24) ? 24 : (8) & (1ULL << 23) ? 23 : (8) & (1ULL << 22) ? 22 : (8) & (1ULL << 21) ? 21 : (8) & (1ULL << 20) ? 20 : (8) & (1ULL << 19) ? 19 : (8) & (1ULL << 18) ? 18 : (8) & (1ULL << 17) ? 17 : (8) & (1ULL << 16) ? 16 : (8) & (1ULL << 15) ? 15 : (8) & (1ULL << 14) ? 14 : (8) & (1ULL << 13) ? 13 : (8) & (1ULL << 12) ? 12 : (8) & (1ULL << 11) ? 11 : (8) & (1ULL << 10) ? 10 : (8) & (1ULL << 9) ? 9 : (8) & (1ULL << 8) ? 8 : (8) & (1ULL << 7) ? 7 : (8) & (1ULL << 6) ? 6 : (8) & (1ULL << 5) ? 5 : (8) & (1ULL << 4) ? 4 : (8) & (1ULL << 3) ? 3 : (8) & (1ULL << 2) ? 2 : (8) & (1ULL << 1) ? 1 : (8) & (1ULL << 0) ? 0 : ____ilog2_NaN() ) : (sizeof(8) <= 4) ? __ilog2_u32(8) : __ilog2_u64(8) );
+
+ if (8 <= 32 && size > 64 && size <= 96)
+  return 1;
+ if (8 <= 64 && size > 128 && size <= 192)
+  return 2;
+ if (size <= 8) return 3;
+ if (size <= 16) return 4;
+ if (size <= 32) return 5;
+ if (size <= 64) return 6;
+ if (size <= 128) return 7;
+ if (size <= 256) return 8;
+ if (size <= 512) return 9;
+ if (size <= 1024) return 10;
+ if (size <= 2 * 1024) return 11;
+ if (size <= 4 * 1024) return 12;
+
+
+
+
+ if (size <= 8 * 1024) return 13;
+ if (size <= 16 * 1024) return 14;
+ if (size <= 32 * 1024) return 15;
+ if (size <= 64 * 1024) return 16;
+ if (size <= 128 * 1024) return 17;
+ if (size <= 256 * 1024) return 18;
+ if (size <= 512 * 1024) return 19;
+ if (size <= 1024 * 1024) return 20;
+ if (size <= 2 * 1024 * 1024) return 21;
+ return -1;
+# 202 "include/linux/slub_def.h"
+}
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) __attribute__((always_inline)) struct kmem_cache *kmalloc_slab(size_t size)
+{
+ int index = kmalloc_index(size);
+
+ if (index == 0)
+  return ((void *)0);
+
+ return kmalloc_caches[index];
+}
+
+void *kmem_cache_alloc(struct kmem_cache *, gfp_t);
+void *__kmalloc(size_t size, gfp_t flags);
+
+static inline __attribute__((always_inline)) __attribute__((always_inline)) void *
+kmalloc_order(size_t size, gfp_t flags, unsigned int order)
+{
+ void *ret = (void *) __get_free_pages(flags | (( gfp_t)0x4000u), order);
+ kmemleak_alloc(ret, size, 1, flags);
+ return ret;
+}
+
+
+extern void *
+kmem_cache_alloc_trace(struct kmem_cache *s, gfp_t gfpflags, size_t size);
+extern void *kmalloc_order_trace(size_t size, gfp_t flags, unsigned int order);
+# 249 "include/linux/slub_def.h"
+static inline __attribute__((always_inline)) __attribute__((always_inline)) void *kmalloc_large(size_t size, gfp_t flags)
+{
+ unsigned int order = get_order(size);
+ return kmalloc_order_trace(size, flags, order);
+}
+
+static inline __attribute__((always_inline)) __attribute__((always_inline)) void *kmalloc(size_t size, gfp_t flags)
+{
+ if (__builtin_constant_p(size)) {
+  if (size > (2 * (1UL << 12)))
+   return kmalloc_large(size, flags);
+
+  if (!(flags & (( gfp_t)0x01u))) {
+   struct kmem_cache *s = kmalloc_slab(size);
+
+   if (!s)
+    return ((void *)16);
+
+   return kmem_cache_alloc_trace(s, flags, size);
+  }
+ }
+ return __kmalloc(size, flags);
+}
+# 171 "include/linux/slab.h" 2
+# 228 "include/linux/slab.h"
+static inline __attribute__((always_inline)) void *kcalloc(size_t n, size_t size, gfp_t flags)
+{
+ if (size != 0 && n > (~0UL) / size)
+  return ((void *)0);
+ return __kmalloc(n * size, flags | (( gfp_t)0x8000u));
+}
+# 246 "include/linux/slab.h"
+static inline __attribute__((always_inline)) void *kmalloc_node(size_t size, gfp_t flags, int node)
+{
+ return kmalloc(size, flags);
+}
+
+static inline __attribute__((always_inline)) void *__kmalloc_node(size_t size, gfp_t flags, int node)
+{
+ return __kmalloc(size, flags);
+}
+
+void *kmem_cache_alloc(struct kmem_cache *, gfp_t);
+
+static inline __attribute__((always_inline)) void *kmem_cache_alloc_node(struct kmem_cache *cachep,
+     gfp_t flags, int node)
+{
+ return kmem_cache_alloc(cachep, flags);
+}
+# 275 "include/linux/slab.h"
+extern void *__kmalloc_track_caller(size_t, gfp_t, unsigned long);
+# 313 "include/linux/slab.h"
+static inline __attribute__((always_inline)) void *kmem_cache_zalloc(struct kmem_cache *k, gfp_t flags)
+{
+ return kmem_cache_alloc(k, flags | (( gfp_t)0x8000u));
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) void *kzalloc(size_t size, gfp_t flags)
+{
+ return kmalloc(size, flags | (( gfp_t)0x8000u));
+}
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) void *kzalloc_node(size_t size, gfp_t flags, int node)
+{
+ return kmalloc_node(size, flags | (( gfp_t)0x8000u), node);
+}
+
+void __attribute__ ((__section__(".init.text"))) __attribute__((__cold__)) __attribute__((no_instrument_function)) kmem_cache_init_late(void);
+# 5 "include/linux/proc_fs.h" 2
+# 1 "include/linux/fs.h" 1
+# 9 "include/linux/fs.h"
+# 1 "include/linux/limits.h" 1
+# 10 "include/linux/fs.h" 2
+# 1 "include/linux/ioctl.h" 1
+
+
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/ioctl.h" 1
+# 11 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/ioctl.h"
+# 1 "include/asm-generic/ioctl.h" 1
+# 73 "include/asm-generic/ioctl.h"
+extern unsigned int __invalid_size_argument_for_IOC;
+# 12 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/ioctl.h" 2
+# 5 "include/linux/ioctl.h" 2
+# 11 "include/linux/fs.h" 2
+# 1 "include/linux/blk_types.h" 1
+# 12 "include/linux/blk_types.h"
+struct bio_set;
+struct bio;
+struct bio_integrity_payload;
+struct page;
+struct block_device;
+typedef void (bio_end_io_t) (struct bio *, int);
+typedef void (bio_destructor_t) (struct bio *);
+
+
+
+
+struct bio_vec {
+ struct page *bv_page;
+ unsigned int bv_len;
+ unsigned int bv_offset;
+};
+
+
+
+
+
+struct bio {
+ sector_t bi_sector;
+
+ struct bio *bi_next;
+ struct block_device *bi_bdev;
+ unsigned long bi_flags;
+ unsigned long bi_rw;
+
+
+
+ unsigned short bi_vcnt;
+ unsigned short bi_idx;
+
+
+
+
+ unsigned int bi_phys_segments;
+
+ unsigned int bi_size;
+
+
+
+
+
+ unsigned int bi_seg_front_size;
+ unsigned int bi_seg_back_size;
+
+ unsigned int bi_max_vecs;
+
+ unsigned int bi_comp_cpu;
+
+ atomic_t bi_cnt;
+
+ struct bio_vec *bi_io_vec;
+
+ bio_end_io_t *bi_end_io;
+
+ void *bi_private;
+
+
+
+
+ bio_destructor_t *bi_destructor;
+
+
+
+
+
+
+ struct bio_vec bi_inline_vecs[0];
+};
+# 118 "include/linux/blk_types.h"
+enum rq_flag_bits {
+
+ __REQ_WRITE,
+ __REQ_FAILFAST_DEV,
+ __REQ_FAILFAST_TRANSPORT,
+ __REQ_FAILFAST_DRIVER,
+
+ __REQ_SYNC,
+ __REQ_META,
+ __REQ_DISCARD,
+ __REQ_NOIDLE,
+
+
+ __REQ_RAHEAD,
+ __REQ_THROTTLED,
+
+
+
+ __REQ_SORTED,
+ __REQ_SOFTBARRIER,
+ __REQ_FUA,
+ __REQ_NOMERGE,
+ __REQ_STARTED,
+ __REQ_DONTPREP,
+ __REQ_QUEUED,
+ __REQ_ELVPRIV,
+ __REQ_FAILED,
+ __REQ_QUIET,
+ __REQ_PREEMPT,
+ __REQ_ALLOCED,
+ __REQ_COPY_USER,
+ __REQ_FLUSH,
+ __REQ_FLUSH_SEQ,
+ __REQ_IO_STAT,
+ __REQ_MIXED_MERGE,
+ __REQ_SECURE,
+ __REQ_ON_PLUG,
+ __REQ_NR_BITS,
+};
+# 12 "include/linux/fs.h" 2
+# 36 "include/linux/fs.h"
+struct fstrim_range {
+ __u64 start;
+ __u64 len;
+ __u64 minlen;
+};
+
+
+struct files_stat_struct {
+ unsigned long nr_files;
+ unsigned long nr_free_files;
+ unsigned long max_files;
+};
+
+struct inodes_stat_t {
+ int nr_inodes;
+ int nr_unused;
+ int dummy[5];
+};
+# 376 "include/linux/fs.h"
+# 1 "include/linux/kdev_t.h" 1
+# 21 "include/linux/kdev_t.h"
+static inline __attribute__((always_inline)) int old_valid_dev(dev_t dev)
+{
+ return ((unsigned int) ((dev) >> 20)) < 256 && ((unsigned int) ((dev) & ((1U << 20) - 1))) < 256;
+}
+
+static inline __attribute__((always_inline)) u16 old_encode_dev(dev_t dev)
+{
+ return (((unsigned int) ((dev) >> 20)) << 8) | ((unsigned int) ((dev) & ((1U << 20) - 1)));
+}
+
+static inline __attribute__((always_inline)) dev_t old_decode_dev(u16 val)
+{
+ return ((((val >> 8) & 255) << 20) | (val & 255));
+}
+
+static inline __attribute__((always_inline)) int new_valid_dev(dev_t dev)
+{
+ return 1;
+}
+
+static inline __attribute__((always_inline)) u32 new_encode_dev(dev_t dev)
+{
+ unsigned major = ((unsigned int) ((dev) >> 20));
+ unsigned minor = ((unsigned int) ((dev) & ((1U << 20) - 1)));
+ return (minor & 0xff) | (major << 8) | ((minor & ~0xff) << 12);
+}
+
+static inline __attribute__((always_inline)) dev_t new_decode_dev(u32 dev)
+{
+ unsigned major = (dev & 0xfff00) >> 8;
+ unsigned minor = (dev & 0xff) | ((dev >> 12) & 0xfff00);
+ return (((major) << 20) | (minor));
+}
+
+static inline __attribute__((always_inline)) int huge_valid_dev(dev_t dev)
+{
+ return 1;
+}
+
+static inline __attribute__((always_inline)) u64 huge_encode_dev(dev_t dev)
+{
+ return new_encode_dev(dev);
+}
+
+static inline __attribute__((always_inline)) dev_t huge_decode_dev(u64 dev)
+{
+ return new_decode_dev(dev);
+}
+
+static inline __attribute__((always_inline)) int sysv_valid_dev(dev_t dev)
+{
+ return ((unsigned int) ((dev) >> 20)) < (1<<14) && ((unsigned int) ((dev) & ((1U << 20) - 1))) < (1<<18);
+}
+
+static inline __attribute__((always_inline)) u32 sysv_encode_dev(dev_t dev)
+{
+ return ((unsigned int) ((dev) & ((1U << 20) - 1))) | (((unsigned int) ((dev) >> 20)) << 18);
+}
+
+static inline __attribute__((always_inline)) unsigned sysv_major(u32 dev)
+{
+ return (dev >> 18) & 0x3fff;
+}
+
+static inline __attribute__((always_inline)) unsigned sysv_minor(u32 dev)
+{
+ return dev & 0x3ffff;
+}
+# 377 "include/linux/fs.h" 2
+# 1 "include/linux/dcache.h" 1
+
+
+
+
+
+
+# 1 "include/linux/rculist_bl.h" 1
+
+
+
+
+
+
+# 1 "include/linux/list_bl.h" 1
+
+
+
+
+# 1 "include/linux/bit_spinlock.h" 1
+# 14 "include/linux/bit_spinlock.h"
+static inline __attribute__((always_inline)) void bit_spin_lock(int bitnum, unsigned long *addr)
+{
+
+
+
+
+
+
+
+ do { } while (0);
+# 33 "include/linux/bit_spinlock.h"
+ (void)0;
+}
+
+
+
+
+static inline __attribute__((always_inline)) int bit_spin_trylock(int bitnum, unsigned long *addr)
+{
+ do { } while (0);
+
+
+
+
+
+
+ (void)0;
+ return 1;
+}
+
+
+
+
+static inline __attribute__((always_inline)) void bit_spin_unlock(int bitnum, unsigned long *addr)
+{
+
+
+
+
+
+
+ do { } while (0);
+ (void)0;
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) void __bit_spin_unlock(int bitnum, unsigned long *addr)
+{
+
+
+
+
+
+
+ do { } while (0);
+ (void)0;
+}
+
+
+
+
+static inline __attribute__((always_inline)) int bit_spin_is_locked(int bitnum, unsigned long *addr)
+{
+
+
+
+
+
+ return 1;
+
+}
+# 6 "include/linux/list_bl.h" 2
+# 33 "include/linux/list_bl.h"
+struct hlist_bl_head {
+ struct hlist_bl_node *first;
+};
+
+struct hlist_bl_node {
+ struct hlist_bl_node *next, **pprev;
+};
+
+
+
+static inline __attribute__((always_inline)) void INIT_HLIST_BL_NODE(struct hlist_bl_node *h)
+{
+ h->next = ((void *)0);
+ h->pprev = ((void *)0);
+}
+
+
+
+static inline __attribute__((always_inline)) int hlist_bl_unhashed(const struct hlist_bl_node *h)
+{
+ return !h->pprev;
+}
+
+static inline __attribute__((always_inline)) struct hlist_bl_node *hlist_bl_first(struct hlist_bl_head *h)
+{
+ return (struct hlist_bl_node *)
+  ((unsigned long)h->first & ~0UL);
+}
+
+static inline __attribute__((always_inline)) void hlist_bl_set_first(struct hlist_bl_head *h,
+     struct hlist_bl_node *n)
+{
+ ;
+
+                        ;
+ h->first = (struct hlist_bl_node *)((unsigned long)n | 0UL);
+}
+
+static inline __attribute__((always_inline)) int hlist_bl_empty(const struct hlist_bl_head *h)
+{
+ return !((unsigned long)h->first & ~0UL);
+}
+
+static inline __attribute__((always_inline)) void hlist_bl_add_head(struct hlist_bl_node *n,
+     struct hlist_bl_head *h)
+{
+ struct hlist_bl_node *first = hlist_bl_first(h);
+
+ n->next = first;
+ if (first)
+  first->pprev = &n->next;
+ n->pprev = &h->first;
+ hlist_bl_set_first(h, n);
+}
+
+static inline __attribute__((always_inline)) void __hlist_bl_del(struct hlist_bl_node *n)
+{
+ struct hlist_bl_node *next = n->next;
+ struct hlist_bl_node **pprev = n->pprev;
+
+ ;
+
+
+ *pprev = (struct hlist_bl_node *)
+   ((unsigned long)next |
+    ((unsigned long)*pprev & 0UL));
+ if (next)
+  next->pprev = pprev;
+}
+
+static inline __attribute__((always_inline)) void hlist_bl_del(struct hlist_bl_node *n)
+{
+ __hlist_bl_del(n);
+ n->next = ((void *) 0x00100100 + 0);
+ n->pprev = ((void *) 0x00200200 + 0);
+}
+
+static inline __attribute__((always_inline)) void hlist_bl_del_init(struct hlist_bl_node *n)
+{
+ if (!hlist_bl_unhashed(n)) {
+  __hlist_bl_del(n);
+  INIT_HLIST_BL_NODE(n);
+ }
+}
+
+static inline __attribute__((always_inline)) void hlist_bl_lock(struct hlist_bl_head *b)
+{
+ bit_spin_lock(0, (unsigned long *)b);
+}
+
+static inline __attribute__((always_inline)) void hlist_bl_unlock(struct hlist_bl_head *b)
+{
+ __bit_spin_unlock(0, (unsigned long *)b);
+}
+# 8 "include/linux/rculist_bl.h" 2
+
+
+static inline __attribute__((always_inline)) void hlist_bl_set_first_rcu(struct hlist_bl_head *h,
+     struct hlist_bl_node *n)
+{
+ ;
+
+                        ;
+ ({ if (!__builtin_constant_p(((struct hlist_bl_node *)((unsigned long)n | 0UL))) || ((((struct hlist_bl_node *)((unsigned long)n | 0UL))) != ((void *)0))) __asm__ __volatile__("": : :"memory"); ((h->first)) = (typeof(*((struct hlist_bl_node *)((unsigned long)n | 0UL))) *)(((struct hlist_bl_node *)((unsigned long)n | 0UL))); })
+                                                                ;
+}
+
+static inline __attribute__((always_inline)) struct hlist_bl_node *hlist_bl_first_rcu(struct hlist_bl_head *h)
+{
+ return (struct hlist_bl_node *)
+  ((unsigned long)({ typeof(*(h->first)) *_________p1 = (typeof(*(h->first))* )(*(volatile typeof((h->first)) *)&((h->first))); do { } while (0); ; do { } while(0); ((typeof(*(h->first)) *)(_________p1)); }) & ~0UL);
+}
+# 46 "include/linux/rculist_bl.h"
+static inline __attribute__((always_inline)) void hlist_bl_del_init_rcu(struct hlist_bl_node *n)
+{
+ if (!hlist_bl_unhashed(n)) {
+  __hlist_bl_del(n);
+  n->pprev = ((void *)0);
+ }
+}
+# 73 "include/linux/rculist_bl.h"
+static inline __attribute__((always_inline)) void hlist_bl_del_rcu(struct hlist_bl_node *n)
+{
+ __hlist_bl_del(n);
+ n->pprev = ((void *) 0x00200200 + 0);
+}
+# 98 "include/linux/rculist_bl.h"
+static inline __attribute__((always_inline)) void hlist_bl_add_head_rcu(struct hlist_bl_node *n,
+     struct hlist_bl_head *h)
+{
+ struct hlist_bl_node *first;
+
+
+ first = hlist_bl_first(h);
+
+ n->next = first;
+ if (first)
+  first->pprev = &n->next;
+ n->pprev = &h->first;
+
+
+ hlist_bl_set_first_rcu(h, n);
+}
+# 8 "include/linux/dcache.h" 2
+
+
+
+
+
+struct nameidata;
+struct path;
+struct vfsmount;
+# 35 "include/linux/dcache.h"
+struct qstr {
+ unsigned int hash;
+ unsigned int len;
+ const unsigned char *name;
+};
+
+struct dentry_stat_t {
+ int nr_dentry;
+ int nr_unused;
+ int age_limit;
+ int want_pages;
+ int dummy[2];
+};
+extern struct dentry_stat_t dentry_stat;
+
+
+
+
+
+static inline __attribute__((always_inline)) int dentry_cmp(const unsigned char *cs, size_t scount,
+    const unsigned char *ct, size_t tcount)
+{
+ int ret;
+ if (scount != tcount)
+  return 1;
+ do {
+  ret = (*cs != *ct);
+  if (ret)
+   break;
+  cs++;
+  ct++;
+  tcount--;
+ } while (tcount);
+ return ret;
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) unsigned long
+partial_name_hash(unsigned long c, unsigned long prevhash)
+{
+ return (prevhash + (c << 4) + (c >> 4)) * 11;
+}
+
+
+
+
+
+static inline __attribute__((always_inline)) unsigned long end_name_hash(unsigned long hash)
+{
+ return (unsigned int) hash;
+}
+
+
+static inline __attribute__((always_inline)) unsigned int
+full_name_hash(const unsigned char *name, unsigned int len)
+{
+ unsigned long hash = 0;
+ while (len--)
+  hash = partial_name_hash(*name++, hash);
+ return end_name_hash(hash);
+}
+# 116 "include/linux/dcache.h"
+struct dentry {
+
+ unsigned int d_flags;
+ seqcount_t d_seq;
+ struct hlist_bl_node d_hash;
+ struct dentry *d_parent;
+ struct qstr d_name;
+ struct inode *d_inode;
+
+ unsigned char d_iname[40];
+
+
+ unsigned int d_count;
+ spinlock_t d_lock;
+ const struct dentry_operations *d_op;
+ struct super_block *d_sb;
+ unsigned long d_time;
+ void *d_fsdata;
+
+ struct list_head d_lru;
+
+
+
+ union {
+  struct list_head d_child;
+   struct rcu_head d_rcu;
+ } d_u;
+ struct list_head d_subdirs;
+ struct list_head d_alias;
+};
+
+
+
+
+
+
+
+enum dentry_d_lock_class
+{
+ DENTRY_D_LOCK_NORMAL,
+ DENTRY_D_LOCK_NESTED
+};
+
+struct dentry_operations {
+ int (*d_revalidate)(struct dentry *, struct nameidata *);
+ int (*d_hash)(const struct dentry *, const struct inode *,
+   struct qstr *);
+ int (*d_compare)(const struct dentry *, const struct inode *,
+   const struct dentry *, const struct inode *,
+   unsigned int, const char *, const struct qstr *);
+ int (*d_delete)(const struct dentry *);
+ void (*d_release)(struct dentry *);
+ void (*d_iput)(struct dentry *, struct inode *);
+ char *(*d_dname)(struct dentry *, char *, int);
+ struct vfsmount *(*d_automount)(struct path *);
+ int (*d_manage)(struct dentry *, bool);
+} __attribute__((__aligned__((1 << 7))));
+# 222 "include/linux/dcache.h"
+extern seqlock_t rename_lock;
+
+static inline __attribute__((always_inline)) int dname_external(struct dentry *dentry)
+{
+ return dentry->d_name.name != dentry->d_iname;
+}
+
+
+
+
+extern void d_instantiate(struct dentry *, struct inode *);
+extern struct dentry * d_instantiate_unique(struct dentry *, struct inode *);
+extern struct dentry * d_materialise_unique(struct dentry *, struct inode *);
+extern void __d_drop(struct dentry *dentry);
+extern void d_drop(struct dentry *dentry);
+extern void d_delete(struct dentry *);
+extern void d_set_d_op(struct dentry *dentry, const struct dentry_operations *op);
+
+
+extern struct dentry * d_alloc(struct dentry *, const struct qstr *);
+extern struct dentry * d_alloc_pseudo(struct super_block *, const struct qstr *);
+extern struct dentry * d_splice_alias(struct inode *, struct dentry *);
+extern struct dentry * d_add_ci(struct dentry *, struct inode *, struct qstr *);
+extern struct dentry * d_obtain_alias(struct inode *);
+extern void shrink_dcache_sb(struct super_block *);
+extern void shrink_dcache_parent(struct dentry *);
+extern void shrink_dcache_for_umount(struct super_block *);
+extern int d_invalidate(struct dentry *);
+
+
+extern struct dentry * d_alloc_root(struct inode *);
+
+
+extern void d_genocide(struct dentry *);
+
+extern struct dentry *d_find_alias(struct inode *);
+extern void d_prune_aliases(struct inode *);
+
+
+extern int have_submounts(struct dentry *);
+
+
+
+
+extern void d_rehash(struct dentry *);
+# 277 "include/linux/dcache.h"
+static inline __attribute__((always_inline)) void d_add(struct dentry *entry, struct inode *inode)
+{
+ d_instantiate(entry, inode);
+ d_rehash(entry);
+}
+# 291 "include/linux/dcache.h"
+static inline __attribute__((always_inline)) struct dentry *d_add_unique(struct dentry *entry, struct inode *inode)
+{
+ struct dentry *res;
+
+ res = d_instantiate_unique(entry, inode);
+ d_rehash(res != ((void *)0) ? res : entry);
+ return res;
+}
+
+extern void dentry_update_name_case(struct dentry *, struct qstr *);
+
+
+extern void d_move(struct dentry *, struct dentry *);
+extern struct dentry *d_ancestor(struct dentry *, struct dentry *);
+
+
+extern struct dentry *d_lookup(struct dentry *, struct qstr *);
+extern struct dentry *d_hash_and_lookup(struct dentry *, struct qstr *);
+extern struct dentry *__d_lookup(struct dentry *, struct qstr *);
+extern struct dentry *__d_lookup_rcu(struct dentry *parent, struct qstr *name,
+    unsigned *seq, struct inode **inode);
+# 322 "include/linux/dcache.h"
+static inline __attribute__((always_inline)) int __d_rcu_to_refcount(struct dentry *dentry, unsigned seq)
+{
+ int ret = 0;
+
+ assert_spin_locked(&dentry->d_lock);
+ if (!read_seqcount_retry(&dentry->d_seq, seq)) {
+  ret = 1;
+  dentry->d_count++;
+ }
+
+ return ret;
+}
+
+
+extern int d_validate(struct dentry *, struct dentry *);
+
+
+
+
+extern char *dynamic_dname(struct dentry *, char *, int, const char *, ...);
+
+extern char *__d_path(const struct path *path, struct path *root, char *, int);
+extern char *d_path(const struct path *, char *, int);
+extern char *d_path_with_unreachable(const struct path *, char *, int);
+extern char *dentry_path_raw(struct dentry *, char *, int);
+extern char *dentry_path(struct dentry *, char *, int);
+# 359 "include/linux/dcache.h"
+static inline __attribute__((always_inline)) struct dentry *dget_dlock(struct dentry *dentry)
+{
+ if (dentry)
+  dentry->d_count++;
+ return dentry;
+}
+
+static inline __attribute__((always_inline)) struct dentry *dget(struct dentry *dentry)
+{
+ if (dentry) {
+  spin_lock(&dentry->d_lock);
+  dget_dlock(dentry);
+  spin_unlock(&dentry->d_lock);
+ }
+ return dentry;
+}
+
+extern struct dentry *dget_parent(struct dentry *dentry);
+# 385 "include/linux/dcache.h"
+static inline __attribute__((always_inline)) int d_unhashed(struct dentry *dentry)
+{
+ return hlist_bl_unhashed(&dentry->d_hash);
+}
+
+static inline __attribute__((always_inline)) int d_unlinked(struct dentry *dentry)
+{
+ return d_unhashed(dentry) && !((dentry) == (dentry)->d_parent);
+}
+
+static inline __attribute__((always_inline)) int cant_mount(struct dentry *dentry)
+{
+ return (dentry->d_flags & 0x0100);
+}
+
+static inline __attribute__((always_inline)) void dont_mount(struct dentry *dentry)
+{
+ spin_lock(&dentry->d_lock);
+ dentry->d_flags |= 0x0100;
+ spin_unlock(&dentry->d_lock);
+}
+
+extern void dput(struct dentry *);
+
+static inline __attribute__((always_inline)) bool d_managed(struct dentry *dentry)
+{
+ return dentry->d_flags & (0x10000|0x20000|0x40000);
+}
+
+static inline __attribute__((always_inline)) bool d_mountpoint(struct dentry *dentry)
+{
+ return dentry->d_flags & 0x10000;
+}
+
+extern struct dentry *lookup_create(struct nameidata *nd, int is_dir);
+
+extern int sysctl_vfs_cache_pressure;
+# 378 "include/linux/fs.h" 2
+# 1 "include/linux/path.h" 1
+
+
+
+struct dentry;
+struct vfsmount;
+
+struct path {
+ struct vfsmount *mnt;
+ struct dentry *dentry;
+};
+
+extern void path_get(struct path *);
+extern void path_put(struct path *);
+
+static inline __attribute__((always_inline)) int path_equal(const struct path *path1, const struct path *path2)
+{
+ return path1->mnt == path2->mnt && path1->dentry == path2->dentry;
+}
+# 379 "include/linux/fs.h" 2
+# 1 "include/linux/stat.h" 1
+
+
+
+
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/stat.h" 1
+# 14 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/stat.h"
+struct __old_kernel_stat {
+ unsigned short st_dev;
+ unsigned short st_ino;
+ unsigned short st_mode;
+ unsigned short st_nlink;
+ unsigned short st_uid;
+ unsigned short st_gid;
+ unsigned short st_rdev;
+ unsigned long st_size;
+ unsigned long st_atime;
+ unsigned long st_mtime;
+ unsigned long st_ctime;
+};
+
+
+struct stat {
+ unsigned long st_dev;
+ ino_t st_ino;
+
+
+
+
+ mode_t st_mode;
+ nlink_t st_nlink;
+
+ uid_t st_uid;
+ gid_t st_gid;
+ unsigned long st_rdev;
+ off_t st_size;
+ unsigned long st_blksize;
+ unsigned long st_blocks;
+ unsigned long st_atime;
+ unsigned long st_atime_nsec;
+ unsigned long st_mtime;
+ unsigned long st_mtime_nsec;
+ unsigned long st_ctime;
+ unsigned long st_ctime_nsec;
+ unsigned long __unused4;
+ unsigned long __unused5;
+
+
+
+};
+
+
+struct stat64 {
+ unsigned long long st_dev;
+ unsigned long long st_ino;
+ unsigned int st_mode;
+ unsigned int st_nlink;
+ unsigned int st_uid;
+ unsigned int st_gid;
+ unsigned long long st_rdev;
+ unsigned short __pad2;
+ long long st_size;
+ int st_blksize;
+ long long st_blocks;
+ int st_atime;
+ unsigned int st_atime_nsec;
+ int st_mtime;
+ unsigned int st_mtime_nsec;
+ int st_ctime;
+ unsigned int st_ctime_nsec;
+ unsigned int __unused4;
+ unsigned int __unused5;
+};
+# 7 "include/linux/stat.h" 2
+# 62 "include/linux/stat.h"
+struct kstat {
+ u64 ino;
+ dev_t dev;
+ umode_t mode;
+ unsigned int nlink;
+ uid_t uid;
+ gid_t gid;
+ dev_t rdev;
+ loff_t size;
+ struct timespec atime;
+ struct timespec mtime;
+ struct timespec ctime;
+ unsigned long blksize;
+ unsigned long long blocks;
+};
+# 380 "include/linux/fs.h" 2
+
+
+# 1 "include/linux/radix-tree.h" 1
+# 47 "include/linux/radix-tree.h"
+static inline __attribute__((always_inline)) int radix_tree_is_indirect_ptr(void *ptr)
+{
+ return (int)((unsigned long)ptr & 1);
+}
+
+
+
+
+
+
+struct radix_tree_root {
+ unsigned int height;
+ gfp_t gfp_mask;
+ struct radix_tree_node *rnode;
+};
+# 143 "include/linux/radix-tree.h"
+static inline __attribute__((always_inline)) void *radix_tree_deref_slot(void **pslot)
+{
+ return ({ typeof(*(*pslot)) *_________p1 = (typeof(*(*pslot))* )(*(volatile typeof((*pslot)) *)&((*pslot))); do { } while (0); ; do { } while(0); ((typeof(*(*pslot)) *)(_________p1)); });
+}
+# 158 "include/linux/radix-tree.h"
+static inline __attribute__((always_inline)) void *radix_tree_deref_slot_protected(void **pslot,
+       spinlock_t *treelock)
+{
+ return ({ do { } while (0); ; ((typeof(*(*pslot)) *)((*pslot))); });
+}
+# 171 "include/linux/radix-tree.h"
+static inline __attribute__((always_inline)) int radix_tree_deref_retry(void *arg)
+{
+ return __builtin_expect(!!((unsigned long)arg & 1), 0);
+}
+# 184 "include/linux/radix-tree.h"
+static inline __attribute__((always_inline)) void radix_tree_replace_slot(void **pslot, void *item)
+{
+ do { if (__builtin_constant_p(radix_tree_is_indirect_ptr(item))) { if (radix_tree_is_indirect_ptr(item)) do { __asm__ __volatile__( "1:	twi 31,0,0\n" ".section __bug_table,\"a\"\n" "2:\t" ".long" " " "1b, %0\n" "\t.short %1, %2\n" ".org 2b+%3\n" ".previous\n" : : "i" ("include/linux/radix-tree.h"), "i" (186), "i" (0), "i" (sizeof(struct bug_entry))); __builtin_unreachable(); } while (0); } else { __asm__ __volatile__( "1:	""twnei" " ""	%4,0\n" ".section __bug_table,\"a\"\n" "2:\t" ".long" " " "1b, %0\n" "\t.short %1, %2\n" ".org 2b+%3\n" ".previous\n" : : "i" ("include/linux/radix-tree.h"), "i" (186), "i" (0), "i" (sizeof(struct bug_entry)), "r" (( long)(radix_tree_is_indirect_ptr(item)))); } } while (0);
+ ({ if (!__builtin_constant_p((item)) || (((item)) != ((void *)0))) __asm__ __volatile__("": : :"memory"); ((*pslot)) = (typeof(*(item)) *)((item)); });
+}
+
+int radix_tree_insert(struct radix_tree_root *, unsigned long, void *);
+void *radix_tree_lookup(struct radix_tree_root *, unsigned long);
+void **radix_tree_lookup_slot(struct radix_tree_root *, unsigned long);
+void *radix_tree_delete(struct radix_tree_root *, unsigned long);
+unsigned int
+radix_tree_gang_lookup(struct radix_tree_root *root, void **results,
+   unsigned long first_index, unsigned int max_items);
+unsigned int
+radix_tree_gang_lookup_slot(struct radix_tree_root *root, void ***results,
+   unsigned long first_index, unsigned int max_items);
+unsigned long radix_tree_next_hole(struct radix_tree_root *root,
+    unsigned long index, unsigned long max_scan);
+unsigned long radix_tree_prev_hole(struct radix_tree_root *root,
+    unsigned long index, unsigned long max_scan);
+int radix_tree_preload(gfp_t gfp_mask);
+void radix_tree_init(void);
+void *radix_tree_tag_set(struct radix_tree_root *root,
+   unsigned long index, unsigned int tag);
+void *radix_tree_tag_clear(struct radix_tree_root *root,
+   unsigned long index, unsigned int tag);
+int radix_tree_tag_get(struct radix_tree_root *root,
+   unsigned long index, unsigned int tag);
+unsigned int
+radix_tree_gang_lookup_tag(struct radix_tree_root *root, void **results,
+  unsigned long first_index, unsigned int max_items,
+  unsigned int tag);
+unsigned int
+radix_tree_gang_lookup_tag_slot(struct radix_tree_root *root, void ***results,
+  unsigned long first_index, unsigned int max_items,
+  unsigned int tag);
+unsigned long radix_tree_range_tag_if_tagged(struct radix_tree_root *root,
+  unsigned long *first_indexp, unsigned long last_index,
+  unsigned long nr_to_tag,
+  unsigned int fromtag, unsigned int totag);
+int radix_tree_tagged(struct radix_tree_root *root, unsigned int tag);
+
+static inline __attribute__((always_inline)) void radix_tree_preload_end(void)
+{
+ do { } while (0);
+}
+# 383 "include/linux/fs.h" 2
+
+
+
+
+
+# 1 "include/linux/semaphore.h" 1
+# 16 "include/linux/semaphore.h"
+struct semaphore {
+ spinlock_t lock;
+ unsigned int count;
+ struct list_head wait_list;
+};
+# 32 "include/linux/semaphore.h"
+static inline __attribute__((always_inline)) void sema_init(struct semaphore *sem, int val)
+{
+ static struct lock_class_key __key;
+ *sem = (struct semaphore) { .lock = (spinlock_t ) { { .rlock = { .raw_lock = { }, } } }, .count = val, .wait_list = { &((*sem).wait_list), &((*sem).wait_list) }, };
+ do { (void)("semaphore->lock"); (void)(&__key); } while (0);
+}
+
+extern void down(struct semaphore *sem);
+extern int down_interruptible(struct semaphore *sem);
+extern int down_killable(struct semaphore *sem);
+extern int down_trylock(struct semaphore *sem);
+extern int down_timeout(struct semaphore *sem, long jiffies);
+extern void up(struct semaphore *sem);
+# 389 "include/linux/fs.h" 2
+# 1 "include/linux/fiemap.h" 1
+# 16 "include/linux/fiemap.h"
+struct fiemap_extent {
+ __u64 fe_logical;
+
+ __u64 fe_physical;
+
+ __u64 fe_length;
+ __u64 fe_reserved64[2];
+ __u32 fe_flags;
+ __u32 fe_reserved[3];
+};
+
+struct fiemap {
+ __u64 fm_start;
+
+ __u64 fm_length;
+
+ __u32 fm_flags;
+ __u32 fm_mapped_extents;
+ __u32 fm_extent_count;
+ __u32 fm_reserved;
+ struct fiemap_extent fm_extents[0];
+};
+# 390 "include/linux/fs.h" 2
+
+
+
+
+
+struct export_operations;
+struct hd_geometry;
+struct iovec;
+struct nameidata;
+struct kiocb;
+struct kobject;
+struct pipe_inode_info;
+struct poll_table_struct;
+struct kstatfs;
+struct vm_area_struct;
+struct vfsmount;
+struct cred;
+
+extern void __attribute__ ((__section__(".init.text"))) __attribute__((__cold__)) __attribute__((no_instrument_function)) inode_init(void);
+extern void __attribute__ ((__section__(".init.text"))) __attribute__((__cold__)) __attribute__((no_instrument_function)) inode_init_early(void);
+extern void __attribute__ ((__section__(".init.text"))) __attribute__((__cold__)) __attribute__((no_instrument_function)) files_init(unsigned long);
+
+extern struct files_stat_struct files_stat;
+extern unsigned long get_max_files(void);
+extern int sysctl_nr_open;
+extern struct inodes_stat_t inodes_stat;
+extern int leases_enable, lease_break_time;
+
+struct buffer_head;
+typedef int (get_block_t)(struct inode *inode, sector_t iblock,
+   struct buffer_head *bh_result, int create);
+typedef void (dio_iodone_t)(struct kiocb *iocb, loff_t offset,
+   ssize_t bytes, void *private, int ret,
+   bool is_async);
+# 456 "include/linux/fs.h"
+struct iattr {
+ unsigned int ia_valid;
+ umode_t ia_mode;
+ uid_t ia_uid;
+ gid_t ia_gid;
+ loff_t ia_size;
+ struct timespec ia_atime;
+ struct timespec ia_mtime;
+ struct timespec ia_ctime;
+
+
+
+
+
+
+ struct file *ia_file;
+};
+
+
+
+
+# 1 "include/linux/quota.h" 1
+# 88 "include/linux/quota.h"
+enum {
+ QIF_BLIMITS_B = 0,
+ QIF_SPACE_B,
+ QIF_ILIMITS_B,
+ QIF_INODES_B,
+ QIF_BTIME_B,
+ QIF_ITIME_B,
+};
+# 108 "include/linux/quota.h"
+struct if_dqblk {
+ __u64 dqb_bhardlimit;
+ __u64 dqb_bsoftlimit;
+ __u64 dqb_curspace;
+ __u64 dqb_ihardlimit;
+ __u64 dqb_isoftlimit;
+ __u64 dqb_curinodes;
+ __u64 dqb_btime;
+ __u64 dqb_itime;
+ __u32 dqb_valid;
+};
+# 129 "include/linux/quota.h"
+struct if_dqinfo {
+ __u64 dqi_bgrace;
+ __u64 dqi_igrace;
+ __u32 dqi_flags;
+ __u32 dqi_valid;
+};
+# 151 "include/linux/quota.h"
+enum {
+ QUOTA_NL_C_UNSPEC,
+ QUOTA_NL_C_WARNING,
+ __QUOTA_NL_C_MAX,
+};
+
+
+enum {
+ QUOTA_NL_A_UNSPEC,
+ QUOTA_NL_A_QTYPE,
+ QUOTA_NL_A_EXCESS_ID,
+ QUOTA_NL_A_WARNING,
+ QUOTA_NL_A_DEV_MAJOR,
+ QUOTA_NL_A_DEV_MINOR,
+ QUOTA_NL_A_CAUSED_ID,
+ __QUOTA_NL_A_MAX,
+};
+# 179 "include/linux/quota.h"
+# 1 "include/linux/dqblk_xfs.h" 1
+# 50 "include/linux/dqblk_xfs.h"
+typedef struct fs_disk_quota {
+ __s8 d_version;
+ __s8 d_flags;
+ __u16 d_fieldmask;
+ __u32 d_id;
+ __u64 d_blk_hardlimit;
+ __u64 d_blk_softlimit;
+ __u64 d_ino_hardlimit;
+ __u64 d_ino_softlimit;
+ __u64 d_bcount;
+ __u64 d_icount;
+ __s32 d_itimer;
+
+ __s32 d_btimer;
+ __u16 d_iwarns;
+ __u16 d_bwarns;
+ __s32 d_padding2;
+ __u64 d_rtb_hardlimit;
+ __u64 d_rtb_softlimit;
+ __u64 d_rtbcount;
+ __s32 d_rtbtimer;
+ __u16 d_rtbwarns;
+ __s16 d_padding3;
+ char d_padding4[8];
+} fs_disk_quota_t;
+# 146 "include/linux/dqblk_xfs.h"
+typedef struct fs_qfilestat {
+ __u64 qfs_ino;
+ __u64 qfs_nblks;
+ __u32 qfs_nextents;
+} fs_qfilestat_t;
+
+typedef struct fs_quota_stat {
+ __s8 qs_version;
+ __u16 qs_flags;
+ __s8 qs_pad;
+ fs_qfilestat_t qs_uquota;
+ fs_qfilestat_t qs_gquota;
+ __u32 qs_incoredqs;
+ __s32 qs_btimelimit;
+ __s32 qs_itimelimit;
+ __s32 qs_rtbtimelimit;
+ __u16 qs_bwarnlimit;
+ __u16 qs_iwarnlimit;
+} fs_quota_stat_t;
+# 180 "include/linux/quota.h" 2
+# 1 "include/linux/dqblk_v1.h" 1
+# 181 "include/linux/quota.h" 2
+# 1 "include/linux/dqblk_v2.h" 1
+
+
+
+
+
+
+
+# 1 "include/linux/dqblk_qtree.h" 1
+# 17 "include/linux/dqblk_qtree.h"
+struct dquot;
+
+
+struct qtree_fmt_operations {
+ void (*mem2disk_dqblk)(void *disk, struct dquot *dquot);
+ void (*disk2mem_dqblk)(struct dquot *dquot, void *disk);
+ int (*is_id)(void *disk, struct dquot *dquot);
+};
+
+
+struct qtree_mem_dqinfo {
+ struct super_block *dqi_sb;
+ int dqi_type;
+ unsigned int dqi_blocks;
+ unsigned int dqi_free_blk;
+ unsigned int dqi_free_entry;
+ unsigned int dqi_blocksize_bits;
+ unsigned int dqi_entry_size;
+ unsigned int dqi_usable_bs;
+ unsigned int dqi_qtree_depth;
+ struct qtree_fmt_operations *dqi_ops;
+};
+
+int qtree_write_dquot(struct qtree_mem_dqinfo *info, struct dquot *dquot);
+int qtree_read_dquot(struct qtree_mem_dqinfo *info, struct dquot *dquot);
+int qtree_delete_dquot(struct qtree_mem_dqinfo *info, struct dquot *dquot);
+int qtree_release_dquot(struct qtree_mem_dqinfo *info, struct dquot *dquot);
+int qtree_entry_unused(struct qtree_mem_dqinfo *info, char *disk);
+static inline __attribute__((always_inline)) int qtree_depth(struct qtree_mem_dqinfo *info)
+{
+ unsigned int epb = info->dqi_usable_bs >> 2;
+ unsigned long long entries = epb;
+ int i;
+
+ for (i = 1; entries < (1ULL << 32); i++)
+  entries *= epb;
+ return i;
+}
+# 9 "include/linux/dqblk_v2.h" 2
+# 182 "include/linux/quota.h" 2
+
+
+
+typedef __kernel_uid32_t qid_t;
+typedef long long qsize_t;
+
+extern spinlock_t dq_data_lock;
+# 200 "include/linux/quota.h"
+struct mem_dqblk {
+ qsize_t dqb_bhardlimit;
+ qsize_t dqb_bsoftlimit;
+ qsize_t dqb_curspace;
+ qsize_t dqb_rsvspace;
+ qsize_t dqb_ihardlimit;
+ qsize_t dqb_isoftlimit;
+ qsize_t dqb_curinodes;
+ time_t dqb_btime;
+ time_t dqb_itime;
+};
+
+
+
+
+struct quota_format_type;
+
+struct mem_dqinfo {
+ struct quota_format_type *dqi_format;
+ int dqi_fmt_id;
+
+ struct list_head dqi_dirty_list;
+ unsigned long dqi_flags;
+ unsigned int dqi_bgrace;
+ unsigned int dqi_igrace;
+ qsize_t dqi_maxblimit;
+ qsize_t dqi_maxilimit;
+ void *dqi_priv;
+};
+
+struct super_block;
+
+
+
+
+
+extern void mark_info_dirty(struct super_block *sb, int type);
+static inline __attribute__((always_inline)) int info_dirty(struct mem_dqinfo *info)
+{
+ return test_bit(16, &info->dqi_flags);
+}
+
+enum {
+ DQST_LOOKUPS,
+ DQST_DROPS,
+ DQST_READS,
+ DQST_WRITES,
+ DQST_CACHE_HITS,
+ DQST_ALLOC_DQUOTS,
+ DQST_FREE_DQUOTS,
+ DQST_SYNCS,
+ _DQST_DQSTAT_LAST
+};
+
+struct dqstats {
+ int stat[_DQST_DQSTAT_LAST];
+ struct percpu_counter counter[_DQST_DQSTAT_LAST];
+};
+
+extern struct dqstats *dqstats_pcpu;
+extern struct dqstats dqstats;
+
+static inline __attribute__((always_inline)) void dqstats_inc(unsigned int type)
+{
+ percpu_counter_inc(&dqstats.counter[type]);
+}
+
+static inline __attribute__((always_inline)) void dqstats_dec(unsigned int type)
+{
+ percpu_counter_dec(&dqstats.counter[type]);
+}
+# 284 "include/linux/quota.h"
+struct dquot {
+ struct hlist_node dq_hash;
+ struct list_head dq_inuse;
+ struct list_head dq_free;
+ struct list_head dq_dirty;
+ struct mutex dq_lock;
+ atomic_t dq_count;
+ wait_queue_head_t dq_wait_unused;
+ struct super_block *dq_sb;
+ unsigned int dq_id;
+ loff_t dq_off;
+ unsigned long dq_flags;
+ short dq_type;
+ struct mem_dqblk dq_dqb;
+};
+
+
+struct quota_format_ops {
+ int (*check_quota_file)(struct super_block *sb, int type);
+ int (*read_file_info)(struct super_block *sb, int type);
+ int (*write_file_info)(struct super_block *sb, int type);
+ int (*free_file_info)(struct super_block *sb, int type);
+ int (*read_dqblk)(struct dquot *dquot);
+ int (*commit_dqblk)(struct dquot *dquot);
+ int (*release_dqblk)(struct dquot *dquot);
+};
+
+
+struct dquot_operations {
+ int (*write_dquot) (struct dquot *);
+ struct dquot *(*alloc_dquot)(struct super_block *, int);
+ void (*destroy_dquot)(struct dquot *);
+ int (*acquire_dquot) (struct dquot *);
+ int (*release_dquot) (struct dquot *);
+ int (*mark_dirty) (struct dquot *);
+ int (*write_info) (struct super_block *, int);
+
+
+ qsize_t *(*get_reserved_space) (struct inode *);
+};
+
+struct path;
+
+
+struct quotactl_ops {
+ int (*quota_on)(struct super_block *, int, int, struct path *);
+ int (*quota_on_meta)(struct super_block *, int, int);
+ int (*quota_off)(struct super_block *, int);
+ int (*quota_sync)(struct super_block *, int, int);
+ int (*get_info)(struct super_block *, int, struct if_dqinfo *);
+ int (*set_info)(struct super_block *, int, struct if_dqinfo *);
+ int (*get_dqblk)(struct super_block *, int, qid_t, struct fs_disk_quota *);
+ int (*set_dqblk)(struct super_block *, int, qid_t, struct fs_disk_quota *);
+ int (*get_xstate)(struct super_block *, struct fs_quota_stat *);
+ int (*set_xstate)(struct super_block *, unsigned int, int);
+};
+
+struct quota_format_type {
+ int qf_fmt_id;
+ const struct quota_format_ops *qf_ops;
+ struct module *qf_owner;
+ struct quota_format_type *qf_next;
+};
+
+
+enum {
+ _DQUOT_USAGE_ENABLED = 0,
+ _DQUOT_LIMITS_ENABLED,
+ _DQUOT_SUSPENDED,
+
+
+ _DQUOT_STATE_FLAGS
+};
+# 374 "include/linux/quota.h"
+static inline __attribute__((always_inline)) unsigned int dquot_state_flag(unsigned int flags, int type)
+{
+ return flags << _DQUOT_STATE_FLAGS * type;
+}
+
+static inline __attribute__((always_inline)) unsigned int dquot_generic_flag(unsigned int flags, int type)
+{
+ return (flags >> _DQUOT_STATE_FLAGS * type) & ((1 << _DQUOT_USAGE_ENABLED) | (1 << _DQUOT_LIMITS_ENABLED) | (1 << _DQUOT_SUSPENDED));
+}
+
+
+
+
+
+static inline __attribute__((always_inline)) void quota_send_warning(short type, unsigned int id, dev_t dev,
+          const char warntype)
+{
+ return;
+}
+
+
+struct quota_info {
+ unsigned int flags;
+ struct mutex dqio_mutex;
+ struct mutex dqonoff_mutex;
+ struct rw_semaphore dqptr_sem;
+ struct inode *files[2];
+ struct mem_dqinfo info[2];
+ const struct quota_format_ops *ops[2];
+};
+
+int register_quota_format(struct quota_format_type *fmt);
+void unregister_quota_format(struct quota_format_type *fmt);
+
+struct quota_module_name {
+ int qm_fmt_id;
+ char *qm_mod_name;
+};
+# 478 "include/linux/fs.h" 2
+# 505 "include/linux/fs.h"
+enum positive_aop_returns {
+ AOP_WRITEPAGE_ACTIVATE = 0x80000,
+ AOP_TRUNCATED_PAGE = 0x80001,
+};
+# 519 "include/linux/fs.h"
+struct page;
+struct address_space;
+struct writeback_control;
+
+struct iov_iter {
+ const struct iovec *iov;
+ unsigned long nr_segs;
+ size_t iov_offset;
+ size_t count;
+};
+
+size_t iov_iter_copy_from_user_atomic(struct page *page,
+  struct iov_iter *i, unsigned long offset, size_t bytes);
+size_t iov_iter_copy_from_user(struct page *page,
+  struct iov_iter *i, unsigned long offset, size_t bytes);
+void iov_iter_advance(struct iov_iter *i, size_t bytes);
+int iov_iter_fault_in_readable(struct iov_iter *i, size_t bytes);
+size_t iov_iter_single_seg_count(struct iov_iter *i);
+
+static inline __attribute__((always_inline)) void iov_iter_init(struct iov_iter *i,
+   const struct iovec *iov, unsigned long nr_segs,
+   size_t count, size_t written)
+{
+ i->iov = iov;
+ i->nr_segs = nr_segs;
+ i->iov_offset = 0;
+ i->count = count + written;
+
+ iov_iter_advance(i, written);
+}
+
+static inline __attribute__((always_inline)) size_t iov_iter_count(struct iov_iter *i)
+{
+ return i->count;
+}
+# 564 "include/linux/fs.h"
+typedef struct {
+ size_t written;
+ size_t count;
+ union {
+  char *buf;
+  void *data;
+ } arg;
+ int error;
+} read_descriptor_t;
+
+typedef int (*read_actor_t)(read_descriptor_t *, struct page *,
+  unsigned long, unsigned long);
+
+struct address_space_operations {
+ int (*writepage)(struct page *page, struct writeback_control *wbc);
+ int (*readpage)(struct file *, struct page *);
+
+
+ int (*writepages)(struct address_space *, struct writeback_control *);
+
+
+ int (*set_page_dirty)(struct page *page);
+
+ int (*readpages)(struct file *filp, struct address_space *mapping,
+   struct list_head *pages, unsigned nr_pages);
+
+ int (*write_begin)(struct file *, struct address_space *mapping,
+    loff_t pos, unsigned len, unsigned flags,
+    struct page **pagep, void **fsdata);
+ int (*write_end)(struct file *, struct address_space *mapping,
+    loff_t pos, unsigned len, unsigned copied,
+    struct page *page, void *fsdata);
+
+
+ sector_t (*bmap)(struct address_space *, sector_t);
+ void (*invalidatepage) (struct page *, unsigned long);
+ int (*releasepage) (struct page *, gfp_t);
+ void (*freepage)(struct page *);
+ ssize_t (*direct_IO)(int, struct kiocb *, const struct iovec *iov,
+   loff_t offset, unsigned long nr_segs);
+ int (*get_xip_mem)(struct address_space *, unsigned long, int,
+      void **, unsigned long *);
+
+ int (*migratepage) (struct address_space *,
+   struct page *, struct page *);
+ int (*launder_page) (struct page *);
+ int (*is_partially_uptodate) (struct page *, read_descriptor_t *,
+     unsigned long);
+ int (*error_remove_page)(struct address_space *, struct page *);
+};
+
+extern const struct address_space_operations empty_aops;
+
+
+
+
+
+int pagecache_write_begin(struct file *, struct address_space *mapping,
+    loff_t pos, unsigned len, unsigned flags,
+    struct page **pagep, void **fsdata);
+
+int pagecache_write_end(struct file *, struct address_space *mapping,
+    loff_t pos, unsigned len, unsigned copied,
+    struct page *page, void *fsdata);
+
+struct backing_dev_info;
+struct address_space {
+ struct inode *host;
+ struct radix_tree_root page_tree;
+ spinlock_t tree_lock;
+ unsigned int i_mmap_writable;
+ struct prio_tree_root i_mmap;
+ struct list_head i_mmap_nonlinear;
+ spinlock_t i_mmap_lock;
+ unsigned int truncate_count;
+ unsigned long nrpages;
+ unsigned long writeback_index;
+ const struct address_space_operations *a_ops;
+ unsigned long flags;
+ struct backing_dev_info *backing_dev_info;
+ spinlock_t private_lock;
+ struct list_head private_list;
+ struct address_space *assoc_mapping;
+ struct mutex unmap_mutex;
+} __attribute__((aligned(sizeof(long))));
+
+
+
+
+
+
+struct block_device {
+ dev_t bd_dev;
+ int bd_openers;
+ struct inode * bd_inode;
+ struct super_block * bd_super;
+ struct mutex bd_mutex;
+ struct list_head bd_inodes;
+ void * bd_claiming;
+ void * bd_holder;
+ int bd_holders;
+ bool bd_write_holder;
+
+ struct list_head bd_holder_disks;
+
+ struct block_device * bd_contains;
+ unsigned bd_block_size;
+ struct hd_struct * bd_part;
+
+ unsigned bd_part_count;
+ int bd_invalidated;
+ struct gendisk * bd_disk;
+ struct list_head bd_list;
+
+
+
+
+
+
+ unsigned long bd_private;
+
+
+ int bd_fsfreeze_count;
+
+ struct mutex bd_fsfreeze_mutex;
+};
+# 699 "include/linux/fs.h"
+int mapping_tagged(struct address_space *mapping, int tag);
+
+
+
+
+static inline __attribute__((always_inline)) int mapping_mapped(struct address_space *mapping)
+{
+ return !prio_tree_empty(&mapping->i_mmap) ||
+  !list_empty(&mapping->i_mmap_nonlinear);
+}
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) int mapping_writably_mapped(struct address_space *mapping)
+{
+ return mapping->i_mmap_writable != 0;
+}
+# 732 "include/linux/fs.h"
+struct posix_acl;
+
+
+struct inode {
+
+ umode_t i_mode;
+ uid_t i_uid;
+ gid_t i_gid;
+ const struct inode_operations *i_op;
+ struct super_block *i_sb;
+
+ spinlock_t i_lock;
+ unsigned int i_flags;
+ struct mutex i_mutex;
+
+ unsigned long i_state;
+ unsigned long dirtied_when;
+
+ struct hlist_node i_hash;
+ struct list_head i_wb_list;
+ struct list_head i_lru;
+ struct list_head i_sb_list;
+ union {
+  struct list_head i_dentry;
+  struct rcu_head i_rcu;
+ };
+ unsigned long i_ino;
+ atomic_t i_count;
+ unsigned int i_nlink;
+ dev_t i_rdev;
+ unsigned int i_blkbits;
+ u64 i_version;
+ loff_t i_size;
+
+
+
+ struct timespec i_atime;
+ struct timespec i_mtime;
+ struct timespec i_ctime;
+ blkcnt_t i_blocks;
+ unsigned short i_bytes;
+ struct rw_semaphore i_alloc_sem;
+ const struct file_operations *i_fop;
+ struct file_lock *i_flock;
+ struct address_space *i_mapping;
+ struct address_space i_data;
+
+
+
+ struct list_head i_devices;
+ union {
+  struct pipe_inode_info *i_pipe;
+  struct block_device *i_bdev;
+  struct cdev *i_cdev;
+ };
+
+ __u32 i_generation;
+
+
+ __u32 i_fsnotify_mask;
+ struct hlist_head i_fsnotify_marks;
+
+
+
+
+
+ atomic_t i_writecount;
+
+
+
+
+
+
+
+ void *i_private;
+};
+
+static inline __attribute__((always_inline)) int inode_unhashed(struct inode *inode)
+{
+ return hlist_unhashed(&inode->i_hash);
+}
+# 825 "include/linux/fs.h"
+enum inode_i_mutex_lock_class
+{
+ I_MUTEX_NORMAL,
+ I_MUTEX_PARENT,
+ I_MUTEX_CHILD,
+ I_MUTEX_XATTR,
+ I_MUTEX_QUOTA
+};
+# 844 "include/linux/fs.h"
+static inline __attribute__((always_inline)) loff_t i_size_read(const struct inode *inode)
+{
+# 863 "include/linux/fs.h"
+ return inode->i_size;
+
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) void i_size_write(struct inode *inode, loff_t i_size)
+{
+# 883 "include/linux/fs.h"
+ inode->i_size = i_size;
+
+}
+
+static inline __attribute__((always_inline)) unsigned iminor(const struct inode *inode)
+{
+ return ((unsigned int) ((inode->i_rdev) & ((1U << 20) - 1)));
+}
+
+static inline __attribute__((always_inline)) unsigned imajor(const struct inode *inode)
+{
+ return ((unsigned int) ((inode->i_rdev) >> 20));
+}
+
+extern struct block_device *I_BDEV(struct inode *inode);
+
+struct fown_struct {
+ rwlock_t lock;
+ struct pid *pid;
+ enum pid_type pid_type;
+ uid_t uid, euid;
+ int signum;
+};
+
+
+
+
+struct file_ra_state {
+ unsigned long start;
+ unsigned int size;
+ unsigned int async_size;
+
+
+ unsigned int ra_pages;
+ unsigned int mmap_miss;
+ loff_t prev_pos;
+};
+
+
+
+
+static inline __attribute__((always_inline)) int ra_has_index(struct file_ra_state *ra, unsigned long index)
+{
+ return (index >= ra->start &&
+  index < ra->start + ra->size);
+}
+
+
+
+
+struct file {
+
+
+
+
+ union {
+  struct list_head fu_list;
+  struct rcu_head fu_rcuhead;
+ } f_u;
+ struct path f_path;
+
+
+ const struct file_operations *f_op;
+ spinlock_t f_lock;
+
+
+
+ atomic_long_t f_count;
+ unsigned int f_flags;
+ fmode_t f_mode;
+ loff_t f_pos;
+ struct fown_struct f_owner;
+ const struct cred *f_cred;
+ struct file_ra_state f_ra;
+
+ u64 f_version;
+
+
+
+
+ void *private_data;
+
+
+
+ struct list_head f_ep_links;
+
+ struct address_space *f_mapping;
+
+
+
+};
+
+struct file_handle {
+ __u32 handle_bytes;
+ int handle_type;
+
+ unsigned char f_handle[0];
+};
+# 1019 "include/linux/fs.h"
+static inline __attribute__((always_inline)) void file_take_write(struct file *filp) {}
+static inline __attribute__((always_inline)) void file_release_write(struct file *filp) {}
+static inline __attribute__((always_inline)) void file_reset_write(struct file *filp) {}
+static inline __attribute__((always_inline)) void file_check_state(struct file *filp) {}
+static inline __attribute__((always_inline)) int file_check_writeable(struct file *filp)
+{
+ return 0;
+}
+# 1060 "include/linux/fs.h"
+typedef struct files_struct *fl_owner_t;
+
+struct file_lock_operations {
+ void (*fl_copy_lock)(struct file_lock *, struct file_lock *);
+ void (*fl_release_private)(struct file_lock *);
+};
+
+struct lock_manager_operations {
+ int (*fl_compare_owner)(struct file_lock *, struct file_lock *);
+ void (*fl_notify)(struct file_lock *);
+ int (*fl_grant)(struct file_lock *, struct file_lock *, int);
+ void (*fl_release_private)(struct file_lock *);
+ void (*fl_break)(struct file_lock *);
+ int (*fl_change)(struct file_lock **, int);
+};
+
+struct lock_manager {
+ struct list_head list;
+};
+
+void locks_start_grace(struct lock_manager *);
+void locks_end_grace(struct lock_manager *);
+int locks_in_grace(void);
+
+
+# 1 "include/linux/nfs_fs_i.h" 1
+
+
+
+
+
+# 1 "include/linux/nfs.h" 1
+# 40 "include/linux/nfs.h"
+ enum nfs_stat {
+ NFS_OK = 0,
+ NFSERR_PERM = 1,
+ NFSERR_NOENT = 2,
+ NFSERR_IO = 5,
+ NFSERR_NXIO = 6,
+ NFSERR_EAGAIN = 11,
+ NFSERR_ACCES = 13,
+ NFSERR_EXIST = 17,
+ NFSERR_XDEV = 18,
+ NFSERR_NODEV = 19,
+ NFSERR_NOTDIR = 20,
+ NFSERR_ISDIR = 21,
+ NFSERR_INVAL = 22,
+ NFSERR_FBIG = 27,
+ NFSERR_NOSPC = 28,
+ NFSERR_ROFS = 30,
+ NFSERR_MLINK = 31,
+ NFSERR_OPNOTSUPP = 45,
+ NFSERR_NAMETOOLONG = 63,
+ NFSERR_NOTEMPTY = 66,
+ NFSERR_DQUOT = 69,
+ NFSERR_STALE = 70,
+ NFSERR_REMOTE = 71,
+ NFSERR_WFLUSH = 99,
+ NFSERR_BADHANDLE = 10001,
+ NFSERR_NOT_SYNC = 10002,
+ NFSERR_BAD_COOKIE = 10003,
+ NFSERR_NOTSUPP = 10004,
+ NFSERR_TOOSMALL = 10005,
+ NFSERR_SERVERFAULT = 10006,
+ NFSERR_BADTYPE = 10007,
+ NFSERR_JUKEBOX = 10008,
+ NFSERR_SAME = 10009,
+ NFSERR_DENIED = 10010,
+ NFSERR_EXPIRED = 10011,
+ NFSERR_LOCKED = 10012,
+ NFSERR_GRACE = 10013,
+ NFSERR_FHEXPIRED = 10014,
+ NFSERR_SHARE_DENIED = 10015,
+ NFSERR_WRONGSEC = 10016,
+ NFSERR_CLID_INUSE = 10017,
+ NFSERR_RESOURCE = 10018,
+ NFSERR_MOVED = 10019,
+ NFSERR_NOFILEHANDLE = 10020,
+ NFSERR_MINOR_VERS_MISMATCH = 10021,
+ NFSERR_STALE_CLIENTID = 10022,
+ NFSERR_STALE_STATEID = 10023,
+ NFSERR_OLD_STATEID = 10024,
+ NFSERR_BAD_STATEID = 10025,
+ NFSERR_BAD_SEQID = 10026,
+ NFSERR_NOT_SAME = 10027,
+ NFSERR_LOCK_RANGE = 10028,
+ NFSERR_SYMLINK = 10029,
+ NFSERR_RESTOREFH = 10030,
+ NFSERR_LEASE_MOVED = 10031,
+ NFSERR_ATTRNOTSUPP = 10032,
+ NFSERR_NO_GRACE = 10033,
+ NFSERR_RECLAIM_BAD = 10034,
+ NFSERR_RECLAIM_CONFLICT = 10035,
+ NFSERR_BAD_XDR = 10036,
+ NFSERR_LOCKS_HELD = 10037,
+ NFSERR_OPENMODE = 10038,
+ NFSERR_BADOWNER = 10039,
+ NFSERR_BADCHAR = 10040,
+ NFSERR_BADNAME = 10041,
+ NFSERR_BAD_RANGE = 10042,
+ NFSERR_LOCK_NOTSUPP = 10043,
+ NFSERR_OP_ILLEGAL = 10044,
+ NFSERR_DEADLOCK = 10045,
+ NFSERR_FILE_OPEN = 10046,
+ NFSERR_ADMIN_REVOKED = 10047,
+ NFSERR_CB_PATH_DOWN = 10048,
+};
+
+
+
+enum nfs_ftype {
+ NFNON = 0,
+ NFREG = 1,
+ NFDIR = 2,
+ NFBLK = 3,
+ NFCHR = 4,
+ NFLNK = 5,
+ NFSOCK = 6,
+ NFBAD = 7,
+ NFFIFO = 8
+};
+
+
+# 1 "include/linux/sunrpc/msg_prot.h" 1
+# 18 "include/linux/sunrpc/msg_prot.h"
+typedef u32 rpc_authflavor_t;
+
+enum rpc_auth_flavors {
+ RPC_AUTH_NULL = 0,
+ RPC_AUTH_UNIX = 1,
+ RPC_AUTH_SHORT = 2,
+ RPC_AUTH_DES = 3,
+ RPC_AUTH_KRB = 4,
+ RPC_AUTH_GSS = 6,
+ RPC_AUTH_MAXFLAVOR = 8,
+
+ RPC_AUTH_GSS_KRB5 = 390003,
+ RPC_AUTH_GSS_KRB5I = 390004,
+ RPC_AUTH_GSS_KRB5P = 390005,
+ RPC_AUTH_GSS_LKEY = 390006,
+ RPC_AUTH_GSS_LKEYI = 390007,
+ RPC_AUTH_GSS_LKEYP = 390008,
+ RPC_AUTH_GSS_SPKM = 390009,
+ RPC_AUTH_GSS_SPKMI = 390010,
+ RPC_AUTH_GSS_SPKMP = 390011,
+};
+
+
+
+
+enum rpc_msg_type {
+ RPC_CALL = 0,
+ RPC_REPLY = 1
+};
+
+enum rpc_reply_stat {
+ RPC_MSG_ACCEPTED = 0,
+ RPC_MSG_DENIED = 1
+};
+
+enum rpc_accept_stat {
+ RPC_SUCCESS = 0,
+ RPC_PROG_UNAVAIL = 1,
+ RPC_PROG_MISMATCH = 2,
+ RPC_PROC_UNAVAIL = 3,
+ RPC_GARBAGE_ARGS = 4,
+ RPC_SYSTEM_ERR = 5,
+
+ RPC_DROP_REPLY = 60000,
+};
+
+enum rpc_reject_stat {
+ RPC_MISMATCH = 0,
+ RPC_AUTH_ERROR = 1
+};
+
+enum rpc_auth_stat {
+ RPC_AUTH_OK = 0,
+ RPC_AUTH_BADCRED = 1,
+ RPC_AUTH_REJECTEDCRED = 2,
+ RPC_AUTH_BADVERF = 3,
+ RPC_AUTH_REJECTEDVERF = 4,
+ RPC_AUTH_TOOWEAK = 5,
+
+ RPCSEC_GSS_CREDPROBLEM = 13,
+ RPCSEC_GSS_CTXPROBLEM = 14
+};
+# 102 "include/linux/sunrpc/msg_prot.h"
+typedef __be32 rpc_fraghdr;
+# 193 "include/linux/sunrpc/msg_prot.h"
+# 1 "include/linux/inet.h" 1
+# 54 "include/linux/inet.h"
+extern __be32 in_aton(const char *str);
+extern int in4_pton(const char *src, int srclen, u8 *dst, int delim, const char **end);
+extern int in6_pton(const char *src, int srclen, u8 *dst, int delim, const char **end);
+# 194 "include/linux/sunrpc/msg_prot.h" 2
+# 131 "include/linux/nfs.h" 2
+
+
+
+
+
+
+struct nfs_fh {
+ unsigned short size;
+ unsigned char data[128];
+};
+
+
+
+
+
+static inline __attribute__((always_inline)) int nfs_compare_fh(const struct nfs_fh *a, const struct nfs_fh *b)
+{
+ return a->size != b->size || memcmp(a->data, b->data, a->size) != 0;
+}
+
+static inline __attribute__((always_inline)) void nfs_copy_fh(struct nfs_fh *target, const struct nfs_fh *source)
+{
+ target->size = source->size;
+ memcpy(target->data, source->data, source->size);
+}
+# 165 "include/linux/nfs.h"
+enum nfs3_stable_how {
+ NFS_UNSTABLE = 0,
+ NFS_DATA_SYNC = 1,
+ NFS_FILE_SYNC = 2
+};
+# 7 "include/linux/nfs_fs_i.h" 2
+
+struct nlm_lockowner;
+
+
+
+
+struct nfs_lock_info {
+ u32 state;
+ struct nlm_lockowner *owner;
+ struct list_head list;
+};
+
+struct nfs4_lock_state;
+struct nfs4_lock_info {
+ struct nfs4_lock_state *owner;
+};
+# 1086 "include/linux/fs.h" 2
+
+struct file_lock {
+ struct file_lock *fl_next;
+ struct list_head fl_link;
+ struct list_head fl_block;
+ fl_owner_t fl_owner;
+ unsigned char fl_flags;
+ unsigned char fl_type;
+ unsigned int fl_pid;
+ struct pid *fl_nspid;
+ wait_queue_head_t fl_wait;
+ struct file *fl_file;
+ loff_t fl_start;
+ loff_t fl_end;
+
+ struct fasync_struct * fl_fasync;
+ unsigned long fl_break_time;
+
+ const struct file_lock_operations *fl_ops;
+ const struct lock_manager_operations *fl_lmops;
+ union {
+  struct nfs_lock_info nfs_fl;
+  struct nfs4_lock_info nfs4_fl;
+  struct {
+   struct list_head link;
+   int state;
+  } afs;
+ } fl_u;
+};
+# 1123 "include/linux/fs.h"
+# 1 "include/linux/fcntl.h" 1
+
+
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/fcntl.h" 1
+# 9 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/fcntl.h"
+# 1 "include/asm-generic/fcntl.h" 1
+# 127 "include/asm-generic/fcntl.h"
+struct f_owner_ex {
+ int type;
+ __kernel_pid_t pid;
+};
+# 172 "include/asm-generic/fcntl.h"
+struct flock {
+ short l_type;
+ short l_whence;
+ __kernel_off_t l_start;
+ __kernel_off_t l_len;
+ __kernel_pid_t l_pid;
+
+};
+# 189 "include/asm-generic/fcntl.h"
+struct flock64 {
+ short l_type;
+ short l_whence;
+ __kernel_loff_t l_start;
+ __kernel_loff_t l_len;
+ __kernel_pid_t l_pid;
+
+};
+# 10 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/fcntl.h" 2
+# 5 "include/linux/fcntl.h" 2
+# 1124 "include/linux/fs.h" 2
+
+extern void send_sigio(struct fown_struct *fown, int fd, int band);
+
+
+extern int fcntl_getlk(struct file *, struct flock *);
+extern int fcntl_setlk(unsigned int, struct file *, unsigned int,
+   struct flock *);
+
+
+extern int fcntl_getlk64(struct file *, struct flock64 *);
+extern int fcntl_setlk64(unsigned int, struct file *, unsigned int,
+   struct flock64 *);
+
+
+extern int fcntl_setlease(unsigned int fd, struct file *filp, long arg);
+extern int fcntl_getlease(struct file *filp);
+
+
+void locks_free_lock(struct file_lock *fl);
+extern void locks_init_lock(struct file_lock *);
+extern struct file_lock * locks_alloc_lock(void);
+extern void locks_copy_lock(struct file_lock *, struct file_lock *);
+extern void __locks_copy_lock(struct file_lock *, const struct file_lock *);
+extern void locks_remove_posix(struct file *, fl_owner_t);
+extern void locks_remove_flock(struct file *);
+extern void locks_release_private(struct file_lock *);
+extern void posix_test_lock(struct file *, struct file_lock *);
+extern int posix_lock_file(struct file *, struct file_lock *, struct file_lock *);
+extern int posix_lock_file_wait(struct file *, struct file_lock *);
+extern int posix_unblock_lock(struct file *, struct file_lock *);
+extern int vfs_test_lock(struct file *, struct file_lock *);
+extern int vfs_lock_file(struct file *, unsigned int, struct file_lock *, struct file_lock *);
+extern int vfs_cancel_lock(struct file *filp, struct file_lock *fl);
+extern int flock_lock_file_wait(struct file *filp, struct file_lock *fl);
+extern int __break_lease(struct inode *inode, unsigned int flags);
+extern void lease_get_mtime(struct inode *, struct timespec *time);
+extern int generic_setlease(struct file *, long, struct file_lock **);
+extern int vfs_setlease(struct file *, long, struct file_lock **);
+extern int lease_modify(struct file_lock **, int);
+extern int lock_may_read(struct inode *, loff_t start, unsigned long count);
+extern int lock_may_write(struct inode *, loff_t start, unsigned long count);
+extern void lock_flocks(void);
+extern void unlock_flocks(void);
+# 1320 "include/linux/fs.h"
+struct fasync_struct {
+ spinlock_t fa_lock;
+ int magic;
+ int fa_fd;
+ struct fasync_struct *fa_next;
+ struct file *fa_file;
+ struct rcu_head fa_rcu;
+};
+
+
+
+
+extern int fasync_helper(int, struct file *, int, struct fasync_struct **);
+extern struct fasync_struct *fasync_insert_entry(int, struct file *, struct fasync_struct **, struct fasync_struct *);
+extern int fasync_remove_entry(struct file *, struct fasync_struct **);
+extern struct fasync_struct *fasync_alloc(void);
+extern void fasync_free(struct fasync_struct *);
+
+
+extern void kill_fasync(struct fasync_struct **, int, int);
+
+extern int __f_setown(struct file *filp, struct pid *, enum pid_type, int force);
+extern int f_setown(struct file *filp, unsigned long arg, int force);
+extern void f_delown(struct file *filp);
+extern pid_t f_getown(struct file *filp);
+extern int send_sigurg(struct fown_struct *fown);
+# 1357 "include/linux/fs.h"
+extern struct list_head super_blocks;
+extern spinlock_t sb_lock;
+
+struct super_block {
+ struct list_head s_list;
+ dev_t s_dev;
+ unsigned char s_dirt;
+ unsigned char s_blocksize_bits;
+ unsigned long s_blocksize;
+ loff_t s_maxbytes;
+ struct file_system_type *s_type;
+ const struct super_operations *s_op;
+ const struct dquot_operations *dq_op;
+ const struct quotactl_ops *s_qcop;
+ const struct export_operations *s_export_op;
+ unsigned long s_flags;
+ unsigned long s_magic;
+ struct dentry *s_root;
+ struct rw_semaphore s_umount;
+ struct mutex s_lock;
+ int s_count;
+ atomic_t s_active;
+
+
+
+ const struct xattr_handler **s_xattr;
+
+ struct list_head s_inodes;
+ struct hlist_bl_head s_anon;
+
+
+
+ struct list_head s_files;
+
+
+ struct list_head s_dentry_lru;
+ int s_nr_dentry_unused;
+
+ struct block_device *s_bdev;
+ struct backing_dev_info *s_bdi;
+ struct mtd_info *s_mtd;
+ struct list_head s_instances;
+ struct quota_info s_dquot;
+
+ int s_frozen;
+ wait_queue_head_t s_wait_unfrozen;
+
+ char s_id[32];
+ u8 s_uuid[16];
+
+ void *s_fs_info;
+ fmode_t s_mode;
+
+
+
+ u32 s_time_gran;
+
+
+
+
+
+ struct mutex s_vfs_rename_mutex;
+
+
+
+
+
+ char *s_subtype;
+
+
+
+
+
+ char *s_options;
+ const struct dentry_operations *s_d_op;
+};
+
+extern struct timespec current_fs_time(struct super_block *sb);
+
+
+
+
+enum {
+ SB_UNFROZEN = 0,
+ SB_FREEZE_WRITE = 1,
+ SB_FREEZE_TRANS = 2,
+};
+# 1456 "include/linux/fs.h"
+extern struct user_namespace init_user_ns;
+
+extern bool inode_owner_or_capable(const struct inode *inode);
+
+
+extern void lock_super(struct super_block *);
+extern void unlock_super(struct super_block *);
+
+
+
+
+extern int vfs_create(struct inode *, struct dentry *, int, struct nameidata *);
+extern int vfs_mkdir(struct inode *, struct dentry *, int);
+extern int vfs_mknod(struct inode *, struct dentry *, int, dev_t);
+extern int vfs_symlink(struct inode *, struct dentry *, const char *);
+extern int vfs_link(struct dentry *, struct inode *, struct dentry *);
+extern int vfs_rmdir(struct inode *, struct dentry *);
+extern int vfs_unlink(struct inode *, struct dentry *);
+extern int vfs_rename(struct inode *, struct dentry *, struct inode *, struct dentry *);
+
+
+
+
+extern void dentry_unhash(struct dentry *dentry);
+
+
+
+
+extern int file_permission(struct file *, int);
+extern void inode_init_owner(struct inode *inode, const struct inode *dir,
+   mode_t mode);
+
+
+
+struct fiemap_extent_info {
+ unsigned int fi_flags;
+ unsigned int fi_extents_mapped;
+ unsigned int fi_extents_max;
+ struct fiemap_extent *fi_extents_start;
+
+};
+int fiemap_fill_next_extent(struct fiemap_extent_info *info, u64 logical,
+       u64 phys, u64 len, u32 flags);
+int fiemap_check_flags(struct fiemap_extent_info *fieinfo, u32 fs_flags);
+# 1523 "include/linux/fs.h"
+typedef int (*filldir_t)(void *, const char *, int, loff_t, u64, unsigned);
+struct block_device_operations;
+# 1537 "include/linux/fs.h"
+struct file_operations {
+ struct module *owner;
+ loff_t (*llseek) (struct file *, loff_t, int);
+ ssize_t (*read) (struct file *, char *, size_t, loff_t *);
+ ssize_t (*write) (struct file *, const char *, size_t, loff_t *);
+ ssize_t (*aio_read) (struct kiocb *, const struct iovec *, unsigned long, loff_t);
+ ssize_t (*aio_write) (struct kiocb *, const struct iovec *, unsigned long, loff_t);
+ int (*readdir) (struct file *, void *, filldir_t);
+ unsigned int (*poll) (struct file *, struct poll_table_struct *);
+ long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long);
+ long (*compat_ioctl) (struct file *, unsigned int, unsigned long);
+ int (*mmap) (struct file *, struct vm_area_struct *);
+ int (*open) (struct inode *, struct file *);
+ int (*flush) (struct file *, fl_owner_t id);
+ int (*release) (struct inode *, struct file *);
+ int (*fsync) (struct file *, int datasync);
+ int (*aio_fsync) (struct kiocb *, int datasync);
+ int (*fasync) (int, struct file *, int);
+ int (*lock) (struct file *, int, struct file_lock *);
+ ssize_t (*sendpage) (struct file *, struct page *, int, size_t, loff_t *, int);
+ unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long);
+ int (*check_flags)(int);
+ int (*flock) (struct file *, int, struct file_lock *);
+ ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, loff_t *, size_t, unsigned int);
+ ssize_t (*splice_read)(struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int);
+ int (*setlease)(struct file *, long, struct file_lock **);
+ long (*fallocate)(struct file *file, int mode, loff_t offset,
+     loff_t len);
+};
+
+
+
+struct inode_operations {
+ struct dentry * (*lookup) (struct inode *,struct dentry *, struct nameidata *);
+ void * (*follow_link) (struct dentry *, struct nameidata *);
+ int (*permission) (struct inode *, int, unsigned int);
+ int (*check_acl)(struct inode *, int, unsigned int);
+
+ int (*readlink) (struct dentry *, char *,int);
+ void (*put_link) (struct dentry *, struct nameidata *, void *);
+
+ int (*create) (struct inode *,struct dentry *,int, struct nameidata *);
+ int (*link) (struct dentry *,struct inode *,struct dentry *);
+ int (*unlink) (struct inode *,struct dentry *);
+ int (*symlink) (struct inode *,struct dentry *,const char *);
+ int (*mkdir) (struct inode *,struct dentry *,int);
+ int (*rmdir) (struct inode *,struct dentry *);
+ int (*mknod) (struct inode *,struct dentry *,int,dev_t);
+ int (*rename) (struct inode *, struct dentry *,
+   struct inode *, struct dentry *);
+ void (*truncate) (struct inode *);
+ int (*setattr) (struct dentry *, struct iattr *);
+ int (*getattr) (struct vfsmount *mnt, struct dentry *, struct kstat *);
+ int (*setxattr) (struct dentry *, const char *,const void *,size_t,int);
+ ssize_t (*getxattr) (struct dentry *, const char *, void *, size_t);
+ ssize_t (*listxattr) (struct dentry *, char *, size_t);
+ int (*removexattr) (struct dentry *, const char *);
+ void (*truncate_range)(struct inode *, loff_t, loff_t);
+ int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64 start,
+        u64 len);
+} __attribute__((__aligned__((1 << 7))));
+
+struct seq_file;
+
+ssize_t rw_copy_check_uvector(int type, const struct iovec * uvector,
+    unsigned long nr_segs, unsigned long fast_segs,
+    struct iovec *fast_pointer,
+    struct iovec **ret_pointer);
+
+extern ssize_t vfs_read(struct file *, char *, size_t, loff_t *);
+extern ssize_t vfs_write(struct file *, const char *, size_t, loff_t *);
+extern ssize_t vfs_readv(struct file *, const struct iovec *,
+  unsigned long, loff_t *);
+extern ssize_t vfs_writev(struct file *, const struct iovec *,
+  unsigned long, loff_t *);
+
+struct super_operations {
+    struct inode *(*alloc_inode)(struct super_block *sb);
+ void (*destroy_inode)(struct inode *);
+
+    void (*dirty_inode) (struct inode *);
+ int (*write_inode) (struct inode *, struct writeback_control *wbc);
+ int (*drop_inode) (struct inode *);
+ void (*evict_inode) (struct inode *);
+ void (*put_super) (struct super_block *);
+ void (*write_super) (struct super_block *);
+ int (*sync_fs)(struct super_block *sb, int wait);
+ int (*freeze_fs) (struct super_block *);
+ int (*unfreeze_fs) (struct super_block *);
+ int (*statfs) (struct dentry *, struct kstatfs *);
+ int (*remount_fs) (struct super_block *, int *, char *);
+ void (*umount_begin) (struct super_block *);
+
+ int (*show_options)(struct seq_file *, struct vfsmount *);
+ int (*show_devname)(struct seq_file *, struct vfsmount *);
+ int (*show_path)(struct seq_file *, struct vfsmount *);
+ int (*show_stats)(struct seq_file *, struct vfsmount *);
+
+
+
+
+ int (*bdev_try_to_free_page)(struct super_block*, struct page*, gfp_t);
+};
+# 1703 "include/linux/fs.h"
+extern void __mark_inode_dirty(struct inode *, int);
+static inline __attribute__((always_inline)) void mark_inode_dirty(struct inode *inode)
+{
+ __mark_inode_dirty(inode, ((1 << 0) | (1 << 1) | (1 << 2)));
+}
+
+static inline __attribute__((always_inline)) void mark_inode_dirty_sync(struct inode *inode)
+{
+ __mark_inode_dirty(inode, (1 << 0));
+}
+# 1722 "include/linux/fs.h"
+static inline __attribute__((always_inline)) void inc_nlink(struct inode *inode)
+{
+ inode->i_nlink++;
+}
+
+static inline __attribute__((always_inline)) void inode_inc_link_count(struct inode *inode)
+{
+ inc_nlink(inode);
+ mark_inode_dirty(inode);
+}
+# 1744 "include/linux/fs.h"
+static inline __attribute__((always_inline)) void drop_nlink(struct inode *inode)
+{
+ inode->i_nlink--;
+}
+# 1757 "include/linux/fs.h"
+static inline __attribute__((always_inline)) void clear_nlink(struct inode *inode)
+{
+ inode->i_nlink = 0;
+}
+
+static inline __attribute__((always_inline)) void inode_dec_link_count(struct inode *inode)
+{
+ drop_nlink(inode);
+ mark_inode_dirty(inode);
+}
+# 1776 "include/linux/fs.h"
+static inline __attribute__((always_inline)) void inode_inc_iversion(struct inode *inode)
+{
+       spin_lock(&inode->i_lock);
+       inode->i_version++;
+       spin_unlock(&inode->i_lock);
+}
+
+extern void touch_atime(struct vfsmount *mnt, struct dentry *dentry);
+static inline __attribute__((always_inline)) void file_accessed(struct file *file)
+{
+ if (!(file->f_flags & 01000000))
+  touch_atime(file->f_path.mnt, file->f_path.dentry);
+}
+
+int sync_inode(struct inode *inode, struct writeback_control *wbc);
+int sync_inode_metadata(struct inode *inode, int wait);
+
+struct file_system_type {
+ const char *name;
+ int fs_flags;
+ struct dentry *(*mount) (struct file_system_type *, int,
+         const char *, void *);
+ void (*kill_sb) (struct super_block *);
+ struct module *owner;
+ struct file_system_type * next;
+ struct list_head fs_supers;
+
+ struct lock_class_key s_lock_key;
+ struct lock_class_key s_umount_key;
+ struct lock_class_key s_vfs_rename_key;
+
+ struct lock_class_key i_lock_key;
+ struct lock_class_key i_mutex_key;
+ struct lock_class_key i_mutex_dir_key;
+ struct lock_class_key i_alloc_sem_key;
+};
+
+extern struct dentry *mount_ns(struct file_system_type *fs_type, int flags,
+ void *data, int (*fill_super)(struct super_block *, void *, int));
+extern struct dentry *mount_bdev(struct file_system_type *fs_type,
+ int flags, const char *dev_name, void *data,
+ int (*fill_super)(struct super_block *, void *, int));
+extern struct dentry *mount_single(struct file_system_type *fs_type,
+ int flags, void *data,
+ int (*fill_super)(struct super_block *, void *, int));
+extern struct dentry *mount_nodev(struct file_system_type *fs_type,
+ int flags, void *data,
+ int (*fill_super)(struct super_block *, void *, int));
+void generic_shutdown_super(struct super_block *sb);
+void kill_block_super(struct super_block *sb);
+void kill_anon_super(struct super_block *sb);
+void kill_litter_super(struct super_block *sb);
+void deactivate_super(struct super_block *sb);
+void deactivate_locked_super(struct super_block *sb);
+int set_anon_super(struct super_block *s, void *data);
+struct super_block *sget(struct file_system_type *type,
+   int (*test)(struct super_block *,void *),
+   int (*set)(struct super_block *,void *),
+   void *data);
+extern struct dentry *mount_pseudo(struct file_system_type *, char *,
+ const struct super_operations *ops,
+ const struct dentry_operations *dops,
+ unsigned long);
+
+static inline __attribute__((always_inline)) void sb_mark_dirty(struct super_block *sb)
+{
+ sb->s_dirt = 1;
+}
+static inline __attribute__((always_inline)) void sb_mark_clean(struct super_block *sb)
+{
+ sb->s_dirt = 0;
+}
+static inline __attribute__((always_inline)) int sb_is_dirty(struct super_block *sb)
+{
+ return sb->s_dirt;
+}
+
+
+
+
+
+
+
+extern int register_filesystem(struct file_system_type *);
+extern int unregister_filesystem(struct file_system_type *);
+extern struct vfsmount *kern_mount_data(struct file_system_type *, void *data);
+
+extern int may_umount_tree(struct vfsmount *);
+extern int may_umount(struct vfsmount *);
+extern long do_mount(char *, char *, char *, unsigned long, void *);
+extern struct vfsmount *collect_mounts(struct path *);
+extern void drop_collected_mounts(struct vfsmount *);
+extern int iterate_mounts(int (*)(struct vfsmount *, void *), void *,
+     struct vfsmount *);
+extern int vfs_statfs(struct path *, struct kstatfs *);
+extern int user_statfs(const char *, struct kstatfs *);
+extern int fd_statfs(int, struct kstatfs *);
+extern int statfs_by_dentry(struct dentry *, struct kstatfs *);
+extern int freeze_super(struct super_block *super);
+extern int thaw_super(struct super_block *super);
+
+extern int current_umask(void);
+
+
+extern struct kobject *fs_kobj;
+
+
+extern int rw_verify_area(int, struct file *, loff_t *, size_t);
+
+
+
+
+
+extern int locks_mandatory_locked(struct inode *);
+extern int locks_mandatory_area(int, struct inode *, struct file *, loff_t, size_t);
+
+
+
+
+
+
+static inline __attribute__((always_inline)) int __mandatory_lock(struct inode *ino)
+{
+ return (ino->i_mode & (0002000 | 00010)) == 0002000;
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) int mandatory_lock(struct inode *ino)
+{
+ return ((ino)->i_sb->s_flags & (64)) && __mandatory_lock(ino);
+}
+
+static inline __attribute__((always_inline)) int locks_verify_locked(struct inode *inode)
+{
+ if (mandatory_lock(inode))
+  return locks_mandatory_locked(inode);
+ return 0;
+}
+
+static inline __attribute__((always_inline)) int locks_verify_truncate(struct inode *inode,
+        struct file *filp,
+        loff_t size)
+{
+ if (inode->i_flock && mandatory_lock(inode))
+  return locks_mandatory_area(
+   2, inode, filp,
+   size < inode->i_size ? size : inode->i_size,
+   (size < inode->i_size ? inode->i_size - size
+    : size - inode->i_size)
+  );
+ return 0;
+}
+
+static inline __attribute__((always_inline)) int break_lease(struct inode *inode, unsigned int mode)
+{
+ if (inode->i_flock)
+  return __break_lease(inode, mode);
+ return 0;
+}
+# 1982 "include/linux/fs.h"
+extern int do_truncate(struct dentry *, loff_t start, unsigned int time_attrs,
+         struct file *filp);
+extern int do_fallocate(struct file *file, int mode, loff_t offset,
+   loff_t len);
+extern long do_sys_open(int dfd, const char *filename, int flags,
+   int mode);
+extern struct file *filp_open(const char *, int, int);
+extern struct file *file_open_root(struct dentry *, struct vfsmount *,
+       const char *, int);
+extern struct file * dentry_open(struct dentry *, struct vfsmount *, int,
+     const struct cred *);
+extern int filp_close(struct file *, fl_owner_t id);
+extern char * getname(const char *);
+
+
+
+extern int ioctl_preallocate(struct file *filp, void *argp);
+
+
+extern void __attribute__ ((__section__(".init.text"))) __attribute__((__cold__)) __attribute__((no_instrument_function)) vfs_caches_init_early(void);
+extern void __attribute__ ((__section__(".init.text"))) __attribute__((__cold__)) __attribute__((no_instrument_function)) vfs_caches_init(unsigned long);
+
+extern struct kmem_cache *names_cachep;
+# 2016 "include/linux/fs.h"
+extern int register_blkdev(unsigned int, const char *);
+extern void unregister_blkdev(unsigned int, const char *);
+extern struct block_device *bdget(dev_t);
+extern struct block_device *bdgrab(struct block_device *bdev);
+extern void bd_set_size(struct block_device *, loff_t size);
+extern void bd_forget(struct inode *inode);
+extern void bdput(struct block_device *);
+extern void invalidate_bdev(struct block_device *);
+extern int sync_blockdev(struct block_device *bdev);
+extern struct super_block *freeze_bdev(struct block_device *);
+extern void emergency_thaw_all(void);
+extern int thaw_bdev(struct block_device *bdev, struct super_block *sb);
+extern int fsync_bdev(struct block_device *);
+# 2044 "include/linux/fs.h"
+extern int sync_filesystem(struct super_block *);
+extern const struct file_operations def_blk_fops;
+extern const struct file_operations def_chr_fops;
+extern const struct file_operations bad_sock_fops;
+extern const struct file_operations def_fifo_fops;
+
+extern int ioctl_by_bdev(struct block_device *, unsigned, unsigned long);
+extern int blkdev_ioctl(struct block_device *, fmode_t, unsigned, unsigned long);
+extern long compat_blkdev_ioctl(struct file *, unsigned, unsigned long);
+extern int blkdev_get(struct block_device *bdev, fmode_t mode, void *holder);
+extern struct block_device *blkdev_get_by_path(const char *path, fmode_t mode,
+            void *holder);
+extern struct block_device *blkdev_get_by_dev(dev_t dev, fmode_t mode,
+           void *holder);
+extern int blkdev_put(struct block_device *bdev, fmode_t mode);
+
+extern int bd_link_disk_holder(struct block_device *bdev, struct gendisk *disk);
+extern void bd_unlink_disk_holder(struct block_device *bdev,
+      struct gendisk *disk);
+# 2078 "include/linux/fs.h"
+extern int alloc_chrdev_region(dev_t *, unsigned, unsigned, const char *);
+extern int register_chrdev_region(dev_t, unsigned, const char *);
+extern int __register_chrdev(unsigned int major, unsigned int baseminor,
+        unsigned int count, const char *name,
+        const struct file_operations *fops);
+extern void __unregister_chrdev(unsigned int major, unsigned int baseminor,
+    unsigned int count, const char *name);
+extern void unregister_chrdev_region(dev_t, unsigned);
+extern void chrdev_show(struct seq_file *,off_t);
+
+static inline __attribute__((always_inline)) int register_chrdev(unsigned int major, const char *name,
+      const struct file_operations *fops)
+{
+ return __register_chrdev(major, 0, 256, name, fops);
+}
+
+static inline __attribute__((always_inline)) void unregister_chrdev(unsigned int major, const char *name)
+{
+ __unregister_chrdev(major, 0, 256, name);
+}
+
+
+
+
+
+
+
+extern const char *__bdevname(dev_t, char *buffer);
+extern const char *bdevname(struct block_device *bdev, char *buffer);
+extern struct block_device *lookup_bdev(const char *);
+extern void blkdev_show(struct seq_file *,off_t);
+
+
+
+
+
+extern void init_special_inode(struct inode *, umode_t, dev_t);
+
+
+extern void make_bad_inode(struct inode *);
+extern int is_bad_inode(struct inode *);
+
+extern const struct file_operations read_pipefifo_fops;
+extern const struct file_operations write_pipefifo_fops;
+extern const struct file_operations rdwr_pipefifo_fops;
+
+extern int fs_may_remount_ro(struct super_block *);
+# 2137 "include/linux/fs.h"
+extern void check_disk_size_change(struct gendisk *disk,
+       struct block_device *bdev);
+extern int revalidate_disk(struct gendisk *);
+extern int check_disk_change(struct block_device *);
+extern int __invalidate_device(struct block_device *, bool);
+extern int invalidate_partition(struct gendisk *, int);
+
+unsigned long invalidate_mapping_pages(struct address_space *mapping,
+     unsigned long start, unsigned long end);
+
+static inline __attribute__((always_inline)) void invalidate_remote_inode(struct inode *inode)
+{
+ if ((((inode->i_mode) & 00170000) == 0100000) || (((inode->i_mode) & 00170000) == 0040000) ||
+     (((inode->i_mode) & 00170000) == 0120000))
+  invalidate_mapping_pages(inode->i_mapping, 0, -1);
+}
+extern int invalidate_inode_pages2(struct address_space *mapping);
+extern int invalidate_inode_pages2_range(struct address_space *mapping,
+      unsigned long start, unsigned long end);
+extern int write_inode_now(struct inode *, int);
+extern int filemap_fdatawrite(struct address_space *);
+extern int filemap_flush(struct address_space *);
+extern int filemap_fdatawait(struct address_space *);
+extern int filemap_fdatawait_range(struct address_space *, loff_t lstart,
+       loff_t lend);
+extern int filemap_write_and_wait(struct address_space *mapping);
+extern int filemap_write_and_wait_range(struct address_space *mapping,
+            loff_t lstart, loff_t lend);
+extern int __filemap_fdatawrite_range(struct address_space *mapping,
+    loff_t start, loff_t end, int sync_mode);
+extern int filemap_fdatawrite_range(struct address_space *mapping,
+    loff_t start, loff_t end);
+
+extern int vfs_fsync_range(struct file *file, loff_t start, loff_t end,
+      int datasync);
+extern int vfs_fsync(struct file *file, int datasync);
+extern int generic_write_sync(struct file *file, loff_t pos, loff_t count);
+extern void sync_supers(void);
+extern void emergency_sync(void);
+extern void emergency_remount(void);
+
+extern sector_t bmap(struct inode *, sector_t);
+
+extern int notify_change(struct dentry *, struct iattr *);
+extern int inode_permission(struct inode *, int);
+extern int generic_permission(struct inode *, int, unsigned int,
+  int (*check_acl)(struct inode *, int, unsigned int));
+
+static inline __attribute__((always_inline)) bool execute_ok(struct inode *inode)
+{
+ return (inode->i_mode & (00100|00010|00001)) || (((inode->i_mode) & 00170000) == 0040000);
+}
+
+extern int get_write_access(struct inode *);
+extern int deny_write_access(struct file *);
+static inline __attribute__((always_inline)) void put_write_access(struct inode * inode)
+{
+ atomic_dec(&inode->i_writecount);
+}
+static inline __attribute__((always_inline)) void allow_write_access(struct file *file)
+{
+ if (file)
+  atomic_inc(&file->f_path.dentry->d_inode->i_writecount);
+}
+# 2212 "include/linux/fs.h"
+static inline __attribute__((always_inline)) void i_readcount_dec(struct inode *inode)
+{
+ return;
+}
+static inline __attribute__((always_inline)) void i_readcount_inc(struct inode *inode)
+{
+ return;
+}
+
+extern int do_pipe_flags(int *, int);
+extern struct file *create_read_pipe(struct file *f, int flags);
+extern struct file *create_write_pipe(int flags);
+extern void free_write_pipe(struct file *);
+
+extern int kernel_read(struct file *, loff_t, char *, unsigned long);
+extern struct file * open_exec(const char *);
+
+
+extern int is_subdir(struct dentry *, struct dentry *);
+extern int path_is_under(struct path *, struct path *);
+extern ino_t find_inode_number(struct dentry *, struct qstr *);
+
+# 1 "include/linux/err.h" 1
+# 22 "include/linux/err.h"
+static inline __attribute__((always_inline)) void * ERR_PTR(long error)
+{
+ return (void *) error;
+}
+
+static inline __attribute__((always_inline)) long PTR_ERR(const void *ptr)
+{
+ return (long) ptr;
+}
+
+static inline __attribute__((always_inline)) long IS_ERR(const void *ptr)
+{
+ return __builtin_expect(!!(((unsigned long)ptr) >= (unsigned long)-4095), 0);
+}
+
+static inline __attribute__((always_inline)) long IS_ERR_OR_NULL(const void *ptr)
+{
+ return !ptr || __builtin_expect(!!(((unsigned long)ptr) >= (unsigned long)-4095), 0);
+}
+# 49 "include/linux/err.h"
+static inline __attribute__((always_inline)) void * ERR_CAST(const void *ptr)
+{
+
+ return (void *) ptr;
+}
+
+static inline __attribute__((always_inline)) int PTR_RET(const void *ptr)
+{
+ if (IS_ERR(ptr))
+  return PTR_ERR(ptr);
+ else
+  return 0;
+}
+# 2235 "include/linux/fs.h" 2
+
+
+extern loff_t default_llseek(struct file *file, loff_t offset, int origin);
+
+extern loff_t vfs_llseek(struct file *file, loff_t offset, int origin);
+
+extern int inode_init_always(struct super_block *, struct inode *);
+extern void inode_init_once(struct inode *);
+extern void address_space_init_once(struct address_space *mapping);
+extern void ihold(struct inode * inode);
+extern void iput(struct inode *);
+extern struct inode * igrab(struct inode *);
+extern ino_t iunique(struct super_block *, ino_t);
+extern int inode_needs_sync(struct inode *inode);
+extern int generic_delete_inode(struct inode *inode);
+extern int generic_drop_inode(struct inode *inode);
+
+extern struct inode *ilookup5_nowait(struct super_block *sb,
+  unsigned long hashval, int (*test)(struct inode *, void *),
+  void *data);
+extern struct inode *ilookup5(struct super_block *sb, unsigned long hashval,
+  int (*test)(struct inode *, void *), void *data);
+extern struct inode *ilookup(struct super_block *sb, unsigned long ino);
+
+extern struct inode * iget5_locked(struct super_block *, unsigned long, int (*test)(struct inode *, void *), int (*set)(struct inode *, void *), void *);
+extern struct inode * iget_locked(struct super_block *, unsigned long);
+extern int insert_inode_locked4(struct inode *, unsigned long, int (*test)(struct inode *, void *), void *);
+extern int insert_inode_locked(struct inode *);
+extern void unlock_new_inode(struct inode *);
+extern unsigned int get_next_ino(void);
+
+extern void __iget(struct inode * inode);
+extern void iget_failed(struct inode *);
+extern void end_writeback(struct inode *);
+extern void __destroy_inode(struct inode *);
+extern struct inode *new_inode(struct super_block *);
+extern void free_inode_nonrcu(struct inode *inode);
+extern int should_remove_suid(struct dentry *);
+extern int file_remove_suid(struct file *);
+
+extern void __insert_inode_hash(struct inode *, unsigned long hashval);
+extern void remove_inode_hash(struct inode *);
+static inline __attribute__((always_inline)) void insert_inode_hash(struct inode *inode)
+{
+ __insert_inode_hash(inode, inode->i_ino);
+}
+extern void inode_sb_list_add(struct inode *inode);
+
+
+extern void submit_bio(int, struct bio *);
+extern int bdev_read_only(struct block_device *);
+
+extern int set_blocksize(struct block_device *, int);
+extern int sb_set_blocksize(struct super_block *, int);
+extern int sb_min_blocksize(struct super_block *, int);
+
+extern int generic_file_mmap(struct file *, struct vm_area_struct *);
+extern int generic_file_readonly_mmap(struct file *, struct vm_area_struct *);
+extern int file_read_actor(read_descriptor_t * desc, struct page *page, unsigned long offset, unsigned long size);
+int generic_write_checks(struct file *file, loff_t *pos, size_t *count, int isblk);
+extern ssize_t generic_file_aio_read(struct kiocb *, const struct iovec *, unsigned long, loff_t);
+extern ssize_t __generic_file_aio_write(struct kiocb *, const struct iovec *, unsigned long,
+  loff_t *);
+extern ssize_t generic_file_aio_write(struct kiocb *, const struct iovec *, unsigned long, loff_t);
+extern ssize_t generic_file_direct_write(struct kiocb *, const struct iovec *,
+  unsigned long *, loff_t, loff_t *, size_t, size_t);
+extern ssize_t generic_file_buffered_write(struct kiocb *, const struct iovec *,
+  unsigned long, loff_t, loff_t *, size_t, ssize_t);
+extern ssize_t do_sync_read(struct file *filp, char *buf, size_t len, loff_t *ppos);
+extern ssize_t do_sync_write(struct file *filp, const char *buf, size_t len, loff_t *ppos);
+extern int generic_segment_checks(const struct iovec *iov,
+  unsigned long *nr_segs, size_t *count, int access_flags);
+
+
+extern ssize_t blkdev_aio_write(struct kiocb *iocb, const struct iovec *iov,
+    unsigned long nr_segs, loff_t pos);
+extern int blkdev_fsync(struct file *filp, int datasync);
+
+
+extern ssize_t generic_file_splice_read(struct file *, loff_t *,
+  struct pipe_inode_info *, size_t, unsigned int);
+extern ssize_t default_file_splice_read(struct file *, loff_t *,
+  struct pipe_inode_info *, size_t, unsigned int);
+extern ssize_t generic_file_splice_write(struct pipe_inode_info *,
+  struct file *, loff_t *, size_t, unsigned int);
+extern ssize_t generic_splice_sendpage(struct pipe_inode_info *pipe,
+  struct file *out, loff_t *, size_t len, unsigned int flags);
+extern long do_splice_direct(struct file *in, loff_t *ppos, struct file *out,
+  size_t len, unsigned int flags);
+
+extern void
+file_ra_state_init(struct file_ra_state *ra, struct address_space *mapping);
+extern loff_t noop_llseek(struct file *file, loff_t offset, int origin);
+extern loff_t no_llseek(struct file *file, loff_t offset, int origin);
+extern loff_t generic_file_llseek(struct file *file, loff_t offset, int origin);
+extern loff_t generic_file_llseek_unlocked(struct file *file, loff_t offset,
+   int origin);
+extern int generic_file_open(struct inode * inode, struct file * filp);
+extern int nonseekable_open(struct inode * inode, struct file * filp);
+# 2343 "include/linux/fs.h"
+static inline __attribute__((always_inline)) int xip_truncate_page(struct address_space *mapping, loff_t from)
+{
+ return 0;
+}
+
+
+
+typedef void (dio_submit_t)(int rw, struct bio *bio, struct inode *inode,
+       loff_t file_offset);
+
+enum {
+
+ DIO_LOCKING = 0x01,
+
+
+ DIO_SKIP_HOLES = 0x02,
+};
+
+void dio_end_io(struct bio *bio, int error);
+
+ssize_t __blockdev_direct_IO(int rw, struct kiocb *iocb, struct inode *inode,
+ struct block_device *bdev, const struct iovec *iov, loff_t offset,
+ unsigned long nr_segs, get_block_t get_block, dio_iodone_t end_io,
+ dio_submit_t submit_io, int flags);
+
+static inline __attribute__((always_inline)) ssize_t blockdev_direct_IO(int rw, struct kiocb *iocb,
+ struct inode *inode, struct block_device *bdev, const struct iovec *iov,
+ loff_t offset, unsigned long nr_segs, get_block_t get_block,
+ dio_iodone_t end_io)
+{
+ return __blockdev_direct_IO(rw, iocb, inode, bdev, iov, offset,
+        nr_segs, get_block, end_io, ((void *)0),
+        DIO_LOCKING | DIO_SKIP_HOLES);
+}
+
+
+extern const struct file_operations generic_ro_fops;
+
+
+
+extern int vfs_readlink(struct dentry *, char *, int, const char *);
+extern int vfs_follow_link(struct nameidata *, const char *);
+extern int page_readlink(struct dentry *, char *, int);
+extern void *page_follow_link_light(struct dentry *, struct nameidata *);
+extern void page_put_link(struct dentry *, struct nameidata *, void *);
+extern int __page_symlink(struct inode *inode, const char *symname, int len,
+  int nofs);
+extern int page_symlink(struct inode *inode, const char *symname, int len);
+extern const struct inode_operations page_symlink_inode_operations;
+extern int generic_readlink(struct dentry *, char *, int);
+extern void generic_fillattr(struct inode *, struct kstat *);
+extern int vfs_getattr(struct vfsmount *, struct dentry *, struct kstat *);
+void __inode_add_bytes(struct inode *inode, loff_t bytes);
+void inode_add_bytes(struct inode *inode, loff_t bytes);
+void inode_sub_bytes(struct inode *inode, loff_t bytes);
+loff_t inode_get_bytes(struct inode *inode);
+void inode_set_bytes(struct inode *inode, loff_t bytes);
+
+extern int vfs_readdir(struct file *, filldir_t, void *);
+
+extern int vfs_stat(const char *, struct kstat *);
+extern int vfs_lstat(const char *, struct kstat *);
+extern int vfs_fstat(unsigned int, struct kstat *);
+extern int vfs_fstatat(int , const char *, struct kstat *, int);
+
+extern int do_vfs_ioctl(struct file *filp, unsigned int fd, unsigned int cmd,
+      unsigned long arg);
+extern int __generic_block_fiemap(struct inode *inode,
+      struct fiemap_extent_info *fieinfo,
+      loff_t start, loff_t len,
+      get_block_t *get_block);
+extern int generic_block_fiemap(struct inode *inode,
+    struct fiemap_extent_info *fieinfo, u64 start,
+    u64 len, get_block_t *get_block);
+
+extern void get_filesystem(struct file_system_type *fs);
+extern void put_filesystem(struct file_system_type *fs);
+extern struct file_system_type *get_fs_type(const char *name);
+extern struct super_block *get_super(struct block_device *);
+extern struct super_block *get_active_super(struct block_device *bdev);
+extern struct super_block *user_get_super(dev_t);
+extern void drop_super(struct super_block *sb);
+extern void iterate_supers(void (*)(struct super_block *, void *), void *);
+
+extern int dcache_dir_open(struct inode *, struct file *);
+extern int dcache_dir_close(struct inode *, struct file *);
+extern loff_t dcache_dir_lseek(struct file *, loff_t, int);
+extern int dcache_readdir(struct file *, void *, filldir_t);
+extern int simple_setattr(struct dentry *, struct iattr *);
+extern int simple_getattr(struct vfsmount *, struct dentry *, struct kstat *);
+extern int simple_statfs(struct dentry *, struct kstatfs *);
+extern int simple_link(struct dentry *, struct inode *, struct dentry *);
+extern int simple_unlink(struct inode *, struct dentry *);
+extern int simple_rmdir(struct inode *, struct dentry *);
+extern int simple_rename(struct inode *, struct dentry *, struct inode *, struct dentry *);
+extern int noop_fsync(struct file *, int);
+extern int simple_empty(struct dentry *);
+extern int simple_readpage(struct file *file, struct page *page);
+extern int simple_write_begin(struct file *file, struct address_space *mapping,
+   loff_t pos, unsigned len, unsigned flags,
+   struct page **pagep, void **fsdata);
+extern int simple_write_end(struct file *file, struct address_space *mapping,
+   loff_t pos, unsigned len, unsigned copied,
+   struct page *page, void *fsdata);
+
+extern struct dentry *simple_lookup(struct inode *, struct dentry *, struct nameidata *);
+extern ssize_t generic_read_dir(struct file *, char *, size_t, loff_t *);
+extern const struct file_operations simple_dir_operations;
+extern const struct inode_operations simple_dir_inode_operations;
+struct tree_descr { char *name; const struct file_operations *ops; int mode; };
+struct dentry *d_alloc_name(struct dentry *, const char *);
+extern int simple_fill_super(struct super_block *, unsigned long, struct tree_descr *);
+extern int simple_pin_fs(struct file_system_type *, struct vfsmount **mount, int *count);
+extern void simple_release_fs(struct vfsmount **mount, int *count);
+
+extern ssize_t simple_read_from_buffer(void *to, size_t count,
+   loff_t *ppos, const void *from, size_t available);
+extern ssize_t simple_write_to_buffer(void *to, size_t available, loff_t *ppos,
+  const void *from, size_t count);
+
+extern int generic_file_fsync(struct file *, int);
+
+extern int generic_check_addressable(unsigned, u64);
+
+
+extern int buffer_migrate_page(struct address_space *,
+    struct page *, struct page *);
+
+
+
+
+extern int inode_change_ok(const struct inode *, struct iattr *);
+extern int inode_newsize_ok(const struct inode *, loff_t offset);
+extern void setattr_copy(struct inode *inode, const struct iattr *attr);
+
+extern void file_update_time(struct file *file);
+
+extern int generic_show_options(struct seq_file *m, struct vfsmount *mnt);
+extern void save_mount_options(struct super_block *sb, char *options);
+extern void replace_mount_options(struct super_block *sb, char *options);
+
+static inline __attribute__((always_inline)) ino_t parent_ino(struct dentry *dentry)
+{
+ ino_t res;
+
+
+
+
+
+ spin_lock(&dentry->d_lock);
+ res = dentry->d_parent->d_inode->i_ino;
+ spin_unlock(&dentry->d_lock);
+ return res;
+}
+
+
+
+
+
+
+
+struct simple_transaction_argresp {
+ ssize_t size;
+ char data[0];
+};
+
+
+
+char *simple_transaction_get(struct file *file, const char *buf,
+    size_t size);
+ssize_t simple_transaction_read(struct file *file, char *buf,
+    size_t size, loff_t *pos);
+int simple_transaction_release(struct inode *inode, struct file *file);
+
+void simple_transaction_set(struct file *file, size_t n);
+# 2550 "include/linux/fs.h"
+static inline __attribute__((always_inline)) void __attribute__((format(printf, 1, 2)))
+__simple_attr_check_format(const char *fmt, ...)
+{
+
+}
+
+int simple_attr_open(struct inode *inode, struct file *file,
+       int (*get)(void *, u64 *), int (*set)(void *, u64),
+       const char *fmt);
+int simple_attr_release(struct inode *inode, struct file *file);
+ssize_t simple_attr_read(struct file *file, char *buf,
+    size_t len, loff_t *ppos);
+ssize_t simple_attr_write(struct file *file, const char *buf,
+     size_t len, loff_t *ppos);
+
+struct ctl_table;
+int proc_nr_files(struct ctl_table *table, int write,
+    void *buffer, size_t *lenp, loff_t *ppos);
+int proc_nr_dentry(struct ctl_table *table, int write,
+    void *buffer, size_t *lenp, loff_t *ppos);
+int proc_nr_inodes(struct ctl_table *table, int write,
+     void *buffer, size_t *lenp, loff_t *ppos);
+int __attribute__ ((__section__(".init.text"))) __attribute__((__cold__)) __attribute__((no_instrument_function)) get_filesystem_list(char *buf);
+# 6 "include/linux/proc_fs.h" 2
+
+# 1 "include/linux/magic.h" 1
+# 8 "include/linux/proc_fs.h" 2
+
+
+struct net;
+struct completion;
+struct mm_struct;
+# 30 "include/linux/proc_fs.h"
+enum {
+ PROC_ROOT_INO = 1,
+};
+# 46 "include/linux/proc_fs.h"
+typedef int (read_proc_t)(char *page, char **start, off_t off,
+     int count, int *eof, void *data);
+typedef int (write_proc_t)(struct file *file, const char *buffer,
+      unsigned long count, void *data);
+
+struct proc_dir_entry {
+ unsigned int low_ino;
+ unsigned int namelen;
+ const char *name;
+ mode_t mode;
+ nlink_t nlink;
+ uid_t uid;
+ gid_t gid;
+ loff_t size;
+ const struct inode_operations *proc_iops;
+# 69 "include/linux/proc_fs.h"
+ const struct file_operations *proc_fops;
+ struct proc_dir_entry *next, *parent, *subdir;
+ void *data;
+ read_proc_t *read_proc;
+ write_proc_t *write_proc;
+ atomic_t count;
+ int pde_users;
+ spinlock_t pde_unload_lock;
+ struct completion *pde_unload_completion;
+ struct list_head pde_openers;
+};
+
+enum kcore_type {
+ KCORE_TEXT,
+ KCORE_VMALLOC,
+ KCORE_RAM,
+ KCORE_VMEMMAP,
+ KCORE_OTHER,
+};
+
+struct kcore_list {
+ struct list_head list;
+ unsigned long addr;
+ size_t size;
+ int type;
+};
+
+struct vmcore {
+ struct list_head list;
+ unsigned long long paddr;
+ unsigned long long size;
+ loff_t offset;
+};
+
+
+
+extern void proc_root_init(void);
+
+void proc_flush_task(struct task_struct *task);
+
+extern struct proc_dir_entry *create_proc_entry(const char *name, mode_t mode,
+      struct proc_dir_entry *parent);
+struct proc_dir_entry *proc_create_data(const char *name, mode_t mode,
+    struct proc_dir_entry *parent,
+    const struct file_operations *proc_fops,
+    void *data);
+extern void remove_proc_entry(const char *name, struct proc_dir_entry *parent);
+
+struct pid_namespace;
+
+extern int pid_ns_prepare_proc(struct pid_namespace *ns);
+extern void pid_ns_release_proc(struct pid_namespace *ns);
+
+
+
+
+struct tty_driver;
+extern void proc_tty_init(void);
+extern void proc_tty_register_driver(struct tty_driver *driver);
+extern void proc_tty_unregister_driver(struct tty_driver *driver);
+# 146 "include/linux/proc_fs.h"
+extern struct proc_dir_entry *proc_symlink(const char *,
+  struct proc_dir_entry *, const char *);
+extern struct proc_dir_entry *proc_mkdir(const char *,struct proc_dir_entry *);
+extern struct proc_dir_entry *proc_mkdir_mode(const char *name, mode_t mode,
+   struct proc_dir_entry *parent);
+
+static inline __attribute__((always_inline)) struct proc_dir_entry *proc_create(const char *name, mode_t mode,
+ struct proc_dir_entry *parent, const struct file_operations *proc_fops)
+{
+ return proc_create_data(name, mode, parent, proc_fops, ((void *)0));
+}
+
+static inline __attribute__((always_inline)) struct proc_dir_entry *create_proc_read_entry(const char *name,
+ mode_t mode, struct proc_dir_entry *base,
+ read_proc_t *read_proc, void * data)
+{
+ struct proc_dir_entry *res=create_proc_entry(name,mode,base);
+ if (res) {
+  res->read_proc=read_proc;
+  res->data=data;
+ }
+ return res;
+}
+
+extern struct proc_dir_entry *proc_net_fops_create(struct net *net,
+ const char *name, mode_t mode, const struct file_operations *fops);
+extern void proc_net_remove(struct net *net, const char *name);
+extern struct proc_dir_entry *proc_net_mkdir(struct net *net, const char *name,
+ struct proc_dir_entry *parent);
+
+
+
+extern void set_mm_exe_file(struct mm_struct *mm, struct file *new_exe_file);
+extern struct file *get_mm_exe_file(struct mm_struct *mm);
+extern void dup_mm_exe_file(struct mm_struct *oldmm, struct mm_struct *newmm);
+# 252 "include/linux/proc_fs.h"
+extern void kclist_add(struct kcore_list *, void *, size_t, int type);
+
+
+union proc_op {
+ int (*proc_get_link)(struct inode *, struct path *);
+ int (*proc_read)(struct task_struct *task, char *page);
+ int (*proc_show)(struct seq_file *m,
+  struct pid_namespace *ns, struct pid *pid,
+  struct task_struct *task);
+};
+
+struct ctl_table_header;
+struct ctl_table;
+
+struct proc_inode {
+ struct pid *pid;
+ int fd;
+ union proc_op op;
+ struct proc_dir_entry *pde;
+ struct ctl_table_header *sysctl;
+ struct ctl_table *sysctl_entry;
+ struct inode vfs_inode;
+};
+
+static inline __attribute__((always_inline)) struct proc_inode *PROC_I(const struct inode *inode)
+{
+ return ({ const typeof( ((struct proc_inode *)0)->vfs_inode ) *__mptr = (inode); (struct proc_inode *)( (char *)__mptr - __builtin_offsetof(struct proc_inode,vfs_inode) );});
+}
+
+static inline __attribute__((always_inline)) struct proc_dir_entry *PDE(const struct inode *inode)
+{
+ return PROC_I(inode)->pde;
+}
+
+static inline __attribute__((always_inline)) struct net *PDE_NET(struct proc_dir_entry *pde)
+{
+ return pde->parent->data;
+}
+
+struct proc_maps_private {
+ struct pid *pid;
+ struct task_struct *task;
+
+ struct vm_area_struct *tail_vma;
+
+};
+# 14 "fs/proc/root.c" 2
+
+
+
+# 1 "include/linux/module.h" 1
+# 13 "include/linux/module.h"
+# 1 "include/linux/kmod.h" 1
+# 31 "include/linux/kmod.h"
+extern char modprobe_path[];
+
+
+extern int __request_module(bool wait, const char *name, ...)
+ __attribute__((format(printf, 2, 3)));
+# 47 "include/linux/kmod.h"
+struct key;
+struct file;
+
+enum umh_wait {
+ UMH_NO_WAIT = -1,
+ UMH_WAIT_EXEC = 0,
+ UMH_WAIT_PROC = 1,
+};
+
+struct subprocess_info {
+ struct work_struct work;
+ struct completion *complete;
+ char *path;
+ char **argv;
+ char **envp;
+ enum umh_wait wait;
+ int retval;
+ int (*init)(struct subprocess_info *info);
+ void (*cleanup)(struct subprocess_info *info);
+ void *data;
+};
+
+
+struct subprocess_info *call_usermodehelper_setup(char *path, char **argv,
+        char **envp, gfp_t gfp_mask);
+
+
+void call_usermodehelper_setfns(struct subprocess_info *info,
+      int (*init)(struct subprocess_info *info),
+      void (*cleanup)(struct subprocess_info *info),
+      void *data);
+
+
+int call_usermodehelper_exec(struct subprocess_info *info, enum umh_wait wait);
+
+
+
+void call_usermodehelper_freeinfo(struct subprocess_info *info);
+
+static inline __attribute__((always_inline)) int
+call_usermodehelper_fns(char *path, char **argv, char **envp,
+   enum umh_wait wait,
+   int (*init)(struct subprocess_info *info),
+   void (*cleanup)(struct subprocess_info *), void *data)
+{
+ struct subprocess_info *info;
+ gfp_t gfp_mask = (wait == UMH_NO_WAIT) ? ((( gfp_t)0x20u)) : ((( gfp_t)0x10u) | (( gfp_t)0x40u) | (( gfp_t)0x80u));
+
+ info = call_usermodehelper_setup(path, argv, envp, gfp_mask);
+
+ if (info == ((void *)0))
+  return -12;
+
+ call_usermodehelper_setfns(info, init, cleanup, data);
+
+ return call_usermodehelper_exec(info, wait);
+}
+
+static inline __attribute__((always_inline)) int
+call_usermodehelper(char *path, char **argv, char **envp, enum umh_wait wait)
+{
+ return call_usermodehelper_fns(path, argv, envp, wait,
+           ((void *)0), ((void *)0), ((void *)0));
+}
+
+extern void usermodehelper_init(void);
+
+extern int usermodehelper_disable(void);
+extern void usermodehelper_enable(void);
+# 14 "include/linux/module.h" 2
+# 1 "include/linux/elf.h" 1
+
+
+
+
+# 1 "include/linux/elf-em.h" 1
+# 6 "include/linux/elf.h" 2
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/elf.h" 1
+# 100 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/elf.h"
+typedef unsigned long elf_greg_t64;
+typedef elf_greg_t64 elf_gregset_t64[48];
+
+typedef unsigned int elf_greg_t32;
+typedef elf_greg_t32 elf_gregset_t32[48];
+typedef elf_gregset_t32 compat_elf_gregset_t;
+# 140 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/elf.h"
+  typedef elf_greg_t32 elf_greg_t;
+  typedef elf_gregset_t32 elf_gregset_t;
+
+
+
+typedef double elf_fpreg_t;
+typedef elf_fpreg_t elf_fpregset_t[33];
+# 167 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/elf.h"
+typedef __vector128 elf_vrreg_t;
+typedef elf_vrreg_t elf_vrregset_t[33];
+# 189 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/elf.h"
+extern unsigned long randomize_et_dyn(unsigned long base);
+# 209 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/elf.h"
+static inline __attribute__((always_inline)) void ppc_elf_core_copy_regs(elf_gregset_t elf_regs,
+       struct pt_regs *regs)
+{
+ int i, nregs = ({ typeof(sizeof(*regs) / sizeof(unsigned long)) _min1 = (sizeof(*regs) / sizeof(unsigned long)); typeof((size_t)48) _min2 = ((size_t)48); (void) (&_min1 == &_min2); _min1 < _min2 ? _min1 : _min2; }); for (i = 0; i < nregs; i++) elf_regs[i] = ((unsigned long *) regs)[i]; memset(&elf_regs[i], 0, (48 - i) * sizeof(elf_regs[0]));
+}
+
+
+typedef elf_vrregset_t elf_fpxregset_t;
+# 269 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/elf.h"
+extern int dcache_bsize;
+extern int icache_bsize;
+extern int ucache_bsize;
+
+
+
+struct linux_binprm;
+extern int arch_setup_additional_pages(struct linux_binprm *bprm,
+           int uses_interp);
+
+
+
+
+
+
+
+extern unsigned long arch_randomize_brk(struct mm_struct *mm);
+# 428 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/elf.h"
+struct ppc64_opd_entry
+{
+ unsigned long funcaddr;
+ unsigned long r2;
+};
+# 8 "include/linux/elf.h" 2
+
+
+struct file;
+# 20 "include/linux/elf.h"
+typedef __u32 Elf32_Addr;
+typedef __u16 Elf32_Half;
+typedef __u32 Elf32_Off;
+typedef __s32 Elf32_Sword;
+typedef __u32 Elf32_Word;
+
+
+typedef __u64 Elf64_Addr;
+typedef __u16 Elf64_Half;
+typedef __s16 Elf64_SHalf;
+typedef __u64 Elf64_Off;
+typedef __s32 Elf64_Sword;
+typedef __u32 Elf64_Word;
+typedef __u64 Elf64_Xword;
+typedef __s64 Elf64_Sxword;
+# 149 "include/linux/elf.h"
+typedef struct dynamic{
+  Elf32_Sword d_tag;
+  union{
+    Elf32_Sword d_val;
+    Elf32_Addr d_ptr;
+  } d_un;
+} Elf32_Dyn;
+
+typedef struct {
+  Elf64_Sxword d_tag;
+  union {
+    Elf64_Xword d_val;
+    Elf64_Addr d_ptr;
+  } d_un;
+} Elf64_Dyn;
+# 172 "include/linux/elf.h"
+typedef struct elf32_rel {
+  Elf32_Addr r_offset;
+  Elf32_Word r_info;
+} Elf32_Rel;
+
+typedef struct elf64_rel {
+  Elf64_Addr r_offset;
+  Elf64_Xword r_info;
+} Elf64_Rel;
+
+typedef struct elf32_rela{
+  Elf32_Addr r_offset;
+  Elf32_Word r_info;
+  Elf32_Sword r_addend;
+} Elf32_Rela;
+
+typedef struct elf64_rela {
+  Elf64_Addr r_offset;
+  Elf64_Xword r_info;
+  Elf64_Sxword r_addend;
+} Elf64_Rela;
+
+typedef struct elf32_sym{
+  Elf32_Word st_name;
+  Elf32_Addr st_value;
+  Elf32_Word st_size;
+  unsigned char st_info;
+  unsigned char st_other;
+  Elf32_Half st_shndx;
+} Elf32_Sym;
+
+typedef struct elf64_sym {
+  Elf64_Word st_name;
+  unsigned char st_info;
+  unsigned char st_other;
+  Elf64_Half st_shndx;
+  Elf64_Addr st_value;
+  Elf64_Xword st_size;
+} Elf64_Sym;
+
+
+
+
+typedef struct elf32_hdr{
+  unsigned char e_ident[16];
+  Elf32_Half e_type;
+  Elf32_Half e_machine;
+  Elf32_Word e_version;
+  Elf32_Addr e_entry;
+  Elf32_Off e_phoff;
+  Elf32_Off e_shoff;
+  Elf32_Word e_flags;
+  Elf32_Half e_ehsize;
+  Elf32_Half e_phentsize;
+  Elf32_Half e_phnum;
+  Elf32_Half e_shentsize;
+  Elf32_Half e_shnum;
+  Elf32_Half e_shstrndx;
+} Elf32_Ehdr;
+
+typedef struct elf64_hdr {
+  unsigned char e_ident[16];
+  Elf64_Half e_type;
+  Elf64_Half e_machine;
+  Elf64_Word e_version;
+  Elf64_Addr e_entry;
+  Elf64_Off e_phoff;
+  Elf64_Off e_shoff;
+  Elf64_Word e_flags;
+  Elf64_Half e_ehsize;
+  Elf64_Half e_phentsize;
+  Elf64_Half e_phnum;
+  Elf64_Half e_shentsize;
+  Elf64_Half e_shnum;
+  Elf64_Half e_shstrndx;
+} Elf64_Ehdr;
+
+
+
+
+
+
+
+typedef struct elf32_phdr{
+  Elf32_Word p_type;
+  Elf32_Off p_offset;
+  Elf32_Addr p_vaddr;
+  Elf32_Addr p_paddr;
+  Elf32_Word p_filesz;
+  Elf32_Word p_memsz;
+  Elf32_Word p_flags;
+  Elf32_Word p_align;
+} Elf32_Phdr;
+
+typedef struct elf64_phdr {
+  Elf64_Word p_type;
+  Elf64_Word p_flags;
+  Elf64_Off p_offset;
+  Elf64_Addr p_vaddr;
+  Elf64_Addr p_paddr;
+  Elf64_Xword p_filesz;
+  Elf64_Xword p_memsz;
+  Elf64_Xword p_align;
+} Elf64_Phdr;
+# 311 "include/linux/elf.h"
+typedef struct elf32_shdr {
+  Elf32_Word sh_name;
+  Elf32_Word sh_type;
+  Elf32_Word sh_flags;
+  Elf32_Addr sh_addr;
+  Elf32_Off sh_offset;
+  Elf32_Word sh_size;
+  Elf32_Word sh_link;
+  Elf32_Word sh_info;
+  Elf32_Word sh_addralign;
+  Elf32_Word sh_entsize;
+} Elf32_Shdr;
+
+typedef struct elf64_shdr {
+  Elf64_Word sh_name;
+  Elf64_Word sh_type;
+  Elf64_Xword sh_flags;
+  Elf64_Addr sh_addr;
+  Elf64_Off sh_offset;
+  Elf64_Xword sh_size;
+  Elf64_Word sh_link;
+  Elf64_Word sh_info;
+  Elf64_Xword sh_addralign;
+  Elf64_Xword sh_entsize;
+} Elf64_Shdr;
+# 401 "include/linux/elf.h"
+typedef struct elf32_note {
+  Elf32_Word n_namesz;
+  Elf32_Word n_descsz;
+  Elf32_Word n_type;
+} Elf32_Nhdr;
+
+
+typedef struct elf64_note {
+  Elf64_Word n_namesz;
+  Elf64_Word n_descsz;
+  Elf64_Word n_type;
+} Elf64_Nhdr;
+
+
+
+
+extern Elf32_Dyn _DYNAMIC [];
+# 439 "include/linux/elf.h"
+static inline __attribute__((always_inline)) int elf_coredump_extra_notes_size(void) { return 0; }
+static inline __attribute__((always_inline)) int elf_coredump_extra_notes_write(struct file *file,
+   loff_t *foffset) { return 0; }
+# 15 "include/linux/module.h" 2
+
+
+# 1 "include/linux/moduleparam.h" 1
+# 34 "include/linux/moduleparam.h"
+struct kernel_param;
+
+struct kernel_param_ops {
+
+ int (*set)(const char *val, const struct kernel_param *kp);
+
+ int (*get)(char *buffer, const struct kernel_param *kp);
+
+ void (*free)(void *arg);
+};
+
+
+
+
+struct kernel_param {
+ const char *name;
+ const struct kernel_param_ops *ops;
+ u16 perm;
+ u16 flags;
+ union {
+  void *arg;
+  const struct kparam_string *str;
+  const struct kparam_array *arr;
+ };
+};
+
+
+struct kparam_string {
+ unsigned int maxlen;
+ char *string;
+};
+
+
+struct kparam_array
+{
+ unsigned int max;
+ unsigned int *num;
+ const struct kernel_param_ops *ops;
+ unsigned int elemsize;
+ void *elem;
+};
+# 166 "include/linux/moduleparam.h"
+static inline __attribute__((always_inline)) int
+__check_old_set_param(int (*oldset)(const char *, struct kernel_param *))
+{
+ return 0;
+}
+# 217 "include/linux/moduleparam.h"
+extern void __kernel_param_lock(void);
+extern void __kernel_param_unlock(void);
+# 266 "include/linux/moduleparam.h"
+extern int parse_args(const char *name,
+        char *args,
+        const struct kernel_param *params,
+        unsigned num,
+        int (*unknown)(char *param, char *val));
+
+
+
+extern void destroy_params(const struct kernel_param *params, unsigned num);
+# 288 "include/linux/moduleparam.h"
+extern struct kernel_param_ops param_ops_byte;
+extern int param_set_byte(const char *val, const struct kernel_param *kp);
+extern int param_get_byte(char *buffer, const struct kernel_param *kp);
+
+
+extern struct kernel_param_ops param_ops_short;
+extern int param_set_short(const char *val, const struct kernel_param *kp);
+extern int param_get_short(char *buffer, const struct kernel_param *kp);
+
+
+extern struct kernel_param_ops param_ops_ushort;
+extern int param_set_ushort(const char *val, const struct kernel_param *kp);
+extern int param_get_ushort(char *buffer, const struct kernel_param *kp);
+
+
+extern struct kernel_param_ops param_ops_int;
+extern int param_set_int(const char *val, const struct kernel_param *kp);
+extern int param_get_int(char *buffer, const struct kernel_param *kp);
+
+
+extern struct kernel_param_ops param_ops_uint;
+extern int param_set_uint(const char *val, const struct kernel_param *kp);
+extern int param_get_uint(char *buffer, const struct kernel_param *kp);
+
+
+extern struct kernel_param_ops param_ops_long;
+extern int param_set_long(const char *val, const struct kernel_param *kp);
+extern int param_get_long(char *buffer, const struct kernel_param *kp);
+
+
+extern struct kernel_param_ops param_ops_ulong;
+extern int param_set_ulong(const char *val, const struct kernel_param *kp);
+extern int param_get_ulong(char *buffer, const struct kernel_param *kp);
+
+
+extern struct kernel_param_ops param_ops_charp;
+extern int param_set_charp(const char *val, const struct kernel_param *kp);
+extern int param_get_charp(char *buffer, const struct kernel_param *kp);
+
+
+
+extern struct kernel_param_ops param_ops_bool;
+extern int param_set_bool(const char *val, const struct kernel_param *kp);
+extern int param_get_bool(char *buffer, const struct kernel_param *kp);
+# 340 "include/linux/moduleparam.h"
+extern struct kernel_param_ops param_ops_invbool;
+extern int param_set_invbool(const char *val, const struct kernel_param *kp);
+extern int param_get_invbool(char *buffer, const struct kernel_param *kp);
+# 382 "include/linux/moduleparam.h"
+extern struct kernel_param_ops param_array_ops;
+
+extern struct kernel_param_ops param_ops_string;
+extern int param_set_copystring(const char *val, const struct kernel_param *);
+extern int param_get_string(char *buffer, const struct kernel_param *kp);
+
+
+
+struct module;
+
+
+extern int module_param_sysfs_setup(struct module *mod,
+        const struct kernel_param *kparam,
+        unsigned int num_params);
+
+extern void module_param_sysfs_remove(struct module *mod);
+# 18 "include/linux/module.h" 2
+# 1 "include/linux/tracepoint.h" 1
+# 22 "include/linux/tracepoint.h"
+struct module;
+struct tracepoint;
+
+struct tracepoint_func {
+ void *func;
+ void *data;
+};
+
+struct tracepoint {
+ const char *name;
+ int state;
+ void (*regfunc)(void);
+ void (*unregfunc)(void);
+ struct tracepoint_func *funcs;
+};
+
+
+
+
+
+extern int tracepoint_probe_register(const char *name, void *probe, void *data);
+
+
+
+
+
+extern int
+tracepoint_probe_unregister(const char *name, void *probe, void *data);
+
+extern int tracepoint_probe_register_noupdate(const char *name, void *probe,
+           void *data);
+extern int tracepoint_probe_unregister_noupdate(const char *name, void *probe,
+      void *data);
+extern void tracepoint_probe_update_all(void);
+
+struct tracepoint_iter {
+ struct module *module;
+ struct tracepoint * const *tracepoint;
+};
+
+extern void tracepoint_iter_start(struct tracepoint_iter *iter);
+extern void tracepoint_iter_next(struct tracepoint_iter *iter);
+extern void tracepoint_iter_stop(struct tracepoint_iter *iter);
+extern void tracepoint_iter_reset(struct tracepoint_iter *iter);
+extern int tracepoint_get_iter_range(struct tracepoint * const **tracepoint,
+ struct tracepoint * const *begin, struct tracepoint * const *end);
+
+
+
+
+
+
+static inline __attribute__((always_inline)) void tracepoint_synchronize_unregister(void)
+{
+ synchronize_sched();
+}
+
+
+
+
+extern
+void tracepoint_update_probe_range(struct tracepoint * const *begin,
+ struct tracepoint * const *end);
+# 19 "include/linux/module.h" 2
+
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/module.h" 1
+# 26 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/module.h"
+struct ppc_plt_entry {
+
+ unsigned int jump[4];
+};
+
+
+
+struct mod_arch_specific {
+# 44 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/module.h"
+ unsigned int core_plt_section;
+ unsigned int init_plt_section;
+
+ unsigned long tramp;
+
+
+
+
+ struct list_head bug_list;
+ struct bug_entry *bug_table;
+ unsigned int num_bugs;
+};
+# 86 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/module.h"
+struct exception_table_entry;
+void sort_ex_table(struct exception_table_entry *start,
+     struct exception_table_entry *finish);
+# 22 "include/linux/module.h" 2
+
+# 1 "include/trace/events/module.h" 1
+# 17 "include/trace/events/module.h"
+# 1 "include/linux/tracepoint.h" 1
+# 18 "include/trace/events/module.h" 2
+
+
+
+struct module;
+
+
+
+
+
+
+extern struct tracepoint
+# 45 "include/trace/events/module.h"
+ __tracepoint_module_load
+# 28 "include/trace/events/module.h"
+ ; static inline __attribute__((always_inline)) void
+# 45 "include/trace/events/module.h"
+ trace_module_load
+# 28 "include/trace/events/module.h"
+ (struct module *mod) { do { if (__builtin_expect(!!(*&__tracepoint_module_load.state), 0)) goto do_trace; } while (0); return; do_trace: do { struct tracepoint_func *it_func_ptr; void *it_func; void *__data; if (!(1)) return; rcu_read_lock_sched_notrace(); it_func_ptr = ({ typeof(*((&__tracepoint_module_load)->funcs)) *_________p1 = (typeof(*((&__tracepoint_module_load)->funcs))* )(*(volatile typeof(((&__tracepoint_module_load)->funcs)) *)&(((&__tracepoint_module_load)->funcs))); do { } while (0); ; do { } while(0); ((typeof(*((&__tracepoint_module_load)->funcs)) *)(_________p1)); }); if (it_func_ptr) { do { printk("<7>" "trace:: func: 0x%p, data: 0x%p, funN: 0x%p\n", (it_func_ptr)->func, (it_func_ptr)->data,(it_func_ptr+1)->func); it_func = (it_func_ptr)->func; __data = (it_func_ptr)->data; ((void(*)(void *__data, struct module *mod))(it_func))(__data, mod); } while ((++it_func_ptr)->func); } rcu_read_unlock_sched_notrace(); } while (0); } static inline __attribute__((always_inline)) int
+# 45 "include/trace/events/module.h"
+ register_trace_module_load
+# 28 "include/trace/events/module.h"
+ (void (*probe)(void *__data, struct module *mod), void *data) { return tracepoint_probe_register("module_load", (void *)probe, data); } static inline __attribute__((always_inline)) int
+# 45 "include/trace/events/module.h"
+ unregister_trace_module_load
+# 28 "include/trace/events/module.h"
+ (void (*probe)(void *__data, struct module *mod), void *data) { return tracepoint_probe_unregister("module_load", (void *)probe, data); } static inline __attribute__((always_inline)) void
+# 45 "include/trace/events/module.h"
+ check_trace_callback_type_module_load
+# 28 "include/trace/events/module.h"
+ (void (*cb)(void *__data, struct module *mod)) { }
+# 45 "include/trace/events/module.h"
+ ;
+
+extern struct tracepoint
+# 62 "include/trace/events/module.h"
+ __tracepoint_module_free
+# 47 "include/trace/events/module.h"
+ ; static inline __attribute__((always_inline)) void
+# 62 "include/trace/events/module.h"
+ trace_module_free
+# 47 "include/trace/events/module.h"
+ (struct module *mod) { do { if (__builtin_expect(!!(*&__tracepoint_module_free.state), 0)) goto do_trace; } while (0); return; do_trace: do { struct tracepoint_func *it_func_ptr; void *it_func; void *__data; if (!(1)) return; rcu_read_lock_sched_notrace(); it_func_ptr = ({ typeof(*((&__tracepoint_module_free)->funcs)) *_________p1 = (typeof(*((&__tracepoint_module_free)->funcs))* )(*(volatile typeof(((&__tracepoint_module_free)->funcs)) *)&(((&__tracepoint_module_free)->funcs))); do { } while (0); ; do { } while(0); ((typeof(*((&__tracepoint_module_free)->funcs)) *)(_________p1)); }); if (it_func_ptr) { do { printk("<7>" "trace:: func: 0x%p, data: 0x%p, funN: 0x%p\n", (it_func_ptr)->func, (it_func_ptr)->data,(it_func_ptr+1)->func); it_func = (it_func_ptr)->func; __data = (it_func_ptr)->data; ((void(*)(void *__data, struct module *mod))(it_func))(__data, mod); } while ((++it_func_ptr)->func); } rcu_read_unlock_sched_notrace(); } while (0); } static inline __attribute__((always_inline)) int
+# 62 "include/trace/events/module.h"
+ register_trace_module_free
+# 47 "include/trace/events/module.h"
+ (void (*probe)(void *__data, struct module *mod), void *data) { return tracepoint_probe_register("module_free", (void *)probe, data); } static inline __attribute__((always_inline)) int
+# 62 "include/trace/events/module.h"
+ unregister_trace_module_free
+# 47 "include/trace/events/module.h"
+ (void (*probe)(void *__data, struct module *mod), void *data) { return tracepoint_probe_unregister("module_free", (void *)probe, data); } static inline __attribute__((always_inline)) void
+# 62 "include/trace/events/module.h"
+ check_trace_callback_type_module_free
+# 47 "include/trace/events/module.h"
+ (void (*cb)(void *__data, struct module *mod)) { }
+# 62 "include/trace/events/module.h"
+ ;
+
+
+
+
+
+# 87 "include/trace/events/module.h"
+ ;
+
+extern struct tracepoint
+
+
+
+
+ __tracepoint_module_get
+# 89 "include/trace/events/module.h"
+ ; static inline __attribute__((always_inline)) void
+
+
+
+
+ trace_module_get
+# 89 "include/trace/events/module.h"
+ (struct module *mod, unsigned long ip) { do { if (__builtin_expect(!!(*&__tracepoint_module_get.state), 0)) goto do_trace; } while (0); return; do_trace: do { struct tracepoint_func *it_func_ptr; void *it_func; void *__data; if (!(1)) return; rcu_read_lock_sched_notrace(); it_func_ptr = ({ typeof(*((&__tracepoint_module_get)->funcs)) *_________p1 = (typeof(*((&__tracepoint_module_get)->funcs))* )(*(volatile typeof(((&__tracepoint_module_get)->funcs)) *)&(((&__tracepoint_module_get)->funcs))); do { } while (0); ; do { } while(0); ((typeof(*((&__tracepoint_module_get)->funcs)) *)(_________p1)); }); if (it_func_ptr) { do { printk("<7>" "trace:: func: 0x%p, data: 0x%p, funN: 0x%p\n", (it_func_ptr)->func, (it_func_ptr)->data,(it_func_ptr+1)->func); it_func = (it_func_ptr)->func; __data = (it_func_ptr)->data; ((void(*)(void *__data, struct module *mod, unsigned long ip))(it_func))(__data, mod, ip); } while ((++it_func_ptr)->func); } rcu_read_unlock_sched_notrace(); } while (0); } static inline __attribute__((always_inline)) int
+
+
+
+
+ register_trace_module_get
+# 89 "include/trace/events/module.h"
+ (void (*probe)(void *__data, struct module *mod, unsigned long ip), void *data) { return tracepoint_probe_register("module_get", (void *)probe, data); } static inline __attribute__((always_inline)) int
+
+
+
+
+ unregister_trace_module_get
+# 89 "include/trace/events/module.h"
+ (void (*probe)(void *__data, struct module *mod, unsigned long ip), void *data) { return tracepoint_probe_unregister("module_get", (void *)probe, data); } static inline __attribute__((always_inline)) void
+
+
+
+
+ check_trace_callback_type_module_get
+# 89 "include/trace/events/module.h"
+ (void (*cb)(void *__data, struct module *mod, unsigned long ip)) { }
+
+
+
+
+ ;
+
+extern struct tracepoint
+
+
+
+
+ __tracepoint_module_put
+# 96 "include/trace/events/module.h"
+ ; static inline __attribute__((always_inline)) void
+
+
+
+
+ trace_module_put
+# 96 "include/trace/events/module.h"
+ (struct module *mod, unsigned long ip) { do { if (__builtin_expect(!!(*&__tracepoint_module_put.state), 0)) goto do_trace; } while (0); return; do_trace: do { struct tracepoint_func *it_func_ptr; void *it_func; void *__data; if (!(1)) return; rcu_read_lock_sched_notrace(); it_func_ptr = ({ typeof(*((&__tracepoint_module_put)->funcs)) *_________p1 = (typeof(*((&__tracepoint_module_put)->funcs))* )(*(volatile typeof(((&__tracepoint_module_put)->funcs)) *)&(((&__tracepoint_module_put)->funcs))); do { } while (0); ; do { } while(0); ((typeof(*((&__tracepoint_module_put)->funcs)) *)(_________p1)); }); if (it_func_ptr) { do { printk("<7>" "trace:: func: 0x%p, data: 0x%p, funN: 0x%p\n", (it_func_ptr)->func, (it_func_ptr)->data,(it_func_ptr+1)->func); it_func = (it_func_ptr)->func; __data = (it_func_ptr)->data; ((void(*)(void *__data, struct module *mod, unsigned long ip))(it_func))(__data, mod, ip); } while ((++it_func_ptr)->func); } rcu_read_unlock_sched_notrace(); } while (0); } static inline __attribute__((always_inline)) int
+
+
+
+
+ register_trace_module_put
+# 96 "include/trace/events/module.h"
+ (void (*probe)(void *__data, struct module *mod, unsigned long ip), void *data) { return tracepoint_probe_register("module_put", (void *)probe, data); } static inline __attribute__((always_inline)) int
+
+
+
+
+ unregister_trace_module_put
+# 96 "include/trace/events/module.h"
+ (void (*probe)(void *__data, struct module *mod, unsigned long ip), void *data) { return tracepoint_probe_unregister("module_put", (void *)probe, data); } static inline __attribute__((always_inline)) void
+
+
+
+
+ check_trace_callback_type_module_put
+# 96 "include/trace/events/module.h"
+ (void (*cb)(void *__data, struct module *mod, unsigned long ip)) { }
+
+
+
+
+ ;
+
+
+extern struct tracepoint
+# 124 "include/trace/events/module.h"
+ __tracepoint_module_request
+# 104 "include/trace/events/module.h"
+ ; static inline __attribute__((always_inline)) void
+# 124 "include/trace/events/module.h"
+ trace_module_request
+# 104 "include/trace/events/module.h"
+ (char *name, bool wait, unsigned long ip) { do { if (__builtin_expect(!!(*&__tracepoint_module_request.state), 0)) goto do_trace; } while (0); return; do_trace: do { struct tracepoint_func *it_func_ptr; void *it_func; void *__data; if (!(1)) return; rcu_read_lock_sched_notrace(); it_func_ptr = ({ typeof(*((&__tracepoint_module_request)->funcs)) *_________p1 = (typeof(*((&__tracepoint_module_request)->funcs))* )(*(volatile typeof(((&__tracepoint_module_request)->funcs)) *)&(((&__tracepoint_module_request)->funcs))); do { } while (0); ; do { } while(0); ((typeof(*((&__tracepoint_module_request)->funcs)) *)(_________p1)); }); if (it_func_ptr) { do { printk("<7>" "trace:: func: 0x%p, data: 0x%p, funN: 0x%p\n", (it_func_ptr)->func, (it_func_ptr)->data,(it_func_ptr+1)->func); it_func = (it_func_ptr)->func; __data = (it_func_ptr)->data; ((void(*)(void *__data, char *name, bool wait, unsigned long ip))(it_func))(__data, name, wait, ip); } while ((++it_func_ptr)->func); } rcu_read_unlock_sched_notrace(); } while (0); } static inline __attribute__((always_inline)) int
+# 124 "include/trace/events/module.h"
+ register_trace_module_request
+# 104 "include/trace/events/module.h"
+ (void (*probe)(void *__data, char *name, bool wait, unsigned long ip), void *data) { return tracepoint_probe_register("module_request", (void *)probe, data); } static inline __attribute__((always_inline)) int
+# 124 "include/trace/events/module.h"
+ unregister_trace_module_request
+# 104 "include/trace/events/module.h"
+ (void (*probe)(void *__data, char *name, bool wait, unsigned long ip), void *data) { return tracepoint_probe_unregister("module_request", (void *)probe, data); } static inline __attribute__((always_inline)) void
+# 124 "include/trace/events/module.h"
+ check_trace_callback_type_module_request
+# 104 "include/trace/events/module.h"
+ (void (*cb)(void *__data, char *name, bool wait, unsigned long ip)) { }
+# 124 "include/trace/events/module.h"
+ ;
+
+
+
+
+
+
+# 1 "include/trace/define_trace.h" 1
+# 131 "include/trace/events/module.h" 2
+# 24 "include/linux/module.h" 2
+# 37 "include/linux/module.h"
+struct kernel_symbol
+{
+ unsigned long value;
+ const char *name;
+};
+
+struct modversion_info
+{
+ unsigned long crc;
+ char name[(64 - sizeof(unsigned long))];
+};
+
+struct module;
+
+struct module_attribute {
+        struct attribute attr;
+        ssize_t (*show)(struct module_attribute *, struct module *, char *);
+        ssize_t (*store)(struct module_attribute *, struct module *,
+    const char *, size_t count);
+ void (*setup)(struct module *, const char *);
+ int (*test)(struct module *);
+ void (*free)(struct module *);
+};
+
+struct module_version_attribute {
+ struct module_attribute mattr;
+ const char *module_name;
+ const char *version;
+} __attribute__ ((__aligned__(sizeof(void *))));
+
+struct module_kobject
+{
+ struct kobject kobj;
+ struct module *mod;
+ struct kobject *drivers_dir;
+ struct module_param_attrs *mp;
+};
+
+
+extern int init_module(void);
+extern void cleanup_module(void);
+
+
+struct exception_table_entry;
+
+const struct exception_table_entry *
+search_extable(const struct exception_table_entry *first,
+        const struct exception_table_entry *last,
+        unsigned long value);
+void sort_extable(struct exception_table_entry *start,
+    struct exception_table_entry *finish);
+void sort_main_extable(void);
+void trim_init_extable(struct module *m);
+# 199 "include/linux/module.h"
+const struct exception_table_entry *search_exception_tables(unsigned long add);
+
+struct notifier_block;
+
+
+
+extern int modules_disabled;
+
+void *__symbol_get(const char *symbol);
+void *__symbol_get_gpl(const char *symbol);
+
+
+
+struct module_use {
+ struct list_head source_list;
+ struct list_head target_list;
+ struct module *source, *target;
+};
+# 264 "include/linux/module.h"
+enum module_state
+{
+ MODULE_STATE_LIVE,
+ MODULE_STATE_COMING,
+ MODULE_STATE_GOING,
+};
+
+struct module
+{
+ enum module_state state;
+
+
+ struct list_head list;
+
+
+ char name[(64 - sizeof(unsigned long))];
+
+
+ struct module_kobject mkobj;
+ struct module_attribute *modinfo_attrs;
+ const char *version;
+ const char *srcversion;
+ struct kobject *holders_dir;
+
+
+ const struct kernel_symbol *syms;
+ const unsigned long *crcs;
+ unsigned int num_syms;
+
+
+ struct kernel_param *kp;
+ unsigned int num_kp;
+
+
+ unsigned int num_gpl_syms;
+ const struct kernel_symbol *gpl_syms;
+ const unsigned long *gpl_crcs;
+# 315 "include/linux/module.h"
+ const struct kernel_symbol *gpl_future_syms;
+ const unsigned long *gpl_future_crcs;
+ unsigned int num_gpl_future_syms;
+
+
+ unsigned int num_exentries;
+ struct exception_table_entry *extable;
+
+
+ int (*init)(void);
+
+
+ void *module_init;
+
+
+ void *module_core;
+
+
+ unsigned int init_size, core_size;
+
+
+ unsigned int init_text_size, core_text_size;
+
+
+ unsigned int init_ro_size, core_ro_size;
+
+
+ struct mod_arch_specific arch;
+
+ unsigned int taints;
+
+
+
+ unsigned num_bugs;
+ struct list_head bug_list;
+ struct bug_entry *bug_table;
+# 359 "include/linux/module.h"
+ Elf32_Sym *symtab, *core_symtab;
+ unsigned int num_symtab, core_num_syms;
+ char *strtab, *core_strtab;
+
+
+ struct module_sect_attrs *sect_attrs;
+
+
+ struct module_notes_attrs *notes_attrs;
+# 378 "include/linux/module.h"
+ char *args;
+
+ struct tracepoint * const *tracepoints_ptrs;
+ unsigned int num_tracepoints;
+
+
+
+
+
+
+ const char **trace_bprintk_fmt_start;
+ unsigned int num_trace_bprintk_fmt;
+
+
+ struct ftrace_event_call **trace_events;
+ unsigned int num_trace_events;
+
+
+ unsigned long *ftrace_callsites;
+ unsigned int num_ftrace_callsites;
+
+
+
+
+ struct list_head source_list;
+
+ struct list_head target_list;
+
+
+ struct task_struct *waiter;
+
+
+ void (*exit)(void);
+
+ struct module_ref {
+  unsigned int incs;
+  unsigned int decs;
+ } *refptr;
+
+
+
+
+ ctor_fn_t *ctors;
+ unsigned int num_ctors;
+
+};
+
+
+
+
+extern struct mutex module_mutex;
+
+
+
+
+static inline __attribute__((always_inline)) int module_is_live(struct module *mod)
+{
+ return mod->state != MODULE_STATE_GOING;
+}
+
+struct module *__module_text_address(unsigned long addr);
+struct module *__module_address(unsigned long addr);
+bool is_module_address(unsigned long addr);
+bool is_module_percpu_address(unsigned long addr);
+bool is_module_text_address(unsigned long addr);
+
+static inline __attribute__((always_inline)) int within_module_core(unsigned long addr, struct module *mod)
+{
+ return (unsigned long)mod->module_core <= addr &&
+        addr < (unsigned long)mod->module_core + mod->core_size;
+}
+
+static inline __attribute__((always_inline)) int within_module_init(unsigned long addr, struct module *mod)
+{
+ return (unsigned long)mod->module_init <= addr &&
+        addr < (unsigned long)mod->module_init + mod->init_size;
+}
+
+
+struct module *find_module(const char *name);
+
+struct symsearch {
+ const struct kernel_symbol *start, *stop;
+ const unsigned long *crcs;
+ enum {
+  NOT_GPL_ONLY,
+  GPL_ONLY,
+  WILL_BE_GPL_ONLY,
+ } licence;
+ bool unused;
+};
+
+
+const struct kernel_symbol *find_symbol(const char *name,
+     struct module **owner,
+     const unsigned long **crc,
+     bool gplok,
+     bool warn);
+
+
+bool each_symbol(bool (*fn)(const struct symsearch *arr, struct module *owner,
+       unsigned int symnum, void *data), void *data);
+
+
+
+int module_get_kallsym(unsigned int symnum, unsigned long *value, char *type,
+   char *name, char *module_name, int *exported);
+
+
+unsigned long module_kallsyms_lookup_name(const char *name);
+
+int module_kallsyms_on_each_symbol(int (*fn)(void *, const char *,
+          struct module *, unsigned long),
+       void *data);
+
+extern void __module_put_and_exit(struct module *mod, long code)
+ __attribute__((noreturn));
+
+
+
+unsigned int module_refcount(struct module *mod);
+void __symbol_put(const char *symbol);
+
+void symbol_put_addr(void *addr);
+
+
+
+static inline __attribute__((always_inline)) void __module_get(struct module *module)
+{
+ if (module) {
+  do { } while (0);
+  do { do { const void *__vpp_verify = (typeof(&(((module->refptr->incs)))))((void *)0); (void)__vpp_verify; } while (0); switch(sizeof(((module->refptr->incs)))) { case 1: do { *({ (void)(0); ({ do { const void *__vpp_verify = (typeof(((&((((module->refptr->incs))))))))((void *)0); (void)__vpp_verify; } while (0); (typeof(*((&((((module->refptr->incs))))))) *)((&((((module->refptr->incs)))))); }); }) += ((1)); } while (0);break; case 2: do { *({ (void)(0); ({ do { const void *__vpp_verify = (typeof(((&((((module->refptr->incs))))))))((void *)0); (void)__vpp_verify; } while (0); (typeof(*((&((((module->refptr->incs))))))) *)((&((((module->refptr->incs)))))); }); }) += ((1)); } while (0);break; case 4: do { *({ (void)(0); ({ do { const void *__vpp_verify = (typeof(((&((((module->refptr->incs))))))))((void *)0); (void)__vpp_verify; } while (0); (typeof(*((&((((module->refptr->incs))))))) *)((&((((module->refptr->incs)))))); }); }) += ((1)); } while (0);break; case 8: do { *({ (void)(0); ({ do { const void *__vpp_verify = (typeof(((&((((module->refptr->incs))))))))((void *)0); (void)__vpp_verify; } while (0); (typeof(*((&((((module->refptr->incs))))))) *)((&((((module->refptr->incs)))))); }); }) += ((1)); } while (0);break; default: __bad_size_call_parameter();break; } } while (0);
+  trace_module_get(module, ({ __label__ __here; __here: (unsigned long)&&__here; }));
+  do { } while (0);
+ }
+}
+
+static inline __attribute__((always_inline)) int try_module_get(struct module *module)
+{
+ int ret = 1;
+
+ if (module) {
+  do { } while (0);
+
+  if (__builtin_expect(!!(module_is_live(module)), 1)) {
+   do { do { const void *__vpp_verify = (typeof(&(((module->refptr->incs)))))((void *)0); (void)__vpp_verify; } while (0); switch(sizeof(((module->refptr->incs)))) { case 1: do { *({ (void)(0); ({ do { const void *__vpp_verify = (typeof(((&((((module->refptr->incs))))))))((void *)0); (void)__vpp_verify; } while (0); (typeof(*((&((((module->refptr->incs))))))) *)((&((((module->refptr->incs)))))); }); }) += ((1)); } while (0);break; case 2: do { *({ (void)(0); ({ do { const void *__vpp_verify = (typeof(((&((((module->refptr->incs))))))))((void *)0); (void)__vpp_verify; } while (0); (typeof(*((&((((module->refptr->incs))))))) *)((&((((module->refptr->incs)))))); }); }) += ((1)); } while (0);break; case 4: do { *({ (void)(0); ({ do { const void *__vpp_verify = (typeof(((&((((module->refptr->incs))))))))((void *)0); (void)__vpp_verify; } while (0); (typeof(*((&((((module->refptr->incs))))))) *)((&((((module->refptr->incs)))))); }); }) += ((1)); } while (0);break; case 8: do { *({ (void)(0); ({ do { const void *__vpp_verify = (typeof(((&((((module->refptr->incs))))))))((void *)0); (void)__vpp_verify; } while (0); (typeof(*((&((((module->refptr->incs))))))) *)((&((((module->refptr->incs)))))); }); }) += ((1)); } while (0);break; default: __bad_size_call_parameter();break; } } while (0);
+   trace_module_get(module, ({ __label__ __here; __here: (unsigned long)&&__here; }));
+  } else
+   ret = 0;
+
+  do { } while (0);
+ }
+ return ret;
+}
+
+extern void module_put(struct module *module);
+# 550 "include/linux/module.h"
+int ref_module(struct module *a, struct module *b);
+# 562 "include/linux/module.h"
+const char *module_address_lookup(unsigned long addr,
+       unsigned long *symbolsize,
+       unsigned long *offset,
+       char **modname,
+       char *namebuf);
+int lookup_module_symbol_name(unsigned long addr, char *symname);
+int lookup_module_symbol_attrs(unsigned long addr, unsigned long *size, unsigned long *offset, char *modname, char *name);
+
+
+const struct exception_table_entry *search_module_extables(unsigned long addr);
+
+int register_module_notifier(struct notifier_block * nb);
+int unregister_module_notifier(struct notifier_block * nb);
+
+extern void print_modules(void);
+
+extern void module_update_tracepoints(void);
+extern int module_get_iter_tracepoints(struct tracepoint_iter *iter);
+# 708 "include/linux/module.h"
+extern struct kset *module_kset;
+extern struct kobj_type module_ktype;
+extern int module_sysfs_initialized;
+# 723 "include/linux/module.h"
+static inline __attribute__((always_inline)) void set_all_modules_text_rw(void) { }
+static inline __attribute__((always_inline)) void set_all_modules_text_ro(void) { }
+
+
+
+void module_bug_finalize(const Elf32_Ehdr *, const Elf32_Shdr *,
+    struct module *);
+void module_bug_cleanup(struct module *);
+# 18 "fs/proc/root.c" 2
+
+# 1 "include/linux/mount.h" 1
+# 19 "include/linux/mount.h"
+struct super_block;
+struct vfsmount;
+struct dentry;
+struct mnt_namespace;
+# 50 "include/linux/mount.h"
+struct mnt_pcp {
+ int mnt_count;
+ int mnt_writers;
+};
+
+struct vfsmount {
+ struct list_head mnt_hash;
+ struct vfsmount *mnt_parent;
+ struct dentry *mnt_mountpoint;
+ struct dentry *mnt_root;
+ struct super_block *mnt_sb;
+
+
+
+
+ int mnt_count;
+ int mnt_writers;
+
+ struct list_head mnt_mounts;
+ struct list_head mnt_child;
+ int mnt_flags;
+
+
+ __u32 mnt_fsnotify_mask;
+ struct hlist_head mnt_fsnotify_marks;
+
+ const char *mnt_devname;
+ struct list_head mnt_list;
+ struct list_head mnt_expire;
+ struct list_head mnt_share;
+ struct list_head mnt_slave_list;
+ struct list_head mnt_slave;
+ struct vfsmount *mnt_master;
+ struct mnt_namespace *mnt_ns;
+ int mnt_id;
+ int mnt_group_id;
+ int mnt_expiry_mark;
+ int mnt_pinned;
+ int mnt_ghosts;
+};
+
+struct file;
+
+extern int mnt_want_write(struct vfsmount *mnt);
+extern int mnt_want_write_file(struct file *file);
+extern int mnt_clone_write(struct vfsmount *mnt);
+extern void mnt_drop_write(struct vfsmount *mnt);
+extern void mntput(struct vfsmount *mnt);
+extern struct vfsmount *mntget(struct vfsmount *mnt);
+extern void mnt_pin(struct vfsmount *mnt);
+extern void mnt_unpin(struct vfsmount *mnt);
+extern int __mnt_is_readonly(struct vfsmount *mnt);
+
+extern struct vfsmount *do_kern_mount(const char *fstype, int flags,
+          const char *name, void *data);
+
+struct file_system_type;
+extern struct vfsmount *vfs_kern_mount(struct file_system_type *type,
+          int flags, const char *name,
+          void *data);
+
+extern void mnt_set_expiry(struct vfsmount *mnt, struct list_head *expiry_list);
+extern void mark_mounts_for_expiry(struct list_head *mounts);
+
+extern dev_t name_to_dev_t(char *name);
+# 20 "fs/proc/root.c" 2
+# 1 "include/linux/pid_namespace.h" 1
+
+
+
+
+# 1 "include/linux/mm.h" 1
+# 13 "include/linux/mm.h"
+# 1 "include/linux/debug_locks.h" 1
+
+
+
+
+
+
+
+struct task_struct;
+
+extern int debug_locks;
+extern int debug_locks_silent;
+
+
+static inline __attribute__((always_inline)) int __debug_locks_off(void)
+{
+ return ({ __typeof__(*(&debug_locks)) _x_ = (0); (__typeof__(*(&debug_locks))) __xchg((&debug_locks), (unsigned long)_x_, sizeof(*(&debug_locks))); });
+}
+
+
+
+
+extern int debug_locks_off(void);
+# 48 "include/linux/debug_locks.h"
+struct task_struct;
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) void debug_show_all_locks(void)
+{
+}
+
+static inline __attribute__((always_inline)) void debug_show_held_locks(struct task_struct *task)
+{
+}
+
+static inline __attribute__((always_inline)) void
+debug_check_no_locks_freed(const void *from, unsigned long len)
+{
+}
+
+static inline __attribute__((always_inline)) void
+debug_check_no_locks_held(struct task_struct *task)
+{
+}
+# 14 "include/linux/mm.h" 2
+
+# 1 "include/linux/range.h" 1
+
+
+
+struct range {
+ u64 start;
+ u64 end;
+};
+
+int add_range(struct range *range, int az, int nr_range,
+  u64 start, u64 end);
+
+
+int add_range_with_merge(struct range *range, int az, int nr_range,
+    u64 start, u64 end);
+
+void subtract_range(struct range *range, int az, u64 start, u64 end);
+
+int clean_sort_range(struct range *range, int az);
+
+void sort_range(struct range *range, int nr_range);
+
+
+static inline __attribute__((always_inline)) resource_size_t cap_resource(u64 val)
+{
+ if (val > ((resource_size_t)~0))
+  return ((resource_size_t)~0);
+
+ return val;
+}
+# 16 "include/linux/mm.h" 2
+
+
+
+struct mempolicy;
+struct anon_vma;
+struct file_ra_state;
+struct user_struct;
+struct writeback_control;
+
+
+extern unsigned long max_mapnr;
+
+
+extern unsigned long num_physpages;
+extern unsigned long totalram_pages;
+extern void * high_memory;
+extern int page_cluster;
+
+
+extern int sysctl_legacy_va_layout;
+
+
+
+
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/pgtable.h" 1
+# 10 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/pgtable.h"
+struct mm_struct;
+
+
+
+
+static inline __attribute__((always_inline)) void assert_pte_locked(struct mm_struct *mm, unsigned long addr)
+{
+}
+
+
+
+
+
+
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/pgtable-ppc32.h" 1
+
+
+
+# 1 "include/asm-generic/pgtable-nopmd.h" 1
+
+
+
+
+
+# 1 "include/asm-generic/pgtable-nopud.h" 1
+# 13 "include/asm-generic/pgtable-nopud.h"
+typedef struct { pgd_t pgd; } pud_t;
+# 25 "include/asm-generic/pgtable-nopud.h"
+static inline __attribute__((always_inline)) int pgd_none(pgd_t pgd) { return 0; }
+static inline __attribute__((always_inline)) int pgd_bad(pgd_t pgd) { return 0; }
+static inline __attribute__((always_inline)) int pgd_present(pgd_t pgd) { return 1; }
+static inline __attribute__((always_inline)) void pgd_clear(pgd_t *pgd) { }
+# 38 "include/asm-generic/pgtable-nopud.h"
+static inline __attribute__((always_inline)) pud_t * pud_offset(pgd_t * pgd, unsigned long address)
+{
+ return (pud_t *)pgd;
+}
+# 7 "include/asm-generic/pgtable-nopmd.h" 2
+
+struct mm_struct;
+# 17 "include/asm-generic/pgtable-nopmd.h"
+typedef struct { pud_t pud; } pmd_t;
+# 29 "include/asm-generic/pgtable-nopmd.h"
+static inline __attribute__((always_inline)) int pud_none(pud_t pud) { return 0; }
+static inline __attribute__((always_inline)) int pud_bad(pud_t pud) { return 0; }
+static inline __attribute__((always_inline)) int pud_present(pud_t pud) { return 1; }
+static inline __attribute__((always_inline)) void pud_clear(pud_t *pud) { }
+# 43 "include/asm-generic/pgtable-nopmd.h"
+static inline __attribute__((always_inline)) pmd_t * pmd_offset(pud_t * pud, unsigned long address)
+{
+ return (pmd_t *)pud;
+}
+# 59 "include/asm-generic/pgtable-nopmd.h"
+static inline __attribute__((always_inline)) void pmd_free(struct mm_struct *mm, pmd_t *pmd)
+{
+}
+# 5 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/pgtable-ppc32.h" 2
+
+
+
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/io.h" 1
+# 13 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/io.h"
+extern int check_legacy_ioport(unsigned long base_port);
+
+
+
+
+
+
+
+# 1 "include/linux/device.h" 1
+# 16 "include/linux/device.h"
+# 1 "include/linux/ioport.h" 1
+# 18 "include/linux/ioport.h"
+struct resource {
+ resource_size_t start;
+ resource_size_t end;
+ const char *name;
+ unsigned long flags;
+ struct resource *parent, *sibling, *child;
+};
+
+struct resource_list {
+ struct resource_list *next;
+ struct resource *res;
+ struct pci_dev *dev;
+};
+# 113 "include/linux/ioport.h"
+extern struct resource ioport_resource;
+extern struct resource iomem_resource;
+
+extern struct resource *request_resource_conflict(struct resource *root, struct resource *new);
+extern int request_resource(struct resource *root, struct resource *new);
+extern int release_resource(struct resource *new);
+void release_child_resources(struct resource *new);
+extern void reserve_region_with_split(struct resource *root,
+        resource_size_t start, resource_size_t end,
+        const char *name);
+extern struct resource *insert_resource_conflict(struct resource *parent, struct resource *new);
+extern int insert_resource(struct resource *parent, struct resource *new);
+extern void insert_resource_expand_to_fit(struct resource *root, struct resource *new);
+extern void arch_remove_reservations(struct resource *avail);
+extern int allocate_resource(struct resource *root, struct resource *new,
+        resource_size_t size, resource_size_t min,
+        resource_size_t max, resource_size_t align,
+        resource_size_t (*alignf)(void *,
+             const struct resource *,
+             resource_size_t,
+             resource_size_t),
+        void *alignf_data);
+int adjust_resource(struct resource *res, resource_size_t start,
+      resource_size_t size);
+resource_size_t resource_alignment(struct resource *res);
+static inline __attribute__((always_inline)) resource_size_t resource_size(const struct resource *res)
+{
+ return res->end - res->start + 1;
+}
+static inline __attribute__((always_inline)) unsigned long resource_type(const struct resource *res)
+{
+ return res->flags & 0x00001f00;
+}
+# 156 "include/linux/ioport.h"
+extern struct resource * __request_region(struct resource *,
+     resource_size_t start,
+     resource_size_t n,
+     const char *name, int flags);
+
+
+
+
+
+
+extern int __check_region(struct resource *, resource_size_t, resource_size_t);
+extern void __release_region(struct resource *, resource_size_t,
+    resource_size_t);
+
+static inline __attribute__((always_inline)) int check_region(resource_size_t s,
+      resource_size_t n)
+{
+ return __check_region(&ioport_resource, s, n);
+}
+
+
+struct device;
+
+
+
+
+
+extern struct resource * __devm_request_region(struct device *dev,
+    struct resource *parent, resource_size_t start,
+    resource_size_t n, const char *name);
+
+
+
+
+
+
+extern void __devm_release_region(struct device *dev, struct resource *parent,
+      resource_size_t start, resource_size_t n);
+extern int iomem_map_sanity_check(resource_size_t addr, unsigned long size);
+extern int iomem_is_exclusive(u64 addr);
+
+extern int
+walk_system_ram_range(unsigned long start_pfn, unsigned long nr_pages,
+  void *arg, int (*func)(unsigned long, unsigned long, void *));
+# 17 "include/linux/device.h" 2
+
+# 1 "include/linux/klist.h" 1
+# 19 "include/linux/klist.h"
+struct klist_node;
+struct klist {
+ spinlock_t k_lock;
+ struct list_head k_list;
+ void (*get)(struct klist_node *);
+ void (*put)(struct klist_node *);
+} __attribute__ ((aligned (sizeof(void *))));
+# 36 "include/linux/klist.h"
+extern void klist_init(struct klist *k, void (*get)(struct klist_node *),
+         void (*put)(struct klist_node *));
+
+struct klist_node {
+ void *n_klist;
+ struct list_head n_node;
+ struct kref n_ref;
+};
+
+extern void klist_add_tail(struct klist_node *n, struct klist *k);
+extern void klist_add_head(struct klist_node *n, struct klist *k);
+extern void klist_add_after(struct klist_node *n, struct klist_node *pos);
+extern void klist_add_before(struct klist_node *n, struct klist_node *pos);
+
+extern void klist_del(struct klist_node *n);
+extern void klist_remove(struct klist_node *n);
+
+extern int klist_node_attached(struct klist_node *n);
+
+
+struct klist_iter {
+ struct klist *i_klist;
+ struct klist_node *i_cur;
+};
+
+
+extern void klist_iter_init(struct klist *k, struct klist_iter *i);
+extern void klist_iter_init_node(struct klist *k, struct klist_iter *i,
+     struct klist_node *n);
+extern void klist_iter_exit(struct klist_iter *i);
+extern struct klist_node *klist_next(struct klist_iter *i);
+# 19 "include/linux/device.h" 2
+
+
+
+
+
+# 1 "include/linux/pm.h" 1
+# 34 "include/linux/pm.h"
+extern void (*pm_idle)(void);
+extern void (*pm_power_off)(void);
+extern void (*pm_power_off_prepare)(void);
+
+
+
+
+
+struct device;
+
+
+
+
+
+
+
+typedef struct pm_message {
+ int event;
+} pm_message_t;
+# 204 "include/linux/pm.h"
+struct dev_pm_ops {
+ int (*prepare)(struct device *dev);
+ void (*complete)(struct device *dev);
+ int (*suspend)(struct device *dev);
+ int (*resume)(struct device *dev);
+ int (*freeze)(struct device *dev);
+ int (*thaw)(struct device *dev);
+ int (*poweroff)(struct device *dev);
+ int (*restore)(struct device *dev);
+ int (*suspend_noirq)(struct device *dev);
+ int (*resume_noirq)(struct device *dev);
+ int (*freeze_noirq)(struct device *dev);
+ int (*thaw_noirq)(struct device *dev);
+ int (*poweroff_noirq)(struct device *dev);
+ int (*restore_noirq)(struct device *dev);
+ int (*runtime_suspend)(struct device *dev);
+ int (*runtime_resume)(struct device *dev);
+ int (*runtime_idle)(struct device *dev);
+};
+# 392 "include/linux/pm.h"
+enum rpm_status {
+ RPM_ACTIVE = 0,
+ RPM_RESUMING,
+ RPM_SUSPENDED,
+ RPM_SUSPENDING,
+};
+# 414 "include/linux/pm.h"
+enum rpm_request {
+ RPM_REQ_NONE = 0,
+ RPM_REQ_IDLE,
+ RPM_REQ_SUSPEND,
+ RPM_REQ_AUTOSUSPEND,
+ RPM_REQ_RESUME,
+};
+
+struct wakeup_source;
+
+struct dev_pm_info {
+ pm_message_t power_state;
+ unsigned int can_wakeup:1;
+ unsigned int async_suspend:1;
+ bool is_prepared:1;
+ bool is_suspended:1;
+ spinlock_t lock;
+
+
+
+
+
+ unsigned int should_wakeup:1;
+# 465 "include/linux/pm.h"
+};
+
+extern void update_pm_runtime_accounting(struct device *dev);
+
+
+
+
+
+
+struct dev_power_domain {
+ struct dev_pm_ops ops;
+};
+# 562 "include/linux/pm.h"
+static inline __attribute__((always_inline)) int dpm_suspend_start(pm_message_t state)
+{
+ return 0;
+}
+
+
+
+static inline __attribute__((always_inline)) int device_pm_wait_for_dev(struct device *a, struct device *b)
+{
+ return 0;
+}
+
+
+
+enum dpm_order {
+ DPM_ORDER_NONE,
+ DPM_ORDER_DEV_AFTER_PARENT,
+ DPM_ORDER_PARENT_BEFORE_DEV,
+ DPM_ORDER_DEV_LAST,
+};
+
+extern int pm_generic_suspend(struct device *dev);
+extern int pm_generic_resume(struct device *dev);
+extern int pm_generic_freeze(struct device *dev);
+extern int pm_generic_thaw(struct device *dev);
+extern int pm_generic_restore(struct device *dev);
+extern int pm_generic_poweroff(struct device *dev);
+# 25 "include/linux/device.h" 2
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/device.h" 1
+# 9 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/device.h"
+struct dma_map_ops;
+struct device_node;
+
+
+
+
+
+
+
+struct dev_archdata {
+
+ struct dma_map_ops *dma_ops;
+
+
+
+
+
+ union {
+  dma_addr_t dma_offset;
+  void *iommu_table_base;
+ } dma_data;
+
+
+
+
+};
+
+struct pdev_archdata {
+ u64 dma_mask;
+};
+# 27 "include/linux/device.h" 2
+
+struct device;
+struct device_private;
+struct device_driver;
+struct driver_private;
+struct class;
+struct subsys_private;
+struct bus_type;
+struct device_node;
+
+struct bus_attribute {
+ struct attribute attr;
+ ssize_t (*show)(struct bus_type *bus, char *buf);
+ ssize_t (*store)(struct bus_type *bus, const char *buf, size_t count);
+};
+
+
+
+
+extern int bus_create_file(struct bus_type *,
+     struct bus_attribute *);
+extern void bus_remove_file(struct bus_type *, struct bus_attribute *);
+
+struct bus_type {
+ const char *name;
+ struct bus_attribute *bus_attrs;
+ struct device_attribute *dev_attrs;
+ struct driver_attribute *drv_attrs;
+
+ int (*match)(struct device *dev, struct device_driver *drv);
+ int (*uevent)(struct device *dev, struct kobj_uevent_env *env);
+ int (*probe)(struct device *dev);
+ int (*remove)(struct device *dev);
+ void (*shutdown)(struct device *dev);
+
+ int (*suspend)(struct device *dev, pm_message_t state);
+ int (*resume)(struct device *dev);
+
+ const struct dev_pm_ops *pm;
+
+ struct subsys_private *p;
+};
+
+extern int bus_register(struct bus_type *bus);
+extern void bus_unregister(struct bus_type *bus);
+
+extern int bus_rescan_devices(struct bus_type *bus);
+
+
+
+int bus_for_each_dev(struct bus_type *bus, struct device *start, void *data,
+       int (*fn)(struct device *dev, void *data));
+struct device *bus_find_device(struct bus_type *bus, struct device *start,
+          void *data,
+          int (*match)(struct device *dev, void *data));
+struct device *bus_find_device_by_name(struct bus_type *bus,
+           struct device *start,
+           const char *name);
+
+int bus_for_each_drv(struct bus_type *bus, struct device_driver *start,
+       void *data, int (*fn)(struct device_driver *, void *));
+
+void bus_sort_breadthfirst(struct bus_type *bus,
+      int (*compare)(const struct device *a,
+       const struct device *b));
+
+
+
+
+
+
+struct notifier_block;
+
+extern int bus_register_notifier(struct bus_type *bus,
+     struct notifier_block *nb);
+extern int bus_unregister_notifier(struct bus_type *bus,
+       struct notifier_block *nb);
+# 119 "include/linux/device.h"
+extern struct kset *bus_get_kset(struct bus_type *bus);
+extern struct klist *bus_get_device_klist(struct bus_type *bus);
+
+struct device_driver {
+ const char *name;
+ struct bus_type *bus;
+
+ struct module *owner;
+ const char *mod_name;
+
+ bool suppress_bind_attrs;
+
+ const struct of_device_id *of_match_table;
+
+ int (*probe) (struct device *dev);
+ int (*remove) (struct device *dev);
+ void (*shutdown) (struct device *dev);
+ int (*suspend) (struct device *dev, pm_message_t state);
+ int (*resume) (struct device *dev);
+ const struct attribute_group **groups;
+
+ const struct dev_pm_ops *pm;
+
+ struct driver_private *p;
+};
+
+
+extern int driver_register(struct device_driver *drv);
+extern void driver_unregister(struct device_driver *drv);
+
+extern struct device_driver *get_driver(struct device_driver *drv);
+extern void put_driver(struct device_driver *drv);
+extern struct device_driver *driver_find(const char *name,
+      struct bus_type *bus);
+extern int driver_probe_done(void);
+extern void wait_for_device_probe(void);
+
+
+
+
+struct driver_attribute {
+ struct attribute attr;
+ ssize_t (*show)(struct device_driver *driver, char *buf);
+ ssize_t (*store)(struct device_driver *driver, const char *buf,
+    size_t count);
+};
+
+
+
+
+
+extern int driver_create_file(struct device_driver *driver,
+     const struct driver_attribute *attr);
+extern void driver_remove_file(struct device_driver *driver,
+          const struct driver_attribute *attr);
+
+extern int driver_add_kobj(struct device_driver *drv,
+     struct kobject *kobj,
+     const char *fmt, ...);
+
+extern int driver_for_each_device(struct device_driver *drv,
+            struct device *start,
+            void *data,
+            int (*fn)(struct device *dev,
+        void *));
+struct device *driver_find_device(struct device_driver *drv,
+      struct device *start, void *data,
+      int (*match)(struct device *dev, void *data));
+
+
+
+
+struct class {
+ const char *name;
+ struct module *owner;
+
+ struct class_attribute *class_attrs;
+ struct device_attribute *dev_attrs;
+ struct bin_attribute *dev_bin_attrs;
+ struct kobject *dev_kobj;
+
+ int (*dev_uevent)(struct device *dev, struct kobj_uevent_env *env);
+ char *(*devnode)(struct device *dev, mode_t *mode);
+
+ void (*class_release)(struct class *class);
+ void (*dev_release)(struct device *dev);
+
+ int (*suspend)(struct device *dev, pm_message_t state);
+ int (*resume)(struct device *dev);
+
+ const struct kobj_ns_type_operations *ns_type;
+ const void *(*namespace)(struct device *dev);
+
+ const struct dev_pm_ops *pm;
+
+ struct subsys_private *p;
+};
+
+struct class_dev_iter {
+ struct klist_iter ki;
+ const struct device_type *type;
+};
+
+extern struct kobject *sysfs_dev_block_kobj;
+extern struct kobject *sysfs_dev_char_kobj;
+extern int __class_register(struct class *class,
+      struct lock_class_key *key);
+extern void class_unregister(struct class *class);
+# 236 "include/linux/device.h"
+struct class_compat;
+struct class_compat *class_compat_register(const char *name);
+void class_compat_unregister(struct class_compat *cls);
+int class_compat_create_link(struct class_compat *cls, struct device *dev,
+        struct device *device_link);
+void class_compat_remove_link(struct class_compat *cls, struct device *dev,
+         struct device *device_link);
+
+extern void class_dev_iter_init(struct class_dev_iter *iter,
+    struct class *class,
+    struct device *start,
+    const struct device_type *type);
+extern struct device *class_dev_iter_next(struct class_dev_iter *iter);
+extern void class_dev_iter_exit(struct class_dev_iter *iter);
+
+extern int class_for_each_device(struct class *class, struct device *start,
+     void *data,
+     int (*fn)(struct device *dev, void *data));
+extern struct device *class_find_device(struct class *class,
+     struct device *start, void *data,
+     int (*match)(struct device *, void *));
+
+struct class_attribute {
+ struct attribute attr;
+ ssize_t (*show)(struct class *class, struct class_attribute *attr,
+   char *buf);
+ ssize_t (*store)(struct class *class, struct class_attribute *attr,
+   const char *buf, size_t count);
+};
+
+
+
+
+extern int class_create_file(struct class *class,
+       const struct class_attribute *attr);
+extern void class_remove_file(struct class *class,
+         const struct class_attribute *attr);
+
+
+
+struct class_attribute_string {
+ struct class_attribute attr;
+ char *str;
+};
+# 288 "include/linux/device.h"
+extern ssize_t show_class_attr_string(struct class *class, struct class_attribute *attr,
+                        char *buf);
+
+struct class_interface {
+ struct list_head node;
+ struct class *class;
+
+ int (*add_dev) (struct device *, struct class_interface *);
+ void (*remove_dev) (struct device *, struct class_interface *);
+};
+
+extern int class_interface_register(struct class_interface *);
+extern void class_interface_unregister(struct class_interface *);
+
+extern struct class * __class_create(struct module *owner,
+        const char *name,
+        struct lock_class_key *key);
+extern void class_destroy(struct class *cls);
+# 324 "include/linux/device.h"
+struct device_type {
+ const char *name;
+ const struct attribute_group **groups;
+ int (*uevent)(struct device *dev, struct kobj_uevent_env *env);
+ char *(*devnode)(struct device *dev, mode_t *mode);
+ void (*release)(struct device *dev);
+
+ const struct dev_pm_ops *pm;
+};
+
+
+struct device_attribute {
+ struct attribute attr;
+ ssize_t (*show)(struct device *dev, struct device_attribute *attr,
+   char *buf);
+ ssize_t (*store)(struct device *dev, struct device_attribute *attr,
+    const char *buf, size_t count);
+};
+
+
+
+
+extern int device_create_file(struct device *device,
+     const struct device_attribute *entry);
+extern void device_remove_file(struct device *dev,
+          const struct device_attribute *attr);
+extern int device_create_bin_file(struct device *dev,
+     const struct bin_attribute *attr);
+extern void device_remove_bin_file(struct device *dev,
+       const struct bin_attribute *attr);
+extern int device_schedule_callback_owner(struct device *dev,
+  void (*func)(struct device *dev), struct module *owner);
+
+
+
+
+
+
+typedef void (*dr_release_t)(struct device *dev, void *res);
+typedef int (*dr_match_t)(struct device *dev, void *res, void *match_data);
+
+
+
+
+
+
+
+extern void *devres_alloc(dr_release_t release, size_t size, gfp_t gfp);
+
+extern void devres_free(void *res);
+extern void devres_add(struct device *dev, void *res);
+extern void *devres_find(struct device *dev, dr_release_t release,
+    dr_match_t match, void *match_data);
+extern void *devres_get(struct device *dev, void *new_res,
+   dr_match_t match, void *match_data);
+extern void *devres_remove(struct device *dev, dr_release_t release,
+      dr_match_t match, void *match_data);
+extern int devres_destroy(struct device *dev, dr_release_t release,
+     dr_match_t match, void *match_data);
+
+
+extern void * devres_open_group(struct device *dev, void *id,
+          gfp_t gfp);
+extern void devres_close_group(struct device *dev, void *id);
+extern void devres_remove_group(struct device *dev, void *id);
+extern int devres_release_group(struct device *dev, void *id);
+
+
+extern void *devm_kzalloc(struct device *dev, size_t size, gfp_t gfp);
+extern void devm_kfree(struct device *dev, void *p);
+
+struct device_dma_parameters {
+
+
+
+
+ unsigned int max_segment_size;
+ unsigned long segment_boundary_mask;
+};
+
+struct device {
+ struct device *parent;
+
+ struct device_private *p;
+
+ struct kobject kobj;
+ const char *init_name;
+ struct device_type *type;
+
+ struct mutex mutex;
+
+
+
+ struct bus_type *bus;
+ struct device_driver *driver;
+
+ void *platform_data;
+
+ struct dev_pm_info power;
+ struct dev_power_domain *pwr_domain;
+
+
+
+
+ u64 *dma_mask;
+ u64 coherent_dma_mask;
+
+
+
+
+
+ struct device_dma_parameters *dma_parms;
+
+ struct list_head dma_pools;
+
+ struct dma_coherent_mem *dma_mem;
+
+
+ struct dev_archdata archdata;
+
+ struct device_node *of_node;
+
+ dev_t devt;
+
+ spinlock_t devres_lock;
+ struct list_head devres_head;
+
+ struct klist_node knode_class;
+ struct class *class;
+ const struct attribute_group **groups;
+
+ void (*release)(struct device *dev);
+};
+
+
+# 1 "include/linux/pm_wakeup.h" 1
+# 43 "include/linux/pm_wakeup.h"
+struct wakeup_source {
+ char *name;
+ struct list_head entry;
+ spinlock_t lock;
+ struct timer_list timer;
+ unsigned long timer_expires;
+ ktime_t total_time;
+ ktime_t max_time;
+ ktime_t last_time;
+ unsigned long event_count;
+ unsigned long active_count;
+ unsigned long relax_count;
+ unsigned long hit_count;
+ unsigned int active:1;
+};
+# 96 "include/linux/pm_wakeup.h"
+static inline __attribute__((always_inline)) void device_set_wakeup_capable(struct device *dev, bool capable)
+{
+ dev->power.can_wakeup = capable;
+}
+
+static inline __attribute__((always_inline)) bool device_can_wakeup(struct device *dev)
+{
+ return dev->power.can_wakeup;
+}
+
+static inline __attribute__((always_inline)) struct wakeup_source *wakeup_source_create(const char *name)
+{
+ return ((void *)0);
+}
+
+static inline __attribute__((always_inline)) void wakeup_source_destroy(struct wakeup_source *ws) {}
+
+static inline __attribute__((always_inline)) void wakeup_source_add(struct wakeup_source *ws) {}
+
+static inline __attribute__((always_inline)) void wakeup_source_remove(struct wakeup_source *ws) {}
+
+static inline __attribute__((always_inline)) struct wakeup_source *wakeup_source_register(const char *name)
+{
+ return ((void *)0);
+}
+
+static inline __attribute__((always_inline)) void wakeup_source_unregister(struct wakeup_source *ws) {}
+
+static inline __attribute__((always_inline)) int device_wakeup_enable(struct device *dev)
+{
+ dev->power.should_wakeup = true;
+ return 0;
+}
+
+static inline __attribute__((always_inline)) int device_wakeup_disable(struct device *dev)
+{
+ dev->power.should_wakeup = false;
+ return 0;
+}
+
+static inline __attribute__((always_inline)) int device_set_wakeup_enable(struct device *dev, bool enable)
+{
+ dev->power.should_wakeup = enable;
+ return 0;
+}
+
+static inline __attribute__((always_inline)) int device_init_wakeup(struct device *dev, bool val)
+{
+ device_set_wakeup_capable(dev, val);
+ device_set_wakeup_enable(dev, val);
+ return 0;
+}
+
+static inline __attribute__((always_inline)) bool device_may_wakeup(struct device *dev)
+{
+ return dev->power.can_wakeup && dev->power.should_wakeup;
+}
+
+static inline __attribute__((always_inline)) void __pm_stay_awake(struct wakeup_source *ws) {}
+
+static inline __attribute__((always_inline)) void pm_stay_awake(struct device *dev) {}
+
+static inline __attribute__((always_inline)) void __pm_relax(struct wakeup_source *ws) {}
+
+static inline __attribute__((always_inline)) void pm_relax(struct device *dev) {}
+
+static inline __attribute__((always_inline)) void __pm_wakeup_event(struct wakeup_source *ws, unsigned int msec) {}
+
+static inline __attribute__((always_inline)) void pm_wakeup_event(struct device *dev, unsigned int msec) {}
+# 460 "include/linux/device.h" 2
+
+static inline __attribute__((always_inline)) const char *dev_name(const struct device *dev)
+{
+
+ if (dev->init_name)
+  return dev->init_name;
+
+ return kobject_name(&dev->kobj);
+}
+
+extern int dev_set_name(struct device *dev, const char *name, ...)
+   __attribute__((format(printf, 2, 3)));
+# 483 "include/linux/device.h"
+static inline __attribute__((always_inline)) int dev_to_node(struct device *dev)
+{
+ return -1;
+}
+static inline __attribute__((always_inline)) void set_dev_node(struct device *dev, int node)
+{
+}
+
+
+static inline __attribute__((always_inline)) unsigned int dev_get_uevent_suppress(const struct device *dev)
+{
+ return dev->kobj.uevent_suppress;
+}
+
+static inline __attribute__((always_inline)) void dev_set_uevent_suppress(struct device *dev, int val)
+{
+ dev->kobj.uevent_suppress = val;
+}
+
+static inline __attribute__((always_inline)) int device_is_registered(struct device *dev)
+{
+ return dev->kobj.state_in_sysfs;
+}
+
+static inline __attribute__((always_inline)) void device_enable_async_suspend(struct device *dev)
+{
+ if (!dev->power.is_prepared)
+  dev->power.async_suspend = true;
+}
+
+static inline __attribute__((always_inline)) void device_disable_async_suspend(struct device *dev)
+{
+ if (!dev->power.is_prepared)
+  dev->power.async_suspend = false;
+}
+
+static inline __attribute__((always_inline)) bool device_async_suspend_enabled(struct device *dev)
+{
+ return !!dev->power.async_suspend;
+}
+
+static inline __attribute__((always_inline)) void device_lock(struct device *dev)
+{
+ mutex_lock(&dev->mutex);
+}
+
+static inline __attribute__((always_inline)) int device_trylock(struct device *dev)
+{
+ return mutex_trylock(&dev->mutex);
+}
+
+static inline __attribute__((always_inline)) void device_unlock(struct device *dev)
+{
+ mutex_unlock(&dev->mutex);
+}
+
+void driver_init(void);
+
+
+
+
+extern int device_register(struct device *dev);
+extern void device_unregister(struct device *dev);
+extern void device_initialize(struct device *dev);
+extern int device_add(struct device *dev);
+extern void device_del(struct device *dev);
+extern int device_for_each_child(struct device *dev, void *data,
+       int (*fn)(struct device *dev, void *data));
+extern struct device *device_find_child(struct device *dev, void *data,
+    int (*match)(struct device *dev, void *data));
+extern int device_rename(struct device *dev, const char *new_name);
+extern int device_move(struct device *dev, struct device *new_parent,
+         enum dpm_order dpm_order);
+extern const char *device_get_devnode(struct device *dev,
+          mode_t *mode, const char **tmp);
+extern void *dev_get_drvdata(const struct device *dev);
+extern void dev_set_drvdata(struct device *dev, void *data);
+
+
+
+
+extern struct device *__root_device_register(const char *name,
+          struct module *owner);
+static inline __attribute__((always_inline)) struct device *root_device_register(const char *name)
+{
+ return __root_device_register(name, ((struct module *)0));
+}
+extern void root_device_unregister(struct device *root);
+
+static inline __attribute__((always_inline)) void *dev_get_platdata(const struct device *dev)
+{
+ return dev->platform_data;
+}
+
+
+
+
+
+extern int device_bind_driver(struct device *dev);
+extern void device_release_driver(struct device *dev);
+extern int device_attach(struct device *dev);
+extern int driver_attach(struct device_driver *drv);
+extern int device_reprobe(struct device *dev);
+
+
+
+
+extern struct device *device_create_vargs(struct class *cls,
+       struct device *parent,
+       dev_t devt,
+       void *drvdata,
+       const char *fmt,
+       va_list vargs);
+extern struct device *device_create(struct class *cls, struct device *parent,
+        dev_t devt, void *drvdata,
+        const char *fmt, ...)
+        __attribute__((format(printf, 5, 6)));
+extern void device_destroy(struct class *cls, dev_t devt);
+
+
+
+
+
+
+
+extern int (*platform_notify)(struct device *dev);
+
+extern int (*platform_notify_remove)(struct device *dev);
+
+
+
+
+
+
+extern struct device *get_device(struct device *dev);
+extern void put_device(struct device *dev);
+
+extern void wait_for_device_probe(void);
+
+
+extern int devtmpfs_create_node(struct device *dev);
+extern int devtmpfs_delete_node(struct device *dev);
+extern int devtmpfs_mount(const char *mntdir);
+
+
+
+
+
+
+
+extern void device_shutdown(void);
+
+
+
+extern void sysdev_shutdown(void);
+
+
+
+
+
+extern const char *dev_driver_string(const struct device *dev);
+
+
+
+
+extern int dev_printk(const char *level, const struct device *dev,
+        const char *fmt, ...)
+ __attribute__ ((format (printf, 3, 4)));
+extern int dev_emerg(const struct device *dev, const char *fmt, ...)
+ __attribute__ ((format (printf, 2, 3)));
+extern int dev_alert(const struct device *dev, const char *fmt, ...)
+ __attribute__ ((format (printf, 2, 3)));
+extern int dev_crit(const struct device *dev, const char *fmt, ...)
+ __attribute__ ((format (printf, 2, 3)));
+extern int dev_err(const struct device *dev, const char *fmt, ...)
+ __attribute__ ((format (printf, 2, 3)));
+extern int dev_warn(const struct device *dev, const char *fmt, ...)
+ __attribute__ ((format (printf, 2, 3)));
+extern int dev_notice(const struct device *dev, const char *fmt, ...)
+ __attribute__ ((format (printf, 2, 3)));
+extern int _dev_info(const struct device *dev, const char *fmt, ...)
+ __attribute__ ((format (printf, 2, 3)));
+# 758 "include/linux/device.h"
+extern long sysfs_deprecated;
+# 22 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/io.h" 2
+# 1 "include/linux/io.h" 1
+# 22 "include/linux/io.h"
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/io.h" 1
+# 23 "include/linux/io.h" 2
+
+
+struct device;
+
+void __iowrite32_copy(void *to, const void *from, size_t count);
+void __iowrite64_copy(void *to, const void *from, size_t count);
+
+
+int ioremap_page_range(unsigned long addr, unsigned long end,
+         phys_addr_t phys_addr, pgprot_t prot);
+# 45 "include/linux/io.h"
+void * devm_ioport_map(struct device *dev, unsigned long port,
+          unsigned int nr);
+void devm_ioport_unmap(struct device *dev, void *addr);
+# 61 "include/linux/io.h"
+void *devm_ioremap(struct device *dev, resource_size_t offset,
+       unsigned long size);
+void *devm_ioremap_nocache(struct device *dev, resource_size_t offset,
+        unsigned long size);
+void devm_iounmap(struct device *dev, void *addr);
+int check_signature(const volatile void *io_addr,
+   const unsigned char *signature, int length);
+void devm_ioremap_release(struct device *dev, void *res);
+# 23 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/io.h" 2
+
+
+
+
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/delay.h" 1
+
+
+
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/time.h" 1
+# 28 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/time.h"
+extern unsigned long tb_ticks_per_jiffy;
+extern unsigned long tb_ticks_per_usec;
+extern unsigned long tb_ticks_per_sec;
+
+struct rtc_time;
+extern void to_tm(int tim, struct rtc_time * tm);
+extern void GregorianDay(struct rtc_time *tm);
+
+extern void generic_calibrate_decr(void);
+
+extern void set_dec_cpu6(unsigned int val);
+
+
+extern unsigned long ppc_proc_freq;
+
+extern unsigned long ppc_tb_freq;
+
+
+struct div_result {
+ u64 result_high;
+ u64 result_low;
+};
+# 66 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/time.h"
+static inline __attribute__((always_inline)) unsigned long get_tbl(void)
+{
+
+
+
+
+
+ return ({unsigned long rval; asm volatile("mftbl %0" : "=r" (rval)); rval;});
+
+}
+
+static inline __attribute__((always_inline)) unsigned int get_tbu(void)
+{
+
+
+
+
+
+ return ({unsigned long rval; asm volatile("mftbu %0" : "=r" (rval)); rval;});
+
+}
+
+
+static inline __attribute__((always_inline)) unsigned int get_rtcl(void)
+{
+ unsigned int rtcl;
+
+ asm volatile("mfrtcl %0" : "=r" (rtcl));
+ return rtcl;
+}
+
+static inline __attribute__((always_inline)) u64 get_rtc(void)
+{
+ unsigned int hi, lo, hi2;
+
+ do {
+  asm volatile("mfrtcu %0; mfrtcl %1; mfrtcu %2"
+        : "=r" (hi), "=r" (lo), "=r" (hi2));
+ } while (hi2 != hi);
+ return (u64)hi * 1000000000 + lo;
+}
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) u64 get_tb(void)
+{
+ unsigned int tbhi, tblo, tbhi2;
+
+ do {
+  tbhi = get_tbu();
+  tblo = get_tbl();
+  tbhi2 = get_tbu();
+ } while (tbhi != tbhi2);
+
+ return ((u64)tbhi << 32) | tblo;
+}
+
+
+static inline __attribute__((always_inline)) u64 get_tb_or_rtc(void)
+{
+ return 0 ? get_rtc() : get_tb();
+}
+
+static inline __attribute__((always_inline)) void set_tb(unsigned int upper, unsigned int lower)
+{
+ asm volatile("mtspr " "0x11C" ",%0" : : "r" (0) : "memory");
+ asm volatile("mtspr " "0x11D" ",%0" : : "r" (upper) : "memory");
+ asm volatile("mtspr " "0x11C" ",%0" : : "r" (lower) : "memory");
+}
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) unsigned int get_dec(void)
+{
+
+
+
+ return (({unsigned long rval; asm volatile("mfspr %0," "0x016" : "=r" (rval)); rval;}));
+
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) void set_dec(int val)
+{
+# 179 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/time.h"
+ asm volatile("mtspr " "0x016" ",%0" : : "r" (val) : "memory");
+
+}
+
+static inline __attribute__((always_inline)) unsigned long tb_ticks_since(unsigned long tstamp)
+{
+ if (0) {
+  int delta = get_rtcl() - (unsigned int) tstamp;
+  return delta < 0 ? delta + 1000000000 : delta;
+ }
+ return get_tbl() - tstamp;
+}
+# 199 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/time.h"
+extern u64 mulhdu(u64, u64);
+
+
+extern void div128_by_32(u64 dividend_high, u64 dividend_low,
+    unsigned divisor, struct div_result *dr);
+
+
+
+struct cpu_usage {
+        u64 current_tb;
+};
+
+extern __attribute__((section(".data" ""))) __typeof__(struct cpu_usage) cpu_usage_array;
+
+
+
+
+
+
+
+extern void secondary_cpu_time_init(void);
+extern void iSeries_time_init_early(void);
+# 6 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/delay.h" 2
+# 20 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/delay.h"
+extern void __delay(unsigned long loops);
+extern void udelay(unsigned long usecs);
+# 29 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/io.h" 2
+
+
+# 1 "include/asm-generic/iomap.h" 1
+# 28 "include/asm-generic/iomap.h"
+extern unsigned int ioread8(void *);
+extern unsigned int ioread16(void *);
+extern unsigned int ioread16be(void *);
+extern unsigned int ioread32(void *);
+extern unsigned int ioread32be(void *);
+
+extern void iowrite8(u8, void *);
+extern void iowrite16(u16, void *);
+extern void iowrite16be(u16, void *);
+extern void iowrite32(u32, void *);
+extern void iowrite32be(u32, void *);
+# 51 "include/asm-generic/iomap.h"
+extern void ioread8_rep(void *port, void *buf, unsigned long count);
+extern void ioread16_rep(void *port, void *buf, unsigned long count);
+extern void ioread32_rep(void *port, void *buf, unsigned long count);
+
+extern void iowrite8_rep(void *port, const void *buf, unsigned long count);
+extern void iowrite16_rep(void *port, const void *buf, unsigned long count);
+extern void iowrite32_rep(void *port, const void *buf, unsigned long count);
+
+
+extern void *ioport_map(unsigned long port, unsigned int nr);
+extern void ioport_unmap(void *);
+
+
+
+
+
+
+struct pci_dev;
+extern void *pci_iomap(struct pci_dev *dev, int bar, unsigned long max);
+extern void pci_iounmap(struct pci_dev *dev, void *);
+# 32 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/io.h" 2
+# 60 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/io.h"
+extern unsigned long isa_io_base;
+extern unsigned long pci_io_base;
+extern unsigned long pci_dram_offset;
+
+extern resource_size_t isa_mem_base;
+# 153 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/io.h"
+static inline __attribute__((always_inline)) u8 in_8(const volatile u8 *addr) { u8 ret; __asm__ __volatile__("sync;""lbz""%U1%X1 %0,%1;twi 0,%0,0;isync" : "=r" (ret) : "m" (*addr) : "memory"); return ret; };
+static inline __attribute__((always_inline)) u16 in_be16(const volatile u16 *addr) { u16 ret; __asm__ __volatile__("sync;""lhz""%U1%X1 %0,%1;twi 0,%0,0;isync" : "=r" (ret) : "m" (*addr) : "memory"); return ret; };
+static inline __attribute__((always_inline)) u32 in_be32(const volatile u32 *addr) { u32 ret; __asm__ __volatile__("sync;""lwz""%U1%X1 %0,%1;twi 0,%0,0;isync" : "=r" (ret) : "m" (*addr) : "memory"); return ret; };
+static inline __attribute__((always_inline)) u16 in_le16(const volatile u16 *addr) { u16 ret; __asm__ __volatile__("sync;""lhbrx"" %0,%y1;twi 0,%0,0;isync" : "=r" (ret) : "Z" (*addr) : "memory"); return ret; };
+static inline __attribute__((always_inline)) u32 in_le32(const volatile u32 *addr) { u32 ret; __asm__ __volatile__("sync;""lwbrx"" %0,%y1;twi 0,%0,0;isync" : "=r" (ret) : "Z" (*addr) : "memory"); return ret; };
+
+static inline __attribute__((always_inline)) void out_8(volatile u8 *addr, u8 val) { __asm__ __volatile__("sync;""stb""%U0%X0 %1,%0" : "=m" (*addr) : "r" (val) : "memory"); ; };
+static inline __attribute__((always_inline)) void out_be16(volatile u16 *addr, u16 val) { __asm__ __volatile__("sync;""sth""%U0%X0 %1,%0" : "=m" (*addr) : "r" (val) : "memory"); ; };
+static inline __attribute__((always_inline)) void out_be32(volatile u32 *addr, u32 val) { __asm__ __volatile__("sync;""stw""%U0%X0 %1,%0" : "=m" (*addr) : "r" (val) : "memory"); ; };
+static inline __attribute__((always_inline)) void out_le16(volatile u16 *addr, u16 val) { __asm__ __volatile__("sync;""sthbrx"" %1,%y0" : "=Z" (*addr) : "r" (val) : "memory"); ; };
+static inline __attribute__((always_inline)) void out_le32(volatile u32 *addr, u32 val) { __asm__ __volatile__("sync;""stwbrx"" %1,%y0" : "=Z" (*addr) : "r" (val) : "memory"); ; };
+# 184 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/io.h"
+extern void _insb(const volatile u8 *addr, void *buf, long count);
+extern void _outsb(volatile u8 *addr,const void *buf,long count);
+extern void _insw_ns(const volatile u16 *addr, void *buf, long count);
+extern void _outsw_ns(volatile u16 *addr, const void *buf, long count);
+extern void _insl_ns(const volatile u32 *addr, void *buf, long count);
+extern void _outsl_ns(volatile u32 *addr, const void *buf, long count);
+# 204 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/io.h"
+extern void _memset_io(volatile void *addr, int c, unsigned long n);
+extern void _memcpy_fromio(void *dest, const volatile void *src,
+      unsigned long n);
+extern void _memcpy_toio(volatile void *dest, const void *src,
+    unsigned long n);
+# 288 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/io.h"
+static inline __attribute__((always_inline)) unsigned char __raw_readb(const volatile void *addr)
+{
+ return *(volatile unsigned char *)(addr);
+}
+static inline __attribute__((always_inline)) unsigned short __raw_readw(const volatile void *addr)
+{
+ return *(volatile unsigned short *)(addr);
+}
+static inline __attribute__((always_inline)) unsigned int __raw_readl(const volatile void *addr)
+{
+ return *(volatile unsigned int *)(addr);
+}
+static inline __attribute__((always_inline)) void __raw_writeb(unsigned char v, volatile void *addr)
+{
+ *(volatile unsigned char *)(addr) = v;
+}
+static inline __attribute__((always_inline)) void __raw_writew(unsigned short v, volatile void *addr)
+{
+ *(volatile unsigned short *)(addr) = v;
+}
+static inline __attribute__((always_inline)) void __raw_writel(unsigned int v, volatile void *addr)
+{
+ *(volatile unsigned int *)(addr) = v;
+}
+# 385 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/io.h"
+static inline __attribute__((always_inline)) unsigned int _rec_inb(unsigned int port) { unsigned int x; __asm__ __volatile__( "sync\n" "0:" "lbzx" "	%0,0,%1\n" "1:	twi	0,%0,0\n" "2:	isync\n" "3:	nop\n" "4:\n" ".section .fixup,\"ax\"\n" "5:	li	%0,-1\n" "	b	4b\n" ".previous\n" ".section __ex_table,\"a\"\n" "	.align	2\n" "	.long	0b,5b\n" "	.long	1b,5b\n" "	.long	2b,5b\n" "	.long	3b,5b\n" ".previous" : "=&r" (x) : "r" (port + 0) : "memory"); return x; }
+static inline __attribute__((always_inline)) unsigned int _rec_inw(unsigned int port) { unsigned int x; __asm__ __volatile__( "sync\n" "0:" "lhbrx" "	%0,0,%1\n" "1:	twi	0,%0,0\n" "2:	isync\n" "3:	nop\n" "4:\n" ".section .fixup,\"ax\"\n" "5:	li	%0,-1\n" "	b	4b\n" ".previous\n" ".section __ex_table,\"a\"\n" "	.align	2\n" "	.long	0b,5b\n" "	.long	1b,5b\n" "	.long	2b,5b\n" "	.long	3b,5b\n" ".previous" : "=&r" (x) : "r" (port + 0) : "memory"); return x; }
+static inline __attribute__((always_inline)) unsigned int _rec_inl(unsigned int port) { unsigned int x; __asm__ __volatile__( "sync\n" "0:" "lwbrx" "	%0,0,%1\n" "1:	twi	0,%0,0\n" "2:	isync\n" "3:	nop\n" "4:\n" ".section .fixup,\"ax\"\n" "5:	li	%0,-1\n" "	b	4b\n" ".previous\n" ".section __ex_table,\"a\"\n" "	.align	2\n" "	.long	0b,5b\n" "	.long	1b,5b\n" "	.long	2b,5b\n" "	.long	3b,5b\n" ".previous" : "=&r" (x) : "r" (port + 0) : "memory"); return x; }
+static inline __attribute__((always_inline)) void _rec_outb(unsigned int val, unsigned int port) { __asm__ __volatile__( "sync\n" "0:" "stbx" " %0,0,%1\n" "1:	sync\n" "2:\n" ".section __ex_table,\"a\"\n" "	.align	2\n" "	.long	0b,2b\n" "	.long	1b,2b\n" ".previous" : : "r" (val), "r" (port + 0) : "memory"); }
+static inline __attribute__((always_inline)) void _rec_outw(unsigned int val, unsigned int port) { __asm__ __volatile__( "sync\n" "0:" "sthbrx" " %0,0,%1\n" "1:	sync\n" "2:\n" ".section __ex_table,\"a\"\n" "	.align	2\n" "	.long	0b,2b\n" "	.long	1b,2b\n" ".previous" : : "r" (val), "r" (port + 0) : "memory"); }
+static inline __attribute__((always_inline)) void _rec_outl(unsigned int val, unsigned int port) { __asm__ __volatile__( "sync\n" "0:" "stwbrx" " %0,0,%1\n" "1:	sync\n" "2:\n" ".section __ex_table,\"a\"\n" "	.align	2\n" "	.long	0b,2b\n" "	.long	1b,2b\n" ".previous" : : "r" (val), "r" (port + 0) : "memory"); }
+# 491 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/io.h"
+extern struct ppc_pci_io {
+
+
+
+
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/io-defs.h" 1
+
+
+
+u8 (*readb) (const volatile void * addr);
+u16 (*readw) (const volatile void * addr);
+u32 (*readl) (const volatile void * addr);
+u16 (*readw_be) (const volatile void * addr);
+u32 (*readl_be) (const volatile void * addr);
+void (*writeb) (u8 val, volatile void * addr);
+void (*writew) (u16 val, volatile void * addr);
+void (*writel) (u32 val, volatile void * addr);
+void (*writew_be) (u16 val, volatile void * addr);
+void (*writel_be) (u32 val, volatile void * addr);
+# 22 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/io-defs.h"
+u8 (*inb) (unsigned long port);
+u16 (*inw) (unsigned long port);
+u32 (*inl) (unsigned long port);
+void (*outb) (u8 val, unsigned long port);
+void (*outw) (u16 val, unsigned long port);
+void (*outl) (u32 val, unsigned long port);
+
+void (*readsb) (const volatile void * a, void *b, unsigned long c);
+
+void (*readsw) (const volatile void * a, void *b, unsigned long c);
+
+void (*readsl) (const volatile void * a, void *b, unsigned long c);
+
+void (*writesb) (volatile void * a, const void *b, unsigned long c);
+
+void (*writesw) (volatile void * a, const void *b, unsigned long c);
+
+void (*writesl) (volatile void * a, const void *b, unsigned long c);
+
+
+void (*insb) (unsigned long p, void *b, unsigned long c);
+
+void (*insw) (unsigned long p, void *b, unsigned long c);
+
+void (*insl) (unsigned long p, void *b, unsigned long c);
+
+void (*outsb) (unsigned long p, const void *b, unsigned long c);
+
+void (*outsw) (unsigned long p, const void *b, unsigned long c);
+
+void (*outsl) (unsigned long p, const void *b, unsigned long c);
+
+
+void (*memset_io) (volatile void * a, int c, unsigned long n);
+
+void (*memcpy_fromio) (void *d, const volatile void * s, unsigned long n);
+
+void (*memcpy_toio) (volatile void * d, const void *s, unsigned long n);
+# 497 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/io.h" 2
+
+
+
+
+} ppc_pci_io;
+# 521 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/io.h"
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/io-defs.h" 1
+
+
+
+static inline __attribute__((always_inline)) u8 readb (const volatile void * addr) { if (((void *)0) != ((void *)0)) return ppc_pci_io.readb (addr); return in_8((addr)); }
+static inline __attribute__((always_inline)) u16 readw (const volatile void * addr) { if (((void *)0) != ((void *)0)) return ppc_pci_io.readw (addr); return in_le16((addr)); }
+static inline __attribute__((always_inline)) u32 readl (const volatile void * addr) { if (((void *)0) != ((void *)0)) return ppc_pci_io.readl (addr); return in_le32((addr)); }
+static inline __attribute__((always_inline)) u16 readw_be (const volatile void * addr) { if (((void *)0) != ((void *)0)) return ppc_pci_io.readw_be (addr); return in_be16((addr)); }
+static inline __attribute__((always_inline)) u32 readl_be (const volatile void * addr) { if (((void *)0) != ((void *)0)) return ppc_pci_io.readl_be (addr); return in_be32((addr)); }
+static inline __attribute__((always_inline)) void writeb (u8 val, volatile void * addr) { if (((void *)0) != ((void *)0)) ppc_pci_io.writeb (val, addr); else out_8((addr), val); }
+static inline __attribute__((always_inline)) void writew (u16 val, volatile void * addr) { if (((void *)0) != ((void *)0)) ppc_pci_io.writew (val, addr); else out_le16((addr), val); }
+static inline __attribute__((always_inline)) void writel (u32 val, volatile void * addr) { if (((void *)0) != ((void *)0)) ppc_pci_io.writel (val, addr); else out_le32((addr), val); }
+static inline __attribute__((always_inline)) void writew_be (u16 val, volatile void * addr) { if (((void *)0) != ((void *)0)) ppc_pci_io.writew_be (val, addr); else out_be16((addr), val); }
+static inline __attribute__((always_inline)) void writel_be (u32 val, volatile void * addr) { if (((void *)0) != ((void *)0)) ppc_pci_io.writel_be (val, addr); else out_be32((addr), val); }
+# 22 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/io-defs.h"
+static inline __attribute__((always_inline)) u8 inb (unsigned long port) { if (((void *)0) != ((void *)0)) return ppc_pci_io.inb (port); return _rec_inb(port); }
+static inline __attribute__((always_inline)) u16 inw (unsigned long port) { if (((void *)0) != ((void *)0)) return ppc_pci_io.inw (port); return _rec_inw(port); }
+static inline __attribute__((always_inline)) u32 inl (unsigned long port) { if (((void *)0) != ((void *)0)) return ppc_pci_io.inl (port); return _rec_inl(port); }
+static inline __attribute__((always_inline)) void outb (u8 val, unsigned long port) { if (((void *)0) != ((void *)0)) ppc_pci_io.outb (val, port); else _rec_outb(val, port); }
+static inline __attribute__((always_inline)) void outw (u16 val, unsigned long port) { if (((void *)0) != ((void *)0)) ppc_pci_io.outw (val, port); else _rec_outw(val, port); }
+static inline __attribute__((always_inline)) void outl (u32 val, unsigned long port) { if (((void *)0) != ((void *)0)) ppc_pci_io.outl (val, port); else _rec_outl(val, port); }
+
+static inline __attribute__((always_inline)) void readsb (const volatile void * a, void *b, unsigned long c) { if (((void *)0) != ((void *)0)) ppc_pci_io.readsb (a, b, c); else
+ _insb((a), (b), (c)); }
+static inline __attribute__((always_inline)) void readsw (const volatile void * a, void *b, unsigned long c) { if (((void *)0) != ((void *)0)) ppc_pci_io.readsw (a, b, c); else
+ _insw_ns((a), (b), (c)); }
+static inline __attribute__((always_inline)) void readsl (const volatile void * a, void *b, unsigned long c) { if (((void *)0) != ((void *)0)) ppc_pci_io.readsl (a, b, c); else
+ _insl_ns((a), (b), (c)); }
+static inline __attribute__((always_inline)) void writesb (volatile void * a, const void *b, unsigned long c) { if (((void *)0) != ((void *)0)) ppc_pci_io.writesb (a, b, c); else
+ _outsb((a),(b),(c)); }
+static inline __attribute__((always_inline)) void writesw (volatile void * a, const void *b, unsigned long c) { if (((void *)0) != ((void *)0)) ppc_pci_io.writesw (a, b, c); else
+ _outsw_ns((a),(b),(c)); }
+static inline __attribute__((always_inline)) void writesl (volatile void * a, const void *b, unsigned long c) { if (((void *)0) != ((void *)0)) ppc_pci_io.writesl (a, b, c); else
+ _outsl_ns((a),(b),(c)); }
+
+static inline __attribute__((always_inline)) void insb (unsigned long p, void *b, unsigned long c) { if (((void *)0) != ((void *)0)) ppc_pci_io.insb (p, b, c); else
+ readsb((volatile void *)0 +(p), (b), (c)); }
+static inline __attribute__((always_inline)) void insw (unsigned long p, void *b, unsigned long c) { if (((void *)0) != ((void *)0)) ppc_pci_io.insw (p, b, c); else
+ readsw((volatile void *)0 +(p), (b), (c)); }
+static inline __attribute__((always_inline)) void insl (unsigned long p, void *b, unsigned long c) { if (((void *)0) != ((void *)0)) ppc_pci_io.insl (p, b, c); else
+ readsl((volatile void *)0 +(p), (b), (c)); }
+static inline __attribute__((always_inline)) void outsb (unsigned long p, const void *b, unsigned long c) { if (((void *)0) != ((void *)0)) ppc_pci_io.outsb (p, b, c); else
+ writesb((volatile void *)0 +(p),(b),(c)); }
+static inline __attribute__((always_inline)) void outsw (unsigned long p, const void *b, unsigned long c) { if (((void *)0) != ((void *)0)) ppc_pci_io.outsw (p, b, c); else
+ writesw((volatile void *)0 +(p),(b),(c)); }
+static inline __attribute__((always_inline)) void outsl (unsigned long p, const void *b, unsigned long c) { if (((void *)0) != ((void *)0)) ppc_pci_io.outsl (p, b, c); else
+ writesl((volatile void *)0 +(p),(b),(c)); }
+
+static inline __attribute__((always_inline)) void memset_io (volatile void * a, int c, unsigned long n) { if (((void *)0) != ((void *)0)) ppc_pci_io.memset_io (a, c, n); else
+ _memset_io((a), c, n); }
+static inline __attribute__((always_inline)) void memcpy_fromio (void *d, const volatile void * s, unsigned long n) { if (((void *)0) != ((void *)0)) ppc_pci_io.memcpy_fromio (d, s, n); else
+ _memcpy_fromio(d,(s),n); }
+static inline __attribute__((always_inline)) void memcpy_toio (volatile void * d, const void *s, unsigned long n) { if (((void *)0) != ((void *)0)) ppc_pci_io.memcpy_toio (d, s, n); else
+ _memcpy_toio((d), s, n); }
+# 522 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/io.h" 2
+# 571 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/io.h"
+static inline __attribute__((always_inline)) void iosync(void)
+{
+        __asm__ __volatile__ ("sync" : : : "memory");
+}
+# 642 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/io.h"
+extern void *ioremap(phys_addr_t address, unsigned long size);
+extern void *ioremap_flags(phys_addr_t address, unsigned long size,
+       unsigned long flags);
+
+
+
+extern void iounmap(volatile void *addr);
+
+extern void *__ioremap(phys_addr_t, unsigned long size,
+          unsigned long flags);
+extern void *__ioremap_caller(phys_addr_t, unsigned long size,
+          unsigned long flags, void *caller);
+
+extern void __iounmap(volatile void *addr);
+
+extern void * __ioremap_at(phys_addr_t pa, void *ea,
+       unsigned long size, unsigned long flags);
+extern void __iounmap_at(void *ea, unsigned long size);
+# 695 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/io.h"
+static inline __attribute__((always_inline)) unsigned long virt_to_phys(volatile void * address)
+{
+ return ((unsigned long)((unsigned long)address) + 0x00000000UL - 0x70000000UL);
+}
+# 712 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/io.h"
+static inline __attribute__((always_inline)) void * phys_to_virt(unsigned long address)
+{
+ return (void *)((void *)(unsigned long)((phys_addr_t)(address) - 0x00000000UL + 0x70000000UL));
+}
+# 730 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/io.h"
+static inline __attribute__((always_inline)) unsigned long virt_to_bus(volatile void * address)
+{
+        if (address == ((void *)0))
+  return 0;
+        return ((unsigned long)(address) + 0x00000000UL - 0x70000000UL) + 0;
+}
+
+static inline __attribute__((always_inline)) void * bus_to_virt(unsigned long address)
+{
+        if (address == 0)
+  return ((void *)0);
+        return ((void *)(unsigned long)((phys_addr_t)(address - 0) - 0x00000000UL + 0x70000000UL));
+}
+# 781 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/io.h"
+void *devm_ioremap_prot(struct device *dev, resource_size_t offset,
+    size_t size, unsigned long flags);
+# 10 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/pgtable-ppc32.h" 2
+
+extern unsigned long va_to_phys(unsigned long address);
+extern pte_t *va_to_pte(unsigned long address);
+extern unsigned long ioremap_bot;
+
+
+extern int icache_44x_need_flush;
+# 117 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/pgtable-ppc32.h"
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/pte-44x.h" 1
+# 118 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/pgtable-ppc32.h" 2
+# 129 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/pgtable-ppc32.h"
+# 1 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/pte-common.h" 1
+# 67 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/pte-common.h"
+extern unsigned long bad_call_to_PMD_PAGE_SIZE(void);
+# 130 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/pgtable-ppc32.h" 2
+# 145 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/pgtable-ppc32.h"
+extern int flush_hash_pages(unsigned context, unsigned long va,
+       unsigned long pmdval, int count);
+
+
+extern void add_hash_page(unsigned context, unsigned long va,
+     unsigned long pmdval);
+
+
+extern void flush_hash_entry(struct mm_struct *mm, pte_t *ptep,
+        unsigned long address);
+# 201 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/pgtable-ppc32.h"
+static inline __attribute__((always_inline)) unsigned long long pte_update(pte_t *p,
+         unsigned long clr,
+         unsigned long set)
+{
+# 221 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/pgtable-ppc32.h"
+ unsigned long long old = (*p);
+ *p = ((old & ~(unsigned long long)clr) | set);
+
+
+
+ if ((old & 0x00000040) && (old & 0x00000004))
+  icache_44x_need_flush = 1;
+
+ return old;
+}
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) int __ptep_test_and_clear_young(unsigned int context, unsigned long addr, pte_t *ptep)
+{
+ unsigned long old;
+ old = pte_update(ptep, 0x00000008, 0);
+
+
+
+
+
+
+ return (old & 0x00000008) != 0;
+}
+
+
+
+
+static inline __attribute__((always_inline)) pte_t ptep_get_and_clear(struct mm_struct *mm, unsigned long addr,
+           pte_t *ptep)
+{
+ return (pte_update(ptep, ~0, 0));
+}
+
+
+static inline __attribute__((always_inline)) void ptep_set_wrprotect(struct mm_struct *mm, unsigned long addr,
+          pte_t *ptep)
+{
+ pte_update(ptep, (0x00000002 | 0), 0);
+}
+static inline __attribute__((always_inline)) void huge_ptep_set_wrprotect(struct mm_struct *mm,
+        unsigned long addr, pte_t *ptep)
+{
+ ptep_set_wrprotect(mm, addr, ptep);
+}
+
+
+static inline __attribute__((always_inline)) void __ptep_set_access_flags(pte_t *ptep, pte_t entry)
+{
+ unsigned long bits = (entry) &
+  (0x00000010 | 0x00000008 | 0x00000002 | 0x00000004);
+ pte_update(ptep, 0, bits);
+}
+# 340 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/pgtable-ppc32.h"
+extern int get_pteptr(struct mm_struct *mm, unsigned long addr, pte_t **ptep,
+        pmd_t **pmdp);
+# 26 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/pgtable.h" 2
+
+
+
+
+
+static inline __attribute__((always_inline)) int pte_write(pte_t pte) { return (pte) & 0x00000002; }
+static inline __attribute__((always_inline)) int pte_dirty(pte_t pte) { return (pte) & 0x00000010; }
+static inline __attribute__((always_inline)) int pte_young(pte_t pte) { return (pte) & 0x00000008; }
+static inline __attribute__((always_inline)) int pte_file(pte_t pte) { return (pte) & 0x00000004; }
+static inline __attribute__((always_inline)) int pte_special(pte_t pte) { return (pte) & 0x00000020; }
+static inline __attribute__((always_inline)) int pte_present(pte_t pte) { return (pte) & 0x00000001; }
+static inline __attribute__((always_inline)) int pte_none(pte_t pte) { return ((pte) & ~0xffffffff00000000ULL) == 0; }
+static inline __attribute__((always_inline)) pgprot_t pte_pgprot(pte_t pte) { return ((pte) & (0x00000100 | 0x00000200 | 0x00000400 | 0x00000800 | 0x00000080 | 0 | 0x00000040 | 0x00000008 | 0x00000002 | 0 | 0x00000010 | 0x00000004)); }
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) pte_t pfn_pte(unsigned long pfn, pgprot_t pgprot) {
+ return (((pte_basic_t)(pfn) << (12)) | (pgprot))
+                          ; }
+static inline __attribute__((always_inline)) unsigned long pte_pfn(pte_t pte) {
+ return (pte) >> (12); }
+
+
+
+
+
+
+static inline __attribute__((always_inline)) pte_t pte_wrprotect(pte_t pte) {
+ (pte) &= ~(0x00000002 | 0); return pte; }
+static inline __attribute__((always_inline)) pte_t pte_mkclean(pte_t pte) {
+ (pte) &= ~(0x00000010 | 0); return pte; }
+static inline __attribute__((always_inline)) pte_t pte_mkold(pte_t pte) {
+ (pte) &= ~0x00000008; return pte; }
+static inline __attribute__((always_inline)) pte_t pte_mkwrite(pte_t pte) {
+ (pte) |= 0x00000002; return pte; }
+static inline __attribute__((always_inline)) pte_t pte_mkdirty(pte_t pte) {
+ (pte) |= 0x00000010; return pte; }
+static inline __attribute__((always_inline)) pte_t pte_mkyoung(pte_t pte) {
+ (pte) |= 0x00000008; return pte; }
+static inline __attribute__((always_inline)) pte_t pte_mkspecial(pte_t pte) {
+ (pte) |= 0x00000020; return pte; }
+static inline __attribute__((always_inline)) pte_t pte_mkhuge(pte_t pte) {
+ return pte; }
+static inline __attribute__((always_inline)) pte_t pte_modify(pte_t pte, pgprot_t newprot)
+{
+ (pte) = ((pte) & ((~((1ULL<<(12))-1)) | 0 | 0x00000010 | 0x00000008 | 0x00000020)) | (newprot);
+ return pte;
+}
+
+
+
+
+
+extern void set_pte_at(struct mm_struct *mm, unsigned long addr, pte_t *ptep,
+         pte_t pte);
+
+
+
+
+
+
+static inline __attribute__((always_inline)) void __set_pte_at(struct mm_struct *mm, unsigned long addr,
+    pte_t *ptep, pte_t pte, int percpu)
+{
+# 116 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/pgtable.h"
+ if (percpu) {
+  *ptep = (((*ptep) & 0) | ((pte) & ~0))
+                                           ;
+  return;
+ }
+
+
+
+
+ __asm__ __volatile__("		stw%U0%X0 %2,%0\n		eieio\n		stw%U0%X0 %L2,%1"
+
+
+
+ : "=m" (*ptep), "=m" (*((unsigned char *)ptep+4))
+ : "r" (pte) : "memory");
+# 147 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/pgtable.h"
+}
+
+
+
+extern int ptep_set_access_flags(struct vm_area_struct *vma, unsigned long address,
+     pte_t *ptep, pte_t entry, int dirty);
+# 175 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/pgtable.h"
+struct file;
+extern pgprot_t phys_mem_access_prot(struct file *file, unsigned long pfn,
+         unsigned long size, pgprot_t vma_prot);
+
+
+
+
+
+
+extern unsigned long empty_zero_page[];
+
+
+extern pgd_t swapper_pg_dir[];
+
+extern void paging_init(void);
+# 201 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/pgtable.h"
+# 1 "include/asm-generic/pgtable.h" 1
+# 16 "include/asm-generic/pgtable.h"
+extern int pmdp_set_access_flags(struct vm_area_struct *vma,
+     unsigned long address, pmd_t *pmdp,
+     pmd_t entry, int dirty);
+# 51 "include/asm-generic/pgtable.h"
+static inline __attribute__((always_inline)) int pmdp_test_and_clear_young(struct vm_area_struct *vma,
+         unsigned long address,
+         pmd_t *pmdp)
+{
+ do { __asm__ __volatile__( "1:	twi 31,0,0\n" ".section __bug_table,\"a\"\n" "2:\t" ".long" " " "1b, %0\n" "\t.short %1, %2\n" ".org 2b+%3\n" ".previous\n" : : "i" ("include/asm-generic/pgtable.h"), "i" (55), "i" (0), "i" (sizeof(struct bug_entry))); __builtin_unreachable(); } while (0);
+ return 0;
+}
+
+
+
+
+int ptep_clear_flush_young(struct vm_area_struct *vma,
+      unsigned long address, pte_t *ptep);
+
+
+
+int pmdp_clear_flush_young(struct vm_area_struct *vma,
+      unsigned long address, pmd_t *pmdp);
+# 96 "include/asm-generic/pgtable.h"
+static inline __attribute__((always_inline)) pte_t ptep_get_and_clear_full(struct mm_struct *mm,
+         unsigned long address, pte_t *ptep,
+         int full)
+{
+ pte_t pte;
+ pte = ptep_get_and_clear(mm, address, ptep);
+ return pte;
+}
+# 112 "include/asm-generic/pgtable.h"
+static inline __attribute__((always_inline)) void pte_clear_not_present_full(struct mm_struct *mm,
+           unsigned long address,
+           pte_t *ptep,
+           int full)
+{
+ do { pte_update(ptep, ~0, 0); } while (0);
+}
+
+
+
+extern pte_t ptep_clear_flush(struct vm_area_struct *vma,
+         unsigned long address,
+         pte_t *ptep);
+
+
+
+extern pmd_t pmdp_clear_flush(struct vm_area_struct *vma,
+         unsigned long address,
+         pmd_t *pmdp);
+# 151 "include/asm-generic/pgtable.h"
+static inline __attribute__((always_inline)) void pmdp_set_wrprotect(struct mm_struct *mm,
+          unsigned long address, pmd_t *pmdp)
+{
+ do { __asm__ __volatile__( "1:	twi 31,0,0\n" ".section __bug_table,\"a\"\n" "2:\t" ".long" " " "1b, %0\n" "\t.short %1, %2\n" ".org 2b+%3\n" ".previous\n" : : "i" ("include/asm-generic/pgtable.h"), "i" (154), "i" (0), "i" (sizeof(struct bug_entry))); __builtin_unreachable(); } while (0);
+}
+
+
+
+
+extern pmd_t pmdp_splitting_flush(struct vm_area_struct *vma,
+      unsigned long address,
+      pmd_t *pmdp);
+# 179 "include/asm-generic/pgtable.h"
+static inline __attribute__((always_inline)) int pmd_same(pmd_t pmd_a, pmd_t pmd_b)
+{
+ do { __asm__ __volatile__( "1:	twi 31,0,0\n" ".section __bug_table,\"a\"\n" "2:\t" ".long" " " "1b, %0\n" "\t.short %1, %2\n" ".org 2b+%3\n" ".previous\n" : : "i" ("include/asm-generic/pgtable.h"), "i" (181), "i" (0), "i" (sizeof(struct bug_entry))); __builtin_unreachable(); } while (0);
+ return 0;
+}
+# 255 "include/asm-generic/pgtable.h"
+void pgd_clear_bad(pgd_t *);
+void pud_clear_bad(pud_t *);
+void pmd_clear_bad(pmd_t *);
+
+static inline __attribute__((always_inline)) int pgd_none_or_clear_bad(pgd_t *pgd)
+{
+ if (pgd_none(*pgd))
+  return 1;
+ if (__builtin_expect(!!(pgd_bad(*pgd)), 0)) {
+  pgd_clear_bad(pgd);
+  return 1;
+ }
+ return 0;
+}
+
+static inline __attribute__((always_inline)) int pud_none_or_clear_bad(pud_t *pud)
+{
+ if (pud_none(*pud))
+  return 1;
+ if (__builtin_expect(!!(pud_bad(*pud)), 0)) {
+  pud_clear_bad(pud);
+  return 1;
+ }
+ return 0;
+}
+
+static inline __attribute__((always_inline)) int pmd_none_or_clear_bad(pmd_t *pmd)
+{
+ if ((!(((((*pmd).pud).pgd)))))
+  return 1;
+ if (__builtin_expect(!!(((((((*pmd).pud).pgd))) & (~(~((1 << 12) - 1))))), 0)) {
+  pmd_clear_bad(pmd);
+  return 1;
+ }
+ return 0;
+}
+
+static inline __attribute__((always_inline)) pte_t __ptep_modify_prot_start(struct mm_struct *mm,
+          unsigned long addr,
+          pte_t *ptep)
+{
+
+
+
+
+
+ return ptep_get_and_clear(mm, addr, ptep);
+}
+
+static inline __attribute__((always_inline)) void __ptep_modify_prot_commit(struct mm_struct *mm,
+          unsigned long addr,
+          pte_t *ptep, pte_t pte)
+{
+
+
+
+
+ set_pte_at(mm, addr, ptep, pte);
+}
+# 330 "include/asm-generic/pgtable.h"
+static inline __attribute__((always_inline)) pte_t ptep_modify_prot_start(struct mm_struct *mm,
+        unsigned long addr,
+        pte_t *ptep)
+{
+ return __ptep_modify_prot_start(mm, addr, ptep);
+}
+
+
+
+
+
+static inline __attribute__((always_inline)) void ptep_modify_prot_commit(struct mm_struct *mm,
+        unsigned long addr,
+        pte_t *ptep, pte_t pte)
+{
+ __ptep_modify_prot_commit(mm, addr, ptep, pte);
+}
+# 394 "include/asm-generic/pgtable.h"
+static inline __attribute__((always_inline)) int track_pfn_vma_new(struct vm_area_struct *vma, pgprot_t *prot,
+     unsigned long pfn, unsigned long size)
+{
+ return 0;
+}
+# 407 "include/asm-generic/pgtable.h"
+static inline __attribute__((always_inline)) int track_pfn_vma_copy(struct vm_area_struct *vma)
+{
+ return 0;
+}
+# 420 "include/asm-generic/pgtable.h"
+static inline __attribute__((always_inline)) void untrack_pfn_vma(struct vm_area_struct *vma,
+     unsigned long pfn, unsigned long size)
+{
+}
+# 433 "include/asm-generic/pgtable.h"
+static inline __attribute__((always_inline)) int pmd_trans_huge(pmd_t pmd)
+{
+ return 0;
+}
+static inline __attribute__((always_inline)) int pmd_trans_splitting(pmd_t pmd)
+{
+ return 0;
+}
+
+static inline __attribute__((always_inline)) int pmd_write(pmd_t pmd)
+{
+ do { __asm__ __volatile__( "1:	twi 31,0,0\n" ".section __bug_table,\"a\"\n" "2:\t" ".long" " " "1b, %0\n" "\t.short %1, %2\n" ".org 2b+%3\n" ".previous\n" : : "i" ("include/asm-generic/pgtable.h"), "i" (444), "i" (0), "i" (sizeof(struct bug_entry))); __builtin_unreachable(); } while (0);
+ return 0;
+}
+# 202 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/pgtable.h" 2
+# 213 "/home/sk/Projects/sdk/working/ppcLin/linux-2.6.39.4/arch/powerpc/include/asm/pgtable.h"
+extern void update_mmu_cache(struct vm_area_struct *, unsigned long, pte_t *);
+
+extern int gup_hugepd(hugepd_t *hugepd, unsigned pdshift, unsigned long addr,
+        unsigned long end, int write, struct page **pages, int *nr);
+# 42 "include/linux/mm.h" 2
+# 58 "include/linux/mm.h"
+extern struct kmem_cache *vm_area_cachep;
+# 149 "include/linux/mm.h"
+extern pgprot_t protection_map[16];
+# 165 "include/linux/mm.h"
+static inline __attribute__((always_inline)) int is_linear_pfn_mapping(struct vm_area_struct *vma)
+{
+ return (vma->vm_flags & 0x40000000);
+}
+
+static inline __attribute__((always_inline)) int is_pfn_mapping(struct vm_area_struct *vma)
+{
+ return (vma->vm_flags & 0x00000400);
+}
+# 184 "include/linux/mm.h"
+struct vm_fault {
+ unsigned int flags;
+ unsigned long pgoff;
+ void *virtual_address;
+
+ struct page *page;
+
+
+
+
+};
+
+
+
+
+
+
+struct vm_operations_struct {
+ void (*open)(struct vm_area_struct * area);
+ void (*close)(struct vm_area_struct * area);
+ int (*fault)(struct vm_area_struct *vma, struct vm_fault *vmf);
+
+
+
+ int (*page_mkwrite)(struct vm_area_struct *vma, struct vm_fault *vmf);
+
+
+
+
+ int (*access)(struct vm_area_struct *vma, unsigned long addr,
+        void *buf, int len, int write);
+# 240 "include/linux/mm.h"
+};
+
+struct mmu_gather;
+struct inode;
+# 252 "include/linux/mm.h"
+# 1 "include/linux/page-flags.h" 1
+# 72 "include/linux/page-flags.h"
+enum pageflags {
+ PG_locked,
+ PG_error,
+ PG_referenced,
+ PG_uptodate,
+ PG_dirty,
+ PG_lru,
+ PG_active,
+ PG_slab,
+ PG_owner_priv_1,
+ PG_arch_1,
+ PG_reserved,
+ PG_private,
+ PG_private_2,
+ PG_writeback,
+
+ PG_head,
+ PG_tail,
+
+
+
+ PG_swapcache,
+ PG_mappedtodisk,
+ PG_reclaim,
+ PG_swapbacked,
+ PG_unevictable,
+
+ PG_mlocked,
+# 110 "include/linux/page-flags.h"
+ __NR_PAGEFLAGS,
+
+
+ PG_checked = PG_owner_priv_1,
+
+
+
+
+
+ PG_fscache = PG_private_2,
+
+
+ PG_pinned = PG_owner_priv_1,
+ PG_savepinned = PG_dirty,
+
+
+ PG_slob_free = PG_private,
+
+
+ PG_slub_frozen = PG_active,
+};
+# 197 "include/linux/page-flags.h"
+struct page;
+
+static inline __attribute__((always_inline)) int PageLocked(struct page *page) { return test_bit(PG_locked, &page->flags); }
+static inline __attribute__((always_inline)) int PageError(struct page *page) { return test_bit(PG_error, &page->flags); } static inline __attribute__((always_inline)) void SetPageError(struct page *page) { set_bit(PG_error, &page->flags); } static inline __attribute__((always_inline)) void ClearPageError(struct page *page) { clear_bit(PG_error, &page->flags); } static inline __attribute__((always_inline)) int TestClearPageError(struct page *page) { return test_and_clear_bit(PG_error, &page->flags); }
+static inline __attribute__((always_inline)) int PageReferenced(struct page *page) { return test_bit(PG_referenced, &page->flags); } static inline __attribute__((always_inline)) void SetPageReferenced(struct page *page) { set_bit(PG_referenced, &page->flags); } static inline __attribute__((always_inline)) void ClearPageReferenced(struct page *page) { clear_bit(PG_referenced, &page->flags); } static inline __attribute__((always_inline)) int TestClearPageReferenced(struct page *page) { return test_and_clear_bit(PG_referenced, &page->flags); }
+static inline __attribute__((always_inline)) int PageDirty(struct page *page) { return test_bit(PG_dirty, &page->flags); } static inline __attribute__((always_inline)) void SetPageDirty(struct page *page) { set_bit(PG_dirty, &page->flags); } static inline __attribute__((always_inline)) void ClearPageDirty(struct page *page) { clear_bit(PG_dirty, &page->flags); } static inline __attribute__((always_inline)) int TestSetPageDirty(struct page *page) { return test_and_set_bit(PG_dirty, &page->flags); } static inline __attribute__((always_inline)) int TestClearPageDirty(struct page *page) { return test_and_clear_bit(PG_dirty, &page->flags); } static inline __attribute__((always_inline)) void __ClearPageDirty(struct page *page) { __clear_bit(PG_dirty, &page->flags); }
+static inline __attribute__((always_inline)) int PageLRU(struct page *page) { return test_bit(PG_lru, &page->flags); } static inline __attribute__((always_inline)) void SetPageLRU(struct page *page) { set_bit(PG_lru, &page->flags); } static inline __attribute__((always_inline)) void ClearPageLRU(struct page *page) { clear_bit(PG_lru, &page->flags); } static inline __attribute__((always_inline)) void __ClearPageLRU(struct page *page) { __clear_bit(PG_lru, &page->flags); }
+static inline __attribute__((always_inline)) int PageActive(struct page *page) { return test_bit(PG_active, &page->flags); } static inline __attribute__((always_inline)) void SetPageActive(struct page *page) { set_bit(PG_active, &page->flags); } static inline __attribute__((always_inline)) void ClearPageActive(struct page *page) { clear_bit(PG_active, &page->flags); } static inline __attribute__((always_inline)) void __ClearPageActive(struct page *page) { __clear_bit(PG_active, &page->flags); }
+ static inline __attribute__((always_inline)) int TestClearPageActive(struct page *page) { return test_and_clear_bit(PG_active, &page->flags); }
+static inline __attribute__((always_inline)) int PageSlab(struct page *page) { return test_bit(PG_slab, &page->flags); } static inline __attribute__((always_inline)) void __SetPageSlab(struct page *page) { __set_bit(PG_slab, &page->flags); } static inline __attribute__((always_inline)) void __ClearPageSlab(struct page *page) { __clear_bit(PG_slab, &page->flags); }
+static inline __attribute__((always_inline)) int PageChecked(struct page *page) { return test_bit(PG_checked, &page->flags); } static inline __attribute__((always_inline)) void SetPageChecked(struct page *page) { set_bit(PG_checked, &page->flags); } static inline __attribute__((always_inline)) void ClearPageChecked(struct page *page) { clear_bit(PG_checked, &page->flags); }
+static inline __attribute__((always_inline)) int PagePinned(struct page *page) { return test_bit(PG_pinned, &page->flags); } static inline __attribute__((always_inline)) void SetPagePinned(struct page *page) { set_bit(PG_pinned, &page->flags); } static inline __attribute__((always_inline)) void ClearPagePinned(struct page *page) { clear_bit(PG_pinned, &page->flags); } static inline __attribute__((always_inline)) int TestSetPagePinned(struct page *page) { return test_and_set_bit(PG_pinned, &page->flags); } static inline __attribute__((always_inline)) int TestClearPagePinned(struct page *page) { return test_and_clear_bit(PG_pinned, &page->flags); }
+static inline __attribute__((always_inline)) int PageSavePinned(struct page *page) { return test_bit(PG_savepinned, &page->flags); } static inline __attribute__((always_inline)) void SetPageSavePinned(struct page *page) { set_bit(PG_savepinned, &page->flags); } static inline __attribute__((always_inline)) void ClearPageSavePinned(struct page *page) { clear_bit(PG_savepinned, &page->flags); };
+static inline __attribute__((always_inline)) int PageReserved(struct page *page) { return test_bit(PG_reserved, &page->flags); } static inline __attribute__((always_inline)) void SetPageReserved(struct page *page) { set_bit(PG_reserved, &page->flags); } static inline __attribute__((always_inline)) void ClearPageReserved(struct page *page) { clear_bit(PG_reserved, &page->flags); } static inline __attribute__((always_inline)) void __ClearPageReserved(struct page *page) { __clear_bit(PG_reserved, &page->flags); }
+static inline __attribute__((always_inline)) int PageSwapBacked(struct page *page) { return test_bit(PG_swapbacked, &page->flags); } static inline __attribute__((always_inline)) void SetPageSwapBacked(struct page *page) { set_bit(PG_swapbacked, &page->flags); } static inline __attribute__((always_inline)) void ClearPageSwapBacked(struct page *page) { clear_bit(PG_swapbacked, &page->flags); } static inline __attribute__((always_inline)) void __ClearPageSwapBacked(struct page *page) { __clear_bit(PG_swapbacked, &page->flags); }
+
+static inline __attribute__((always_inline)) int PageSlobFree(struct page *page) { return test_bit(PG_slob_free, &page->flags); } static inline __attribute__((always_inline)) void __SetPageSlobFree(struct page *page) { __set_bit(PG_slob_free, &page->flags); } static inline __attribute__((always_inline)) void __ClearPageSlobFree(struct page *page) { __clear_bit(PG_slob_free, &page->flags); }
+
+static inline __attribute__((always_inline)) int PageSlubFrozen(struct page *page) { return test_bit(PG_slub_frozen, &page->flags); } static inline __attribute__((always_inline)) void __SetPageSlubFrozen(struct page *page) { __set_bit(PG_slub_frozen, &page->flags); } static inline __attribute__((always_inline)) void __ClearPageSlubFrozen(struct page *page) { __clear_bit(PG_slub_frozen, &page->flags); }
+
+
+
+
+
+
+static inline __attribute__((always_inline)) int PagePrivate(struct page *page) { return test_bit(PG_private, &page->flags); } static inline __attribute__((always_inline)) void SetPagePrivate(struct page *page) { set_bit(PG_private, &page->flags); } static inline __attribute__((always_inline)) void ClearPagePrivate(struct page *page) { clear_bit(PG_private, &page->flags); } static inline __attribute__((always_inline)) void __SetPagePrivate(struct page *page) { __set_bit(PG_private, &page->flags); }
+ static inline __attribute__((always_inline)) void __ClearPagePrivate(struct page *page) { __clear_bit(PG_private, &page->flags); }
+static inline __attribute__((always_inline)) int PagePrivate2(struct page *page) { return test_bit(PG_private_2, &page->flags); } static inline __attribute__((always_inline)) void SetPagePrivate2(struct page *page) { set_bit(PG_private_2, &page->flags); } static inline __attribute__((always_inline)) void ClearPagePrivate2(struct page *page) { clear_bit(PG_private_2, &page->flags); } static inline __attribute__((always_inline)) int TestSetPagePrivate2(struct page *page) { return test_and_set_bit(PG_private_2, &page->flags); } static inline __attribute__((always_inline)) int TestClearPagePrivate2(struct page *page) { return test_and_clear_bit(PG_private_2, &page->flags); }
+static inline __attribute__((always_inline)) int PageOwnerPriv1(struct page *page) { return test_bit(PG_owner_priv_1, &page->flags); } static inline __attribute__((always_inline)) void SetPageOwnerPriv1(struct page *page) { set_bit(PG_owner_priv_1, &page->flags); } static inline __attribute__((always_inline)) void ClearPageOwnerPriv1(struct page *page) { clear_bit(PG_owner_priv_1, &page->flags); } static inline __attribute__((always_inline)) int TestClearPageOwnerPriv1(struct page *page) { return test_and_clear_bit(PG_owner_priv_1, &page->flags); }
+
+
+
+
+
+static inline __attribute__((always_inline)) int PageWriteback(struct page *page) { return test_bit(PG_writeback, &page->flags); } static inline __attribute__((always_inline)) int TestSetPageWriteback(struct page *page) { return test_and_set_bit(PG_writeback, &page->flags); } static inline __attribute__((always_inline)) int TestClearPageWriteback(struct page *page) { return test_and_clear_bit(PG_writeback, &page->flags); }
+static inline __attribute__((always_inline)) int PageMappedToDisk(struct page *page) { return test_bit(PG_mappedtodisk, &page->flags); } static inline __attribute__((always_inline)) void SetPageMappedToDisk(struct page *page) { set_bit(PG_mappedtodisk, &page->flags); } static inline __attribute__((always_inline)) void ClearPageMappedToDisk(struct page *page) { clear_bit(PG_mappedtodisk, &page->flags); }
+
+
+static inline __attribute__((always_inline)) int PageReclaim(struct page *page) { return test_bit(PG_reclaim, &page->flags); } static inline __attribute__((always_inline)) void SetPageReclaim(struct page *page) { set_bit(PG_reclaim, &page->flags); } static inline __attribute__((always_inline)) void ClearPageReclaim(struct page *page) { clear_bit(PG_reclaim, &page->flags); } static inline __attribute__((always_inline)) int TestClearPageReclaim(struct page *page) { return test_and_clear_bit(PG_reclaim, &page->flags); }
+static inline __attribute__((always_inline)) int PageReadahead(struct page *page) { return test_bit(PG_reclaim, &page->flags); } static inline __attribute__((always_inline)) void SetPageReadahead(struct page *page) { set_bit(PG_reclaim, &page->flags); } static inline __attribute__((always_inline)) void ClearPageReadahead(struct page *page) { clear_bit(PG_reclaim, &page->flags); }
+# 245 "include/linux/page-flags.h"
+static inline __attribute__((always_inline)) int PageHighMem(struct page *page) { return 0; }
+
+
+
+static inline __attribute__((always_inline)) int PageSwapCache(struct page *page) { return test_bit(PG_swapcache, &page->flags); } static inline __attribute__((always_inline)) void SetPageSwapCache(struct page *page) { set_bit(PG_swapcache, &page->flags); } static inline __attribute__((always_inline)) void ClearPageSwapCache(struct page *page) { clear_bit(PG_swapcache, &page->flags); }
+
+
+
+
+
+static inline __attribute__((always_inline)) int PageUnevictable(struct page *page) { return test_bit(PG_unevictable, &page->flags); } static inline __attribute__((always_inline)) void SetPageUnevictable(struct page *page) { set_bit(PG_unevictable, &page->flags); } static inline __attribute__((always_inline)) void ClearPageUnevictable(struct page *page) { clear_bit(PG_unevictable, &page->flags); } static inline __attribute__((always_inline)) void __ClearPageUnevictable(struct page *page) { __clear_bit(PG_unevictable, &page->flags); }
+ static inline __attribute__((always_inline)) int TestClearPageUnevictable(struct page *page) { return test_and_clear_bit(PG_unevictable, &page->flags); }
+
+
+static inline __attribute__((always_inline)) int PageMlocked(struct page *page) { return test_bit(PG_mlocked, &page->flags); } static inline __attribute__((always_inline)) void SetPageMlocked(struct page *page) { set_bit(PG_mlocked, &page->flags); } static inline __attribute__((always_inline)) void ClearPageMlocked(struct page *page) { clear_bit(PG_mlocked, &page->flags); } static inline __attribute__((always_inline)) void __ClearPageMlocked(struct page *page) { __clear_bit(PG_mlocked, &page->flags); }
+ static inline __attribute__((always_inline)) int TestSetPageMlocked(struct page *page) { return test_and_set_bit(PG_mlocked, &page->flags); } static inline __attribute__((always_inline)) int TestClearPageMlocked(struct page *page) { return test_and_clear_bit(PG_mlocked, &page->flags); } static inline __attribute__((always_inline)) int __TestClearPageMlocked(struct page *page) { return __test_and_clear_bit(PG_mlocked, &page->flags); }
+# 269 "include/linux/page-flags.h"
+static inline __attribute__((always_inline)) int PageUncached(struct page *page) { return 0; }
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) int PageHWPoison(struct page *page) { return 0; }
+
+
+
+u64 stable_page_flags(struct page *page);
+
+static inline __attribute__((always_inline)) int PageUptodate(struct page *page)
+{
+ int ret = test_bit(PG_uptodate, &(page)->flags);
+# 295 "include/linux/page-flags.h"
+ if (ret)
+  __asm__ __volatile__("": : :"memory");
+
+ return ret;
+}
+
+static inline __attribute__((always_inline)) void __SetPageUptodate(struct page *page)
+{
+ __asm__ __volatile__("": : :"memory");
+ __set_bit(PG_uptodate, &(page)->flags);
+}
+
+static inline __attribute__((always_inline)) void SetPageUptodate(struct page *page)
+{
+# 321 "include/linux/page-flags.h"
+ __asm__ __volatile__("": : :"memory");
+ set_bit(PG_uptodate, &(page)->flags);
+
+}
+
+static inline __attribute__((always_inline)) void ClearPageUptodate(struct page *page) { clear_bit(PG_uptodate, &page->flags); }
+
+extern void cancel_dirty_page(struct page *page, unsigned int account_size);
+
+int test_clear_page_writeback(struct page *page);
+int test_set_page_writeback(struct page *page);
+
+static inline __attribute__((always_inline)) void set_page_writeback(struct page *page)
+{
+ test_set_page_writeback(page);
+}
+# 345 "include/linux/page-flags.h"
+static inline __attribute__((always_inline)) int PageHead(struct page *page) { return test_bit(PG_head, &page->flags); } static inline __attribute__((always_inline)) void __SetPageHead(struct page *page) { __set_bit(PG_head, &page->flags); } static inline __attribute__((always_inline)) void __ClearPageHead(struct page *page) { __clear_bit(PG_head, &page->flags); } static inline __attribute__((always_inline)) void ClearPageHead(struct page *page) { clear_bit(PG_head, &page->flags); }
+static inline __attribute__((always_inline)) int PageTail(struct page *page) { return test_bit(PG_tail, &page->flags); } static inline __attribute__((always_inline)) void __SetPageTail(struct page *page) { __set_bit(PG_tail, &page->flags); } static inline __attribute__((always_inline)) void __ClearPageTail(struct page *page) { __clear_bit(PG_tail, &page->flags); }
+
+static inline __attribute__((always_inline)) int PageCompound(struct page *page)
+{
+ return page->flags & ((1L << PG_head) | (1L << PG_tail));
+
+}
+# 429 "include/linux/page-flags.h"
+static inline __attribute__((always_inline)) int PageTransHuge(struct page *page)
+{
+ return 0;
+}
+
+static inline __attribute__((always_inline)) int PageTransCompound(struct page *page)
+{
+ return 0;
+}
+# 480 "include/linux/page-flags.h"
+static inline __attribute__((always_inline)) int page_has_private(struct page *page)
+{
+ return !!(page->flags & (1 << PG_private | 1 << PG_private_2));
+}
+# 253 "include/linux/mm.h" 2
+# 1 "include/linux/huge_mm.h" 1
+
+
+
+extern int do_huge_pmd_anonymous_page(struct mm_struct *mm,
+          struct vm_area_struct *vma,
+          unsigned long address, pmd_t *pmd,
+          unsigned int flags);
+extern int copy_huge_pmd(struct mm_struct *dst_mm, struct mm_struct *src_mm,
+    pmd_t *dst_pmd, pmd_t *src_pmd, unsigned long addr,
+    struct vm_area_struct *vma);
+extern int do_huge_pmd_wp_page(struct mm_struct *mm, struct vm_area_struct *vma,
+          unsigned long address, pmd_t *pmd,
+          pmd_t orig_pmd);
+extern pgtable_t get_pmd_huge_pte(struct mm_struct *mm);
+extern struct page *follow_trans_huge_pmd(struct mm_struct *mm,
+       unsigned long addr,
+       pmd_t *pmd,
+       unsigned int flags);
+extern int zap_huge_pmd(struct mmu_gather *tlb,
+   struct vm_area_struct *vma,
+   pmd_t *pmd);
+extern int mincore_huge_pmd(struct vm_area_struct *vma, pmd_t *pmd,
+   unsigned long addr, unsigned long end,
+   unsigned char *vec);
+extern int change_huge_pmd(struct vm_area_struct *vma, pmd_t *pmd,
+   unsigned long addr, pgprot_t newprot);
+
+enum transparent_hugepage_flag {
+ TRANSPARENT_HUGEPAGE_FLAG,
+ TRANSPARENT_HUGEPAGE_REQ_MADV_FLAG,
+ TRANSPARENT_HUGEPAGE_DEFRAG_FLAG,
+ TRANSPARENT_HUGEPAGE_DEFRAG_REQ_MADV_FLAG,
+ TRANSPARENT_HUGEPAGE_DEFRAG_KHUGEPAGED_FLAG,
+
+
+
+};
+
+enum page_check_address_pmd_flag {
+ PAGE_CHECK_ADDRESS_PMD_FLAG,
+ PAGE_CHECK_ADDRESS_PMD_NOTSPLITTING_FLAG,
+ PAGE_CHECK_ADDRESS_PMD_SPLITTING_FLAG,
+};
+extern pmd_t *page_check_address_pmd(struct page *page,
+         struct mm_struct *mm,
+         unsigned long address,
+         enum page_check_address_pmd_flag flag);
+# 157 "include/linux/huge_mm.h"
+static inline __attribute__((always_inline)) int split_huge_page(struct page *page)
+{
+ return 0;
+}
+
+
+
+
+
+static inline __attribute__((always_inline)) int hugepage_madvise(struct vm_area_struct *vma,
+       unsigned long *vm_flags, int advice)
+{
+ do { __asm__ __volatile__( "1:	twi 31,0,0\n" ".section __bug_table,\"a\"\n" "2:\t" ".long" " " "1b, %0\n" "\t.short %1, %2\n" ".org 2b+%3\n" ".previous\n" : : "i" ("include/linux/huge_mm.h"), "i" (169), "i" (0), "i" (sizeof(struct bug_entry))); __builtin_unreachable(); } while (0);
+ return 0;
+}
+static inline __attribute__((always_inline)) void vma_adjust_trans_huge(struct vm_area_struct *vma,
+      unsigned long start,
+      unsigned long end,
+      long adjust_next)
+{
+}
+# 254 "include/linux/mm.h" 2
+# 271 "include/linux/mm.h"
+static inline __attribute__((always_inline)) int put_page_testzero(struct page *page)
+{
+ do { (void)(atomic_read(&page->_count) == 0); } while (0);
+ return (atomic_dec_return((&page->_count)) == 0);
+}
+
+
+
+
+
+static inline __attribute__((always_inline)) int get_page_unless_zero(struct page *page)
+{
+ return atomic_add_unless((&page->_count), 1, 0);
+}
+
+extern int page_is_ram(unsigned long pfn);
+
+
+struct page *vmalloc_to_page(const void *addr);
+unsigned long vmalloc_to_pfn(const void *addr);
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) int is_vmalloc_addr(const void *x)
+{
+
+ unsigned long addr = (unsigned long)x;
+
+ return addr >= (((((((long)high_memory)+(((1 << 28))-1))&(~(((1 << 28))-1))) + (0x1000000)) & ~((0x1000000)-1))) && addr < ioremap_bot;
+
+
+
+}
+
+extern int is_vmalloc_or_module_addr(const void *x);
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) void compound_lock(struct page *page)
+{
+
+
+
+}
+
+static inline __attribute__((always_inline)) void compound_unlock(struct page *page)
+{
+
+
+
+}
+
+static inline __attribute__((always_inline)) unsigned long compound_lock_irqsave(struct page *page)
+{
+ unsigned long flags = flags;
+
+
+
+
+ return flags;
+}
+
+static inline __attribute__((always_inline)) void compound_unlock_irqrestore(struct page *page,
+           unsigned long flags)
+{
+
+
+
+
+}
+
+static inline __attribute__((always_inline)) struct page *compound_head(struct page *page)
+{
+ if (__builtin_expect(!!(PageTail(page)), 0))
+  return page->first_page;
+ return page;
+}
+
+static inline __attribute__((always_inline)) int page_count(struct page *page)
+{
+ return atomic_read(&compound_head(page)->_count);
+}
+
+static inline __attribute__((always_inline)) void get_page(struct page *page)
+{
+# 372 "include/linux/mm.h"
+ do { (void)(atomic_read(&page->_count) < !PageTail(page)); } while (0);
+ atomic_inc(&page->_count);
+
+
+
+
+ if (__builtin_expect(!!(PageTail(page)), 0)) {
+
+
+
+
+
+  do { (void)(atomic_read(&page->first_page->_count) <= 0); } while (0);
+  atomic_inc(&page->first_page->_count);
+ }
+}
+
+static inline __attribute__((always_inline)) struct page *virt_to_head_page(const void *x)
+{
+ struct page *page = (mem_map + ((((unsigned long)(x) + 0x00000000UL - 0x70000000UL) >> 12) - ((unsigned long)((0x00000000UL + 0x70000000UL - 0x70000000UL) >> 12))));
+ return compound_head(page);
+}
+
+
+
+
+
+static inline __attribute__((always_inline)) void init_page_count(struct page *page)
+{
+ atomic_set(&page->_count, 1);
+}
+# 415 "include/linux/mm.h"
+static inline __attribute__((always_inline)) int PageBuddy(struct page *page)
+{
+ return atomic_read(&page->_mapcount) == (-128);
+}
+
+static inline __attribute__((always_inline)) void __SetPageBuddy(struct page *page)
+{
+ do { (void)(atomic_read(&page->_mapcount) != -1); } while (0);
+ atomic_set(&page->_mapcount, (-128));
+}
+
+static inline __attribute__((always_inline)) void __ClearPageBuddy(struct page *page)
+{
+ do { (void)(!PageBuddy(page)); } while (0);
+ atomic_set(&page->_mapcount, -1);
+}
+
+void put_page(struct page *page);
+void put_pages_list(struct list_head *pages);
+
+void split_page(struct page *page, unsigned int order);
+int split_free_page(struct page *page);
+
+
+
+
+
+
+typedef void compound_page_dtor(struct page *);
+
+static inline __attribute__((always_inline)) void set_compound_page_dtor(struct page *page,
+      compound_page_dtor *dtor)
+{
+ page[1].lru.next = (void *)dtor;
+}
+
+static inline __attribute__((always_inline)) compound_page_dtor *get_compound_page_dtor(struct page *page)
+{
+ return (compound_page_dtor *)page[1].lru.next;
+}
+
+static inline __attribute__((always_inline)) int compound_order(struct page *page)
+{
+ if (!PageHead(page))
+  return 0;
+ return (unsigned long)page[1].lru.prev;
+}
+
+static inline __attribute__((always_inline)) int compound_trans_order(struct page *page)
+{
+ int order;
+ unsigned long flags;
+
+ if (!PageHead(page))
+  return 0;
+
+ flags = compound_lock_irqsave(page);
+ order = compound_order(page);
+ compound_unlock_irqrestore(page, flags);
+ return order;
+}
+
+static inline __attribute__((always_inline)) void set_compound_order(struct page *page, unsigned long order)
+{
+ page[1].lru.prev = (void *)order;
+}
+# 489 "include/linux/mm.h"
+static inline __attribute__((always_inline)) pte_t maybe_mkwrite(pte_t pte, struct vm_area_struct *vma)
+{
+ if (__builtin_expect(!!(vma->vm_flags & 0x00000002), 1))
+  pte = pte_mkwrite(pte);
+ return pte;
+}
+# 642 "include/linux/mm.h"
+static inline __attribute__((always_inline)) enum zone_type page_zonenum(struct page *page)
+{
+ return (page->flags >> (((((sizeof(unsigned long)*8) - 0) - 0) - 2) * (2 != 0))) & ((1UL << 2) - 1);
+}
+# 655 "include/linux/mm.h"
+static inline __attribute__((always_inline)) int page_zone_id(struct page *page)
+{
+ return (page->flags >> ((((((sizeof(unsigned long)*8) - 0) - 0) < ((((sizeof(unsigned long)*8) - 0) - 0) - 2))? (((sizeof(unsigned long)*8) - 0) - 0) : ((((sizeof(unsigned long)*8) - 0) - 0) - 2)) * ((0 + 2) != 0))) & ((1UL << (0 + 2)) - 1);
+}
+
+static inline __attribute__((always_inline)) int zone_to_nid(struct zone *zone)
+{
+
+
+
+ return 0;
+
+}
+
+
+
+
+static inline __attribute__((always_inline)) int page_to_nid(struct page *page)
+{
+ return (page->flags >> ((((sizeof(unsigned long)*8) - 0) - 0) * (0 != 0))) & ((1UL << 0) - 1);
+}
+
+
+static inline __attribute__((always_inline)) struct zone *page_zone(struct page *page)
+{
+ return &(&contig_page_data)->node_zones[page_zonenum(page)];
+}
+# 690 "include/linux/mm.h"
+static inline __attribute__((always_inline)) void set_page_zone(struct page *page, enum zone_type zone)
+{
+ page->flags &= ~(((1UL << 2) - 1) << (((((sizeof(unsigned long)*8) - 0) - 0) - 2) * (2 != 0)));
+ page->flags |= (zone & ((1UL << 2) - 1)) << (((((sizeof(unsigned long)*8) - 0) - 0) - 2) * (2 != 0));
+}
+
+static inline __attribute__((always_inline)) void set_page_node(struct page *page, unsigned long node)
+{
+ page->flags &= ~(((1UL << 0) - 1) << ((((sizeof(unsigned long)*8) - 0) - 0) * (0 != 0)));
+ page->flags |= (node & ((1UL << 0) - 1)) << ((((sizeof(unsigned long)*8) - 0) - 0) * (0 != 0));
+}
+
+static inline __attribute__((always_inline)) void set_page_section(struct page *page, unsigned long section)
+{
+ page->flags &= ~(((1UL << 0) - 1) << (((sizeof(unsigned long)*8) - 0) * (0 != 0)));
+ page->flags |= (section & ((1UL << 0) - 1)) << (((sizeof(unsigned long)*8) - 0) * (0 != 0));
+}
+
+static inline __attribute__((always_inline)) void set_page_links(struct page *page, enum zone_type zone,
+ unsigned long node, unsigned long pfn)
+{
+ set_page_zone(page, zone);
+ set_page_node(page, node);
+ set_page_section(page, ((pfn) >> 0));
+}
+
+
+
+
+# 1 "include/linux/vmstat.h" 1
+
+
+
+
+
+# 1 "include/linux/mm.h" 1
+# 7 "include/linux/vmstat.h" 2
+# 31 "include/linux/vmstat.h"
+enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT,
+  PGALLOC_DMA, PGALLOC_NORMAL , PGALLOC_MOVABLE,
+  PGFREE, PGACTIVATE, PGDEACTIVATE,
+  PGFAULT, PGMAJFAULT,
+  PGREFILL_DMA, PGREFILL_NORMAL , PGREFILL_MOVABLE,
+  PGSTEAL_DMA, PGSTEAL_NORMAL , PGSTEAL_MOVABLE,
+  PGSCAN_KSWAPD_DMA, PGSCAN_KSWAPD_NORMAL , PGSCAN_KSWAPD_MOVABLE,
+  PGSCAN_DIRECT_DMA, PGSCAN_DIRECT_NORMAL , PGSCAN_DIRECT_MOVABLE,
+
+
+
+  PGINODESTEAL, SLABS_SCANNED, KSWAPD_STEAL, KSWAPD_INODESTEAL,
+  KSWAPD_LOW_WMARK_HIT_QUICKLY, KSWAPD_HIGH_WMARK_HIT_QUICKLY,
+  KSWAPD_SKIP_CONGESTION_WAIT,
+  PAGEOUTRUN, ALLOCSTALL, PGROTATED,
+
+
+
+
+
+
+
+  UNEVICTABLE_PGCULLED,
+  UNEVICTABLE_PGSCANNED,
+  UNEVICTABLE_PGRESCUED,
+  UNEVICTABLE_PGMLOCKED,
+  UNEVICTABLE_PGMUNLOCKED,
+  UNEVICTABLE_PGCLEARED,
+  UNEVICTABLE_PGSTRANDED,
+  UNEVICTABLE_MLOCKFREED,
+
+
+
+
+
+
+
+  NR_VM_EVENT_ITEMS
+};
+
+extern int sysctl_stat_interval;
+# 84 "include/linux/vmstat.h"
+struct vm_event_state {
+ unsigned long event[NR_VM_EVENT_ITEMS];
+};
+
+extern __attribute__((section(".data" ""))) __typeof__(struct vm_event_state) vm_event_states;
+
+static inline __attribute__((always_inline)) void __count_vm_event(enum vm_event_item item)
+{
+ do { do { const void *__vpp_verify = (typeof(&(((vm_event_states.event[item])))))((void *)0); (void)__vpp_verify; } while (0); switch(sizeof(((vm_event_states.event[item])))) { case 1: do { *({ (void)(0); ({ do { const void *__vpp_verify = (typeof(((&((((vm_event_states.event[item]))))))))((void *)0); (void)__vpp_verify; } while (0); (typeof(*((&((((vm_event_states.event[item]))))))) *)((&((((vm_event_states.event[item])))))); }); }) += ((1)); } while (0);break; case 2: do { *({ (void)(0); ({ do { const void *__vpp_verify = (typeof(((&((((vm_event_states.event[item]))))))))((void *)0); (void)__vpp_verify; } while (0); (typeof(*((&((((vm_event_states.event[item]))))))) *)((&((((vm_event_states.event[item])))))); }); }) += ((1)); } while (0);break; case 4: do { *({ (void)(0); ({ do { const void *__vpp_verify = (typeof(((&((((vm_event_states.event[item]))))))))((void *)0); (void)__vpp_verify; } while (0); (typeof(*((&((((vm_event_states.event[item]))))))) *)((&((((vm_event_states.event[item])))))); }); }) += ((1)); } while (0);break; case 8: do { *({ (void)(0); ({ do { const void *__vpp_verify = (typeof(((&((((vm_event_states.event[item]))))))))((void *)0); (void)__vpp_verify; } while (0); (typeof(*((&((((vm_event_states.event[item]))))))) *)((&((((vm_event_states.event[item])))))); }); }) += ((1)); } while (0);break; default: __bad_size_call_parameter();break; } } while (0);
+}
+
+static inline __attribute__((always_inline)) void count_vm_event(enum vm_event_item item)
+{
+ do { do { const void *__vpp_verify = (typeof(&(((vm_event_states.event[item])))))((void *)0); (void)__vpp_verify; } while (0); switch(sizeof(((vm_event_states.event[item])))) { case 1: do { do { } while (0); *({ (void)(0); ({ do { const void *__vpp_verify = (typeof(((&((((vm_event_states.event[item]))))))))((void *)0); (void)__vpp_verify; } while (0); (typeof(*((&((((vm_event_states.event[item]))))))) *)((&((((vm_event_states.event[item])))))); }); }) += ((1)); do { } while (0); } while (0);break; case 2: do { do { } while (0); *({ (void)(0); ({ do { const void *__vpp_verify = (typeof(((&((((vm_event_states.event[item]))))))))((void *)0); (void)__vpp_verify; } while (0); (typeof(*((&((((vm_event_states.event[item]))))))) *)((&((((vm_event_states.event[item])))))); }); }) += ((1)); do { } while (0); } while (0);break; case 4: do { do { } while (0); *({ (void)(0); ({ do { const void *__vpp_verify = (typeof(((&((((vm_event_states.event[item]))))))))((void *)0); (void)__vpp_verify; } while (0); (typeof(*((&((((vm_event_states.event[item]))))))) *)((&((((vm_event_states.event[item])))))); }); }) += ((1)); do { } while (0); } while (0);break; case 8: do { do { } while (0); *({ (void)(0); ({ do { const void *__vpp_verify = (typeof(((&((((vm_event_states.event[item]))))))))((void *)0); (void)__vpp_verify; } while (0); (typeof(*((&((((vm_event_states.event[item]))))))) *)((&((((vm_event_states.event[item])))))); }); }) += ((1)); do { } while (0); } while (0);break; default: __bad_size_call_parameter();break; } } while (0);
+}
+
+static inline __attribute__((always_inline)) void __count_vm_events(enum vm_event_item item, long delta)
+{
+ do { do { const void *__vpp_verify = (typeof(&((vm_event_states.event[item]))))((void *)0); (void)__vpp_verify; } while (0); switch(sizeof((vm_event_states.event[item]))) { case 1: do { *({ (void)(0); ({ do { const void *__vpp_verify = (typeof(((&(((vm_event_states.event[item])))))))((void *)0); (void)__vpp_verify; } while (0); (typeof(*((&(((vm_event_states.event[item])))))) *)((&(((vm_event_states.event[item]))))); }); }) += ((delta)); } while (0);break; case 2: do { *({ (void)(0); ({ do { const void *__vpp_verify = (typeof(((&(((vm_event_states.event[item])))))))((void *)0); (void)__vpp_verify; } while (0); (typeof(*((&(((vm_event_states.event[item])))))) *)((&(((vm_event_states.event[item]))))); }); }) += ((delta)); } while (0);break; case 4: do { *({ (void)(0); ({ do { const void *__vpp_verify = (typeof(((&(((vm_event_states.event[item])))))))((void *)0); (void)__vpp_verify; } while (0); (typeof(*((&(((vm_event_states.event[item])))))) *)((&(((vm_event_states.event[item]))))); }); }) += ((delta)); } while (0);break; case 8: do { *({ (void)(0); ({ do { const void *__vpp_verify = (typeof(((&(((vm_event_states.event[item])))))))((void *)0); (void)__vpp_verify; } while (0); (typeof(*((&(((vm_event_states.event[item])))))) *)((&(((vm_event_states.event[item]))))); }); }) += ((delta)); } while (0);break; default: __bad_size_call_parameter();break; } } while (0);
+}
+
+static inline __attribute__((always_inline)) void count_vm_events(enum vm_event_item item, long delta)
+{
+ do { do { const void *__vpp_verify = (typeof(&((vm_event_states.event[item]))))((void *)0); (void)__vpp_verify; } while (0); switch(sizeof((vm_event_states.event[item]))) { case 1: do { do { } while (0); *({ (void)(0); ({ do { const void *__vpp_verify = (typeof(((&(((vm_event_states.event[item])))))))((void *)0); (void)__vpp_verify; } while (0); (typeof(*((&(((vm_event_states.event[item])))))) *)((&(((vm_event_states.event[item]))))); }); }) += ((delta)); do { } while (0); } while (0);break; case 2: do { do { } while (0); *({ (void)(0); ({ do { const void *__vpp_verify = (typeof(((&(((vm_event_states.event[item])))))))((void *)0); (void)__vpp_verify; } while (0); (typeof(*((&(((vm_event_states.event[item])))))) *)((&(((vm_event_states.event[item]))))); }); }) += ((delta)); do { } while (0); } while (0);break; case 4: do { do { } while (0); *({ (void)(0); ({ do { const void *__vpp_verify = (typeof(((&(((vm_event_states.event[item])))))))((void *)0); (void)__vpp_verify; } while (0); (typeof(*((&(((vm_event_states.event[item])))))) *)((&(((vm_event_states.event[item]))))); }); }) += ((delta)); do { } while (0); } while (0);break; case 8: do { do { } while (0); *({ (void)(0); ({ do { const void *__vpp_verify = (typeof(((&(((vm_event_states.event[item])))))))((void *)0); (void)__vpp_verify; } while (0); (typeof(*((&(((vm_event_states.event[item])))))) *)((&(((vm_event_states.event[item]))))); }); }) += ((delta)); do { } while (0); } while (0);break; default: __bad_size_call_parameter();break; } } while (0);
+}
+
+extern void all_vm_events(unsigned long *);
+
+extern void vm_events_fold_cpu(int cpu);
+# 150 "include/linux/vmstat.h"
+extern atomic_long_t vm_stat[NR_VM_ZONE_STAT_ITEMS];
+
+static inline __attribute__((always_inline)) void zone_page_state_add(long x, struct zone *zone,
+     enum zone_stat_item item)
+{
+ atomic_long_add(x, &zone->vm_stat[item]);
+ atomic_long_add(x, &vm_stat[item]);
+}
+
+static inline __attribute__((always_inline)) unsigned long global_page_state(enum zone_stat_item item)
+{
+ long x = atomic_long_read(&vm_stat[item]);
+
+
+
+
+ return x;
+}
+
+static inline __attribute__((always_inline)) unsigned long zone_page_state(struct zone *zone,
+     enum zone_stat_item item)
+{
+ long x = atomic_long_read(&zone->vm_stat[item]);
+
+
+
+
+ return x;
+}
+
+
+
+
+
+
+
+static inline __attribute__((always_inline)) unsigned long zone_page_state_snapshot(struct zone *zone,
+     enum zone_stat_item item)
+{
+ long x = atomic_long_read(&zone->vm_stat[item]);
+# 199 "include/linux/vmstat.h"
+ return x;
+}
+
+extern unsigned long global_reclaimable_pages(void);
+extern unsigned long zone_reclaimable_pages(struct zone *zone);
+# 242 "include/linux/vmstat.h"
+static inline __attribute__((always_inline)) void zap_zone_vm_stats(struct zone *zone)
+{
+ memset(zone->vm_stat, 0, sizeof(zone->vm_stat));
+}
+
+extern void inc_zone_state(struct zone *, enum zone_stat_item);
+# 275 "include/linux/vmstat.h"
+static inline __attribute__((always_inline)) void __mod_zone_page_state(struct zone *zone,
+   enum zone_stat_item item, int delta)
+{
+ zone_page_state_add(delta, zone, item);
+}
+
+static inline __attribute__((always_inline)) void __inc_zone_state(struct zone *zone, enum zone_stat_item item)
+{
+ atomic_long_inc(&zone->vm_stat[item]);
+ atomic_long_inc(&vm_stat[item]);
+}
+
+static inline __attribute__((always_inline)) void __inc_zone_page_state(struct page *page,
+   enum zone_stat_item item)
+{
+ __inc_zone_state(page_zone(page), item);
+}
+
+static inline __attribute__((always_inline)) void __dec_zone_state(struct zone *zone, enum zone_stat_item item)
+{
+ atomic_long_dec(&zone->vm_stat[item]);
+ atomic_long_dec(&vm_stat[item]);
+}
+
+static inline __attribute__((always_inline)) void __dec_zone_page_state(struct page *page,
+   enum zone_stat_item item)
+{
+ __dec_zone_state(page_zone(page), item);
+}
+# 315 "include/linux/vmstat.h"
+static inline __attribute__((always_inline)) void refresh_cpu_vm_stats(int cpu) { }
+# 720 "include/linux/mm.h" 2
+
+static inline __attribute__((always_inline)) __attribute__((always_inline)) void *lowmem_page_address(struct page *page)
+{
+ return ((void *)(unsigned long)((phys_addr_t)(((phys_addr_t)(((unsigned long)((page) - mem_map) + ((unsigned long)((0x00000000UL + 0x70000000UL - 0x70000000UL) >> 12)))) << 12)) - 0x00000000UL + 0x70000000UL));
+}
+# 771 "include/linux/mm.h"
+extern struct address_space swapper_space;
+static inline __attribute__((always_inline)) struct address_space *page_mapping(struct page *page)
+{
+ struct address_space *mapping = page->mapping;
+
+ do { (void)(PageSlab(page)); } while (0);
+ if (__builtin_expect(!!(PageSwapCache(page)), 0))
+  mapping = &swapper_space;
+ else if ((unsigned long)mapping & 1)
+  mapping = ((void *)0);
+ return mapping;
+}
+
+
+static inline __attribute__((always_inline)) void *page_rmapping(struct page *page)
+{
+ return (void *)((unsigned long)page->mapping & ~(1 | 2));
+}
+
+static inline __attribute__((always_inline)) int PageAnon(struct page *page)
+{
+ return ((unsigned long)page->mapping & 1) != 0;
+}
+
+
+
+
+
+static inline __attribute__((always_inline)) unsigned long page_index(struct page *page)
+{
+ if (__builtin_expect(!!(PageSwapCache(page)), 0))
+  return ((page)->private);
+ return page->index;
+}
+
+
+
+
+
+
+static inline __attribute__((always_inline)) void reset_page_mapcount(struct page *page)
+{
+ atomic_set(&(page)->_mapcount, -1);
+}
+
+static inline __attribute__((always_inline)) int page_mapcount(struct page *page)
+{
+ return atomic_read(&(page)->_mapcount) + 1;
+}
+
+
+
+
+static inline __attribute__((always_inline)) int page_mapped(struct page *page)
+{
+ return atomic_read(&(page)->_mapcount) >= 0;
+}
+# 860 "include/linux/mm.h"
+extern void pagefault_out_of_memory(void);
+# 870 "include/linux/mm.h"
+extern void show_free_areas(void);
+extern void __show_free_areas(unsigned int flags);
+
+int shmem_lock(struct file *file, int lock, struct user_struct *user);
+struct file *shmem_file_setup(const char *name, loff_t size, unsigned long flags);
+int shmem_zero_setup(struct vm_area_struct *);
+# 885 "include/linux/mm.h"
+extern int can_do_mlock(void);
+extern int user_shm_lock(size_t, struct user_struct *);
+extern void user_shm_unlock(size_t, struct user_struct *);
+
+
+
+
+struct zap_details {
+ struct vm_area_struct *nonlinear_vma;
+ struct address_space *check_mapping;
+ unsigned long first_index;
+ unsigned long last_index;
+ spinlock_t *i_mmap_lock;
+ unsigned long truncate_count;
+};
+
+struct page *vm_normal_page(struct vm_area_struct *vma, unsigned long addr,
+  pte_t pte);
+
+int zap_vma_ptes(struct vm_area_struct *vma, unsigned long address,
+  unsigned long size);
+unsigned long zap_page_range(struct vm_area_struct *vma, unsigned long address,
+  unsigned long size, struct zap_details *);
+unsigned long unmap_vmas(struct mmu_gather **tlb,
+  struct vm_area_struct *start_vma, unsigned long start_addr,
+  unsigned long end_addr, unsigned long *nr_accounted,
+  struct zap_details *);
+# 927 "include/linux/mm.h"
+struct mm_walk {
+ int (*pgd_entry)(pgd_t *, unsigned long, unsigned long, struct mm_walk *);
+ int (*pud_entry)(pud_t *, unsigned long, unsigned long, struct mm_walk *);
+ int (*pmd_entry)(pmd_t *, unsigned long, unsigned long, struct mm_walk *);
+ int (*pte_entry)(pte_t *, unsigned long, unsigned long, struct mm_walk *);
+ int (*pte_hole)(unsigned long, unsigned long, struct mm_walk *);
+ int (*hugetlb_entry)(pte_t *, unsigned long,
+        unsigned long, unsigned long, struct mm_walk *);
+ struct mm_struct *mm;
+ void *private;
+};
+
+int walk_page_range(unsigned long addr, unsigned long end,
+  struct mm_walk *walk);
+void free_pgd_range(struct mmu_gather *tlb, unsigned long addr,
+  unsigned long end, unsigned long floor, unsigned long ceiling);
+int copy_page_range(struct mm_struct *dst, struct mm_struct *src,
+   struct vm_area_struct *vma);
+void unmap_mapping_range(struct address_space *mapping,
+  loff_t const holebegin, loff_t const holelen, int even_cows);
+int follow_pfn(struct vm_area_struct *vma, unsigned long address,
+ unsigned long *pfn);
+int follow_phys(struct vm_area_struct *vma, unsigned long address,
+  unsigned int flags, unsigned long *prot, resource_size_t *phys);
+int generic_access_phys(struct vm_area_struct *vma, unsigned long addr,
+   void *buf, int len, int write);
+
+static inline __attribute__((always_inline)) void unmap_shared_mapping_range(struct address_space *mapping,
+  loff_t const holebegin, loff_t const holelen)
+{
+ unmap_mapping_range(mapping, holebegin, holelen, 0);
+}
+
+extern void truncate_pagecache(struct inode *inode, loff_t old, loff_t new);
+extern void truncate_setsize(struct inode *inode, loff_t newsize);
+extern int vmtruncate(struct inode *inode, loff_t offset);
+extern int vmtruncate_range(struct inode *inode, loff_t offset, loff_t end);
+
+int truncate_inode_page(struct address_space *mapping, struct page *page);
+int generic_error_remove_page(struct address_space *mapping, struct page *page);
+
+int invalidate_inode_page(struct page *page);
+
+
+extern int handle_mm_fault(struct mm_struct *mm, struct vm_area_struct *vma,
+   unsigned long address, unsigned int flags);
+# 984 "include/linux/mm.h"
+extern int make_pages_present(unsigned long addr, unsigned long end);
+extern int access_process_vm(struct task_struct *tsk, unsigned long addr, void *buf, int len, int write);
+extern int access_remote_vm(struct mm_struct *mm, unsigned long addr,
+  void *buf, int len, int write);
+
+int __get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
+       unsigned long start, int len, unsigned int foll_flags,
+       struct page **pages, struct vm_area_struct **vmas,
+       int *nonblocking);
+int get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
+   unsigned long start, int nr_pages, int write, int force,
+   struct page **pages, struct vm_area_struct **vmas);
+int get_user_pages_fast(unsigned long start, int nr_pages, int write,
+   struct page **pages);
+struct page *get_dump_page(unsigned long addr);
+
+extern int try_to_release_page(struct page * page, gfp_t gfp_mask);
+extern void do_invalidatepage(struct page *page, unsigned long offset);
+
+int __set_page_dirty_nobuffers(struct page *page);
+int __set_page_dirty_no_writeback(struct page *page);
+int redirty_page_for_writepage(struct writeback_control *wbc,
+    struct page *page);
+void account_page_dirtied(struct page *page, struct address_space *mapping);
+void account_page_writeback(struct page *page);
+int set_page_dirty(struct page *page);
+int set_page_dirty_lock(struct page *page);
+int clear_page_dirty_for_io(struct page *page);
+
+
+static inline __attribute__((always_inline)) int vma_growsdown(struct vm_area_struct *vma, unsigned long addr)
+{
+ return vma && (vma->vm_end == addr) && (vma->vm_flags & 0x00000100);
+}
+
+static inline __attribute__((always_inline)) int stack_guard_page_start(struct vm_area_struct *vma,
+          unsigned long addr)
+{
+ return (vma->vm_flags & 0x00000100) &&
+  (vma->vm_start == addr) &&
+  !vma_growsdown(vma->vm_prev, addr);
+}
+
+
+static inline __attribute__((always_inline)) int vma_growsup(struct vm_area_struct *vma, unsigned long addr)
+{
+ return vma && (vma->vm_start == addr) && (vma->vm_flags & 0x00000000);
+}
+
+static inline __attribute__((always_inline)) int stack_guard_page_end(struct vm_area_struct *vma,
+        unsigned long addr)
+{
+ return (vma->vm_flags & 0x00000000) &&
+  (vma->vm_end == addr) &&
+  !vma_growsup(vma->vm_next, addr);
+}
+
+extern unsigned long move_page_tables(struct vm_area_struct *vma,
+  unsigned long old_addr, struct vm_area_struct *new_vma,
+  unsigned long new_addr, unsigned long len);
+extern unsigned long do_mremap(unsigned long addr,
+          unsigned long old_len, unsigned long new_len,
+          unsigned long flags, unsigned long new_addr);
+extern int mprotect_fixup(struct vm_area_struct *vma,
+     struct vm_area_struct **pprev, unsigned long start,
+     unsigned long end, unsigned long newflags);
+
+
+
+
+int __get_user_pages_fast(unsigned long start, int nr_pages, int write,
+     struct page **pages);
+# 1091 "include/linux/mm.h"
+static inline __attribute__((always_inline)) void set_mm_counter(struct mm_struct *mm, int member, long value)
+{
+ mm->rss_stat.count[member] = value;
+}
+
+static inline __attribute__((always_inline)) unsigned long get_mm_counter(struct mm_struct *mm, int member)
+{
+ return mm->rss_stat.count[member];
+}
+
+static inline __attribute__((always_inline)) void add_mm_counter(struct mm_struct *mm, int member, long value)
+{
+ mm->rss_stat.count[member] += value;
+}
+
+static inline __attribute__((always_inline)) void inc_mm_counter(struct mm_struct *mm, int member)
+{
+ mm->rss_stat.count[member]++;
+}
+
+static inline __attribute__((always_inline)) void dec_mm_counter(struct mm_struct *mm, int member)
+{
+ mm->rss_stat.count[member]--;
+}
+
+
+
+static inline __attribute__((always_inline)) unsigned long get_mm_rss(struct mm_struct *mm)
+{
+ return get_mm_counter(mm, MM_FILEPAGES) +
+  get_mm_counter(mm, MM_ANONPAGES);
+}
+
+static inline __attribute__((always_inline)) unsigned long get_mm_hiwater_rss(struct mm_struct *mm)
+{
+ return ({ typeof(mm->hiwater_rss) _max1 = (mm->hiwater_rss); typeof(get_mm_rss(mm)) _max2 = (get_mm_rss(mm)); (void) (&_max1 == &_max2); _max1 > _max2 ? _max1 : _max2; });
+}
+
+static inline __attribute__((always_inline)) unsigned long get_mm_hiwater_vm(struct mm_struct *mm)
+{
+ return ({ typeof(mm->hiwater_vm) _max1 = (mm->hiwater_vm); typeof(mm->total_vm) _max2 = (mm->total_vm); (void) (&_max1 == &_max2); _max1 > _max2 ? _max1 : _max2; });
+}
+
+static inline __attribute__((always_inline)) void update_hiwater_rss(struct mm_struct *mm)
+{
+ unsigned long _rss = get_mm_rss(mm);
+
+ if ((mm)->hiwater_rss < _rss)
+  (mm)->hiwater_rss = _rss;
+}
+
+static inline __attribute__((always_inline)) void update_hiwater_vm(struct mm_struct *mm)
+{
+ if (mm->hiwater_vm < mm->total_vm)
+  mm->hiwater_vm = mm->total_vm;
+}
+
+static inline __attribute__((always_inline)) void setmax_mm_hiwater_rss(unsigned long *maxrss,
+      struct mm_struct *mm)
+{
+ unsigned long hiwater_rss = get_mm_hiwater_rss(mm);
+
+ if (*maxrss < hiwater_rss)
+  *maxrss = hiwater_rss;
+}
+
+
+
+
+static inline __attribute__((always_inline)) void sync_mm_rss(struct task_struct *task, struct mm_struct *mm)
+{
+}
+# 1180 "include/linux/mm.h"
+struct shrinker {
+ int (*shrink)(struct shrinker *, int nr_to_scan, gfp_t gfp_mask);
+ int seeks;
+
+
+ struct list_head list;
+ long nr;
+};
+
+extern void register_shrinker(struct shrinker *);
+extern void unregister_shrinker(struct shrinker *);
+
+int vma_wants_writenotify(struct vm_area_struct *vma);
+
+extern pte_t *__get_locked_pte(struct mm_struct *mm, unsigned long addr,
+          spinlock_t **ptl);
+static inline __attribute__((always_inline)) pte_t *get_locked_pte(struct mm_struct *mm, unsigned long addr,
+        spinlock_t **ptl)
+{
+ pte_t *ptep;
+ (ptep = __get_locked_pte(mm, addr, ptl));
+ return ptep;
+}
+
+
+static inline __attribute__((always_inline)) int __pud_alloc(struct mm_struct *mm, pgd_t *pgd,
+      unsigned long address)
+{
+ return 0;
+}
+
+
+
+
+
+static inline __attribute__((always_inline)) int __pmd_alloc(struct mm_struct *mm, pud_t *pud,
+      unsigned long address)
+{
+ return 0;
+}
+
+
+
+
+int __pte_alloc(struct mm_struct *mm, struct vm_area_struct *vma,
+  pmd_t *pmd, unsigned long address);
+int __pte_alloc_kernel(pmd_t *pmd, unsigned long address);
+
+
+
+
+
+
+static inline __attribute__((always_inline)) pud_t *pud_alloc(struct mm_struct *mm, pgd_t *pgd, unsigned long address)
+{
+ return (__builtin_expect(!!(pgd_none(*pgd)), 0) && __pud_alloc(mm, pgd, address))?
+  ((void *)0): pud_offset(pgd, address);
+}
+
+static inline __attribute__((always_inline)) pmd_t *pmd_alloc(struct mm_struct *mm, pud_t *pud, unsigned long address)
+{
+ return (__builtin_expect(!!(pud_none(*pud)), 0) && __pmd_alloc(mm, pud, address))?
+  ((void *)0): pmd_offset(pud, address);
+}
+# 1268 "include/linux/mm.h"
+static inline __attribute__((always_inline)) void pgtable_page_ctor(struct page *page)
+{
+ do {} while (0);
+ __inc_zone_page_state(page, NR_PAGETABLE);
+}
+
+static inline __attribute__((always_inline)) void pgtable_page_dtor(struct page *page)
+{
+ do {} while (0);
+ __dec_zone_page_state(page, NR_PAGETABLE);
+}
+# 1308 "include/linux/mm.h"
+extern void free_area_init(unsigned long * zones_size);
+extern void free_area_init_node(int nid, unsigned long * zones_size,
+  unsigned long zone_start_pfn, unsigned long *zholes_size);
+# 1339 "include/linux/mm.h"
+extern void free_area_init_nodes(unsigned long *max_zone_pfn);
+extern void add_active_range(unsigned int nid, unsigned long start_pfn,
+     unsigned long end_pfn);
+extern void remove_active_range(unsigned int nid, unsigned long start_pfn,
+     unsigned long end_pfn);
+extern void remove_all_active_ranges(void);
+void sort_node_map(void);
+unsigned long __absent_pages_in_range(int nid, unsigned long start_pfn,
+      unsigned long end_pfn);
+extern unsigned long absent_pages_in_range(unsigned long start_pfn,
+      unsigned long end_pfn);
+extern void get_pfn_range_for_nid(unsigned int nid,
+   unsigned long *start_pfn, unsigned long *end_pfn);
+extern unsigned long find_min_pfn_with_active_regions(void);
+extern void free_bootmem_with_active_regions(int nid,
+      unsigned long max_low_pfn);
+int add_from_early_node_map(struct range *range, int az,
+       int nr_range, int nid);
+u64 __attribute__ ((__section__(".init.text"))) __attribute__((__cold__)) __attribute__((no_instrument_function)) find_memory_core_early(int nid, u64 size, u64 align,
+     u64 goal, u64 limit);
+typedef int (*work_fn_t)(unsigned long, unsigned long, void *);
+extern void work_with_active_regions(int nid, work_fn_t work_fn, void *data);
+extern void sparse_memory_present_with_active_regions(int nid);
+# 1372 "include/linux/mm.h"
+extern int __attribute__ ((__section__(".meminit.text"))) __attribute__((__cold__)) early_pfn_to_nid(unsigned long pfn);
+
+
+
+
+
+
+extern void set_dma_reserve(unsigned long new_dma_reserve);
+extern void memmap_init_zone(unsigned long, int, unsigned long,
+    unsigned long, enum memmap_context);
+extern void setup_per_zone_wmarks(void);
+extern void calculate_zone_inactive_ratio(struct zone *zone);
+extern void mem_init(void);
+extern void __attribute__ ((__section__(".init.text"))) __attribute__((__cold__)) __attribute__((no_instrument_function)) mmap_init(void);
+extern void show_mem(unsigned int flags);
+extern void si_meminfo(struct sysinfo * val);
+extern void si_meminfo_node(struct sysinfo *val, int nid);
+extern int after_bootmem;
+
+extern void setup_per_cpu_pageset(void);
+
+extern void zone_pcp_update(struct zone *zone);
+
+
+extern atomic_long_t mmap_pages_allocated;
+extern int nommu_shrink_inode_mappings(struct inode *, size_t, size_t);
+
+
+void vma_prio_tree_add(struct vm_area_struct *, struct vm_area_struct *old);
+void vma_prio_tree_insert(struct vm_area_struct *, struct prio_tree_root *);
+void vma_prio_tree_remove(struct vm_area_struct *, struct prio_tree_root *);
+struct vm_area_struct *vma_prio_tree_next(struct vm_area_struct *vma,
+ struct prio_tree_iter *iter);
+
+
+
+
+
+static inline __attribute__((always_inline)) void vma_nonlinear_insert(struct vm_area_struct *vma,
+     struct list_head *list)
+{
+ vma->shared.vm_set.parent = ((void *)0);
+ list_add_tail(&vma->shared.vm_set.list, list);
+}
+
+
+extern int __vm_enough_memory(struct mm_struct *mm, long pages, int cap_sys_admin);
+extern int vma_adjust(struct vm_area_struct *vma, unsigned long start,
+ unsigned long end, unsigned long pgoff, struct vm_area_struct *insert);
+extern struct vm_area_struct *vma_merge(struct mm_struct *,
+ struct vm_area_struct *prev, unsigned long addr, unsigned long end,
+ unsigned long vm_flags, struct anon_vma *, struct file *, unsigned long,
+ struct mempolicy *);
+extern struct anon_vma *find_mergeable_anon_vma(struct vm_area_struct *);
+extern int split_vma(struct mm_struct *,
+ struct vm_area_struct *, unsigned long addr, int new_below);
+extern int insert_vm_struct(struct mm_struct *, struct vm_area_struct *);
+extern void __vma_link_rb(struct mm_struct *, struct vm_area_struct *,
+ struct rb_node **, struct rb_node *);
+extern void unlink_file_vma(struct vm_area_struct *);
+extern struct vm_area_struct *copy_vma(struct vm_area_struct **,
+ unsigned long addr, unsigned long len, unsigned long pgoff);
+extern void exit_mmap(struct mm_struct *);
+
+extern int mm_take_all_locks(struct mm_struct *mm);
+extern void mm_drop_all_locks(struct mm_struct *mm);
+
+
+
+extern void added_exe_file_vma(struct mm_struct *mm);
+extern void removed_exe_file_vma(struct mm_struct *mm);
+# 1451 "include/linux/mm.h"
+extern int may_expand_vm(struct mm_struct *mm, unsigned long npages);
+extern int install_special_mapping(struct mm_struct *mm,
+       unsigned long addr, unsigned long len,
+       unsigned long flags, struct page **pages);
+
+extern unsigned long get_unmapped_area(struct file *, unsigned long, unsigned long, unsigned long, unsigned long);
+
+extern unsigned long do_mmap_pgoff(struct file *file, unsigned long addr,
+ unsigned long len, unsigned long prot,
+ unsigned long flag, unsigned long pgoff);
+extern unsigned long mmap_region(struct file *file, unsigned long addr,
+ unsigned long len, unsigned long flags,
+ unsigned int vm_flags, unsigned long pgoff);
+
+static inline __attribute__((always_inline)) unsigned long do_mmap(struct file *file, unsigned long addr,
+ unsigned long len, unsigned long prot,
+ unsigned long flag, unsigned long offset)
+{
+ unsigned long ret = -22;
+ if ((offset + ((((len)) + ((typeof((len)))(((1UL << 12))) - 1)) & ~((typeof((len)))(((1UL << 12))) - 1))) < offset)
+  goto out;
+ if (!(offset & ~(~((1 << 12) - 1))))
+  ret = do_mmap_pgoff(file, addr, len, prot, flag, offset >> 12);
+out:
+ return ret;
+}
+
+extern int do_munmap(struct mm_struct *, unsigned long, size_t);
+
+extern unsigned long do_brk(unsigned long, unsigned long);
+
+
+extern unsigned long page_unuse(struct page *);
+extern void truncate_inode_pages(struct address_space *, loff_t);
+extern void truncate_inode_pages_range(struct address_space *,
+           loff_t lstart, loff_t lend);
+
+
+extern int filemap_fault(struct vm_area_struct *, struct vm_fault *);
+
+
+int write_one_page(struct page *page, int wait);
+void task_dirty_inc(struct task_struct *tsk);
+
+
+
+
+
+int force_page_cache_readahead(struct address_space *mapping, struct file *filp,
+   unsigned long offset, unsigned long nr_to_read);
+
+void page_cache_sync_readahead(struct address_space *mapping,
+          struct file_ra_state *ra,
+          struct file *filp,
+          unsigned long offset,
+          unsigned long size);
+
+void page_cache_async_readahead(struct address_space *mapping,
+    struct file_ra_state *ra,
+    struct file *filp,
+    struct page *pg,
+    unsigned long offset,
+    unsigned long size);
+
+unsigned long max_sane_readahead(unsigned long nr);
+unsigned long ra_submit(struct file_ra_state *ra,
+   struct address_space *mapping,
+   struct file *filp);
+
+
+extern int expand_stack(struct vm_area_struct *vma, unsigned long address);
+
+
+
+
+
+extern int expand_stack_downwards(struct vm_area_struct *vma,
+      unsigned long address);
+
+
+extern struct vm_area_struct * find_vma(struct mm_struct * mm, unsigned long addr);
+extern struct vm_area_struct * find_vma_prev(struct mm_struct * mm, unsigned long addr,
+          struct vm_area_struct **pprev);
+
+
+
+static inline __attribute__((always_inline)) struct vm_area_struct * find_vma_intersection(struct mm_struct * mm, unsigned long start_addr, unsigned long end_addr)
+{
+ struct vm_area_struct * vma = find_vma(mm,start_addr);
+
+ if (vma && end_addr <= vma->vm_start)
+  vma = ((void *)0);
+ return vma;
+}
+
+static inline __attribute__((always_inline)) unsigned long vma_pages(struct vm_area_struct *vma)
+{
+ return (vma->vm_end - vma->vm_start) >> 12;
+}
+
+
+pgprot_t vm_get_page_prot(unsigned long vm_flags);
+
+
+
+
+
+
+
+struct vm_area_struct *find_extend_vma(struct mm_struct *, unsigned long addr);
+int remap_pfn_range(struct vm_area_struct *, unsigned long addr,
+   unsigned long pfn, unsigned long size, pgprot_t);
+int vm_insert_page(struct vm_area_struct *, unsigned long addr, struct page *);
+int vm_insert_pfn(struct vm_area_struct *vma, unsigned long addr,
+   unsigned long pfn);
+int vm_insert_mixed(struct vm_area_struct *vma, unsigned long addr,
+   unsigned long pfn);
+
+struct page *follow_page(struct vm_area_struct *, unsigned long address,
+   unsigned int foll_flags);
+# 1582 "include/linux/mm.h"
+typedef int (*pte_fn_t)(pte_t *pte, pgtable_t token, unsigned long addr,
+   void *data);
+extern int apply_to_page_range(struct mm_struct *mm, unsigned long address,
+          unsigned long size, pte_fn_t fn, void *data);
+
+
+void vm_stat_account(struct mm_struct *, unsigned long, struct file *, long);
+# 1609 "include/linux/mm.h"
+static inline __attribute__((always_inline)) void
+kernel_map_pages(struct page *page, int numpages, int enable) {}
+static inline __attribute__((always_inline)) void enable_debug_pagealloc(void)
+{
+}
+
+
+
+
+
+extern struct vm_area_struct *get_gate_vma(struct mm_struct *mm);
+
+int in_gate_area_no_mm(unsigned long addr);
+int in_gate_area(struct mm_struct *mm, unsigned long addr);
+
+
+
+
+
+int drop_caches_sysctl_handler(struct ctl_table *, int,
+     void *, size_t *, loff_t *);
+unsigned long shrink_slab(unsigned long scanned, gfp_t gfp_mask,
+   unsigned long lru_pages);
+
+
+
+
+extern int randomize_va_space;
+
+
+const char * arch_vma_name(struct vm_area_struct *vma);
+void print_vma_addr(char *prefix, unsigned long rip);
+
+void sparse_mem_maps_populate_node(struct page **map_map,
+       unsigned long pnum_begin,
+       unsigned long pnum_end,
+       unsigned long map_count,
+       int nodeid);
+
+struct page *sparse_mem_map_populate(unsigned long pnum, int nid);
+pgd_t *vmemmap_pgd_populate(unsigned long addr, int node);
+pud_t *vmemmap_pud_populate(pgd_t *pgd, unsigned long addr, int node);
+pmd_t *vmemmap_pmd_populate(pud_t *pud, unsigned long addr, int node);
+pte_t *vmemmap_pte_populate(pmd_t *pmd, unsigned long addr, int node);
+void *vmemmap_alloc_block(unsigned long size, int node);
+void *vmemmap_alloc_block_buf(unsigned long size, int node);
+void vmemmap_verify(pte_t *, int, unsigned long, unsigned long);
+int vmemmap_populate_basepages(struct page *start_page,
+      unsigned long pages, int node);
+int vmemmap_populate(struct page *start_page, unsigned long pages, int node);
+void vmemmap_populate_print_last(void);
+
+
+enum mf_flags {
+ MF_COUNT_INCREASED = 1 << 0,
+};
+extern void memory_failure(unsigned long pfn, int trapno);
+extern int __memory_failure(unsigned long pfn, int trapno, int flags);
+extern int unpoison_memory(unsigned long pfn);
+extern int sysctl_memory_failure_early_kill;
+extern int sysctl_memory_failure_recovery;
+extern void shake_page(struct page *p, int access);
+extern atomic_long_t mce_bad_pages;
+extern int soft_offline_page(struct page *page, int flags);
+
+extern void dump_page(struct page *page);
+# 6 "include/linux/pid_namespace.h" 2
+
+# 1 "include/linux/nsproxy.h" 1
+
+
+
+
+
+
+struct mnt_namespace;
+struct uts_namespace;
+struct ipc_namespace;
+struct pid_namespace;
+struct fs_struct;
+# 25 "include/linux/nsproxy.h"
+struct nsproxy {
+ atomic_t count;
+ struct uts_namespace *uts_ns;
+ struct ipc_namespace *ipc_ns;
+ struct mnt_namespace *mnt_ns;
+ struct pid_namespace *pid_ns;
+ struct net *net_ns;
+};
+extern struct nsproxy init_nsproxy;
+# 60 "include/linux/nsproxy.h"
+static inline __attribute__((always_inline)) struct nsproxy *task_nsproxy(struct task_struct *tsk)
+{
+ return ({ typeof(*(tsk->nsproxy)) *_________p1 = (typeof(*(tsk->nsproxy))* )(*(volatile typeof((tsk->nsproxy)) *)&((tsk->nsproxy))); do { } while (0); ; do { } while(0); ((typeof(*(tsk->nsproxy)) *)(_________p1)); });
+}
+
+int copy_namespaces(unsigned long flags, struct task_struct *tsk);
+void exit_task_namespaces(struct task_struct *tsk);
+void switch_task_namespaces(struct task_struct *tsk, struct nsproxy *new);
+void free_nsproxy(struct nsproxy *ns);
+int unshare_nsproxy_namespaces(unsigned long, struct nsproxy **,
+ struct fs_struct *);
+
+static inline __attribute__((always_inline)) void put_nsproxy(struct nsproxy *ns)
+{
+ if ((atomic_dec_return((&ns->count)) == 0)) {
+  free_nsproxy(ns);
+ }
+}
+
+static inline __attribute__((always_inline)) void get_nsproxy(struct nsproxy *ns)
+{
+ atomic_inc(&ns->count);
+}
+
+
+
+
+static inline __attribute__((always_inline)) int ns_cgroup_clone(struct task_struct *tsk, struct pid *pid)
+{
+ return 0;
+}
+# 8 "include/linux/pid_namespace.h" 2
+
+
+struct pidmap {
+       atomic_t nr_free;
+       void *page;
+};
+
+
+
+struct bsd_acct_struct;
+
+struct pid_namespace {
+ struct kref kref;
+ struct pidmap pidmap[(((0 ? (1UL << 12) * 8 : (sizeof(long) > 4 ? 4 * 1024 * 1024 : (0 ? 0x1000 : 0x8000))) + 8*(1UL << 12) - 1)/(1UL << 12)/8)];
+ int last_pid;
+ struct task_struct *child_reaper;
+ struct kmem_cache *pid_cachep;
+ unsigned int level;
+ struct pid_namespace *parent;
+
+ struct vfsmount *proc_mnt;
+
+
+
+
+};
+
+extern struct pid_namespace init_pid_ns;
+
+
+static inline __attribute__((always_inline)) struct pid_namespace *get_pid_ns(struct pid_namespace *ns)
+{
+ if (ns != &init_pid_ns)
+  kref_get(&ns->kref);
+ return ns;
+}
+
+extern struct pid_namespace *copy_pid_ns(unsigned long flags, struct pid_namespace *ns);
+extern void free_pid_ns(struct kref *kref);
+extern void zap_pid_ns_processes(struct pid_namespace *pid_ns);
+
+static inline __attribute__((always_inline)) void put_pid_ns(struct pid_namespace *ns)
+{
+ if (ns != &init_pid_ns)
+  kref_put(&ns->kref, free_pid_ns);
+}
+# 82 "include/linux/pid_namespace.h"
+extern struct pid_namespace *task_active_pid_ns(struct task_struct *tsk);
+void pidhash_init(void);
+void pidmap_init(void);
+# 21 "fs/proc/root.c" 2
+
+# 1 "fs/proc/internal.h" 1
+# 14 "fs/proc/internal.h"
+extern struct proc_dir_entry proc_root;
+
+extern int proc_sys_init(void);
+
+
+
+
+extern int proc_net_init(void);
+
+
+
+
+struct vmalloc_info {
+ unsigned long used;
+ unsigned long largest_chunk;
+};
+
+extern struct mm_struct *mm_for_maps(struct task_struct *);
+
+
+
+extern void get_vmalloc_info(struct vmalloc_info *vmi);
+# 46 "fs/proc/internal.h"
+extern int proc_tid_stat(struct seq_file *m, struct pid_namespace *ns,
+    struct pid *pid, struct task_struct *task);
+extern int proc_tgid_stat(struct seq_file *m, struct pid_namespace *ns,
+    struct pid *pid, struct task_struct *task);
+extern int proc_pid_status(struct seq_file *m, struct pid_namespace *ns,
+    struct pid *pid, struct task_struct *task);
+extern int proc_pid_statm(struct seq_file *m, struct pid_namespace *ns,
+    struct pid *pid, struct task_struct *task);
+extern loff_t mem_lseek(struct file *file, loff_t offset, int orig);
+
+extern const struct file_operations proc_maps_operations;
+extern const struct file_operations proc_numa_maps_operations;
+extern const struct file_operations proc_smaps_operations;
+extern const struct file_operations proc_clear_refs_operations;
+extern const struct file_operations proc_pagemap_operations;
+extern const struct file_operations proc_net_operations;
+extern const struct inode_operations proc_net_inode_operations;
+
+void proc_init_inodecache(void);
+
+static inline __attribute__((always_inline)) struct pid *proc_pid(struct inode *inode)
+{
+ return PROC_I(inode)->pid;
+}
+
+static inline __attribute__((always_inline)) struct task_struct *get_proc_task(struct inode *inode)
+{
+ return get_pid_task(proc_pid(inode), PIDTYPE_PID);
+}
+
+static inline __attribute__((always_inline)) int proc_fd(struct inode *inode)
+{
+ return PROC_I(inode)->fd;
+}
+
+struct dentry *proc_lookup_de(struct proc_dir_entry *de, struct inode *ino,
+  struct dentry *dentry);
+int proc_readdir_de(struct proc_dir_entry *de, struct file *filp, void *dirent,
+  filldir_t filldir);
+
+struct pde_opener {
+ struct inode *inode;
+ struct file *file;
+ int (*release)(struct inode *, struct file *);
+ struct list_head lh;
+};
+void pde_users_dec(struct proc_dir_entry *pde);
+
+extern spinlock_t proc_subdir_lock;
+
+struct dentry *proc_pid_lookup(struct inode *dir, struct dentry * dentry, struct nameidata *);
+int proc_pid_readdir(struct file * filp, void * dirent, filldir_t filldir);
+unsigned long task_vsize(struct mm_struct *);
+unsigned long task_statm(struct mm_struct *,
+ unsigned long *, unsigned long *, unsigned long *, unsigned long *);
+void task_mem(struct seq_file *, struct mm_struct *);
+
+static inline __attribute__((always_inline)) struct proc_dir_entry *pde_get(struct proc_dir_entry *pde)
+{
+ atomic_inc(&pde->count);
+ return pde;
+}
+void pde_put(struct proc_dir_entry *pde);
+
+int proc_fill_super(struct super_block *);
+struct inode *proc_get_inode(struct super_block *, struct proc_dir_entry *);
+# 120 "fs/proc/internal.h"
+int proc_readdir(struct file *, void *, filldir_t);
+struct dentry *proc_lookup(struct inode *, struct dentry *, struct nameidata *);
+# 23 "fs/proc/root.c" 2
+
+static int proc_test_super(struct super_block *sb, void *data)
+{
+ return sb->s_fs_info == data;
+}
+
+static int proc_set_super(struct super_block *sb, void *data)
+{
+ struct pid_namespace *ns;
+
+ ns = (struct pid_namespace *)data;
+ sb->s_fs_info = get_pid_ns(ns);
+ return set_anon_super(sb, ((void *)0));
+}
+
+static struct dentry *proc_mount(struct file_system_type *fs_type,
+ int flags, const char *dev_name, void *data)
+{
+ int err;
+ struct super_block *sb;
+ struct pid_namespace *ns;
+ struct proc_inode *ei;
+
+ if (flags & (1<<22))
+  ns = (struct pid_namespace *)data;
+ else
+  ns = current->nsproxy->pid_ns;
+
+ sb = sget(fs_type, proc_test_super, proc_set_super, ns);
+ if (IS_ERR(sb))
+  return ERR_CAST(sb);
+
+ if (!sb->s_root) {
+  sb->s_flags = flags;
+  err = proc_fill_super(sb);
+  if (err) {
+   deactivate_locked_super(sb);
+   return ERR_PTR(err);
+  }
+
+  sb->s_flags |= (1<<30);
+ }
+
+ ei = PROC_I(sb->s_root->d_inode);
+ if (!ei->pid) {
+  rcu_read_lock();
+  ei->pid = get_pid(find_pid_ns(1, ns));
+  rcu_read_unlock();
+ }
+
+ return dget(sb->s_root);
+}
+
+static void proc_kill_sb(struct super_block *sb)
+{
+ struct pid_namespace *ns;
+
+ ns = (struct pid_namespace *)sb->s_fs_info;
+ kill_anon_super(sb);
+ put_pid_ns(ns);
+}
+
+static struct file_system_type proc_fs_type = {
+ .name = "proc",
+ .mount = proc_mount,
+ .kill_sb = proc_kill_sb,
+};
+
+void __attribute__ ((__section__(".init.text"))) __attribute__((__cold__)) __attribute__((no_instrument_function)) proc_root_init(void)
+{
+ struct vfsmount *mnt;
+ int err;
+
+ proc_init_inodecache();
+ err = register_filesystem(&proc_fs_type);
+ if (err)
+  return;
+ mnt = kern_mount_data(&proc_fs_type, &init_pid_ns);
+ if (IS_ERR(mnt)) {
+  unregister_filesystem(&proc_fs_type);
+  return;
+ }
+
+ init_pid_ns.proc_mnt = mnt;
+ proc_symlink("mounts", ((void *)0), "self/mounts");
+
+ proc_net_init();
+
+
+ proc_mkdir("sysvipc", ((void *)0));
+
+ proc_mkdir("fs", ((void *)0));
+ proc_mkdir("driver", ((void *)0));
+ proc_mkdir("fs/nfsd", ((void *)0));
+
+
+
+
+ proc_tty_init();
+
+
+
+ proc_mkdir("bus", ((void *)0));
+ proc_sys_init();
+}
+
+static int proc_root_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat
+)
+{
+ generic_fillattr(dentry->d_inode, stat);
+ stat->nlink = proc_root.nlink + nr_processes();
+ return 0;
+}
+
+static struct dentry *proc_root_lookup(struct inode * dir, struct dentry * dentry, struct nameidata *nd)
+{
+ if (!proc_lookup(dir, dentry, nd)) {
+  return ((void *)0);
+ }
+
+ return proc_pid_lookup(dir, dentry, nd);
+}
+
+static int proc_root_readdir(struct file * filp,
+ void * dirent, filldir_t filldir)
+{
+ unsigned int nr = filp->f_pos;
+ int ret;
+
+ if (nr < 256) {
+  int error = proc_readdir(filp, dirent, filldir);
+  if (error <= 0)
+   return error;
+  filp->f_pos = 256;
+ }
+
+ ret = proc_pid_readdir(filp, dirent, filldir);
+ return ret;
+}
+
+
+
+
+
+
+static const struct file_operations proc_root_operations = {
+ .read = generic_read_dir,
+ .readdir = proc_root_readdir,
+ .llseek = default_llseek,
+};
+
+
+
+
+static const struct inode_operations proc_root_inode_operations = {
+ .lookup = proc_root_lookup,
+ .getattr = proc_root_getattr,
+};
+
+
+
+
+struct proc_dir_entry proc_root = {
+ .low_ino = PROC_ROOT_INO,
+ .namelen = 5,
+ .name = "/proc",
+ .mode = 0040000 | (00400|00040|00004) | (00100|00010|00001),
+ .nlink = 2,
+ .count = { (1) },
+ .proc_iops = &proc_root_inode_operations,
+ .proc_fops = &proc_root_operations,
+ .parent = &proc_root,
+};
+
+int pid_ns_prepare_proc(struct pid_namespace *ns)
+{
+ struct vfsmount *mnt;
+
+ mnt = kern_mount_data(&proc_fs_type, ns);
+ if (IS_ERR(mnt))
+  return PTR_ERR(mnt);
+
+ ns->proc_mnt = mnt;
+ return 0;
+}
+
+void pid_ns_release_proc(struct pid_namespace *ns)
+{
+ mntput(ns->proc_mnt);
+}
Binary files ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/test/a.out and ../linux-2.6.39.4/test/a.out differ
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/test/test.c ../linux-2.6.39.4/test/test.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/test/test.c	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/test/test.c	2011-10-22 06:38:34.997870626 +0530
@@ -0,0 +1,4 @@
+//#include<stdio.h>
+
+int main(void)
+{return 0;}
Binary files ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/test/vmlinux.bin and ../linux-2.6.39.4/test/vmlinux.bin differ
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/.version ../linux-2.6.39.4/.version
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/.version	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/.version	2011-11-02 08:41:49.932824845 +0530
@@ -0,0 +1 @@
+802

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: powerpc 476, Little-endian, pte fault
  2011-10-31  6:35   ` Santosh Kumar
@ 2011-10-31  7:38     ` Santosh Kumar
  2011-10-31  9:49     ` Michael Neuling
  1 sibling, 0 replies; 9+ messages in thread
From: Santosh Kumar @ 2011-10-31  7:38 UTC (permalink / raw)
  To: Michael Neuling; +Cc: linuxppc-dev, linux-kernel

This is not the first user-space instruction. While executing this
process kernel has added two TLB entries with TID(process id) 1. while
trying to map 0x100000fc it is raising pte faults .

Santosh Kumar .A

Vision without Action is a daydream... Action without Vision is a nightmare=
...



On 31 October 2011 12:05, Santosh Kumar <santoshkumar.a@gmail.com> wrote:
> I have built a cross compiler for ppc440 in little endian mode and
> using it to build the kernel.
>
> Yes i am running Linux in Little-Endian. This is the first user space
> process. I wrote the below program and running it as init from
> /sbin/init. I have also set the permissions with chmod +s.
>
> main()
> {
>
> while(1){
> printf("hello world");
> sleep(1);
> =A0}
> }
>
> I have attached the patch.
>
> -
> Santosh Kumar .A
>
> Vision without Action is a daydream... Action without Vision is a nightma=
re...
>
>
>
> On 31 October 2011 11:21, Michael Neuling <mikey@neuling.org> wrote:
>> Adding linuxppc-dev list to the CC
>>
>>> KERNEL: linux 2.6.39.4
>>> POWERPC: 476, little endian.
>>>
>>> I am trying to get linux 2.6.39.4 up on PPC 476 i have done done
>>> Big-endian to little endian Changes in:
>>
>> Can you explain what you are trying to do in more detail? =A0What does "=
i
>> have done Big-endian to little endian Changes" mean?
>>
>>> 1) bitops header file.
>>> 2) while reading the device tree.
>>> 3) the PTE read/computed in head_32.S
>>> 4) added E bit in the TLB entries.
>>>
>>> with all the above changes the kernel_init is done but and inited is
>>> mounted.
>>
>> Can you post your patch?
>>
>> Are you trying to boot the kernel in little endian or just run userspace
>> in little endian?
>>
>>> But while spawning init process the kernel continuously hits pte
>>> faults at address 0x100000fc and never comes out. Please let me know
>>> where i should be looking into.
>>
>> Is this the very first userspace instruction?
>>
>> Mikey
>>
>>
>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: powerpc 476, Little-endian, pte fault
  2011-10-31  6:35   ` Santosh Kumar
  2011-10-31  7:38     ` Santosh Kumar
@ 2011-10-31  9:49     ` Michael Neuling
  2011-10-31 11:23       ` Benjamin Herrenschmidt
  1 sibling, 1 reply; 9+ messages in thread
From: Michael Neuling @ 2011-10-31  9:49 UTC (permalink / raw)
  To: Santosh Kumar; +Cc: linuxppc-dev, Ian Munsie, linux-kernel

> I have built a cross compiler for ppc440 in little endian mode and
> using it to build the kernel.
> 
> Yes i am running Linux in Little-Endian. This is the first user space
> process. I wrote the below program and running it as init from
> /sbin/init. I have also set the permissions with chmod +s.
> 
> main()
> {
> 
> while(1){
> printf("hello world");
> sleep(1);
>  }
> }

Does libc even support little endian on PPC?

> I have attached the patch.

This is a pretty huge patch:

 115 files changed, 44479 insertions(+), 7398 deletions(-)

It seems to include a new platform as well as a bunch of unrelated junk.

I suggest you need to break this down into something more digestible.
Like remove all the junk in the patch.  Then add the support for the new
platform (invader? platform).  Then start looking at little endian.
Unless you do this, it's unlikely anyone here is going to be able to
help.

When you get to the little endian work, you might want to take a look at
this patch series from Ian Munsie:

http://lists.ozlabs.org/pipermail/linuxppc-dev/2010-October/086165.html

Mikey

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: powerpc 476, Little-endian, pte fault
  2011-10-31  9:49     ` Michael Neuling
@ 2011-10-31 11:23       ` Benjamin Herrenschmidt
  2011-11-01  3:02         ` Santosh Kumar
  0 siblings, 1 reply; 9+ messages in thread
From: Benjamin Herrenschmidt @ 2011-10-31 11:23 UTC (permalink / raw)
  To: Michael Neuling; +Cc: linuxppc-dev, Ian Munsie, Santosh Kumar, linux-kernel

On Mon, 2011-10-31 at 20:49 +1100, Michael Neuling wrote:
> > I have built a cross compiler for ppc440 in little endian mode and
> > using it to build the kernel.
> > 
> > Yes i am running Linux in Little-Endian. This is the first user space
> > process. I wrote the below program and running it as init from
> > /sbin/init. I have also set the permissions with chmod +s.
> > 
> > main()
> > {
> > 
> > while(1){
> > printf("hello world");
> > sleep(1);
> >  }
> > }
> 
> Does libc even support little endian on PPC?

Ian did a port a while back for uClibc, is that at least partially based
on it ?

> > I have attached the patch.
> 
> This is a pretty huge patch:
> 
>  115 files changed, 44479 insertions(+), 7398 deletions(-)
> 
> It seems to include a new platform as well as a bunch of unrelated junk.
>
> I suggest you need to break this down into something more digestible.
> Like remove all the junk in the patch.  Then add the support for the new
> platform (invader? platform).  Then start looking at little endian.
> Unless you do this, it's unlikely anyone here is going to be able to
> help.
>
> When you get to the little endian work, you might want to take a look at
> this patch series from Ian Munsie:
> 
> http://lists.ozlabs.org/pipermail/linuxppc-dev/2010-October/086165.html

Right, the new patch should be if possible based on Ian's series or at
least a cleaned / rebased variant of it. Then split in bits so we can
review it properly.

Cheers,
Ben.

> Mikey
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/linuxppc-dev

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: powerpc 476, Little-endian, pte fault
  2011-10-31 11:23       ` Benjamin Herrenschmidt
@ 2011-11-01  3:02         ` Santosh Kumar
  2011-11-01 13:44           ` Peter Bergner
  0 siblings, 1 reply; 9+ messages in thread
From: Santosh Kumar @ 2011-11-01  3:02 UTC (permalink / raw)
  To: Benjamin Herrenschmidt
  Cc: linuxppc-dev, Michael Neuling, Ian Munsie, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2302 bytes --]

I have attached the patch with only the relevant changes.

The patch is not based on uLIBC patch.

Glibc doesnt support little endian for PPC, but after minor changes to
makefile i got it working. With the compiler i am using i could get
2.6.31 on ppc440 working. I am using the same compiler as 476 & 440
instruction is almost the same.

Thanks
Santosh Kumar .A

Vision without Action is a daydream... Action without Vision is a nightmare...



On 31 October 2011 16:53, Benjamin Herrenschmidt
<benh@kernel.crashing.org> wrote:
> On Mon, 2011-10-31 at 20:49 +1100, Michael Neuling wrote:
>> > I have built a cross compiler for ppc440 in little endian mode and
>> > using it to build the kernel.
>> >
>> > Yes i am running Linux in Little-Endian. This is the first user space
>> > process. I wrote the below program and running it as init from
>> > /sbin/init. I have also set the permissions with chmod +s.
>> >
>> > main()
>> > {
>> >
>> > while(1){
>> > printf("hello world");
>> > sleep(1);
>> >  }
>> > }
>>
>> Does libc even support little endian on PPC?
>
> Ian did a port a while back for uClibc, is that at least partially based
> on it ?
>
>> > I have attached the patch.
>>
>> This is a pretty huge patch:
>>
>>  115 files changed, 44479 insertions(+), 7398 deletions(-)
>>
>> It seems to include a new platform as well as a bunch of unrelated junk.
>>
>> I suggest you need to break this down into something more digestible.
>> Like remove all the junk in the patch.  Then add the support for the new
>> platform (invader? platform).  Then start looking at little endian.
>> Unless you do this, it's unlikely anyone here is going to be able to
>> help.
>>
>> When you get to the little endian work, you might want to take a look at
>> this patch series from Ian Munsie:
>>
>> http://lists.ozlabs.org/pipermail/linuxppc-dev/2010-October/086165.html
>
> Right, the new patch should be if possible based on Ian's series or at
> least a cleaned / rebased variant of it. Then split in bits so we can
> review it properly.
>
> Cheers,
> Ben.
>
>> Mikey
>> _______________________________________________
>> Linuxppc-dev mailing list
>> Linuxppc-dev@lists.ozlabs.org
>> https://lists.ozlabs.org/listinfo/linuxppc-dev
>
>
>

[-- Attachment #2: linux_ppc_476.patch --]
[-- Type: application/octet-stream, Size: 42386 bytes --]

diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/boot/div64.S ../linux-2.6.39.4/arch/powerpc/boot/div64.S
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/boot/div64.S	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/boot/div64.S	2011-10-22 14:16:46.616117143 +0530
@@ -17,8 +17,13 @@
 
 	.globl __div64_32
 __div64_32:
+#ifdef CONFIG_INVADER
+	lwz	r5,4(r3)	# get the dividend into r5/r6
+	lwz	r6,0(r3)
+#else
 	lwz	r5,0(r3)	# get the dividend into r5/r6
 	lwz	r6,4(r3)
+#endif
 	cmplw	r5,r4
 	li	r7,0
 	li	r8,0
@@ -53,7 +58,12 @@
 	mullw	r10,r0,r4	# and get the remainder
 	add	r8,r8,r0
 	subf	r6,r10,r6
+#ifdef CONFIG_INVADER
 4:	stw	r7,0(r3)	# return the quotient in *r3
 	stw	r8,4(r3)
+#else
+4:	stw	r7,0(r3)	# return the quotient in *r3
+	stw	r8,4(r3)
+#endif
 	mr	r3,r6		# return the remainder in r3
 	blr
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/boot/Makefile ../linux-2.6.39.4/arch/powerpc/boot/Makefile
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/boot/Makefile	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/boot/Makefile	2011-10-22 06:47:05.354137527 +0530
@@ -37,7 +37,7 @@
 
 DTC_FLAGS	?= -p 1024
 
-$(obj)/4xx.o: BOOTCFLAGS += -mcpu=405
+$(obj)/4xx.o: BOOTCFLAGS += -mcpu=440
 $(obj)/ebony.o: BOOTCFLAGS += -mcpu=405
 $(obj)/cuboot-hotfoot.o: BOOTCFLAGS += -mcpu=405
 $(obj)/cuboot-taishan.o: BOOTCFLAGS += -mcpu=405
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/boot/wrapper ../linux-2.6.39.4/arch/powerpc/boot/wrapper
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/boot/wrapper	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/boot/wrapper	2011-10-22 06:38:26.286134445 +0530
@@ -38,6 +38,7 @@
 dts=
 cacheit=
 binary=
+gzip=
 gzip=.gz
 
 # cross-compilation prefix
@@ -50,7 +51,6 @@
 object=arch/powerpc/boot
 objbin=$object
 dtc=scripts/dtc/dtc
-
 # directory for working files
 tmpdir=.
 
@@ -260,7 +260,6 @@
 	vmz="$vmz.$$"
     fi
 fi
-
 vmz="$vmz$gzip"
 
 # Extract kernel version information, some platforms want to include
@@ -277,12 +276,13 @@
 case "$platform" in
 uboot)
     rm -f "$ofile"
-    ${MKIMAGE} -A ppc -O linux -T kernel -C gzip -a $membase -e $membase \
+    ${MKIMAGE} -A ppc -O linux -T kernel -a $membase -e $membase \
 	$uboot_version -d "$vmz" "$ofile"
     if [ -z "$cacheit" ]; then
 	rm -f "$vmz"
     fi
     exit 0
+    echo "not exiting"
     ;;
 esac
 
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/include/asm/bitops.h ../linux-2.6.39.4/arch/powerpc/include/asm/bitops.h
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/include/asm/bitops.h	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/include/asm/bitops.h	2011-10-22 06:38:25.203141637 +0530
@@ -318,13 +318,34 @@
 	return __test_and_clear_bit(nr ^ BITOP_LE_SWIZZLE, addr);
 }
 
+static inline unsigned long find_next_zero_bit_le(const void *addr,
+                unsigned long size, unsigned long offset)
+{
+        return find_next_zero_bit(addr, size, offset);
+}
+
+static inline unsigned long find_next_bit_le(const void *addr,
+                unsigned long size, unsigned long offset)
+{
+        return find_next_bit(addr, size, offset);
+}
+
+static inline unsigned long find_first_zero_bit_le(const void *addr,
+                unsigned long size)
+{
+        return find_first_zero_bit(addr, size);
+}
+
 #define find_first_zero_bit_le(addr, size) \
 	find_next_zero_bit_le((addr), (size), 0)
+/*
 unsigned long find_next_zero_bit_le(const void *addr,
 				    unsigned long size, unsigned long offset);
 
 unsigned long find_next_bit_le(const void *addr,
 				    unsigned long size, unsigned long offset);
+*/
+
 /* Bitmap functions for the ext2 filesystem */
 
 #define ext2_set_bit_atomic(lock, nr, addr) \
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/include/asm/byteorder.h ../linux-2.6.39.4/arch/powerpc/include/asm/byteorder.h
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/include/asm/byteorder.h	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/include/asm/byteorder.h	2011-10-22 06:38:25.254182204 +0530
@@ -7,6 +7,12 @@
  * as published by the Free Software Foundation; either version
  * 2 of the License, or (at your option) any later version.
  */
+
+#ifdef CONFIG_INVADER
+#include <linux/byteorder/little_endian.h>
+#else
 #include <linux/byteorder/big_endian.h>
+#endif
+
 
 #endif /* _ASM_POWERPC_BYTEORDER_H */
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/include/asm/elf.h ../linux-2.6.39.4/arch/powerpc/include/asm/elf.h
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/include/asm/elf.h	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/include/asm/elf.h	2011-10-22 06:38:25.140139532 +0530
@@ -118,13 +118,21 @@
 # define ELF_GREG_TYPE	elf_greg_t32
 # define ELF_ARCH	EM_PPC
 # define ELF_CLASS	ELFCLASS32
+#ifdef CONFIG_INVADER
+# define ELF_DATA	ELFDATA2LSB
+#else
 # define ELF_DATA	ELFDATA2MSB
+#endif
 #endif /* __powerpc64__ */
 
 #ifndef ELF_ARCH
 # define ELF_ARCH	EM_PPC64
 # define ELF_CLASS	ELFCLASS64
+#ifdef CONFIG_INVADER
+# define ELF_DATA	ELFDATA2LSB
+#else
 # define ELF_DATA	ELFDATA2MSB
+#endif
   typedef elf_greg_t64 elf_greg_t;
   typedef elf_gregset_t64 elf_gregset_t;
 #else

 iff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/include/asm/pgtable-ppc32.h ../linux-2.6.39.4/arch/powerpc/include/asm/pgtable-ppc32.h
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/include/asm/pgtable-ppc32.h	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/include/asm/pgtable-ppc32.h	2011-10-28 13:54:33.350779238 +0530
@@ -63,8 +63,12 @@
 #ifdef CONFIG_HIGHMEM
 #define KVIRT_TOP	PKMAP_BASE
 #else
+#ifdef CONFIG_INVADER
+#define KVIRT_TOP	(0xbe000000UL)	
+#else
 #define KVIRT_TOP	(0xfe000000UL)	/* for now, could be FIXMAP_BASE ? */
 #endif
+#endif
 
 /*
  * ioremap_bot starts at that address. Early ioremaps move down from there,
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/include/asm/prom.h ../linux-2.6.39.4/arch/powerpc/include/asm/prom.h
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/include/asm/prom.h	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/include/asm/prom.h	2011-10-22 06:38:25.211141792 +0530
@@ -20,6 +20,10 @@
 #include <asm/irq.h>
 #include <asm/atomic.h>
 
+#ifdef CONFIG_INVADER
+#include <asm/io.h>
+#endif
+
 #define HAVE_ARCH_DEVTREE_FIXUPS
 
 #ifdef CONFIG_PPC32
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/include/asm/reg.h ../linux-2.6.39.4/arch/powerpc/include/asm/reg.h
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/include/asm/reg.h	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/include/asm/reg.h	2011-10-22 06:38:25.222139709 +0530
@@ -839,7 +839,11 @@
 #define PVR_403GC	0x00200200
 #define PVR_403GCX	0x00201400
 #define PVR_405GP	0x40110000
+#ifdef CONFIG_INVADER
+#define PVR_476		0x7ff52080
+#else
 #define PVR_476		0x11a52000
+#endif
 #define PVR_STB03XXX	0x40310000
 #define PVR_NP405H	0x41410000
 #define PVR_NP405L	0x41610000
 
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/cacheinfo.c ../linux-2.6.39.4/arch/powerpc/kernel/cacheinfo.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/cacheinfo.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/kernel/cacheinfo.c	2011-10-24 17:02:11.354148243 +0530
@@ -203,7 +203,12 @@
 	if (!cache_size)
 		return -ENODEV;
 
+	printk("cache size: 0x%u\n", be32_to_cpup(cache_size));
+#ifdef CONFIG_INVADER
+	*ret = be32_to_cpup(cache_size);
+#else
 	*ret = *cache_size;
+#endif
 	return 0;
 }
 
@@ -238,7 +243,12 @@
 	if (!line_size)
 		return -ENODEV;
 
+	printk("lne size: 0x%u\n", be32_to_cpup(line_size));
+#ifdef CONFIG_INVADER
+	*ret = be32_to_cpup(line_size);
+#else
 	*ret = *line_size;
+#endif
 	return 0;
 }
 
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/cputable.c ../linux-2.6.39.4/arch/powerpc/kernel/cputable.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/cputable.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/kernel/cputable.c	2011-10-22 06:38:27.763108473 +0530
@@ -1853,6 +1853,22 @@
 		.machine_check		= machine_check_47x,
 		.platform		= "ppc470",
 	},
+#ifdef CONFIG_INVADER
+        { /* 476 others */
+                .pvr_mask               = 0xffffffff,
+                .pvr_value              = 0x7ff52080,
+                .cpu_name               = "476fp",
+                .cpu_features           = CPU_FTRS_47X,
+                .cpu_user_features      = COMMON_USER_BOOKE |
+                        PPC_FEATURE_HAS_FPU,
+                .mmu_features           = MMU_FTR_TYPE_47x |
+                        MMU_FTR_USE_TLBIVAX_BCAST | MMU_FTR_LOCK_BCAST_INVAL,
+                .icache_bsize           = 32,
+                .dcache_bsize           = 32,
+                .machine_check          = machine_check_47x,
+                .platform               = "ppc470",
+        },
+#endif
 	{	/* default match */
 		.pvr_mask		= 0x00000000,
 		.pvr_value		= 0x00000000,
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/head_44x.S ../linux-2.6.39.4/arch/powerpc/kernel/head_44x.S
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/head_44x.S	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/kernel/head_44x.S	2011-10-30 16:00:57.409103255 +0530
@@ -259,8 +259,14 @@
 
 	/* Compute pte address */
 	rlwimi  r12, r10, PPC44x_PTE_ADD_SHIFT, PPC44x_PTE_ADD_MASK_BIT, 28
+
+#ifdef CONFIG_INVADER
+	lwz	r11, 4(r12)		/* Get high word of pte entry */
+	lwz	r12, 0(r12)		/* Get low word of pte entry */
+#else
 	lwz	r11, 0(r12)		/* Get high word of pte entry */
 	lwz	r12, 4(r12)		/* Get low word of pte entry */
+#endif
 
 	lis	r10,tlb_44x_index@ha
 
@@ -355,8 +361,13 @@
 
 	/* Compute pte address */
 	rlwimi	r12, r10, PPC44x_PTE_ADD_SHIFT, PPC44x_PTE_ADD_MASK_BIT, 28
+#ifdef CONFIG_INVADER
+	lwz	r11, 4(r12)		/* Get high word of pte entry */
+	lwz	r12, 0(r12)		/* Get low word of pte entry */
+#else
 	lwz	r11, 0(r12)		/* Get high word of pte entry */
 	lwz	r12, 4(r12)		/* Get low word of pte entry */
+#endif
 
 	lis	r10,tlb_44x_index@ha
 
@@ -508,8 +519,12 @@
 	/* Compute pte address */
 	rlwimi  r12,r10,PPC44x_PTE_ADD_SHIFT,PPC44x_PTE_ADD_MASK_BIT,28
 	beq	2f			/* Bail if no table */
-	lwz	r11,0(r12)		/* Get high word of pte entry */
 
+#ifdef CONFIG_INVADER
+	lwz	r11,4(r12)		/* Get high word of pte entry */
+#else
+	lwz	r11,0(r12)		/* Get high word of pte entry */
+#endif
 	/* XXX can we do better ? maybe insert a known 0 bit from r11 into the
 	 * bottom of r12 to create a data dependency... We can also use r10
 	 * as destination nowadays
@@ -517,8 +532,12 @@
 #ifdef CONFIG_SMP
 	lwsync
 #endif
-	lwz	r12,4(r12)		/* Get low word of pte entry */
 
+#ifdef CONFIG_INVADER
+	lwz	r12,0(r12)		/* Get low word of pte entry */
+#else
+	lwz	r12,4(r12)		/* Get low word of pte entry */
+#endif
 	andc.	r13,r13,r12		/* Check permission */
 
 	 /* Jump to common tlb load */
@@ -592,15 +611,23 @@
 	rlwimi  r12,r10,PPC44x_PTE_ADD_SHIFT,PPC44x_PTE_ADD_MASK_BIT,28
 	beq	2f			/* Bail if no table */
 
+#ifdef CONFIG_INVADER
+	lwz	r11,4(r12)		/* Get high word of pte entry */
+#else
 	lwz	r11,0(r12)		/* Get high word of pte entry */
+#endif
 	/* XXX can we do better ? maybe insert a known 0 bit from r11 into the
 	 * bottom of r12 to create a data dependency... We can also use r10
 	 * as destination nowadays
 	 */
-#ifdef CONFIG_SMP
+#ifndef CONFIG_SMP
 	lwsync
 #endif
+#ifdef CONFIG_INVADER
+	lwz	r11,0(r12)		/* Get high word of pte entry */
+#else
 	lwz	r12,4(r12)		/* Get low word of pte entry */
+#endif
 
 	andc.	r13,r13,r12		/* Check permission */
 
@@ -638,8 +665,12 @@
 	rlwimi	r10,r12,29,30,30		/* DIRTY -> SW position */
 	and	r11,r12,r10			/* Mask PTE bits to keep */
 	andi.	r10,r12,_PAGE_USER		/* User page ? */
+#ifdef CONFIG_INVADER
+	ori	r11,r11,PPC47x_TLB2_E
+#endif
 	beq	1f				/* nope, leave U bits empty */
 	rlwimi	r11,r11,3,26,28			/* yes, copy S bits to U */
+
 1:	tlbwe	r11,r13,2
 
 	/* Done...restore registers and get out of here.
@@ -935,6 +966,13 @@
  */
 
 head_start_47x:
+//	.align
+	nop
+	nop
+	nop
+	
+	li r3, 0x3
+	rlwinm r23, r3, 1, 31, 31
 	/* Load our current PID->MMUCR TID and MSR IS->MMUCR STS */
 	mfspr	r3,SPRN_PID			/* Get PID */
 	mfmsr	r4				/* Get MSR */
@@ -964,8 +1002,7 @@
 clear_all_utlb_entries:
 
 	#; Set initial values.
-
-	addis		r3,0,0x8000
+	addis		r3,0,0xa000	/* Invader change: quick fix?? */
 	addi		r4,0,0
 	addi		r5,0,0
 	b		clear_utlb_entry
@@ -976,6 +1013,7 @@
 
 clear_utlb_entry:
 
+//	isync	//not needed ??
 	tlbwe		r4,r3,0
 	tlbwe		r5,r3,1
 	tlbwe		r5,r3,2
@@ -987,12 +1025,15 @@
 	cmpwi		r4,0
 	bne		clear_utlb_entry
 
-	#; Restore original entry.
 
+	#; Restore original entry.
+#ifndef CONFIG_INVDER
+// Invader change 
 	oris	r23,r23,0x8000  /* specify the way */
 	tlbwe		r24,r23,0
 	tlbwe		r25,r23,1
 	tlbwe		r26,r23,2
+#endif
 
 /*
  * Configure and load pinned entry into TLB for the kernel core
@@ -1018,7 +1059,12 @@
 					/* ERPN is 0 for first 4GB page */
 	/* Word 2 */
 	li	r5,0
+#ifdef CONFIG_INVADER
+	ori	r5,r5,(PPC47x_TLB2_S_RWX|PPC47x_TLB2_E)
+#else
 	ori	r5,r5,PPC47x_TLB2_S_RWX
+#endif
+
 #ifdef CONFIG_SMP
 	ori	r5,r5,PPC47x_TLB2_M
 #endif
@@ -1062,14 +1108,19 @@
 
 	/* Word 0 */
 	lis	r3,PPC44x_EARLY_DEBUG_VIRTADDR@h
-	ori	r3,r3,PPC47x_TLB0_VALID | PPC47x_TLB0_TS | PPC47x_TLB0_1M
+	ori	r3,r3, (PPC47x_TLB0_VALID | PPC47x_TLB0_TS | PPC47x_TLB0_1M)
 
 	/* Word 1 */
 	lis	r4,CONFIG_PPC_EARLY_DEBUG_44x_PHYSLOW@h
 	ori	r4,r4,CONFIG_PPC_EARLY_DEBUG_44x_PHYSHIGH
 
-	/* Word 2 */
+#ifdef CONFIG_INVADER
+	/* Removing M flag as there is no SMP support for now*/
+	li	r5,(PPC47x_TLB2_S_RW | PPC47x_TLB2_I | PPC47x_TLB2_G | PPC47x_TLB2_E)
+
+#else
 	li	r5,(PPC47x_TLB2_S_RW | PPC47x_TLB2_IMG)
+#endif
 
 	/* Bolted in way 0, bolt slot 5, we -hope- we don't hit the same
 	 * congruence class as the kernel, we need to make sure of it at
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/irq.c ../linux-2.6.39.4/arch/powerpc/kernel/irq.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/irq.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/kernel/irq.c	2011-10-24 16:36:08.295113827 +0530
@@ -757,7 +757,11 @@
 
 	/* If host has no translation, then we assume interrupt line */
 	if (host->ops->xlate == NULL)
+#ifdef CONFIG_INVADER
+		hwirq = be32_to_cpu(intspec[0]);
+#else
 		hwirq = intspec[0];
+#endif
 	else {
 		if (host->ops->xlate(host, controller, intspec, intsize,
 				     &hwirq, &type))
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/misc_32.S ../linux-2.6.39.4/arch/powerpc/kernel/misc_32.S
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/misc_32.S	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/kernel/misc_32.S	2011-10-26 15:51:22.562068744 +0530
@@ -60,6 +60,32 @@
 /*
  * This returns the high 64 bits of the product of two 64-bit numbers.
  */
+
+#ifdef CONFIG_INVADER
+_GLOBAL(mulhdu)
+       cmpwi   r5,0
+       cmpwi   cr1,r4,0
+       mr      r10,r3
+       mulhwu  r3,r3,r6
+       beq     1f
+       mulhwu  r0,r10,r5
+       mullw   r7,r10,r6
+       addc    r7,r0,r7
+       addze   r3,r3
+1:     beqlr   cr1             /* all done if high part of A is 0 */
+       mr      r10,r4
+       mullw   r9,r4,r6
+       mulhwu  r4,r4,r6
+       beq     2f
+       mullw   r0,r10,r5
+       mulhwu  r8,r10,r5
+       addc    r7,r0,r7
+       adde    r3,r3,r8
+       addze   r4,r4
+2:     addc    r3,r3,r9
+       addze   r4,r4
+       blr
+#else
 _GLOBAL(mulhdu)
 	cmpwi	r6,0
 	cmpwi	cr1,r3,0
@@ -83,6 +109,7 @@
 2:	addc	r4,r4,r9
 	addze	r3,r3
 	blr
+#endif
 
 /*
  * sub_reloc_offset(x) returns x - reloc_offset().
@@ -605,6 +632,42 @@
  *  lshrdi3: logical right shift
  *  ashldi3: left shift
  */
+#ifdef CONFIG_INVADER
+_GLOBAL(__ashrdi3)
+       subfic  r6,r5,32
+       srw     r3,r3,r5        # LSW = count > 31 ? 0 : LSW >> count
+       addi    r7,r5,32        # could be xori, or addi with -32
+       slw     r6,r4,r6        # t1 = count > 31 ? 0 : MSW << (32-count)
+       rlwinm  r8,r7,0,32      # t3 = (count < 32) ? 32 : 0
+       sraw    r7,r4,r7        # t2 = MSW >> (count-32)
+       or      r3,r3,r6        # LSW |= t1
+       slw     r7,r7,r8        # t2 = (count < 32) ? 0 : t2
+       sraw    r4,r4,r5        # MSW = MSW >> count
+       or      r3,r3,r7        # LSW |= t2
+       blr
+
+_GLOBAL(__ashldi3)
+       subfic  r6,r5,32
+       slw     r4,r4,r5        # MSW = count > 31 ? 0 : MSW << count
+       addi    r7,r5,32        # could be xori, or addi with -32
+       srw     r6,r3,r6        # t1 = count > 31 ? 0 : LSW >> (32-count)
+       slw     r7,r3,r7        # t2 = count < 32 ? 0 : LSW << (count-32)
+       or      r4,r4,r6        # MSW |= t1
+       slw     r3,r3,r5        # LSW = LSW << count
+       or      r4,r4,r7        # MSW |= t2
+       blr
+
+_GLOBAL(__lshrdi3)
+       subfic  r6,r5,32
+       srw     r3,r3,r5        # LSW = count > 31 ? 0 : LSW >> count
+       addi    r7,r5,32        # could be xori, or addi with -32
+       slw     r6,r4,r6        # t1 = count > 31 ? 0 : MSW << (32-count)
+       srw     r7,r4,r7        # t2 = count < 32 ? 0 : MSW >> (count-32)
+       or      r3,r3,r6        # LSW |= t1
+       srw     r4,r4,r5        # MSW = MSW >> count
+       or      r3,r3,r7        # LSW |= t2
+       blr
+#else
 _GLOBAL(__ashrdi3)
 	subfic	r6,r5,32
 	srw	r4,r4,r5	# LSW = count > 31 ? 0 : LSW >> count
@@ -639,6 +702,7 @@
 	srw	r3,r3,r5	# MSW = MSW >> count
 	or	r4,r4,r7	# LSW |= t2
 	blr
+#endif 
 
 /*
  * 64-bit comparison: __ucmpdi2(u64 a, u64 b)
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/module_32.c ../linux-2.6.39.4/arch/powerpc/kernel/module_32.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/module_32.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/kernel/module_32.c	2011-10-22 06:38:27.155103324 +0530
@@ -46,9 +46,15 @@
 	r_addend = 0;
 	for (i = 0; i < num; i++)
 		/* Only count 24-bit relocs, others don't need stubs */
+#ifdef CONFIG_INVADER
+		if ( ((ELF32_R_TYPE(rela[i].r_info) == R_PPC_REL24) && (ELF32_R_TYPE(rela[i].r_info) == R_PPC_REL14) &&
+		    (r_info != ELF32_R_SYM(rela[i].r_info) ||
+		     r_addend != rela[i].r_addend)) ) {
+#else
 		if (ELF32_R_TYPE(rela[i].r_info) == R_PPC_REL24 &&
 		    (r_info != ELF32_R_SYM(rela[i].r_info) ||
 		     r_addend != rela[i].r_addend)) {
+#endif
 			_count_relocs++;
 			r_info = ELF32_R_SYM(rela[i].r_info);
 			r_addend = rela[i].r_addend;
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/prom.c ../linux-2.6.39.4/arch/powerpc/kernel/prom.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/prom.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/kernel/prom.c	2011-10-22 12:32:28.777113831 +0530
@@ -103,6 +103,8 @@
 		memcpy(p, initial_boot_params, size);
 		initial_boot_params = (struct boot_param_header *)p;
 		DBG("Moved device tree to 0x%p\n", p);
+// invader debug
+		printk("Moved device tree to 0x%p\n", p);
 	}
 
 	DBG("<- move_device_tree\n");
@@ -300,7 +302,7 @@
 		 */
 		if (initial_boot_params && initial_boot_params->version >= 2) {
 			if (intserv[i] ==
-					initial_boot_params->boot_cpuid_phys) {
+					be32_to_cpu(initial_boot_params->boot_cpuid_phys)) {
 				found = 1;
 				break;
 			}
@@ -344,8 +346,14 @@
 		 * it uses 0x0f000001.
 		 */
 		prop = of_get_flat_dt_prop(node, "cpu-version", NULL);
+		printk(KERN_DEBUG "INVADER PVR: 0x%x\n", be32_to_cpup(prop));
+#ifdef CONFIG_INVADER
+		if (prop && (be32_to_cpup(prop) & 0xff000000) == 0x0f000000)
+			identify_cpu(0, be32_to_cpup(prop));
+#else
 		if (prop && (*prop & 0xff000000) == 0x0f000000)
 			identify_cpu(0, *prop);
+#endif
 
 		identical_pvr_fixup(node);
 	}
@@ -478,6 +486,7 @@
 				if ((base + size) > 0x80000000ul)
 					size = 0x80000000ul - base;
 			}
+			printk(KERN_DEBUG "memblk Add1 base: 0x%llx, size: 0x%llx", base, size);
 			memblock_add(base, size);
 		} while (--rngs);
 	}
@@ -516,6 +525,7 @@
 	memstart_addr = min((u64)memstart_addr, base);
 
 	/* Add the chunk to the MEMBLOCK list */
+	printk(KERN_DEBUG "memblk Add2 base: 0x%llx, size: 0x%llx", base, size);
 	memblock_add(base, size);
 }
 
@@ -541,12 +551,18 @@
 	unsigned long self_base;
 	unsigned long self_size;
 
+	// Invader Change
 	reserve_map = (u64 *)(((unsigned long)initial_boot_params) +
+#ifdef CONFIG_INVADER
+					be32_to_cpu(initial_boot_params->off_mem_rsvmap));
+#else
 					initial_boot_params->off_mem_rsvmap);
+#endif
 
 	/* before we do anything, lets reserve the dt blob */
 	self_base = __pa((unsigned long)initial_boot_params);
-	self_size = initial_boot_params->totalsize;
+	self_size = be32_to_cpu(initial_boot_params->totalsize);
+
 	memblock_reserve(self_base, self_size);
 
 #ifdef CONFIG_BLK_DEV_INITRD
@@ -560,13 +576,18 @@
 	 * Handle the case where we might be booting from an old kexec
 	 * image that setup the mem_rsvmap as pairs of 32-bit values
 	 */
-	if (*reserve_map > 0xffffffffull) {
+	if (be64_to_cpu(*reserve_map) > 0xffffffffull) {
 		u32 base_32, size_32;
 		u32 *reserve_map_32 = (u32 *)reserve_map;
 
 		while (1) {
+#ifdef CONFIG_INVADER
+			base_32 = be32_to_cpu(*(reserve_map_32++));
+			size_32 = be32_to_cpu(*(reserve_map_32++));
+#else
 			base_32 = *(reserve_map_32++);
 			size_32 = *(reserve_map_32++);
+#endif
 			if (size_32 == 0)
 				break;
 			/* skip if the reservation is for the blob */
@@ -579,11 +600,17 @@
 	}
 #endif
 	while (1) {
+// Invader Changes
+#ifdef CONFIG_INVADER
+		base = be64_to_cpu(*(reserve_map++));
+		size = be64_to_cpu(*(reserve_map++));
+#else
 		base = *(reserve_map++);
 		size = *(reserve_map++);
+#endif
 		if (size == 0)
 			break;
-		DBG("reserving: %llx -> %llx\n", base, size);
+		DBG("reserving2: %llx -> %llx\n", base, size);
 		memblock_reserve(base, size);
 	}
 }
@@ -912,8 +939,8 @@
 {
 	struct dentry *d;
 
-	flat_dt_blob.data = initial_boot_params;
-	flat_dt_blob.size = initial_boot_params->totalsize;
+	flat_dt_blob.data = (initial_boot_params);
+	flat_dt_blob.size = be32_to_cpu(initial_boot_params->totalsize);
 
 	d = debugfs_create_blob("flat-device-tree", S_IFREG | S_IRUSR,
 				powerpc_debugfs_root, &flat_dt_blob);
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/prom_init.c ../linux-2.6.39.4/arch/powerpc/kernel/prom_init.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/prom_init.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/kernel/prom_init.c	2011-10-22 06:38:27.610103651 +0530
@@ -789,7 +789,11 @@
 } fake_elf = {
 	.elfhdr = {
 		.e_ident = { 0x7f, 'E', 'L', 'F',
+#ifdef CONFIG_INVADER
+			     ELFCLASS32, ELFDATA2LSB, EV_CURRENT },
+#else
 			     ELFCLASS32, ELFDATA2MSB, EV_CURRENT },
+#endif
 		.e_type = ET_EXEC,	/* yeah right */
 		.e_machine = EM_PPC,
 		.e_version = EV_CURRENT,

diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/vmlinux.lds.S ../linux-2.6.39.4/arch/powerpc/kernel/vmlinux.lds.S
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/kernel/vmlinux.lds.S	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/kernel/vmlinux.lds.S	2011-10-22 06:38:27.713103244 +0530
@@ -34,11 +34,15 @@
 jiffies = jiffies_64;
 #else
 OUTPUT_ARCH(powerpc:common)
+#ifdef CONFIG_INVADER
 jiffies = jiffies_64 + 4;
+#else
+jiffies = jiffies_64 + 4;
+#endif
 #endif
 SECTIONS
 {
-	. = 0;
+	. = 0x00;
 	reloc_start = .;
 
 	. = KERNELBASE;
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/lib/div64.S ../linux-2.6.39.4/arch/powerpc/lib/div64.S
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/lib/div64.S	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/lib/div64.S	2011-10-22 06:38:28.053112501 +0530
@@ -17,8 +17,13 @@
 #include <asm/processor.h>
 
 _GLOBAL(__div64_32)
+#ifdef CONFIG_INVADER
+	lwz	r5,4(r3)	# get the dividend into r5/r6
+	lwz	r6,0(r3)
+#else
 	lwz	r5,0(r3)	# get the dividend into r5/r6
 	lwz	r6,4(r3)
+#endif
 	cmplw	r5,r4
 	li	r7,0
 	li	r8,0
@@ -53,7 +58,12 @@
 	mullw	r10,r0,r4	# and get the remainder
 	add	r8,r8,r0
 	subf	r6,r10,r6
+#ifdef CONFIG_INVADER
+4:	stw	r7,4(r3)	# return the quotient in *r3
+	stw	r8,0(r3)
+#else
 4:	stw	r7,0(r3)	# return the quotient in *r3
 	stw	r8,4(r3)
+#endif
 	mr	r3,r6		# return the remainder in r3
 	blr
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/Makefile ../linux-2.6.39.4/arch/powerpc/Makefile
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/Makefile	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/Makefile	2011-10-22 06:42:29.464137538 +0530
@@ -17,8 +17,8 @@
 # Set default 32 bits cross compilers for vdso and boot wrapper
 CROSS32_COMPILE ?=
 
-CROSS32CC		:= $(CROSS32_COMPILE)gcc
-CROSS32AR		:= $(CROSS32_COMPILE)ar
+CROSS32CC		:= $(CROSS32_COMPILE)gcc -mlittle-endian -mno-mfcrf
+CROSS32AR		:= $(CROSS32_COMPILE)ar -EL
 
 ifeq ($(HAS_BIARCH),y)
 ifeq ($(CROSS32_COMPILE),)
@@ -57,9 +57,9 @@
 UTS_MACHINE := $(OLDARCH)
 
 ifeq ($(HAS_BIARCH),y)
-override AS	+= -a$(CONFIG_WORD_SIZE)
-override LD	+= -m elf$(CONFIG_WORD_SIZE)ppc
-override CC	+= -m$(CONFIG_WORD_SIZE)
+override AS	+= -a$(CONFIG_WORD_SIZE) -mlittle-endian
+override LD	+= -m elf$(CONFIG_WORD_SIZE)ppc -EL
+override CC	+= -m$(CONFIG_WORD_SIZE) -mlittle-endian -mno-mfcrf
 override AR	:= GNUTARGET=elf$(CONFIG_WORD_SIZE)-powerpc $(AR)
 endif
 
@@ -68,10 +68,10 @@
 LDFLAGS_vmlinux	:= $(LDFLAGS_vmlinux-yy)
 
 CFLAGS-$(CONFIG_PPC64)	:= -mminimal-toc -mtraceback=none  -mcall-aixdesc
-CFLAGS-$(CONFIG_PPC32)	:= -ffixed-r2 -mmultiple
+CFLAGS-$(CONFIG_PPC32)	:= -ffixed-r2
 KBUILD_CPPFLAGS	+= -Iarch/$(ARCH)
 KBUILD_AFLAGS	+= -Iarch/$(ARCH)
-KBUILD_CFLAGS	+= -msoft-float -pipe -Iarch/$(ARCH) $(CFLAGS-y)
+KBUILD_CFLAGS	+= -msoft-float -pipe -Iarch/$(ARCH) $(CFLAGS-y) 
 CPP		= $(CC) -E $(KBUILD_CFLAGS)
 
 CHECKFLAGS	+= -m$(CONFIG_WORD_SIZE) -D__powerpc__ -D__powerpc$(CONFIG_WORD_SIZE)__
@@ -119,7 +119,7 @@
 
 # Never use string load/store instructions as they are
 # often slow when they are implemented at all
-KBUILD_CFLAGS		+= -mno-string
+#KBUILD_CFLAGS		+= -mno-string
 
 ifeq ($(CONFIG_6xx),y)
 KBUILD_CFLAGS		+= -mcpu=powerpc
@@ -130,7 +130,7 @@
 KBUILD_CFLAGS		+= -mno-sched-epilog
 endif
 
-cpu-as-$(CONFIG_4xx)		+= -Wa,-m405
+cpu-as-$(CONFIG_4xx)		+= -Wa,-m440
 cpu-as-$(CONFIG_6xx)		+= -Wa,-maltivec
 cpu-as-$(CONFIG_POWER4)		+= -Wa,-maltivec
 cpu-as-$(CONFIG_E500)		+= -Wa,-me500
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/mm/44x_mmu.c ../linux-2.6.39.4/arch/powerpc/mm/44x_mmu.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/mm/44x_mmu.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/mm/44x_mmu.c	2011-10-24 17:26:29.012226884 +0530
@@ -165,7 +165,12 @@
 		"tlbwe	%0,%3,2\n"
 		:
 		: "r" (PPC47x_TLB2_SW | PPC47x_TLB2_SR |
+#ifdef CONFIG_INVADER
+		       PPC47x_TLB2_SX | PPC47x_TLB2_E
+#else
 		       PPC47x_TLB2_SX
+#endif
+
 #ifdef CONFIG_SMP
 		       | PPC47x_TLB2_M
 #endif
@@ -223,6 +228,7 @@
 	 */
 	BUG_ON(first_memblock_base != 0);
 
+	printk(KERN_DEBUG "setup_initial_memory_limit: 0x%llx, 0x%llx\n", first_memblock_base, first_memblock_size);
 	/* 44x has a 256M TLB entry pinned at boot */
 	memblock_set_current_limit(min_t(u64, first_memblock_size, PPC_PIN_SIZE));
 }
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/platforms/invader/invader_setup.c ../linux-2.6.39.4/arch/powerpc/platforms/invader/invader_setup.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/platforms/invader/invader_setup.c	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/platforms/invader/invader_setup.c	2011-10-24 15:53:49.024532082 +0530
@@ -0,0 +1,87 @@
+/*
+	LSI HEADER ???
+*/
+
+#include <linux/init.h>
+#include <linux/of_platform.h>
+
+#include <asm/machdep.h>
+#include <asm/prom.h>
+#include <asm/udbg.h>
+#include <asm/time.h>
+#include <asm/mpic.h>
+#include <asm/ppc4xx.h>
+#include <asm/irq.h>
+#include <asm/pci-bridge.h>
+
+#define DEBUG 1
+
+static struct of_device_id invader_of_bus_ids[] = {
+	{ .compatible = "ibm,plb6", },
+        { .compatible = "simple-bus", },
+	{ .compatible = "chrp,open-pic", },
+	{},
+};
+
+static int __init invader_device_probe(void)
+{
+        of_platform_bus_probe(NULL, invader_of_bus_ids, NULL);
+
+        return 0;
+}
+machine_device_initcall(invader, invader_device_probe);
+
+static int __init invader_probe(void)
+{
+	unsigned long root = of_get_flat_dt_root();
+
+	if (!of_flat_dt_is_compatible(root, "LSI,Invader"))
+		return 0;
+
+	ppc_pci_set_flags(PPC_PCI_REASSIGN_ALL_RSRC);
+
+	return 1;
+}
+
+static void __init invader_init_irq(void)
+{
+        struct mpic *mpic;
+        struct resource r;
+        struct device_node *np = NULL;
+
+        /* Find top level interrupt controller */
+        for_each_node_with_property(np, "interrupt-controller") {
+                if (of_get_property(np, "interrupts", NULL) == NULL)
+                        break;
+        }
+        if (np == NULL)
+                panic("Invader: Can't find top level interrupt controller");
+
+        if (of_device_is_compatible(np, "chrp,open-pic")) {
+                /* The MPIC driver will get everything it needs from the
+                 * device-tree, just pass 0 to all arguments
+                 */
+                mpic = mpic_alloc(np, 0, MPIC_PRIMARY|MPIC_WANTS_RESET, 0, 0, " MPIC ");
+                BUG_ON(mpic == NULL);
+                mpic_init(mpic);
+                ppc_md.get_irq = mpic_get_irq;
+        } else
+                panic("Invader: Unrecognized top level interrupt controller");
+
+	printk("\n\n\t\t\tMPIC initialized\n\n\n");
+}
+
+static void __init invader_progress(char *s, unsigned short hex)
+{
+        printk("*** %04x : %s\n", hex, s ? s : "");
+}
+
+define_machine(invader) {
+	.name			= "Invader",
+	.probe			= invader_probe,
+        .progress               = invader_progress,
+        .init_IRQ       	= invader_init_irq,
+        .get_irq        	= mpic_get_irq,
+        .calibrate_decr         = generic_calibrate_decr,
+        .restart                = ppc4xx_reset_system,
+};
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/platforms/invader/Kconfig ../linux-2.6.39.4/arch/powerpc/platforms/invader/Kconfig
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/platforms/invader/Kconfig	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/platforms/invader/Kconfig	2011-10-22 06:38:25.833134467 +0530
@@ -0,0 +1,8 @@
+config INVADER
+	bool "Invader"
+	depends on PPC_47x
+	help 
+	  This option enabled support for LSI PPC476 "Invader"
+		evaluation board.
+
+
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/platforms/invader/Makefile ../linux-2.6.39.4/arch/powerpc/platforms/invader/Makefile
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/platforms/invader/Makefile	1970-01-01 05:30:00.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/platforms/invader/Makefile	2011-10-22 06:38:25.828374811 +0530
@@ -0,0 +1 @@
+obj-$(CONFIG_INVADER)       += invader_setup.o
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/platforms/Kconfig ../linux-2.6.39.4/arch/powerpc/platforms/Kconfig
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/platforms/Kconfig	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/platforms/Kconfig	2011-10-22 06:38:26.083147732 +0530
@@ -20,6 +20,7 @@
 source "arch/powerpc/platforms/44x/Kconfig"
 source "arch/powerpc/platforms/40x/Kconfig"
 source "arch/powerpc/platforms/amigaone/Kconfig"
+source "arch/powerpc/platforms/invader/Kconfig"
 
 config KVM_GUEST
 	bool "KVM Guest support"
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/platforms/Makefile ../linux-2.6.39.4/arch/powerpc/platforms/Makefile
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/platforms/Makefile	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/platforms/Makefile	2011-10-22 06:38:25.910151396 +0530
@@ -22,3 +22,4 @@
 obj-$(CONFIG_PPC_PS3)		+= ps3/
 obj-$(CONFIG_EMBEDDED6xx)	+= embedded6xx/
 obj-$(CONFIG_AMIGAONE)		+= amigaone/
+obj-$(CONFIG_INVADER)		+= invader/
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/sysdev/dcr.c ../linux-2.6.39.4/arch/powerpc/sysdev/dcr.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/sysdev/dcr.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/sysdev/dcr.c	2011-10-24 16:41:24.331106125 +0530
@@ -133,7 +133,12 @@
 	if (dr == NULL || ds & 1 || index >= (ds / 8))
 		return 0;
 
+	printk(KERN_DEBUG " dcr-reg: 0x%x", be32_to_cpu(dr[index * 2]));
+#ifdef CONFIG_INVADER
+	return be32_to_cpu(dr[index * 2]);
+#else
 	return dr[index * 2];
+#endif
 }
 EXPORT_SYMBOL_GPL(dcr_resource_start);
 
@@ -145,7 +150,12 @@
 	if (dr == NULL || ds & 1 || index >= (ds / 8))
 		return 0;
 
+	printk(KERN_DEBUG " dcr-reg2: 0x%x", be32_to_cpu(dr[index * 2]+1));
+#ifdef CONFIG_INVADER
+	return be32_to_cpu(dr[index * 2 + 1]);
+#else
 	return dr[index * 2 + 1];
+#endif
 }
 EXPORT_SYMBOL_GPL(dcr_resource_len);
 
@@ -177,6 +187,8 @@
 
 	/* Maybe could do some better range checking here */
 	ret = of_translate_address(dp, p);
+	
+	printk(KERN_DEBUG " translate-dcr-reg: 0x%llx", ret);
 	if (ret != OF_BAD_ADDR)
 		ret += (u64)(stride) * (u64)dcr_n;
 	if (out_stride)
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/sysdev/mpic.c ../linux-2.6.39.4/arch/powerpc/sysdev/mpic.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/sysdev/mpic.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/sysdev/mpic.c	2011-10-25 18:07:53.637770104 +0530
@@ -296,7 +296,7 @@
 
 	dbasep = of_get_property(node, "dcr-reg", NULL);
 
-	rb->dhost = dcr_map(node, *dbasep + offset, size);
+	rb->dhost = dcr_map(node, be32_to_cpup(dbasep) + offset, size);
 	BUG_ON(!DCR_MAP_OK(rb->dhost));
 }
 
@@ -1179,8 +1179,9 @@
 	 */
 	if (paddr == 0 && !(mpic->flags & MPIC_USES_DCR)) {
 		const u32 *reg = of_get_property(node, "reg", NULL);
+		printk(KERN_DEBUG "mpic: reg: 0x%x\n", *reg);
 		BUG_ON(reg == NULL);
-		paddr = of_translate_address(node, reg);
+		paddr = be32_to_cpu(of_translate_address(node, reg));
 		BUG_ON(paddr == OF_BAD_ADDR);
 	}
 
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/sysdev/ppc4xx_soc.c ../linux-2.6.39.4/arch/powerpc/sysdev/ppc4xx_soc.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/arch/powerpc/sysdev/ppc4xx_soc.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/arch/powerpc/sysdev/ppc4xx_soc.c	2011-10-25 18:04:40.509769915 +0530
@@ -93,7 +93,11 @@
 		of_node_put(np);
 		return -ENODEV;
 	}
+#ifdef CONFIG_INVADER
+	l2_size = be32_to_cpu(prop[0]);
+#else
 	l2_size = prop[0];
+#endif
 
 	/* Map DCRs */
 	dcrreg = of_get_property(np, "dcr-reg", &len);
@@ -103,8 +107,13 @@
 		of_node_put(np);
 		return -ENODEV;
 	}
+#ifdef CONFIG_INVADER
+	dcrbase_isram = be32_to_cpu(dcrreg[0]);
+	dcrbase_l2c = be32_to_cpu(dcrreg[2]);
+#else
 	dcrbase_isram = dcrreg[0];
 	dcrbase_l2c = dcrreg[2];
+#endif
 
 	/* Get and map irq number from device tree */
 	irq = irq_of_parse_and_map(np, 0);
@@ -199,6 +208,7 @@
 	struct device_node *np;
 	u32 reset_type = DBCR0_RST_SYSTEM;
 	const u32 *prop;
+	u32	propVal=0;
 
 	np = of_find_node_by_type(NULL, "cpu");
 	if (np) {
@@ -210,8 +220,17 @@
 		 * 2 - PPC4xx chip reset
 		 * 3 - PPC4xx system reset (default)
 		 */
+#ifdef CONFIG_INVADER
+		if (prop)
+		{
+			propVal = be32_to_cpup(prop);
+			if (((propVal>= 1) && (propVal <= 3)))
+				reset_type = propVal << 28;
+		}
+#else
 		if ((prop) && ((prop[0] >= 1) && (prop[0] <= 3)))
 			reset_type = prop[0] << 28;
+#endif
 	}
 
 	mtspr(SPRN_DBCR0, mfspr(SPRN_DBCR0) | reset_type);
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/fs/ext2/balloc.c ../linux-2.6.39.4/fs/ext2/balloc.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/fs/ext2/balloc.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/fs/ext2/balloc.c	2011-10-22 06:38:04.625107806 +0530
@@ -18,6 +18,9 @@
 #include <linux/buffer_head.h>
 #include <linux/capability.h>
 
+#ifdef CONFIG_INVADER
+//#include <asm-generic/bitops/le.h>
+#endif
 /*
  * balloc.c contains the blocks allocation and deallocation routines
  */
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/include/asm-generic/bitops/non-atomic.h ../linux-2.6.39.4/include/asm-generic/bitops/non-atomic.h
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/include/asm-generic/bitops/non-atomic.h	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/include/asm-generic/bitops/non-atomic.h	2011-10-22 12:40:27.954406170 +0530
@@ -105,4 +105,25 @@
 	return 1UL & (addr[BIT_WORD(nr)] >> (nr & (BITS_PER_LONG-1)));
 }
 
+static inline int test_bit_dbg(int nr, const volatile unsigned long *addr, volatile unsigned long *ret, volatile unsigned long *ret1, volatile unsigned long *ret2)
+{
+	if(ret)
+		*ret = (addr[BIT_WORD(nr)] >> (nr & (BITS_PER_LONG-1)));
+
+	if (ret1)
+		*ret1 = 1UL&(*ret);
+
+	if (ret2)
+		*ret2 = 1UL & (addr[BIT_WORD(nr)] >> (nr & (BITS_PER_LONG-1)));
+
+#ifdef CONFIG_INVADER
+        return (addr[BIT_WORD(nr)] >> (nr & (BITS_PER_LONG-1)));
+#else
+        return 1UL & (addr[BIT_WORD(nr)] >> (nr & (BITS_PER_LONG-1)));
+#endif
+}
+
+
+
+
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/init/main.c ../linux-2.6.39.4/init/main.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/init/main.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/init/main.c	2011-10-30 14:04:41.250103375 +0530
@@ -664,7 +664,8 @@
 	int count = preempt_count();
 	int ret;
 
-	if (initcall_debug)
+//	if (initcall_debug)
+	if (1)
 		ret = do_one_initcall_debug(fn);
 	else
 		ret = fn();
@@ -729,6 +730,7 @@
 static void run_init_process(const char *init_filename)
 {
 	argv_init[0] = init_filename;
+	printk(KERN_DEBUG "RUNNING run_init_process %s\n", init_filename);
 	kernel_execve(init_filename, argv_init, envp_init);
 }
 
@@ -747,6 +749,7 @@
 
 	current->signal->flags |= SIGNAL_UNKILLABLE;
 
+	printk(KERN_DEBUG "ramdisk_execute_command: %s, execute_command: %s\n",ramdisk_execute_command ,execute_command);
 	if (ramdisk_execute_command) {
 		run_init_process(ramdisk_execute_command);
 		printk(KERN_WARNING "Failed to execute %s\n",
@@ -765,10 +768,10 @@
 					"defaults...\n", execute_command);
 	}
 	run_init_process("/sbin/init");
-	run_init_process("/etc/init");
+/*	run_init_process("/etc/init");
 	run_init_process("/bin/init");
 	run_init_process("/bin/sh");
-
+*/
 	panic("No init found.  Try passing init= option to kernel. "
 	      "See Linux Documentation/init.txt for guidance.");
 }
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/kernel/printk.c ../linux-2.6.39.4/kernel/printk.c
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/kernel/printk.c	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/kernel/printk.c	2011-10-24 11:52:01.814164824 +0530
@@ -1485,7 +1485,9 @@
 	}
 	console_unlock();
 	console_sysfs_notify();
-
+#ifdef CONFIG_INVADER
+	keep_bootcon = 1;
+#endif
 	/*
 	 * By unregistering the bootconsoles after we enable the real console
 	 * we get the "console xxx enabled" message on all the consoles -
diff -uNr ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/Makefile ../linux-2.6.39.4/Makefile
--- ../../../crosscompiler_with_gdb_c_c++_objc/work/linux-2.6.39.4/Makefile	2011-08-04 01:13:28.000000000 +0530
+++ ../linux-2.6.39.4/Makefile	2011-10-22 06:39:21.397105230 +0530
@@ -237,6 +237,7 @@
 
 HOSTCC       = gcc
 HOSTCXX      = g++
+#Invader Changes
 HOSTCFLAGS   = -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer
 HOSTCXXFLAGS = -O2
 
@@ -320,9 +321,9 @@
 
 # Make variables (CC, etc...)
 
-AS		= $(CROSS_COMPILE)as
-LD		= $(CROSS_COMPILE)ld
-CC		= $(CROSS_COMPILE)gcc
+AS		= $(CROSS_COMPILE)as -mlittle-endian
+LD		= $(CROSS_COMPILE)ld -EL
+CC		= $(CROSS_COMPILE)gcc -mlittle-endian -mno-mfcrf
 CPP		= $(CC) -E
 AR		= $(CROSS_COMPILE)ar
 NM		= $(CROSS_COMPILE)nm
@@ -359,10 +360,12 @@
 		   -fno-strict-aliasing -fno-common \
 		   -Werror-implicit-function-declaration \
 		   -Wno-format-security \
-		   -fno-delete-null-pointer-checks
+		   -fno-delete-null-pointer-checks \
+		   -mlittle-endian \
+		   -fsigned-char
 KBUILD_AFLAGS_KERNEL :=
 KBUILD_CFLAGS_KERNEL :=
-KBUILD_AFLAGS   := -D__ASSEMBLY__
+KBUILD_AFLAGS   := -D__ASSEMBLY__ -mlittle-endian
 KBUILD_AFLAGS_MODULE  := -DMODULE
 KBUILD_CFLAGS_MODULE  := -DMODULE
 KBUILD_LDFLAGS_MODULE := -T $(srctree)/scripts/module-common.lds
@@ -545,6 +548,7 @@
 ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
 KBUILD_CFLAGS	+= -Os
 else
+#Invader Changes
 KBUILD_CFLAGS	+= -O2
 endif
 


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: powerpc 476, Little-endian, pte fault
  2011-11-01  3:02         ` Santosh Kumar
@ 2011-11-01 13:44           ` Peter Bergner
  2011-11-01 17:14             ` Santosh Kumar
  0 siblings, 1 reply; 9+ messages in thread
From: Peter Bergner @ 2011-11-01 13:44 UTC (permalink / raw)
  To: Santosh Kumar; +Cc: Michael Neuling, Ian Munsie, linux-kernel, linuxppc-dev

On Tue, 2011-11-01 at 08:32 +0530, Santosh Kumar wrote:
> I am using the same compiler as 476 & 440 instruction is almost the same.

Well the 476 implements ISA 2.05, which I think has added a fair amount
over the 440.  Not to mention the 476 core that has been released has
a FP unit.  I'll note that GCC has support for a 476 with and without
a FP unit, even though AFAIK, we only ship one with a FP unit.
The relevant options are -mcpu=476 (no FP unit) and -mcpu=476fp
(with FP unit).  Basically, -mcpu=476 is equivalent to
-mcpu=476fp -msoft-float.



> @@ -53,7 +58,12 @@
>         mullw   r10,r0,r4       # and get the remainder
>         add     r8,r8,r0
>         subf    r6,r10,r6
> +#ifdef CONFIG_INVADER
>  4:     stw     r7,0(r3)        # return the quotient in *r3
>         stw     r8,4(r3)
> +#else
> +4:     stw     r7,0(r3)        # return the quotient in *r3
> +       stw     r8,4(r3)
> +#endif
>         mr      r3,r6           # return the remainder in r3
>         blr

This looks like a typo, since you didn't actually swap the offsets
on the stw's like you did in all of the other patch hunks.


Peter

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: powerpc 476, Little-endian, pte fault
  2011-11-01 13:44           ` Peter Bergner
@ 2011-11-01 17:14             ` Santosh Kumar
  2011-11-01 18:44               ` Peter Bergner
  0 siblings, 1 reply; 9+ messages in thread
From: Santosh Kumar @ 2011-11-01 17:14 UTC (permalink / raw)
  To: Peter Bergner; +Cc: Michael Neuling, Ian Munsie, linux-kernel, linuxppc-dev

> The relevant options are -mcpu=3D476 (no FP unit) and -mcpu=3D476fp> (wit=
h FP unit). =A0Basically, -mcpu=3D476 is equivalent to> -mcpu=3D476fp -msof=
t-float.
Yes what you have mentioned is right.

I had a problem configuring the GCC for 476 in little endian mode,
therefore I am using 440 compiler. As this compiler doesn't accept
-mcpu=3D476 i am using -mcpu=3D440.

So is this PTE fault related to the compiler options?

Thanks,
Santosh Kumar .A

On 1 November 2011 19:14, Peter Bergner <bergner@vnet.ibm.com> wrote:
> On Tue, 2011-11-01 at 08:32 +0530, Santosh Kumar wrote:
>> I am using the same compiler as 476 & 440 instruction is almost the same=
.
>
> Well the 476 implements ISA 2.05, which I think has added a fair amount
> over the 440. =A0Not to mention the 476 core that has been released has
> a FP unit. =A0I'll note that GCC has support for a 476 with and without
> a FP unit, even though AFAIK, we only ship one with a FP unit.
> The relevant options are -mcpu=3D476 (no FP unit) and -mcpu=3D476fp
> (with FP unit). =A0Basically, -mcpu=3D476 is equivalent to
> -mcpu=3D476fp -msoft-float.
>
>
>
>> @@ -53,7 +58,12 @@
>> =A0 =A0 =A0 =A0 mullw =A0 r10,r0,r4 =A0 =A0 =A0 # and get the remainder
>> =A0 =A0 =A0 =A0 add =A0 =A0 r8,r8,r0
>> =A0 =A0 =A0 =A0 subf =A0 =A0r6,r10,r6
>> +#ifdef CONFIG_INVADER
>> =A04: =A0 =A0 stw =A0 =A0 r7,0(r3) =A0 =A0 =A0 =A0# return the quotient =
in *r3
>> =A0 =A0 =A0 =A0 stw =A0 =A0 r8,4(r3)
>> +#else
>> +4: =A0 =A0 stw =A0 =A0 r7,0(r3) =A0 =A0 =A0 =A0# return the quotient in=
 *r3
>> + =A0 =A0 =A0 stw =A0 =A0 r8,4(r3)
>> +#endif
>> =A0 =A0 =A0 =A0 mr =A0 =A0 =A0r3,r6 =A0 =A0 =A0 =A0 =A0 # return the rem=
ainder in r3
>> =A0 =A0 =A0 =A0 blr
>
> This looks like a typo, since you didn't actually swap the offsets
> on the stw's like you did in all of the other patch hunks.
>
>
> Peter
>
>
>
>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: powerpc 476, Little-endian, pte fault
  2011-11-01 17:14             ` Santosh Kumar
@ 2011-11-01 18:44               ` Peter Bergner
  0 siblings, 0 replies; 9+ messages in thread
From: Peter Bergner @ 2011-11-01 18:44 UTC (permalink / raw)
  To: Santosh Kumar; +Cc: Michael Neuling, Ian Munsie, linux-kernel, linuxppc-dev

On Tue, 2011-11-01 at 22:44 +0530, Santosh Kumar wrote:
> I had a problem configuring the GCC for 476 in little endian mode,

What type of problem?  I assume the binutils you are building
against has 476 support too, correct?  You'll need that.


> So is this PTE fault related to the compiler options?

This could be caused by anything, but I highly doubt this is
caused by a compiler option issue.  My $$ are that you either
have a bug in your kernel patch or there are more places in
the kernel source that need patching.

Peter

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2011-11-01 18:54 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <CAJw04pD24W_nGSLheWunCa_o7QqBmRf_TSAD44EkzazigRe_nQ@mail.gmail.com>
2011-10-31  5:51 ` powerpc 476, Little-endian, pte fault Michael Neuling
2011-10-31  6:35   ` Santosh Kumar
2011-10-31  7:38     ` Santosh Kumar
2011-10-31  9:49     ` Michael Neuling
2011-10-31 11:23       ` Benjamin Herrenschmidt
2011-11-01  3:02         ` Santosh Kumar
2011-11-01 13:44           ` Peter Bergner
2011-11-01 17:14             ` Santosh Kumar
2011-11-01 18:44               ` Peter Bergner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).