summaryrefslogtreecommitdiffstats
path: root/meta/packages/linux
diff options
context:
space:
mode:
authorRichard Purdie <richard@openedhand.com>2007-07-01 17:59:39 +0000
committerRichard Purdie <richard@openedhand.com>2007-07-01 17:59:39 +0000
commit5d15f67fb231ca76b935cd940b1bf5644ee2f3c1 (patch)
treed3d860e1cdec9e7f78502c883ca46cb8b5f187d0 /meta/packages/linux
parent1e6f5d36fe5b595b4d36c19ff243a32c6fa0d750 (diff)
downloadpoky-5d15f67fb231ca76b935cd940b1bf5644ee2f3c1.tar.gz
Add linux-rp-2.6.22-rc6 for testing (not default)
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2071 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages/linux')
-rw-r--r--meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/connectplus-remove-ide-HACK.patch12
-rw-r--r--meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-akita1743
-rw-r--r--meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-bootcdx861606
-rw-r--r--meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-c7x01786
-rw-r--r--meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-collie1739
-rw-r--r--meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-hx20001165
-rw-r--r--meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-poodle1656
-rw-r--r--meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-qemuarm1193
-rw-r--r--meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-qemux861567
-rw-r--r--meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-spitz1706
-rw-r--r--meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-tosa1612
-rw-r--r--meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/hostap-monitor-mode.patch209
-rw-r--r--meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/orinoco-remove-all-which-are-in-hostap-HACK.patch88
-rw-r--r--meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/pxa-serial-hack.patch90
-rw-r--r--meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch155
-rw-r--r--meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/squashfs3.0-2.6.15.patch4189
-rw-r--r--meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/vesafb-tng-1.0-rc2-2.6.20-rc2.patch3141
-rw-r--r--meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/wm97xx-lcdnoise-r0.patch208
-rw-r--r--meta/packages/linux/linux-rp_2.6.21+2.6.22-rc6.bb112
19 files changed, 23977 insertions, 0 deletions
diff --git a/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/connectplus-remove-ide-HACK.patch b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/connectplus-remove-ide-HACK.patch
new file mode 100644
index 0000000000..4414b21191
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/connectplus-remove-ide-HACK.patch
@@ -0,0 +1,12 @@
1Index: linux-2.6.13/drivers/ide/legacy/ide-cs.c
2===================================================================
3--- linux-2.6.13.orig/drivers/ide/legacy/ide-cs.c 2005-09-01 22:43:46.000000000 +0100
4+++ linux-2.6.13/drivers/ide/legacy/ide-cs.c 2005-09-01 22:45:46.000000000 +0100
5@@ -488,7 +488,6 @@
6 PCMCIA_DEVICE_PROD_ID123("KODAK Picture Card ", "KODAK ", "V100K", 0x94a0d8f3, 0xe4fc3ea0, 0xe5e7eed4),
7 PCMCIA_DEVICE_PROD_ID1("STI Flash", 0xe4a13209),
8 PCMCIA_DEVICE_PROD_ID12("STI", "Flash 5.0", 0xbf2df18d, 0x8cb57a0e),
9- PCMCIA_MFC_DEVICE_PROD_ID12(1, "SanDisk", "ConnectPlus", 0x7a954bd9, 0x74be00c6),
10 PCMCIA_DEVICE_NULL,
11 };
12 MODULE_DEVICE_TABLE(pcmcia, ide_ids);
diff --git a/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-akita b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-akita
new file mode 100644
index 0000000000..748ab41d22
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-akita
@@ -0,0 +1,1743 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.20
4# Thu Mar 29 12:24:24 2007
5#
6CONFIG_ARM=y
7# CONFIG_GENERIC_TIME is not set
8CONFIG_MMU=y
9CONFIG_GENERIC_HARDIRQS=y
10CONFIG_TRACE_IRQFLAGS_SUPPORT=y
11CONFIG_HARDIRQS_SW_RESEND=y
12CONFIG_GENERIC_IRQ_PROBE=y
13CONFIG_RWSEM_GENERIC_SPINLOCK=y
14# CONFIG_ARCH_HAS_ILOG2_U32 is not set
15# CONFIG_ARCH_HAS_ILOG2_U64 is not set
16CONFIG_GENERIC_HWEIGHT=y
17CONFIG_GENERIC_CALIBRATE_DELAY=y
18CONFIG_ARCH_MTD_XIP=y
19CONFIG_VECTORS_BASE=0xffff0000
20CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
21
22#
23# Code maturity level options
24#
25CONFIG_EXPERIMENTAL=y
26CONFIG_BROKEN_ON_SMP=y
27CONFIG_LOCK_KERNEL=y
28CONFIG_INIT_ENV_ARG_LIMIT=32
29
30#
31# General setup
32#
33CONFIG_LOCALVERSION=""
34CONFIG_LOCALVERSION_AUTO=y
35CONFIG_SWAP=y
36CONFIG_SYSVIPC=y
37# CONFIG_IPC_NS is not set
38# CONFIG_POSIX_MQUEUE is not set
39CONFIG_BSD_PROCESS_ACCT=y
40# CONFIG_BSD_PROCESS_ACCT_V3 is not set
41# CONFIG_TASKSTATS is not set
42# CONFIG_UTS_NS is not set
43# CONFIG_AUDIT is not set
44# CONFIG_IKCONFIG is not set
45CONFIG_SYSFS_DEPRECATED=y
46# CONFIG_RELAY is not set
47CONFIG_INITRAMFS_SOURCE=""
48CONFIG_CC_OPTIMIZE_FOR_SIZE=y
49CONFIG_SYSCTL=y
50CONFIG_EMBEDDED=y
51CONFIG_UID16=y
52CONFIG_SYSCTL_SYSCALL=y
53CONFIG_KALLSYMS=y
54# CONFIG_KALLSYMS_ALL is not set
55# CONFIG_KALLSYMS_EXTRA_PASS is not set
56CONFIG_HOTPLUG=y
57CONFIG_PRINTK=y
58CONFIG_BUG=y
59CONFIG_ELF_CORE=y
60CONFIG_BASE_FULL=y
61CONFIG_FUTEX=y
62CONFIG_EPOLL=y
63CONFIG_SHMEM=y
64CONFIG_SLAB=y
65CONFIG_VM_EVENT_COUNTERS=y
66CONFIG_RT_MUTEXES=y
67# CONFIG_TINY_SHMEM is not set
68CONFIG_BASE_SMALL=0
69# CONFIG_SLOB is not set
70
71#
72# Loadable module support
73#
74CONFIG_MODULES=y
75CONFIG_MODULE_UNLOAD=y
76CONFIG_MODULE_FORCE_UNLOAD=y
77# CONFIG_MODVERSIONS is not set
78# CONFIG_MODULE_SRCVERSION_ALL is not set
79CONFIG_KMOD=y
80
81#
82# Block layer
83#
84CONFIG_BLOCK=y
85# CONFIG_LBD is not set
86# CONFIG_BLK_DEV_IO_TRACE is not set
87# CONFIG_LSF is not set
88
89#
90# IO Schedulers
91#
92CONFIG_IOSCHED_NOOP=y
93CONFIG_IOSCHED_AS=y
94CONFIG_IOSCHED_DEADLINE=m
95CONFIG_IOSCHED_CFQ=m
96CONFIG_DEFAULT_AS=y
97# CONFIG_DEFAULT_DEADLINE is not set
98# CONFIG_DEFAULT_CFQ is not set
99# CONFIG_DEFAULT_NOOP is not set
100CONFIG_DEFAULT_IOSCHED="anticipatory"
101
102#
103# System Type
104#
105# CONFIG_ARCH_AAEC2000 is not set
106# CONFIG_ARCH_INTEGRATOR is not set
107# CONFIG_ARCH_REALVIEW is not set
108# CONFIG_ARCH_VERSATILE is not set
109# CONFIG_ARCH_AT91 is not set
110# CONFIG_ARCH_CLPS7500 is not set
111# CONFIG_ARCH_CLPS711X is not set
112# CONFIG_ARCH_CO285 is not set
113# CONFIG_ARCH_EBSA110 is not set
114# CONFIG_ARCH_EP93XX is not set
115# CONFIG_ARCH_FOOTBRIDGE is not set
116# CONFIG_ARCH_NETX is not set
117# CONFIG_ARCH_H720X is not set
118# CONFIG_ARCH_IMX is not set
119# CONFIG_ARCH_IOP32X is not set
120# CONFIG_ARCH_IOP33X is not set
121# CONFIG_ARCH_IOP13XX is not set
122# CONFIG_ARCH_IXP4XX is not set
123# CONFIG_ARCH_IXP2000 is not set
124# CONFIG_ARCH_IXP23XX is not set
125# CONFIG_ARCH_L7200 is not set
126# CONFIG_ARCH_PNX4008 is not set
127CONFIG_ARCH_PXA=y
128# CONFIG_ARCH_RPC is not set
129# CONFIG_ARCH_SA1100 is not set
130# CONFIG_ARCH_S3C2410 is not set
131# CONFIG_ARCH_SHARK is not set
132# CONFIG_ARCH_LH7A40X is not set
133# CONFIG_ARCH_OMAP is not set
134
135#
136# Intel PXA2xx Implementations
137#
138# CONFIG_ARCH_LUBBOCK is not set
139# CONFIG_MACH_LOGICPD_PXA270 is not set
140# CONFIG_MACH_MAINSTONE is not set
141# CONFIG_ARCH_PXA_IDP is not set
142CONFIG_PXA_SHARPSL=y
143# CONFIG_MACH_TRIZEPS4 is not set
144# CONFIG_MACH_HX2750 is not set
145# CONFIG_PXA_SHARPSL_25x is not set
146CONFIG_PXA_SHARPSL_27x=y
147CONFIG_MACH_AKITA=y
148CONFIG_MACH_SPITZ=y
149CONFIG_MACH_BORZOI=y
150CONFIG_PXA27x=y
151CONFIG_PXA_SHARP_Cxx00=y
152CONFIG_PXA_SSP=y
153# CONFIG_PXA_KEYS is not set
154
155#
156# Processor Type
157#
158CONFIG_CPU_32=y
159CONFIG_CPU_XSCALE=y
160CONFIG_CPU_32v5=y
161CONFIG_CPU_ABRT_EV5T=y
162CONFIG_CPU_CACHE_VIVT=y
163CONFIG_CPU_TLB_V4WBI=y
164CONFIG_CPU_CP15=y
165CONFIG_CPU_CP15_MMU=y
166
167#
168# Processor Features
169#
170CONFIG_ARM_THUMB=y
171# CONFIG_CPU_DCACHE_DISABLE is not set
172CONFIG_IWMMXT=y
173CONFIG_XSCALE_PMU=y
174CONFIG_SHARP_PARAM=y
175CONFIG_SHARPSL_PM=y
176CONFIG_SHARP_SCOOP=y
177
178#
179# Bus support
180#
181
182#
183# PCCARD (PCMCIA/CardBus) support
184#
185CONFIG_PCCARD=y
186# CONFIG_PCMCIA_DEBUG is not set
187CONFIG_PCMCIA=y
188CONFIG_PCMCIA_LOAD_CIS=y
189CONFIG_PCMCIA_IOCTL=y
190
191#
192# PC-card bridges
193#
194CONFIG_PCMCIA_PXA2XX=y
195
196#
197# Kernel Features
198#
199CONFIG_PREEMPT=y
200CONFIG_NO_IDLE_HZ=y
201CONFIG_HZ=100
202CONFIG_AEABI=y
203CONFIG_OABI_COMPAT=y
204# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
205CONFIG_SELECT_MEMORY_MODEL=y
206CONFIG_FLATMEM_MANUAL=y
207# CONFIG_DISCONTIGMEM_MANUAL is not set
208# CONFIG_SPARSEMEM_MANUAL is not set
209CONFIG_FLATMEM=y
210CONFIG_FLAT_NODE_MEM_MAP=y
211# CONFIG_SPARSEMEM_STATIC is not set
212CONFIG_SPLIT_PTLOCK_CPUS=4096
213# CONFIG_RESOURCES_64BIT is not set
214CONFIG_ALIGNMENT_TRAP=y
215
216#
217# Boot options
218#
219CONFIG_ZBOOT_ROM_TEXT=0x0
220CONFIG_ZBOOT_ROM_BSS=0x0
221CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 noinitrd root=/dev/mtdblock2 rootfstype=jffs2 fbcon=rotate:1 dyntick=enable quiet"
222# CONFIG_XIP_KERNEL is not set
223CONFIG_KEXEC=y
224
225#
226# CPU Frequency scaling
227#
228# CONFIG_CPU_FREQ is not set
229
230#
231# Floating point emulation
232#
233
234#
235# At least one emulation must be selected
236#
237CONFIG_FPE_NWFPE=y
238# CONFIG_FPE_NWFPE_XP is not set
239# CONFIG_FPE_FASTFPE is not set
240
241#
242# Userspace binary formats
243#
244CONFIG_BINFMT_ELF=y
245CONFIG_BINFMT_AOUT=m
246CONFIG_BINFMT_MISC=m
247
248#
249# Power management options
250#
251CONFIG_PM=y
252# CONFIG_PM_LEGACY is not set
253# CONFIG_PM_DEBUG is not set
254# CONFIG_PM_SYSFS_DEPRECATED is not set
255CONFIG_APM=y
256
257#
258# Networking
259#
260CONFIG_NET=y
261
262#
263# Networking options
264#
265# CONFIG_NETDEBUG is not set
266CONFIG_PACKET=y
267CONFIG_PACKET_MMAP=y
268CONFIG_UNIX=y
269CONFIG_XFRM=y
270# CONFIG_XFRM_USER is not set
271# CONFIG_XFRM_SUB_POLICY is not set
272# CONFIG_NET_KEY is not set
273CONFIG_INET=y
274# CONFIG_IP_MULTICAST is not set
275# CONFIG_IP_ADVANCED_ROUTER is not set
276CONFIG_IP_FIB_HASH=y
277# CONFIG_IP_PNP is not set
278# CONFIG_NET_IPIP is not set
279# CONFIG_NET_IPGRE is not set
280# CONFIG_ARPD is not set
281CONFIG_SYN_COOKIES=y
282# CONFIG_INET_AH is not set
283# CONFIG_INET_ESP is not set
284# CONFIG_INET_IPCOMP is not set
285# CONFIG_INET_XFRM_TUNNEL is not set
286# CONFIG_INET_TUNNEL is not set
287CONFIG_INET_XFRM_MODE_TRANSPORT=y
288CONFIG_INET_XFRM_MODE_TUNNEL=y
289CONFIG_INET_XFRM_MODE_BEET=y
290CONFIG_INET_DIAG=m
291CONFIG_INET_TCP_DIAG=m
292# CONFIG_TCP_CONG_ADVANCED is not set
293CONFIG_TCP_CONG_CUBIC=y
294CONFIG_DEFAULT_TCP_CONG="cubic"
295# CONFIG_TCP_MD5SIG is not set
296
297#
298# IP: Virtual Server Configuration
299#
300# CONFIG_IP_VS is not set
301CONFIG_IPV6=m
302# CONFIG_IPV6_PRIVACY is not set
303# CONFIG_IPV6_ROUTER_PREF is not set
304CONFIG_INET6_AH=m
305CONFIG_INET6_ESP=m
306CONFIG_INET6_IPCOMP=m
307# CONFIG_IPV6_MIP6 is not set
308CONFIG_INET6_XFRM_TUNNEL=m
309CONFIG_INET6_TUNNEL=m
310CONFIG_INET6_XFRM_MODE_TRANSPORT=m
311CONFIG_INET6_XFRM_MODE_TUNNEL=m
312CONFIG_INET6_XFRM_MODE_BEET=m
313# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
314CONFIG_IPV6_SIT=m
315CONFIG_IPV6_TUNNEL=m
316# CONFIG_IPV6_MULTIPLE_TABLES is not set
317# CONFIG_NETWORK_SECMARK is not set
318CONFIG_NETFILTER=y
319# CONFIG_NETFILTER_DEBUG is not set
320
321#
322# Core Netfilter Configuration
323#
324# CONFIG_NETFILTER_NETLINK is not set
325# CONFIG_NF_CONNTRACK_ENABLED is not set
326# CONFIG_NETFILTER_XTABLES is not set
327
328#
329# IP: Netfilter Configuration
330#
331CONFIG_IP_NF_QUEUE=m
332
333#
334# IPv6: Netfilter Configuration (EXPERIMENTAL)
335#
336# CONFIG_IP6_NF_QUEUE is not set
337
338#
339# DCCP Configuration (EXPERIMENTAL)
340#
341# CONFIG_IP_DCCP is not set
342
343#
344# SCTP Configuration (EXPERIMENTAL)
345#
346# CONFIG_IP_SCTP is not set
347
348#
349# TIPC Configuration (EXPERIMENTAL)
350#
351# CONFIG_TIPC is not set
352# CONFIG_ATM is not set
353# CONFIG_BRIDGE is not set
354# CONFIG_VLAN_8021Q is not set
355# CONFIG_DECNET is not set
356# CONFIG_LLC2 is not set
357# CONFIG_IPX is not set
358# CONFIG_ATALK is not set
359# CONFIG_X25 is not set
360# CONFIG_LAPB is not set
361# CONFIG_ECONET is not set
362# CONFIG_WAN_ROUTER is not set
363
364#
365# QoS and/or fair queueing
366#
367# CONFIG_NET_SCHED is not set
368
369#
370# Network testing
371#
372# CONFIG_NET_PKTGEN is not set
373# CONFIG_HAMRADIO is not set
374CONFIG_IRDA=m
375
376#
377# IrDA protocols
378#
379CONFIG_IRLAN=m
380CONFIG_IRNET=m
381CONFIG_IRCOMM=m
382# CONFIG_IRDA_ULTRA is not set
383
384#
385# IrDA options
386#
387# CONFIG_IRDA_CACHE_LAST_LSAP is not set
388# CONFIG_IRDA_FAST_RR is not set
389# CONFIG_IRDA_DEBUG is not set
390
391#
392# Infrared-port device drivers
393#
394
395#
396# SIR device drivers
397#
398# CONFIG_IRTTY_SIR is not set
399
400#
401# Dongle support
402#
403
404#
405# Old SIR device drivers
406#
407# CONFIG_IRPORT_SIR is not set
408
409#
410# Old Serial dongle support
411#
412
413#
414# FIR device drivers
415#
416# CONFIG_USB_IRDA is not set
417# CONFIG_SIGMATEL_FIR is not set
418CONFIG_PXA_FICP=m
419# CONFIG_MCS_FIR is not set
420CONFIG_BT=m
421CONFIG_BT_L2CAP=m
422CONFIG_BT_SCO=m
423CONFIG_BT_RFCOMM=m
424CONFIG_BT_RFCOMM_TTY=y
425CONFIG_BT_BNEP=m
426CONFIG_BT_BNEP_MC_FILTER=y
427CONFIG_BT_BNEP_PROTO_FILTER=y
428CONFIG_BT_HIDP=m
429
430#
431# Bluetooth device drivers
432#
433CONFIG_BT_HCIUSB=m
434# CONFIG_BT_HCIUSB_SCO is not set
435CONFIG_BT_HCIUART=m
436CONFIG_BT_HCIUART_H4=y
437CONFIG_BT_HCIUART_BCSP=y
438CONFIG_BT_HCIBCM203X=m
439CONFIG_BT_HCIBPA10X=m
440CONFIG_BT_HCIBFUSB=m
441CONFIG_BT_HCIDTL1=m
442CONFIG_BT_HCIBT3C=m
443CONFIG_BT_HCIBLUECARD=m
444CONFIG_BT_HCIBTUART=m
445CONFIG_BT_HCIVHCI=m
446CONFIG_IEEE80211=m
447# CONFIG_IEEE80211_DEBUG is not set
448CONFIG_IEEE80211_CRYPT_WEP=m
449CONFIG_IEEE80211_CRYPT_CCMP=m
450CONFIG_IEEE80211_CRYPT_TKIP=m
451# CONFIG_IEEE80211_SOFTMAC is not set
452CONFIG_WIRELESS_EXT=y
453
454#
455# Device Drivers
456#
457
458#
459# Generic Driver Options
460#
461CONFIG_STANDALONE=y
462CONFIG_PREVENT_FIRMWARE_BUILD=y
463CONFIG_FW_LOADER=y
464# CONFIG_DEBUG_DRIVER is not set
465# CONFIG_SYS_HYPERVISOR is not set
466
467#
468# Connector - unified userspace <-> kernelspace linker
469#
470# CONFIG_CONNECTOR is not set
471
472#
473# Memory Technology Devices (MTD)
474#
475CONFIG_MTD=y
476# CONFIG_MTD_DEBUG is not set
477# CONFIG_MTD_CONCAT is not set
478CONFIG_MTD_PARTITIONS=y
479# CONFIG_MTD_REDBOOT_PARTS is not set
480CONFIG_MTD_CMDLINE_PARTS=y
481# CONFIG_MTD_AFS_PARTS is not set
482
483#
484# User Modules And Translation Layers
485#
486CONFIG_MTD_CHAR=y
487CONFIG_MTD_BLKDEVS=y
488CONFIG_MTD_BLOCK=y
489# CONFIG_FTL is not set
490# CONFIG_NFTL is not set
491# CONFIG_INFTL is not set
492# CONFIG_RFD_FTL is not set
493# CONFIG_SSFDC is not set
494
495#
496# RAM/ROM/Flash chip drivers
497#
498# CONFIG_MTD_CFI is not set
499# CONFIG_MTD_JEDECPROBE is not set
500CONFIG_MTD_MAP_BANK_WIDTH_1=y
501CONFIG_MTD_MAP_BANK_WIDTH_2=y
502CONFIG_MTD_MAP_BANK_WIDTH_4=y
503# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
504# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
505# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
506CONFIG_MTD_CFI_I1=y
507CONFIG_MTD_CFI_I2=y
508# CONFIG_MTD_CFI_I4 is not set
509# CONFIG_MTD_CFI_I8 is not set
510# CONFIG_MTD_RAM is not set
511CONFIG_MTD_ROM=y
512# CONFIG_MTD_ABSENT is not set
513# CONFIG_MTD_OBSOLETE_CHIPS is not set
514
515#
516# Mapping drivers for chip access
517#
518CONFIG_MTD_COMPLEX_MAPPINGS=y
519# CONFIG_MTD_PHYSMAP is not set
520CONFIG_MTD_SHARP_SL=y
521# CONFIG_MTD_PLATRAM is not set
522
523#
524# Self-contained MTD device drivers
525#
526# CONFIG_MTD_SLRAM is not set
527# CONFIG_MTD_PHRAM is not set
528# CONFIG_MTD_MTDRAM is not set
529# CONFIG_MTD_BLOCK2MTD is not set
530
531#
532# Disk-On-Chip Device Drivers
533#
534# CONFIG_MTD_DOC2000 is not set
535# CONFIG_MTD_DOC2001 is not set
536# CONFIG_MTD_DOC2001PLUS is not set
537
538#
539# NAND Flash Device Drivers
540#
541CONFIG_MTD_NAND=y
542CONFIG_MTD_NAND_VERIFY_WRITE=y
543# CONFIG_MTD_NAND_ECC_SMC is not set
544# CONFIG_MTD_NAND_H1900 is not set
545CONFIG_MTD_NAND_IDS=y
546# CONFIG_MTD_NAND_DISKONCHIP is not set
547CONFIG_MTD_NAND_SHARPSL=y
548# CONFIG_MTD_NAND_NANDSIM is not set
549
550#
551# OneNAND Flash Device Drivers
552#
553# CONFIG_MTD_ONENAND is not set
554
555#
556# Parallel port support
557#
558# CONFIG_PARPORT is not set
559
560#
561# Plug and Play support
562#
563
564#
565# Block devices
566#
567# CONFIG_BLK_DEV_COW_COMMON is not set
568CONFIG_BLK_DEV_LOOP=y
569# CONFIG_BLK_DEV_CRYPTOLOOP is not set
570# CONFIG_BLK_DEV_NBD is not set
571# CONFIG_BLK_DEV_UB is not set
572# CONFIG_BLK_DEV_RAM is not set
573# CONFIG_BLK_DEV_INITRD is not set
574# CONFIG_CDROM_PKTCDVD is not set
575# CONFIG_ATA_OVER_ETH is not set
576
577#
578# ATA/ATAPI/MFM/RLL support
579#
580CONFIG_IDE=y
581CONFIG_IDE_MAX_HWIFS=4
582CONFIG_BLK_DEV_IDE=y
583
584#
585# Please see Documentation/ide.txt for help/info on IDE drives
586#
587# CONFIG_BLK_DEV_IDE_SATA is not set
588CONFIG_BLK_DEV_IDEDISK=y
589# CONFIG_IDEDISK_MULTI_MODE is not set
590CONFIG_BLK_DEV_IDECS=y
591# CONFIG_BLK_DEV_IDECD is not set
592# CONFIG_BLK_DEV_IDETAPE is not set
593# CONFIG_BLK_DEV_IDEFLOPPY is not set
594# CONFIG_BLK_DEV_IDESCSI is not set
595# CONFIG_IDE_TASK_IOCTL is not set
596
597#
598# IDE chipset support/bugfixes
599#
600CONFIG_IDE_GENERIC=y
601# CONFIG_IDE_ARM is not set
602# CONFIG_BLK_DEV_IDEDMA is not set
603# CONFIG_IDEDMA_AUTO is not set
604# CONFIG_BLK_DEV_HD is not set
605
606#
607# SCSI device support
608#
609# CONFIG_RAID_ATTRS is not set
610CONFIG_SCSI=m
611# CONFIG_SCSI_TGT is not set
612# CONFIG_SCSI_NETLINK is not set
613CONFIG_SCSI_PROC_FS=y
614
615#
616# SCSI support type (disk, tape, CD-ROM)
617#
618CONFIG_BLK_DEV_SD=m
619CONFIG_CHR_DEV_ST=m
620CONFIG_CHR_DEV_OSST=m
621CONFIG_BLK_DEV_SR=m
622# CONFIG_BLK_DEV_SR_VENDOR is not set
623CONFIG_CHR_DEV_SG=m
624# CONFIG_CHR_DEV_SCH is not set
625
626#
627# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
628#
629CONFIG_SCSI_MULTI_LUN=y
630# CONFIG_SCSI_CONSTANTS is not set
631# CONFIG_SCSI_LOGGING is not set
632# CONFIG_SCSI_SCAN_ASYNC is not set
633
634#
635# SCSI Transports
636#
637# CONFIG_SCSI_SPI_ATTRS is not set
638# CONFIG_SCSI_FC_ATTRS is not set
639# CONFIG_SCSI_ISCSI_ATTRS is not set
640# CONFIG_SCSI_SAS_ATTRS is not set
641# CONFIG_SCSI_SAS_LIBSAS is not set
642
643#
644# SCSI low-level drivers
645#
646# CONFIG_ISCSI_TCP is not set
647# CONFIG_SCSI_DEBUG is not set
648
649#
650# PCMCIA SCSI adapter support
651#
652# CONFIG_PCMCIA_AHA152X is not set
653# CONFIG_PCMCIA_FDOMAIN is not set
654# CONFIG_PCMCIA_NINJA_SCSI is not set
655# CONFIG_PCMCIA_QLOGIC is not set
656# CONFIG_PCMCIA_SYM53C500 is not set
657
658#
659# Serial ATA (prod) and Parallel ATA (experimental) drivers
660#
661# CONFIG_ATA is not set
662
663#
664# Multi-device support (RAID and LVM)
665#
666CONFIG_MD=y
667# CONFIG_BLK_DEV_MD is not set
668CONFIG_BLK_DEV_DM=m
669# CONFIG_DM_DEBUG is not set
670CONFIG_DM_CRYPT=m
671CONFIG_DM_SNAPSHOT=m
672CONFIG_DM_MIRROR=m
673CONFIG_DM_ZERO=m
674CONFIG_DM_MULTIPATH=m
675CONFIG_DM_MULTIPATH_EMC=m
676
677#
678# Fusion MPT device support
679#
680# CONFIG_FUSION is not set
681
682#
683# IEEE 1394 (FireWire) support
684#
685
686#
687# I2O device support
688#
689
690#
691# Network device support
692#
693CONFIG_NETDEVICES=y
694# CONFIG_DUMMY is not set
695# CONFIG_BONDING is not set
696# CONFIG_EQUALIZER is not set
697CONFIG_TUN=m
698
699#
700# PHY device support
701#
702# CONFIG_PHYLIB is not set
703
704#
705# Ethernet (10 or 100Mbit)
706#
707CONFIG_NET_ETHERNET=y
708CONFIG_MII=m
709# CONFIG_SMC91X is not set
710# CONFIG_DM9000 is not set
711# CONFIG_SMC911X is not set
712
713#
714# Ethernet (1000 Mbit)
715#
716
717#
718# Ethernet (10000 Mbit)
719#
720
721#
722# Token Ring devices
723#
724
725#
726# Wireless LAN (non-hamradio)
727#
728CONFIG_NET_RADIO=y
729# CONFIG_NET_WIRELESS_RTNETLINK is not set
730
731#
732# Obsolete Wireless cards support (pre-802.11)
733#
734# CONFIG_STRIP is not set
735# CONFIG_PCMCIA_WAVELAN is not set
736# CONFIG_PCMCIA_NETWAVE is not set
737
738#
739# Wireless 802.11 Frequency Hopping cards support
740#
741# CONFIG_PCMCIA_RAYCS is not set
742
743#
744# Wireless 802.11b ISA/PCI cards support
745#
746CONFIG_HERMES=m
747# CONFIG_ATMEL is not set
748
749#
750# Wireless 802.11b Pcmcia/Cardbus cards support
751#
752CONFIG_PCMCIA_HERMES=m
753CONFIG_PCMCIA_SPECTRUM=m
754# CONFIG_AIRO_CS is not set
755# CONFIG_PCMCIA_WL3501 is not set
756# CONFIG_USB_ZD1201 is not set
757CONFIG_HOSTAP=m
758CONFIG_HOSTAP_FIRMWARE=y
759# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
760CONFIG_HOSTAP_CS=m
761CONFIG_NET_WIRELESS=y
762
763#
764# PCMCIA network device support
765#
766CONFIG_NET_PCMCIA=y
767# CONFIG_PCMCIA_3C589 is not set
768# CONFIG_PCMCIA_3C574 is not set
769# CONFIG_PCMCIA_FMVJ18X is not set
770CONFIG_PCMCIA_PCNET=m
771# CONFIG_PCMCIA_NMCLAN is not set
772# CONFIG_PCMCIA_SMC91C92 is not set
773# CONFIG_PCMCIA_XIRC2PS is not set
774# CONFIG_PCMCIA_AXNET is not set
775
776#
777# Wan interfaces
778#
779# CONFIG_WAN is not set
780CONFIG_PPP=m
781# CONFIG_PPP_MULTILINK is not set
782# CONFIG_PPP_FILTER is not set
783CONFIG_PPP_ASYNC=m
784# CONFIG_PPP_SYNC_TTY is not set
785CONFIG_PPP_DEFLATE=m
786CONFIG_PPP_BSDCOMP=m
787# CONFIG_PPP_MPPE is not set
788# CONFIG_PPPOE is not set
789# CONFIG_SLIP is not set
790CONFIG_SLHC=m
791# CONFIG_SHAPER is not set
792# CONFIG_NETCONSOLE is not set
793# CONFIG_NETPOLL is not set
794# CONFIG_NET_POLL_CONTROLLER is not set
795
796#
797# ISDN subsystem
798#
799# CONFIG_ISDN is not set
800
801#
802# Input device support
803#
804CONFIG_INPUT=y
805# CONFIG_INPUT_FF_MEMLESS is not set
806
807#
808# Userland interfaces
809#
810CONFIG_INPUT_MOUSEDEV=m
811# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
812CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
813CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
814# CONFIG_INPUT_JOYDEV is not set
815# CONFIG_INPUT_TSDEV is not set
816CONFIG_INPUT_EVDEV=y
817# CONFIG_INPUT_EVBUG is not set
818CONFIG_INPUT_POWER=y
819
820#
821# Input Device Drivers
822#
823CONFIG_INPUT_KEYBOARD=y
824# CONFIG_KEYBOARD_ATKBD is not set
825# CONFIG_KEYBOARD_SUNKBD is not set
826# CONFIG_KEYBOARD_LKKBD is not set
827# CONFIG_KEYBOARD_XTKBD is not set
828# CONFIG_KEYBOARD_NEWTON is not set
829# CONFIG_KEYBOARD_STOWAWAY is not set
830# CONFIG_KEYBOARD_CORGI is not set
831CONFIG_KEYBOARD_SPITZ=y
832# CONFIG_INPUT_MOUSE is not set
833# CONFIG_INPUT_JOYSTICK is not set
834CONFIG_INPUT_TOUCHSCREEN=y
835CONFIG_TOUCHSCREEN_CORGI=y
836# CONFIG_TOUCHSCREEN_GUNZE is not set
837# CONFIG_TOUCHSCREEN_ELO is not set
838# CONFIG_TOUCHSCREEN_MTOUCH is not set
839# CONFIG_TOUCHSCREEN_MK712 is not set
840# CONFIG_TOUCHSCREEN_PENMOUNT is not set
841# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
842# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
843# CONFIG_TOUCHSCREEN_UCB1400 is not set
844CONFIG_INPUT_MISC=y
845CONFIG_INPUT_UINPUT=m
846
847#
848# Hardware I/O ports
849#
850# CONFIG_SERIO is not set
851# CONFIG_GAMEPORT is not set
852
853#
854# Character devices
855#
856CONFIG_VT=y
857CONFIG_VT_CONSOLE=y
858CONFIG_HW_CONSOLE=y
859# CONFIG_VT_HW_CONSOLE_BINDING is not set
860# CONFIG_SERIAL_NONSTANDARD is not set
861
862#
863# Serial drivers
864#
865CONFIG_SERIAL_8250=m
866CONFIG_SERIAL_8250_CS=m
867CONFIG_SERIAL_8250_NR_UARTS=4
868CONFIG_SERIAL_8250_RUNTIME_UARTS=4
869# CONFIG_SERIAL_8250_EXTENDED is not set
870
871#
872# Non-8250 serial port support
873#
874CONFIG_SERIAL_PXA=y
875CONFIG_SERIAL_PXA_CONSOLE=y
876CONFIG_SERIAL_CORE=y
877CONFIG_SERIAL_CORE_CONSOLE=y
878CONFIG_UNIX98_PTYS=y
879# CONFIG_LEGACY_PTYS is not set
880
881#
882# IPMI
883#
884# CONFIG_IPMI_HANDLER is not set
885
886#
887# Watchdog Cards
888#
889# CONFIG_WATCHDOG is not set
890CONFIG_HW_RANDOM=m
891# CONFIG_NVRAM is not set
892# CONFIG_DTLK is not set
893# CONFIG_R3964 is not set
894
895#
896# PCMCIA character devices
897#
898# CONFIG_SYNCLINK_CS is not set
899# CONFIG_CARDMAN_4000 is not set
900# CONFIG_CARDMAN_4040 is not set
901# CONFIG_RAW_DRIVER is not set
902
903#
904# TPM devices
905#
906# CONFIG_TCG_TPM is not set
907
908#
909# I2C support
910#
911CONFIG_I2C=y
912# CONFIG_I2C_CHARDEV is not set
913
914#
915# I2C Algorithms
916#
917# CONFIG_I2C_ALGOBIT is not set
918# CONFIG_I2C_ALGOPCF is not set
919# CONFIG_I2C_ALGOPCA is not set
920
921#
922# I2C Hardware Bus support
923#
924CONFIG_I2C_PXA=y
925# CONFIG_I2C_PXA_SLAVE is not set
926# CONFIG_I2C_OCORES is not set
927# CONFIG_I2C_PARPORT_LIGHT is not set
928# CONFIG_I2C_STUB is not set
929# CONFIG_I2C_PCA_ISA is not set
930
931#
932# Miscellaneous I2C Chip support
933#
934# CONFIG_SENSORS_DS1337 is not set
935# CONFIG_SENSORS_DS1374 is not set
936# CONFIG_SENSORS_EEPROM is not set
937# CONFIG_SENSORS_PCF8574 is not set
938# CONFIG_SENSORS_PCA9539 is not set
939# CONFIG_SENSORS_PCF8591 is not set
940# CONFIG_SENSORS_MAX6875 is not set
941# CONFIG_I2C_DEBUG_CORE is not set
942# CONFIG_I2C_DEBUG_ALGO is not set
943# CONFIG_I2C_DEBUG_BUS is not set
944# CONFIG_I2C_DEBUG_CHIP is not set
945
946#
947# SPI support
948#
949# CONFIG_SPI is not set
950# CONFIG_SPI_MASTER is not set
951
952#
953# Dallas's 1-wire bus
954#
955# CONFIG_W1 is not set
956
957#
958# Hardware Monitoring support
959#
960# CONFIG_HWMON is not set
961# CONFIG_HWMON_VID is not set
962
963#
964# Misc devices
965#
966# CONFIG_TIFM_CORE is not set
967
968#
969# Multi-Function Devices
970#
971
972#
973# LED devices
974#
975CONFIG_NEW_LEDS=y
976CONFIG_LEDS_CLASS=y
977
978#
979# LED drivers
980#
981CONFIG_LEDS_SPITZ=y
982# CONFIG_LEDS_TOSA is not set
983
984#
985# LED Triggers
986#
987CONFIG_LEDS_TRIGGERS=y
988CONFIG_LEDS_TRIGGER_TIMER=y
989CONFIG_LEDS_TRIGGER_IDE_DISK=y
990# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
991
992#
993# Multimedia devices
994#
995CONFIG_VIDEO_DEV=m
996CONFIG_VIDEO_V4L1=y
997CONFIG_VIDEO_V4L1_COMPAT=y
998CONFIG_VIDEO_V4L2=y
999
1000#
1001# Digital Video Broadcasting Devices
1002#
1003# CONFIG_DVB is not set
1004CONFIG_USB_DABUSB=m
1005
1006#
1007# Graphics support
1008#
1009CONFIG_FIRMWARE_EDID=y
1010CONFIG_FB=y
1011CONFIG_FB_CFB_FILLRECT=y
1012CONFIG_FB_CFB_COPYAREA=y
1013CONFIG_FB_CFB_IMAGEBLIT=y
1014# CONFIG_FB_MACMODES is not set
1015# CONFIG_FB_BACKLIGHT is not set
1016# CONFIG_FB_MODE_HELPERS is not set
1017# CONFIG_FB_TILEBLITTING is not set
1018# CONFIG_FB_S1D13XXX is not set
1019CONFIG_FB_PXA=y
1020CONFIG_FB_PXA_LCD_QVGA=y
1021# CONFIG_FB_PXA_LCD_VGA is not set
1022# CONFIG_FB_PXA_OVERLAY is not set
1023# CONFIG_FB_PXA_PARAMETERS is not set
1024# CONFIG_FB_MBX is not set
1025# CONFIG_FB_W100 is not set
1026# CONFIG_FB_VIRTUAL is not set
1027
1028#
1029# Console display driver support
1030#
1031# CONFIG_VGA_CONSOLE is not set
1032CONFIG_DUMMY_CONSOLE=y
1033CONFIG_FRAMEBUFFER_CONSOLE=y
1034CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
1035CONFIG_FONTS=y
1036# CONFIG_FONT_8x8 is not set
1037CONFIG_FONT_8x16=y
1038# CONFIG_FONT_6x11 is not set
1039# CONFIG_FONT_7x14 is not set
1040# CONFIG_FONT_PEARL_8x8 is not set
1041# CONFIG_FONT_ACORN_8x8 is not set
1042# CONFIG_FONT_MINI_4x6 is not set
1043# CONFIG_FONT_SUN8x16 is not set
1044# CONFIG_FONT_SUN12x22 is not set
1045# CONFIG_FONT_10x18 is not set
1046
1047#
1048# Logo configuration
1049#
1050CONFIG_LOGO=y
1051CONFIG_LOGO_LINUX_MONO=y
1052CONFIG_LOGO_LINUX_VGA16=y
1053# CONFIG_LOGO_LINUX_CLUT224 is not set
1054CONFIG_LOGO_OHAND_CLUT224=y
1055# CONFIG_LOGO_OZ240_CLUT224 is not set
1056# CONFIG_LOGO_OZ480_CLUT224 is not set
1057# CONFIG_LOGO_OZ640_CLUT224 is not set
1058CONFIG_BACKLIGHT_LCD_SUPPORT=y
1059CONFIG_BACKLIGHT_CLASS_DEVICE=y
1060CONFIG_BACKLIGHT_DEVICE=y
1061CONFIG_LCD_CLASS_DEVICE=y
1062CONFIG_LCD_DEVICE=y
1063CONFIG_BACKLIGHT_CORGI=y
1064
1065#
1066# Sound
1067#
1068CONFIG_SOUND=m
1069
1070#
1071# Advanced Linux Sound Architecture
1072#
1073CONFIG_SND=m
1074CONFIG_SND_TIMER=m
1075CONFIG_SND_PCM=m
1076CONFIG_SND_HWDEP=m
1077CONFIG_SND_RAWMIDI=m
1078CONFIG_SND_SEQUENCER=m
1079# CONFIG_SND_SEQ_DUMMY is not set
1080CONFIG_SND_OSSEMUL=y
1081CONFIG_SND_MIXER_OSS=m
1082CONFIG_SND_PCM_OSS=m
1083CONFIG_SND_PCM_OSS_PLUGINS=y
1084# CONFIG_SND_SEQUENCER_OSS is not set
1085# CONFIG_SND_DYNAMIC_MINORS is not set
1086CONFIG_SND_SUPPORT_OLD_API=y
1087CONFIG_SND_VERBOSE_PROCFS=y
1088CONFIG_SND_VERBOSE_PRINTK=y
1089CONFIG_SND_DEBUG=y
1090# CONFIG_SND_DEBUG_DETECT is not set
1091# CONFIG_SND_PCM_XRUN_DEBUG is not set
1092
1093#
1094# Generic devices
1095#
1096CONFIG_SND_AC97_CODEC=m
1097# CONFIG_SND_DUMMY is not set
1098# CONFIG_SND_VIRMIDI is not set
1099# CONFIG_SND_MTPAV is not set
1100# CONFIG_SND_SERIAL_U16550 is not set
1101# CONFIG_SND_MPU401 is not set
1102
1103#
1104# ALSA ARM devices
1105#
1106CONFIG_SND_PXA2XX_PCM=m
1107CONFIG_SND_PXA2XX_AC97=m
1108
1109#
1110# USB devices
1111#
1112CONFIG_SND_USB_AUDIO=m
1113
1114#
1115# PCMCIA devices
1116#
1117# CONFIG_SND_VXPOCKET is not set
1118# CONFIG_SND_PDAUDIOCF is not set
1119
1120#
1121# SoC audio support
1122#
1123CONFIG_SND_SOC=m
1124
1125
1126#
1127# Soc Platforms
1128#
1129CONFIG_SND_PXA2xx_SOC=m
1130CONFIG_SND_PXA2xx_SOC_I2S=m
1131CONFIG_SND_PXA2xx_SOC_SPITZ=m
1132
1133#
1134# SoC Audio for the Intel PXA2xx
1135#
1136CONFIG_SND_PXA2XX_SOC=m
1137CONFIG_SND_PXA2XX_SOC_I2S=m
1138CONFIG_SND_PXA2XX_SOC_SPITZ=m
1139# CONFIG_SND_PXA2XX_SOC_MAGICIAN is not set
1140
1141#
1142# SoC Audio for the Atmel AT91
1143#
1144
1145#
1146# SoC Audio for the Freescale i.MX
1147#
1148
1149#
1150# SoC Audio for the Samsung S3C24XX
1151#
1152
1153#
1154# Soc Codecs
1155#
1156# CONFIG_SND_SOC_AC97_CODEC is not set
1157# CONFIG_SND_SOC_WM8711 is not set
1158# CONFIG_SND_SOC_WM8510 is not set
1159# CONFIG_SND_SOC_WM8731 is not set
1160CONFIG_SND_SOC_WM8750=m
1161# CONFIG_SND_SOC_WM8753 is not set
1162# CONFIG_SND_SOC_WM8772 is not set
1163# CONFIG_SND_SOC_WM8971 is not set
1164# CONFIG_SND_SOC_WM8956 is not set
1165# CONFIG_SND_SOC_WM8960 is not set
1166# CONFIG_SND_SOC_WM8976 is not set
1167# CONFIG_SND_SOC_WM8974 is not set
1168# CONFIG_SND_SOC_WM8980 is not set
1169# CONFIG_SND_SOC_WM9713 is not set
1170# CONFIG_SND_SOC_WM9712 is not set
1171# CONFIG_SND_SOC_UDA1380 is not set
1172# CONFIG_SND_SOC_AK4535 is not set
1173
1174#
1175# Open Sound System
1176#
1177# CONFIG_SOUND_PRIME is not set
1178CONFIG_AC97_BUS=m
1179
1180#
1181# HID Devices
1182#
1183CONFIG_HID=y
1184
1185#
1186# USB support
1187#
1188CONFIG_USB_ARCH_HAS_HCD=y
1189CONFIG_USB_ARCH_HAS_OHCI=y
1190# CONFIG_USB_ARCH_HAS_EHCI is not set
1191CONFIG_USB=m
1192# CONFIG_USB_DEBUG is not set
1193
1194#
1195# Miscellaneous USB options
1196#
1197CONFIG_USB_DEVICEFS=y
1198# CONFIG_USB_BANDWIDTH is not set
1199# CONFIG_USB_DYNAMIC_MINORS is not set
1200# CONFIG_USB_SUSPEND is not set
1201# CONFIG_USB_OTG is not set
1202
1203#
1204# USB Host Controller Drivers
1205#
1206# CONFIG_USB_ISP116X_HCD is not set
1207CONFIG_USB_OHCI_HCD=m
1208# CONFIG_USB_OHCI_BIG_ENDIAN is not set
1209CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1210CONFIG_USB_SL811_HCD=m
1211CONFIG_USB_SL811_CS=m
1212
1213#
1214# USB Device Class drivers
1215#
1216CONFIG_USB_ACM=m
1217CONFIG_USB_PRINTER=m
1218
1219#
1220# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1221#
1222
1223#
1224# may also be needed; see USB_STORAGE Help for more information
1225#
1226CONFIG_USB_STORAGE=m
1227# CONFIG_USB_STORAGE_DEBUG is not set
1228# CONFIG_USB_STORAGE_DATAFAB is not set
1229# CONFIG_USB_STORAGE_FREECOM is not set
1230# CONFIG_USB_STORAGE_ISD200 is not set
1231# CONFIG_USB_STORAGE_DPCM is not set
1232# CONFIG_USB_STORAGE_USBAT is not set
1233# CONFIG_USB_STORAGE_SDDR09 is not set
1234# CONFIG_USB_STORAGE_SDDR55 is not set
1235# CONFIG_USB_STORAGE_JUMPSHOT is not set
1236# CONFIG_USB_STORAGE_ALAUDA is not set
1237# CONFIG_USB_STORAGE_KARMA is not set
1238# CONFIG_USB_LIBUSUAL is not set
1239
1240#
1241# USB Input Devices
1242#
1243CONFIG_USB_HID=m
1244# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1245# CONFIG_HID_FF is not set
1246# CONFIG_USB_HIDDEV is not set
1247
1248#
1249# USB HID Boot Protocol drivers
1250#
1251CONFIG_USB_KBD=m
1252CONFIG_USB_MOUSE=m
1253CONFIG_USB_AIPTEK=m
1254CONFIG_USB_WACOM=m
1255# CONFIG_USB_ACECAD is not set
1256CONFIG_USB_KBTAB=m
1257CONFIG_USB_POWERMATE=m
1258# CONFIG_USB_TOUCHSCREEN is not set
1259# CONFIG_USB_YEALINK is not set
1260CONFIG_USB_XPAD=m
1261CONFIG_USB_ATI_REMOTE=m
1262# CONFIG_USB_ATI_REMOTE2 is not set
1263# CONFIG_USB_KEYSPAN_REMOTE is not set
1264# CONFIG_USB_APPLETOUCH is not set
1265
1266#
1267# USB Imaging devices
1268#
1269CONFIG_USB_MDC800=m
1270CONFIG_USB_MICROTEK=m
1271
1272#
1273# USB Network Adapters
1274#
1275CONFIG_USB_CATC=m
1276CONFIG_USB_KAWETH=m
1277CONFIG_USB_PEGASUS=m
1278CONFIG_USB_RTL8150=m
1279CONFIG_USB_USBNET_MII=m
1280CONFIG_USB_USBNET=m
1281CONFIG_USB_NET_AX8817X=m
1282CONFIG_USB_NET_CDCETHER=m
1283# CONFIG_USB_NET_GL620A is not set
1284CONFIG_USB_NET_NET1080=m
1285# CONFIG_USB_NET_PLUSB is not set
1286# CONFIG_USB_NET_MCS7830 is not set
1287# CONFIG_USB_NET_RNDIS_HOST is not set
1288# CONFIG_USB_NET_CDC_SUBSET is not set
1289CONFIG_USB_NET_ZAURUS=m
1290CONFIG_USB_MON=y
1291
1292#
1293# USB port drivers
1294#
1295
1296#
1297# USB Serial Converter support
1298#
1299CONFIG_USB_SERIAL=m
1300CONFIG_USB_SERIAL_GENERIC=y
1301# CONFIG_USB_SERIAL_AIRCABLE is not set
1302# CONFIG_USB_SERIAL_AIRPRIME is not set
1303# CONFIG_USB_SERIAL_ARK3116 is not set
1304CONFIG_USB_SERIAL_BELKIN=m
1305# CONFIG_USB_SERIAL_WHITEHEAT is not set
1306CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
1307# CONFIG_USB_SERIAL_CP2101 is not set
1308CONFIG_USB_SERIAL_CYPRESS_M8=m
1309CONFIG_USB_SERIAL_EMPEG=m
1310CONFIG_USB_SERIAL_FTDI_SIO=m
1311# CONFIG_USB_SERIAL_FUNSOFT is not set
1312CONFIG_USB_SERIAL_VISOR=m
1313CONFIG_USB_SERIAL_IPAQ=m
1314CONFIG_USB_SERIAL_IR=m
1315CONFIG_USB_SERIAL_EDGEPORT=m
1316CONFIG_USB_SERIAL_EDGEPORT_TI=m
1317CONFIG_USB_SERIAL_GARMIN=m
1318CONFIG_USB_SERIAL_IPW=m
1319CONFIG_USB_SERIAL_KEYSPAN_PDA=m
1320CONFIG_USB_SERIAL_KEYSPAN=m
1321# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set
1322# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
1323# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
1324# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
1325# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
1326# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
1327# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
1328# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
1329# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
1330# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
1331# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
1332# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
1333CONFIG_USB_SERIAL_KLSI=m
1334CONFIG_USB_SERIAL_KOBIL_SCT=m
1335CONFIG_USB_SERIAL_MCT_U232=m
1336# CONFIG_USB_SERIAL_MOS7720 is not set
1337# CONFIG_USB_SERIAL_MOS7840 is not set
1338# CONFIG_USB_SERIAL_NAVMAN is not set
1339CONFIG_USB_SERIAL_PL2303=m
1340# CONFIG_USB_SERIAL_HP4X is not set
1341CONFIG_USB_SERIAL_SAFE=m
1342# CONFIG_USB_SERIAL_SAFE_PADDED is not set
1343# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
1344CONFIG_USB_SERIAL_TI=m
1345CONFIG_USB_SERIAL_CYBERJACK=m
1346CONFIG_USB_SERIAL_XIRCOM=m
1347# CONFIG_USB_SERIAL_OPTION is not set
1348CONFIG_USB_SERIAL_OMNINET=m
1349# CONFIG_USB_SERIAL_DEBUG is not set
1350CONFIG_USB_EZUSB=y
1351
1352#
1353# USB Miscellaneous drivers
1354#
1355CONFIG_USB_EMI62=m
1356CONFIG_USB_EMI26=m
1357# CONFIG_USB_ADUTUX is not set
1358CONFIG_USB_AUERSWALD=m
1359CONFIG_USB_RIO500=m
1360CONFIG_USB_LEGOTOWER=m
1361CONFIG_USB_LCD=m
1362CONFIG_USB_LED=m
1363# CONFIG_USB_CYPRESS_CY7C63 is not set
1364CONFIG_USB_CYTHERM=m
1365# CONFIG_USB_PHIDGET is not set
1366CONFIG_USB_IDMOUSE=m
1367# CONFIG_USB_FTDI_ELAN is not set
1368# CONFIG_USB_APPLEDISPLAY is not set
1369# CONFIG_USB_LD is not set
1370# CONFIG_USB_TRANCEVIBRATOR is not set
1371# CONFIG_USB_TEST is not set
1372
1373#
1374# USB DSL modem support
1375#
1376
1377#
1378# USB Gadget Support
1379#
1380CONFIG_USB_GADGET=m
1381# CONFIG_USB_GADGET_DEBUG_FILES is not set
1382CONFIG_USB_GADGET_SELECTED=y
1383# CONFIG_USB_GADGET_NET2280 is not set
1384# CONFIG_USB_GADGET_PXA2XX is not set
1385CONFIG_USB_GADGET_PXA27X=y
1386CONFIG_USB_PXA27X=m
1387# CONFIG_USB_GADGET_GOKU is not set
1388# CONFIG_USB_GADGET_LH7A40X is not set
1389# CONFIG_USB_GADGET_OMAP is not set
1390# CONFIG_USB_GADGET_AT91 is not set
1391# CONFIG_USB_GADGET_DUMMY_HCD is not set
1392# CONFIG_USB_GADGET_DUALSPEED is not set
1393CONFIG_USB_ZERO=m
1394CONFIG_USB_ETH=m
1395CONFIG_USB_ETH_RNDIS=y
1396CONFIG_USB_GADGETFS=m
1397CONFIG_USB_FILE_STORAGE=m
1398# CONFIG_USB_FILE_STORAGE_TEST is not set
1399CONFIG_USB_G_SERIAL=m
1400# CONFIG_USB_MIDI_GADGET is not set
1401
1402#
1403# MMC/SD Card support
1404#
1405CONFIG_MMC=y
1406# CONFIG_MMC_DEBUG is not set
1407CONFIG_MMC_BLOCK=y
1408CONFIG_MMC_PXA=y
1409# CONFIG_MMC_TIFM_SD is not set
1410
1411#
1412# Real Time Clock
1413#
1414CONFIG_RTC_LIB=y
1415CONFIG_RTC_CLASS=y
1416CONFIG_RTC_HCTOSYS=y
1417CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1418# CONFIG_RTC_DEBUG is not set
1419
1420#
1421# RTC interfaces
1422#
1423CONFIG_RTC_INTF_SYSFS=y
1424CONFIG_RTC_INTF_PROC=y
1425CONFIG_RTC_INTF_DEV=y
1426# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
1427
1428#
1429# RTC drivers
1430#
1431# CONFIG_RTC_DRV_X1205 is not set
1432# CONFIG_RTC_DRV_DS1307 is not set
1433# CONFIG_RTC_DRV_DS1553 is not set
1434# CONFIG_RTC_DRV_ISL1208 is not set
1435# CONFIG_RTC_DRV_DS1672 is not set
1436# CONFIG_RTC_DRV_DS1742 is not set
1437# CONFIG_RTC_DRV_PCF8563 is not set
1438# CONFIG_RTC_DRV_PCF8583 is not set
1439# CONFIG_RTC_DRV_RS5C372 is not set
1440# CONFIG_RTC_DRV_M48T86 is not set
1441CONFIG_RTC_DRV_SA1100=y
1442# CONFIG_RTC_DRV_TEST is not set
1443# CONFIG_RTC_DRV_V3020 is not set
1444
1445#
1446# File systems
1447#
1448CONFIG_EXT2_FS=y
1449# CONFIG_EXT2_FS_XATTR is not set
1450# CONFIG_EXT2_FS_XIP is not set
1451CONFIG_EXT3_FS=m
1452# CONFIG_EXT3_FS_XATTR is not set
1453# CONFIG_EXT4DEV_FS is not set
1454CONFIG_JBD=m
1455# CONFIG_JBD_DEBUG is not set
1456# CONFIG_REISERFS_FS is not set
1457# CONFIG_JFS_FS is not set
1458CONFIG_FS_POSIX_ACL=y
1459# CONFIG_XFS_FS is not set
1460# CONFIG_GFS2_FS is not set
1461# CONFIG_OCFS2_FS is not set
1462# CONFIG_MINIX_FS is not set
1463# CONFIG_ROMFS_FS is not set
1464CONFIG_INOTIFY=y
1465CONFIG_INOTIFY_USER=y
1466# CONFIG_QUOTA is not set
1467CONFIG_DNOTIFY=y
1468# CONFIG_AUTOFS_FS is not set
1469# CONFIG_AUTOFS4_FS is not set
1470# CONFIG_FUSE_FS is not set
1471
1472#
1473# CD-ROM/DVD Filesystems
1474#
1475# CONFIG_ISO9660_FS is not set
1476# CONFIG_UDF_FS is not set
1477
1478#
1479# DOS/FAT/NT Filesystems
1480#
1481CONFIG_FAT_FS=y
1482# CONFIG_MSDOS_FS is not set
1483CONFIG_VFAT_FS=y
1484CONFIG_FAT_DEFAULT_CODEPAGE=437
1485CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1486# CONFIG_NTFS_FS is not set
1487
1488#
1489# Pseudo filesystems
1490#
1491CONFIG_PROC_FS=y
1492CONFIG_PROC_SYSCTL=y
1493CONFIG_SYSFS=y
1494CONFIG_TMPFS=y
1495# CONFIG_TMPFS_POSIX_ACL is not set
1496# CONFIG_HUGETLB_PAGE is not set
1497CONFIG_RAMFS=y
1498# CONFIG_CONFIGFS_FS is not set
1499
1500#
1501# Miscellaneous filesystems
1502#
1503# CONFIG_ADFS_FS is not set
1504# CONFIG_AFFS_FS is not set
1505# CONFIG_HFS_FS is not set
1506# CONFIG_HFSPLUS_FS is not set
1507# CONFIG_BEFS_FS is not set
1508# CONFIG_BFS_FS is not set
1509# CONFIG_EFS_FS is not set
1510CONFIG_JFFS2_FS=y
1511CONFIG_JFFS2_FS_DEBUG=0
1512CONFIG_JFFS2_FS_WRITEBUFFER=y
1513CONFIG_JFFS2_SUMMARY=y
1514# CONFIG_JFFS2_FS_XATTR is not set
1515CONFIG_JFFS2_COMPRESSION_OPTIONS=y
1516CONFIG_JFFS2_ZLIB=y
1517CONFIG_JFFS2_LZO=y
1518CONFIG_JFFS2_RTIME=y
1519CONFIG_JFFS2_RUBIN=y
1520# CONFIG_JFFS2_CMODE_NONE is not set
1521CONFIG_JFFS2_CMODE_PRIORITY=y
1522# CONFIG_JFFS2_CMODE_SIZE is not set
1523# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
1524CONFIG_CRAMFS=m
1525CONFIG_SQUASHFS=m
1526# CONFIG_SQUASHFS_EMBEDDED is not set
1527CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
1528# CONFIG_SQUASHFS_VMALLOC is not set
1529# CONFIG_VXFS_FS is not set
1530# CONFIG_HPFS_FS is not set
1531# CONFIG_QNX4FS_FS is not set
1532# CONFIG_SYSV_FS is not set
1533# CONFIG_UFS_FS is not set
1534
1535#
1536# Network File Systems
1537#
1538CONFIG_NFS_FS=m
1539CONFIG_NFS_V3=y
1540# CONFIG_NFS_V3_ACL is not set
1541CONFIG_NFS_V4=y
1542# CONFIG_NFS_DIRECTIO is not set
1543CONFIG_NFSD=m
1544CONFIG_NFSD_V3=y
1545# CONFIG_NFSD_V3_ACL is not set
1546CONFIG_NFSD_V4=y
1547CONFIG_NFSD_TCP=y
1548CONFIG_LOCKD=m
1549CONFIG_LOCKD_V4=y
1550CONFIG_EXPORTFS=m
1551CONFIG_NFS_COMMON=y
1552CONFIG_SUNRPC=m
1553CONFIG_SUNRPC_GSS=m
1554CONFIG_RPCSEC_GSS_KRB5=m
1555# CONFIG_RPCSEC_GSS_SPKM3 is not set
1556CONFIG_SMB_FS=m
1557CONFIG_SMB_NLS_DEFAULT=y
1558CONFIG_SMB_NLS_REMOTE="cp437"
1559CONFIG_CIFS=m
1560# CONFIG_CIFS_STATS is not set
1561# CONFIG_CIFS_WEAK_PW_HASH is not set
1562# CONFIG_CIFS_XATTR is not set
1563# CONFIG_CIFS_DEBUG2 is not set
1564# CONFIG_CIFS_EXPERIMENTAL is not set
1565# CONFIG_NCP_FS is not set
1566# CONFIG_CODA_FS is not set
1567# CONFIG_AFS_FS is not set
1568# CONFIG_9P_FS is not set
1569
1570#
1571# Partition Types
1572#
1573CONFIG_PARTITION_ADVANCED=y
1574# CONFIG_ACORN_PARTITION is not set
1575# CONFIG_OSF_PARTITION is not set
1576# CONFIG_AMIGA_PARTITION is not set
1577# CONFIG_ATARI_PARTITION is not set
1578# CONFIG_MAC_PARTITION is not set
1579CONFIG_MSDOS_PARTITION=y
1580# CONFIG_BSD_DISKLABEL is not set
1581# CONFIG_MINIX_SUBPARTITION is not set
1582# CONFIG_SOLARIS_X86_PARTITION is not set
1583# CONFIG_UNIXWARE_DISKLABEL is not set
1584# CONFIG_LDM_PARTITION is not set
1585# CONFIG_SGI_PARTITION is not set
1586# CONFIG_ULTRIX_PARTITION is not set
1587# CONFIG_SUN_PARTITION is not set
1588# CONFIG_KARMA_PARTITION is not set
1589# CONFIG_EFI_PARTITION is not set
1590
1591#
1592# Native Language Support
1593#
1594CONFIG_NLS=y
1595CONFIG_NLS_DEFAULT="cp437"
1596CONFIG_NLS_CODEPAGE_437=y
1597CONFIG_NLS_CODEPAGE_737=m
1598CONFIG_NLS_CODEPAGE_775=m
1599CONFIG_NLS_CODEPAGE_850=m
1600CONFIG_NLS_CODEPAGE_852=m
1601CONFIG_NLS_CODEPAGE_855=m
1602CONFIG_NLS_CODEPAGE_857=m
1603CONFIG_NLS_CODEPAGE_860=m
1604CONFIG_NLS_CODEPAGE_861=m
1605CONFIG_NLS_CODEPAGE_862=m
1606CONFIG_NLS_CODEPAGE_863=m
1607CONFIG_NLS_CODEPAGE_864=m
1608CONFIG_NLS_CODEPAGE_865=m
1609CONFIG_NLS_CODEPAGE_866=m
1610CONFIG_NLS_CODEPAGE_869=m
1611CONFIG_NLS_CODEPAGE_936=m
1612CONFIG_NLS_CODEPAGE_950=m
1613CONFIG_NLS_CODEPAGE_932=m
1614CONFIG_NLS_CODEPAGE_949=m
1615CONFIG_NLS_CODEPAGE_874=m
1616CONFIG_NLS_ISO8859_8=m
1617CONFIG_NLS_CODEPAGE_1250=m
1618CONFIG_NLS_CODEPAGE_1251=m
1619CONFIG_NLS_ASCII=m
1620CONFIG_NLS_ISO8859_1=y
1621CONFIG_NLS_ISO8859_2=m
1622CONFIG_NLS_ISO8859_3=m
1623CONFIG_NLS_ISO8859_4=m
1624CONFIG_NLS_ISO8859_5=m
1625CONFIG_NLS_ISO8859_6=m
1626CONFIG_NLS_ISO8859_7=m
1627CONFIG_NLS_ISO8859_9=m
1628CONFIG_NLS_ISO8859_13=m
1629CONFIG_NLS_ISO8859_14=m
1630CONFIG_NLS_ISO8859_15=m
1631CONFIG_NLS_KOI8_R=m
1632CONFIG_NLS_KOI8_U=m
1633CONFIG_NLS_UTF8=y
1634
1635#
1636# Distributed Lock Manager
1637#
1638# CONFIG_DLM is not set
1639
1640#
1641# Profiling support
1642#
1643CONFIG_PROFILING=y
1644CONFIG_OPROFILE=m
1645
1646#
1647# Kernel hacking
1648#
1649# CONFIG_PRINTK_TIME is not set
1650CONFIG_ENABLE_MUST_CHECK=y
1651CONFIG_MAGIC_SYSRQ=y
1652# CONFIG_UNUSED_SYMBOLS is not set
1653# CONFIG_DEBUG_FS is not set
1654# CONFIG_HEADERS_CHECK is not set
1655CONFIG_DEBUG_KERNEL=y
1656CONFIG_LOG_BUF_SHIFT=14
1657# CONFIG_DETECT_SOFTLOCKUP is not set
1658# CONFIG_SCHEDSTATS is not set
1659# CONFIG_DEBUG_SLAB is not set
1660# CONFIG_DEBUG_PREEMPT is not set
1661# CONFIG_DEBUG_RT_MUTEXES is not set
1662# CONFIG_RT_MUTEX_TESTER is not set
1663# CONFIG_DEBUG_SPINLOCK is not set
1664# CONFIG_DEBUG_MUTEXES is not set
1665# CONFIG_DEBUG_RWSEMS is not set
1666# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1667# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1668# CONFIG_DEBUG_KOBJECT is not set
1669CONFIG_DEBUG_BUGVERBOSE=y
1670# CONFIG_DEBUG_INFO is not set
1671# CONFIG_DEBUG_VM is not set
1672# CONFIG_DEBUG_LIST is not set
1673CONFIG_FRAME_POINTER=y
1674# CONFIG_FORCED_INLINING is not set
1675# CONFIG_RCU_TORTURE_TEST is not set
1676# CONFIG_DEBUG_USER is not set
1677CONFIG_DEBUG_ERRORS=y
1678# CONFIG_DEBUG_LL is not set
1679
1680#
1681# Security options
1682#
1683# CONFIG_KEYS is not set
1684# CONFIG_SECURITY is not set
1685
1686#
1687# Cryptographic options
1688#
1689CONFIG_CRYPTO=y
1690CONFIG_CRYPTO_ALGAPI=y
1691CONFIG_CRYPTO_BLKCIPHER=m
1692CONFIG_CRYPTO_HASH=y
1693CONFIG_CRYPTO_MANAGER=y
1694CONFIG_CRYPTO_HMAC=y
1695# CONFIG_CRYPTO_XCBC is not set
1696CONFIG_CRYPTO_NULL=m
1697CONFIG_CRYPTO_MD4=m
1698CONFIG_CRYPTO_MD5=m
1699CONFIG_CRYPTO_SHA1=m
1700CONFIG_CRYPTO_SHA256=m
1701CONFIG_CRYPTO_SHA512=m
1702CONFIG_CRYPTO_WP512=m
1703# CONFIG_CRYPTO_TGR192 is not set
1704# CONFIG_CRYPTO_GF128MUL is not set
1705CONFIG_CRYPTO_ECB=m
1706CONFIG_CRYPTO_CBC=m
1707# CONFIG_CRYPTO_LRW is not set
1708CONFIG_CRYPTO_DES=m
1709CONFIG_CRYPTO_BLOWFISH=m
1710CONFIG_CRYPTO_TWOFISH=m
1711CONFIG_CRYPTO_TWOFISH_COMMON=m
1712CONFIG_CRYPTO_SERPENT=m
1713CONFIG_CRYPTO_AES=m
1714CONFIG_CRYPTO_CAST5=m
1715CONFIG_CRYPTO_CAST6=m
1716CONFIG_CRYPTO_TEA=m
1717CONFIG_CRYPTO_ARC4=m
1718CONFIG_CRYPTO_KHAZAD=m
1719CONFIG_CRYPTO_ANUBIS=m
1720CONFIG_CRYPTO_DEFLATE=m
1721# CONFIG_CRYPTO_LZO is not set
1722CONFIG_CRYPTO_MICHAEL_MIC=m
1723CONFIG_CRYPTO_CRC32C=m
1724CONFIG_CRYPTO_TEST=m
1725
1726#
1727# Hardware crypto devices
1728#
1729
1730#
1731# Library routines
1732#
1733CONFIG_BITREVERSE=y
1734CONFIG_CRC_CCITT=y
1735# CONFIG_CRC16 is not set
1736CONFIG_CRC32=y
1737CONFIG_LIBCRC32C=m
1738CONFIG_LZO=y
1739CONFIG_ZLIB_INFLATE=y
1740CONFIG_ZLIB_DEFLATE=y
1741CONFIG_PLIST=y
1742CONFIG_IOMAP_COPY=y
1743CONFIG_SHARPSL_RC=m
diff --git a/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-bootcdx86 b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-bootcdx86
new file mode 100644
index 0000000000..d439d89813
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-bootcdx86
@@ -0,0 +1,1606 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.21
4# Mon Jun 11 12:01:43 2007
5#
6CONFIG_X86_32=y
7CONFIG_GENERIC_TIME=y
8CONFIG_CLOCKSOURCE_WATCHDOG=y
9CONFIG_GENERIC_CLOCKEVENTS=y
10CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
11CONFIG_LOCKDEP_SUPPORT=y
12CONFIG_STACKTRACE_SUPPORT=y
13CONFIG_SEMAPHORE_SLEEPERS=y
14CONFIG_X86=y
15CONFIG_MMU=y
16CONFIG_ZONE_DMA=y
17CONFIG_GENERIC_ISA_DMA=y
18CONFIG_GENERIC_IOMAP=y
19CONFIG_GENERIC_BUG=y
20CONFIG_GENERIC_HWEIGHT=y
21CONFIG_ARCH_MAY_HAVE_PC_FDC=y
22CONFIG_DMI=y
23CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
24
25#
26# Code maturity level options
27#
28CONFIG_EXPERIMENTAL=y
29CONFIG_LOCK_KERNEL=y
30CONFIG_INIT_ENV_ARG_LIMIT=32
31
32#
33# General setup
34#
35CONFIG_LOCALVERSION=""
36CONFIG_LOCALVERSION_AUTO=y
37CONFIG_SWAP=y
38CONFIG_SYSVIPC=y
39# CONFIG_IPC_NS is not set
40CONFIG_SYSVIPC_SYSCTL=y
41CONFIG_POSIX_MQUEUE=y
42# CONFIG_BSD_PROCESS_ACCT is not set
43# CONFIG_TASKSTATS is not set
44# CONFIG_UTS_NS is not set
45CONFIG_AUDIT=y
46CONFIG_AUDITSYSCALL=y
47# CONFIG_IKCONFIG is not set
48# CONFIG_CPUSETS is not set
49# CONFIG_SYSFS_DEPRECATED is not set
50# CONFIG_RELAY is not set
51CONFIG_BLK_DEV_INITRD=y
52CONFIG_INITRAMFS_SOURCE=""
53# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
54CONFIG_SYSCTL=y
55CONFIG_EMBEDDED=y
56CONFIG_UID16=y
57CONFIG_SYSCTL_SYSCALL=y
58CONFIG_KALLSYMS=y
59# CONFIG_KALLSYMS_EXTRA_PASS is not set
60CONFIG_HOTPLUG=y
61CONFIG_PRINTK=y
62CONFIG_BUG=y
63CONFIG_ELF_CORE=y
64CONFIG_BASE_FULL=y
65CONFIG_FUTEX=y
66CONFIG_EPOLL=y
67CONFIG_SHMEM=y
68CONFIG_SLAB=y
69CONFIG_VM_EVENT_COUNTERS=y
70CONFIG_RT_MUTEXES=y
71# CONFIG_TINY_SHMEM is not set
72CONFIG_BASE_SMALL=0
73# CONFIG_SLOB is not set
74
75#
76# Loadable module support
77#
78CONFIG_MODULES=y
79# CONFIG_MODULE_UNLOAD is not set
80# CONFIG_MODVERSIONS is not set
81# CONFIG_MODULE_SRCVERSION_ALL is not set
82CONFIG_KMOD=y
83
84#
85# Block layer
86#
87CONFIG_BLOCK=y
88# CONFIG_LBD is not set
89# CONFIG_BLK_DEV_IO_TRACE is not set
90# CONFIG_LSF is not set
91
92#
93# IO Schedulers
94#
95CONFIG_IOSCHED_NOOP=y
96# CONFIG_IOSCHED_AS is not set
97# CONFIG_IOSCHED_DEADLINE is not set
98CONFIG_IOSCHED_CFQ=y
99# CONFIG_DEFAULT_AS is not set
100# CONFIG_DEFAULT_DEADLINE is not set
101CONFIG_DEFAULT_CFQ=y
102# CONFIG_DEFAULT_NOOP is not set
103CONFIG_DEFAULT_IOSCHED="cfq"
104
105#
106# Processor type and features
107#
108CONFIG_TICK_ONESHOT=y
109CONFIG_NO_HZ=y
110CONFIG_HIGH_RES_TIMERS=y
111CONFIG_SMP=y
112CONFIG_X86_PC=y
113# CONFIG_X86_ELAN is not set
114# CONFIG_X86_VOYAGER is not set
115# CONFIG_X86_NUMAQ is not set
116# CONFIG_X86_SUMMIT is not set
117# CONFIG_X86_BIGSMP is not set
118# CONFIG_X86_VISWS is not set
119# CONFIG_X86_GENERICARCH is not set
120# CONFIG_X86_ES7000 is not set
121# CONFIG_PARAVIRT is not set
122# CONFIG_M386 is not set
123# CONFIG_M486 is not set
124# CONFIG_M586 is not set
125# CONFIG_M586TSC is not set
126# CONFIG_M586MMX is not set
127# CONFIG_M686 is not set
128CONFIG_MPENTIUMII=y
129# CONFIG_MPENTIUMIII is not set
130# CONFIG_MPENTIUMM is not set
131# CONFIG_MCORE2 is not set
132# CONFIG_MPENTIUM4 is not set
133# CONFIG_MK6 is not set
134# CONFIG_MK7 is not set
135# CONFIG_MK8 is not set
136# CONFIG_MCRUSOE is not set
137# CONFIG_MEFFICEON is not set
138# CONFIG_MWINCHIPC6 is not set
139# CONFIG_MWINCHIP2 is not set
140# CONFIG_MWINCHIP3D is not set
141# CONFIG_MGEODEGX1 is not set
142# CONFIG_MGEODE_LX is not set
143# CONFIG_MCYRIXIII is not set
144# CONFIG_MVIAC3_2 is not set
145CONFIG_X86_GENERIC=y
146CONFIG_X86_CMPXCHG=y
147CONFIG_X86_L1_CACHE_SHIFT=7
148CONFIG_RWSEM_XCHGADD_ALGORITHM=y
149# CONFIG_ARCH_HAS_ILOG2_U32 is not set
150# CONFIG_ARCH_HAS_ILOG2_U64 is not set
151CONFIG_GENERIC_CALIBRATE_DELAY=y
152CONFIG_X86_WP_WORKS_OK=y
153CONFIG_X86_INVLPG=y
154CONFIG_X86_BSWAP=y
155CONFIG_X86_POPAD_OK=y
156CONFIG_X86_CMPXCHG64=y
157CONFIG_X86_GOOD_APIC=y
158CONFIG_X86_INTEL_USERCOPY=y
159CONFIG_X86_USE_PPRO_CHECKSUM=y
160CONFIG_X86_TSC=y
161CONFIG_HPET_TIMER=y
162CONFIG_NR_CPUS=8
163CONFIG_SCHED_SMT=y
164CONFIG_SCHED_MC=y
165CONFIG_PREEMPT_NONE=y
166# CONFIG_PREEMPT_VOLUNTARY is not set
167# CONFIG_PREEMPT is not set
168CONFIG_PREEMPT_BKL=y
169CONFIG_X86_LOCAL_APIC=y
170CONFIG_X86_IO_APIC=y
171CONFIG_X86_MCE=y
172CONFIG_X86_MCE_NONFATAL=y
173CONFIG_X86_MCE_P4THERMAL=y
174CONFIG_VM86=y
175# CONFIG_TOSHIBA is not set
176# CONFIG_I8K is not set
177# CONFIG_X86_REBOOTFIXUPS is not set
178# CONFIG_MICROCODE is not set
179# CONFIG_X86_MSR is not set
180# CONFIG_X86_CPUID is not set
181
182#
183# Firmware Drivers
184#
185# CONFIG_EDD is not set
186# CONFIG_DELL_RBU is not set
187# CONFIG_DCDBAS is not set
188CONFIG_NOHIGHMEM=y
189# CONFIG_HIGHMEM4G is not set
190# CONFIG_HIGHMEM64G is not set
191CONFIG_VMSPLIT_3G=y
192# CONFIG_VMSPLIT_3G_OPT is not set
193# CONFIG_VMSPLIT_2G is not set
194# CONFIG_VMSPLIT_1G is not set
195CONFIG_PAGE_OFFSET=0xC0000000
196CONFIG_ARCH_FLATMEM_ENABLE=y
197CONFIG_ARCH_SPARSEMEM_ENABLE=y
198CONFIG_ARCH_SELECT_MEMORY_MODEL=y
199CONFIG_ARCH_POPULATES_NODE_MAP=y
200CONFIG_SELECT_MEMORY_MODEL=y
201CONFIG_FLATMEM_MANUAL=y
202# CONFIG_DISCONTIGMEM_MANUAL is not set
203# CONFIG_SPARSEMEM_MANUAL is not set
204CONFIG_FLATMEM=y
205CONFIG_FLAT_NODE_MEM_MAP=y
206CONFIG_SPARSEMEM_STATIC=y
207CONFIG_SPLIT_PTLOCK_CPUS=4
208# CONFIG_RESOURCES_64BIT is not set
209CONFIG_ZONE_DMA_FLAG=1
210# CONFIG_MATH_EMULATION is not set
211CONFIG_MTRR=y
212# CONFIG_EFI is not set
213CONFIG_IRQBALANCE=y
214CONFIG_SECCOMP=y
215# CONFIG_HZ_100 is not set
216CONFIG_HZ_250=y
217# CONFIG_HZ_300 is not set
218# CONFIG_HZ_1000 is not set
219CONFIG_HZ=250
220# CONFIG_KEXEC is not set
221CONFIG_PHYSICAL_START=0x100000
222# CONFIG_RELOCATABLE is not set
223CONFIG_PHYSICAL_ALIGN=0x100000
224# CONFIG_HOTPLUG_CPU is not set
225# CONFIG_COMPAT_VDSO is not set
226
227#
228# Power management options (ACPI, APM)
229#
230CONFIG_PM=y
231CONFIG_PM_LEGACY=y
232# CONFIG_PM_DEBUG is not set
233# CONFIG_PM_SYSFS_DEPRECATED is not set
234
235#
236# ACPI (Advanced Configuration and Power Interface) Support
237#
238CONFIG_ACPI=y
239CONFIG_ACPI_PROCFS=y
240CONFIG_ACPI_AC=y
241CONFIG_ACPI_BATTERY=y
242CONFIG_ACPI_BUTTON=y
243CONFIG_ACPI_FAN=y
244# CONFIG_ACPI_DOCK is not set
245CONFIG_ACPI_PROCESSOR=y
246CONFIG_ACPI_THERMAL=y
247# CONFIG_ACPI_ASUS is not set
248# CONFIG_ACPI_IBM is not set
249# CONFIG_ACPI_TOSHIBA is not set
250CONFIG_ACPI_BLACKLIST_YEAR=0
251# CONFIG_ACPI_DEBUG is not set
252CONFIG_ACPI_EC=y
253CONFIG_ACPI_POWER=y
254CONFIG_ACPI_SYSTEM=y
255CONFIG_X86_PM_TIMER=y
256# CONFIG_ACPI_CONTAINER is not set
257
258#
259# APM (Advanced Power Management) BIOS Support
260#
261# CONFIG_APM is not set
262
263#
264# CPU Frequency scaling
265#
266# CONFIG_CPU_FREQ is not set
267
268#
269# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
270#
271CONFIG_PCI=y
272# CONFIG_PCI_GOBIOS is not set
273# CONFIG_PCI_GOMMCONFIG is not set
274# CONFIG_PCI_GODIRECT is not set
275CONFIG_PCI_GOANY=y
276CONFIG_PCI_BIOS=y
277CONFIG_PCI_DIRECT=y
278CONFIG_PCI_MMCONFIG=y
279CONFIG_PCIEPORTBUS=y
280CONFIG_PCIEAER=y
281CONFIG_PCI_MSI=y
282CONFIG_HT_IRQ=y
283CONFIG_ISA_DMA_API=y
284CONFIG_ISA=y
285# CONFIG_EISA is not set
286# CONFIG_MCA is not set
287# CONFIG_SCx200 is not set
288CONFIG_K8_NB=y
289
290#
291# PCCARD (PCMCIA/CardBus) support
292#
293# CONFIG_PCCARD is not set
294
295#
296# PCI Hotplug Support
297#
298# CONFIG_HOTPLUG_PCI is not set
299
300#
301# Executable file formats
302#
303CONFIG_BINFMT_ELF=y
304# CONFIG_BINFMT_AOUT is not set
305# CONFIG_BINFMT_MISC is not set
306
307#
308# Networking
309#
310CONFIG_NET=y
311
312#
313# Networking options
314#
315# CONFIG_NETDEBUG is not set
316CONFIG_PACKET=y
317# CONFIG_PACKET_MMAP is not set
318CONFIG_UNIX=y
319# CONFIG_NET_KEY is not set
320CONFIG_INET=y
321CONFIG_IP_MULTICAST=y
322# CONFIG_IP_ADVANCED_ROUTER is not set
323CONFIG_IP_FIB_HASH=y
324CONFIG_IP_PNP=y
325CONFIG_IP_PNP_DHCP=y
326CONFIG_IP_PNP_BOOTP=y
327# CONFIG_IP_PNP_RARP is not set
328# CONFIG_NET_IPIP is not set
329# CONFIG_NET_IPGRE is not set
330# CONFIG_IP_MROUTE is not set
331# CONFIG_ARPD is not set
332# CONFIG_SYN_COOKIES is not set
333# CONFIG_INET_AH is not set
334# CONFIG_INET_ESP is not set
335# CONFIG_INET_IPCOMP is not set
336# CONFIG_INET_XFRM_TUNNEL is not set
337# CONFIG_INET_TUNNEL is not set
338# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
339# CONFIG_INET_XFRM_MODE_TUNNEL is not set
340# CONFIG_INET_XFRM_MODE_BEET is not set
341CONFIG_INET_DIAG=y
342CONFIG_INET_TCP_DIAG=y
343# CONFIG_TCP_CONG_ADVANCED is not set
344CONFIG_TCP_CONG_CUBIC=y
345CONFIG_DEFAULT_TCP_CONG="cubic"
346# CONFIG_TCP_MD5SIG is not set
347# CONFIG_IPV6 is not set
348# CONFIG_INET6_XFRM_TUNNEL is not set
349# CONFIG_INET6_TUNNEL is not set
350# CONFIG_NETWORK_SECMARK is not set
351# CONFIG_NETFILTER is not set
352
353#
354# DCCP Configuration (EXPERIMENTAL)
355#
356# CONFIG_IP_DCCP is not set
357
358#
359# SCTP Configuration (EXPERIMENTAL)
360#
361# CONFIG_IP_SCTP is not set
362
363#
364# TIPC Configuration (EXPERIMENTAL)
365#
366# CONFIG_TIPC is not set
367# CONFIG_ATM is not set
368# CONFIG_BRIDGE is not set
369# CONFIG_VLAN_8021Q is not set
370# CONFIG_DECNET is not set
371# CONFIG_LLC2 is not set
372# CONFIG_IPX is not set
373# CONFIG_ATALK is not set
374# CONFIG_X25 is not set
375# CONFIG_LAPB is not set
376# CONFIG_ECONET is not set
377# CONFIG_WAN_ROUTER is not set
378
379#
380# QoS and/or fair queueing
381#
382# CONFIG_NET_SCHED is not set
383
384#
385# Network testing
386#
387# CONFIG_NET_PKTGEN is not set
388# CONFIG_HAMRADIO is not set
389# CONFIG_IRDA is not set
390# CONFIG_BT is not set
391# CONFIG_IEEE80211 is not set
392
393#
394# Device Drivers
395#
396
397#
398# Generic Driver Options
399#
400CONFIG_STANDALONE=y
401CONFIG_PREVENT_FIRMWARE_BUILD=y
402CONFIG_FW_LOADER=m
403# CONFIG_SYS_HYPERVISOR is not set
404
405#
406# Connector - unified userspace <-> kernelspace linker
407#
408# CONFIG_CONNECTOR is not set
409
410#
411# Memory Technology Devices (MTD)
412#
413# CONFIG_MTD is not set
414
415#
416# Parallel port support
417#
418# CONFIG_PARPORT is not set
419
420#
421# Plug and Play support
422#
423CONFIG_PNP=y
424# CONFIG_PNP_DEBUG is not set
425
426#
427# Protocols
428#
429# CONFIG_ISAPNP is not set
430# CONFIG_PNPBIOS is not set
431CONFIG_PNPACPI=y
432
433#
434# Block devices
435#
436# CONFIG_BLK_DEV_FD is not set
437# CONFIG_BLK_DEV_XD is not set
438# CONFIG_BLK_CPQ_DA is not set
439# CONFIG_BLK_CPQ_CISS_DA is not set
440# CONFIG_BLK_DEV_DAC960 is not set
441# CONFIG_BLK_DEV_UMEM is not set
442# CONFIG_BLK_DEV_COW_COMMON is not set
443# CONFIG_BLK_DEV_LOOP is not set
444# CONFIG_BLK_DEV_NBD is not set
445# CONFIG_BLK_DEV_SX8 is not set
446# CONFIG_BLK_DEV_UB is not set
447CONFIG_BLK_DEV_RAM=y
448CONFIG_BLK_DEV_RAM_COUNT=16
449CONFIG_BLK_DEV_RAM_SIZE=65536
450CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
451# CONFIG_CDROM_PKTCDVD is not set
452# CONFIG_ATA_OVER_ETH is not set
453
454#
455# Misc devices
456#
457# CONFIG_IBM_ASM is not set
458# CONFIG_SGI_IOC4 is not set
459# CONFIG_TIFM_CORE is not set
460# CONFIG_SONY_LAPTOP is not set
461
462#
463# ATA/ATAPI/MFM/RLL support
464#
465# CONFIG_IDE is not set
466
467#
468# SCSI device support
469#
470# CONFIG_RAID_ATTRS is not set
471CONFIG_SCSI=y
472# CONFIG_SCSI_TGT is not set
473# CONFIG_SCSI_NETLINK is not set
474CONFIG_SCSI_PROC_FS=y
475
476#
477# SCSI support type (disk, tape, CD-ROM)
478#
479CONFIG_BLK_DEV_SD=y
480# CONFIG_CHR_DEV_ST is not set
481# CONFIG_CHR_DEV_OSST is not set
482# CONFIG_BLK_DEV_SR is not set
483CONFIG_CHR_DEV_SG=y
484# CONFIG_CHR_DEV_SCH is not set
485
486#
487# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
488#
489CONFIG_SCSI_MULTI_LUN=y
490# CONFIG_SCSI_CONSTANTS is not set
491# CONFIG_SCSI_LOGGING is not set
492# CONFIG_SCSI_SCAN_ASYNC is not set
493
494#
495# SCSI Transports
496#
497# CONFIG_SCSI_SPI_ATTRS is not set
498# CONFIG_SCSI_FC_ATTRS is not set
499# CONFIG_SCSI_ISCSI_ATTRS is not set
500# CONFIG_SCSI_SAS_ATTRS is not set
501# CONFIG_SCSI_SAS_LIBSAS is not set
502
503#
504# SCSI low-level drivers
505#
506# CONFIG_ISCSI_TCP is not set
507# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
508# CONFIG_SCSI_3W_9XXX is not set
509# CONFIG_SCSI_7000FASST is not set
510# CONFIG_SCSI_ACARD is not set
511# CONFIG_SCSI_AHA152X is not set
512# CONFIG_SCSI_AHA1542 is not set
513# CONFIG_SCSI_AACRAID is not set
514# CONFIG_SCSI_AIC7XXX is not set
515# CONFIG_SCSI_AIC7XXX_OLD is not set
516# CONFIG_SCSI_AIC79XX is not set
517# CONFIG_SCSI_AIC94XX is not set
518# CONFIG_SCSI_DPT_I2O is not set
519# CONFIG_SCSI_ADVANSYS is not set
520# CONFIG_SCSI_IN2000 is not set
521# CONFIG_SCSI_ARCMSR is not set
522# CONFIG_MEGARAID_NEWGEN is not set
523# CONFIG_MEGARAID_LEGACY is not set
524# CONFIG_MEGARAID_SAS is not set
525# CONFIG_SCSI_HPTIOP is not set
526# CONFIG_SCSI_BUSLOGIC is not set
527# CONFIG_SCSI_DMX3191D is not set
528# CONFIG_SCSI_DTC3280 is not set
529# CONFIG_SCSI_EATA is not set
530# CONFIG_SCSI_FUTURE_DOMAIN is not set
531# CONFIG_SCSI_GDTH is not set
532# CONFIG_SCSI_GENERIC_NCR5380 is not set
533# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
534# CONFIG_SCSI_IPS is not set
535# CONFIG_SCSI_INITIO is not set
536# CONFIG_SCSI_INIA100 is not set
537# CONFIG_SCSI_NCR53C406A is not set
538# CONFIG_SCSI_STEX is not set
539# CONFIG_SCSI_SYM53C8XX_2 is not set
540# CONFIG_SCSI_PAS16 is not set
541# CONFIG_SCSI_PSI240I is not set
542# CONFIG_SCSI_QLOGIC_FAS is not set
543# CONFIG_SCSI_QLOGIC_1280 is not set
544# CONFIG_SCSI_QLA_FC is not set
545# CONFIG_SCSI_QLA_ISCSI is not set
546# CONFIG_SCSI_LPFC is not set
547# CONFIG_SCSI_SEAGATE is not set
548# CONFIG_SCSI_SYM53C416 is not set
549# CONFIG_SCSI_DC395x is not set
550# CONFIG_SCSI_DC390T is not set
551# CONFIG_SCSI_T128 is not set
552# CONFIG_SCSI_U14_34F is not set
553# CONFIG_SCSI_ULTRASTOR is not set
554# CONFIG_SCSI_NSP32 is not set
555# CONFIG_SCSI_DEBUG is not set
556# CONFIG_SCSI_SRP is not set
557
558#
559# Serial ATA (prod) and Parallel ATA (experimental) drivers
560#
561# CONFIG_ATA is not set
562
563#
564# Old CD-ROM drivers (not SCSI, not IDE)
565#
566# CONFIG_CD_NO_IDESCSI is not set
567
568#
569# Multi-device support (RAID and LVM)
570#
571# CONFIG_MD is not set
572
573#
574# Fusion MPT device support
575#
576# CONFIG_FUSION is not set
577# CONFIG_FUSION_SPI is not set
578# CONFIG_FUSION_FC is not set
579# CONFIG_FUSION_SAS is not set
580
581#
582# IEEE 1394 (FireWire) support
583#
584# CONFIG_IEEE1394 is not set
585
586#
587# I2O device support
588#
589# CONFIG_I2O is not set
590
591#
592# Macintosh device drivers
593#
594# CONFIG_MAC_EMUMOUSEBTN is not set
595
596#
597# Network device support
598#
599CONFIG_NETDEVICES=y
600# CONFIG_DUMMY is not set
601# CONFIG_BONDING is not set
602# CONFIG_EQUALIZER is not set
603# CONFIG_TUN is not set
604# CONFIG_NET_SB1000 is not set
605
606#
607# ARCnet devices
608#
609# CONFIG_ARCNET is not set
610
611#
612# PHY device support
613#
614# CONFIG_PHYLIB is not set
615
616#
617# Ethernet (10 or 100Mbit)
618#
619CONFIG_NET_ETHERNET=y
620CONFIG_MII=y
621# CONFIG_HAPPYMEAL is not set
622# CONFIG_SUNGEM is not set
623# CONFIG_CASSINI is not set
624CONFIG_NET_VENDOR_3COM=y
625# CONFIG_EL1 is not set
626# CONFIG_EL2 is not set
627# CONFIG_ELPLUS is not set
628# CONFIG_EL16 is not set
629# CONFIG_EL3 is not set
630# CONFIG_3C515 is not set
631CONFIG_VORTEX=m
632CONFIG_TYPHOON=m
633CONFIG_LANCE=m
634CONFIG_NET_VENDOR_SMC=y
635CONFIG_WD80x3=m
636CONFIG_ULTRA=m
637CONFIG_SMC9194=m
638# CONFIG_NET_VENDOR_RACAL is not set
639
640#
641# Tulip family network device support
642#
643CONFIG_NET_TULIP=y
644# CONFIG_DE2104X is not set
645CONFIG_TULIP=m
646CONFIG_TULIP_MWI=y
647CONFIG_TULIP_MMIO=y
648CONFIG_TULIP_NAPI=y
649CONFIG_TULIP_NAPI_HW_MITIGATION=y
650CONFIG_DE4X5=m
651CONFIG_WINBOND_840=m
652CONFIG_DM9102=m
653CONFIG_ULI526X=m
654CONFIG_AT1700=m
655CONFIG_DEPCA=m
656CONFIG_HP100=m
657CONFIG_NET_ISA=y
658# CONFIG_E2100 is not set
659# CONFIG_EWRK3 is not set
660# CONFIG_EEXPRESS is not set
661# CONFIG_EEXPRESS_PRO is not set
662# CONFIG_HPLAN_PLUS is not set
663# CONFIG_HPLAN is not set
664# CONFIG_LP486E is not set
665# CONFIG_ETH16I is not set
666CONFIG_NE2000=y
667# CONFIG_ZNET is not set
668# CONFIG_SEEQ8005 is not set
669CONFIG_NET_PCI=y
670CONFIG_PCNET32=m
671CONFIG_PCNET32_NAPI=y
672CONFIG_AMD8111_ETH=m
673CONFIG_AMD8111E_NAPI=y
674CONFIG_ADAPTEC_STARFIRE=m
675CONFIG_ADAPTEC_STARFIRE_NAPI=y
676CONFIG_AC3200=m
677CONFIG_APRICOT=m
678CONFIG_B44=m
679CONFIG_FORCEDETH=m
680CONFIG_FORCEDETH_NAPI=y
681CONFIG_CS89x0=m
682CONFIG_DGRS=m
683CONFIG_EEPRO100=m
684CONFIG_E100=m
685CONFIG_FEALNX=m
686CONFIG_NATSEMI=m
687CONFIG_NE2K_PCI=y
688CONFIG_8139CP=m
689CONFIG_8139TOO=m
690CONFIG_8139TOO_PIO=y
691CONFIG_8139TOO_TUNE_TWISTER=y
692CONFIG_8139TOO_8129=y
693# CONFIG_8139_OLD_RX_RESET is not set
694CONFIG_SIS900=m
695CONFIG_EPIC100=m
696CONFIG_SUNDANCE=m
697CONFIG_SUNDANCE_MMIO=y
698CONFIG_TLAN=m
699CONFIG_VIA_RHINE=m
700CONFIG_VIA_RHINE_MMIO=y
701CONFIG_VIA_RHINE_NAPI=y
702CONFIG_SC92031=m
703
704#
705# Ethernet (1000 Mbit)
706#
707CONFIG_ACENIC=m
708CONFIG_ACENIC_OMIT_TIGON_I=y
709CONFIG_DL2K=m
710CONFIG_E1000=m
711CONFIG_E1000_NAPI=y
712# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
713CONFIG_NS83820=m
714CONFIG_HAMACHI=m
715CONFIG_YELLOWFIN=m
716CONFIG_R8169=m
717CONFIG_R8169_NAPI=y
718CONFIG_SIS190=m
719CONFIG_SKGE=m
720CONFIG_SKY2=m
721CONFIG_SK98LIN=m
722CONFIG_VIA_VELOCITY=m
723CONFIG_TIGON3=m
724CONFIG_BNX2=m
725CONFIG_QLA3XXX=m
726CONFIG_ATL1=m
727
728#
729# Ethernet (10000 Mbit)
730#
731# CONFIG_CHELSIO_T1 is not set
732# CONFIG_CHELSIO_T3 is not set
733# CONFIG_IXGB is not set
734# CONFIG_S2IO is not set
735# CONFIG_MYRI10GE is not set
736# CONFIG_NETXEN_NIC is not set
737
738#
739# Token Ring devices
740#
741# CONFIG_TR is not set
742
743#
744# Wireless LAN (non-hamradio)
745#
746# CONFIG_NET_RADIO is not set
747
748#
749# Wan interfaces
750#
751# CONFIG_WAN is not set
752# CONFIG_FDDI is not set
753# CONFIG_HIPPI is not set
754# CONFIG_PPP is not set
755# CONFIG_SLIP is not set
756# CONFIG_NET_FC is not set
757# CONFIG_SHAPER is not set
758# CONFIG_NETCONSOLE is not set
759# CONFIG_NETPOLL is not set
760# CONFIG_NET_POLL_CONTROLLER is not set
761
762#
763# ISDN subsystem
764#
765# CONFIG_ISDN is not set
766
767#
768# Telephony Support
769#
770# CONFIG_PHONE is not set
771
772#
773# Input device support
774#
775CONFIG_INPUT=y
776# CONFIG_INPUT_FF_MEMLESS is not set
777
778#
779# Userland interfaces
780#
781CONFIG_INPUT_MOUSEDEV=m
782# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
783CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
784CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
785# CONFIG_INPUT_JOYDEV is not set
786# CONFIG_INPUT_TSDEV is not set
787CONFIG_INPUT_EVDEV=y
788# CONFIG_INPUT_EVBUG is not set
789# CONFIG_INPUT_POWER is not set
790
791#
792# Input Device Drivers
793#
794CONFIG_INPUT_KEYBOARD=y
795CONFIG_KEYBOARD_ATKBD=y
796# CONFIG_KEYBOARD_SUNKBD is not set
797# CONFIG_KEYBOARD_LKKBD is not set
798# CONFIG_KEYBOARD_XTKBD is not set
799# CONFIG_KEYBOARD_NEWTON is not set
800# CONFIG_KEYBOARD_STOWAWAY is not set
801CONFIG_INPUT_MOUSE=y
802CONFIG_MOUSE_PS2=y
803# CONFIG_MOUSE_SERIAL is not set
804# CONFIG_MOUSE_INPORT is not set
805# CONFIG_MOUSE_LOGIBM is not set
806# CONFIG_MOUSE_PC110PAD is not set
807# CONFIG_MOUSE_VSXXXAA is not set
808# CONFIG_INPUT_JOYSTICK is not set
809# CONFIG_INPUT_TOUCHSCREEN is not set
810# CONFIG_INPUT_MISC is not set
811
812#
813# Hardware I/O ports
814#
815CONFIG_SERIO=y
816CONFIG_SERIO_I8042=y
817# CONFIG_SERIO_SERPORT is not set
818# CONFIG_SERIO_CT82C710 is not set
819# CONFIG_SERIO_PCIPS2 is not set
820CONFIG_SERIO_LIBPS2=y
821# CONFIG_SERIO_RAW is not set
822# CONFIG_GAMEPORT is not set
823
824#
825# Character devices
826#
827CONFIG_VT=y
828CONFIG_VT_CONSOLE=y
829CONFIG_HW_CONSOLE=y
830# CONFIG_VT_HW_CONSOLE_BINDING is not set
831# CONFIG_SERIAL_NONSTANDARD is not set
832
833#
834# Serial drivers
835#
836CONFIG_SERIAL_8250=y
837# CONFIG_SERIAL_8250_CONSOLE is not set
838CONFIG_SERIAL_8250_PCI=y
839CONFIG_SERIAL_8250_PNP=y
840CONFIG_SERIAL_8250_NR_UARTS=4
841CONFIG_SERIAL_8250_RUNTIME_UARTS=4
842# CONFIG_SERIAL_8250_EXTENDED is not set
843
844#
845# Non-8250 serial port support
846#
847CONFIG_SERIAL_CORE=y
848# CONFIG_SERIAL_JSM is not set
849CONFIG_UNIX98_PTYS=y
850# CONFIG_LEGACY_PTYS is not set
851
852#
853# IPMI
854#
855# CONFIG_IPMI_HANDLER is not set
856
857#
858# Watchdog Cards
859#
860# CONFIG_WATCHDOG is not set
861# CONFIG_HW_RANDOM is not set
862# CONFIG_NVRAM is not set
863# CONFIG_RTC is not set
864# CONFIG_GEN_RTC is not set
865# CONFIG_DTLK is not set
866# CONFIG_R3964 is not set
867# CONFIG_APPLICOM is not set
868# CONFIG_SONYPI is not set
869CONFIG_AGP=m
870CONFIG_AGP_ALI=m
871CONFIG_AGP_ATI=m
872CONFIG_AGP_AMD=m
873CONFIG_AGP_AMD64=m
874CONFIG_AGP_INTEL=m
875CONFIG_AGP_NVIDIA=m
876CONFIG_AGP_SIS=m
877CONFIG_AGP_SWORKS=m
878CONFIG_AGP_VIA=m
879CONFIG_AGP_EFFICEON=m
880# CONFIG_DRM is not set
881# CONFIG_DRM_I830 is not set
882# CONFIG_DRM_I915 is not set
883# CONFIG_MWAVE is not set
884# CONFIG_PC8736x_GPIO is not set
885# CONFIG_NSC_GPIO is not set
886# CONFIG_CS5535_GPIO is not set
887# CONFIG_RAW_DRIVER is not set
888# CONFIG_HPET is not set
889# CONFIG_HANGCHECK_TIMER is not set
890
891#
892# TPM devices
893#
894# CONFIG_TCG_TPM is not set
895# CONFIG_TELCLOCK is not set
896
897#
898# I2C support
899#
900# CONFIG_I2C is not set
901
902#
903# SPI support
904#
905# CONFIG_SPI is not set
906# CONFIG_SPI_MASTER is not set
907
908#
909# Dallas's 1-wire bus
910#
911# CONFIG_W1 is not set
912
913#
914# Hardware Monitoring support
915#
916# CONFIG_HWMON is not set
917# CONFIG_HWMON_VID is not set
918
919#
920# Multifunction device drivers
921#
922# CONFIG_MFD_SM501 is not set
923
924#
925# Multi-Function Devices
926#
927
928#
929# Multimedia devices
930#
931CONFIG_VIDEO_DEV=m
932CONFIG_VIDEO_V4L1=y
933CONFIG_VIDEO_V4L1_COMPAT=y
934CONFIG_VIDEO_V4L2=y
935
936#
937# Digital Video Broadcasting Devices
938#
939# CONFIG_DVB is not set
940# CONFIG_USB_DABUSB is not set
941
942#
943# Graphics support
944#
945# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
946CONFIG_FB=y
947# CONFIG_FIRMWARE_EDID is not set
948# CONFIG_FB_DDC is not set
949CONFIG_FB_CFB_FILLRECT=y
950CONFIG_FB_CFB_COPYAREA=y
951CONFIG_FB_CFB_IMAGEBLIT=y
952# CONFIG_FB_SVGALIB is not set
953# CONFIG_FB_MACMODES is not set
954# CONFIG_FB_BACKLIGHT is not set
955CONFIG_FB_MODE_HELPERS=y
956# CONFIG_FB_TILEBLITTING is not set
957
958#
959# Frame buffer hardware drivers
960#
961# CONFIG_FB_CIRRUS is not set
962# CONFIG_FB_PM2 is not set
963# CONFIG_FB_CYBER2000 is not set
964# CONFIG_FB_ARC is not set
965# CONFIG_FB_ASILIANT is not set
966# CONFIG_FB_IMSTT is not set
967CONFIG_FB_VGA16=y
968CONFIG_FB_VESA=y
969# CONFIG_FB_VESA_STD is not set
970CONFIG_FB_VESA_TNG=y
971CONFIG_FB_VESA_DEFAULT_MODE="640x480-16@60"
972CONFIG_VIDEO_SELECT=y
973# CONFIG_FB_HGA is not set
974# CONFIG_FB_S1D13XXX is not set
975# CONFIG_FB_NVIDIA is not set
976# CONFIG_FB_RIVA is not set
977# CONFIG_FB_I810 is not set
978# CONFIG_FB_INTEL is not set
979# CONFIG_FB_MATROX is not set
980# CONFIG_FB_RADEON is not set
981# CONFIG_FB_ATY128 is not set
982# CONFIG_FB_ATY is not set
983# CONFIG_FB_S3 is not set
984# CONFIG_FB_SAVAGE is not set
985# CONFIG_FB_SIS is not set
986# CONFIG_FB_NEOMAGIC is not set
987# CONFIG_FB_KYRO is not set
988# CONFIG_FB_3DFX is not set
989# CONFIG_FB_VOODOO1 is not set
990# CONFIG_FB_CYBLA is not set
991# CONFIG_FB_TRIDENT is not set
992# CONFIG_FB_GEODE is not set
993# CONFIG_FB_VIRTUAL is not set
994
995#
996# Console display driver support
997#
998CONFIG_VGA_CONSOLE=y
999# CONFIG_VGACON_SOFT_SCROLLBACK is not set
1000# CONFIG_MDA_CONSOLE is not set
1001CONFIG_DUMMY_CONSOLE=y
1002CONFIG_FRAMEBUFFER_CONSOLE=y
1003# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
1004CONFIG_FONTS=y
1005CONFIG_FONT_8x8=y
1006CONFIG_FONT_8x16=y
1007# CONFIG_FONT_6x11 is not set
1008# CONFIG_FONT_7x14 is not set
1009# CONFIG_FONT_PEARL_8x8 is not set
1010# CONFIG_FONT_ACORN_8x8 is not set
1011# CONFIG_FONT_MINI_4x6 is not set
1012# CONFIG_FONT_SUN8x16 is not set
1013# CONFIG_FONT_SUN12x22 is not set
1014# CONFIG_FONT_10x18 is not set
1015
1016#
1017# Logo configuration
1018#
1019CONFIG_LOGO=y
1020# CONFIG_LOGO_LINUX_MONO is not set
1021# CONFIG_LOGO_LINUX_VGA16 is not set
1022# CONFIG_LOGO_LINUX_CLUT224 is not set
1023CONFIG_LOGO_OHAND_CLUT224=y
1024# CONFIG_LOGO_OZ240_CLUT224 is not set
1025# CONFIG_LOGO_OZ480_CLUT224 is not set
1026# CONFIG_LOGO_OZ640_CLUT224 is not set
1027
1028#
1029# Sound
1030#
1031CONFIG_SOUND=y
1032
1033#
1034# Advanced Linux Sound Architecture
1035#
1036CONFIG_SND=y
1037CONFIG_SND_TIMER=y
1038CONFIG_SND_PCM=y
1039CONFIG_SND_SEQUENCER=y
1040# CONFIG_SND_SEQ_DUMMY is not set
1041CONFIG_SND_OSSEMUL=y
1042CONFIG_SND_MIXER_OSS=y
1043CONFIG_SND_PCM_OSS=y
1044CONFIG_SND_PCM_OSS_PLUGINS=y
1045CONFIG_SND_SEQUENCER_OSS=y
1046# CONFIG_SND_DYNAMIC_MINORS is not set
1047CONFIG_SND_SUPPORT_OLD_API=y
1048CONFIG_SND_VERBOSE_PROCFS=y
1049# CONFIG_SND_VERBOSE_PRINTK is not set
1050# CONFIG_SND_DEBUG is not set
1051
1052#
1053# Generic devices
1054#
1055CONFIG_SND_AC97_CODEC=y
1056# CONFIG_SND_DUMMY is not set
1057# CONFIG_SND_VIRMIDI is not set
1058# CONFIG_SND_MTPAV is not set
1059# CONFIG_SND_SERIAL_U16550 is not set
1060# CONFIG_SND_MPU401 is not set
1061
1062#
1063# ISA devices
1064#
1065# CONFIG_SND_ADLIB is not set
1066# CONFIG_SND_AD1816A is not set
1067# CONFIG_SND_AD1848 is not set
1068# CONFIG_SND_ALS100 is not set
1069# CONFIG_SND_AZT2320 is not set
1070# CONFIG_SND_CMI8330 is not set
1071# CONFIG_SND_CS4231 is not set
1072# CONFIG_SND_CS4232 is not set
1073# CONFIG_SND_CS4236 is not set
1074# CONFIG_SND_DT019X is not set
1075# CONFIG_SND_ES968 is not set
1076# CONFIG_SND_ES1688 is not set
1077# CONFIG_SND_ES18XX is not set
1078# CONFIG_SND_GUSCLASSIC is not set
1079# CONFIG_SND_GUSEXTREME is not set
1080# CONFIG_SND_GUSMAX is not set
1081# CONFIG_SND_INTERWAVE is not set
1082# CONFIG_SND_INTERWAVE_STB is not set
1083# CONFIG_SND_OPL3SA2 is not set
1084# CONFIG_SND_OPTI92X_AD1848 is not set
1085# CONFIG_SND_OPTI92X_CS4231 is not set
1086# CONFIG_SND_OPTI93X is not set
1087# CONFIG_SND_MIRO is not set
1088# CONFIG_SND_SB8 is not set
1089# CONFIG_SND_SB16 is not set
1090# CONFIG_SND_SBAWE is not set
1091# CONFIG_SND_SGALAXY is not set
1092# CONFIG_SND_SSCAPE is not set
1093# CONFIG_SND_WAVEFRONT is not set
1094
1095#
1096# PCI devices
1097#
1098# CONFIG_SND_AD1889 is not set
1099# CONFIG_SND_ALS300 is not set
1100# CONFIG_SND_ALS4000 is not set
1101# CONFIG_SND_ALI5451 is not set
1102# CONFIG_SND_ATIIXP is not set
1103# CONFIG_SND_ATIIXP_MODEM is not set
1104# CONFIG_SND_AU8810 is not set
1105# CONFIG_SND_AU8820 is not set
1106# CONFIG_SND_AU8830 is not set
1107# CONFIG_SND_AZT3328 is not set
1108# CONFIG_SND_BT87X is not set
1109# CONFIG_SND_CA0106 is not set
1110# CONFIG_SND_CMIPCI is not set
1111# CONFIG_SND_CS4281 is not set
1112# CONFIG_SND_CS46XX is not set
1113# CONFIG_SND_CS5535AUDIO is not set
1114# CONFIG_SND_DARLA20 is not set
1115# CONFIG_SND_GINA20 is not set
1116# CONFIG_SND_LAYLA20 is not set
1117# CONFIG_SND_DARLA24 is not set
1118# CONFIG_SND_GINA24 is not set
1119# CONFIG_SND_LAYLA24 is not set
1120# CONFIG_SND_MONA is not set
1121# CONFIG_SND_MIA is not set
1122# CONFIG_SND_ECHO3G is not set
1123# CONFIG_SND_INDIGO is not set
1124# CONFIG_SND_INDIGOIO is not set
1125# CONFIG_SND_INDIGODJ is not set
1126# CONFIG_SND_EMU10K1 is not set
1127# CONFIG_SND_EMU10K1X is not set
1128# CONFIG_SND_ENS1370 is not set
1129# CONFIG_SND_ENS1371 is not set
1130# CONFIG_SND_ES1938 is not set
1131# CONFIG_SND_ES1968 is not set
1132# CONFIG_SND_FM801 is not set
1133# CONFIG_SND_HDA_INTEL is not set
1134# CONFIG_SND_HDSP is not set
1135# CONFIG_SND_HDSPM is not set
1136# CONFIG_SND_ICE1712 is not set
1137# CONFIG_SND_ICE1724 is not set
1138CONFIG_SND_INTEL8X0=y
1139# CONFIG_SND_INTEL8X0M is not set
1140# CONFIG_SND_KORG1212 is not set
1141# CONFIG_SND_MAESTRO3 is not set
1142# CONFIG_SND_MIXART is not set
1143# CONFIG_SND_NM256 is not set
1144# CONFIG_SND_PCXHR is not set
1145# CONFIG_SND_RIPTIDE is not set
1146# CONFIG_SND_RME32 is not set
1147# CONFIG_SND_RME96 is not set
1148# CONFIG_SND_RME9652 is not set
1149# CONFIG_SND_SONICVIBES is not set
1150# CONFIG_SND_TRIDENT is not set
1151# CONFIG_SND_VIA82XX is not set
1152# CONFIG_SND_VIA82XX_MODEM is not set
1153# CONFIG_SND_VX222 is not set
1154# CONFIG_SND_YMFPCI is not set
1155CONFIG_SND_AC97_POWER_SAVE=y
1156
1157#
1158# USB devices
1159#
1160# CONFIG_SND_USB_AUDIO is not set
1161# CONFIG_SND_USB_USX2Y is not set
1162
1163#
1164# SoC audio support
1165#
1166# CONFIG_SND_SOC is not set
1167
1168#
1169# Open Sound System
1170#
1171# CONFIG_SOUND_PRIME is not set
1172CONFIG_AC97_BUS=y
1173
1174#
1175# HID Devices
1176#
1177CONFIG_HID=y
1178# CONFIG_HID_DEBUG is not set
1179
1180#
1181# USB support
1182#
1183CONFIG_USB_ARCH_HAS_HCD=y
1184CONFIG_USB_ARCH_HAS_OHCI=y
1185CONFIG_USB_ARCH_HAS_EHCI=y
1186CONFIG_USB=y
1187# CONFIG_USB_DEBUG is not set
1188
1189#
1190# Miscellaneous USB options
1191#
1192CONFIG_USB_DEVICEFS=y
1193# CONFIG_USB_DYNAMIC_MINORS is not set
1194CONFIG_USB_SUSPEND=y
1195# CONFIG_USB_OTG is not set
1196
1197#
1198# USB Host Controller Drivers
1199#
1200CONFIG_USB_EHCI_HCD=y
1201CONFIG_USB_EHCI_SPLIT_ISO=y
1202# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1203# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1204# CONFIG_USB_EHCI_BIG_ENDIAN_MMIO is not set
1205# CONFIG_USB_ISP116X_HCD is not set
1206CONFIG_USB_OHCI_HCD=y
1207# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
1208# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
1209CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1210CONFIG_USB_UHCI_HCD=y
1211# CONFIG_USB_SL811_HCD is not set
1212
1213#
1214# USB Device Class drivers
1215#
1216# CONFIG_USB_ACM is not set
1217# CONFIG_USB_PRINTER is not set
1218
1219#
1220# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1221#
1222
1223#
1224# may also be needed; see USB_STORAGE Help for more information
1225#
1226# CONFIG_USB_STORAGE is not set
1227# CONFIG_USB_LIBUSUAL is not set
1228
1229#
1230# USB Input Devices
1231#
1232CONFIG_USB_HID=y
1233# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1234# CONFIG_HID_FF is not set
1235# CONFIG_USB_HIDDEV is not set
1236# CONFIG_USB_AIPTEK is not set
1237CONFIG_USB_WACOM=y
1238# CONFIG_USB_ACECAD is not set
1239# CONFIG_USB_KBTAB is not set
1240# CONFIG_USB_POWERMATE is not set
1241# CONFIG_USB_TOUCHSCREEN is not set
1242# CONFIG_USB_YEALINK is not set
1243# CONFIG_USB_XPAD is not set
1244# CONFIG_USB_ATI_REMOTE is not set
1245# CONFIG_USB_ATI_REMOTE2 is not set
1246# CONFIG_USB_KEYSPAN_REMOTE is not set
1247# CONFIG_USB_APPLETOUCH is not set
1248# CONFIG_USB_GTCO is not set
1249
1250#
1251# USB Imaging devices
1252#
1253# CONFIG_USB_MDC800 is not set
1254# CONFIG_USB_MICROTEK is not set
1255
1256#
1257# USB Network Adapters
1258#
1259# CONFIG_USB_CATC is not set
1260# CONFIG_USB_KAWETH is not set
1261# CONFIG_USB_PEGASUS is not set
1262# CONFIG_USB_RTL8150 is not set
1263# CONFIG_USB_USBNET_MII is not set
1264# CONFIG_USB_USBNET is not set
1265# CONFIG_USB_MON is not set
1266
1267#
1268# USB port drivers
1269#
1270
1271#
1272# USB Serial Converter support
1273#
1274# CONFIG_USB_SERIAL is not set
1275
1276#
1277# USB Miscellaneous drivers
1278#
1279# CONFIG_USB_EMI62 is not set
1280# CONFIG_USB_EMI26 is not set
1281# CONFIG_USB_ADUTUX is not set
1282# CONFIG_USB_AUERSWALD is not set
1283# CONFIG_USB_RIO500 is not set
1284# CONFIG_USB_LEGOTOWER is not set
1285# CONFIG_USB_LCD is not set
1286# CONFIG_USB_BERRY_CHARGE is not set
1287# CONFIG_USB_LED is not set
1288# CONFIG_USB_CYPRESS_CY7C63 is not set
1289# CONFIG_USB_CYTHERM is not set
1290# CONFIG_USB_PHIDGET is not set
1291# CONFIG_USB_IDMOUSE is not set
1292# CONFIG_USB_FTDI_ELAN is not set
1293# CONFIG_USB_APPLEDISPLAY is not set
1294# CONFIG_USB_SISUSBVGA is not set
1295# CONFIG_USB_LD is not set
1296# CONFIG_USB_TRANCEVIBRATOR is not set
1297# CONFIG_USB_IOWARRIOR is not set
1298# CONFIG_USB_TEST is not set
1299
1300#
1301# USB DSL modem support
1302#
1303
1304#
1305# USB Gadget Support
1306#
1307# CONFIG_USB_GADGET is not set
1308
1309#
1310# MMC/SD Card support
1311#
1312# CONFIG_MMC is not set
1313
1314#
1315# LED devices
1316#
1317# CONFIG_NEW_LEDS is not set
1318
1319#
1320# LED drivers
1321#
1322
1323#
1324# LED Triggers
1325#
1326
1327#
1328# InfiniBand support
1329#
1330# CONFIG_INFINIBAND is not set
1331
1332#
1333# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
1334#
1335# CONFIG_EDAC is not set
1336
1337#
1338# Real Time Clock
1339#
1340# CONFIG_RTC_CLASS is not set
1341
1342#
1343# DMA Engine support
1344#
1345# CONFIG_DMA_ENGINE is not set
1346
1347#
1348# DMA Clients
1349#
1350
1351#
1352# DMA Devices
1353#
1354
1355#
1356# Auxiliary Display support
1357#
1358
1359#
1360# Virtualization
1361#
1362# CONFIG_KVM is not set
1363
1364#
1365# File systems
1366#
1367CONFIG_EXT2_FS=y
1368# CONFIG_EXT2_FS_XATTR is not set
1369# CONFIG_EXT2_FS_XIP is not set
1370# CONFIG_EXT3_FS is not set
1371# CONFIG_EXT4DEV_FS is not set
1372# CONFIG_REISERFS_FS is not set
1373# CONFIG_JFS_FS is not set
1374# CONFIG_FS_POSIX_ACL is not set
1375# CONFIG_XFS_FS is not set
1376# CONFIG_GFS2_FS is not set
1377# CONFIG_OCFS2_FS is not set
1378# CONFIG_MINIX_FS is not set
1379# CONFIG_ROMFS_FS is not set
1380CONFIG_INOTIFY=y
1381CONFIG_INOTIFY_USER=y
1382# CONFIG_QUOTA is not set
1383CONFIG_DNOTIFY=y
1384# CONFIG_AUTOFS_FS is not set
1385# CONFIG_AUTOFS4_FS is not set
1386# CONFIG_FUSE_FS is not set
1387
1388#
1389# CD-ROM/DVD Filesystems
1390#
1391CONFIG_ISO9660_FS=y
1392CONFIG_JOLIET=y
1393# CONFIG_ZISOFS is not set
1394# CONFIG_UDF_FS is not set
1395
1396#
1397# DOS/FAT/NT Filesystems
1398#
1399# CONFIG_MSDOS_FS is not set
1400# CONFIG_VFAT_FS is not set
1401# CONFIG_NTFS_FS is not set
1402
1403#
1404# Pseudo filesystems
1405#
1406CONFIG_PROC_FS=y
1407CONFIG_PROC_KCORE=y
1408CONFIG_PROC_SYSCTL=y
1409CONFIG_SYSFS=y
1410CONFIG_TMPFS=y
1411# CONFIG_TMPFS_POSIX_ACL is not set
1412# CONFIG_HUGETLBFS is not set
1413# CONFIG_HUGETLB_PAGE is not set
1414CONFIG_RAMFS=y
1415# CONFIG_CONFIGFS_FS is not set
1416
1417#
1418# Miscellaneous filesystems
1419#
1420# CONFIG_ADFS_FS is not set
1421# CONFIG_AFFS_FS is not set
1422# CONFIG_HFS_FS is not set
1423# CONFIG_HFSPLUS_FS is not set
1424# CONFIG_BEFS_FS is not set
1425# CONFIG_BFS_FS is not set
1426# CONFIG_EFS_FS is not set
1427# CONFIG_CRAMFS is not set
1428# CONFIG_SQUASHFS is not set
1429# CONFIG_VXFS_FS is not set
1430# CONFIG_HPFS_FS is not set
1431# CONFIG_QNX4FS_FS is not set
1432# CONFIG_SYSV_FS is not set
1433# CONFIG_UFS_FS is not set
1434
1435#
1436# Network File Systems
1437#
1438# CONFIG_NFS_FS is not set
1439# CONFIG_NFSD is not set
1440# CONFIG_SMB_FS is not set
1441# CONFIG_CIFS is not set
1442# CONFIG_NCP_FS is not set
1443# CONFIG_CODA_FS is not set
1444# CONFIG_AFS_FS is not set
1445# CONFIG_9P_FS is not set
1446
1447#
1448# Partition Types
1449#
1450# CONFIG_PARTITION_ADVANCED is not set
1451CONFIG_MSDOS_PARTITION=y
1452
1453#
1454# Native Language Support
1455#
1456CONFIG_NLS=y
1457CONFIG_NLS_DEFAULT="utf-8"
1458CONFIG_NLS_CODEPAGE_437=y
1459# CONFIG_NLS_CODEPAGE_737 is not set
1460# CONFIG_NLS_CODEPAGE_775 is not set
1461# CONFIG_NLS_CODEPAGE_850 is not set
1462# CONFIG_NLS_CODEPAGE_852 is not set
1463# CONFIG_NLS_CODEPAGE_855 is not set
1464# CONFIG_NLS_CODEPAGE_857 is not set
1465# CONFIG_NLS_CODEPAGE_860 is not set
1466# CONFIG_NLS_CODEPAGE_861 is not set
1467# CONFIG_NLS_CODEPAGE_862 is not set
1468# CONFIG_NLS_CODEPAGE_863 is not set
1469# CONFIG_NLS_CODEPAGE_864 is not set
1470# CONFIG_NLS_CODEPAGE_865 is not set
1471# CONFIG_NLS_CODEPAGE_866 is not set
1472# CONFIG_NLS_CODEPAGE_869 is not set
1473# CONFIG_NLS_CODEPAGE_936 is not set
1474# CONFIG_NLS_CODEPAGE_950 is not set
1475# CONFIG_NLS_CODEPAGE_932 is not set
1476# CONFIG_NLS_CODEPAGE_949 is not set
1477# CONFIG_NLS_CODEPAGE_874 is not set
1478# CONFIG_NLS_ISO8859_8 is not set
1479# CONFIG_NLS_CODEPAGE_1250 is not set
1480# CONFIG_NLS_CODEPAGE_1251 is not set
1481# CONFIG_NLS_ASCII is not set
1482CONFIG_NLS_ISO8859_1=y
1483# CONFIG_NLS_ISO8859_2 is not set
1484# CONFIG_NLS_ISO8859_3 is not set
1485# CONFIG_NLS_ISO8859_4 is not set
1486# CONFIG_NLS_ISO8859_5 is not set
1487# CONFIG_NLS_ISO8859_6 is not set
1488# CONFIG_NLS_ISO8859_7 is not set
1489# CONFIG_NLS_ISO8859_9 is not set
1490# CONFIG_NLS_ISO8859_13 is not set
1491# CONFIG_NLS_ISO8859_14 is not set
1492# CONFIG_NLS_ISO8859_15 is not set
1493# CONFIG_NLS_KOI8_R is not set
1494# CONFIG_NLS_KOI8_U is not set
1495CONFIG_NLS_UTF8=y
1496
1497#
1498# Distributed Lock Manager
1499#
1500# CONFIG_DLM is not set
1501
1502#
1503# Instrumentation Support
1504#
1505CONFIG_PROFILING=y
1506CONFIG_OPROFILE=y
1507# CONFIG_KPROBES is not set
1508
1509#
1510# Kernel hacking
1511#
1512CONFIG_TRACE_IRQFLAGS_SUPPORT=y
1513# CONFIG_PRINTK_TIME is not set
1514CONFIG_ENABLE_MUST_CHECK=y
1515CONFIG_MAGIC_SYSRQ=y
1516# CONFIG_UNUSED_SYMBOLS is not set
1517# CONFIG_DEBUG_FS is not set
1518# CONFIG_HEADERS_CHECK is not set
1519# CONFIG_DEBUG_KERNEL is not set
1520CONFIG_LOG_BUF_SHIFT=15
1521# CONFIG_DEBUG_BUGVERBOSE is not set
1522CONFIG_EARLY_PRINTK=y
1523CONFIG_X86_FIND_SMP_CONFIG=y
1524CONFIG_X86_MPPARSE=y
1525CONFIG_DOUBLEFAULT=y
1526
1527#
1528# Security options
1529#
1530# CONFIG_KEYS is not set
1531# CONFIG_SECURITY is not set
1532
1533#
1534# Cryptographic options
1535#
1536CONFIG_CRYPTO=y
1537CONFIG_CRYPTO_ALGAPI=m
1538CONFIG_CRYPTO_BLKCIPHER=m
1539CONFIG_CRYPTO_MANAGER=m
1540# CONFIG_CRYPTO_HMAC is not set
1541# CONFIG_CRYPTO_XCBC is not set
1542# CONFIG_CRYPTO_NULL is not set
1543# CONFIG_CRYPTO_MD4 is not set
1544# CONFIG_CRYPTO_MD5 is not set
1545CONFIG_CRYPTO_SHA1=m
1546CONFIG_CRYPTO_SHA256=m
1547# CONFIG_CRYPTO_SHA512 is not set
1548# CONFIG_CRYPTO_WP512 is not set
1549# CONFIG_CRYPTO_TGR192 is not set
1550# CONFIG_CRYPTO_GF128MUL is not set
1551CONFIG_CRYPTO_ECB=m
1552CONFIG_CRYPTO_CBC=m
1553CONFIG_CRYPTO_PCBC=m
1554# CONFIG_CRYPTO_LRW is not set
1555# CONFIG_CRYPTO_DES is not set
1556# CONFIG_CRYPTO_FCRYPT is not set
1557# CONFIG_CRYPTO_BLOWFISH is not set
1558# CONFIG_CRYPTO_TWOFISH is not set
1559# CONFIG_CRYPTO_TWOFISH_586 is not set
1560# CONFIG_CRYPTO_SERPENT is not set
1561# CONFIG_CRYPTO_AES is not set
1562# CONFIG_CRYPTO_AES_586 is not set
1563# CONFIG_CRYPTO_CAST5 is not set
1564# CONFIG_CRYPTO_CAST6 is not set
1565# CONFIG_CRYPTO_TEA is not set
1566# CONFIG_CRYPTO_ARC4 is not set
1567# CONFIG_CRYPTO_KHAZAD is not set
1568# CONFIG_CRYPTO_ANUBIS is not set
1569# CONFIG_CRYPTO_DEFLATE is not set
1570# CONFIG_CRYPTO_LZO is not set
1571# CONFIG_CRYPTO_MICHAEL_MIC is not set
1572# CONFIG_CRYPTO_CRC32C is not set
1573# CONFIG_CRYPTO_CAMELLIA is not set
1574# CONFIG_CRYPTO_TEST is not set
1575
1576#
1577# Hardware crypto devices
1578#
1579CONFIG_CRYPTO_DEV_PADLOCK=m
1580CONFIG_CRYPTO_DEV_PADLOCK_AES=m
1581CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
1582CONFIG_CRYPTO_DEV_GEODE=m
1583
1584#
1585# Library routines
1586#
1587CONFIG_BITREVERSE=y
1588CONFIG_CRC_CCITT=m
1589# CONFIG_CRC16 is not set
1590CONFIG_CRC32=y
1591CONFIG_LIBCRC32C=m
1592CONFIG_AUDIT_GENERIC=y
1593# CONFIG_LZO is not set
1594CONFIG_ZLIB_INFLATE=m
1595CONFIG_PLIST=y
1596CONFIG_HAS_IOMEM=y
1597CONFIG_HAS_IOPORT=y
1598CONFIG_GENERIC_HARDIRQS=y
1599CONFIG_GENERIC_IRQ_PROBE=y
1600CONFIG_GENERIC_PENDING_IRQ=y
1601CONFIG_X86_SMP=y
1602CONFIG_X86_HT=y
1603CONFIG_X86_BIOS_REBOOT=y
1604CONFIG_X86_TRAMPOLINE=y
1605CONFIG_KTIME_SCALAR=y
1606# CONFIG_SHARPSL_RC is not set
diff --git a/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-c7x0 b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-c7x0
new file mode 100644
index 0000000000..e8efdd4de2
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-c7x0
@@ -0,0 +1,1786 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.20
4# Thu Mar 29 13:32:11 2007
5#
6CONFIG_ARM=y
7# CONFIG_GENERIC_TIME is not set
8CONFIG_MMU=y
9CONFIG_GENERIC_HARDIRQS=y
10CONFIG_TRACE_IRQFLAGS_SUPPORT=y
11CONFIG_HARDIRQS_SW_RESEND=y
12CONFIG_GENERIC_IRQ_PROBE=y
13CONFIG_RWSEM_GENERIC_SPINLOCK=y
14# CONFIG_ARCH_HAS_ILOG2_U32 is not set
15# CONFIG_ARCH_HAS_ILOG2_U64 is not set
16CONFIG_GENERIC_HWEIGHT=y
17CONFIG_GENERIC_CALIBRATE_DELAY=y
18CONFIG_ARCH_MTD_XIP=y
19CONFIG_VECTORS_BASE=0xffff0000
20CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
21
22#
23# Code maturity level options
24#
25CONFIG_EXPERIMENTAL=y
26CONFIG_BROKEN_ON_SMP=y
27CONFIG_LOCK_KERNEL=y
28CONFIG_INIT_ENV_ARG_LIMIT=32
29
30#
31# General setup
32#
33CONFIG_LOCALVERSION=""
34CONFIG_LOCALVERSION_AUTO=y
35CONFIG_SWAP=y
36CONFIG_SYSVIPC=y
37# CONFIG_IPC_NS is not set
38# CONFIG_POSIX_MQUEUE is not set
39CONFIG_BSD_PROCESS_ACCT=y
40# CONFIG_BSD_PROCESS_ACCT_V3 is not set
41# CONFIG_TASKSTATS is not set
42# CONFIG_UTS_NS is not set
43# CONFIG_AUDIT is not set
44# CONFIG_IKCONFIG is not set
45CONFIG_SYSFS_DEPRECATED=y
46# CONFIG_RELAY is not set
47CONFIG_INITRAMFS_SOURCE=""
48CONFIG_CC_OPTIMIZE_FOR_SIZE=y
49CONFIG_SYSCTL=y
50CONFIG_EMBEDDED=y
51CONFIG_UID16=y
52CONFIG_SYSCTL_SYSCALL=y
53CONFIG_KALLSYMS=y
54# CONFIG_KALLSYMS_ALL is not set
55# CONFIG_KALLSYMS_EXTRA_PASS is not set
56CONFIG_HOTPLUG=y
57CONFIG_PRINTK=y
58CONFIG_BUG=y
59CONFIG_ELF_CORE=y
60CONFIG_BASE_FULL=y
61CONFIG_FUTEX=y
62CONFIG_EPOLL=y
63CONFIG_SHMEM=y
64CONFIG_SLAB=y
65CONFIG_VM_EVENT_COUNTERS=y
66CONFIG_RT_MUTEXES=y
67# CONFIG_TINY_SHMEM is not set
68CONFIG_BASE_SMALL=0
69# CONFIG_SLOB is not set
70
71#
72# Loadable module support
73#
74CONFIG_MODULES=y
75CONFIG_MODULE_UNLOAD=y
76CONFIG_MODULE_FORCE_UNLOAD=y
77# CONFIG_MODVERSIONS is not set
78# CONFIG_MODULE_SRCVERSION_ALL is not set
79CONFIG_KMOD=y
80
81#
82# Block layer
83#
84CONFIG_BLOCK=y
85# CONFIG_LBD is not set
86# CONFIG_BLK_DEV_IO_TRACE is not set
87# CONFIG_LSF is not set
88
89#
90# IO Schedulers
91#
92CONFIG_IOSCHED_NOOP=y
93CONFIG_IOSCHED_AS=y
94CONFIG_IOSCHED_DEADLINE=m
95CONFIG_IOSCHED_CFQ=m
96CONFIG_DEFAULT_AS=y
97# CONFIG_DEFAULT_DEADLINE is not set
98# CONFIG_DEFAULT_CFQ is not set
99# CONFIG_DEFAULT_NOOP is not set
100CONFIG_DEFAULT_IOSCHED="anticipatory"
101
102#
103# System Type
104#
105# CONFIG_ARCH_AAEC2000 is not set
106# CONFIG_ARCH_INTEGRATOR is not set
107# CONFIG_ARCH_REALVIEW is not set
108# CONFIG_ARCH_VERSATILE is not set
109# CONFIG_ARCH_AT91 is not set
110# CONFIG_ARCH_CLPS7500 is not set
111# CONFIG_ARCH_CLPS711X is not set
112# CONFIG_ARCH_CO285 is not set
113# CONFIG_ARCH_EBSA110 is not set
114# CONFIG_ARCH_EP93XX is not set
115# CONFIG_ARCH_FOOTBRIDGE is not set
116# CONFIG_ARCH_NETX is not set
117# CONFIG_ARCH_H720X is not set
118# CONFIG_ARCH_IMX is not set
119# CONFIG_ARCH_IOP32X is not set
120# CONFIG_ARCH_IOP33X is not set
121# CONFIG_ARCH_IOP13XX is not set
122# CONFIG_ARCH_IXP4XX is not set
123# CONFIG_ARCH_IXP2000 is not set
124# CONFIG_ARCH_IXP23XX is not set
125# CONFIG_ARCH_L7200 is not set
126# CONFIG_ARCH_PNX4008 is not set
127CONFIG_ARCH_PXA=y
128# CONFIG_ARCH_RPC is not set
129# CONFIG_ARCH_SA1100 is not set
130# CONFIG_ARCH_S3C2410 is not set
131# CONFIG_ARCH_SHARK is not set
132# CONFIG_ARCH_LH7A40X is not set
133# CONFIG_ARCH_OMAP is not set
134
135#
136# Intel PXA2xx Implementations
137#
138# CONFIG_ARCH_LUBBOCK is not set
139# CONFIG_MACH_LOGICPD_PXA270 is not set
140# CONFIG_MACH_MAINSTONE is not set
141# CONFIG_ARCH_PXA_IDP is not set
142CONFIG_PXA_SHARPSL=y
143# CONFIG_MACH_TRIZEPS4 is not set
144# CONFIG_MACH_HX2750 is not set
145CONFIG_PXA_SHARPSL_25x=y
146# CONFIG_PXA_SHARPSL_27x is not set
147# CONFIG_MACH_POODLE is not set
148CONFIG_MACH_CORGI=y
149CONFIG_MACH_SHEPHERD=y
150CONFIG_MACH_HUSKY=y
151# CONFIG_MACH_TOSA is not set
152CONFIG_PXA25x=y
153CONFIG_PXA_SHARP_C7xx=y
154CONFIG_PXA_SSP=y
155# CONFIG_PXA_KEYS is not set
156
157#
158# Processor Type
159#
160CONFIG_CPU_32=y
161CONFIG_CPU_XSCALE=y
162CONFIG_CPU_32v5=y
163CONFIG_CPU_ABRT_EV5T=y
164CONFIG_CPU_CACHE_VIVT=y
165CONFIG_CPU_TLB_V4WBI=y
166CONFIG_CPU_CP15=y
167CONFIG_CPU_CP15_MMU=y
168
169#
170# Processor Features
171#
172CONFIG_ARM_THUMB=y
173# CONFIG_CPU_DCACHE_DISABLE is not set
174# CONFIG_IWMMXT is not set
175CONFIG_XSCALE_PMU=y
176CONFIG_SHARP_PARAM=y
177CONFIG_SHARPSL_PM=y
178CONFIG_SHARP_SCOOP=y
179
180#
181# Bus support
182#
183
184#
185# PCCARD (PCMCIA/CardBus) support
186#
187CONFIG_PCCARD=y
188# CONFIG_PCMCIA_DEBUG is not set
189CONFIG_PCMCIA=y
190CONFIG_PCMCIA_LOAD_CIS=y
191CONFIG_PCMCIA_IOCTL=y
192
193#
194# PC-card bridges
195#
196CONFIG_PCMCIA_PXA2XX=y
197
198#
199# Kernel Features
200#
201CONFIG_PREEMPT=y
202CONFIG_NO_IDLE_HZ=y
203CONFIG_HZ=100
204CONFIG_AEABI=y
205CONFIG_OABI_COMPAT=y
206# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
207CONFIG_SELECT_MEMORY_MODEL=y
208CONFIG_FLATMEM_MANUAL=y
209# CONFIG_DISCONTIGMEM_MANUAL is not set
210# CONFIG_SPARSEMEM_MANUAL is not set
211CONFIG_FLATMEM=y
212CONFIG_FLAT_NODE_MEM_MAP=y
213# CONFIG_SPARSEMEM_STATIC is not set
214CONFIG_SPLIT_PTLOCK_CPUS=4096
215# CONFIG_RESOURCES_64BIT is not set
216CONFIG_ALIGNMENT_TRAP=y
217
218#
219# Boot options
220#
221CONFIG_ZBOOT_ROM_TEXT=0x0
222CONFIG_ZBOOT_ROM_BSS=0x0
223CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 noinitrd root=/dev/mtdblock2 rootfstype=jffs2 dyntick=enable quiet"
224# CONFIG_XIP_KERNEL is not set
225CONFIG_CPU_FREQ_PXA25x=y
226CONFIG_KEXEC=y
227
228#
229# CPU Frequency scaling
230#
231CONFIG_CPU_FREQ=y
232CONFIG_CPU_FREQ_TABLE=y
233CONFIG_CPU_FREQ_DEBUG=y
234CONFIG_CPU_FREQ_STAT=y
235# CONFIG_CPU_FREQ_STAT_DETAILS is not set
236CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
237# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
238CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
239CONFIG_CPU_FREQ_GOV_POWERSAVE=y
240CONFIG_CPU_FREQ_GOV_USERSPACE=y
241CONFIG_CPU_FREQ_GOV_ONDEMAND=y
242CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
243
244#
245# Floating point emulation
246#
247
248#
249# At least one emulation must be selected
250#
251CONFIG_FPE_NWFPE=y
252# CONFIG_FPE_NWFPE_XP is not set
253# CONFIG_FPE_FASTFPE is not set
254
255#
256# Userspace binary formats
257#
258CONFIG_BINFMT_ELF=y
259CONFIG_BINFMT_AOUT=m
260CONFIG_BINFMT_MISC=m
261
262#
263# Power management options
264#
265CONFIG_PM=y
266# CONFIG_PM_LEGACY is not set
267# CONFIG_PM_DEBUG is not set
268# CONFIG_PM_SYSFS_DEPRECATED is not set
269CONFIG_APM=y
270
271#
272# Networking
273#
274CONFIG_NET=y
275
276#
277# Networking options
278#
279# CONFIG_NETDEBUG is not set
280CONFIG_PACKET=y
281CONFIG_PACKET_MMAP=y
282CONFIG_UNIX=y
283CONFIG_XFRM=y
284CONFIG_XFRM_USER=m
285# CONFIG_XFRM_SUB_POLICY is not set
286# CONFIG_NET_KEY is not set
287CONFIG_INET=y
288# CONFIG_IP_MULTICAST is not set
289# CONFIG_IP_ADVANCED_ROUTER is not set
290CONFIG_IP_FIB_HASH=y
291# CONFIG_IP_PNP is not set
292# CONFIG_NET_IPIP is not set
293# CONFIG_NET_IPGRE is not set
294# CONFIG_ARPD is not set
295CONFIG_SYN_COOKIES=y
296# CONFIG_INET_AH is not set
297# CONFIG_INET_ESP is not set
298# CONFIG_INET_IPCOMP is not set
299# CONFIG_INET_XFRM_TUNNEL is not set
300# CONFIG_INET_TUNNEL is not set
301CONFIG_INET_XFRM_MODE_TRANSPORT=y
302CONFIG_INET_XFRM_MODE_TUNNEL=y
303CONFIG_INET_XFRM_MODE_BEET=y
304CONFIG_INET_DIAG=m
305CONFIG_INET_TCP_DIAG=m
306# CONFIG_TCP_CONG_ADVANCED is not set
307CONFIG_TCP_CONG_CUBIC=y
308CONFIG_DEFAULT_TCP_CONG="cubic"
309# CONFIG_TCP_MD5SIG is not set
310
311#
312# IP: Virtual Server Configuration
313#
314# CONFIG_IP_VS is not set
315CONFIG_IPV6=m
316# CONFIG_IPV6_PRIVACY is not set
317# CONFIG_IPV6_ROUTER_PREF is not set
318CONFIG_INET6_AH=m
319CONFIG_INET6_ESP=m
320CONFIG_INET6_IPCOMP=m
321# CONFIG_IPV6_MIP6 is not set
322CONFIG_INET6_XFRM_TUNNEL=m
323CONFIG_INET6_TUNNEL=m
324CONFIG_INET6_XFRM_MODE_TRANSPORT=m
325CONFIG_INET6_XFRM_MODE_TUNNEL=m
326CONFIG_INET6_XFRM_MODE_BEET=m
327# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
328CONFIG_IPV6_SIT=m
329CONFIG_IPV6_TUNNEL=m
330# CONFIG_IPV6_MULTIPLE_TABLES is not set
331# CONFIG_NETWORK_SECMARK is not set
332CONFIG_NETFILTER=y
333# CONFIG_NETFILTER_DEBUG is not set
334
335#
336# Core Netfilter Configuration
337#
338# CONFIG_NETFILTER_NETLINK is not set
339# CONFIG_NF_CONNTRACK_ENABLED is not set
340# CONFIG_NETFILTER_XTABLES is not set
341
342#
343# IP: Netfilter Configuration
344#
345CONFIG_IP_NF_QUEUE=m
346
347#
348# IPv6: Netfilter Configuration (EXPERIMENTAL)
349#
350# CONFIG_IP6_NF_QUEUE is not set
351
352#
353# DCCP Configuration (EXPERIMENTAL)
354#
355# CONFIG_IP_DCCP is not set
356
357#
358# SCTP Configuration (EXPERIMENTAL)
359#
360# CONFIG_IP_SCTP is not set
361
362#
363# TIPC Configuration (EXPERIMENTAL)
364#
365# CONFIG_TIPC is not set
366# CONFIG_ATM is not set
367# CONFIG_BRIDGE is not set
368# CONFIG_VLAN_8021Q is not set
369# CONFIG_DECNET is not set
370# CONFIG_LLC2 is not set
371# CONFIG_IPX is not set
372# CONFIG_ATALK is not set
373# CONFIG_X25 is not set
374# CONFIG_LAPB is not set
375# CONFIG_ECONET is not set
376# CONFIG_WAN_ROUTER is not set
377
378#
379# QoS and/or fair queueing
380#
381# CONFIG_NET_SCHED is not set
382
383#
384# Network testing
385#
386# CONFIG_NET_PKTGEN is not set
387# CONFIG_HAMRADIO is not set
388CONFIG_IRDA=m
389
390#
391# IrDA protocols
392#
393CONFIG_IRLAN=m
394CONFIG_IRNET=m
395CONFIG_IRCOMM=m
396# CONFIG_IRDA_ULTRA is not set
397
398#
399# IrDA options
400#
401# CONFIG_IRDA_CACHE_LAST_LSAP is not set
402# CONFIG_IRDA_FAST_RR is not set
403# CONFIG_IRDA_DEBUG is not set
404
405#
406# Infrared-port device drivers
407#
408
409#
410# SIR device drivers
411#
412# CONFIG_IRTTY_SIR is not set
413
414#
415# Dongle support
416#
417
418#
419# Old SIR device drivers
420#
421# CONFIG_IRPORT_SIR is not set
422
423#
424# Old Serial dongle support
425#
426
427#
428# FIR device drivers
429#
430# CONFIG_USB_IRDA is not set
431# CONFIG_SIGMATEL_FIR is not set
432CONFIG_PXA_FICP=m
433# CONFIG_MCS_FIR is not set
434CONFIG_BT=m
435CONFIG_BT_L2CAP=m
436CONFIG_BT_SCO=m
437CONFIG_BT_RFCOMM=m
438CONFIG_BT_RFCOMM_TTY=y
439CONFIG_BT_BNEP=m
440CONFIG_BT_BNEP_MC_FILTER=y
441CONFIG_BT_BNEP_PROTO_FILTER=y
442CONFIG_BT_HIDP=m
443
444#
445# Bluetooth device drivers
446#
447CONFIG_BT_HCIUSB=m
448# CONFIG_BT_HCIUSB_SCO is not set
449CONFIG_BT_HCIUART=m
450CONFIG_BT_HCIUART_H4=y
451CONFIG_BT_HCIUART_BCSP=y
452CONFIG_BT_HCIBCM203X=m
453CONFIG_BT_HCIBPA10X=m
454CONFIG_BT_HCIBFUSB=m
455CONFIG_BT_HCIDTL1=m
456CONFIG_BT_HCIBT3C=m
457CONFIG_BT_HCIBLUECARD=m
458CONFIG_BT_HCIBTUART=m
459CONFIG_BT_HCIVHCI=m
460CONFIG_IEEE80211=m
461# CONFIG_IEEE80211_DEBUG is not set
462CONFIG_IEEE80211_CRYPT_WEP=m
463CONFIG_IEEE80211_CRYPT_CCMP=m
464CONFIG_IEEE80211_CRYPT_TKIP=m
465# CONFIG_IEEE80211_SOFTMAC is not set
466CONFIG_WIRELESS_EXT=y
467
468#
469# Device Drivers
470#
471
472#
473# Generic Driver Options
474#
475CONFIG_STANDALONE=y
476CONFIG_PREVENT_FIRMWARE_BUILD=y
477CONFIG_FW_LOADER=y
478# CONFIG_DEBUG_DRIVER is not set
479# CONFIG_SYS_HYPERVISOR is not set
480
481#
482# Connector - unified userspace <-> kernelspace linker
483#
484# CONFIG_CONNECTOR is not set
485
486#
487# Memory Technology Devices (MTD)
488#
489CONFIG_MTD=y
490# CONFIG_MTD_DEBUG is not set
491# CONFIG_MTD_CONCAT is not set
492CONFIG_MTD_PARTITIONS=y
493# CONFIG_MTD_REDBOOT_PARTS is not set
494CONFIG_MTD_CMDLINE_PARTS=y
495# CONFIG_MTD_AFS_PARTS is not set
496
497#
498# User Modules And Translation Layers
499#
500CONFIG_MTD_CHAR=y
501CONFIG_MTD_BLKDEVS=y
502CONFIG_MTD_BLOCK=y
503# CONFIG_FTL is not set
504# CONFIG_NFTL is not set
505# CONFIG_INFTL is not set
506# CONFIG_RFD_FTL is not set
507# CONFIG_SSFDC is not set
508
509#
510# RAM/ROM/Flash chip drivers
511#
512# CONFIG_MTD_CFI is not set
513# CONFIG_MTD_JEDECPROBE is not set
514CONFIG_MTD_MAP_BANK_WIDTH_1=y
515CONFIG_MTD_MAP_BANK_WIDTH_2=y
516CONFIG_MTD_MAP_BANK_WIDTH_4=y
517# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
518# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
519# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
520CONFIG_MTD_CFI_I1=y
521CONFIG_MTD_CFI_I2=y
522# CONFIG_MTD_CFI_I4 is not set
523# CONFIG_MTD_CFI_I8 is not set
524# CONFIG_MTD_RAM is not set
525CONFIG_MTD_ROM=y
526# CONFIG_MTD_ABSENT is not set
527# CONFIG_MTD_OBSOLETE_CHIPS is not set
528
529#
530# Mapping drivers for chip access
531#
532CONFIG_MTD_COMPLEX_MAPPINGS=y
533# CONFIG_MTD_PHYSMAP is not set
534CONFIG_MTD_SHARP_SL=y
535# CONFIG_MTD_PLATRAM is not set
536
537#
538# Self-contained MTD device drivers
539#
540# CONFIG_MTD_SLRAM is not set
541# CONFIG_MTD_PHRAM is not set
542# CONFIG_MTD_MTDRAM is not set
543# CONFIG_MTD_BLOCK2MTD is not set
544
545#
546# Disk-On-Chip Device Drivers
547#
548# CONFIG_MTD_DOC2000 is not set
549# CONFIG_MTD_DOC2001 is not set
550# CONFIG_MTD_DOC2001PLUS is not set
551
552#
553# NAND Flash Device Drivers
554#
555CONFIG_MTD_NAND=y
556CONFIG_MTD_NAND_VERIFY_WRITE=y
557# CONFIG_MTD_NAND_ECC_SMC is not set
558# CONFIG_MTD_NAND_H1900 is not set
559CONFIG_MTD_NAND_IDS=y
560# CONFIG_MTD_NAND_DISKONCHIP is not set
561CONFIG_MTD_NAND_SHARPSL=y
562# CONFIG_MTD_NAND_NANDSIM is not set
563
564#
565# OneNAND Flash Device Drivers
566#
567# CONFIG_MTD_ONENAND is not set
568
569#
570# Parallel port support
571#
572# CONFIG_PARPORT is not set
573
574#
575# Plug and Play support
576#
577
578#
579# Block devices
580#
581# CONFIG_BLK_DEV_COW_COMMON is not set
582CONFIG_BLK_DEV_LOOP=y
583# CONFIG_BLK_DEV_CRYPTOLOOP is not set
584# CONFIG_BLK_DEV_NBD is not set
585# CONFIG_BLK_DEV_UB is not set
586# CONFIG_BLK_DEV_RAM is not set
587# CONFIG_BLK_DEV_INITRD is not set
588# CONFIG_CDROM_PKTCDVD is not set
589# CONFIG_ATA_OVER_ETH is not set
590
591#
592# ATA/ATAPI/MFM/RLL support
593#
594CONFIG_IDE=y
595CONFIG_IDE_MAX_HWIFS=4
596CONFIG_BLK_DEV_IDE=y
597
598#
599# Please see Documentation/ide.txt for help/info on IDE drives
600#
601# CONFIG_BLK_DEV_IDE_SATA is not set
602CONFIG_BLK_DEV_IDEDISK=y
603# CONFIG_IDEDISK_MULTI_MODE is not set
604CONFIG_BLK_DEV_IDECS=y
605# CONFIG_BLK_DEV_IDECD is not set
606# CONFIG_BLK_DEV_IDETAPE is not set
607# CONFIG_BLK_DEV_IDEFLOPPY is not set
608# CONFIG_BLK_DEV_IDESCSI is not set
609# CONFIG_IDE_TASK_IOCTL is not set
610
611#
612# IDE chipset support/bugfixes
613#
614CONFIG_IDE_GENERIC=y
615# CONFIG_IDE_ARM is not set
616# CONFIG_BLK_DEV_IDEDMA is not set
617# CONFIG_IDEDMA_AUTO is not set
618# CONFIG_BLK_DEV_HD is not set
619
620#
621# SCSI device support
622#
623# CONFIG_RAID_ATTRS is not set
624CONFIG_SCSI=m
625# CONFIG_SCSI_TGT is not set
626# CONFIG_SCSI_NETLINK is not set
627CONFIG_SCSI_PROC_FS=y
628
629#
630# SCSI support type (disk, tape, CD-ROM)
631#
632CONFIG_BLK_DEV_SD=m
633CONFIG_CHR_DEV_ST=m
634CONFIG_CHR_DEV_OSST=m
635CONFIG_BLK_DEV_SR=m
636# CONFIG_BLK_DEV_SR_VENDOR is not set
637CONFIG_CHR_DEV_SG=m
638# CONFIG_CHR_DEV_SCH is not set
639
640#
641# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
642#
643CONFIG_SCSI_MULTI_LUN=y
644# CONFIG_SCSI_CONSTANTS is not set
645# CONFIG_SCSI_LOGGING is not set
646# CONFIG_SCSI_SCAN_ASYNC is not set
647
648#
649# SCSI Transports
650#
651# CONFIG_SCSI_SPI_ATTRS is not set
652# CONFIG_SCSI_FC_ATTRS is not set
653# CONFIG_SCSI_ISCSI_ATTRS is not set
654# CONFIG_SCSI_SAS_ATTRS is not set
655# CONFIG_SCSI_SAS_LIBSAS is not set
656
657#
658# SCSI low-level drivers
659#
660# CONFIG_ISCSI_TCP is not set
661# CONFIG_SCSI_DEBUG is not set
662
663#
664# PCMCIA SCSI adapter support
665#
666# CONFIG_PCMCIA_AHA152X is not set
667# CONFIG_PCMCIA_FDOMAIN is not set
668# CONFIG_PCMCIA_NINJA_SCSI is not set
669# CONFIG_PCMCIA_QLOGIC is not set
670# CONFIG_PCMCIA_SYM53C500 is not set
671
672#
673# Serial ATA (prod) and Parallel ATA (experimental) drivers
674#
675# CONFIG_ATA is not set
676
677#
678# Multi-device support (RAID and LVM)
679#
680CONFIG_MD=y
681# CONFIG_BLK_DEV_MD is not set
682CONFIG_BLK_DEV_DM=m
683# CONFIG_DM_DEBUG is not set
684CONFIG_DM_CRYPT=m
685CONFIG_DM_SNAPSHOT=m
686CONFIG_DM_MIRROR=m
687CONFIG_DM_ZERO=m
688CONFIG_DM_MULTIPATH=m
689CONFIG_DM_MULTIPATH_EMC=m
690
691#
692# Fusion MPT device support
693#
694# CONFIG_FUSION is not set
695
696#
697# IEEE 1394 (FireWire) support
698#
699
700#
701# I2O device support
702#
703
704#
705# Network device support
706#
707CONFIG_NETDEVICES=y
708# CONFIG_DUMMY is not set
709# CONFIG_BONDING is not set
710# CONFIG_EQUALIZER is not set
711CONFIG_TUN=m
712
713#
714# PHY device support
715#
716# CONFIG_PHYLIB is not set
717
718#
719# Ethernet (10 or 100Mbit)
720#
721CONFIG_NET_ETHERNET=y
722CONFIG_MII=m
723# CONFIG_SMC91X is not set
724# CONFIG_DM9000 is not set
725# CONFIG_SMC911X is not set
726
727#
728# Ethernet (1000 Mbit)
729#
730
731#
732# Ethernet (10000 Mbit)
733#
734
735#
736# Token Ring devices
737#
738
739#
740# Wireless LAN (non-hamradio)
741#
742CONFIG_NET_RADIO=y
743# CONFIG_NET_WIRELESS_RTNETLINK is not set
744
745#
746# Obsolete Wireless cards support (pre-802.11)
747#
748# CONFIG_STRIP is not set
749# CONFIG_PCMCIA_WAVELAN is not set
750# CONFIG_PCMCIA_NETWAVE is not set
751
752#
753# Wireless 802.11 Frequency Hopping cards support
754#
755# CONFIG_PCMCIA_RAYCS is not set
756
757#
758# Wireless 802.11b ISA/PCI cards support
759#
760CONFIG_HERMES=m
761# CONFIG_ATMEL is not set
762
763#
764# Wireless 802.11b Pcmcia/Cardbus cards support
765#
766CONFIG_PCMCIA_HERMES=m
767CONFIG_PCMCIA_SPECTRUM=m
768# CONFIG_AIRO_CS is not set
769# CONFIG_PCMCIA_WL3501 is not set
770# CONFIG_USB_ZD1201 is not set
771CONFIG_HOSTAP=m
772CONFIG_HOSTAP_FIRMWARE=y
773# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
774CONFIG_HOSTAP_CS=m
775CONFIG_NET_WIRELESS=y
776
777#
778# PCMCIA network device support
779#
780CONFIG_NET_PCMCIA=y
781# CONFIG_PCMCIA_3C589 is not set
782# CONFIG_PCMCIA_3C574 is not set
783# CONFIG_PCMCIA_FMVJ18X is not set
784CONFIG_PCMCIA_PCNET=m
785# CONFIG_PCMCIA_NMCLAN is not set
786# CONFIG_PCMCIA_SMC91C92 is not set
787# CONFIG_PCMCIA_XIRC2PS is not set
788# CONFIG_PCMCIA_AXNET is not set
789
790#
791# Wan interfaces
792#
793# CONFIG_WAN is not set
794CONFIG_PPP=m
795# CONFIG_PPP_MULTILINK is not set
796# CONFIG_PPP_FILTER is not set
797CONFIG_PPP_ASYNC=m
798# CONFIG_PPP_SYNC_TTY is not set
799CONFIG_PPP_DEFLATE=m
800CONFIG_PPP_BSDCOMP=m
801# CONFIG_PPP_MPPE is not set
802# CONFIG_PPPOE is not set
803# CONFIG_SLIP is not set
804CONFIG_SLHC=m
805# CONFIG_SHAPER is not set
806# CONFIG_NETCONSOLE is not set
807# CONFIG_NETPOLL is not set
808# CONFIG_NET_POLL_CONTROLLER is not set
809
810#
811# ISDN subsystem
812#
813# CONFIG_ISDN is not set
814
815#
816# Input device support
817#
818CONFIG_INPUT=y
819# CONFIG_INPUT_FF_MEMLESS is not set
820
821#
822# Userland interfaces
823#
824CONFIG_INPUT_MOUSEDEV=m
825# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
826CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
827CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
828# CONFIG_INPUT_JOYDEV is not set
829# CONFIG_INPUT_TSDEV is not set
830CONFIG_INPUT_EVDEV=y
831# CONFIG_INPUT_EVBUG is not set
832CONFIG_INPUT_POWER=y
833
834#
835# Input Device Drivers
836#
837CONFIG_INPUT_KEYBOARD=y
838# CONFIG_KEYBOARD_ATKBD is not set
839# CONFIG_KEYBOARD_SUNKBD is not set
840# CONFIG_KEYBOARD_LKKBD is not set
841# CONFIG_KEYBOARD_XTKBD is not set
842# CONFIG_KEYBOARD_NEWTON is not set
843# CONFIG_KEYBOARD_STOWAWAY is not set
844CONFIG_KEYBOARD_CORGI=y
845# CONFIG_KEYBOARD_SPITZ is not set
846# CONFIG_INPUT_MOUSE is not set
847# CONFIG_INPUT_JOYSTICK is not set
848CONFIG_INPUT_TOUCHSCREEN=y
849CONFIG_TOUCHSCREEN_CORGI=y
850# CONFIG_TOUCHSCREEN_GUNZE is not set
851# CONFIG_TOUCHSCREEN_ELO is not set
852# CONFIG_TOUCHSCREEN_MTOUCH is not set
853# CONFIG_TOUCHSCREEN_MK712 is not set
854# CONFIG_TOUCHSCREEN_PENMOUNT is not set
855# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
856# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
857# CONFIG_TOUCHSCREEN_UCB1400 is not set
858CONFIG_INPUT_MISC=y
859CONFIG_INPUT_UINPUT=m
860
861#
862# Hardware I/O ports
863#
864# CONFIG_SERIO is not set
865# CONFIG_GAMEPORT is not set
866
867#
868# Character devices
869#
870CONFIG_VT=y
871CONFIG_VT_CONSOLE=y
872CONFIG_HW_CONSOLE=y
873# CONFIG_VT_HW_CONSOLE_BINDING is not set
874# CONFIG_SERIAL_NONSTANDARD is not set
875
876#
877# Serial drivers
878#
879CONFIG_SERIAL_8250=m
880CONFIG_SERIAL_8250_CS=m
881CONFIG_SERIAL_8250_NR_UARTS=4
882CONFIG_SERIAL_8250_RUNTIME_UARTS=4
883# CONFIG_SERIAL_8250_EXTENDED is not set
884
885#
886# Non-8250 serial port support
887#
888CONFIG_SERIAL_PXA=y
889CONFIG_SERIAL_PXA_CONSOLE=y
890CONFIG_SERIAL_CORE=y
891CONFIG_SERIAL_CORE_CONSOLE=y
892CONFIG_UNIX98_PTYS=y
893# CONFIG_LEGACY_PTYS is not set
894
895#
896# IPMI
897#
898# CONFIG_IPMI_HANDLER is not set
899
900#
901# Watchdog Cards
902#
903# CONFIG_WATCHDOG is not set
904CONFIG_HW_RANDOM=m
905# CONFIG_NVRAM is not set
906# CONFIG_DTLK is not set
907# CONFIG_R3964 is not set
908
909#
910# PCMCIA character devices
911#
912# CONFIG_SYNCLINK_CS is not set
913# CONFIG_CARDMAN_4000 is not set
914# CONFIG_CARDMAN_4040 is not set
915# CONFIG_RAW_DRIVER is not set
916
917#
918# TPM devices
919#
920# CONFIG_TCG_TPM is not set
921
922#
923# I2C support
924#
925CONFIG_I2C=y
926# CONFIG_I2C_CHARDEV is not set
927
928#
929# I2C Algorithms
930#
931CONFIG_I2C_ALGOBIT=y
932# CONFIG_I2C_ALGOPCF is not set
933# CONFIG_I2C_ALGOPCA is not set
934
935#
936# I2C Hardware Bus support
937#
938CONFIG_I2C_PXA=y
939# CONFIG_I2C_PXA_SLAVE is not set
940# CONFIG_I2C_OCORES is not set
941# CONFIG_I2C_PARPORT_LIGHT is not set
942# CONFIG_I2C_STUB is not set
943# CONFIG_I2C_PCA_ISA is not set
944
945#
946# Miscellaneous I2C Chip support
947#
948# CONFIG_SENSORS_DS1337 is not set
949# CONFIG_SENSORS_DS1374 is not set
950# CONFIG_SENSORS_EEPROM is not set
951# CONFIG_SENSORS_PCF8574 is not set
952# CONFIG_SENSORS_PCA9539 is not set
953# CONFIG_SENSORS_PCF8591 is not set
954# CONFIG_SENSORS_MAX6875 is not set
955# CONFIG_I2C_DEBUG_CORE is not set
956# CONFIG_I2C_DEBUG_ALGO is not set
957# CONFIG_I2C_DEBUG_BUS is not set
958# CONFIG_I2C_DEBUG_CHIP is not set
959
960#
961# SPI support
962#
963# CONFIG_SPI is not set
964# CONFIG_SPI_MASTER is not set
965
966#
967# Dallas's 1-wire bus
968#
969# CONFIG_W1 is not set
970
971#
972# Hardware Monitoring support
973#
974# CONFIG_HWMON is not set
975# CONFIG_HWMON_VID is not set
976
977#
978# Misc devices
979#
980# CONFIG_TIFM_CORE is not set
981
982#
983# Multi-Function Devices
984#
985
986#
987# LED devices
988#
989CONFIG_NEW_LEDS=y
990CONFIG_LEDS_CLASS=y
991
992#
993# LED drivers
994#
995CONFIG_LEDS_CORGI=y
996# CONFIG_LEDS_TOSA is not set
997
998#
999# LED Triggers
1000#
1001CONFIG_LEDS_TRIGGERS=y
1002CONFIG_LEDS_TRIGGER_TIMER=y
1003CONFIG_LEDS_TRIGGER_IDE_DISK=y
1004# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
1005
1006#
1007# Multimedia devices
1008#
1009CONFIG_VIDEO_DEV=m
1010CONFIG_VIDEO_V4L1=y
1011CONFIG_VIDEO_V4L1_COMPAT=y
1012CONFIG_VIDEO_V4L2=y
1013
1014#
1015# Video Capture Adapters
1016#
1017
1018#
1019# Video Capture Adapters
1020#
1021# CONFIG_VIDEO_ADV_DEBUG is not set
1022CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
1023# CONFIG_VIDEO_VIVI is not set
1024# CONFIG_VIDEO_CPIA is not set
1025# CONFIG_VIDEO_CPIA2 is not set
1026# CONFIG_VIDEO_SAA5246A is not set
1027# CONFIG_VIDEO_SAA5249 is not set
1028# CONFIG_TUNER_3036 is not set
1029
1030#
1031# V4L USB devices
1032#
1033# CONFIG_VIDEO_PVRUSB2 is not set
1034# CONFIG_VIDEO_EM28XX is not set
1035# CONFIG_VIDEO_USBVISION is not set
1036CONFIG_VIDEO_USBVIDEO=m
1037CONFIG_USB_VICAM=m
1038CONFIG_USB_IBMCAM=m
1039CONFIG_USB_KONICAWC=m
1040# CONFIG_USB_QUICKCAM_MESSENGER is not set
1041# CONFIG_USB_ET61X251 is not set
1042# CONFIG_VIDEO_OVCAMCHIP is not set
1043# CONFIG_USB_W9968CF is not set
1044CONFIG_USB_OV511=m
1045CONFIG_USB_SE401=m
1046CONFIG_USB_SN9C102=m
1047CONFIG_USB_STV680=m
1048# CONFIG_USB_ZC0301 is not set
1049# CONFIG_USB_PWC is not set
1050
1051#
1052# Radio Adapters
1053#
1054CONFIG_USB_DSBR=m
1055
1056#
1057# Digital Video Broadcasting Devices
1058#
1059# CONFIG_DVB is not set
1060CONFIG_USB_DABUSB=m
1061
1062#
1063# Graphics support
1064#
1065CONFIG_FIRMWARE_EDID=y
1066CONFIG_FB=y
1067# CONFIG_FB_DDC is not set
1068CONFIG_FB_CFB_FILLRECT=y
1069CONFIG_FB_CFB_COPYAREA=y
1070CONFIG_FB_CFB_IMAGEBLIT=y
1071# CONFIG_FB_MACMODES is not set
1072# CONFIG_FB_BACKLIGHT is not set
1073# CONFIG_FB_MODE_HELPERS is not set
1074# CONFIG_FB_TILEBLITTING is not set
1075# CONFIG_FB_S1D13XXX is not set
1076# CONFIG_FB_PXA is not set
1077# CONFIG_FB_MBX is not set
1078CONFIG_FB_W100=y
1079# CONFIG_FB_VIRTUAL is not set
1080
1081#
1082# Console display driver support
1083#
1084# CONFIG_VGA_CONSOLE is not set
1085CONFIG_DUMMY_CONSOLE=y
1086CONFIG_FRAMEBUFFER_CONSOLE=y
1087# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
1088CONFIG_FONTS=y
1089# CONFIG_FONT_8x8 is not set
1090CONFIG_FONT_8x16=y
1091# CONFIG_FONT_6x11 is not set
1092# CONFIG_FONT_7x14 is not set
1093# CONFIG_FONT_PEARL_8x8 is not set
1094# CONFIG_FONT_ACORN_8x8 is not set
1095# CONFIG_FONT_MINI_4x6 is not set
1096# CONFIG_FONT_SUN8x16 is not set
1097# CONFIG_FONT_SUN12x22 is not set
1098# CONFIG_FONT_10x18 is not set
1099
1100#
1101# Logo configuration
1102#
1103CONFIG_LOGO=y
1104# CONFIG_LOGO_LINUX_MONO is not set
1105# CONFIG_LOGO_LINUX_VGA16 is not set
1106# CONFIG_LOGO_LINUX_CLUT224 is not set
1107CONFIG_LOGO_OHAND_CLUT224=y
1108# CONFIG_LOGO_OZ240_CLUT224 is not set
1109# CONFIG_LOGO_OZ480_CLUT224 is not set
1110# CONFIG_LOGO_OZ640_CLUT224 is not set
1111CONFIG_BACKLIGHT_LCD_SUPPORT=y
1112CONFIG_BACKLIGHT_CLASS_DEVICE=y
1113CONFIG_BACKLIGHT_DEVICE=y
1114# CONFIG_LCD_CLASS_DEVICE is not set
1115CONFIG_BACKLIGHT_CORGI=y
1116
1117#
1118# Sound
1119#
1120CONFIG_SOUND=m
1121
1122#
1123# Advanced Linux Sound Architecture
1124#
1125CONFIG_SND=m
1126CONFIG_SND_TIMER=m
1127CONFIG_SND_PCM=m
1128CONFIG_SND_HWDEP=m
1129CONFIG_SND_RAWMIDI=m
1130CONFIG_SND_SEQUENCER=m
1131# CONFIG_SND_SEQ_DUMMY is not set
1132CONFIG_SND_OSSEMUL=y
1133CONFIG_SND_MIXER_OSS=m
1134CONFIG_SND_PCM_OSS=m
1135CONFIG_SND_PCM_OSS_PLUGINS=y
1136# CONFIG_SND_SEQUENCER_OSS is not set
1137# CONFIG_SND_DYNAMIC_MINORS is not set
1138CONFIG_SND_SUPPORT_OLD_API=y
1139CONFIG_SND_VERBOSE_PROCFS=y
1140CONFIG_SND_VERBOSE_PRINTK=y
1141CONFIG_SND_DEBUG=y
1142# CONFIG_SND_DEBUG_DETECT is not set
1143# CONFIG_SND_PCM_XRUN_DEBUG is not set
1144
1145#
1146# Generic devices
1147#
1148CONFIG_SND_AC97_CODEC=m
1149# CONFIG_SND_DUMMY is not set
1150# CONFIG_SND_VIRMIDI is not set
1151# CONFIG_SND_MTPAV is not set
1152# CONFIG_SND_SERIAL_U16550 is not set
1153# CONFIG_SND_MPU401 is not set
1154
1155#
1156# ALSA ARM devices
1157#
1158CONFIG_SND_PXA2XX_PCM=m
1159CONFIG_SND_PXA2XX_AC97=m
1160
1161#
1162# USB devices
1163#
1164CONFIG_SND_USB_AUDIO=m
1165
1166#
1167# PCMCIA devices
1168#
1169# CONFIG_SND_VXPOCKET is not set
1170# CONFIG_SND_PDAUDIOCF is not set
1171
1172#
1173# SoC audio support
1174#
1175CONFIG_SND_SOC=m
1176
1177#
1178# Soc Platforms
1179#
1180
1181#
1182# SoC Audio for the Intel PXA2xx
1183#
1184CONFIG_SND_PXA2XX_SOC=m
1185CONFIG_SND_PXA2XX_SOC_I2S=m
1186CONFIG_SND_PXA2XX_SOC_CORGI=m
1187# CONFIG_SND_PXA2XX_SOC_MAGICIAN is not set
1188
1189#
1190# SoC Audio for the Atmel AT91
1191#
1192
1193#
1194# SoC Audio for the Freescale i.MX
1195#
1196
1197#
1198# SoC Audio for the Samsung S3C24XX
1199#
1200
1201#
1202# Soc Codecs
1203#
1204# CONFIG_SND_SOC_AC97_CODEC is not set
1205# CONFIG_SND_SOC_WM8711 is not set
1206# CONFIG_SND_SOC_WM8510 is not set
1207CONFIG_SND_SOC_WM8731=m
1208# CONFIG_SND_SOC_WM8750 is not set
1209# CONFIG_SND_SOC_WM8753 is not set
1210# CONFIG_SND_SOC_WM8772 is not set
1211# CONFIG_SND_SOC_WM8971 is not set
1212# CONFIG_SND_SOC_WM8956 is not set
1213# CONFIG_SND_SOC_WM8960 is not set
1214# CONFIG_SND_SOC_WM8976 is not set
1215# CONFIG_SND_SOC_WM8974 is not set
1216# CONFIG_SND_SOC_WM8980 is not set
1217# CONFIG_SND_SOC_WM9713 is not set
1218# CONFIG_SND_SOC_WM9712 is not set
1219# CONFIG_SND_SOC_UDA1380 is not set
1220# CONFIG_SND_SOC_AK4535 is not set
1221
1222#
1223# Open Sound System
1224#
1225# CONFIG_SOUND_PRIME is not set
1226CONFIG_AC97_BUS=m
1227
1228#
1229# HID Devices
1230#
1231CONFIG_HID=y
1232
1233#
1234# USB support
1235#
1236CONFIG_USB_ARCH_HAS_HCD=y
1237# CONFIG_USB_ARCH_HAS_OHCI is not set
1238# CONFIG_USB_ARCH_HAS_EHCI is not set
1239CONFIG_USB=m
1240# CONFIG_USB_DEBUG is not set
1241
1242#
1243# Miscellaneous USB options
1244#
1245CONFIG_USB_DEVICEFS=y
1246# CONFIG_USB_BANDWIDTH is not set
1247# CONFIG_USB_DYNAMIC_MINORS is not set
1248# CONFIG_USB_SUSPEND is not set
1249# CONFIG_USB_OTG is not set
1250
1251#
1252# USB Host Controller Drivers
1253#
1254# CONFIG_USB_ISP116X_HCD is not set
1255CONFIG_USB_SL811_HCD=m
1256CONFIG_USB_SL811_CS=m
1257
1258#
1259# USB Device Class drivers
1260#
1261CONFIG_USB_ACM=m
1262CONFIG_USB_PRINTER=m
1263
1264#
1265# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1266#
1267
1268#
1269# may also be needed; see USB_STORAGE Help for more information
1270#
1271CONFIG_USB_STORAGE=m
1272# CONFIG_USB_STORAGE_DEBUG is not set
1273# CONFIG_USB_STORAGE_DATAFAB is not set
1274# CONFIG_USB_STORAGE_FREECOM is not set
1275# CONFIG_USB_STORAGE_ISD200 is not set
1276# CONFIG_USB_STORAGE_DPCM is not set
1277# CONFIG_USB_STORAGE_USBAT is not set
1278# CONFIG_USB_STORAGE_SDDR09 is not set
1279# CONFIG_USB_STORAGE_SDDR55 is not set
1280# CONFIG_USB_STORAGE_JUMPSHOT is not set
1281# CONFIG_USB_STORAGE_ALAUDA is not set
1282# CONFIG_USB_STORAGE_KARMA is not set
1283# CONFIG_USB_LIBUSUAL is not set
1284
1285#
1286# USB Input Devices
1287#
1288CONFIG_USB_HID=m
1289# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1290# CONFIG_HID_FF is not set
1291# CONFIG_USB_HIDDEV is not set
1292
1293#
1294# USB HID Boot Protocol drivers
1295#
1296CONFIG_USB_KBD=m
1297CONFIG_USB_MOUSE=m
1298CONFIG_USB_AIPTEK=m
1299CONFIG_USB_WACOM=m
1300# CONFIG_USB_ACECAD is not set
1301CONFIG_USB_KBTAB=m
1302CONFIG_USB_POWERMATE=m
1303# CONFIG_USB_TOUCHSCREEN is not set
1304# CONFIG_USB_YEALINK is not set
1305CONFIG_USB_XPAD=m
1306CONFIG_USB_ATI_REMOTE=m
1307# CONFIG_USB_ATI_REMOTE2 is not set
1308# CONFIG_USB_KEYSPAN_REMOTE is not set
1309# CONFIG_USB_APPLETOUCH is not set
1310
1311#
1312# USB Imaging devices
1313#
1314CONFIG_USB_MDC800=m
1315CONFIG_USB_MICROTEK=m
1316
1317#
1318# USB Network Adapters
1319#
1320CONFIG_USB_CATC=m
1321CONFIG_USB_KAWETH=m
1322CONFIG_USB_PEGASUS=m
1323CONFIG_USB_RTL8150=m
1324CONFIG_USB_USBNET_MII=m
1325CONFIG_USB_USBNET=m
1326CONFIG_USB_NET_AX8817X=m
1327CONFIG_USB_NET_CDCETHER=m
1328# CONFIG_USB_NET_GL620A is not set
1329CONFIG_USB_NET_NET1080=m
1330# CONFIG_USB_NET_PLUSB is not set
1331# CONFIG_USB_NET_MCS7830 is not set
1332# CONFIG_USB_NET_RNDIS_HOST is not set
1333# CONFIG_USB_NET_CDC_SUBSET is not set
1334CONFIG_USB_NET_ZAURUS=m
1335CONFIG_USB_MON=y
1336
1337#
1338# USB port drivers
1339#
1340
1341#
1342# USB Serial Converter support
1343#
1344CONFIG_USB_SERIAL=m
1345CONFIG_USB_SERIAL_GENERIC=y
1346# CONFIG_USB_SERIAL_AIRCABLE is not set
1347# CONFIG_USB_SERIAL_AIRPRIME is not set
1348# CONFIG_USB_SERIAL_ARK3116 is not set
1349CONFIG_USB_SERIAL_BELKIN=m
1350# CONFIG_USB_SERIAL_WHITEHEAT is not set
1351CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
1352# CONFIG_USB_SERIAL_CP2101 is not set
1353CONFIG_USB_SERIAL_CYPRESS_M8=m
1354CONFIG_USB_SERIAL_EMPEG=m
1355CONFIG_USB_SERIAL_FTDI_SIO=m
1356# CONFIG_USB_SERIAL_FUNSOFT is not set
1357CONFIG_USB_SERIAL_VISOR=m
1358CONFIG_USB_SERIAL_IPAQ=m
1359CONFIG_USB_SERIAL_IR=m
1360CONFIG_USB_SERIAL_EDGEPORT=m
1361CONFIG_USB_SERIAL_EDGEPORT_TI=m
1362CONFIG_USB_SERIAL_GARMIN=m
1363CONFIG_USB_SERIAL_IPW=m
1364CONFIG_USB_SERIAL_KEYSPAN_PDA=m
1365CONFIG_USB_SERIAL_KEYSPAN=m
1366# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set
1367# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
1368# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
1369# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
1370# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
1371# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
1372# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
1373# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
1374# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
1375# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
1376# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
1377# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
1378CONFIG_USB_SERIAL_KLSI=m
1379CONFIG_USB_SERIAL_KOBIL_SCT=m
1380CONFIG_USB_SERIAL_MCT_U232=m
1381# CONFIG_USB_SERIAL_MOS7720 is not set
1382# CONFIG_USB_SERIAL_MOS7840 is not set
1383# CONFIG_USB_SERIAL_NAVMAN is not set
1384CONFIG_USB_SERIAL_PL2303=m
1385# CONFIG_USB_SERIAL_HP4X is not set
1386CONFIG_USB_SERIAL_SAFE=m
1387# CONFIG_USB_SERIAL_SAFE_PADDED is not set
1388# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
1389CONFIG_USB_SERIAL_TI=m
1390CONFIG_USB_SERIAL_CYBERJACK=m
1391CONFIG_USB_SERIAL_XIRCOM=m
1392# CONFIG_USB_SERIAL_OPTION is not set
1393CONFIG_USB_SERIAL_OMNINET=m
1394# CONFIG_USB_SERIAL_DEBUG is not set
1395CONFIG_USB_EZUSB=y
1396
1397#
1398# USB Miscellaneous drivers
1399#
1400CONFIG_USB_EMI62=m
1401CONFIG_USB_EMI26=m
1402# CONFIG_USB_ADUTUX is not set
1403CONFIG_USB_AUERSWALD=m
1404CONFIG_USB_RIO500=m
1405CONFIG_USB_LEGOTOWER=m
1406CONFIG_USB_LCD=m
1407CONFIG_USB_LED=m
1408# CONFIG_USB_CYPRESS_CY7C63 is not set
1409CONFIG_USB_CYTHERM=m
1410# CONFIG_USB_PHIDGET is not set
1411CONFIG_USB_IDMOUSE=m
1412# CONFIG_USB_FTDI_ELAN is not set
1413# CONFIG_USB_APPLEDISPLAY is not set
1414# CONFIG_USB_LD is not set
1415# CONFIG_USB_TRANCEVIBRATOR is not set
1416# CONFIG_USB_TEST is not set
1417
1418#
1419# USB DSL modem support
1420#
1421
1422#
1423# USB Gadget Support
1424#
1425CONFIG_USB_GADGET=y
1426# CONFIG_USB_GADGET_DEBUG_FILES is not set
1427CONFIG_USB_GADGET_SELECTED=y
1428# CONFIG_USB_GADGET_NET2280 is not set
1429CONFIG_USB_GADGET_PXA2XX=y
1430CONFIG_USB_PXA2XX=y
1431# CONFIG_USB_PXA2XX_SMALL is not set
1432# CONFIG_USB_GADGET_PXA27X is not set
1433# CONFIG_USB_GADGET_GOKU is not set
1434# CONFIG_USB_GADGET_LH7A40X is not set
1435# CONFIG_USB_GADGET_OMAP is not set
1436# CONFIG_USB_GADGET_AT91 is not set
1437# CONFIG_USB_GADGET_DUMMY_HCD is not set
1438# CONFIG_USB_GADGET_DUALSPEED is not set
1439CONFIG_USB_ZERO=m
1440CONFIG_USB_ETH=m
1441CONFIG_USB_ETH_RNDIS=y
1442CONFIG_USB_GADGETFS=m
1443CONFIG_USB_FILE_STORAGE=m
1444# CONFIG_USB_FILE_STORAGE_TEST is not set
1445CONFIG_USB_G_SERIAL=m
1446# CONFIG_USB_MIDI_GADGET is not set
1447
1448#
1449# MMC/SD Card support
1450#
1451CONFIG_MMC=y
1452# CONFIG_MMC_DEBUG is not set
1453CONFIG_MMC_BLOCK=y
1454CONFIG_MMC_PXA=y
1455# CONFIG_MMC_TIFM_SD is not set
1456
1457#
1458# Real Time Clock
1459#
1460CONFIG_RTC_LIB=y
1461CONFIG_RTC_CLASS=y
1462CONFIG_RTC_HCTOSYS=y
1463CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1464# CONFIG_RTC_DEBUG is not set
1465
1466#
1467# RTC interfaces
1468#
1469CONFIG_RTC_INTF_SYSFS=y
1470CONFIG_RTC_INTF_PROC=y
1471CONFIG_RTC_INTF_DEV=y
1472# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
1473
1474#
1475# RTC drivers
1476#
1477# CONFIG_RTC_DRV_X1205 is not set
1478# CONFIG_RTC_DRV_DS1307 is not set
1479# CONFIG_RTC_DRV_DS1553 is not set
1480# CONFIG_RTC_DRV_ISL1208 is not set
1481# CONFIG_RTC_DRV_DS1672 is not set
1482# CONFIG_RTC_DRV_DS1742 is not set
1483# CONFIG_RTC_DRV_PCF8563 is not set
1484# CONFIG_RTC_DRV_PCF8583 is not set
1485# CONFIG_RTC_DRV_RS5C372 is not set
1486# CONFIG_RTC_DRV_M48T86 is not set
1487CONFIG_RTC_DRV_SA1100=y
1488# CONFIG_RTC_DRV_TEST is not set
1489# CONFIG_RTC_DRV_V3020 is not set
1490
1491#
1492# File systems
1493#
1494CONFIG_EXT2_FS=y
1495# CONFIG_EXT2_FS_XATTR is not set
1496# CONFIG_EXT2_FS_XIP is not set
1497# CONFIG_EXT3_FS is not set
1498# CONFIG_EXT4DEV_FS is not set
1499# CONFIG_REISERFS_FS is not set
1500# CONFIG_JFS_FS is not set
1501CONFIG_FS_POSIX_ACL=y
1502# CONFIG_XFS_FS is not set
1503# CONFIG_GFS2_FS is not set
1504# CONFIG_OCFS2_FS is not set
1505# CONFIG_MINIX_FS is not set
1506# CONFIG_ROMFS_FS is not set
1507CONFIG_INOTIFY=y
1508CONFIG_INOTIFY_USER=y
1509# CONFIG_QUOTA is not set
1510CONFIG_DNOTIFY=y
1511# CONFIG_AUTOFS_FS is not set
1512# CONFIG_AUTOFS4_FS is not set
1513# CONFIG_FUSE_FS is not set
1514
1515#
1516# CD-ROM/DVD Filesystems
1517#
1518# CONFIG_ISO9660_FS is not set
1519# CONFIG_UDF_FS is not set
1520
1521#
1522# DOS/FAT/NT Filesystems
1523#
1524CONFIG_FAT_FS=y
1525# CONFIG_MSDOS_FS is not set
1526CONFIG_VFAT_FS=y
1527CONFIG_FAT_DEFAULT_CODEPAGE=437
1528CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1529# CONFIG_NTFS_FS is not set
1530
1531#
1532# Pseudo filesystems
1533#
1534CONFIG_PROC_FS=y
1535CONFIG_PROC_SYSCTL=y
1536CONFIG_SYSFS=y
1537CONFIG_TMPFS=y
1538# CONFIG_TMPFS_POSIX_ACL is not set
1539# CONFIG_HUGETLB_PAGE is not set
1540CONFIG_RAMFS=y
1541# CONFIG_CONFIGFS_FS is not set
1542
1543#
1544# Miscellaneous filesystems
1545#
1546# CONFIG_ADFS_FS is not set
1547# CONFIG_AFFS_FS is not set
1548# CONFIG_HFS_FS is not set
1549# CONFIG_HFSPLUS_FS is not set
1550# CONFIG_BEFS_FS is not set
1551# CONFIG_BFS_FS is not set
1552# CONFIG_EFS_FS is not set
1553CONFIG_JFFS2_FS=y
1554CONFIG_JFFS2_FS_DEBUG=0
1555CONFIG_JFFS2_FS_WRITEBUFFER=y
1556CONFIG_JFFS2_SUMMARY=y
1557# CONFIG_JFFS2_FS_XATTR is not set
1558CONFIG_JFFS2_COMPRESSION_OPTIONS=y
1559CONFIG_JFFS2_ZLIB=y
1560CONFIG_JFFS2_LZO=y
1561CONFIG_JFFS2_RTIME=y
1562CONFIG_JFFS2_RUBIN=y
1563# CONFIG_JFFS2_CMODE_NONE is not set
1564CONFIG_JFFS2_CMODE_PRIORITY=y
1565# CONFIG_JFFS2_CMODE_SIZE is not set
1566# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
1567CONFIG_CRAMFS=m
1568CONFIG_SQUASHFS=m
1569# CONFIG_SQUASHFS_EMBEDDED is not set
1570CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
1571# CONFIG_SQUASHFS_VMALLOC is not set
1572# CONFIG_VXFS_FS is not set
1573# CONFIG_HPFS_FS is not set
1574# CONFIG_QNX4FS_FS is not set
1575# CONFIG_SYSV_FS is not set
1576# CONFIG_UFS_FS is not set
1577
1578#
1579# Network File Systems
1580#
1581CONFIG_NFS_FS=m
1582CONFIG_NFS_V3=y
1583# CONFIG_NFS_V3_ACL is not set
1584CONFIG_NFS_V4=y
1585# CONFIG_NFS_DIRECTIO is not set
1586CONFIG_NFSD=m
1587CONFIG_NFSD_V3=y
1588# CONFIG_NFSD_V3_ACL is not set
1589CONFIG_NFSD_V4=y
1590CONFIG_NFSD_TCP=y
1591CONFIG_LOCKD=m
1592CONFIG_LOCKD_V4=y
1593CONFIG_EXPORTFS=m
1594CONFIG_NFS_COMMON=y
1595CONFIG_SUNRPC=m
1596CONFIG_SUNRPC_GSS=m
1597CONFIG_RPCSEC_GSS_KRB5=m
1598# CONFIG_RPCSEC_GSS_SPKM3 is not set
1599CONFIG_SMB_FS=m
1600CONFIG_SMB_NLS_DEFAULT=y
1601CONFIG_SMB_NLS_REMOTE="cp437"
1602CONFIG_CIFS=m
1603# CONFIG_CIFS_STATS is not set
1604# CONFIG_CIFS_WEAK_PW_HASH is not set
1605# CONFIG_CIFS_XATTR is not set
1606# CONFIG_CIFS_DEBUG2 is not set
1607# CONFIG_CIFS_EXPERIMENTAL is not set
1608# CONFIG_NCP_FS is not set
1609# CONFIG_CODA_FS is not set
1610# CONFIG_AFS_FS is not set
1611# CONFIG_9P_FS is not set
1612
1613#
1614# Partition Types
1615#
1616CONFIG_PARTITION_ADVANCED=y
1617# CONFIG_ACORN_PARTITION is not set
1618# CONFIG_OSF_PARTITION is not set
1619# CONFIG_AMIGA_PARTITION is not set
1620# CONFIG_ATARI_PARTITION is not set
1621# CONFIG_MAC_PARTITION is not set
1622CONFIG_MSDOS_PARTITION=y
1623# CONFIG_BSD_DISKLABEL is not set
1624# CONFIG_MINIX_SUBPARTITION is not set
1625# CONFIG_SOLARIS_X86_PARTITION is not set
1626# CONFIG_UNIXWARE_DISKLABEL is not set
1627# CONFIG_LDM_PARTITION is not set
1628# CONFIG_SGI_PARTITION is not set
1629# CONFIG_ULTRIX_PARTITION is not set
1630# CONFIG_SUN_PARTITION is not set
1631# CONFIG_KARMA_PARTITION is not set
1632# CONFIG_EFI_PARTITION is not set
1633
1634#
1635# Native Language Support
1636#
1637CONFIG_NLS=y
1638CONFIG_NLS_DEFAULT="cp437"
1639CONFIG_NLS_CODEPAGE_437=y
1640CONFIG_NLS_CODEPAGE_737=m
1641CONFIG_NLS_CODEPAGE_775=m
1642CONFIG_NLS_CODEPAGE_850=m
1643CONFIG_NLS_CODEPAGE_852=m
1644CONFIG_NLS_CODEPAGE_855=m
1645CONFIG_NLS_CODEPAGE_857=m
1646CONFIG_NLS_CODEPAGE_860=m
1647CONFIG_NLS_CODEPAGE_861=m
1648CONFIG_NLS_CODEPAGE_862=m
1649CONFIG_NLS_CODEPAGE_863=m
1650CONFIG_NLS_CODEPAGE_864=m
1651CONFIG_NLS_CODEPAGE_865=m
1652CONFIG_NLS_CODEPAGE_866=m
1653CONFIG_NLS_CODEPAGE_869=m
1654CONFIG_NLS_CODEPAGE_936=m
1655CONFIG_NLS_CODEPAGE_950=m
1656CONFIG_NLS_CODEPAGE_932=m
1657CONFIG_NLS_CODEPAGE_949=m
1658CONFIG_NLS_CODEPAGE_874=m
1659CONFIG_NLS_ISO8859_8=m
1660CONFIG_NLS_CODEPAGE_1250=m
1661CONFIG_NLS_CODEPAGE_1251=m
1662CONFIG_NLS_ASCII=m
1663CONFIG_NLS_ISO8859_1=y
1664CONFIG_NLS_ISO8859_2=m
1665CONFIG_NLS_ISO8859_3=m
1666CONFIG_NLS_ISO8859_4=m
1667CONFIG_NLS_ISO8859_5=m
1668CONFIG_NLS_ISO8859_6=m
1669CONFIG_NLS_ISO8859_7=m
1670CONFIG_NLS_ISO8859_9=m
1671CONFIG_NLS_ISO8859_13=m
1672CONFIG_NLS_ISO8859_14=m
1673CONFIG_NLS_ISO8859_15=m
1674CONFIG_NLS_KOI8_R=m
1675CONFIG_NLS_KOI8_U=m
1676CONFIG_NLS_UTF8=y
1677
1678#
1679# Distributed Lock Manager
1680#
1681# CONFIG_DLM is not set
1682
1683#
1684# Profiling support
1685#
1686CONFIG_PROFILING=y
1687CONFIG_OPROFILE=m
1688
1689#
1690# Kernel hacking
1691#
1692# CONFIG_PRINTK_TIME is not set
1693CONFIG_ENABLE_MUST_CHECK=y
1694CONFIG_MAGIC_SYSRQ=y
1695# CONFIG_UNUSED_SYMBOLS is not set
1696# CONFIG_DEBUG_FS is not set
1697# CONFIG_HEADERS_CHECK is not set
1698CONFIG_DEBUG_KERNEL=y
1699CONFIG_LOG_BUF_SHIFT=14
1700CONFIG_DETECT_SOFTLOCKUP=y
1701# CONFIG_SCHEDSTATS is not set
1702# CONFIG_DEBUG_SLAB is not set
1703# CONFIG_DEBUG_PREEMPT is not set
1704# CONFIG_DEBUG_RT_MUTEXES is not set
1705# CONFIG_RT_MUTEX_TESTER is not set
1706# CONFIG_DEBUG_SPINLOCK is not set
1707# CONFIG_DEBUG_MUTEXES is not set
1708# CONFIG_DEBUG_RWSEMS is not set
1709# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1710# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1711# CONFIG_DEBUG_KOBJECT is not set
1712CONFIG_DEBUG_BUGVERBOSE=y
1713# CONFIG_DEBUG_INFO is not set
1714# CONFIG_DEBUG_VM is not set
1715# CONFIG_DEBUG_LIST is not set
1716CONFIG_FRAME_POINTER=y
1717# CONFIG_FORCED_INLINING is not set
1718# CONFIG_RCU_TORTURE_TEST is not set
1719# CONFIG_DEBUG_USER is not set
1720CONFIG_DEBUG_ERRORS=y
1721# CONFIG_DEBUG_LL is not set
1722
1723#
1724# Security options
1725#
1726# CONFIG_KEYS is not set
1727# CONFIG_SECURITY is not set
1728
1729#
1730# Cryptographic options
1731#
1732CONFIG_CRYPTO=y
1733CONFIG_CRYPTO_ALGAPI=y
1734CONFIG_CRYPTO_BLKCIPHER=m
1735CONFIG_CRYPTO_HASH=y
1736CONFIG_CRYPTO_MANAGER=y
1737CONFIG_CRYPTO_HMAC=y
1738# CONFIG_CRYPTO_XCBC is not set
1739CONFIG_CRYPTO_NULL=m
1740CONFIG_CRYPTO_MD4=m
1741CONFIG_CRYPTO_MD5=m
1742CONFIG_CRYPTO_SHA1=m
1743CONFIG_CRYPTO_SHA256=m
1744CONFIG_CRYPTO_SHA512=m
1745CONFIG_CRYPTO_WP512=m
1746# CONFIG_CRYPTO_TGR192 is not set
1747# CONFIG_CRYPTO_GF128MUL is not set
1748CONFIG_CRYPTO_ECB=m
1749CONFIG_CRYPTO_CBC=m
1750# CONFIG_CRYPTO_LRW is not set
1751CONFIG_CRYPTO_DES=m
1752CONFIG_CRYPTO_BLOWFISH=m
1753CONFIG_CRYPTO_TWOFISH=m
1754CONFIG_CRYPTO_TWOFISH_COMMON=m
1755CONFIG_CRYPTO_SERPENT=m
1756CONFIG_CRYPTO_AES=m
1757CONFIG_CRYPTO_CAST5=m
1758CONFIG_CRYPTO_CAST6=m
1759CONFIG_CRYPTO_TEA=m
1760CONFIG_CRYPTO_ARC4=m
1761CONFIG_CRYPTO_KHAZAD=m
1762CONFIG_CRYPTO_ANUBIS=m
1763CONFIG_CRYPTO_DEFLATE=m
1764# CONFIG_CRYPTO_LZO is not set
1765CONFIG_CRYPTO_MICHAEL_MIC=m
1766CONFIG_CRYPTO_CRC32C=m
1767CONFIG_CRYPTO_TEST=m
1768
1769#
1770# Hardware crypto devices
1771#
1772
1773#
1774# Library routines
1775#
1776CONFIG_BITREVERSE=y
1777CONFIG_CRC_CCITT=y
1778# CONFIG_CRC16 is not set
1779CONFIG_CRC32=y
1780CONFIG_LIBCRC32C=m
1781CONFIG_LZO=y
1782CONFIG_ZLIB_INFLATE=y
1783CONFIG_ZLIB_DEFLATE=y
1784CONFIG_PLIST=y
1785CONFIG_IOMAP_COPY=y
1786# CONFIG_SHARPSL_RC is not set
diff --git a/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-collie b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-collie
new file mode 100644
index 0000000000..422ed94df3
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-collie
@@ -0,0 +1,1739 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.20.4
4# Fri Apr 6 23:20:59 2007
5#
6CONFIG_ARM=y
7# CONFIG_GENERIC_TIME is not set
8CONFIG_MMU=y
9CONFIG_GENERIC_HARDIRQS=y
10CONFIG_TRACE_IRQFLAGS_SUPPORT=y
11CONFIG_HARDIRQS_SW_RESEND=y
12CONFIG_GENERIC_IRQ_PROBE=y
13CONFIG_RWSEM_GENERIC_SPINLOCK=y
14# CONFIG_ARCH_HAS_ILOG2_U32 is not set
15# CONFIG_ARCH_HAS_ILOG2_U64 is not set
16CONFIG_GENERIC_HWEIGHT=y
17CONFIG_GENERIC_CALIBRATE_DELAY=y
18CONFIG_ARCH_MTD_XIP=y
19CONFIG_VECTORS_BASE=0xffff0000
20CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
21
22#
23# Code maturity level options
24#
25CONFIG_EXPERIMENTAL=y
26CONFIG_BROKEN_ON_SMP=y
27CONFIG_LOCK_KERNEL=y
28CONFIG_INIT_ENV_ARG_LIMIT=32
29
30#
31# General setup
32#
33CONFIG_LOCALVERSION=""
34CONFIG_LOCALVERSION_AUTO=y
35CONFIG_SWAP=y
36CONFIG_SYSVIPC=y
37# CONFIG_IPC_NS is not set
38# CONFIG_POSIX_MQUEUE is not set
39CONFIG_BSD_PROCESS_ACCT=y
40# CONFIG_BSD_PROCESS_ACCT_V3 is not set
41# CONFIG_TASKSTATS is not set
42# CONFIG_UTS_NS is not set
43# CONFIG_AUDIT is not set
44# CONFIG_IKCONFIG is not set
45# CONFIG_SYSFS_DEPRECATED is not set
46# CONFIG_RELAY is not set
47CONFIG_INITRAMFS_SOURCE=""
48CONFIG_CC_OPTIMIZE_FOR_SIZE=y
49CONFIG_SYSCTL=y
50CONFIG_EMBEDDED=y
51CONFIG_UID16=y
52CONFIG_SYSCTL_SYSCALL=y
53CONFIG_KALLSYMS=y
54# CONFIG_KALLSYMS_ALL is not set
55# CONFIG_KALLSYMS_EXTRA_PASS is not set
56CONFIG_HOTPLUG=y
57CONFIG_PRINTK=y
58CONFIG_BUG=y
59# CONFIG_ELF_CORE is not set
60CONFIG_BASE_FULL=y
61CONFIG_FUTEX=y
62CONFIG_EPOLL=y
63CONFIG_SHMEM=y
64CONFIG_SLAB=y
65CONFIG_VM_EVENT_COUNTERS=y
66CONFIG_RT_MUTEXES=y
67# CONFIG_TINY_SHMEM is not set
68CONFIG_BASE_SMALL=0
69# CONFIG_SLOB is not set
70
71#
72# Loadable module support
73#
74CONFIG_MODULES=y
75CONFIG_MODULE_UNLOAD=y
76CONFIG_MODULE_FORCE_UNLOAD=y
77# CONFIG_MODVERSIONS is not set
78# CONFIG_MODULE_SRCVERSION_ALL is not set
79CONFIG_KMOD=y
80
81#
82# Block layer
83#
84CONFIG_BLOCK=y
85# CONFIG_LBD is not set
86# CONFIG_BLK_DEV_IO_TRACE is not set
87# CONFIG_LSF is not set
88
89#
90# IO Schedulers
91#
92CONFIG_IOSCHED_NOOP=y
93CONFIG_IOSCHED_AS=y
94CONFIG_IOSCHED_DEADLINE=m
95CONFIG_IOSCHED_CFQ=m
96CONFIG_DEFAULT_AS=y
97# CONFIG_DEFAULT_DEADLINE is not set
98# CONFIG_DEFAULT_CFQ is not set
99# CONFIG_DEFAULT_NOOP is not set
100CONFIG_DEFAULT_IOSCHED="anticipatory"
101
102#
103# System Type
104#
105# CONFIG_ARCH_AAEC2000 is not set
106# CONFIG_ARCH_INTEGRATOR is not set
107# CONFIG_ARCH_REALVIEW is not set
108# CONFIG_ARCH_VERSATILE is not set
109# CONFIG_ARCH_AT91 is not set
110# CONFIG_ARCH_CLPS7500 is not set
111# CONFIG_ARCH_CLPS711X is not set
112# CONFIG_ARCH_CO285 is not set
113# CONFIG_ARCH_EBSA110 is not set
114# CONFIG_ARCH_EP93XX is not set
115# CONFIG_ARCH_FOOTBRIDGE is not set
116# CONFIG_ARCH_NETX is not set
117# CONFIG_ARCH_H720X is not set
118# CONFIG_ARCH_IMX is not set
119# CONFIG_ARCH_IOP32X is not set
120# CONFIG_ARCH_IOP33X is not set
121# CONFIG_ARCH_IOP13XX is not set
122# CONFIG_ARCH_IXP4XX is not set
123# CONFIG_ARCH_IXP2000 is not set
124# CONFIG_ARCH_IXP23XX is not set
125# CONFIG_ARCH_L7200 is not set
126# CONFIG_ARCH_PNX4008 is not set
127# CONFIG_ARCH_PXA is not set
128# CONFIG_ARCH_RPC is not set
129CONFIG_ARCH_SA1100=y
130# CONFIG_ARCH_S3C2410 is not set
131# CONFIG_ARCH_SHARK is not set
132# CONFIG_ARCH_LH7A40X is not set
133# CONFIG_ARCH_OMAP is not set
134
135#
136# SA11x0 Implementations
137#
138# CONFIG_SA1100_ASSABET is not set
139# CONFIG_SA1100_CERF is not set
140CONFIG_SA1100_COLLIE=y
141# CONFIG_SA1100_H3100 is not set
142# CONFIG_SA1100_H3600 is not set
143# CONFIG_SA1100_H3800 is not set
144# CONFIG_SA1100_BADGE4 is not set
145# CONFIG_SA1100_JORNADA720 is not set
146# CONFIG_SA1100_HACKKIT is not set
147# CONFIG_SA1100_LART is not set
148# CONFIG_SA1100_PLEB is not set
149# CONFIG_SA1100_SHANNON is not set
150# CONFIG_SA1100_SIMPAD is not set
151# CONFIG_SA1100_SSP is not set
152
153#
154# Processor Type
155#
156CONFIG_CPU_32=y
157CONFIG_CPU_SA1100=y
158CONFIG_CPU_32v4=y
159CONFIG_CPU_ABRT_EV4=y
160CONFIG_CPU_CACHE_V4WB=y
161CONFIG_CPU_CACHE_VIVT=y
162CONFIG_CPU_TLB_V4WB=y
163CONFIG_CPU_CP15=y
164CONFIG_CPU_CP15_MMU=y
165
166#
167# Processor Features
168#
169# CONFIG_CPU_ICACHE_DISABLE is not set
170# CONFIG_CPU_DCACHE_DISABLE is not set
171CONFIG_SHARP_LOCOMO=y
172CONFIG_SHARP_PARAM=y
173CONFIG_SHARP_SCOOP=y
174
175#
176# Bus support
177#
178CONFIG_ISA=y
179
180#
181# PCCARD (PCMCIA/CardBus) support
182#
183CONFIG_PCCARD=y
184# CONFIG_PCMCIA_DEBUG is not set
185CONFIG_PCMCIA=y
186CONFIG_PCMCIA_LOAD_CIS=y
187CONFIG_PCMCIA_IOCTL=y
188
189#
190# PC-card bridges
191#
192# CONFIG_I82365 is not set
193# CONFIG_TCIC is not set
194CONFIG_PCMCIA_SA1100=y
195
196#
197# Kernel Features
198#
199CONFIG_PREEMPT=y
200CONFIG_NO_IDLE_HZ=y
201CONFIG_HZ=100
202# CONFIG_AEABI is not set
203CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
204CONFIG_NODES_SHIFT=2
205CONFIG_SELECT_MEMORY_MODEL=y
206# CONFIG_FLATMEM_MANUAL is not set
207CONFIG_DISCONTIGMEM_MANUAL=y
208# CONFIG_SPARSEMEM_MANUAL is not set
209CONFIG_DISCONTIGMEM=y
210CONFIG_FLAT_NODE_MEM_MAP=y
211CONFIG_NEED_MULTIPLE_NODES=y
212# CONFIG_SPARSEMEM_STATIC is not set
213CONFIG_SPLIT_PTLOCK_CPUS=4096
214# CONFIG_RESOURCES_64BIT is not set
215# CONFIG_LEDS is not set
216CONFIG_ALIGNMENT_TRAP=y
217
218#
219# Boot options
220#
221CONFIG_ZBOOT_ROM_TEXT=0x0
222CONFIG_ZBOOT_ROM_BSS=0x0
223# CONFIG_XIP_KERNEL is not set
224CONFIG_KEXEC=y
225
226#
227# CPU Frequency scaling
228#
229# CONFIG_CPU_FREQ is not set
230
231#
232# Floating point emulation
233#
234
235#
236# At least one emulation must be selected
237#
238CONFIG_FPE_NWFPE=y
239# CONFIG_FPE_NWFPE_XP is not set
240# CONFIG_FPE_FASTFPE is not set
241
242#
243# Userspace binary formats
244#
245CONFIG_BINFMT_ELF=y
246CONFIG_BINFMT_AOUT=m
247CONFIG_BINFMT_MISC=m
248# CONFIG_ARTHUR is not set
249
250#
251# Power management options
252#
253CONFIG_PM=y
254# CONFIG_PM_LEGACY is not set
255# CONFIG_PM_DEBUG is not set
256# CONFIG_PM_SYSFS_DEPRECATED is not set
257CONFIG_APM=y
258
259#
260# Networking
261#
262CONFIG_NET=y
263
264#
265# Networking options
266#
267# CONFIG_NETDEBUG is not set
268CONFIG_PACKET=m
269CONFIG_PACKET_MMAP=y
270CONFIG_UNIX=y
271CONFIG_XFRM=y
272CONFIG_XFRM_USER=m
273# CONFIG_XFRM_SUB_POLICY is not set
274# CONFIG_NET_KEY is not set
275CONFIG_INET=y
276# CONFIG_IP_MULTICAST is not set
277# CONFIG_IP_ADVANCED_ROUTER is not set
278CONFIG_IP_FIB_HASH=y
279# CONFIG_IP_PNP is not set
280# CONFIG_NET_IPIP is not set
281# CONFIG_NET_IPGRE is not set
282# CONFIG_ARPD is not set
283CONFIG_SYN_COOKIES=y
284# CONFIG_INET_AH is not set
285# CONFIG_INET_ESP is not set
286# CONFIG_INET_IPCOMP is not set
287# CONFIG_INET_XFRM_TUNNEL is not set
288# CONFIG_INET_TUNNEL is not set
289CONFIG_INET_XFRM_MODE_TRANSPORT=y
290CONFIG_INET_XFRM_MODE_TUNNEL=y
291CONFIG_INET_XFRM_MODE_BEET=y
292CONFIG_INET_DIAG=m
293CONFIG_INET_TCP_DIAG=m
294# CONFIG_TCP_CONG_ADVANCED is not set
295CONFIG_TCP_CONG_CUBIC=y
296CONFIG_DEFAULT_TCP_CONG="cubic"
297# CONFIG_TCP_MD5SIG is not set
298
299#
300# IP: Virtual Server Configuration
301#
302# CONFIG_IP_VS is not set
303CONFIG_IPV6=m
304# CONFIG_IPV6_PRIVACY is not set
305# CONFIG_IPV6_ROUTER_PREF is not set
306CONFIG_INET6_AH=m
307CONFIG_INET6_ESP=m
308CONFIG_INET6_IPCOMP=m
309# CONFIG_IPV6_MIP6 is not set
310CONFIG_INET6_XFRM_TUNNEL=m
311CONFIG_INET6_TUNNEL=m
312CONFIG_INET6_XFRM_MODE_TRANSPORT=m
313CONFIG_INET6_XFRM_MODE_TUNNEL=m
314CONFIG_INET6_XFRM_MODE_BEET=m
315# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
316CONFIG_IPV6_SIT=m
317CONFIG_IPV6_TUNNEL=m
318# CONFIG_IPV6_MULTIPLE_TABLES is not set
319# CONFIG_NETWORK_SECMARK is not set
320CONFIG_NETFILTER=y
321# CONFIG_NETFILTER_DEBUG is not set
322
323#
324# Core Netfilter Configuration
325#
326# CONFIG_NETFILTER_NETLINK is not set
327# CONFIG_NF_CONNTRACK_ENABLED is not set
328# CONFIG_NETFILTER_XTABLES is not set
329
330#
331# IP: Netfilter Configuration
332#
333CONFIG_IP_NF_QUEUE=m
334
335#
336# IPv6: Netfilter Configuration (EXPERIMENTAL)
337#
338# CONFIG_IP6_NF_QUEUE is not set
339
340#
341# DCCP Configuration (EXPERIMENTAL)
342#
343# CONFIG_IP_DCCP is not set
344
345#
346# SCTP Configuration (EXPERIMENTAL)
347#
348# CONFIG_IP_SCTP is not set
349
350#
351# TIPC Configuration (EXPERIMENTAL)
352#
353# CONFIG_TIPC is not set
354# CONFIG_ATM is not set
355# CONFIG_BRIDGE is not set
356# CONFIG_VLAN_8021Q is not set
357# CONFIG_DECNET is not set
358# CONFIG_LLC2 is not set
359# CONFIG_IPX is not set
360# CONFIG_ATALK is not set
361# CONFIG_X25 is not set
362# CONFIG_LAPB is not set
363# CONFIG_ECONET is not set
364# CONFIG_WAN_ROUTER is not set
365
366#
367# QoS and/or fair queueing
368#
369# CONFIG_NET_SCHED is not set
370
371#
372# Network testing
373#
374# CONFIG_NET_PKTGEN is not set
375# CONFIG_HAMRADIO is not set
376CONFIG_IRDA=m
377
378#
379# IrDA protocols
380#
381CONFIG_IRLAN=m
382CONFIG_IRNET=m
383CONFIG_IRCOMM=m
384# CONFIG_IRDA_ULTRA is not set
385
386#
387# IrDA options
388#
389# CONFIG_IRDA_CACHE_LAST_LSAP is not set
390# CONFIG_IRDA_FAST_RR is not set
391# CONFIG_IRDA_DEBUG is not set
392
393#
394# Infrared-port device drivers
395#
396
397#
398# SIR device drivers
399#
400CONFIG_IRTTY_SIR=m
401
402#
403# Dongle support
404#
405# CONFIG_DONGLE is not set
406
407#
408# Old SIR device drivers
409#
410# CONFIG_IRPORT_SIR is not set
411
412#
413# Old Serial dongle support
414#
415
416#
417# FIR device drivers
418#
419CONFIG_USB_IRDA=m
420# CONFIG_SIGMATEL_FIR is not set
421CONFIG_SA1100_FIR=m
422# CONFIG_MCS_FIR is not set
423CONFIG_BT=m
424CONFIG_BT_L2CAP=m
425CONFIG_BT_SCO=m
426CONFIG_BT_RFCOMM=m
427CONFIG_BT_RFCOMM_TTY=y
428CONFIG_BT_BNEP=m
429CONFIG_BT_BNEP_MC_FILTER=y
430CONFIG_BT_BNEP_PROTO_FILTER=y
431CONFIG_BT_HIDP=m
432
433#
434# Bluetooth device drivers
435#
436# CONFIG_BT_HCIUSB is not set
437CONFIG_BT_HCIUART=m
438CONFIG_BT_HCIUART_H4=y
439CONFIG_BT_HCIUART_BCSP=y
440# CONFIG_BT_HCIBCM203X is not set
441# CONFIG_BT_HCIBPA10X is not set
442# CONFIG_BT_HCIBFUSB is not set
443CONFIG_BT_HCIDTL1=m
444CONFIG_BT_HCIBT3C=m
445CONFIG_BT_HCIBLUECARD=m
446CONFIG_BT_HCIBTUART=m
447CONFIG_BT_HCIVHCI=m
448CONFIG_IEEE80211=m
449# CONFIG_IEEE80211_DEBUG is not set
450CONFIG_IEEE80211_CRYPT_WEP=m
451CONFIG_IEEE80211_CRYPT_CCMP=m
452CONFIG_IEEE80211_CRYPT_TKIP=m
453# CONFIG_IEEE80211_SOFTMAC is not set
454CONFIG_WIRELESS_EXT=y
455
456#
457# Device Drivers
458#
459
460#
461# Generic Driver Options
462#
463CONFIG_STANDALONE=y
464CONFIG_PREVENT_FIRMWARE_BUILD=y
465CONFIG_FW_LOADER=y
466# CONFIG_DEBUG_DRIVER is not set
467# CONFIG_SYS_HYPERVISOR is not set
468
469#
470# Connector - unified userspace <-> kernelspace linker
471#
472# CONFIG_CONNECTOR is not set
473
474#
475# Memory Technology Devices (MTD)
476#
477CONFIG_MTD=y
478# CONFIG_MTD_DEBUG is not set
479# CONFIG_MTD_CONCAT is not set
480CONFIG_MTD_PARTITIONS=y
481# CONFIG_MTD_REDBOOT_PARTS is not set
482# CONFIG_MTD_CMDLINE_PARTS is not set
483# CONFIG_MTD_AFS_PARTS is not set
484
485#
486# User Modules And Translation Layers
487#
488CONFIG_MTD_CHAR=m
489CONFIG_MTD_BLKDEVS=y
490CONFIG_MTD_BLOCK=y
491# CONFIG_FTL is not set
492# CONFIG_NFTL is not set
493# CONFIG_INFTL is not set
494# CONFIG_RFD_FTL is not set
495# CONFIG_SSFDC is not set
496
497#
498# RAM/ROM/Flash chip drivers
499#
500# CONFIG_MTD_CFI is not set
501# CONFIG_MTD_JEDECPROBE is not set
502CONFIG_MTD_MAP_BANK_WIDTH_1=y
503CONFIG_MTD_MAP_BANK_WIDTH_2=y
504CONFIG_MTD_MAP_BANK_WIDTH_4=y
505# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
506# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
507# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
508CONFIG_MTD_CFI_I1=y
509CONFIG_MTD_CFI_I2=y
510# CONFIG_MTD_CFI_I4 is not set
511# CONFIG_MTD_CFI_I8 is not set
512# CONFIG_MTD_RAM is not set
513CONFIG_MTD_ROM=y
514# CONFIG_MTD_ABSENT is not set
515CONFIG_MTD_OBSOLETE_CHIPS=y
516CONFIG_MTD_SHARP=y
517
518#
519# Mapping drivers for chip access
520#
521# CONFIG_MTD_COMPLEX_MAPPINGS is not set
522# CONFIG_MTD_PHYSMAP is not set
523CONFIG_MTD_SA1100=y
524# CONFIG_MTD_PLATRAM is not set
525
526#
527# Self-contained MTD device drivers
528#
529# CONFIG_MTD_DATAFLASH is not set
530# CONFIG_MTD_M25P80 is not set
531# CONFIG_MTD_SLRAM is not set
532# CONFIG_MTD_PHRAM is not set
533# CONFIG_MTD_MTDRAM is not set
534# CONFIG_MTD_BLOCK2MTD is not set
535
536#
537# Disk-On-Chip Device Drivers
538#
539# CONFIG_MTD_DOC2000 is not set
540# CONFIG_MTD_DOC2001 is not set
541# CONFIG_MTD_DOC2001PLUS is not set
542
543#
544# NAND Flash Device Drivers
545#
546# CONFIG_MTD_NAND is not set
547
548#
549# OneNAND Flash Device Drivers
550#
551# CONFIG_MTD_ONENAND is not set
552
553#
554# Parallel port support
555#
556# CONFIG_PARPORT is not set
557
558#
559# Plug and Play support
560#
561# CONFIG_PNP is not set
562
563#
564# Block devices
565#
566# CONFIG_BLK_DEV_COW_COMMON is not set
567CONFIG_BLK_DEV_LOOP=m
568# CONFIG_BLK_DEV_CRYPTOLOOP is not set
569# CONFIG_BLK_DEV_NBD is not set
570# CONFIG_BLK_DEV_UB is not set
571# CONFIG_BLK_DEV_RAM is not set
572# CONFIG_BLK_DEV_INITRD is not set
573# CONFIG_CDROM_PKTCDVD is not set
574# CONFIG_ATA_OVER_ETH is not set
575
576#
577# ATA/ATAPI/MFM/RLL support
578#
579CONFIG_IDE=m
580CONFIG_IDE_MAX_HWIFS=4
581CONFIG_BLK_DEV_IDE=m
582
583#
584# Please see Documentation/ide.txt for help/info on IDE drives
585#
586# CONFIG_BLK_DEV_IDE_SATA is not set
587CONFIG_BLK_DEV_IDEDISK=m
588# CONFIG_IDEDISK_MULTI_MODE is not set
589CONFIG_BLK_DEV_IDECS=m
590# CONFIG_BLK_DEV_IDECD is not set
591# CONFIG_BLK_DEV_IDETAPE is not set
592# CONFIG_BLK_DEV_IDEFLOPPY is not set
593# CONFIG_BLK_DEV_IDESCSI is not set
594# CONFIG_IDE_TASK_IOCTL is not set
595
596#
597# IDE chipset support/bugfixes
598#
599# CONFIG_IDE_GENERIC is not set
600# CONFIG_IDE_ARM is not set
601# CONFIG_IDE_CHIPSETS is not set
602# CONFIG_BLK_DEV_IDEDMA is not set
603# CONFIG_IDEDMA_AUTO is not set
604# CONFIG_BLK_DEV_HD is not set
605
606#
607# SCSI device support
608#
609# CONFIG_RAID_ATTRS is not set
610CONFIG_SCSI=m
611# CONFIG_SCSI_TGT is not set
612# CONFIG_SCSI_NETLINK is not set
613CONFIG_SCSI_PROC_FS=y
614
615#
616# SCSI support type (disk, tape, CD-ROM)
617#
618CONFIG_BLK_DEV_SD=m
619CONFIG_CHR_DEV_ST=m
620CONFIG_CHR_DEV_OSST=m
621CONFIG_BLK_DEV_SR=m
622# CONFIG_BLK_DEV_SR_VENDOR is not set
623CONFIG_CHR_DEV_SG=m
624# CONFIG_CHR_DEV_SCH is not set
625
626#
627# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
628#
629CONFIG_SCSI_MULTI_LUN=y
630# CONFIG_SCSI_CONSTANTS is not set
631# CONFIG_SCSI_LOGGING is not set
632# CONFIG_SCSI_SCAN_ASYNC is not set
633
634#
635# SCSI Transports
636#
637# CONFIG_SCSI_SPI_ATTRS is not set
638# CONFIG_SCSI_FC_ATTRS is not set
639# CONFIG_SCSI_ISCSI_ATTRS is not set
640# CONFIG_SCSI_SAS_ATTRS is not set
641# CONFIG_SCSI_SAS_LIBSAS is not set
642
643#
644# SCSI low-level drivers
645#
646# CONFIG_ISCSI_TCP is not set
647# CONFIG_SCSI_AHA152X is not set
648# CONFIG_SCSI_AIC7XXX_OLD is not set
649# CONFIG_SCSI_IN2000 is not set
650# CONFIG_SCSI_DTC3280 is not set
651# CONFIG_SCSI_FUTURE_DOMAIN is not set
652# CONFIG_SCSI_GENERIC_NCR5380 is not set
653# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
654# CONFIG_SCSI_NCR53C406A is not set
655# CONFIG_SCSI_PAS16 is not set
656# CONFIG_SCSI_PSI240I is not set
657# CONFIG_SCSI_QLOGIC_FAS is not set
658# CONFIG_SCSI_SYM53C416 is not set
659# CONFIG_SCSI_T128 is not set
660# CONFIG_SCSI_DEBUG is not set
661
662#
663# PCMCIA SCSI adapter support
664#
665# CONFIG_PCMCIA_AHA152X is not set
666# CONFIG_PCMCIA_FDOMAIN is not set
667# CONFIG_PCMCIA_NINJA_SCSI is not set
668# CONFIG_PCMCIA_QLOGIC is not set
669# CONFIG_PCMCIA_SYM53C500 is not set
670
671#
672# Serial ATA (prod) and Parallel ATA (experimental) drivers
673#
674# CONFIG_ATA is not set
675
676#
677# Multi-device support (RAID and LVM)
678#
679CONFIG_MD=y
680# CONFIG_BLK_DEV_MD is not set
681CONFIG_BLK_DEV_DM=m
682# CONFIG_DM_DEBUG is not set
683CONFIG_DM_CRYPT=m
684CONFIG_DM_SNAPSHOT=m
685CONFIG_DM_MIRROR=m
686CONFIG_DM_ZERO=m
687CONFIG_DM_MULTIPATH=m
688CONFIG_DM_MULTIPATH_EMC=m
689
690#
691# Fusion MPT device support
692#
693# CONFIG_FUSION is not set
694
695#
696# IEEE 1394 (FireWire) support
697#
698
699#
700# I2O device support
701#
702
703#
704# Network device support
705#
706CONFIG_NETDEVICES=y
707# CONFIG_DUMMY is not set
708# CONFIG_BONDING is not set
709# CONFIG_EQUALIZER is not set
710CONFIG_TUN=m
711
712#
713# ARCnet devices
714#
715# CONFIG_ARCNET is not set
716
717#
718# PHY device support
719#
720# CONFIG_PHYLIB is not set
721
722#
723# Ethernet (10 or 100Mbit)
724#
725CONFIG_NET_ETHERNET=y
726CONFIG_MII=m
727# CONFIG_NET_VENDOR_3COM is not set
728# CONFIG_NET_VENDOR_SMC is not set
729# CONFIG_SMC91X is not set
730# CONFIG_DM9000 is not set
731# CONFIG_NET_VENDOR_RACAL is not set
732# CONFIG_AT1700 is not set
733# CONFIG_DEPCA is not set
734# CONFIG_HP100 is not set
735# CONFIG_NET_ISA is not set
736# CONFIG_NET_PCI is not set
737
738#
739# Ethernet (1000 Mbit)
740#
741
742#
743# Ethernet (10000 Mbit)
744#
745
746#
747# Token Ring devices
748#
749# CONFIG_TR is not set
750
751#
752# Wireless LAN (non-hamradio)
753#
754CONFIG_NET_RADIO=y
755# CONFIG_NET_WIRELESS_RTNETLINK is not set
756
757#
758# Obsolete Wireless cards support (pre-802.11)
759#
760# CONFIG_STRIP is not set
761# CONFIG_ARLAN is not set
762# CONFIG_WAVELAN is not set
763# CONFIG_PCMCIA_WAVELAN is not set
764# CONFIG_PCMCIA_NETWAVE is not set
765
766#
767# Wireless 802.11 Frequency Hopping cards support
768#
769# CONFIG_PCMCIA_RAYCS is not set
770
771#
772# Wireless 802.11b ISA/PCI cards support
773#
774CONFIG_HERMES=m
775# CONFIG_ATMEL is not set
776
777#
778# Wireless 802.11b Pcmcia/Cardbus cards support
779#
780CONFIG_PCMCIA_HERMES=m
781CONFIG_PCMCIA_SPECTRUM=m
782# CONFIG_AIRO_CS is not set
783# CONFIG_PCMCIA_WL3501 is not set
784# CONFIG_USB_ZD1201 is not set
785CONFIG_HOSTAP=m
786CONFIG_HOSTAP_FIRMWARE=y
787# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
788CONFIG_HOSTAP_CS=m
789CONFIG_NET_WIRELESS=y
790
791#
792# PCMCIA network device support
793#
794CONFIG_NET_PCMCIA=y
795# CONFIG_PCMCIA_3C589 is not set
796# CONFIG_PCMCIA_3C574 is not set
797# CONFIG_PCMCIA_FMVJ18X is not set
798CONFIG_PCMCIA_PCNET=m
799# CONFIG_PCMCIA_NMCLAN is not set
800# CONFIG_PCMCIA_SMC91C92 is not set
801# CONFIG_PCMCIA_XIRC2PS is not set
802# CONFIG_PCMCIA_AXNET is not set
803
804#
805# Wan interfaces
806#
807# CONFIG_WAN is not set
808CONFIG_PPP=m
809# CONFIG_PPP_MULTILINK is not set
810# CONFIG_PPP_FILTER is not set
811CONFIG_PPP_ASYNC=m
812# CONFIG_PPP_SYNC_TTY is not set
813CONFIG_PPP_DEFLATE=m
814CONFIG_PPP_BSDCOMP=m
815# CONFIG_PPP_MPPE is not set
816# CONFIG_PPPOE is not set
817# CONFIG_SLIP is not set
818CONFIG_SLHC=m
819# CONFIG_SHAPER is not set
820# CONFIG_NETCONSOLE is not set
821# CONFIG_NETPOLL is not set
822# CONFIG_NET_POLL_CONTROLLER is not set
823
824#
825# ISDN subsystem
826#
827# CONFIG_ISDN is not set
828
829#
830# Input device support
831#
832CONFIG_INPUT=y
833# CONFIG_INPUT_FF_MEMLESS is not set
834
835#
836# Userland interfaces
837#
838CONFIG_INPUT_MOUSEDEV=y
839# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
840CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
841CONFIG_INPUT_MOUSEDEV_SCREEN_Y=640
842# CONFIG_INPUT_JOYDEV is not set
843# CONFIG_INPUT_TSDEV is not set
844CONFIG_INPUT_EVDEV=y
845# CONFIG_INPUT_EVBUG is not set
846CONFIG_INPUT_POWER=y
847
848#
849# Input Device Drivers
850#
851CONFIG_INPUT_KEYBOARD=y
852# CONFIG_KEYBOARD_ATKBD is not set
853# CONFIG_KEYBOARD_SUNKBD is not set
854# CONFIG_KEYBOARD_LKKBD is not set
855CONFIG_KEYBOARD_LOCOMO=y
856# CONFIG_KEYBOARD_XTKBD is not set
857# CONFIG_KEYBOARD_NEWTON is not set
858# CONFIG_KEYBOARD_STOWAWAY is not set
859# CONFIG_INPUT_MOUSE is not set
860# CONFIG_INPUT_JOYSTICK is not set
861# CONFIG_INPUT_TOUCHSCREEN is not set
862# CONFIG_INPUT_MISC is not set
863
864#
865# Hardware I/O ports
866#
867# CONFIG_SERIO is not set
868# CONFIG_GAMEPORT is not set
869
870#
871# Character devices
872#
873CONFIG_VT=y
874CONFIG_VT_CONSOLE=y
875CONFIG_HW_CONSOLE=y
876# CONFIG_VT_HW_CONSOLE_BINDING is not set
877# CONFIG_SERIAL_NONSTANDARD is not set
878
879#
880# Serial drivers
881#
882CONFIG_SERIAL_8250=m
883CONFIG_SERIAL_8250_CS=m
884CONFIG_SERIAL_8250_NR_UARTS=4
885CONFIG_SERIAL_8250_RUNTIME_UARTS=4
886# CONFIG_SERIAL_8250_EXTENDED is not set
887
888#
889# Non-8250 serial port support
890#
891CONFIG_SERIAL_SA1100=y
892CONFIG_SERIAL_SA1100_CONSOLE=y
893CONFIG_SERIAL_CORE=y
894CONFIG_SERIAL_CORE_CONSOLE=y
895CONFIG_UNIX98_PTYS=y
896# CONFIG_LEGACY_PTYS is not set
897
898#
899# IPMI
900#
901# CONFIG_IPMI_HANDLER is not set
902
903#
904# Watchdog Cards
905#
906# CONFIG_WATCHDOG is not set
907CONFIG_HW_RANDOM=m
908# CONFIG_NVRAM is not set
909# CONFIG_DTLK is not set
910# CONFIG_R3964 is not set
911
912#
913# PCMCIA character devices
914#
915# CONFIG_SYNCLINK_CS is not set
916# CONFIG_CARDMAN_4000 is not set
917# CONFIG_CARDMAN_4040 is not set
918# CONFIG_RAW_DRIVER is not set
919
920#
921# TPM devices
922#
923# CONFIG_TCG_TPM is not set
924
925#
926# I2C support
927#
928CONFIG_I2C=m
929# CONFIG_I2C_CHARDEV is not set
930
931#
932# I2C Algorithms
933#
934# CONFIG_I2C_ALGOBIT is not set
935# CONFIG_I2C_ALGOPCF is not set
936# CONFIG_I2C_ALGOPCA is not set
937
938#
939# I2C Hardware Bus support
940#
941# CONFIG_I2C_ELEKTOR is not set
942# CONFIG_I2C_OCORES is not set
943# CONFIG_I2C_PARPORT_LIGHT is not set
944# CONFIG_I2C_STUB is not set
945# CONFIG_I2C_PCA_ISA is not set
946
947#
948# Miscellaneous I2C Chip support
949#
950# CONFIG_SENSORS_DS1337 is not set
951# CONFIG_SENSORS_DS1374 is not set
952# CONFIG_SENSORS_EEPROM is not set
953# CONFIG_SENSORS_PCF8574 is not set
954# CONFIG_SENSORS_PCA9539 is not set
955# CONFIG_SENSORS_PCF8591 is not set
956# CONFIG_SENSORS_MAX6875 is not set
957# CONFIG_I2C_DEBUG_CORE is not set
958# CONFIG_I2C_DEBUG_ALGO is not set
959# CONFIG_I2C_DEBUG_BUS is not set
960# CONFIG_I2C_DEBUG_CHIP is not set
961
962#
963# SPI support
964#
965CONFIG_SPI=y
966# CONFIG_SPI_DEBUG is not set
967CONFIG_SPI_MASTER=y
968
969#
970# SPI Master Controller Drivers
971#
972# CONFIG_SPI_BITBANG is not set
973CONFIG_SPI_LOCOMO=m
974
975#
976# SPI Protocol Masters
977#
978
979#
980# Dallas's 1-wire bus
981#
982# CONFIG_W1 is not set
983
984#
985# Hardware Monitoring support
986#
987# CONFIG_HWMON is not set
988# CONFIG_HWMON_VID is not set
989
990#
991# Misc devices
992#
993# CONFIG_TIFM_CORE is not set
994
995#
996# Multimedia Capabilities Port drivers
997#
998CONFIG_MCP=y
999CONFIG_MCP_SA11X0=y
1000CONFIG_MCP_UCB1200=y
1001CONFIG_MCP_UCB1200_TS=m
1002
1003#
1004# Multi-Function Devices
1005#
1006
1007#
1008# LED devices
1009#
1010CONFIG_NEW_LEDS=y
1011CONFIG_LEDS_CLASS=m
1012
1013#
1014# LED drivers
1015#
1016CONFIG_LEDS_LOCOMO=m
1017
1018#
1019# LED Triggers
1020#
1021CONFIG_LEDS_TRIGGERS=y
1022CONFIG_LEDS_TRIGGER_TIMER=m
1023# CONFIG_LEDS_TRIGGER_IDE_DISK is not set
1024CONFIG_LEDS_TRIGGER_HEARTBEAT=m
1025
1026#
1027# Multimedia devices
1028#
1029CONFIG_VIDEO_DEV=m
1030CONFIG_VIDEO_V4L1=y
1031CONFIG_VIDEO_V4L1_COMPAT=y
1032CONFIG_VIDEO_V4L2=y
1033
1034#
1035# Video Capture Adapters
1036#
1037
1038#
1039# Video Capture Adapters
1040#
1041# CONFIG_VIDEO_ADV_DEBUG is not set
1042CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
1043# CONFIG_VIDEO_VIVI is not set
1044# CONFIG_VIDEO_PMS is not set
1045# CONFIG_VIDEO_CPIA is not set
1046# CONFIG_VIDEO_CPIA2 is not set
1047# CONFIG_VIDEO_SAA5246A is not set
1048# CONFIG_VIDEO_SAA5249 is not set
1049# CONFIG_TUNER_3036 is not set
1050
1051#
1052# V4L USB devices
1053#
1054# CONFIG_VIDEO_PVRUSB2 is not set
1055# CONFIG_VIDEO_EM28XX is not set
1056# CONFIG_VIDEO_USBVISION is not set
1057# CONFIG_USB_VICAM is not set
1058# CONFIG_USB_IBMCAM is not set
1059# CONFIG_USB_KONICAWC is not set
1060# CONFIG_USB_QUICKCAM_MESSENGER is not set
1061# CONFIG_USB_ET61X251 is not set
1062# CONFIG_VIDEO_OVCAMCHIP is not set
1063# CONFIG_USB_W9968CF is not set
1064# CONFIG_USB_OV511 is not set
1065# CONFIG_USB_SE401 is not set
1066# CONFIG_USB_SN9C102 is not set
1067# CONFIG_USB_STV680 is not set
1068# CONFIG_USB_ZC0301 is not set
1069# CONFIG_USB_PWC is not set
1070
1071#
1072# Radio Adapters
1073#
1074# CONFIG_RADIO_CADET is not set
1075# CONFIG_RADIO_RTRACK is not set
1076# CONFIG_RADIO_RTRACK2 is not set
1077# CONFIG_RADIO_AZTECH is not set
1078# CONFIG_RADIO_GEMTEK is not set
1079# CONFIG_RADIO_SF16FMI is not set
1080# CONFIG_RADIO_SF16FMR2 is not set
1081# CONFIG_RADIO_TERRATEC is not set
1082# CONFIG_RADIO_TRUST is not set
1083# CONFIG_RADIO_TYPHOON is not set
1084# CONFIG_RADIO_ZOLTRIX is not set
1085# CONFIG_USB_DSBR is not set
1086
1087#
1088# Digital Video Broadcasting Devices
1089#
1090# CONFIG_DVB is not set
1091# CONFIG_USB_DABUSB is not set
1092
1093#
1094# Graphics support
1095#
1096CONFIG_FIRMWARE_EDID=y
1097CONFIG_FB=y
1098CONFIG_FB_CFB_FILLRECT=y
1099CONFIG_FB_CFB_COPYAREA=y
1100CONFIG_FB_CFB_IMAGEBLIT=y
1101# CONFIG_FB_MACMODES is not set
1102# CONFIG_FB_BACKLIGHT is not set
1103# CONFIG_FB_MODE_HELPERS is not set
1104# CONFIG_FB_TILEBLITTING is not set
1105CONFIG_FB_SA1100=y
1106# CONFIG_FB_S1D13XXX is not set
1107# CONFIG_FB_VIRTUAL is not set
1108
1109#
1110# Console display driver support
1111#
1112# CONFIG_VGA_CONSOLE is not set
1113# CONFIG_MDA_CONSOLE is not set
1114CONFIG_DUMMY_CONSOLE=y
1115CONFIG_FRAMEBUFFER_CONSOLE=y
1116CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
1117CONFIG_FONTS=y
1118CONFIG_FONT_8x8=y
1119# CONFIG_FONT_8x16 is not set
1120# CONFIG_FONT_6x11 is not set
1121# CONFIG_FONT_7x14 is not set
1122# CONFIG_FONT_PEARL_8x8 is not set
1123# CONFIG_FONT_ACORN_8x8 is not set
1124# CONFIG_FONT_MINI_4x6 is not set
1125# CONFIG_FONT_SUN8x16 is not set
1126# CONFIG_FONT_SUN12x22 is not set
1127# CONFIG_FONT_10x18 is not set
1128
1129#
1130# Logo configuration
1131#
1132# CONFIG_LOGO is not set
1133CONFIG_BACKLIGHT_LCD_SUPPORT=y
1134CONFIG_BACKLIGHT_CLASS_DEVICE=y
1135CONFIG_BACKLIGHT_DEVICE=y
1136CONFIG_LCD_CLASS_DEVICE=m
1137CONFIG_LCD_DEVICE=y
1138CONFIG_BACKLIGHT_LOCOMO=y
1139
1140#
1141# Sound
1142#
1143CONFIG_SOUND=m
1144
1145#
1146# Advanced Linux Sound Architecture
1147#
1148CONFIG_SND=m
1149CONFIG_SND_TIMER=m
1150CONFIG_SND_PCM=m
1151# CONFIG_SND_SEQUENCER is not set
1152CONFIG_SND_OSSEMUL=y
1153CONFIG_SND_MIXER_OSS=m
1154CONFIG_SND_PCM_OSS=m
1155CONFIG_SND_PCM_OSS_PLUGINS=y
1156# CONFIG_SND_DYNAMIC_MINORS is not set
1157CONFIG_SND_SUPPORT_OLD_API=y
1158CONFIG_SND_VERBOSE_PROCFS=y
1159# CONFIG_SND_VERBOSE_PRINTK is not set
1160# CONFIG_SND_DEBUG is not set
1161
1162#
1163# Generic devices
1164#
1165CONFIG_SND_DUMMY=m
1166# CONFIG_SND_MTPAV is not set
1167# CONFIG_SND_SERIAL_U16550 is not set
1168# CONFIG_SND_MPU401 is not set
1169
1170#
1171# ALSA ARM devices
1172#
1173
1174#
1175# USB devices
1176#
1177# CONFIG_SND_USB_AUDIO is not set
1178
1179#
1180# PCMCIA devices
1181#
1182# CONFIG_SND_VXPOCKET is not set
1183# CONFIG_SND_PDAUDIOCF is not set
1184
1185#
1186# SoC audio support
1187#
1188# CONFIG_SND_SOC is not set
1189
1190#
1191# Open Sound System
1192#
1193# CONFIG_SOUND_PRIME is not set
1194
1195#
1196# HID Devices
1197#
1198CONFIG_HID=m
1199
1200#
1201# USB support
1202#
1203CONFIG_USB_ARCH_HAS_HCD=y
1204# CONFIG_USB_ARCH_HAS_OHCI is not set
1205# CONFIG_USB_ARCH_HAS_EHCI is not set
1206CONFIG_USB=m
1207# CONFIG_USB_DEBUG is not set
1208
1209#
1210# Miscellaneous USB options
1211#
1212CONFIG_USB_DEVICEFS=y
1213# CONFIG_USB_BANDWIDTH is not set
1214# CONFIG_USB_DYNAMIC_MINORS is not set
1215# CONFIG_USB_SUSPEND is not set
1216# CONFIG_USB_OTG is not set
1217
1218#
1219# USB Host Controller Drivers
1220#
1221# CONFIG_USB_ISP116X_HCD is not set
1222CONFIG_USB_SL811_HCD=m
1223CONFIG_USB_SL811_CS=m
1224
1225#
1226# USB Device Class drivers
1227#
1228# CONFIG_USB_ACM is not set
1229# CONFIG_USB_PRINTER is not set
1230
1231#
1232# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1233#
1234
1235#
1236# may also be needed; see USB_STORAGE Help for more information
1237#
1238CONFIG_USB_STORAGE=m
1239# CONFIG_USB_STORAGE_DEBUG is not set
1240# CONFIG_USB_STORAGE_DATAFAB is not set
1241# CONFIG_USB_STORAGE_FREECOM is not set
1242# CONFIG_USB_STORAGE_ISD200 is not set
1243# CONFIG_USB_STORAGE_DPCM is not set
1244# CONFIG_USB_STORAGE_USBAT is not set
1245# CONFIG_USB_STORAGE_SDDR09 is not set
1246# CONFIG_USB_STORAGE_SDDR55 is not set
1247# CONFIG_USB_STORAGE_JUMPSHOT is not set
1248# CONFIG_USB_STORAGE_ALAUDA is not set
1249# CONFIG_USB_STORAGE_KARMA is not set
1250# CONFIG_USB_LIBUSUAL is not set
1251
1252#
1253# USB Input Devices
1254#
1255CONFIG_USB_HID=m
1256# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1257# CONFIG_HID_FF is not set
1258# CONFIG_USB_HIDDEV is not set
1259
1260#
1261# USB HID Boot Protocol drivers
1262#
1263# CONFIG_USB_KBD is not set
1264# CONFIG_USB_MOUSE is not set
1265# CONFIG_USB_AIPTEK is not set
1266# CONFIG_USB_WACOM is not set
1267# CONFIG_USB_ACECAD is not set
1268# CONFIG_USB_KBTAB is not set
1269# CONFIG_USB_POWERMATE is not set
1270# CONFIG_USB_TOUCHSCREEN is not set
1271# CONFIG_USB_YEALINK is not set
1272# CONFIG_USB_XPAD is not set
1273# CONFIG_USB_ATI_REMOTE is not set
1274# CONFIG_USB_ATI_REMOTE2 is not set
1275# CONFIG_USB_KEYSPAN_REMOTE is not set
1276# CONFIG_USB_APPLETOUCH is not set
1277
1278#
1279# USB Imaging devices
1280#
1281# CONFIG_USB_MDC800 is not set
1282# CONFIG_USB_MICROTEK is not set
1283
1284#
1285# USB Network Adapters
1286#
1287# CONFIG_USB_CATC is not set
1288# CONFIG_USB_KAWETH is not set
1289# CONFIG_USB_PEGASUS is not set
1290# CONFIG_USB_RTL8150 is not set
1291CONFIG_USB_USBNET_MII=m
1292CONFIG_USB_USBNET=m
1293CONFIG_USB_NET_AX8817X=m
1294CONFIG_USB_NET_CDCETHER=m
1295# CONFIG_USB_NET_GL620A is not set
1296CONFIG_USB_NET_NET1080=m
1297# CONFIG_USB_NET_PLUSB is not set
1298# CONFIG_USB_NET_MCS7830 is not set
1299# CONFIG_USB_NET_RNDIS_HOST is not set
1300CONFIG_USB_NET_CDC_SUBSET=m
1301# CONFIG_USB_ALI_M5632 is not set
1302# CONFIG_USB_AN2720 is not set
1303CONFIG_USB_BELKIN=y
1304CONFIG_USB_ARMLINUX=y
1305# CONFIG_USB_EPSON2888 is not set
1306CONFIG_USB_NET_ZAURUS=m
1307CONFIG_USB_MON=y
1308
1309#
1310# USB port drivers
1311#
1312
1313#
1314# USB Serial Converter support
1315#
1316CONFIG_USB_SERIAL=m
1317CONFIG_USB_SERIAL_GENERIC=y
1318# CONFIG_USB_SERIAL_AIRCABLE is not set
1319CONFIG_USB_SERIAL_AIRPRIME=m
1320CONFIG_USB_SERIAL_ARK3116=m
1321CONFIG_USB_SERIAL_BELKIN=m
1322CONFIG_USB_SERIAL_WHITEHEAT=m
1323CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
1324CONFIG_USB_SERIAL_CP2101=m
1325CONFIG_USB_SERIAL_CYPRESS_M8=m
1326CONFIG_USB_SERIAL_EMPEG=m
1327CONFIG_USB_SERIAL_FTDI_SIO=m
1328CONFIG_USB_SERIAL_FUNSOFT=m
1329CONFIG_USB_SERIAL_VISOR=m
1330CONFIG_USB_SERIAL_IPAQ=m
1331CONFIG_USB_SERIAL_IR=m
1332CONFIG_USB_SERIAL_EDGEPORT=m
1333CONFIG_USB_SERIAL_EDGEPORT_TI=m
1334CONFIG_USB_SERIAL_GARMIN=m
1335CONFIG_USB_SERIAL_IPW=m
1336CONFIG_USB_SERIAL_KEYSPAN_PDA=m
1337CONFIG_USB_SERIAL_KEYSPAN=m
1338# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set
1339# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
1340# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
1341# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
1342# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
1343# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
1344# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
1345# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
1346# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
1347# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
1348# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
1349# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
1350CONFIG_USB_SERIAL_KLSI=m
1351CONFIG_USB_SERIAL_KOBIL_SCT=m
1352CONFIG_USB_SERIAL_MCT_U232=m
1353# CONFIG_USB_SERIAL_MOS7720 is not set
1354# CONFIG_USB_SERIAL_MOS7840 is not set
1355# CONFIG_USB_SERIAL_NAVMAN is not set
1356CONFIG_USB_SERIAL_PL2303=m
1357CONFIG_USB_SERIAL_HP4X=m
1358CONFIG_USB_SERIAL_SAFE=m
1359# CONFIG_USB_SERIAL_SAFE_PADDED is not set
1360# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
1361CONFIG_USB_SERIAL_TI=m
1362CONFIG_USB_SERIAL_CYBERJACK=m
1363CONFIG_USB_SERIAL_XIRCOM=m
1364# CONFIG_USB_SERIAL_OPTION is not set
1365# CONFIG_USB_SERIAL_OMNINET is not set
1366# CONFIG_USB_SERIAL_DEBUG is not set
1367CONFIG_USB_EZUSB=y
1368
1369#
1370# USB Miscellaneous drivers
1371#
1372# CONFIG_USB_EMI62 is not set
1373# CONFIG_USB_EMI26 is not set
1374# CONFIG_USB_ADUTUX is not set
1375# CONFIG_USB_AUERSWALD is not set
1376# CONFIG_USB_RIO500 is not set
1377# CONFIG_USB_LEGOTOWER is not set
1378# CONFIG_USB_LCD is not set
1379# CONFIG_USB_LED is not set
1380# CONFIG_USB_CYPRESS_CY7C63 is not set
1381# CONFIG_USB_CYTHERM is not set
1382# CONFIG_USB_PHIDGET is not set
1383# CONFIG_USB_IDMOUSE is not set
1384# CONFIG_USB_FTDI_ELAN is not set
1385# CONFIG_USB_APPLEDISPLAY is not set
1386# CONFIG_USB_LD is not set
1387# CONFIG_USB_TRANCEVIBRATOR is not set
1388# CONFIG_USB_TEST is not set
1389
1390#
1391# USB DSL modem support
1392#
1393
1394#
1395# USB Gadget Support
1396#
1397# CONFIG_USB_GADGET is not set
1398# CONFIG_USB_GADGET_DEBUG_FILES is not set
1399# CONFIG_USB_GADGET_NET2280 is not set
1400# CONFIG_USB_GADGET_PXA2XX is not set
1401# CONFIG_USB_GADGET_PXA27X is not set
1402# CONFIG_USB_GADGET_GOKU is not set
1403# CONFIG_USB_GADGET_LH7A40X is not set
1404# CONFIG_USB_GADGET_OMAP is not set
1405# CONFIG_USB_GADGET_AT91 is not set
1406# CONFIG_USB_GADGET_DUMMY_HCD is not set
1407# CONFIG_USB_GADGET_DUALSPEED is not set
1408
1409#
1410# MMC/SD Card support
1411#
1412CONFIG_MMC=m
1413CONFIG_MMC_DEBUG=y
1414CONFIG_MMC_BLOCK=m
1415# CONFIG_MMC_TIFM_SD is not set
1416CONFIG_MMC_SPI=m
1417
1418#
1419# Real Time Clock
1420#
1421CONFIG_RTC_LIB=y
1422CONFIG_RTC_CLASS=y
1423CONFIG_RTC_HCTOSYS=y
1424CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1425# CONFIG_RTC_DEBUG is not set
1426
1427#
1428# RTC interfaces
1429#
1430CONFIG_RTC_INTF_SYSFS=y
1431CONFIG_RTC_INTF_PROC=y
1432CONFIG_RTC_INTF_DEV=y
1433# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
1434
1435#
1436# RTC drivers
1437#
1438# CONFIG_RTC_DRV_X1205 is not set
1439# CONFIG_RTC_DRV_DS1307 is not set
1440# CONFIG_RTC_DRV_DS1553 is not set
1441# CONFIG_RTC_DRV_ISL1208 is not set
1442# CONFIG_RTC_DRV_DS1672 is not set
1443# CONFIG_RTC_DRV_DS1742 is not set
1444# CONFIG_RTC_DRV_PCF8563 is not set
1445# CONFIG_RTC_DRV_PCF8583 is not set
1446# CONFIG_RTC_DRV_RS5C348 is not set
1447# CONFIG_RTC_DRV_RS5C372 is not set
1448# CONFIG_RTC_DRV_M48T86 is not set
1449CONFIG_RTC_DRV_SA1100=y
1450# CONFIG_RTC_DRV_TEST is not set
1451# CONFIG_RTC_DRV_MAX6902 is not set
1452# CONFIG_RTC_DRV_V3020 is not set
1453
1454#
1455# File systems
1456#
1457CONFIG_EXT2_FS=m
1458# CONFIG_EXT2_FS_XATTR is not set
1459# CONFIG_EXT2_FS_XIP is not set
1460# CONFIG_EXT3_FS is not set
1461# CONFIG_EXT4DEV_FS is not set
1462# CONFIG_REISERFS_FS is not set
1463# CONFIG_JFS_FS is not set
1464# CONFIG_FS_POSIX_ACL is not set
1465# CONFIG_XFS_FS is not set
1466# CONFIG_GFS2_FS is not set
1467# CONFIG_OCFS2_FS is not set
1468# CONFIG_MINIX_FS is not set
1469# CONFIG_ROMFS_FS is not set
1470CONFIG_INOTIFY=y
1471CONFIG_INOTIFY_USER=y
1472# CONFIG_QUOTA is not set
1473CONFIG_DNOTIFY=y
1474# CONFIG_AUTOFS_FS is not set
1475# CONFIG_AUTOFS4_FS is not set
1476CONFIG_FUSE_FS=m
1477
1478#
1479# CD-ROM/DVD Filesystems
1480#
1481# CONFIG_ISO9660_FS is not set
1482# CONFIG_UDF_FS is not set
1483
1484#
1485# DOS/FAT/NT Filesystems
1486#
1487CONFIG_FAT_FS=m
1488CONFIG_MSDOS_FS=m
1489CONFIG_VFAT_FS=m
1490CONFIG_FAT_DEFAULT_CODEPAGE=437
1491CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1492# CONFIG_NTFS_FS is not set
1493
1494#
1495# Pseudo filesystems
1496#
1497CONFIG_PROC_FS=y
1498CONFIG_PROC_SYSCTL=y
1499CONFIG_SYSFS=y
1500CONFIG_TMPFS=y
1501# CONFIG_TMPFS_POSIX_ACL is not set
1502# CONFIG_HUGETLB_PAGE is not set
1503CONFIG_RAMFS=y
1504# CONFIG_CONFIGFS_FS is not set
1505
1506#
1507# Miscellaneous filesystems
1508#
1509# CONFIG_ADFS_FS is not set
1510# CONFIG_AFFS_FS is not set
1511# CONFIG_HFS_FS is not set
1512# CONFIG_HFSPLUS_FS is not set
1513# CONFIG_BEFS_FS is not set
1514# CONFIG_BFS_FS is not set
1515# CONFIG_EFS_FS is not set
1516CONFIG_JFFS2_FS=y
1517CONFIG_JFFS2_FS_DEBUG=0
1518CONFIG_JFFS2_FS_WRITEBUFFER=y
1519# CONFIG_JFFS2_SUMMARY is not set
1520# CONFIG_JFFS2_FS_XATTR is not set
1521# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
1522CONFIG_JFFS2_ZLIB=y
1523CONFIG_JFFS2_LZO=y
1524CONFIG_JFFS2_RTIME=y
1525# CONFIG_JFFS2_RUBIN is not set
1526CONFIG_CRAMFS=m
1527CONFIG_SQUASHFS=m
1528# CONFIG_SQUASHFS_EMBEDDED is not set
1529CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
1530# CONFIG_SQUASHFS_VMALLOC is not set
1531# CONFIG_VXFS_FS is not set
1532# CONFIG_HPFS_FS is not set
1533# CONFIG_QNX4FS_FS is not set
1534# CONFIG_SYSV_FS is not set
1535# CONFIG_UFS_FS is not set
1536
1537#
1538# Network File Systems
1539#
1540CONFIG_NFS_FS=m
1541CONFIG_NFS_V3=y
1542# CONFIG_NFS_V3_ACL is not set
1543CONFIG_NFS_V4=y
1544# CONFIG_NFS_DIRECTIO is not set
1545# CONFIG_NFSD is not set
1546CONFIG_LOCKD=m
1547CONFIG_LOCKD_V4=y
1548CONFIG_NFS_COMMON=y
1549CONFIG_SUNRPC=m
1550CONFIG_SUNRPC_GSS=m
1551CONFIG_RPCSEC_GSS_KRB5=m
1552# CONFIG_RPCSEC_GSS_SPKM3 is not set
1553CONFIG_SMB_FS=m
1554CONFIG_SMB_NLS_DEFAULT=y
1555CONFIG_SMB_NLS_REMOTE="cp437"
1556CONFIG_CIFS=m
1557# CONFIG_CIFS_STATS is not set
1558# CONFIG_CIFS_WEAK_PW_HASH is not set
1559# CONFIG_CIFS_XATTR is not set
1560# CONFIG_CIFS_DEBUG2 is not set
1561# CONFIG_CIFS_EXPERIMENTAL is not set
1562# CONFIG_NCP_FS is not set
1563# CONFIG_CODA_FS is not set
1564# CONFIG_AFS_FS is not set
1565# CONFIG_9P_FS is not set
1566
1567#
1568# Partition Types
1569#
1570CONFIG_PARTITION_ADVANCED=y
1571# CONFIG_ACORN_PARTITION is not set
1572# CONFIG_OSF_PARTITION is not set
1573# CONFIG_AMIGA_PARTITION is not set
1574# CONFIG_ATARI_PARTITION is not set
1575# CONFIG_MAC_PARTITION is not set
1576CONFIG_MSDOS_PARTITION=y
1577# CONFIG_BSD_DISKLABEL is not set
1578# CONFIG_MINIX_SUBPARTITION is not set
1579# CONFIG_SOLARIS_X86_PARTITION is not set
1580# CONFIG_UNIXWARE_DISKLABEL is not set
1581# CONFIG_LDM_PARTITION is not set
1582# CONFIG_SGI_PARTITION is not set
1583# CONFIG_ULTRIX_PARTITION is not set
1584# CONFIG_SUN_PARTITION is not set
1585# CONFIG_KARMA_PARTITION is not set
1586# CONFIG_EFI_PARTITION is not set
1587
1588#
1589# Native Language Support
1590#
1591CONFIG_NLS=y
1592CONFIG_NLS_DEFAULT="cp437"
1593CONFIG_NLS_CODEPAGE_437=y
1594CONFIG_NLS_CODEPAGE_737=m
1595CONFIG_NLS_CODEPAGE_775=m
1596CONFIG_NLS_CODEPAGE_850=m
1597CONFIG_NLS_CODEPAGE_852=m
1598CONFIG_NLS_CODEPAGE_855=m
1599CONFIG_NLS_CODEPAGE_857=m
1600CONFIG_NLS_CODEPAGE_860=m
1601CONFIG_NLS_CODEPAGE_861=m
1602CONFIG_NLS_CODEPAGE_862=m
1603CONFIG_NLS_CODEPAGE_863=m
1604CONFIG_NLS_CODEPAGE_864=m
1605CONFIG_NLS_CODEPAGE_865=m
1606CONFIG_NLS_CODEPAGE_866=m
1607CONFIG_NLS_CODEPAGE_869=m
1608CONFIG_NLS_CODEPAGE_936=m
1609CONFIG_NLS_CODEPAGE_950=m
1610CONFIG_NLS_CODEPAGE_932=m
1611CONFIG_NLS_CODEPAGE_949=m
1612CONFIG_NLS_CODEPAGE_874=m
1613CONFIG_NLS_ISO8859_8=m
1614CONFIG_NLS_CODEPAGE_1250=m
1615CONFIG_NLS_CODEPAGE_1251=m
1616CONFIG_NLS_ASCII=m
1617CONFIG_NLS_ISO8859_1=y
1618CONFIG_NLS_ISO8859_2=m
1619CONFIG_NLS_ISO8859_3=m
1620CONFIG_NLS_ISO8859_4=m
1621CONFIG_NLS_ISO8859_5=m
1622CONFIG_NLS_ISO8859_6=m
1623CONFIG_NLS_ISO8859_7=m
1624CONFIG_NLS_ISO8859_9=m
1625CONFIG_NLS_ISO8859_13=m
1626CONFIG_NLS_ISO8859_14=m
1627CONFIG_NLS_ISO8859_15=m
1628CONFIG_NLS_KOI8_R=m
1629CONFIG_NLS_KOI8_U=m
1630CONFIG_NLS_UTF8=m
1631
1632#
1633# Distributed Lock Manager
1634#
1635# CONFIG_DLM is not set
1636
1637#
1638# Profiling support
1639#
1640# CONFIG_PROFILING is not set
1641
1642#
1643# Kernel hacking
1644#
1645# CONFIG_PRINTK_TIME is not set
1646CONFIG_ENABLE_MUST_CHECK=y
1647CONFIG_MAGIC_SYSRQ=y
1648# CONFIG_UNUSED_SYMBOLS is not set
1649# CONFIG_DEBUG_FS is not set
1650# CONFIG_HEADERS_CHECK is not set
1651CONFIG_DEBUG_KERNEL=y
1652CONFIG_LOG_BUF_SHIFT=14
1653CONFIG_DETECT_SOFTLOCKUP=y
1654# CONFIG_SCHEDSTATS is not set
1655# CONFIG_DEBUG_SLAB is not set
1656# CONFIG_DEBUG_PREEMPT is not set
1657# CONFIG_DEBUG_RT_MUTEXES is not set
1658# CONFIG_RT_MUTEX_TESTER is not set
1659# CONFIG_DEBUG_SPINLOCK is not set
1660# CONFIG_DEBUG_MUTEXES is not set
1661# CONFIG_DEBUG_RWSEMS is not set
1662# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1663# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1664# CONFIG_DEBUG_KOBJECT is not set
1665# CONFIG_DEBUG_BUGVERBOSE is not set
1666# CONFIG_DEBUG_INFO is not set
1667# CONFIG_DEBUG_VM is not set
1668# CONFIG_DEBUG_LIST is not set
1669CONFIG_FRAME_POINTER=y
1670# CONFIG_FORCED_INLINING is not set
1671# CONFIG_RCU_TORTURE_TEST is not set
1672# CONFIG_DEBUG_USER is not set
1673CONFIG_DEBUG_ERRORS=y
1674# CONFIG_DEBUG_LL is not set
1675
1676#
1677# Security options
1678#
1679# CONFIG_KEYS is not set
1680# CONFIG_SECURITY is not set
1681
1682#
1683# Cryptographic options
1684#
1685CONFIG_CRYPTO=y
1686CONFIG_CRYPTO_ALGAPI=y
1687CONFIG_CRYPTO_BLKCIPHER=m
1688CONFIG_CRYPTO_HASH=m
1689CONFIG_CRYPTO_MANAGER=y
1690CONFIG_CRYPTO_HMAC=m
1691# CONFIG_CRYPTO_XCBC is not set
1692CONFIG_CRYPTO_NULL=m
1693CONFIG_CRYPTO_MD4=m
1694CONFIG_CRYPTO_MD5=m
1695CONFIG_CRYPTO_SHA1=m
1696CONFIG_CRYPTO_SHA256=m
1697CONFIG_CRYPTO_SHA512=m
1698CONFIG_CRYPTO_WP512=m
1699# CONFIG_CRYPTO_TGR192 is not set
1700# CONFIG_CRYPTO_GF128MUL is not set
1701CONFIG_CRYPTO_ECB=m
1702CONFIG_CRYPTO_CBC=m
1703# CONFIG_CRYPTO_LRW is not set
1704CONFIG_CRYPTO_DES=m
1705CONFIG_CRYPTO_BLOWFISH=m
1706CONFIG_CRYPTO_TWOFISH=m
1707CONFIG_CRYPTO_TWOFISH_COMMON=m
1708CONFIG_CRYPTO_SERPENT=m
1709CONFIG_CRYPTO_AES=m
1710CONFIG_CRYPTO_CAST5=m
1711CONFIG_CRYPTO_CAST6=m
1712CONFIG_CRYPTO_TEA=m
1713CONFIG_CRYPTO_ARC4=m
1714CONFIG_CRYPTO_KHAZAD=m
1715CONFIG_CRYPTO_ANUBIS=m
1716CONFIG_CRYPTO_DEFLATE=m
1717# CONFIG_CRYPTO_LZO is not set
1718CONFIG_CRYPTO_MICHAEL_MIC=m
1719CONFIG_CRYPTO_CRC32C=m
1720CONFIG_CRYPTO_TEST=m
1721
1722#
1723# Hardware crypto devices
1724#
1725
1726#
1727# Library routines
1728#
1729CONFIG_BITREVERSE=y
1730CONFIG_CRC_CCITT=m
1731CONFIG_CRC16=m
1732CONFIG_CRC32=y
1733CONFIG_LIBCRC32C=m
1734CONFIG_LZO=y
1735CONFIG_ZLIB_INFLATE=y
1736CONFIG_ZLIB_DEFLATE=y
1737CONFIG_PLIST=y
1738CONFIG_IOMAP_COPY=y
1739# CONFIG_SHARPSL_RC is not set
diff --git a/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-hx2000 b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-hx2000
new file mode 100644
index 0000000000..2a67a2d045
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-hx2000
@@ -0,0 +1,1165 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.20-rc2
4# Mon Jan 1 01:49:04 2007
5#
6CONFIG_ARM=y
7# CONFIG_GENERIC_TIME is not set
8CONFIG_MMU=y
9CONFIG_GENERIC_HARDIRQS=y
10CONFIG_TRACE_IRQFLAGS_SUPPORT=y
11CONFIG_HARDIRQS_SW_RESEND=y
12CONFIG_GENERIC_IRQ_PROBE=y
13CONFIG_RWSEM_GENERIC_SPINLOCK=y
14# CONFIG_ARCH_HAS_ILOG2_U32 is not set
15# CONFIG_ARCH_HAS_ILOG2_U64 is not set
16CONFIG_GENERIC_HWEIGHT=y
17CONFIG_GENERIC_CALIBRATE_DELAY=y
18CONFIG_ARCH_MTD_XIP=y
19CONFIG_VECTORS_BASE=0xffff0000
20CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
21
22#
23# Code maturity level options
24#
25CONFIG_EXPERIMENTAL=y
26CONFIG_BROKEN_ON_SMP=y
27CONFIG_LOCK_KERNEL=y
28CONFIG_INIT_ENV_ARG_LIMIT=32
29
30#
31# General setup
32#
33CONFIG_LOCALVERSION=""
34CONFIG_LOCALVERSION_AUTO=y
35# CONFIG_SWAP is not set
36CONFIG_SYSVIPC=y
37# CONFIG_IPC_NS is not set
38# CONFIG_POSIX_MQUEUE is not set
39# CONFIG_BSD_PROCESS_ACCT is not set
40# CONFIG_TASKSTATS is not set
41# CONFIG_UTS_NS is not set
42# CONFIG_AUDIT is not set
43# CONFIG_IKCONFIG is not set
44CONFIG_SYSFS_DEPRECATED=y
45# CONFIG_RELAY is not set
46CONFIG_INITRAMFS_SOURCE=""
47CONFIG_CC_OPTIMIZE_FOR_SIZE=y
48CONFIG_SYSCTL=y
49CONFIG_EMBEDDED=y
50CONFIG_UID16=y
51CONFIG_SYSCTL_SYSCALL=y
52CONFIG_KALLSYMS=y
53# CONFIG_KALLSYMS_ALL is not set
54# CONFIG_KALLSYMS_EXTRA_PASS is not set
55CONFIG_HOTPLUG=y
56CONFIG_PRINTK=y
57CONFIG_BUG=y
58CONFIG_ELF_CORE=y
59CONFIG_BASE_FULL=y
60CONFIG_FUTEX=y
61CONFIG_EPOLL=y
62CONFIG_SHMEM=y
63CONFIG_SLAB=y
64CONFIG_VM_EVENT_COUNTERS=y
65CONFIG_RT_MUTEXES=y
66# CONFIG_TINY_SHMEM is not set
67CONFIG_BASE_SMALL=0
68# CONFIG_SLOB is not set
69
70#
71# Loadable module support
72#
73CONFIG_MODULES=y
74CONFIG_MODULE_UNLOAD=y
75# CONFIG_MODULE_FORCE_UNLOAD is not set
76# CONFIG_MODVERSIONS is not set
77# CONFIG_MODULE_SRCVERSION_ALL is not set
78# CONFIG_KMOD is not set
79
80#
81# Block layer
82#
83CONFIG_BLOCK=y
84# CONFIG_LBD is not set
85# CONFIG_BLK_DEV_IO_TRACE is not set
86# CONFIG_LSF is not set
87
88#
89# IO Schedulers
90#
91CONFIG_IOSCHED_NOOP=y
92CONFIG_IOSCHED_AS=y
93CONFIG_IOSCHED_DEADLINE=m
94CONFIG_IOSCHED_CFQ=m
95CONFIG_DEFAULT_AS=y
96# CONFIG_DEFAULT_DEADLINE is not set
97# CONFIG_DEFAULT_CFQ is not set
98# CONFIG_DEFAULT_NOOP is not set
99CONFIG_DEFAULT_IOSCHED="anticipatory"
100
101#
102# System Type
103#
104# CONFIG_ARCH_AAEC2000 is not set
105# CONFIG_ARCH_INTEGRATOR is not set
106# CONFIG_ARCH_REALVIEW is not set
107# CONFIG_ARCH_VERSATILE is not set
108# CONFIG_ARCH_AT91 is not set
109# CONFIG_ARCH_CLPS7500 is not set
110# CONFIG_ARCH_CLPS711X is not set
111# CONFIG_ARCH_CO285 is not set
112# CONFIG_ARCH_EBSA110 is not set
113# CONFIG_ARCH_EP93XX is not set
114# CONFIG_ARCH_FOOTBRIDGE is not set
115# CONFIG_ARCH_NETX is not set
116# CONFIG_ARCH_H720X is not set
117# CONFIG_ARCH_IMX is not set
118# CONFIG_ARCH_IOP32X is not set
119# CONFIG_ARCH_IOP33X is not set
120# CONFIG_ARCH_IOP13XX is not set
121# CONFIG_ARCH_IXP4XX is not set
122# CONFIG_ARCH_IXP2000 is not set
123# CONFIG_ARCH_IXP23XX is not set
124# CONFIG_ARCH_L7200 is not set
125# CONFIG_ARCH_PNX4008 is not set
126CONFIG_ARCH_PXA=y
127# CONFIG_ARCH_RPC is not set
128# CONFIG_ARCH_SA1100 is not set
129# CONFIG_ARCH_S3C2410 is not set
130# CONFIG_ARCH_SHARK is not set
131# CONFIG_ARCH_LH7A40X is not set
132# CONFIG_ARCH_OMAP is not set
133
134#
135# Intel PXA2xx Implementations
136#
137# CONFIG_ARCH_LUBBOCK is not set
138# CONFIG_MACH_LOGICPD_PXA270 is not set
139# CONFIG_MACH_MAINSTONE is not set
140# CONFIG_ARCH_PXA_IDP is not set
141# CONFIG_PXA_SHARPSL is not set
142# CONFIG_MACH_TRIZEPS4 is not set
143CONFIG_MACH_HX2750=y
144CONFIG_PXA27x=y
145CONFIG_PXA_SSP=y
146CONFIG_PXA_KEYS=y
147
148#
149# Processor Type
150#
151CONFIG_CPU_32=y
152CONFIG_CPU_XSCALE=y
153CONFIG_CPU_32v5=y
154CONFIG_CPU_ABRT_EV5T=y
155CONFIG_CPU_CACHE_VIVT=y
156CONFIG_CPU_TLB_V4WBI=y
157CONFIG_CPU_CP15=y
158CONFIG_CPU_CP15_MMU=y
159
160#
161# Processor Features
162#
163CONFIG_ARM_THUMB=y
164# CONFIG_CPU_DCACHE_DISABLE is not set
165CONFIG_IWMMXT=y
166CONFIG_XSCALE_PMU=y
167
168#
169# Bus support
170#
171
172#
173# PCCARD (PCMCIA/CardBus) support
174#
175CONFIG_PCCARD=y
176# CONFIG_PCMCIA_DEBUG is not set
177CONFIG_PCMCIA=y
178CONFIG_PCMCIA_LOAD_CIS=y
179CONFIG_PCMCIA_IOCTL=y
180
181#
182# PC-card bridges
183#
184CONFIG_PCMCIA_PXA2XX=y
185
186#
187# Kernel Features
188#
189CONFIG_PREEMPT=y
190CONFIG_NO_IDLE_HZ=y
191CONFIG_HZ=100
192CONFIG_AEABI=y
193CONFIG_OABI_COMPAT=y
194# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
195CONFIG_SELECT_MEMORY_MODEL=y
196CONFIG_FLATMEM_MANUAL=y
197# CONFIG_DISCONTIGMEM_MANUAL is not set
198# CONFIG_SPARSEMEM_MANUAL is not set
199CONFIG_FLATMEM=y
200CONFIG_FLAT_NODE_MEM_MAP=y
201# CONFIG_SPARSEMEM_STATIC is not set
202CONFIG_SPLIT_PTLOCK_CPUS=4096
203# CONFIG_RESOURCES_64BIT is not set
204CONFIG_ALIGNMENT_TRAP=y
205
206#
207# Boot options
208#
209CONFIG_ZBOOT_ROM_TEXT=0x0
210CONFIG_ZBOOT_ROM_BSS=0x0
211CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 noinitrd root=/dev/mtdblock2 rootfstype=jffs2 dyntick=enable debug"
212# CONFIG_XIP_KERNEL is not set
213# CONFIG_KEXEC is not set
214
215#
216# CPU Frequency scaling
217#
218# CONFIG_CPU_FREQ is not set
219
220#
221# Floating point emulation
222#
223
224#
225# At least one emulation must be selected
226#
227CONFIG_FPE_NWFPE=y
228# CONFIG_FPE_NWFPE_XP is not set
229# CONFIG_FPE_FASTFPE is not set
230
231#
232# Userspace binary formats
233#
234CONFIG_BINFMT_ELF=y
235# CONFIG_BINFMT_AOUT is not set
236# CONFIG_BINFMT_MISC is not set
237
238#
239# Power management options
240#
241CONFIG_PM=y
242# CONFIG_PM_LEGACY is not set
243CONFIG_PM_DEBUG=y
244# CONFIG_DISABLE_CONSOLE_SUSPEND is not set
245# CONFIG_PM_SYSFS_DEPRECATED is not set
246CONFIG_APM=y
247
248#
249# Networking
250#
251CONFIG_NET=y
252
253#
254# Networking options
255#
256# CONFIG_NETDEBUG is not set
257CONFIG_PACKET=y
258CONFIG_PACKET_MMAP=y
259CONFIG_UNIX=y
260CONFIG_XFRM=y
261# CONFIG_XFRM_USER is not set
262# CONFIG_XFRM_SUB_POLICY is not set
263# CONFIG_NET_KEY is not set
264CONFIG_INET=y
265# CONFIG_IP_MULTICAST is not set
266# CONFIG_IP_ADVANCED_ROUTER is not set
267CONFIG_IP_FIB_HASH=y
268# CONFIG_IP_PNP is not set
269# CONFIG_NET_IPIP is not set
270# CONFIG_NET_IPGRE is not set
271# CONFIG_ARPD is not set
272CONFIG_SYN_COOKIES=y
273# CONFIG_INET_AH is not set
274# CONFIG_INET_ESP is not set
275# CONFIG_INET_IPCOMP is not set
276# CONFIG_INET_XFRM_TUNNEL is not set
277# CONFIG_INET_TUNNEL is not set
278CONFIG_INET_XFRM_MODE_TRANSPORT=y
279CONFIG_INET_XFRM_MODE_TUNNEL=y
280CONFIG_INET_XFRM_MODE_BEET=y
281CONFIG_INET_DIAG=m
282CONFIG_INET_TCP_DIAG=m
283# CONFIG_TCP_CONG_ADVANCED is not set
284CONFIG_TCP_CONG_CUBIC=y
285CONFIG_DEFAULT_TCP_CONG="cubic"
286# CONFIG_TCP_MD5SIG is not set
287# CONFIG_IPV6 is not set
288# CONFIG_INET6_XFRM_TUNNEL is not set
289# CONFIG_INET6_TUNNEL is not set
290# CONFIG_NETWORK_SECMARK is not set
291# CONFIG_NETFILTER is not set
292
293#
294# DCCP Configuration (EXPERIMENTAL)
295#
296# CONFIG_IP_DCCP is not set
297
298#
299# SCTP Configuration (EXPERIMENTAL)
300#
301# CONFIG_IP_SCTP is not set
302
303#
304# TIPC Configuration (EXPERIMENTAL)
305#
306# CONFIG_TIPC is not set
307# CONFIG_ATM is not set
308# CONFIG_BRIDGE is not set
309# CONFIG_VLAN_8021Q is not set
310# CONFIG_DECNET is not set
311# CONFIG_LLC2 is not set
312# CONFIG_IPX is not set
313# CONFIG_ATALK is not set
314# CONFIG_X25 is not set
315# CONFIG_LAPB is not set
316# CONFIG_ECONET is not set
317# CONFIG_WAN_ROUTER is not set
318
319#
320# QoS and/or fair queueing
321#
322# CONFIG_NET_SCHED is not set
323
324#
325# Network testing
326#
327# CONFIG_NET_PKTGEN is not set
328# CONFIG_HAMRADIO is not set
329# CONFIG_IRDA is not set
330# CONFIG_BT is not set
331CONFIG_IEEE80211=m
332# CONFIG_IEEE80211_DEBUG is not set
333CONFIG_IEEE80211_CRYPT_WEP=m
334# CONFIG_IEEE80211_CRYPT_CCMP is not set
335# CONFIG_IEEE80211_CRYPT_TKIP is not set
336# CONFIG_IEEE80211_SOFTMAC is not set
337CONFIG_WIRELESS_EXT=y
338
339#
340# Device Drivers
341#
342
343#
344# Generic Driver Options
345#
346CONFIG_STANDALONE=y
347# CONFIG_PREVENT_FIRMWARE_BUILD is not set
348CONFIG_FW_LOADER=y
349# CONFIG_DEBUG_DRIVER is not set
350# CONFIG_SYS_HYPERVISOR is not set
351
352#
353# Connector - unified userspace <-> kernelspace linker
354#
355# CONFIG_CONNECTOR is not set
356
357#
358# Memory Technology Devices (MTD)
359#
360CONFIG_MTD=y
361# CONFIG_MTD_DEBUG is not set
362CONFIG_MTD_CONCAT=y
363CONFIG_MTD_PARTITIONS=y
364# CONFIG_MTD_REDBOOT_PARTS is not set
365CONFIG_MTD_CMDLINE_PARTS=y
366# CONFIG_MTD_AFS_PARTS is not set
367
368#
369# User Modules And Translation Layers
370#
371CONFIG_MTD_CHAR=y
372CONFIG_MTD_BLOCK=y
373# CONFIG_FTL is not set
374# CONFIG_NFTL is not set
375# CONFIG_INFTL is not set
376# CONFIG_RFD_FTL is not set
377# CONFIG_SSFDC is not set
378
379#
380# RAM/ROM/Flash chip drivers
381#
382CONFIG_MTD_CFI=y
383# CONFIG_MTD_JEDECPROBE is not set
384CONFIG_MTD_GEN_PROBE=y
385CONFIG_MTD_CFI_ADV_OPTIONS=y
386CONFIG_MTD_CFI_NOSWAP=y
387# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
388# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
389CONFIG_MTD_CFI_GEOMETRY=y
390CONFIG_MTD_MAP_BANK_WIDTH_1=y
391CONFIG_MTD_MAP_BANK_WIDTH_2=y
392CONFIG_MTD_MAP_BANK_WIDTH_4=y
393# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
394# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
395# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
396CONFIG_MTD_CFI_I1=y
397CONFIG_MTD_CFI_I2=y
398# CONFIG_MTD_CFI_I4 is not set
399# CONFIG_MTD_CFI_I8 is not set
400# CONFIG_MTD_OTP is not set
401CONFIG_MTD_CFI_INTELEXT=y
402# CONFIG_MTD_CFI_AMDSTD is not set
403# CONFIG_MTD_CFI_STAA is not set
404CONFIG_MTD_CFI_UTIL=y
405# CONFIG_MTD_RAM is not set
406# CONFIG_MTD_ROM is not set
407# CONFIG_MTD_ABSENT is not set
408# CONFIG_MTD_OBSOLETE_CHIPS is not set
409# CONFIG_MTD_XIP is not set
410
411#
412# Mapping drivers for chip access
413#
414# CONFIG_MTD_COMPLEX_MAPPINGS is not set
415# CONFIG_MTD_PHYSMAP is not set
416# CONFIG_MTD_ARM_INTEGRATOR is not set
417# CONFIG_MTD_SHARP_SL is not set
418# CONFIG_MTD_PLATRAM is not set
419
420#
421# Self-contained MTD device drivers
422#
423# CONFIG_MTD_SLRAM is not set
424# CONFIG_MTD_PHRAM is not set
425# CONFIG_MTD_MTDRAM is not set
426# CONFIG_MTD_BLOCK2MTD is not set
427
428#
429# Disk-On-Chip Device Drivers
430#
431# CONFIG_MTD_DOC2000 is not set
432# CONFIG_MTD_DOC2001 is not set
433# CONFIG_MTD_DOC2001PLUS is not set
434
435#
436# NAND Flash Device Drivers
437#
438# CONFIG_MTD_NAND is not set
439
440#
441# OneNAND Flash Device Drivers
442#
443# CONFIG_MTD_ONENAND is not set
444
445#
446# Parallel port support
447#
448# CONFIG_PARPORT is not set
449
450#
451# Plug and Play support
452#
453
454#
455# Block devices
456#
457# CONFIG_BLK_DEV_COW_COMMON is not set
458CONFIG_BLK_DEV_LOOP=y
459# CONFIG_BLK_DEV_CRYPTOLOOP is not set
460# CONFIG_BLK_DEV_NBD is not set
461CONFIG_BLK_DEV_RAM=y
462CONFIG_BLK_DEV_RAM_COUNT=16
463CONFIG_BLK_DEV_RAM_SIZE=8192
464CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
465CONFIG_BLK_DEV_INITRD=y
466# CONFIG_CDROM_PKTCDVD is not set
467# CONFIG_ATA_OVER_ETH is not set
468
469#
470# ATA/ATAPI/MFM/RLL support
471#
472CONFIG_IDE=y
473CONFIG_IDE_MAX_HWIFS=4
474CONFIG_BLK_DEV_IDE=y
475
476#
477# Please see Documentation/ide.txt for help/info on IDE drives
478#
479# CONFIG_BLK_DEV_IDE_SATA is not set
480CONFIG_BLK_DEV_IDEDISK=y
481# CONFIG_IDEDISK_MULTI_MODE is not set
482CONFIG_BLK_DEV_IDECS=y
483# CONFIG_BLK_DEV_IDECD is not set
484# CONFIG_BLK_DEV_IDETAPE is not set
485# CONFIG_BLK_DEV_IDEFLOPPY is not set
486# CONFIG_IDE_TASK_IOCTL is not set
487
488#
489# IDE chipset support/bugfixes
490#
491CONFIG_IDE_GENERIC=y
492# CONFIG_IDE_ARM is not set
493# CONFIG_BLK_DEV_IDEDMA is not set
494# CONFIG_IDEDMA_AUTO is not set
495# CONFIG_BLK_DEV_HD is not set
496
497#
498# SCSI device support
499#
500# CONFIG_RAID_ATTRS is not set
501# CONFIG_SCSI is not set
502# CONFIG_SCSI_NETLINK is not set
503
504#
505# Serial ATA (prod) and Parallel ATA (experimental) drivers
506#
507# CONFIG_ATA is not set
508
509#
510# Multi-device support (RAID and LVM)
511#
512# CONFIG_MD is not set
513
514#
515# Fusion MPT device support
516#
517# CONFIG_FUSION is not set
518
519#
520# IEEE 1394 (FireWire) support
521#
522
523#
524# I2O device support
525#
526
527#
528# Network device support
529#
530CONFIG_NETDEVICES=y
531# CONFIG_DUMMY is not set
532# CONFIG_BONDING is not set
533# CONFIG_EQUALIZER is not set
534CONFIG_TUN=m
535
536#
537# PHY device support
538#
539# CONFIG_PHYLIB is not set
540
541#
542# Ethernet (10 or 100Mbit)
543#
544CONFIG_NET_ETHERNET=y
545CONFIG_MII=m
546# CONFIG_SMC91X is not set
547# CONFIG_DM9000 is not set
548# CONFIG_SMC911X is not set
549
550#
551# Ethernet (1000 Mbit)
552#
553
554#
555# Ethernet (10000 Mbit)
556#
557
558#
559# Token Ring devices
560#
561
562#
563# Wireless LAN (non-hamradio)
564#
565CONFIG_NET_RADIO=y
566# CONFIG_NET_WIRELESS_RTNETLINK is not set
567
568#
569# Obsolete Wireless cards support (pre-802.11)
570#
571# CONFIG_STRIP is not set
572# CONFIG_PCMCIA_WAVELAN is not set
573# CONFIG_PCMCIA_NETWAVE is not set
574
575#
576# Wireless 802.11 Frequency Hopping cards support
577#
578# CONFIG_PCMCIA_RAYCS is not set
579
580#
581# Wireless 802.11b ISA/PCI cards support
582#
583CONFIG_HERMES=m
584# CONFIG_ATMEL is not set
585
586#
587# Wireless 802.11b Pcmcia/Cardbus cards support
588#
589CONFIG_PCMCIA_HERMES=m
590CONFIG_PCMCIA_SPECTRUM=m
591# CONFIG_AIRO_CS is not set
592# CONFIG_PCMCIA_WL3501 is not set
593CONFIG_HOSTAP=m
594CONFIG_HOSTAP_FIRMWARE=y
595# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
596CONFIG_HOSTAP_CS=m
597CONFIG_NET_WIRELESS=y
598
599#
600# PCMCIA network device support
601#
602CONFIG_NET_PCMCIA=y
603# CONFIG_PCMCIA_3C589 is not set
604# CONFIG_PCMCIA_3C574 is not set
605# CONFIG_PCMCIA_FMVJ18X is not set
606CONFIG_PCMCIA_PCNET=m
607# CONFIG_PCMCIA_NMCLAN is not set
608# CONFIG_PCMCIA_SMC91C92 is not set
609# CONFIG_PCMCIA_XIRC2PS is not set
610# CONFIG_PCMCIA_AXNET is not set
611
612#
613# Wan interfaces
614#
615# CONFIG_WAN is not set
616CONFIG_PPP=m
617# CONFIG_PPP_MULTILINK is not set
618# CONFIG_PPP_FILTER is not set
619CONFIG_PPP_ASYNC=m
620# CONFIG_PPP_SYNC_TTY is not set
621CONFIG_PPP_DEFLATE=m
622CONFIG_PPP_BSDCOMP=m
623# CONFIG_PPP_MPPE is not set
624# CONFIG_PPPOE is not set
625# CONFIG_SLIP is not set
626CONFIG_SLHC=m
627# CONFIG_SHAPER is not set
628# CONFIG_NETCONSOLE is not set
629# CONFIG_NETPOLL is not set
630# CONFIG_NET_POLL_CONTROLLER is not set
631
632#
633# ISDN subsystem
634#
635# CONFIG_ISDN is not set
636
637#
638# Input device support
639#
640CONFIG_INPUT=y
641# CONFIG_INPUT_FF_MEMLESS is not set
642
643#
644# Userland interfaces
645#
646CONFIG_INPUT_MOUSEDEV=m
647# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
648CONFIG_INPUT_MOUSEDEV_SCREEN_X=240
649CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
650# CONFIG_INPUT_JOYDEV is not set
651# CONFIG_INPUT_TSDEV is not set
652CONFIG_INPUT_EVDEV=y
653# CONFIG_INPUT_EVBUG is not set
654CONFIG_INPUT_POWER=y
655
656#
657# Input Device Drivers
658#
659# CONFIG_INPUT_KEYBOARD is not set
660# CONFIG_INPUT_MOUSE is not set
661# CONFIG_INPUT_JOYSTICK is not set
662CONFIG_INPUT_TOUCHSCREEN=y
663# CONFIG_TOUCHSCREEN_GUNZE is not set
664# CONFIG_TOUCHSCREEN_ELO is not set
665# CONFIG_TOUCHSCREEN_MTOUCH is not set
666# CONFIG_TOUCHSCREEN_MK712 is not set
667# CONFIG_TOUCHSCREEN_PENMOUNT is not set
668# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
669# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
670# CONFIG_TOUCHSCREEN_UCB1400 is not set
671CONFIG_TOUCHSCREEN_TSC2101=y
672# CONFIG_INPUT_MISC is not set
673
674#
675# Hardware I/O ports
676#
677# CONFIG_SERIO is not set
678# CONFIG_GAMEPORT is not set
679
680#
681# Character devices
682#
683CONFIG_VT=y
684CONFIG_VT_CONSOLE=y
685CONFIG_HW_CONSOLE=y
686# CONFIG_VT_HW_CONSOLE_BINDING is not set
687# CONFIG_SERIAL_NONSTANDARD is not set
688
689#
690# Serial drivers
691#
692# CONFIG_SERIAL_8250 is not set
693
694#
695# Non-8250 serial port support
696#
697CONFIG_SERIAL_PXA=y
698CONFIG_SERIAL_PXA_CONSOLE=y
699CONFIG_SERIAL_CORE=y
700CONFIG_SERIAL_CORE_CONSOLE=y
701CONFIG_UNIX98_PTYS=y
702# CONFIG_LEGACY_PTYS is not set
703
704#
705# IPMI
706#
707# CONFIG_IPMI_HANDLER is not set
708
709#
710# Watchdog Cards
711#
712# CONFIG_WATCHDOG is not set
713CONFIG_HW_RANDOM=m
714# CONFIG_NVRAM is not set
715# CONFIG_DTLK is not set
716# CONFIG_R3964 is not set
717
718#
719# PCMCIA character devices
720#
721# CONFIG_SYNCLINK_CS is not set
722# CONFIG_CARDMAN_4000 is not set
723# CONFIG_CARDMAN_4040 is not set
724# CONFIG_RAW_DRIVER is not set
725
726#
727# TPM devices
728#
729# CONFIG_TCG_TPM is not set
730
731#
732# I2C support
733#
734# CONFIG_I2C is not set
735
736#
737# SPI support
738#
739# CONFIG_SPI is not set
740# CONFIG_SPI_MASTER is not set
741
742#
743# Dallas's 1-wire bus
744#
745# CONFIG_W1 is not set
746
747#
748# Hardware Monitoring support
749#
750# CONFIG_HWMON is not set
751# CONFIG_HWMON_VID is not set
752
753#
754# Misc devices
755#
756# CONFIG_TIFM_CORE is not set
757
758#
759# Multi-Function Devices
760#
761CONFIG_MFD_TSC2101=y
762
763#
764# LED devices
765#
766# CONFIG_NEW_LEDS is not set
767
768#
769# LED drivers
770#
771
772#
773# LED Triggers
774#
775
776#
777# Multimedia devices
778#
779CONFIG_VIDEO_DEV=m
780CONFIG_VIDEO_V4L1=y
781CONFIG_VIDEO_V4L1_COMPAT=y
782CONFIG_VIDEO_V4L2=y
783
784#
785# Digital Video Broadcasting Devices
786#
787# CONFIG_DVB is not set
788
789#
790# Graphics support
791#
792CONFIG_FIRMWARE_EDID=y
793CONFIG_FB=y
794CONFIG_FB_CFB_FILLRECT=y
795CONFIG_FB_CFB_COPYAREA=y
796CONFIG_FB_CFB_IMAGEBLIT=y
797# CONFIG_FB_MACMODES is not set
798# CONFIG_FB_BACKLIGHT is not set
799# CONFIG_FB_MODE_HELPERS is not set
800# CONFIG_FB_TILEBLITTING is not set
801# CONFIG_FB_S1D13XXX is not set
802CONFIG_FB_PXA=y
803CONFIG_FB_PXA_LCD_QVGA=y
804# CONFIG_FB_PXA_LCD_VGA is not set
805# CONFIG_FB_PXA_OVERLAY is not set
806# CONFIG_FB_PXA_PARAMETERS is not set
807# CONFIG_FB_MBX is not set
808# CONFIG_FB_VIRTUAL is not set
809
810#
811# Console display driver support
812#
813# CONFIG_VGA_CONSOLE is not set
814CONFIG_DUMMY_CONSOLE=y
815CONFIG_FRAMEBUFFER_CONSOLE=y
816# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
817# CONFIG_FONTS is not set
818CONFIG_FONT_8x8=y
819CONFIG_FONT_8x16=y
820
821#
822# Logo configuration
823#
824CONFIG_LOGO=y
825CONFIG_LOGO_LINUX_MONO=y
826CONFIG_LOGO_LINUX_VGA16=y
827# CONFIG_LOGO_LINUX_CLUT224 is not set
828CONFIG_LOGO_OHAND_CLUT224=y
829# CONFIG_LOGO_OZ240_CLUT224 is not set
830# CONFIG_LOGO_OZ480_CLUT224 is not set
831# CONFIG_LOGO_OZ640_CLUT224 is not set
832CONFIG_BACKLIGHT_LCD_SUPPORT=y
833CONFIG_BACKLIGHT_CLASS_DEVICE=y
834CONFIG_BACKLIGHT_DEVICE=y
835CONFIG_LCD_CLASS_DEVICE=y
836CONFIG_LCD_DEVICE=y
837CONFIG_BACKLIGHT_HX2750=y
838
839#
840# Sound
841#
842# CONFIG_SOUND is not set
843
844#
845# HID Devices
846#
847CONFIG_HID=y
848
849#
850# USB support
851#
852CONFIG_USB_ARCH_HAS_HCD=y
853CONFIG_USB_ARCH_HAS_OHCI=y
854# CONFIG_USB_ARCH_HAS_EHCI is not set
855# CONFIG_USB is not set
856
857#
858# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
859#
860
861#
862# USB Gadget Support
863#
864# CONFIG_USB_GADGET is not set
865
866#
867# MMC/SD Card support
868#
869CONFIG_MMC=y
870# CONFIG_MMC_DEBUG is not set
871CONFIG_MMC_BLOCK=y
872CONFIG_MMC_PXA=y
873# CONFIG_MMC_TIFM_SD is not set
874
875#
876# Real Time Clock
877#
878CONFIG_RTC_LIB=y
879CONFIG_RTC_CLASS=y
880CONFIG_RTC_HCTOSYS=y
881CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
882# CONFIG_RTC_DEBUG is not set
883
884#
885# RTC interfaces
886#
887CONFIG_RTC_INTF_SYSFS=y
888CONFIG_RTC_INTF_PROC=y
889CONFIG_RTC_INTF_DEV=y
890# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
891
892#
893# RTC drivers
894#
895# CONFIG_RTC_DRV_DS1553 is not set
896# CONFIG_RTC_DRV_DS1742 is not set
897# CONFIG_RTC_DRV_M48T86 is not set
898CONFIG_RTC_DRV_SA1100=y
899# CONFIG_RTC_DRV_TEST is not set
900# CONFIG_RTC_DRV_V3020 is not set
901
902#
903# File systems
904#
905CONFIG_EXT2_FS=y
906# CONFIG_EXT2_FS_XATTR is not set
907# CONFIG_EXT2_FS_XIP is not set
908# CONFIG_EXT3_FS is not set
909# CONFIG_EXT4DEV_FS is not set
910# CONFIG_REISERFS_FS is not set
911# CONFIG_JFS_FS is not set
912# CONFIG_FS_POSIX_ACL is not set
913# CONFIG_XFS_FS is not set
914# CONFIG_GFS2_FS is not set
915# CONFIG_OCFS2_FS is not set
916# CONFIG_MINIX_FS is not set
917# CONFIG_ROMFS_FS is not set
918CONFIG_INOTIFY=y
919CONFIG_INOTIFY_USER=y
920# CONFIG_QUOTA is not set
921CONFIG_DNOTIFY=y
922# CONFIG_AUTOFS_FS is not set
923# CONFIG_AUTOFS4_FS is not set
924# CONFIG_FUSE_FS is not set
925
926#
927# CD-ROM/DVD Filesystems
928#
929# CONFIG_ISO9660_FS is not set
930# CONFIG_UDF_FS is not set
931
932#
933# DOS/FAT/NT Filesystems
934#
935CONFIG_FAT_FS=y
936# CONFIG_MSDOS_FS is not set
937CONFIG_VFAT_FS=y
938CONFIG_FAT_DEFAULT_CODEPAGE=437
939CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
940# CONFIG_NTFS_FS is not set
941
942#
943# Pseudo filesystems
944#
945CONFIG_PROC_FS=y
946CONFIG_PROC_SYSCTL=y
947CONFIG_SYSFS=y
948CONFIG_TMPFS=y
949# CONFIG_TMPFS_POSIX_ACL is not set
950# CONFIG_HUGETLB_PAGE is not set
951CONFIG_RAMFS=y
952# CONFIG_CONFIGFS_FS is not set
953
954#
955# Miscellaneous filesystems
956#
957# CONFIG_ADFS_FS is not set
958# CONFIG_AFFS_FS is not set
959# CONFIG_HFS_FS is not set
960# CONFIG_HFSPLUS_FS is not set
961# CONFIG_BEFS_FS is not set
962# CONFIG_BFS_FS is not set
963# CONFIG_EFS_FS is not set
964CONFIG_JFFS2_FS=y
965CONFIG_JFFS2_FS_DEBUG=0
966CONFIG_JFFS2_FS_WRITEBUFFER=y
967# CONFIG_JFFS2_SUMMARY is not set
968# CONFIG_JFFS2_FS_XATTR is not set
969# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
970CONFIG_JFFS2_ZLIB=y
971CONFIG_JFFS2_RTIME=y
972# CONFIG_JFFS2_RUBIN is not set
973CONFIG_CRAMFS=y
974CONFIG_SQUASHFS=m
975# CONFIG_SQUASHFS_EMBEDDED is not set
976CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
977# CONFIG_SQUASHFS_VMALLOC is not set
978# CONFIG_VXFS_FS is not set
979# CONFIG_HPFS_FS is not set
980# CONFIG_QNX4FS_FS is not set
981# CONFIG_SYSV_FS is not set
982# CONFIG_UFS_FS is not set
983
984#
985# Network File Systems
986#
987# CONFIG_NFS_FS is not set
988# CONFIG_NFSD is not set
989# CONFIG_SMB_FS is not set
990# CONFIG_CIFS is not set
991# CONFIG_NCP_FS is not set
992# CONFIG_CODA_FS is not set
993# CONFIG_AFS_FS is not set
994# CONFIG_9P_FS is not set
995
996#
997# Partition Types
998#
999CONFIG_PARTITION_ADVANCED=y
1000# CONFIG_ACORN_PARTITION is not set
1001# CONFIG_OSF_PARTITION is not set
1002# CONFIG_AMIGA_PARTITION is not set
1003# CONFIG_ATARI_PARTITION is not set
1004# CONFIG_MAC_PARTITION is not set
1005CONFIG_MSDOS_PARTITION=y
1006# CONFIG_BSD_DISKLABEL is not set
1007# CONFIG_MINIX_SUBPARTITION is not set
1008# CONFIG_SOLARIS_X86_PARTITION is not set
1009# CONFIG_UNIXWARE_DISKLABEL is not set
1010# CONFIG_LDM_PARTITION is not set
1011# CONFIG_SGI_PARTITION is not set
1012# CONFIG_ULTRIX_PARTITION is not set
1013# CONFIG_SUN_PARTITION is not set
1014# CONFIG_KARMA_PARTITION is not set
1015# CONFIG_EFI_PARTITION is not set
1016
1017#
1018# Native Language Support
1019#
1020CONFIG_NLS=y
1021CONFIG_NLS_DEFAULT="cp437"
1022CONFIG_NLS_CODEPAGE_437=y
1023# CONFIG_NLS_CODEPAGE_737 is not set
1024# CONFIG_NLS_CODEPAGE_775 is not set
1025# CONFIG_NLS_CODEPAGE_850 is not set
1026# CONFIG_NLS_CODEPAGE_852 is not set
1027# CONFIG_NLS_CODEPAGE_855 is not set
1028# CONFIG_NLS_CODEPAGE_857 is not set
1029# CONFIG_NLS_CODEPAGE_860 is not set
1030# CONFIG_NLS_CODEPAGE_861 is not set
1031# CONFIG_NLS_CODEPAGE_862 is not set
1032# CONFIG_NLS_CODEPAGE_863 is not set
1033# CONFIG_NLS_CODEPAGE_864 is not set
1034# CONFIG_NLS_CODEPAGE_865 is not set
1035# CONFIG_NLS_CODEPAGE_866 is not set
1036# CONFIG_NLS_CODEPAGE_869 is not set
1037# CONFIG_NLS_CODEPAGE_936 is not set
1038# CONFIG_NLS_CODEPAGE_950 is not set
1039# CONFIG_NLS_CODEPAGE_932 is not set
1040# CONFIG_NLS_CODEPAGE_949 is not set
1041# CONFIG_NLS_CODEPAGE_874 is not set
1042# CONFIG_NLS_ISO8859_8 is not set
1043# CONFIG_NLS_CODEPAGE_1250 is not set
1044# CONFIG_NLS_CODEPAGE_1251 is not set
1045# CONFIG_NLS_ASCII is not set
1046CONFIG_NLS_ISO8859_1=y
1047# CONFIG_NLS_ISO8859_2 is not set
1048# CONFIG_NLS_ISO8859_3 is not set
1049# CONFIG_NLS_ISO8859_4 is not set
1050# CONFIG_NLS_ISO8859_5 is not set
1051# CONFIG_NLS_ISO8859_6 is not set
1052# CONFIG_NLS_ISO8859_7 is not set
1053# CONFIG_NLS_ISO8859_9 is not set
1054# CONFIG_NLS_ISO8859_13 is not set
1055# CONFIG_NLS_ISO8859_14 is not set
1056# CONFIG_NLS_ISO8859_15 is not set
1057# CONFIG_NLS_KOI8_R is not set
1058# CONFIG_NLS_KOI8_U is not set
1059CONFIG_NLS_UTF8=y
1060
1061#
1062# Distributed Lock Manager
1063#
1064# CONFIG_DLM is not set
1065
1066#
1067# Profiling support
1068#
1069# CONFIG_PROFILING is not set
1070
1071#
1072# Kernel hacking
1073#
1074# CONFIG_PRINTK_TIME is not set
1075CONFIG_ENABLE_MUST_CHECK=y
1076# CONFIG_MAGIC_SYSRQ is not set
1077# CONFIG_UNUSED_SYMBOLS is not set
1078# CONFIG_DEBUG_FS is not set
1079# CONFIG_HEADERS_CHECK is not set
1080CONFIG_DEBUG_KERNEL=y
1081CONFIG_LOG_BUF_SHIFT=14
1082CONFIG_DETECT_SOFTLOCKUP=y
1083# CONFIG_SCHEDSTATS is not set
1084# CONFIG_DEBUG_SLAB is not set
1085CONFIG_DEBUG_PREEMPT=y
1086# CONFIG_DEBUG_RT_MUTEXES is not set
1087# CONFIG_RT_MUTEX_TESTER is not set
1088# CONFIG_DEBUG_SPINLOCK is not set
1089# CONFIG_DEBUG_MUTEXES is not set
1090# CONFIG_DEBUG_RWSEMS is not set
1091# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1092# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1093# CONFIG_DEBUG_KOBJECT is not set
1094# CONFIG_DEBUG_BUGVERBOSE is not set
1095# CONFIG_DEBUG_INFO is not set
1096# CONFIG_DEBUG_VM is not set
1097# CONFIG_DEBUG_LIST is not set
1098CONFIG_FRAME_POINTER=y
1099CONFIG_FORCED_INLINING=y
1100# CONFIG_RCU_TORTURE_TEST is not set
1101# CONFIG_DEBUG_USER is not set
1102CONFIG_DEBUG_ERRORS=y
1103CONFIG_DEBUG_LL=y
1104# CONFIG_DEBUG_ICEDCC is not set
1105
1106#
1107# Security options
1108#
1109# CONFIG_KEYS is not set
1110# CONFIG_SECURITY is not set
1111
1112#
1113# Cryptographic options
1114#
1115CONFIG_CRYPTO=y
1116CONFIG_CRYPTO_ALGAPI=y
1117CONFIG_CRYPTO_BLKCIPHER=m
1118CONFIG_CRYPTO_MANAGER=m
1119# CONFIG_CRYPTO_HMAC is not set
1120# CONFIG_CRYPTO_XCBC is not set
1121# CONFIG_CRYPTO_NULL is not set
1122# CONFIG_CRYPTO_MD4 is not set
1123# CONFIG_CRYPTO_MD5 is not set
1124# CONFIG_CRYPTO_SHA1 is not set
1125# CONFIG_CRYPTO_SHA256 is not set
1126# CONFIG_CRYPTO_SHA512 is not set
1127# CONFIG_CRYPTO_WP512 is not set
1128# CONFIG_CRYPTO_TGR192 is not set
1129# CONFIG_CRYPTO_GF128MUL is not set
1130CONFIG_CRYPTO_ECB=m
1131CONFIG_CRYPTO_CBC=m
1132# CONFIG_CRYPTO_LRW is not set
1133# CONFIG_CRYPTO_DES is not set
1134# CONFIG_CRYPTO_BLOWFISH is not set
1135# CONFIG_CRYPTO_TWOFISH is not set
1136# CONFIG_CRYPTO_SERPENT is not set
1137# CONFIG_CRYPTO_AES is not set
1138# CONFIG_CRYPTO_CAST5 is not set
1139# CONFIG_CRYPTO_CAST6 is not set
1140# CONFIG_CRYPTO_TEA is not set
1141CONFIG_CRYPTO_ARC4=m
1142# CONFIG_CRYPTO_KHAZAD is not set
1143# CONFIG_CRYPTO_ANUBIS is not set
1144CONFIG_CRYPTO_DEFLATE=y
1145# CONFIG_CRYPTO_MICHAEL_MIC is not set
1146CONFIG_CRYPTO_CRC32C=y
1147# CONFIG_CRYPTO_TEST is not set
1148
1149#
1150# Hardware crypto devices
1151#
1152
1153#
1154# Library routines
1155#
1156CONFIG_BITREVERSE=y
1157CONFIG_CRC_CCITT=m
1158# CONFIG_CRC16 is not set
1159CONFIG_CRC32=y
1160CONFIG_LIBCRC32C=y
1161CONFIG_ZLIB_INFLATE=y
1162CONFIG_ZLIB_DEFLATE=y
1163CONFIG_PLIST=y
1164CONFIG_IOMAP_COPY=y
1165# CONFIG_SHARPSL_RC is not set
diff --git a/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-poodle b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-poodle
new file mode 100644
index 0000000000..13616c08f1
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-poodle
@@ -0,0 +1,1656 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.17
4# Mon Jul 10 23:38:56 2006
5#
6CONFIG_ARM=y
7CONFIG_MMU=y
8CONFIG_RWSEM_GENERIC_SPINLOCK=y
9CONFIG_GENERIC_HWEIGHT=y
10CONFIG_GENERIC_CALIBRATE_DELAY=y
11CONFIG_ARCH_MTD_XIP=y
12CONFIG_VECTORS_BASE=0xffff0000
13
14#
15# Code maturity level options
16#
17CONFIG_EXPERIMENTAL=y
18CONFIG_BROKEN_ON_SMP=y
19CONFIG_LOCK_KERNEL=y
20CONFIG_INIT_ENV_ARG_LIMIT=32
21
22#
23# General setup
24#
25CONFIG_LOCALVERSION=""
26CONFIG_LOCALVERSION_AUTO=y
27CONFIG_SWAP=y
28CONFIG_SYSVIPC=y
29# CONFIG_POSIX_MQUEUE is not set
30CONFIG_BSD_PROCESS_ACCT=y
31# CONFIG_BSD_PROCESS_ACCT_V3 is not set
32CONFIG_SYSCTL=y
33# CONFIG_AUDIT is not set
34# CONFIG_IKCONFIG is not set
35# CONFIG_RELAY is not set
36CONFIG_INITRAMFS_SOURCE=""
37CONFIG_UID16=y
38CONFIG_CC_OPTIMIZE_FOR_SIZE=y
39CONFIG_EMBEDDED=y
40CONFIG_KALLSYMS=y
41# CONFIG_KALLSYMS_ALL is not set
42# CONFIG_KALLSYMS_EXTRA_PASS is not set
43CONFIG_HOTPLUG=y
44CONFIG_PRINTK=y
45CONFIG_BUG=y
46CONFIG_ELF_CORE=y
47CONFIG_BASE_FULL=y
48CONFIG_FUTEX=y
49CONFIG_EPOLL=y
50CONFIG_SHMEM=y
51CONFIG_SLAB=y
52# CONFIG_TINY_SHMEM is not set
53CONFIG_BASE_SMALL=0
54# CONFIG_SLOB is not set
55
56#
57# Loadable module support
58#
59CONFIG_MODULES=y
60CONFIG_MODULE_UNLOAD=y
61CONFIG_MODULE_FORCE_UNLOAD=y
62# CONFIG_MODVERSIONS is not set
63# CONFIG_MODULE_SRCVERSION_ALL is not set
64CONFIG_KMOD=y
65
66#
67# Block layer
68#
69# CONFIG_BLK_DEV_IO_TRACE is not set
70
71#
72# IO Schedulers
73#
74CONFIG_IOSCHED_NOOP=y
75CONFIG_IOSCHED_AS=y
76CONFIG_IOSCHED_DEADLINE=m
77CONFIG_IOSCHED_CFQ=m
78CONFIG_DEFAULT_AS=y
79# CONFIG_DEFAULT_DEADLINE is not set
80# CONFIG_DEFAULT_CFQ is not set
81# CONFIG_DEFAULT_NOOP is not set
82CONFIG_DEFAULT_IOSCHED="anticipatory"
83
84#
85# System Type
86#
87# CONFIG_ARCH_CLPS7500 is not set
88# CONFIG_ARCH_CLPS711X is not set
89# CONFIG_ARCH_CO285 is not set
90# CONFIG_ARCH_EBSA110 is not set
91# CONFIG_ARCH_EP93XX is not set
92# CONFIG_ARCH_FOOTBRIDGE is not set
93# CONFIG_ARCH_INTEGRATOR is not set
94# CONFIG_ARCH_IOP3XX is not set
95# CONFIG_ARCH_IXP4XX is not set
96# CONFIG_ARCH_IXP2000 is not set
97# CONFIG_ARCH_IXP23XX is not set
98# CONFIG_ARCH_L7200 is not set
99CONFIG_ARCH_PXA=y
100# CONFIG_ARCH_RPC is not set
101# CONFIG_ARCH_SA1100 is not set
102# CONFIG_ARCH_S3C2410 is not set
103# CONFIG_ARCH_SHARK is not set
104# CONFIG_ARCH_LH7A40X is not set
105# CONFIG_ARCH_OMAP is not set
106# CONFIG_ARCH_VERSATILE is not set
107# CONFIG_ARCH_REALVIEW is not set
108# CONFIG_ARCH_IMX is not set
109# CONFIG_ARCH_H720X is not set
110# CONFIG_ARCH_AAEC2000 is not set
111# CONFIG_ARCH_AT91RM9200 is not set
112
113#
114# Intel PXA2xx Implementations
115#
116# CONFIG_ARCH_LUBBOCK is not set
117# CONFIG_MACH_LOGICPD_PXA270 is not set
118# CONFIG_MACH_MAINSTONE is not set
119# CONFIG_ARCH_PXA_IDP is not set
120CONFIG_PXA_SHARPSL=y
121# CONFIG_MACH_HX2750 is not set
122CONFIG_PXA_SHARPSL_25x=y
123# CONFIG_PXA_SHARPSL_27x is not set
124CONFIG_MACH_POODLE=y
125# CONFIG_MACH_CORGI is not set
126# CONFIG_MACH_SHEPHERD is not set
127# CONFIG_MACH_HUSKY is not set
128# CONFIG_MACH_TOSA is not set
129CONFIG_PXA25x=y
130# CONFIG_PXA_KEYS is not set
131CONFIG_PXA_SSP=y
132
133#
134# Processor Type
135#
136CONFIG_CPU_32=y
137CONFIG_CPU_XSCALE=y
138CONFIG_CPU_32v5=y
139CONFIG_CPU_ABRT_EV5T=y
140CONFIG_CPU_CACHE_VIVT=y
141CONFIG_CPU_TLB_V4WBI=y
142
143#
144# Processor Features
145#
146CONFIG_ARM_THUMB=y
147CONFIG_XSCALE_PMU=y
148CONFIG_KEXEC=y
149CONFIG_SHARP_LOCOMO=y
150CONFIG_SHARP_PARAM=y
151CONFIG_SHARPSL_PM=y
152CONFIG_SHARP_SCOOP=y
153
154#
155# Bus support
156#
157
158#
159# PCCARD (PCMCIA/CardBus) support
160#
161CONFIG_PCCARD=y
162# CONFIG_PCMCIA_DEBUG is not set
163CONFIG_PCMCIA=y
164CONFIG_PCMCIA_LOAD_CIS=y
165CONFIG_PCMCIA_IOCTL=y
166
167#
168# PC-card bridges
169#
170CONFIG_PCMCIA_PXA2XX=y
171
172#
173# Kernel Features
174#
175CONFIG_PREEMPT=y
176CONFIG_NO_IDLE_HZ=y
177CONFIG_HZ=100
178# CONFIG_AEABI is not set
179# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
180CONFIG_SELECT_MEMORY_MODEL=y
181CONFIG_FLATMEM_MANUAL=y
182# CONFIG_DISCONTIGMEM_MANUAL is not set
183# CONFIG_SPARSEMEM_MANUAL is not set
184CONFIG_FLATMEM=y
185CONFIG_FLAT_NODE_MEM_MAP=y
186# CONFIG_SPARSEMEM_STATIC is not set
187CONFIG_SPLIT_PTLOCK_CPUS=4096
188CONFIG_ALIGNMENT_TRAP=y
189
190#
191# Boot options
192#
193CONFIG_ZBOOT_ROM_TEXT=0x0
194CONFIG_ZBOOT_ROM_BSS=0x0
195CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 noinitrd root=/dev/mtdblock2 rootfstype=jffs2 fbcon=rotate:1 dyntick=enable debug"
196# CONFIG_XIP_KERNEL is not set
197
198#
199# CPU Frequency scaling
200#
201CONFIG_CPU_FREQ=y
202CONFIG_CPU_FREQ_TABLE=y
203CONFIG_CPU_FREQ_DEBUG=y
204CONFIG_CPU_FREQ_STAT=y
205# CONFIG_CPU_FREQ_STAT_DETAILS is not set
206CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
207# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
208CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
209CONFIG_CPU_FREQ_GOV_POWERSAVE=y
210CONFIG_CPU_FREQ_GOV_USERSPACE=y
211CONFIG_CPU_FREQ_GOV_ONDEMAND=y
212CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
213CONFIG_CPU_FREQ_PXA25x=y
214
215#
216# Floating point emulation
217#
218
219#
220# At least one emulation must be selected
221#
222CONFIG_FPE_NWFPE=y
223# CONFIG_FPE_NWFPE_XP is not set
224# CONFIG_FPE_FASTFPE is not set
225
226#
227# Userspace binary formats
228#
229CONFIG_BINFMT_ELF=y
230CONFIG_BINFMT_AOUT=m
231CONFIG_BINFMT_MISC=m
232# CONFIG_ARTHUR is not set
233
234#
235# Power management options
236#
237CONFIG_PM=y
238# CONFIG_PM_LEGACY is not set
239# CONFIG_PM_DEBUG is not set
240CONFIG_APM=y
241
242#
243# Networking
244#
245CONFIG_NET=y
246
247#
248# Networking options
249#
250# CONFIG_NETDEBUG is not set
251CONFIG_PACKET=y
252CONFIG_PACKET_MMAP=y
253CONFIG_UNIX=y
254CONFIG_XFRM=y
255# CONFIG_XFRM_USER is not set
256# CONFIG_NET_KEY is not set
257CONFIG_INET=y
258# CONFIG_IP_MULTICAST is not set
259# CONFIG_IP_ADVANCED_ROUTER is not set
260CONFIG_IP_FIB_HASH=y
261# CONFIG_IP_PNP is not set
262# CONFIG_NET_IPIP is not set
263# CONFIG_NET_IPGRE is not set
264# CONFIG_ARPD is not set
265CONFIG_SYN_COOKIES=y
266# CONFIG_INET_AH is not set
267# CONFIG_INET_ESP is not set
268# CONFIG_INET_IPCOMP is not set
269# CONFIG_INET_XFRM_TUNNEL is not set
270# CONFIG_INET_TUNNEL is not set
271CONFIG_INET_DIAG=m
272CONFIG_INET_TCP_DIAG=m
273# CONFIG_TCP_CONG_ADVANCED is not set
274CONFIG_TCP_CONG_BIC=y
275
276#
277# IP: Virtual Server Configuration
278#
279# CONFIG_IP_VS is not set
280CONFIG_IPV6=m
281# CONFIG_IPV6_PRIVACY is not set
282# CONFIG_IPV6_ROUTER_PREF is not set
283CONFIG_INET6_AH=m
284CONFIG_INET6_ESP=m
285CONFIG_INET6_IPCOMP=m
286CONFIG_INET6_XFRM_TUNNEL=m
287CONFIG_INET6_TUNNEL=m
288CONFIG_IPV6_TUNNEL=m
289CONFIG_NETFILTER=y
290# CONFIG_NETFILTER_DEBUG is not set
291
292#
293# Core Netfilter Configuration
294#
295# CONFIG_NETFILTER_NETLINK is not set
296# CONFIG_NETFILTER_XTABLES is not set
297
298#
299# IP: Netfilter Configuration
300#
301CONFIG_IP_NF_CONNTRACK=m
302# CONFIG_IP_NF_CT_ACCT is not set
303# CONFIG_IP_NF_CONNTRACK_MARK is not set
304# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
305CONFIG_IP_NF_CT_PROTO_SCTP=m
306CONFIG_IP_NF_FTP=m
307CONFIG_IP_NF_IRC=m
308# CONFIG_IP_NF_NETBIOS_NS is not set
309CONFIG_IP_NF_TFTP=m
310CONFIG_IP_NF_AMANDA=m
311# CONFIG_IP_NF_PPTP is not set
312# CONFIG_IP_NF_H323 is not set
313CONFIG_IP_NF_QUEUE=m
314
315#
316# IPv6: Netfilter Configuration (EXPERIMENTAL)
317#
318# CONFIG_IP6_NF_QUEUE is not set
319
320#
321# DCCP Configuration (EXPERIMENTAL)
322#
323# CONFIG_IP_DCCP is not set
324
325#
326# SCTP Configuration (EXPERIMENTAL)
327#
328# CONFIG_IP_SCTP is not set
329
330#
331# TIPC Configuration (EXPERIMENTAL)
332#
333# CONFIG_TIPC is not set
334# CONFIG_ATM is not set
335# CONFIG_BRIDGE is not set
336# CONFIG_VLAN_8021Q is not set
337# CONFIG_DECNET is not set
338# CONFIG_LLC2 is not set
339# CONFIG_IPX is not set
340# CONFIG_ATALK is not set
341# CONFIG_X25 is not set
342# CONFIG_LAPB is not set
343# CONFIG_NET_DIVERT is not set
344# CONFIG_ECONET is not set
345# CONFIG_WAN_ROUTER is not set
346
347#
348# QoS and/or fair queueing
349#
350# CONFIG_NET_SCHED is not set
351
352#
353# Network testing
354#
355# CONFIG_NET_PKTGEN is not set
356# CONFIG_HAMRADIO is not set
357CONFIG_IRDA=m
358
359#
360# IrDA protocols
361#
362CONFIG_IRLAN=m
363CONFIG_IRNET=m
364CONFIG_IRCOMM=m
365# CONFIG_IRDA_ULTRA is not set
366
367#
368# IrDA options
369#
370# CONFIG_IRDA_CACHE_LAST_LSAP is not set
371# CONFIG_IRDA_FAST_RR is not set
372# CONFIG_IRDA_DEBUG is not set
373
374#
375# Infrared-port device drivers
376#
377
378#
379# SIR device drivers
380#
381# CONFIG_IRTTY_SIR is not set
382
383#
384# Dongle support
385#
386
387#
388# Old SIR device drivers
389#
390# CONFIG_IRPORT_SIR is not set
391
392#
393# Old Serial dongle support
394#
395
396#
397# FIR device drivers
398#
399# CONFIG_USB_IRDA is not set
400# CONFIG_SIGMATEL_FIR is not set
401CONFIG_PXA_FICP=m
402CONFIG_BT=m
403CONFIG_BT_L2CAP=m
404CONFIG_BT_SCO=m
405CONFIG_BT_RFCOMM=m
406CONFIG_BT_RFCOMM_TTY=y
407CONFIG_BT_BNEP=m
408CONFIG_BT_BNEP_MC_FILTER=y
409CONFIG_BT_BNEP_PROTO_FILTER=y
410CONFIG_BT_HIDP=m
411
412#
413# Bluetooth device drivers
414#
415CONFIG_BT_HCIUSB=m
416# CONFIG_BT_HCIUSB_SCO is not set
417CONFIG_BT_HCIUART=m
418CONFIG_BT_HCIUART_H4=y
419CONFIG_BT_HCIUART_BCSP=y
420CONFIG_BT_HCIBCM203X=m
421CONFIG_BT_HCIBPA10X=m
422CONFIG_BT_HCIBFUSB=m
423CONFIG_BT_HCIDTL1=m
424CONFIG_BT_HCIBT3C=m
425CONFIG_BT_HCIBLUECARD=m
426CONFIG_BT_HCIBTUART=m
427CONFIG_BT_HCIVHCI=m
428CONFIG_IEEE80211=m
429# CONFIG_IEEE80211_DEBUG is not set
430CONFIG_IEEE80211_CRYPT_WEP=m
431CONFIG_IEEE80211_CRYPT_CCMP=m
432CONFIG_IEEE80211_CRYPT_TKIP=m
433# CONFIG_IEEE80211_SOFTMAC is not set
434CONFIG_WIRELESS_EXT=y
435
436#
437# Device Drivers
438#
439
440#
441# Generic Driver Options
442#
443CONFIG_STANDALONE=y
444CONFIG_PREVENT_FIRMWARE_BUILD=y
445CONFIG_FW_LOADER=y
446# CONFIG_DEBUG_DRIVER is not set
447
448#
449# Connector - unified userspace <-> kernelspace linker
450#
451# CONFIG_CONNECTOR is not set
452
453#
454# Memory Technology Devices (MTD)
455#
456CONFIG_MTD=y
457# CONFIG_MTD_DEBUG is not set
458# CONFIG_MTD_CONCAT is not set
459CONFIG_MTD_PARTITIONS=y
460# CONFIG_MTD_REDBOOT_PARTS is not set
461CONFIG_MTD_CMDLINE_PARTS=y
462# CONFIG_MTD_AFS_PARTS is not set
463
464#
465# User Modules And Translation Layers
466#
467CONFIG_MTD_CHAR=y
468CONFIG_MTD_BLOCK=y
469# CONFIG_FTL is not set
470# CONFIG_NFTL is not set
471# CONFIG_INFTL is not set
472# CONFIG_RFD_FTL is not set
473
474#
475# RAM/ROM/Flash chip drivers
476#
477# CONFIG_MTD_CFI is not set
478# CONFIG_MTD_JEDECPROBE is not set
479CONFIG_MTD_MAP_BANK_WIDTH_1=y
480CONFIG_MTD_MAP_BANK_WIDTH_2=y
481CONFIG_MTD_MAP_BANK_WIDTH_4=y
482# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
483# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
484# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
485CONFIG_MTD_CFI_I1=y
486CONFIG_MTD_CFI_I2=y
487# CONFIG_MTD_CFI_I4 is not set
488# CONFIG_MTD_CFI_I8 is not set
489# CONFIG_MTD_RAM is not set
490CONFIG_MTD_ROM=y
491# CONFIG_MTD_ABSENT is not set
492# CONFIG_MTD_OBSOLETE_CHIPS is not set
493
494#
495# Mapping drivers for chip access
496#
497CONFIG_MTD_COMPLEX_MAPPINGS=y
498CONFIG_MTD_SHARP_SL=y
499# CONFIG_MTD_PLATRAM is not set
500
501#
502# Self-contained MTD device drivers
503#
504# CONFIG_MTD_SLRAM is not set
505# CONFIG_MTD_PHRAM is not set
506# CONFIG_MTD_MTDRAM is not set
507# CONFIG_MTD_BLOCK2MTD is not set
508
509#
510# Disk-On-Chip Device Drivers
511#
512# CONFIG_MTD_DOC2000 is not set
513# CONFIG_MTD_DOC2001 is not set
514# CONFIG_MTD_DOC2001PLUS is not set
515
516#
517# NAND Flash Device Drivers
518#
519CONFIG_MTD_NAND=y
520CONFIG_MTD_NAND_VERIFY_WRITE=y
521# CONFIG_MTD_NAND_H1900 is not set
522CONFIG_MTD_NAND_IDS=y
523# CONFIG_MTD_NAND_DISKONCHIP is not set
524CONFIG_MTD_NAND_SHARPSL=y
525# CONFIG_MTD_NAND_NANDSIM is not set
526
527#
528# OneNAND Flash Device Drivers
529#
530# CONFIG_MTD_ONENAND is not set
531
532#
533# Parallel port support
534#
535# CONFIG_PARPORT is not set
536
537#
538# Plug and Play support
539#
540
541#
542# Block devices
543#
544# CONFIG_BLK_DEV_COW_COMMON is not set
545CONFIG_BLK_DEV_LOOP=y
546# CONFIG_BLK_DEV_CRYPTOLOOP is not set
547# CONFIG_BLK_DEV_NBD is not set
548# CONFIG_BLK_DEV_UB is not set
549# CONFIG_BLK_DEV_RAM is not set
550# CONFIG_BLK_DEV_INITRD is not set
551# CONFIG_CDROM_PKTCDVD is not set
552# CONFIG_ATA_OVER_ETH is not set
553
554#
555# ATA/ATAPI/MFM/RLL support
556#
557CONFIG_IDE=y
558CONFIG_BLK_DEV_IDE=y
559
560#
561# Please see Documentation/ide.txt for help/info on IDE drives
562#
563# CONFIG_BLK_DEV_IDE_SATA is not set
564CONFIG_BLK_DEV_IDEDISK=y
565# CONFIG_IDEDISK_MULTI_MODE is not set
566CONFIG_BLK_DEV_IDECS=y
567# CONFIG_BLK_DEV_IDECD is not set
568# CONFIG_BLK_DEV_IDETAPE is not set
569# CONFIG_BLK_DEV_IDEFLOPPY is not set
570# CONFIG_BLK_DEV_IDESCSI is not set
571# CONFIG_IDE_TASK_IOCTL is not set
572
573#
574# IDE chipset support/bugfixes
575#
576CONFIG_IDE_GENERIC=y
577# CONFIG_IDE_ARM is not set
578# CONFIG_BLK_DEV_IDEDMA is not set
579# CONFIG_IDEDMA_AUTO is not set
580# CONFIG_BLK_DEV_HD is not set
581
582#
583# SCSI device support
584#
585# CONFIG_RAID_ATTRS is not set
586CONFIG_SCSI=m
587CONFIG_SCSI_PROC_FS=y
588
589#
590# SCSI support type (disk, tape, CD-ROM)
591#
592CONFIG_BLK_DEV_SD=m
593CONFIG_CHR_DEV_ST=m
594CONFIG_CHR_DEV_OSST=m
595CONFIG_BLK_DEV_SR=m
596# CONFIG_BLK_DEV_SR_VENDOR is not set
597CONFIG_CHR_DEV_SG=m
598# CONFIG_CHR_DEV_SCH is not set
599
600#
601# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
602#
603CONFIG_SCSI_MULTI_LUN=y
604# CONFIG_SCSI_CONSTANTS is not set
605# CONFIG_SCSI_LOGGING is not set
606
607#
608# SCSI Transport Attributes
609#
610# CONFIG_SCSI_SPI_ATTRS is not set
611# CONFIG_SCSI_FC_ATTRS is not set
612# CONFIG_SCSI_ISCSI_ATTRS is not set
613# CONFIG_SCSI_SAS_ATTRS is not set
614
615#
616# SCSI low-level drivers
617#
618# CONFIG_ISCSI_TCP is not set
619# CONFIG_SCSI_SATA is not set
620# CONFIG_SCSI_DEBUG is not set
621
622#
623# PCMCIA SCSI adapter support
624#
625# CONFIG_PCMCIA_AHA152X is not set
626# CONFIG_PCMCIA_FDOMAIN is not set
627# CONFIG_PCMCIA_NINJA_SCSI is not set
628# CONFIG_PCMCIA_QLOGIC is not set
629# CONFIG_PCMCIA_SYM53C500 is not set
630
631#
632# Multi-device support (RAID and LVM)
633#
634CONFIG_MD=y
635CONFIG_BLK_DEV_DM=m
636CONFIG_DM_CRYPT=m
637CONFIG_DM_SNAPSHOT=m
638CONFIG_DM_MIRROR=m
639CONFIG_DM_ZERO=m
640CONFIG_DM_MULTIPATH=m
641CONFIG_DM_MULTIPATH_EMC=m
642
643#
644# Fusion MPT device support
645#
646# CONFIG_FUSION is not set
647
648#
649# IEEE 1394 (FireWire) support
650#
651
652#
653# I2O device support
654#
655
656#
657# Network device support
658#
659CONFIG_NETDEVICES=y
660# CONFIG_DUMMY is not set
661# CONFIG_BONDING is not set
662# CONFIG_EQUALIZER is not set
663CONFIG_TUN=m
664
665#
666# PHY device support
667#
668# CONFIG_PHYLIB is not set
669
670#
671# Ethernet (10 or 100Mbit)
672#
673CONFIG_NET_ETHERNET=y
674CONFIG_MII=m
675# CONFIG_SMC91X is not set
676# CONFIG_DM9000 is not set
677
678#
679# Ethernet (1000 Mbit)
680#
681
682#
683# Ethernet (10000 Mbit)
684#
685
686#
687# Token Ring devices
688#
689
690#
691# Wireless LAN (non-hamradio)
692#
693CONFIG_NET_RADIO=y
694# CONFIG_NET_WIRELESS_RTNETLINK is not set
695
696#
697# Obsolete Wireless cards support (pre-802.11)
698#
699# CONFIG_STRIP is not set
700# CONFIG_PCMCIA_WAVELAN is not set
701# CONFIG_PCMCIA_NETWAVE is not set
702
703#
704# Wireless 802.11 Frequency Hopping cards support
705#
706# CONFIG_PCMCIA_RAYCS is not set
707
708#
709# Wireless 802.11b ISA/PCI cards support
710#
711CONFIG_HERMES=m
712# CONFIG_ATMEL is not set
713
714#
715# Wireless 802.11b Pcmcia/Cardbus cards support
716#
717CONFIG_PCMCIA_HERMES=m
718CONFIG_PCMCIA_SPECTRUM=m
719# CONFIG_AIRO_CS is not set
720# CONFIG_PCMCIA_WL3501 is not set
721CONFIG_HOSTAP=m
722CONFIG_HOSTAP_FIRMWARE=y
723# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
724CONFIG_HOSTAP_CS=m
725CONFIG_NET_WIRELESS=y
726
727#
728# PCMCIA network device support
729#
730CONFIG_NET_PCMCIA=y
731# CONFIG_PCMCIA_3C589 is not set
732# CONFIG_PCMCIA_3C574 is not set
733# CONFIG_PCMCIA_FMVJ18X is not set
734CONFIG_PCMCIA_PCNET=m
735# CONFIG_PCMCIA_NMCLAN is not set
736# CONFIG_PCMCIA_SMC91C92 is not set
737# CONFIG_PCMCIA_XIRC2PS is not set
738# CONFIG_PCMCIA_AXNET is not set
739
740#
741# Wan interfaces
742#
743# CONFIG_WAN is not set
744CONFIG_PPP=m
745# CONFIG_PPP_MULTILINK is not set
746# CONFIG_PPP_FILTER is not set
747CONFIG_PPP_ASYNC=m
748# CONFIG_PPP_SYNC_TTY is not set
749CONFIG_PPP_DEFLATE=m
750CONFIG_PPP_BSDCOMP=m
751# CONFIG_PPP_MPPE is not set
752# CONFIG_PPPOE is not set
753# CONFIG_SLIP is not set
754# CONFIG_SHAPER is not set
755# CONFIG_NETCONSOLE is not set
756# CONFIG_NETPOLL is not set
757# CONFIG_NET_POLL_CONTROLLER is not set
758
759#
760# ISDN subsystem
761#
762# CONFIG_ISDN is not set
763
764#
765# Input device support
766#
767CONFIG_INPUT=y
768
769#
770# Userland interfaces
771#
772CONFIG_INPUT_MOUSEDEV=m
773# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
774CONFIG_INPUT_MOUSEDEV_SCREEN_X=240
775CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
776# CONFIG_INPUT_JOYDEV is not set
777# CONFIG_INPUT_TSDEV is not set
778CONFIG_INPUT_EVDEV=y
779# CONFIG_INPUT_EVBUG is not set
780CONFIG_INPUT_POWER=y
781
782#
783# Input Device Drivers
784#
785CONFIG_INPUT_KEYBOARD=y
786# CONFIG_KEYBOARD_ATKBD is not set
787# CONFIG_KEYBOARD_SUNKBD is not set
788# CONFIG_KEYBOARD_LKKBD is not set
789CONFIG_KEYBOARD_LOCOMO=y
790# CONFIG_KEYBOARD_XTKBD is not set
791# CONFIG_KEYBOARD_NEWTON is not set
792# CONFIG_KEYBOARD_CORGI is not set
793# CONFIG_KEYBOARD_SPITZ is not set
794# CONFIG_INPUT_MOUSE is not set
795# CONFIG_INPUT_JOYSTICK is not set
796CONFIG_INPUT_TOUCHSCREEN=y
797CONFIG_TOUCHSCREEN_CORGI=y
798# CONFIG_TOUCHSCREEN_GUNZE is not set
799# CONFIG_TOUCHSCREEN_ELO is not set
800# CONFIG_TOUCHSCREEN_MTOUCH is not set
801# CONFIG_TOUCHSCREEN_MK712 is not set
802CONFIG_INPUT_MISC=y
803CONFIG_INPUT_UINPUT=m
804
805#
806# Hardware I/O ports
807#
808# CONFIG_SERIO is not set
809# CONFIG_GAMEPORT is not set
810
811#
812# Character devices
813#
814CONFIG_VT=y
815CONFIG_VT_CONSOLE=y
816CONFIG_HW_CONSOLE=y
817# CONFIG_SERIAL_NONSTANDARD is not set
818
819#
820# Serial drivers
821#
822CONFIG_SERIAL_8250=m
823CONFIG_SERIAL_8250_CS=m
824CONFIG_SERIAL_8250_NR_UARTS=4
825CONFIG_SERIAL_8250_RUNTIME_UARTS=4
826# CONFIG_SERIAL_8250_EXTENDED is not set
827
828#
829# Non-8250 serial port support
830#
831CONFIG_SERIAL_PXA=y
832CONFIG_SERIAL_PXA_CONSOLE=y
833CONFIG_SERIAL_CORE=y
834CONFIG_SERIAL_CORE_CONSOLE=y
835CONFIG_UNIX98_PTYS=y
836# CONFIG_LEGACY_PTYS is not set
837
838#
839# IPMI
840#
841# CONFIG_IPMI_HANDLER is not set
842
843#
844# Watchdog Cards
845#
846# CONFIG_WATCHDOG is not set
847# CONFIG_NVRAM is not set
848# CONFIG_DTLK is not set
849# CONFIG_R3964 is not set
850
851#
852# Ftape, the floppy tape device driver
853#
854
855#
856# PCMCIA character devices
857#
858# CONFIG_SYNCLINK_CS is not set
859# CONFIG_CARDMAN_4000 is not set
860# CONFIG_CARDMAN_4040 is not set
861# CONFIG_RAW_DRIVER is not set
862
863#
864# TPM devices
865#
866# CONFIG_TCG_TPM is not set
867# CONFIG_TELCLOCK is not set
868
869#
870# I2C support
871#
872CONFIG_I2C=y
873# CONFIG_I2C_CHARDEV is not set
874
875#
876# I2C Algorithms
877#
878CONFIG_I2C_ALGOBIT=y
879# CONFIG_I2C_ALGOPCF is not set
880# CONFIG_I2C_ALGOPCA is not set
881
882#
883# I2C Hardware Bus support
884#
885CONFIG_I2C_PXA=y
886# CONFIG_I2C_PXA_SLAVE is not set
887# CONFIG_I2C_PARPORT_LIGHT is not set
888# CONFIG_I2C_STUB is not set
889# CONFIG_I2C_PCA_ISA is not set
890
891#
892# Miscellaneous I2C Chip support
893#
894# CONFIG_SENSORS_DS1337 is not set
895# CONFIG_SENSORS_DS1374 is not set
896# CONFIG_SENSORS_EEPROM is not set
897# CONFIG_SENSORS_PCF8574 is not set
898# CONFIG_SENSORS_PCA9539 is not set
899# CONFIG_SENSORS_PCF8591 is not set
900# CONFIG_SENSORS_MAX6875 is not set
901# CONFIG_I2C_DEBUG_CORE is not set
902# CONFIG_I2C_DEBUG_ALGO is not set
903# CONFIG_I2C_DEBUG_BUS is not set
904# CONFIG_I2C_DEBUG_CHIP is not set
905
906#
907# SPI support
908#
909# CONFIG_SPI is not set
910# CONFIG_SPI_MASTER is not set
911
912#
913# Dallas's 1-wire bus
914#
915# CONFIG_W1 is not set
916
917#
918# Hardware Monitoring support
919#
920# CONFIG_HWMON is not set
921# CONFIG_HWMON_VID is not set
922
923#
924# Misc devices
925#
926
927#
928# Multi-Function Devices
929#
930
931#
932# LED devices
933#
934CONFIG_NEW_LEDS=y
935CONFIG_LEDS_CLASS=y
936
937#
938# LED drivers
939#
940CONFIG_LEDS_LOCOMO=y
941# CONFIG_LEDS_TOSA is not set
942
943#
944# LED Triggers
945#
946CONFIG_LEDS_TRIGGERS=y
947CONFIG_LEDS_TRIGGER_TIMER=y
948CONFIG_LEDS_TRIGGER_IDE_DISK=y
949
950#
951# Multimedia devices
952#
953CONFIG_VIDEO_DEV=m
954CONFIG_VIDEO_V4L1=y
955CONFIG_VIDEO_V4L1_COMPAT=y
956CONFIG_VIDEO_V4L2=y
957
958#
959# Video Capture Adapters
960#
961
962#
963# Video Capture Adapters
964#
965# CONFIG_VIDEO_ADV_DEBUG is not set
966# CONFIG_VIDEO_VIVI is not set
967# CONFIG_VIDEO_CPIA is not set
968# CONFIG_VIDEO_CPIA2 is not set
969# CONFIG_VIDEO_SAA5246A is not set
970# CONFIG_VIDEO_SAA5249 is not set
971# CONFIG_TUNER_3036 is not set
972# CONFIG_VIDEO_OVCAMCHIP is not set
973
974#
975# Encoders and Decoders
976#
977# CONFIG_VIDEO_MSP3400 is not set
978# CONFIG_VIDEO_CS53L32A is not set
979# CONFIG_VIDEO_WM8775 is not set
980# CONFIG_VIDEO_WM8739 is not set
981# CONFIG_VIDEO_CX25840 is not set
982# CONFIG_VIDEO_SAA711X is not set
983# CONFIG_VIDEO_SAA7127 is not set
984# CONFIG_VIDEO_UPD64031A is not set
985# CONFIG_VIDEO_UPD64083 is not set
986
987#
988# V4L USB devices
989#
990# CONFIG_VIDEO_EM28XX is not set
991CONFIG_USB_DSBR=m
992CONFIG_VIDEO_USBVIDEO=m
993CONFIG_USB_VICAM=m
994CONFIG_USB_IBMCAM=m
995CONFIG_USB_KONICAWC=m
996# CONFIG_USB_ET61X251 is not set
997CONFIG_USB_OV511=m
998CONFIG_USB_SE401=m
999CONFIG_USB_SN9C102=m
1000CONFIG_USB_STV680=m
1001# CONFIG_USB_W9968CF is not set
1002# CONFIG_USB_ZC0301 is not set
1003# CONFIG_USB_PWC is not set
1004
1005#
1006# Radio Adapters
1007#
1008# CONFIG_RADIO_MAESTRO is not set
1009
1010#
1011# Digital Video Broadcasting Devices
1012#
1013# CONFIG_DVB is not set
1014CONFIG_USB_DABUSB=m
1015
1016#
1017# Graphics support
1018#
1019CONFIG_FB=y
1020CONFIG_FB_CFB_FILLRECT=y
1021CONFIG_FB_CFB_COPYAREA=y
1022CONFIG_FB_CFB_IMAGEBLIT=y
1023# CONFIG_FB_MACMODES is not set
1024CONFIG_FB_FIRMWARE_EDID=y
1025CONFIG_FB_MODE_HELPERS=y
1026# CONFIG_FB_TILEBLITTING is not set
1027# CONFIG_FB_S1D13XXX is not set
1028CONFIG_FB_PXA=y
1029# CONFIG_FB_PXA_PARAMETERS is not set
1030# CONFIG_FB_W100 is not set
1031# CONFIG_FB_VIRTUAL is not set
1032
1033#
1034# Console display driver support
1035#
1036# CONFIG_VGA_CONSOLE is not set
1037CONFIG_DUMMY_CONSOLE=y
1038CONFIG_FRAMEBUFFER_CONSOLE=y
1039CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
1040CONFIG_FONTS=y
1041# CONFIG_FONT_8x8 is not set
1042# CONFIG_FONT_8x16 is not set
1043# CONFIG_FONT_6x11 is not set
1044# CONFIG_FONT_7x14 is not set
1045# CONFIG_FONT_PEARL_8x8 is not set
1046# CONFIG_FONT_ACORN_8x8 is not set
1047CONFIG_FONT_MINI_4x6=y
1048# CONFIG_FONT_SUN8x16 is not set
1049# CONFIG_FONT_SUN12x22 is not set
1050# CONFIG_FONT_10x18 is not set
1051
1052#
1053# Logo configuration
1054#
1055CONFIG_LOGO=y
1056CONFIG_LOGO_LINUX_MONO=y
1057CONFIG_LOGO_LINUX_VGA16=y
1058# CONFIG_LOGO_LINUX_CLUT224 is not set
1059# CONFIG_LOGO_OHAND_CLUT224 is not set
1060CONFIG_LOGO_OZ240_CLUT224=y
1061# CONFIG_LOGO_OZ480_CLUT224 is not set
1062# CONFIG_LOGO_OZ640_CLUT224 is not set
1063CONFIG_BACKLIGHT_LCD_SUPPORT=y
1064CONFIG_BACKLIGHT_CLASS_DEVICE=y
1065CONFIG_BACKLIGHT_DEVICE=y
1066CONFIG_LCD_CLASS_DEVICE=m
1067CONFIG_LCD_DEVICE=y
1068# CONFIG_BACKLIGHT_CORGI is not set
1069CONFIG_BACKLIGHT_LOCOMO=y
1070
1071#
1072# Sound
1073#
1074CONFIG_SOUND=m
1075
1076#
1077# Advanced Linux Sound Architecture
1078#
1079CONFIG_SND=m
1080CONFIG_SND_TIMER=m
1081CONFIG_SND_PCM=m
1082# CONFIG_SND_SEQUENCER is not set
1083CONFIG_SND_OSSEMUL=y
1084CONFIG_SND_MIXER_OSS=m
1085CONFIG_SND_PCM_OSS=m
1086CONFIG_SND_PCM_OSS_PLUGINS=y
1087# CONFIG_SND_DYNAMIC_MINORS is not set
1088CONFIG_SND_SUPPORT_OLD_API=y
1089CONFIG_SND_VERBOSE_PROCFS=y
1090# CONFIG_SND_VERBOSE_PRINTK is not set
1091# CONFIG_SND_DEBUG is not set
1092
1093#
1094# Generic devices
1095#
1096# CONFIG_SND_DUMMY is not set
1097# CONFIG_SND_MTPAV is not set
1098# CONFIG_SND_SERIAL_U16550 is not set
1099# CONFIG_SND_MPU401 is not set
1100
1101#
1102# ALSA ARM devices
1103#
1104# CONFIG_SND_PXA2XX_AC97 is not set
1105
1106#
1107# USB devices
1108#
1109# CONFIG_SND_USB_AUDIO is not set
1110
1111#
1112# PCMCIA devices
1113#
1114# CONFIG_SND_VXPOCKET is not set
1115# CONFIG_SND_PDAUDIOCF is not set
1116
1117#
1118# SoC audio support
1119#
1120CONFIG_SND_SOC=m
1121
1122#
1123# Soc Platforms
1124#
1125
1126#
1127# SoC Audio for the Intel PXA2xx
1128#
1129CONFIG_SND_PXA2xx_SOC=m
1130# CONFIG_SND_PXA2xx_SOC_MAINSTONE is not set
1131# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM8731 is not set
1132# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM8753 is not set
1133# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM8974 is not set
1134# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM9713 is not set
1135# CONFIG_SND_MAINSTONE_BASEBAND is not set
1136# CONFIG_SND_MAINSTONE_BLUETOOTH is not set
1137# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM9712 is not set
1138# CONFIG_SND_PXA2xx_SOC_CORGI is not set
1139# CONFIG_SND_PXA2xx_SOC_SPITZ is not set
1140CONFIG_SND_PXA2xx_SOC_POODLE=m
1141# CONFIG_SND_PXA2xx_SOC_TOSA is not set
1142
1143#
1144# Soc Codecs
1145#
1146# CONFIG_SND_SOC_AC97_CODEC is not set
1147CONFIG_SND_SOC_WM8731=m
1148# CONFIG_SND_SOC_WM8750 is not set
1149# CONFIG_SND_SOC_WM8753 is not set
1150# CONFIG_SND_SOC_WM8772 is not set
1151# CONFIG_SND_SOC_WM8971 is not set
1152# CONFIG_SND_SOC_WM8974 is not set
1153# CONFIG_SND_SOC_WM9713 is not set
1154# CONFIG_SND_SOC_WM9712 is not set
1155# CONFIG_SND_SOC_UDA1380 is not set
1156# CONFIG_SND_SOC_AK4535 is not set
1157
1158#
1159# Open Sound System
1160#
1161# CONFIG_SOUND_PRIME is not set
1162
1163#
1164# USB support
1165#
1166CONFIG_USB_ARCH_HAS_HCD=y
1167# CONFIG_USB_ARCH_HAS_OHCI is not set
1168# CONFIG_USB_ARCH_HAS_EHCI is not set
1169CONFIG_USB=m
1170# CONFIG_USB_DEBUG is not set
1171
1172#
1173# Miscellaneous USB options
1174#
1175CONFIG_USB_DEVICEFS=y
1176# CONFIG_USB_BANDWIDTH is not set
1177# CONFIG_USB_DYNAMIC_MINORS is not set
1178# CONFIG_USB_SUSPEND is not set
1179# CONFIG_USB_OTG is not set
1180
1181#
1182# USB Host Controller Drivers
1183#
1184# CONFIG_USB_ISP116X_HCD is not set
1185CONFIG_USB_SL811_HCD=m
1186CONFIG_USB_SL811_CS=m
1187
1188#
1189# USB Device Class drivers
1190#
1191CONFIG_USB_ACM=m
1192CONFIG_USB_PRINTER=m
1193
1194#
1195# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1196#
1197
1198#
1199# may also be needed; see USB_STORAGE Help for more information
1200#
1201CONFIG_USB_STORAGE=m
1202# CONFIG_USB_STORAGE_DEBUG is not set
1203# CONFIG_USB_STORAGE_DATAFAB is not set
1204# CONFIG_USB_STORAGE_FREECOM is not set
1205# CONFIG_USB_STORAGE_ISD200 is not set
1206# CONFIG_USB_STORAGE_DPCM is not set
1207# CONFIG_USB_STORAGE_USBAT is not set
1208# CONFIG_USB_STORAGE_SDDR09 is not set
1209# CONFIG_USB_STORAGE_SDDR55 is not set
1210# CONFIG_USB_STORAGE_JUMPSHOT is not set
1211# CONFIG_USB_STORAGE_ALAUDA is not set
1212# CONFIG_USB_LIBUSUAL is not set
1213
1214#
1215# USB Input Devices
1216#
1217CONFIG_USB_HID=m
1218CONFIG_USB_HIDINPUT=y
1219# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1220# CONFIG_HID_FF is not set
1221# CONFIG_USB_HIDDEV is not set
1222
1223#
1224# USB HID Boot Protocol drivers
1225#
1226CONFIG_USB_KBD=m
1227CONFIG_USB_MOUSE=m
1228CONFIG_USB_AIPTEK=m
1229CONFIG_USB_WACOM=m
1230# CONFIG_USB_ACECAD is not set
1231CONFIG_USB_KBTAB=m
1232CONFIG_USB_POWERMATE=m
1233# CONFIG_USB_TOUCHSCREEN is not set
1234# CONFIG_USB_YEALINK is not set
1235CONFIG_USB_XPAD=m
1236CONFIG_USB_ATI_REMOTE=m
1237# CONFIG_USB_ATI_REMOTE2 is not set
1238# CONFIG_USB_KEYSPAN_REMOTE is not set
1239# CONFIG_USB_APPLETOUCH is not set
1240
1241#
1242# USB Imaging devices
1243#
1244CONFIG_USB_MDC800=m
1245CONFIG_USB_MICROTEK=m
1246
1247#
1248# USB Network Adapters
1249#
1250CONFIG_USB_CATC=m
1251CONFIG_USB_KAWETH=m
1252CONFIG_USB_PEGASUS=m
1253CONFIG_USB_RTL8150=m
1254CONFIG_USB_USBNET=m
1255CONFIG_USB_NET_AX8817X=m
1256CONFIG_USB_NET_CDCETHER=m
1257# CONFIG_USB_NET_GL620A is not set
1258CONFIG_USB_NET_NET1080=m
1259# CONFIG_USB_NET_PLUSB is not set
1260# CONFIG_USB_NET_RNDIS_HOST is not set
1261# CONFIG_USB_NET_CDC_SUBSET is not set
1262CONFIG_USB_NET_ZAURUS=m
1263# CONFIG_USB_ZD1201 is not set
1264CONFIG_USB_MON=y
1265
1266#
1267# USB port drivers
1268#
1269
1270#
1271# USB Serial Converter support
1272#
1273CONFIG_USB_SERIAL=m
1274CONFIG_USB_SERIAL_GENERIC=y
1275# CONFIG_USB_SERIAL_AIRPRIME is not set
1276# CONFIG_USB_SERIAL_ANYDATA is not set
1277# CONFIG_USB_SERIAL_ARK3116 is not set
1278CONFIG_USB_SERIAL_BELKIN=m
1279# CONFIG_USB_SERIAL_WHITEHEAT is not set
1280CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
1281# CONFIG_USB_SERIAL_CP2101 is not set
1282CONFIG_USB_SERIAL_CYPRESS_M8=m
1283CONFIG_USB_SERIAL_EMPEG=m
1284CONFIG_USB_SERIAL_FTDI_SIO=m
1285# CONFIG_USB_SERIAL_FUNSOFT is not set
1286CONFIG_USB_SERIAL_VISOR=m
1287CONFIG_USB_SERIAL_IPAQ=m
1288CONFIG_USB_SERIAL_IR=m
1289CONFIG_USB_SERIAL_EDGEPORT=m
1290CONFIG_USB_SERIAL_EDGEPORT_TI=m
1291CONFIG_USB_SERIAL_GARMIN=m
1292CONFIG_USB_SERIAL_IPW=m
1293CONFIG_USB_SERIAL_KEYSPAN_PDA=m
1294CONFIG_USB_SERIAL_KEYSPAN=m
1295# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set
1296# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
1297# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
1298# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
1299# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
1300# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
1301# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
1302# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
1303# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
1304# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
1305# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
1306# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
1307CONFIG_USB_SERIAL_KLSI=m
1308CONFIG_USB_SERIAL_KOBIL_SCT=m
1309CONFIG_USB_SERIAL_MCT_U232=m
1310# CONFIG_USB_SERIAL_NAVMAN is not set
1311CONFIG_USB_SERIAL_PL2303=m
1312# CONFIG_USB_SERIAL_HP4X is not set
1313CONFIG_USB_SERIAL_SAFE=m
1314# CONFIG_USB_SERIAL_SAFE_PADDED is not set
1315CONFIG_USB_SERIAL_TI=m
1316CONFIG_USB_SERIAL_CYBERJACK=m
1317CONFIG_USB_SERIAL_XIRCOM=m
1318CONFIG_USB_SERIAL_OMNINET=m
1319CONFIG_USB_EZUSB=y
1320
1321#
1322# USB Miscellaneous drivers
1323#
1324CONFIG_USB_EMI62=m
1325CONFIG_USB_EMI26=m
1326CONFIG_USB_AUERSWALD=m
1327CONFIG_USB_RIO500=m
1328CONFIG_USB_LEGOTOWER=m
1329CONFIG_USB_LCD=m
1330CONFIG_USB_LED=m
1331CONFIG_USB_CYTHERM=m
1332CONFIG_USB_PHIDGETKIT=m
1333CONFIG_USB_PHIDGETSERVO=m
1334CONFIG_USB_IDMOUSE=m
1335# CONFIG_USB_LD is not set
1336# CONFIG_USB_TEST is not set
1337
1338#
1339# USB DSL modem support
1340#
1341
1342#
1343# USB Gadget Support
1344#
1345CONFIG_USB_GADGET=y
1346# CONFIG_USB_GADGET_DEBUG_FILES is not set
1347CONFIG_USB_GADGET_SELECTED=y
1348# CONFIG_USB_GADGET_NET2280 is not set
1349CONFIG_USB_GADGET_PXA2XX=y
1350CONFIG_USB_PXA2XX=y
1351# CONFIG_USB_PXA2XX_SMALL is not set
1352# CONFIG_USB_GADGET_PXA27X is not set
1353# CONFIG_USB_GADGET_GOKU is not set
1354# CONFIG_USB_GADGET_LH7A40X is not set
1355# CONFIG_USB_GADGET_OMAP is not set
1356# CONFIG_USB_GADGET_AT91 is not set
1357# CONFIG_USB_GADGET_DUMMY_HCD is not set
1358# CONFIG_USB_GADGET_DUALSPEED is not set
1359CONFIG_USB_ZERO=m
1360CONFIG_USB_ETH=m
1361CONFIG_USB_ETH_RNDIS=y
1362CONFIG_USB_GADGETFS=m
1363CONFIG_USB_FILE_STORAGE=m
1364# CONFIG_USB_FILE_STORAGE_TEST is not set
1365CONFIG_USB_G_SERIAL=m
1366
1367#
1368# MMC/SD Card support
1369#
1370CONFIG_MMC=y
1371# CONFIG_MMC_DEBUG is not set
1372CONFIG_MMC_BLOCK=y
1373CONFIG_MMC_PXA=y
1374
1375#
1376# Real Time Clock
1377#
1378CONFIG_RTC_LIB=y
1379CONFIG_RTC_CLASS=y
1380CONFIG_RTC_HCTOSYS=y
1381CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1382
1383#
1384# RTC interfaces
1385#
1386CONFIG_RTC_INTF_SYSFS=y
1387CONFIG_RTC_INTF_PROC=y
1388CONFIG_RTC_INTF_DEV=y
1389
1390#
1391# RTC drivers
1392#
1393# CONFIG_RTC_DRV_X1205 is not set
1394# CONFIG_RTC_DRV_DS1672 is not set
1395# CONFIG_RTC_DRV_PCF8563 is not set
1396# CONFIG_RTC_DRV_RS5C372 is not set
1397# CONFIG_RTC_DRV_M48T86 is not set
1398CONFIG_RTC_DRV_SA1100=y
1399# CONFIG_RTC_DRV_TEST is not set
1400
1401#
1402# File systems
1403#
1404CONFIG_EXT2_FS=y
1405# CONFIG_EXT2_FS_XATTR is not set
1406# CONFIG_EXT2_FS_XIP is not set
1407# CONFIG_EXT3_FS is not set
1408# CONFIG_REISERFS_FS is not set
1409# CONFIG_JFS_FS is not set
1410# CONFIG_FS_POSIX_ACL is not set
1411# CONFIG_XFS_FS is not set
1412# CONFIG_OCFS2_FS is not set
1413# CONFIG_MINIX_FS is not set
1414# CONFIG_ROMFS_FS is not set
1415CONFIG_INOTIFY=y
1416# CONFIG_QUOTA is not set
1417CONFIG_DNOTIFY=y
1418# CONFIG_AUTOFS_FS is not set
1419# CONFIG_AUTOFS4_FS is not set
1420# CONFIG_FUSE_FS is not set
1421
1422#
1423# CD-ROM/DVD Filesystems
1424#
1425# CONFIG_ISO9660_FS is not set
1426# CONFIG_UDF_FS is not set
1427
1428#
1429# DOS/FAT/NT Filesystems
1430#
1431CONFIG_FAT_FS=y
1432# CONFIG_MSDOS_FS is not set
1433CONFIG_VFAT_FS=y
1434CONFIG_FAT_DEFAULT_CODEPAGE=437
1435CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1436# CONFIG_NTFS_FS is not set
1437
1438#
1439# Pseudo filesystems
1440#
1441CONFIG_PROC_FS=y
1442CONFIG_SYSFS=y
1443CONFIG_TMPFS=y
1444# CONFIG_HUGETLB_PAGE is not set
1445CONFIG_RAMFS=y
1446# CONFIG_CONFIGFS_FS is not set
1447
1448#
1449# Miscellaneous filesystems
1450#
1451# CONFIG_ADFS_FS is not set
1452# CONFIG_AFFS_FS is not set
1453# CONFIG_HFS_FS is not set
1454# CONFIG_HFSPLUS_FS is not set
1455# CONFIG_BEFS_FS is not set
1456# CONFIG_BFS_FS is not set
1457# CONFIG_EFS_FS is not set
1458# CONFIG_JFFS_FS is not set
1459CONFIG_JFFS2_FS=y
1460CONFIG_JFFS2_FS_DEBUG=0
1461CONFIG_JFFS2_FS_WRITEBUFFER=y
1462CONFIG_JFFS2_SUMMARY=y
1463CONFIG_JFFS2_COMPRESSION_OPTIONS=y
1464CONFIG_JFFS2_ZLIB=y
1465CONFIG_JFFS2_RTIME=y
1466CONFIG_JFFS2_RUBIN=y
1467# CONFIG_JFFS2_CMODE_NONE is not set
1468CONFIG_JFFS2_CMODE_PRIORITY=y
1469# CONFIG_JFFS2_CMODE_SIZE is not set
1470CONFIG_CRAMFS=m
1471CONFIG_SQUASHFS=m
1472# CONFIG_SQUASHFS_EMBEDDED is not set
1473CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
1474# CONFIG_SQUASHFS_VMALLOC is not set
1475# CONFIG_VXFS_FS is not set
1476# CONFIG_HPFS_FS is not set
1477# CONFIG_QNX4FS_FS is not set
1478# CONFIG_SYSV_FS is not set
1479# CONFIG_UFS_FS is not set
1480
1481#
1482# Network File Systems
1483#
1484CONFIG_NFS_FS=m
1485CONFIG_NFS_V3=y
1486# CONFIG_NFS_V3_ACL is not set
1487CONFIG_NFS_V4=y
1488# CONFIG_NFS_DIRECTIO is not set
1489# CONFIG_NFSD is not set
1490CONFIG_LOCKD=m
1491CONFIG_LOCKD_V4=y
1492CONFIG_NFS_COMMON=y
1493CONFIG_SUNRPC=m
1494CONFIG_SUNRPC_GSS=m
1495CONFIG_RPCSEC_GSS_KRB5=m
1496# CONFIG_RPCSEC_GSS_SPKM3 is not set
1497CONFIG_SMB_FS=m
1498CONFIG_SMB_NLS_DEFAULT=y
1499CONFIG_SMB_NLS_REMOTE="cp437"
1500CONFIG_CIFS=m
1501# CONFIG_CIFS_STATS is not set
1502# CONFIG_CIFS_XATTR is not set
1503# CONFIG_CIFS_EXPERIMENTAL is not set
1504# CONFIG_NCP_FS is not set
1505# CONFIG_CODA_FS is not set
1506# CONFIG_AFS_FS is not set
1507# CONFIG_9P_FS is not set
1508
1509#
1510# Partition Types
1511#
1512CONFIG_PARTITION_ADVANCED=y
1513# CONFIG_ACORN_PARTITION is not set
1514# CONFIG_OSF_PARTITION is not set
1515# CONFIG_AMIGA_PARTITION is not set
1516# CONFIG_ATARI_PARTITION is not set
1517# CONFIG_MAC_PARTITION is not set
1518CONFIG_MSDOS_PARTITION=y
1519# CONFIG_BSD_DISKLABEL is not set
1520# CONFIG_MINIX_SUBPARTITION is not set
1521# CONFIG_SOLARIS_X86_PARTITION is not set
1522# CONFIG_UNIXWARE_DISKLABEL is not set
1523# CONFIG_LDM_PARTITION is not set
1524# CONFIG_SGI_PARTITION is not set
1525# CONFIG_ULTRIX_PARTITION is not set
1526# CONFIG_SUN_PARTITION is not set
1527# CONFIG_KARMA_PARTITION is not set
1528# CONFIG_EFI_PARTITION is not set
1529
1530#
1531# Native Language Support
1532#
1533CONFIG_NLS=y
1534CONFIG_NLS_DEFAULT="cp437"
1535CONFIG_NLS_CODEPAGE_437=y
1536CONFIG_NLS_CODEPAGE_737=m
1537CONFIG_NLS_CODEPAGE_775=m
1538CONFIG_NLS_CODEPAGE_850=m
1539CONFIG_NLS_CODEPAGE_852=m
1540CONFIG_NLS_CODEPAGE_855=m
1541CONFIG_NLS_CODEPAGE_857=m
1542CONFIG_NLS_CODEPAGE_860=m
1543CONFIG_NLS_CODEPAGE_861=m
1544CONFIG_NLS_CODEPAGE_862=m
1545CONFIG_NLS_CODEPAGE_863=m
1546CONFIG_NLS_CODEPAGE_864=m
1547CONFIG_NLS_CODEPAGE_865=m
1548CONFIG_NLS_CODEPAGE_866=m
1549CONFIG_NLS_CODEPAGE_869=m
1550CONFIG_NLS_CODEPAGE_936=m
1551CONFIG_NLS_CODEPAGE_950=m
1552CONFIG_NLS_CODEPAGE_932=m
1553CONFIG_NLS_CODEPAGE_949=m
1554CONFIG_NLS_CODEPAGE_874=m
1555CONFIG_NLS_ISO8859_8=m
1556CONFIG_NLS_CODEPAGE_1250=m
1557CONFIG_NLS_CODEPAGE_1251=m
1558CONFIG_NLS_ASCII=m
1559CONFIG_NLS_ISO8859_1=y
1560CONFIG_NLS_ISO8859_2=m
1561CONFIG_NLS_ISO8859_3=m
1562CONFIG_NLS_ISO8859_4=m
1563CONFIG_NLS_ISO8859_5=m
1564CONFIG_NLS_ISO8859_6=m
1565CONFIG_NLS_ISO8859_7=m
1566CONFIG_NLS_ISO8859_9=m
1567CONFIG_NLS_ISO8859_13=m
1568CONFIG_NLS_ISO8859_14=m
1569CONFIG_NLS_ISO8859_15=m
1570CONFIG_NLS_KOI8_R=m
1571CONFIG_NLS_KOI8_U=m
1572CONFIG_NLS_UTF8=y
1573
1574#
1575# Profiling support
1576#
1577CONFIG_PROFILING=y
1578CONFIG_OPROFILE=m
1579
1580#
1581# Kernel hacking
1582#
1583# CONFIG_PRINTK_TIME is not set
1584CONFIG_MAGIC_SYSRQ=y
1585CONFIG_DEBUG_KERNEL=y
1586CONFIG_LOG_BUF_SHIFT=14
1587CONFIG_DETECT_SOFTLOCKUP=y
1588# CONFIG_SCHEDSTATS is not set
1589# CONFIG_DEBUG_SLAB is not set
1590# CONFIG_DEBUG_PREEMPT is not set
1591# CONFIG_DEBUG_MUTEXES is not set
1592# CONFIG_DEBUG_SPINLOCK is not set
1593# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1594# CONFIG_DEBUG_KOBJECT is not set
1595CONFIG_DEBUG_BUGVERBOSE=y
1596# CONFIG_DEBUG_INFO is not set
1597# CONFIG_DEBUG_FS is not set
1598# CONFIG_DEBUG_VM is not set
1599CONFIG_FRAME_POINTER=y
1600# CONFIG_UNWIND_INFO is not set
1601# CONFIG_FORCED_INLINING is not set
1602# CONFIG_RCU_TORTURE_TEST is not set
1603# CONFIG_DEBUG_USER is not set
1604# CONFIG_DEBUG_WAITQ is not set
1605CONFIG_DEBUG_ERRORS=y
1606# CONFIG_DEBUG_LL is not set
1607
1608#
1609# Security options
1610#
1611# CONFIG_KEYS is not set
1612# CONFIG_SECURITY is not set
1613
1614#
1615# Cryptographic options
1616#
1617CONFIG_CRYPTO=y
1618CONFIG_CRYPTO_HMAC=y
1619CONFIG_CRYPTO_NULL=m
1620CONFIG_CRYPTO_MD4=m
1621CONFIG_CRYPTO_MD5=m
1622CONFIG_CRYPTO_SHA1=m
1623CONFIG_CRYPTO_SHA256=m
1624CONFIG_CRYPTO_SHA512=m
1625CONFIG_CRYPTO_WP512=m
1626# CONFIG_CRYPTO_TGR192 is not set
1627CONFIG_CRYPTO_DES=m
1628CONFIG_CRYPTO_BLOWFISH=m
1629CONFIG_CRYPTO_TWOFISH=m
1630CONFIG_CRYPTO_SERPENT=m
1631CONFIG_CRYPTO_AES=m
1632CONFIG_CRYPTO_CAST5=m
1633CONFIG_CRYPTO_CAST6=m
1634CONFIG_CRYPTO_TEA=m
1635CONFIG_CRYPTO_ARC4=m
1636CONFIG_CRYPTO_KHAZAD=m
1637CONFIG_CRYPTO_ANUBIS=m
1638CONFIG_CRYPTO_DEFLATE=m
1639CONFIG_CRYPTO_MICHAEL_MIC=m
1640CONFIG_CRYPTO_CRC32C=m
1641CONFIG_CRYPTO_TEST=m
1642
1643#
1644# Hardware crypto devices
1645#
1646
1647#
1648# Library routines
1649#
1650CONFIG_CRC_CCITT=y
1651# CONFIG_CRC16 is not set
1652CONFIG_CRC32=y
1653CONFIG_LIBCRC32C=m
1654CONFIG_ZLIB_INFLATE=y
1655CONFIG_ZLIB_DEFLATE=y
1656# CONFIG_SHARPSL_RC is not set
diff --git a/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-qemuarm b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-qemuarm
new file mode 100644
index 0000000000..f70b6db7c7
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-qemuarm
@@ -0,0 +1,1193 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.17
4# Sat Aug 26 22:45:02 2006
5#
6CONFIG_ARM=y
7CONFIG_MMU=y
8CONFIG_RWSEM_GENERIC_SPINLOCK=y
9CONFIG_GENERIC_HWEIGHT=y
10CONFIG_GENERIC_CALIBRATE_DELAY=y
11CONFIG_VECTORS_BASE=0xffff0000
12
13#
14# Code maturity level options
15#
16CONFIG_EXPERIMENTAL=y
17CONFIG_BROKEN_ON_SMP=y
18CONFIG_INIT_ENV_ARG_LIMIT=32
19
20#
21# General setup
22#
23CONFIG_LOCALVERSION=""
24CONFIG_LOCALVERSION_AUTO=y
25CONFIG_SWAP=y
26CONFIG_SYSVIPC=y
27# CONFIG_POSIX_MQUEUE is not set
28# CONFIG_BSD_PROCESS_ACCT is not set
29CONFIG_SYSCTL=y
30# CONFIG_AUDIT is not set
31CONFIG_IKCONFIG=y
32CONFIG_IKCONFIG_PROC=y
33# CONFIG_RELAY is not set
34CONFIG_INITRAMFS_SOURCE=""
35CONFIG_UID16=y
36CONFIG_CC_OPTIMIZE_FOR_SIZE=y
37# CONFIG_EMBEDDED is not set
38CONFIG_KALLSYMS=y
39# CONFIG_KALLSYMS_ALL is not set
40# CONFIG_KALLSYMS_EXTRA_PASS is not set
41CONFIG_HOTPLUG=y
42CONFIG_PRINTK=y
43CONFIG_BUG=y
44CONFIG_ELF_CORE=y
45CONFIG_BASE_FULL=y
46CONFIG_FUTEX=y
47CONFIG_EPOLL=y
48CONFIG_SHMEM=y
49CONFIG_SLAB=y
50# CONFIG_TINY_SHMEM is not set
51CONFIG_BASE_SMALL=0
52# CONFIG_SLOB is not set
53CONFIG_OBSOLETE_INTERMODULE=y
54
55#
56# Loadable module support
57#
58CONFIG_MODULES=y
59CONFIG_MODULE_UNLOAD=y
60# CONFIG_MODULE_FORCE_UNLOAD is not set
61# CONFIG_MODVERSIONS is not set
62# CONFIG_MODULE_SRCVERSION_ALL is not set
63CONFIG_KMOD=y
64
65#
66# Block layer
67#
68# CONFIG_BLK_DEV_IO_TRACE is not set
69
70#
71# IO Schedulers
72#
73CONFIG_IOSCHED_NOOP=y
74CONFIG_IOSCHED_AS=y
75CONFIG_IOSCHED_DEADLINE=y
76CONFIG_IOSCHED_CFQ=y
77CONFIG_DEFAULT_AS=y
78# CONFIG_DEFAULT_DEADLINE is not set
79# CONFIG_DEFAULT_CFQ is not set
80# CONFIG_DEFAULT_NOOP is not set
81CONFIG_DEFAULT_IOSCHED="anticipatory"
82
83#
84# System Type
85#
86# CONFIG_ARCH_CLPS7500 is not set
87# CONFIG_ARCH_CLPS711X is not set
88# CONFIG_ARCH_CO285 is not set
89# CONFIG_ARCH_EBSA110 is not set
90# CONFIG_ARCH_EP93XX is not set
91# CONFIG_ARCH_FOOTBRIDGE is not set
92# CONFIG_ARCH_INTEGRATOR is not set
93# CONFIG_ARCH_IOP3XX is not set
94# CONFIG_ARCH_IXP4XX is not set
95# CONFIG_ARCH_IXP2000 is not set
96# CONFIG_ARCH_IXP23XX is not set
97# CONFIG_ARCH_L7200 is not set
98# CONFIG_ARCH_PXA is not set
99# CONFIG_ARCH_RPC is not set
100# CONFIG_ARCH_SA1100 is not set
101# CONFIG_ARCH_S3C2410 is not set
102# CONFIG_ARCH_SHARK is not set
103# CONFIG_ARCH_LH7A40X is not set
104# CONFIG_ARCH_OMAP is not set
105CONFIG_ARCH_VERSATILE=y
106# CONFIG_ARCH_REALVIEW is not set
107# CONFIG_ARCH_IMX is not set
108# CONFIG_ARCH_H720X is not set
109# CONFIG_ARCH_AAEC2000 is not set
110# CONFIG_ARCH_AT91RM9200 is not set
111
112#
113# Versatile platform type
114#
115CONFIG_ARCH_VERSATILE_PB=y
116# CONFIG_MACH_VERSATILE_AB is not set
117
118#
119# Processor Type
120#
121CONFIG_CPU_32=y
122CONFIG_CPU_ARM926T=y
123CONFIG_CPU_32v5=y
124CONFIG_CPU_ABRT_EV5TJ=y
125CONFIG_CPU_CACHE_VIVT=y
126CONFIG_CPU_COPY_V4WB=y
127CONFIG_CPU_TLB_V4WBI=y
128
129#
130# Processor Features
131#
132CONFIG_ARM_THUMB=y
133# CONFIG_CPU_ICACHE_DISABLE is not set
134# CONFIG_CPU_DCACHE_DISABLE is not set
135# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
136# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
137# CONFIG_KEXEC is not set
138CONFIG_ARM_VIC=y
139CONFIG_ICST307=y
140
141#
142# Bus support
143#
144CONFIG_ARM_AMBA=y
145CONFIG_PCI=y
146# CONFIG_PCI_DEBUG is not set
147
148#
149# PCCARD (PCMCIA/CardBus) support
150#
151# CONFIG_PCCARD is not set
152
153#
154# Kernel Features
155#
156# CONFIG_PREEMPT is not set
157# CONFIG_NO_IDLE_HZ is not set
158CONFIG_HZ=100
159# CONFIG_AEABI is not set
160# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
161CONFIG_SELECT_MEMORY_MODEL=y
162CONFIG_FLATMEM_MANUAL=y
163# CONFIG_DISCONTIGMEM_MANUAL is not set
164# CONFIG_SPARSEMEM_MANUAL is not set
165CONFIG_FLATMEM=y
166CONFIG_FLAT_NODE_MEM_MAP=y
167# CONFIG_SPARSEMEM_STATIC is not set
168CONFIG_SPLIT_PTLOCK_CPUS=4096
169CONFIG_LEDS=y
170CONFIG_LEDS_TIMER=y
171CONFIG_LEDS_CPU=y
172CONFIG_ALIGNMENT_TRAP=y
173
174#
175# Boot options
176#
177CONFIG_ZBOOT_ROM_TEXT=0x0
178CONFIG_ZBOOT_ROM_BSS=0x0
179CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 noinitrd root=/dev/mtdblock2 rootfstype=jffs2 dyntick=enable debug"
180# CONFIG_XIP_KERNEL is not set
181
182#
183# Floating point emulation
184#
185
186#
187# At least one emulation must be selected
188#
189CONFIG_FPE_NWFPE=y
190# CONFIG_FPE_NWFPE_XP is not set
191# CONFIG_FPE_FASTFPE is not set
192CONFIG_VFP=y
193
194#
195# Userspace binary formats
196#
197CONFIG_BINFMT_ELF=y
198# CONFIG_BINFMT_AOUT is not set
199# CONFIG_BINFMT_MISC is not set
200# CONFIG_ARTHUR is not set
201
202#
203# Power management options
204#
205CONFIG_PM=y
206# CONFIG_PM_LEGACY is not set
207# CONFIG_PM_DEBUG is not set
208# CONFIG_APM is not set
209
210#
211# Networking
212#
213CONFIG_NET=y
214
215#
216# Networking options
217#
218# CONFIG_NETDEBUG is not set
219CONFIG_PACKET=y
220CONFIG_PACKET_MMAP=y
221CONFIG_UNIX=y
222# CONFIG_NET_KEY is not set
223CONFIG_INET=y
224CONFIG_IP_MULTICAST=y
225# CONFIG_IP_ADVANCED_ROUTER is not set
226CONFIG_IP_FIB_HASH=y
227CONFIG_IP_PNP=y
228CONFIG_IP_PNP_DHCP=y
229CONFIG_IP_PNP_BOOTP=y
230# CONFIG_IP_PNP_RARP is not set
231# CONFIG_NET_IPIP is not set
232# CONFIG_NET_IPGRE is not set
233# CONFIG_IP_MROUTE is not set
234# CONFIG_ARPD is not set
235# CONFIG_SYN_COOKIES is not set
236# CONFIG_INET_AH is not set
237# CONFIG_INET_ESP is not set
238# CONFIG_INET_IPCOMP is not set
239# CONFIG_INET_XFRM_TUNNEL is not set
240# CONFIG_INET_TUNNEL is not set
241CONFIG_INET_DIAG=y
242CONFIG_INET_TCP_DIAG=y
243# CONFIG_TCP_CONG_ADVANCED is not set
244CONFIG_TCP_CONG_BIC=y
245# CONFIG_IPV6 is not set
246# CONFIG_INET6_XFRM_TUNNEL is not set
247# CONFIG_INET6_TUNNEL is not set
248# CONFIG_NETFILTER is not set
249
250#
251# DCCP Configuration (EXPERIMENTAL)
252#
253# CONFIG_IP_DCCP is not set
254
255#
256# SCTP Configuration (EXPERIMENTAL)
257#
258# CONFIG_IP_SCTP is not set
259
260#
261# TIPC Configuration (EXPERIMENTAL)
262#
263# CONFIG_TIPC is not set
264# CONFIG_ATM is not set
265# CONFIG_BRIDGE is not set
266# CONFIG_VLAN_8021Q is not set
267# CONFIG_DECNET is not set
268# CONFIG_LLC2 is not set
269# CONFIG_IPX is not set
270# CONFIG_ATALK is not set
271# CONFIG_X25 is not set
272# CONFIG_LAPB is not set
273# CONFIG_NET_DIVERT is not set
274# CONFIG_ECONET is not set
275# CONFIG_WAN_ROUTER is not set
276
277#
278# QoS and/or fair queueing
279#
280# CONFIG_NET_SCHED is not set
281
282#
283# Network testing
284#
285# CONFIG_NET_PKTGEN is not set
286# CONFIG_HAMRADIO is not set
287# CONFIG_IRDA is not set
288# CONFIG_BT is not set
289# CONFIG_IEEE80211 is not set
290
291#
292# Device Drivers
293#
294
295#
296# Generic Driver Options
297#
298CONFIG_STANDALONE=y
299CONFIG_PREVENT_FIRMWARE_BUILD=y
300# CONFIG_FW_LOADER is not set
301# CONFIG_DEBUG_DRIVER is not set
302
303#
304# Connector - unified userspace <-> kernelspace linker
305#
306# CONFIG_CONNECTOR is not set
307
308#
309# Memory Technology Devices (MTD)
310#
311CONFIG_MTD=y
312# CONFIG_MTD_DEBUG is not set
313# CONFIG_MTD_CONCAT is not set
314CONFIG_MTD_PARTITIONS=y
315# CONFIG_MTD_REDBOOT_PARTS is not set
316CONFIG_MTD_CMDLINE_PARTS=y
317CONFIG_MTD_AFS_PARTS=y
318
319#
320# User Modules And Translation Layers
321#
322CONFIG_MTD_CHAR=y
323CONFIG_MTD_BLOCK=y
324# CONFIG_FTL is not set
325# CONFIG_NFTL is not set
326# CONFIG_INFTL is not set
327# CONFIG_RFD_FTL is not set
328
329#
330# RAM/ROM/Flash chip drivers
331#
332CONFIG_MTD_CFI=y
333# CONFIG_MTD_JEDECPROBE is not set
334CONFIG_MTD_GEN_PROBE=y
335CONFIG_MTD_CFI_ADV_OPTIONS=y
336CONFIG_MTD_CFI_NOSWAP=y
337# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
338# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
339# CONFIG_MTD_CFI_GEOMETRY is not set
340CONFIG_MTD_MAP_BANK_WIDTH_1=y
341CONFIG_MTD_MAP_BANK_WIDTH_2=y
342CONFIG_MTD_MAP_BANK_WIDTH_4=y
343# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
344# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
345# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
346CONFIG_MTD_CFI_I1=y
347CONFIG_MTD_CFI_I2=y
348# CONFIG_MTD_CFI_I4 is not set
349# CONFIG_MTD_CFI_I8 is not set
350# CONFIG_MTD_OTP is not set
351CONFIG_MTD_CFI_INTELEXT=y
352# CONFIG_MTD_CFI_AMDSTD is not set
353# CONFIG_MTD_CFI_STAA is not set
354CONFIG_MTD_CFI_UTIL=y
355# CONFIG_MTD_RAM is not set
356# CONFIG_MTD_ROM is not set
357# CONFIG_MTD_ABSENT is not set
358# CONFIG_MTD_OBSOLETE_CHIPS is not set
359
360#
361# Mapping drivers for chip access
362#
363# CONFIG_MTD_COMPLEX_MAPPINGS is not set
364# CONFIG_MTD_PHYSMAP is not set
365# CONFIG_MTD_ARM_INTEGRATOR is not set
366# CONFIG_MTD_PLATRAM is not set
367
368#
369# Self-contained MTD device drivers
370#
371# CONFIG_MTD_PMC551 is not set
372# CONFIG_MTD_SLRAM is not set
373# CONFIG_MTD_PHRAM is not set
374# CONFIG_MTD_MTDRAM is not set
375# CONFIG_MTD_BLOCK2MTD is not set
376
377#
378# Disk-On-Chip Device Drivers
379#
380# CONFIG_MTD_DOC2000 is not set
381# CONFIG_MTD_DOC2001 is not set
382# CONFIG_MTD_DOC2001PLUS is not set
383
384#
385# NAND Flash Device Drivers
386#
387# CONFIG_MTD_NAND is not set
388
389#
390# OneNAND Flash Device Drivers
391#
392# CONFIG_MTD_ONENAND is not set
393
394#
395# Parallel port support
396#
397# CONFIG_PARPORT is not set
398
399#
400# Plug and Play support
401#
402
403#
404# Block devices
405#
406# CONFIG_BLK_CPQ_DA is not set
407# CONFIG_BLK_CPQ_CISS_DA is not set
408# CONFIG_BLK_DEV_DAC960 is not set
409# CONFIG_BLK_DEV_UMEM is not set
410# CONFIG_BLK_DEV_COW_COMMON is not set
411CONFIG_BLK_DEV_LOOP=y
412# CONFIG_BLK_DEV_CRYPTOLOOP is not set
413# CONFIG_BLK_DEV_NBD is not set
414# CONFIG_BLK_DEV_SX8 is not set
415# CONFIG_BLK_DEV_UB is not set
416CONFIG_BLK_DEV_RAM=y
417CONFIG_BLK_DEV_RAM_COUNT=16
418CONFIG_BLK_DEV_RAM_SIZE=51200
419CONFIG_BLK_DEV_INITRD=y
420# CONFIG_CDROM_PKTCDVD is not set
421# CONFIG_ATA_OVER_ETH is not set
422
423#
424# SCSI device support
425#
426# CONFIG_RAID_ATTRS is not set
427CONFIG_SCSI=y
428CONFIG_SCSI_PROC_FS=y
429
430#
431# SCSI support type (disk, tape, CD-ROM)
432#
433CONFIG_BLK_DEV_SD=y
434# CONFIG_CHR_DEV_ST is not set
435# CONFIG_CHR_DEV_OSST is not set
436# CONFIG_BLK_DEV_SR is not set
437# CONFIG_CHR_DEV_SG is not set
438# CONFIG_CHR_DEV_SCH is not set
439
440#
441# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
442#
443# CONFIG_SCSI_MULTI_LUN is not set
444# CONFIG_SCSI_CONSTANTS is not set
445# CONFIG_SCSI_LOGGING is not set
446
447#
448# SCSI Transport Attributes
449#
450CONFIG_SCSI_SPI_ATTRS=y
451# CONFIG_SCSI_FC_ATTRS is not set
452# CONFIG_SCSI_ISCSI_ATTRS is not set
453# CONFIG_SCSI_SAS_ATTRS is not set
454
455#
456# SCSI low-level drivers
457#
458# CONFIG_ISCSI_TCP is not set
459# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
460# CONFIG_SCSI_3W_9XXX is not set
461# CONFIG_SCSI_ACARD is not set
462# CONFIG_SCSI_AACRAID is not set
463# CONFIG_SCSI_AIC7XXX is not set
464# CONFIG_SCSI_AIC7XXX_OLD is not set
465# CONFIG_SCSI_AIC79XX is not set
466# CONFIG_SCSI_DPT_I2O is not set
467# CONFIG_MEGARAID_NEWGEN is not set
468# CONFIG_MEGARAID_LEGACY is not set
469# CONFIG_MEGARAID_SAS is not set
470# CONFIG_SCSI_SATA is not set
471# CONFIG_SCSI_DMX3191D is not set
472# CONFIG_SCSI_FUTURE_DOMAIN is not set
473# CONFIG_SCSI_IPS is not set
474# CONFIG_SCSI_INITIO is not set
475# CONFIG_SCSI_INIA100 is not set
476CONFIG_SCSI_SYM53C8XX_2=y
477CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
478CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
479CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
480CONFIG_SCSI_SYM53C8XX_MMIO=y
481# CONFIG_SCSI_IPR is not set
482# CONFIG_SCSI_QLOGIC_1280 is not set
483# CONFIG_SCSI_QLA_FC is not set
484# CONFIG_SCSI_LPFC is not set
485# CONFIG_SCSI_DC395x is not set
486# CONFIG_SCSI_DC390T is not set
487# CONFIG_SCSI_NSP32 is not set
488# CONFIG_SCSI_DEBUG is not set
489
490#
491# Multi-device support (RAID and LVM)
492#
493CONFIG_MD=y
494CONFIG_BLK_DEV_DM=m
495CONFIG_DM_CRYPT=m
496CONFIG_DM_SNAPSHOT=m
497CONFIG_DM_MIRROR=m
498CONFIG_DM_ZERO=m
499CONFIG_DM_MULTIPATH=m
500CONFIG_DM_MULTIPATH_EMC=m
501
502#
503# Fusion MPT device support
504#
505# CONFIG_FUSION is not set
506# CONFIG_FUSION_SPI is not set
507# CONFIG_FUSION_FC is not set
508# CONFIG_FUSION_SAS is not set
509
510#
511# IEEE 1394 (FireWire) support
512#
513# CONFIG_IEEE1394 is not set
514
515#
516# I2O device support
517#
518# CONFIG_I2O is not set
519
520#
521# Network device support
522#
523CONFIG_NETDEVICES=y
524# CONFIG_DUMMY is not set
525# CONFIG_BONDING is not set
526# CONFIG_EQUALIZER is not set
527CONFIG_TUN=m
528
529#
530# ARCnet devices
531#
532# CONFIG_ARCNET is not set
533
534#
535# PHY device support
536#
537# CONFIG_PHYLIB is not set
538
539#
540# Ethernet (10 or 100Mbit)
541#
542CONFIG_NET_ETHERNET=y
543CONFIG_MII=y
544# CONFIG_HAPPYMEAL is not set
545# CONFIG_SUNGEM is not set
546# CONFIG_CASSINI is not set
547# CONFIG_NET_VENDOR_3COM is not set
548CONFIG_SMC91X=y
549# CONFIG_DM9000 is not set
550
551#
552# Tulip family network device support
553#
554# CONFIG_NET_TULIP is not set
555# CONFIG_HP100 is not set
556# CONFIG_NET_PCI is not set
557
558#
559# Ethernet (1000 Mbit)
560#
561# CONFIG_ACENIC is not set
562# CONFIG_DL2K is not set
563# CONFIG_E1000 is not set
564# CONFIG_NS83820 is not set
565# CONFIG_HAMACHI is not set
566# CONFIG_YELLOWFIN is not set
567# CONFIG_R8169 is not set
568# CONFIG_SIS190 is not set
569# CONFIG_SKGE is not set
570# CONFIG_SKY2 is not set
571# CONFIG_SK98LIN is not set
572# CONFIG_TIGON3 is not set
573# CONFIG_BNX2 is not set
574
575#
576# Ethernet (10000 Mbit)
577#
578# CONFIG_CHELSIO_T1 is not set
579# CONFIG_IXGB is not set
580# CONFIG_S2IO is not set
581
582#
583# Token Ring devices
584#
585# CONFIG_TR is not set
586
587#
588# Wireless LAN (non-hamradio)
589#
590# CONFIG_NET_RADIO is not set
591
592#
593# Wan interfaces
594#
595# CONFIG_WAN is not set
596# CONFIG_FDDI is not set
597# CONFIG_HIPPI is not set
598# CONFIG_PPP is not set
599# CONFIG_SLIP is not set
600# CONFIG_NET_FC is not set
601# CONFIG_SHAPER is not set
602# CONFIG_NETCONSOLE is not set
603# CONFIG_NETPOLL is not set
604# CONFIG_NET_POLL_CONTROLLER is not set
605
606#
607# ISDN subsystem
608#
609# CONFIG_ISDN is not set
610
611#
612# Input device support
613#
614CONFIG_INPUT=y
615
616#
617# Userland interfaces
618#
619# CONFIG_INPUT_MOUSEDEV is not set
620# CONFIG_INPUT_JOYDEV is not set
621# CONFIG_INPUT_TSDEV is not set
622CONFIG_INPUT_EVDEV=y
623# CONFIG_INPUT_EVBUG is not set
624# CONFIG_INPUT_POWER is not set
625
626#
627# Input Device Drivers
628#
629CONFIG_INPUT_KEYBOARD=y
630CONFIG_KEYBOARD_ATKBD=y
631# CONFIG_KEYBOARD_SUNKBD is not set
632# CONFIG_KEYBOARD_LKKBD is not set
633# CONFIG_KEYBOARD_XTKBD is not set
634# CONFIG_KEYBOARD_NEWTON is not set
635CONFIG_INPUT_MOUSE=y
636CONFIG_MOUSE_PS2=y
637# CONFIG_MOUSE_SERIAL is not set
638# CONFIG_MOUSE_VSXXXAA is not set
639# CONFIG_INPUT_JOYSTICK is not set
640# CONFIG_INPUT_TOUCHSCREEN is not set
641CONFIG_INPUT_MISC=y
642# CONFIG_INPUT_UINPUT is not set
643
644#
645# Hardware I/O ports
646#
647CONFIG_SERIO=y
648# CONFIG_SERIO_SERPORT is not set
649CONFIG_SERIO_AMBAKMI=y
650# CONFIG_SERIO_PCIPS2 is not set
651CONFIG_SERIO_LIBPS2=y
652# CONFIG_SERIO_RAW is not set
653# CONFIG_GAMEPORT is not set
654
655#
656# Character devices
657#
658CONFIG_VT=y
659CONFIG_VT_CONSOLE=y
660CONFIG_HW_CONSOLE=y
661# CONFIG_SERIAL_NONSTANDARD is not set
662
663#
664# Serial drivers
665#
666# CONFIG_SERIAL_8250 is not set
667
668#
669# Non-8250 serial port support
670#
671CONFIG_SERIAL_AMBA_PL011=y
672CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
673CONFIG_SERIAL_CORE=y
674CONFIG_SERIAL_CORE_CONSOLE=y
675# CONFIG_SERIAL_JSM is not set
676CONFIG_UNIX98_PTYS=y
677# CONFIG_LEGACY_PTYS is not set
678
679#
680# IPMI
681#
682# CONFIG_IPMI_HANDLER is not set
683
684#
685# Watchdog Cards
686#
687# CONFIG_WATCHDOG is not set
688# CONFIG_NVRAM is not set
689# CONFIG_DTLK is not set
690# CONFIG_R3964 is not set
691# CONFIG_APPLICOM is not set
692
693#
694# Ftape, the floppy tape device driver
695#
696# CONFIG_DRM is not set
697# CONFIG_RAW_DRIVER is not set
698
699#
700# TPM devices
701#
702# CONFIG_TCG_TPM is not set
703# CONFIG_TELCLOCK is not set
704
705#
706# I2C support
707#
708# CONFIG_I2C is not set
709
710#
711# SPI support
712#
713# CONFIG_SPI is not set
714# CONFIG_SPI_MASTER is not set
715
716#
717# Dallas's 1-wire bus
718#
719# CONFIG_W1 is not set
720
721#
722# Hardware Monitoring support
723#
724CONFIG_HWMON=y
725# CONFIG_HWMON_VID is not set
726# CONFIG_SENSORS_F71805F is not set
727# CONFIG_HWMON_DEBUG_CHIP is not set
728
729#
730# Misc devices
731#
732
733#
734# Multi-Function Devices
735#
736
737#
738# LED devices
739#
740CONFIG_NEW_LEDS=y
741# CONFIG_LEDS_CLASS is not set
742
743#
744# LED drivers
745#
746
747#
748# LED Triggers
749#
750# CONFIG_LEDS_TRIGGERS is not set
751
752#
753# Multimedia devices
754#
755CONFIG_VIDEO_DEV=m
756CONFIG_VIDEO_V4L1=y
757CONFIG_VIDEO_V4L1_COMPAT=y
758CONFIG_VIDEO_V4L2=y
759
760#
761# Digital Video Broadcasting Devices
762#
763# CONFIG_DVB is not set
764# CONFIG_USB_DABUSB is not set
765
766#
767# Graphics support
768#
769CONFIG_FB=y
770CONFIG_FB_CFB_FILLRECT=y
771CONFIG_FB_CFB_COPYAREA=y
772CONFIG_FB_CFB_IMAGEBLIT=y
773# CONFIG_FB_MACMODES is not set
774CONFIG_FB_FIRMWARE_EDID=y
775CONFIG_FB_MODE_HELPERS=y
776CONFIG_FB_TILEBLITTING=y
777# CONFIG_FB_CIRRUS is not set
778# CONFIG_FB_PM2 is not set
779CONFIG_FB_ARMCLCD=y
780# CONFIG_FB_CYBER2000 is not set
781# CONFIG_FB_ASILIANT is not set
782# CONFIG_FB_IMSTT is not set
783# CONFIG_FB_S1D13XXX is not set
784# CONFIG_FB_NVIDIA is not set
785# CONFIG_FB_RIVA is not set
786# CONFIG_FB_MATROX is not set
787# CONFIG_FB_RADEON is not set
788# CONFIG_FB_ATY128 is not set
789# CONFIG_FB_ATY is not set
790# CONFIG_FB_SAVAGE is not set
791# CONFIG_FB_SIS is not set
792# CONFIG_FB_NEOMAGIC is not set
793# CONFIG_FB_KYRO is not set
794# CONFIG_FB_3DFX is not set
795# CONFIG_FB_VOODOO1 is not set
796# CONFIG_FB_TRIDENT is not set
797# CONFIG_FB_VIRTUAL is not set
798
799#
800# Console display driver support
801#
802CONFIG_DUMMY_CONSOLE=y
803CONFIG_FRAMEBUFFER_CONSOLE=y
804# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
805# CONFIG_FONTS is not set
806CONFIG_FONT_8x8=y
807CONFIG_FONT_8x16=y
808
809#
810# Logo configuration
811#
812CONFIG_LOGO=y
813CONFIG_LOGO_LINUX_MONO=y
814CONFIG_LOGO_LINUX_VGA16=y
815# CONFIG_LOGO_LINUX_CLUT224 is not set
816CONFIG_LOGO_OHAND_CLUT224=y
817# CONFIG_LOGO_OZ240_CLUT224 is not set
818# CONFIG_LOGO_OZ480_CLUT224 is not set
819# CONFIG_LOGO_OZ640_CLUT224 is not set
820# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
821
822#
823# Sound
824#
825# CONFIG_SOUND is not set
826
827#
828# USB support
829#
830CONFIG_USB_ARCH_HAS_HCD=y
831CONFIG_USB_ARCH_HAS_OHCI=y
832CONFIG_USB_ARCH_HAS_EHCI=y
833CONFIG_USB=y
834# CONFIG_USB_DEBUG is not set
835
836#
837# Miscellaneous USB options
838#
839# CONFIG_USB_DEVICEFS is not set
840# CONFIG_USB_BANDWIDTH is not set
841# CONFIG_USB_DYNAMIC_MINORS is not set
842# CONFIG_USB_SUSPEND is not set
843# CONFIG_USB_OTG is not set
844
845#
846# USB Host Controller Drivers
847#
848# CONFIG_USB_EHCI_HCD is not set
849# CONFIG_USB_ISP116X_HCD is not set
850CONFIG_USB_OHCI_HCD=y
851# CONFIG_USB_OHCI_BIG_ENDIAN is not set
852CONFIG_USB_OHCI_LITTLE_ENDIAN=y
853# CONFIG_USB_UHCI_HCD is not set
854# CONFIG_USB_SL811_HCD is not set
855
856#
857# USB Device Class drivers
858#
859# CONFIG_USB_ACM is not set
860# CONFIG_USB_PRINTER is not set
861
862#
863# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
864#
865
866#
867# may also be needed; see USB_STORAGE Help for more information
868#
869# CONFIG_USB_STORAGE is not set
870# CONFIG_USB_LIBUSUAL is not set
871
872#
873# USB Input Devices
874#
875CONFIG_USB_HID=y
876
877#
878# USB HID Boot Protocol drivers
879#
880# CONFIG_USB_KBD is not set
881# CONFIG_USB_MOUSE is not set
882# CONFIG_USB_AIPTEK is not set
883CONFIG_USB_WACOM=y
884# CONFIG_USB_ACECAD is not set
885# CONFIG_USB_KBTAB is not set
886# CONFIG_USB_POWERMATE is not set
887# CONFIG_USB_TOUCHSCREEN is not set
888# CONFIG_USB_YEALINK is not set
889# CONFIG_USB_XPAD is not set
890# CONFIG_USB_ATI_REMOTE is not set
891# CONFIG_USB_ATI_REMOTE2 is not set
892# CONFIG_USB_KEYSPAN_REMOTE is not set
893# CONFIG_USB_APPLETOUCH is not set
894
895#
896# USB Imaging devices
897#
898# CONFIG_USB_MDC800 is not set
899# CONFIG_USB_MICROTEK is not set
900
901#
902# USB Network Adapters
903#
904# CONFIG_USB_CATC is not set
905# CONFIG_USB_KAWETH is not set
906# CONFIG_USB_PEGASUS is not set
907# CONFIG_USB_RTL8150 is not set
908# CONFIG_USB_USBNET is not set
909CONFIG_USB_MON=y
910
911#
912# USB port drivers
913#
914
915#
916# USB Serial Converter support
917#
918# CONFIG_USB_SERIAL is not set
919
920#
921# USB Miscellaneous drivers
922#
923# CONFIG_USB_EMI62 is not set
924# CONFIG_USB_EMI26 is not set
925# CONFIG_USB_AUERSWALD is not set
926# CONFIG_USB_RIO500 is not set
927# CONFIG_USB_LEGOTOWER is not set
928# CONFIG_USB_LCD is not set
929# CONFIG_USB_LED is not set
930# CONFIG_USB_CYTHERM is not set
931# CONFIG_USB_PHIDGETKIT is not set
932# CONFIG_USB_PHIDGETSERVO is not set
933# CONFIG_USB_IDMOUSE is not set
934# CONFIG_USB_LD is not set
935
936#
937# USB DSL modem support
938#
939
940#
941# USB Gadget Support
942#
943# CONFIG_USB_GADGET is not set
944
945#
946# MMC/SD Card support
947#
948# CONFIG_MMC is not set
949
950#
951# Real Time Clock
952#
953CONFIG_RTC_LIB=y
954CONFIG_RTC_CLASS=y
955CONFIG_RTC_HCTOSYS=y
956CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
957
958#
959# RTC interfaces
960#
961CONFIG_RTC_INTF_SYSFS=y
962CONFIG_RTC_INTF_PROC=y
963CONFIG_RTC_INTF_DEV=y
964
965#
966# RTC drivers
967#
968# CONFIG_RTC_DRV_M48T86 is not set
969# CONFIG_RTC_DRV_TEST is not set
970
971#
972# File systems
973#
974CONFIG_EXT2_FS=y
975# CONFIG_EXT2_FS_XATTR is not set
976# CONFIG_EXT2_FS_XIP is not set
977# CONFIG_EXT3_FS is not set
978# CONFIG_REISERFS_FS is not set
979# CONFIG_JFS_FS is not set
980# CONFIG_FS_POSIX_ACL is not set
981# CONFIG_XFS_FS is not set
982# CONFIG_OCFS2_FS is not set
983# CONFIG_MINIX_FS is not set
984# CONFIG_ROMFS_FS is not set
985CONFIG_INOTIFY=y
986# CONFIG_QUOTA is not set
987CONFIG_DNOTIFY=y
988# CONFIG_AUTOFS_FS is not set
989# CONFIG_AUTOFS4_FS is not set
990# CONFIG_FUSE_FS is not set
991
992#
993# CD-ROM/DVD Filesystems
994#
995# CONFIG_ISO9660_FS is not set
996# CONFIG_UDF_FS is not set
997
998#
999# DOS/FAT/NT Filesystems
1000#
1001# CONFIG_MSDOS_FS is not set
1002# CONFIG_VFAT_FS is not set
1003# CONFIG_NTFS_FS is not set
1004
1005#
1006# Pseudo filesystems
1007#
1008CONFIG_PROC_FS=y
1009CONFIG_SYSFS=y
1010CONFIG_TMPFS=y
1011# CONFIG_HUGETLB_PAGE is not set
1012CONFIG_RAMFS=y
1013# CONFIG_CONFIGFS_FS is not set
1014
1015#
1016# Miscellaneous filesystems
1017#
1018# CONFIG_ADFS_FS is not set
1019# CONFIG_AFFS_FS is not set
1020# CONFIG_HFS_FS is not set
1021# CONFIG_HFSPLUS_FS is not set
1022# CONFIG_BEFS_FS is not set
1023# CONFIG_BFS_FS is not set
1024# CONFIG_EFS_FS is not set
1025# CONFIG_JFFS_FS is not set
1026CONFIG_JFFS2_FS=y
1027CONFIG_JFFS2_FS_DEBUG=0
1028CONFIG_JFFS2_FS_WRITEBUFFER=y
1029# CONFIG_JFFS2_SUMMARY is not set
1030# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
1031CONFIG_JFFS2_ZLIB=y
1032CONFIG_JFFS2_RTIME=y
1033# CONFIG_JFFS2_RUBIN is not set
1034CONFIG_CRAMFS=y
1035# CONFIG_SQUASHFS is not set
1036# CONFIG_VXFS_FS is not set
1037# CONFIG_HPFS_FS is not set
1038# CONFIG_QNX4FS_FS is not set
1039# CONFIG_SYSV_FS is not set
1040# CONFIG_UFS_FS is not set
1041
1042#
1043# Network File Systems
1044#
1045CONFIG_NFS_FS=y
1046CONFIG_NFS_V3=y
1047# CONFIG_NFS_V3_ACL is not set
1048# CONFIG_NFS_V4 is not set
1049# CONFIG_NFS_DIRECTIO is not set
1050CONFIG_NFSD=y
1051CONFIG_NFSD_V3=y
1052# CONFIG_NFSD_V3_ACL is not set
1053# CONFIG_NFSD_V4 is not set
1054# CONFIG_NFSD_TCP is not set
1055CONFIG_ROOT_NFS=y
1056CONFIG_LOCKD=y
1057CONFIG_LOCKD_V4=y
1058CONFIG_EXPORTFS=y
1059CONFIG_NFS_COMMON=y
1060CONFIG_SUNRPC=y
1061# CONFIG_RPCSEC_GSS_KRB5 is not set
1062# CONFIG_RPCSEC_GSS_SPKM3 is not set
1063CONFIG_SMB_FS=y
1064# CONFIG_SMB_NLS_DEFAULT is not set
1065# CONFIG_CIFS is not set
1066# CONFIG_NCP_FS is not set
1067# CONFIG_CODA_FS is not set
1068# CONFIG_AFS_FS is not set
1069# CONFIG_9P_FS is not set
1070
1071#
1072# Partition Types
1073#
1074CONFIG_PARTITION_ADVANCED=y
1075# CONFIG_ACORN_PARTITION is not set
1076# CONFIG_OSF_PARTITION is not set
1077# CONFIG_AMIGA_PARTITION is not set
1078# CONFIG_ATARI_PARTITION is not set
1079# CONFIG_MAC_PARTITION is not set
1080CONFIG_MSDOS_PARTITION=y
1081# CONFIG_BSD_DISKLABEL is not set
1082# CONFIG_MINIX_SUBPARTITION is not set
1083# CONFIG_SOLARIS_X86_PARTITION is not set
1084# CONFIG_UNIXWARE_DISKLABEL is not set
1085# CONFIG_LDM_PARTITION is not set
1086# CONFIG_SGI_PARTITION is not set
1087# CONFIG_ULTRIX_PARTITION is not set
1088# CONFIG_SUN_PARTITION is not set
1089# CONFIG_KARMA_PARTITION is not set
1090# CONFIG_EFI_PARTITION is not set
1091
1092#
1093# Native Language Support
1094#
1095CONFIG_NLS=y
1096CONFIG_NLS_DEFAULT="iso8859-1"
1097# CONFIG_NLS_CODEPAGE_437 is not set
1098# CONFIG_NLS_CODEPAGE_737 is not set
1099# CONFIG_NLS_CODEPAGE_775 is not set
1100# CONFIG_NLS_CODEPAGE_850 is not set
1101# CONFIG_NLS_CODEPAGE_852 is not set
1102# CONFIG_NLS_CODEPAGE_855 is not set
1103# CONFIG_NLS_CODEPAGE_857 is not set
1104# CONFIG_NLS_CODEPAGE_860 is not set
1105# CONFIG_NLS_CODEPAGE_861 is not set
1106# CONFIG_NLS_CODEPAGE_862 is not set
1107# CONFIG_NLS_CODEPAGE_863 is not set
1108# CONFIG_NLS_CODEPAGE_864 is not set
1109# CONFIG_NLS_CODEPAGE_865 is not set
1110# CONFIG_NLS_CODEPAGE_866 is not set
1111# CONFIG_NLS_CODEPAGE_869 is not set
1112# CONFIG_NLS_CODEPAGE_936 is not set
1113# CONFIG_NLS_CODEPAGE_950 is not set
1114# CONFIG_NLS_CODEPAGE_932 is not set
1115# CONFIG_NLS_CODEPAGE_949 is not set
1116# CONFIG_NLS_CODEPAGE_874 is not set
1117# CONFIG_NLS_ISO8859_8 is not set
1118# CONFIG_NLS_CODEPAGE_1250 is not set
1119# CONFIG_NLS_CODEPAGE_1251 is not set
1120# CONFIG_NLS_ASCII is not set
1121# CONFIG_NLS_ISO8859_1 is not set
1122# CONFIG_NLS_ISO8859_2 is not set
1123# CONFIG_NLS_ISO8859_3 is not set
1124# CONFIG_NLS_ISO8859_4 is not set
1125# CONFIG_NLS_ISO8859_5 is not set
1126# CONFIG_NLS_ISO8859_6 is not set
1127# CONFIG_NLS_ISO8859_7 is not set
1128# CONFIG_NLS_ISO8859_9 is not set
1129# CONFIG_NLS_ISO8859_13 is not set
1130# CONFIG_NLS_ISO8859_14 is not set
1131# CONFIG_NLS_ISO8859_15 is not set
1132# CONFIG_NLS_KOI8_R is not set
1133# CONFIG_NLS_KOI8_U is not set
1134# CONFIG_NLS_UTF8 is not set
1135
1136#
1137# Profiling support
1138#
1139CONFIG_PROFILING=y
1140CONFIG_OPROFILE=m
1141
1142#
1143# Kernel hacking
1144#
1145# CONFIG_PRINTK_TIME is not set
1146CONFIG_MAGIC_SYSRQ=y
1147CONFIG_DEBUG_KERNEL=y
1148CONFIG_LOG_BUF_SHIFT=14
1149CONFIG_DETECT_SOFTLOCKUP=y
1150# CONFIG_SCHEDSTATS is not set
1151# CONFIG_DEBUG_SLAB is not set
1152# CONFIG_DEBUG_MUTEXES is not set
1153# CONFIG_DEBUG_SPINLOCK is not set
1154# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1155# CONFIG_DEBUG_KOBJECT is not set
1156CONFIG_DEBUG_BUGVERBOSE=y
1157CONFIG_DEBUG_INFO=y
1158# CONFIG_DEBUG_FS is not set
1159# CONFIG_DEBUG_VM is not set
1160CONFIG_FRAME_POINTER=y
1161# CONFIG_UNWIND_INFO is not set
1162CONFIG_FORCED_INLINING=y
1163# CONFIG_RCU_TORTURE_TEST is not set
1164# CONFIG_DEBUG_USER is not set
1165# CONFIG_DEBUG_WAITQ is not set
1166CONFIG_DEBUG_ERRORS=y
1167# CONFIG_DEBUG_LL is not set
1168
1169#
1170# Security options
1171#
1172# CONFIG_KEYS is not set
1173# CONFIG_SECURITY is not set
1174
1175#
1176# Cryptographic options
1177#
1178# CONFIG_CRYPTO is not set
1179
1180#
1181# Hardware crypto devices
1182#
1183
1184#
1185# Library routines
1186#
1187# CONFIG_CRC_CCITT is not set
1188# CONFIG_CRC16 is not set
1189CONFIG_CRC32=y
1190# CONFIG_LIBCRC32C is not set
1191CONFIG_ZLIB_INFLATE=y
1192CONFIG_ZLIB_DEFLATE=y
1193# CONFIG_SHARPSL_RC is not set
diff --git a/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-qemux86 b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-qemux86
new file mode 100644
index 0000000000..08e0a0c6c7
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-qemux86
@@ -0,0 +1,1567 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.17
4# Mon Oct 16 19:42:42 2006
5#
6CONFIG_X86_32=y
7CONFIG_SEMAPHORE_SLEEPERS=y
8CONFIG_X86=y
9CONFIG_MMU=y
10CONFIG_GENERIC_ISA_DMA=y
11CONFIG_GENERIC_IOMAP=y
12CONFIG_GENERIC_HWEIGHT=y
13CONFIG_ARCH_MAY_HAVE_PC_FDC=y
14CONFIG_DMI=y
15
16#
17# Code maturity level options
18#
19CONFIG_EXPERIMENTAL=y
20CONFIG_LOCK_KERNEL=y
21CONFIG_INIT_ENV_ARG_LIMIT=32
22
23#
24# General setup
25#
26CONFIG_LOCALVERSION=""
27CONFIG_LOCALVERSION_AUTO=y
28CONFIG_SWAP=y
29CONFIG_SYSVIPC=y
30CONFIG_POSIX_MQUEUE=y
31# CONFIG_BSD_PROCESS_ACCT is not set
32CONFIG_SYSCTL=y
33CONFIG_AUDIT=y
34CONFIG_AUDITSYSCALL=y
35# CONFIG_IKCONFIG is not set
36# CONFIG_CPUSETS is not set
37# CONFIG_RELAY is not set
38CONFIG_INITRAMFS_SOURCE=""
39CONFIG_UID16=y
40CONFIG_VM86=y
41# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
42CONFIG_EMBEDDED=y
43CONFIG_KALLSYMS=y
44# CONFIG_KALLSYMS_EXTRA_PASS is not set
45CONFIG_HOTPLUG=y
46CONFIG_PRINTK=y
47CONFIG_BUG=y
48CONFIG_ELF_CORE=y
49CONFIG_BASE_FULL=y
50CONFIG_FUTEX=y
51CONFIG_EPOLL=y
52CONFIG_SHMEM=y
53CONFIG_SLAB=y
54# CONFIG_TINY_SHMEM is not set
55CONFIG_BASE_SMALL=0
56# CONFIG_SLOB is not set
57
58#
59# Loadable module support
60#
61CONFIG_MODULES=y
62# CONFIG_MODULE_UNLOAD is not set
63# CONFIG_MODVERSIONS is not set
64# CONFIG_MODULE_SRCVERSION_ALL is not set
65CONFIG_KMOD=y
66
67#
68# Block layer
69#
70CONFIG_LBD=y
71# CONFIG_BLK_DEV_IO_TRACE is not set
72# CONFIG_LSF is not set
73
74#
75# IO Schedulers
76#
77CONFIG_IOSCHED_NOOP=y
78CONFIG_IOSCHED_AS=y
79CONFIG_IOSCHED_DEADLINE=y
80CONFIG_IOSCHED_CFQ=y
81CONFIG_DEFAULT_AS=y
82# CONFIG_DEFAULT_DEADLINE is not set
83# CONFIG_DEFAULT_CFQ is not set
84# CONFIG_DEFAULT_NOOP is not set
85CONFIG_DEFAULT_IOSCHED="anticipatory"
86
87#
88# Processor type and features
89#
90CONFIG_SMP=y
91CONFIG_X86_PC=y
92# CONFIG_X86_ELAN is not set
93# CONFIG_X86_VOYAGER is not set
94# CONFIG_X86_NUMAQ is not set
95# CONFIG_X86_SUMMIT is not set
96# CONFIG_X86_BIGSMP is not set
97# CONFIG_X86_VISWS is not set
98# CONFIG_X86_GENERICARCH is not set
99# CONFIG_X86_ES7000 is not set
100CONFIG_M386=y
101# CONFIG_M486 is not set
102# CONFIG_M586 is not set
103# CONFIG_M586TSC is not set
104# CONFIG_M586MMX is not set
105# CONFIG_M686 is not set
106# CONFIG_MPENTIUMII is not set
107# CONFIG_MPENTIUMIII is not set
108# CONFIG_MPENTIUMM is not set
109# CONFIG_MPENTIUM4 is not set
110# CONFIG_MK6 is not set
111# CONFIG_MK7 is not set
112# CONFIG_MK8 is not set
113# CONFIG_MCRUSOE is not set
114# CONFIG_MEFFICEON is not set
115# CONFIG_MWINCHIPC6 is not set
116# CONFIG_MWINCHIP2 is not set
117# CONFIG_MWINCHIP3D is not set
118# CONFIG_MGEODEGX1 is not set
119# CONFIG_MGEODE_LX is not set
120# CONFIG_MCYRIXIII is not set
121# CONFIG_MVIAC3_2 is not set
122CONFIG_X86_GENERIC=y
123CONFIG_X86_L1_CACHE_SHIFT=7
124CONFIG_RWSEM_GENERIC_SPINLOCK=y
125CONFIG_GENERIC_CALIBRATE_DELAY=y
126CONFIG_X86_PPRO_FENCE=y
127CONFIG_X86_F00F_BUG=y
128CONFIG_X86_INTEL_USERCOPY=y
129# CONFIG_HPET_TIMER is not set
130CONFIG_NR_CPUS=8
131CONFIG_SCHED_SMT=y
132CONFIG_SCHED_MC=y
133CONFIG_PREEMPT_NONE=y
134# CONFIG_PREEMPT_VOLUNTARY is not set
135# CONFIG_PREEMPT is not set
136CONFIG_PREEMPT_BKL=y
137CONFIG_X86_LOCAL_APIC=y
138CONFIG_X86_IO_APIC=y
139CONFIG_X86_MCE=y
140CONFIG_X86_MCE_NONFATAL=y
141CONFIG_X86_MCE_P4THERMAL=y
142# CONFIG_TOSHIBA is not set
143# CONFIG_I8K is not set
144# CONFIG_X86_REBOOTFIXUPS is not set
145# CONFIG_MICROCODE is not set
146# CONFIG_X86_MSR is not set
147# CONFIG_X86_CPUID is not set
148
149#
150# Firmware Drivers
151#
152# CONFIG_EDD is not set
153# CONFIG_DELL_RBU is not set
154# CONFIG_DCDBAS is not set
155CONFIG_NOHIGHMEM=y
156# CONFIG_HIGHMEM4G is not set
157# CONFIG_HIGHMEM64G is not set
158CONFIG_PAGE_OFFSET=0xC0000000
159CONFIG_ARCH_FLATMEM_ENABLE=y
160CONFIG_ARCH_SPARSEMEM_ENABLE=y
161CONFIG_ARCH_SELECT_MEMORY_MODEL=y
162CONFIG_SELECT_MEMORY_MODEL=y
163CONFIG_FLATMEM_MANUAL=y
164# CONFIG_DISCONTIGMEM_MANUAL is not set
165# CONFIG_SPARSEMEM_MANUAL is not set
166CONFIG_FLATMEM=y
167CONFIG_FLAT_NODE_MEM_MAP=y
168CONFIG_SPARSEMEM_STATIC=y
169CONFIG_SPLIT_PTLOCK_CPUS=4
170# CONFIG_MATH_EMULATION is not set
171CONFIG_MTRR=y
172# CONFIG_EFI is not set
173CONFIG_IRQBALANCE=y
174# CONFIG_REGPARM is not set
175CONFIG_SECCOMP=y
176# CONFIG_HZ_100 is not set
177CONFIG_HZ_250=y
178# CONFIG_HZ_1000 is not set
179CONFIG_HZ=250
180# CONFIG_KEXEC is not set
181CONFIG_PHYSICAL_START=0x100000
182# CONFIG_HOTPLUG_CPU is not set
183
184#
185# Power management options (ACPI, APM)
186#
187CONFIG_PM=y
188CONFIG_PM_LEGACY=y
189# CONFIG_PM_DEBUG is not set
190
191#
192# ACPI (Advanced Configuration and Power Interface) Support
193#
194CONFIG_ACPI=y
195CONFIG_ACPI_AC=y
196CONFIG_ACPI_BATTERY=y
197CONFIG_ACPI_BUTTON=y
198CONFIG_ACPI_VIDEO=m
199# CONFIG_ACPI_HOTKEY is not set
200CONFIG_ACPI_FAN=y
201CONFIG_ACPI_PROCESSOR=y
202CONFIG_ACPI_THERMAL=y
203# CONFIG_ACPI_ASUS is not set
204CONFIG_ACPI_IBM=m
205# CONFIG_ACPI_IBM_DOCK is not set
206# CONFIG_ACPI_TOSHIBA is not set
207CONFIG_ACPI_BLACKLIST_YEAR=0
208# CONFIG_ACPI_DEBUG is not set
209CONFIG_ACPI_EC=y
210CONFIG_ACPI_POWER=y
211CONFIG_ACPI_SYSTEM=y
212CONFIG_X86_PM_TIMER=y
213# CONFIG_ACPI_CONTAINER is not set
214
215#
216# APM (Advanced Power Management) BIOS Support
217#
218# CONFIG_APM is not set
219
220#
221# CPU Frequency scaling
222#
223# CONFIG_CPU_FREQ is not set
224
225#
226# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
227#
228CONFIG_PCI=y
229# CONFIG_PCI_GOBIOS is not set
230# CONFIG_PCI_GOMMCONFIG is not set
231# CONFIG_PCI_GODIRECT is not set
232CONFIG_PCI_GOANY=y
233CONFIG_PCI_BIOS=y
234CONFIG_PCI_DIRECT=y
235CONFIG_PCI_MMCONFIG=y
236# CONFIG_PCIEPORTBUS is not set
237# CONFIG_PCI_MSI is not set
238CONFIG_ISA_DMA_API=y
239CONFIG_ISA=y
240# CONFIG_EISA is not set
241# CONFIG_MCA is not set
242# CONFIG_SCx200 is not set
243
244#
245# PCCARD (PCMCIA/CardBus) support
246#
247# CONFIG_PCCARD is not set
248
249#
250# PCI Hotplug Support
251#
252# CONFIG_HOTPLUG_PCI is not set
253
254#
255# Executable file formats
256#
257CONFIG_BINFMT_ELF=y
258CONFIG_BINFMT_AOUT=y
259CONFIG_BINFMT_MISC=y
260
261#
262# Networking
263#
264CONFIG_NET=y
265
266#
267# Networking options
268#
269# CONFIG_NETDEBUG is not set
270CONFIG_PACKET=y
271# CONFIG_PACKET_MMAP is not set
272CONFIG_UNIX=y
273# CONFIG_NET_KEY is not set
274CONFIG_INET=y
275CONFIG_IP_MULTICAST=y
276# CONFIG_IP_ADVANCED_ROUTER is not set
277CONFIG_IP_FIB_HASH=y
278CONFIG_IP_PNP=y
279CONFIG_IP_PNP_DHCP=y
280CONFIG_IP_PNP_BOOTP=y
281# CONFIG_IP_PNP_RARP is not set
282# CONFIG_NET_IPIP is not set
283# CONFIG_NET_IPGRE is not set
284# CONFIG_IP_MROUTE is not set
285# CONFIG_ARPD is not set
286# CONFIG_SYN_COOKIES is not set
287# CONFIG_INET_AH is not set
288# CONFIG_INET_ESP is not set
289# CONFIG_INET_IPCOMP is not set
290# CONFIG_INET_XFRM_TUNNEL is not set
291# CONFIG_INET_TUNNEL is not set
292CONFIG_INET_DIAG=y
293CONFIG_INET_TCP_DIAG=y
294# CONFIG_TCP_CONG_ADVANCED is not set
295CONFIG_TCP_CONG_BIC=y
296
297#
298# IP: Virtual Server Configuration
299#
300# CONFIG_IP_VS is not set
301# CONFIG_IPV6 is not set
302# CONFIG_INET6_XFRM_TUNNEL is not set
303# CONFIG_INET6_TUNNEL is not set
304CONFIG_NETFILTER=y
305# CONFIG_NETFILTER_DEBUG is not set
306
307#
308# Core Netfilter Configuration
309#
310# CONFIG_NETFILTER_NETLINK is not set
311# CONFIG_NETFILTER_XTABLES is not set
312
313#
314# IP: Netfilter Configuration
315#
316CONFIG_IP_NF_CONNTRACK=y
317# CONFIG_IP_NF_CT_ACCT is not set
318# CONFIG_IP_NF_CONNTRACK_MARK is not set
319# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
320# CONFIG_IP_NF_CT_PROTO_SCTP is not set
321# CONFIG_IP_NF_FTP is not set
322# CONFIG_IP_NF_IRC is not set
323# CONFIG_IP_NF_NETBIOS_NS is not set
324# CONFIG_IP_NF_TFTP is not set
325# CONFIG_IP_NF_AMANDA is not set
326# CONFIG_IP_NF_PPTP is not set
327# CONFIG_IP_NF_H323 is not set
328CONFIG_IP_NF_QUEUE=y
329
330#
331# DCCP Configuration (EXPERIMENTAL)
332#
333# CONFIG_IP_DCCP is not set
334
335#
336# SCTP Configuration (EXPERIMENTAL)
337#
338# CONFIG_IP_SCTP is not set
339
340#
341# TIPC Configuration (EXPERIMENTAL)
342#
343# CONFIG_TIPC is not set
344# CONFIG_ATM is not set
345# CONFIG_BRIDGE is not set
346# CONFIG_VLAN_8021Q is not set
347# CONFIG_DECNET is not set
348# CONFIG_LLC2 is not set
349# CONFIG_IPX is not set
350# CONFIG_ATALK is not set
351# CONFIG_X25 is not set
352# CONFIG_LAPB is not set
353# CONFIG_NET_DIVERT is not set
354# CONFIG_ECONET is not set
355# CONFIG_WAN_ROUTER is not set
356
357#
358# QoS and/or fair queueing
359#
360# CONFIG_NET_SCHED is not set
361
362#
363# Network testing
364#
365# CONFIG_NET_PKTGEN is not set
366# CONFIG_HAMRADIO is not set
367# CONFIG_IRDA is not set
368# CONFIG_BT is not set
369# CONFIG_IEEE80211 is not set
370
371#
372# Device Drivers
373#
374
375#
376# Generic Driver Options
377#
378CONFIG_STANDALONE=y
379CONFIG_PREVENT_FIRMWARE_BUILD=y
380CONFIG_FW_LOADER=m
381
382#
383# Connector - unified userspace <-> kernelspace linker
384#
385# CONFIG_CONNECTOR is not set
386
387#
388# Memory Technology Devices (MTD)
389#
390# CONFIG_MTD is not set
391
392#
393# Parallel port support
394#
395CONFIG_PARPORT=y
396CONFIG_PARPORT_PC=y
397# CONFIG_PARPORT_SERIAL is not set
398# CONFIG_PARPORT_PC_FIFO is not set
399# CONFIG_PARPORT_PC_SUPERIO is not set
400# CONFIG_PARPORT_GSC is not set
401# CONFIG_PARPORT_1284 is not set
402
403#
404# Plug and Play support
405#
406CONFIG_PNP=y
407# CONFIG_PNP_DEBUG is not set
408
409#
410# Protocols
411#
412# CONFIG_ISAPNP is not set
413# CONFIG_PNPBIOS is not set
414CONFIG_PNPACPI=y
415
416#
417# Block devices
418#
419CONFIG_BLK_DEV_FD=y
420# CONFIG_BLK_DEV_XD is not set
421# CONFIG_PARIDE is not set
422# CONFIG_BLK_CPQ_DA is not set
423# CONFIG_BLK_CPQ_CISS_DA is not set
424# CONFIG_BLK_DEV_DAC960 is not set
425# CONFIG_BLK_DEV_UMEM is not set
426# CONFIG_BLK_DEV_COW_COMMON is not set
427# CONFIG_BLK_DEV_LOOP is not set
428# CONFIG_BLK_DEV_NBD is not set
429# CONFIG_BLK_DEV_SX8 is not set
430# CONFIG_BLK_DEV_UB is not set
431CONFIG_BLK_DEV_RAM=y
432CONFIG_BLK_DEV_RAM_COUNT=16
433CONFIG_BLK_DEV_RAM_SIZE=51200
434CONFIG_BLK_DEV_INITRD=y
435# CONFIG_CDROM_PKTCDVD is not set
436# CONFIG_ATA_OVER_ETH is not set
437
438#
439# ATA/ATAPI/MFM/RLL support
440#
441CONFIG_IDE=y
442CONFIG_BLK_DEV_IDE=y
443
444#
445# Please see Documentation/ide.txt for help/info on IDE drives
446#
447# CONFIG_BLK_DEV_IDE_SATA is not set
448# CONFIG_BLK_DEV_HD_IDE is not set
449CONFIG_BLK_DEV_IDEDISK=y
450CONFIG_IDEDISK_MULTI_MODE=y
451CONFIG_BLK_DEV_IDECD=y
452# CONFIG_BLK_DEV_IDETAPE is not set
453# CONFIG_BLK_DEV_IDEFLOPPY is not set
454# CONFIG_BLK_DEV_IDESCSI is not set
455# CONFIG_IDE_TASK_IOCTL is not set
456
457#
458# IDE chipset support/bugfixes
459#
460CONFIG_IDE_GENERIC=y
461CONFIG_BLK_DEV_CMD640=y
462# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
463# CONFIG_BLK_DEV_IDEPNP is not set
464CONFIG_BLK_DEV_IDEPCI=y
465CONFIG_IDEPCI_SHARE_IRQ=y
466# CONFIG_BLK_DEV_OFFBOARD is not set
467CONFIG_BLK_DEV_GENERIC=y
468# CONFIG_BLK_DEV_OPTI621 is not set
469CONFIG_BLK_DEV_RZ1000=y
470CONFIG_BLK_DEV_IDEDMA_PCI=y
471# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
472CONFIG_IDEDMA_PCI_AUTO=y
473# CONFIG_IDEDMA_ONLYDISK is not set
474# CONFIG_BLK_DEV_AEC62XX is not set
475# CONFIG_BLK_DEV_ALI15X3 is not set
476# CONFIG_BLK_DEV_AMD74XX is not set
477# CONFIG_BLK_DEV_ATIIXP is not set
478# CONFIG_BLK_DEV_CMD64X is not set
479# CONFIG_BLK_DEV_TRIFLEX is not set
480# CONFIG_BLK_DEV_CY82C693 is not set
481# CONFIG_BLK_DEV_CS5520 is not set
482# CONFIG_BLK_DEV_CS5530 is not set
483# CONFIG_BLK_DEV_CS5535 is not set
484# CONFIG_BLK_DEV_HPT34X is not set
485# CONFIG_BLK_DEV_HPT366 is not set
486# CONFIG_BLK_DEV_SC1200 is not set
487CONFIG_BLK_DEV_PIIX=y
488# CONFIG_BLK_DEV_IT821X is not set
489# CONFIG_BLK_DEV_NS87415 is not set
490# CONFIG_BLK_DEV_PDC202XX_OLD is not set
491# CONFIG_BLK_DEV_PDC202XX_NEW is not set
492# CONFIG_BLK_DEV_SVWKS is not set
493# CONFIG_BLK_DEV_SIIMAGE is not set
494# CONFIG_BLK_DEV_SIS5513 is not set
495# CONFIG_BLK_DEV_SLC90E66 is not set
496# CONFIG_BLK_DEV_TRM290 is not set
497# CONFIG_BLK_DEV_VIA82CXXX is not set
498# CONFIG_IDE_ARM is not set
499# CONFIG_IDE_CHIPSETS is not set
500CONFIG_BLK_DEV_IDEDMA=y
501# CONFIG_IDEDMA_IVB is not set
502CONFIG_IDEDMA_AUTO=y
503# CONFIG_BLK_DEV_HD is not set
504
505#
506# SCSI device support
507#
508# CONFIG_RAID_ATTRS is not set
509CONFIG_SCSI=y
510CONFIG_SCSI_PROC_FS=y
511
512#
513# SCSI support type (disk, tape, CD-ROM)
514#
515CONFIG_BLK_DEV_SD=y
516# CONFIG_CHR_DEV_ST is not set
517# CONFIG_CHR_DEV_OSST is not set
518# CONFIG_BLK_DEV_SR is not set
519CONFIG_CHR_DEV_SG=y
520# CONFIG_CHR_DEV_SCH is not set
521
522#
523# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
524#
525# CONFIG_SCSI_MULTI_LUN is not set
526# CONFIG_SCSI_CONSTANTS is not set
527# CONFIG_SCSI_LOGGING is not set
528
529#
530# SCSI Transport Attributes
531#
532# CONFIG_SCSI_SPI_ATTRS is not set
533# CONFIG_SCSI_FC_ATTRS is not set
534# CONFIG_SCSI_ISCSI_ATTRS is not set
535# CONFIG_SCSI_SAS_ATTRS is not set
536
537#
538# SCSI low-level drivers
539#
540# CONFIG_ISCSI_TCP is not set
541# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
542# CONFIG_SCSI_3W_9XXX is not set
543# CONFIG_SCSI_7000FASST is not set
544# CONFIG_SCSI_ACARD is not set
545# CONFIG_SCSI_AHA152X is not set
546# CONFIG_SCSI_AHA1542 is not set
547# CONFIG_SCSI_AACRAID is not set
548# CONFIG_SCSI_AIC7XXX is not set
549# CONFIG_SCSI_AIC7XXX_OLD is not set
550# CONFIG_SCSI_AIC79XX is not set
551CONFIG_SCSI_DPT_I2O=m
552# CONFIG_SCSI_ADVANSYS is not set
553# CONFIG_SCSI_IN2000 is not set
554# CONFIG_MEGARAID_NEWGEN is not set
555# CONFIG_MEGARAID_LEGACY is not set
556# CONFIG_MEGARAID_SAS is not set
557CONFIG_SCSI_SATA=y
558# CONFIG_SCSI_SATA_AHCI is not set
559# CONFIG_SCSI_SATA_SVW is not set
560CONFIG_SCSI_ATA_PIIX=y
561# CONFIG_SCSI_SATA_MV is not set
562# CONFIG_SCSI_SATA_NV is not set
563# CONFIG_SCSI_PDC_ADMA is not set
564# CONFIG_SCSI_SATA_QSTOR is not set
565# CONFIG_SCSI_SATA_PROMISE is not set
566CONFIG_SCSI_SATA_SX4=m
567# CONFIG_SCSI_SATA_SIL is not set
568# CONFIG_SCSI_SATA_SIL24 is not set
569CONFIG_SCSI_SATA_SIS=m
570# CONFIG_SCSI_SATA_ULI is not set
571# CONFIG_SCSI_SATA_VIA is not set
572# CONFIG_SCSI_SATA_VITESSE is not set
573CONFIG_SCSI_SATA_INTEL_COMBINED=y
574# CONFIG_SCSI_BUSLOGIC is not set
575# CONFIG_SCSI_DMX3191D is not set
576# CONFIG_SCSI_DTC3280 is not set
577# CONFIG_SCSI_EATA is not set
578# CONFIG_SCSI_FUTURE_DOMAIN is not set
579# CONFIG_SCSI_GDTH is not set
580# CONFIG_SCSI_GENERIC_NCR5380 is not set
581# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
582# CONFIG_SCSI_IPS is not set
583# CONFIG_SCSI_INITIO is not set
584# CONFIG_SCSI_INIA100 is not set
585# CONFIG_SCSI_PPA is not set
586# CONFIG_SCSI_IMM is not set
587# CONFIG_SCSI_NCR53C406A is not set
588# CONFIG_SCSI_SYM53C8XX_2 is not set
589CONFIG_SCSI_IPR=m
590# CONFIG_SCSI_IPR_TRACE is not set
591# CONFIG_SCSI_IPR_DUMP is not set
592# CONFIG_SCSI_PAS16 is not set
593# CONFIG_SCSI_PSI240I is not set
594# CONFIG_SCSI_QLOGIC_FAS is not set
595# CONFIG_SCSI_QLOGIC_1280 is not set
596# CONFIG_SCSI_QLA_FC is not set
597# CONFIG_SCSI_LPFC is not set
598# CONFIG_SCSI_SYM53C416 is not set
599# CONFIG_SCSI_DC395x is not set
600# CONFIG_SCSI_DC390T is not set
601# CONFIG_SCSI_T128 is not set
602# CONFIG_SCSI_U14_34F is not set
603# CONFIG_SCSI_ULTRASTOR is not set
604# CONFIG_SCSI_NSP32 is not set
605# CONFIG_SCSI_DEBUG is not set
606
607#
608# Old CD-ROM drivers (not SCSI, not IDE)
609#
610# CONFIG_CD_NO_IDESCSI is not set
611
612#
613# Multi-device support (RAID and LVM)
614#
615CONFIG_MD=y
616CONFIG_BLK_DEV_DM=m
617CONFIG_DM_CRYPT=m
618CONFIG_DM_SNAPSHOT=m
619CONFIG_DM_MIRROR=m
620CONFIG_DM_ZERO=m
621CONFIG_DM_MULTIPATH=m
622CONFIG_DM_MULTIPATH_EMC=m
623
624#
625# Fusion MPT device support
626#
627# CONFIG_FUSION is not set
628# CONFIG_FUSION_SPI is not set
629# CONFIG_FUSION_FC is not set
630# CONFIG_FUSION_SAS is not set
631
632#
633# IEEE 1394 (FireWire) support
634#
635CONFIG_IEEE1394=y
636
637#
638# Subsystem Options
639#
640# CONFIG_IEEE1394_VERBOSEDEBUG is not set
641# CONFIG_IEEE1394_OUI_DB is not set
642# CONFIG_IEEE1394_EXTRA_CONFIG_ROMS is not set
643# CONFIG_IEEE1394_EXPORT_FULL_API is not set
644
645#
646# Device Drivers
647#
648
649#
650# Texas Instruments PCILynx requires I2C
651#
652CONFIG_IEEE1394_OHCI1394=y
653
654#
655# Protocol Drivers
656#
657# CONFIG_IEEE1394_VIDEO1394 is not set
658# CONFIG_IEEE1394_SBP2 is not set
659# CONFIG_IEEE1394_ETH1394 is not set
660# CONFIG_IEEE1394_DV1394 is not set
661CONFIG_IEEE1394_RAWIO=y
662
663#
664# I2O device support
665#
666# CONFIG_I2O is not set
667
668#
669# Network device support
670#
671CONFIG_NETDEVICES=y
672CONFIG_DUMMY=m
673# CONFIG_BONDING is not set
674# CONFIG_EQUALIZER is not set
675# CONFIG_TUN is not set
676# CONFIG_NET_SB1000 is not set
677
678#
679# ARCnet devices
680#
681# CONFIG_ARCNET is not set
682
683#
684# PHY device support
685#
686# CONFIG_PHYLIB is not set
687
688#
689# Ethernet (10 or 100Mbit)
690#
691CONFIG_NET_ETHERNET=y
692CONFIG_MII=y
693# CONFIG_HAPPYMEAL is not set
694# CONFIG_SUNGEM is not set
695# CONFIG_CASSINI is not set
696# CONFIG_NET_VENDOR_3COM is not set
697# CONFIG_LANCE is not set
698# CONFIG_NET_VENDOR_SMC is not set
699# CONFIG_NET_VENDOR_RACAL is not set
700
701#
702# Tulip family network device support
703#
704# CONFIG_NET_TULIP is not set
705# CONFIG_AT1700 is not set
706# CONFIG_DEPCA is not set
707# CONFIG_HP100 is not set
708CONFIG_NET_ISA=y
709# CONFIG_E2100 is not set
710# CONFIG_EWRK3 is not set
711# CONFIG_EEXPRESS is not set
712# CONFIG_EEXPRESS_PRO is not set
713# CONFIG_HPLAN_PLUS is not set
714# CONFIG_HPLAN is not set
715# CONFIG_LP486E is not set
716# CONFIG_ETH16I is not set
717CONFIG_NE2000=y
718# CONFIG_ZNET is not set
719# CONFIG_SEEQ8005 is not set
720CONFIG_NET_PCI=y
721# CONFIG_PCNET32 is not set
722# CONFIG_AMD8111_ETH is not set
723# CONFIG_ADAPTEC_STARFIRE is not set
724# CONFIG_AC3200 is not set
725# CONFIG_APRICOT is not set
726# CONFIG_B44 is not set
727# CONFIG_FORCEDETH is not set
728# CONFIG_CS89x0 is not set
729# CONFIG_DGRS is not set
730# CONFIG_EEPRO100 is not set
731# CONFIG_E100 is not set
732# CONFIG_FEALNX is not set
733# CONFIG_NATSEMI is not set
734CONFIG_NE2K_PCI=y
735# CONFIG_8139CP is not set
736CONFIG_8139TOO=y
737CONFIG_8139TOO_PIO=y
738# CONFIG_8139TOO_TUNE_TWISTER is not set
739# CONFIG_8139TOO_8129 is not set
740# CONFIG_8139_OLD_RX_RESET is not set
741# CONFIG_SIS900 is not set
742# CONFIG_EPIC100 is not set
743# CONFIG_SUNDANCE is not set
744# CONFIG_TLAN is not set
745# CONFIG_VIA_RHINE is not set
746# CONFIG_NET_POCKET is not set
747
748#
749# Ethernet (1000 Mbit)
750#
751# CONFIG_ACENIC is not set
752# CONFIG_DL2K is not set
753# CONFIG_E1000 is not set
754# CONFIG_NS83820 is not set
755# CONFIG_HAMACHI is not set
756# CONFIG_YELLOWFIN is not set
757# CONFIG_R8169 is not set
758# CONFIG_SIS190 is not set
759# CONFIG_SKGE is not set
760# CONFIG_SKY2 is not set
761# CONFIG_SK98LIN is not set
762# CONFIG_VIA_VELOCITY is not set
763# CONFIG_TIGON3 is not set
764# CONFIG_BNX2 is not set
765
766#
767# Ethernet (10000 Mbit)
768#
769# CONFIG_CHELSIO_T1 is not set
770# CONFIG_IXGB is not set
771CONFIG_S2IO=m
772# CONFIG_S2IO_NAPI is not set
773
774#
775# Token Ring devices
776#
777# CONFIG_TR is not set
778
779#
780# Wireless LAN (non-hamradio)
781#
782# CONFIG_NET_RADIO is not set
783
784#
785# Wan interfaces
786#
787# CONFIG_WAN is not set
788# CONFIG_FDDI is not set
789# CONFIG_HIPPI is not set
790# CONFIG_PLIP is not set
791# CONFIG_PPP is not set
792# CONFIG_SLIP is not set
793# CONFIG_NET_FC is not set
794# CONFIG_SHAPER is not set
795# CONFIG_NETCONSOLE is not set
796# CONFIG_NETPOLL is not set
797# CONFIG_NET_POLL_CONTROLLER is not set
798
799#
800# ISDN subsystem
801#
802# CONFIG_ISDN is not set
803
804#
805# Telephony Support
806#
807# CONFIG_PHONE is not set
808
809#
810# Input device support
811#
812CONFIG_INPUT=y
813
814#
815# Userland interfaces
816#
817# CONFIG_INPUT_MOUSEDEV is not set
818# CONFIG_INPUT_JOYDEV is not set
819# CONFIG_INPUT_TSDEV is not set
820CONFIG_INPUT_EVDEV=y
821# CONFIG_INPUT_EVBUG is not set
822# CONFIG_INPUT_POWER is not set
823
824#
825# Input Device Drivers
826#
827CONFIG_INPUT_KEYBOARD=y
828CONFIG_KEYBOARD_ATKBD=y
829# CONFIG_KEYBOARD_SUNKBD is not set
830# CONFIG_KEYBOARD_LKKBD is not set
831# CONFIG_KEYBOARD_XTKBD is not set
832# CONFIG_KEYBOARD_NEWTON is not set
833# CONFIG_INPUT_MOUSE is not set
834# CONFIG_MOUSE_PS2 is not set
835# CONFIG_MOUSE_SERIAL is not set
836# CONFIG_MOUSE_INPORT is not set
837# CONFIG_MOUSE_LOGIBM is not set
838# CONFIG_MOUSE_PC110PAD is not set
839# CONFIG_MOUSE_VSXXXAA is not set
840# CONFIG_INPUT_JOYSTICK is not set
841# CONFIG_INPUT_TOUCHSCREEN is not set
842# CONFIG_INPUT_MISC is not set
843
844#
845# Hardware I/O ports
846#
847CONFIG_SERIO=y
848CONFIG_SERIO_I8042=y
849# CONFIG_SERIO_SERPORT is not set
850# CONFIG_SERIO_CT82C710 is not set
851# CONFIG_SERIO_PARKBD is not set
852# CONFIG_SERIO_PCIPS2 is not set
853CONFIG_SERIO_LIBPS2=y
854# CONFIG_SERIO_RAW is not set
855# CONFIG_GAMEPORT is not set
856
857#
858# Character devices
859#
860CONFIG_VT=y
861CONFIG_VT_CONSOLE=y
862CONFIG_HW_CONSOLE=y
863# CONFIG_SERIAL_NONSTANDARD is not set
864
865#
866# Serial drivers
867#
868CONFIG_SERIAL_8250=y
869# CONFIG_SERIAL_8250_CONSOLE is not set
870CONFIG_SERIAL_8250_PCI=y
871CONFIG_SERIAL_8250_PNP=y
872CONFIG_SERIAL_8250_NR_UARTS=4
873CONFIG_SERIAL_8250_RUNTIME_UARTS=4
874# CONFIG_SERIAL_8250_EXTENDED is not set
875
876#
877# Non-8250 serial port support
878#
879CONFIG_SERIAL_CORE=y
880# CONFIG_SERIAL_JSM is not set
881CONFIG_UNIX98_PTYS=y
882# CONFIG_LEGACY_PTYS is not set
883CONFIG_PRINTER=y
884# CONFIG_LP_CONSOLE is not set
885# CONFIG_PPDEV is not set
886# CONFIG_TIPAR is not set
887
888#
889# IPMI
890#
891# CONFIG_IPMI_HANDLER is not set
892
893#
894# Watchdog Cards
895#
896# CONFIG_WATCHDOG is not set
897# CONFIG_HW_RANDOM is not set
898# CONFIG_NVRAM is not set
899# CONFIG_RTC is not set
900# CONFIG_GEN_RTC is not set
901# CONFIG_DTLK is not set
902# CONFIG_R3964 is not set
903# CONFIG_APPLICOM is not set
904# CONFIG_SONYPI is not set
905
906#
907# Ftape, the floppy tape device driver
908#
909CONFIG_AGP=y
910# CONFIG_AGP_ALI is not set
911# CONFIG_AGP_ATI is not set
912# CONFIG_AGP_AMD is not set
913# CONFIG_AGP_AMD64 is not set
914CONFIG_AGP_INTEL=y
915# CONFIG_AGP_NVIDIA is not set
916# CONFIG_AGP_SIS is not set
917# CONFIG_AGP_SWORKS is not set
918# CONFIG_AGP_VIA is not set
919# CONFIG_AGP_EFFICEON is not set
920CONFIG_DRM=y
921# CONFIG_DRM_TDFX is not set
922# CONFIG_DRM_R128 is not set
923# CONFIG_DRM_RADEON is not set
924# CONFIG_DRM_I810 is not set
925# CONFIG_DRM_I830 is not set
926# CONFIG_DRM_I915 is not set
927# CONFIG_DRM_MGA is not set
928# CONFIG_DRM_SIS is not set
929# CONFIG_DRM_VIA is not set
930# CONFIG_DRM_SAVAGE is not set
931# CONFIG_MWAVE is not set
932# CONFIG_CS5535_GPIO is not set
933# CONFIG_RAW_DRIVER is not set
934# CONFIG_HPET is not set
935# CONFIG_HANGCHECK_TIMER is not set
936
937#
938# TPM devices
939#
940# CONFIG_TCG_TPM is not set
941# CONFIG_TELCLOCK is not set
942
943#
944# I2C support
945#
946# CONFIG_I2C is not set
947
948#
949# SPI support
950#
951# CONFIG_SPI is not set
952# CONFIG_SPI_MASTER is not set
953
954#
955# Dallas's 1-wire bus
956#
957# CONFIG_W1 is not set
958
959#
960# Hardware Monitoring support
961#
962CONFIG_HWMON=y
963# CONFIG_HWMON_VID is not set
964# CONFIG_SENSORS_F71805F is not set
965# CONFIG_SENSORS_HDAPS is not set
966# CONFIG_HWMON_DEBUG_CHIP is not set
967
968#
969# Misc devices
970#
971# CONFIG_IBM_ASM is not set
972
973#
974# Multi-Function Devices
975#
976
977#
978# Multimedia devices
979#
980CONFIG_VIDEO_DEV=m
981CONFIG_VIDEO_V4L1=y
982CONFIG_VIDEO_V4L1_COMPAT=y
983CONFIG_VIDEO_V4L2=y
984
985#
986# Digital Video Broadcasting Devices
987#
988# CONFIG_DVB is not set
989# CONFIG_USB_DABUSB is not set
990
991#
992# Graphics support
993#
994CONFIG_FB=y
995CONFIG_FB_CFB_FILLRECT=y
996CONFIG_FB_CFB_COPYAREA=y
997CONFIG_FB_CFB_IMAGEBLIT=y
998# CONFIG_FB_MACMODES is not set
999CONFIG_FB_FIRMWARE_EDID=y
1000CONFIG_FB_MODE_HELPERS=y
1001# CONFIG_FB_TILEBLITTING is not set
1002# CONFIG_FB_CIRRUS is not set
1003# CONFIG_FB_PM2 is not set
1004# CONFIG_FB_CYBER2000 is not set
1005# CONFIG_FB_ARC is not set
1006# CONFIG_FB_ASILIANT is not set
1007# CONFIG_FB_IMSTT is not set
1008CONFIG_FB_VGA16=y
1009CONFIG_FB_VESA=y
1010# CONFIG_FB_VESA_STD is not set
1011CONFIG_FB_VESA_TNG=y
1012CONFIG_FB_VESA_DEFAULT_MODE="640x480-32@60"
1013CONFIG_VIDEO_SELECT=y
1014# CONFIG_FB_HGA is not set
1015# CONFIG_FB_S1D13XXX is not set
1016# CONFIG_FB_NVIDIA is not set
1017# CONFIG_FB_RIVA is not set
1018# CONFIG_FB_I810 is not set
1019# CONFIG_FB_INTEL is not set
1020# CONFIG_FB_MATROX is not set
1021# CONFIG_FB_RADEON is not set
1022# CONFIG_FB_ATY128 is not set
1023# CONFIG_FB_ATY is not set
1024# CONFIG_FB_SAVAGE is not set
1025# CONFIG_FB_SIS is not set
1026# CONFIG_FB_NEOMAGIC is not set
1027# CONFIG_FB_KYRO is not set
1028# CONFIG_FB_3DFX is not set
1029# CONFIG_FB_VOODOO1 is not set
1030# CONFIG_FB_CYBLA is not set
1031# CONFIG_FB_TRIDENT is not set
1032# CONFIG_FB_GEODE is not set
1033# CONFIG_FB_VIRTUAL is not set
1034
1035#
1036# Console display driver support
1037#
1038CONFIG_VGA_CONSOLE=y
1039# CONFIG_VGACON_SOFT_SCROLLBACK is not set
1040# CONFIG_MDA_CONSOLE is not set
1041CONFIG_DUMMY_CONSOLE=y
1042CONFIG_FRAMEBUFFER_CONSOLE=y
1043# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
1044CONFIG_FONTS=y
1045CONFIG_FONT_8x8=y
1046CONFIG_FONT_8x16=y
1047# CONFIG_FONT_6x11 is not set
1048# CONFIG_FONT_7x14 is not set
1049# CONFIG_FONT_PEARL_8x8 is not set
1050# CONFIG_FONT_ACORN_8x8 is not set
1051# CONFIG_FONT_MINI_4x6 is not set
1052# CONFIG_FONT_SUN8x16 is not set
1053# CONFIG_FONT_SUN12x22 is not set
1054# CONFIG_FONT_10x18 is not set
1055
1056#
1057# Logo configuration
1058#
1059CONFIG_LOGO=y
1060# CONFIG_LOGO_LINUX_MONO is not set
1061# CONFIG_LOGO_LINUX_VGA16 is not set
1062# CONFIG_LOGO_LINUX_CLUT224 is not set
1063CONFIG_LOGO_OHAND_CLUT224=y
1064# CONFIG_LOGO_OZ240_CLUT224 is not set
1065# CONFIG_LOGO_OZ480_CLUT224 is not set
1066# CONFIG_LOGO_OZ640_CLUT224 is not set
1067# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
1068
1069#
1070# Sound
1071#
1072CONFIG_SOUND=y
1073
1074#
1075# Advanced Linux Sound Architecture
1076#
1077CONFIG_SND=y
1078CONFIG_SND_TIMER=y
1079CONFIG_SND_PCM=y
1080CONFIG_SND_SEQUENCER=y
1081# CONFIG_SND_SEQ_DUMMY is not set
1082CONFIG_SND_OSSEMUL=y
1083CONFIG_SND_MIXER_OSS=y
1084CONFIG_SND_PCM_OSS=y
1085CONFIG_SND_PCM_OSS_PLUGINS=y
1086CONFIG_SND_SEQUENCER_OSS=y
1087# CONFIG_SND_DYNAMIC_MINORS is not set
1088CONFIG_SND_SUPPORT_OLD_API=y
1089CONFIG_SND_VERBOSE_PROCFS=y
1090# CONFIG_SND_VERBOSE_PRINTK is not set
1091# CONFIG_SND_DEBUG is not set
1092
1093#
1094# Generic devices
1095#
1096CONFIG_SND_AC97_CODEC=y
1097CONFIG_SND_AC97_BUS=y
1098# CONFIG_SND_DUMMY is not set
1099# CONFIG_SND_VIRMIDI is not set
1100# CONFIG_SND_MTPAV is not set
1101# CONFIG_SND_SERIAL_U16550 is not set
1102# CONFIG_SND_MPU401 is not set
1103
1104#
1105# ISA devices
1106#
1107# CONFIG_SND_ADLIB is not set
1108# CONFIG_SND_AD1816A is not set
1109# CONFIG_SND_AD1848 is not set
1110# CONFIG_SND_ALS100 is not set
1111# CONFIG_SND_AZT2320 is not set
1112# CONFIG_SND_CMI8330 is not set
1113# CONFIG_SND_CS4231 is not set
1114# CONFIG_SND_CS4232 is not set
1115# CONFIG_SND_CS4236 is not set
1116# CONFIG_SND_DT019X is not set
1117# CONFIG_SND_ES968 is not set
1118# CONFIG_SND_ES1688 is not set
1119# CONFIG_SND_ES18XX is not set
1120# CONFIG_SND_GUSCLASSIC is not set
1121# CONFIG_SND_GUSEXTREME is not set
1122# CONFIG_SND_GUSMAX is not set
1123# CONFIG_SND_INTERWAVE is not set
1124# CONFIG_SND_INTERWAVE_STB is not set
1125# CONFIG_SND_OPL3SA2 is not set
1126# CONFIG_SND_OPTI92X_AD1848 is not set
1127# CONFIG_SND_OPTI92X_CS4231 is not set
1128# CONFIG_SND_OPTI93X is not set
1129# CONFIG_SND_MIRO is not set
1130# CONFIG_SND_SB8 is not set
1131# CONFIG_SND_SB16 is not set
1132# CONFIG_SND_SBAWE is not set
1133# CONFIG_SND_SGALAXY is not set
1134# CONFIG_SND_SSCAPE is not set
1135# CONFIG_SND_WAVEFRONT is not set
1136
1137#
1138# PCI devices
1139#
1140# CONFIG_SND_AD1889 is not set
1141# CONFIG_SND_ALS300 is not set
1142# CONFIG_SND_ALS4000 is not set
1143# CONFIG_SND_ALI5451 is not set
1144# CONFIG_SND_ATIIXP is not set
1145# CONFIG_SND_ATIIXP_MODEM is not set
1146# CONFIG_SND_AU8810 is not set
1147# CONFIG_SND_AU8820 is not set
1148# CONFIG_SND_AU8830 is not set
1149# CONFIG_SND_AZT3328 is not set
1150# CONFIG_SND_BT87X is not set
1151# CONFIG_SND_CA0106 is not set
1152# CONFIG_SND_CMIPCI is not set
1153# CONFIG_SND_CS4281 is not set
1154# CONFIG_SND_CS46XX is not set
1155# CONFIG_SND_CS5535AUDIO is not set
1156# CONFIG_SND_EMU10K1 is not set
1157# CONFIG_SND_EMU10K1X is not set
1158# CONFIG_SND_ENS1370 is not set
1159# CONFIG_SND_ENS1371 is not set
1160# CONFIG_SND_ES1938 is not set
1161# CONFIG_SND_ES1968 is not set
1162# CONFIG_SND_FM801 is not set
1163# CONFIG_SND_HDA_INTEL is not set
1164# CONFIG_SND_HDSP is not set
1165# CONFIG_SND_HDSPM is not set
1166# CONFIG_SND_ICE1712 is not set
1167# CONFIG_SND_ICE1724 is not set
1168CONFIG_SND_INTEL8X0=y
1169# CONFIG_SND_INTEL8X0M is not set
1170# CONFIG_SND_KORG1212 is not set
1171# CONFIG_SND_MAESTRO3 is not set
1172# CONFIG_SND_MIXART is not set
1173# CONFIG_SND_NM256 is not set
1174# CONFIG_SND_PCXHR is not set
1175# CONFIG_SND_RIPTIDE is not set
1176# CONFIG_SND_RME32 is not set
1177# CONFIG_SND_RME96 is not set
1178# CONFIG_SND_RME9652 is not set
1179# CONFIG_SND_SONICVIBES is not set
1180# CONFIG_SND_TRIDENT is not set
1181# CONFIG_SND_VIA82XX is not set
1182# CONFIG_SND_VIA82XX_MODEM is not set
1183# CONFIG_SND_VX222 is not set
1184# CONFIG_SND_YMFPCI is not set
1185
1186#
1187# USB devices
1188#
1189# CONFIG_SND_USB_AUDIO is not set
1190# CONFIG_SND_USB_USX2Y is not set
1191
1192#
1193# SoC audio support
1194#
1195# CONFIG_SND_SOC is not set
1196
1197#
1198# Open Sound System
1199#
1200# CONFIG_SOUND_PRIME is not set
1201
1202#
1203# USB support
1204#
1205CONFIG_USB_ARCH_HAS_HCD=y
1206CONFIG_USB_ARCH_HAS_OHCI=y
1207CONFIG_USB_ARCH_HAS_EHCI=y
1208CONFIG_USB=y
1209# CONFIG_USB_DEBUG is not set
1210
1211#
1212# Miscellaneous USB options
1213#
1214CONFIG_USB_DEVICEFS=y
1215# CONFIG_USB_BANDWIDTH is not set
1216# CONFIG_USB_DYNAMIC_MINORS is not set
1217# CONFIG_USB_SUSPEND is not set
1218# CONFIG_USB_OTG is not set
1219
1220#
1221# USB Host Controller Drivers
1222#
1223CONFIG_USB_EHCI_HCD=y
1224# CONFIG_USB_EHCI_SPLIT_ISO is not set
1225# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1226# CONFIG_USB_ISP116X_HCD is not set
1227CONFIG_USB_OHCI_HCD=y
1228CONFIG_USB_UHCI_HCD=y
1229# CONFIG_USB_SL811_HCD is not set
1230
1231#
1232# USB Device Class drivers
1233#
1234# CONFIG_USB_ACM is not set
1235CONFIG_USB_PRINTER=y
1236
1237#
1238# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1239#
1240
1241#
1242# may also be needed; see USB_STORAGE Help for more information
1243#
1244CONFIG_USB_STORAGE=y
1245# CONFIG_USB_STORAGE_DEBUG is not set
1246# CONFIG_USB_STORAGE_DATAFAB is not set
1247# CONFIG_USB_STORAGE_FREECOM is not set
1248# CONFIG_USB_STORAGE_ISD200 is not set
1249# CONFIG_USB_STORAGE_DPCM is not set
1250# CONFIG_USB_STORAGE_USBAT is not set
1251# CONFIG_USB_STORAGE_SDDR09 is not set
1252# CONFIG_USB_STORAGE_SDDR55 is not set
1253# CONFIG_USB_STORAGE_JUMPSHOT is not set
1254# CONFIG_USB_STORAGE_ALAUDA is not set
1255# CONFIG_USB_LIBUSUAL is not set
1256
1257#
1258# USB Input Devices
1259#
1260CONFIG_USB_HID=y
1261CONFIG_USB_HIDINPUT=y
1262# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1263# CONFIG_HID_FF is not set
1264# CONFIG_USB_HIDDEV is not set
1265# CONFIG_USB_AIPTEK is not set
1266CONFIG_USB_WACOM=y
1267# CONFIG_USB_ACECAD is not set
1268# CONFIG_USB_KBTAB is not set
1269# CONFIG_USB_POWERMATE is not set
1270# CONFIG_USB_TOUCHSCREEN is not set
1271# CONFIG_USB_YEALINK is not set
1272# CONFIG_USB_XPAD is not set
1273# CONFIG_USB_ATI_REMOTE is not set
1274# CONFIG_USB_ATI_REMOTE2 is not set
1275# CONFIG_USB_KEYSPAN_REMOTE is not set
1276# CONFIG_USB_APPLETOUCH is not set
1277
1278#
1279# USB Imaging devices
1280#
1281# CONFIG_USB_MDC800 is not set
1282# CONFIG_USB_MICROTEK is not set
1283
1284#
1285# USB Network Adapters
1286#
1287# CONFIG_USB_CATC is not set
1288# CONFIG_USB_KAWETH is not set
1289# CONFIG_USB_PEGASUS is not set
1290# CONFIG_USB_RTL8150 is not set
1291# CONFIG_USB_USBNET is not set
1292CONFIG_USB_MON=y
1293
1294#
1295# USB port drivers
1296#
1297# CONFIG_USB_USS720 is not set
1298
1299#
1300# USB Serial Converter support
1301#
1302# CONFIG_USB_SERIAL is not set
1303
1304#
1305# USB Miscellaneous drivers
1306#
1307# CONFIG_USB_EMI62 is not set
1308# CONFIG_USB_EMI26 is not set
1309# CONFIG_USB_AUERSWALD is not set
1310# CONFIG_USB_RIO500 is not set
1311# CONFIG_USB_LEGOTOWER is not set
1312# CONFIG_USB_LCD is not set
1313# CONFIG_USB_LED is not set
1314CONFIG_USB_CYTHERM=m
1315# CONFIG_USB_PHIDGETKIT is not set
1316CONFIG_USB_PHIDGETSERVO=m
1317# CONFIG_USB_IDMOUSE is not set
1318# CONFIG_USB_SISUSBVGA is not set
1319# CONFIG_USB_LD is not set
1320# CONFIG_USB_TEST is not set
1321
1322#
1323# USB DSL modem support
1324#
1325
1326#
1327# USB Gadget Support
1328#
1329# CONFIG_USB_GADGET is not set
1330
1331#
1332# MMC/SD Card support
1333#
1334# CONFIG_MMC is not set
1335
1336#
1337# LED devices
1338#
1339# CONFIG_NEW_LEDS is not set
1340
1341#
1342# LED drivers
1343#
1344
1345#
1346# LED Triggers
1347#
1348
1349#
1350# InfiniBand support
1351#
1352# CONFIG_INFINIBAND is not set
1353
1354#
1355# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
1356#
1357# CONFIG_EDAC is not set
1358
1359#
1360# Real Time Clock
1361#
1362# CONFIG_RTC_CLASS is not set
1363
1364#
1365# File systems
1366#
1367CONFIG_EXT2_FS=y
1368# CONFIG_EXT2_FS_XATTR is not set
1369# CONFIG_EXT2_FS_XIP is not set
1370CONFIG_EXT3_FS=y
1371CONFIG_EXT3_FS_XATTR=y
1372# CONFIG_EXT3_FS_POSIX_ACL is not set
1373# CONFIG_EXT3_FS_SECURITY is not set
1374CONFIG_JBD=y
1375# CONFIG_JBD_DEBUG is not set
1376CONFIG_FS_MBCACHE=y
1377# CONFIG_REISERFS_FS is not set
1378# CONFIG_JFS_FS is not set
1379# CONFIG_FS_POSIX_ACL is not set
1380# CONFIG_XFS_FS is not set
1381# CONFIG_OCFS2_FS is not set
1382# CONFIG_MINIX_FS is not set
1383# CONFIG_ROMFS_FS is not set
1384CONFIG_INOTIFY=y
1385# CONFIG_QUOTA is not set
1386CONFIG_DNOTIFY=y
1387# CONFIG_AUTOFS_FS is not set
1388CONFIG_AUTOFS4_FS=y
1389# CONFIG_FUSE_FS is not set
1390
1391#
1392# CD-ROM/DVD Filesystems
1393#
1394CONFIG_ISO9660_FS=y
1395CONFIG_JOLIET=y
1396# CONFIG_ZISOFS is not set
1397CONFIG_UDF_FS=y
1398CONFIG_UDF_NLS=y
1399
1400#
1401# DOS/FAT/NT Filesystems
1402#
1403CONFIG_FAT_FS=y
1404CONFIG_MSDOS_FS=y
1405CONFIG_VFAT_FS=y
1406CONFIG_FAT_DEFAULT_CODEPAGE=437
1407CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1408# CONFIG_NTFS_FS is not set
1409
1410#
1411# Pseudo filesystems
1412#
1413CONFIG_PROC_FS=y
1414CONFIG_PROC_KCORE=y
1415CONFIG_SYSFS=y
1416CONFIG_TMPFS=y
1417# CONFIG_HUGETLBFS is not set
1418# CONFIG_HUGETLB_PAGE is not set
1419CONFIG_RAMFS=y
1420# CONFIG_CONFIGFS_FS is not set
1421
1422#
1423# Miscellaneous filesystems
1424#
1425# CONFIG_ADFS_FS is not set
1426# CONFIG_AFFS_FS is not set
1427# CONFIG_HFS_FS is not set
1428# CONFIG_HFSPLUS_FS is not set
1429# CONFIG_BEFS_FS is not set
1430# CONFIG_BFS_FS is not set
1431# CONFIG_EFS_FS is not set
1432# CONFIG_CRAMFS is not set
1433# CONFIG_SQUASHFS is not set
1434# CONFIG_VXFS_FS is not set
1435# CONFIG_HPFS_FS is not set
1436# CONFIG_QNX4FS_FS is not set
1437# CONFIG_SYSV_FS is not set
1438# CONFIG_UFS_FS is not set
1439
1440#
1441# Network File Systems
1442#
1443CONFIG_NFS_FS=y
1444# CONFIG_NFS_V3 is not set
1445# CONFIG_NFS_V4 is not set
1446# CONFIG_NFS_DIRECTIO is not set
1447CONFIG_NFSD=y
1448# CONFIG_NFSD_V3 is not set
1449CONFIG_NFSD_TCP=y
1450CONFIG_ROOT_NFS=y
1451CONFIG_LOCKD=y
1452CONFIG_EXPORTFS=y
1453CONFIG_NFS_COMMON=y
1454CONFIG_SUNRPC=y
1455# CONFIG_RPCSEC_GSS_KRB5 is not set
1456# CONFIG_RPCSEC_GSS_SPKM3 is not set
1457# CONFIG_SMB_FS is not set
1458# CONFIG_CIFS is not set
1459# CONFIG_NCP_FS is not set
1460# CONFIG_CODA_FS is not set
1461# CONFIG_AFS_FS is not set
1462# CONFIG_9P_FS is not set
1463
1464#
1465# Partition Types
1466#
1467# CONFIG_PARTITION_ADVANCED is not set
1468CONFIG_MSDOS_PARTITION=y
1469
1470#
1471# Native Language Support
1472#
1473CONFIG_NLS=y
1474CONFIG_NLS_DEFAULT="iso8859-1"
1475CONFIG_NLS_CODEPAGE_437=y
1476# CONFIG_NLS_CODEPAGE_737 is not set
1477# CONFIG_NLS_CODEPAGE_775 is not set
1478# CONFIG_NLS_CODEPAGE_850 is not set
1479# CONFIG_NLS_CODEPAGE_852 is not set
1480# CONFIG_NLS_CODEPAGE_855 is not set
1481# CONFIG_NLS_CODEPAGE_857 is not set
1482# CONFIG_NLS_CODEPAGE_860 is not set
1483# CONFIG_NLS_CODEPAGE_861 is not set
1484# CONFIG_NLS_CODEPAGE_862 is not set
1485# CONFIG_NLS_CODEPAGE_863 is not set
1486# CONFIG_NLS_CODEPAGE_864 is not set
1487# CONFIG_NLS_CODEPAGE_865 is not set
1488# CONFIG_NLS_CODEPAGE_866 is not set
1489# CONFIG_NLS_CODEPAGE_869 is not set
1490# CONFIG_NLS_CODEPAGE_936 is not set
1491# CONFIG_NLS_CODEPAGE_950 is not set
1492# CONFIG_NLS_CODEPAGE_932 is not set
1493# CONFIG_NLS_CODEPAGE_949 is not set
1494# CONFIG_NLS_CODEPAGE_874 is not set
1495# CONFIG_NLS_ISO8859_8 is not set
1496# CONFIG_NLS_CODEPAGE_1250 is not set
1497# CONFIG_NLS_CODEPAGE_1251 is not set
1498# CONFIG_NLS_ASCII is not set
1499CONFIG_NLS_ISO8859_1=y
1500# CONFIG_NLS_ISO8859_2 is not set
1501# CONFIG_NLS_ISO8859_3 is not set
1502# CONFIG_NLS_ISO8859_4 is not set
1503# CONFIG_NLS_ISO8859_5 is not set
1504# CONFIG_NLS_ISO8859_6 is not set
1505# CONFIG_NLS_ISO8859_7 is not set
1506# CONFIG_NLS_ISO8859_9 is not set
1507# CONFIG_NLS_ISO8859_13 is not set
1508# CONFIG_NLS_ISO8859_14 is not set
1509# CONFIG_NLS_ISO8859_15 is not set
1510# CONFIG_NLS_KOI8_R is not set
1511# CONFIG_NLS_KOI8_U is not set
1512# CONFIG_NLS_UTF8 is not set
1513
1514#
1515# Instrumentation Support
1516#
1517CONFIG_PROFILING=y
1518CONFIG_OPROFILE=y
1519# CONFIG_KPROBES is not set
1520
1521#
1522# Kernel hacking
1523#
1524# CONFIG_PRINTK_TIME is not set
1525# CONFIG_MAGIC_SYSRQ is not set
1526# CONFIG_DEBUG_KERNEL is not set
1527CONFIG_LOG_BUF_SHIFT=15
1528CONFIG_DEBUG_BUGVERBOSE=y
1529# CONFIG_DEBUG_FS is not set
1530# CONFIG_UNWIND_INFO is not set
1531CONFIG_EARLY_PRINTK=y
1532CONFIG_STACK_BACKTRACE_COLS=2
1533CONFIG_X86_FIND_SMP_CONFIG=y
1534CONFIG_X86_MPPARSE=y
1535CONFIG_DOUBLEFAULT=y
1536
1537#
1538# Security options
1539#
1540# CONFIG_KEYS is not set
1541# CONFIG_SECURITY is not set
1542
1543#
1544# Cryptographic options
1545#
1546# CONFIG_CRYPTO is not set
1547
1548#
1549# Hardware crypto devices
1550#
1551
1552#
1553# Library routines
1554#
1555# CONFIG_CRC_CCITT is not set
1556# CONFIG_CRC16 is not set
1557CONFIG_CRC32=y
1558CONFIG_LIBCRC32C=m
1559CONFIG_GENERIC_HARDIRQS=y
1560CONFIG_GENERIC_IRQ_PROBE=y
1561CONFIG_GENERIC_PENDING_IRQ=y
1562CONFIG_X86_SMP=y
1563CONFIG_X86_HT=y
1564CONFIG_X86_BIOS_REBOOT=y
1565CONFIG_X86_TRAMPOLINE=y
1566CONFIG_KTIME_SCALAR=y
1567# CONFIG_SHARPSL_RC is not set
diff --git a/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-spitz b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-spitz
new file mode 100644
index 0000000000..fb81164c0b
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-spitz
@@ -0,0 +1,1706 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.22-rc6
4# Sun Jul 1 18:49:40 2007
5#
6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y
10# CONFIG_GENERIC_CLOCKEVENTS is not set
11CONFIG_MMU=y
12# CONFIG_NO_IOPORT is not set
13CONFIG_GENERIC_HARDIRQS=y
14CONFIG_STACKTRACE_SUPPORT=y
15CONFIG_LOCKDEP_SUPPORT=y
16CONFIG_TRACE_IRQFLAGS_SUPPORT=y
17CONFIG_HARDIRQS_SW_RESEND=y
18CONFIG_GENERIC_IRQ_PROBE=y
19CONFIG_RWSEM_GENERIC_SPINLOCK=y
20# CONFIG_ARCH_HAS_ILOG2_U32 is not set
21# CONFIG_ARCH_HAS_ILOG2_U64 is not set
22CONFIG_GENERIC_HWEIGHT=y
23CONFIG_GENERIC_CALIBRATE_DELAY=y
24CONFIG_ZONE_DMA=y
25CONFIG_ARCH_MTD_XIP=y
26CONFIG_VECTORS_BASE=0xffff0000
27CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
28
29#
30# Code maturity level options
31#
32CONFIG_EXPERIMENTAL=y
33CONFIG_BROKEN_ON_SMP=y
34CONFIG_LOCK_KERNEL=y
35CONFIG_INIT_ENV_ARG_LIMIT=32
36
37#
38# General setup
39#
40CONFIG_LOCALVERSION=""
41CONFIG_LOCALVERSION_AUTO=y
42CONFIG_SWAP=y
43CONFIG_SYSVIPC=y
44# CONFIG_IPC_NS is not set
45CONFIG_SYSVIPC_SYSCTL=y
46# CONFIG_POSIX_MQUEUE is not set
47CONFIG_BSD_PROCESS_ACCT=y
48# CONFIG_BSD_PROCESS_ACCT_V3 is not set
49# CONFIG_TASKSTATS is not set
50# CONFIG_UTS_NS is not set
51# CONFIG_AUDIT is not set
52# CONFIG_IKCONFIG is not set
53CONFIG_LOG_BUF_SHIFT=14
54CONFIG_SYSFS_DEPRECATED=y
55# CONFIG_RELAY is not set
56# CONFIG_BLK_DEV_INITRD is not set
57CONFIG_CC_OPTIMIZE_FOR_SIZE=y
58CONFIG_SYSCTL=y
59CONFIG_EMBEDDED=y
60CONFIG_UID16=y
61CONFIG_SYSCTL_SYSCALL=y
62CONFIG_KALLSYMS=y
63# CONFIG_KALLSYMS_ALL is not set
64# CONFIG_KALLSYMS_EXTRA_PASS is not set
65CONFIG_HOTPLUG=y
66CONFIG_PRINTK=y
67CONFIG_BUG=y
68CONFIG_ELF_CORE=y
69CONFIG_BASE_FULL=y
70CONFIG_FUTEX=y
71CONFIG_ANON_INODES=y
72CONFIG_EPOLL=y
73CONFIG_SIGNALFD=y
74CONFIG_TIMERFD=y
75CONFIG_EVENTFD=y
76CONFIG_SHMEM=y
77CONFIG_VM_EVENT_COUNTERS=y
78CONFIG_SLAB=y
79# CONFIG_SLUB is not set
80# CONFIG_SLOB is not set
81CONFIG_RT_MUTEXES=y
82# CONFIG_TINY_SHMEM is not set
83CONFIG_BASE_SMALL=0
84
85#
86# Loadable module support
87#
88CONFIG_MODULES=y
89CONFIG_MODULE_UNLOAD=y
90CONFIG_MODULE_FORCE_UNLOAD=y
91# CONFIG_MODVERSIONS is not set
92# CONFIG_MODULE_SRCVERSION_ALL is not set
93CONFIG_KMOD=y
94
95#
96# Block layer
97#
98CONFIG_BLOCK=y
99# CONFIG_LBD is not set
100# CONFIG_BLK_DEV_IO_TRACE is not set
101# CONFIG_LSF is not set
102
103#
104# IO Schedulers
105#
106CONFIG_IOSCHED_NOOP=y
107CONFIG_IOSCHED_AS=y
108CONFIG_IOSCHED_DEADLINE=m
109CONFIG_IOSCHED_CFQ=m
110CONFIG_DEFAULT_AS=y
111# CONFIG_DEFAULT_DEADLINE is not set
112# CONFIG_DEFAULT_CFQ is not set
113# CONFIG_DEFAULT_NOOP is not set
114CONFIG_DEFAULT_IOSCHED="anticipatory"
115
116#
117# System Type
118#
119# CONFIG_ARCH_AAEC2000 is not set
120# CONFIG_ARCH_INTEGRATOR is not set
121# CONFIG_ARCH_REALVIEW is not set
122# CONFIG_ARCH_VERSATILE is not set
123# CONFIG_ARCH_AT91 is not set
124# CONFIG_ARCH_CLPS7500 is not set
125# CONFIG_ARCH_CLPS711X is not set
126# CONFIG_ARCH_CO285 is not set
127# CONFIG_ARCH_EBSA110 is not set
128# CONFIG_ARCH_EP93XX is not set
129# CONFIG_ARCH_FOOTBRIDGE is not set
130# CONFIG_ARCH_NETX is not set
131# CONFIG_ARCH_H720X is not set
132# CONFIG_ARCH_IMX is not set
133# CONFIG_ARCH_IOP13XX is not set
134# CONFIG_ARCH_IOP32X is not set
135# CONFIG_ARCH_IOP33X is not set
136# CONFIG_ARCH_IXP23XX is not set
137# CONFIG_ARCH_IXP2000 is not set
138# CONFIG_ARCH_IXP4XX is not set
139# CONFIG_ARCH_L7200 is not set
140# CONFIG_ARCH_KS8695 is not set
141# CONFIG_ARCH_NS9XXX is not set
142# CONFIG_ARCH_PNX4008 is not set
143CONFIG_ARCH_PXA=y
144# CONFIG_ARCH_RPC is not set
145# CONFIG_ARCH_SA1100 is not set
146# CONFIG_ARCH_S3C2410 is not set
147# CONFIG_ARCH_SHARK is not set
148# CONFIG_ARCH_LH7A40X is not set
149# CONFIG_ARCH_DAVINCI is not set
150# CONFIG_ARCH_OMAP is not set
151
152#
153# Intel PXA2xx Implementations
154#
155# CONFIG_ARCH_LUBBOCK is not set
156# CONFIG_MACH_LOGICPD_PXA270 is not set
157# CONFIG_MACH_MAINSTONE is not set
158# CONFIG_ARCH_PXA_IDP is not set
159CONFIG_PXA_SHARPSL=y
160# CONFIG_MACH_TRIZEPS4 is not set
161# CONFIG_MACH_HX2750 is not set
162# CONFIG_PXA_SHARPSL_25x is not set
163CONFIG_PXA_SHARPSL_27x=y
164CONFIG_MACH_AKITA=y
165CONFIG_MACH_SPITZ=y
166CONFIG_MACH_BORZOI=y
167CONFIG_PXA27x=y
168CONFIG_PXA_SHARP_Cxx00=y
169CONFIG_PXA_SSP=y
170# CONFIG_PXA_KEYS is not set
171
172#
173# Processor Type
174#
175CONFIG_CPU_32=y
176CONFIG_CPU_XSCALE=y
177CONFIG_CPU_32v5=y
178CONFIG_CPU_ABRT_EV5T=y
179CONFIG_CPU_CACHE_VIVT=y
180CONFIG_CPU_TLB_V4WBI=y
181CONFIG_CPU_CP15=y
182CONFIG_CPU_CP15_MMU=y
183
184#
185# Processor Features
186#
187CONFIG_ARM_THUMB=y
188# CONFIG_CPU_DCACHE_DISABLE is not set
189# CONFIG_OUTER_CACHE is not set
190CONFIG_IWMMXT=y
191CONFIG_XSCALE_PMU=y
192CONFIG_SHARP_PARAM=y
193CONFIG_SHARPSL_PM=y
194CONFIG_SHARP_SCOOP=y
195
196#
197# Bus support
198#
199# CONFIG_ARCH_SUPPORTS_MSI is not set
200
201#
202# PCCARD (PCMCIA/CardBus) support
203#
204CONFIG_PCCARD=y
205# CONFIG_PCMCIA_DEBUG is not set
206CONFIG_PCMCIA=y
207CONFIG_PCMCIA_LOAD_CIS=y
208CONFIG_PCMCIA_IOCTL=y
209
210#
211# PC-card bridges
212#
213CONFIG_PCMCIA_PXA2XX=y
214
215#
216# Kernel Features
217#
218# CONFIG_TICK_ONESHOT is not set
219CONFIG_PREEMPT=y
220CONFIG_NO_IDLE_HZ=y
221CONFIG_HZ=100
222CONFIG_AEABI=y
223CONFIG_OABI_COMPAT=y
224# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
225CONFIG_SELECT_MEMORY_MODEL=y
226CONFIG_FLATMEM_MANUAL=y
227# CONFIG_DISCONTIGMEM_MANUAL is not set
228# CONFIG_SPARSEMEM_MANUAL is not set
229CONFIG_FLATMEM=y
230CONFIG_FLAT_NODE_MEM_MAP=y
231# CONFIG_SPARSEMEM_STATIC is not set
232CONFIG_SPLIT_PTLOCK_CPUS=4096
233# CONFIG_RESOURCES_64BIT is not set
234CONFIG_ZONE_DMA_FLAG=1
235CONFIG_ALIGNMENT_TRAP=y
236
237#
238# Boot options
239#
240CONFIG_ZBOOT_ROM_TEXT=0x0
241CONFIG_ZBOOT_ROM_BSS=0x0
242CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 noinitrd root=/dev/hda1 rootfstype=ext3 rootdelay=1 rw fbcon=rotate:1 dyntick=enable debug"
243# CONFIG_XIP_KERNEL is not set
244CONFIG_KEXEC=y
245
246#
247# CPU Frequency scaling
248#
249# CONFIG_CPU_FREQ is not set
250
251#
252# Floating point emulation
253#
254
255#
256# At least one emulation must be selected
257#
258CONFIG_FPE_NWFPE=y
259# CONFIG_FPE_NWFPE_XP is not set
260# CONFIG_FPE_FASTFPE is not set
261
262#
263# Userspace binary formats
264#
265CONFIG_BINFMT_ELF=y
266CONFIG_BINFMT_AOUT=m
267CONFIG_BINFMT_MISC=m
268
269#
270# Power management options
271#
272CONFIG_PM=y
273# CONFIG_PM_LEGACY is not set
274# CONFIG_PM_DEBUG is not set
275# CONFIG_PM_SYSFS_DEPRECATED is not set
276CONFIG_APM_EMULATION=y
277
278#
279# Networking
280#
281CONFIG_NET=y
282
283#
284# Networking options
285#
286CONFIG_PACKET=y
287CONFIG_PACKET_MMAP=y
288CONFIG_UNIX=y
289CONFIG_XFRM=y
290# CONFIG_XFRM_USER is not set
291# CONFIG_XFRM_SUB_POLICY is not set
292# CONFIG_XFRM_MIGRATE is not set
293# CONFIG_NET_KEY is not set
294CONFIG_INET=y
295# CONFIG_IP_MULTICAST is not set
296# CONFIG_IP_ADVANCED_ROUTER is not set
297CONFIG_IP_FIB_HASH=y
298# CONFIG_IP_PNP is not set
299# CONFIG_NET_IPIP is not set
300# CONFIG_NET_IPGRE is not set
301# CONFIG_ARPD is not set
302CONFIG_SYN_COOKIES=y
303# CONFIG_INET_AH is not set
304# CONFIG_INET_ESP is not set
305# CONFIG_INET_IPCOMP is not set
306# CONFIG_INET_XFRM_TUNNEL is not set
307CONFIG_INET_TUNNEL=m
308CONFIG_INET_XFRM_MODE_TRANSPORT=y
309CONFIG_INET_XFRM_MODE_TUNNEL=y
310CONFIG_INET_XFRM_MODE_BEET=y
311CONFIG_INET_DIAG=m
312CONFIG_INET_TCP_DIAG=m
313# CONFIG_TCP_CONG_ADVANCED is not set
314CONFIG_TCP_CONG_CUBIC=y
315CONFIG_DEFAULT_TCP_CONG="cubic"
316# CONFIG_TCP_MD5SIG is not set
317# CONFIG_IP_VS is not set
318CONFIG_IPV6=m
319# CONFIG_IPV6_PRIVACY is not set
320# CONFIG_IPV6_ROUTER_PREF is not set
321# CONFIG_IPV6_OPTIMISTIC_DAD is not set
322CONFIG_INET6_AH=m
323CONFIG_INET6_ESP=m
324CONFIG_INET6_IPCOMP=m
325# CONFIG_IPV6_MIP6 is not set
326CONFIG_INET6_XFRM_TUNNEL=m
327CONFIG_INET6_TUNNEL=m
328CONFIG_INET6_XFRM_MODE_TRANSPORT=m
329CONFIG_INET6_XFRM_MODE_TUNNEL=m
330CONFIG_INET6_XFRM_MODE_BEET=m
331# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
332CONFIG_IPV6_SIT=m
333CONFIG_IPV6_TUNNEL=m
334# CONFIG_IPV6_MULTIPLE_TABLES is not set
335# CONFIG_NETWORK_SECMARK is not set
336CONFIG_NETFILTER=y
337# CONFIG_NETFILTER_DEBUG is not set
338
339#
340# Core Netfilter Configuration
341#
342# CONFIG_NETFILTER_NETLINK is not set
343# CONFIG_NF_CONNTRACK_ENABLED is not set
344# CONFIG_NF_CONNTRACK is not set
345# CONFIG_NETFILTER_XTABLES is not set
346
347#
348# IP: Netfilter Configuration
349#
350CONFIG_IP_NF_QUEUE=m
351# CONFIG_IP_NF_IPTABLES is not set
352# CONFIG_IP_NF_ARPTABLES is not set
353
354#
355# IPv6: Netfilter Configuration (EXPERIMENTAL)
356#
357# CONFIG_IP6_NF_QUEUE is not set
358# CONFIG_IP6_NF_IPTABLES is not set
359# CONFIG_IP_DCCP is not set
360# CONFIG_IP_SCTP is not set
361# CONFIG_TIPC is not set
362# CONFIG_ATM is not set
363# CONFIG_BRIDGE is not set
364# CONFIG_VLAN_8021Q is not set
365# CONFIG_DECNET is not set
366# CONFIG_LLC2 is not set
367# CONFIG_IPX is not set
368# CONFIG_ATALK is not set
369# CONFIG_X25 is not set
370# CONFIG_LAPB is not set
371# CONFIG_ECONET is not set
372# CONFIG_WAN_ROUTER is not set
373
374#
375# QoS and/or fair queueing
376#
377# CONFIG_NET_SCHED is not set
378
379#
380# Network testing
381#
382# CONFIG_NET_PKTGEN is not set
383# CONFIG_HAMRADIO is not set
384CONFIG_IRDA=m
385
386#
387# IrDA protocols
388#
389CONFIG_IRLAN=m
390CONFIG_IRNET=m
391CONFIG_IRCOMM=m
392# CONFIG_IRDA_ULTRA is not set
393
394#
395# IrDA options
396#
397# CONFIG_IRDA_CACHE_LAST_LSAP is not set
398# CONFIG_IRDA_FAST_RR is not set
399# CONFIG_IRDA_DEBUG is not set
400
401#
402# Infrared-port device drivers
403#
404
405#
406# SIR device drivers
407#
408# CONFIG_IRTTY_SIR is not set
409
410#
411# Dongle support
412#
413# CONFIG_KINGSUN_DONGLE is not set
414
415#
416# Old SIR device drivers
417#
418# CONFIG_IRPORT_SIR is not set
419
420#
421# Old Serial dongle support
422#
423
424#
425# FIR device drivers
426#
427# CONFIG_USB_IRDA is not set
428# CONFIG_SIGMATEL_FIR is not set
429CONFIG_PXA_FICP=m
430# CONFIG_MCS_FIR is not set
431CONFIG_BT=m
432CONFIG_BT_L2CAP=m
433CONFIG_BT_SCO=m
434CONFIG_BT_RFCOMM=m
435CONFIG_BT_RFCOMM_TTY=y
436CONFIG_BT_BNEP=m
437CONFIG_BT_BNEP_MC_FILTER=y
438CONFIG_BT_BNEP_PROTO_FILTER=y
439CONFIG_BT_HIDP=m
440
441#
442# Bluetooth device drivers
443#
444CONFIG_BT_HCIUSB=m
445# CONFIG_BT_HCIUSB_SCO is not set
446CONFIG_BT_HCIUART=m
447CONFIG_BT_HCIUART_H4=y
448CONFIG_BT_HCIUART_BCSP=y
449CONFIG_BT_HCIBCM203X=m
450CONFIG_BT_HCIBPA10X=m
451CONFIG_BT_HCIBFUSB=m
452CONFIG_BT_HCIDTL1=m
453CONFIG_BT_HCIBT3C=m
454CONFIG_BT_HCIBLUECARD=m
455CONFIG_BT_HCIBTUART=m
456CONFIG_BT_HCIVHCI=m
457# CONFIG_AF_RXRPC is not set
458
459#
460# Wireless
461#
462# CONFIG_CFG80211 is not set
463CONFIG_WIRELESS_EXT=y
464# CONFIG_MAC80211 is not set
465CONFIG_IEEE80211=m
466# CONFIG_IEEE80211_DEBUG is not set
467CONFIG_IEEE80211_CRYPT_WEP=m
468CONFIG_IEEE80211_CRYPT_CCMP=m
469CONFIG_IEEE80211_CRYPT_TKIP=m
470# CONFIG_IEEE80211_SOFTMAC is not set
471# CONFIG_RFKILL is not set
472
473#
474# Device Drivers
475#
476
477#
478# Generic Driver Options
479#
480CONFIG_STANDALONE=y
481CONFIG_PREVENT_FIRMWARE_BUILD=y
482CONFIG_FW_LOADER=y
483# CONFIG_DEBUG_DRIVER is not set
484# CONFIG_DEBUG_DEVRES is not set
485# CONFIG_SYS_HYPERVISOR is not set
486
487#
488# Connector - unified userspace <-> kernelspace linker
489#
490# CONFIG_CONNECTOR is not set
491CONFIG_MTD=y
492# CONFIG_MTD_DEBUG is not set
493# CONFIG_MTD_CONCAT is not set
494CONFIG_MTD_PARTITIONS=y
495# CONFIG_MTD_REDBOOT_PARTS is not set
496CONFIG_MTD_CMDLINE_PARTS=y
497# CONFIG_MTD_AFS_PARTS is not set
498
499#
500# User Modules And Translation Layers
501#
502CONFIG_MTD_CHAR=y
503CONFIG_MTD_BLKDEVS=y
504CONFIG_MTD_BLOCK=y
505# CONFIG_FTL is not set
506# CONFIG_NFTL is not set
507# CONFIG_INFTL is not set
508# CONFIG_RFD_FTL is not set
509# CONFIG_SSFDC is not set
510
511#
512# RAM/ROM/Flash chip drivers
513#
514# CONFIG_MTD_CFI is not set
515# CONFIG_MTD_JEDECPROBE is not set
516CONFIG_MTD_MAP_BANK_WIDTH_1=y
517CONFIG_MTD_MAP_BANK_WIDTH_2=y
518CONFIG_MTD_MAP_BANK_WIDTH_4=y
519# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
520# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
521# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
522CONFIG_MTD_CFI_I1=y
523CONFIG_MTD_CFI_I2=y
524# CONFIG_MTD_CFI_I4 is not set
525# CONFIG_MTD_CFI_I8 is not set
526# CONFIG_MTD_RAM is not set
527CONFIG_MTD_ROM=y
528# CONFIG_MTD_ABSENT is not set
529
530#
531# Mapping drivers for chip access
532#
533CONFIG_MTD_COMPLEX_MAPPINGS=y
534# CONFIG_MTD_PHYSMAP is not set
535CONFIG_MTD_SHARP_SL=y
536# CONFIG_MTD_PLATRAM is not set
537
538#
539# Self-contained MTD device drivers
540#
541# CONFIG_MTD_SLRAM is not set
542# CONFIG_MTD_PHRAM is not set
543# CONFIG_MTD_MTDRAM is not set
544# CONFIG_MTD_BLOCK2MTD is not set
545
546#
547# Disk-On-Chip Device Drivers
548#
549# CONFIG_MTD_DOC2000 is not set
550# CONFIG_MTD_DOC2001 is not set
551# CONFIG_MTD_DOC2001PLUS is not set
552CONFIG_MTD_NAND=y
553CONFIG_MTD_NAND_VERIFY_WRITE=y
554# CONFIG_MTD_NAND_ECC_SMC is not set
555# CONFIG_MTD_NAND_MUSEUM_IDS is not set
556# CONFIG_MTD_NAND_H1900 is not set
557CONFIG_MTD_NAND_IDS=y
558# CONFIG_MTD_NAND_DISKONCHIP is not set
559CONFIG_MTD_NAND_SHARPSL=y
560# CONFIG_MTD_NAND_NANDSIM is not set
561# CONFIG_MTD_NAND_PLATFORM is not set
562# CONFIG_MTD_ONENAND is not set
563
564#
565# UBI - Unsorted block images
566#
567# CONFIG_MTD_UBI is not set
568
569#
570# Parallel port support
571#
572# CONFIG_PARPORT is not set
573
574#
575# Plug and Play support
576#
577# CONFIG_PNPACPI is not set
578
579#
580# Block devices
581#
582# CONFIG_BLK_DEV_COW_COMMON is not set
583CONFIG_BLK_DEV_LOOP=y
584# CONFIG_BLK_DEV_CRYPTOLOOP is not set
585# CONFIG_BLK_DEV_NBD is not set
586# CONFIG_BLK_DEV_UB is not set
587# CONFIG_BLK_DEV_RAM is not set
588# CONFIG_CDROM_PKTCDVD is not set
589# CONFIG_ATA_OVER_ETH is not set
590CONFIG_IDE=y
591CONFIG_IDE_MAX_HWIFS=4
592CONFIG_BLK_DEV_IDE=y
593
594#
595# Please see Documentation/ide.txt for help/info on IDE drives
596#
597# CONFIG_BLK_DEV_IDE_SATA is not set
598CONFIG_BLK_DEV_IDEDISK=y
599# CONFIG_IDEDISK_MULTI_MODE is not set
600CONFIG_BLK_DEV_IDECS=y
601# CONFIG_BLK_DEV_IDECD is not set
602# CONFIG_BLK_DEV_IDETAPE is not set
603# CONFIG_BLK_DEV_IDEFLOPPY is not set
604# CONFIG_BLK_DEV_IDESCSI is not set
605# CONFIG_IDE_TASK_IOCTL is not set
606CONFIG_IDE_PROC_FS=y
607
608#
609# IDE chipset support/bugfixes
610#
611CONFIG_IDE_GENERIC=y
612# CONFIG_IDEPCI_PCIBUS_ORDER is not set
613# CONFIG_IDE_ARM is not set
614# CONFIG_BLK_DEV_IDEDMA is not set
615# CONFIG_BLK_DEV_HD is not set
616
617#
618# SCSI device support
619#
620# CONFIG_RAID_ATTRS is not set
621CONFIG_SCSI=m
622# CONFIG_SCSI_TGT is not set
623# CONFIG_SCSI_NETLINK is not set
624CONFIG_SCSI_PROC_FS=y
625
626#
627# SCSI support type (disk, tape, CD-ROM)
628#
629CONFIG_BLK_DEV_SD=m
630CONFIG_CHR_DEV_ST=m
631CONFIG_CHR_DEV_OSST=m
632CONFIG_BLK_DEV_SR=m
633# CONFIG_BLK_DEV_SR_VENDOR is not set
634CONFIG_CHR_DEV_SG=m
635# CONFIG_CHR_DEV_SCH is not set
636
637#
638# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
639#
640CONFIG_SCSI_MULTI_LUN=y
641# CONFIG_SCSI_CONSTANTS is not set
642# CONFIG_SCSI_LOGGING is not set
643# CONFIG_SCSI_SCAN_ASYNC is not set
644CONFIG_SCSI_WAIT_SCAN=m
645
646#
647# SCSI Transports
648#
649# CONFIG_SCSI_SPI_ATTRS is not set
650# CONFIG_SCSI_FC_ATTRS is not set
651# CONFIG_SCSI_ISCSI_ATTRS is not set
652# CONFIG_SCSI_SAS_ATTRS is not set
653# CONFIG_SCSI_SAS_LIBSAS is not set
654
655#
656# SCSI low-level drivers
657#
658# CONFIG_ISCSI_TCP is not set
659# CONFIG_SCSI_DEBUG is not set
660
661#
662# PCMCIA SCSI adapter support
663#
664# CONFIG_PCMCIA_AHA152X is not set
665# CONFIG_PCMCIA_FDOMAIN is not set
666# CONFIG_PCMCIA_NINJA_SCSI is not set
667# CONFIG_PCMCIA_QLOGIC is not set
668# CONFIG_PCMCIA_SYM53C500 is not set
669# CONFIG_ATA is not set
670
671#
672# Multi-device support (RAID and LVM)
673#
674CONFIG_MD=y
675# CONFIG_BLK_DEV_MD is not set
676CONFIG_BLK_DEV_DM=m
677# CONFIG_DM_DEBUG is not set
678CONFIG_DM_CRYPT=m
679CONFIG_DM_SNAPSHOT=m
680CONFIG_DM_MIRROR=m
681CONFIG_DM_ZERO=m
682CONFIG_DM_MULTIPATH=m
683CONFIG_DM_MULTIPATH_EMC=m
684# CONFIG_DM_DELAY is not set
685
686#
687# Network device support
688#
689CONFIG_NETDEVICES=y
690# CONFIG_DUMMY is not set
691# CONFIG_BONDING is not set
692# CONFIG_EQUALIZER is not set
693CONFIG_TUN=m
694# CONFIG_PHYLIB is not set
695
696#
697# Ethernet (10 or 100Mbit)
698#
699CONFIG_NET_ETHERNET=y
700CONFIG_MII=m
701# CONFIG_SMC91X is not set
702# CONFIG_DM9000 is not set
703# CONFIG_SMC911X is not set
704CONFIG_NETDEV_1000=y
705CONFIG_NETDEV_10000=y
706
707#
708# Wireless LAN
709#
710# CONFIG_WLAN_PRE80211 is not set
711# CONFIG_WLAN_80211 is not set
712
713#
714# USB Network Adapters
715#
716CONFIG_USB_CATC=m
717CONFIG_USB_KAWETH=m
718CONFIG_USB_PEGASUS=m
719CONFIG_USB_RTL8150=m
720CONFIG_USB_USBNET_MII=m
721CONFIG_USB_USBNET=m
722CONFIG_USB_NET_AX8817X=m
723CONFIG_USB_NET_CDCETHER=m
724# CONFIG_USB_NET_DM9601 is not set
725# CONFIG_USB_NET_GL620A is not set
726CONFIG_USB_NET_NET1080=m
727# CONFIG_USB_NET_PLUSB is not set
728# CONFIG_USB_NET_MCS7830 is not set
729# CONFIG_USB_NET_RNDIS_HOST is not set
730# CONFIG_USB_NET_CDC_SUBSET is not set
731CONFIG_USB_NET_ZAURUS=m
732CONFIG_NET_PCMCIA=y
733# CONFIG_PCMCIA_3C589 is not set
734# CONFIG_PCMCIA_3C574 is not set
735# CONFIG_PCMCIA_FMVJ18X is not set
736CONFIG_PCMCIA_PCNET=m
737# CONFIG_PCMCIA_NMCLAN is not set
738# CONFIG_PCMCIA_SMC91C92 is not set
739# CONFIG_PCMCIA_XIRC2PS is not set
740# CONFIG_PCMCIA_AXNET is not set
741# CONFIG_WAN is not set
742CONFIG_PPP=m
743# CONFIG_PPP_MULTILINK is not set
744# CONFIG_PPP_FILTER is not set
745CONFIG_PPP_ASYNC=m
746# CONFIG_PPP_SYNC_TTY is not set
747CONFIG_PPP_DEFLATE=m
748CONFIG_PPP_BSDCOMP=m
749# CONFIG_PPP_MPPE is not set
750# CONFIG_PPPOE is not set
751# CONFIG_SLIP is not set
752CONFIG_SLHC=m
753# CONFIG_SHAPER is not set
754# CONFIG_NETCONSOLE is not set
755# CONFIG_NETPOLL is not set
756# CONFIG_NET_POLL_CONTROLLER is not set
757
758#
759# ISDN subsystem
760#
761# CONFIG_ISDN is not set
762
763#
764# Input device support
765#
766CONFIG_INPUT=y
767# CONFIG_INPUT_FF_MEMLESS is not set
768# CONFIG_INPUT_POLLDEV is not set
769
770#
771# Userland interfaces
772#
773CONFIG_INPUT_MOUSEDEV=m
774# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
775CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
776CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
777# CONFIG_INPUT_JOYDEV is not set
778# CONFIG_INPUT_TSDEV is not set
779CONFIG_INPUT_EVDEV=y
780# CONFIG_INPUT_EVBUG is not set
781CONFIG_INPUT_POWER=y
782
783#
784# Input Device Drivers
785#
786CONFIG_INPUT_KEYBOARD=y
787# CONFIG_KEYBOARD_ATKBD is not set
788# CONFIG_KEYBOARD_SUNKBD is not set
789# CONFIG_KEYBOARD_LKKBD is not set
790# CONFIG_KEYBOARD_XTKBD is not set
791# CONFIG_KEYBOARD_NEWTON is not set
792# CONFIG_KEYBOARD_STOWAWAY is not set
793# CONFIG_KEYBOARD_CORGI is not set
794CONFIG_KEYBOARD_SPITZ=y
795# CONFIG_KEYBOARD_PXA27x is not set
796# CONFIG_KEYBOARD_GPIO is not set
797# CONFIG_INPUT_MOUSE is not set
798# CONFIG_INPUT_JOYSTICK is not set
799# CONFIG_INPUT_TABLET is not set
800CONFIG_INPUT_TOUCHSCREEN=y
801CONFIG_TOUCHSCREEN_CORGI=y
802# CONFIG_TOUCHSCREEN_GUNZE is not set
803# CONFIG_TOUCHSCREEN_ELO is not set
804# CONFIG_TOUCHSCREEN_MTOUCH is not set
805# CONFIG_TOUCHSCREEN_MK712 is not set
806# CONFIG_TOUCHSCREEN_PENMOUNT is not set
807# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
808# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
809# CONFIG_TOUCHSCREEN_UCB1400 is not set
810# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
811CONFIG_INPUT_MISC=y
812# CONFIG_INPUT_ATI_REMOTE is not set
813# CONFIG_INPUT_ATI_REMOTE2 is not set
814# CONFIG_INPUT_KEYSPAN_REMOTE is not set
815# CONFIG_INPUT_POWERMATE is not set
816# CONFIG_INPUT_YEALINK is not set
817CONFIG_INPUT_UINPUT=m
818
819#
820# Hardware I/O ports
821#
822# CONFIG_SERIO is not set
823# CONFIG_GAMEPORT is not set
824
825#
826# Character devices
827#
828CONFIG_VT=y
829CONFIG_VT_CONSOLE=y
830CONFIG_HW_CONSOLE=y
831# CONFIG_VT_HW_CONSOLE_BINDING is not set
832# CONFIG_SERIAL_NONSTANDARD is not set
833
834#
835# Serial drivers
836#
837CONFIG_SERIAL_8250=m
838CONFIG_SERIAL_8250_CS=m
839CONFIG_SERIAL_8250_NR_UARTS=4
840CONFIG_SERIAL_8250_RUNTIME_UARTS=4
841# CONFIG_SERIAL_8250_EXTENDED is not set
842
843#
844# Non-8250 serial port support
845#
846CONFIG_SERIAL_PXA=y
847CONFIG_SERIAL_PXA_CONSOLE=y
848CONFIG_SERIAL_CORE=y
849CONFIG_SERIAL_CORE_CONSOLE=y
850CONFIG_UNIX98_PTYS=y
851# CONFIG_LEGACY_PTYS is not set
852
853#
854# IPMI
855#
856# CONFIG_IPMI_HANDLER is not set
857# CONFIG_WATCHDOG is not set
858CONFIG_HW_RANDOM=m
859# CONFIG_NVRAM is not set
860# CONFIG_R3964 is not set
861
862#
863# PCMCIA character devices
864#
865# CONFIG_SYNCLINK_CS is not set
866# CONFIG_CARDMAN_4000 is not set
867# CONFIG_CARDMAN_4040 is not set
868# CONFIG_RAW_DRIVER is not set
869
870#
871# TPM devices
872#
873# CONFIG_TCG_TPM is not set
874CONFIG_I2C=y
875CONFIG_I2C_BOARDINFO=y
876# CONFIG_I2C_CHARDEV is not set
877
878#
879# I2C Algorithms
880#
881# CONFIG_I2C_ALGOBIT is not set
882# CONFIG_I2C_ALGOPCF is not set
883# CONFIG_I2C_ALGOPCA is not set
884
885#
886# I2C Hardware Bus support
887#
888# CONFIG_I2C_GPIO is not set
889CONFIG_I2C_PXA=y
890# CONFIG_I2C_PXA_SLAVE is not set
891# CONFIG_I2C_OCORES is not set
892# CONFIG_I2C_PARPORT_LIGHT is not set
893# CONFIG_I2C_SIMTEC is not set
894# CONFIG_I2C_STUB is not set
895# CONFIG_I2C_TINY_USB is not set
896
897#
898# Miscellaneous I2C Chip support
899#
900# CONFIG_SENSORS_DS1337 is not set
901# CONFIG_SENSORS_DS1374 is not set
902# CONFIG_SENSORS_EEPROM is not set
903# CONFIG_SENSORS_PCF8574 is not set
904# CONFIG_SENSORS_PCA9539 is not set
905# CONFIG_SENSORS_PCF8591 is not set
906# CONFIG_SENSORS_MAX6875 is not set
907# CONFIG_I2C_DEBUG_CORE is not set
908# CONFIG_I2C_DEBUG_ALGO is not set
909# CONFIG_I2C_DEBUG_BUS is not set
910# CONFIG_I2C_DEBUG_CHIP is not set
911
912#
913# SPI support
914#
915# CONFIG_SPI is not set
916# CONFIG_SPI_MASTER is not set
917
918#
919# Dallas's 1-wire bus
920#
921# CONFIG_W1 is not set
922# CONFIG_HWMON is not set
923
924#
925# Misc devices
926#
927# CONFIG_BLINK is not set
928
929#
930# Multifunction device drivers
931#
932# CONFIG_MFD_SM501 is not set
933
934#
935# Multi-Function Devices
936#
937
938#
939# LED devices
940#
941CONFIG_NEW_LEDS=y
942CONFIG_LEDS_CLASS=y
943
944#
945# LED drivers
946#
947CONFIG_LEDS_SPITZ=y
948# CONFIG_LEDS_TOSA is not set
949
950#
951# LED Triggers
952#
953CONFIG_LEDS_TRIGGERS=y
954CONFIG_LEDS_TRIGGER_TIMER=y
955CONFIG_LEDS_TRIGGER_IDE_DISK=y
956# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
957
958#
959# Multimedia devices
960#
961CONFIG_VIDEO_DEV=m
962CONFIG_VIDEO_V4L1=y
963CONFIG_VIDEO_V4L1_COMPAT=y
964CONFIG_VIDEO_V4L2=y
965CONFIG_VIDEO_CAPTURE_DRIVERS=y
966# CONFIG_VIDEO_ADV_DEBUG is not set
967CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
968# CONFIG_VIDEO_CPIA is not set
969# CONFIG_VIDEO_CPIA2 is not set
970# CONFIG_VIDEO_SAA5246A is not set
971# CONFIG_VIDEO_SAA5249 is not set
972# CONFIG_TUNER_3036 is not set
973CONFIG_V4L_USB_DRIVERS=y
974# CONFIG_VIDEO_PVRUSB2 is not set
975# CONFIG_VIDEO_EM28XX is not set
976# CONFIG_VIDEO_USBVISION is not set
977# CONFIG_USB_VICAM is not set
978# CONFIG_USB_IBMCAM is not set
979# CONFIG_USB_KONICAWC is not set
980# CONFIG_USB_QUICKCAM_MESSENGER is not set
981# CONFIG_USB_ET61X251 is not set
982# CONFIG_VIDEO_OVCAMCHIP is not set
983# CONFIG_USB_W9968CF is not set
984# CONFIG_USB_OV511 is not set
985# CONFIG_USB_SE401 is not set
986# CONFIG_USB_SN9C102 is not set
987# CONFIG_USB_STV680 is not set
988# CONFIG_USB_ZC0301 is not set
989# CONFIG_USB_PWC is not set
990# CONFIG_USB_ZR364XX is not set
991CONFIG_RADIO_ADAPTERS=y
992# CONFIG_USB_DSBR is not set
993# CONFIG_DVB_CORE is not set
994CONFIG_DAB=y
995CONFIG_USB_DABUSB=m
996
997#
998# Graphics support
999#
1000CONFIG_BACKLIGHT_LCD_SUPPORT=y
1001CONFIG_BACKLIGHT_CLASS_DEVICE=y
1002CONFIG_LCD_CLASS_DEVICE=y
1003CONFIG_BACKLIGHT_CORGI=y
1004
1005#
1006# Display device support
1007#
1008# CONFIG_DISPLAY_SUPPORT is not set
1009# CONFIG_VGASTATE is not set
1010CONFIG_FB=y
1011CONFIG_FIRMWARE_EDID=y
1012# CONFIG_FB_DDC is not set
1013CONFIG_FB_CFB_FILLRECT=y
1014CONFIG_FB_CFB_COPYAREA=y
1015CONFIG_FB_CFB_IMAGEBLIT=y
1016# CONFIG_FB_SYS_FILLRECT is not set
1017# CONFIG_FB_SYS_COPYAREA is not set
1018# CONFIG_FB_SYS_IMAGEBLIT is not set
1019# CONFIG_FB_SYS_FOPS is not set
1020CONFIG_FB_DEFERRED_IO=y
1021# CONFIG_FB_SVGALIB is not set
1022# CONFIG_FB_MACMODES is not set
1023# CONFIG_FB_BACKLIGHT is not set
1024# CONFIG_FB_MODE_HELPERS is not set
1025# CONFIG_FB_TILEBLITTING is not set
1026
1027#
1028# Frame buffer hardware drivers
1029#
1030# CONFIG_FB_S1D13XXX is not set
1031CONFIG_FB_PXA=y
1032CONFIG_FB_PXA_LCD_QVGA=y
1033# CONFIG_FB_PXA_LCD_VGA is not set
1034CONFIG_FB_PXA_OVERLAY=y
1035# CONFIG_FB_PXA_PARAMETERS is not set
1036# CONFIG_FB_MBX is not set
1037# CONFIG_FB_W100 is not set
1038# CONFIG_FB_VIRTUAL is not set
1039
1040#
1041# Console display driver support
1042#
1043# CONFIG_VGA_CONSOLE is not set
1044CONFIG_DUMMY_CONSOLE=y
1045CONFIG_FRAMEBUFFER_CONSOLE=y
1046CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
1047CONFIG_FONTS=y
1048# CONFIG_FONT_8x8 is not set
1049CONFIG_FONT_8x16=y
1050# CONFIG_FONT_6x11 is not set
1051# CONFIG_FONT_7x14 is not set
1052# CONFIG_FONT_PEARL_8x8 is not set
1053# CONFIG_FONT_ACORN_8x8 is not set
1054# CONFIG_FONT_MINI_4x6 is not set
1055# CONFIG_FONT_SUN8x16 is not set
1056# CONFIG_FONT_SUN12x22 is not set
1057# CONFIG_FONT_10x18 is not set
1058CONFIG_LOGO=y
1059CONFIG_LOGO_LINUX_MONO=y
1060CONFIG_LOGO_LINUX_VGA16=y
1061# CONFIG_LOGO_LINUX_CLUT224 is not set
1062CONFIG_LOGO_OHAND_CLUT224=y
1063# CONFIG_LOGO_OZ240_CLUT224 is not set
1064# CONFIG_LOGO_OZ480_CLUT224 is not set
1065# CONFIG_LOGO_OZ640_CLUT224 is not set
1066
1067#
1068# Sound
1069#
1070CONFIG_SOUND=m
1071
1072#
1073# Advanced Linux Sound Architecture
1074#
1075CONFIG_SND=m
1076CONFIG_SND_TIMER=m
1077CONFIG_SND_PCM=m
1078CONFIG_SND_HWDEP=m
1079CONFIG_SND_RAWMIDI=m
1080CONFIG_SND_SEQUENCER=m
1081# CONFIG_SND_SEQ_DUMMY is not set
1082CONFIG_SND_OSSEMUL=y
1083CONFIG_SND_MIXER_OSS=m
1084CONFIG_SND_PCM_OSS=m
1085CONFIG_SND_PCM_OSS_PLUGINS=y
1086# CONFIG_SND_SEQUENCER_OSS is not set
1087# CONFIG_SND_DYNAMIC_MINORS is not set
1088CONFIG_SND_SUPPORT_OLD_API=y
1089CONFIG_SND_VERBOSE_PROCFS=y
1090CONFIG_SND_VERBOSE_PRINTK=y
1091CONFIG_SND_DEBUG=y
1092# CONFIG_SND_DEBUG_DETECT is not set
1093# CONFIG_SND_PCM_XRUN_DEBUG is not set
1094
1095#
1096# Generic devices
1097#
1098CONFIG_SND_AC97_CODEC=m
1099# CONFIG_SND_DUMMY is not set
1100# CONFIG_SND_VIRMIDI is not set
1101# CONFIG_SND_MTPAV is not set
1102# CONFIG_SND_SERIAL_U16550 is not set
1103# CONFIG_SND_MPU401 is not set
1104
1105#
1106# ALSA ARM devices
1107#
1108CONFIG_SND_PXA2XX_PCM=m
1109CONFIG_SND_PXA2XX_AC97=m
1110
1111#
1112# USB devices
1113#
1114CONFIG_SND_USB_AUDIO=m
1115# CONFIG_SND_USB_CAIAQ is not set
1116
1117#
1118# PCMCIA devices
1119#
1120# CONFIG_SND_VXPOCKET is not set
1121# CONFIG_SND_PDAUDIOCF is not set
1122
1123#
1124# System on Chip audio support
1125#
1126CONFIG_SND_SOC=m
1127CONFIG_SND_PXA2XX_SOC=m
1128CONFIG_SND_PXA2XX_SOC_I2S=m
1129CONFIG_SND_PXA2XX_SOC_SPITZ=m
1130CONFIG_SND_SOC_WM8750=m
1131
1132#
1133# Open Sound System
1134#
1135# CONFIG_SOUND_PRIME is not set
1136CONFIG_AC97_BUS=m
1137
1138#
1139# HID Devices
1140#
1141CONFIG_HID=y
1142# CONFIG_HID_DEBUG is not set
1143
1144#
1145# USB Input Devices
1146#
1147CONFIG_USB_HID=m
1148# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1149# CONFIG_HID_FF is not set
1150# CONFIG_USB_HIDDEV is not set
1151
1152#
1153# USB HID Boot Protocol drivers
1154#
1155CONFIG_USB_KBD=m
1156CONFIG_USB_MOUSE=m
1157
1158#
1159# USB support
1160#
1161CONFIG_USB_ARCH_HAS_HCD=y
1162CONFIG_USB_ARCH_HAS_OHCI=y
1163# CONFIG_USB_ARCH_HAS_EHCI is not set
1164CONFIG_USB=m
1165# CONFIG_USB_DEBUG is not set
1166
1167#
1168# Miscellaneous USB options
1169#
1170CONFIG_USB_DEVICEFS=y
1171CONFIG_USB_DEVICE_CLASS=y
1172# CONFIG_USB_DYNAMIC_MINORS is not set
1173# CONFIG_USB_SUSPEND is not set
1174# CONFIG_USB_OTG is not set
1175
1176#
1177# USB Host Controller Drivers
1178#
1179# CONFIG_USB_ISP116X_HCD is not set
1180CONFIG_USB_OHCI_HCD=m
1181# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
1182# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
1183CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1184CONFIG_USB_SL811_HCD=m
1185CONFIG_USB_SL811_CS=m
1186
1187#
1188# USB Device Class drivers
1189#
1190CONFIG_USB_ACM=m
1191CONFIG_USB_PRINTER=m
1192
1193#
1194# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1195#
1196
1197#
1198# may also be needed; see USB_STORAGE Help for more information
1199#
1200CONFIG_USB_STORAGE=m
1201# CONFIG_USB_STORAGE_DEBUG is not set
1202# CONFIG_USB_STORAGE_DATAFAB is not set
1203# CONFIG_USB_STORAGE_FREECOM is not set
1204# CONFIG_USB_STORAGE_ISD200 is not set
1205# CONFIG_USB_STORAGE_DPCM is not set
1206# CONFIG_USB_STORAGE_USBAT is not set
1207# CONFIG_USB_STORAGE_SDDR09 is not set
1208# CONFIG_USB_STORAGE_SDDR55 is not set
1209# CONFIG_USB_STORAGE_JUMPSHOT is not set
1210# CONFIG_USB_STORAGE_ALAUDA is not set
1211# CONFIG_USB_STORAGE_KARMA is not set
1212# CONFIG_USB_LIBUSUAL is not set
1213
1214#
1215# USB Imaging devices
1216#
1217CONFIG_USB_MDC800=m
1218CONFIG_USB_MICROTEK=m
1219CONFIG_USB_MON=y
1220
1221#
1222# USB port drivers
1223#
1224
1225#
1226# USB Serial Converter support
1227#
1228CONFIG_USB_SERIAL=m
1229CONFIG_USB_SERIAL_GENERIC=y
1230# CONFIG_USB_SERIAL_AIRCABLE is not set
1231# CONFIG_USB_SERIAL_AIRPRIME is not set
1232# CONFIG_USB_SERIAL_ARK3116 is not set
1233CONFIG_USB_SERIAL_BELKIN=m
1234# CONFIG_USB_SERIAL_WHITEHEAT is not set
1235CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
1236# CONFIG_USB_SERIAL_CP2101 is not set
1237CONFIG_USB_SERIAL_CYPRESS_M8=m
1238CONFIG_USB_SERIAL_EMPEG=m
1239CONFIG_USB_SERIAL_FTDI_SIO=m
1240# CONFIG_USB_SERIAL_FUNSOFT is not set
1241CONFIG_USB_SERIAL_VISOR=m
1242CONFIG_USB_SERIAL_IPAQ=m
1243CONFIG_USB_SERIAL_IR=m
1244CONFIG_USB_SERIAL_EDGEPORT=m
1245CONFIG_USB_SERIAL_EDGEPORT_TI=m
1246CONFIG_USB_SERIAL_GARMIN=m
1247CONFIG_USB_SERIAL_IPW=m
1248CONFIG_USB_SERIAL_KEYSPAN_PDA=m
1249CONFIG_USB_SERIAL_KEYSPAN=m
1250# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set
1251# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
1252# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
1253# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
1254# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
1255# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
1256# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
1257# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
1258# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
1259# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
1260# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
1261# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
1262CONFIG_USB_SERIAL_KLSI=m
1263CONFIG_USB_SERIAL_KOBIL_SCT=m
1264CONFIG_USB_SERIAL_MCT_U232=m
1265# CONFIG_USB_SERIAL_MOS7720 is not set
1266# CONFIG_USB_SERIAL_MOS7840 is not set
1267# CONFIG_USB_SERIAL_NAVMAN is not set
1268CONFIG_USB_SERIAL_PL2303=m
1269# CONFIG_USB_SERIAL_HP4X is not set
1270CONFIG_USB_SERIAL_SAFE=m
1271# CONFIG_USB_SERIAL_SAFE_PADDED is not set
1272# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
1273CONFIG_USB_SERIAL_TI=m
1274CONFIG_USB_SERIAL_CYBERJACK=m
1275CONFIG_USB_SERIAL_XIRCOM=m
1276# CONFIG_USB_SERIAL_OPTION is not set
1277CONFIG_USB_SERIAL_OMNINET=m
1278# CONFIG_USB_SERIAL_DEBUG is not set
1279CONFIG_USB_EZUSB=y
1280
1281#
1282# USB Miscellaneous drivers
1283#
1284CONFIG_USB_EMI62=m
1285CONFIG_USB_EMI26=m
1286# CONFIG_USB_ADUTUX is not set
1287CONFIG_USB_AUERSWALD=m
1288CONFIG_USB_RIO500=m
1289CONFIG_USB_LEGOTOWER=m
1290CONFIG_USB_LCD=m
1291# CONFIG_USB_BERRY_CHARGE is not set
1292CONFIG_USB_LED=m
1293# CONFIG_USB_CYPRESS_CY7C63 is not set
1294CONFIG_USB_CYTHERM=m
1295# CONFIG_USB_PHIDGET is not set
1296CONFIG_USB_IDMOUSE=m
1297# CONFIG_USB_FTDI_ELAN is not set
1298# CONFIG_USB_APPLEDISPLAY is not set
1299# CONFIG_USB_LD is not set
1300# CONFIG_USB_TRANCEVIBRATOR is not set
1301# CONFIG_USB_IOWARRIOR is not set
1302# CONFIG_USB_TEST is not set
1303
1304#
1305# USB DSL modem support
1306#
1307
1308#
1309# USB Gadget Support
1310#
1311CONFIG_USB_GADGET=m
1312# CONFIG_USB_GADGET_DEBUG_FILES is not set
1313CONFIG_USB_GADGET_SELECTED=y
1314# CONFIG_USB_GADGET_FSL_USB2 is not set
1315# CONFIG_USB_GADGET_NET2280 is not set
1316# CONFIG_USB_GADGET_PXA2XX is not set
1317CONFIG_USB_GADGET_PXA27X=y
1318CONFIG_USB_PXA27X=m
1319# CONFIG_USB_GADGET_GOKU is not set
1320# CONFIG_USB_GADGET_LH7A40X is not set
1321# CONFIG_USB_GADGET_OMAP is not set
1322# CONFIG_USB_GADGET_AT91 is not set
1323# CONFIG_USB_GADGET_DUMMY_HCD is not set
1324# CONFIG_USB_GADGET_DUALSPEED is not set
1325CONFIG_USB_ZERO=m
1326CONFIG_USB_ETH=m
1327CONFIG_USB_ETH_RNDIS=y
1328CONFIG_USB_GADGETFS=m
1329CONFIG_USB_FILE_STORAGE=m
1330# CONFIG_USB_FILE_STORAGE_TEST is not set
1331CONFIG_USB_G_SERIAL=m
1332# CONFIG_USB_MIDI_GADGET is not set
1333CONFIG_MMC=y
1334# CONFIG_MMC_DEBUG is not set
1335# CONFIG_MMC_UNSAFE_RESUME is not set
1336
1337#
1338# MMC/SD Card Drivers
1339#
1340CONFIG_MMC_BLOCK=y
1341
1342#
1343# MMC/SD Host Controller Drivers
1344#
1345CONFIG_MMC_PXA=y
1346
1347#
1348# Real Time Clock
1349#
1350CONFIG_RTC_LIB=y
1351CONFIG_RTC_CLASS=y
1352CONFIG_RTC_HCTOSYS=y
1353CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1354# CONFIG_RTC_DEBUG is not set
1355
1356#
1357# RTC interfaces
1358#
1359CONFIG_RTC_INTF_SYSFS=y
1360CONFIG_RTC_INTF_PROC=y
1361CONFIG_RTC_INTF_DEV=y
1362# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
1363# CONFIG_RTC_DRV_TEST is not set
1364
1365#
1366# I2C RTC drivers
1367#
1368# CONFIG_RTC_DRV_DS1307 is not set
1369# CONFIG_RTC_DRV_DS1672 is not set
1370# CONFIG_RTC_DRV_MAX6900 is not set
1371# CONFIG_RTC_DRV_RS5C372 is not set
1372# CONFIG_RTC_DRV_ISL1208 is not set
1373# CONFIG_RTC_DRV_X1205 is not set
1374# CONFIG_RTC_DRV_PCF8563 is not set
1375# CONFIG_RTC_DRV_PCF8583 is not set
1376
1377#
1378# SPI RTC drivers
1379#
1380
1381#
1382# Platform RTC drivers
1383#
1384# CONFIG_RTC_DRV_CMOS is not set
1385# CONFIG_RTC_DRV_DS1553 is not set
1386# CONFIG_RTC_DRV_DS1742 is not set
1387# CONFIG_RTC_DRV_M48T86 is not set
1388# CONFIG_RTC_DRV_V3020 is not set
1389
1390#
1391# on-CPU RTC drivers
1392#
1393CONFIG_RTC_DRV_SA1100=y
1394
1395#
1396# File systems
1397#
1398CONFIG_EXT2_FS=y
1399# CONFIG_EXT2_FS_XATTR is not set
1400# CONFIG_EXT2_FS_XIP is not set
1401CONFIG_EXT3_FS=y
1402# CONFIG_EXT3_FS_XATTR is not set
1403# CONFIG_EXT4DEV_FS is not set
1404CONFIG_JBD=y
1405# CONFIG_JBD_DEBUG is not set
1406# CONFIG_REISERFS_FS is not set
1407# CONFIG_JFS_FS is not set
1408CONFIG_FS_POSIX_ACL=y
1409# CONFIG_XFS_FS is not set
1410# CONFIG_GFS2_FS is not set
1411# CONFIG_OCFS2_FS is not set
1412# CONFIG_MINIX_FS is not set
1413# CONFIG_ROMFS_FS is not set
1414CONFIG_INOTIFY=y
1415CONFIG_INOTIFY_USER=y
1416# CONFIG_QUOTA is not set
1417CONFIG_DNOTIFY=y
1418# CONFIG_AUTOFS_FS is not set
1419# CONFIG_AUTOFS4_FS is not set
1420# CONFIG_FUSE_FS is not set
1421
1422#
1423# CD-ROM/DVD Filesystems
1424#
1425# CONFIG_ISO9660_FS is not set
1426# CONFIG_UDF_FS is not set
1427
1428#
1429# DOS/FAT/NT Filesystems
1430#
1431CONFIG_FAT_FS=y
1432# CONFIG_MSDOS_FS is not set
1433CONFIG_VFAT_FS=y
1434CONFIG_FAT_DEFAULT_CODEPAGE=437
1435CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1436# CONFIG_NTFS_FS is not set
1437
1438#
1439# Pseudo filesystems
1440#
1441CONFIG_PROC_FS=y
1442CONFIG_PROC_SYSCTL=y
1443CONFIG_SYSFS=y
1444CONFIG_TMPFS=y
1445# CONFIG_TMPFS_POSIX_ACL is not set
1446# CONFIG_HUGETLB_PAGE is not set
1447CONFIG_RAMFS=y
1448# CONFIG_CONFIGFS_FS is not set
1449
1450#
1451# Miscellaneous filesystems
1452#
1453# CONFIG_ADFS_FS is not set
1454# CONFIG_AFFS_FS is not set
1455# CONFIG_HFS_FS is not set
1456# CONFIG_HFSPLUS_FS is not set
1457# CONFIG_BEFS_FS is not set
1458# CONFIG_BFS_FS is not set
1459# CONFIG_EFS_FS is not set
1460CONFIG_JFFS2_FS=m
1461CONFIG_JFFS2_FS_DEBUG=0
1462CONFIG_JFFS2_FS_WRITEBUFFER=y
1463CONFIG_JFFS2_SUMMARY=y
1464# CONFIG_JFFS2_FS_XATTR is not set
1465# CONFIG_JFFS2_SYSFS is not set
1466CONFIG_JFFS2_COMPRESSION_OPTIONS=y
1467CONFIG_JFFS2_ZLIB=y
1468CONFIG_JFFS2_LZO=y
1469CONFIG_JFFS2_RTIME=y
1470CONFIG_JFFS2_RUBIN=y
1471# CONFIG_JFFS2_CMODE_NONE is not set
1472CONFIG_JFFS2_CMODE_PRIORITY=y
1473# CONFIG_JFFS2_CMODE_SIZE is not set
1474# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
1475CONFIG_CRAMFS=m
1476CONFIG_SQUASHFS=m
1477# CONFIG_SQUASHFS_EMBEDDED is not set
1478CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
1479# CONFIG_SQUASHFS_VMALLOC is not set
1480# CONFIG_VXFS_FS is not set
1481# CONFIG_HPFS_FS is not set
1482# CONFIG_QNX4FS_FS is not set
1483# CONFIG_SYSV_FS is not set
1484# CONFIG_UFS_FS is not set
1485
1486#
1487# Network File Systems
1488#
1489CONFIG_NFS_FS=m
1490CONFIG_NFS_V3=y
1491# CONFIG_NFS_V3_ACL is not set
1492CONFIG_NFS_V4=y
1493# CONFIG_NFS_DIRECTIO is not set
1494CONFIG_NFSD=m
1495CONFIG_NFSD_V3=y
1496# CONFIG_NFSD_V3_ACL is not set
1497CONFIG_NFSD_V4=y
1498CONFIG_NFSD_TCP=y
1499CONFIG_LOCKD=m
1500CONFIG_LOCKD_V4=y
1501CONFIG_EXPORTFS=m
1502CONFIG_NFS_COMMON=y
1503CONFIG_SUNRPC=m
1504CONFIG_SUNRPC_GSS=m
1505# CONFIG_SUNRPC_BIND34 is not set
1506CONFIG_RPCSEC_GSS_KRB5=m
1507# CONFIG_RPCSEC_GSS_SPKM3 is not set
1508CONFIG_SMB_FS=m
1509CONFIG_SMB_NLS_DEFAULT=y
1510CONFIG_SMB_NLS_REMOTE="cp437"
1511CONFIG_CIFS=m
1512# CONFIG_CIFS_STATS is not set
1513# CONFIG_CIFS_WEAK_PW_HASH is not set
1514# CONFIG_CIFS_XATTR is not set
1515# CONFIG_CIFS_DEBUG2 is not set
1516# CONFIG_CIFS_EXPERIMENTAL is not set
1517# CONFIG_NCP_FS is not set
1518# CONFIG_CODA_FS is not set
1519# CONFIG_AFS_FS is not set
1520# CONFIG_9P_FS is not set
1521
1522#
1523# Partition Types
1524#
1525CONFIG_PARTITION_ADVANCED=y
1526# CONFIG_ACORN_PARTITION is not set
1527# CONFIG_OSF_PARTITION is not set
1528# CONFIG_AMIGA_PARTITION is not set
1529# CONFIG_ATARI_PARTITION is not set
1530# CONFIG_MAC_PARTITION is not set
1531CONFIG_MSDOS_PARTITION=y
1532# CONFIG_BSD_DISKLABEL is not set
1533# CONFIG_MINIX_SUBPARTITION is not set
1534# CONFIG_SOLARIS_X86_PARTITION is not set
1535# CONFIG_UNIXWARE_DISKLABEL is not set
1536# CONFIG_LDM_PARTITION is not set
1537# CONFIG_SGI_PARTITION is not set
1538# CONFIG_ULTRIX_PARTITION is not set
1539# CONFIG_SUN_PARTITION is not set
1540# CONFIG_KARMA_PARTITION is not set
1541# CONFIG_EFI_PARTITION is not set
1542# CONFIG_SYSV68_PARTITION is not set
1543
1544#
1545# Native Language Support
1546#
1547CONFIG_NLS=y
1548CONFIG_NLS_DEFAULT="cp437"
1549CONFIG_NLS_CODEPAGE_437=y
1550CONFIG_NLS_CODEPAGE_737=m
1551CONFIG_NLS_CODEPAGE_775=m
1552CONFIG_NLS_CODEPAGE_850=m
1553CONFIG_NLS_CODEPAGE_852=m
1554CONFIG_NLS_CODEPAGE_855=m
1555CONFIG_NLS_CODEPAGE_857=m
1556CONFIG_NLS_CODEPAGE_860=m
1557CONFIG_NLS_CODEPAGE_861=m
1558CONFIG_NLS_CODEPAGE_862=m
1559CONFIG_NLS_CODEPAGE_863=m
1560CONFIG_NLS_CODEPAGE_864=m
1561CONFIG_NLS_CODEPAGE_865=m
1562CONFIG_NLS_CODEPAGE_866=m
1563CONFIG_NLS_CODEPAGE_869=m
1564CONFIG_NLS_CODEPAGE_936=m
1565CONFIG_NLS_CODEPAGE_950=m
1566CONFIG_NLS_CODEPAGE_932=m
1567CONFIG_NLS_CODEPAGE_949=m
1568CONFIG_NLS_CODEPAGE_874=m
1569CONFIG_NLS_ISO8859_8=m
1570CONFIG_NLS_CODEPAGE_1250=m
1571CONFIG_NLS_CODEPAGE_1251=m
1572CONFIG_NLS_ASCII=m
1573CONFIG_NLS_ISO8859_1=y
1574CONFIG_NLS_ISO8859_2=m
1575CONFIG_NLS_ISO8859_3=m
1576CONFIG_NLS_ISO8859_4=m
1577CONFIG_NLS_ISO8859_5=m
1578CONFIG_NLS_ISO8859_6=m
1579CONFIG_NLS_ISO8859_7=m
1580CONFIG_NLS_ISO8859_9=m
1581CONFIG_NLS_ISO8859_13=m
1582CONFIG_NLS_ISO8859_14=m
1583CONFIG_NLS_ISO8859_15=m
1584CONFIG_NLS_KOI8_R=m
1585CONFIG_NLS_KOI8_U=m
1586CONFIG_NLS_UTF8=y
1587
1588#
1589# Distributed Lock Manager
1590#
1591# CONFIG_DLM is not set
1592
1593#
1594# Profiling support
1595#
1596CONFIG_PROFILING=y
1597CONFIG_OPROFILE=m
1598
1599#
1600# Kernel hacking
1601#
1602# CONFIG_PRINTK_TIME is not set
1603CONFIG_ENABLE_MUST_CHECK=y
1604CONFIG_MAGIC_SYSRQ=y
1605# CONFIG_UNUSED_SYMBOLS is not set
1606# CONFIG_DEBUG_FS is not set
1607# CONFIG_HEADERS_CHECK is not set
1608CONFIG_DEBUG_KERNEL=y
1609# CONFIG_DEBUG_SHIRQ is not set
1610# CONFIG_DETECT_SOFTLOCKUP is not set
1611# CONFIG_SCHEDSTATS is not set
1612# CONFIG_TIMER_STATS is not set
1613# CONFIG_DEBUG_SLAB is not set
1614# CONFIG_DEBUG_PREEMPT is not set
1615# CONFIG_DEBUG_RT_MUTEXES is not set
1616# CONFIG_RT_MUTEX_TESTER is not set
1617# CONFIG_DEBUG_SPINLOCK is not set
1618# CONFIG_DEBUG_MUTEXES is not set
1619# CONFIG_DEBUG_LOCK_ALLOC is not set
1620# CONFIG_PROVE_LOCKING is not set
1621# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1622# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1623# CONFIG_DEBUG_KOBJECT is not set
1624CONFIG_DEBUG_BUGVERBOSE=y
1625# CONFIG_DEBUG_INFO is not set
1626# CONFIG_DEBUG_VM is not set
1627# CONFIG_DEBUG_LIST is not set
1628CONFIG_FRAME_POINTER=y
1629# CONFIG_FORCED_INLINING is not set
1630# CONFIG_RCU_TORTURE_TEST is not set
1631# CONFIG_FAULT_INJECTION is not set
1632# CONFIG_DEBUG_USER is not set
1633CONFIG_DEBUG_ERRORS=y
1634# CONFIG_DEBUG_LL is not set
1635
1636#
1637# Security options
1638#
1639# CONFIG_KEYS is not set
1640# CONFIG_SECURITY is not set
1641
1642#
1643# Cryptographic options
1644#
1645CONFIG_CRYPTO=y
1646CONFIG_CRYPTO_ALGAPI=y
1647CONFIG_CRYPTO_BLKCIPHER=m
1648CONFIG_CRYPTO_HASH=y
1649CONFIG_CRYPTO_MANAGER=y
1650CONFIG_CRYPTO_HMAC=y
1651# CONFIG_CRYPTO_XCBC is not set
1652CONFIG_CRYPTO_NULL=m
1653CONFIG_CRYPTO_MD4=m
1654CONFIG_CRYPTO_MD5=m
1655CONFIG_CRYPTO_SHA1=m
1656CONFIG_CRYPTO_SHA256=m
1657CONFIG_CRYPTO_SHA512=m
1658CONFIG_CRYPTO_WP512=m
1659# CONFIG_CRYPTO_TGR192 is not set
1660# CONFIG_CRYPTO_GF128MUL is not set
1661CONFIG_CRYPTO_ECB=m
1662CONFIG_CRYPTO_CBC=m
1663CONFIG_CRYPTO_PCBC=m
1664# CONFIG_CRYPTO_LRW is not set
1665# CONFIG_CRYPTO_CRYPTD is not set
1666CONFIG_CRYPTO_DES=m
1667# CONFIG_CRYPTO_FCRYPT is not set
1668CONFIG_CRYPTO_BLOWFISH=m
1669CONFIG_CRYPTO_TWOFISH=m
1670CONFIG_CRYPTO_TWOFISH_COMMON=m
1671CONFIG_CRYPTO_SERPENT=m
1672CONFIG_CRYPTO_AES=m
1673CONFIG_CRYPTO_CAST5=m
1674CONFIG_CRYPTO_CAST6=m
1675CONFIG_CRYPTO_TEA=m
1676CONFIG_CRYPTO_ARC4=m
1677CONFIG_CRYPTO_KHAZAD=m
1678CONFIG_CRYPTO_ANUBIS=m
1679CONFIG_CRYPTO_DEFLATE=m
1680# CONFIG_CRYPTO_LZO is not set
1681CONFIG_CRYPTO_MICHAEL_MIC=m
1682CONFIG_CRYPTO_CRC32C=m
1683# CONFIG_CRYPTO_CAMELLIA is not set
1684CONFIG_CRYPTO_TEST=m
1685
1686#
1687# Hardware crypto devices
1688#
1689
1690#
1691# Library routines
1692#
1693CONFIG_BITREVERSE=y
1694CONFIG_CRC_CCITT=y
1695# CONFIG_CRC16 is not set
1696# CONFIG_CRC_ITU_T is not set
1697CONFIG_CRC32=y
1698CONFIG_LIBCRC32C=m
1699CONFIG_ZLIB_INFLATE=m
1700CONFIG_ZLIB_DEFLATE=m
1701CONFIG_LZO_COMPRESS=m
1702CONFIG_LZO_DECOMPRESS=m
1703CONFIG_PLIST=y
1704CONFIG_HAS_IOMEM=y
1705CONFIG_HAS_IOPORT=y
1706CONFIG_HAS_DMA=y
diff --git a/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-tosa b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-tosa
new file mode 100644
index 0000000000..4360f7a179
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/defconfig-tosa
@@ -0,0 +1,1612 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc5-git5
4# Tue Mar 14 09:05:26 2006
5#
6CONFIG_ARM=y
7CONFIG_MMU=y
8CONFIG_RWSEM_GENERIC_SPINLOCK=y
9CONFIG_GENERIC_CALIBRATE_DELAY=y
10CONFIG_ARCH_MTD_XIP=y
11
12#
13# Code maturity level options
14#
15CONFIG_EXPERIMENTAL=y
16CONFIG_BROKEN_ON_SMP=y
17CONFIG_LOCK_KERNEL=y
18CONFIG_INIT_ENV_ARG_LIMIT=32
19
20#
21# General setup
22#
23CONFIG_LOCALVERSION=""
24CONFIG_LOCALVERSION_AUTO=y
25CONFIG_SWAP=y
26CONFIG_SYSVIPC=y
27# CONFIG_POSIX_MQUEUE is not set
28CONFIG_BSD_PROCESS_ACCT=y
29# CONFIG_BSD_PROCESS_ACCT_V3 is not set
30CONFIG_SYSCTL=y
31# CONFIG_AUDIT is not set
32# CONFIG_IKCONFIG is not set
33CONFIG_INITRAMFS_SOURCE=""
34CONFIG_UID16=y
35CONFIG_CC_OPTIMIZE_FOR_SIZE=y
36CONFIG_EMBEDDED=y
37CONFIG_KALLSYMS=y
38# CONFIG_KALLSYMS_ALL is not set
39# CONFIG_KALLSYMS_EXTRA_PASS is not set
40CONFIG_HOTPLUG=y
41CONFIG_PRINTK=y
42CONFIG_BUG=y
43CONFIG_ELF_CORE=y
44CONFIG_BASE_FULL=y
45CONFIG_FUTEX=y
46CONFIG_EPOLL=y
47CONFIG_SHMEM=y
48CONFIG_CC_ALIGN_FUNCTIONS=0
49CONFIG_CC_ALIGN_LABELS=0
50CONFIG_CC_ALIGN_LOOPS=0
51CONFIG_CC_ALIGN_JUMPS=0
52CONFIG_SLAB=y
53# CONFIG_TINY_SHMEM is not set
54CONFIG_BASE_SMALL=0
55# CONFIG_SLOB is not set
56
57#
58# Loadable module support
59#
60CONFIG_MODULES=y
61CONFIG_MODULE_UNLOAD=y
62CONFIG_MODULE_FORCE_UNLOAD=y
63CONFIG_OBSOLETE_MODPARM=y
64# CONFIG_MODVERSIONS is not set
65# CONFIG_MODULE_SRCVERSION_ALL is not set
66CONFIG_KMOD=y
67
68#
69# Block layer
70#
71
72#
73# IO Schedulers
74#
75CONFIG_IOSCHED_NOOP=y
76CONFIG_IOSCHED_AS=y
77CONFIG_IOSCHED_DEADLINE=m
78CONFIG_IOSCHED_CFQ=m
79CONFIG_DEFAULT_AS=y
80# CONFIG_DEFAULT_DEADLINE is not set
81# CONFIG_DEFAULT_CFQ is not set
82# CONFIG_DEFAULT_NOOP is not set
83CONFIG_DEFAULT_IOSCHED="anticipatory"
84
85#
86# System Type
87#
88# CONFIG_ARCH_CLPS7500 is not set
89# CONFIG_ARCH_CLPS711X is not set
90# CONFIG_ARCH_CO285 is not set
91# CONFIG_ARCH_EBSA110 is not set
92# CONFIG_ARCH_FOOTBRIDGE is not set
93# CONFIG_ARCH_INTEGRATOR is not set
94# CONFIG_ARCH_IOP3XX is not set
95# CONFIG_ARCH_IXP4XX is not set
96# CONFIG_ARCH_IXP2000 is not set
97# CONFIG_ARCH_L7200 is not set
98CONFIG_ARCH_PXA=y
99# CONFIG_ARCH_RPC is not set
100# CONFIG_ARCH_SA1100 is not set
101# CONFIG_ARCH_S3C2410 is not set
102# CONFIG_ARCH_SHARK is not set
103# CONFIG_ARCH_LH7A40X is not set
104# CONFIG_ARCH_OMAP is not set
105# CONFIG_ARCH_VERSATILE is not set
106# CONFIG_ARCH_REALVIEW is not set
107# CONFIG_ARCH_IMX is not set
108# CONFIG_ARCH_H720X is not set
109# CONFIG_ARCH_AAEC2000 is not set
110# CONFIG_ARCH_AT91RM9200 is not set
111
112#
113# Intel PXA2xx Implementations
114#
115# CONFIG_ARCH_LUBBOCK is not set
116# CONFIG_MACH_MAINSTONE is not set
117# CONFIG_ARCH_PXA_IDP is not set
118CONFIG_PXA_SHARPSL=y
119# CONFIG_MACH_HX2750 is not set
120CONFIG_PXA_SHARPSL_25x=y
121# CONFIG_PXA_SHARPSL_27x is not set
122# CONFIG_MACH_POODLE is not set
123# CONFIG_MACH_CORGI is not set
124# CONFIG_MACH_SHEPHERD is not set
125# CONFIG_MACH_HUSKY is not set
126CONFIG_MACH_TOSA=y
127CONFIG_PXA25x=y
128# CONFIG_PXA_KEYS is not set
129
130#
131# Processor Type
132#
133CONFIG_CPU_32=y
134CONFIG_CPU_XSCALE=y
135CONFIG_CPU_32v5=y
136CONFIG_CPU_ABRT_EV5T=y
137CONFIG_CPU_CACHE_VIVT=y
138CONFIG_CPU_TLB_V4WBI=y
139
140#
141# Processor Features
142#
143CONFIG_ARM_THUMB=y
144CONFIG_XSCALE_PMU=y
145CONFIG_KEXEC=y
146CONFIG_SHARP_PARAM=y
147CONFIG_SHARPSL_PM=y
148CONFIG_SHARP_SCOOP=y
149CONFIG_TOSHIBA_TC6393XB=y
150
151#
152# Bus support
153#
154
155#
156# PCCARD (PCMCIA/CardBus) support
157#
158CONFIG_PCCARD=y
159# CONFIG_PCMCIA_DEBUG is not set
160CONFIG_PCMCIA=y
161CONFIG_PCMCIA_LOAD_CIS=y
162CONFIG_PCMCIA_IOCTL=y
163
164#
165# PC-card bridges
166#
167CONFIG_PCMCIA_PXA2XX=y
168
169#
170# Kernel Features
171#
172CONFIG_PREEMPT=y
173CONFIG_NO_IDLE_HZ=y
174# CONFIG_AEABI is not set
175# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
176CONFIG_SELECT_MEMORY_MODEL=y
177CONFIG_FLATMEM_MANUAL=y
178# CONFIG_DISCONTIGMEM_MANUAL is not set
179# CONFIG_SPARSEMEM_MANUAL is not set
180CONFIG_FLATMEM=y
181CONFIG_FLAT_NODE_MEM_MAP=y
182# CONFIG_SPARSEMEM_STATIC is not set
183CONFIG_SPLIT_PTLOCK_CPUS=4096
184CONFIG_ALIGNMENT_TRAP=y
185
186#
187# Boot options
188#
189CONFIG_ZBOOT_ROM_TEXT=0x0
190CONFIG_ZBOOT_ROM_BSS=0x0
191# CONFIG_XIP_KERNEL is not set
192
193#
194# CPU Frequency scaling
195#
196CONFIG_CPU_FREQ=y
197CONFIG_CPU_FREQ_TABLE=y
198# CONFIG_CPU_FREQ_DEBUG is not set
199CONFIG_CPU_FREQ_STAT=y
200# CONFIG_CPU_FREQ_STAT_DETAILS is not set
201CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
202# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
203CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
204CONFIG_CPU_FREQ_GOV_POWERSAVE=m
205CONFIG_CPU_FREQ_GOV_USERSPACE=m
206CONFIG_CPU_FREQ_GOV_ONDEMAND=m
207CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
208CONFIG_CPU_FREQ_PXA25x=y
209
210#
211# Floating point emulation
212#
213
214#
215# At least one emulation must be selected
216#
217CONFIG_FPE_NWFPE=y
218# CONFIG_FPE_NWFPE_XP is not set
219# CONFIG_FPE_FASTFPE is not set
220
221#
222# Userspace binary formats
223#
224CONFIG_BINFMT_ELF=y
225CONFIG_BINFMT_AOUT=m
226CONFIG_BINFMT_MISC=m
227# CONFIG_ARTHUR is not set
228
229#
230# Power management options
231#
232CONFIG_PM=y
233# CONFIG_PM_LEGACY is not set
234# CONFIG_PM_DEBUG is not set
235CONFIG_APM=y
236
237#
238# Networking
239#
240CONFIG_NET=y
241
242#
243# Networking options
244#
245# CONFIG_NETDEBUG is not set
246CONFIG_PACKET=y
247CONFIG_PACKET_MMAP=y
248CONFIG_UNIX=y
249CONFIG_XFRM=y
250CONFIG_XFRM_USER=m
251# CONFIG_NET_KEY is not set
252CONFIG_INET=y
253# CONFIG_IP_MULTICAST is not set
254# CONFIG_IP_ADVANCED_ROUTER is not set
255CONFIG_IP_FIB_HASH=y
256# CONFIG_IP_PNP is not set
257# CONFIG_NET_IPIP is not set
258# CONFIG_NET_IPGRE is not set
259# CONFIG_ARPD is not set
260CONFIG_SYN_COOKIES=y
261# CONFIG_INET_AH is not set
262# CONFIG_INET_ESP is not set
263# CONFIG_INET_IPCOMP is not set
264# CONFIG_INET_TUNNEL is not set
265CONFIG_INET_DIAG=m
266CONFIG_INET_TCP_DIAG=m
267# CONFIG_TCP_CONG_ADVANCED is not set
268CONFIG_TCP_CONG_BIC=y
269
270#
271# IP: Virtual Server Configuration
272#
273# CONFIG_IP_VS is not set
274CONFIG_IPV6=m
275# CONFIG_IPV6_PRIVACY is not set
276CONFIG_INET6_AH=m
277CONFIG_INET6_ESP=m
278CONFIG_INET6_IPCOMP=m
279CONFIG_INET6_TUNNEL=m
280CONFIG_IPV6_TUNNEL=m
281CONFIG_NETFILTER=y
282# CONFIG_NETFILTER_DEBUG is not set
283
284#
285# Core Netfilter Configuration
286#
287# CONFIG_NETFILTER_NETLINK is not set
288# CONFIG_NETFILTER_XTABLES is not set
289
290#
291# IP: Netfilter Configuration
292#
293CONFIG_IP_NF_CONNTRACK=m
294# CONFIG_IP_NF_CT_ACCT is not set
295# CONFIG_IP_NF_CONNTRACK_MARK is not set
296# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
297CONFIG_IP_NF_CT_PROTO_SCTP=m
298CONFIG_IP_NF_FTP=m
299CONFIG_IP_NF_IRC=m
300# CONFIG_IP_NF_NETBIOS_NS is not set
301CONFIG_IP_NF_TFTP=m
302CONFIG_IP_NF_AMANDA=m
303# CONFIG_IP_NF_PPTP is not set
304CONFIG_IP_NF_QUEUE=m
305
306#
307# IPv6: Netfilter Configuration (EXPERIMENTAL)
308#
309# CONFIG_IP6_NF_QUEUE is not set
310
311#
312# DCCP Configuration (EXPERIMENTAL)
313#
314# CONFIG_IP_DCCP is not set
315
316#
317# SCTP Configuration (EXPERIMENTAL)
318#
319# CONFIG_IP_SCTP is not set
320
321#
322# TIPC Configuration (EXPERIMENTAL)
323#
324# CONFIG_TIPC is not set
325# CONFIG_ATM is not set
326# CONFIG_BRIDGE is not set
327# CONFIG_VLAN_8021Q is not set
328# CONFIG_DECNET is not set
329# CONFIG_LLC2 is not set
330# CONFIG_IPX is not set
331# CONFIG_ATALK is not set
332# CONFIG_X25 is not set
333# CONFIG_LAPB is not set
334# CONFIG_NET_DIVERT is not set
335# CONFIG_ECONET is not set
336# CONFIG_WAN_ROUTER is not set
337
338#
339# QoS and/or fair queueing
340#
341# CONFIG_NET_SCHED is not set
342
343#
344# Network testing
345#
346# CONFIG_NET_PKTGEN is not set
347# CONFIG_HAMRADIO is not set
348CONFIG_IRDA=m
349
350#
351# IrDA protocols
352#
353CONFIG_IRLAN=m
354CONFIG_IRNET=m
355CONFIG_IRCOMM=m
356# CONFIG_IRDA_ULTRA is not set
357
358#
359# IrDA options
360#
361# CONFIG_IRDA_CACHE_LAST_LSAP is not set
362# CONFIG_IRDA_FAST_RR is not set
363# CONFIG_IRDA_DEBUG is not set
364
365#
366# Infrared-port device drivers
367#
368
369#
370# SIR device drivers
371#
372# CONFIG_IRTTY_SIR is not set
373
374#
375# Dongle support
376#
377
378#
379# Old SIR device drivers
380#
381# CONFIG_IRPORT_SIR is not set
382
383#
384# Old Serial dongle support
385#
386
387#
388# FIR device drivers
389#
390# CONFIG_USB_IRDA is not set
391# CONFIG_SIGMATEL_FIR is not set
392CONFIG_PXA_FICP=m
393CONFIG_BT=m
394CONFIG_BT_L2CAP=m
395CONFIG_BT_SCO=m
396CONFIG_BT_RFCOMM=m
397CONFIG_BT_RFCOMM_TTY=y
398CONFIG_BT_BNEP=m
399CONFIG_BT_BNEP_MC_FILTER=y
400CONFIG_BT_BNEP_PROTO_FILTER=y
401CONFIG_BT_HIDP=m
402
403#
404# Bluetooth device drivers
405#
406CONFIG_BT_HCIUSB=m
407# CONFIG_BT_HCIUSB_SCO is not set
408CONFIG_BT_HCIUART=m
409CONFIG_BT_HCIUART_H4=y
410CONFIG_BT_HCIUART_BCSP=y
411CONFIG_BT_HCIBCM203X=m
412CONFIG_BT_HCIBPA10X=m
413CONFIG_BT_HCIBFUSB=m
414CONFIG_BT_HCIDTL1=m
415CONFIG_BT_HCIBT3C=m
416CONFIG_BT_HCIBLUECARD=m
417CONFIG_BT_HCIBTUART=m
418CONFIG_BT_HCIVHCI=m
419CONFIG_IEEE80211=m
420# CONFIG_IEEE80211_DEBUG is not set
421CONFIG_IEEE80211_CRYPT_WEP=m
422CONFIG_IEEE80211_CRYPT_CCMP=m
423CONFIG_IEEE80211_CRYPT_TKIP=m
424
425#
426# Device Drivers
427#
428
429#
430# Generic Driver Options
431#
432CONFIG_STANDALONE=y
433CONFIG_PREVENT_FIRMWARE_BUILD=y
434CONFIG_FW_LOADER=y
435# CONFIG_DEBUG_DRIVER is not set
436
437#
438# Connector - unified userspace <-> kernelspace linker
439#
440# CONFIG_CONNECTOR is not set
441
442#
443# Memory Technology Devices (MTD)
444#
445CONFIG_MTD=y
446# CONFIG_MTD_DEBUG is not set
447# CONFIG_MTD_CONCAT is not set
448CONFIG_MTD_PARTITIONS=y
449# CONFIG_MTD_REDBOOT_PARTS is not set
450# CONFIG_MTD_CMDLINE_PARTS is not set
451# CONFIG_MTD_AFS_PARTS is not set
452
453#
454# User Modules And Translation Layers
455#
456CONFIG_MTD_CHAR=y
457CONFIG_MTD_BLOCK=y
458# CONFIG_FTL is not set
459# CONFIG_NFTL is not set
460# CONFIG_INFTL is not set
461# CONFIG_RFD_FTL is not set
462
463#
464# RAM/ROM/Flash chip drivers
465#
466# CONFIG_MTD_CFI is not set
467# CONFIG_MTD_JEDECPROBE is not set
468CONFIG_MTD_MAP_BANK_WIDTH_1=y
469CONFIG_MTD_MAP_BANK_WIDTH_2=y
470CONFIG_MTD_MAP_BANK_WIDTH_4=y
471# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
472# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
473# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
474CONFIG_MTD_CFI_I1=y
475CONFIG_MTD_CFI_I2=y
476# CONFIG_MTD_CFI_I4 is not set
477# CONFIG_MTD_CFI_I8 is not set
478# CONFIG_MTD_RAM is not set
479CONFIG_MTD_ROM=y
480# CONFIG_MTD_ABSENT is not set
481# CONFIG_MTD_OBSOLETE_CHIPS is not set
482
483#
484# Mapping drivers for chip access
485#
486# CONFIG_MTD_COMPLEX_MAPPINGS is not set
487CONFIG_MTD_SHARP_SL=y
488# CONFIG_MTD_PLATRAM is not set
489
490#
491# Self-contained MTD device drivers
492#
493# CONFIG_MTD_SLRAM is not set
494# CONFIG_MTD_PHRAM is not set
495# CONFIG_MTD_MTDRAM is not set
496# CONFIG_MTD_BLKMTD is not set
497# CONFIG_MTD_BLOCK2MTD is not set
498
499#
500# Disk-On-Chip Device Drivers
501#
502# CONFIG_MTD_DOC2000 is not set
503# CONFIG_MTD_DOC2001 is not set
504# CONFIG_MTD_DOC2001PLUS is not set
505
506#
507# NAND Flash Device Drivers
508#
509CONFIG_MTD_NAND=y
510CONFIG_MTD_NAND_VERIFY_WRITE=y
511# CONFIG_MTD_NAND_H1900 is not set
512CONFIG_MTD_NAND_TMIO=y
513CONFIG_MTD_NAND_IDS=y
514# CONFIG_MTD_NAND_DISKONCHIP is not set
515# CONFIG_MTD_NAND_SHARPSL is not set
516# CONFIG_MTD_NAND_NANDSIM is not set
517
518#
519# OneNAND Flash Device Drivers
520#
521# CONFIG_MTD_ONENAND is not set
522
523#
524# Parallel port support
525#
526# CONFIG_PARPORT is not set
527
528#
529# Plug and Play support
530#
531
532#
533# Block devices
534#
535# CONFIG_BLK_DEV_COW_COMMON is not set
536CONFIG_BLK_DEV_LOOP=m
537# CONFIG_BLK_DEV_CRYPTOLOOP is not set
538# CONFIG_BLK_DEV_NBD is not set
539# CONFIG_BLK_DEV_UB is not set
540# CONFIG_BLK_DEV_RAM is not set
541CONFIG_BLK_DEV_RAM_COUNT=16
542# CONFIG_CDROM_PKTCDVD is not set
543# CONFIG_ATA_OVER_ETH is not set
544
545#
546# ATA/ATAPI/MFM/RLL support
547#
548CONFIG_IDE=y
549CONFIG_BLK_DEV_IDE=y
550
551#
552# Please see Documentation/ide.txt for help/info on IDE drives
553#
554# CONFIG_BLK_DEV_IDE_SATA is not set
555CONFIG_BLK_DEV_IDEDISK=y
556# CONFIG_IDEDISK_MULTI_MODE is not set
557CONFIG_BLK_DEV_IDECS=y
558# CONFIG_BLK_DEV_IDECD is not set
559# CONFIG_BLK_DEV_IDETAPE is not set
560# CONFIG_BLK_DEV_IDEFLOPPY is not set
561# CONFIG_BLK_DEV_IDESCSI is not set
562# CONFIG_IDE_TASK_IOCTL is not set
563
564#
565# IDE chipset support/bugfixes
566#
567# CONFIG_IDE_GENERIC is not set
568# CONFIG_IDE_ARM is not set
569# CONFIG_BLK_DEV_IDEDMA is not set
570# CONFIG_IDEDMA_AUTO is not set
571# CONFIG_BLK_DEV_HD is not set
572
573#
574# SCSI device support
575#
576# CONFIG_RAID_ATTRS is not set
577CONFIG_SCSI=m
578CONFIG_SCSI_PROC_FS=y
579
580#
581# SCSI support type (disk, tape, CD-ROM)
582#
583CONFIG_BLK_DEV_SD=m
584CONFIG_CHR_DEV_ST=m
585CONFIG_CHR_DEV_OSST=m
586CONFIG_BLK_DEV_SR=m
587# CONFIG_BLK_DEV_SR_VENDOR is not set
588CONFIG_CHR_DEV_SG=m
589# CONFIG_CHR_DEV_SCH is not set
590
591#
592# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
593#
594CONFIG_SCSI_MULTI_LUN=y
595# CONFIG_SCSI_CONSTANTS is not set
596# CONFIG_SCSI_LOGGING is not set
597
598#
599# SCSI Transport Attributes
600#
601# CONFIG_SCSI_SPI_ATTRS is not set
602# CONFIG_SCSI_FC_ATTRS is not set
603# CONFIG_SCSI_ISCSI_ATTRS is not set
604# CONFIG_SCSI_SAS_ATTRS is not set
605
606#
607# SCSI low-level drivers
608#
609# CONFIG_ISCSI_TCP is not set
610# CONFIG_SCSI_SATA is not set
611# CONFIG_SCSI_DEBUG is not set
612
613#
614# PCMCIA SCSI adapter support
615#
616# CONFIG_PCMCIA_AHA152X is not set
617# CONFIG_PCMCIA_FDOMAIN is not set
618# CONFIG_PCMCIA_NINJA_SCSI is not set
619# CONFIG_PCMCIA_QLOGIC is not set
620# CONFIG_PCMCIA_SYM53C500 is not set
621
622#
623# Multi-device support (RAID and LVM)
624#
625CONFIG_MD=y
626CONFIG_BLK_DEV_DM=m
627CONFIG_DM_CRYPT=m
628CONFIG_DM_SNAPSHOT=m
629CONFIG_DM_MIRROR=m
630CONFIG_DM_ZERO=m
631CONFIG_DM_MULTIPATH=m
632CONFIG_DM_MULTIPATH_EMC=m
633
634#
635# Fusion MPT device support
636#
637# CONFIG_FUSION is not set
638
639#
640# IEEE 1394 (FireWire) support
641#
642
643#
644# I2O device support
645#
646
647#
648# Network device support
649#
650CONFIG_NETDEVICES=y
651# CONFIG_DUMMY is not set
652# CONFIG_BONDING is not set
653# CONFIG_EQUALIZER is not set
654CONFIG_TUN=m
655
656#
657# PHY device support
658#
659# CONFIG_PHYLIB is not set
660
661#
662# Ethernet (10 or 100Mbit)
663#
664CONFIG_NET_ETHERNET=y
665CONFIG_MII=m
666# CONFIG_SMC91X is not set
667# CONFIG_DM9000 is not set
668
669#
670# Ethernet (1000 Mbit)
671#
672
673#
674# Ethernet (10000 Mbit)
675#
676
677#
678# Token Ring devices
679#
680
681#
682# Wireless LAN (non-hamradio)
683#
684CONFIG_NET_RADIO=y
685
686#
687# Obsolete Wireless cards support (pre-802.11)
688#
689# CONFIG_STRIP is not set
690# CONFIG_PCMCIA_WAVELAN is not set
691# CONFIG_PCMCIA_NETWAVE is not set
692
693#
694# Wireless 802.11 Frequency Hopping cards support
695#
696# CONFIG_PCMCIA_RAYCS is not set
697
698#
699# Wireless 802.11b ISA/PCI cards support
700#
701CONFIG_HERMES=m
702# CONFIG_ATMEL is not set
703
704#
705# Wireless 802.11b Pcmcia/Cardbus cards support
706#
707CONFIG_PCMCIA_HERMES=m
708CONFIG_PCMCIA_SPECTRUM=m
709# CONFIG_AIRO_CS is not set
710# CONFIG_PCMCIA_WL3501 is not set
711CONFIG_HOSTAP=m
712CONFIG_HOSTAP_FIRMWARE=y
713# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
714CONFIG_HOSTAP_CS=m
715CONFIG_NET_WIRELESS=y
716
717#
718# PCMCIA network device support
719#
720CONFIG_NET_PCMCIA=y
721# CONFIG_PCMCIA_3C589 is not set
722# CONFIG_PCMCIA_3C574 is not set
723# CONFIG_PCMCIA_FMVJ18X is not set
724CONFIG_PCMCIA_PCNET=m
725# CONFIG_PCMCIA_NMCLAN is not set
726# CONFIG_PCMCIA_SMC91C92 is not set
727# CONFIG_PCMCIA_XIRC2PS is not set
728# CONFIG_PCMCIA_AXNET is not set
729
730#
731# Wan interfaces
732#
733# CONFIG_WAN is not set
734CONFIG_PPP=m
735# CONFIG_PPP_MULTILINK is not set
736# CONFIG_PPP_FILTER is not set
737CONFIG_PPP_ASYNC=m
738# CONFIG_PPP_SYNC_TTY is not set
739CONFIG_PPP_DEFLATE=m
740CONFIG_PPP_BSDCOMP=m
741# CONFIG_PPP_MPPE is not set
742# CONFIG_PPPOE is not set
743# CONFIG_SLIP is not set
744# CONFIG_SHAPER is not set
745# CONFIG_NETCONSOLE is not set
746# CONFIG_NETPOLL is not set
747# CONFIG_NET_POLL_CONTROLLER is not set
748
749#
750# ISDN subsystem
751#
752# CONFIG_ISDN is not set
753
754#
755# Input device support
756#
757CONFIG_INPUT=y
758
759#
760# Userland interfaces
761#
762CONFIG_INPUT_MOUSEDEV=m
763# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
764CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
765CONFIG_INPUT_MOUSEDEV_SCREEN_Y=640
766# CONFIG_INPUT_JOYDEV is not set
767# CONFIG_INPUT_TSDEV is not set
768CONFIG_INPUT_EVDEV=y
769# CONFIG_INPUT_EVBUG is not set
770CONFIG_INPUT_POWER=y
771
772#
773# Input Device Drivers
774#
775CONFIG_INPUT_KEYBOARD=y
776# CONFIG_KEYBOARD_ATKBD is not set
777# CONFIG_KEYBOARD_SUNKBD is not set
778# CONFIG_KEYBOARD_LKKBD is not set
779# CONFIG_KEYBOARD_XTKBD is not set
780# CONFIG_KEYBOARD_NEWTON is not set
781# CONFIG_KEYBOARD_CORGI is not set
782# CONFIG_KEYBOARD_SPITZ is not set
783CONFIG_KEYBOARD_TOSA=y
784# CONFIG_INPUT_MOUSE is not set
785# CONFIG_INPUT_JOYSTICK is not set
786CONFIG_INPUT_TOUCHSCREEN=y
787# CONFIG_TOUCHSCREEN_CORGI is not set
788# CONFIG_TOUCHSCREEN_GUNZE is not set
789# CONFIG_TOUCHSCREEN_ELO is not set
790# CONFIG_TOUCHSCREEN_MTOUCH is not set
791# CONFIG_TOUCHSCREEN_MK712 is not set
792CONFIG_TOUCHSCREEN_WM97XX=y
793# CONFIG_TOUCHSCREEN_WM9705 is not set
794CONFIG_TOUCHSCREEN_WM9712=y
795# CONFIG_TOUCHSCREEN_WM9713 is not set
796# CONFIG_TOUCHSCREEN_WM97XX_PXA is not set
797# CONFIG_INPUT_MISC is not set
798
799#
800# Hardware I/O ports
801#
802# CONFIG_SERIO is not set
803# CONFIG_GAMEPORT is not set
804
805#
806# Character devices
807#
808CONFIG_VT=y
809CONFIG_VT_CONSOLE=y
810CONFIG_HW_CONSOLE=y
811# CONFIG_SERIAL_NONSTANDARD is not set
812
813#
814# Serial drivers
815#
816CONFIG_SERIAL_8250=m
817CONFIG_SERIAL_8250_CS=m
818CONFIG_SERIAL_8250_NR_UARTS=4
819CONFIG_SERIAL_8250_RUNTIME_UARTS=4
820# CONFIG_SERIAL_8250_EXTENDED is not set
821
822#
823# Non-8250 serial port support
824#
825CONFIG_SERIAL_PXA=y
826CONFIG_SERIAL_PXA_CONSOLE=y
827CONFIG_SERIAL_CORE=y
828CONFIG_SERIAL_CORE_CONSOLE=y
829CONFIG_UNIX98_PTYS=y
830# CONFIG_LEGACY_PTYS is not set
831
832#
833# IPMI
834#
835# CONFIG_IPMI_HANDLER is not set
836
837#
838# Watchdog Cards
839#
840# CONFIG_WATCHDOG is not set
841# CONFIG_NVRAM is not set
842# CONFIG_DTLK is not set
843# CONFIG_R3964 is not set
844
845#
846# Ftape, the floppy tape device driver
847#
848
849#
850# PCMCIA character devices
851#
852# CONFIG_SYNCLINK_CS is not set
853# CONFIG_CARDMAN_4000 is not set
854# CONFIG_CARDMAN_4040 is not set
855# CONFIG_RAW_DRIVER is not set
856
857#
858# TPM devices
859#
860# CONFIG_TCG_TPM is not set
861# CONFIG_TELCLOCK is not set
862
863#
864# I2C support
865#
866CONFIG_I2C=y
867# CONFIG_I2C_CHARDEV is not set
868
869#
870# I2C Algorithms
871#
872# CONFIG_I2C_ALGOBIT is not set
873# CONFIG_I2C_ALGOPCF is not set
874# CONFIG_I2C_ALGOPCA is not set
875
876#
877# I2C Hardware Bus support
878#
879CONFIG_I2C_PXA=y
880# CONFIG_I2C_PXA_SLAVE is not set
881# CONFIG_I2C_PARPORT_LIGHT is not set
882# CONFIG_I2C_STUB is not set
883# CONFIG_I2C_PCA_ISA is not set
884
885#
886# Miscellaneous I2C Chip support
887#
888# CONFIG_SENSORS_DS1337 is not set
889# CONFIG_SENSORS_DS1374 is not set
890# CONFIG_SENSORS_EEPROM is not set
891# CONFIG_SENSORS_PCF8574 is not set
892# CONFIG_SENSORS_PCA9539 is not set
893# CONFIG_SENSORS_PCF8591 is not set
894# CONFIG_SENSORS_MAX6875 is not set
895# CONFIG_I2C_DEBUG_CORE is not set
896# CONFIG_I2C_DEBUG_ALGO is not set
897# CONFIG_I2C_DEBUG_BUS is not set
898# CONFIG_I2C_DEBUG_CHIP is not set
899
900#
901# SPI support
902#
903# CONFIG_SPI is not set
904# CONFIG_SPI_MASTER is not set
905
906#
907# Hardware Monitoring support
908#
909# CONFIG_HWMON is not set
910# CONFIG_HWMON_VID is not set
911
912#
913# Misc devices
914#
915
916#
917# Multimedia Capabilities Port drivers
918#
919
920#
921# Multi-Function Devices
922#
923
924#
925# LED devices
926#
927CONFIG_NEW_LEDS=y
928CONFIG_LEDS_CLASS=y
929CONFIG_LEDS_TRIGGERS=y
930CONFIG_LEDS_TOSA=y
931CONFIG_LEDS_TRIGGER_TIMER=m
932CONFIG_LEDS_TRIGGER_IDE_DISK=y
933
934#
935# Multimedia devices
936#
937CONFIG_VIDEO_DEV=m
938CONFIG_VIDEO_V4L1=y
939CONFIG_VIDEO_V4L1_COMPAT=y
940CONFIG_VIDEO_V4L2=y
941
942#
943# Video For Linux
944#
945
946#
947# Video Adapters
948#
949# CONFIG_VIDEO_ADV_DEBUG is not set
950# CONFIG_VIDEO_CPIA is not set
951# CONFIG_VIDEO_SAA5246A is not set
952# CONFIG_VIDEO_SAA5249 is not set
953# CONFIG_TUNER_3036 is not set
954# CONFIG_VIDEO_EM28XX is not set
955# CONFIG_VIDEO_OVCAMCHIP is not set
956# CONFIG_VIDEO_AUDIO_DECODER is not set
957# CONFIG_VIDEO_DECODER is not set
958
959#
960# Radio Adapters
961#
962# CONFIG_RADIO_MAESTRO is not set
963
964#
965# Digital Video Broadcasting Devices
966#
967# CONFIG_DVB is not set
968
969#
970# Graphics support
971#
972CONFIG_FB=y
973CONFIG_FB_CFB_FILLRECT=y
974CONFIG_FB_CFB_COPYAREA=y
975CONFIG_FB_CFB_IMAGEBLIT=y
976# CONFIG_FB_MACMODES is not set
977# CONFIG_FB_MODE_HELPERS is not set
978# CONFIG_FB_TILEBLITTING is not set
979# CONFIG_FB_S1D13XXX is not set
980# CONFIG_FB_PXA is not set
981# CONFIG_FB_W100 is not set
982CONFIG_FB_TMIO=y
983# CONFIG_FB_VIRTUAL is not set
984
985#
986# Console display driver support
987#
988# CONFIG_VGA_CONSOLE is not set
989CONFIG_DUMMY_CONSOLE=y
990CONFIG_FRAMEBUFFER_CONSOLE=y
991# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
992CONFIG_FONTS=y
993CONFIG_FONT_8x8=y
994# CONFIG_FONT_8x16 is not set
995# CONFIG_FONT_6x11 is not set
996# CONFIG_FONT_7x14 is not set
997# CONFIG_FONT_PEARL_8x8 is not set
998# CONFIG_FONT_ACORN_8x8 is not set
999# CONFIG_FONT_MINI_4x6 is not set
1000# CONFIG_FONT_SUN8x16 is not set
1001# CONFIG_FONT_SUN12x22 is not set
1002# CONFIG_FONT_10x18 is not set
1003
1004#
1005# Logo configuration
1006#
1007CONFIG_LOGO=y
1008# CONFIG_LOGO_LINUX_MONO is not set
1009# CONFIG_LOGO_LINUX_VGA16 is not set
1010CONFIG_LOGO_LINUX_CLUT224=y
1011CONFIG_BACKLIGHT_LCD_SUPPORT=y
1012CONFIG_BACKLIGHT_CLASS_DEVICE=y
1013CONFIG_BACKLIGHT_DEVICE=y
1014# CONFIG_LCD_CLASS_DEVICE is not set
1015CONFIG_BACKLIGHT_CORGI=y
1016# CONFIG_BACKLIGHT_HP680 is not set
1017
1018#
1019# Sound
1020#
1021CONFIG_SOUND=y
1022
1023#
1024# Advanced Linux Sound Architecture
1025#
1026CONFIG_SND=y
1027CONFIG_SND_TIMER=y
1028CONFIG_SND_PCM=y
1029CONFIG_SND_HWDEP=m
1030CONFIG_SND_RAWMIDI=m
1031# CONFIG_SND_SEQUENCER is not set
1032CONFIG_SND_OSSEMUL=y
1033CONFIG_SND_MIXER_OSS=m
1034CONFIG_SND_PCM_OSS=m
1035# CONFIG_SND_DYNAMIC_MINORS is not set
1036CONFIG_SND_SUPPORT_OLD_API=y
1037# CONFIG_SND_VERBOSE_PRINTK is not set
1038# CONFIG_SND_DEBUG is not set
1039
1040#
1041# Generic devices
1042#
1043CONFIG_SND_AC97_BUS=y
1044CONFIG_SND_DUMMY=m
1045# CONFIG_SND_MTPAV is not set
1046# CONFIG_SND_SERIAL_U16550 is not set
1047# CONFIG_SND_MPU401 is not set
1048
1049#
1050# ALSA ARM devices
1051#
1052# CONFIG_SND_PXA2XX_AC97 is not set
1053
1054#
1055# USB devices
1056#
1057CONFIG_SND_USB_AUDIO=m
1058
1059#
1060# PCMCIA devices
1061#
1062
1063#
1064# SoC audio support
1065#
1066CONFIG_SND_SOC=y
1067
1068#
1069# Soc Platforms
1070#
1071
1072#
1073# SoC Audio for the Intel PXA2xx
1074#
1075CONFIG_SND_PXA2xx_SOC=y
1076CONFIG_SND_PXA2xx_SOC_AC97=y
1077# CONFIG_SND_PXA2xx_SOC_MAINSTONE is not set
1078# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM8753 is not set
1079# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM9713 is not set
1080# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM9712 is not set
1081# CONFIG_SND_PXA2xx_SOC_CORGI is not set
1082# CONFIG_SND_PXA2xx_SOC_SPITZ is not set
1083CONFIG_SND_PXA2xx_SOC_TOSA=y
1084
1085#
1086# Soc Codecs
1087#
1088# CONFIG_SND_SOC_AC97_CODEC is not set
1089# CONFIG_SND_SOC_WM8731 is not set
1090# CONFIG_SND_SOC_WM8750 is not set
1091# CONFIG_SND_SOC_WM8753 is not set
1092# CONFIG_SND_SOC_WM8772 is not set
1093# CONFIG_SND_SOC_WM8971 is not set
1094# CONFIG_SND_SOC_WM9713 is not set
1095CONFIG_SND_SOC_WM9712=y
1096# CONFIG_SND_SOC_UDA1380 is not set
1097# CONFIG_SND_SOC_AK4535 is not set
1098
1099#
1100# Open Sound System
1101#
1102# CONFIG_SOUND_PRIME is not set
1103
1104#
1105# USB support
1106#
1107CONFIG_USB_ARCH_HAS_HCD=y
1108CONFIG_USB_ARCH_HAS_OHCI=y
1109CONFIG_USB=m
1110# CONFIG_USB_DEBUG is not set
1111
1112#
1113# Miscellaneous USB options
1114#
1115CONFIG_USB_DEVICEFS=y
1116# CONFIG_USB_BANDWIDTH is not set
1117# CONFIG_USB_DYNAMIC_MINORS is not set
1118# CONFIG_USB_SUSPEND is not set
1119# CONFIG_USB_OTG is not set
1120
1121#
1122# USB Host Controller Drivers
1123#
1124# CONFIG_USB_ISP116X_HCD is not set
1125CONFIG_USB_OHCI_HCD=m
1126# CONFIG_USB_OHCI_BIG_ENDIAN is not set
1127CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1128CONFIG_USB_SL811_HCD=m
1129CONFIG_USB_SL811_CS=m
1130
1131#
1132# USB Device Class drivers
1133#
1134# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set
1135CONFIG_USB_ACM=m
1136CONFIG_USB_PRINTER=m
1137
1138#
1139# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1140#
1141
1142#
1143# may also be needed; see USB_STORAGE Help for more information
1144#
1145CONFIG_USB_STORAGE=m
1146# CONFIG_USB_STORAGE_DEBUG is not set
1147# CONFIG_USB_STORAGE_DATAFAB is not set
1148# CONFIG_USB_STORAGE_FREECOM is not set
1149# CONFIG_USB_STORAGE_ISD200 is not set
1150# CONFIG_USB_STORAGE_DPCM is not set
1151# CONFIG_USB_STORAGE_USBAT is not set
1152# CONFIG_USB_STORAGE_SDDR09 is not set
1153# CONFIG_USB_STORAGE_SDDR55 is not set
1154# CONFIG_USB_STORAGE_JUMPSHOT is not set
1155# CONFIG_USB_STORAGE_ALAUDA is not set
1156# CONFIG_USB_LIBUSUAL is not set
1157
1158#
1159# USB Input Devices
1160#
1161CONFIG_USB_HID=m
1162CONFIG_USB_HIDINPUT=y
1163# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1164# CONFIG_HID_FF is not set
1165# CONFIG_USB_HIDDEV is not set
1166
1167#
1168# USB HID Boot Protocol drivers
1169#
1170CONFIG_USB_KBD=m
1171CONFIG_USB_MOUSE=m
1172CONFIG_USB_AIPTEK=m
1173CONFIG_USB_WACOM=m
1174# CONFIG_USB_ACECAD is not set
1175CONFIG_USB_KBTAB=m
1176CONFIG_USB_POWERMATE=m
1177CONFIG_USB_MTOUCH=m
1178# CONFIG_USB_ITMTOUCH is not set
1179CONFIG_USB_EGALAX=m
1180# CONFIG_USB_YEALINK is not set
1181CONFIG_USB_XPAD=m
1182CONFIG_USB_ATI_REMOTE=m
1183# CONFIG_USB_ATI_REMOTE2 is not set
1184# CONFIG_USB_KEYSPAN_REMOTE is not set
1185# CONFIG_USB_APPLETOUCH is not set
1186
1187#
1188# USB Imaging devices
1189#
1190CONFIG_USB_MDC800=m
1191CONFIG_USB_MICROTEK=m
1192
1193#
1194# USB Multimedia devices
1195#
1196CONFIG_USB_DABUSB=m
1197CONFIG_USB_VICAM=m
1198CONFIG_USB_DSBR=m
1199# CONFIG_USB_ET61X251 is not set
1200CONFIG_USB_IBMCAM=m
1201CONFIG_USB_KONICAWC=m
1202CONFIG_USB_OV511=m
1203CONFIG_USB_SE401=m
1204CONFIG_USB_SN9C102=m
1205CONFIG_USB_STV680=m
1206# CONFIG_USB_PWC is not set
1207
1208#
1209# USB Network Adapters
1210#
1211CONFIG_USB_CATC=m
1212CONFIG_USB_KAWETH=m
1213CONFIG_USB_PEGASUS=m
1214CONFIG_USB_RTL8150=m
1215CONFIG_USB_USBNET=m
1216CONFIG_USB_NET_AX8817X=m
1217CONFIG_USB_NET_CDCETHER=m
1218CONFIG_USB_NET_GL620A=m
1219CONFIG_USB_NET_NET1080=m
1220CONFIG_USB_NET_PLUSB=m
1221# CONFIG_USB_NET_RNDIS_HOST is not set
1222# CONFIG_USB_NET_CDC_SUBSET is not set
1223# CONFIG_USB_NET_ZAURUS is not set
1224# CONFIG_USB_ZD1201 is not set
1225CONFIG_USB_MON=y
1226
1227#
1228# USB port drivers
1229#
1230
1231#
1232# USB Serial Converter support
1233#
1234CONFIG_USB_SERIAL=m
1235CONFIG_USB_SERIAL_GENERIC=y
1236# CONFIG_USB_SERIAL_AIRPRIME is not set
1237# CONFIG_USB_SERIAL_ANYDATA is not set
1238CONFIG_USB_SERIAL_BELKIN=m
1239# CONFIG_USB_SERIAL_WHITEHEAT is not set
1240CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
1241# CONFIG_USB_SERIAL_CP2101 is not set
1242CONFIG_USB_SERIAL_CYPRESS_M8=m
1243CONFIG_USB_SERIAL_EMPEG=m
1244CONFIG_USB_SERIAL_FTDI_SIO=m
1245CONFIG_USB_SERIAL_VISOR=m
1246CONFIG_USB_SERIAL_IPAQ=m
1247CONFIG_USB_SERIAL_IR=m
1248CONFIG_USB_SERIAL_EDGEPORT=m
1249CONFIG_USB_SERIAL_EDGEPORT_TI=m
1250CONFIG_USB_SERIAL_GARMIN=m
1251CONFIG_USB_SERIAL_IPW=m
1252CONFIG_USB_SERIAL_KEYSPAN_PDA=m
1253CONFIG_USB_SERIAL_KEYSPAN=m
1254# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set
1255# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
1256# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
1257# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
1258# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
1259# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
1260# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
1261# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
1262# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
1263# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
1264# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
1265# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
1266CONFIG_USB_SERIAL_KLSI=m
1267CONFIG_USB_SERIAL_KOBIL_SCT=m
1268CONFIG_USB_SERIAL_MCT_U232=m
1269CONFIG_USB_SERIAL_PL2303=m
1270# CONFIG_USB_SERIAL_HP4X is not set
1271CONFIG_USB_SERIAL_SAFE=m
1272# CONFIG_USB_SERIAL_SAFE_PADDED is not set
1273CONFIG_USB_SERIAL_TI=m
1274CONFIG_USB_SERIAL_CYBERJACK=m
1275CONFIG_USB_SERIAL_XIRCOM=m
1276# CONFIG_USB_SERIAL_OPTION is not set
1277CONFIG_USB_SERIAL_OMNINET=m
1278CONFIG_USB_EZUSB=y
1279
1280#
1281# USB Miscellaneous drivers
1282#
1283CONFIG_USB_EMI62=m
1284CONFIG_USB_EMI26=m
1285CONFIG_USB_AUERSWALD=m
1286CONFIG_USB_RIO500=m
1287CONFIG_USB_LEGOTOWER=m
1288CONFIG_USB_LCD=m
1289CONFIG_USB_LED=m
1290CONFIG_USB_CYTHERM=m
1291CONFIG_USB_PHIDGETKIT=m
1292CONFIG_USB_PHIDGETSERVO=m
1293CONFIG_USB_IDMOUSE=m
1294# CONFIG_USB_LD is not set
1295# CONFIG_USB_TEST is not set
1296
1297#
1298# USB DSL modem support
1299#
1300
1301#
1302# USB Gadget Support
1303#
1304CONFIG_USB_GADGET=y
1305# CONFIG_USB_GADGET_DEBUG_FILES is not set
1306CONFIG_USB_GADGET_SELECTED=y
1307# CONFIG_USB_GADGET_NET2280 is not set
1308CONFIG_USB_GADGET_PXA2XX=y
1309CONFIG_USB_PXA2XX=y
1310# CONFIG_USB_PXA2XX_SMALL is not set
1311# CONFIG_USB_GADGET_PXA27X is not set
1312# CONFIG_USB_GADGET_GOKU is not set
1313# CONFIG_USB_GADGET_LH7A40X is not set
1314# CONFIG_USB_GADGET_OMAP is not set
1315# CONFIG_USB_GADGET_DUMMY_HCD is not set
1316# CONFIG_USB_GADGET_DUALSPEED is not set
1317CONFIG_USB_ZERO=m
1318CONFIG_USB_ETH=m
1319CONFIG_USB_ETH_RNDIS=y
1320CONFIG_USB_GADGETFS=m
1321CONFIG_USB_FILE_STORAGE=m
1322# CONFIG_USB_FILE_STORAGE_TEST is not set
1323CONFIG_USB_G_SERIAL=m
1324
1325#
1326# MMC/SD Card support
1327#
1328CONFIG_MMC=y
1329# CONFIG_MMC_DEBUG is not set
1330CONFIG_MMC_BLOCK=y
1331CONFIG_MMC_PXA=y
1332
1333#
1334# Real Time Clock
1335#
1336CONFIG_RTC_CLASS=y
1337CONFIG_RTC_HCTOSYS=y
1338CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1339
1340#
1341# RTC interfaces
1342#
1343CONFIG_RTC_INTF_SYSFS=y
1344CONFIG_RTC_INTF_PROC=y
1345CONFIG_RTC_INTF_DEV=y
1346
1347#
1348# RTC drivers
1349#
1350# CONFIG_RTC_DRV_X1205 is not set
1351# CONFIG_RTC_DRV_DS1672 is not set
1352# CONFIG_RTC_DRV_PCF8563 is not set
1353# CONFIG_RTC_DRV_RS5C372 is not set
1354CONFIG_RTC_DRV_SA1100=y
1355# CONFIG_RTC_DRV_TEST is not set
1356
1357#
1358# File systems
1359#
1360CONFIG_EXT2_FS=y
1361# CONFIG_EXT2_FS_XATTR is not set
1362# CONFIG_EXT2_FS_XIP is not set
1363# CONFIG_EXT3_FS is not set
1364# CONFIG_REISERFS_FS is not set
1365# CONFIG_JFS_FS is not set
1366# CONFIG_FS_POSIX_ACL is not set
1367# CONFIG_XFS_FS is not set
1368# CONFIG_OCFS2_FS is not set
1369# CONFIG_MINIX_FS is not set
1370# CONFIG_ROMFS_FS is not set
1371CONFIG_INOTIFY=y
1372# CONFIG_QUOTA is not set
1373CONFIG_DNOTIFY=y
1374# CONFIG_AUTOFS_FS is not set
1375# CONFIG_AUTOFS4_FS is not set
1376CONFIG_FUSE_FS=m
1377
1378#
1379# CD-ROM/DVD Filesystems
1380#
1381# CONFIG_ISO9660_FS is not set
1382# CONFIG_UDF_FS is not set
1383
1384#
1385# DOS/FAT/NT Filesystems
1386#
1387CONFIG_FAT_FS=m
1388CONFIG_MSDOS_FS=m
1389CONFIG_VFAT_FS=m
1390CONFIG_FAT_DEFAULT_CODEPAGE=437
1391CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1392# CONFIG_NTFS_FS is not set
1393
1394#
1395# Pseudo filesystems
1396#
1397CONFIG_PROC_FS=y
1398CONFIG_SYSFS=y
1399CONFIG_TMPFS=y
1400# CONFIG_HUGETLB_PAGE is not set
1401CONFIG_RAMFS=y
1402# CONFIG_RELAYFS_FS is not set
1403# CONFIG_CONFIGFS_FS is not set
1404
1405#
1406# Miscellaneous filesystems
1407#
1408# CONFIG_ADFS_FS is not set
1409# CONFIG_AFFS_FS is not set
1410# CONFIG_HFS_FS is not set
1411# CONFIG_HFSPLUS_FS is not set
1412# CONFIG_BEFS_FS is not set
1413# CONFIG_BFS_FS is not set
1414# CONFIG_EFS_FS is not set
1415# CONFIG_JFFS_FS is not set
1416CONFIG_JFFS2_FS=y
1417CONFIG_JFFS2_FS_DEBUG=0
1418CONFIG_JFFS2_FS_WRITEBUFFER=y
1419CONFIG_JFFS2_SUMMARY=y
1420CONFIG_JFFS2_COMPRESSION_OPTIONS=y
1421CONFIG_JFFS2_ZLIB=y
1422CONFIG_JFFS2_RTIME=y
1423CONFIG_JFFS2_RUBIN=y
1424# CONFIG_JFFS2_CMODE_NONE is not set
1425CONFIG_JFFS2_CMODE_PRIORITY=y
1426# CONFIG_JFFS2_CMODE_SIZE is not set
1427CONFIG_CRAMFS=m
1428CONFIG_SQUASHFS=m
1429# CONFIG_SQUASHFS_EMBEDDED is not set
1430CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
1431# CONFIG_SQUASHFS_VMALLOC is not set
1432# CONFIG_VXFS_FS is not set
1433# CONFIG_HPFS_FS is not set
1434# CONFIG_QNX4FS_FS is not set
1435# CONFIG_SYSV_FS is not set
1436# CONFIG_UFS_FS is not set
1437
1438#
1439# Network File Systems
1440#
1441CONFIG_NFS_FS=m
1442CONFIG_NFS_V3=y
1443# CONFIG_NFS_V3_ACL is not set
1444CONFIG_NFS_V4=y
1445# CONFIG_NFS_DIRECTIO is not set
1446# CONFIG_NFSD is not set
1447CONFIG_LOCKD=m
1448CONFIG_LOCKD_V4=y
1449CONFIG_NFS_COMMON=y
1450CONFIG_SUNRPC=m
1451CONFIG_SUNRPC_GSS=m
1452CONFIG_RPCSEC_GSS_KRB5=m
1453# CONFIG_RPCSEC_GSS_SPKM3 is not set
1454CONFIG_SMB_FS=m
1455CONFIG_SMB_NLS_DEFAULT=y
1456CONFIG_SMB_NLS_REMOTE="cp437"
1457CONFIG_CIFS=m
1458# CONFIG_CIFS_STATS is not set
1459# CONFIG_CIFS_XATTR is not set
1460# CONFIG_CIFS_EXPERIMENTAL is not set
1461# CONFIG_NCP_FS is not set
1462# CONFIG_CODA_FS is not set
1463# CONFIG_AFS_FS is not set
1464# CONFIG_9P_FS is not set
1465
1466#
1467# Partition Types
1468#
1469CONFIG_PARTITION_ADVANCED=y
1470# CONFIG_ACORN_PARTITION is not set
1471# CONFIG_OSF_PARTITION is not set
1472# CONFIG_AMIGA_PARTITION is not set
1473# CONFIG_ATARI_PARTITION is not set
1474# CONFIG_MAC_PARTITION is not set
1475CONFIG_MSDOS_PARTITION=y
1476# CONFIG_BSD_DISKLABEL is not set
1477# CONFIG_MINIX_SUBPARTITION is not set
1478# CONFIG_SOLARIS_X86_PARTITION is not set
1479# CONFIG_UNIXWARE_DISKLABEL is not set
1480# CONFIG_LDM_PARTITION is not set
1481# CONFIG_SGI_PARTITION is not set
1482# CONFIG_ULTRIX_PARTITION is not set
1483# CONFIG_SUN_PARTITION is not set
1484# CONFIG_KARMA_PARTITION is not set
1485# CONFIG_EFI_PARTITION is not set
1486
1487#
1488# Native Language Support
1489#
1490CONFIG_NLS=y
1491CONFIG_NLS_DEFAULT="cp437"
1492CONFIG_NLS_CODEPAGE_437=y
1493CONFIG_NLS_CODEPAGE_737=m
1494CONFIG_NLS_CODEPAGE_775=m
1495CONFIG_NLS_CODEPAGE_850=m
1496CONFIG_NLS_CODEPAGE_852=m
1497CONFIG_NLS_CODEPAGE_855=m
1498CONFIG_NLS_CODEPAGE_857=m
1499CONFIG_NLS_CODEPAGE_860=m
1500CONFIG_NLS_CODEPAGE_861=m
1501CONFIG_NLS_CODEPAGE_862=m
1502CONFIG_NLS_CODEPAGE_863=m
1503CONFIG_NLS_CODEPAGE_864=m
1504CONFIG_NLS_CODEPAGE_865=m
1505CONFIG_NLS_CODEPAGE_866=m
1506CONFIG_NLS_CODEPAGE_869=m
1507CONFIG_NLS_CODEPAGE_936=m
1508CONFIG_NLS_CODEPAGE_950=m
1509CONFIG_NLS_CODEPAGE_932=m
1510CONFIG_NLS_CODEPAGE_949=m
1511CONFIG_NLS_CODEPAGE_874=m
1512CONFIG_NLS_ISO8859_8=m
1513CONFIG_NLS_CODEPAGE_1250=m
1514CONFIG_NLS_CODEPAGE_1251=m
1515CONFIG_NLS_ASCII=m
1516CONFIG_NLS_ISO8859_1=y
1517CONFIG_NLS_ISO8859_2=m
1518CONFIG_NLS_ISO8859_3=m
1519CONFIG_NLS_ISO8859_4=m
1520CONFIG_NLS_ISO8859_5=m
1521CONFIG_NLS_ISO8859_6=m
1522CONFIG_NLS_ISO8859_7=m
1523CONFIG_NLS_ISO8859_9=m
1524CONFIG_NLS_ISO8859_13=m
1525CONFIG_NLS_ISO8859_14=m
1526CONFIG_NLS_ISO8859_15=m
1527CONFIG_NLS_KOI8_R=m
1528CONFIG_NLS_KOI8_U=m
1529CONFIG_NLS_UTF8=y
1530
1531#
1532# Profiling support
1533#
1534# CONFIG_PROFILING is not set
1535
1536#
1537# Kernel hacking
1538#
1539# CONFIG_PRINTK_TIME is not set
1540CONFIG_MAGIC_SYSRQ=y
1541CONFIG_DEBUG_KERNEL=y
1542CONFIG_LOG_BUF_SHIFT=14
1543CONFIG_DETECT_SOFTLOCKUP=y
1544# CONFIG_SCHEDSTATS is not set
1545# CONFIG_DEBUG_SLAB is not set
1546# CONFIG_DEBUG_PREEMPT is not set
1547# CONFIG_DEBUG_MUTEXES is not set
1548# CONFIG_DEBUG_SPINLOCK is not set
1549# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1550# CONFIG_DEBUG_KOBJECT is not set
1551# CONFIG_DEBUG_BUGVERBOSE is not set
1552# CONFIG_DEBUG_INFO is not set
1553# CONFIG_DEBUG_FS is not set
1554# CONFIG_DEBUG_VM is not set
1555CONFIG_FRAME_POINTER=y
1556# CONFIG_FORCED_INLINING is not set
1557# CONFIG_RCU_TORTURE_TEST is not set
1558# CONFIG_DEBUG_USER is not set
1559# CONFIG_DEBUG_WAITQ is not set
1560CONFIG_DEBUG_ERRORS=y
1561# CONFIG_DEBUG_LL is not set
1562
1563#
1564# Security options
1565#
1566# CONFIG_KEYS is not set
1567# CONFIG_SECURITY is not set
1568
1569#
1570# Cryptographic options
1571#
1572CONFIG_CRYPTO=y
1573CONFIG_CRYPTO_HMAC=y
1574CONFIG_CRYPTO_NULL=m
1575CONFIG_CRYPTO_MD4=m
1576CONFIG_CRYPTO_MD5=m
1577CONFIG_CRYPTO_SHA1=m
1578CONFIG_CRYPTO_SHA256=m
1579CONFIG_CRYPTO_SHA512=m
1580CONFIG_CRYPTO_WP512=m
1581# CONFIG_CRYPTO_TGR192 is not set
1582CONFIG_CRYPTO_DES=m
1583CONFIG_CRYPTO_BLOWFISH=m
1584CONFIG_CRYPTO_TWOFISH=m
1585CONFIG_CRYPTO_SERPENT=m
1586CONFIG_CRYPTO_AES=m
1587CONFIG_CRYPTO_CAST5=m
1588CONFIG_CRYPTO_CAST6=m
1589CONFIG_CRYPTO_TEA=m
1590CONFIG_CRYPTO_ARC4=m
1591CONFIG_CRYPTO_KHAZAD=m
1592CONFIG_CRYPTO_ANUBIS=m
1593CONFIG_CRYPTO_DEFLATE=m
1594CONFIG_CRYPTO_MICHAEL_MIC=m
1595CONFIG_CRYPTO_CRC32C=m
1596CONFIG_CRYPTO_TEST=m
1597
1598#
1599# Hardware crypto devices
1600#
1601
1602#
1603# Library routines
1604#
1605CONFIG_CRC_CCITT=m
1606# CONFIG_CRC16 is not set
1607CONFIG_CRC32=y
1608CONFIG_LIBCRC32C=m
1609CONFIG_ZLIB_INFLATE=y
1610CONFIG_ZLIB_DEFLATE=y
1611CONFIG_GENERIC_ALLOCATOR=y
1612# CONFIG_SHARPSL_RC is not set
diff --git a/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/hostap-monitor-mode.patch b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/hostap-monitor-mode.patch
new file mode 100644
index 0000000000..641fd19e50
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/hostap-monitor-mode.patch
@@ -0,0 +1,209 @@
1This is a patch that I've been maintaining for a few years, and I'd
2really like to see it added to the mainstream zaurus kernel so I can
3finally stop distributing my own.
4
5This patch only effects the card while in monitor mode, and does not
6cause any known stability issues.
7
8http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
9
10Rick Farina (Zero_Chaos)
11
12diff -ur linux-2.6.18-gentoo/drivers/net/wireless/hostap/hostap_80211_tx.c linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap/hostap_80211_tx.c
13--- linux-2.6.18-gentoo/drivers/net/wireless/hostap/hostap_80211_tx.c 2006-09-21 01:26:27.000000000 -0400
14+++ linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap/hostap_80211_tx.c 2006-09-21 01:30:18.000000000 -0400
15@@ -69,6 +69,9 @@
16 iface = netdev_priv(dev);
17 local = iface->local;
18
19+ if (local->iw_mode == IW_MODE_MONITOR)
20+ goto xmit;
21+
22 if (skb->len < ETH_HLEN) {
23 printk(KERN_DEBUG "%s: hostap_data_start_xmit: short skb "
24 "(len=%d)\n", dev->name, skb->len);
25@@ -234,6 +237,7 @@
26 memcpy(skb_put(skb, ETH_ALEN), &hdr.addr4, ETH_ALEN);
27 }
28
29+xmit:
30 iface->stats.tx_packets++;
31 iface->stats.tx_bytes += skb->len;
32
33@@ -404,8 +408,6 @@
34 }
35
36 if (skb->len < 24) {
37- printk(KERN_DEBUG "%s: hostap_master_start_xmit: short skb "
38- "(len=%d)\n", dev->name, skb->len);
39 ret = 0;
40 iface->stats.tx_dropped++;
41 goto fail;
42Only in linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap: hostap_cs.c.orig
43Only in linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap: hostap_cs.c.rej
44diff -ur linux-2.6.18-gentoo/drivers/net/wireless/hostap/hostap_hw.c linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap/hostap_hw.c
45--- linux-2.6.18-gentoo/drivers/net/wireless/hostap/hostap_hw.c 2006-09-21 01:26:27.000000000 -0400
46+++ linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap/hostap_hw.c 2006-09-21 01:30:18.000000000 -0400
47@@ -1005,6 +1005,35 @@
48 return fid;
49 }
50
51+static int prism2_monitor_enable(struct net_device *dev)
52+{
53+ if (hostap_set_word(dev, HFA384X_RID_CNFPORTTYPE, 5)) {
54+ printk(KERN_DEBUG "Port type setting for monitor mode "
55+ "failed\n");
56+ return -EOPNOTSUPP;
57+ }
58+
59+ if (hfa384x_cmd(dev, HFA384X_CMDCODE_TEST | (0x0a << 8),
60+ 0, NULL, NULL)) {
61+ printk(KERN_DEBUG "Could not enter testmode 0x0a\n");
62+ return -EOPNOTSUPP;
63+ }
64+
65+ if (hostap_set_word(dev, HFA384X_RID_CNFWEPFLAGS,
66+ HFA384X_WEPFLAGS_PRIVACYINVOKED |
67+ HFA384X_WEPFLAGS_HOSTENCRYPT |
68+ HFA384X_WEPFLAGS_HOSTDECRYPT)) {
69+ printk(KERN_DEBUG "WEP flags setting failed\n");
70+ return -EOPNOTSUPP;
71+ }
72+
73+ if (hostap_set_word(dev, HFA384X_RID_PROMISCUOUSMODE, 1)) {
74+ printk(KERN_DEBUG "Could not set promiscuous mode\n");
75+ return -EOPNOTSUPP;
76+ }
77+
78+ return 0;
79+}
80
81 static int prism2_reset_port(struct net_device *dev)
82 {
83@@ -1031,6 +1060,10 @@
84 "port\n", dev->name);
85 }
86
87+ if (local->iw_mode == IW_MODE_MONITOR)
88+ /* force mode 0x0a after port 0 reset */
89+ return prism2_monitor_enable(dev);
90+
91 /* It looks like at least some STA firmware versions reset
92 * fragmentation threshold back to 2346 after enable command. Restore
93 * the configured value, if it differs from this default. */
94@@ -1466,6 +1499,10 @@
95 return 1;
96 }
97
98+ if (local->iw_mode == IW_MODE_MONITOR)
99+ /* force mode 0x0a after port 0 reset */
100+ prism2_monitor_enable(dev);
101+
102 local->hw_ready = 1;
103 local->hw_reset_tries = 0;
104 local->hw_resetting = 0;
105@@ -3156,6 +3193,7 @@
106 local->func->hw_config = prism2_hw_config;
107 local->func->hw_reset = prism2_hw_reset;
108 local->func->hw_shutdown = prism2_hw_shutdown;
109+ local->func->monitor_enable = prism2_monitor_enable;
110 local->func->reset_port = prism2_reset_port;
111 local->func->schedule_reset = prism2_schedule_reset;
112 #ifdef PRISM2_DOWNLOAD_SUPPORT
113Only in linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap: hostap_hw.c.orig
114diff -ur linux-2.6.18-gentoo/drivers/net/wireless/hostap/hostap_ioctl.c linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap/hostap_ioctl.c
115--- linux-2.6.18-gentoo/drivers/net/wireless/hostap/hostap_ioctl.c 2006-09-21 01:26:27.000000000 -0400
116+++ linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap/hostap_ioctl.c 2006-09-21 01:30:18.000000000 -0400
117@@ -1104,33 +1104,7 @@
118
119 printk(KERN_DEBUG "Enabling monitor mode\n");
120 hostap_monitor_set_type(local);
121-
122- if (hostap_set_word(dev, HFA384X_RID_CNFPORTTYPE,
123- HFA384X_PORTTYPE_PSEUDO_IBSS)) {
124- printk(KERN_DEBUG "Port type setting for monitor mode "
125- "failed\n");
126- return -EOPNOTSUPP;
127- }
128-
129- /* Host decrypt is needed to get the IV and ICV fields;
130- * however, monitor mode seems to remove WEP flag from frame
131- * control field */
132- if (hostap_set_word(dev, HFA384X_RID_CNFWEPFLAGS,
133- HFA384X_WEPFLAGS_HOSTENCRYPT |
134- HFA384X_WEPFLAGS_HOSTDECRYPT)) {
135- printk(KERN_DEBUG "WEP flags setting failed\n");
136- return -EOPNOTSUPP;
137- }
138-
139- if (local->func->reset_port(dev) ||
140- local->func->cmd(dev, HFA384X_CMDCODE_TEST |
141- (HFA384X_TEST_MONITOR << 8),
142- 0, NULL, NULL)) {
143- printk(KERN_DEBUG "Setting monitor mode failed\n");
144- return -EOPNOTSUPP;
145- }
146-
147- return 0;
148+ return local->func->reset_port(dev);
149 }
150
151
152@@ -1199,7 +1173,7 @@
153 local->iw_mode = *mode;
154
155 if (local->iw_mode == IW_MODE_MONITOR)
156- hostap_monitor_mode_enable(local);
157+ return hostap_monitor_mode_enable(local);
158 else if (local->iw_mode == IW_MODE_MASTER && !local->host_encrypt &&
159 !local->fw_encrypt_ok) {
160 printk(KERN_DEBUG "%s: defaulting to host-based encryption as "
161diff -ur linux-2.6.18-gentoo/drivers/net/wireless/hostap/hostap_main.c linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap/hostap_main.c
162--- linux-2.6.18-gentoo/drivers/net/wireless/hostap/hostap_main.c 2006-09-21 01:26:27.000000000 -0400
163+++ linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap/hostap_main.c 2006-09-21 01:30:18.000000000 -0400
164@@ -331,7 +331,7 @@
165 if (local->iw_mode == IW_MODE_REPEAT)
166 return HFA384X_PORTTYPE_WDS;
167 if (local->iw_mode == IW_MODE_MONITOR)
168- return HFA384X_PORTTYPE_PSEUDO_IBSS;
169+ return 5; /*HFA384X_PORTTYPE_PSEUDO_IBSS;*/
170 return HFA384X_PORTTYPE_HOSTAP;
171 }
172
173Only in linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap: hostap_main.c.orig
174diff -ur linux-2.6.18-gentoo/drivers/net/wireless/hostap/hostap_pci.c linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap/hostap_pci.c
175--- linux-2.6.18-gentoo/drivers/net/wireless/hostap/hostap_pci.c 2006-09-21 01:26:27.000000000 -0400
176+++ linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap/hostap_pci.c 2006-09-21 01:30:18.000000000 -0400
177@@ -48,6 +48,8 @@
178 { 0x1260, 0x3873, PCI_ANY_ID, PCI_ANY_ID },
179 /* Samsung MagicLAN SWL-2210P */
180 { 0x167d, 0xa000, PCI_ANY_ID, PCI_ANY_ID },
181+ /* NETGEAR MA311 */
182+ { 0x1385, 0x3872, PCI_ANY_ID, PCI_ANY_ID },
183 { 0 }
184 };
185
186Only in linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap: hostap_pci.c.orig
187diff -ur linux-2.6.18-gentoo/drivers/net/wireless/hostap/hostap_plx.c linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap/hostap_plx.c
188--- linux-2.6.18-gentoo/drivers/net/wireless/hostap/hostap_plx.c 2006-09-21 01:26:27.000000000 -0400
189+++ linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap/hostap_plx.c 2006-09-21 01:30:18.000000000 -0400
190@@ -101,6 +101,7 @@
191 { 0xc250, 0x0002 } /* EMTAC A2424i */,
192 { 0xd601, 0x0002 } /* Z-Com XI300 */,
193 { 0xd601, 0x0005 } /* Zcomax XI-325H 200mW */,
194+ { 0xd601, 0x0010 } /* Zcomax XI-325H 100mW */,
195 { 0, 0}
196 };
197
198Only in linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap: hostap_plx.c.orig
199diff -ur linux-2.6.18-gentoo/drivers/net/wireless/hostap/hostap_wlan.h linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap/hostap_wlan.h
200--- linux-2.6.18-gentoo/drivers/net/wireless/hostap/hostap_wlan.h 2006-09-21 01:26:27.000000000 -0400
201+++ linux-2.6.18-gentoo-rawtx/drivers/net/wireless/hostap/hostap_wlan.h 2006-09-21 01:30:18.000000000 -0400
202@@ -575,6 +575,7 @@
203 int (*hw_config)(struct net_device *dev, int initial);
204 void (*hw_reset)(struct net_device *dev);
205 void (*hw_shutdown)(struct net_device *dev, int no_disable);
206+ int (*monitor_enable)(struct net_device *dev);
207 int (*reset_port)(struct net_device *dev);
208 void (*schedule_reset)(local_info_t *local);
209 int (*download)(local_info_t *local,
diff --git a/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/orinoco-remove-all-which-are-in-hostap-HACK.patch b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/orinoco-remove-all-which-are-in-hostap-HACK.patch
new file mode 100644
index 0000000000..380349f809
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/orinoco-remove-all-which-are-in-hostap-HACK.patch
@@ -0,0 +1,88 @@
1This patch should resolve problem when people get eth0 (orinoco_cs) instead of wlan0 (hostap_cs)
2with their WiFi cards.
3
4Patch will NEVER been accepted upstream.
5
6Signed-off-by: Marcin Juszkiewicz <openembedded@hrw.one.pl>
7
8Index: linux/drivers/net/wireless/orinoco_cs.c
9===================================================================
10--- linux.orig/drivers/net/wireless/orinoco_cs.c 2006-08-23 16:04:10.000000000 +0200
11+++ linux/drivers/net/wireless/orinoco_cs.c 2006-08-23 16:17:43.000000000 +0200
12@@ -453,33 +453,21 @@
13 "Pavel Roskin <proski@gnu.org>, et al)";
14
15 static struct pcmcia_device_id orinoco_cs_ids[] = {
16- PCMCIA_DEVICE_MANF_CARD(0x000b, 0x7100), /* SonicWALL Long Range Wireless Card */
17- PCMCIA_DEVICE_MANF_CARD(0x000b, 0x7300), /* Sohoware NCP110, Philips 802.11b */
18 PCMCIA_DEVICE_MANF_CARD(0x0089, 0x0002), /* AnyPoint(TM) Wireless II PC Card */
19- PCMCIA_DEVICE_MANF_CARD(0x0101, 0x0777), /* 3Com AirConnect PCI 777A */
20- PCMCIA_DEVICE_MANF_CARD(0x0126, 0x8000), /* PROXIM RangeLAN-DS/LAN PC CARD */
21 PCMCIA_DEVICE_MANF_CARD(0x0138, 0x0002), /* Compaq WL100 11 Mbps Wireless Adapter */
22 PCMCIA_DEVICE_MANF_CARD(0x0156, 0x0002), /* Lucent Orinoco and old Intersil */
23 PCMCIA_DEVICE_MANF_CARD(0x016b, 0x0001), /* Ericsson WLAN Card C11 */
24 PCMCIA_DEVICE_MANF_CARD(0x01eb, 0x080a), /* Nortel Networks eMobility 802.11 Wireless Adapter */
25 PCMCIA_DEVICE_MANF_CARD(0x01ff, 0x0008), /* Intermec MobileLAN 11Mbps 802.11b WLAN Card */
26- PCMCIA_DEVICE_MANF_CARD(0x0250, 0x0002), /* Samsung SWL2000-N 11Mb/s WLAN Card */
27 PCMCIA_DEVICE_MANF_CARD(0x0261, 0x0002), /* AirWay 802.11 Adapter (PCMCIA) */
28 PCMCIA_DEVICE_MANF_CARD(0x0268, 0x0001), /* ARtem Onair */
29 PCMCIA_DEVICE_MANF_CARD(0x026f, 0x0305), /* Buffalo WLI-PCM-S11 */
30- PCMCIA_DEVICE_MANF_CARD(0x0274, 0x1612), /* Linksys WPC11 Version 2.5 */
31- PCMCIA_DEVICE_MANF_CARD(0x0274, 0x1613), /* Linksys WPC11 Version 3 */
32- PCMCIA_DEVICE_MANF_CARD(0x028a, 0x0002), /* Compaq HNW-100 11 Mbps Wireless Adapter */
33 PCMCIA_DEVICE_MANF_CARD(0x028a, 0x0673), /* Linksys WCF12 Wireless CompactFlash Card */
34- PCMCIA_DEVICE_MANF_CARD(0x02aa, 0x0002), /* ASUS SpaceLink WL-100 */
35 PCMCIA_DEVICE_MANF_CARD(0x02ac, 0x0002), /* SpeedStream SS1021 Wireless Adapter */
36 PCMCIA_DEVICE_MANF_CARD(0x14ea, 0xb001), /* PLANEX RoadLannerWave GW-NS11H */
37- PCMCIA_DEVICE_MANF_CARD(0x50c2, 0x7300), /* Airvast WN-100 */
38 PCMCIA_DEVICE_MANF_CARD(0x9005, 0x0021), /* Adaptec Ultra Wireless ANW-8030 */
39 PCMCIA_DEVICE_MANF_CARD(0xc001, 0x0008), /* CONTEC FLEXSCAN/FX-DDS110-PCC */
40 PCMCIA_DEVICE_MANF_CARD(0xc250, 0x0002), /* Conceptronic CON11Cpro, EMTAC A2424i */
41- PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0002), /* Safeway 802.11b, ZCOMAX AirRunner/XI-300 */
42- PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0005), /* D-Link DCF660, Sandisk Connect SDWCFB-000 */
43 PCMCIA_DEVICE_PROD_ID12(" ", "IEEE 802.11 Wireless LAN/PC Card", 0x3b6e20c8, 0xefccafe9),
44 PCMCIA_DEVICE_PROD_ID12("3Com", "3CRWE737A AirConnect Wireless LAN PC Card", 0x41240e5b, 0x56010af3),
45 PCMCIA_DEVICE_PROD_ID12("ACTIONTEC", "PRISM Wireless LAN PC Card", 0x393089da, 0xa71e69d5),
46@@ -487,31 +475,25 @@
47 PCMCIA_DEVICE_PROD_ID123("AIRVAST", "IEEE 802.11b Wireless PCMCIA Card", "HFA3863", 0xea569531, 0x4bcb9645, 0x355cb092),
48 PCMCIA_DEVICE_PROD_ID12("Allied Telesyn", "AT-WCL452 Wireless PCMCIA Radio", 0x5cd01705, 0x4271660f),
49 PCMCIA_DEVICE_PROD_ID12("ASUS", "802_11b_PC_CARD_25", 0x78fc06ee, 0xdb9aa842),
50- PCMCIA_DEVICE_PROD_ID12("ASUS", "802_11B_CF_CARD_25", 0x78fc06ee, 0x45a50c1e),
51 PCMCIA_DEVICE_PROD_ID12("Avaya Communication", "Avaya Wireless PC Card", 0xd8a43b78, 0x0d341169),
52 PCMCIA_DEVICE_PROD_ID12("BENQ", "AWL100 PCMCIA ADAPTER", 0x35dadc74, 0x01f7fedb),
53 PCMCIA_DEVICE_PROD_ID12("BUFFALO", "WLI-PCM-L11G", 0x2decece3, 0xf57ca4b3),
54- PCMCIA_DEVICE_PROD_ID12("BUFFALO", "WLI-CF-S11G", 0x2decece3, 0x82067c18),
55 PCMCIA_DEVICE_PROD_ID12("Cabletron", "RoamAbout 802.11 DS", 0x32d445f5, 0xedeffd90),
56- PCMCIA_DEVICE_PROD_ID12("Compaq", "WL200_11Mbps_Wireless_PCI_Card", 0x54f7c49c, 0x15a75e5b),
57 PCMCIA_DEVICE_PROD_ID123("corega", "WL PCCL-11", "ISL37300P", 0x0a21501a, 0x59868926, 0xc9049a39),
58 PCMCIA_DEVICE_PROD_ID12("corega K.K.", "Wireless LAN PCC-11", 0x5261440f, 0xa6405584),
59 PCMCIA_DEVICE_PROD_ID12("corega K.K.", "Wireless LAN PCCA-11", 0x5261440f, 0xdf6115f9),
60 PCMCIA_DEVICE_PROD_ID12("corega_K.K.", "Wireless_LAN_PCCB-11", 0x29e33311, 0xee7a27ae),
61 PCMCIA_DEVICE_PROD_ID12("D", "Link DRC-650 11Mbps WLAN Card", 0x71b18589, 0xf144e3ac),
62- PCMCIA_DEVICE_PROD_ID12("D", "Link DWL-650 11Mbps WLAN Card", 0x71b18589, 0xb6f1b0ab),
63 PCMCIA_DEVICE_PROD_ID12("D-Link Corporation", "D-Link DWL-650H 11Mbps WLAN Adapter", 0xef544d24, 0xcd8ea916),
64 PCMCIA_DEVICE_PROD_ID12("Digital Data Communications", "WPC-0100", 0xfdd73470, 0xe0b6f146),
65 PCMCIA_DEVICE_PROD_ID12("ELSA", "AirLancer MC-11", 0x4507a33a, 0xef54f0e3),
66 PCMCIA_DEVICE_PROD_ID12("HyperLink", "Wireless PC Card 11Mbps", 0x56cc3f1a, 0x0bcf220c),
67 PCMCIA_DEVICE_PROD_ID123("Instant Wireless ", " Network PC CARD", "Version 01.02", 0x11d901af, 0x6e9bd926, 0x4b74baa0),
68 PCMCIA_DEVICE_PROD_ID12("Intel", "PRO/Wireless 2011 LAN PC Card", 0x816cc815, 0x07f58077),
69- PCMCIA_DEVICE_PROD_ID12("INTERSIL", "HFA384x/IEEE", 0x74c5e40d, 0xdb472a18),
70 PCMCIA_DEVICE_PROD_ID12("INTERSIL", "I-GATE 11M PC Card / PC Card plus", 0x74c5e40d, 0x8304ff77),
71 PCMCIA_DEVICE_PROD_ID12("Intersil", "PRISM 2_5 PCMCIA ADAPTER", 0x4b801a17, 0x6345a0bf),
72 PCMCIA_DEVICE_PROD_ID123("Intersil", "PRISM Freedom PCMCIA Adapter", "ISL37100P", 0x4b801a17, 0xf222ec2d, 0x630d52b2),
73 PCMCIA_DEVICE_PROD_ID12("LeArtery", "SYNCBYAIR 11Mbps Wireless LAN PC Card", 0x7e3b326a, 0x49893e92),
74- PCMCIA_DEVICE_PROD_ID12("Linksys", "Wireless CompactFlash Card", 0x0733cc81, 0x0c52f395),
75 PCMCIA_DEVICE_PROD_ID12("Lucent Technologies", "WaveLAN/IEEE", 0x23eb9949, 0xc562e72a),
76 PCMCIA_DEVICE_PROD_ID12("MELCO", "WLI-PCM-L11", 0x481e0094, 0x7360e410),
77 PCMCIA_DEVICE_PROD_ID12("MELCO", "WLI-PCM-L11G", 0x481e0094, 0xf57ca4b3),
78@@ -529,10 +511,8 @@
79 PCMCIA_DEVICE_PROD_ID12("PROXIM", "LAN PCI CARD HARMONY 80211B", 0xc6536a5e, 0x9f494e26),
80 PCMCIA_DEVICE_PROD_ID12("SAMSUNG", "11Mbps WLAN Card", 0x43d74cb4, 0x579bd91b),
81 PCMCIA_DEVICE_PROD_ID12("SMC", "SMC2532W-B EliteConnect Wireless Adapter", 0xc4f8b18b, 0x196bd757),
82- PCMCIA_DEVICE_PROD_ID12("SMC", "SMC2632W", 0xc4f8b18b, 0x474a1f2a),
83 PCMCIA_DEVICE_PROD_ID12("Symbol Technologies", "LA4111 Spectrum24 Wireless LAN PC Card", 0x3f02b4d6, 0x3663cb0e),
84 PCMCIA_DEVICE_PROD_ID123("The Linksys Group, Inc.", "Instant Wireless Network PC Card", "ISL37300P", 0xa5f472c2, 0x590eb502, 0xc9049a39),
85- PCMCIA_DEVICE_PROD_ID12("ZoomAir 11Mbps High", "Rate wireless Networking", 0x273fe3db, 0x32a1eaee),
86 PCMCIA_DEVICE_NULL,
87 };
88 MODULE_DEVICE_TABLE(pcmcia, orinoco_cs_ids);
diff --git a/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/pxa-serial-hack.patch b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/pxa-serial-hack.patch
new file mode 100644
index 0000000000..bf20f46a05
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/pxa-serial-hack.patch
@@ -0,0 +1,90 @@
1---
2 drivers/serial/8250.c | 5 +++++
3 drivers/serial/serial_core.c | 1 +
4 drivers/serial/serial_cs.c | 12 +++++++++---
5 include/linux/serial_core.h | 1 +
6 4 files changed, 16 insertions(+), 3 deletions(-)
7
8Index: linux-2.6.20/drivers/serial/8250.c
9===================================================================
10--- linux-2.6.20.orig/drivers/serial/8250.c 2007-04-27 13:37:26.000000000 +0100
11+++ linux-2.6.20/drivers/serial/8250.c 2007-04-27 13:38:16.000000000 +0100
12@@ -2429,7 +2429,12 @@
13 .driver_name = "serial",
14 .dev_name = "ttyS",
15 .major = TTY_MAJOR,
16+#ifdef CONFIG_SERIAL_PXA
17+ .minor = 64 + 4,
18+ .name_base = 4,
19+#else
20 .minor = 64,
21+#endif
22 .nr = UART_NR,
23 .cons = SERIAL8250_CONSOLE,
24 };
25Index: linux-2.6.20/drivers/serial/serial_core.c
26===================================================================
27--- linux-2.6.20.orig/drivers/serial/serial_core.c 2007-02-04 18:44:54.000000000 +0000
28+++ linux-2.6.20/drivers/serial/serial_core.c 2007-04-27 13:39:39.000000000 +0100
29@@ -2068,7 +2068,8 @@
30 printk(KERN_INFO "%s%s%s%d at %s (irq = %d) is a %s\n",
31 port->dev ? port->dev->bus_id : "",
32 port->dev ? ": " : "",
33- drv->dev_name, port->line, address, port->irq, uart_type(port));
34+ drv->dev_name, port->line + drv->name_base, address, port->irq,
35+ uart_type(port));
36 }
37
38 static void
39@@ -2183,6 +2184,7 @@
40 normal->owner = drv->owner;
41 normal->driver_name = drv->driver_name;
42 normal->name = drv->dev_name;
43+ normal->name_base = drv->name_base;
44 normal->major = drv->major;
45 normal->minor_start = drv->minor;
46 normal->type = TTY_DRIVER_TYPE_SERIAL;
47Index: linux-2.6.20/include/linux/serial_core.h
48===================================================================
49--- linux-2.6.20.orig/include/linux/serial_core.h 2007-02-04 18:44:54.000000000 +0000
50+++ linux-2.6.20/include/linux/serial_core.h 2007-04-27 13:37:27.000000000 +0100
51@@ -341,6 +341,7 @@
52 struct module *owner;
53 const char *driver_name;
54 const char *dev_name;
55+ int name_base;
56 int major;
57 int minor;
58 int nr;
59Index: linux-2.6.20/drivers/serial/serial_cs.c
60===================================================================
61--- linux-2.6.20.orig/drivers/serial/serial_cs.c 2007-02-04 18:44:54.000000000 +0000
62+++ linux-2.6.20/drivers/serial/serial_cs.c 2007-04-27 13:40:34.000000000 +0100
63@@ -390,7 +390,7 @@
64 kio_addr_t iobase, int irq)
65 {
66 struct uart_port port;
67- int line;
68+ int line, linestart;
69
70 memset(&port, 0, sizeof (struct uart_port));
71 port.iobase = iobase;
72@@ -411,10 +411,16 @@
73 return -EINVAL;
74 }
75
76+#if CONFIG_SERIAL_PXA
77+ linestart = 4;
78+#else
79+ linestart = 0;
80+#endif
81+
82 info->line[info->ndev] = line;
83- sprintf(info->node[info->ndev].dev_name, "ttyS%d", line);
84+ sprintf(info->node[info->ndev].dev_name, "ttyS%d", line+linestart);
85 info->node[info->ndev].major = TTY_MAJOR;
86- info->node[info->ndev].minor = 0x40 + line;
87+ info->node[info->ndev].minor = 0x40 + line + linestart;
88 if (info->ndev > 0)
89 info->node[info->ndev - 1].next = &info->node[info->ndev];
90 info->ndev++;
diff --git a/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch
new file mode 100644
index 0000000000..b513ba1466
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch
@@ -0,0 +1,155 @@
1
2From: Petr Vandrovec <vandrove@vc.cvut.cz>
3
4Patch below adds support for using different prescaler than 16 for 16c950
5chips. This is needed for using Fujitsu-Siemens Connect2Air compact-flash
6card, which comes (apparently) with 806kHz clocks, and so you have to
7program prescaler for division by 7, and DLAB to 1, to get 115200Bd.
8
9To get card properly running you also have to add lines below to
10/etc/pcmcia/serial.opts so kernel knows that base speed is not 115200 but
1150400 (50400 * 16 = 806400; 806400 / 7 = 115200). As I've found no code
12specifying baud_rate in serial_cs, I assume that specifying it in
13serial.opts is right way to do this type of things.
14
15Patch also fixes problem that for UPF_MAGIC_MULTIPLIER maximum possible
16baud rate passed to uart code was uartclk / 16 while correct value for
17these devices (and for 16c950) is uartclk / 4.
18
19Patch also fixes problem that for UPF_MAGIC_MULTIPLIER devices with
20baud_rate 19200 or 9600 spd_cust did not work correctly. Not that such
21devices exist, but we should not ignore spd_cust, user probably knows why
22he asked for spd_cust.
23
24serial.opts:
25
26case "$MANFID-$FUNCID-$PRODID_1-$PRODID_2-$PRODID_3-$PRODID_4" in
27'0279,950b-2-GPRS Modem---')
28 SERIAL_OPTS="baud_base 50400"
29 ;;
30esac
31
32Cc: David Woodhouse <dwmw2@infradead.org>
33Signed-off-by: Andrew Morton <akpm@osdl.org>
34---
35
36 drivers/serial/8250.c | 82 +++++++++++++++++++++++++++++++++++++++-----------
37 1 file changed, 64 insertions(+), 18 deletions(-)
38
39Index: linux-2.6.21/drivers/serial/8250.c
40===================================================================
41--- linux-2.6.21.orig/drivers/serial/8250.c 2007-07-01 16:59:52.000000000 +0100
42+++ linux-2.6.21/drivers/serial/8250.c 2007-07-01 17:01:21.000000000 +0100
43@@ -1964,24 +1964,58 @@ static void serial8250_shutdown(struct u
44 serial_unlink_irq_chain(up);
45 }
46
47-static unsigned int serial8250_get_divisor(struct uart_port *port, unsigned int baud)
48+static unsigned int serial8250_get_divisor(struct uart_port *port, unsigned int baud,
49+ unsigned int *prescaler)
50 {
51- unsigned int quot;
52-
53- /*
54- * Handle magic divisors for baud rates above baud_base on
55- * SMSC SuperIO chips.
56+ /*
57+ * Use special handling only if user did not supply its own divider.
58+ * spd_cust is defined in terms of baud_base, so always use default
59+ * prescaler when spd_cust is requested.
60 */
61- if ((port->flags & UPF_MAGIC_MULTIPLIER) &&
62- baud == (port->uartclk/4))
63- quot = 0x8001;
64- else if ((port->flags & UPF_MAGIC_MULTIPLIER) &&
65- baud == (port->uartclk/8))
66- quot = 0x8002;
67- else
68- quot = uart_get_divisor(port, baud);
69
70- return quot;
71+ *prescaler = 16;
72+ if (baud != 38400 || (port->flags & UPF_SPD_MASK) != UPF_SPD_CUST) {
73+ unsigned int quot = port->uartclk / baud;
74+
75+ /*
76+ * Handle magic divisors for baud rates above baud_base on
77+ * SMSC SuperIO chips.
78+ */
79+ if (port->flags & UPF_MAGIC_MULTIPLIER) {
80+ if (quot == 4) {
81+ return 0x8001;
82+ } else if (quot == 8) {
83+ return 0x8002;
84+ }
85+ }
86+ if (port->type == PORT_16C950) {
87+ /*
88+ * This computes TCR value (4 to 16), not CPR value (which can
89+ * be between 1.000 and 31.875) - chip I have uses XTAL of
90+ * 806400Hz, and so a division by 7 is required to get 115200Bd.
91+ * I'm leaving CPR disabled for now, until someone will
92+ * hit even more exotic XTAL (it is needed to get 500kbps
93+ * or 1000kbps from 18.432MHz XTAL, but I have no device
94+ * which would benefit from doing that).
95+ *
96+ * If we can use divide by 16, use it. Otherwise look for
97+ * better prescaler, from 15 to 4. If quotient cannot
98+ * be divided by any integer value between 4 and 15, use 4.
99+ */
100+ if (quot & 0x0F) {
101+ unsigned int div;
102+
103+ for (div = 15; div > 4; div--) {
104+ if (quot % div == 0) {
105+ break;
106+ }
107+ }
108+ *prescaler = div;
109+ return quot / div;
110+ }
111+ }
112+ }
113+ return uart_get_divisor(port, baud);
114 }
115
116 static void
117@@ -1991,7 +2025,7 @@ serial8250_set_termios(struct uart_port
118 struct uart_8250_port *up = (struct uart_8250_port *)port;
119 unsigned char cval, fcr = 0;
120 unsigned long flags;
121- unsigned int baud, quot;
122+ unsigned int baud, quot, prescaler;
123
124 switch (termios->c_cflag & CSIZE) {
125 case CS5:
126@@ -2023,8 +2057,13 @@ serial8250_set_termios(struct uart_port
127 /*
128 * Ask the core to calculate the divisor for us.
129 */
130- baud = uart_get_baud_rate(port, termios, old, 0, port->uartclk/16);
131- quot = serial8250_get_divisor(port, baud);
132+ if (port->type == PORT_16C950 || (port->flags & UPF_MAGIC_MULTIPLIER)) {
133+ baud = uart_get_baud_rate(port, termios, old, 0, port->uartclk/4);
134+ } else {
135+ baud = uart_get_baud_rate(port, termios, old, 0, port->uartclk/16);
136+ }
137+ quot = serial8250_get_divisor(port, baud, &prescaler);
138+
139
140 /*
141 * Oxford Semi 952 rev B workaround
142@@ -2139,6 +2178,13 @@ serial8250_set_termios(struct uart_port
143 serial_dl_write(up, quot);
144
145 /*
146+ * Program prescaler for 16C950 chips.
147+ */
148+ if (up->port.type == PORT_16C950) {
149+ serial_icr_write(up, UART_TCR, prescaler == 16 ? 0 : prescaler);
150+ }
151+
152+ /*
153 * LCR DLAB must be set to enable 64-byte FIFO mode. If the FCR
154 * is written without DLAB set, this mode will be disabled.
155 */
diff --git a/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/squashfs3.0-2.6.15.patch b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/squashfs3.0-2.6.15.patch
new file mode 100644
index 0000000000..6312efe46a
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/squashfs3.0-2.6.15.patch
@@ -0,0 +1,4189 @@
1 fs/Kconfig | 65 +
2 fs/Makefile | 1
3 fs/squashfs/Makefile | 7
4 fs/squashfs/inode.c | 2122 +++++++++++++++++++++++++++++++++++++++++
5 fs/squashfs/squashfs.h | 86 +
6 fs/squashfs/squashfs2_0.c | 757 ++++++++++++++
7 include/linux/squashfs_fs.h | 911 +++++++++++++++++
8 include/linux/squashfs_fs_i.h | 45
9 include/linux/squashfs_fs_sb.h | 74 +
10 init/do_mounts_rd.c | 13
11 10 files changed, 4081 insertions(+)
12
13Index: linux-2.6.21/fs/Kconfig
14===================================================================
15--- linux-2.6.21.orig/fs/Kconfig 2007-07-01 17:09:49.000000000 +0100
16+++ linux-2.6.21/fs/Kconfig 2007-07-01 17:09:57.000000000 +0100
17@@ -1393,6 +1393,71 @@ config CRAMFS
18
19 If unsure, say N.
20
21+config SQUASHFS
22+ tristate "SquashFS 3.0 - Squashed file system support"
23+ select ZLIB_INFLATE
24+ help
25+ Saying Y here includes support for SquashFS 3.0 (a Compressed Read-Only File
26+ System). Squashfs is a highly compressed read-only filesystem for Linux.
27+ It uses zlib compression to compress both files, inodes and directories.
28+ Inodes in the system are very small and all blocks are packed to minimise
29+ data overhead. Block sizes greater than 4K are supported up to a maximum of 64K.
30+ SquashFS 3.0 supports 64 bit filesystems and files (larger than 4GB), full
31+ uid/gid information, hard links and timestamps.
32+
33+ Squashfs is intended for general read-only filesystem use, for archival
34+ use (i.e. in cases where a .tar.gz file may be used), and in embedded
35+ systems where low overhead is needed. Further information and filesystem tools
36+ are available from http://squashfs.sourceforge.net.
37+
38+ If you want to compile this as a module ( = code which can be
39+ inserted in and removed from the running kernel whenever you want),
40+ say M here and read <file:Documentation/modules.txt>. The module
41+ will be called squashfs. Note that the root file system (the one
42+ containing the directory /) cannot be compiled as a module.
43+
44+ If unsure, say N.
45+
46+config SQUASHFS_EMBEDDED
47+
48+ bool "Additional options for memory-constrained systems"
49+ depends on SQUASHFS
50+ default n
51+ help
52+ Saying Y here allows you to specify cache sizes and how Squashfs
53+ allocates memory. This is only intended for memory constrained
54+ systems.
55+
56+ If unsure, say N.
57+
58+config SQUASHFS_FRAGMENT_CACHE_SIZE
59+ int "Number of fragments cached" if SQUASHFS_EMBEDDED
60+ depends on SQUASHFS
61+ default "3"
62+ help
63+ By default SquashFS caches the last 3 fragments read from
64+ the filesystem. Increasing this amount may mean SquashFS
65+ has to re-read fragments less often from disk, at the expense
66+ of extra system memory. Decreasing this amount will mean
67+ SquashFS uses less memory at the expense of extra reads from disk.
68+
69+ Note there must be at least one cached fragment. Anything
70+ much more than three will probably not make much difference.
71+
72+config SQUASHFS_VMALLOC
73+ bool "Use Vmalloc rather than Kmalloc" if SQUASHFS_EMBEDDED
74+ depends on SQUASHFS
75+ default n
76+ help
77+ By default SquashFS uses kmalloc to obtain fragment cache memory.
78+ Kmalloc memory is the standard kernel allocator, but it can fail
79+ on memory constrained systems. Because of the way Vmalloc works,
80+ Vmalloc can succeed when kmalloc fails. Specifying this option
81+ will make SquashFS always use Vmalloc to allocate the
82+ fragment cache memory.
83+
84+ If unsure, say N.
85+
86 config VXFS_FS
87 tristate "FreeVxFS file system support (VERITAS VxFS(TM) compatible)"
88 depends on BLOCK
89Index: linux-2.6.21/fs/Makefile
90===================================================================
91--- linux-2.6.21.orig/fs/Makefile 2007-07-01 17:09:46.000000000 +0100
92+++ linux-2.6.21/fs/Makefile 2007-07-01 17:09:57.000000000 +0100
93@@ -72,6 +72,7 @@ obj-$(CONFIG_JBD) += jbd/
94 obj-$(CONFIG_JBD2) += jbd2/
95 obj-$(CONFIG_EXT2_FS) += ext2/
96 obj-$(CONFIG_CRAMFS) += cramfs/
97+obj-$(CONFIG_SQUASHFS) += squashfs/
98 obj-$(CONFIG_RAMFS) += ramfs/
99 obj-$(CONFIG_HUGETLBFS) += hugetlbfs/
100 obj-$(CONFIG_CODA_FS) += coda/
101Index: linux-2.6.21/fs/squashfs/inode.c
102===================================================================
103--- /dev/null 1970-01-01 00:00:00.000000000 +0000
104+++ linux-2.6.21/fs/squashfs/inode.c 2007-07-01 17:54:23.000000000 +0100
105@@ -0,0 +1,2122 @@
106+/*
107+ * Squashfs - a compressed read only filesystem for Linux
108+ *
109+ * Copyright (c) 2002, 2003, 2004, 2005, 2006
110+ * Phillip Lougher <phillip@lougher.org.uk>
111+ *
112+ * This program is free software; you can redistribute it and/or
113+ * modify it under the terms of the GNU General Public License
114+ * as published by the Free Software Foundation; either version 2,
115+ * or (at your option) any later version.
116+ *
117+ * This program is distributed in the hope that it will be useful,
118+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
119+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
120+ * GNU General Public License for more details.
121+ *
122+ * You should have received a copy of the GNU General Public License
123+ * along with this program; if not, write to the Free Software
124+ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
125+ *
126+ * inode.c
127+ */
128+
129+#include <linux/types.h>
130+#include <linux/squashfs_fs.h>
131+#include <linux/module.h>
132+#include <linux/errno.h>
133+#include <linux/slab.h>
134+#include <linux/fs.h>
135+#include <linux/smp_lock.h>
136+#include <linux/slab.h>
137+#include <linux/squashfs_fs_sb.h>
138+#include <linux/squashfs_fs_i.h>
139+#include <linux/buffer_head.h>
140+#include <linux/vfs.h>
141+#include <linux/init.h>
142+#include <linux/dcache.h>
143+#include <linux/wait.h>
144+#include <linux/zlib.h>
145+#include <linux/blkdev.h>
146+#include <linux/vmalloc.h>
147+#include <asm/uaccess.h>
148+#include <asm/semaphore.h>
149+
150+#include "squashfs.h"
151+
152+static void squashfs_put_super(struct super_block *);
153+static int squashfs_statfs(struct dentry *, struct kstatfs *);
154+static int squashfs_symlink_readpage(struct file *file, struct page *page);
155+static int squashfs_readpage(struct file *file, struct page *page);
156+static int squashfs_readpage4K(struct file *file, struct page *page);
157+static int squashfs_readdir(struct file *, void *, filldir_t);
158+static struct inode *squashfs_alloc_inode(struct super_block *sb);
159+static void squashfs_destroy_inode(struct inode *inode);
160+static int init_inodecache(void);
161+static void destroy_inodecache(void);
162+static struct dentry *squashfs_lookup(struct inode *, struct dentry *,
163+ struct nameidata *);
164+static struct inode *squashfs_iget(struct super_block *s, squashfs_inode_t inode);
165+static long long read_blocklist(struct inode *inode, int index,
166+ int readahead_blks, char *block_list,
167+ unsigned short **block_p, unsigned int *bsize);
168+static int squashfs_get_sb(struct file_system_type *, int,
169+ const char *, void *, struct vfsmount *);
170+
171+
172+static z_stream stream;
173+
174+static struct file_system_type squashfs_fs_type = {
175+ .owner = THIS_MODULE,
176+ .name = "squashfs",
177+ .get_sb = squashfs_get_sb,
178+ .kill_sb = kill_block_super,
179+ .fs_flags = FS_REQUIRES_DEV
180+};
181+
182+static unsigned char squashfs_filetype_table[] = {
183+ DT_UNKNOWN, DT_DIR, DT_REG, DT_LNK, DT_BLK, DT_CHR, DT_FIFO, DT_SOCK
184+};
185+
186+static struct super_operations squashfs_ops = {
187+ .alloc_inode = squashfs_alloc_inode,
188+ .destroy_inode = squashfs_destroy_inode,
189+ .statfs = squashfs_statfs,
190+ .put_super = squashfs_put_super,
191+};
192+
193+SQSH_EXTERN struct address_space_operations squashfs_symlink_aops = {
194+ .readpage = squashfs_symlink_readpage
195+};
196+
197+SQSH_EXTERN struct address_space_operations squashfs_aops = {
198+ .readpage = squashfs_readpage
199+};
200+
201+SQSH_EXTERN struct address_space_operations squashfs_aops_4K = {
202+ .readpage = squashfs_readpage4K
203+};
204+
205+static struct file_operations squashfs_dir_ops = {
206+ .read = generic_read_dir,
207+ .readdir = squashfs_readdir
208+};
209+
210+SQSH_EXTERN struct inode_operations squashfs_dir_inode_ops = {
211+ .lookup = squashfs_lookup
212+};
213+
214+
215+static struct buffer_head *get_block_length(struct super_block *s,
216+ int *cur_index, int *offset, int *c_byte)
217+{
218+ struct squashfs_sb_info *msblk = s->s_fs_info;
219+ unsigned short temp;
220+ struct buffer_head *bh;
221+
222+ if (!(bh = sb_bread(s, *cur_index)))
223+ goto out;
224+
225+ if (msblk->devblksize - *offset == 1) {
226+ if (msblk->swap)
227+ ((unsigned char *) &temp)[1] = *((unsigned char *)
228+ (bh->b_data + *offset));
229+ else
230+ ((unsigned char *) &temp)[0] = *((unsigned char *)
231+ (bh->b_data + *offset));
232+ brelse(bh);
233+ if (!(bh = sb_bread(s, ++(*cur_index))))
234+ goto out;
235+ if (msblk->swap)
236+ ((unsigned char *) &temp)[0] = *((unsigned char *)
237+ bh->b_data);
238+ else
239+ ((unsigned char *) &temp)[1] = *((unsigned char *)
240+ bh->b_data);
241+ *c_byte = temp;
242+ *offset = 1;
243+ } else {
244+ if (msblk->swap) {
245+ ((unsigned char *) &temp)[1] = *((unsigned char *)
246+ (bh->b_data + *offset));
247+ ((unsigned char *) &temp)[0] = *((unsigned char *)
248+ (bh->b_data + *offset + 1));
249+ } else {
250+ ((unsigned char *) &temp)[0] = *((unsigned char *)
251+ (bh->b_data + *offset));
252+ ((unsigned char *) &temp)[1] = *((unsigned char *)
253+ (bh->b_data + *offset + 1));
254+ }
255+ *c_byte = temp;
256+ *offset += 2;
257+ }
258+
259+ if (SQUASHFS_CHECK_DATA(msblk->sblk.flags)) {
260+ if (*offset == msblk->devblksize) {
261+ brelse(bh);
262+ if (!(bh = sb_bread(s, ++(*cur_index))))
263+ goto out;
264+ *offset = 0;
265+ }
266+ if (*((unsigned char *) (bh->b_data + *offset)) !=
267+ SQUASHFS_MARKER_BYTE) {
268+ ERROR("Metadata block marker corrupt @ %x\n",
269+ *cur_index);
270+ brelse(bh);
271+ goto out;
272+ }
273+ (*offset)++;
274+ }
275+ return bh;
276+
277+out:
278+ return NULL;
279+}
280+
281+
282+SQSH_EXTERN unsigned int squashfs_read_data(struct super_block *s, char *buffer,
283+ long long index, unsigned int length,
284+ long long *next_index)
285+{
286+ struct squashfs_sb_info *msblk = s->s_fs_info;
287+ struct buffer_head *bh[((SQUASHFS_FILE_MAX_SIZE - 1) >>
288+ msblk->devblksize_log2) + 2];
289+ unsigned int offset = index & ((1 << msblk->devblksize_log2) - 1);
290+ unsigned int cur_index = index >> msblk->devblksize_log2;
291+ int bytes, avail_bytes, b = 0, k;
292+ char *c_buffer;
293+ unsigned int compressed;
294+ unsigned int c_byte = length;
295+
296+ if (c_byte) {
297+ bytes = msblk->devblksize - offset;
298+ compressed = SQUASHFS_COMPRESSED_BLOCK(c_byte);
299+ c_buffer = compressed ? msblk->read_data : buffer;
300+ c_byte = SQUASHFS_COMPRESSED_SIZE_BLOCK(c_byte);
301+
302+ TRACE("Block @ 0x%llx, %scompressed size %d\n", index, compressed
303+ ? "" : "un", (unsigned int) c_byte);
304+
305+ if (!(bh[0] = sb_getblk(s, cur_index)))
306+ goto block_release;
307+
308+ for (b = 1; bytes < c_byte; b++) {
309+ if (!(bh[b] = sb_getblk(s, ++cur_index)))
310+ goto block_release;
311+ bytes += msblk->devblksize;
312+ }
313+ ll_rw_block(READ, b, bh);
314+ } else {
315+ if (!(bh[0] = get_block_length(s, &cur_index, &offset,
316+ &c_byte)))
317+ goto read_failure;
318+
319+ bytes = msblk->devblksize - offset;
320+ compressed = SQUASHFS_COMPRESSED(c_byte);
321+ c_buffer = compressed ? msblk->read_data : buffer;
322+ c_byte = SQUASHFS_COMPRESSED_SIZE(c_byte);
323+
324+ TRACE("Block @ 0x%llx, %scompressed size %d\n", index, compressed
325+ ? "" : "un", (unsigned int) c_byte);
326+
327+ for (b = 1; bytes < c_byte; b++) {
328+ if (!(bh[b] = sb_getblk(s, ++cur_index)))
329+ goto block_release;
330+ bytes += msblk->devblksize;
331+ }
332+ ll_rw_block(READ, b - 1, bh + 1);
333+ }
334+
335+ if (compressed)
336+ down(&msblk->read_data_mutex);
337+
338+ for (bytes = 0, k = 0; k < b; k++) {
339+ avail_bytes = (c_byte - bytes) > (msblk->devblksize - offset) ?
340+ msblk->devblksize - offset :
341+ c_byte - bytes;
342+ wait_on_buffer(bh[k]);
343+ if (!buffer_uptodate(bh[k]))
344+ goto block_release;
345+ memcpy(c_buffer + bytes, bh[k]->b_data + offset, avail_bytes);
346+ bytes += avail_bytes;
347+ offset = 0;
348+ brelse(bh[k]);
349+ }
350+
351+ /*
352+ * uncompress block
353+ */
354+ if (compressed) {
355+ int zlib_err;
356+
357+ stream.next_in = c_buffer;
358+ stream.avail_in = c_byte;
359+ stream.next_out = buffer;
360+ stream.avail_out = msblk->read_size;
361+
362+ if (((zlib_err = zlib_inflateInit(&stream)) != Z_OK) ||
363+ ((zlib_err = zlib_inflate(&stream, Z_FINISH))
364+ != Z_STREAM_END) || ((zlib_err =
365+ zlib_inflateEnd(&stream)) != Z_OK)) {
366+ ERROR("zlib_fs returned unexpected result 0x%x\n",
367+ zlib_err);
368+ bytes = 0;
369+ } else
370+ bytes = stream.total_out;
371+
372+ up(&msblk->read_data_mutex);
373+ }
374+
375+ if (next_index)
376+ *next_index = index + c_byte + (length ? 0 :
377+ (SQUASHFS_CHECK_DATA(msblk->sblk.flags)
378+ ? 3 : 2));
379+ return bytes;
380+
381+block_release:
382+ while (--b >= 0)
383+ brelse(bh[b]);
384+
385+read_failure:
386+ ERROR("sb_bread failed reading block 0x%x\n", cur_index);
387+ return 0;
388+}
389+
390+
391+SQSH_EXTERN int squashfs_get_cached_block(struct super_block *s, char *buffer,
392+ long long block, unsigned int offset,
393+ int length, long long *next_block,
394+ unsigned int *next_offset)
395+{
396+ struct squashfs_sb_info *msblk = s->s_fs_info;
397+ int n, i, bytes, return_length = length;
398+ long long next_index;
399+
400+ TRACE("Entered squashfs_get_cached_block [%llx:%x]\n", block, offset);
401+
402+ while ( 1 ) {
403+ for (i = 0; i < SQUASHFS_CACHED_BLKS; i++)
404+ if (msblk->block_cache[i].block == block)
405+ break;
406+
407+ down(&msblk->block_cache_mutex);
408+
409+ if (i == SQUASHFS_CACHED_BLKS) {
410+ /* read inode header block */
411+ for (i = msblk->next_cache, n = SQUASHFS_CACHED_BLKS;
412+ n ; n --, i = (i + 1) %
413+ SQUASHFS_CACHED_BLKS)
414+ if (msblk->block_cache[i].block !=
415+ SQUASHFS_USED_BLK)
416+ break;
417+
418+ if (n == 0) {
419+ wait_queue_t wait;
420+
421+ init_waitqueue_entry(&wait, current);
422+ add_wait_queue(&msblk->waitq, &wait);
423+ set_current_state(TASK_UNINTERRUPTIBLE);
424+ up(&msblk->block_cache_mutex);
425+ schedule();
426+ set_current_state(TASK_RUNNING);
427+ remove_wait_queue(&msblk->waitq, &wait);
428+ continue;
429+ }
430+ msblk->next_cache = (i + 1) % SQUASHFS_CACHED_BLKS;
431+
432+ if (msblk->block_cache[i].block ==
433+ SQUASHFS_INVALID_BLK) {
434+ if (!(msblk->block_cache[i].data =
435+ kmalloc(SQUASHFS_METADATA_SIZE,
436+ GFP_KERNEL))) {
437+ ERROR("Failed to allocate cache"
438+ "block\n");
439+ up(&msblk->block_cache_mutex);
440+ goto out;
441+ }
442+ }
443+
444+ msblk->block_cache[i].block = SQUASHFS_USED_BLK;
445+ up(&msblk->block_cache_mutex);
446+
447+ if (!(msblk->block_cache[i].length =
448+ squashfs_read_data(s,
449+ msblk->block_cache[i].data,
450+ block, 0, &next_index))) {
451+ ERROR("Unable to read cache block [%llx:%x]\n",
452+ block, offset);
453+ goto out;
454+ }
455+
456+ down(&msblk->block_cache_mutex);
457+ wake_up(&msblk->waitq);
458+ msblk->block_cache[i].block = block;
459+ msblk->block_cache[i].next_index = next_index;
460+ TRACE("Read cache block [%llx:%x]\n", block, offset);
461+ }
462+
463+ if (msblk->block_cache[i].block != block) {
464+ up(&msblk->block_cache_mutex);
465+ continue;
466+ }
467+
468+ if ((bytes = msblk->block_cache[i].length - offset) >= length) {
469+ if (buffer)
470+ memcpy(buffer, msblk->block_cache[i].data +
471+ offset, length);
472+ if (msblk->block_cache[i].length - offset == length) {
473+ *next_block = msblk->block_cache[i].next_index;
474+ *next_offset = 0;
475+ } else {
476+ *next_block = block;
477+ *next_offset = offset + length;
478+ }
479+ up(&msblk->block_cache_mutex);
480+ goto finish;
481+ } else {
482+ if (buffer) {
483+ memcpy(buffer, msblk->block_cache[i].data +
484+ offset, bytes);
485+ buffer += bytes;
486+ }
487+ block = msblk->block_cache[i].next_index;
488+ up(&msblk->block_cache_mutex);
489+ length -= bytes;
490+ offset = 0;
491+ }
492+ }
493+
494+finish:
495+ return return_length;
496+out:
497+ return 0;
498+}
499+
500+
501+static int get_fragment_location(struct super_block *s, unsigned int fragment,
502+ long long *fragment_start_block,
503+ unsigned int *fragment_size)
504+{
505+ struct squashfs_sb_info *msblk = s->s_fs_info;
506+ long long start_block =
507+ msblk->fragment_index[SQUASHFS_FRAGMENT_INDEX(fragment)];
508+ int offset = SQUASHFS_FRAGMENT_INDEX_OFFSET(fragment);
509+ struct squashfs_fragment_entry fragment_entry;
510+
511+ if (msblk->swap) {
512+ struct squashfs_fragment_entry sfragment_entry;
513+
514+ if (!squashfs_get_cached_block(s, (char *) &sfragment_entry,
515+ start_block, offset,
516+ sizeof(sfragment_entry), &start_block,
517+ &offset))
518+ goto out;
519+ SQUASHFS_SWAP_FRAGMENT_ENTRY(&fragment_entry, &sfragment_entry);
520+ } else
521+ if (!squashfs_get_cached_block(s, (char *) &fragment_entry,
522+ start_block, offset,
523+ sizeof(fragment_entry), &start_block,
524+ &offset))
525+ goto out;
526+
527+ *fragment_start_block = fragment_entry.start_block;
528+ *fragment_size = fragment_entry.size;
529+
530+ return 1;
531+
532+out:
533+ return 0;
534+}
535+
536+
537+SQSH_EXTERN void release_cached_fragment(struct squashfs_sb_info *msblk, struct
538+ squashfs_fragment_cache *fragment)
539+{
540+ down(&msblk->fragment_mutex);
541+ fragment->locked --;
542+ wake_up(&msblk->fragment_wait_queue);
543+ up(&msblk->fragment_mutex);
544+}
545+
546+
547+SQSH_EXTERN struct squashfs_fragment_cache *get_cached_fragment(struct super_block
548+ *s, long long start_block,
549+ int length)
550+{
551+ int i, n, nf;
552+ struct squashfs_sb_info *msblk = s->s_fs_info;
553+
554+ while ( 1 ) {
555+ down(&msblk->fragment_mutex);
556+
557+ for (i = 0; i < SQUASHFS_CACHED_FRAGMENTS &&
558+ msblk->fragment[i].block != start_block; i++);
559+
560+ if (i == SQUASHFS_CACHED_FRAGMENTS) {
561+ nf = (msblk->next_fragment + 1) %
562+ SQUASHFS_CACHED_FRAGMENTS;
563+ for (i = msblk->next_fragment, n =
564+ SQUASHFS_CACHED_FRAGMENTS; n &&
565+ msblk->fragment[i].locked; n--, i = (i + 1) %
566+ SQUASHFS_CACHED_FRAGMENTS);
567+
568+ if (n == 0) {
569+ wait_queue_t wait;
570+
571+ init_waitqueue_entry(&wait, current);
572+ add_wait_queue(&msblk->fragment_wait_queue,
573+ &wait);
574+ set_current_state(TASK_UNINTERRUPTIBLE);
575+ up(&msblk->fragment_mutex);
576+ schedule();
577+ set_current_state(TASK_RUNNING);
578+ remove_wait_queue(&msblk->fragment_wait_queue,
579+ &wait);
580+ continue;
581+ }
582+ msblk->next_fragment = nf;
583+
584+ if (msblk->fragment[i].data == NULL)
585+ if (!(msblk->fragment[i].data = SQUASHFS_ALLOC
586+ (SQUASHFS_FILE_MAX_SIZE))) {
587+ ERROR("Failed to allocate fragment "
588+ "cache block\n");
589+ up(&msblk->fragment_mutex);
590+ goto out;
591+ }
592+
593+ msblk->fragment[i].block = SQUASHFS_INVALID_BLK;
594+ msblk->fragment[i].locked = 1;
595+ up(&msblk->fragment_mutex);
596+
597+ if (!(msblk->fragment[i].length = squashfs_read_data(s,
598+ msblk->fragment[i].data,
599+ start_block, length, NULL))) {
600+ ERROR("Unable to read fragment cache block "
601+ "[%llx]\n", start_block);
602+ msblk->fragment[i].locked = 0;
603+ goto out;
604+ }
605+
606+ msblk->fragment[i].block = start_block;
607+ TRACE("New fragment %d, start block %lld, locked %d\n",
608+ i, msblk->fragment[i].block,
609+ msblk->fragment[i].locked);
610+ break;
611+ }
612+
613+ msblk->fragment[i].locked++;
614+ up(&msblk->fragment_mutex);
615+ TRACE("Got fragment %d, start block %lld, locked %d\n", i,
616+ msblk->fragment[i].block,
617+ msblk->fragment[i].locked);
618+ break;
619+ }
620+
621+ return &msblk->fragment[i];
622+
623+out:
624+ return NULL;
625+}
626+
627+
628+static struct inode *squashfs_new_inode(struct super_block *s,
629+ struct squashfs_base_inode_header *inodeb)
630+{
631+ struct squashfs_sb_info *msblk = s->s_fs_info;
632+ struct inode *i = new_inode(s);
633+
634+ if (i) {
635+ i->i_ino = inodeb->inode_number;
636+ i->i_mtime.tv_sec = inodeb->mtime;
637+ i->i_atime.tv_sec = inodeb->mtime;
638+ i->i_ctime.tv_sec = inodeb->mtime;
639+ i->i_uid = msblk->uid[inodeb->uid];
640+ i->i_mode = inodeb->mode;
641+ i->i_size = 0;
642+ if (inodeb->guid == SQUASHFS_GUIDS)
643+ i->i_gid = i->i_uid;
644+ else
645+ i->i_gid = msblk->guid[inodeb->guid];
646+ }
647+
648+ return i;
649+}
650+
651+
652+static struct inode *squashfs_iget(struct super_block *s, squashfs_inode_t inode)
653+{
654+ struct inode *i;
655+ struct squashfs_sb_info *msblk = s->s_fs_info;
656+ struct squashfs_super_block *sblk = &msblk->sblk;
657+ long long block = SQUASHFS_INODE_BLK(inode) +
658+ sblk->inode_table_start;
659+ unsigned int offset = SQUASHFS_INODE_OFFSET(inode);
660+ long long next_block;
661+ unsigned int next_offset;
662+ union squashfs_inode_header id, sid;
663+ struct squashfs_base_inode_header *inodeb = &id.base,
664+ *sinodeb = &sid.base;
665+
666+ TRACE("Entered squashfs_iget\n");
667+
668+ if (msblk->swap) {
669+ if (!squashfs_get_cached_block(s, (char *) sinodeb, block,
670+ offset, sizeof(*sinodeb), &next_block,
671+ &next_offset))
672+ goto failed_read;
673+ SQUASHFS_SWAP_BASE_INODE_HEADER(inodeb, sinodeb,
674+ sizeof(*sinodeb));
675+ } else
676+ if (!squashfs_get_cached_block(s, (char *) inodeb, block,
677+ offset, sizeof(*inodeb), &next_block,
678+ &next_offset))
679+ goto failed_read;
680+
681+ switch(inodeb->inode_type) {
682+ case SQUASHFS_FILE_TYPE: {
683+ unsigned int frag_size;
684+ long long frag_blk;
685+ struct squashfs_reg_inode_header *inodep = &id.reg;
686+ struct squashfs_reg_inode_header *sinodep = &sid.reg;
687+
688+ if (msblk->swap) {
689+ if (!squashfs_get_cached_block(s, (char *)
690+ sinodep, block, offset,
691+ sizeof(*sinodep), &next_block,
692+ &next_offset))
693+ goto failed_read;
694+ SQUASHFS_SWAP_REG_INODE_HEADER(inodep, sinodep);
695+ } else
696+ if (!squashfs_get_cached_block(s, (char *)
697+ inodep, block, offset,
698+ sizeof(*inodep), &next_block,
699+ &next_offset))
700+ goto failed_read;
701+
702+ frag_blk = SQUASHFS_INVALID_BLK;
703+ if (inodep->fragment != SQUASHFS_INVALID_FRAG &&
704+ !get_fragment_location(s,
705+ inodep->fragment, &frag_blk, &frag_size))
706+ goto failed_read;
707+
708+ if((i = squashfs_new_inode(s, inodeb)) == NULL)
709+ goto failed_read1;
710+
711+ i->i_nlink = 1;
712+ i->i_size = inodep->file_size;
713+ i->i_fop = &generic_ro_fops;
714+ i->i_mode |= S_IFREG;
715+ i->i_blocks = ((i->i_size - 1) >> 9) + 1;
716+ SQUASHFS_I(i)->u.s1.fragment_start_block = frag_blk;
717+ SQUASHFS_I(i)->u.s1.fragment_size = frag_size;
718+ SQUASHFS_I(i)->u.s1.fragment_offset = inodep->offset;
719+ SQUASHFS_I(i)->start_block = inodep->start_block;
720+ SQUASHFS_I(i)->u.s1.block_list_start = next_block;
721+ SQUASHFS_I(i)->offset = next_offset;
722+ if (sblk->block_size > 4096)
723+ i->i_data.a_ops = &squashfs_aops;
724+ else
725+ i->i_data.a_ops = &squashfs_aops_4K;
726+
727+ TRACE("File inode %x:%x, start_block %llx, "
728+ "block_list_start %llx, offset %x\n",
729+ SQUASHFS_INODE_BLK(inode), offset,
730+ inodep->start_block, next_block,
731+ next_offset);
732+ break;
733+ }
734+ case SQUASHFS_LREG_TYPE: {
735+ unsigned int frag_size;
736+ long long frag_blk;
737+ struct squashfs_lreg_inode_header *inodep = &id.lreg;
738+ struct squashfs_lreg_inode_header *sinodep = &sid.lreg;
739+
740+ if (msblk->swap) {
741+ if (!squashfs_get_cached_block(s, (char *)
742+ sinodep, block, offset,
743+ sizeof(*sinodep), &next_block,
744+ &next_offset))
745+ goto failed_read;
746+ SQUASHFS_SWAP_LREG_INODE_HEADER(inodep, sinodep);
747+ } else
748+ if (!squashfs_get_cached_block(s, (char *)
749+ inodep, block, offset,
750+ sizeof(*inodep), &next_block,
751+ &next_offset))
752+ goto failed_read;
753+
754+ frag_blk = SQUASHFS_INVALID_BLK;
755+ if (inodep->fragment != SQUASHFS_INVALID_FRAG &&
756+ !get_fragment_location(s,
757+ inodep->fragment, &frag_blk, &frag_size))
758+ goto failed_read;
759+
760+ if((i = squashfs_new_inode(s, inodeb)) == NULL)
761+ goto failed_read1;
762+
763+ i->i_nlink = inodep->nlink;
764+ i->i_size = inodep->file_size;
765+ i->i_fop = &generic_ro_fops;
766+ i->i_mode |= S_IFREG;
767+ i->i_blocks = ((i->i_size - 1) >> 9) + 1;
768+ SQUASHFS_I(i)->u.s1.fragment_start_block = frag_blk;
769+ SQUASHFS_I(i)->u.s1.fragment_size = frag_size;
770+ SQUASHFS_I(i)->u.s1.fragment_offset = inodep->offset;
771+ SQUASHFS_I(i)->start_block = inodep->start_block;
772+ SQUASHFS_I(i)->u.s1.block_list_start = next_block;
773+ SQUASHFS_I(i)->offset = next_offset;
774+ if (sblk->block_size > 4096)
775+ i->i_data.a_ops = &squashfs_aops;
776+ else
777+ i->i_data.a_ops = &squashfs_aops_4K;
778+
779+ TRACE("File inode %x:%x, start_block %llx, "
780+ "block_list_start %llx, offset %x\n",
781+ SQUASHFS_INODE_BLK(inode), offset,
782+ inodep->start_block, next_block,
783+ next_offset);
784+ break;
785+ }
786+ case SQUASHFS_DIR_TYPE: {
787+ struct squashfs_dir_inode_header *inodep = &id.dir;
788+ struct squashfs_dir_inode_header *sinodep = &sid.dir;
789+
790+ if (msblk->swap) {
791+ if (!squashfs_get_cached_block(s, (char *)
792+ sinodep, block, offset,
793+ sizeof(*sinodep), &next_block,
794+ &next_offset))
795+ goto failed_read;
796+ SQUASHFS_SWAP_DIR_INODE_HEADER(inodep, sinodep);
797+ } else
798+ if (!squashfs_get_cached_block(s, (char *)
799+ inodep, block, offset,
800+ sizeof(*inodep), &next_block,
801+ &next_offset))
802+ goto failed_read;
803+
804+ if((i = squashfs_new_inode(s, inodeb)) == NULL)
805+ goto failed_read1;
806+
807+ i->i_nlink = inodep->nlink;
808+ i->i_size = inodep->file_size;
809+ i->i_op = &squashfs_dir_inode_ops;
810+ i->i_fop = &squashfs_dir_ops;
811+ i->i_mode |= S_IFDIR;
812+ SQUASHFS_I(i)->start_block = inodep->start_block;
813+ SQUASHFS_I(i)->offset = inodep->offset;
814+ SQUASHFS_I(i)->u.s2.directory_index_count = 0;
815+ SQUASHFS_I(i)->u.s2.parent_inode = inodep->parent_inode;
816+
817+ TRACE("Directory inode %x:%x, start_block %x, offset "
818+ "%x\n", SQUASHFS_INODE_BLK(inode),
819+ offset, inodep->start_block,
820+ inodep->offset);
821+ break;
822+ }
823+ case SQUASHFS_LDIR_TYPE: {
824+ struct squashfs_ldir_inode_header *inodep = &id.ldir;
825+ struct squashfs_ldir_inode_header *sinodep = &sid.ldir;
826+
827+ if (msblk->swap) {
828+ if (!squashfs_get_cached_block(s, (char *)
829+ sinodep, block, offset,
830+ sizeof(*sinodep), &next_block,
831+ &next_offset))
832+ goto failed_read;
833+ SQUASHFS_SWAP_LDIR_INODE_HEADER(inodep,
834+ sinodep);
835+ } else
836+ if (!squashfs_get_cached_block(s, (char *)
837+ inodep, block, offset,
838+ sizeof(*inodep), &next_block,
839+ &next_offset))
840+ goto failed_read;
841+
842+ if((i = squashfs_new_inode(s, inodeb)) == NULL)
843+ goto failed_read1;
844+
845+ i->i_nlink = inodep->nlink;
846+ i->i_size = inodep->file_size;
847+ i->i_op = &squashfs_dir_inode_ops;
848+ i->i_fop = &squashfs_dir_ops;
849+ i->i_mode |= S_IFDIR;
850+ SQUASHFS_I(i)->start_block = inodep->start_block;
851+ SQUASHFS_I(i)->offset = inodep->offset;
852+ SQUASHFS_I(i)->u.s2.directory_index_start = next_block;
853+ SQUASHFS_I(i)->u.s2.directory_index_offset =
854+ next_offset;
855+ SQUASHFS_I(i)->u.s2.directory_index_count =
856+ inodep->i_count;
857+ SQUASHFS_I(i)->u.s2.parent_inode = inodep->parent_inode;
858+
859+ TRACE("Long directory inode %x:%x, start_block %x, "
860+ "offset %x\n",
861+ SQUASHFS_INODE_BLK(inode), offset,
862+ inodep->start_block, inodep->offset);
863+ break;
864+ }
865+ case SQUASHFS_SYMLINK_TYPE: {
866+ struct squashfs_symlink_inode_header *inodep =
867+ &id.symlink;
868+ struct squashfs_symlink_inode_header *sinodep =
869+ &sid.symlink;
870+
871+ if (msblk->swap) {
872+ if (!squashfs_get_cached_block(s, (char *)
873+ sinodep, block, offset,
874+ sizeof(*sinodep), &next_block,
875+ &next_offset))
876+ goto failed_read;
877+ SQUASHFS_SWAP_SYMLINK_INODE_HEADER(inodep,
878+ sinodep);
879+ } else
880+ if (!squashfs_get_cached_block(s, (char *)
881+ inodep, block, offset,
882+ sizeof(*inodep), &next_block,
883+ &next_offset))
884+ goto failed_read;
885+
886+ if((i = squashfs_new_inode(s, inodeb)) == NULL)
887+ goto failed_read1;
888+
889+ i->i_nlink = inodep->nlink;
890+ i->i_size = inodep->symlink_size;
891+ i->i_op = &page_symlink_inode_operations;
892+ i->i_data.a_ops = &squashfs_symlink_aops;
893+ i->i_mode |= S_IFLNK;
894+ SQUASHFS_I(i)->start_block = next_block;
895+ SQUASHFS_I(i)->offset = next_offset;
896+
897+ TRACE("Symbolic link inode %x:%x, start_block %llx, "
898+ "offset %x\n",
899+ SQUASHFS_INODE_BLK(inode), offset,
900+ next_block, next_offset);
901+ break;
902+ }
903+ case SQUASHFS_BLKDEV_TYPE:
904+ case SQUASHFS_CHRDEV_TYPE: {
905+ struct squashfs_dev_inode_header *inodep = &id.dev;
906+ struct squashfs_dev_inode_header *sinodep = &sid.dev;
907+
908+ if (msblk->swap) {
909+ if (!squashfs_get_cached_block(s, (char *)
910+ sinodep, block, offset,
911+ sizeof(*sinodep), &next_block,
912+ &next_offset))
913+ goto failed_read;
914+ SQUASHFS_SWAP_DEV_INODE_HEADER(inodep, sinodep);
915+ } else
916+ if (!squashfs_get_cached_block(s, (char *)
917+ inodep, block, offset,
918+ sizeof(*inodep), &next_block,
919+ &next_offset))
920+ goto failed_read;
921+
922+ if ((i = squashfs_new_inode(s, inodeb)) == NULL)
923+ goto failed_read1;
924+
925+ i->i_nlink = inodep->nlink;
926+ i->i_mode |= (inodeb->inode_type ==
927+ SQUASHFS_CHRDEV_TYPE) ? S_IFCHR :
928+ S_IFBLK;
929+ init_special_inode(i, i->i_mode,
930+ old_decode_dev(inodep->rdev));
931+
932+ TRACE("Device inode %x:%x, rdev %x\n",
933+ SQUASHFS_INODE_BLK(inode), offset,
934+ inodep->rdev);
935+ break;
936+ }
937+ case SQUASHFS_FIFO_TYPE:
938+ case SQUASHFS_SOCKET_TYPE: {
939+ struct squashfs_ipc_inode_header *inodep = &id.ipc;
940+ struct squashfs_ipc_inode_header *sinodep = &sid.ipc;
941+
942+ if (msblk->swap) {
943+ if (!squashfs_get_cached_block(s, (char *)
944+ sinodep, block, offset,
945+ sizeof(*sinodep), &next_block,
946+ &next_offset))
947+ goto failed_read;
948+ SQUASHFS_SWAP_IPC_INODE_HEADER(inodep, sinodep);
949+ } else
950+ if (!squashfs_get_cached_block(s, (char *)
951+ inodep, block, offset,
952+ sizeof(*inodep), &next_block,
953+ &next_offset))
954+ goto failed_read;
955+
956+ if ((i = squashfs_new_inode(s, inodeb)) == NULL)
957+ goto failed_read1;
958+
959+ i->i_nlink = inodep->nlink;
960+ i->i_mode |= (inodeb->inode_type == SQUASHFS_FIFO_TYPE)
961+ ? S_IFIFO : S_IFSOCK;
962+ init_special_inode(i, i->i_mode, 0);
963+ break;
964+ }
965+ default:
966+ ERROR("Unknown inode type %d in squashfs_iget!\n",
967+ inodeb->inode_type);
968+ goto failed_read1;
969+ }
970+
971+ insert_inode_hash(i);
972+ return i;
973+
974+failed_read:
975+ ERROR("Unable to read inode [%llx:%x]\n", block, offset);
976+
977+failed_read1:
978+ return NULL;
979+}
980+
981+
982+static int read_fragment_index_table(struct super_block *s)
983+{
984+ struct squashfs_sb_info *msblk = s->s_fs_info;
985+ struct squashfs_super_block *sblk = &msblk->sblk;
986+
987+ /* Allocate fragment index table */
988+ if (!(msblk->fragment_index = kmalloc(SQUASHFS_FRAGMENT_INDEX_BYTES
989+ (sblk->fragments), GFP_KERNEL))) {
990+ ERROR("Failed to allocate uid/gid table\n");
991+ return 0;
992+ }
993+
994+ if (SQUASHFS_FRAGMENT_INDEX_BYTES(sblk->fragments) &&
995+ !squashfs_read_data(s, (char *)
996+ msblk->fragment_index,
997+ sblk->fragment_table_start,
998+ SQUASHFS_FRAGMENT_INDEX_BYTES
999+ (sblk->fragments) |
1000+ SQUASHFS_COMPRESSED_BIT_BLOCK, NULL)) {
1001+ ERROR("unable to read fragment index table\n");
1002+ return 0;
1003+ }
1004+
1005+ if (msblk->swap) {
1006+ int i;
1007+ long long fragment;
1008+
1009+ for (i = 0; i < SQUASHFS_FRAGMENT_INDEXES(sblk->fragments);
1010+ i++) {
1011+ SQUASHFS_SWAP_FRAGMENT_INDEXES((&fragment),
1012+ &msblk->fragment_index[i], 1);
1013+ msblk->fragment_index[i] = fragment;
1014+ }
1015+ }
1016+
1017+ return 1;
1018+}
1019+
1020+
1021+static int supported_squashfs_filesystem(struct squashfs_sb_info *msblk, int silent)
1022+{
1023+ struct squashfs_super_block *sblk = &msblk->sblk;
1024+
1025+ msblk->iget = squashfs_iget;
1026+ msblk->read_blocklist = read_blocklist;
1027+ msblk->read_fragment_index_table = read_fragment_index_table;
1028+
1029+ if (sblk->s_major == 1) {
1030+ if (!squashfs_1_0_supported(msblk)) {
1031+ SERROR("Major/Minor mismatch, Squashfs 1.0 filesystems "
1032+ "are unsupported\n");
1033+ SERROR("Please recompile with "
1034+ "Squashfs 1.0 support enabled\n");
1035+ return 0;
1036+ }
1037+ } else if (sblk->s_major == 2) {
1038+ if (!squashfs_2_0_supported(msblk)) {
1039+ SERROR("Major/Minor mismatch, Squashfs 2.0 filesystems "
1040+ "are unsupported\n");
1041+ SERROR("Please recompile with "
1042+ "Squashfs 2.0 support enabled\n");
1043+ return 0;
1044+ }
1045+ } else if(sblk->s_major != SQUASHFS_MAJOR || sblk->s_minor >
1046+ SQUASHFS_MINOR) {
1047+ SERROR("Major/Minor mismatch, trying to mount newer %d.%d "
1048+ "filesystem\n", sblk->s_major, sblk->s_minor);
1049+ SERROR("Please update your kernel\n");
1050+ return 0;
1051+ }
1052+
1053+ return 1;
1054+}
1055+
1056+
1057+static int squashfs_fill_super(struct super_block *s, void *data, int silent)
1058+{
1059+ struct squashfs_sb_info *msblk;
1060+ struct squashfs_super_block *sblk;
1061+ int i;
1062+ char b[BDEVNAME_SIZE];
1063+ struct inode *root;
1064+
1065+ TRACE("Entered squashfs_read_superblock\n");
1066+
1067+ if (!(s->s_fs_info = kmalloc(sizeof(struct squashfs_sb_info),
1068+ GFP_KERNEL))) {
1069+ ERROR("Failed to allocate superblock\n");
1070+ goto failure;
1071+ }
1072+ memset(s->s_fs_info, 0, sizeof(struct squashfs_sb_info));
1073+ msblk = s->s_fs_info;
1074+ sblk = &msblk->sblk;
1075+
1076+ msblk->devblksize = sb_min_blocksize(s, BLOCK_SIZE);
1077+ msblk->devblksize_log2 = ffz(~msblk->devblksize);
1078+
1079+ init_MUTEX(&msblk->read_data_mutex);
1080+ init_MUTEX(&msblk->read_page_mutex);
1081+ init_MUTEX(&msblk->block_cache_mutex);
1082+ init_MUTEX(&msblk->fragment_mutex);
1083+ init_MUTEX(&msblk->meta_index_mutex);
1084+
1085+ init_waitqueue_head(&msblk->waitq);
1086+ init_waitqueue_head(&msblk->fragment_wait_queue);
1087+
1088+ if (!squashfs_read_data(s, (char *) sblk, SQUASHFS_START,
1089+ sizeof(struct squashfs_super_block) |
1090+ SQUASHFS_COMPRESSED_BIT_BLOCK, NULL)) {
1091+ SERROR("unable to read superblock\n");
1092+ goto failed_mount;
1093+ }
1094+
1095+ /* Check it is a SQUASHFS superblock */
1096+ msblk->swap = 0;
1097+ if ((s->s_magic = sblk->s_magic) != SQUASHFS_MAGIC) {
1098+ if (sblk->s_magic == SQUASHFS_MAGIC_SWAP) {
1099+ struct squashfs_super_block ssblk;
1100+
1101+ WARNING("Mounting a different endian SQUASHFS "
1102+ "filesystem on %s\n", bdevname(s->s_bdev, b));
1103+
1104+ SQUASHFS_SWAP_SUPER_BLOCK(&ssblk, sblk);
1105+ memcpy(sblk, &ssblk, sizeof(struct squashfs_super_block));
1106+ msblk->swap = 1;
1107+ } else {
1108+ SERROR("Can't find a SQUASHFS superblock on %s\n",
1109+ bdevname(s->s_bdev, b));
1110+ goto failed_mount;
1111+ }
1112+ }
1113+
1114+ /* Check the MAJOR & MINOR versions */
1115+ if(!supported_squashfs_filesystem(msblk, silent))
1116+ goto failed_mount;
1117+
1118+ TRACE("Found valid superblock on %s\n", bdevname(s->s_bdev, b));
1119+ TRACE("Inodes are %scompressed\n",
1120+ SQUASHFS_UNCOMPRESSED_INODES
1121+ (sblk->flags) ? "un" : "");
1122+ TRACE("Data is %scompressed\n",
1123+ SQUASHFS_UNCOMPRESSED_DATA(sblk->flags)
1124+ ? "un" : "");
1125+ TRACE("Check data is %s present in the filesystem\n",
1126+ SQUASHFS_CHECK_DATA(sblk->flags) ?
1127+ "" : "not");
1128+ TRACE("Filesystem size %lld bytes\n", sblk->bytes_used);
1129+ TRACE("Block size %d\n", sblk->block_size);
1130+ TRACE("Number of inodes %d\n", sblk->inodes);
1131+ if (sblk->s_major > 1)
1132+ TRACE("Number of fragments %d\n", sblk->fragments);
1133+ TRACE("Number of uids %d\n", sblk->no_uids);
1134+ TRACE("Number of gids %d\n", sblk->no_guids);
1135+ TRACE("sblk->inode_table_start %llx\n", sblk->inode_table_start);
1136+ TRACE("sblk->directory_table_start %llx\n", sblk->directory_table_start);
1137+ if (sblk->s_major > 1)
1138+ TRACE("sblk->fragment_table_start %llx\n",
1139+ sblk->fragment_table_start);
1140+ TRACE("sblk->uid_start %llx\n", sblk->uid_start);
1141+
1142+ s->s_flags |= MS_RDONLY;
1143+ s->s_op = &squashfs_ops;
1144+
1145+ /* Init inode_table block pointer array */
1146+ if (!(msblk->block_cache = kmalloc(sizeof(struct squashfs_cache) *
1147+ SQUASHFS_CACHED_BLKS, GFP_KERNEL))) {
1148+ ERROR("Failed to allocate block cache\n");
1149+ goto failed_mount;
1150+ }
1151+
1152+ for (i = 0; i < SQUASHFS_CACHED_BLKS; i++)
1153+ msblk->block_cache[i].block = SQUASHFS_INVALID_BLK;
1154+
1155+ msblk->next_cache = 0;
1156+
1157+ /* Allocate read_data block */
1158+ msblk->read_size = (sblk->block_size < SQUASHFS_METADATA_SIZE) ?
1159+ SQUASHFS_METADATA_SIZE :
1160+ sblk->block_size;
1161+
1162+ if (!(msblk->read_data = kmalloc(msblk->read_size, GFP_KERNEL))) {
1163+ ERROR("Failed to allocate read_data block\n");
1164+ goto failed_mount;
1165+ }
1166+
1167+ /* Allocate read_page block */
1168+ if (!(msblk->read_page = kmalloc(sblk->block_size, GFP_KERNEL))) {
1169+ ERROR("Failed to allocate read_page block\n");
1170+ goto failed_mount;
1171+ }
1172+
1173+ /* Allocate uid and gid tables */
1174+ if (!(msblk->uid = kmalloc((sblk->no_uids + sblk->no_guids) *
1175+ sizeof(unsigned int), GFP_KERNEL))) {
1176+ ERROR("Failed to allocate uid/gid table\n");
1177+ goto failed_mount;
1178+ }
1179+ msblk->guid = msblk->uid + sblk->no_uids;
1180+
1181+ if (msblk->swap) {
1182+ unsigned int suid[sblk->no_uids + sblk->no_guids];
1183+
1184+ if (!squashfs_read_data(s, (char *) &suid, sblk->uid_start,
1185+ ((sblk->no_uids + sblk->no_guids) *
1186+ sizeof(unsigned int)) |
1187+ SQUASHFS_COMPRESSED_BIT_BLOCK, NULL)) {
1188+ ERROR("unable to read uid/gid table\n");
1189+ goto failed_mount;
1190+ }
1191+
1192+ SQUASHFS_SWAP_DATA(msblk->uid, suid, (sblk->no_uids +
1193+ sblk->no_guids), (sizeof(unsigned int) * 8));
1194+ } else
1195+ if (!squashfs_read_data(s, (char *) msblk->uid, sblk->uid_start,
1196+ ((sblk->no_uids + sblk->no_guids) *
1197+ sizeof(unsigned int)) |
1198+ SQUASHFS_COMPRESSED_BIT_BLOCK, NULL)) {
1199+ ERROR("unable to read uid/gid table\n");
1200+ goto failed_mount;
1201+ }
1202+
1203+
1204+ if (sblk->s_major == 1 && squashfs_1_0_supported(msblk))
1205+ goto allocate_root;
1206+
1207+ if (!(msblk->fragment = kmalloc(sizeof(struct squashfs_fragment_cache) *
1208+ SQUASHFS_CACHED_FRAGMENTS, GFP_KERNEL))) {
1209+ ERROR("Failed to allocate fragment block cache\n");
1210+ goto failed_mount;
1211+ }
1212+
1213+ for (i = 0; i < SQUASHFS_CACHED_FRAGMENTS; i++) {
1214+ msblk->fragment[i].locked = 0;
1215+ msblk->fragment[i].block = SQUASHFS_INVALID_BLK;
1216+ msblk->fragment[i].data = NULL;
1217+ }
1218+
1219+ msblk->next_fragment = 0;
1220+
1221+ /* Allocate fragment index table */
1222+ if (msblk->read_fragment_index_table(s) == 0)
1223+ goto failed_mount;
1224+
1225+allocate_root:
1226+ if ((root = (msblk->iget)(s, sblk->root_inode)) == NULL)
1227+ goto failed_mount;
1228+
1229+ if ((s->s_root = d_alloc_root(root)) == NULL) {
1230+ ERROR("Root inode create failed\n");
1231+ iput(root);
1232+ goto failed_mount;
1233+ }
1234+
1235+ TRACE("Leaving squashfs_read_super\n");
1236+ return 0;
1237+
1238+failed_mount:
1239+ kfree(msblk->fragment_index);
1240+ kfree(msblk->fragment);
1241+ kfree(msblk->uid);
1242+ kfree(msblk->read_page);
1243+ kfree(msblk->read_data);
1244+ kfree(msblk->block_cache);
1245+ kfree(msblk->fragment_index_2);
1246+ kfree(s->s_fs_info);
1247+ s->s_fs_info = NULL;
1248+ return -EINVAL;
1249+
1250+failure:
1251+ return -ENOMEM;
1252+}
1253+
1254+
1255+static int squashfs_statfs(struct dentry *dentry, struct kstatfs *buf)
1256+{
1257+ struct super_block *s = dentry->d_sb;
1258+ struct squashfs_sb_info *msblk = s->s_fs_info;
1259+ struct squashfs_super_block *sblk = &msblk->sblk;
1260+
1261+ TRACE("Entered squashfs_statfs\n");
1262+
1263+ buf->f_type = SQUASHFS_MAGIC;
1264+ buf->f_bsize = sblk->block_size;
1265+ buf->f_blocks = ((sblk->bytes_used - 1) >> sblk->block_log) + 1;
1266+ buf->f_bfree = buf->f_bavail = 0;
1267+ buf->f_files = sblk->inodes;
1268+ buf->f_ffree = 0;
1269+ buf->f_namelen = SQUASHFS_NAME_LEN;
1270+
1271+ return 0;
1272+}
1273+
1274+
1275+static int squashfs_symlink_readpage(struct file *file, struct page *page)
1276+{
1277+ struct inode *inode = page->mapping->host;
1278+ int index = page->index << PAGE_CACHE_SHIFT, length, bytes;
1279+ long long block = SQUASHFS_I(inode)->start_block;
1280+ int offset = SQUASHFS_I(inode)->offset;
1281+ void *pageaddr = kmap(page);
1282+
1283+ TRACE("Entered squashfs_symlink_readpage, page index %ld, start block "
1284+ "%llx, offset %x\n", page->index,
1285+ SQUASHFS_I(inode)->start_block,
1286+ SQUASHFS_I(inode)->offset);
1287+
1288+ for (length = 0; length < index; length += bytes) {
1289+ if (!(bytes = squashfs_get_cached_block(inode->i_sb, NULL,
1290+ block, offset, PAGE_CACHE_SIZE, &block,
1291+ &offset))) {
1292+ ERROR("Unable to read symbolic link [%llx:%x]\n", block,
1293+ offset);
1294+ goto skip_read;
1295+ }
1296+ }
1297+
1298+ if (length != index) {
1299+ ERROR("(squashfs_symlink_readpage) length != index\n");
1300+ bytes = 0;
1301+ goto skip_read;
1302+ }
1303+
1304+ bytes = (i_size_read(inode) - length) > PAGE_CACHE_SIZE ? PAGE_CACHE_SIZE :
1305+ i_size_read(inode) - length;
1306+
1307+ if (!(bytes = squashfs_get_cached_block(inode->i_sb, pageaddr, block,
1308+ offset, bytes, &block, &offset)))
1309+ ERROR("Unable to read symbolic link [%llx:%x]\n", block, offset);
1310+
1311+skip_read:
1312+ memset(pageaddr + bytes, 0, PAGE_CACHE_SIZE - bytes);
1313+ kunmap(page);
1314+ SetPageUptodate(page);
1315+ unlock_page(page);
1316+
1317+ return 0;
1318+}
1319+
1320+
1321+struct meta_index *locate_meta_index(struct inode *inode, int index, int offset)
1322+{
1323+ struct meta_index *meta = NULL;
1324+ struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info;
1325+ int i;
1326+
1327+ down(&msblk->meta_index_mutex);
1328+
1329+ TRACE("locate_meta_index: index %d, offset %d\n", index, offset);
1330+
1331+ if(msblk->meta_index == NULL)
1332+ goto not_allocated;
1333+
1334+ for (i = 0; i < SQUASHFS_META_NUMBER; i ++)
1335+ if (msblk->meta_index[i].inode_number == inode->i_ino &&
1336+ msblk->meta_index[i].offset >= offset &&
1337+ msblk->meta_index[i].offset <= index &&
1338+ msblk->meta_index[i].locked == 0) {
1339+ TRACE("locate_meta_index: entry %d, offset %d\n", i,
1340+ msblk->meta_index[i].offset);
1341+ meta = &msblk->meta_index[i];
1342+ offset = meta->offset;
1343+ }
1344+
1345+ if (meta)
1346+ meta->locked = 1;
1347+
1348+not_allocated:
1349+ up(&msblk->meta_index_mutex);
1350+
1351+ return meta;
1352+}
1353+
1354+
1355+struct meta_index *empty_meta_index(struct inode *inode, int offset, int skip)
1356+{
1357+ struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info;
1358+ struct meta_index *meta = NULL;
1359+ int i;
1360+
1361+ down(&msblk->meta_index_mutex);
1362+
1363+ TRACE("empty_meta_index: offset %d, skip %d\n", offset, skip);
1364+
1365+ if(msblk->meta_index == NULL) {
1366+ if (!(msblk->meta_index = kmalloc(sizeof(struct meta_index) *
1367+ SQUASHFS_META_NUMBER, GFP_KERNEL))) {
1368+ ERROR("Failed to allocate meta_index\n");
1369+ goto failed;
1370+ }
1371+ for(i = 0; i < SQUASHFS_META_NUMBER; i++) {
1372+ msblk->meta_index[i].inode_number = 0;
1373+ msblk->meta_index[i].locked = 0;
1374+ }
1375+ msblk->next_meta_index = 0;
1376+ }
1377+
1378+ for(i = SQUASHFS_META_NUMBER; i &&
1379+ msblk->meta_index[msblk->next_meta_index].locked; i --)
1380+ msblk->next_meta_index = (msblk->next_meta_index + 1) %
1381+ SQUASHFS_META_NUMBER;
1382+
1383+ if(i == 0) {
1384+ TRACE("empty_meta_index: failed!\n");
1385+ goto failed;
1386+ }
1387+
1388+ TRACE("empty_meta_index: returned meta entry %d, %p\n",
1389+ msblk->next_meta_index,
1390+ &msblk->meta_index[msblk->next_meta_index]);
1391+
1392+ meta = &msblk->meta_index[msblk->next_meta_index];
1393+ msblk->next_meta_index = (msblk->next_meta_index + 1) %
1394+ SQUASHFS_META_NUMBER;
1395+
1396+ meta->inode_number = inode->i_ino;
1397+ meta->offset = offset;
1398+ meta->skip = skip;
1399+ meta->entries = 0;
1400+ meta->locked = 1;
1401+
1402+failed:
1403+ up(&msblk->meta_index_mutex);
1404+ return meta;
1405+}
1406+
1407+
1408+void release_meta_index(struct inode *inode, struct meta_index *meta)
1409+{
1410+ meta->locked = 0;
1411+}
1412+
1413+
1414+static int read_block_index(struct super_block *s, int blocks, char *block_list,
1415+ long long *start_block, int *offset)
1416+{
1417+ struct squashfs_sb_info *msblk = s->s_fs_info;
1418+ unsigned int *block_listp;
1419+ int block = 0;
1420+
1421+ if (msblk->swap) {
1422+ char sblock_list[blocks << 2];
1423+
1424+ if (!squashfs_get_cached_block(s, sblock_list, *start_block,
1425+ *offset, blocks << 2, start_block, offset)) {
1426+ ERROR("Unable to read block list [%llx:%x]\n",
1427+ *start_block, *offset);
1428+ goto failure;
1429+ }
1430+ SQUASHFS_SWAP_INTS(((unsigned int *)block_list),
1431+ ((unsigned int *)sblock_list), blocks);
1432+ } else
1433+ if (!squashfs_get_cached_block(s, block_list, *start_block,
1434+ *offset, blocks << 2, start_block, offset)) {
1435+ ERROR("Unable to read block list [%llx:%x]\n",
1436+ *start_block, *offset);
1437+ goto failure;
1438+ }
1439+
1440+ for (block_listp = (unsigned int *) block_list; blocks;
1441+ block_listp++, blocks --)
1442+ block += SQUASHFS_COMPRESSED_SIZE_BLOCK(*block_listp);
1443+
1444+ return block;
1445+
1446+failure:
1447+ return -1;
1448+}
1449+
1450+
1451+#define SIZE 256
1452+
1453+static inline int calculate_skip(int blocks) {
1454+ int skip = (blocks - 1) / ((SQUASHFS_SLOTS * SQUASHFS_META_ENTRIES + 1) * SQUASHFS_META_INDEXES);
1455+ return skip >= 7 ? 7 : skip + 1;
1456+}
1457+
1458+
1459+static int get_meta_index(struct inode *inode, int index,
1460+ long long *index_block, int *index_offset,
1461+ long long *data_block, char *block_list)
1462+{
1463+ struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info;
1464+ struct squashfs_super_block *sblk = &msblk->sblk;
1465+ int skip = calculate_skip(i_size_read(inode) >> sblk->block_log);
1466+ int offset = 0;
1467+ struct meta_index *meta;
1468+ struct meta_entry *meta_entry;
1469+ long long cur_index_block = SQUASHFS_I(inode)->u.s1.block_list_start;
1470+ int cur_offset = SQUASHFS_I(inode)->offset;
1471+ long long cur_data_block = SQUASHFS_I(inode)->start_block;
1472+ int i;
1473+
1474+ index /= SQUASHFS_META_INDEXES * skip;
1475+
1476+ while ( offset < index ) {
1477+ meta = locate_meta_index(inode, index, offset + 1);
1478+
1479+ if (meta == NULL) {
1480+ if ((meta = empty_meta_index(inode, offset + 1,
1481+ skip)) == NULL)
1482+ goto all_done;
1483+ } else {
1484+ offset = index < meta->offset + meta->entries ? index :
1485+ meta->offset + meta->entries - 1;
1486+ meta_entry = &meta->meta_entry[offset - meta->offset];
1487+ cur_index_block = meta_entry->index_block + sblk->inode_table_start;
1488+ cur_offset = meta_entry->offset;
1489+ cur_data_block = meta_entry->data_block;
1490+ TRACE("get_meta_index: offset %d, meta->offset %d, "
1491+ "meta->entries %d\n", offset, meta->offset,
1492+ meta->entries);
1493+ TRACE("get_meta_index: index_block 0x%llx, offset 0x%x"
1494+ " data_block 0x%llx\n", cur_index_block,
1495+ cur_offset, cur_data_block);
1496+ }
1497+
1498+ for (i = meta->offset + meta->entries; i <= index &&
1499+ i < meta->offset + SQUASHFS_META_ENTRIES; i++) {
1500+ int blocks = skip * SQUASHFS_META_INDEXES;
1501+
1502+ while (blocks) {
1503+ int block = blocks > (SIZE >> 2) ? (SIZE >> 2) :
1504+ blocks;
1505+ int res = read_block_index(inode->i_sb, block,
1506+ block_list, &cur_index_block,
1507+ &cur_offset);
1508+
1509+ if (res == -1)
1510+ goto failed;
1511+
1512+ cur_data_block += res;
1513+ blocks -= block;
1514+ }
1515+
1516+ meta_entry = &meta->meta_entry[i - meta->offset];
1517+ meta_entry->index_block = cur_index_block - sblk->inode_table_start;
1518+ meta_entry->offset = cur_offset;
1519+ meta_entry->data_block = cur_data_block;
1520+ meta->entries ++;
1521+ offset ++;
1522+ }
1523+
1524+ TRACE("get_meta_index: meta->offset %d, meta->entries %d\n",
1525+ meta->offset, meta->entries);
1526+
1527+ release_meta_index(inode, meta);
1528+ }
1529+
1530+all_done:
1531+ *index_block = cur_index_block;
1532+ *index_offset = cur_offset;
1533+ *data_block = cur_data_block;
1534+
1535+ return offset * SQUASHFS_META_INDEXES * skip;
1536+
1537+failed:
1538+ release_meta_index(inode, meta);
1539+ return -1;
1540+}
1541+
1542+
1543+static long long read_blocklist(struct inode *inode, int index,
1544+ int readahead_blks, char *block_list,
1545+ unsigned short **block_p, unsigned int *bsize)
1546+{
1547+ long long block_ptr;
1548+ int offset;
1549+ long long block;
1550+ int res = get_meta_index(inode, index, &block_ptr, &offset, &block,
1551+ block_list);
1552+
1553+ TRACE("read_blocklist: res %d, index %d, block_ptr 0x%llx, offset"
1554+ " 0x%x, block 0x%llx\n", res, index, block_ptr, offset,
1555+ block);
1556+
1557+ if(res == -1)
1558+ goto failure;
1559+
1560+ index -= res;
1561+
1562+ while ( index ) {
1563+ int blocks = index > (SIZE >> 2) ? (SIZE >> 2) : index;
1564+ int res = read_block_index(inode->i_sb, blocks, block_list,
1565+ &block_ptr, &offset);
1566+ if (res == -1)
1567+ goto failure;
1568+ block += res;
1569+ index -= blocks;
1570+ }
1571+
1572+ if (read_block_index(inode->i_sb, 1, block_list,
1573+ &block_ptr, &offset) == -1)
1574+ goto failure;
1575+ *bsize = *((unsigned int *) block_list);
1576+
1577+ return block;
1578+
1579+failure:
1580+ return 0;
1581+}
1582+
1583+
1584+static int squashfs_readpage(struct file *file, struct page *page)
1585+{
1586+ struct inode *inode = page->mapping->host;
1587+ struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info;
1588+ struct squashfs_super_block *sblk = &msblk->sblk;
1589+ unsigned char block_list[SIZE];
1590+ long long block;
1591+ unsigned int bsize, i = 0, bytes = 0, byte_offset = 0;
1592+ int index = page->index >> (sblk->block_log - PAGE_CACHE_SHIFT);
1593+ void *pageaddr;
1594+ struct squashfs_fragment_cache *fragment = NULL;
1595+ char *data_ptr = msblk->read_page;
1596+
1597+ int mask = (1 << (sblk->block_log - PAGE_CACHE_SHIFT)) - 1;
1598+ int start_index = page->index & ~mask;
1599+ int end_index = start_index | mask;
1600+
1601+ TRACE("Entered squashfs_readpage, page index %lx, start block %llx\n",
1602+ page->index,
1603+ SQUASHFS_I(inode)->start_block);
1604+
1605+ if (page->index >= ((i_size_read(inode) + PAGE_CACHE_SIZE - 1) >>
1606+ PAGE_CACHE_SHIFT))
1607+ goto skip_read;
1608+
1609+ if (SQUASHFS_I(inode)->u.s1.fragment_start_block == SQUASHFS_INVALID_BLK
1610+ || index < (i_size_read(inode) >>
1611+ sblk->block_log)) {
1612+ if ((block = (msblk->read_blocklist)(inode, index, 1,
1613+ block_list, NULL, &bsize)) == 0)
1614+ goto skip_read;
1615+
1616+ down(&msblk->read_page_mutex);
1617+
1618+ if (!(bytes = squashfs_read_data(inode->i_sb, msblk->read_page,
1619+ block, bsize, NULL))) {
1620+ ERROR("Unable to read page, block %llx, size %x\n", block,
1621+ bsize);
1622+ up(&msblk->read_page_mutex);
1623+ goto skip_read;
1624+ }
1625+ } else {
1626+ if ((fragment = get_cached_fragment(inode->i_sb,
1627+ SQUASHFS_I(inode)->
1628+ u.s1.fragment_start_block,
1629+ SQUASHFS_I(inode)->u.s1.fragment_size))
1630+ == NULL) {
1631+ ERROR("Unable to read page, block %llx, size %x\n",
1632+ SQUASHFS_I(inode)->
1633+ u.s1.fragment_start_block,
1634+ (int) SQUASHFS_I(inode)->
1635+ u.s1.fragment_size);
1636+ goto skip_read;
1637+ }
1638+ bytes = SQUASHFS_I(inode)->u.s1.fragment_offset +
1639+ (i_size_read(inode) & (sblk->block_size
1640+ - 1));
1641+ byte_offset = SQUASHFS_I(inode)->u.s1.fragment_offset;
1642+ data_ptr = fragment->data;
1643+ }
1644+
1645+ for (i = start_index; i <= end_index && byte_offset < bytes;
1646+ i++, byte_offset += PAGE_CACHE_SIZE) {
1647+ struct page *push_page;
1648+ int available_bytes = (bytes - byte_offset) > PAGE_CACHE_SIZE ?
1649+ PAGE_CACHE_SIZE : bytes - byte_offset;
1650+
1651+ TRACE("bytes %d, i %d, byte_offset %d, available_bytes %d\n",
1652+ bytes, i, byte_offset, available_bytes);
1653+
1654+ if (i == page->index) {
1655+ pageaddr = kmap_atomic(page, KM_USER0);
1656+ memcpy(pageaddr, data_ptr + byte_offset,
1657+ available_bytes);
1658+ memset(pageaddr + available_bytes, 0,
1659+ PAGE_CACHE_SIZE - available_bytes);
1660+ kunmap_atomic(pageaddr, KM_USER0);
1661+ flush_dcache_page(page);
1662+ SetPageUptodate(page);
1663+ unlock_page(page);
1664+ } else if ((push_page =
1665+ grab_cache_page_nowait(page->mapping, i))) {
1666+ pageaddr = kmap_atomic(push_page, KM_USER0);
1667+
1668+ memcpy(pageaddr, data_ptr + byte_offset,
1669+ available_bytes);
1670+ memset(pageaddr + available_bytes, 0,
1671+ PAGE_CACHE_SIZE - available_bytes);
1672+ kunmap_atomic(pageaddr, KM_USER0);
1673+ flush_dcache_page(push_page);
1674+ SetPageUptodate(push_page);
1675+ unlock_page(push_page);
1676+ page_cache_release(push_page);
1677+ }
1678+ }
1679+
1680+ if (SQUASHFS_I(inode)->u.s1.fragment_start_block == SQUASHFS_INVALID_BLK
1681+ || index < (i_size_read(inode) >>
1682+ sblk->block_log))
1683+ up(&msblk->read_page_mutex);
1684+ else
1685+ release_cached_fragment(msblk, fragment);
1686+
1687+ return 0;
1688+
1689+skip_read:
1690+ pageaddr = kmap_atomic(page, KM_USER0);
1691+ memset(pageaddr + bytes, 0, PAGE_CACHE_SIZE - bytes);
1692+ kunmap_atomic(pageaddr, KM_USER0);
1693+ flush_dcache_page(page);
1694+ SetPageUptodate(page);
1695+ unlock_page(page);
1696+
1697+ return 0;
1698+}
1699+
1700+
1701+static int squashfs_readpage4K(struct file *file, struct page *page)
1702+{
1703+ struct inode *inode = page->mapping->host;
1704+ struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info;
1705+ struct squashfs_super_block *sblk = &msblk->sblk;
1706+ unsigned char block_list[SIZE];
1707+ long long block;
1708+ unsigned int bsize, bytes = 0;
1709+ void *pageaddr;
1710+
1711+ TRACE("Entered squashfs_readpage4K, page index %lx, start block %llx\n",
1712+ page->index,
1713+ SQUASHFS_I(inode)->start_block);
1714+
1715+ if (page->index >= ((i_size_read(inode) + PAGE_CACHE_SIZE - 1) >>
1716+ PAGE_CACHE_SHIFT)) {
1717+ pageaddr = kmap_atomic(page, KM_USER0);
1718+ goto skip_read;
1719+ }
1720+
1721+ if (SQUASHFS_I(inode)->u.s1.fragment_start_block == SQUASHFS_INVALID_BLK
1722+ || page->index < (i_size_read(inode) >>
1723+ sblk->block_log)) {
1724+ block = (msblk->read_blocklist)(inode, page->index, 1,
1725+ block_list, NULL, &bsize);
1726+
1727+ down(&msblk->read_page_mutex);
1728+ bytes = squashfs_read_data(inode->i_sb, msblk->read_page, block,
1729+ bsize, NULL);
1730+ pageaddr = kmap_atomic(page, KM_USER0);
1731+ if (bytes)
1732+ memcpy(pageaddr, msblk->read_page, bytes);
1733+ else
1734+ ERROR("Unable to read page, block %llx, size %x\n",
1735+ block, bsize);
1736+ up(&msblk->read_page_mutex);
1737+ } else {
1738+ struct squashfs_fragment_cache *fragment =
1739+ get_cached_fragment(inode->i_sb,
1740+ SQUASHFS_I(inode)->
1741+ u.s1.fragment_start_block,
1742+ SQUASHFS_I(inode)-> u.s1.fragment_size);
1743+ pageaddr = kmap_atomic(page, KM_USER0);
1744+ if (fragment) {
1745+ bytes = i_size_read(inode) & (sblk->block_size - 1);
1746+ memcpy(pageaddr, fragment->data + SQUASHFS_I(inode)->
1747+ u.s1.fragment_offset, bytes);
1748+ release_cached_fragment(msblk, fragment);
1749+ } else
1750+ ERROR("Unable to read page, block %llx, size %x\n",
1751+ SQUASHFS_I(inode)->
1752+ u.s1.fragment_start_block, (int)
1753+ SQUASHFS_I(inode)-> u.s1.fragment_size);
1754+ }
1755+
1756+skip_read:
1757+ memset(pageaddr + bytes, 0, PAGE_CACHE_SIZE - bytes);
1758+ kunmap_atomic(pageaddr, KM_USER0);
1759+ flush_dcache_page(page);
1760+ SetPageUptodate(page);
1761+ unlock_page(page);
1762+
1763+ return 0;
1764+}
1765+
1766+
1767+static int get_dir_index_using_offset(struct super_block *s, long long
1768+ *next_block, unsigned int *next_offset,
1769+ long long index_start,
1770+ unsigned int index_offset, int i_count,
1771+ long long f_pos)
1772+{
1773+ struct squashfs_sb_info *msblk = s->s_fs_info;
1774+ struct squashfs_super_block *sblk = &msblk->sblk;
1775+ int i, length = 0;
1776+ struct squashfs_dir_index index;
1777+
1778+ TRACE("Entered get_dir_index_using_offset, i_count %d, f_pos %d\n",
1779+ i_count, (unsigned int) f_pos);
1780+
1781+ f_pos =- 3;
1782+ if (f_pos == 0)
1783+ goto finish;
1784+
1785+ for (i = 0; i < i_count; i++) {
1786+ if (msblk->swap) {
1787+ struct squashfs_dir_index sindex;
1788+ squashfs_get_cached_block(s, (char *) &sindex,
1789+ index_start, index_offset,
1790+ sizeof(sindex), &index_start,
1791+ &index_offset);
1792+ SQUASHFS_SWAP_DIR_INDEX(&index, &sindex);
1793+ } else
1794+ squashfs_get_cached_block(s, (char *) &index,
1795+ index_start, index_offset,
1796+ sizeof(index), &index_start,
1797+ &index_offset);
1798+
1799+ if (index.index > f_pos)
1800+ break;
1801+
1802+ squashfs_get_cached_block(s, NULL, index_start, index_offset,
1803+ index.size + 1, &index_start,
1804+ &index_offset);
1805+
1806+ length = index.index;
1807+ *next_block = index.start_block + sblk->directory_table_start;
1808+ }
1809+
1810+ *next_offset = (length + *next_offset) % SQUASHFS_METADATA_SIZE;
1811+
1812+finish:
1813+ return length + 3;
1814+}
1815+
1816+
1817+static int get_dir_index_using_name(struct super_block *s, long long
1818+ *next_block, unsigned int *next_offset,
1819+ long long index_start,
1820+ unsigned int index_offset, int i_count,
1821+ const char *name, int size)
1822+{
1823+ struct squashfs_sb_info *msblk = s->s_fs_info;
1824+ struct squashfs_super_block *sblk = &msblk->sblk;
1825+ int i, length = 0;
1826+ char buffer[sizeof(struct squashfs_dir_index) + SQUASHFS_NAME_LEN + 1];
1827+ struct squashfs_dir_index *index = (struct squashfs_dir_index *) buffer;
1828+ char str[SQUASHFS_NAME_LEN + 1];
1829+
1830+ TRACE("Entered get_dir_index_using_name, i_count %d\n", i_count);
1831+
1832+ strncpy(str, name, size);
1833+ str[size] = '\0';
1834+
1835+ for (i = 0; i < i_count; i++) {
1836+ if (msblk->swap) {
1837+ struct squashfs_dir_index sindex;
1838+ squashfs_get_cached_block(s, (char *) &sindex,
1839+ index_start, index_offset,
1840+ sizeof(sindex), &index_start,
1841+ &index_offset);
1842+ SQUASHFS_SWAP_DIR_INDEX(index, &sindex);
1843+ } else
1844+ squashfs_get_cached_block(s, (char *) index,
1845+ index_start, index_offset,
1846+ sizeof(struct squashfs_dir_index),
1847+ &index_start, &index_offset);
1848+
1849+ squashfs_get_cached_block(s, index->name, index_start,
1850+ index_offset, index->size + 1,
1851+ &index_start, &index_offset);
1852+
1853+ index->name[index->size + 1] = '\0';
1854+
1855+ if (strcmp(index->name, str) > 0)
1856+ break;
1857+
1858+ length = index->index;
1859+ *next_block = index->start_block + sblk->directory_table_start;
1860+ }
1861+
1862+ *next_offset = (length + *next_offset) % SQUASHFS_METADATA_SIZE;
1863+ return length + 3;
1864+}
1865+
1866+
1867+static int squashfs_readdir(struct file *file, void *dirent, filldir_t filldir)
1868+{
1869+ struct inode *i = file->f_dentry->d_inode;
1870+ struct squashfs_sb_info *msblk = i->i_sb->s_fs_info;
1871+ struct squashfs_super_block *sblk = &msblk->sblk;
1872+ long long next_block = SQUASHFS_I(i)->start_block +
1873+ sblk->directory_table_start;
1874+ int next_offset = SQUASHFS_I(i)->offset, length = 0, dirs_read = 0,
1875+ dir_count;
1876+ struct squashfs_dir_header dirh;
1877+ char buffer[sizeof(struct squashfs_dir_entry) + SQUASHFS_NAME_LEN + 1];
1878+ struct squashfs_dir_entry *dire = (struct squashfs_dir_entry *) buffer;
1879+
1880+ TRACE("Entered squashfs_readdir [%llx:%x]\n", next_block, next_offset);
1881+
1882+ while(file->f_pos < 3) {
1883+ char *name;
1884+ int size, i_ino;
1885+
1886+ if(file->f_pos == 0) {
1887+ name = ".";
1888+ size = 1;
1889+ i_ino = i->i_ino;
1890+ } else {
1891+ name = "..";
1892+ size = 2;
1893+ i_ino = SQUASHFS_I(i)->u.s2.parent_inode;
1894+ }
1895+ TRACE("Calling filldir(%x, %s, %d, %d, %d, %d)\n",
1896+ (unsigned int) dirent, name, size, (int)
1897+ file->f_pos, i_ino,
1898+ squashfs_filetype_table[1]);
1899+
1900+ if (filldir(dirent, name, size,
1901+ file->f_pos, i_ino,
1902+ squashfs_filetype_table[1]) < 0) {
1903+ TRACE("Filldir returned less than 0\n");
1904+ goto finish;
1905+ }
1906+ file->f_pos += size;
1907+ dirs_read++;
1908+ }
1909+
1910+ length = get_dir_index_using_offset(i->i_sb, &next_block, &next_offset,
1911+ SQUASHFS_I(i)->u.s2.directory_index_start,
1912+ SQUASHFS_I(i)->u.s2.directory_index_offset,
1913+ SQUASHFS_I(i)->u.s2.directory_index_count,
1914+ file->f_pos);
1915+
1916+ while (length < i_size_read(i)) {
1917+ /* read directory header */
1918+ if (msblk->swap) {
1919+ struct squashfs_dir_header sdirh;
1920+
1921+ if (!squashfs_get_cached_block(i->i_sb, (char *) &sdirh,
1922+ next_block, next_offset, sizeof(sdirh),
1923+ &next_block, &next_offset))
1924+ goto failed_read;
1925+
1926+ length += sizeof(sdirh);
1927+ SQUASHFS_SWAP_DIR_HEADER(&dirh, &sdirh);
1928+ } else {
1929+ if (!squashfs_get_cached_block(i->i_sb, (char *) &dirh,
1930+ next_block, next_offset, sizeof(dirh),
1931+ &next_block, &next_offset))
1932+ goto failed_read;
1933+
1934+ length += sizeof(dirh);
1935+ }
1936+
1937+ dir_count = dirh.count + 1;
1938+ while (dir_count--) {
1939+ if (msblk->swap) {
1940+ struct squashfs_dir_entry sdire;
1941+ if (!squashfs_get_cached_block(i->i_sb, (char *)
1942+ &sdire, next_block, next_offset,
1943+ sizeof(sdire), &next_block,
1944+ &next_offset))
1945+ goto failed_read;
1946+
1947+ length += sizeof(sdire);
1948+ SQUASHFS_SWAP_DIR_ENTRY(dire, &sdire);
1949+ } else {
1950+ if (!squashfs_get_cached_block(i->i_sb, (char *)
1951+ dire, next_block, next_offset,
1952+ sizeof(*dire), &next_block,
1953+ &next_offset))
1954+ goto failed_read;
1955+
1956+ length += sizeof(*dire);
1957+ }
1958+
1959+ if (!squashfs_get_cached_block(i->i_sb, dire->name,
1960+ next_block, next_offset,
1961+ dire->size + 1, &next_block,
1962+ &next_offset))
1963+ goto failed_read;
1964+
1965+ length += dire->size + 1;
1966+
1967+ if (file->f_pos >= length)
1968+ continue;
1969+
1970+ dire->name[dire->size + 1] = '\0';
1971+
1972+ TRACE("Calling filldir(%x, %s, %d, %d, %x:%x, %d, %d)\n",
1973+ (unsigned int) dirent, dire->name,
1974+ dire->size + 1, (int) file->f_pos,
1975+ dirh.start_block, dire->offset,
1976+ dirh.inode_number + dire->inode_number,
1977+ squashfs_filetype_table[dire->type]);
1978+
1979+ if (filldir(dirent, dire->name, dire->size + 1,
1980+ file->f_pos,
1981+ dirh.inode_number + dire->inode_number,
1982+ squashfs_filetype_table[dire->type])
1983+ < 0) {
1984+ TRACE("Filldir returned less than 0\n");
1985+ goto finish;
1986+ }
1987+ file->f_pos = length;
1988+ dirs_read++;
1989+ }
1990+ }
1991+
1992+finish:
1993+ return dirs_read;
1994+
1995+failed_read:
1996+ ERROR("Unable to read directory block [%llx:%x]\n", next_block,
1997+ next_offset);
1998+ return 0;
1999+}
2000+
2001+
2002+static struct dentry *squashfs_lookup(struct inode *i, struct dentry *dentry,
2003+ struct nameidata *nd)
2004+{
2005+ const unsigned char *name = dentry->d_name.name;
2006+ int len = dentry->d_name.len;
2007+ struct inode *inode = NULL;
2008+ struct squashfs_sb_info *msblk = i->i_sb->s_fs_info;
2009+ struct squashfs_super_block *sblk = &msblk->sblk;
2010+ long long next_block = SQUASHFS_I(i)->start_block +
2011+ sblk->directory_table_start;
2012+ int next_offset = SQUASHFS_I(i)->offset, length = 0,
2013+ dir_count;
2014+ struct squashfs_dir_header dirh;
2015+ char buffer[sizeof(struct squashfs_dir_entry) + SQUASHFS_NAME_LEN];
2016+ struct squashfs_dir_entry *dire = (struct squashfs_dir_entry *) buffer;
2017+
2018+ TRACE("Entered squashfs_lookup [%llx:%x]\n", next_block, next_offset);
2019+
2020+ if (len > SQUASHFS_NAME_LEN)
2021+ goto exit_loop;
2022+
2023+ length = get_dir_index_using_name(i->i_sb, &next_block, &next_offset,
2024+ SQUASHFS_I(i)->u.s2.directory_index_start,
2025+ SQUASHFS_I(i)->u.s2.directory_index_offset,
2026+ SQUASHFS_I(i)->u.s2.directory_index_count, name,
2027+ len);
2028+
2029+ while (length < i_size_read(i)) {
2030+ /* read directory header */
2031+ if (msblk->swap) {
2032+ struct squashfs_dir_header sdirh;
2033+ if (!squashfs_get_cached_block(i->i_sb, (char *) &sdirh,
2034+ next_block, next_offset, sizeof(sdirh),
2035+ &next_block, &next_offset))
2036+ goto failed_read;
2037+
2038+ length += sizeof(sdirh);
2039+ SQUASHFS_SWAP_DIR_HEADER(&dirh, &sdirh);
2040+ } else {
2041+ if (!squashfs_get_cached_block(i->i_sb, (char *) &dirh,
2042+ next_block, next_offset, sizeof(dirh),
2043+ &next_block, &next_offset))
2044+ goto failed_read;
2045+
2046+ length += sizeof(dirh);
2047+ }
2048+
2049+ dir_count = dirh.count + 1;
2050+ while (dir_count--) {
2051+ if (msblk->swap) {
2052+ struct squashfs_dir_entry sdire;
2053+ if (!squashfs_get_cached_block(i->i_sb, (char *)
2054+ &sdire, next_block,next_offset,
2055+ sizeof(sdire), &next_block,
2056+ &next_offset))
2057+ goto failed_read;
2058+
2059+ length += sizeof(sdire);
2060+ SQUASHFS_SWAP_DIR_ENTRY(dire, &sdire);
2061+ } else {
2062+ if (!squashfs_get_cached_block(i->i_sb, (char *)
2063+ dire, next_block,next_offset,
2064+ sizeof(*dire), &next_block,
2065+ &next_offset))
2066+ goto failed_read;
2067+
2068+ length += sizeof(*dire);
2069+ }
2070+
2071+ if (!squashfs_get_cached_block(i->i_sb, dire->name,
2072+ next_block, next_offset, dire->size + 1,
2073+ &next_block, &next_offset))
2074+ goto failed_read;
2075+
2076+ length += dire->size + 1;
2077+
2078+ if (name[0] < dire->name[0])
2079+ goto exit_loop;
2080+
2081+ if ((len == dire->size + 1) && !strncmp(name,
2082+ dire->name, len)) {
2083+ squashfs_inode_t ino =
2084+ SQUASHFS_MKINODE(dirh.start_block,
2085+ dire->offset);
2086+
2087+ TRACE("calling squashfs_iget for directory "
2088+ "entry %s, inode %x:%x, %d\n", name,
2089+ dirh.start_block, dire->offset,
2090+ dirh.inode_number + dire->inode_number);
2091+
2092+ inode = (msblk->iget)(i->i_sb, ino);
2093+
2094+ goto exit_loop;
2095+ }
2096+ }
2097+ }
2098+
2099+exit_loop:
2100+ d_add(dentry, inode);
2101+ return ERR_PTR(0);
2102+
2103+failed_read:
2104+ ERROR("Unable to read directory block [%llx:%x]\n", next_block,
2105+ next_offset);
2106+ goto exit_loop;
2107+}
2108+
2109+
2110+static void squashfs_put_super(struct super_block *s)
2111+{
2112+ int i;
2113+
2114+ if (s->s_fs_info) {
2115+ struct squashfs_sb_info *sbi = s->s_fs_info;
2116+ if (sbi->block_cache)
2117+ for (i = 0; i < SQUASHFS_CACHED_BLKS; i++)
2118+ if (sbi->block_cache[i].block !=
2119+ SQUASHFS_INVALID_BLK)
2120+ kfree(sbi->block_cache[i].data);
2121+ if (sbi->fragment)
2122+ for (i = 0; i < SQUASHFS_CACHED_FRAGMENTS; i++)
2123+ SQUASHFS_FREE(sbi->fragment[i].data);
2124+ kfree(sbi->fragment);
2125+ kfree(sbi->block_cache);
2126+ kfree(sbi->read_data);
2127+ kfree(sbi->read_page);
2128+ kfree(sbi->uid);
2129+ kfree(sbi->fragment_index);
2130+ kfree(sbi->fragment_index_2);
2131+ kfree(sbi->meta_index);
2132+ kfree(s->s_fs_info);
2133+ s->s_fs_info = NULL;
2134+ }
2135+}
2136+
2137+
2138+static int squashfs_get_sb(struct file_system_type *fs_type,
2139+ int flags, const char *dev_name, void *data, struct vfsmount *mnt)
2140+{
2141+ return get_sb_bdev(fs_type, flags, dev_name, data, squashfs_fill_super, mnt);
2142+}
2143+
2144+
2145+static int __init init_squashfs_fs(void)
2146+{
2147+ int err = init_inodecache();
2148+ if (err)
2149+ goto out;
2150+
2151+ printk(KERN_INFO "squashfs: version 3.0 (2006/03/15) "
2152+ "Phillip Lougher\n");
2153+
2154+ if (!(stream.workspace = vmalloc(zlib_inflate_workspacesize()))) {
2155+ ERROR("Failed to allocate zlib workspace\n");
2156+ destroy_inodecache();
2157+ err = -ENOMEM;
2158+ goto out;
2159+ }
2160+
2161+ if ((err = register_filesystem(&squashfs_fs_type))) {
2162+ vfree(stream.workspace);
2163+ destroy_inodecache();
2164+ }
2165+
2166+out:
2167+ return err;
2168+}
2169+
2170+
2171+static void __exit exit_squashfs_fs(void)
2172+{
2173+ vfree(stream.workspace);
2174+ unregister_filesystem(&squashfs_fs_type);
2175+ destroy_inodecache();
2176+}
2177+
2178+
2179+static kmem_cache_t * squashfs_inode_cachep;
2180+
2181+
2182+static struct inode *squashfs_alloc_inode(struct super_block *sb)
2183+{
2184+ struct squashfs_inode_info *ei;
2185+ ei = kmem_cache_alloc(squashfs_inode_cachep, GFP_KERNEL);
2186+ if (!ei)
2187+ return NULL;
2188+ return &ei->vfs_inode;
2189+}
2190+
2191+
2192+static void squashfs_destroy_inode(struct inode *inode)
2193+{
2194+ kmem_cache_free(squashfs_inode_cachep, SQUASHFS_I(inode));
2195+}
2196+
2197+
2198+static void init_once(void * foo, kmem_cache_t * cachep, unsigned long flags)
2199+{
2200+ struct squashfs_inode_info *ei = foo;
2201+
2202+ inode_init_once(&ei->vfs_inode);
2203+}
2204+
2205+
2206+static int __init init_inodecache(void)
2207+{
2208+ squashfs_inode_cachep = kmem_cache_create("squashfs_inode_cache",
2209+ sizeof(struct squashfs_inode_info),
2210+ 0, SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT,
2211+ init_once, NULL);
2212+ if (squashfs_inode_cachep == NULL)
2213+ return -ENOMEM;
2214+ return 0;
2215+}
2216+
2217+
2218+static void destroy_inodecache(void)
2219+{
2220+ kmem_cache_destroy(squashfs_inode_cachep);
2221+}
2222+
2223+
2224+module_init(init_squashfs_fs);
2225+module_exit(exit_squashfs_fs);
2226+MODULE_DESCRIPTION("squashfs, a compressed read-only filesystem");
2227+MODULE_AUTHOR("Phillip Lougher <phillip@lougher.org.uk>");
2228Index: linux-2.6.21/fs/squashfs/Makefile
2229===================================================================
2230--- /dev/null 1970-01-01 00:00:00.000000000 +0000
2231+++ linux-2.6.21/fs/squashfs/Makefile 2007-07-01 17:09:57.000000000 +0100
2232@@ -0,0 +1,7 @@
2233+#
2234+# Makefile for the linux squashfs routines.
2235+#
2236+
2237+obj-$(CONFIG_SQUASHFS) += squashfs.o
2238+squashfs-y += inode.o
2239+squashfs-y += squashfs2_0.o
2240Index: linux-2.6.21/fs/squashfs/squashfs2_0.c
2241===================================================================
2242--- /dev/null 1970-01-01 00:00:00.000000000 +0000
2243+++ linux-2.6.21/fs/squashfs/squashfs2_0.c 2007-07-01 17:09:57.000000000 +0100
2244@@ -0,0 +1,757 @@
2245+/*
2246+ * Squashfs - a compressed read only filesystem for Linux
2247+ *
2248+ * Copyright (c) 2002, 2003, 2004, 2005, 2006
2249+ * Phillip Lougher <phillip@lougher.org.uk>
2250+ *
2251+ * This program is free software; you can redistribute it and/or
2252+ * modify it under the terms of the GNU General Public License
2253+ * as published by the Free Software Foundation; either version 2,
2254+ * or (at your option) any later version.
2255+ *
2256+ * This program is distributed in the hope that it will be useful,
2257+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
2258+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2259+ * GNU General Public License for more details.
2260+ *
2261+ * You should have received a copy of the GNU General Public License
2262+ * along with this program; if not, write to the Free Software
2263+ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
2264+ *
2265+ * squashfs2_0.c
2266+ */
2267+
2268+#include <linux/types.h>
2269+#include <linux/squashfs_fs.h>
2270+#include <linux/module.h>
2271+#include <linux/errno.h>
2272+#include <linux/slab.h>
2273+#include <linux/fs.h>
2274+#include <linux/smp_lock.h>
2275+#include <linux/slab.h>
2276+#include <linux/squashfs_fs_sb.h>
2277+#include <linux/squashfs_fs_i.h>
2278+#include <linux/buffer_head.h>
2279+#include <linux/vfs.h>
2280+#include <linux/init.h>
2281+#include <linux/dcache.h>
2282+#include <linux/wait.h>
2283+#include <linux/zlib.h>
2284+#include <linux/blkdev.h>
2285+#include <linux/vmalloc.h>
2286+#include <asm/uaccess.h>
2287+#include <asm/semaphore.h>
2288+
2289+#include "squashfs.h"
2290+static int squashfs_readdir_2(struct file *file, void *dirent, filldir_t filldir);
2291+static struct dentry *squashfs_lookup_2(struct inode *, struct dentry *,
2292+ struct nameidata *);
2293+
2294+static struct file_operations squashfs_dir_ops_2 = {
2295+ .read = generic_read_dir,
2296+ .readdir = squashfs_readdir_2
2297+};
2298+
2299+static struct inode_operations squashfs_dir_inode_ops_2 = {
2300+ .lookup = squashfs_lookup_2
2301+};
2302+
2303+static unsigned char squashfs_filetype_table[] = {
2304+ DT_UNKNOWN, DT_DIR, DT_REG, DT_LNK, DT_BLK, DT_CHR, DT_FIFO, DT_SOCK
2305+};
2306+
2307+static int read_fragment_index_table_2(struct super_block *s)
2308+{
2309+ struct squashfs_sb_info *msblk = s->s_fs_info;
2310+ struct squashfs_super_block *sblk = &msblk->sblk;
2311+
2312+ if (!(msblk->fragment_index_2 = kmalloc(SQUASHFS_FRAGMENT_INDEX_BYTES_2
2313+ (sblk->fragments), GFP_KERNEL))) {
2314+ ERROR("Failed to allocate uid/gid table\n");
2315+ return 0;
2316+ }
2317+
2318+ if (SQUASHFS_FRAGMENT_INDEX_BYTES_2(sblk->fragments) &&
2319+ !squashfs_read_data(s, (char *)
2320+ msblk->fragment_index_2,
2321+ sblk->fragment_table_start,
2322+ SQUASHFS_FRAGMENT_INDEX_BYTES_2
2323+ (sblk->fragments) |
2324+ SQUASHFS_COMPRESSED_BIT_BLOCK, NULL)) {
2325+ ERROR("unable to read fragment index table\n");
2326+ return 0;
2327+ }
2328+
2329+ if (msblk->swap) {
2330+ int i;
2331+ unsigned int fragment;
2332+
2333+ for (i = 0; i < SQUASHFS_FRAGMENT_INDEXES_2(sblk->fragments);
2334+ i++) {
2335+ SQUASHFS_SWAP_FRAGMENT_INDEXES_2((&fragment),
2336+ &msblk->fragment_index_2[i], 1);
2337+ msblk->fragment_index_2[i] = fragment;
2338+ }
2339+ }
2340+
2341+ return 1;
2342+}
2343+
2344+
2345+static int get_fragment_location_2(struct super_block *s, unsigned int fragment,
2346+ long long *fragment_start_block,
2347+ unsigned int *fragment_size)
2348+{
2349+ struct squashfs_sb_info *msblk = s->s_fs_info;
2350+ long long start_block =
2351+ msblk->fragment_index_2[SQUASHFS_FRAGMENT_INDEX_2(fragment)];
2352+ int offset = SQUASHFS_FRAGMENT_INDEX_OFFSET_2(fragment);
2353+ struct squashfs_fragment_entry_2 fragment_entry;
2354+
2355+ if (msblk->swap) {
2356+ struct squashfs_fragment_entry_2 sfragment_entry;
2357+
2358+ if (!squashfs_get_cached_block(s, (char *) &sfragment_entry,
2359+ start_block, offset,
2360+ sizeof(sfragment_entry), &start_block,
2361+ &offset))
2362+ goto out;
2363+ SQUASHFS_SWAP_FRAGMENT_ENTRY_2(&fragment_entry, &sfragment_entry);
2364+ } else
2365+ if (!squashfs_get_cached_block(s, (char *) &fragment_entry,
2366+ start_block, offset,
2367+ sizeof(fragment_entry), &start_block,
2368+ &offset))
2369+ goto out;
2370+
2371+ *fragment_start_block = fragment_entry.start_block;
2372+ *fragment_size = fragment_entry.size;
2373+
2374+ return 1;
2375+
2376+out:
2377+ return 0;
2378+}
2379+
2380+
2381+static struct inode *squashfs_new_inode(struct super_block *s,
2382+ struct squashfs_base_inode_header_2 *inodeb, unsigned int ino)
2383+{
2384+ struct squashfs_sb_info *msblk = s->s_fs_info;
2385+ struct squashfs_super_block *sblk = &msblk->sblk;
2386+ struct inode *i = new_inode(s);
2387+
2388+ if (i) {
2389+ i->i_ino = ino;
2390+ i->i_mtime.tv_sec = sblk->mkfs_time;
2391+ i->i_atime.tv_sec = sblk->mkfs_time;
2392+ i->i_ctime.tv_sec = sblk->mkfs_time;
2393+ i->i_uid = msblk->uid[inodeb->uid];
2394+ i->i_mode = inodeb->mode;
2395+ i->i_nlink = 1;
2396+ i->i_size = 0;
2397+ if (inodeb->guid == SQUASHFS_GUIDS)
2398+ i->i_gid = i->i_uid;
2399+ else
2400+ i->i_gid = msblk->guid[inodeb->guid];
2401+ }
2402+
2403+ return i;
2404+}
2405+
2406+
2407+static struct inode *squashfs_iget_2(struct super_block *s, squashfs_inode_t inode)
2408+{
2409+ struct inode *i;
2410+ struct squashfs_sb_info *msblk = s->s_fs_info;
2411+ struct squashfs_super_block *sblk = &msblk->sblk;
2412+ unsigned int block = SQUASHFS_INODE_BLK(inode) +
2413+ sblk->inode_table_start;
2414+ unsigned int offset = SQUASHFS_INODE_OFFSET(inode);
2415+ unsigned int ino = SQUASHFS_MK_VFS_INODE(block
2416+ - sblk->inode_table_start, offset);
2417+ long long next_block;
2418+ unsigned int next_offset;
2419+ union squashfs_inode_header_2 id, sid;
2420+ struct squashfs_base_inode_header_2 *inodeb = &id.base,
2421+ *sinodeb = &sid.base;
2422+
2423+ TRACE("Entered squashfs_iget\n");
2424+
2425+ if (msblk->swap) {
2426+ if (!squashfs_get_cached_block(s, (char *) sinodeb, block,
2427+ offset, sizeof(*sinodeb), &next_block,
2428+ &next_offset))
2429+ goto failed_read;
2430+ SQUASHFS_SWAP_BASE_INODE_HEADER_2(inodeb, sinodeb,
2431+ sizeof(*sinodeb));
2432+ } else
2433+ if (!squashfs_get_cached_block(s, (char *) inodeb, block,
2434+ offset, sizeof(*inodeb), &next_block,
2435+ &next_offset))
2436+ goto failed_read;
2437+
2438+ switch(inodeb->inode_type) {
2439+ case SQUASHFS_FILE_TYPE: {
2440+ struct squashfs_reg_inode_header_2 *inodep = &id.reg;
2441+ struct squashfs_reg_inode_header_2 *sinodep = &sid.reg;
2442+ long long frag_blk;
2443+ unsigned int frag_size;
2444+
2445+ if (msblk->swap) {
2446+ if (!squashfs_get_cached_block(s, (char *)
2447+ sinodep, block, offset,
2448+ sizeof(*sinodep), &next_block,
2449+ &next_offset))
2450+ goto failed_read;
2451+ SQUASHFS_SWAP_REG_INODE_HEADER_2(inodep, sinodep);
2452+ } else
2453+ if (!squashfs_get_cached_block(s, (char *)
2454+ inodep, block, offset,
2455+ sizeof(*inodep), &next_block,
2456+ &next_offset))
2457+ goto failed_read;
2458+
2459+ frag_blk = SQUASHFS_INVALID_BLK;
2460+ if (inodep->fragment != SQUASHFS_INVALID_FRAG &&
2461+ !get_fragment_location_2(s,
2462+ inodep->fragment, &frag_blk, &frag_size))
2463+ goto failed_read;
2464+
2465+ if((i = squashfs_new_inode(s, inodeb, ino)) == NULL)
2466+ goto failed_read1;
2467+
2468+ i->i_size = inodep->file_size;
2469+ i->i_fop = &generic_ro_fops;
2470+ i->i_mode |= S_IFREG;
2471+ i->i_mtime.tv_sec = inodep->mtime;
2472+ i->i_atime.tv_sec = inodep->mtime;
2473+ i->i_ctime.tv_sec = inodep->mtime;
2474+ i->i_blocks = ((i->i_size - 1) >> 9) + 1;
2475+ SQUASHFS_I(i)->u.s1.fragment_start_block = frag_blk;
2476+ SQUASHFS_I(i)->u.s1.fragment_size = frag_size;
2477+ SQUASHFS_I(i)->u.s1.fragment_offset = inodep->offset;
2478+ SQUASHFS_I(i)->start_block = inodep->start_block;
2479+ SQUASHFS_I(i)->u.s1.block_list_start = next_block;
2480+ SQUASHFS_I(i)->offset = next_offset;
2481+ if (sblk->block_size > 4096)
2482+ i->i_data.a_ops = &squashfs_aops;
2483+ else
2484+ i->i_data.a_ops = &squashfs_aops_4K;
2485+
2486+ TRACE("File inode %x:%x, start_block %x, "
2487+ "block_list_start %llx, offset %x\n",
2488+ SQUASHFS_INODE_BLK(inode), offset,
2489+ inodep->start_block, next_block,
2490+ next_offset);
2491+ break;
2492+ }
2493+ case SQUASHFS_DIR_TYPE: {
2494+ struct squashfs_dir_inode_header_2 *inodep = &id.dir;
2495+ struct squashfs_dir_inode_header_2 *sinodep = &sid.dir;
2496+
2497+ if (msblk->swap) {
2498+ if (!squashfs_get_cached_block(s, (char *)
2499+ sinodep, block, offset,
2500+ sizeof(*sinodep), &next_block,
2501+ &next_offset))
2502+ goto failed_read;
2503+ SQUASHFS_SWAP_DIR_INODE_HEADER_2(inodep, sinodep);
2504+ } else
2505+ if (!squashfs_get_cached_block(s, (char *)
2506+ inodep, block, offset,
2507+ sizeof(*inodep), &next_block,
2508+ &next_offset))
2509+ goto failed_read;
2510+
2511+ if((i = squashfs_new_inode(s, inodeb, ino)) == NULL)
2512+ goto failed_read1;
2513+
2514+ i->i_size = inodep->file_size;
2515+ i->i_op = &squashfs_dir_inode_ops_2;
2516+ i->i_fop = &squashfs_dir_ops_2;
2517+ i->i_mode |= S_IFDIR;
2518+ i->i_mtime.tv_sec = inodep->mtime;
2519+ i->i_atime.tv_sec = inodep->mtime;
2520+ i->i_ctime.tv_sec = inodep->mtime;
2521+ SQUASHFS_I(i)->start_block = inodep->start_block;
2522+ SQUASHFS_I(i)->offset = inodep->offset;
2523+ SQUASHFS_I(i)->u.s2.directory_index_count = 0;
2524+ SQUASHFS_I(i)->u.s2.parent_inode = 0;
2525+
2526+ TRACE("Directory inode %x:%x, start_block %x, offset "
2527+ "%x\n", SQUASHFS_INODE_BLK(inode),
2528+ offset, inodep->start_block,
2529+ inodep->offset);
2530+ break;
2531+ }
2532+ case SQUASHFS_LDIR_TYPE: {
2533+ struct squashfs_ldir_inode_header_2 *inodep = &id.ldir;
2534+ struct squashfs_ldir_inode_header_2 *sinodep = &sid.ldir;
2535+
2536+ if (msblk->swap) {
2537+ if (!squashfs_get_cached_block(s, (char *)
2538+ sinodep, block, offset,
2539+ sizeof(*sinodep), &next_block,
2540+ &next_offset))
2541+ goto failed_read;
2542+ SQUASHFS_SWAP_LDIR_INODE_HEADER_2(inodep,
2543+ sinodep);
2544+ } else
2545+ if (!squashfs_get_cached_block(s, (char *)
2546+ inodep, block, offset,
2547+ sizeof(*inodep), &next_block,
2548+ &next_offset))
2549+ goto failed_read;
2550+
2551+ if((i = squashfs_new_inode(s, inodeb, ino)) == NULL)
2552+ goto failed_read1;
2553+
2554+ i->i_size = inodep->file_size;
2555+ i->i_op = &squashfs_dir_inode_ops_2;
2556+ i->i_fop = &squashfs_dir_ops_2;
2557+ i->i_mode |= S_IFDIR;
2558+ i->i_mtime.tv_sec = inodep->mtime;
2559+ i->i_atime.tv_sec = inodep->mtime;
2560+ i->i_ctime.tv_sec = inodep->mtime;
2561+ SQUASHFS_I(i)->start_block = inodep->start_block;
2562+ SQUASHFS_I(i)->offset = inodep->offset;
2563+ SQUASHFS_I(i)->u.s2.directory_index_start = next_block;
2564+ SQUASHFS_I(i)->u.s2.directory_index_offset =
2565+ next_offset;
2566+ SQUASHFS_I(i)->u.s2.directory_index_count =
2567+ inodep->i_count;
2568+ SQUASHFS_I(i)->u.s2.parent_inode = 0;
2569+
2570+ TRACE("Long directory inode %x:%x, start_block %x, "
2571+ "offset %x\n",
2572+ SQUASHFS_INODE_BLK(inode), offset,
2573+ inodep->start_block, inodep->offset);
2574+ break;
2575+ }
2576+ case SQUASHFS_SYMLINK_TYPE: {
2577+ struct squashfs_symlink_inode_header_2 *inodep =
2578+ &id.symlink;
2579+ struct squashfs_symlink_inode_header_2 *sinodep =
2580+ &sid.symlink;
2581+
2582+ if (msblk->swap) {
2583+ if (!squashfs_get_cached_block(s, (char *)
2584+ sinodep, block, offset,
2585+ sizeof(*sinodep), &next_block,
2586+ &next_offset))
2587+ goto failed_read;
2588+ SQUASHFS_SWAP_SYMLINK_INODE_HEADER_2(inodep,
2589+ sinodep);
2590+ } else
2591+ if (!squashfs_get_cached_block(s, (char *)
2592+ inodep, block, offset,
2593+ sizeof(*inodep), &next_block,
2594+ &next_offset))
2595+ goto failed_read;
2596+
2597+ if((i = squashfs_new_inode(s, inodeb, ino)) == NULL)
2598+ goto failed_read1;
2599+
2600+ i->i_size = inodep->symlink_size;
2601+ i->i_op = &page_symlink_inode_operations;
2602+ i->i_data.a_ops = &squashfs_symlink_aops;
2603+ i->i_mode |= S_IFLNK;
2604+ SQUASHFS_I(i)->start_block = next_block;
2605+ SQUASHFS_I(i)->offset = next_offset;
2606+
2607+ TRACE("Symbolic link inode %x:%x, start_block %llx, "
2608+ "offset %x\n",
2609+ SQUASHFS_INODE_BLK(inode), offset,
2610+ next_block, next_offset);
2611+ break;
2612+ }
2613+ case SQUASHFS_BLKDEV_TYPE:
2614+ case SQUASHFS_CHRDEV_TYPE: {
2615+ struct squashfs_dev_inode_header_2 *inodep = &id.dev;
2616+ struct squashfs_dev_inode_header_2 *sinodep = &sid.dev;
2617+
2618+ if (msblk->swap) {
2619+ if (!squashfs_get_cached_block(s, (char *)
2620+ sinodep, block, offset,
2621+ sizeof(*sinodep), &next_block,
2622+ &next_offset))
2623+ goto failed_read;
2624+ SQUASHFS_SWAP_DEV_INODE_HEADER_2(inodep, sinodep);
2625+ } else
2626+ if (!squashfs_get_cached_block(s, (char *)
2627+ inodep, block, offset,
2628+ sizeof(*inodep), &next_block,
2629+ &next_offset))
2630+ goto failed_read;
2631+
2632+ if ((i = squashfs_new_inode(s, inodeb, ino)) == NULL)
2633+ goto failed_read1;
2634+
2635+ i->i_mode |= (inodeb->inode_type ==
2636+ SQUASHFS_CHRDEV_TYPE) ? S_IFCHR :
2637+ S_IFBLK;
2638+ init_special_inode(i, i->i_mode,
2639+ old_decode_dev(inodep->rdev));
2640+
2641+ TRACE("Device inode %x:%x, rdev %x\n",
2642+ SQUASHFS_INODE_BLK(inode), offset,
2643+ inodep->rdev);
2644+ break;
2645+ }
2646+ case SQUASHFS_FIFO_TYPE:
2647+ case SQUASHFS_SOCKET_TYPE: {
2648+ if ((i = squashfs_new_inode(s, inodeb, ino)) == NULL)
2649+ goto failed_read1;
2650+
2651+ i->i_mode |= (inodeb->inode_type == SQUASHFS_FIFO_TYPE)
2652+ ? S_IFIFO : S_IFSOCK;
2653+ init_special_inode(i, i->i_mode, 0);
2654+ break;
2655+ }
2656+ default:
2657+ ERROR("Unknown inode type %d in squashfs_iget!\n",
2658+ inodeb->inode_type);
2659+ goto failed_read1;
2660+ }
2661+
2662+ insert_inode_hash(i);
2663+ return i;
2664+
2665+failed_read:
2666+ ERROR("Unable to read inode [%x:%x]\n", block, offset);
2667+
2668+failed_read1:
2669+ return NULL;
2670+}
2671+
2672+
2673+static int get_dir_index_using_offset(struct super_block *s, long long
2674+ *next_block, unsigned int *next_offset,
2675+ long long index_start,
2676+ unsigned int index_offset, int i_count,
2677+ long long f_pos)
2678+{
2679+ struct squashfs_sb_info *msblk = s->s_fs_info;
2680+ struct squashfs_super_block *sblk = &msblk->sblk;
2681+ int i, length = 0;
2682+ struct squashfs_dir_index_2 index;
2683+
2684+ TRACE("Entered get_dir_index_using_offset, i_count %d, f_pos %d\n",
2685+ i_count, (unsigned int) f_pos);
2686+
2687+ if (f_pos == 0)
2688+ goto finish;
2689+
2690+ for (i = 0; i < i_count; i++) {
2691+ if (msblk->swap) {
2692+ struct squashfs_dir_index_2 sindex;
2693+ squashfs_get_cached_block(s, (char *) &sindex,
2694+ index_start, index_offset,
2695+ sizeof(sindex), &index_start,
2696+ &index_offset);
2697+ SQUASHFS_SWAP_DIR_INDEX_2(&index, &sindex);
2698+ } else
2699+ squashfs_get_cached_block(s, (char *) &index,
2700+ index_start, index_offset,
2701+ sizeof(index), &index_start,
2702+ &index_offset);
2703+
2704+ if (index.index > f_pos)
2705+ break;
2706+
2707+ squashfs_get_cached_block(s, NULL, index_start, index_offset,
2708+ index.size + 1, &index_start,
2709+ &index_offset);
2710+
2711+ length = index.index;
2712+ *next_block = index.start_block + sblk->directory_table_start;
2713+ }
2714+
2715+ *next_offset = (length + *next_offset) % SQUASHFS_METADATA_SIZE;
2716+
2717+finish:
2718+ return length;
2719+}
2720+
2721+
2722+static int get_dir_index_using_name(struct super_block *s, long long
2723+ *next_block, unsigned int *next_offset,
2724+ long long index_start,
2725+ unsigned int index_offset, int i_count,
2726+ const char *name, int size)
2727+{
2728+ struct squashfs_sb_info *msblk = s->s_fs_info;
2729+ struct squashfs_super_block *sblk = &msblk->sblk;
2730+ int i, length = 0;
2731+ char buffer[sizeof(struct squashfs_dir_index_2) + SQUASHFS_NAME_LEN + 1];
2732+ struct squashfs_dir_index_2 *index = (struct squashfs_dir_index_2 *) buffer;
2733+ char str[SQUASHFS_NAME_LEN + 1];
2734+
2735+ TRACE("Entered get_dir_index_using_name, i_count %d\n", i_count);
2736+
2737+ strncpy(str, name, size);
2738+ str[size] = '\0';
2739+
2740+ for (i = 0; i < i_count; i++) {
2741+ if (msblk->swap) {
2742+ struct squashfs_dir_index_2 sindex;
2743+ squashfs_get_cached_block(s, (char *) &sindex,
2744+ index_start, index_offset,
2745+ sizeof(sindex), &index_start,
2746+ &index_offset);
2747+ SQUASHFS_SWAP_DIR_INDEX_2(index, &sindex);
2748+ } else
2749+ squashfs_get_cached_block(s, (char *) index,
2750+ index_start, index_offset,
2751+ sizeof(struct squashfs_dir_index_2),
2752+ &index_start, &index_offset);
2753+
2754+ squashfs_get_cached_block(s, index->name, index_start,
2755+ index_offset, index->size + 1,
2756+ &index_start, &index_offset);
2757+
2758+ index->name[index->size + 1] = '\0';
2759+
2760+ if (strcmp(index->name, str) > 0)
2761+ break;
2762+
2763+ length = index->index;
2764+ *next_block = index->start_block + sblk->directory_table_start;
2765+ }
2766+
2767+ *next_offset = (length + *next_offset) % SQUASHFS_METADATA_SIZE;
2768+ return length;
2769+}
2770+
2771+
2772+static int squashfs_readdir_2(struct file *file, void *dirent, filldir_t filldir)
2773+{
2774+ struct inode *i = file->f_dentry->d_inode;
2775+ struct squashfs_sb_info *msblk = i->i_sb->s_fs_info;
2776+ struct squashfs_super_block *sblk = &msblk->sblk;
2777+ long long next_block = SQUASHFS_I(i)->start_block +
2778+ sblk->directory_table_start;
2779+ int next_offset = SQUASHFS_I(i)->offset, length = 0, dirs_read = 0,
2780+ dir_count;
2781+ struct squashfs_dir_header_2 dirh;
2782+ char buffer[sizeof(struct squashfs_dir_entry_2) + SQUASHFS_NAME_LEN + 1];
2783+ struct squashfs_dir_entry_2 *dire = (struct squashfs_dir_entry_2 *) buffer;
2784+
2785+ TRACE("Entered squashfs_readdir_2 [%llx:%x]\n", next_block, next_offset);
2786+
2787+ length = get_dir_index_using_offset(i->i_sb, &next_block, &next_offset,
2788+ SQUASHFS_I(i)->u.s2.directory_index_start,
2789+ SQUASHFS_I(i)->u.s2.directory_index_offset,
2790+ SQUASHFS_I(i)->u.s2.directory_index_count,
2791+ file->f_pos);
2792+
2793+ while (length < i_size_read(i)) {
2794+ /* read directory header */
2795+ if (msblk->swap) {
2796+ struct squashfs_dir_header_2 sdirh;
2797+
2798+ if (!squashfs_get_cached_block(i->i_sb, (char *) &sdirh,
2799+ next_block, next_offset, sizeof(sdirh),
2800+ &next_block, &next_offset))
2801+ goto failed_read;
2802+
2803+ length += sizeof(sdirh);
2804+ SQUASHFS_SWAP_DIR_HEADER_2(&dirh, &sdirh);
2805+ } else {
2806+ if (!squashfs_get_cached_block(i->i_sb, (char *) &dirh,
2807+ next_block, next_offset, sizeof(dirh),
2808+ &next_block, &next_offset))
2809+ goto failed_read;
2810+
2811+ length += sizeof(dirh);
2812+ }
2813+
2814+ dir_count = dirh.count + 1;
2815+ while (dir_count--) {
2816+ if (msblk->swap) {
2817+ struct squashfs_dir_entry_2 sdire;
2818+ if (!squashfs_get_cached_block(i->i_sb, (char *)
2819+ &sdire, next_block, next_offset,
2820+ sizeof(sdire), &next_block,
2821+ &next_offset))
2822+ goto failed_read;
2823+
2824+ length += sizeof(sdire);
2825+ SQUASHFS_SWAP_DIR_ENTRY_2(dire, &sdire);
2826+ } else {
2827+ if (!squashfs_get_cached_block(i->i_sb, (char *)
2828+ dire, next_block, next_offset,
2829+ sizeof(*dire), &next_block,
2830+ &next_offset))
2831+ goto failed_read;
2832+
2833+ length += sizeof(*dire);
2834+ }
2835+
2836+ if (!squashfs_get_cached_block(i->i_sb, dire->name,
2837+ next_block, next_offset,
2838+ dire->size + 1, &next_block,
2839+ &next_offset))
2840+ goto failed_read;
2841+
2842+ length += dire->size + 1;
2843+
2844+ if (file->f_pos >= length)
2845+ continue;
2846+
2847+ dire->name[dire->size + 1] = '\0';
2848+
2849+ TRACE("Calling filldir(%x, %s, %d, %d, %x:%x, %d)\n",
2850+ (unsigned int) dirent, dire->name,
2851+ dire->size + 1, (int) file->f_pos,
2852+ dirh.start_block, dire->offset,
2853+ squashfs_filetype_table[dire->type]);
2854+
2855+ if (filldir(dirent, dire->name, dire->size + 1,
2856+ file->f_pos, SQUASHFS_MK_VFS_INODE(
2857+ dirh.start_block, dire->offset),
2858+ squashfs_filetype_table[dire->type])
2859+ < 0) {
2860+ TRACE("Filldir returned less than 0\n");
2861+ goto finish;
2862+ }
2863+ file->f_pos = length;
2864+ dirs_read++;
2865+ }
2866+ }
2867+
2868+finish:
2869+ return dirs_read;
2870+
2871+failed_read:
2872+ ERROR("Unable to read directory block [%llx:%x]\n", next_block,
2873+ next_offset);
2874+ return 0;
2875+}
2876+
2877+
2878+static struct dentry *squashfs_lookup_2(struct inode *i, struct dentry *dentry,
2879+ struct nameidata *nd)
2880+{
2881+ const unsigned char *name = dentry->d_name.name;
2882+ int len = dentry->d_name.len;
2883+ struct inode *inode = NULL;
2884+ struct squashfs_sb_info *msblk = i->i_sb->s_fs_info;
2885+ struct squashfs_super_block *sblk = &msblk->sblk;
2886+ long long next_block = SQUASHFS_I(i)->start_block +
2887+ sblk->directory_table_start;
2888+ int next_offset = SQUASHFS_I(i)->offset, length = 0,
2889+ dir_count;
2890+ struct squashfs_dir_header_2 dirh;
2891+ char buffer[sizeof(struct squashfs_dir_entry_2) + SQUASHFS_NAME_LEN];
2892+ struct squashfs_dir_entry_2 *dire = (struct squashfs_dir_entry_2 *) buffer;
2893+ int sorted = sblk->s_major == 2 && sblk->s_minor >= 1;
2894+
2895+ TRACE("Entered squashfs_lookup [%llx:%x]\n", next_block, next_offset);
2896+
2897+ if (len > SQUASHFS_NAME_LEN)
2898+ goto exit_loop;
2899+
2900+ length = get_dir_index_using_name(i->i_sb, &next_block, &next_offset,
2901+ SQUASHFS_I(i)->u.s2.directory_index_start,
2902+ SQUASHFS_I(i)->u.s2.directory_index_offset,
2903+ SQUASHFS_I(i)->u.s2.directory_index_count, name,
2904+ len);
2905+
2906+ while (length < i_size_read(i)) {
2907+ /* read directory header */
2908+ if (msblk->swap) {
2909+ struct squashfs_dir_header_2 sdirh;
2910+ if (!squashfs_get_cached_block(i->i_sb, (char *) &sdirh,
2911+ next_block, next_offset, sizeof(sdirh),
2912+ &next_block, &next_offset))
2913+ goto failed_read;
2914+
2915+ length += sizeof(sdirh);
2916+ SQUASHFS_SWAP_DIR_HEADER_2(&dirh, &sdirh);
2917+ } else {
2918+ if (!squashfs_get_cached_block(i->i_sb, (char *) &dirh,
2919+ next_block, next_offset, sizeof(dirh),
2920+ &next_block, &next_offset))
2921+ goto failed_read;
2922+
2923+ length += sizeof(dirh);
2924+ }
2925+
2926+ dir_count = dirh.count + 1;
2927+ while (dir_count--) {
2928+ if (msblk->swap) {
2929+ struct squashfs_dir_entry_2 sdire;
2930+ if (!squashfs_get_cached_block(i->i_sb, (char *)
2931+ &sdire, next_block,next_offset,
2932+ sizeof(sdire), &next_block,
2933+ &next_offset))
2934+ goto failed_read;
2935+
2936+ length += sizeof(sdire);
2937+ SQUASHFS_SWAP_DIR_ENTRY_2(dire, &sdire);
2938+ } else {
2939+ if (!squashfs_get_cached_block(i->i_sb, (char *)
2940+ dire, next_block,next_offset,
2941+ sizeof(*dire), &next_block,
2942+ &next_offset))
2943+ goto failed_read;
2944+
2945+ length += sizeof(*dire);
2946+ }
2947+
2948+ if (!squashfs_get_cached_block(i->i_sb, dire->name,
2949+ next_block, next_offset, dire->size + 1,
2950+ &next_block, &next_offset))
2951+ goto failed_read;
2952+
2953+ length += dire->size + 1;
2954+
2955+ if (sorted && name[0] < dire->name[0])
2956+ goto exit_loop;
2957+
2958+ if ((len == dire->size + 1) && !strncmp(name,
2959+ dire->name, len)) {
2960+ squashfs_inode_t ino =
2961+ SQUASHFS_MKINODE(dirh.start_block,
2962+ dire->offset);
2963+
2964+ TRACE("calling squashfs_iget for directory "
2965+ "entry %s, inode %x:%x, %lld\n", name,
2966+ dirh.start_block, dire->offset, ino);
2967+
2968+ inode = (msblk->iget)(i->i_sb, ino);
2969+
2970+ goto exit_loop;
2971+ }
2972+ }
2973+ }
2974+
2975+exit_loop:
2976+ d_add(dentry, inode);
2977+ return ERR_PTR(0);
2978+
2979+failed_read:
2980+ ERROR("Unable to read directory block [%llx:%x]\n", next_block,
2981+ next_offset);
2982+ goto exit_loop;
2983+}
2984+
2985+
2986+int squashfs_2_0_supported(struct squashfs_sb_info *msblk)
2987+{
2988+ struct squashfs_super_block *sblk = &msblk->sblk;
2989+
2990+ msblk->iget = squashfs_iget_2;
2991+ msblk->read_fragment_index_table = read_fragment_index_table_2;
2992+
2993+ sblk->bytes_used = sblk->bytes_used_2;
2994+ sblk->uid_start = sblk->uid_start_2;
2995+ sblk->guid_start = sblk->guid_start_2;
2996+ sblk->inode_table_start = sblk->inode_table_start_2;
2997+ sblk->directory_table_start = sblk->directory_table_start_2;
2998+ sblk->fragment_table_start = sblk->fragment_table_start_2;
2999+
3000+ return 1;
3001+}
3002Index: linux-2.6.21/fs/squashfs/squashfs.h
3003===================================================================
3004--- /dev/null 1970-01-01 00:00:00.000000000 +0000
3005+++ linux-2.6.21/fs/squashfs/squashfs.h 2007-07-01 17:09:57.000000000 +0100
3006@@ -0,0 +1,86 @@
3007+/*
3008+ * Squashfs - a compressed read only filesystem for Linux
3009+ *
3010+ * Copyright (c) 2002, 2003, 2004, 2005, 2006
3011+ * Phillip Lougher <phillip@lougher.org.uk>
3012+ *
3013+ * This program is free software; you can redistribute it and/or
3014+ * modify it under the terms of the GNU General Public License
3015+ * as published by the Free Software Foundation; either version 2,
3016+ * or (at your option) any later version.
3017+ *
3018+ * This program is distributed in the hope that it will be useful,
3019+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
3020+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3021+ * GNU General Public License for more details.
3022+ *
3023+ * You should have received a copy of the GNU General Public License
3024+ * along with this program; if not, write to the Free Software
3025+ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
3026+ *
3027+ * squashfs.h
3028+ */
3029+
3030+#ifdef CONFIG_SQUASHFS_1_0_COMPATIBILITY
3031+#undef CONFIG_SQUASHFS_1_0_COMPATIBILITY
3032+#endif
3033+
3034+#ifdef SQUASHFS_TRACE
3035+#define TRACE(s, args...) printk(KERN_NOTICE "SQUASHFS: "s, ## args)
3036+#else
3037+#define TRACE(s, args...) {}
3038+#endif
3039+
3040+#define ERROR(s, args...) printk(KERN_ERR "SQUASHFS error: "s, ## args)
3041+
3042+#define SERROR(s, args...) do { \
3043+ if (!silent) \
3044+ printk(KERN_ERR "SQUASHFS error: "s, ## args);\
3045+ } while(0)
3046+
3047+#define WARNING(s, args...) printk(KERN_WARNING "SQUASHFS: "s, ## args)
3048+
3049+static inline struct squashfs_inode_info *SQUASHFS_I(struct inode *inode)
3050+{
3051+ return list_entry(inode, struct squashfs_inode_info, vfs_inode);
3052+}
3053+
3054+#if defined(CONFIG_SQUASHFS_1_0_COMPATIBILITY ) || defined(CONFIG_SQUASHFS_2_0_COMPATIBILITY)
3055+#define SQSH_EXTERN
3056+extern unsigned int squashfs_read_data(struct super_block *s, char *buffer,
3057+ long long index, unsigned int length,
3058+ long long *next_index);
3059+extern int squashfs_get_cached_block(struct super_block *s, char *buffer,
3060+ long long block, unsigned int offset,
3061+ int length, long long *next_block,
3062+ unsigned int *next_offset);
3063+extern void release_cached_fragment(struct squashfs_sb_info *msblk, struct
3064+ squashfs_fragment_cache *fragment);
3065+extern struct squashfs_fragment_cache *get_cached_fragment(struct super_block
3066+ *s, long long start_block,
3067+ int length);
3068+extern struct address_space_operations squashfs_symlink_aops;
3069+extern struct address_space_operations squashfs_aops;
3070+extern struct address_space_operations squashfs_aops_4K;
3071+extern struct inode_operations squashfs_dir_inode_ops;
3072+#else
3073+#define SQSH_EXTERN static
3074+#endif
3075+
3076+#ifdef CONFIG_SQUASHFS_1_0_COMPATIBILITY
3077+extern int squashfs_1_0_supported(struct squashfs_sb_info *msblk);
3078+#else
3079+static inline int squashfs_1_0_supported(struct squashfs_sb_info *msblk)
3080+{
3081+ return 0;
3082+}
3083+#endif
3084+
3085+#ifdef CONFIG_SQUASHFS_2_0_COMPATIBILITY
3086+extern int squashfs_2_0_supported(struct squashfs_sb_info *msblk);
3087+#else
3088+static inline int squashfs_2_0_supported(struct squashfs_sb_info *msblk)
3089+{
3090+ return 0;
3091+}
3092+#endif
3093Index: linux-2.6.21/include/linux/squashfs_fs.h
3094===================================================================
3095--- /dev/null 1970-01-01 00:00:00.000000000 +0000
3096+++ linux-2.6.21/include/linux/squashfs_fs.h 2007-07-01 17:09:57.000000000 +0100
3097@@ -0,0 +1,911 @@
3098+#ifndef SQUASHFS_FS
3099+#define SQUASHFS_FS
3100+
3101+/*
3102+ * Squashfs
3103+ *
3104+ * Copyright (c) 2002, 2003, 2004, 2005, 2006
3105+ * Phillip Lougher <phillip@lougher.org.uk>
3106+ *
3107+ * This program is free software; you can redistribute it and/or
3108+ * modify it under the terms of the GNU General Public License
3109+ * as published by the Free Software Foundation; either version 2,
3110+ * or (at your option) any later version.
3111+ *
3112+ * This program is distributed in the hope that it will be useful,
3113+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
3114+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3115+ * GNU General Public License for more details.
3116+ *
3117+ * You should have received a copy of the GNU General Public License
3118+ * along with this program; if not, write to the Free Software
3119+ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
3120+ *
3121+ * squashfs_fs.h
3122+ */
3123+
3124+#ifndef CONFIG_SQUASHFS_2_0_COMPATIBILITY
3125+#define CONFIG_SQUASHFS_2_0_COMPATIBILITY
3126+#endif
3127+
3128+#ifdef CONFIG_SQUASHFS_VMALLOC
3129+#define SQUASHFS_ALLOC(a) vmalloc(a)
3130+#define SQUASHFS_FREE(a) vfree(a)
3131+#else
3132+#define SQUASHFS_ALLOC(a) kmalloc(a, GFP_KERNEL)
3133+#define SQUASHFS_FREE(a) kfree(a)
3134+#endif
3135+#define SQUASHFS_CACHED_FRAGMENTS CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE
3136+#define SQUASHFS_MAJOR 3
3137+#define SQUASHFS_MINOR 0
3138+#define SQUASHFS_MAGIC 0x73717368
3139+#define SQUASHFS_MAGIC_SWAP 0x68737173
3140+#define SQUASHFS_START 0
3141+
3142+/* size of metadata (inode and directory) blocks */
3143+#define SQUASHFS_METADATA_SIZE 8192
3144+#define SQUASHFS_METADATA_LOG 13
3145+
3146+/* default size of data blocks */
3147+#define SQUASHFS_FILE_SIZE 65536
3148+#define SQUASHFS_FILE_LOG 16
3149+
3150+#define SQUASHFS_FILE_MAX_SIZE 65536
3151+
3152+/* Max number of uids and gids */
3153+#define SQUASHFS_UIDS 256
3154+#define SQUASHFS_GUIDS 255
3155+
3156+/* Max length of filename (not 255) */
3157+#define SQUASHFS_NAME_LEN 256
3158+
3159+#define SQUASHFS_INVALID ((long long) 0xffffffffffff)
3160+#define SQUASHFS_INVALID_FRAG ((unsigned int) 0xffffffff)
3161+#define SQUASHFS_INVALID_BLK ((long long) -1)
3162+#define SQUASHFS_USED_BLK ((long long) -2)
3163+
3164+/* Filesystem flags */
3165+#define SQUASHFS_NOI 0
3166+#define SQUASHFS_NOD 1
3167+#define SQUASHFS_CHECK 2
3168+#define SQUASHFS_NOF 3
3169+#define SQUASHFS_NO_FRAG 4
3170+#define SQUASHFS_ALWAYS_FRAG 5
3171+#define SQUASHFS_DUPLICATE 6
3172+
3173+#define SQUASHFS_BIT(flag, bit) ((flag >> bit) & 1)
3174+
3175+#define SQUASHFS_UNCOMPRESSED_INODES(flags) SQUASHFS_BIT(flags, \
3176+ SQUASHFS_NOI)
3177+
3178+#define SQUASHFS_UNCOMPRESSED_DATA(flags) SQUASHFS_BIT(flags, \
3179+ SQUASHFS_NOD)
3180+
3181+#define SQUASHFS_UNCOMPRESSED_FRAGMENTS(flags) SQUASHFS_BIT(flags, \
3182+ SQUASHFS_NOF)
3183+
3184+#define SQUASHFS_NO_FRAGMENTS(flags) SQUASHFS_BIT(flags, \
3185+ SQUASHFS_NO_FRAG)
3186+
3187+#define SQUASHFS_ALWAYS_FRAGMENTS(flags) SQUASHFS_BIT(flags, \
3188+ SQUASHFS_ALWAYS_FRAG)
3189+
3190+#define SQUASHFS_DUPLICATES(flags) SQUASHFS_BIT(flags, \
3191+ SQUASHFS_DUPLICATE)
3192+
3193+#define SQUASHFS_CHECK_DATA(flags) SQUASHFS_BIT(flags, \
3194+ SQUASHFS_CHECK)
3195+
3196+#define SQUASHFS_MKFLAGS(noi, nod, check_data, nof, no_frag, always_frag, \
3197+ duplicate_checking) (noi | (nod << 1) | (check_data << 2) \
3198+ | (nof << 3) | (no_frag << 4) | (always_frag << 5) | \
3199+ (duplicate_checking << 6))
3200+
3201+/* Max number of types and file types */
3202+#define SQUASHFS_DIR_TYPE 1
3203+#define SQUASHFS_FILE_TYPE 2
3204+#define SQUASHFS_SYMLINK_TYPE 3
3205+#define SQUASHFS_BLKDEV_TYPE 4
3206+#define SQUASHFS_CHRDEV_TYPE 5
3207+#define SQUASHFS_FIFO_TYPE 6
3208+#define SQUASHFS_SOCKET_TYPE 7
3209+#define SQUASHFS_LDIR_TYPE 8
3210+#define SQUASHFS_LREG_TYPE 9
3211+
3212+/* 1.0 filesystem type definitions */
3213+#define SQUASHFS_TYPES 5
3214+#define SQUASHFS_IPC_TYPE 0
3215+
3216+/* Flag whether block is compressed or uncompressed, bit is set if block is
3217+ * uncompressed */
3218+#define SQUASHFS_COMPRESSED_BIT (1 << 15)
3219+
3220+#define SQUASHFS_COMPRESSED_SIZE(B) (((B) & ~SQUASHFS_COMPRESSED_BIT) ? \
3221+ (B) & ~SQUASHFS_COMPRESSED_BIT : SQUASHFS_COMPRESSED_BIT)
3222+
3223+#define SQUASHFS_COMPRESSED(B) (!((B) & SQUASHFS_COMPRESSED_BIT))
3224+
3225+#define SQUASHFS_COMPRESSED_BIT_BLOCK (1 << 24)
3226+
3227+#define SQUASHFS_COMPRESSED_SIZE_BLOCK(B) (((B) & \
3228+ ~SQUASHFS_COMPRESSED_BIT_BLOCK) ? (B) & \
3229+ ~SQUASHFS_COMPRESSED_BIT_BLOCK : SQUASHFS_COMPRESSED_BIT_BLOCK)
3230+
3231+#define SQUASHFS_COMPRESSED_BLOCK(B) (!((B) & SQUASHFS_COMPRESSED_BIT_BLOCK))
3232+
3233+/*
3234+ * Inode number ops. Inodes consist of a compressed block number, and an
3235+ * uncompressed offset within that block
3236+ */
3237+#define SQUASHFS_INODE_BLK(a) ((unsigned int) ((a) >> 16))
3238+
3239+#define SQUASHFS_INODE_OFFSET(a) ((unsigned int) ((a) & 0xffff))
3240+
3241+#define SQUASHFS_MKINODE(A, B) ((squashfs_inode_t)(((squashfs_inode_t) (A)\
3242+ << 16) + (B)))
3243+
3244+/* Compute 32 bit VFS inode number from squashfs inode number */
3245+#define SQUASHFS_MK_VFS_INODE(a, b) ((unsigned int) (((a) << 8) + \
3246+ ((b) >> 2) + 1))
3247+/* XXX */
3248+
3249+/* Translate between VFS mode and squashfs mode */
3250+#define SQUASHFS_MODE(a) ((a) & 0xfff)
3251+
3252+/* fragment and fragment table defines */
3253+#define SQUASHFS_FRAGMENT_BYTES(A) (A * sizeof(struct squashfs_fragment_entry))
3254+
3255+#define SQUASHFS_FRAGMENT_INDEX(A) (SQUASHFS_FRAGMENT_BYTES(A) / \
3256+ SQUASHFS_METADATA_SIZE)
3257+
3258+#define SQUASHFS_FRAGMENT_INDEX_OFFSET(A) (SQUASHFS_FRAGMENT_BYTES(A) % \
3259+ SQUASHFS_METADATA_SIZE)
3260+
3261+#define SQUASHFS_FRAGMENT_INDEXES(A) ((SQUASHFS_FRAGMENT_BYTES(A) + \
3262+ SQUASHFS_METADATA_SIZE - 1) / \
3263+ SQUASHFS_METADATA_SIZE)
3264+
3265+#define SQUASHFS_FRAGMENT_INDEX_BYTES(A) (SQUASHFS_FRAGMENT_INDEXES(A) *\
3266+ sizeof(long long))
3267+
3268+/* cached data constants for filesystem */
3269+#define SQUASHFS_CACHED_BLKS 8
3270+
3271+#define SQUASHFS_MAX_FILE_SIZE_LOG 64
3272+
3273+#define SQUASHFS_MAX_FILE_SIZE ((long long) 1 << \
3274+ (SQUASHFS_MAX_FILE_SIZE_LOG - 2))
3275+
3276+#define SQUASHFS_MARKER_BYTE 0xff
3277+
3278+/* meta index cache */
3279+#define SQUASHFS_META_INDEXES (SQUASHFS_METADATA_SIZE / sizeof(unsigned int))
3280+#define SQUASHFS_META_ENTRIES 31
3281+#define SQUASHFS_META_NUMBER 8
3282+#define SQUASHFS_SLOTS 4
3283+
3284+struct meta_entry {
3285+ long long data_block;
3286+ unsigned int index_block;
3287+ unsigned short offset;
3288+ unsigned short pad;
3289+};
3290+
3291+struct meta_index {
3292+ unsigned int inode_number;
3293+ unsigned int offset;
3294+ unsigned short entries;
3295+ unsigned short skip;
3296+ unsigned short locked;
3297+ unsigned short pad;
3298+ struct meta_entry meta_entry[SQUASHFS_META_ENTRIES];
3299+};
3300+
3301+
3302+/*
3303+ * definitions for structures on disk
3304+ */
3305+
3306+typedef long long squashfs_block_t;
3307+typedef long long squashfs_inode_t;
3308+
3309+struct squashfs_super_block {
3310+ unsigned int s_magic;
3311+ unsigned int inodes;
3312+ unsigned int bytes_used_2;
3313+ unsigned int uid_start_2;
3314+ unsigned int guid_start_2;
3315+ unsigned int inode_table_start_2;
3316+ unsigned int directory_table_start_2;
3317+ unsigned int s_major:16;
3318+ unsigned int s_minor:16;
3319+ unsigned int block_size_1:16;
3320+ unsigned int block_log:16;
3321+ unsigned int flags:8;
3322+ unsigned int no_uids:8;
3323+ unsigned int no_guids:8;
3324+ unsigned int mkfs_time /* time of filesystem creation */;
3325+ squashfs_inode_t root_inode;
3326+ unsigned int block_size;
3327+ unsigned int fragments;
3328+ unsigned int fragment_table_start_2;
3329+ long long bytes_used;
3330+ long long uid_start;
3331+ long long guid_start;
3332+ long long inode_table_start;
3333+ long long directory_table_start;
3334+ long long fragment_table_start;
3335+ long long unused;
3336+} __attribute__ ((packed));
3337+
3338+struct squashfs_dir_index {
3339+ unsigned int index;
3340+ unsigned int start_block;
3341+ unsigned char size;
3342+ unsigned char name[0];
3343+} __attribute__ ((packed));
3344+
3345+#define SQUASHFS_BASE_INODE_HEADER \
3346+ unsigned int inode_type:4; \
3347+ unsigned int mode:12; \
3348+ unsigned int uid:8; \
3349+ unsigned int guid:8; \
3350+ unsigned int mtime; \
3351+ unsigned int inode_number;
3352+
3353+struct squashfs_base_inode_header {
3354+ SQUASHFS_BASE_INODE_HEADER;
3355+} __attribute__ ((packed));
3356+
3357+struct squashfs_ipc_inode_header {
3358+ SQUASHFS_BASE_INODE_HEADER;
3359+ unsigned int nlink;
3360+} __attribute__ ((packed));
3361+
3362+struct squashfs_dev_inode_header {
3363+ SQUASHFS_BASE_INODE_HEADER;
3364+ unsigned int nlink;
3365+ unsigned short rdev;
3366+} __attribute__ ((packed));
3367+
3368+struct squashfs_symlink_inode_header {
3369+ SQUASHFS_BASE_INODE_HEADER;
3370+ unsigned int nlink;
3371+ unsigned short symlink_size;
3372+ char symlink[0];
3373+} __attribute__ ((packed));
3374+
3375+struct squashfs_reg_inode_header {
3376+ SQUASHFS_BASE_INODE_HEADER;
3377+ squashfs_block_t start_block;
3378+ unsigned int fragment;
3379+ unsigned int offset;
3380+ unsigned int file_size;
3381+ unsigned short block_list[0];
3382+} __attribute__ ((packed));
3383+
3384+struct squashfs_lreg_inode_header {
3385+ SQUASHFS_BASE_INODE_HEADER;
3386+ unsigned int nlink;
3387+ squashfs_block_t start_block;
3388+ unsigned int fragment;
3389+ unsigned int offset;
3390+ long long file_size;
3391+ unsigned short block_list[0];
3392+} __attribute__ ((packed));
3393+
3394+struct squashfs_dir_inode_header {
3395+ SQUASHFS_BASE_INODE_HEADER;
3396+ unsigned int nlink;
3397+ unsigned int file_size:19;
3398+ unsigned int offset:13;
3399+ unsigned int start_block;
3400+ unsigned int parent_inode;
3401+} __attribute__ ((packed));
3402+
3403+struct squashfs_ldir_inode_header {
3404+ SQUASHFS_BASE_INODE_HEADER;
3405+ unsigned int nlink;
3406+ unsigned int file_size:27;
3407+ unsigned int offset:13;
3408+ unsigned int start_block;
3409+ unsigned int i_count:16;
3410+ unsigned int parent_inode;
3411+ struct squashfs_dir_index index[0];
3412+} __attribute__ ((packed));
3413+
3414+union squashfs_inode_header {
3415+ struct squashfs_base_inode_header base;
3416+ struct squashfs_dev_inode_header dev;
3417+ struct squashfs_symlink_inode_header symlink;
3418+ struct squashfs_reg_inode_header reg;
3419+ struct squashfs_lreg_inode_header lreg;
3420+ struct squashfs_dir_inode_header dir;
3421+ struct squashfs_ldir_inode_header ldir;
3422+ struct squashfs_ipc_inode_header ipc;
3423+};
3424+
3425+struct squashfs_dir_entry {
3426+ unsigned int offset:13;
3427+ unsigned int type:3;
3428+ unsigned int size:8;
3429+ int inode_number:16;
3430+ char name[0];
3431+} __attribute__ ((packed));
3432+
3433+struct squashfs_dir_header {
3434+ unsigned int count:8;
3435+ unsigned int start_block;
3436+ unsigned int inode_number;
3437+} __attribute__ ((packed));
3438+
3439+struct squashfs_fragment_entry {
3440+ long long start_block;
3441+ unsigned int size;
3442+ unsigned int unused;
3443+} __attribute__ ((packed));
3444+
3445+extern int squashfs_uncompress_block(void *d, int dstlen, void *s, int srclen);
3446+extern int squashfs_uncompress_init(void);
3447+extern int squashfs_uncompress_exit(void);
3448+
3449+/*
3450+ * macros to convert each packed bitfield structure from little endian to big
3451+ * endian and vice versa. These are needed when creating or using a filesystem
3452+ * on a machine with different byte ordering to the target architecture.
3453+ *
3454+ */
3455+
3456+#define SQUASHFS_SWAP_START \
3457+ int bits;\
3458+ int b_pos;\
3459+ unsigned long long val;\
3460+ unsigned char *s;\
3461+ unsigned char *d;
3462+
3463+#define SQUASHFS_SWAP_SUPER_BLOCK(s, d) {\
3464+ SQUASHFS_SWAP_START\
3465+ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_super_block));\
3466+ SQUASHFS_SWAP((s)->s_magic, d, 0, 32);\
3467+ SQUASHFS_SWAP((s)->inodes, d, 32, 32);\
3468+ SQUASHFS_SWAP((s)->bytes_used_2, d, 64, 32);\
3469+ SQUASHFS_SWAP((s)->uid_start_2, d, 96, 32);\
3470+ SQUASHFS_SWAP((s)->guid_start_2, d, 128, 32);\
3471+ SQUASHFS_SWAP((s)->inode_table_start_2, d, 160, 32);\
3472+ SQUASHFS_SWAP((s)->directory_table_start_2, d, 192, 32);\
3473+ SQUASHFS_SWAP((s)->s_major, d, 224, 16);\
3474+ SQUASHFS_SWAP((s)->s_minor, d, 240, 16);\
3475+ SQUASHFS_SWAP((s)->block_size_1, d, 256, 16);\
3476+ SQUASHFS_SWAP((s)->block_log, d, 272, 16);\
3477+ SQUASHFS_SWAP((s)->flags, d, 288, 8);\
3478+ SQUASHFS_SWAP((s)->no_uids, d, 296, 8);\
3479+ SQUASHFS_SWAP((s)->no_guids, d, 304, 8);\
3480+ SQUASHFS_SWAP((s)->mkfs_time, d, 312, 32);\
3481+ SQUASHFS_SWAP((s)->root_inode, d, 344, 64);\
3482+ SQUASHFS_SWAP((s)->block_size, d, 408, 32);\
3483+ SQUASHFS_SWAP((s)->fragments, d, 440, 32);\
3484+ SQUASHFS_SWAP((s)->fragment_table_start_2, d, 472, 32);\
3485+ SQUASHFS_SWAP((s)->bytes_used, d, 504, 64);\
3486+ SQUASHFS_SWAP((s)->uid_start, d, 568, 64);\
3487+ SQUASHFS_SWAP((s)->guid_start, d, 632, 64);\
3488+ SQUASHFS_SWAP((s)->inode_table_start, d, 696, 64);\
3489+ SQUASHFS_SWAP((s)->directory_table_start, d, 760, 64);\
3490+ SQUASHFS_SWAP((s)->fragment_table_start, d, 824, 64);\
3491+ SQUASHFS_SWAP((s)->unused, d, 888, 64);\
3492+}
3493+
3494+#define SQUASHFS_SWAP_BASE_INODE_CORE(s, d, n)\
3495+ SQUASHFS_MEMSET(s, d, n);\
3496+ SQUASHFS_SWAP((s)->inode_type, d, 0, 4);\
3497+ SQUASHFS_SWAP((s)->mode, d, 4, 12);\
3498+ SQUASHFS_SWAP((s)->uid, d, 16, 8);\
3499+ SQUASHFS_SWAP((s)->guid, d, 24, 8);\
3500+ SQUASHFS_SWAP((s)->mtime, d, 32, 32);\
3501+ SQUASHFS_SWAP((s)->inode_number, d, 64, 32);
3502+
3503+#define SQUASHFS_SWAP_BASE_INODE_HEADER(s, d, n) {\
3504+ SQUASHFS_SWAP_START\
3505+ SQUASHFS_SWAP_BASE_INODE_CORE(s, d, n)\
3506+}
3507+
3508+#define SQUASHFS_SWAP_IPC_INODE_HEADER(s, d) {\
3509+ SQUASHFS_SWAP_START\
3510+ SQUASHFS_SWAP_BASE_INODE_CORE(s, d, \
3511+ sizeof(struct squashfs_ipc_inode_header))\
3512+ SQUASHFS_SWAP((s)->nlink, d, 96, 32);\
3513+}
3514+
3515+#define SQUASHFS_SWAP_DEV_INODE_HEADER(s, d) {\
3516+ SQUASHFS_SWAP_START\
3517+ SQUASHFS_SWAP_BASE_INODE_CORE(s, d, \
3518+ sizeof(struct squashfs_dev_inode_header)); \
3519+ SQUASHFS_SWAP((s)->nlink, d, 96, 32);\
3520+ SQUASHFS_SWAP((s)->rdev, d, 128, 16);\
3521+}
3522+
3523+#define SQUASHFS_SWAP_SYMLINK_INODE_HEADER(s, d) {\
3524+ SQUASHFS_SWAP_START\
3525+ SQUASHFS_SWAP_BASE_INODE_CORE(s, d, \
3526+ sizeof(struct squashfs_symlink_inode_header));\
3527+ SQUASHFS_SWAP((s)->nlink, d, 96, 32);\
3528+ SQUASHFS_SWAP((s)->symlink_size, d, 128, 16);\
3529+}
3530+
3531+#define SQUASHFS_SWAP_REG_INODE_HEADER(s, d) {\
3532+ SQUASHFS_SWAP_START\
3533+ SQUASHFS_SWAP_BASE_INODE_CORE(s, d, \
3534+ sizeof(struct squashfs_reg_inode_header));\
3535+ SQUASHFS_SWAP((s)->start_block, d, 96, 64);\
3536+ SQUASHFS_SWAP((s)->fragment, d, 160, 32);\
3537+ SQUASHFS_SWAP((s)->offset, d, 192, 32);\
3538+ SQUASHFS_SWAP((s)->file_size, d, 224, 32);\
3539+}
3540+
3541+#define SQUASHFS_SWAP_LREG_INODE_HEADER(s, d) {\
3542+ SQUASHFS_SWAP_START\
3543+ SQUASHFS_SWAP_BASE_INODE_CORE(s, d, \
3544+ sizeof(struct squashfs_lreg_inode_header));\
3545+ SQUASHFS_SWAP((s)->nlink, d, 96, 32);\
3546+ SQUASHFS_SWAP((s)->start_block, d, 128, 64);\
3547+ SQUASHFS_SWAP((s)->fragment, d, 192, 32);\
3548+ SQUASHFS_SWAP((s)->offset, d, 224, 32);\
3549+ SQUASHFS_SWAP((s)->file_size, d, 256, 64);\
3550+}
3551+
3552+#define SQUASHFS_SWAP_DIR_INODE_HEADER(s, d) {\
3553+ SQUASHFS_SWAP_START\
3554+ SQUASHFS_SWAP_BASE_INODE_CORE(s, d, \
3555+ sizeof(struct squashfs_dir_inode_header));\
3556+ SQUASHFS_SWAP((s)->nlink, d, 96, 32);\
3557+ SQUASHFS_SWAP((s)->file_size, d, 128, 19);\
3558+ SQUASHFS_SWAP((s)->offset, d, 147, 13);\
3559+ SQUASHFS_SWAP((s)->start_block, d, 160, 32);\
3560+ SQUASHFS_SWAP((s)->parent_inode, d, 192, 32);\
3561+}
3562+
3563+#define SQUASHFS_SWAP_LDIR_INODE_HEADER(s, d) {\
3564+ SQUASHFS_SWAP_START\
3565+ SQUASHFS_SWAP_BASE_INODE_CORE(s, d, \
3566+ sizeof(struct squashfs_ldir_inode_header));\
3567+ SQUASHFS_SWAP((s)->nlink, d, 96, 32);\
3568+ SQUASHFS_SWAP((s)->file_size, d, 128, 27);\
3569+ SQUASHFS_SWAP((s)->offset, d, 155, 13);\
3570+ SQUASHFS_SWAP((s)->start_block, d, 168, 32);\
3571+ SQUASHFS_SWAP((s)->i_count, d, 200, 16);\
3572+ SQUASHFS_SWAP((s)->parent_inode, d, 216, 32);\
3573+}
3574+
3575+#define SQUASHFS_SWAP_DIR_INDEX(s, d) {\
3576+ SQUASHFS_SWAP_START\
3577+ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_dir_index));\
3578+ SQUASHFS_SWAP((s)->index, d, 0, 32);\
3579+ SQUASHFS_SWAP((s)->start_block, d, 32, 32);\
3580+ SQUASHFS_SWAP((s)->size, d, 64, 8);\
3581+}
3582+
3583+#define SQUASHFS_SWAP_DIR_HEADER(s, d) {\
3584+ SQUASHFS_SWAP_START\
3585+ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_dir_header));\
3586+ SQUASHFS_SWAP((s)->count, d, 0, 8);\
3587+ SQUASHFS_SWAP((s)->start_block, d, 8, 32);\
3588+ SQUASHFS_SWAP((s)->inode_number, d, 40, 32);\
3589+}
3590+
3591+#define SQUASHFS_SWAP_DIR_ENTRY(s, d) {\
3592+ SQUASHFS_SWAP_START\
3593+ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_dir_entry));\
3594+ SQUASHFS_SWAP((s)->offset, d, 0, 13);\
3595+ SQUASHFS_SWAP((s)->type, d, 13, 3);\
3596+ SQUASHFS_SWAP((s)->size, d, 16, 8);\
3597+ SQUASHFS_SWAP((s)->inode_number, d, 24, 16);\
3598+}
3599+
3600+#define SQUASHFS_SWAP_FRAGMENT_ENTRY(s, d) {\
3601+ SQUASHFS_SWAP_START\
3602+ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_fragment_entry));\
3603+ SQUASHFS_SWAP((s)->start_block, d, 0, 64);\
3604+ SQUASHFS_SWAP((s)->size, d, 64, 32);\
3605+}
3606+
3607+#define SQUASHFS_SWAP_SHORTS(s, d, n) {\
3608+ int entry;\
3609+ int bit_position;\
3610+ SQUASHFS_SWAP_START\
3611+ SQUASHFS_MEMSET(s, d, n * 2);\
3612+ for(entry = 0, bit_position = 0; entry < n; entry++, bit_position += \
3613+ 16)\
3614+ SQUASHFS_SWAP(s[entry], d, bit_position, 16);\
3615+}
3616+
3617+#define SQUASHFS_SWAP_INTS(s, d, n) {\
3618+ int entry;\
3619+ int bit_position;\
3620+ SQUASHFS_SWAP_START\
3621+ SQUASHFS_MEMSET(s, d, n * 4);\
3622+ for(entry = 0, bit_position = 0; entry < n; entry++, bit_position += \
3623+ 32)\
3624+ SQUASHFS_SWAP(s[entry], d, bit_position, 32);\
3625+}
3626+
3627+#define SQUASHFS_SWAP_LONG_LONGS(s, d, n) {\
3628+ int entry;\
3629+ int bit_position;\
3630+ SQUASHFS_SWAP_START\
3631+ SQUASHFS_MEMSET(s, d, n * 8);\
3632+ for(entry = 0, bit_position = 0; entry < n; entry++, bit_position += \
3633+ 64)\
3634+ SQUASHFS_SWAP(s[entry], d, bit_position, 64);\
3635+}
3636+
3637+#define SQUASHFS_SWAP_DATA(s, d, n, bits) {\
3638+ int entry;\
3639+ int bit_position;\
3640+ SQUASHFS_SWAP_START\
3641+ SQUASHFS_MEMSET(s, d, n * bits / 8);\
3642+ for(entry = 0, bit_position = 0; entry < n; entry++, bit_position += \
3643+ bits)\
3644+ SQUASHFS_SWAP(s[entry], d, bit_position, bits);\
3645+}
3646+
3647+#define SQUASHFS_SWAP_FRAGMENT_INDEXES(s, d, n) SQUASHFS_SWAP_LONG_LONGS(s, d, n)
3648+
3649+#ifdef CONFIG_SQUASHFS_1_0_COMPATIBILITY
3650+
3651+struct squashfs_base_inode_header_1 {
3652+ unsigned int inode_type:4;
3653+ unsigned int mode:12; /* protection */
3654+ unsigned int uid:4; /* index into uid table */
3655+ unsigned int guid:4; /* index into guid table */
3656+} __attribute__ ((packed));
3657+
3658+struct squashfs_ipc_inode_header_1 {
3659+ unsigned int inode_type:4;
3660+ unsigned int mode:12; /* protection */
3661+ unsigned int uid:4; /* index into uid table */
3662+ unsigned int guid:4; /* index into guid table */
3663+ unsigned int type:4;
3664+ unsigned int offset:4;
3665+} __attribute__ ((packed));
3666+
3667+struct squashfs_dev_inode_header_1 {
3668+ unsigned int inode_type:4;
3669+ unsigned int mode:12; /* protection */
3670+ unsigned int uid:4; /* index into uid table */
3671+ unsigned int guid:4; /* index into guid table */
3672+ unsigned short rdev;
3673+} __attribute__ ((packed));
3674+
3675+struct squashfs_symlink_inode_header_1 {
3676+ unsigned int inode_type:4;
3677+ unsigned int mode:12; /* protection */
3678+ unsigned int uid:4; /* index into uid table */
3679+ unsigned int guid:4; /* index into guid table */
3680+ unsigned short symlink_size;
3681+ char symlink[0];
3682+} __attribute__ ((packed));
3683+
3684+struct squashfs_reg_inode_header_1 {
3685+ unsigned int inode_type:4;
3686+ unsigned int mode:12; /* protection */
3687+ unsigned int uid:4; /* index into uid table */
3688+ unsigned int guid:4; /* index into guid table */
3689+ unsigned int mtime;
3690+ unsigned int start_block;
3691+ unsigned int file_size:32;
3692+ unsigned short block_list[0];
3693+} __attribute__ ((packed));
3694+
3695+struct squashfs_dir_inode_header_1 {
3696+ unsigned int inode_type:4;
3697+ unsigned int mode:12; /* protection */
3698+ unsigned int uid:4; /* index into uid table */
3699+ unsigned int guid:4; /* index into guid table */
3700+ unsigned int file_size:19;
3701+ unsigned int offset:13;
3702+ unsigned int mtime;
3703+ unsigned int start_block:24;
3704+} __attribute__ ((packed));
3705+
3706+#define SQUASHFS_SWAP_BASE_INODE_CORE_1(s, d, n) \
3707+ SQUASHFS_MEMSET(s, d, n);\
3708+ SQUASHFS_SWAP((s)->inode_type, d, 0, 4);\
3709+ SQUASHFS_SWAP((s)->mode, d, 4, 12);\
3710+ SQUASHFS_SWAP((s)->uid, d, 16, 4);\
3711+ SQUASHFS_SWAP((s)->guid, d, 20, 4);
3712+
3713+#define SQUASHFS_SWAP_BASE_INODE_HEADER_1(s, d, n) {\
3714+ SQUASHFS_SWAP_START\
3715+ SQUASHFS_SWAP_BASE_INODE_CORE_1(s, d, n)\
3716+}
3717+
3718+#define SQUASHFS_SWAP_IPC_INODE_HEADER_1(s, d) {\
3719+ SQUASHFS_SWAP_START\
3720+ SQUASHFS_SWAP_BASE_INODE_CORE_1(s, d, \
3721+ sizeof(struct squashfs_ipc_inode_header_1));\
3722+ SQUASHFS_SWAP((s)->type, d, 24, 4);\
3723+ SQUASHFS_SWAP((s)->offset, d, 28, 4);\
3724+}
3725+
3726+#define SQUASHFS_SWAP_DEV_INODE_HEADER_1(s, d) {\
3727+ SQUASHFS_SWAP_START\
3728+ SQUASHFS_SWAP_BASE_INODE_CORE_1(s, d, \
3729+ sizeof(struct squashfs_dev_inode_header_1));\
3730+ SQUASHFS_SWAP((s)->rdev, d, 24, 16);\
3731+}
3732+
3733+#define SQUASHFS_SWAP_SYMLINK_INODE_HEADER_1(s, d) {\
3734+ SQUASHFS_SWAP_START\
3735+ SQUASHFS_SWAP_BASE_INODE_CORE_1(s, d, \
3736+ sizeof(struct squashfs_symlink_inode_header_1));\
3737+ SQUASHFS_SWAP((s)->symlink_size, d, 24, 16);\
3738+}
3739+
3740+#define SQUASHFS_SWAP_REG_INODE_HEADER_1(s, d) {\
3741+ SQUASHFS_SWAP_START\
3742+ SQUASHFS_SWAP_BASE_INODE_CORE_1(s, d, \
3743+ sizeof(struct squashfs_reg_inode_header_1));\
3744+ SQUASHFS_SWAP((s)->mtime, d, 24, 32);\
3745+ SQUASHFS_SWAP((s)->start_block, d, 56, 32);\
3746+ SQUASHFS_SWAP((s)->file_size, d, 88, 32);\
3747+}
3748+
3749+#define SQUASHFS_SWAP_DIR_INODE_HEADER_1(s, d) {\
3750+ SQUASHFS_SWAP_START\
3751+ SQUASHFS_SWAP_BASE_INODE_CORE_1(s, d, \
3752+ sizeof(struct squashfs_dir_inode_header_1));\
3753+ SQUASHFS_SWAP((s)->file_size, d, 24, 19);\
3754+ SQUASHFS_SWAP((s)->offset, d, 43, 13);\
3755+ SQUASHFS_SWAP((s)->mtime, d, 56, 32);\
3756+ SQUASHFS_SWAP((s)->start_block, d, 88, 24);\
3757+}
3758+
3759+#endif
3760+
3761+#ifdef CONFIG_SQUASHFS_2_0_COMPATIBILITY
3762+
3763+struct squashfs_dir_index_2 {
3764+ unsigned int index:27;
3765+ unsigned int start_block:29;
3766+ unsigned char size;
3767+ unsigned char name[0];
3768+} __attribute__ ((packed));
3769+
3770+struct squashfs_base_inode_header_2 {
3771+ unsigned int inode_type:4;
3772+ unsigned int mode:12; /* protection */
3773+ unsigned int uid:8; /* index into uid table */
3774+ unsigned int guid:8; /* index into guid table */
3775+} __attribute__ ((packed));
3776+
3777+struct squashfs_ipc_inode_header_2 {
3778+ unsigned int inode_type:4;
3779+ unsigned int mode:12; /* protection */
3780+ unsigned int uid:8; /* index into uid table */
3781+ unsigned int guid:8; /* index into guid table */
3782+} __attribute__ ((packed));
3783+
3784+struct squashfs_dev_inode_header_2 {
3785+ unsigned int inode_type:4;
3786+ unsigned int mode:12; /* protection */
3787+ unsigned int uid:8; /* index into uid table */
3788+ unsigned int guid:8; /* index into guid table */
3789+ unsigned short rdev;
3790+} __attribute__ ((packed));
3791+
3792+struct squashfs_symlink_inode_header_2 {
3793+ unsigned int inode_type:4;
3794+ unsigned int mode:12; /* protection */
3795+ unsigned int uid:8; /* index into uid table */
3796+ unsigned int guid:8; /* index into guid table */
3797+ unsigned short symlink_size;
3798+ char symlink[0];
3799+} __attribute__ ((packed));
3800+
3801+struct squashfs_reg_inode_header_2 {
3802+ unsigned int inode_type:4;
3803+ unsigned int mode:12; /* protection */
3804+ unsigned int uid:8; /* index into uid table */
3805+ unsigned int guid:8; /* index into guid table */
3806+ unsigned int mtime;
3807+ unsigned int start_block;
3808+ unsigned int fragment;
3809+ unsigned int offset;
3810+ unsigned int file_size:32;
3811+ unsigned short block_list[0];
3812+} __attribute__ ((packed));
3813+
3814+struct squashfs_dir_inode_header_2 {
3815+ unsigned int inode_type:4;
3816+ unsigned int mode:12; /* protection */
3817+ unsigned int uid:8; /* index into uid table */
3818+ unsigned int guid:8; /* index into guid table */
3819+ unsigned int file_size:19;
3820+ unsigned int offset:13;
3821+ unsigned int mtime;
3822+ unsigned int start_block:24;
3823+} __attribute__ ((packed));
3824+
3825+struct squashfs_ldir_inode_header_2 {
3826+ unsigned int inode_type:4;
3827+ unsigned int mode:12; /* protection */
3828+ unsigned int uid:8; /* index into uid table */
3829+ unsigned int guid:8; /* index into guid table */
3830+ unsigned int file_size:27;
3831+ unsigned int offset:13;
3832+ unsigned int mtime;
3833+ unsigned int start_block:24;
3834+ unsigned int i_count:16;
3835+ struct squashfs_dir_index_2 index[0];
3836+} __attribute__ ((packed));
3837+
3838+union squashfs_inode_header_2 {
3839+ struct squashfs_base_inode_header_2 base;
3840+ struct squashfs_dev_inode_header_2 dev;
3841+ struct squashfs_symlink_inode_header_2 symlink;
3842+ struct squashfs_reg_inode_header_2 reg;
3843+ struct squashfs_dir_inode_header_2 dir;
3844+ struct squashfs_ldir_inode_header_2 ldir;
3845+ struct squashfs_ipc_inode_header_2 ipc;
3846+};
3847+
3848+struct squashfs_dir_header_2 {
3849+ unsigned int count:8;
3850+ unsigned int start_block:24;
3851+} __attribute__ ((packed));
3852+
3853+struct squashfs_dir_entry_2 {
3854+ unsigned int offset:13;
3855+ unsigned int type:3;
3856+ unsigned int size:8;
3857+ char name[0];
3858+} __attribute__ ((packed));
3859+
3860+struct squashfs_fragment_entry_2 {
3861+ unsigned int start_block;
3862+ unsigned int size;
3863+} __attribute__ ((packed));
3864+
3865+#define SQUASHFS_SWAP_BASE_INODE_CORE_2(s, d, n)\
3866+ SQUASHFS_MEMSET(s, d, n);\
3867+ SQUASHFS_SWAP((s)->inode_type, d, 0, 4);\
3868+ SQUASHFS_SWAP((s)->mode, d, 4, 12);\
3869+ SQUASHFS_SWAP((s)->uid, d, 16, 8);\
3870+ SQUASHFS_SWAP((s)->guid, d, 24, 8);\
3871+
3872+#define SQUASHFS_SWAP_BASE_INODE_HEADER_2(s, d, n) {\
3873+ SQUASHFS_SWAP_START\
3874+ SQUASHFS_SWAP_BASE_INODE_CORE_2(s, d, n)\
3875+}
3876+
3877+#define SQUASHFS_SWAP_IPC_INODE_HEADER_2(s, d) \
3878+ SQUASHFS_SWAP_BASE_INODE_HEADER_2(s, d, sizeof(struct squashfs_ipc_inode_header_2))
3879+
3880+#define SQUASHFS_SWAP_DEV_INODE_HEADER_2(s, d) {\
3881+ SQUASHFS_SWAP_START\
3882+ SQUASHFS_SWAP_BASE_INODE_CORE_2(s, d, \
3883+ sizeof(struct squashfs_dev_inode_header_2)); \
3884+ SQUASHFS_SWAP((s)->rdev, d, 32, 16);\
3885+}
3886+
3887+#define SQUASHFS_SWAP_SYMLINK_INODE_HEADER_2(s, d) {\
3888+ SQUASHFS_SWAP_START\
3889+ SQUASHFS_SWAP_BASE_INODE_CORE_2(s, d, \
3890+ sizeof(struct squashfs_symlink_inode_header_2));\
3891+ SQUASHFS_SWAP((s)->symlink_size, d, 32, 16);\
3892+}
3893+
3894+#define SQUASHFS_SWAP_REG_INODE_HEADER_2(s, d) {\
3895+ SQUASHFS_SWAP_START\
3896+ SQUASHFS_SWAP_BASE_INODE_CORE_2(s, d, \
3897+ sizeof(struct squashfs_reg_inode_header_2));\
3898+ SQUASHFS_SWAP((s)->mtime, d, 32, 32);\
3899+ SQUASHFS_SWAP((s)->start_block, d, 64, 32);\
3900+ SQUASHFS_SWAP((s)->fragment, d, 96, 32);\
3901+ SQUASHFS_SWAP((s)->offset, d, 128, 32);\
3902+ SQUASHFS_SWAP((s)->file_size, d, 160, 32);\
3903+}
3904+
3905+#define SQUASHFS_SWAP_DIR_INODE_HEADER_2(s, d) {\
3906+ SQUASHFS_SWAP_START\
3907+ SQUASHFS_SWAP_BASE_INODE_CORE_2(s, d, \
3908+ sizeof(struct squashfs_dir_inode_header_2));\
3909+ SQUASHFS_SWAP((s)->file_size, d, 32, 19);\
3910+ SQUASHFS_SWAP((s)->offset, d, 51, 13);\
3911+ SQUASHFS_SWAP((s)->mtime, d, 64, 32);\
3912+ SQUASHFS_SWAP((s)->start_block, d, 96, 24);\
3913+}
3914+
3915+#define SQUASHFS_SWAP_LDIR_INODE_HEADER_2(s, d) {\
3916+ SQUASHFS_SWAP_START\
3917+ SQUASHFS_SWAP_BASE_INODE_CORE_2(s, d, \
3918+ sizeof(struct squashfs_ldir_inode_header_2));\
3919+ SQUASHFS_SWAP((s)->file_size, d, 32, 27);\
3920+ SQUASHFS_SWAP((s)->offset, d, 59, 13);\
3921+ SQUASHFS_SWAP((s)->mtime, d, 72, 32);\
3922+ SQUASHFS_SWAP((s)->start_block, d, 104, 24);\
3923+ SQUASHFS_SWAP((s)->i_count, d, 128, 16);\
3924+}
3925+
3926+#define SQUASHFS_SWAP_DIR_INDEX_2(s, d) {\
3927+ SQUASHFS_SWAP_START\
3928+ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_dir_index_2));\
3929+ SQUASHFS_SWAP((s)->index, d, 0, 27);\
3930+ SQUASHFS_SWAP((s)->start_block, d, 27, 29);\
3931+ SQUASHFS_SWAP((s)->size, d, 56, 8);\
3932+}
3933+#define SQUASHFS_SWAP_DIR_HEADER_2(s, d) {\
3934+ SQUASHFS_SWAP_START\
3935+ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_dir_header_2));\
3936+ SQUASHFS_SWAP((s)->count, d, 0, 8);\
3937+ SQUASHFS_SWAP((s)->start_block, d, 8, 24);\
3938+}
3939+
3940+#define SQUASHFS_SWAP_DIR_ENTRY_2(s, d) {\
3941+ SQUASHFS_SWAP_START\
3942+ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_dir_entry_2));\
3943+ SQUASHFS_SWAP((s)->offset, d, 0, 13);\
3944+ SQUASHFS_SWAP((s)->type, d, 13, 3);\
3945+ SQUASHFS_SWAP((s)->size, d, 16, 8);\
3946+}
3947+
3948+#define SQUASHFS_SWAP_FRAGMENT_ENTRY_2(s, d) {\
3949+ SQUASHFS_SWAP_START\
3950+ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_fragment_entry_2));\
3951+ SQUASHFS_SWAP((s)->start_block, d, 0, 32);\
3952+ SQUASHFS_SWAP((s)->size, d, 32, 32);\
3953+}
3954+
3955+#define SQUASHFS_SWAP_FRAGMENT_INDEXES_2(s, d, n) SQUASHFS_SWAP_INTS(s, d, n)
3956+
3957+/* fragment and fragment table defines */
3958+#define SQUASHFS_FRAGMENT_BYTES_2(A) (A * sizeof(struct squashfs_fragment_entry_2))
3959+
3960+#define SQUASHFS_FRAGMENT_INDEX_2(A) (SQUASHFS_FRAGMENT_BYTES_2(A) / \
3961+ SQUASHFS_METADATA_SIZE)
3962+
3963+#define SQUASHFS_FRAGMENT_INDEX_OFFSET_2(A) (SQUASHFS_FRAGMENT_BYTES_2(A) % \
3964+ SQUASHFS_METADATA_SIZE)
3965+
3966+#define SQUASHFS_FRAGMENT_INDEXES_2(A) ((SQUASHFS_FRAGMENT_BYTES_2(A) + \
3967+ SQUASHFS_METADATA_SIZE - 1) / \
3968+ SQUASHFS_METADATA_SIZE)
3969+
3970+#define SQUASHFS_FRAGMENT_INDEX_BYTES_2(A) (SQUASHFS_FRAGMENT_INDEXES_2(A) *\
3971+ sizeof(int))
3972+
3973+#endif
3974+
3975+#ifdef __KERNEL__
3976+
3977+/*
3978+ * macros used to swap each structure entry, taking into account
3979+ * bitfields and different bitfield placing conventions on differing
3980+ * architectures
3981+ */
3982+
3983+#include <asm/byteorder.h>
3984+
3985+#ifdef __BIG_ENDIAN
3986+ /* convert from little endian to big endian */
3987+#define SQUASHFS_SWAP(value, p, pos, tbits) _SQUASHFS_SWAP(value, p, pos, \
3988+ tbits, b_pos)
3989+#else
3990+ /* convert from big endian to little endian */
3991+#define SQUASHFS_SWAP(value, p, pos, tbits) _SQUASHFS_SWAP(value, p, pos, \
3992+ tbits, 64 - tbits - b_pos)
3993+#endif
3994+
3995+#define _SQUASHFS_SWAP(value, p, pos, tbits, SHIFT) {\
3996+ b_pos = pos % 8;\
3997+ val = 0;\
3998+ s = (unsigned char *)p + (pos / 8);\
3999+ d = ((unsigned char *) &val) + 7;\
4000+ for(bits = 0; bits < (tbits + b_pos); bits += 8) \
4001+ *d-- = *s++;\
4002+ value = (val >> (SHIFT))/* & ((1 << tbits) - 1)*/;\
4003+}
4004+
4005+#define SQUASHFS_MEMSET(s, d, n) memset(s, 0, n);
4006+
4007+#endif
4008+#endif
4009Index: linux-2.6.21/include/linux/squashfs_fs_i.h
4010===================================================================
4011--- /dev/null 1970-01-01 00:00:00.000000000 +0000
4012+++ linux-2.6.21/include/linux/squashfs_fs_i.h 2007-07-01 17:09:57.000000000 +0100
4013@@ -0,0 +1,45 @@
4014+#ifndef SQUASHFS_FS_I
4015+#define SQUASHFS_FS_I
4016+/*
4017+ * Squashfs
4018+ *
4019+ * Copyright (c) 2002, 2003, 2004, 2005, 2006
4020+ * Phillip Lougher <phillip@lougher.org.uk>
4021+ *
4022+ * This program is free software; you can redistribute it and/or
4023+ * modify it under the terms of the GNU General Public License
4024+ * as published by the Free Software Foundation; either version 2,
4025+ * or (at your option) any later version.
4026+ *
4027+ * This program is distributed in the hope that it will be useful,
4028+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
4029+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4030+ * GNU General Public License for more details.
4031+ *
4032+ * You should have received a copy of the GNU General Public License
4033+ * along with this program; if not, write to the Free Software
4034+ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
4035+ *
4036+ * squashfs_fs_i.h
4037+ */
4038+
4039+struct squashfs_inode_info {
4040+ long long start_block;
4041+ unsigned int offset;
4042+ union {
4043+ struct {
4044+ long long fragment_start_block;
4045+ unsigned int fragment_size;
4046+ unsigned int fragment_offset;
4047+ long long block_list_start;
4048+ } s1;
4049+ struct {
4050+ long long directory_index_start;
4051+ unsigned int directory_index_offset;
4052+ unsigned int directory_index_count;
4053+ unsigned int parent_inode;
4054+ } s2;
4055+ } u;
4056+ struct inode vfs_inode;
4057+};
4058+#endif
4059Index: linux-2.6.21/include/linux/squashfs_fs_sb.h
4060===================================================================
4061--- /dev/null 1970-01-01 00:00:00.000000000 +0000
4062+++ linux-2.6.21/include/linux/squashfs_fs_sb.h 2007-07-01 17:09:57.000000000 +0100
4063@@ -0,0 +1,74 @@
4064+#ifndef SQUASHFS_FS_SB
4065+#define SQUASHFS_FS_SB
4066+/*
4067+ * Squashfs
4068+ *
4069+ * Copyright (c) 2002, 2003, 2004, 2005, 2006
4070+ * Phillip Lougher <phillip@lougher.org.uk>
4071+ *
4072+ * This program is free software; you can redistribute it and/or
4073+ * modify it under the terms of the GNU General Public License
4074+ * as published by the Free Software Foundation; either version 2,
4075+ * or (at your option) any later version.
4076+ *
4077+ * This program is distributed in the hope that it will be useful,
4078+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
4079+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4080+ * GNU General Public License for more details.
4081+ *
4082+ * You should have received a copy of the GNU General Public License
4083+ * along with this program; if not, write to the Free Software
4084+ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
4085+ *
4086+ * squashfs_fs_sb.h
4087+ */
4088+
4089+#include <linux/squashfs_fs.h>
4090+
4091+struct squashfs_cache {
4092+ long long block;
4093+ int length;
4094+ long long next_index;
4095+ char *data;
4096+};
4097+
4098+struct squashfs_fragment_cache {
4099+ long long block;
4100+ int length;
4101+ unsigned int locked;
4102+ char *data;
4103+};
4104+
4105+struct squashfs_sb_info {
4106+ struct squashfs_super_block sblk;
4107+ int devblksize;
4108+ int devblksize_log2;
4109+ int swap;
4110+ struct squashfs_cache *block_cache;
4111+ struct squashfs_fragment_cache *fragment;
4112+ int next_cache;
4113+ int next_fragment;
4114+ int next_meta_index;
4115+ unsigned int *uid;
4116+ unsigned int *guid;
4117+ long long *fragment_index;
4118+ unsigned int *fragment_index_2;
4119+ unsigned int read_size;
4120+ char *read_data;
4121+ char *read_page;
4122+ struct semaphore read_data_mutex;
4123+ struct semaphore read_page_mutex;
4124+ struct semaphore block_cache_mutex;
4125+ struct semaphore fragment_mutex;
4126+ struct semaphore meta_index_mutex;
4127+ wait_queue_head_t waitq;
4128+ wait_queue_head_t fragment_wait_queue;
4129+ struct meta_index *meta_index;
4130+ struct inode *(*iget)(struct super_block *s, squashfs_inode_t \
4131+ inode);
4132+ long long (*read_blocklist)(struct inode *inode, int \
4133+ index, int readahead_blks, char *block_list, \
4134+ unsigned short **block_p, unsigned int *bsize);
4135+ int (*read_fragment_index_table)(struct super_block *s);
4136+};
4137+#endif
4138Index: linux-2.6.21/init/do_mounts_rd.c
4139===================================================================
4140--- linux-2.6.21.orig/init/do_mounts_rd.c 2007-04-26 04:08:32.000000000 +0100
4141+++ linux-2.6.21/init/do_mounts_rd.c 2007-07-01 17:09:57.000000000 +0100
4142@@ -5,6 +5,7 @@
4143 #include <linux/ext2_fs.h>
4144 #include <linux/romfs_fs.h>
4145 #include <linux/cramfs_fs.h>
4146+#include <linux/squashfs_fs.h>
4147 #include <linux/initrd.h>
4148 #include <linux/string.h>
4149
4150@@ -39,6 +40,7 @@ static int __init crd_load(int in_fd, in
4151 * numbers could not be found.
4152 *
4153 * We currently check for the following magic numbers:
4154+ * squashfs
4155 * minix
4156 * ext2
4157 * romfs
4158@@ -53,6 +55,7 @@ identify_ramdisk_image(int fd, int start
4159 struct ext2_super_block *ext2sb;
4160 struct romfs_super_block *romfsb;
4161 struct cramfs_super *cramfsb;
4162+ struct squashfs_super_block *squashfsb;
4163 int nblocks = -1;
4164 unsigned char *buf;
4165
4166@@ -64,6 +67,7 @@ identify_ramdisk_image(int fd, int start
4167 ext2sb = (struct ext2_super_block *) buf;
4168 romfsb = (struct romfs_super_block *) buf;
4169 cramfsb = (struct cramfs_super *) buf;
4170+ squashfsb = (struct squashfs_super_block *) buf;
4171 memset(buf, 0xe5, size);
4172
4173 /*
4174@@ -101,6 +105,15 @@ identify_ramdisk_image(int fd, int start
4175 goto done;
4176 }
4177
4178+ /* squashfs is at block zero too */
4179+ if (squashfsb->s_magic == SQUASHFS_MAGIC) {
4180+ printk(KERN_NOTICE
4181+ "RAMDISK: squashfs filesystem found at block %d\n",
4182+ start_block);
4183+ nblocks = (squashfsb->bytes_used+BLOCK_SIZE-1)>>BLOCK_SIZE_BITS;
4184+ goto done;
4185+ }
4186+
4187 /*
4188 * Read block 1 to test for minix and ext2 superblock
4189 */
diff --git a/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/vesafb-tng-1.0-rc2-2.6.20-rc2.patch b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/vesafb-tng-1.0-rc2-2.6.20-rc2.patch
new file mode 100644
index 0000000000..b1b0fc3549
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/vesafb-tng-1.0-rc2-2.6.20-rc2.patch
@@ -0,0 +1,3141 @@
1diff --git a/Documentation/fb/vesafb.txt b/Documentation/fb/vesafb.txt
2index ee277dd..93d6e6e 100644
3--- a/Documentation/fb/vesafb.txt
4+++ b/Documentation/fb/vesafb.txt
5@@ -2,16 +2,18 @@
6 What is vesafb?
7 ===============
8
9-This is a generic driver for a graphic framebuffer on intel boxes.
10+Vesafb is a generic framebuffer driver for x86 and x86_64 boxes.
11
12-The idea is simple: Turn on graphics mode at boot time with the help
13-of the BIOS, and use this as framebuffer device /dev/fb0, like the m68k
14-(and other) ports do.
15+VESA BIOS Extensions Version 2.0 are required, because we need access to
16+a linear frame buffer. VBE 3.0 is required if you want to use modes with a
17+higher (than the standard 60 Hz) refresh rate.
18
19-This means we decide at boot time whenever we want to run in text or
20-graphics mode. Switching mode later on (in protected mode) is
21-impossible; BIOS calls work in real mode only. VESA BIOS Extensions
22-Version 2.0 are required, because we need a linear frame buffer.
23+The VESA framebuffer driver comes in two flavors - the standard 'vesafb'
24+and 'vesafb-tng'. Vesafb-tng is available only on 32-bit x86 due to the
25+technology it uses (vm86). Vesafb-tng has more features than vesafb
26+(adjusting the refresh rate on VBE 3.0 compliant boards, switching the
27+video mode without rebooting, selecting a mode by providing its
28+modedb name, and more).
29
30 Advantages:
31
32@@ -29,26 +31,35 @@ Disadvantages:
33 How to use it?
34 ==============
35
36-Switching modes is done using the vga=... boot parameter. Read
37-Documentation/svga.txt for details.
38+If you are running a 32-bit x86 system and you decide to use vesafb-tng,
39+you can either compile the driver into the kernel or use it as a module.
40+The graphics mode you want to use is in both cases specified using the
41+standard modedb format.
42
43-You should compile in both vgacon (for text mode) and vesafb (for
44-graphics mode). Which of them takes over the console depends on
45-whenever the specified mode is text or graphics.
46+If your system doesn't support vm86 calls, things get a little more tricky.
47+Since on such systems you can't do BIOS calls from protected mode in which
48+kernel runs, you have to decide at boot time whenever you want to run in text
49+or in graphics mode. Switching mode later on is impossible. Switching modes
50+is done using the vga=... boot parameter. Read Documentation/svga.txt for
51+details. Below is a more detailed description of what to do on systems using
52+the standard vesafb driver.
53
54-The graphic modes are NOT in the list which you get if you boot with
55-vga=ask and hit return. The mode you wish to use is derived from the
56-VESA mode number. Here are those VESA mode numbers:
57+You should compile in both vgacon (for text mode) and vesafb (for graphics
58+mode). Which of them takes over the console depends on whenever the
59+specified mode is text or graphics.
60+
61+The graphic modes are NOT in the list which you get if you boot with vga=ask
62+and hit return. The mode you wish to use is derived from the VESA mode number.
63+Here are those VESA mode numbers:
64
65 | 640x480 800x600 1024x768 1280x1024
66 ----+-------------------------------------
67-256 | 0x101 0x103 0x105 0x107
68-32k | 0x110 0x113 0x116 0x119
69-64k | 0x111 0x114 0x117 0x11A
70-16M | 0x112 0x115 0x118 0x11B
71+256 | 0x101 0x103 0x105 0x107
72+32k | 0x110 0x113 0x116 0x119
73+64k | 0x111 0x114 0x117 0x11A
74+16M | 0x112 0x115 0x118 0x11B
75
76-The video mode number of the Linux kernel is the VESA mode number plus
77-0x200.
78+The video mode number of the Linux kernel is the VESA mode number plus 0x200.
79
80 Linux_kernel_mode_number = VESA_mode_number + 0x200
81
82@@ -56,15 +67,15 @@ So the table for the Kernel mode numbers are:
83
84 | 640x480 800x600 1024x768 1280x1024
85 ----+-------------------------------------
86-256 | 0x301 0x303 0x305 0x307
87-32k | 0x310 0x313 0x316 0x319
88-64k | 0x311 0x314 0x317 0x31A
89-16M | 0x312 0x315 0x318 0x31B
90+256 | 0x301 0x303 0x305 0x307
91+32k | 0x310 0x313 0x316 0x319
92+64k | 0x311 0x314 0x317 0x31A
93+16M | 0x312 0x315 0x318 0x31B
94
95-To enable one of those modes you have to specify "vga=ask" in the
96-lilo.conf file and rerun LILO. Then you can type in the desired
97-mode at the "vga=ask" prompt. For example if you like to use
98-1024x768x256 colors you have to say "305" at this prompt.
99+To enable one of those modes you have to specify "vga=ask" in the lilo.conf
100+file and rerun LILO. Then you can type in the desired mode at the "vga=ask"
101+prompt. For example if you like to use 1024x768x256 colors you have to say
102+"305" at this prompt.
103
104 If this does not work, this might be because your BIOS does not support
105 linear framebuffers or because it does not support this mode at all.
106@@ -72,11 +83,12 @@ Even if your board does, it might be the BIOS which does not. VESA BIOS
107 Extensions v2.0 are required, 1.2 is NOT sufficient. You will get a
108 "bad mode number" message if something goes wrong.
109
110-1. Note: LILO cannot handle hex, for booting directly with
111+1. Note: LILO cannot handle hex, for booting directly with
112 "vga=mode-number" you have to transform the numbers to decimal.
113 2. Note: Some newer versions of LILO appear to work with those hex values,
114 if you set the 0x in front of the numbers.
115
116+
117 X11
118 ===
119
120@@ -84,98 +96,164 @@ XF68_FBDev should work just fine, but it is non-accelerated. Running
121 another (accelerated) X-Server like XF86_SVGA might or might not work.
122 It depends on X-Server and graphics board.
123
124-The X-Server must restore the video mode correctly, else you end up
125+The X-Server must restore the video mode correctly, or else you end up
126 with a broken console (and vesafb cannot do anything about this).
127+With vesafb-tng chances are that the console will be restored properly
128+even if the X server messes up the video mode.
129
130
131 Refresh rates
132 =============
133
134-There is no way to change the vesafb video mode and/or timings after
135-booting linux. If you are not happy with the 60 Hz refresh rate, you
136-have these options:
137+With VBE 3.0 compatible BIOSes and vesafb-tng it is possible to change
138+the refresh rate either at boot time (by specifying the @<rr> part of
139+the mode name) or later, using the fbset utility.
140+
141+If you want to use the default BIOS refresh rate while switching modes
142+on a running system, set pixclock to 0.
143
144- * configure and load the DOS-Tools for your the graphics board (if
145- available) and boot linux with loadlin.
146- * use a native driver (matroxfb/atyfb) instead if vesafb. If none
147+With VBE 2.0 there is no way to change the mode timings after booting
148+Linux. If you are not happy with the 60 Hz refresh rate, you have
149+the following options:
150+
151+ * Configure and load the DOS tools for your the graphics board (if
152+ available) and boot Linux with loadlin.
153+ * Use a native driver (matroxfb/atyfb) instead of vesafb. If none
154 is available, write a new one!
155- * VBE 3.0 might work too. I have neither a gfx board with VBE 3.0
156- support nor the specs, so I have not checked this yet.
157+ * Use a BIOS editor to change the default refresh rate (such an
158+ editor does exist at least for ATI Radeon BIOSes).
159+ * If you're running a non-vm86 and VBE 3.0 compatible system, you can
160+ use a kernel patch (vesafb-rrc) to hard-code some mode timings in
161+ the kernel and use these while setting the video mode at boot time.
162+
163+Note that there are some boards (nVidia 59**, 57** and newer models)
164+claiming that their Video BIOS is VBE 3.0 compliant, while ignoring the
165+CRTC values provided by software such as vesafb-tng. You'll not be able
166+to adjust the refresh rate if you're using one of these boards.
167
168
169 Configuration
170 =============
171
172-The VESA BIOS provides protected mode interface for changing
173-some parameters. vesafb can use it for palette changes and
174-to pan the display. It is turned off by default because it
175-seems not to work with some BIOS versions, but there are options
176-to turn it on.
177-
178-You can pass options to vesafb using "video=vesafb:option" on
179-the kernel command line. Multiple options should be separated
180-by comma, like this: "video=vesafb:ypan,invers"
181-
182-Accepted options:
183-
184-invers no comment...
185-
186-ypan enable display panning using the VESA protected mode
187- interface. The visible screen is just a window of the
188- video memory, console scrolling is done by changing the
189- start of the window.
190- pro: * scrolling (fullscreen) is fast, because there is
191- no need to copy around data.
192- * You'll get scrollback (the Shift-PgUp thing),
193- the video memory can be used as scrollback buffer
194- kontra: * scrolling only parts of the screen causes some
195- ugly flicker effects (boot logo flickers for
196- example).
197-
198-ywrap Same as ypan, but assumes your gfx board can wrap-around
199- the video memory (i.e. starts reading from top if it
200- reaches the end of video memory). Faster than ypan.
201-
202-redraw scroll by redrawing the affected part of the screen, this
203- is the safe (and slow) default.
204-
205-
206-vgapal Use the standard vga registers for palette changes.
207- This is the default.
208-pmipal Use the protected mode interface for palette changes.
209-
210-mtrr:n setup memory type range registers for the vesafb framebuffer
211- where n:
212- 0 - disabled (equivalent to nomtrr) (default)
213- 1 - uncachable
214- 2 - write-back
215- 3 - write-combining
216- 4 - write-through
217-
218- If you see the following in dmesg, choose the type that matches the
219- old one. In this example, use "mtrr:2".
220+The VESA BIOS provides protected mode interface for changing some parameters.
221+vesafb can use it for palette changes and to pan the display. It is turned
222+off by default because it seems not to work with some BIOS versions, but
223+there are options to turn it on.
224+
225+You can pass options to vesafb using "video=vesafb:option" on the kernel
226+command line. Multiple options should be separated by a comma, like this:
227+"video=vesafb:ypan,1024x768-32@85"
228+
229+Note that vesafb-tng still uses the "video=vesafb:option" format of the
230+kernel command line video parameter. "video=vesafb-tng:xxx" is incorrect.
231+
232+Accepted options (both vesafb and vesafb-tng):
233+
234+ypan Enable display panning using the VESA protected mode interface
235+ The visible screen is just a window of the video memory,
236+ console scrolling is done by changing the start of the window.
237+ pro: * scrolling (fullscreen) is fast, because there is
238+ no need to copy around data.
239+ * you'll get scrollback (the Shift-PgUp thing),
240+ the video memory can be used as scrollback buffer
241+ con: * scrolling only parts of the screen causes some
242+ ugly flicker effects (boot logo flickers for
243+ example).
244+
245+ywrap Same as ypan, but assumes your gfx board can wrap-around the video
246+ memory (i.e. starts reading from top if it reaches the end of
247+ video memory). Faster than ypan.
248+
249+redraw Scroll by redrawing the affected part of the screen, this is the
250+ safe (and slow) default.
251+
252+vgapal Use the standard VGA registers for palette changes.
253+
254+pmipal Use the protected mode interface for palette changes.
255+ This is the default is the protected mode interface is available.
256+
257+mtrr:n Setup memory type range registers for the vesafb framebuffer
258+ where n:
259+ 0 - disabled (equivalent to nomtrr) (default)
260+ 1 - uncachable
261+ 2 - write-back
262+ 3 - write-combining
263+ 4 - write-through
264+
265+ If you see the following in dmesg, choose the type that matches
266+ the old one. In this example, use "mtrr:2".
267 ...
268 mtrr: type mismatch for e0000000,8000000 old: write-back new: write-combining
269 ...
270
271-nomtrr disable mtrr
272+nomtrr Do not use memory type range registers for vesafb.
273
274 vremap:n
275 remap 'n' MiB of video RAM. If 0 or not specified, remap memory
276- according to video mode. (2.5.66 patch/idea by Antonino Daplas
277- reversed to give override possibility (allocate more fb memory
278- than the kernel would) to 2.4 by tmb@iki.fi)
279+ according to video mode. (2.5.66 patch/idea by Antonino Daplas
280+ reversed to give override possibility (allocate more fb memory
281+ than the kernel would) to 2.4 by tmb@iki.fi)
282
283 vtotal:n
284 if the video BIOS of your card incorrectly determines the total
285 amount of video RAM, use this option to override the BIOS (in MiB).
286
287-Have fun!
288+Options accepted only by vesafb-tng:
289+
290+<mode> The mode you want to set, in the standard modedb format. Refer to
291+ modedb.txt for a detailed description. If you specify a mode that is
292+ not supported by your board's BIOS, vesafb-tng will attempt to set a
293+ similar mode. The list of supported modes can be found in
294+ /proc/fbx/modes, where x is the framebuffer number (usually 0).
295+ When vesafb-tng is compiled as a module, the mode string should be
296+ provided as a value of the parameter 'mode'.
297+
298+vbemode:x
299+ Force the use of VBE mode x. The mode will only be set if it's
300+ found in the VBE-provided list of supported modes.
301+ NOTE: The mode number 'x' should be specified in VESA mode number
302+ notation, not the Linux kernel one (eg. 257 instead of 769).
303+ HINT: If you use this option because normal <mode> parameter does
304+ not work for you and you use a X server, you'll probably want to
305+ set the 'nocrtc' option to ensure that the video mode is properly
306+ restored after console <-> X switches.
307+
308+nocrtc Do not use CRTC timings while setting the video mode. This option
309+ makes sence only with VBE 3.0 compliant systems. Use it if you have
310+ problems with modes set in the standard way. Note that using this
311+ option means that any refresh rate adjustments will be ignored
312+ and the refresh rate will stay at your BIOS default (60 Hz).
313+
314+noedid Do not try to fetch and use EDID-provided modes.
315+
316+noblank Disable hardware blanking.
317+
318+gtf Force the use of VESA's GTF (Generalized Timing Formula). Specifying
319+ this will cause vesafb to skip its internal modedb and EDID-modedb
320+ and jump straight to the GTF part of the code (normally used only if
321+ everything else failed). This can be useful if you want to get as
322+ much as possible from your graphics board but your BIOS doesn't
323+ support modes with the refresh rates you require. Note that you may
324+ need to specify the maxhf, maxvf and maxclk parameters if they are not
325+ provided by the EDID block.
326+
327+Additionally, the following parameters may be provided. They all override the
328+EDID-provided values and BIOS defaults. Refer to your monitor's specs to get
329+the correct values for maxhf, maxvf and maxclk for your hardware.
330+
331+maxhf:n Maximum horizontal frequency (in kHz).
332+maxvf:n Maximum vertical frequency (in Hz).
333+maxclk:n Maximum pixel clock (in MHz).
334
335- Gerd
336+Have fun!
337
338 --
339+Original document for the vesafb driver by
340 Gerd Knorr <kraxel@goldbach.in-berlin.de>
341
342-Minor (mostly typo) changes
343-by Nico Schmoigl <schmoigl@rumms.uni-mannheim.de>
344+Minor (mostly typo) changes by
345+Nico Schmoigl <schmoigl@rumms.uni-mannheim.de>
346+
347+Extended documentation for vm86, VBE 3.0 and vesafb-tng by
348+Michal Januszewski <spock@gentoo.org>
349+
350diff --git a/arch/i386/boot/video.S b/arch/i386/boot/video.S
351index 2c5b5cc..2c2d4b5 100644
352--- a/arch/i386/boot/video.S
353+++ b/arch/i386/boot/video.S
354@@ -163,10 +163,12 @@ basret: ret
355 # parameters in the default 80x25 mode -- these are set directly,
356 # because some very obscure BIOSes supply insane values.
357 mode_params:
358+#ifdef CONFIG_FB_VESA_STD
359 #ifdef CONFIG_VIDEO_SELECT
360 cmpb $0, graphic_mode
361 jnz mopar_gr
362 #endif
363+#endif
364 movb $0x03, %ah # Read cursor position
365 xorb %bh, %bh
366 int $0x10
367@@ -199,6 +201,7 @@ mopar2: movb %al, %fs:(PARAM_VIDEO_LINES)
368 ret
369
370 #ifdef CONFIG_VIDEO_SELECT
371+#ifdef CONFIG_FB_VESA_STD
372 # Fetching of VESA frame buffer parameters
373 mopar_gr:
374 leaw modelist+1024, %di
375@@ -281,6 +284,7 @@ dac_done:
376 movw %es, %fs:(PARAM_VESAPM_SEG)
377 movw %di, %fs:(PARAM_VESAPM_OFF)
378 no_pm: ret
379+#endif
380
381 # The video mode menu
382 mode_menu:
383@@ -495,10 +499,12 @@ mode_set:
384
385 cmpb $VIDEO_FIRST_V7>>8, %ah
386 jz setv7
387-
388+
389+#ifdef CONFIG_FB_VESA_STD
390 cmpb $VIDEO_FIRST_VESA>>8, %ah
391 jnc check_vesa
392-
393+#endif
394+
395 orb %ah, %ah
396 jz setmenu
397
398@@ -570,6 +576,7 @@ setr1: lodsw
399 movw -4(%si), %ax # Fetch mode ID
400 jmp _m_s
401
402+#ifdef CONFIG_FB_VESA_STD
403 check_vesa:
404 leaw modelist+1024, %di
405 subb $VIDEO_FIRST_VESA>>8, %bh
406@@ -603,6 +610,7 @@ check_vesa:
407 ret
408
409 _setbad: jmp setbad # Ugly...
410+#endif
411
412 # Recalculate vertical display end registers -- this fixes various
413 # inconsistencies of extended modes on many adapters. Called when
414diff --git a/drivers/char/sysrq.c b/drivers/char/sysrq.c
415index 1393523..8a05f95 100644
416--- a/drivers/char/sysrq.c
417+++ b/drivers/char/sysrq.c
418@@ -240,7 +240,7 @@ static void send_sig_all(int sig)
419 struct task_struct *p;
420
421 for_each_process(p) {
422- if (p->mm && !is_init(p))
423+ if (p->mm && !is_init(p) && !(p->flags & PF_BORROWED_MM))
424 /* Not swapper, init nor kernel thread */
425 force_sig(sig, p);
426 }
427diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
428index 4e83f01..ae122fd 100644
429--- a/drivers/video/Kconfig
430+++ b/drivers/video/Kconfig
431@@ -547,8 +547,22 @@ config FB_TGA
432 cards. Say Y if you have one of those.
433
434 config FB_VESA
435- bool "VESA VGA graphics support"
436- depends on (FB = y) && X86
437+ tristate "VESA VGA graphics support"
438+ depends on (FB = y) && (X86 || X86_64)
439+ help
440+ This is the frame buffer device driver for generic VESA 2.0
441+ compliant graphic cards. The older VESA 1.2 cards are not supported.
442+ You will get a boot time penguin logo at no additional cost. Please
443+ read <file:Documentation/fb/vesafb.txt>. If unsure, say Y.
444+
445+choice
446+ prompt "VESA driver type"
447+ depends on FB_VESA
448+ default FB_VESA_STD if X86_64
449+ default FB_VESA_TNG if X86
450+
451+config FB_VESA_STD
452+ bool "vesafb"
453 select FB_CFB_FILLRECT
454 select FB_CFB_COPYAREA
455 select FB_CFB_IMAGEBLIT
456@@ -557,7 +571,43 @@ config FB_VESA
457 This is the frame buffer device driver for generic VESA 2.0
458 compliant graphic cards. The older VESA 1.2 cards are not supported.
459 You will get a boot time penguin logo at no additional cost. Please
460- read <file:Documentation/fb/vesafb.txt>. If unsure, say Y.
461+ read <file:Documentation/fb/vesafb.txt>. Choose this driver if you
462+ are experiencing problems with vesafb-tng or if you own a 64-bit system.
463+
464+ Note that this driver cannot be compiled as a module.
465+
466+config FB_VESA_TNG
467+ bool "vesafb-tng"
468+ depends on !X86_64
469+ select FB_MODE_HELPERS
470+ select FB_CFB_FILLRECT
471+ select FB_CFB_COPYAREA
472+ select FB_CFB_IMAGEBLIT
473+ help
474+ This is an enhanced generic frame buffer device driver for
475+ VBE 2.0 compliant graphic cards. It can take advantage of VBE 3.0
476+ features (refresh rate adjustment) when these are available.
477+ The driver also makes it possible to change the video mode
478+ on the fly and to switch back to text mode when it's unloaded.
479+
480+ If the driver is compiled as a module, the module will be called
481+ vesafb-tng.
482+
483+endchoice
484+
485+config FB_VESA_DEFAULT_MODE
486+ string "VESA default mode"
487+ depends on FB_VESA_TNG
488+ default "640x480@60"
489+ help
490+ This option is used to determine the default mode vesafb is
491+ supposed to switch to in case no mode is provided as a kernel
492+ command line parameter.
493+
494+config VIDEO_SELECT
495+ bool
496+ depends on FB_VESA
497+ default y
498
499 config FB_IMAC
500 bool "Intel-based Macintosh Framebuffer Support"
501diff --git a/drivers/video/Makefile b/drivers/video/Makefile
502index 309a26d..e57b0e7 100644
503--- a/drivers/video/Makefile
504+++ b/drivers/video/Makefile
505@@ -102,7 +102,11 @@ obj-$(CONFIG_FB_PNX4008_DUM_RGB) += pnx4008/
506 obj-$(CONFIG_FB_IBM_GXT4500) += gxt4500.o
507
508 # Platform or fallback drivers go here
509-obj-$(CONFIG_FB_VESA) += vesafb.o
510+ifeq ($(CONFIG_FB_VESA_STD),y)
511+ obj-y += vesafb.o
512+else
513+ obj-$(CONFIG_FB_VESA) += vesafb-thread.o vesafb-tng.o
514+endif
515 obj-$(CONFIG_FB_IMAC) += imacfb.o
516 obj-$(CONFIG_FB_VGA16) += vga16fb.o vgastate.o
517 obj-$(CONFIG_FB_OF) += offb.o
518diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c
519index 3cfea31..bfb39cc 100644
520--- a/drivers/video/fbmem.c
521+++ b/drivers/video/fbmem.c
522@@ -1408,6 +1408,7 @@ fbmem_init(void)
523 printk(KERN_WARNING "Unable to create fb class; errno = %ld\n", PTR_ERR(fb_class));
524 fb_class = NULL;
525 }
526+
527 return 0;
528 }
529
530diff --git a/drivers/video/modedb.c b/drivers/video/modedb.c
531index 5df41f6..f838a53 100644
532--- a/drivers/video/modedb.c
533+++ b/drivers/video/modedb.c
534@@ -674,6 +674,7 @@ void fb_var_to_videomode(struct fb_videomode *mode,
535 {
536 u32 pixclock, hfreq, htotal, vtotal;
537
538+ mode->refresh = 0;
539 mode->name = NULL;
540 mode->xres = var->xres;
541 mode->yres = var->yres;
542@@ -1025,3 +1026,4 @@ EXPORT_SYMBOL(fb_find_best_mode);
543 EXPORT_SYMBOL(fb_find_nearest_mode);
544 EXPORT_SYMBOL(fb_videomode_to_modelist);
545 EXPORT_SYMBOL(fb_find_mode);
546+EXPORT_SYMBOL(fb_destroy_modelist);
547diff --git a/drivers/video/vesafb-thread.c b/drivers/video/vesafb-thread.c
548new file mode 100644
549index 0000000..543e202
550--- /dev/null
551+++ b/drivers/video/vesafb-thread.c
552@@ -0,0 +1,751 @@
553+/*
554+ * Framebuffer driver for VBE 2.0+ compliant graphic boards.
555+ * Kernel thread and vm86 routines.
556+ *
557+ * (c) 2004-2006 Michal Januszewski <spock@gentoo.org>
558+ *
559+ */
560+
561+#include <linux/workqueue.h>
562+#include <linux/completion.h>
563+#include <linux/module.h>
564+#include <linux/kernel.h>
565+#include <linux/errno.h>
566+#include <linux/mm.h>
567+#include <linux/delay.h>
568+#include <linux/signal.h>
569+#include <linux/freezer.h>
570+#include <linux/suspend.h>
571+#include <linux/unistd.h>
572+#include <video/vesa.h>
573+#include <video/edid.h>
574+#include <asm/mman.h>
575+#include <asm/page.h>
576+#include <asm/vm86.h>
577+#include <asm/thread_info.h>
578+#include <asm/uaccess.h>
579+#include <asm/mmu_context.h>
580+#include "edid.h"
581+
582+static int errno;
583+
584+static DECLARE_COMPLETION(vesafb_th_completion);
585+static DECLARE_MUTEX(vesafb_task_list_sem);
586+static LIST_HEAD(vesafb_task_list);
587+static DECLARE_WAIT_QUEUE_HEAD(vesafb_wait);
588+
589+static struct vm86_struct vm86;
590+static int vesafb_pid = 0;
591+
592+#define DEFAULT_VM86_FLAGS (IF_MASK | IOPL_MASK)
593+#define VM86_PUSHW(x) \
594+do { \
595+ vm86.regs.esp -= 2; \
596+ *(u16*)(STACK_ADDR + vm86.regs.esp) = x; \
597+} while(0);
598+
599+/* Stack, the return code and buffers will be put into
600+ * one contiguous memory chunk:
601+ *
602+ * [ STACK | RET_CODE | BUFFER ]
603+ *
604+ * Some video BIOSes (sis6326) try to store data somewhere
605+ * in 0x7000-0x7fff, so we zeromap more memory to be safe.
606+ */
607+#define IVTBDA_SIZE PAGE_SIZE
608+#define RET_CODE_SIZE 0x0010
609+#define STACK_SIZE 0x0500
610+#define BUFFER_SIZE 0x10000
611+
612+/* The amount of memory that will be allocated should be a multiple
613+ * of PAGE_SIZE. */
614+#define __MEM_SIZE (RET_CODE_SIZE + STACK_SIZE + BUFFER_SIZE)
615+#define REAL_MEM_SIZE (((__MEM_SIZE / PAGE_SIZE) + 1) * PAGE_SIZE)
616+
617+#define IVTBDA_ADDR 0x00000
618+#define STACK_ADDR (IVTBDA_ADDR + IVTBDA_SIZE)
619+#define RET_CODE_ADDR (STACK_ADDR + STACK_SIZE)
620+#define BUF_ADDR (RET_CODE_ADDR + RET_CODE_SIZE)
621+
622+#define FLAG_D (1 << 10)
623+
624+/* Syscalls used by the vesafb thread */
625+static int vm86old(struct vm86_struct __user* v86)
626+{
627+ long res;
628+ __asm__ volatile ("push %%ebx; movl %2, %%ebx ; int $0x80 ; pop %%ebx"
629+ : "=a" (res)
630+ : "0" (__NR_vm86old), "ri" ((long)(v86)) : "memory");
631+
632+ if ((unsigned long)(res) >= (unsigned long)(-MAX_ERRNO)) {
633+ errno = -res;
634+ res = -1;
635+ }
636+ return (int)res;
637+}
638+
639+static int ioperm(unsigned long a, unsigned long b, unsigned long c)
640+{
641+ long res;
642+ __asm__ volatile ("push %%ebx; movl %2, %%ebx ; int $0x80 ; pop %%ebx"
643+ : "=a" (res)
644+ : "0" (__NR_ioperm), "ri" ((long)(a)), "c" ((long)(b)),
645+ "d" ((long)(c)) : "memory");
646+
647+ if ((unsigned long)(res) >= (unsigned long)(-MAX_ERRNO)) {
648+ errno = -res;
649+ res = -1;
650+ }
651+ return (int)res;
652+}
653+
654+/* Segment prefix opcodes */
655+enum {
656+ P_CS = 0x2e,
657+ P_SS = 0x36,
658+ P_DS = 0x3e,
659+ P_ES = 0x26,
660+ P_FS = 0x64,
661+ P_GS = 0x65
662+};
663+
664+/* Emulated vm86 ins instruction */
665+static void vm86_ins(int size)
666+{
667+ u32 edx, edi;
668+ edx = vm86.regs.edx & 0xffff;
669+ edi = (vm86.regs.edi & 0xffff) + (u32)(vm86.regs.es << 4);
670+
671+ if (vm86.regs.eflags & FLAG_D)
672+ asm volatile ("std\n");
673+ else
674+ asm volatile ("cld\n");
675+
676+ switch (size) {
677+ case 4:
678+ asm volatile ("insl\n" : "=D" (edi) : "d" (edx), "0" (edi));
679+ break;
680+ case 2:
681+ asm volatile ("insw\n" : "=D" (edi) : "d" (edx), "0" (edi));
682+ break;
683+ case 1:
684+ asm volatile ("insb\n" : "=D" (edi) : "d" (edx), "0" (edi));
685+ break;
686+ }
687+
688+ if (vm86.regs.eflags & FLAG_D)
689+ asm volatile ("cld\n");
690+
691+ edi -= (u32)(vm86.regs.es << 4);
692+
693+ vm86.regs.edi &= 0xffff0000;
694+ vm86.regs.edi |= edi & 0xffff;
695+}
696+
697+static void vm86_rep_ins(int size)
698+{
699+ u16 cx = vm86.regs.ecx;
700+ while (cx--)
701+ vm86_ins(size);
702+
703+ vm86.regs.ecx &= 0xffff0000;
704+}
705+
706+/* Emulated vm86 outs instruction */
707+static void vm86_outs(int size, int segment)
708+{
709+ u32 edx, esi, base;
710+
711+ edx = vm86.regs.edx & 0xffff;
712+ esi = vm86.regs.esi & 0xffff;
713+
714+ switch (segment) {
715+ case P_CS: base = vm86.regs.cs; break;
716+ case P_SS: base = vm86.regs.ss; break;
717+ case P_ES: base = vm86.regs.es; break;
718+ case P_FS: base = vm86.regs.fs; break;
719+ case P_GS: base = vm86.regs.gs; break;
720+ default: base = vm86.regs.ds; break;
721+ }
722+
723+ esi += base << 4;
724+
725+ if (vm86.regs.eflags & FLAG_D)
726+ asm volatile ("std\n");
727+ else
728+ asm volatile ("cld\n");
729+
730+ switch (size) {
731+ case 4:
732+ asm volatile ("outsl\n" : "=S" (esi) : "d" (edx), "0" (esi));
733+ break;
734+ case 2:
735+ asm volatile ("outsw\n" : "=S" (esi) : "d" (edx), "0" (esi));
736+ break;
737+ case 1:
738+ asm volatile ("outsb\n" : "=S" (esi) : "d" (edx), "0" (esi));
739+ break;
740+ }
741+
742+ if (vm86.regs.eflags & FLAG_D)
743+ asm volatile ("cld");
744+
745+ esi -= base << 4;
746+ vm86.regs.esi &= 0xffff0000;
747+ vm86.regs.esi |= (esi & 0xffff);
748+}
749+
750+static void vm86_rep_outs(int size, int segment)
751+{
752+ u16 cx = vm86.regs.ecx;
753+ while (cx--)
754+ vm86_outs(size, segment);
755+
756+ vm86.regs.ecx &= 0xffff0000;
757+}
758+
759+static int vm86_do_unknown(void)
760+{
761+ u8 data32 = 0, segment = P_DS, rep = 0;
762+ u8 *instr;
763+ int ret = 0, i = 0;
764+
765+ instr = (u8*)((vm86.regs.cs << 4) + vm86.regs.eip);
766+
767+ while (1) {
768+ switch(instr[i]) {
769+ case 0x66: /* operand size prefix */
770+ data32 = 1 - data32;
771+ i++;
772+ break;
773+ case 0xf2: /* repnz */
774+ case 0xf3: /* rep */
775+ rep = 1;
776+ i++;
777+ break;
778+ case P_CS: /* segment prefix */
779+ case P_SS:
780+ case P_DS:
781+ case P_ES:
782+ case P_FS:
783+ case P_GS:
784+ segment = instr[i];
785+ i++;
786+ break;
787+ case 0xf0: /* LOCK - ignored */
788+ case 0x67: /* address size prefix - ignored */
789+ i++;
790+ break;
791+ case 0x6c: /* insb */
792+ if (rep)
793+ vm86_rep_ins(1);
794+ else
795+ vm86_ins(1);
796+ i++;
797+ goto out;
798+ case 0x6d: /* insw / insd */
799+ if (rep) {
800+ if (data32)
801+ vm86_rep_ins(4);
802+ else
803+ vm86_rep_ins(2);
804+ } else {
805+ if (data32)
806+ vm86_ins(4);
807+ else
808+ vm86_ins(2);
809+ }
810+ i++;
811+ goto out;
812+ case 0x6e: /* outsb */
813+ if (rep)
814+ vm86_rep_outs(1, segment);
815+ else
816+ vm86_outs(1, segment);
817+ i++;
818+ goto out;
819+ case 0x6f: /* outsw / outsd */
820+ if (rep) {
821+ if (data32)
822+ vm86_rep_outs(4, segment);
823+ else
824+ vm86_rep_outs(2, segment);
825+ } else {
826+ if (data32)
827+ vm86_outs(4, segment);
828+ else
829+ vm86_outs(2, segment);
830+ }
831+ i++;
832+ goto out;
833+ case 0xe4: /* inb xx */
834+ asm volatile (
835+ "inb %w1, %b0"
836+ : "=a" (vm86.regs.eax)
837+ : "d" (instr[i+1]), "0" (vm86.regs.eax));
838+ i += 2;
839+ goto out;
840+ case 0xe5: /* inw xx / ind xx */
841+ if (data32) {
842+ asm volatile (
843+ "inl %w1, %0"
844+ : "=a" (vm86.regs.eax)
845+ : "d" (instr[i+1]),
846+ "0" (vm86.regs.eax));
847+ } else {
848+ asm volatile (
849+ "inw %w1, %w0"
850+ : "=a" (vm86.regs.eax)
851+ : "d" (instr[i+1]),
852+ "0" (vm86.regs.eax));
853+ }
854+ i += 2;
855+ goto out;
856+
857+ case 0xec: /* inb dx */
858+ asm volatile (
859+ "inb %w1, %b0"
860+ : "=a" (vm86.regs.eax)
861+ : "d" (vm86.regs.edx), "0" (vm86.regs.eax));
862+ i++;
863+ goto out;
864+ case 0xed: /* inw dx / ind dx */
865+ if (data32) {
866+ asm volatile (
867+ "inl %w1, %0"
868+ : "=a" (vm86.regs.eax)
869+ : "d" (vm86.regs.edx));
870+ } else {
871+ asm volatile (
872+ "inw %w1, %w0"
873+ : "=a" (vm86.regs.eax)
874+ : "d" (vm86.regs.edx));
875+ }
876+ i++;
877+ goto out;
878+ case 0xe6: /* outb xx */
879+ asm volatile (
880+ "outb %b0, %w1"
881+ : /* no return value */
882+ : "a" (vm86.regs.eax), "d" (instr[i+1]));
883+ i += 2;
884+ goto out;
885+ case 0xe7: /* outw xx / outd xx */
886+ if (data32) {
887+ asm volatile (
888+ "outl %0, %w1"
889+ : /* no return value */
890+ : "a" (vm86.regs.eax),
891+ "d" (instr[i+1]));
892+ } else {
893+ asm volatile (
894+ "outw %w0, %w1"
895+ : /* no return value */
896+ : "a" (vm86.regs.eax),
897+ "d" (instr[i+1]));
898+ }
899+ i += 2;
900+ goto out;
901+ case 0xee: /* outb dx */
902+ asm volatile (
903+ "outb %b0, %w1"
904+ : /* no return value */
905+ : "a" (vm86.regs.eax), "d" (vm86.regs.edx));
906+ i++;
907+ goto out;
908+ case 0xef: /* outw dx / outd dx */
909+ if (data32) {
910+ asm volatile (
911+ "outl %0, %w1"
912+ : /* no return value */
913+ : "a" (vm86.regs.eax),
914+ "d" (vm86.regs.edx));
915+ } else {
916+ asm volatile (
917+ "outw %w0, %w1"
918+ : /* no return value */
919+ : "a" (vm86.regs.eax),
920+ "d" (vm86.regs.edx));
921+ }
922+ i++;
923+ goto out;
924+ default:
925+ printk(KERN_ERR "vesafb: BUG, opcode 0x%x emulation "
926+ "not supported (EIP: 0x%lx)\n",
927+ instr[i], (u32)(vm86.regs.cs << 4) +
928+ vm86.regs.eip);
929+ ret = 1;
930+ goto out;
931+ }
932+ }
933+out: vm86.regs.eip += i;
934+ return ret;
935+}
936+
937+void vesafb_do_vm86(struct vm86_regs *regs)
938+{
939+ unsigned int ret;
940+ u8 *retcode = (void*)RET_CODE_ADDR;
941+
942+ memset(&vm86,0,sizeof(vm86));
943+ memcpy(&vm86.regs, regs, sizeof(struct vm86_regs));
944+
945+ /* The return code */
946+ retcode[0] = 0xcd; /* int opcode */
947+ retcode[1] = 0xff; /* int number (255) */
948+
949+ /* We use int 0xff to get back to protected mode */
950+ memset(&vm86.int_revectored, 0, sizeof(vm86.int_revectored));
951+ ((unsigned char *)&vm86.int_revectored)[0xff / 8] |= (1 << (0xff % 8));
952+
953+ /*
954+ * We want to call int 0x10, so we set:
955+ * CS = 0x42 = 0x10 * 4 + 2
956+ * IP = 0x40 = 0x10 * 4
957+ * and SS:ESP. It's up to the caller to set the rest of the registers.
958+ */
959+ vm86.regs.eflags = DEFAULT_VM86_FLAGS;
960+ vm86.regs.cs = *(unsigned short *)0x42;
961+ vm86.regs.eip = *(unsigned short *)0x40;
962+ vm86.regs.ss = (STACK_ADDR >> 4);
963+ vm86.regs.esp = ((STACK_ADDR & 0x0000f) + STACK_SIZE);
964+
965+ /* These will be fetched off the stack when we come to an iret in the
966+ * int's 0x10 code. */
967+ VM86_PUSHW(DEFAULT_VM86_FLAGS);
968+ VM86_PUSHW((RET_CODE_ADDR >> 4)); /* return code segment */
969+ VM86_PUSHW((RET_CODE_ADDR & 0x0000f)); /* return code offset */
970+
971+ while(1) {
972+ ret = vm86old(&vm86);
973+
974+ if (VM86_TYPE(ret) == VM86_INTx) {
975+ int vint = VM86_ARG(ret);
976+
977+ /* If exit from vm86 was caused by int 0xff, then
978+ * we're done.. */
979+ if (vint == 0xff)
980+ goto out;
981+
982+ /* .. otherwise, we have to call the int handler
983+ * manually */
984+ VM86_PUSHW(vm86.regs.eflags);
985+ VM86_PUSHW(vm86.regs.cs);
986+ VM86_PUSHW(vm86.regs.eip);
987+
988+ vm86.regs.cs = *(u16 *)((vint << 2) + 2);
989+ vm86.regs.eip = *(u16 *)(vint << 2);
990+ vm86.regs.eflags &= ~(VIF_MASK | TF_MASK);
991+ } else if (VM86_TYPE(ret) == VM86_UNKNOWN) {
992+ if (vm86_do_unknown())
993+ goto out;
994+ } else {
995+ printk(KERN_ERR "vesafb: BUG, returned from "
996+ "vm86 with %x (EIP: 0x%lx)\n",
997+ ret, (u32)(vm86.regs.cs << 4) +
998+ vm86.regs.eip);
999+ goto out;
1000+ }
1001+ }
1002+
1003+out: /* copy the registers' state back to the caller's struct */
1004+ memcpy(regs, &vm86.regs, sizeof(struct vm86_regs));
1005+}
1006+
1007+static int vesafb_remap_pfn_range(unsigned long start, unsigned long end,
1008+ unsigned long pgoff, unsigned long prot,
1009+ int type)
1010+{
1011+ struct vm_area_struct *vma;
1012+ struct mm_struct *mm = current->mm;
1013+ int ret = 0;
1014+
1015+ vma = kmem_cache_alloc(vm_area_cachep, GFP_KERNEL);
1016+ if (!vma)
1017+ return -ENOMEM;
1018+ memset(vma, 0, sizeof(*vma));
1019+ down_write(&mm->mmap_sem);
1020+ vma->vm_mm = mm;
1021+ vma->vm_start = start;
1022+ vma->vm_end = end;
1023+ vma->vm_flags = VM_READ | VM_WRITE | VM_EXEC;
1024+ vma->vm_flags |= mm->def_flags;
1025+ vma->vm_page_prot.pgprot = prot;
1026+ vma->vm_pgoff = pgoff;
1027+
1028+ if ((ret = insert_vm_struct(mm, vma))) {
1029+ up_write(&mm->mmap_sem);
1030+ kmem_cache_free(vm_area_cachep, vma);
1031+ return ret;
1032+ }
1033+
1034+ if (type) {
1035+ ret = zeromap_page_range(vma,
1036+ vma->vm_start,
1037+ vma->vm_end - vma->vm_start,
1038+ vma->vm_page_prot);
1039+ } else {
1040+ vma->vm_flags |= VM_SHARED;
1041+ ret = remap_pfn_range(vma,
1042+ vma->vm_start,
1043+ vma->vm_pgoff,
1044+ vma->vm_end - vma->vm_start,
1045+ vma->vm_page_prot);
1046+ }
1047+ up_write(&mm->mmap_sem);
1048+ return ret;
1049+}
1050+
1051+static inline int vesafb_init_mem(void)
1052+{
1053+ int ret = 0;
1054+
1055+ /* The memory chunks we're remapping here should be multiples
1056+ * of PAGE_SIZE. */
1057+ ret += vesafb_remap_pfn_range(0x00000, IVTBDA_SIZE, 0,
1058+ PROT_READ | PROT_EXEC | PROT_WRITE, 0);
1059+ ret += vesafb_remap_pfn_range(IVTBDA_SIZE, REAL_MEM_SIZE, 0,
1060+ PROT_READ | PROT_EXEC | PROT_WRITE, 1);
1061+ ret += vesafb_remap_pfn_range(0x9f000, 0x100000,
1062+ 0x9f000 >> PAGE_SHIFT,
1063+ PROT_READ | PROT_EXEC | PROT_WRITE, 0);
1064+ if (ret)
1065+ printk(KERN_ERR "vesafb thread: memory remapping failed\n");
1066+
1067+ return ret;
1068+}
1069+
1070+#define vesafb_get_string(str) \
1071+{ \
1072+ /* The address is in the form ssssoooo, where oooo = offset, \
1073+ * ssss = segment */ \
1074+ addr = ((p_vbe(tsk->buf)->str & 0xffff0000) >> 12) + \
1075+ (p_vbe(tsk->buf)->str & 0x0000ffff); \
1076+ \
1077+ /* The data is in ROM which is shared between processes, so we \
1078+ * just translate the real mode address into one visible from \
1079+ * kernel space */ \
1080+ if (addr >= 0xa0000) { \
1081+ p_vbe(tsk->buf)->str = (u32) __va(addr); \
1082+ \
1083+ /* The data is in the buffer, we just have to convert the \
1084+ * address so that it points into the buffer user provided. */ \
1085+ } else if (addr > BUF_ADDR && addr < BUF_ADDR + \
1086+ sizeof(struct vesafb_vbe_ib)) { \
1087+ addr -= BUF_ADDR; \
1088+ p_vbe(tsk->buf)->str = (u32) (tsk->buf + addr); \
1089+ \
1090+ /* This should never happen: someone was insane enough to put \
1091+ * the data somewhere in RAM.. */ \
1092+ } else { \
1093+ p_vbe(tsk->buf)->str = (u32) ""; \
1094+ } \
1095+}
1096+
1097+void vesafb_handle_getvbeib(struct vesafb_task *tsk)
1098+{
1099+ int addr, res;
1100+
1101+ tsk->regs.es = (BUF_ADDR >> 4);
1102+ tsk->regs.edi = (BUF_ADDR & 0x000f);
1103+ strncpy(p_vbe(BUF_ADDR)->vbe_signature, "VBE2", 4);
1104+
1105+ vesafb_do_vm86(&tsk->regs);
1106+ memcpy(tsk->buf, (void*)(BUF_ADDR), sizeof(struct vesafb_vbe_ib));
1107+
1108+ /* The OEM fields were not defined prior to VBE 2.0 */
1109+ if (p_vbe(tsk->buf)->vbe_version >= 0x200) {
1110+ vesafb_get_string(oem_string_ptr);
1111+ vesafb_get_string(oem_vendor_name_ptr);
1112+ vesafb_get_string(oem_product_name_ptr);
1113+ vesafb_get_string(oem_product_rev_ptr);
1114+ }
1115+
1116+ /* This is basically the same as vesafb_get_string() */
1117+ addr = ((p_vbe(tsk->buf)->mode_list_ptr & 0xffff0000) >> 12) +
1118+ (p_vbe(tsk->buf)->mode_list_ptr & 0x0000ffff);
1119+
1120+ if (addr >= 0xa0000) {
1121+ p_vbe(tsk->buf)->mode_list_ptr = (u32) __va(addr);
1122+ } else if (addr > BUF_ADDR && addr < BUF_ADDR +
1123+ sizeof(struct vesafb_vbe_ib)) {
1124+ addr -= BUF_ADDR;
1125+ p_vbe(tsk->buf)->mode_list_ptr = (u32) (tsk->buf + addr);
1126+ } else {
1127+ res = 0;
1128+ printk(KERN_WARNING "vesafb: warning, copying modelist "
1129+ "from somewhere in RAM!\n");
1130+ while (*(u16*)(addr+res) != 0xffff &&
1131+ res < (sizeof(p_vbe(tsk->buf)->reserved) - 2)) {
1132+ *(u16*) ((u32)&(p_vbe(tsk->buf)->reserved) + res) =
1133+ *(u16*)(addr+res);
1134+ res += 2;
1135+ }
1136+ *(u16*) ((u32)&(p_vbe(tsk->buf)->reserved) + res) = 0xffff;
1137+ }
1138+}
1139+
1140+int vesafb_handle_tasks(void)
1141+{
1142+ struct vesafb_task *tsk;
1143+ struct list_head *curr, *next;
1144+ int ret = 0;
1145+
1146+ down(&vesafb_task_list_sem);
1147+ list_for_each_safe(curr, next, &vesafb_task_list) {
1148+ tsk = list_entry(curr, struct vesafb_task, node);
1149+
1150+ if (tsk->flags & TF_EXIT) {
1151+ ret = 1;
1152+ goto task_done;
1153+ }
1154+ if (tsk->flags & TF_GETVBEIB) {
1155+ vesafb_handle_getvbeib(tsk);
1156+ goto task_done;
1157+ }
1158+ /* Do we need to store a pointer to the buffer in ES:EDI? */
1159+ if (tsk->flags & TF_BUF_DI) {
1160+ tsk->regs.es = (BUF_ADDR >> 4);
1161+ tsk->regs.edi = (BUF_ADDR & 0x000f);
1162+ }
1163+ /* Sometimes the pointer has to be in ES:EBX. */
1164+ if (tsk->flags & TF_BUF_BX) {
1165+ tsk->regs.es = (BUF_ADDR >> 4);
1166+ tsk->regs.ebx = (BUF_ADDR & 0x000f);
1167+ }
1168+ if (tsk->flags & (TF_BUF_DI | TF_BUF_BX))
1169+ memcpy((void*)BUF_ADDR, tsk->buf, tsk->buf_len);
1170+
1171+ vesafb_do_vm86(&tsk->regs);
1172+
1173+ if (tsk->flags & TF_RETURN_BUF)
1174+ memcpy(tsk->buf, (void*)BUF_ADDR, tsk->buf_len);
1175+
1176+task_done: list_del(curr);
1177+ complete(&tsk->done);
1178+ }
1179+
1180+ /* If we're going to kill this thread, don't allow any elements
1181+ * to be added to the task list. */
1182+ if (!ret)
1183+ up(&vesafb_task_list_sem);
1184+
1185+ return ret;
1186+}
1187+
1188+/*
1189+ * This 'hybrid' thread serves as a backend for vesafb-tng, handling all vm86
1190+ * calls. It is started as a kernel thread. It then creates its own mm struct,
1191+ * thus separating itself from any userspace processes. At this moment, it
1192+ * stops being a kernel thread (kernel threads have mm = NULL) and becomes
1193+ * a 'hybrid' thread -- one that has full access to kernel space, yet runs
1194+ * with its own address space.
1195+ *
1196+ * This is necessary because in order to make vm86 calls some parts of the
1197+ * first 1MB of RAM have to be setup to mimic the real mode. These are:
1198+ * - interrupt vector table [0x00000-0x003ff]
1199+ * - BIOS data area [0x00400-0x004ff]
1200+ * - Extended BIOS data area [0x9fc00-0x9ffff]
1201+ * - the video RAM [0xa0000-0xbffff]
1202+ * - video BIOS [0xc0000-0xcffff]
1203+ * - motherboard BIOS [0xf0000-0xfffff]
1204+ */
1205+int vesafb_thread(void *unused)
1206+{
1207+ int err = 0;
1208+
1209+ set_fs(KERNEL_DS);
1210+ daemonize("vesafb");
1211+
1212+ if (set_new_mm()) {
1213+ err = -ENOMEM;
1214+ goto thr_end;
1215+ }
1216+ if (vesafb_init_mem()) {
1217+ err = -ENOMEM;
1218+ goto thr_end;
1219+ }
1220+
1221+ DPRINTK("started vesafb thread\n");
1222+
1223+ /* Having an IO bitmap makes things faster as we avoid GPFs
1224+ * when running vm86 code. We can live if it fails, though,
1225+ * so don't bother checking for errors. */
1226+ ioperm(0,1024,1);
1227+ set_user_nice(current, -10);
1228+
1229+ complete(&vesafb_th_completion);
1230+
1231+ while (1) {
1232+ if (vesafb_handle_tasks())
1233+ break;
1234+ wait_event_interruptible(vesafb_wait,
1235+ !list_empty(&vesafb_task_list));
1236+ try_to_freeze();
1237+ }
1238+
1239+out: DPRINTK("exiting the vesafb thread\n");
1240+ vesafb_pid = -1;
1241+
1242+ /* Now that all callers know this thread is no longer running
1243+ * (pid < 0), allow them to continue. */
1244+ up(&vesafb_task_list_sem);
1245+ return err;
1246+thr_end:
1247+ down(&vesafb_task_list_sem);
1248+ complete(&vesafb_th_completion);
1249+ goto out;
1250+}
1251+
1252+int vesafb_queue_task(struct vesafb_task *tsk)
1253+{
1254+ down(&vesafb_task_list_sem);
1255+ if (vesafb_pid < 0)
1256+ return -1;
1257+ list_add_tail(&tsk->node, &vesafb_task_list);
1258+ up(&vesafb_task_list_sem);
1259+ wake_up(&vesafb_wait);
1260+ return 0;
1261+}
1262+
1263+int vesafb_wait_for_thread(void)
1264+{
1265+ /* PID 0 means that the thread is still initializing. */
1266+ if (vesafb_pid < 0)
1267+ return -1;
1268+ wait_for_completion(&vesafb_th_completion);
1269+ return 0;
1270+}
1271+
1272+int __init vesafb_init_thread(void)
1273+{
1274+ vesafb_pid = kernel_thread(vesafb_thread,NULL,0);
1275+ return 0;
1276+}
1277+
1278+#ifdef MODULE
1279+void __exit vesafb_kill_thread(void)
1280+{
1281+ struct vesafb_task *tsk;
1282+ if (vesafb_pid <= 0)
1283+ return;
1284+
1285+ vesafb_create_task(tsk);
1286+ if (!tsk)
1287+ return;
1288+ tsk->flags |= TF_EXIT;
1289+ vesafb_queue_task(tsk);
1290+ vesafb_wait_for_task(tsk);
1291+ kfree(tsk);
1292+ return;
1293+}
1294+module_exit(vesafb_kill_thread);
1295+#endif
1296+module_init(vesafb_init_thread);
1297+
1298+EXPORT_SYMBOL_GPL(vesafb_queue_task);
1299+EXPORT_SYMBOL_GPL(vesafb_wait_for_thread);
1300+
1301+MODULE_LICENSE("GPL");
1302+MODULE_AUTHOR("Michal Januszewski");
1303+
1304diff --git a/drivers/video/vesafb-tng.c b/drivers/video/vesafb-tng.c
1305new file mode 100644
1306index 0000000..b4d4394
1307--- /dev/null
1308+++ b/drivers/video/vesafb-tng.c
1309@@ -0,0 +1,1586 @@
1310+/*
1311+ * Framebuffer driver for VBE 2.0+ compliant graphic boards
1312+ *
1313+ * (c) 2004-2006 Michal Januszewski <spock@gentoo.org>
1314+ * Based upon vesafb code by Gerd Knorr <kraxel@goldbach.in-berlin.de>
1315+ *
1316+ */
1317+
1318+#include <linux/module.h>
1319+#include <linux/kernel.h>
1320+#include <linux/errno.h>
1321+#include <linux/string.h>
1322+#include <linux/mm.h>
1323+#include <linux/tty.h>
1324+#include <linux/delay.h>
1325+#include <linux/fb.h>
1326+#include <linux/ioport.h>
1327+#include <linux/init.h>
1328+#include <linux/proc_fs.h>
1329+#include <linux/completion.h>
1330+#include <linux/platform_device.h>
1331+#include <video/edid.h>
1332+#include <video/vesa.h>
1333+#include <video/vga.h>
1334+#include <asm/io.h>
1335+#include <asm/mtrr.h>
1336+#include <asm/page.h>
1337+#include <asm/pgtable.h>
1338+#include "edid.h"
1339+
1340+#define dac_reg (0x3c8)
1341+#define dac_val (0x3c9)
1342+
1343+#define VESAFB_NEED_EXACT_RES 1
1344+#define VESAFB_NEED_EXACT_DEPTH 2
1345+
1346+/* --------------------------------------------------------------------- */
1347+
1348+static struct fb_var_screeninfo vesafb_defined __initdata = {
1349+ .activate = FB_ACTIVATE_NOW,
1350+ .height = 0,
1351+ .width = 0,
1352+ .right_margin = 32,
1353+ .upper_margin = 16,
1354+ .lower_margin = 4,
1355+ .vsync_len = 4,
1356+ .vmode = FB_VMODE_NONINTERLACED,
1357+};
1358+
1359+static struct fb_fix_screeninfo vesafb_fix __initdata = {
1360+ .id = "VESA VGA",
1361+ .type = FB_TYPE_PACKED_PIXELS,
1362+ .accel = FB_ACCEL_NONE,
1363+};
1364+
1365+static int mtrr = 0; /* disable mtrr by default */
1366+static int blank = 1; /* enable blanking by default */
1367+static int ypan = 0; /* 0 - nothing, 1 - ypan, 2 - ywrap */
1368+static int pmi_setpal = 1; /* pmi for palette changes */
1369+static u16 *pmi_base = NULL; /* protected mode interface location */
1370+static void (*pmi_start)(void) = NULL;
1371+static void (*pmi_pal)(void) = NULL;
1372+static struct vesafb_vbe_ib vbe_ib;
1373+static struct vesafb_mode_ib *vbe_modes;
1374+static int vbe_modes_cnt = 0;
1375+static struct fb_info *vesafb_info = NULL;
1376+static int nocrtc = 0; /* ignore CRTC settings */
1377+static int noedid __initdata = 0; /* don't try DDC transfers */
1378+static int vram_remap __initdata = 0; /* set amount of memory to be used */
1379+static int vram_total __initdata = 0; /* set total amount of memory */
1380+static u16 maxclk __initdata = 0; /* maximum pixel clock */
1381+static u16 maxvf __initdata = 0; /* maximum vertical frequency */
1382+static u16 maxhf __initdata = 0; /* maximum horizontal frequency */
1383+static int gtf __initdata = 0; /* forces use of the GTF */
1384+static char *mode_option __initdata = NULL;
1385+static u16 vbemode __initdata = 0;
1386+
1387+/* --------------------------------------------------------------------- */
1388+
1389+static int vesafb_find_vbe_mode(int xres, int yres, int depth,
1390+ unsigned char flags)
1391+{
1392+ int i, match = -1, h = 0, d = 0x7fffffff;
1393+
1394+ for (i = 0; i < vbe_modes_cnt; i++) {
1395+ h = abs(vbe_modes[i].x_res - xres) +
1396+ abs(vbe_modes[i].y_res - yres) +
1397+ abs(depth - vbe_modes[i].depth);
1398+ if (h == 0)
1399+ return i;
1400+ if (h < d || (h == d && vbe_modes[i].depth > depth)) {
1401+ d = h;
1402+ match = i;
1403+ }
1404+ }
1405+ i = 1;
1406+
1407+ if (flags & VESAFB_NEED_EXACT_DEPTH && vbe_modes[match].depth != depth)
1408+ i = 0;
1409+ if (flags & VESAFB_NEED_EXACT_RES && d > 24)
1410+ i = 0;
1411+ if (i != 0)
1412+ return match;
1413+ else
1414+ return -1;
1415+}
1416+
1417+static int vesafb_pan_display(struct fb_var_screeninfo *var,
1418+ struct fb_info *info)
1419+{
1420+ int offset;
1421+
1422+ offset = (var->yoffset * info->fix.line_length + var->xoffset) / 4;
1423+
1424+ /* It turns out it's not the best idea to do panning via vm86,
1425+ * so we only allow it if we have a PMI. */
1426+ if (pmi_start) {
1427+ __asm__ __volatile__(
1428+ "call *(%%edi)"
1429+ : /* no return value */
1430+ : "a" (0x4f07), /* EAX */
1431+ "b" (0), /* EBX */
1432+ "c" (offset), /* ECX */
1433+ "d" (offset >> 16), /* EDX */
1434+ "D" (&pmi_start)); /* EDI */
1435+ }
1436+ return 0;
1437+}
1438+
1439+static int vesafb_blank(int blank, struct fb_info *info)
1440+{
1441+ struct vesafb_task *tsk;
1442+ int err = 1;
1443+
1444+ if (vbe_ib.capabilities & VBE_CAP_VGACOMPAT) {
1445+ int loop = 10000;
1446+ u8 seq = 0, crtc17 = 0;
1447+
1448+ if (blank == FB_BLANK_POWERDOWN) {
1449+ seq = 0x20;
1450+ crtc17 = 0x00;
1451+ err = 0;
1452+ } else {
1453+ seq = 0x00;
1454+ crtc17 = 0x80;
1455+ err = (blank == FB_BLANK_UNBLANK) ? 0 : -EINVAL;
1456+ }
1457+
1458+ vga_wseq(NULL, 0x00, 0x01);
1459+ seq |= vga_rseq(NULL, 0x01) & ~0x20;
1460+ vga_wseq(NULL, 0x00, seq);
1461+
1462+ crtc17 |= vga_rcrt(NULL, 0x17) & ~0x80;
1463+ while (loop--);
1464+ vga_wcrt(NULL, 0x17, crtc17);
1465+ vga_wseq(NULL, 0x00, 0x03);
1466+ } else {
1467+ vesafb_create_task (tsk);
1468+ if (!tsk)
1469+ return -ENOMEM;
1470+ tsk->regs.eax = 0x4f10;
1471+ switch (blank) {
1472+ case FB_BLANK_UNBLANK:
1473+ tsk->regs.ebx = 0x0001;
1474+ break;
1475+ case FB_BLANK_NORMAL:
1476+ tsk->regs.ebx = 0x0101; /* standby */
1477+ break;
1478+ case FB_BLANK_POWERDOWN:
1479+ tsk->regs.ebx = 0x0401; /* powerdown */
1480+ break;
1481+ default:
1482+ goto out;
1483+ }
1484+ tsk->flags = TF_CALL;
1485+ if (!vesafb_queue_task (tsk))
1486+ vesafb_wait_for_task(tsk);
1487+
1488+ if ((tsk->regs.eax & 0xffff) == 0x004f)
1489+ err = 0;
1490+out: kfree(tsk);
1491+ }
1492+ return err;
1493+}
1494+
1495+static int vesafb_setpalette(struct vesafb_pal_entry *entries, int count,
1496+ int start, struct fb_info *info)
1497+{
1498+ struct vesafb_task *tsk;
1499+ int i = ((struct vesafb_par*)info->par)->mode_idx;
1500+ int ret = 0;
1501+
1502+ /* We support palette modifications for 8 bpp modes only, so
1503+ * there can never be more than 256 entries. */
1504+ if (start + count > 256)
1505+ return -EINVAL;
1506+
1507+ /* Use VGA registers if mode is VGA-compatible. */
1508+ if (i >= 0 && i < vbe_modes_cnt &&
1509+ vbe_modes[i].mode_attr & VBE_MODE_VGACOMPAT) {
1510+ for (i = 0; i < count; i++) {
1511+ outb_p(start + i, dac_reg);
1512+ outb_p(entries[i].red, dac_val);
1513+ outb_p(entries[i].green, dac_val);
1514+ outb_p(entries[i].blue, dac_val);
1515+ }
1516+ } else if (pmi_setpal) {
1517+ __asm__ __volatile__(
1518+ "call *(%%esi)"
1519+ : /* no return value */
1520+ : "a" (0x4f09), /* EAX */
1521+ "b" (0), /* EBX */
1522+ "c" (count), /* ECX */
1523+ "d" (start), /* EDX */
1524+ "D" (entries), /* EDI */
1525+ "S" (&pmi_pal)); /* ESI */
1526+ } else {
1527+ vesafb_create_task (tsk);
1528+ if (!tsk)
1529+ return -ENOMEM;
1530+ tsk->regs.eax = 0x4f09;
1531+ tsk->regs.ebx = 0x0;
1532+ tsk->regs.ecx = count;
1533+ tsk->regs.edx = start;
1534+ tsk->buf = entries;
1535+ tsk->buf_len = sizeof(struct vesafb_pal_entry) * count;
1536+ tsk->flags = TF_CALL | TF_BUF_DI;
1537+
1538+ if (!vesafb_queue_task (tsk))
1539+ vesafb_wait_for_task(tsk);
1540+ if ((tsk->regs.eax & 0xffff) != 0x004f)
1541+ ret = 1;
1542+ kfree(tsk);
1543+ }
1544+ return ret;
1545+}
1546+
1547+static int vesafb_setcolreg(unsigned regno, unsigned red, unsigned green,
1548+ unsigned blue, unsigned transp,
1549+ struct fb_info *info)
1550+{
1551+ struct vesafb_pal_entry entry;
1552+ int shift = 16 - info->var.green.length;
1553+ int ret = 0;
1554+
1555+ if (regno >= info->cmap.len)
1556+ return -EINVAL;
1557+
1558+ if (info->var.bits_per_pixel == 8) {
1559+ entry.red = red >> shift;
1560+ entry.green = green >> shift;
1561+ entry.blue = blue >> shift;
1562+ entry.pad = 0;
1563+
1564+ ret = vesafb_setpalette(&entry, 1, regno, info);
1565+ } else if (regno < 16) {
1566+ switch (info->var.bits_per_pixel) {
1567+ case 16:
1568+ if (info->var.red.offset == 10) {
1569+ /* 1:5:5:5 */
1570+ ((u32*) (info->pseudo_palette))[regno] =
1571+ ((red & 0xf800) >> 1) |
1572+ ((green & 0xf800) >> 6) |
1573+ ((blue & 0xf800) >> 11);
1574+ } else {
1575+ /* 0:5:6:5 */
1576+ ((u32*) (info->pseudo_palette))[regno] =
1577+ ((red & 0xf800) ) |
1578+ ((green & 0xfc00) >> 5) |
1579+ ((blue & 0xf800) >> 11);
1580+ }
1581+ break;
1582+
1583+ case 24:
1584+ case 32:
1585+ red >>= 8;
1586+ green >>= 8;
1587+ blue >>= 8;
1588+ ((u32 *)(info->pseudo_palette))[regno] =
1589+ (red << info->var.red.offset) |
1590+ (green << info->var.green.offset) |
1591+ (blue << info->var.blue.offset);
1592+ break;
1593+ }
1594+ }
1595+ return ret;
1596+}
1597+
1598+static int vesafb_setcmap(struct fb_cmap *cmap, struct fb_info *info)
1599+{
1600+ struct vesafb_pal_entry *entries;
1601+ int shift = 16 - info->var.green.length;
1602+ int i, ret = 0;
1603+
1604+ if (info->var.bits_per_pixel == 8) {
1605+ if (cmap->start + cmap->len > info->cmap.start +
1606+ info->cmap.len || cmap->start < info->cmap.start)
1607+ return -EINVAL;
1608+
1609+ entries = vmalloc(sizeof(struct vesafb_pal_entry) * cmap->len);
1610+ if (!entries)
1611+ return -ENOMEM;
1612+ for (i = 0; i < cmap->len; i++) {
1613+ entries[i].red = cmap->red[i] >> shift;
1614+ entries[i].green = cmap->green[i] >> shift;
1615+ entries[i].blue = cmap->blue[i] >> shift;
1616+ entries[i].pad = 0;
1617+ }
1618+ ret = vesafb_setpalette(entries, cmap->len, cmap->start, info);
1619+ vfree(entries);
1620+ } else {
1621+ /* For modes with bpp > 8, we only set the pseudo palette in
1622+ * the fb_info struct. We rely on vesafb_setcolreg to do all
1623+ * sanity checking. */
1624+ for (i = 0; i < cmap->len; i++) {
1625+ ret += vesafb_setcolreg(cmap->start + i, cmap->red[i],
1626+ cmap->green[i], cmap->blue[i],
1627+ 0, info);
1628+ }
1629+ }
1630+ return ret;
1631+}
1632+
1633+static int vesafb_set_par(struct fb_info *info)
1634+{
1635+ struct vesafb_par *par = (struct vesafb_par *) info->par;
1636+ struct vesafb_task *tsk;
1637+ struct vesafb_crtc_ib *crtc = NULL;
1638+ struct vesafb_mode_ib *mode = NULL;
1639+ int i, err = 0, depth = info->var.bits_per_pixel;
1640+
1641+ if (depth > 8 && depth != 32)
1642+ depth = info->var.red.length + info->var.green.length +
1643+ info->var.blue.length;
1644+
1645+ i = vesafb_find_vbe_mode(info->var.xres, info->var.yres, depth,
1646+ VESAFB_NEED_EXACT_RES |
1647+ VESAFB_NEED_EXACT_DEPTH);
1648+ if (i >= 0)
1649+ mode = &vbe_modes[i];
1650+ else
1651+ return -EINVAL;
1652+
1653+ vesafb_create_task (tsk);
1654+ if (!tsk)
1655+ return -ENOMEM;
1656+ tsk->regs.eax = 0x4f02;
1657+ tsk->regs.ebx = mode->mode_id | 0x4000; /* use LFB */
1658+ tsk->flags = TF_CALL;
1659+
1660+ if (vbe_ib.vbe_version >= 0x0300 && !nocrtc &&
1661+ info->var.pixclock != 0) {
1662+ tsk->regs.ebx |= 0x0800; /* use CRTC data */
1663+ tsk->flags |= TF_BUF_DI;
1664+ crtc = kmalloc(sizeof(struct vesafb_crtc_ib), GFP_KERNEL);
1665+ if (!crtc) {
1666+ err = -ENOMEM;
1667+ goto out;
1668+ }
1669+ crtc->horiz_start = info->var.xres + info->var.right_margin;
1670+ crtc->horiz_end = crtc->horiz_start + info->var.hsync_len;
1671+ crtc->horiz_total = crtc->horiz_end + info->var.left_margin;
1672+
1673+ crtc->vert_start = info->var.yres + info->var.lower_margin;
1674+ crtc->vert_end = crtc->vert_start + info->var.vsync_len;
1675+ crtc->vert_total = crtc->vert_end + info->var.upper_margin;
1676+
1677+ crtc->pixel_clock = PICOS2KHZ(info->var.pixclock) * 1000;
1678+ crtc->refresh_rate = (u16)(100 * (crtc->pixel_clock /
1679+ (crtc->vert_total * crtc->horiz_total)));
1680+ crtc->flags = 0;
1681+
1682+ if (info->var.vmode & FB_VMODE_DOUBLE)
1683+ crtc->flags |= 0x1;
1684+ if (info->var.vmode & FB_VMODE_INTERLACED)
1685+ crtc->flags |= 0x2;
1686+ if (!(info->var.sync & FB_SYNC_HOR_HIGH_ACT))
1687+ crtc->flags |= 0x4;
1688+ if (!(info->var.sync & FB_SYNC_VERT_HIGH_ACT))
1689+ crtc->flags |= 0x8;
1690+ memcpy(&par->crtc, crtc, sizeof(struct vesafb_crtc_ib));
1691+ } else
1692+ memset(&par->crtc, 0, sizeof(struct vesafb_crtc_ib));
1693+
1694+ tsk->buf = (void*)crtc;
1695+ tsk->buf_len = sizeof(struct vesafb_crtc_ib);
1696+
1697+ if (vesafb_queue_task (tsk)) {
1698+ err = -EINVAL;
1699+ goto out;
1700+ }
1701+ vesafb_wait_for_task(tsk);
1702+
1703+ if ((tsk->regs.eax & 0xffff) != 0x004f) {
1704+ printk(KERN_ERR "vesafb: mode switch failed (eax: 0x%lx)\n",
1705+ tsk->regs.eax);
1706+ err = -EINVAL;
1707+ goto out;
1708+ }
1709+ par->mode_idx = i;
1710+
1711+ /* For 8bpp modes, always try to set the DAC to 8 bits. */
1712+ if (vbe_ib.capabilities & VBE_CAP_CAN_SWITCH_DAC &&
1713+ mode->bits_per_pixel <= 8) {
1714+ vesafb_reset_task(tsk);
1715+ tsk->flags = TF_CALL;
1716+ tsk->regs.eax = 0x4f08;
1717+ tsk->regs.ebx = 0x0800;
1718+
1719+ if (!vesafb_queue_task (tsk))
1720+ vesafb_wait_for_task(tsk);
1721+
1722+ if ((tsk->regs.eax & 0xffff) != 0x004f ||
1723+ ((tsk->regs.ebx & 0xff00) >> 8) != 8) {
1724+ /* We've failed to set the DAC palette format -
1725+ * time to correct var. */
1726+ info->var.red.length = 6;
1727+ info->var.green.length = 6;
1728+ info->var.blue.length = 6;
1729+ }
1730+ }
1731+
1732+ info->fix.visual = (info->var.bits_per_pixel == 8) ?
1733+ FB_VISUAL_PSEUDOCOLOR : FB_VISUAL_TRUECOLOR;
1734+ info->fix.line_length = mode->bytes_per_scan_line;
1735+
1736+ DPRINTK("set new mode %dx%d-%d (0x%x)\n",
1737+ info->var.xres, info->var.yres, info->var.bits_per_pixel,
1738+ mode->mode_id);
1739+
1740+out: if (crtc != NULL)
1741+ kfree(crtc);
1742+ kfree(tsk);
1743+
1744+ return err;
1745+}
1746+
1747+static void vesafb_setup_var(struct fb_var_screeninfo *var, struct fb_info *info,
1748+ struct vesafb_mode_ib *mode)
1749+{
1750+ var->xres = mode->x_res;
1751+ var->yres = mode->y_res;
1752+ var->xres_virtual = mode->x_res;
1753+ var->yres_virtual = (ypan) ?
1754+ info->fix.smem_len / mode->bytes_per_scan_line :
1755+ mode->y_res;
1756+ var->xoffset = 0;
1757+ var->yoffset = 0;
1758+ var->bits_per_pixel = mode->bits_per_pixel;
1759+
1760+ if (var->bits_per_pixel == 15)
1761+ var->bits_per_pixel = 16;
1762+
1763+ if (var->bits_per_pixel > 8) {
1764+ var->red.offset = mode->red_off;
1765+ var->red.length = mode->red_len;
1766+ var->green.offset = mode->green_off;
1767+ var->green.length = mode->green_len;
1768+ var->blue.offset = mode->blue_off;
1769+ var->blue.length = mode->blue_len;
1770+ var->transp.offset = mode->rsvd_off;
1771+ var->transp.length = mode->rsvd_len;
1772+
1773+ DPRINTK("directcolor: size=%d:%d:%d:%d, shift=%d:%d:%d:%d\n",
1774+ mode->rsvd_len,
1775+ mode->red_len,
1776+ mode->green_len,
1777+ mode->blue_len,
1778+ mode->rsvd_off,
1779+ mode->red_off,
1780+ mode->green_off,
1781+ mode->blue_off);
1782+ } else {
1783+ var->red.offset = 0;
1784+ var->green.offset = 0;
1785+ var->blue.offset = 0;
1786+ var->transp.offset = 0;
1787+
1788+ /* We're assuming that we can switch the DAC to 8 bits. If
1789+ * this proves to be incorrect, we'll update the fields
1790+ * later in set_par(). */
1791+ if (vbe_ib.capabilities & VBE_CAP_CAN_SWITCH_DAC) {
1792+ var->red.length = 8;
1793+ var->green.length = 8;
1794+ var->blue.length = 8;
1795+ var->transp.length = 0;
1796+ } else {
1797+ var->red.length = 6;
1798+ var->green.length = 6;
1799+ var->blue.length = 6;
1800+ var->transp.length = 0;
1801+ }
1802+ }
1803+}
1804+
1805+static void inline vesafb_check_limits(struct fb_var_screeninfo *var,
1806+ struct fb_info *info)
1807+{
1808+ struct fb_videomode *mode;
1809+
1810+ if (!var->pixclock)
1811+ return;
1812+ if (vbe_ib.vbe_version < 0x0300) {
1813+ fb_get_mode(FB_VSYNCTIMINGS | FB_IGNOREMON, 60, var, info);
1814+ return;
1815+ }
1816+ if (!fb_validate_mode(var, info))
1817+ return;
1818+ mode = fb_find_best_mode(var, &info->modelist);
1819+ if (mode) {
1820+ DPRINTK("find_best_mode: %d %d @ %d (vmode: %d)\n",
1821+ mode->xres, mode->yres, mode->refresh, mode->vmode);
1822+ if (mode->xres == var->xres && mode->yres == var->yres &&
1823+ !(mode->vmode & (FB_VMODE_INTERLACED | FB_VMODE_DOUBLE))) {
1824+ fb_videomode_to_var(var, mode);
1825+ return;
1826+ }
1827+ }
1828+ if (info->monspecs.gtf && !fb_get_mode(FB_MAXTIMINGS, 0, var, info))
1829+ return;
1830+ /* Use default refresh rate */
1831+ var->pixclock = 0;
1832+}
1833+
1834+static int vesafb_check_var(struct fb_var_screeninfo *var,
1835+ struct fb_info *info)
1836+{
1837+ int match = -1;
1838+ int depth = var->red.length + var->green.length + var->blue.length;
1839+
1840+ /* Various apps will use bits_per_pixel to set the color depth,
1841+ * which is theoretically incorrect, but which we'll try to handle
1842+ * here. */
1843+ if (depth == 0 || abs(depth - var->bits_per_pixel) >= 8)
1844+ depth = var->bits_per_pixel;
1845+ match = vesafb_find_vbe_mode(var->xres, var->yres, depth,
1846+ VESAFB_NEED_EXACT_RES);
1847+
1848+ if (match == -1) {
1849+ DPRINTK("vesafb: mode %dx%d-%d not found\n", var->xres,
1850+ var->yres, depth);
1851+ return -EINVAL;
1852+ }
1853+
1854+ vesafb_setup_var(var, info, &vbe_modes[match]);
1855+ DPRINTK("found mode 0x%x (%dx%d-%dbpp)\n",
1856+ vbe_modes[match].mode_id, vbe_modes[match].x_res,
1857+ vbe_modes[match].y_res, vbe_modes[match].depth);
1858+
1859+ /* Check whether we have remapped enough memory for this mode. */
1860+ if (var->yres * vbe_modes[match].bytes_per_scan_line >
1861+ info->fix.smem_len) {
1862+ return -EINVAL;
1863+ }
1864+
1865+ if ((var->vmode & FB_VMODE_DOUBLE) &&
1866+ !(vbe_modes[match].mode_attr & 0x100))
1867+ var->vmode &= ~FB_VMODE_DOUBLE;
1868+ if ((var->vmode & FB_VMODE_INTERLACED) &&
1869+ !(vbe_modes[match].mode_attr & 0x200))
1870+ var->vmode &= ~FB_VMODE_INTERLACED;
1871+ vesafb_check_limits(var, info);
1872+ return 0;
1873+}
1874+
1875+static int vesafb_open(struct fb_info *info, int user)
1876+{
1877+ struct vesafb_task *tsk = NULL;
1878+ struct vesafb_par *par = info->par;
1879+ int cnt = atomic_read(&par->ref_count);
1880+
1881+ if (!cnt) {
1882+ vesafb_create_task(tsk);
1883+ if (!tsk)
1884+ goto out;
1885+
1886+ /* Get the VBE state buffer size. We want all available
1887+ * hardware state data (CL = 0x0f). */
1888+ tsk->regs.eax = 0x4f04;
1889+ tsk->regs.ecx = 0x000f;
1890+ tsk->regs.edx = 0x0000;
1891+ tsk->flags = TF_CALL;
1892+
1893+ if (vesafb_queue_task(tsk))
1894+ goto out;
1895+
1896+ vesafb_wait_for_task(tsk);
1897+
1898+ if ((tsk->regs.eax & 0xffff) != 0x004f) {
1899+ printk(KERN_WARNING "vesafb: VBE state buffer size "
1900+ "cannot be determined (eax: 0x%lx)\n",
1901+ tsk->regs.eax);
1902+ goto out;
1903+ }
1904+
1905+ par->vbe_state_size = 64 * (tsk->regs.ebx & 0xffff);
1906+ par->vbe_state = kzalloc(par->vbe_state_size, GFP_KERNEL);
1907+ if (!par->vbe_state)
1908+ goto out;
1909+
1910+ vesafb_reset_task(tsk);
1911+ tsk->regs.eax = 0x4f04;
1912+ tsk->regs.ecx = 0x000f;
1913+ tsk->regs.edx = 0x0001;
1914+ tsk->flags = TF_CALL | TF_BUF_BX | TF_RETURN_BUF;
1915+ tsk->buf = (void*)(par->vbe_state);
1916+ tsk->buf_len = par->vbe_state_size;
1917+
1918+ if (vesafb_queue_task(tsk))
1919+ goto getstate_failed;
1920+ vesafb_wait_for_task(tsk);
1921+
1922+ if ((tsk->regs.eax & 0xffff) != 0x004f) {
1923+ printk(KERN_WARNING "vesafb: VBE get state call "
1924+ "failed (eax: 0x%lx)\n", tsk->regs.eax);
1925+ goto getstate_failed;
1926+ }
1927+ }
1928+out:
1929+ atomic_inc(&par->ref_count);
1930+ if (tsk)
1931+ kfree(tsk);
1932+ return 0;
1933+
1934+getstate_failed:
1935+ kfree(par->vbe_state);
1936+ par->vbe_state = NULL;
1937+ par->vbe_state_size = 0;
1938+ goto out;
1939+}
1940+
1941+static int vesafb_release(struct fb_info *info, int user)
1942+{
1943+ struct vesafb_task *tsk = NULL;
1944+ struct vesafb_par *par = info->par;
1945+ int cnt = atomic_read(&par->ref_count);
1946+
1947+ if (!cnt)
1948+ return -EINVAL;
1949+
1950+ if (cnt == 1 && par->vbe_state && par->vbe_state_size) {
1951+ vesafb_create_task(tsk);
1952+ if (!tsk)
1953+ goto out;
1954+
1955+ tsk->regs.eax = 0x0003;
1956+ tsk->regs.ebx = 0x0000;
1957+ tsk->flags = TF_CALL;
1958+
1959+ if (vesafb_queue_task(tsk))
1960+ goto out;
1961+
1962+ vesafb_wait_for_task(tsk);
1963+
1964+ vesafb_reset_task(tsk);
1965+ tsk->regs.eax = 0x4f04;
1966+ tsk->regs.ecx = 0x000f;
1967+ tsk->regs.edx = 0x0002;
1968+ tsk->buf = (void*)(par->vbe_state);
1969+ tsk->buf_len = par->vbe_state_size;
1970+ tsk->flags = TF_CALL | TF_BUF_BX;
1971+
1972+ if (vesafb_queue_task(tsk))
1973+ goto out;
1974+
1975+ vesafb_wait_for_task(tsk);
1976+
1977+ if ((tsk->regs.eax & 0xffff) != 0x004f)
1978+ printk(KERN_WARNING "vesafb: VBE state restore call "
1979+ "failed (eax: 0x%lx)\n",
1980+ tsk->regs.eax);
1981+ }
1982+out:
1983+ atomic_dec(&par->ref_count);
1984+ if (tsk)
1985+ kfree(tsk);
1986+ return 0;
1987+}
1988+
1989+static int __init vesafb_probe(struct platform_device *device);
1990+
1991+static struct fb_ops vesafb_ops = {
1992+ .owner = THIS_MODULE,
1993+ .fb_open = vesafb_open,
1994+ .fb_release = vesafb_release,
1995+ .fb_setcolreg = vesafb_setcolreg,
1996+ .fb_setcmap = vesafb_setcmap,
1997+ .fb_pan_display = vesafb_pan_display,
1998+ .fb_blank = vesafb_blank,
1999+ .fb_fillrect = cfb_fillrect,
2000+ .fb_copyarea = cfb_copyarea,
2001+ .fb_imageblit = cfb_imageblit,
2002+ .fb_check_var = vesafb_check_var,
2003+ .fb_set_par = vesafb_set_par
2004+};
2005+
2006+static struct platform_driver vesafb_driver = {
2007+ .probe = vesafb_probe,
2008+ .driver = {
2009+ .name = "vesafb",
2010+ },
2011+};
2012+
2013+static struct platform_device *vesafb_device;
2014+
2015+#ifndef MODULE
2016+int __init vesafb_setup(char *options)
2017+{
2018+ char *this_opt;
2019+
2020+ if (!options || !*options)
2021+ return 0;
2022+
2023+ DPRINTK("options %s\n",options);
2024+
2025+ while ((this_opt = strsep(&options, ",")) != NULL) {
2026+ if (!*this_opt) continue;
2027+
2028+ DPRINTK("this_opt: %s\n",this_opt);
2029+
2030+ if (! strcmp(this_opt, "redraw"))
2031+ ypan=0;
2032+ else if (! strcmp(this_opt, "ypan"))
2033+ ypan=1;
2034+ else if (! strcmp(this_opt, "ywrap"))
2035+ ypan=2;
2036+ else if (! strcmp(this_opt, "vgapal"))
2037+ pmi_setpal=0;
2038+ else if (! strcmp(this_opt, "pmipal"))
2039+ pmi_setpal=1;
2040+ else if (! strncmp(this_opt, "mtrr:", 5))
2041+ mtrr = simple_strtoul(this_opt+5, NULL, 0);
2042+ else if (! strcmp(this_opt, "nomtrr"))
2043+ mtrr=0;
2044+ else if (! strcmp(this_opt, "nocrtc"))
2045+ nocrtc=1;
2046+ else if (! strcmp(this_opt, "noedid"))
2047+ noedid=1;
2048+ else if (! strcmp(this_opt, "noblank"))
2049+ blank=0;
2050+ else if (! strcmp(this_opt, "gtf"))
2051+ gtf=1;
2052+ else if (! strncmp(this_opt, "vtotal:", 7))
2053+ vram_total = simple_strtoul(this_opt + 7, NULL, 0);
2054+ else if (! strncmp(this_opt, "vremap:", 7))
2055+ vram_remap = simple_strtoul(this_opt + 7, NULL, 0);
2056+ else if (! strncmp(this_opt, "maxhf:", 6))
2057+ maxhf = simple_strtoul(this_opt + 6, NULL, 0);
2058+ else if (! strncmp(this_opt, "maxvf:", 6))
2059+ maxvf = simple_strtoul(this_opt + 6, NULL, 0);
2060+ else if (! strncmp(this_opt, "maxclk:", 7))
2061+ maxclk = simple_strtoul(this_opt + 7, NULL, 0);
2062+ else if (! strncmp(this_opt, "vbemode:", 8))
2063+ vbemode = simple_strtoul(this_opt + 8, NULL,0);
2064+ else if (this_opt[0] >= '0' && this_opt[0] <= '9') {
2065+ DPRINTK("mode_option: %s\n",this_opt);
2066+ mode_option = this_opt;
2067+ } else {
2068+ printk(KERN_WARNING
2069+ "vesafb: unrecognized option %s\n", this_opt);
2070+ }
2071+ }
2072+
2073+ return 0;
2074+}
2075+#endif /* !MODULE */
2076+
2077+static int vesafb_read_proc_modes(char *buf, char **start, off_t offset,
2078+ int len, int *eof, void *private)
2079+{
2080+ int clen = 0, i;
2081+
2082+ for (i = 0; i < vbe_modes_cnt; i++) {
2083+ clen += min(snprintf(buf + clen, len - clen, "%dx%d-%d\n", vbe_modes[i].x_res,
2084+ vbe_modes[i].y_res, vbe_modes[i].depth), len - clen);
2085+ }
2086+ *eof = 1;
2087+ return clen;
2088+}
2089+
2090+static int vesafb_read_proc_vbe_info(char *buf, char **start, off_t offset,
2091+ int len, int *eof, void *private)
2092+{
2093+ int clen = 0;
2094+
2095+ clen += min(snprintf(buf + clen, len, "Version: %d.%d\n",
2096+ ((vbe_ib.vbe_version & 0xff00) >> 8),
2097+ vbe_ib.vbe_version & 0xff), len);
2098+ clen += min(snprintf(buf + clen, len - clen, "Vendor: %s\n",
2099+ (char*)vbe_ib.oem_vendor_name_ptr), len - clen);
2100+ clen += min(snprintf(buf + clen, len - clen, "Product: %s\n",
2101+ (char*)vbe_ib.oem_product_name_ptr), len - clen);
2102+ clen += min(snprintf(buf + clen, len - clen, "OEM rev: %s\n",
2103+ (char*)vbe_ib.oem_product_rev_ptr), len - clen);
2104+ clen += min(snprintf(buf + clen, len - clen, "OEM string: %s\n",
2105+ (char*)vbe_ib.oem_string_ptr), len - clen);
2106+
2107+ *eof = 1;
2108+ return clen;
2109+}
2110+
2111+static int __init inline vesafb_vbe_getinfo(struct vesafb_task *tsk)
2112+{
2113+ tsk->regs.eax = 0x4f00;
2114+ tsk->flags = TF_CALL | TF_GETVBEIB;
2115+ tsk->buf = &vbe_ib;
2116+ tsk->buf_len = sizeof(vbe_ib);
2117+ if (vesafb_queue_task (tsk))
2118+ return -EINVAL;
2119+ vesafb_wait_for_task(tsk);
2120+
2121+ if (vbe_ib.vbe_version < 0x0200) {
2122+ printk(KERN_ERR "vesafb: Sorry, pre-VBE 2.0 cards are "
2123+ "not supported.\n");
2124+ return -EINVAL;
2125+ }
2126+
2127+ if ((tsk->regs.eax & 0xffff) != 0x004f) {
2128+ printk(KERN_ERR "vesafb: Getting mode info block failed "
2129+ "(eax=0x%x)\n", (u32)tsk->regs.eax);
2130+ return -EINVAL;
2131+ }
2132+
2133+ printk(KERN_INFO "vesafb: %s, %s, %s (OEM: %s)\n",
2134+ (char*)vbe_ib.oem_vendor_name_ptr,
2135+ (char*)vbe_ib.oem_product_name_ptr,
2136+ (char*)vbe_ib.oem_product_rev_ptr,
2137+ (char*)vbe_ib.oem_string_ptr);
2138+
2139+ printk(KERN_INFO "vesafb: VBE version: %d.%d\n",
2140+ ((vbe_ib.vbe_version & 0xff00) >> 8),
2141+ vbe_ib.vbe_version & 0xff);
2142+ return 0;
2143+}
2144+
2145+static int __init inline vesafb_vbe_getmodes(struct vesafb_task *tsk)
2146+{
2147+ u16 *mode = 0;
2148+ int off = 0;
2149+
2150+ /* Count available modes. */
2151+ mode = (u16*)vbe_ib.mode_list_ptr;
2152+ while (*mode != 0xffff) {
2153+ vbe_modes_cnt++;
2154+ mode++;
2155+ }
2156+
2157+ vbe_modes = kmalloc(sizeof(struct vesafb_mode_ib)*
2158+ vbe_modes_cnt, GFP_KERNEL);
2159+ if (!vbe_modes)
2160+ return -ENOMEM;
2161+
2162+ /* Get mode info for all available modes. */
2163+ mode = (u16*)vbe_ib.mode_list_ptr;
2164+
2165+ while (*mode != 0xffff) {
2166+ struct vesafb_mode_ib *mib;
2167+
2168+ vesafb_reset_task(tsk);
2169+ tsk->regs.eax = 0x4f01;
2170+ tsk->regs.ecx = (u32) *mode;
2171+ tsk->flags = TF_CALL | TF_RETURN_BUF | TF_BUF_DI;
2172+ tsk->buf = vbe_modes+off;
2173+ tsk->buf_len = sizeof(struct vesafb_mode_ib);
2174+ if (vesafb_queue_task(tsk))
2175+ return -EINVAL;
2176+ vesafb_wait_for_task(tsk);
2177+ mib = p_mode(tsk->buf);
2178+ mib->mode_id = *mode;
2179+
2180+ /* We only want modes that are supported with the currennt
2181+ * hardware configuration (D0), color (D3), graphics (D4)
2182+ * and that have support for the LFB (D7). */
2183+ if ((mib->mode_attr & 0x99) == 0x99 &&
2184+ mib->bits_per_pixel >= 8) {
2185+ off++;
2186+ } else {
2187+ vbe_modes_cnt--;
2188+ }
2189+ mode++;
2190+ mib->depth = mib->red_len + mib->green_len + mib->blue_len;
2191+ /* Handle 8bpp modes and modes with broken color component
2192+ * lengths. */
2193+ if (mib->depth == 0 ||
2194+ (mib->depth == 24 && mib->bits_per_pixel == 32))
2195+ mib->depth = mib->bits_per_pixel;
2196+ }
2197+
2198+ return 0;
2199+}
2200+
2201+static int __init inline vesafb_vbe_getpmi(struct vesafb_task *tsk)
2202+{
2203+ int i;
2204+
2205+ vesafb_reset_task(tsk);
2206+ tsk->regs.eax = 0x4f0a;
2207+ tsk->regs.ebx = 0x0;
2208+ tsk->flags = TF_CALL;
2209+ if (vesafb_queue_task(tsk))
2210+ return -EINVAL;
2211+ vesafb_wait_for_task(tsk);
2212+
2213+ if ((tsk->regs.eax & 0xffff) != 0x004f || tsk->regs.es < 0xc000) {
2214+ pmi_setpal = ypan = 0;
2215+ } else {
2216+ pmi_base = (u16*)phys_to_virt(((u32)tsk->regs.es << 4) +
2217+ tsk->regs.edi);
2218+ pmi_start = (void*)((char*)pmi_base + pmi_base[1]);
2219+ pmi_pal = (void*)((char*)pmi_base + pmi_base[2]);
2220+ printk(KERN_INFO "vesafb: protected mode interface info at "
2221+ "%04x:%04x\n",
2222+ (u16)tsk->regs.es, (u16)tsk->regs.edi);
2223+ printk(KERN_INFO "vesafb: pmi: set display start = %p, "
2224+ "set palette = %p\n", pmi_start, pmi_pal);
2225+
2226+ if (pmi_base[3]) {
2227+ printk(KERN_INFO "vesafb: pmi: ports = ");
2228+ for (i = pmi_base[3]/2; pmi_base[i] != 0xffff; i++)
2229+ printk("%x ",pmi_base[i]);
2230+ printk("\n");
2231+
2232+ /*
2233+ * memory areas not supported (yet?)
2234+ *
2235+ * Rules are: we have to set up a descriptor for the
2236+ * requested memory area and pass it in the ES register
2237+ * to the BIOS function.
2238+ */
2239+ if (pmi_base[i] != 0xffff) {
2240+ printk(KERN_INFO "vesafb: can't handle memory "
2241+ "requests, pmi disabled\n");
2242+ ypan = pmi_setpal = 0;
2243+ }
2244+ }
2245+ }
2246+ return 0;
2247+}
2248+
2249+static int __init inline vesafb_vbe_getedid(struct vesafb_task *tsk,
2250+ struct fb_info *info)
2251+{
2252+ int res = 0;
2253+
2254+ if (noedid || vbe_ib.vbe_version < 0x0300)
2255+ return -EINVAL;
2256+
2257+ vesafb_reset_task(tsk);
2258+ tsk->regs.eax = 0x4f15;
2259+ tsk->regs.ebx = 0;
2260+ tsk->regs.ecx = 0;
2261+ if (vesafb_queue_task(tsk))
2262+ return -EINVAL;
2263+ vesafb_wait_for_task(tsk);
2264+
2265+ if ((tsk->regs.eax & 0xffff) != 0x004f)
2266+ return -EINVAL;
2267+
2268+ if ((tsk->regs.ebx & 0x3) == 3) {
2269+ printk(KERN_INFO "vesafb: VBIOS/hardware supports both "
2270+ "DDC1 and DDC2 transfers\n");
2271+ } else if ((tsk->regs.ebx & 0x3) == 2) {
2272+ printk(KERN_INFO "vesafb: VBIOS/hardware supports DDC2 "
2273+ "transfers\n");
2274+ } else if ((tsk->regs.ebx & 0x3) == 1) {
2275+ printk(KERN_INFO "vesafb: VBIOS/hardware supports DDC1 "
2276+ "transfers\n");
2277+ } else {
2278+ printk(KERN_INFO "vesafb: VBIOS/hardware doesn't support "
2279+ "DDC transfers\n");
2280+ return -EINVAL;
2281+ }
2282+
2283+ vesafb_reset_task(tsk);
2284+ tsk->regs.eax = 0x4f15;
2285+ tsk->regs.ebx = 1;
2286+ tsk->regs.ecx = tsk->regs.edx = 0;
2287+ tsk->flags = TF_CALL | TF_RETURN_BUF | TF_BUF_DI;
2288+ tsk->buf = kmalloc(EDID_LENGTH, GFP_KERNEL);
2289+ tsk->buf_len = EDID_LENGTH;
2290+
2291+ if (vesafb_queue_task(tsk)) {
2292+ res = -EINVAL;
2293+ goto out;
2294+ }
2295+ vesafb_wait_for_task(tsk);
2296+
2297+ if ((tsk->regs.eax & 0xffff) == 0x004f) {
2298+ fb_edid_to_monspecs(tsk->buf, &info->monspecs);
2299+ fb_videomode_to_modelist(info->monspecs.modedb,
2300+ info->monspecs.modedb_len, &info->modelist);
2301+ if (info->monspecs.vfmax && info->monspecs.hfmax) {
2302+ /* If the maximum pixel clock wasn't specified in
2303+ * the EDID block, set it to 300 MHz. */
2304+ if (info->monspecs.dclkmax == 0)
2305+ info->monspecs.dclkmax = 300 * 1000000;
2306+ info->monspecs.gtf = 1;
2307+ } else {
2308+ res = -EINVAL;
2309+ }
2310+ }
2311+
2312+out: kfree(tsk->buf);
2313+ return res;
2314+}
2315+
2316+static void __init inline vesafb_vbe_getmonspecs(struct vesafb_task *tsk,
2317+ struct fb_info *info)
2318+{
2319+ struct fb_var_screeninfo var;
2320+ int i;
2321+ memset(&info->monspecs, 0, sizeof(struct fb_monspecs));
2322+
2323+ /* If we didn't get all necessary data from the EDID block,
2324+ * mark it as incompatible with the GTF. */
2325+ if (vesafb_vbe_getedid(tsk, info))
2326+ info->monspecs.gtf = 0;
2327+
2328+ /* Kernel command line overrides. */
2329+ if (maxclk)
2330+ info->monspecs.dclkmax = maxclk * 1000000;
2331+ if (maxvf)
2332+ info->monspecs.vfmax = maxvf;
2333+ if (maxhf)
2334+ info->monspecs.hfmax = maxhf * 1000;
2335+
2336+ /* In case DDC transfers are not supported the user can provide
2337+ * monitor limits manually. Lower limits are set to "safe" values. */
2338+ if (info->monspecs.gtf == 0 && maxclk && maxvf && maxhf) {
2339+ info->monspecs.dclkmin = 0;
2340+ info->monspecs.vfmin = 60;
2341+ info->monspecs.hfmin = 29000;
2342+ info->monspecs.gtf = 1;
2343+ }
2344+
2345+ if (info->monspecs.gtf) {
2346+ printk(KERN_INFO
2347+ "vesafb: monitor limits: vf = %d Hz, hf = %d kHz, "
2348+ "clk = %d MHz\n", info->monspecs.vfmax,
2349+ (int)(info->monspecs.hfmax / 1000),
2350+ (int)(info->monspecs.dclkmax / 1000000));
2351+ /* Add valid VESA video modes to our modelist. */
2352+ for (i = 0; i < VESA_MODEDB_SIZE; i++) {
2353+ fb_videomode_to_var(&var, (struct fb_videomode *)
2354+ &vesa_modes[i]);
2355+ if (!fb_validate_mode(&var, info))
2356+ fb_add_videomode((struct fb_videomode *)
2357+ &vesa_modes[i],
2358+ &info->modelist);
2359+ }
2360+ } else {
2361+ /* Add all VESA video modes to our modelist. */
2362+ fb_videomode_to_modelist((struct fb_videomode *)vesa_modes,
2363+ VESA_MODEDB_SIZE, &info->modelist);
2364+ printk(KERN_INFO "vesafb: no monitor limits have been set\n");
2365+ }
2366+ return;
2367+}
2368+
2369+static int __init inline vesafb_vbe_init(struct fb_info *info)
2370+{
2371+ struct vesafb_task *tsk;
2372+ int res = 0;
2373+
2374+ vesafb_create_task(tsk);
2375+ if (!tsk)
2376+ return -EINVAL;
2377+ if ((res = vesafb_vbe_getinfo(tsk)) != 0)
2378+ goto out;
2379+ if ((res = vesafb_vbe_getmodes(tsk)) != 0)
2380+ goto out;
2381+ if (pmi_setpal || ypan)
2382+ vesafb_vbe_getpmi(tsk);
2383+
2384+ INIT_LIST_HEAD(&info->modelist);
2385+ vesafb_vbe_getmonspecs(tsk, info);
2386+
2387+out: kfree(tsk);
2388+ return res;
2389+}
2390+
2391+static int __init decode_mode(u32 *xres, u32 *yres, u32 *bpp, u32 *refresh)
2392+{
2393+ int len = strlen(mode_option), i, err = 0;
2394+ u8 res_specified = 0, bpp_specified = 0, refresh_specified = 0,
2395+ yres_specified = 0;
2396+
2397+ for (i = len-1; i >= 0; i--) {
2398+ switch (mode_option[i]) {
2399+ case '@':
2400+ len = i;
2401+ if (!refresh_specified && !bpp_specified &&
2402+ !yres_specified) {
2403+ *refresh = simple_strtoul(&mode_option[i+1],
2404+ NULL, 0);
2405+ refresh_specified = 1;
2406+ } else
2407+ goto out;
2408+ break;
2409+ case '-':
2410+ len = i;
2411+ if (!bpp_specified && !yres_specified) {
2412+ *bpp = simple_strtoul(&mode_option[i+1],
2413+ NULL, 0);
2414+ bpp_specified = 1;
2415+ } else
2416+ goto out;
2417+ break;
2418+ case 'x':
2419+ if (!yres_specified) {
2420+ *yres = simple_strtoul(&mode_option[i+1],
2421+ NULL, 0);
2422+ yres_specified = 1;
2423+ } else
2424+ goto out;
2425+ break;
2426+ case '0'...'9':
2427+ break;
2428+ default:
2429+ goto out;
2430+ }
2431+ }
2432+
2433+ if (i < 0 && yres_specified) {
2434+ *xres = simple_strtoul(mode_option, NULL, 0);
2435+ res_specified = 1;
2436+ }
2437+
2438+out: if (!res_specified || !yres_specified) {
2439+ printk(KERN_ERR "vesafb: invalid resolution, "
2440+ "%s not specified\n",
2441+ (!res_specified) ? "width" : "height");
2442+ err = -EINVAL;
2443+ }
2444+
2445+ return err;
2446+}
2447+
2448+static int __init vesafb_init_set_mode(struct fb_info *info)
2449+{
2450+ struct fb_videomode *fbmode;
2451+ struct fb_videomode mode;
2452+ int i, modeid, refresh = 0;
2453+ u8 refresh_specified = 0;
2454+
2455+ if (!mode_option)
2456+ mode_option = CONFIG_FB_VESA_DEFAULT_MODE;
2457+
2458+ if (vbemode > 0) {
2459+ for (i = 0; i < vbe_modes_cnt; i++) {
2460+ if (vbe_modes[i].mode_id == vbemode) {
2461+ info->var.vmode = FB_VMODE_NONINTERLACED;
2462+ info->var.sync = FB_SYNC_VERT_HIGH_ACT;
2463+ vesafb_setup_var(&info->var, info,
2464+ &vbe_modes[i]);
2465+ fb_get_mode(FB_VSYNCTIMINGS | FB_IGNOREMON,
2466+ 60, &info->var, info);
2467+ /* With pixclock set to 0, the default BIOS
2468+ * timings will be used in set_par(). */
2469+ info->var.pixclock = 0;
2470+ modeid = i;
2471+ goto out;
2472+ }
2473+ }
2474+ printk(KERN_INFO "specified VBE mode %d not found\n",
2475+ vbemode);
2476+ vbemode = 0;
2477+ }
2478+
2479+ /* Decode the mode specified on the kernel command line. We save
2480+ * the depth into bits_per_pixel, which is wrong, but will work
2481+ * anyway. */
2482+ if (decode_mode(&info->var.xres, &info->var.yres,
2483+ &info->var.bits_per_pixel, &refresh))
2484+ return -EINVAL;
2485+ if (refresh)
2486+ refresh_specified = 1;
2487+ else
2488+ refresh = 60;
2489+
2490+ /* Look for a matching VBE mode. We can live if an exact match
2491+ * cannot be found. */
2492+ modeid = vesafb_find_vbe_mode(info->var.xres, info->var.yres,
2493+ info->var.bits_per_pixel, 0);
2494+
2495+ if (modeid == -1) {
2496+ return -EINVAL;
2497+ } else {
2498+ info->var.vmode = FB_VMODE_NONINTERLACED;
2499+ info->var.sync = FB_SYNC_VERT_HIGH_ACT;
2500+ vesafb_setup_var(&info->var, info, &vbe_modes[modeid]);
2501+ }
2502+ if (vbe_ib.vbe_version < 0x0300) {
2503+ fb_get_mode(FB_VSYNCTIMINGS | FB_IGNOREMON, 60,
2504+ &info->var, info);
2505+ goto out;
2506+ }
2507+ if (!gtf) {
2508+ struct fb_videomode tmode;
2509+
2510+ if (refresh_specified) {
2511+ fb_var_to_videomode(&tmode, &info->var);
2512+ tmode.refresh = refresh;
2513+ fbmode = fb_find_nearest_mode(&tmode,
2514+ &info->modelist);
2515+ } else
2516+ fbmode = fb_find_best_mode(&info->var,
2517+ &info->modelist);
2518+
2519+ if (fbmode->xres == info->var.xres &&
2520+ fbmode->yres == info->var.yres &&
2521+ !(fbmode->vmode & (FB_VMODE_INTERLACED | FB_VMODE_DOUBLE))
2522+ && (!refresh_specified ||
2523+ abs(refresh - fbmode->refresh) <= 5)) {
2524+ fb_videomode_to_var(&info->var, fbmode);
2525+ return modeid;
2526+ }
2527+ }
2528+ i = FB_MAXTIMINGS;
2529+ if (!info->monspecs.gtf)
2530+ i = FB_IGNOREMON | FB_VSYNCTIMINGS;
2531+ else if (refresh_specified)
2532+ i = FB_VSYNCTIMINGS;
2533+ if (!fb_get_mode(i, refresh, &info->var, info))
2534+ goto out;
2535+ if (info->monspecs.gtf &&
2536+ !fb_get_mode(FB_MAXTIMINGS, 0, &info->var, info))
2537+ goto out;
2538+ /* Use default refresh rate */
2539+ printk(KERN_WARNING "vesafb: using default BIOS refresh rate\n");
2540+ info->var.pixclock = 0;
2541+
2542+out:
2543+ fb_var_to_videomode(&mode, &info->var);
2544+ fb_add_videomode(&mode, &info->modelist);
2545+ return modeid;
2546+}
2547+
2548+static int __init vesafb_probe(struct platform_device *dev)
2549+{
2550+ char entry[16];
2551+ struct fb_info *info;
2552+ struct vesafb_mode_ib *mode = NULL;
2553+ int err = 0, i, h;
2554+ unsigned int size_vmode;
2555+ unsigned int size_remap;
2556+ unsigned int size_total;
2557+
2558+ vesafb_info = info = framebuffer_alloc(sizeof(struct vesafb_par) +
2559+ sizeof(u32) * 256, &dev->dev);
2560+ if (!info)
2561+ return -ENOMEM;
2562+
2563+ if (vesafb_wait_for_thread()) {
2564+ printk(KERN_ERR "vesafb: vesafb thread not running\n");
2565+ framebuffer_release(info);
2566+ return -EINVAL;
2567+ }
2568+
2569+ if (vesafb_vbe_init(info)) {
2570+ printk(KERN_ERR "vesafb: vbe_init failed\n");
2571+ err = -EINVAL;
2572+ goto out;
2573+ }
2574+
2575+ vesafb_fix.ypanstep = ypan ? 1 : 0;
2576+ vesafb_fix.ywrapstep = (ypan>1) ? 1 : 0;
2577+
2578+ info->pseudo_palette = ((u8*)info->par + sizeof(struct vesafb_par));
2579+ info->fbops = &vesafb_ops;
2580+ info->var = vesafb_defined;
2581+ info->fix = vesafb_fix;
2582+
2583+ if (fb_alloc_cmap(&info->cmap, 256, 0) < 0) {
2584+ err = -ENXIO;
2585+ goto out;
2586+ }
2587+
2588+ i = vesafb_init_set_mode(info);
2589+ if (i < 0) {
2590+ err = -EINVAL;
2591+ goto out_cmap;
2592+ } else
2593+ mode = &vbe_modes[i];
2594+
2595+ /* Disable blanking if the user requested so. */
2596+ if (!blank) {
2597+ info->fbops->fb_blank = NULL;
2598+ }
2599+
2600+ /* Find out how much IO memory is required for the mode with
2601+ * the highest resolution. */
2602+ size_remap = 0;
2603+ for (i = 0; i < vbe_modes_cnt; i++) {
2604+ h = vbe_modes[i].bytes_per_scan_line * vbe_modes[i].y_res;
2605+ if (h > size_remap)
2606+ size_remap = h;
2607+ }
2608+ size_remap *= 2;
2609+
2610+ /* size_vmode -- that is the amount of memory needed for the
2611+ * used video mode, i.e. the minimum amount of
2612+ * memory we need. */
2613+ if (mode != NULL) {
2614+ size_vmode = info->var.yres * mode->bytes_per_scan_line;
2615+ } else {
2616+ size_vmode = info->var.yres * info->var.xres *
2617+ ((info->var.bits_per_pixel + 7) >> 3);
2618+ }
2619+
2620+ /* size_total -- all video memory we have. Used for mtrr
2621+ * entries, ressource allocation and bounds
2622+ * checking. */
2623+ size_total = vbe_ib.total_memory * 65536;
2624+ if (vram_total)
2625+ size_total = vram_total * 1024 * 1024;
2626+ if (size_total < size_vmode)
2627+ size_total = size_vmode;
2628+ ((struct vesafb_par*)(info->par))->mem_total = size_total;
2629+
2630+ /* size_remap -- the amount of video memory we are going to
2631+ * use for vesafb. With modern cards it is no
2632+ * option to simply use size_total as th
2633+ * wastes plenty of kernel address space. */
2634+ if (vram_remap)
2635+ size_remap = vram_remap * 1024 * 1024;
2636+ if (size_remap < size_vmode)
2637+ size_remap = size_vmode;
2638+ if (size_remap > size_total)
2639+ size_remap = size_total;
2640+
2641+ info->fix.smem_len = size_remap;
2642+ info->fix.smem_start = mode->phys_base_ptr;
2643+
2644+ /* We have to set it here, because when setup_var() was called,
2645+ * smem_len wasn't defined yet. */
2646+ info->var.yres_virtual = info->fix.smem_len /
2647+ mode->bytes_per_scan_line;
2648+
2649+ if (ypan && info->var.yres_virtual > info->var.yres) {
2650+ printk(KERN_INFO "vesafb: scrolling: %s "
2651+ "using protected mode interface, "
2652+ "yres_virtual=%d\n",
2653+ (ypan > 1) ? "ywrap" : "ypan",info->var.yres_virtual);
2654+ } else {
2655+ printk(KERN_INFO "vesafb: scrolling: redraw\n");
2656+ info->var.yres_virtual = info->var.yres;
2657+ ypan = 0;
2658+ }
2659+
2660+ info->flags = FBINFO_FLAG_DEFAULT |
2661+ (ypan) ? FBINFO_HWACCEL_YPAN : 0;
2662+
2663+ if (!ypan)
2664+ info->fbops->fb_pan_display = NULL;
2665+
2666+ if (!request_mem_region(info->fix.smem_start, size_total, "vesafb")) {
2667+ printk(KERN_WARNING "vesafb: cannot reserve video memory at "
2668+ "0x%lx\n", info->fix.smem_start);
2669+ /* We cannot make this fatal. Sometimes this comes from magic
2670+ spaces our resource handlers simply don't know about. */
2671+ }
2672+
2673+ info->screen_base = ioremap(info->fix.smem_start, info->fix.smem_len);
2674+
2675+ if (!info->screen_base) {
2676+ printk(KERN_ERR
2677+ "vesafb: abort, cannot ioremap video memory "
2678+ "0x%x @ 0x%lx\n",
2679+ info->fix.smem_len, info->fix.smem_start);
2680+ err = -EIO;
2681+ goto out_mem;
2682+ }
2683+
2684+ /* Request failure does not faze us, as vgacon probably has this
2685+ region already (FIXME) */
2686+ request_region(0x3c0, 32, "vesafb");
2687+
2688+#ifdef CONFIG_MTRR
2689+ if (mtrr && !(info->fix.smem_start & (PAGE_SIZE - 1))) {
2690+ int temp_size = size_total;
2691+ unsigned int type = 0;
2692+
2693+ switch (mtrr) {
2694+ case 1:
2695+ type = MTRR_TYPE_UNCACHABLE;
2696+ break;
2697+ case 2:
2698+ type = MTRR_TYPE_WRBACK;
2699+ break;
2700+ case 3:
2701+ type = MTRR_TYPE_WRCOMB;
2702+ break;
2703+ case 4:
2704+ type = MTRR_TYPE_WRTHROUGH;
2705+ break;
2706+ default:
2707+ type = 0;
2708+ break;
2709+ }
2710+
2711+ if (type) {
2712+ int rc;
2713+
2714+ /* Find the largest power-of-two */
2715+ while (temp_size & (temp_size - 1))
2716+ temp_size &= (temp_size - 1);
2717+
2718+ /* Try and find a power of two to add */
2719+ do {
2720+ rc = mtrr_add(info->fix.smem_start,
2721+ temp_size, type, 1);
2722+ temp_size >>= 1;
2723+ } while (temp_size >= PAGE_SIZE && rc == -EINVAL);
2724+ }
2725+ }
2726+#endif /* CONFIG_MTRR */
2727+
2728+ if (register_framebuffer(info) < 0) {
2729+ printk(KERN_ERR
2730+ "vesafb: failed to register framebuffer device\n");
2731+ err = -EINVAL;
2732+ goto out_mem;
2733+ }
2734+
2735+ printk(KERN_INFO "vesafb: framebuffer at 0x%lx, mapped to 0x%p, "
2736+ "using %dk, total %dk\n", info->fix.smem_start,
2737+ info->screen_base, size_remap/1024, size_total/1024);
2738+ printk(KERN_INFO "fb%d: %s frame buffer device\n", info->node,
2739+ info->fix.id);
2740+
2741+ sprintf(entry, "fb%d", info->node);
2742+ proc_mkdir(entry, 0);
2743+
2744+ sprintf(entry, "fb%d/modes", info->node);
2745+ create_proc_read_entry(entry, 0, 0, vesafb_read_proc_modes, NULL);
2746+
2747+ sprintf(entry, "fb%d/vbe_info", info->node);
2748+ create_proc_read_entry(entry, 0, 0, vesafb_read_proc_vbe_info, NULL);
2749+ return 0;
2750+
2751+out_mem:
2752+ release_mem_region(info->fix.smem_start, size_total);
2753+ if (!list_empty(&info->modelist))
2754+ fb_destroy_modelist(&info->modelist);
2755+ fb_destroy_modedb(info->monspecs.modedb);
2756+out_cmap:
2757+ fb_dealloc_cmap(&info->cmap);
2758+out:
2759+ framebuffer_release(info);
2760+ vesafb_info = NULL;
2761+ kfree(vbe_modes);
2762+ vbe_modes = NULL;
2763+ return err;
2764+}
2765+
2766+int __init vesafb_init(void)
2767+{
2768+ int ret;
2769+#ifndef MODULE
2770+ char *option = NULL;
2771+
2772+ if (fb_get_options("vesafb", &option))
2773+ return -ENODEV;
2774+ vesafb_setup(option);
2775+#endif
2776+ ret = platform_driver_register(&vesafb_driver);
2777+
2778+ if (!ret) {
2779+ vesafb_device = platform_device_alloc("vesafb", 0);
2780+
2781+ if (vesafb_device)
2782+ ret = platform_device_add(vesafb_device);
2783+ else
2784+ ret = -ENOMEM;
2785+
2786+ if (ret) {
2787+ platform_device_put(vesafb_device);
2788+ platform_driver_unregister(&vesafb_driver);
2789+ }
2790+ }
2791+ return ret;
2792+}
2793+
2794+module_init(vesafb_init);
2795+
2796+#ifdef MODULE
2797+void __exit vesafb_exit(void)
2798+{
2799+ char entry[16];
2800+
2801+ if (vesafb_info)
2802+ unregister_framebuffer(vesafb_info);
2803+
2804+ platform_device_unregister(vesafb_device);
2805+ platform_driver_unregister(&vesafb_driver);
2806+
2807+ if (vesafb_info) {
2808+ struct vesafb_par *par = (struct vesafb_par*)vesafb_info->par;
2809+
2810+ sprintf(entry, "fb%d/modes", vesafb_info->node);
2811+ remove_proc_entry(entry, NULL);
2812+
2813+ sprintf(entry, "fb%d/vbe_info", vesafb_info->node);
2814+ remove_proc_entry(entry, NULL);
2815+
2816+ sprintf(entry, "fb%d", vesafb_info->node);
2817+ remove_proc_entry(entry, NULL);
2818+
2819+ iounmap(vesafb_info->screen_base);
2820+ release_mem_region(vesafb_info->fix.smem_start,
2821+ par->mem_total);
2822+ fb_dealloc_cmap(&vesafb_info->cmap);
2823+ if (!list_empty(&vesafb_info->modelist))
2824+ fb_destroy_modelist(&vesafb_info->modelist);
2825+ fb_destroy_modedb(vesafb_info->monspecs.modedb);
2826+ framebuffer_release(vesafb_info);
2827+ }
2828+
2829+ if (vbe_modes != NULL)
2830+ kfree(vbe_modes);
2831+}
2832+
2833+module_exit(vesafb_exit);
2834+
2835+static inline int param_get_scroll(char *buffer, struct kernel_param *kp)
2836+{
2837+ return 0;
2838+}
2839+static inline int param_set_scroll(const char *val, struct kernel_param *kp)
2840+{
2841+ ypan = 0;
2842+
2843+ if (! strcmp(val, "redraw"))
2844+ ypan = 0;
2845+ else if (! strcmp(val, "ypan"))
2846+ ypan = 1;
2847+ else if (! strcmp(val, "ywrap"))
2848+ ypan = 2;
2849+
2850+ return 0;
2851+}
2852+
2853+#define param_check_scroll(name, p) __param_check(name, p, void);
2854+
2855+module_param_named(scroll, ypan, scroll, 0);
2856+MODULE_PARM_DESC(scroll,"Scrolling mode, set to 'redraw', 'ypan' or 'ywrap'");
2857+module_param_named(vgapal, pmi_setpal, invbool, 0);
2858+MODULE_PARM_DESC(vgapal,"bool: set palette using VGA registers");
2859+module_param_named(pmipal, pmi_setpal, bool, 0);
2860+MODULE_PARM_DESC(pmipal,"bool: set palette using PMI calls");
2861+module_param(mtrr, uint, 0);
2862+MODULE_PARM_DESC(mtrr,"Memory Type Range Registers setting. Use 0 to disable.");
2863+module_param(blank, bool, 1);
2864+MODULE_PARM_DESC(blank,"bool: enable hardware blanking");
2865+module_param(nocrtc, bool, 0);
2866+MODULE_PARM_DESC(nocrtc,"bool: ignore CRTC timings when setting modes");
2867+module_param(noedid, bool, 0);
2868+MODULE_PARM_DESC(noedid,"bool: ignore EDID-provided monitor limits "
2869+ "when setting modes");
2870+module_param(gtf, bool, 0);
2871+MODULE_PARM_DESC(gtf,"bool: force use of VESA GTF to calculate mode timings");
2872+module_param(vram_remap, uint, 0);
2873+MODULE_PARM_DESC(vram_remap,"Set amount of video memory to be used [MiB]");
2874+module_param(vram_total, uint, 0);
2875+MODULE_PARM_DESC(vram_total,"Set total amount of video memoery [MiB]");
2876+module_param(maxclk, ushort, 0);
2877+MODULE_PARM_DESC(maxclk,"Maximum pixelclock [MHz], overrides EDID data");
2878+module_param(maxhf, ushort, 0);
2879+MODULE_PARM_DESC(maxhf,"Maximum horizontal frequency [kHz], "
2880+ "overrides EDID data");
2881+module_param(maxvf, ushort, 0);
2882+MODULE_PARM_DESC(maxvf,"Maximum vertical frequency [Hz], "
2883+ "overrides EDID data");
2884+module_param_named(mode, mode_option, charp, 0);
2885+MODULE_PARM_DESC(mode, "Specify resolution as "
2886+ "\"<xres>x<yres>[-<bpp>][@<refresh>]\"");
2887+module_param(vbemode, ushort, 0);
2888+MODULE_PARM_DESC(vbemode,"VBE mode number to set, overrides 'mode' setting");
2889+
2890+#endif /* MODULE */
2891+
2892+MODULE_LICENSE("GPL");
2893+MODULE_AUTHOR("Michal Januszewski");
2894+MODULE_DESCRIPTION("Framebuffer driver for VBE2.0+ compliant graphics boards");
2895+
2896diff --git a/include/linux/sched.h b/include/linux/sched.h
2897index 4463735..7283e48 100644
2898--- a/include/linux/sched.h
2899+++ b/include/linux/sched.h
2900@@ -1390,6 +1390,8 @@ extern void mmput(struct mm_struct *);
2901 extern struct mm_struct *get_task_mm(struct task_struct *task);
2902 /* Remove the current tasks stale references to the old mm_struct */
2903 extern void mm_release(struct task_struct *, struct mm_struct *);
2904+/* Create a new mm for a kernel thread */
2905+extern int set_new_mm(void);
2906
2907 extern int copy_thread(int, unsigned long, unsigned long, unsigned long, struct task_struct *, struct pt_regs *);
2908 extern void flush_thread(void);
2909diff --git a/include/video/vesa.h b/include/video/vesa.h
2910new file mode 100644
2911index 0000000..bb5abcf
2912--- /dev/null
2913+++ b/include/video/vesa.h
2914@@ -0,0 +1,150 @@
2915+#if 0
2916+#define DPRINTK(fmt, args...) printk(KERN_DEBUG "%s: " fmt, __FUNCTION__ , \
2917+ ## args)
2918+#else
2919+#define DPRINTK(fmt, args...)
2920+#endif
2921+
2922+#define p_crtc(arg) ((struct vesafb_crtc_ib*)(arg))
2923+#define p_vbe(arg) ((struct vesafb_vbe_ib*)(arg))
2924+#define p_mode(arg) ((struct vesafb_mode_ib*)(arg))
2925+
2926+struct vesafb_task {
2927+ u8 flags;
2928+ void *buf;
2929+ int buf_len;
2930+ struct vm86_regs regs;
2931+ struct list_head node;
2932+ struct completion done;
2933+};
2934+
2935+/* Vesafb task flags and masks */
2936+#define TF_CALL 0x00
2937+#define TF_EXIT 0x01
2938+#define TF_GETVBEIB 0x02
2939+#define TF_BUF_DI 0x04
2940+#define TF_BUF_BX 0x08
2941+#define TF_RETURN_BUF 0x10
2942+
2943+/* Macros and functions for manipulating vesafb tasks */
2944+#define vesafb_create_task(task) \
2945+do { \
2946+ task = kmalloc(sizeof(struct vesafb_task), GFP_ATOMIC); \
2947+ if (task) \
2948+ memset(task, 0, sizeof(struct vesafb_task)); \
2949+ init_completion(&task->done); \
2950+} while (0)
2951+
2952+#define vesafb_wait_for_task(task) wait_for_completion(&task->done);
2953+#define vesafb_reset_task(task) init_completion(&task->done);
2954+int vesafb_queue_task(struct vesafb_task *task);
2955+
2956+/* Functions for controlling the vesafb thread */
2957+int vesafb_wait_for_thread(void);
2958+
2959+#define VBE_CAP_CAN_SWITCH_DAC 0x01
2960+#define VBE_CAP_VGACOMPAT 0x02
2961+
2962+/* This struct is 512 bytes long */
2963+struct vesafb_vbe_ib {
2964+ char vbe_signature[4];
2965+ u16 vbe_version;
2966+ u32 oem_string_ptr;
2967+ u32 capabilities;
2968+ u32 mode_list_ptr;
2969+ u16 total_memory;
2970+ u16 oem_software_rev;
2971+ u32 oem_vendor_name_ptr;
2972+ u32 oem_product_name_ptr;
2973+ u32 oem_product_rev_ptr;
2974+ u8 reserved[222];
2975+ char oem_data[256];
2976+} __attribute__ ((packed));
2977+
2978+struct vesafb_crtc_ib {
2979+ u16 horiz_total;
2980+ u16 horiz_start;
2981+ u16 horiz_end;
2982+ u16 vert_total;
2983+ u16 vert_start;
2984+ u16 vert_end;
2985+ u8 flags;
2986+ u32 pixel_clock;
2987+ u16 refresh_rate;
2988+ u8 reserved[40];
2989+} __attribute__ ((packed));
2990+
2991+#define VBE_MODE_VGACOMPAT 0x20
2992+
2993+struct vesafb_mode_ib {
2994+ /* for all VBE revisions */
2995+ u16 mode_attr;
2996+ u8 winA_attr;
2997+ u8 winB_attr;
2998+ u16 win_granularity;
2999+ u16 win_size;
3000+ u16 winA_seg;
3001+ u16 winB_seg;
3002+ u32 win_func_ptr;
3003+ u16 bytes_per_scan_line;
3004+
3005+ /* for VBE 1.2+ */
3006+ u16 x_res;
3007+ u16 y_res;
3008+ u8 x_char_size;
3009+ u8 y_char_size;
3010+ u8 planes;
3011+ u8 bits_per_pixel;
3012+ u8 banks;
3013+ u8 memory_model;
3014+ u8 bank_size;
3015+ u8 image_pages;
3016+ u8 reserved1;
3017+
3018+ /* Direct color fields for direct/6 and YUV/7 memory models. */
3019+ /* Offsets are bit positions of lsb in the mask. */
3020+ u8 red_len;
3021+ u8 red_off;
3022+ u8 green_len;
3023+ u8 green_off;
3024+ u8 blue_len;
3025+ u8 blue_off;
3026+ u8 rsvd_len;
3027+ u8 rsvd_off;
3028+ u8 direct_color_info; /* direct color mode attributes */
3029+
3030+ /* for VBE 2.0+ */
3031+ u32 phys_base_ptr;
3032+ u8 reserved2[6];
3033+
3034+ /* for VBE 3.0+ */
3035+ u16 lin_bytes_per_scan_line;
3036+ u8 bnk_image_pages;
3037+ u8 lin_image_pages;
3038+ u8 lin_red_len;
3039+ u8 lin_red_off;
3040+ u8 lin_green_len;
3041+ u8 lin_green_off;
3042+ u8 lin_blue_len;
3043+ u8 lin_blue_off;
3044+ u8 lin_rsvd_len;
3045+ u8 lin_rsvd_off;
3046+ u32 max_pixel_clock;
3047+ u16 mode_id;
3048+ u8 depth;
3049+} __attribute__ ((packed));
3050+
3051+struct vesafb_pal_entry {
3052+ u_char blue, green, red, pad;
3053+} __attribute__ ((packed));
3054+
3055+struct vesafb_par {
3056+ u8 *vbe_state;
3057+ int vbe_state_size;
3058+ atomic_t ref_count;
3059+
3060+ u32 mem_total;
3061+ int mode_idx;
3062+ struct vesafb_crtc_ib crtc;
3063+};
3064+
3065diff --git a/kernel/fork.c b/kernel/fork.c
3066index fc723e5..dc8f93b 100644
3067--- a/kernel/fork.c
3068+++ b/kernel/fork.c
3069@@ -100,6 +100,7 @@ struct kmem_cache *fs_cachep;
3070
3071 /* SLAB cache for vm_area_struct structures */
3072 struct kmem_cache *vm_area_cachep;
3073+EXPORT_SYMBOL_GPL(vm_area_cachep);
3074
3075 /* SLAB cache for mm_struct structures (tsk->mm) */
3076 static struct kmem_cache *mm_cachep;
3077@@ -399,6 +400,40 @@ void mmput(struct mm_struct *mm)
3078 EXPORT_SYMBOL_GPL(mmput);
3079
3080 /**
3081+ * set_new_mm - allocate, init and activate a new mm for a kernel thread
3082+ */
3083+int set_new_mm(void)
3084+{
3085+ struct mm_struct *mm;
3086+ struct task_struct *tsk = current;
3087+ struct mm_struct *active_mm;
3088+
3089+ mm = mm_alloc();
3090+ if (!mm)
3091+ goto fail_nomem;
3092+ if (init_new_context(current,mm))
3093+ goto fail_nocontext;
3094+
3095+ task_lock(tsk);
3096+ tsk->flags |= PF_BORROWED_MM;
3097+ active_mm = tsk->active_mm;
3098+ current->mm = mm;
3099+ current->active_mm = mm;
3100+ activate_mm(active_mm, mm);
3101+ task_unlock(current);
3102+
3103+ /* Drop the previous active_mm */
3104+ mmdrop(active_mm);
3105+ return 0;
3106+
3107+fail_nocontext:
3108+ mmdrop(mm);
3109+fail_nomem:
3110+ return -EINVAL;
3111+}
3112+EXPORT_SYMBOL_GPL(set_new_mm);
3113+
3114+/**
3115 * get_task_mm - acquire a reference to the task's mm
3116 *
3117 * Returns %NULL if the task has no mm. Checks PF_BORROWED_MM (meaning
3118diff --git a/mm/memory.c b/mm/memory.c
3119index 563792f..a9519ea 100644
3120--- a/mm/memory.c
3121+++ b/mm/memory.c
3122@@ -1193,6 +1193,7 @@ int zeromap_page_range(struct vm_area_struct *vma,
3123 } while (pgd++, addr = next, addr != end);
3124 return err;
3125 }
3126+EXPORT_SYMBOL_GPL(zeromap_page_range);
3127
3128 pte_t * fastcall get_locked_pte(struct mm_struct *mm, unsigned long addr, spinlock_t **ptl)
3129 {
3130diff --git a/mm/mmap.c b/mm/mmap.c
3131index 9717337..6fa5b1c 100644
3132--- a/mm/mmap.c
3133+++ b/mm/mmap.c
3134@@ -2024,6 +2024,7 @@ int insert_vm_struct(struct mm_struct * mm, struct vm_area_struct * vma)
3135 vma_link(mm, vma, prev, rb_link, rb_parent);
3136 return 0;
3137 }
3138+EXPORT_SYMBOL_GPL(insert_vm_struct);
3139
3140 /*
3141 * Copy the vma structure to a new location in the same mm,
diff --git a/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/wm97xx-lcdnoise-r0.patch b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/wm97xx-lcdnoise-r0.patch
new file mode 100644
index 0000000000..191de3af22
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.21+2.6.22-rc6/wm97xx-lcdnoise-r0.patch
@@ -0,0 +1,208 @@
1Index: linux-tosa/drivers/input/touchscreen/wm9712.c
2===================================================================
3--- linux-tosa.orig/drivers/input/touchscreen/wm9712.c 2006-08-29 16:52:36.008543280 +0100
4+++ linux-tosa/drivers/input/touchscreen/wm9712.c 2006-08-29 16:52:50.923275896 +0100
5@@ -1,7 +1,7 @@
6 /*
7 * wm9712.c -- Codec driver for Wolfson WM9712 AC97 Codecs.
8 *
9- * Copyright 2003, 2004, 2005 Wolfson Microelectronics PLC.
10+ * Copyright 2003, 2004, 2005, 2006 Wolfson Microelectronics PLC.
11 * Author: Liam Girdwood
12 * liam.girdwood@wolfsonmicro.com or linux@wolfsonmicro.com
13 * Parts Copyright : Ian Molton <spyro@f2s.com>
14@@ -13,6 +13,12 @@
15 * Free Software Foundation; either version 2 of the License, or (at your
16 * option) any later version.
17 *
18+ * Revision history
19+ * 4th Jul 2005 Initial version.
20+ * 29th Aug 2006 Mike Arthur <mike@mikearthur.co.uk>
21+ * Added fixes for Sharp SL-6000 (Tosa) LCD noise causing
22+ * touchscreen interference.
23+ *
24 */
25
26 #include <linux/module.h>
27@@ -28,6 +34,10 @@
28 #define WM9705_VERSION "0.60"
29 #define DEFAULT_PRESSURE 0xb0c0
30
31+#define CCNT(a) asm volatile ("mrc p14, 0, %0, C1, C1, 0" : "=r"(a))
32+#define CCNT_ON() asm("mcr p14, 0, %0, C0, C0, 0" : : "r"(1))
33+#define CCNT_OFF() asm("mcr p14, 0, %0, C0, C0, 0" : : "r"(1))
34+
35 /*
36 * Debug
37 */
38@@ -243,6 +253,36 @@
39 return wm->dig[2] & WM9712_PDEN;
40 }
41
42+
43+#ifdef CONFIG_MACH_TOSA
44+/* On the Sharp SL-6000 (Tosa), due to a noisy LCD, we need to perform a wait
45+ * before sampling the Y axis of the touchscreen */
46+static inline void wm9712_lcd_sync_on(struct wm97xx* wm, int adcsel) {
47+ unsigned long timer1 = 0, timer2 = 0, wait_time = 0;
48+ if (adcsel == WM97XX_ADCSEL_Y) {
49+ wait_time = wm97xx_calc_lcd_waittime(wm);
50+
51+ CCNT_ON();
52+
53+ if (wait_time) {
54+ /* wait for LCD rising edge */
55+ wm_machinfo->wait_hsync();
56+ /* get clock */
57+ CCNT(timer1);
58+ CCNT(timer2);
59+
60+ while ((timer2 - timer1) < wait_time) {
61+ CCNT(timer2);
62+ }
63+ }
64+ }
65+}
66+
67+static inline void wm9712_lcd_sync_off(void) {
68+ CCNT_OFF();
69+}
70+#endif
71+
72 /*
73 * Read a sample from the WM9712 adc in polling mode.
74 */
75@@ -260,6 +300,9 @@
76 /* set up digitiser */
77 if (adcsel & 0x8000)
78 adcsel = ((adcsel & 0x7fff) + 3) << 12;
79+ #ifdef CONFIG_MACH_TOSA
80+ wm9712_lcd_sync_on(wm, adcsel);
81+ #endif
82 wm97xx_reg_write(wm, AC97_WM97XX_DIGITISER1, adcsel | WM97XX_POLL | WM97XX_DELAY(delay));
83
84 /* wait 3 AC97 time slots + delay for conversion */
85@@ -282,6 +325,10 @@
86
87 *sample = wm97xx_reg_read(wm, AC97_WM97XX_DIGITISER_RD);
88
89+ #ifdef CONFIG_MACH_TOSA
90+ wm9712_lcd_sync_off();
91+ #endif
92+
93 /* check we have correct sample */
94 if ((*sample & WM97XX_ADCSEL_MASK) != adcsel) {
95 dbg ("adc wrong sample, read %x got %x", adcsel,
96@@ -303,11 +350,12 @@
97 static int wm9712_poll_touch(struct wm97xx* wm, struct wm97xx_data *data)
98 {
99 int rc;
100-
101 if ((rc = wm9712_poll_sample(wm, WM97XX_ADCSEL_X, &data->x)) != RC_VALID)
102 return rc;
103+
104 if ((rc = wm9712_poll_sample(wm, WM97XX_ADCSEL_Y, &data->y)) != RC_VALID)
105 return rc;
106+
107 if (pil && !five_wire) {
108 if ((rc = wm9712_poll_sample(wm, WM97XX_ADCSEL_PRES, &data->p)) != RC_VALID)
109 return rc;
110Index: linux-tosa/drivers/input/touchscreen/wm97xx-core.c
111===================================================================
112--- linux-tosa.orig/drivers/input/touchscreen/wm97xx-core.c 2006-08-29 16:52:36.008543280 +0100
113+++ linux-tosa/drivers/input/touchscreen/wm97xx-core.c 2006-08-29 16:52:50.924275744 +0100
114@@ -2,7 +2,7 @@
115 * wm97xx-core.c -- Touch screen driver core for Wolfson WM9705, WM9712
116 * and WM9713 AC97 Codecs.
117 *
118- * Copyright 2003, 2004, 2005 Wolfson Microelectronics PLC.
119+ * Copyright 2003, 2004, 2005, 2006 Wolfson Microelectronics PLC.
120 * Author: Liam Girdwood
121 * liam.girdwood@wolfsonmicro.com or linux@wolfsonmicro.com
122 * Parts Copyright : Ian Molton <spyro@f2s.com>
123@@ -67,6 +67,9 @@
124 * GPIOs) and 2.6 power management.
125 * 29th Nov 2004 Added WM9713 support.
126 * 4th Jul 2005 Moved codec specific code out to seperate files.
127+ * 29th Aug 2006 Mike Arthur <mike@mikearthur.co.uk>
128+ * Added fixes for Sharp SL-6000 (Tosa) LCD noise causing
129+ * touchscreen interference.
130 */
131
132 #include <linux/module.h>
133@@ -94,6 +97,7 @@
134 static DECLARE_MUTEX(gpio_sem);
135 static LIST_HEAD(wm97xx_misc_list);
136 static struct wm97xx* wm_codec = NULL;
137+struct wm97xx_machinfo *wm_machinfo;
138
139 /*
140 * WM97xx - enable/disable AUX ADC sysfs
141@@ -832,6 +836,23 @@
142 mdev->remove(wm_codec);
143 }
144
145+#ifdef CONFIG_MACH_TOSA
146+/* On the Sharp SL-6000 (Tosa), due to a noisy LCD, we need to perform a wait
147+ * before sampling the Y axis of the touchscreen */
148+unsigned long wm97xx_calc_lcd_waittime(struct wm97xx *wm) {
149+ unsigned long hsync_time = wm_machinfo->get_hsync_time();
150+ return hsync_time;
151+}
152+
153+void wm97xx_set_machinfo(struct wm97xx_machinfo *machinfo) {
154+ wm_machinfo = machinfo;
155+}
156+
157+void wm97xx_unset_machinfo() {
158+ wm_machinfo = NULL;
159+}
160+#endif
161+
162 static struct device_driver wm97xx_driver = {
163 .name = "ac97",
164 .bus = &ac97_bus_type,
165@@ -861,6 +882,9 @@
166 EXPORT_SYMBOL_GPL(wm97xx_reg_write);
167 EXPORT_SYMBOL_GPL(wm97xx_register_misc_dev);
168 EXPORT_SYMBOL_GPL(wm97xx_unregister_misc_dev);
169+EXPORT_SYMBOL_GPL(wm97xx_calc_lcd_waittime);
170+EXPORT_SYMBOL_GPL(wm97xx_set_machinfo);
171+EXPORT_SYMBOL_GPL(wm97xx_unset_machinfo);
172
173 module_init(wm97xx_init);
174 module_exit(wm97xx_exit);
175Index: linux-tosa/include/linux/wm97xx.h
176===================================================================
177--- linux-tosa.orig/include/linux/wm97xx.h 2006-08-29 16:52:36.008543280 +0100
178+++ linux-tosa/include/linux/wm97xx.h 2006-08-29 16:52:50.924275744 +0100
179@@ -207,6 +207,7 @@
180
181 struct wm97xx;
182 extern struct wm97xx_codec_drv wm97xx_codec;
183+extern struct wm97xx_machinfo *wm_machinfo;
184
185 /*
186 * Codec driver interface - allows mapping to WM9705/12/13 and newer codecs
187@@ -253,6 +254,11 @@
188 struct list_head list;
189 };
190
191+struct wm97xx_machinfo {
192+ unsigned long (*get_hsync_time)(void);
193+ void (*wait_hsync)(void);
194+};
195+
196 int wm97xx_register_misc_dev(struct wm97xx_misc_dev* mdev);
197 void wm97xx_unregister_misc_dev(struct wm97xx_misc_dev* mdev);
198
199@@ -281,4 +287,9 @@
200 int wm97xx_acc_startup(struct wm97xx* wm);
201 void wm97xx_acc_shutdown(struct wm97xx* wm);
202
203+
204+unsigned long wm97xx_calc_lcd_waittime(struct wm97xx *wm);
205+void wm97xx_set_machinfo(struct wm97xx_machinfo *machinfo);
206+void wm97xx_unset_machinfo(void);
207+
208 #endif
diff --git a/meta/packages/linux/linux-rp_2.6.21+2.6.22-rc6.bb b/meta/packages/linux/linux-rp_2.6.21+2.6.22-rc6.bb
new file mode 100644
index 0000000000..902494a49f
--- /dev/null
+++ b/meta/packages/linux/linux-rp_2.6.21+2.6.22-rc6.bb
@@ -0,0 +1,112 @@
1require linux-rp.inc
2
3PR = "r0"
4
5DEFAULT_PREFERENCE = "-1"
6
7# Handy URLs
8# git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git;protocol=git;tag=ef7d1b244fa6c94fb76d5f787b8629df64ea4046
9# http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.tar.bz2
10# http://www.kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.20-rc4.tar.bz2
11# http://www.kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.18-rc6.bz2;patch=1
12# http://www.kernel.org/pub/linux/kernel/v2.6/snapshots/patch-2.6.18-rc2-git1.bz2;patch=1
13# http://www.kernel.org/pub/linux/kernel/people/alan/linux-2.6/2.6.10/patch-2.6.10-ac8.gz;patch=1
14# http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.14-rc2/2.6.14-rc2-mm1/2.6.14-rc2-mm1.bz2;patch=1
15
16# Patches submitted upstream are towards top of this list
17# Hacks should clearly named and at the bottom
18SRC_URI = "http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.21.tar.bz2 \
19 http://www.kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.22-rc6.bz2;patch=1 \
20 ${RPSRC}/lzo_kernel-r3.patch;patch=1 \
21 ${RPSRC}/lzo_jffs2-r2.patch;patch=1 \
22 ${RPSRC}/lzo_crypto-r2.patch;patch=1 \
23 ${RPSRC}/lzo_jffs2_lzomode-r1.patch;patch=1 \
24 ${RPSRC}/lzo_jffs2_sysfs-r1.patch;patch=1 \
25 ${RPSRC}/hx2750_base-r28.patch;patch=1 \
26 ${RPSRC}/hx2750_bl-r9.patch;patch=1 \
27 ${RPSRC}/hx2750_pcmcia-r2.patch;patch=1 \
28 ${RPSRC}/pxa_keys-r7.patch;patch=1 \
29 ${RPSRC}/tsc2101-r16.patch;patch=1 \
30 ${RPSRC}/hx2750_test1-r6.patch;patch=1 \
31 ${RPSRC}/pxa_timerfix-r0.patch;patch=1 \
32 ${RPSRC}/input_power-r8.patch;patch=1 \
33 ${RPSRC}/pxa25x_cpufreq-r2.patch;patch=1 \
34 ${RPSRC}/sharpsl_pm_fixes1-r0.patch;patch=1 \
35 ${RPSRC}/pm_changes-r1.patch;patch=1 \
36 ${RPSRC}/usb_add_epalloc-r3.patch;patch=1 \
37 ${RPSRC}/usb_pxa27x_udc-r5.patch;patch=1 \
38 ${RPSRC}/locomo_kbd_tweak-r1.patch;patch=1 \
39 ${RPSRC}/poodle_pm-r3.patch;patch=1 \
40 ${RPSRC}/pxa27x_overlay-r5.patch;patch=1 \
41 ${RPSRC}/w100_extaccel-r1.patch;patch=1 \
42 ${RPSRC}/qemuarm_scsi_fix-r0.patch;patch=1 \
43 file://hostap-monitor-mode.patch;patch=1 \
44 file://serial-add-support-for-non-standard-xtals-to-16c950-driver.patch;patch=1 \
45 ${RPSRC}/logo_oh-r0.patch.bz2;patch=1;status=unmergable \
46 ${RPSRC}/logo_oz-r2.patch.bz2;patch=1;status=unmergable \
47 ${RPSRC}/pxa-linking-bug.patch;patch=1;status=unmergable \
48 ${RPSRC}/mmcsd_large_cards-r1.patch;patch=1;status=hack \
49 ${RPSRC}/mmcsd_no_scr_check-r1.patch;patch=1;status=hack \
50 ${RPSRC}/integrator_rgb-r1.patch;patch=1;status=hack \
51 ${RPSRC}/pxa_cf_initorder_hack-r1.patch;patch=1;status=hack \
52 file://pxa-serial-hack.patch;patch=1;status=hack \
53 file://connectplus-remove-ide-HACK.patch;patch=1;status=hack \
54 file://squashfs3.0-2.6.15.patch;patch=1;status=external \
55 file://vesafb-tng-1.0-rc2-2.6.20-rc2.patch;patch=1;status=external \
56 file://defconfig-c7x0 \
57 file://defconfig-hx2000 \
58 file://defconfig-collie \
59 file://defconfig-poodle \
60 file://defconfig-akita \
61 file://defconfig-spitz \
62 file://defconfig-qemuarm \
63 file://defconfig-qemux86 \
64 file://defconfig-bootcdx86 \
65 file://defconfig-tosa "
66
67# Add this to enable pm debug code (useful with a serial lead)
68# ${RPSRC}/sharpsl_pm_debug-r0.patch;patch=1
69
70# Disabled until I find the reason this gives issues with cdc_subset
71# ${RPSRC}/usb_rndis_tweaks-r0.patch;patch=1 \
72
73# Is anything out of this still needed? Parts were commited to mainline by rmk (drivers/mfd/)
74# (Pavel Machek's git tree has updated versions of this?)
75# ${JLSRC}/zaurus-lcd-2.6.11.diff.gz;patch=1
76
77# These patches are extracted from Pavel Machek's git tree
78# (diff against vanilla kernel)
79SRC_URI_append_collie = "\
80 ${DOSRC}/collie/mtd-sharp-flash-hack-r0.patch;patch=1 \
81 ${DOSRC}/collie/collie-r0.patch;patch=1 \
82 ${DOSRC}/collie/locomolcd-backlight-r0.patch;patch=1 \
83 ${DOSRC}/collie/ucb1x00-touch-audio-r0.patch;patch=1 \
84 file://collie-mcp-r1.patch;patch=1 \
85 ${DOSRC}/collie/sa1100-udc-r0.patch;patch=1 \
86# ${DOSRC}/collie/collie-pm-r1.patch;patch=1 \
87"
88
89SRC_URI_append_tosa = "\
90 ${CHSRC}/usb-ohci-hooks-r1.patch;patch=1 \
91 ${CHSRC}/tmio-core-r4.patch;patch=1 \
92 file://tmio-tc6393-r8.patch;patch=1 \
93 file://tmio-nand-r7.patch;patch=1 \
94 file://tmio-ohci-r6.patch;patch=1 \
95 ${CHSRC}/tmio-fb-r6.patch;patch=1 \
96 file://tosa-keyboard-r18.patch;patch=1 \
97 ${DOSRC}/tosa-pxaac97-r6.patch;patch=1 \
98 ${DOSRC}/tosa-tmio-r6.patch;patch=1 \
99 ${DOSRC}/tosa-power-r17.patch;patch=1 \
100 file://tosa-tmio-lcd-r10.patch;patch=1 \
101 ${DOSRC}/tosa-bluetooth-r8.patch;patch=1 \
102 ${DOSRC}/wm97xx-lg7-r0.patch;patch=1 \
103 file://wm9712-suspend-cold-res-r2.patch;patch=1 \
104 file://sharpsl-pm-postresume-r1.patch;patch=1 \
105 ${DOSRC}/wm97xx-dig-restore-r0.patch;patch=1 \
106 ${DOSRC}/wm97xx-miscdevs-resume-r0.patch;patch=1 \
107 file://wm9712-reset-loop-r2.patch;patch=1 \
108 file://tosa-lcdnoise-r1.patch;patch=1 \
109 file://wm97xx-lcdnoise-r0.patch;patch=1 "
110# ${DOSRC}/tosa-asoc-r1.patch;patch=1 "
111
112S = "${WORKDIR}/linux-2.6.21"