Merge branch 'org.openembedded.dev' of git.openembedded.org:openembedded into org...
authorStefan Schmidt <stefan@datenfreihafen.org>
Fri, 9 Oct 2009 23:05:29 +0000 (01:05 +0200)
committerStefan Schmidt <stefan@datenfreihafen.org>
Fri, 9 Oct 2009 23:05:29 +0000 (01:05 +0200)
123 files changed:
classes/dietlibc.bbclass
classes/insane.bbclass
classes/siteinfo.bbclass
conf/checksums.ini
conf/distro/include/angstrom-2008-preferred-versions.inc
conf/distro/include/angstrom-eglibc.inc
conf/distro/include/angstrom-glibc.inc
conf/distro/include/sane-srcrevs.inc
conf/machine/qemux86.conf
contrib/python/generate-manifest-2.6.py
recipes/atk/atk-native_1.27.90.bb [deleted file]
recipes/atk/atk-native_1.28.0.bb [new file with mode: 0644]
recipes/atk/atk_1.28.0.bb [moved from recipes/atk/atk_1.27.90.bb with 100% similarity]
recipes/binutils/binutils-cvs/binutils-uclibc-300-012_check_ldrunpath_length.patch
recipes/dietlibc/dietlibc-0.32/ccache.patch [new file with mode: 0644]
recipes/dietlibc/dietlibc-0.32/diethome.patch [new file with mode: 0644]
recipes/dietlibc/dietlibc-0.32/getrlimit.patch [new file with mode: 0644]
recipes/dietlibc/dietlibc.inc [new file with mode: 0644]
recipes/dietlibc/dietlibc_0.31.bb
recipes/dietlibc/dietlibc_0.32.bb [new file with mode: 0644]
recipes/efl1/elementary_svn.bb
recipes/efl1/epsilon_svn.bb
recipes/efl1/etk_svn.bb
recipes/gcalctool/gcalctool_5.28.0.bb [moved from recipes/gcalctool/gcalctool_5.27.5.bb with 100% similarity]
recipes/gcc/gcc-4.4.1.inc
recipes/gcc/gcc-4.4.1/gcc-ppc_add_d_constraint.patch [new file with mode: 0644]
recipes/gcc/gcc-4.4.1/gcc-ppc_single_precision_regs.patch [new file with mode: 0644]
recipes/gcc/gcc-4.4.1/gcc-pr41175.patch [new file with mode: 0644]
recipes/gnome/gnome-desktop_2.28.0.bb
recipes/gnome/gnome-doc-utils.inc
recipes/gnome/gnome-doc-utils_0.10.3.bb
recipes/gnome/gnome-doc-utils_0.12.0.bb
recipes/gnome/gnome-doc-utils_0.7.1.bb
recipes/gnome/gnome-icon-theme_2.28.0.bb [new file with mode: 0644]
recipes/gstreamer/gst-plugins-base_0.10.25.bb [new file with mode: 0644]
recipes/gstreamer/gstreamer_0.10.25.bb [new file with mode: 0644]
recipes/images/opie-image-16mb.bb
recipes/kexec/files/dietlibc.patch [new file with mode: 0644]
recipes/kexec/files/fix-arm-arch-detection.patch
recipes/kexec/files/kexec-tools-2-klibc.patch
recipes/kexec/files/no-getline-no-fscanf.patch [new file with mode: 0644]
recipes/kexec/kexec-tools-dietlibc_2.0.1.bb [new file with mode: 0644]
recipes/kexec/kexec-tools-klibc-static_2.0.1.bb
recipes/kexec/kexec-tools2.inc
recipes/kexecboot/kexecboot_git.bb
recipes/kexecboot/linux-kexecboot.inc
recipes/lighttpd/lighttpd.inc [new file with mode: 0644]
recipes/lighttpd/lighttpd_1.4.18.bb
recipes/lighttpd/lighttpd_1.4.23.bb
recipes/linux/linux-2.6.24/hipox/defconfig
recipes/linux/linux-2.6.29/boc01/001-090114-sqn11x0-usb-hack.patch [deleted file]
recipes/linux/linux-2.6.29/boc01/005-091008-isl12024.patch [moved from recipes/linux/linux-2.6.29/boc01/005-090226-isl12024.patch with 59% similarity]
recipes/linux/linux-2.6.29/boc01/007-091005-lm73.patch [moved from recipes/linux/linux-2.6.29/boc01/007-090825-lm73.patch with 59% similarity]
recipes/linux/linux-2.6.29/boc01/008-091005-spi.patch [moved from recipes/linux/linux-2.6.29/boc01/008-081208-spi.patch with 85% similarity]
recipes/linux/linux-2.6.29/boc01/boc01.dts
recipes/linux/linux-2.6.29/boc01/boc01.dts.v1
recipes/linux/linux-2.6.30/tosa/defconfig [new file with mode: 0644]
recipes/linux/linux-2.6.31/db1200/defconfig [new file with mode: 0644]
recipes/linux/linux-bug/defconfig
recipes/linux/linux-bug_2.6.27.2.bb
recipes/linux/linux-omap-zoomsync_2.6.31.bb
recipes/linux/linux_2.6.25.bb
recipes/linux/linux_2.6.29.bb
recipes/linux/linux_2.6.30.bb
recipes/linux/linux_2.6.31.bb
recipes/lsof/lsof_4.78.bb
recipes/matchbox-panel/matchbox-panel-0.9.3/matchbox-panel-uninitialised-crash.patch [new file with mode: 0644]
recipes/matchbox-panel/matchbox-panel_0.9.3.bb
recipes/matchbox2/matchbox-desktop-2/fallback-folder.patch [new file with mode: 0644]
recipes/matchbox2/matchbox-desktop-2_svn.bb
recipes/opie-networksettings/opie-networksettings.inc
recipes/python/python-2.6-manifest.inc
recipes/python/python-etk_svn.bb
recipes/python/python-gst_0.10.10.bb
recipes/python/python-gst_0.10.17.bb [new file with mode: 0644]
recipes/python/python.inc
recipes/squashfs-tools/files/002-squashfs_lzma.patch [deleted file]
recipes/squashfs-tools/files/Makefile-2.2.patch [deleted file]
recipes/squashfs-tools/files/Makefile-3.1.patch [deleted file]
recipes/squashfs-tools/files/Makefile.patch [deleted file]
recipes/squashfs-tools/files/flags.patch [deleted file]
recipes/squashfs-tools/files/squashfs2.0-tools-lzma.patch [deleted file]
recipes/squashfs-tools/files/squashfs3.1r2-tools-lzma_Makefile.patch [deleted file]
recipes/squashfs-tools/files/squashfs3.1r2-tools-replace_zlib_with_lzma.patch [deleted file]
recipes/squashfs-tools/squashfs-lzma-tools-native_3.1r2.bb [deleted file]
recipes/squashfs-tools/squashfs-lzma-tools_3.1r2.bb [deleted file]
recipes/squashfs-tools/squashfs-tools-native_2.0r2.bb [deleted file]
recipes/squashfs-tools/squashfs-tools-native_2.2r2.bb [deleted file]
recipes/squashfs-tools/squashfs-tools-native_3.1r2.bb [deleted file]
recipes/squashfs-tools/squashfs-tools-native_3.3.bb
recipes/squashfs-tools/squashfs-tools-native_4.0.bb
recipes/squashfs-tools/squashfs-tools.inc
recipes/squashfs-tools/squashfs-tools_2.0r2.bb [deleted file]
recipes/squashfs-tools/squashfs-tools_2.2r2.bb [deleted file]
recipes/squashfs-tools/squashfs-tools_3.1r2.bb [deleted file]
recipes/squashfs-tools/squashfs-tools_3.3.bb
recipes/squashfs-tools/squashfs-tools_4.0.bb
recipes/u-boot/u-boot_2009.06.bb
recipes/u-boot/u-boot_2009.08.bb [new file with mode: 0644]
recipes/wpa-supplicant/wpa-supplicant-0.6.inc
recipes/wpa-supplicant/wpa-supplicant_0.6.0.bb
recipes/wpa-supplicant/wpa-supplicant_0.6.3.bb
recipes/wpa-supplicant/wpa-supplicant_0.6.7.bb
recipes/wpa-supplicant/wpa-supplicant_0.6.9.bb
recipes/wvdial/wvdial_1.60.bb
recipes/wvstreams/wvstreams_4.6.bb
recipes/xorg-xserver/files/report-correct-randr10.patch [new file with mode: 0644]
recipes/xorg-xserver/files/report-correct-randr12.patch [new file with mode: 0644]
recipes/xorg-xserver/xserver-kdrive-imageon_1.2.0.bb
recipes/xorg-xserver/xserver-kdrive-xomap_1.1.99.3.bb
recipes/xorg-xserver/xserver-kdrive_1.1.0.bb
recipes/xorg-xserver/xserver-kdrive_1.2.0.bb
recipes/xorg-xserver/xserver-kdrive_1.3.0.0.bb
recipes/xorg-xserver/xserver-xorg_1.2.0.bb
recipes/xorg-xserver/xserver-xorg_1.3.0.0.bb
site/arm-linux-gnu [moved from site/arm-linux with 100% similarity]
site/armeb-linux-gnu [moved from site/armeb-linux with 100% similarity]
site/mips-common [new file with mode: 0644]
site/mips-linux-gnu [moved from site/mips-linux with 100% similarity]
site/mipsel-linux-gnu [moved from site/mipsel-linux with 100% similarity]
site/powerpc-linux-gnu [moved from site/powerpc-linux with 100% similarity]
site/sparc-linux-gnu [moved from site/sparc-linux with 100% similarity]
site/x86_64-linux-gnu [moved from site/x86_64-linux with 100% similarity]

index 7c7b5fe..2676385 100644 (file)
@@ -4,18 +4,18 @@ def dietlibc_after_parse(d):
     import bb
     # Remove the NLS
     cfg = oe_filter_out('--(dis|en)able-nls', bb.data.getVar('EXTRA_OECONF', d, 1) or "", d)
-    # Remove shared and static and set it right
-    cfg += " --disable-nls --disbale-shared --enable-static"
+    # Remove shared enable static only
+    cfg += " --disable-nls --disable-shared --enable-static"
     bb.data.setVar('EXTRA_OECONF', cfg, d)
     cfg = bb.data.getVar('EXTRA_OEMAKE', d, 1) or ""
     cfg = oe_filter_out("\'CC=", bb.data.getVar('EXTRA_OEMAKE', d, 1) or "", d)
-    cfgtmp = "\'CC=diet ${CCACHE}"
+    cfgtmp = "\'CC=\"diet ${CCACHE}\""
     cfgtmp += cfg
     bb.data.setVar('EXTRA_OEMAKE', cfgtmp, d)
 
-python () {
-    dietlibc_after_parse(d)
-}
+#python () {
+#    dietlibc_after_parse(d)
+#}
 
 set_dietlibc_env () {
        export CC="diet ${CC}"
index c41b84a..a6e4b6d 100644 (file)
@@ -34,7 +34,7 @@ def package_qa_get_machine_dict():
             "darwin9" : { 
                         "arm" :       (40,     0,    0,          True,          True),
                       },
-            "linux" : { 
+            "linux-gnu" : { 
                         "arm" :       (40,    97,    0,          True,          True),
                         "armeb":      (40,    97,    0,          False,         True),
                         "powerpc":    (20,     0,    0,          False,         True),
@@ -80,6 +80,9 @@ def package_qa_get_machine_dict():
             "linux-gnuspe" : {
                         "powerpc":    (20,     0,    0,          False,         True),
                       },
+            "linux-uclibcspe" : {
+                        "powerpc":    (20,     0,    0,          False,         True),
+                      },
 
        }
 
index 2bacd69..c3e155b 100644 (file)
@@ -23,26 +23,22 @@ def get_siteinfo_list(d):
        targetinfo = {\
                "armeb-linux":             "endian-big bit-32 common-linux common-glibc arm-common",\
                "armeb-linux-gnu":         "endian-big bit-32 common-linux common-glibc arm-common",\
-               "armeb-linux-gnueabi":     "endian-big bit-32 common-linux common-glibc arm-common armeb-linux",\
+               "armeb-linux-gnueabi":     "endian-big bit-32 common-linux common-glibc arm-common armeb-linux-gnu",\
                "armeb-linux-uclibc":      "endian-big bit-32 common-linux common-uclibc arm-common",\
                "armeb-linux-uclibceabi":  "endian-big bit-32 common-linux common-uclibc arm-common armeb-linux-uclibc",\
                "arm-darwin":              "endian-little bit-32 common-darwin",\
                "arm-darwin9":             "endian-little bit-32 common-darwin",\
-               "arm-linux":               "endian-little bit-32 common-linux common-glibc arm-common",\
                "arm-linux-gnu":           "endian-little bit-32 common-linux common-glibc arm-common",\
-               "arm-linux-gnueabi":       "endian-little bit-32 common-linux common-glibc arm-common arm-linux",\
+               "arm-linux-gnueabi":       "endian-little bit-32 common-linux common-glibc arm-common arm-linux-gnu",\
                "arm-linux-uclibc":        "endian-little bit-32 common-linux common-uclibc arm-common",\
                "arm-linux-uclibceabi":    "endian-little bit-32 common-linux common-uclibc arm-common arm-linux-uclibc",\
                "avr32-linux-uclibc":      "endian-big bit-32 common-linux common-uclibc avr32-common",\
                "bfin-uclinux-uclibc":     "endian-little bit-32 common-uclibc bfin-common",\
-               "i386-linux":              "endian-little bit-32 common-linux common-glibc ix86-common",\
                "i386-linux-gnu":          "endian-little bit-32 common-linux common-glibc ix86-common",\
-               "i486-linux":              "endian-little bit-32 common-linux common-glibc ix86-common",\
                "i486-linux-gnu":          "endian-little bit-32 common-linux common-glibc ix86-common",\
-               "i586-linux":              "endian-little bit-32 common-linux common-glibc ix86-common",\
                "i586-linux-gnu":          "endian-little bit-32 common-linux common-glibc ix86-common",\
-               "i686-linux":              "endian-little bit-32 common-linux common-glibc ix86-common",\
                "i686-linux-gnu":          "endian-little bit-32 common-linux common-glibc ix86-common",\
+               "i686-linux":              "endian-little bit-32 common-linux common-glibc ix86-common i686-linux-gnu",\
                "i386-linux-uclibc":       "endian-little bit-32 common-linux common-uclibc ix86-common",\
                "i486-linux-uclibc":       "endian-little bit-32 common-linux common-uclibc ix86-common",\
                "i586-linux-uclibc":       "endian-little bit-32 common-linux common-uclibc ix86-common",\
@@ -55,35 +51,25 @@ def get_siteinfo_list(d):
                "i486-mingw32":            "endian-little bit-32 common-mingw ix86-common",\
                "i586-mingw32":            "endian-little bit-32 common-mingw ix86-common",\
                "i686-mingw32":            "endian-little bit-32 common-mingw ix86-common",\
-              "ia64-linux":              "endian-little bit-64 common-linux common-glibc",\
               "ia64-linux-gnu":          "endian-little bit-64 common-linux common-glibc",\
-               "mipsel-linux":            "endian-little bit-32 common-linux common-glibc",\
-               "mipsel-linux-gnu":        "endian-little bit-32 common-linux common-glibc",\
-               "mipsel-linux-uclibc":     "endian-little bit-32 common-linux common-uclibc",\
-               "mips-linux":              "endian-big bit-32 common-linux common-glibc",\
-               "mips-linux-gnu":          "endian-big bit-32 common-linux common-glibc",\
-               "mips-linux-uclibc":       "endian-big bit-32 common-linux common-uclibc",\
+               "mipsel-linux-gnu":        "endian-little bit-32 common-linux common-glibc mips-common",\
+               "mipsel-linux-uclibc":     "endian-little bit-32 common-linux common-uclibc mips-common",\
+               "mips-linux-gnu":          "endian-big bit-32 common-linux common-glibc mips-common",\
+               "mips-linux-uclibc":       "endian-big bit-32 common-linux common-uclibc mips-common",\
                "powerpc-darwin":          "endian-big bit-32 common-darwin",\
-               "ppc-linux":               "endian-big bit-32 common-linux common-glibc powerpc-common",\ 
-               "ppc-linux-gnu":           "endian-big bit-32 common-linux common-glibc powerpc-common",\ 
-               "ppc64-linux":             "endian-big bit-64 common-linux common-glibc powerpc-common",\ 
-               "ppc64-linux-gnu":         "endian-big bit-64 common-linux common-glibc powerpc-common",\ 
-              "powerpc-linux":           "endian-big bit-32 common-linux common-glibc powerpc-common",\
+               "ppc-linux-gnu":           "endian-big bit-32 common-linux common-glibc powerpc-common powerpc-linux-gnu",\
+               "ppc64-linux-gnu":         "endian-big bit-64 common-linux common-glibc powerpc-common powerpc64-linux-gnu",\
               "powerpc-linux-gnu":       "endian-big bit-32 common-linux common-glibc powerpc-common",\
-              "powerpc-linux-gnuspe":    "endian-big bit-32 common-linux common-glibc powerpc-common",\
+              "powerpc-linux-gnuspe":    "endian-big bit-32 common-linux common-glibc powerpc-common powerpc-linux-gnu",\
                "powerpc-linux-uclibc":    "endian-big bit-32 common-linux common-uclibc powerpc-common",\
-               "powerpc-linux-uclibcspe": "endian-big bit-32 common-linux common-uclibc powerpc-common",\
-               "sh3-linux":               "endian-little bit-32 common-linux common-glibc sh-common",\
+               "powerpc-linux-uclibcspe": "endian-big bit-32 common-linux common-uclibc powerpc-common powerpc-linux-uclibc",\
                "sh3-linux-gnu":           "endian-little bit-32 common-linux common-glibc sh-common",\
-               "sh4-linux":               "endian-little bit-32 common-linux common-glibc sh-common",\
                "sh4-linux-gnu":           "endian-little bit-32 common-linux common-glibc sh-common",\
                "sh4-linux-uclibc":        "endian-little bit-32 common-linux common-uclibc sh-common",\
-               "sparc-linux":             "endian-big bit-32 common-linux common-glibc",\
                "sparc-linux-gnu":         "endian-big bit-32 common-linux common-glibc",\
-               "viac3-linux":             "endian-little bit-32 common-linux common-glibc ix86-common",\
                "viac3-linux-gnu":         "endian-little bit-32 common-linux common-glibc ix86-common",\
-               "x86_64-linux":            "endian-little bit-64 common-linux common-glibc",\
                "x86_64-linux-gnu":        "endian-little bit-64 common-linux common-glibc",\
+               "x86_64-linux":            "endian-little bit-64 common-linux common-glibc",\
                "x86_64-linux-uclibc":     "endian-little bit-64 common-linux common-uclibc"}
        if target in targetinfo:
                info = targetinfo[target].split()
index bb61d09..7c9e311 100644 (file)
@@ -2118,6 +2118,10 @@ sha256=f7993d26c3606a9b0e32d1eebe716f2294ac37fac014c47744e986fc0ff5e6d1
 md5=8906c67d015cc90e2e70a341d0752a6f
 sha256=b7255a400139d8c41bc7e2ac630ba4c6479e60e4a08295d0338e9edfdc3db00f
 
+[http://ftp.gnome.org/pub/GNOME/sources/atk/1.28/atk-1.28.0.tar.bz2]
+md5=010a85478adc053c016a0a5c9bb52004
+sha256=e4da9fe580d2d55f4e77a138c553b4b32654dfb06bf0715592cc9dbd6355fe87
+
 [ftp://ftp.gtk.org/pub/gtk/v2.4/atk-1.6.0.tar.bz2]
 md5=5e699af22a934ea3c1c1ed3742da0500
 sha256=a838937ee54c9e794df3b0995935c1e35cad4a360c83922380f9429195ea7059
@@ -2646,6 +2650,10 @@ sha256=b957d6e6212638441b52d3b620af157cc8d40c2a0342669294854a06edcd528c
 md5=95c29d9d10bf2868996c0c47a3b9a8dc
 sha256=30da0098a24578e645193464526cc4d5c2c7fecaf476d1b9dabe68118850adee
 
+[http://xorg.freedesktop.org/releases/individual/proto/bigreqsproto-1.1.0.tar.bz2]
+md5=d30c5dbf19ca6dffcd9788227ecff8c5
+sha256=4864e12d3c5a99b0a9ee4704822455299345e6c65b23c688a4e4bf11481107bd
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/proto/bigreqsproto-X11R7.0-1.0.2.tar.bz2]
 md5=ec15d17e3f04ddb5870ef7239b4ab367
 sha256=69d82eff84b1cef08a30e3a79de26df0bce7f531a86d2144ee0d5e43fc21ce86
@@ -5050,6 +5058,10 @@ sha256=dcc1809e8477b95317a7ff503cdd8b6d3f85b8d83a3245252ff47cf631523620
 md5=acb98d469ee932d902fdf6de07802b7c
 sha256=99613d6a67f747f52e4184c613f7cba5cbb76af237c9acd04742e3ca24cf56cd
 
+[http://kernel.org/pub/linux/libs/dietlibc/dietlibc-0.32.tar.bz2]
+md5=0098761c17924c15e21d25acdda4a8b5
+sha256=6613a2cae3b39e340779735d7500d284f5a691c5ed67e59a6057e0888726e458
+
 [ftp://source.mvista.com/pub/xscale/pxa/diff-2.4.18-rmk7-pxa3.gz]
 md5=249c7a63a506d302c96be26517a70298
 sha256=ca569dfa1e5cfd2f4134f3f61f667bcfab5e15c7d43c8a6e835d384ac5b31a07
@@ -5174,6 +5186,10 @@ sha256=888eb2c25bdcef5ee34c38cd5cb0f491d7dd82029dc0f4ae96183a0088a5e015
 md5=d80acad88411e7944b9b085463d53302
 sha256=aaa6d9c9d5ec58f733ca4d7413c541413482bce666217267e5bf88442e35fce2
 
+[http://xorg.freedesktop.org/releases/individual/proto/dmxproto-2.3.tar.bz2]
+md5=880a41720b2937e2660dcdc0d34a8791
+sha256=3a882ca43a1f359e3489468e6c407fd7d56d559f8895cf096a2ec877d6c403b0
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/proto/dmxproto-X11R7.0-2.2.2.tar.bz2]
 md5=21c79302beb868a078490549f558cdcf
 sha256=531b957d9589950a96cbdbf6a8376f31203797948baed311553cc2d2870c78db
@@ -5338,6 +5354,10 @@ sha256=69def6d1f64b3699ec9c729596d8b096623a62bdda6bbea78ed690421d174c11
 md5=26f6515322ec50691584ac74291b4254
 sha256=1954a7e96d7fe70611c483836ed143e84a069eed6d3dab22c05a531bfb6da9e4
 
+[http://xorg.freedesktop.org/releases/individual/proto/dri2proto-2.1.tar.bz2]
+md5=5cb7987d29db068153bdc8f23c767c43
+sha256=2b33f7c7658fb8f004c3aaf2717711262baeb5d77cf3fd24e9b6cc263895122d
+
 [http://www.ex-parrot.com/~chris/driftnet/driftnet-0.1.6.tar.gz]
 md5=8e11d77770452f97bb3c23f510489815
 sha256=dbdf7ead3ae14b109f88c86dedeb7524be8c257aa773a781891216f013373d6d
@@ -6034,6 +6054,10 @@ sha256=914319726bcd01a4055b1c5e09671085875af6de2b0d8589841916139574ee11
 md5=2507b5d0f4b2848147fbddd155aa6cfe
 sha256=0b85113a9770083715927f9c7a7d0ab354c8a508a91cb6e8e11130851494d125
 
+[http://xorg.freedesktop.org/releases/individual/proto/evieext-1.1.0.tar.bz2]
+md5=5c74f61d6f77b2e6a083b2b31000be42
+sha256=47881a52a8d9da1e41e4f028ed32a8b44f738afbead819c0a07253fdc1641885
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/proto/evieext-X11R7.0-1.0.2.tar.bz2]
 md5=411c0d4f9eaa7d220a8d13edc790e3de
 sha256=d7dad048a9496058ec19c63e958e5216c27964d8cb766926fd5dcb96ff879f23
@@ -6666,6 +6690,10 @@ sha256=45e7c9967d0fb0344f4da539ab343fb979384b36a429a8594c94cf466dff4320
 md5=85563f1167a3265cf61c8886c318dda7
 sha256=a24640d8ca9c485d7611880193f18e5ae62af07e3b9464904f3602277f1d4097
 
+[http://www.flumotion.net/src/flumotion/flumotion-0.6.1.tar.bz2]
+md5=22a9047871c5aebc84fc7fe4f3e4613d
+sha256=fe348102ecb0a11faab0bfc6b4b48fb9d99c49e4565a9fb52db64bb7cd4ca78a
+
 [http://pypi.python.org/packages/source/f/flup/flup-1.0.1.tar.gz]
 md5=414181781fb0923f884a38503e8e56da
 sha256=270e2e423a0b8e90091fd6f38422c488b67a23494d671764b9ed2e17ca802e16
@@ -7522,6 +7550,10 @@ sha256=c0c315c4190ce1f4ac977cb1e425a11879d5e7d78067207257387299f4d111ed
 md5=abaaedfdba2f5905d9c57ae73105b84f
 sha256=f117903e3753920d16ca2e9f7185a02b3925fe94958a4c65efc2663cf61ca4de
 
+[http://ftp.gnome.org/pub/GNOME/sources/gcalctool/5.28/gcalctool-5.28.0.tar.bz2]
+md5=03d8f034ee844888e7ec9ad317096028
+sha256=4271a17bbca56d7b335f18c1ebf350b931565d90e92925b9e5c0585b416f3765
+
 [http://ftp.gnome.org/pub/GNOME/sources/gcalctool/5.5/gcalctool-5.5.21.tar.bz2]
 md5=130baf0910aec9c0c5afad8007da90de
 sha256=e5a0f289969d070f4f10f25fb77efdf693805177b07d4eb2dbfe9fe91c2fdab0
@@ -8758,6 +8790,10 @@ sha256=b71f89f9ead65a7d3ccb92f6a6c2fb1719be25d6661dd67a14b5d820ee6831b2
 md5=36a4e5e1b2c7c053779a9a399f6146a2
 sha256=4320c937d4d211ac39633aa39b55e770b9a996697c857e2b8033c40323384709
 
+[http://ftp.gnome.org/pub/GNOME/sources/gnome-icon-theme/2.28/gnome-icon-theme-2.28.0.tar.bz2]
+md5=1b6a782e3f733a5dbb8e62e87a7bdc61
+sha256=31ecbd459ae059672793e46c773742897cb95e22ca5900ccdfb2a22aa30f3884
+
 [http://ftp.gnome.org/pub/GNOME/sources/gnome-keyring/0.2/gnome-keyring-0.2.1.tar.bz2]
 md5=2fe5fb39cc18d1a6792fd3281223dfff
 sha256=1c6d5a1732742469ec32ab7297f3b8eacfc0f4bfae5fdb096b603877dde12612
@@ -10326,6 +10362,10 @@ sha256=184c5aed03ebfe38a276fc03cb7d8685d9a6da5a48bf6a0565c83e11a29cd5f9
 md5=641cc7def2d8667b9b4df15e69dba25f
 sha256=1c11d98eb9a1b1bc54becf465e74c2aa4019bb57a31dd70686269af6a9b9e93b
 
+[http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-0.10.25.tar.bz2]
+md5=d29669dd79276c5cd94e1613c03cd9ab
+sha256=0ab2f7e1d818e7af1be99c4eae02ba69d4a1b8f7e3527929a6426f1daa0d4607
+
 [http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-0.10.5.tar.bz2]
 md5=2b5958fb0baaf8d1b4eae18f7b13d49b
 sha256=fe2fb4fe446a1d3f8ccd4284ae7ffd25cb9f1b836b3d0e29d2494d10c1ae3eac
@@ -10426,6 +10466,10 @@ sha256=b9f1bb98917d9879d46b6a959ce9068471908763f2ca98e480837485e290b106
 md5=6183d61e434b5d34f232248a35571627
 sha256=c875753a6cccd40a79f5824ea5ec51ee4615a4f22103e4adfc6a0221bf615d8e
 
+[http://gstreamer.freedesktop.org/src/gst-python/gst-python-0.10.17.tar.bz2]
+md5=3998753de6500ee8c18ce1456df43df6
+sha256=70cef839b429dcea0cae342d24bc2e0e5deae01e902a8858e2c7dd76a724cde9
+
 [http://gstreamer.freedesktop.org/src/gst-python/gst-python-0.10.7.tar.bz2]
 md5=16dd6515fd011ad449e5ce191dbb94be
 sha256=24520b3e33f98a3bcc79ad68f7d426475cbacf12e4c56338f58a05158523d71d
@@ -10470,6 +10514,10 @@ sha256=61489e0192b1362e6dc760154204c73c1edd9ad9d8c754535483ec00ad7e389e
 md5=f7b2e300d2d85756407ec529424ab237
 sha256=cf750821040102d2c9fbfed56472a86fd0d8c24ada37901c41867c88438a776d
 
+[http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-0.10.25.tar.bz2]
+md5=88544e034a051baf472983791d233076
+sha256=39b2ba7b3bfa8df6d998a9461e7091c27757e36a53e93969d7d9982a56526578
+
 [http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-0.10.4.tar.bz2]
 md5=263a7800ecf44d0f38d0cbc80bce65ff
 sha256=7b8add7db1e0b0e3671f374469ef32b151fa96bc9eb2aa265eefd79548752ffc
@@ -11798,6 +11846,10 @@ sha256=5360e221354bbdfd67bf9834c2c1d7a0d83f22c17e057f92194411911fbb81f5
 md5=dcc36554aea1338b3813943daf1e9988
 sha256=ef90f7e4c151095cc75a573acd86355aa65c5bc7fd1dcce4a1483b64788e1461
 
+[http://xorg.freedesktop.org/releases/individual/proto/inputproto-2.0.tar.bz2]
+md5=0f7acbc14a082f9ae03744396527d23d
+sha256=472f57f7928ab20a1303a25982c4091db9674c2729bbd692c9a7204e23ea1af4
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/proto/inputproto-X11R7.0-1.3.2.tar.bz2]
 md5=0da271f396bede5b8d09a61f6d1c4484
 sha256=3b48f495f9af74fc7cca2fe913e10ce3d947d1aa5e677722e87620b32f1068d0
@@ -12746,6 +12798,10 @@ sha256=ffd46270dae30cad147d73559142a701a8ff8d0658f4abfb2341edefabb8161d
 md5=4ab4e67e0b8845aa201e984153087f4a
 sha256=13055e2f4c645cbd135ce97a7974a5866f9ba3ed8988e686b552f55c30514f04
 
+[http://xorg.freedesktop.org/releases/individual/lib/libICE-1.0.6.tar.bz2]
+md5=2d39bc924af24325dae589e9a849180c
+sha256=a8346859505d2aa27ecc4531f1c86d72801936d96c31c5beaeff4587441b568b
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/lib/libICE-X11R7.0-1.0.0.tar.bz2]
 md5=c778084b135311726da8dc74a16b3555
 sha256=e37cffdb45bbb193e5cb75e74e7e0410554f4b3c3a1fe436debea907778e6aac
@@ -12790,6 +12846,10 @@ sha256=57f42d3557effe452cd348362977ff90fa61009885c23b3aca8cb0219b5dec04
 md5=05a04c2b6382fb0054f6c70494e22733
 sha256=7536ac382e1ff82014d3a0defba0c61b3a30984f4e5bc7707960d6debcb92a82
 
+[http://xorg.freedesktop.org/releases/individual/lib/libSM-1.1.1.tar.bz2]
+md5=6889a455496aaaa65b1fa05fc518d179
+sha256=f50d184d8c6a031b3ff4f0d52efcfd4ffa811b0362b166a9ff9ba4c2e9aa7ce0
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/lib/libSM-X11R7.0-1.0.0.tar.bz2]
 md5=8a4eec299e8f14e26200718af7b2dcfc
 sha256=df219b7d5c2fac93bc7c8eb411ed365492eaeb3727ecbb04999890fd694d4e80
@@ -12842,6 +12902,10 @@ sha256=d172e5a401a2607f4ff145db4e8e09c193a1980bbb2c5c7f824e61ee3fdfdff3
 md5=c6265b59ea2b594fd68e33f9125b4d20
 sha256=e4863cdf5d471763806e9bcae25ea47606a56cd91a5546a34c093aa3de181051
 
+[http://xorg.freedesktop.org/releases/individual/lib/libX11-1.3.tar.bz2]
+md5=0545089013213e90aac19b8f8045d32e
+sha256=34656d022ff2f94430b534612821428fe15ade028d86a42907958167f2e497ac
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/lib/libX11-X11R7.0-1.0.0.tar.bz2]
 md5=dcf59f148c978816ebbe3fbc5c9ef0e1
 sha256=89a3c2d8324ff9d0d91682503407310f7df30a74915cd253be3a75247b044248
@@ -12858,6 +12922,10 @@ sha256=6c75debca746060e0c2408a6ca119613ae02d1054adebd4b26ff8beee79bcc67
 md5=93f84b6797f2f29cae1ce23b0355d00d
 sha256=4b90245093c15a24aaaf2fc6e09f075137aad994f72043e098597997d9b2c988
 
+[http://xorg.freedesktop.org/releases/individual/lib/libXScrnSaver-1.2.0.tar.bz2]
+md5=33e54f64b55f22d8bbe822a5b62568cb
+sha256=5b067bec0f2eb6405226bde5f20ca107eb0e5c11f5e5e24b455930c450487f85
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/lib/libXScrnSaver-X11R7.0-1.0.1.tar.bz2]
 md5=b9deb6ac3194aeab15d8f6220481af6d
 sha256=66287d18ebe2b239b7b0adc02f4d40b6ea918761e5fde6b8db9c180742618c94
@@ -12882,6 +12950,10 @@ sha256=d6c30a88770a720e96e0bd7e13e0334f9ef60f1b475a92556764828005c19e3b
 md5=0f2b88d857e0a3f5898e4759c541af46
 sha256=10d3ffa5f00d0c0a4083309ba68bdfa01dfdf912ef4cf2141e3f260b2edeb22c
 
+[http://xorg.freedesktop.org/releases/individual/lib/libXau-1.0.5.tar.bz2]
+md5=993b3185c629e4b89401fca072dcb663
+sha256=a503b3e88d29fa9c45cce1b2d1af54106c2ce21491348c394e251a071d8108ee
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/lib/libXau-X11R7.0-1.0.0.tar.bz2]
 md5=51ceac78ae0eaf40ffb77b3cccc028cc
 sha256=9500d088e1b3cbf107a93703b81d4636f778492c1c1d14dea6aca7b8354e39e8
@@ -12902,6 +12974,10 @@ sha256=11f4ab184fb8dc853fd95238d4de7b251427dd036643d11fd2a669232fa35af9
 md5=64e7782db4653cb57c7f7e660b2431c3
 sha256=2503f3e3348ee3cf38368161dfab8112d3aea2a26deea34f3136898c13cfb88d
 
+[http://xorg.freedesktop.org/releases/individual/lib/libXaw-1.0.6.tar.bz2]
+md5=066218dceb82eb8da0e11d259ed3ceda
+sha256=20c1ecad21474187b340cd6056b1083da8cfa5d919d208feac360644108db587
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/lib/libXaw-X11R7.0-1.0.1.tar.bz2]
 md5=ded3c7ed6d6ca2c5e257f60079a1a824
 sha256=076ed9c4b07379b1a957753a3c8fd2a1d93ba460587d450787630f81a85f9741
@@ -12918,6 +12994,10 @@ sha256=d42b59d3c38dae5e4fec375d12e56e7a5764ba10e8b8ec70f9ce951fc9cec72b
 md5=7e95395dea89be21bae929b9b7f16641
 sha256=7db759e82dd1f68094e4c4d257025f7893dafb2913ed249e00cbe18fa13c7510
 
+[http://xorg.freedesktop.org/releases/individual/lib/libXcomposite-0.4.1.tar.bz2]
+md5=0f1367f57fdf5df17a8dd71d0fa68248
+sha256=3715a25565222d8eb0468805db1113b514128ee5e9bc6908400f189f680d7a13
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/lib/libXcomposite-X11R7.0-0.2.2.2.tar.bz2]
 md5=5773fe74d0f44b7264bd37c874efc7b1
 sha256=d3d0e8883171a38802400836ba2bf7a40f3b22f669db80e01509c400137c5228
@@ -12926,6 +13006,10 @@ sha256=d3d0e8883171a38802400836ba2bf7a40f3b22f669db80e01509c400137c5228
 md5=f5229a7a38bc3d90380b7c18de10db5e
 sha256=142cd1c1958e2cb92ff2975a092a2c519dd5f4c433c9d1d8b6cc9ca967aad283
 
+[http://xorg.freedesktop.org/releases/individual/lib/libXcursor-1.1.10.tar.bz2]
+md5=7dcdad1c10daea872cb3355af414b2ca
+sha256=b9446df62203f2c3204b6bcc0057dc909d0dc792f0dd97bc491581b08be36cbd
+
 [http://xorg.freedesktop.org/releases/individual/lib/libXcursor-1.1.8.tar.bz2]
 md5=ec2acd10a7736a85dd1e1ed9ea5bec96
 sha256=8f039f81af52c88d583fba48b878abd074542221cb0030638ad52336b4ae1377
@@ -12950,6 +13034,10 @@ sha256=5df90f0efa77e1d6f9e1768a2b0adfc896d09c7a3d8680ed0980511b3625c636
 md5=ac0ce6b0063a9858c8f24ddb4c60487d
 sha256=0102754db23952a1c3adf7881bbf191f91ca3e3d183e1b0179452bce932fae2e
 
+[http://xorg.freedesktop.org/releases/individual/lib/libXdamage-1.1.2.tar.bz2]
+md5=b42780bce703ec202a33e5693991c09d
+sha256=a56a10acb34827c4d1a0ee282a338cbb04baa03d7fc7bc69e5690915c8fc7c0a
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/lib/libXdamage-X11R7.0-1.0.2.2.tar.bz2]
 md5=e98c6cc1075db5f6e7e6c8aef303c562
 sha256=bba5acb547fee5c33d582cbd55ad8d03965b582808912a20a457c8b78ca04184
@@ -12962,6 +13050,10 @@ sha256=96d4b70a3853894ceb4c71c3b44a0816014894bad63f494ddfcd30a89caa76c8
 md5=10facf2bc7cbd5e5c1a698b8a210a582
 sha256=f3e50c1847599145c22784a2f15818821960652ee91d21d905817fb7c10f96a8
 
+[http://xorg.freedesktop.org/releases/individual/lib/libXdmcp-1.0.3.tar.bz2]
+md5=d60941d471800f41a3f19b24bea855a7
+sha256=d8033a2fae20fed6de4f16b73ad69ca1c511e7da31c88e9bc6e75976187378cb
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/lib/libXdmcp-X11R7.0-1.0.0.tar.bz2]
 md5=509390dc46af61e3a6d07656fc5ad0ec
 sha256=a9f12dc2d3dff9a36904fd1d14fed3cc1b84dfa5661349e88ad164a4107cc878
@@ -13010,6 +13102,10 @@ sha256=322db66638b6db7144ca8028ea968e7aa92d0381e08b99f00ec12193ed624bdc
 md5=1990d19725a3c7f32290037f02d3737f
 sha256=547e093c5037c4b85ce653ce26f5bd70a97b177f9b582f5351a626d8e0a829dd
 
+[http://xorg.freedesktop.org/releases/individual/lib/libXfixes-4.0.4.tar.bz2]
+md5=7f2c40852eb337b237ad944ca5c30d49
+sha256=ba31d7e5c5c1907c30cba50bfd669aa7fe860555287c29f6e786612e4be33b48
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/lib/libXfixes-X11R7.0-3.0.1.2.tar.bz2]
 md5=5a027e5959dae32b69dce42118938544
 sha256=bdcb52a46967aca4367e276f88de35354daa5a62b4d0776e6a89dc43c2d336e6
@@ -13062,6 +13158,10 @@ sha256=cdd0f39c99d02b38e804c7dc2c7fdbdd956b8a0b68d2ebcaf7bf434533f58f1e
 md5=1adca018aa7bf2d215f20a69c10828ad
 sha256=ffe747cfbf81cdd862af1b05d021ad1ab83b623eab5b32b0a618efb4c0f3e01c
 
+[http://xorg.freedesktop.org/releases/individual/lib/libXfontcache-1.0.5.tar.bz2]
+md5=bbd37768c87f63cf2eb845b2c0f56515
+sha256=0d639219549f51fa0e6b4414383f5d13e6c1638e66b3434f4626eb989ffacbce
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/lib/libXfontcache-X11R7.0-1.0.1.tar.bz2]
 md5=1e3c7718ffaf4f617d3f67ada5a7601e
 sha256=3ae73ba79b28499082ea81527caf032004d5a884bf69ec8b8508dedd913556b8
@@ -13106,6 +13206,10 @@ sha256=7c0125ffb864e121ebfb5a20b1cfdff60562c2f2dfbb4e77c5eac81f36e15f3a
 md5=cfb36307e8e7ffafe40848dba24e0b11
 sha256=a0cef8deaccedb877137782a7e77441c8231b2da848bd145788a12fe05034fc5
 
+[http://xorg.freedesktop.org/releases/individual/lib/libXi-1.3.tar.bz2]
+md5=8df4ece9bd1efb02c28acb2b6f485e09
+sha256=362b8c0c60386841063bd7e01afa72e37eb87ada6e64e539d960f88c780a944b
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/lib/libXi-X11R7.0-1.0.0.tar.bz2]
 md5=99503799b4d52ec0cac8e203341bb7b3
 sha256=64e8ece13fc778b9dd86ef93c4b782de9a1176a005ed7d895552a73acb103d9b
@@ -13122,6 +13226,10 @@ sha256=d245d7ae4c766ecbc4e5cc2666e2e78198d8386dbaa06b35c3d1b1457ee5d03d
 md5=cd9f7c46439ac40e0517a302d2434d2c
 sha256=07b3564cd56154c20580b56230b7a95d74fe6582c80cedf0550d8d7955181219
 
+[http://xorg.freedesktop.org/releases/individual/lib/libXinerama-1.1.tar.bz2]
+md5=a2ac01fc0426cdbb713c5d59cf9955ed
+sha256=e0d39e74c2e131b44cc98dd4910165c9b8d937df93be58e6afb7c2a56772bf34
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/lib/libXinerama-X11R7.0-1.0.1.tar.bz2]
 md5=1a1be870bb106193a4acc73c8c584dbc
 sha256=72b5a499ddce72f1e18963586f7fb67e8ef69f989be455ba2c5d7f4d9b5f467a
@@ -13134,6 +13242,10 @@ sha256=b56e308e36da8d9cb48433ddb81fd04e26b4f1c695586ac8106ac48a35466d66
 md5=fb372a5f3ab42b5ba16d7af4d833a0cb
 sha256=f83c00d6ed8f4c08effa9dcc2d7f1ff6f5a753f2b9fe1babda16618c2afa18f0
 
+[http://xorg.freedesktop.org/releases/individual/lib/libXmu-1.0.5.tar.bz2]
+md5=fc4d66be7a1a1eb474954728415e46d6
+sha256=0692b6b0ec1019cfaa8418020b1127bfb0975f5a579a0b1f9eb7fd8f2f7126d7
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/lib/libXmu-X11R7.0-1.0.0.tar.bz2]
 md5=df62f44da82c6780f07dc475a68dd9fa
 sha256=537ba847b3a7665e7c84dfa3d6d1719db495e780f87a3e4583671c5aafbd0e29
@@ -13250,6 +13362,10 @@ sha256=ec7088b2ffe8f56c177525283601fb048decaf6f175d9ee5db01e12810a4d345
 md5=f3bdd67785ace8cd0b23249e9d8c9975
 sha256=43c472ada59a04428a463225cd4cd42cb81bc43eb687cc1890f2f1c81a3e9cf4
 
+[http://xorg.freedesktop.org/releases/individual/lib/libXt-1.0.7.tar.bz2]
+md5=96f3c93434a93186d178b60d4a262496
+sha256=706d5248b061c8455f74ce5269ecc5ef59c27d0f52d22b07138f781928dda9ec
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/lib/libXt-X11R7.0-1.0.0.tar.bz2]
 md5=d9c1c161f086a4d6c7510a924ee35c94
 sha256=dad0c901d3a542866dae53df27994498f320fb1981be2820d2ded81f4bf840f5
@@ -13266,6 +13382,10 @@ sha256=eef98ad3d35254384c3714cd63826fc2009f9b394f2b489718aba9be7be0a10b
 md5=090c1ad04e34982eada5cf3b1a0792fd
 sha256=b4a8dd3d9ceb04cd7322c1f7e5d2320d6ccf85ba8c81d736fd6d6c83c658c905
 
+[http://xorg.freedesktop.org/releases/individual/lib/libXtst-1.1.0.tar.bz2]
+md5=dd6f3e20b87310187121539f9605d977
+sha256=bd440f4779e06957211ba83782a5a1cfbf1d42b14fd3510a6dce440489a4eb26
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/lib/libXtst-X11R7.0-1.0.1.tar.bz2]
 md5=3a3a3b88b4bc2a82f0b6de8ff526cc8c
 sha256=93d9c1fb831e2aaaab4627835e79ae0550837cbe18a0d6bc91edc2aa3ea67ad3
@@ -13278,6 +13398,10 @@ sha256=f87ae65be39a3c26dc3c87159d9126daf2af1b8c5e7f2ffc38b9f72b9236261b
 md5=723a0275227165383e967a1ca8899b52
 sha256=4d3cc49b6f4da6d396196054eca23a91df1a41001c736dcfd22fec5a5c7428c8
 
+[http://xorg.freedesktop.org/releases/individual/lib/libXv-1.0.5.tar.bz2]
+md5=1d97798b1d8bbf8d9085e1b223a0738f
+sha256=d549afdf22feefb97cca85dee12242af9f08c4d2435255dc7c30bd17d1d96010
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/lib/libXv-X11R7.0-1.0.1.tar.bz2]
 md5=9f0075619fc8d8df460be8aaa9d9ab5d
 sha256=b3bcacd212b1aac947cdfe7e64175255f0302bc5a461e2c8925e3cf491532b10
@@ -13302,6 +13426,10 @@ sha256=8c68f429942b1258cff0fb27505645a463690374ecf318ae660ff4cde7a03db9
 md5=6f5f621804ee652b6cc6f2025c517c78
 sha256=59175230a00a1fb359148f36eadb50fc6cb080849379ccb0e43c6cbb97309a25
 
+[http://xorg.freedesktop.org/releases/individual/lib/libXxf86dga-1.1.1.tar.bz2]
+md5=368837d3d7a4d3b4f70be48383e3544e
+sha256=8d37f8895ecff15cb821a3e77bd505598983a5c6eae546e77e2d3070a8de5616
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/lib/libXxf86dga-X11R7.0-1.0.0.tar.bz2]
 md5=d2154a588953d8db4ae6252ebc7db439
 sha256=8bc2f9b7efe25f9765db6963501bcb06efef292006e184d5fe3f8b8f2a9c5199
@@ -13314,6 +13442,10 @@ sha256=ed3bd1cc72252aebe8268c7357692dcdb72f003c2c36ee7a74da312b750afdb7
 md5=7cee0df63903cef7f7a3fb68cdd99eef
 sha256=2122d67d49aaa06eeaeb3db173ea8a7048f3b52665e5135874bc5cadada91289
 
+[http://xorg.freedesktop.org/releases/individual/lib/libXxf86misc-1.0.2.tar.bz2]
+md5=51fed53e8de067d4b8666f75a0212400
+sha256=8e64b6b1bf34fcd112b1fd866d77e110b47794e825a996e4492c0ee408957cb3
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/lib/libXxf86misc-X11R7.0-1.0.0.tar.bz2]
 md5=338568c9ca48b801f314c89c97327397
 sha256=94ea1585a426e1d36f9067d65b176c27d3fbecfdf59a076263014292d10862c5
@@ -13330,6 +13462,10 @@ sha256=e08fc2c1611c422f751ed02810491b45bf7faa4207d762a11f11815263c9285a
 md5=304d37bd0a10d9b58aa9b64469ad73e5
 sha256=3cb3c3c6552a4fbc686ba6c2dbeb6e4ba2a27103279908831d56363de73951de
 
+[http://xorg.freedesktop.org/releases/individual/lib/libXxf86vm-1.1.0.tar.bz2]
+md5=b431ad7084e1055fef99a9115237edd8
+sha256=7cc5e577b337c5267f4e65741f27229111ada8cb833e24b47713a683e8838de8
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/lib/libXxf86vm-X11R7.0-1.0.0.tar.bz2]
 md5=ed59db622581b33ec2a62e12b2f9c274
 sha256=f972bbd632cf9047a28b4c467a2f7c2c72f9b36959a98649b3dfef6bf898b8df
@@ -13674,6 +13810,10 @@ sha256=bd9669e5f1a43d1cfcff4d3dc5f18736ba7c950c8ba7b71b1d9cf4436a3783b3
 md5=4d866967210d06098fc9f302ed4c79b1
 sha256=fa3ff31a543f7cea04762c08f48b418e75230de8b4dfdf9d2d3ae9e2af26b9c4
 
+[http://xorg.freedesktop.org/releases/individual/lib/libdmx-1.1.0.tar.bz2]
+md5=a2fcf0382837888d3781b714489a8999
+sha256=1904a8f848cc5d76105cb07707890aca095540a37fb0a63d359f71da51d3e2d5
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/lib/libdmx-X11R7.0-1.0.1.tar.bz2]
 md5=ae6b3c48f1349fc5dfa7d7c4b9cf4718
 sha256=3dfb83a88826c7250e41180442e891ac39898e46e0c9c1c2aba352d4a4aa9973
@@ -15070,6 +15210,10 @@ sha256=2f609ad3b5688ae66dcd18d7cdd1fc6b68531a2a85f89798f6cfb5eda6d680dc
 md5=ba25eb7582f69428648e8c67564d68e5
 sha256=b9532db51a093221f82e6659ab2979d357eac770d6eb9e9361efead0aca709ce
 
+[http://xorg.freedesktop.org/releases/individual/lib/libpciaccess-0.10.9.tar.bz2]
+md5=685cb20e7a6165bc010972f1183addbd
+sha256=5ccb9683b8be76edfceab4bf006e1cce9018e0d3dea5e54aa72e82798213fead
+
 [http://www.xmailserver.org/libpcl-1.4.tar.gz]
 md5=6d63c462911349de80109c0161ed6d37
 sha256=3c64155a9218c0367f3b0afd4bd8a4a46cc467ad6c85e98952a4ef517b183686
@@ -15830,6 +15974,10 @@ sha256=468ade4eaa3951a7c34b6ae1c290ab1a1d364ee36c5c455ef0df15550825b8ae
 md5=0726a845fe5a56551de2718c9f6b0e35
 sha256=0ab628271fc9cb6d05f861d9823573088d81d510aca95b87ac0504b2e558965f
 
+[http://xorg.freedesktop.org/releases/individual/lib/libxkbfile-1.0.6.tar.bz2]
+md5=b01156e263eca8177e6b7f10441951c4
+sha256=2ca43c1f6b2782994167a328471aa859d366cd7303c6dcbc8bda951a84a06039
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/lib/libxkbfile-X11R7.0-1.0.1.tar.bz2]
 md5=0b1bb70a1df474c26dd83feab52e733d
 sha256=2260663af7613e35996e7aa1e8911a062e849619bce88086529031e6c479c9ed
@@ -19890,10 +20038,18 @@ sha256=b7716971e73c8fa96ecd9cdb598c8bd3a2a946e289cfef5dcfaa11a0022737ce
 md5=47841c7ff5c81a7b349a79f2fa8e9138
 sha256=95550343a0f013301c20a0d27f681b97fbf61379b7bb14ecee4057141891b5f2
 
+[http://kernel.org/pub/linux/kernel/v2.6/patch-2.6.30.9.bz2]
+md5=ae8a07de27292d2957772e89f2dd921b
+sha256=0f32fb48b0c13991bc1a29f378e6435ff3d56408e8952e790ad25597e8870540
+
 [http://kernel.org/pub/linux/kernel/v2.6/patch-2.6.31.1.bz2]
 md5=43977a0a264dd7d173b6ef122c62fb20
 sha256=34586de4c7d1517842dfe32a8621f945cd6b8ee55096f8f053a66accd3d17a41
 
+[http://kernel.org/pub/linux/kernel/v2.6/patch-2.6.31.3.bz2]
+md5=24d60ad6645211e2c08dc1c1c578b249
+sha256=ed167dcbdf52c2563a30e7c81a0f2b3d79eb04acc5728e6d484166a4fe8a39e4
+
 [http://www.muru.com/linux/omap/patches/patch-2.6.9-omap1.bz2]
 md5=d6249654087f0bcafaa860ac573316a4
 sha256=91806347cb386002a8bfd20ee66e536e4a7dfb01f207dd751341f2971090d9ac
@@ -24854,6 +25010,10 @@ sha256=a2889bee9c45575b284564dbc27cf3dc6cb9833d4ff643976a1b3dba2d763f86
 md5=dfbe65c1e31bb7de5f5b03d50de192b5
 sha256=b0037cf21b67779ef5a0c585b32e46bde3b78df889484c78bb4318c9b448f560
 
+[ftp://ftp.denx.de/pub/u-boot/u-boot-2009.08.tar.bz2]
+md5=cd4788ea1c6ac4f9b100b888a1063a6b
+sha256=858fd04efd5b98e99fd1a074998b1a8ac5fbd07b176de1d20d8eb148492d949d
+
 [http://linux.omap.com/pub/bootloader/2430sdp/source/u-boot-SEP1106.tar.gz]
 md5=49c07dec9e1be69fd01d46f47ec03731
 sha256=a090786113b02647413ebc15888af269f2e6d50f73cbb94b0619cc1702911dae
@@ -26178,6 +26338,10 @@ sha256=1584dcd6d9f5206b1b44eb4645b09b809cb8a6b06eef8b7d6dc9615906692e1b
 md5=fde0b050901f024b19159cdacdcfbd20
 sha256=b2807e96a9d632b7bbf1782a43095de51f3feae3d2e25374d3df00c6c68792ab
 
+[http://xorg.freedesktop.org/releases/individual/proto/xcmiscproto-1.2.0.tar.bz2]
+md5=7b83e4a7e9f4edc9c6cfb0500f4a7196
+sha256=de17c06b7005c5e9ab469e324e76c5c3b8baa2dfc3c1dc7e93438c197facf68e
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/proto/xcmiscproto-X11R7.0-1.1.2.tar.bz2]
 md5=77f3ba0cbef119e0230d235507a1d916
 sha256=f28e8f6baaaa590ed991314c98f16d114e4668b93c5c6e7fb1bf51f3cc7bf6c0
@@ -26386,6 +26550,10 @@ sha256=3972428e3651c9159aff655c9c794728520c3ce3d66ac219ec5243d5d73d4db4
 md5=e6841018a7c64983b0954aa2c564d115
 sha256=d33e1f3c96daad78667b2dfc14a1ce2ee3bdce19409f82cd5ede6c696ca5b042
 
+[http://xorg.freedesktop.org/releases/individual/proto/xextproto-7.1.1.tar.bz2]
+md5=fb6ccaae76db7a35e49b12aea60ca6ff
+sha256=6d0abd31ddd57c2cb24cecf5fd90b4c29a276e20e3e03ca3c2c57d074f964d99
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/proto/xextproto-X11R7.0-7.0.2.tar.bz2]
 md5=c0e88fc3483d90a7fea6a399298d90ea
 sha256=41c091d05943817c0b667192dab8c8f3a3a59c04a66dd311a9573f48a7b70b3b
@@ -27750,6 +27918,10 @@ sha256=13a1658ee3ead0ab8e8bf7a9c8f8f0e3e40e38138f45d8431e735cd7184fbbd8
 md5=a318c1e86123832d7b0c95fc7d47ef35
 sha256=01b475b5b27709a738db6f94ce2ded37f5db0792e8d9318069ecf1690a15f124
 
+[http://xorg.freedesktop.org/releases/individual/proto/xf86bigfontproto-1.2.0.tar.bz2]
+md5=120e226ede5a4687b25dd357cc9b8efe
+sha256=ba9220e2c4475f5ed2ddaa7287426b30089e4d29bd58d35fad57ba5ea43e1648
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/proto/xf86bigfontproto-X11R7.0-1.1.2.tar.bz2]
 md5=5509d420a2bc898ca7d817cd8bf1b2a7
 sha256=56498126f54f123e2ffde0a883ccbc914097818e85bfa6b2a4a47df687f50b79
@@ -27770,6 +27942,10 @@ sha256=3ee1db2481ea222269bd201eef4d0e5d8ca4dbdb5eeb4852cf1efc42d4269b60
 md5=42fdcebc66efac02ab4beec2b1b0ad6e
 sha256=5ac4d4a308b032727c61fd56db5a2eaadaedfbce5bc9dc504320bff9d696b002
 
+[http://xorg.freedesktop.org/releases/individual/proto/xf86dgaproto-2.1.tar.bz2]
+md5=a036dc2fcbf052ec10621fd48b68dbb1
+sha256=ac5ef65108e1f2146286e53080975683dae49fc94680042e04bd1e2010e99050
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/proto/xf86dgaproto-X11R7.0-2.0.2.tar.bz2]
 md5=48ddcc6b764dba7e711f8e25596abdb0
 sha256=c66920f0ad6921a33098008cd01f05eb9a47f550d214065dc6c7072f176c82cf
@@ -27806,6 +27982,10 @@ sha256=861b881e2ac1e9164048c06217b54dffb5d88feb0bf72abf31984e663843b923
 md5=f00844a63d6e76b69eb0eb5e41eed843
 sha256=07152f990cc79ec5931989decc4a90b1919147e98ff6fcfe39507a9d3fc4d96e
 
+[http://xorg.freedesktop.org/releases/individual/proto/xf86vidmodeproto-2.3.tar.bz2]
+md5=4434894fc7d4eeb4a22e6b876d56fdaa
+sha256=8f704613a5407b31c594d05cf8e053f2b05777172a44e7cd2abd8090bd2ac247
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/proto/xf86vidmodeproto-X11R7.0-2.2.2.tar.bz2]
 md5=475f19a2ffbfab9a0886791c5f89c978
 sha256=2497487e51cb2e94dfe540b9084f625f8018eb0853a699d724be790b26d9fd15
@@ -28182,6 +28362,10 @@ sha256=fefc574bf639d64348939edf9654306af2bb3c20447be9cff493cb06d87cb672
 md5=6cc96c3e4ed5d9802fe717beac008f19
 sha256=204403e0388e83127212109310037d17f56c3c3fd3c96d7dcaa0df99684f00c1
 
+[http://xorg.freedesktop.org/releases/individual/app/xkbcomp-1.1.1.tar.bz2]
+md5=38c387bacdc01038c8ac280588792bcf
+sha256=9775bcfd43d9ffa41e2865e5b2c933f419bf983d7a529b3103656c76fd82e663
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/app/xkbcomp-X11R7.0-1.0.1.tar.bz2]
 md5=46d1e015897200d4dfed64990abaa8b9
 sha256=35825e80fa1905111302b5c069f5419f5fe63b370f9c437adb8c901fc10cfd16
@@ -28406,6 +28590,10 @@ sha256=4bed79ba6efcaabb3ce055cf88419a5190f8ab9d3408e7b14d722351cbaf4b44
 md5=626731003ec22a74ecf9e44ed098bbdf
 sha256=c3bfc724792858222c138c1ae9a017e69e7d3bdda3fc9f5da38b232ab031147f
 
+[http://xorg.freedesktop.org/releases/individual/app/xmodmap-1.0.4.tar.bz2]
+md5=bbe021f812e0014a8ee3692317788119
+sha256=805a63525d99f59d60a11aa89121fb9cdb001c8d542237ac4deafbadc7bd0bed
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/app/xmodmap-X11R7.0-1.0.0.tar.bz2]
 md5=240ed53111925e005d2f138ea98ef5e1
 sha256=017530da4262a6e52c87cb8ea47aebc83fcd82346cc8072f02ba9de060407be3
@@ -28650,6 +28838,10 @@ sha256=6f6328922d69f5de29513a5baf1d010db2a7a54cb58a7a6cbbb1b25097ecd592
 md5=1a2b31430d04340be2e49e8b6445e076
 sha256=fd8cd0bc3e94d7416e6af9eddfa909b0e64246e0d2bb41c00f4e02bd85c76bee
 
+[http://xorg.freedesktop.org/releases/individual/proto/xproto-7.0.16.tar.bz2]
+md5=75c9edff1f3823e5ab6bb9e66821a901
+sha256=8224da1ce19c0ded4e07a325f3ed62bb4453782db97fd175cb3ffd1acaeb9672
+
 [http://xorg.freedesktop.org/releases/development/X11R7.2-RC3/proto/xproto-7.0.9.tar.gz]
 md5=937c572775ff4a2edfbbf5568dc0e959
 sha256=e68db1c55c1c6d398098d69096b3c3b35863b5d25ef216cb2d1d4364ab0000af
@@ -28682,6 +28874,10 @@ sha256=632f3ff492a07f8279807ffbafe4f89af069bb0e7b4934b3ddf7379509aa9303
 md5=41a9d0cc073fa6165a31fbf9e85f68a6
 sha256=ab06b77f3a2b8866279e096f9d2702ac644681424eb0aec39e4eb7199f152207
 
+[http://xorg.freedesktop.org/releases/individual/app/xrandr-1.3.2.tar.bz2]
+md5=2cb19bb1c19ccf77c40032b03dbe06f0
+sha256=34d4334644a6494573141bb8647feb8f91c0ce8c8d3b6883b4861e038e912249
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/app/xrandr-X11R7.0-1.0.1.tar.bz2]
 md5=e433ccca3c4f9ab8609dfd1c9c8e36ea
 sha256=40ccd95d26c43d326fb8396ca758334bf34854336007b46285d3e881cb66e73a
@@ -28806,6 +29002,10 @@ sha256=5de3bc0c021647606fd23863f44508f851252bebce579f920e020caed74b63f0
 md5=ac2515a68bc3c5cf3729aa2ff4edebdf
 sha256=d9991f22b5f52bc4cfe579f4e3fbb6d04f8d7ce575bd04a94372c14584ddfd34
 
+[http://gpe.linuxtogo.org/download/source/xserver-common-1.32.tar.gz]
+md5=cdb63bb95074cfb778250defc3ca585e
+sha256=a10641a046f39d6044882ec8bf44d28020291b75006374245daab1b73c0dab15
+
 [http://gpe.linuxtogo.org/download/source/xserver-common-1.8.tar.gz]
 md5=1e2b9633a0cef8c525d66026a9f22c87
 sha256=cfbe37b066beee3c3a6e85806fc1588aa737b7bd7b3647e9eb91e03f21571527
@@ -28830,6 +29030,10 @@ sha256=0e3fd7d9902442df13c954316a194251e9b9acc197ae939d8b2fae66b8864d11
 md5=2f41fd983ba4d89419204854936025e2
 sha256=6c3e74bb36beab92b918f0db12198d2526675276c724558a1de71d7789d0bdad
 
+[http://xorg.freedesktop.org/releases/individual/app/xset-1.1.0.tar.bz2]
+md5=eeb0d02f69c76bd40470dede99b4bd49
+sha256=72c859c6030890a25cf828d0b2743454e50eadab30f6be8c17172fe97a554643
+
 [http://xorg.freedesktop.org/releases/X11R7.0/src/app/xset-X11R7.0-1.0.1.tar.bz2]
 md5=a0350e334a215829166266e2ce504b1c
 sha256=db17d017fff06df2e47f9d123bfb4f1d63a063eb3c08ec017292cc206bb293d1
@@ -28930,6 +29134,10 @@ sha256=9ff21a8d9ea524ca9b7cb6d6b4d522b4cb20b1c35edeb8995a9e9265a0df64bd
 md5=f9cf791dfad59cf044e276aab3a71e1d
 sha256=a67a8b09d9530021e2bd4b93136f385e72a8d8e4f2c26a99aeb169bee88facf0
 
+[http://xorg.freedesktop.org/releases/individual/lib/xtrans-1.2.4.tar.bz2]
+md5=b3b57e78dc06885e79f8393a83619715
+sha256=a26adb573ec47a21a8772d8ad89690c629c9128f8d3037d9037b032ae24cc76e
+
 [http://xorg.freedesktop.org/releases/individual/lib/xtrans-1.2.tar.bz2]
 md5=a91fef8b932b21992af7dfff7b2643f3
 sha256=d6c3cabd5ecd0183a8a9bc6b3471545df8e2c78956b4c4cfd48f0c545a88c9a4
index 8e0fbc0..a63c204 100644 (file)
@@ -38,7 +38,7 @@ UDEV_GE_141 = "1"
 PREFERRED_VERSION_usbutils = "0.82"
 PREFERRED_VERSION_util-macros-native = "1.2.1"
 PREFERRED_VERSION_util-macros = "1.2.1"
-PREFERRED_VERSION_wpa-supplicant = "0.6.7"
+PREFERRED_VERSION_wpa-supplicant = "0.6.9"
 PREFERRED_VERSION_xserver-kdrive = "1.4.0.90"
 PREFERRED_VERSION_xserver-xorg = "1.6.1"
 
index 2a1b7b0..ab3606d 100644 (file)
@@ -1,10 +1,10 @@
 # eglibc:
 require conf/distro/include/eglibc.inc
 
-TARGET_OS = "linux"
+TARGET_OS = "linux-gnu"
 
-TARGET_OS .= "${@['','-gnueabi'][bb.data.getVar('TARGET_ARCH',d,1) in ['arm', 'armeb'] and bb.data.getVar('MACHINE',d) not in ['collie','h3600', 'h3800', 'simpad', 'htcwallaby']]}"
-TARGET_OS .= "${@['','-gnuspe'][bb.data.getVar('TARGET_ARCH',d,1) in ['ppc', 'powerpc'] and bb.data.getVar('MACHINE',d) in ['calamari']]}"
+TARGET_OS .= "${@['','eabi'][bb.data.getVar('TARGET_ARCH',d,1) in ['arm', 'armeb'] and bb.data.getVar('MACHINE',d) not in ['collie','h3600', 'h3800', 'simpad', 'htcwallaby']]}"
+TARGET_OS .= "${@['','spe'][bb.data.getVar('TARGET_ARCH',d,1) in ['ppc', 'powerpc'] and bb.data.getVar('MACHINE',d) in ['calamari']]}"
 
 #TARGET_OS = "linux-gnuspe"
 
index 287bd9b..544ee4a 100644 (file)
@@ -3,7 +3,8 @@ require conf/distro/include/glibc.inc
 
 PREFERRED_PROVIDER_linux-libc-headers ?= "linux-libc-headers"
 
-TARGET_OS = "linux${@['','-gnueabi'][bb.data.getVar('TARGET_ARCH',d,1) in ['arm', 'armeb'] and bb.data.getVar('MACHINE',d) not in ['collie','h3600', 'h3800', 'simpad', 'htcwallaby']]}"
+TARGET_OS = "linux-gnu"
+TARGET_OS .= "${@['','eabi'][bb.data.getVar('TARGET_ARCH',d,1) in ['arm', 'armeb'] and bb.data.getVar('MACHINE',d) not in ['collie','h3600', 'h3800', 'simpad', 'htcwallaby']]}"
 
 #mess with compiler flags to use -Os instead of -O2
 #Please see http://free-electrons.com/doc/embedded_linux_optimizations/img47.html for some more info
index 3b4fb8f..580702b 100644 (file)
@@ -101,7 +101,6 @@ SRCREV_pn-libw100 ?= "47"
 SRCREV_pn-libxcalibrate ?= "209d83af61ed38a002c8096377deac292b3e396c"
 SRCREV_pn-libxosd ?= "627"
 SRCREV_pn-linux-bfin ?= "3758"
-SRCREV_pn-linux-bug ?= "9110"
 SRCREV_pn-linux-hackndev-2.6 ?= "1308"
 SRCREV_pn-linux-ixp4xx ?= "1089"
 SRCREV_pn-linux-openmoko-2.6.24 ?= "fb42ce6724576fc173faf8abfb04aa2c36d213b7"
index c251216..4b383be 100644 (file)
@@ -5,7 +5,6 @@
 require conf/machine/include/qemu.inc
 require conf/machine/i686-generic.conf
 
-MACHINE_FEATURES += "x86"
 MACHINE_EXTRA_RRECOMMENDS = "kernel-module-uvesafb v86d"
 
 KERNEL_IMAGETYPE = "bzImage"
index 8d9272e..fe0e385 100755 (executable)
@@ -12,7 +12,7 @@ import time
 VERSION = "2.6.2"
 
 __author__ = "Michael 'Mickey' Lauer <mlauer@vanille-media.de>"
-__version__ = "20090812"
+__version__ = "20091004"
 
 class MakefileMaker:
 
@@ -70,16 +70,17 @@ class MakefileMaker:
         provideLine += '"'
 
         self.out( provideLine )
-        self.out( "" )       
+        self.out( "" )
 
         #
         # generate package line
         #
 
-        packageLine = 'PACKAGES="'
+        packageLine = 'PACKAGES="python-core-dbg '
         for name in self.packages:
-            packageLine += "%s " % name
-        packageLine += ' python-modules"'
+            if name != 'python-core-dbg':
+                packageLine += "%s " % name
+        packageLine += 'python-modules"'
 
         self.out( packageLine )
         self.out( "" )
@@ -161,7 +162,7 @@ if __name__ == "__main__":
     "lib-dynload/xreadlines.so types.* ${bindir}/python*" )
 
     m.addPackage( "python-core-dbg", "Python core module debug information", "python-core",
-    "lib-dynload/.debug ${bindir}/.debug ${libdir}/.debug" )
+    "config/.debug lib-dynload/.debug ${bindir}/.debug ${libdir}/.debug" )
 
     m.addPackage( "python-devel", "Python Development Package", "python-core",
     "${includedir} ${libdir}/libpython2.6.so config" ) # package
diff --git a/recipes/atk/atk-native_1.27.90.bb b/recipes/atk/atk-native_1.27.90.bb
deleted file mode 100644 (file)
index 45ec601..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-
-require atk_1.27.90.bb
-
-inherit native
-
-DEPENDS += "glib-2.0-native"
-PROVIDES = "atk-native"
-SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/atk/1.27/atk-${PV}.tar.bz2"
-
-PR = "r0"
-
diff --git a/recipes/atk/atk-native_1.28.0.bb b/recipes/atk/atk-native_1.28.0.bb
new file mode 100644 (file)
index 0000000..b136cba
--- /dev/null
@@ -0,0 +1,6 @@
+require atk_1.28.0.bb
+
+inherit native
+
+DEPENDS += "glib-2.0-native"
+
index 498651a..b6f5a25 100644 (file)
@@ -24,10 +24,11 @@ esac
 exit 0
 
 @DPATCH@
-diff -urNad /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em binutils-2.15/ld/emultempl/elf32.em
---- /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em       2004-05-21 23:12:58.000000000 +0100
-+++ binutils-2.15/ld/emultempl/elf32.em        2004-05-21 23:12:59.000000000 +0100
-@@ -692,6 +692,8 @@
+Index: src/ld/emultempl/elf32.em
+===================================================================
+--- src.orig/ld/emultempl/elf32.em     2009-09-23 06:54:28.000000000 -0700
++++ src/ld/emultempl/elf32.em  2009-10-06 10:58:16.883414592 -0700
+@@ -1237,6 +1237,8 @@ fragment <<EOF
              && command_line.rpath == NULL)
            {
              lib_path = (const char *) getenv ("LD_RUN_PATH");
@@ -36,12 +37,12 @@ diff -urNad /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/
              if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
                                                      force))
                break;
-@@ -871,6 +873,8 @@
+@@ -1463,6 +1465,8 @@ gld${EMULATION_NAME}_before_allocation (
    rpath = command_line.rpath;
    if (rpath == NULL)
      rpath = (const char *) getenv ("LD_RUN_PATH");
 +  if ((rpath) && (strlen (rpath) == 0))
-+      rpath = NULL;
-   if (! (bfd_elf_size_dynamic_sections
-        (output_bfd, command_line.soname, rpath,
-         command_line.filter_shlib,
++    rpath = NULL;
+   for (abfd = link_info.input_bfds; abfd; abfd = abfd->link_next)
+     {
diff --git a/recipes/dietlibc/dietlibc-0.32/ccache.patch b/recipes/dietlibc/dietlibc-0.32/ccache.patch
new file mode 100644 (file)
index 0000000..fb067f0
--- /dev/null
@@ -0,0 +1,74 @@
+Index: dietlibc-0.32/diet.c
+===================================================================
+--- dietlibc-0.32.orig/diet.c  2009-03-17 00:17:58.000000000 +0100
++++ dietlibc-0.32/diet.c       2009-10-02 14:12:14.306929201 +0200
+@@ -132,7 +132,12 @@
+     }
+   }
+   {
+-    char *cc=argv[1];
++    char *cc;
++    if (!strcmp(argv[1],"ccache")) {
++      cc=argv[2];
++    } else {
++      cc=argv[1];
++    }
+     char *tmp=strchr(cc,0)-2;
+     char *tmp2,*tmp3;
+     if (tmp<cc) goto donttouch;
+@@ -144,7 +149,7 @@
+       if (tmp3<tmp2) tmp2=tmp3;
+       if (tmp2-cc>90) error("platform name too long!\n");
+       shortplatform=platform+len;
+-      memmove(shortplatform,argv[1],(size_t)(tmp2-cc));
++      memmove(shortplatform,cc,(size_t)(tmp2-cc));
+       platform[tmp2-cc+len]=0;
+       if (shortplatform[0]=='i' && shortplatform[2]=='8' && shortplatform[3]=='6') shortplatform[1]='3';
+     } else {
+@@ -291,6 +296,9 @@
+       dest=newargv;
+       *dest++=argv[1];
++      if (strcmp(argv[1],"ccache") == 0) {
++       *dest++=argv[2];
++      }
+       if (argv[2]) {
+       if (!strcmp(argv[2],"-V")) {
+         *dest++=argv[2];
+@@ -300,9 +308,9 @@
+       } else if (!memcmp(argv[2],"-V",2)) {
+         *dest++=argv[2];
+         ++argv;
+-        --argc;
+       }
+       }
++
+ #ifndef __DYN_LIB
+       if (_link) { *dest++=(char*)nostdlib; *dest++=dashstatic; *dest++=dashL; }
+ #else
+@@ -320,7 +328,15 @@
+ #ifdef WANT_DYNAMIC
+       if (_link) { *dest++=d; }
+ #endif
+-      for (i=2; i<argc; ++i) {
++      if (strcmp(argv[1],"ccache") == 0) {
++          i=3;
++      } else {
++          i=2;
++      }
++      for (i; i<argc; ++i) {
++        if (strstr(argv[i],"isystem") != NULL)
++          continue;
++
+       if (!strcmp(argv[i],"-pthread")) {
+         *dest++="-D_REENTRANT";
+         if (_link) *dest++="-lpthread";
+@@ -333,6 +349,8 @@
+             continue;
+         }
+       *dest++=argv[i];
++      *dest--;
++      *dest++;
+       }
+ #ifndef __DYN_LIB
+       if (compile || _link) {
diff --git a/recipes/dietlibc/dietlibc-0.32/diethome.patch b/recipes/dietlibc/dietlibc-0.32/diethome.patch
new file mode 100644 (file)
index 0000000..ee05b23
--- /dev/null
@@ -0,0 +1,24 @@
+Index: dietlibc-0.32/Makefile
+===================================================================
+--- dietlibc-0.32.orig/Makefile        2008-05-09 06:36:56.000000000 +0200
++++ dietlibc-0.32/Makefile     2009-10-02 14:39:58.059248076 +0200
+@@ -295,16 +295,16 @@
+ $(SYSCALLOBJ): syscalls.h
+ $(OBJDIR)/elftrunc: $(OBJDIR)/diet contrib/elftrunc.c
+-      bin-$(MYARCH)/diet $(CROSS)$(CC) $(CFLAGS) -o $@ contrib/elftrunc.c
++      DIETHOME=$(PWD) bin-$(MYARCH)/diet $(CROSS)$(CC) $(CFLAGS) -o $@ contrib/elftrunc.c
+ $(OBJDIR)/dnsd: $(OBJDIR)/diet contrib/dnsd.c
+-      bin-$(MYARCH)/diet $(CROSS)$(CC) $(CFLAGS) -o $@ contrib/dnsd.c
++      DIETHOME=$(PWD) bin-$(MYARCH)/diet $(CROSS)$(CC) $(CFLAGS) -o $@ contrib/dnsd.c
+ VERSION=dietlibc-$(shell head -n 1 CHANGES|sed 's/://')
+ CURNAME=$(notdir $(shell pwd))
+ $(OBJDIR)/diet: $(OBJDIR)/start.o $(OBJDIR)/dyn_start.o diet.c $(OBJDIR)/dietlibc.a $(OBJDIR)/dyn_stop.o
+-      $(CROSS)$(CC) -isystem include $(CFLAGS) -nostdlib -o $@ $^ -DDIETHOME=\"$(HOME)\" -DVERSION=\"$(VERSION)\" -lgcc
++      $(CROSS)$(CC) -isystem include $(CFLAGS) -nostdlib -o $@ $^ -DDIETHOME=\"$(prefix)\" -DVERSION=\"$(VERSION)\" -lgcc
+       $(CROSS)strip -R .comment -R .note $@
+ $(OBJDIR)/diet-i: $(OBJDIR)/start.o $(OBJDIR)/dyn_start.o diet.c $(OBJDIR)/dietlibc.a $(OBJDIR)/dyn_stop.o
diff --git a/recipes/dietlibc/dietlibc-0.32/getrlimit.patch b/recipes/dietlibc/dietlibc-0.32/getrlimit.patch
new file mode 100644 (file)
index 0000000..1d9792e
--- /dev/null
@@ -0,0 +1,12 @@
+Index: dietlibc-0.32/syscalls.s/getrlimit.S
+===================================================================
+--- dietlibc-0.32.orig/syscalls.s/getrlimit.S  2001-01-09 18:57:48.000000000 +0100
++++ dietlibc-0.32/syscalls.s/getrlimit.S       2009-10-03 14:28:55.098309914 +0200
+@@ -1,3 +1,7 @@
+ #include "syscalls.h"
++#if defined(__ARM_EABI__)
++syscall(ugetrlimit,getrlimit)
++#else
+ syscall(getrlimit,getrlimit)
++#endif
diff --git a/recipes/dietlibc/dietlibc.inc b/recipes/dietlibc/dietlibc.inc
new file mode 100644 (file)
index 0000000..624a9ae
--- /dev/null
@@ -0,0 +1,45 @@
+SECTION = "libs"
+DESCRIPTION = "The diet libc is a libc that is optimized for small size. \
+It can be used to create small statically linked binaries"
+LICENSE = "GPLv2"
+
+INC_PR = "r2"
+
+SRC_URI = "${KERNELORG_MIRROR}/pub/linux/libs/dietlibc/dietlibc-${PV}.tar.bz2" 
+
+#otherwise the whole run scripts got broken
+do_configure () {
+:
+}
+
+do_compile () {
+       oe_runmake all CC="${BUILD_CC}" CFLAGS="${BUILD_CFLAGS}" prefix=${STAGING_DIR_TARGET}/lib/dietlibc
+       oe_runmake all ARCH="${TARGET_ARCH}" CC="${BUILD_CC}" CROSS="${HOST_PREFIX}" prefix=${STAGING_DIR_TARGET}/lib/dietlibc
+}
+
+#no packages needed, all binaries will be compiled with -static
+PACKAGES = " "
+
+#otherwise the whole run scripts got broken
+do_install () {
+:
+}
+
+do_stage () {
+       DIETLIBC_BUILD_ARCH=`echo ${BUILD_ARCH} | sed -e s'/.86/386/'`
+       DIETLIBC_TARGET_ARCH=`echo ${TARGET_ARCH} | sed -e s'/.86/386/'`
+       rm -rf ${STAGING_DIR_TARGET}/lib/dietlibc || true
+       rm ${CROSS_DIR}/bin/diet || true
+       install -d ${STAGING_DIR_TARGET}/lib/dietlibc/lib-${DIETLIBC_TARGET_ARCH}
+       install -d ${STAGING_DIR_TARGET}/lib/dietlibc/include
+        for i in `find include -name \*.h`; do install -m 644 -D $i ${STAGING_DIR_TARGET}/lib/dietlibc/$i; done
+
+        install -m755 bin-${DIETLIBC_BUILD_ARCH}/diet-i ${CROSS_DIR}/bin/diet
+       
+       cd bin-${DIETLIBC_TARGET_ARCH}
+       install -m 644 start.o libm.a libpthread.a librpc.a \
+                       liblatin1.a libcompat.a libcrypt.a \
+                      ${STAGING_DIR_TARGET}/lib/dietlibc/lib-${DIETLIBC_TARGET_ARCH}
+        install -m 644 dietlibc.a ${STAGING_DIR_TARGET}/lib/dietlibc/lib-${DIETLIBC_TARGET_ARCH}/libc.a
+}
+
index 7720588..70b813b 100644 (file)
@@ -1,47 +1,8 @@
-SECTION = "libs"
-DESCRIPTION = "The diet libc is a libc that is optimized for small size. \
-It can be used to create small statically linked binaries"
-LICENSE = "GPLv2"
+require dietlibc.inc
 
-SRC_URI = "${KERNELORG_MIRROR}/pub/linux/libs/dietlibc/dietlibc-${PV}.tar.bz2 \
-           file://ccache.patch;patch=1 \
-           file://ceil.patch;patch=1 \
-          file://ai_addrconfig.patch;patch=1 \
-         "
-
-#otherwise the whole run scripts got broken
-do_configure () {
-       echo "moo" > /dev/null 2>&1
-}
-
-do_compile () {
-       oe_runmake all CC="${BUILD_CC}" CFLAGS="${BUILD_CFLAGS}" prefix=${STAGING_DIR_TARGET}/lib/dietlibc
-       oe_runmake all ARCH="${TARGET_ARCH}" CROSS=" " prefix=${STAGING_DIR_TARGET}/lib/dietlibc
-}
-
-#no packages needed, all binaries will be compiled with -static
-PACKAGES = " "
-
-#otherwise the whole run scripts got broken
-do_install () {
-       echo "moo" > /dev/null 2>&1
-}
-
-do_stage () {
-       DIETLIBC_BUILD_ARCH=`echo ${BUILD_ARCH} | sed -e s'/.86/386/'`
-       DIETLIBC_TARGET_ARCH=`echo ${TARGET_ARCH} | sed -e s'/.86/386/'`
-       rm -rf ${STAGING_DIR_TARGET}/lib/dietlibc || true
-       rm ${CROSS_DIR}/bin/diet || true
-       install -d ${STAGING_DIR_TARGET}/lib/dietlibc/lib-${DIETLIBC_TARGET_ARCH}
-       install -d ${STAGING_DIR_TARGET}/lib/dietlibc/include
-        for i in `find include -name \*.h`; do install -m 644 -D $i ${STAGING_DIR_TARGET}/lib/dietlibc/$i; done
-
-        install -m755 bin-${DIETLIBC_BUILD_ARCH}/diet-i ${CROSS_DIR}/bin/diet
-       
-       cd bin-${DIETLIBC_TARGET_ARCH}
-       install -m 644 start.o libm.a libpthread.a librpc.a \
-                       liblatin1.a libcompat.a libcrypt.a \
-                      ${STAGING_DIR_TARGET}/lib/dietlibc/lib-${DIETLIBC_TARGET_ARCH}
-        install -m 644 dietlibc.a ${STAGING_DIR_TARGET}/lib/dietlibc/lib-${DIETLIBC_TARGET_ARCH}/libc.a
-}
+PR = "${INC_PR}.1"
 
+SRC_URI += "file://ccache.patch;patch=1 \
+            file://ceil.patch;patch=1 \
+            file://ai_addrconfig.patch;patch=1 \
+           "
diff --git a/recipes/dietlibc/dietlibc_0.32.bb b/recipes/dietlibc/dietlibc_0.32.bb
new file mode 100644 (file)
index 0000000..7cdc121
--- /dev/null
@@ -0,0 +1,10 @@
+require dietlibc.inc
+
+PR = "${INC_PR}.2"
+
+SRC_URI += "file://ccache.patch;patch=1 \
+            file://ceil.patch;patch=1 \
+            file://diethome.patch;patch=1 \
+            file://getrlimit.patch;patch=1 \
+           " 
+
index 13ca295..d523cbf 100644 (file)
@@ -1,6 +1,6 @@
 DESCRIPTION = "EFL based widget set for mobile devices"
 LICENSE = "LGPL"
-DEPENDS = "evas ecore edje eet edbus"
+DEPENDS = "efreet evas ecore edje eet edbus"
 PV = "0.0.0+svnr${SRCREV}"
 PR = "r4"
 
index ad928eb..1f348d1 100644 (file)
@@ -8,6 +8,8 @@ PR = "r4"
 
 inherit efl
 
+SRC_URI = "svn://svn.enlightenment.org/svn/e/trunk/OLD;module=${SRCNAME};proto=http"
+
 # a gstreamer thumbnailer would be nice now that we have emotion using gstreamer as well
 EXTRA_OECONF = "--disable-xine"
 
index 31004a3..4b06590 100644 (file)
@@ -6,7 +6,8 @@ PR = "r5"
 
 inherit efl
 
-SRC_URI += "file://mkinstalldirs"
+SRC_URI = "svn://svn.enlightenment.org/svn/e/trunk/OLD;module=${SRCNAME};proto=http \
+file://mkinstalldirs"
 
 RRECOMMENDS_${PN} = "\
   etk-engines-software-x11 \
index f32f749..9b47127 100644 (file)
@@ -7,7 +7,7 @@ LICENSE = "GPLv3"
 
 DEPENDS = "mpfr gmp"
 
-INC_PR = "r5"
+INC_PR = "r6"
 
 FILESPATHPKG .= ":gcc-$PV"
 
@@ -20,6 +20,9 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
        file://gcc-improve-tls-macro.patch;patch=1 \
        file://cache-amnesia.patch;patch=1 \
        file://gcc-flags-for-build.patch;patch=1 \
+       file://gcc-ppc_single_precision_regs.patch;patch=1 \
+       file://gcc-ppc_add_d_constraint.patch;patch=1 \
+       file://gcc-pr41175.patch;patch=1 \
        "
 # Language Overrides
 FORTRAN = ""
diff --git a/recipes/gcc/gcc-4.4.1/gcc-ppc_add_d_constraint.patch b/recipes/gcc/gcc-4.4.1/gcc-ppc_add_d_constraint.patch
new file mode 100644 (file)
index 0000000..5e1da1a
--- /dev/null
@@ -0,0 +1,1216 @@
+Index: gcc-4.4.1/gcc/doc/md.texi
+===================================================================
+--- gcc-4.4.1.orig/gcc/doc/md.texi     2009-10-06 14:08:35.847313399 -0700
++++ gcc-4.4.1/gcc/doc/md.texi  2009-10-06 14:09:12.087313658 -0700
+@@ -1901,8 +1901,11 @@ Any constant whose absolute value is no 
+ @item b
+ Address base register
++@item d
++Floating point register (containing 64-bit value)
++
+ @item f
+-Floating point register
++Floating point register (containing 32-bit value)
+ @item v
+ Vector register
+Index: gcc-4.4.1/gcc/config/rs6000/constraints.md
+===================================================================
+--- gcc-4.4.1.orig/gcc/config/rs6000/constraints.md    2009-10-06 14:08:35.827340958 -0700
++++ gcc-4.4.1/gcc/config/rs6000/constraints.md 2009-10-06 14:09:12.087313658 -0700
+@@ -23,6 +23,10 @@
+                                ? FLOAT_REGS : NO_REGS"
+   "@internal")
++(define_register_constraint "d" "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT
++                               ? FLOAT_REGS : NO_REGS"
++  "@internal")
++
+ (define_register_constraint "b" "BASE_REGS"
+   "@internal")
+Index: gcc-4.4.1/gcc/config/rs6000/dfp.md
+===================================================================
+--- gcc-4.4.1.orig/gcc/config/rs6000/dfp.md    2009-10-06 14:08:35.797315564 -0700
++++ gcc-4.4.1/gcc/config/rs6000/dfp.md 2009-10-06 14:09:12.087313658 -0700
+@@ -105,7 +105,7 @@
+ (define_insn "movsd_store"
+   [(set (match_operand:DD 0 "nonimmediate_operand" "=m")
+-      (unspec:DD [(match_operand:SD 1 "input_operand" "f")]
++      (unspec:DD [(match_operand:SD 1 "input_operand" "d")]
+                  UNSPEC_MOVSD_STORE))]
+   "(gpc_reg_operand (operands[0], DDmode)
+    || gpc_reg_operand (operands[1], SDmode))
+@@ -128,15 +128,15 @@
+ ;; Hardware support for decimal floating point operations.
+ (define_insn "extendsddd2"
+-  [(set (match_operand:DD 0 "gpc_reg_operand" "=f")
++  [(set (match_operand:DD 0 "gpc_reg_operand" "=d")
+       (float_extend:DD (match_operand:SD 1 "gpc_reg_operand" "f")))]
+   "TARGET_DFP"
+   "dctdp %0,%1"
+   [(set_attr "type" "fp")])
+ (define_expand "extendsdtd2"
+-  [(set (match_operand:TD 0 "gpc_reg_operand" "=f")
+-      (float_extend:TD (match_operand:SD 1 "gpc_reg_operand" "f")))]
++  [(set (match_operand:TD 0 "gpc_reg_operand" "=d")
++      (float_extend:TD (match_operand:SD 1 "gpc_reg_operand" "d")))]
+   "TARGET_DFP"
+ {
+   rtx tmp = gen_reg_rtx (DDmode);
+@@ -147,7 +147,7 @@
+ (define_insn "truncddsd2"
+   [(set (match_operand:SD 0 "gpc_reg_operand" "=f")
+-      (float_truncate:SD (match_operand:DD 1 "gpc_reg_operand" "f")))]
++      (float_truncate:SD (match_operand:DD 1 "gpc_reg_operand" "d")))]
+   "TARGET_DFP"
+   "drsp %0,%1"
+   [(set_attr "type" "fp")])
+@@ -159,8 +159,8 @@
+   "")
+ (define_insn "*negdd2_fpr"
+-  [(set (match_operand:DD 0 "gpc_reg_operand" "=f")
+-      (neg:DD (match_operand:DD 1 "gpc_reg_operand" "f")))]
++  [(set (match_operand:DD 0 "gpc_reg_operand" "=d")
++      (neg:DD (match_operand:DD 1 "gpc_reg_operand" "d")))]
+   "TARGET_HARD_FLOAT && TARGET_FPRS"
+   "fneg %0,%1"
+   [(set_attr "type" "fp")])
+@@ -172,15 +172,15 @@
+   "")
+ (define_insn "*absdd2_fpr"
+-  [(set (match_operand:DD 0 "gpc_reg_operand" "=f")
+-      (abs:DD (match_operand:DD 1 "gpc_reg_operand" "f")))]
++  [(set (match_operand:DD 0 "gpc_reg_operand" "=d")
++      (abs:DD (match_operand:DD 1 "gpc_reg_operand" "d")))]
+   "TARGET_HARD_FLOAT && TARGET_FPRS"
+   "fabs %0,%1"
+   [(set_attr "type" "fp")])
+ (define_insn "*nabsdd2_fpr"
+-  [(set (match_operand:DD 0 "gpc_reg_operand" "=f")
+-      (neg:DD (abs:DD (match_operand:DF 1 "gpc_reg_operand" "f"))))]
++  [(set (match_operand:DD 0 "gpc_reg_operand" "=d")
++      (neg:DD (abs:DD (match_operand:DF 1 "gpc_reg_operand" "d"))))]
+   "TARGET_HARD_FLOAT && TARGET_FPRS"
+   "fnabs %0,%1"
+   [(set_attr "type" "fp")])
+@@ -281,8 +281,8 @@
+ ;; The "??" is a kludge until we can figure out a more reasonable way
+ ;; of handling these non-offsettable values.
+ (define_insn "*movdd_hardfloat32"
+-  [(set (match_operand:DD 0 "nonimmediate_operand" "=!r,??r,m,f,f,m,!r,!r,!r")
+-      (match_operand:DD 1 "input_operand" "r,m,r,f,m,f,G,H,F"))]
++  [(set (match_operand:DD 0 "nonimmediate_operand" "=!r,??r,m,d,d,m,!r,!r,!r")
++      (match_operand:DD 1 "input_operand" "r,m,r,d,m,d,G,H,F"))]
+   "! TARGET_POWERPC64 && TARGET_HARD_FLOAT && TARGET_FPRS
+    && (gpc_reg_operand (operands[0], DDmode)
+        || gpc_reg_operand (operands[1], DDmode))"
+@@ -417,8 +417,8 @@
+ ; ld/std require word-aligned displacements -> 'Y' constraint.
+ ; List Y->r and r->Y before r->r for reload.
+ (define_insn "*movdd_hardfloat64_mfpgpr"
+-  [(set (match_operand:DD 0 "nonimmediate_operand" "=Y,r,!r,f,f,m,*c*l,!r,*h,!r,!r,!r,r,f")
+-      (match_operand:DD 1 "input_operand" "r,Y,r,f,m,f,r,h,0,G,H,F,f,r"))]
++  [(set (match_operand:DD 0 "nonimmediate_operand" "=Y,r,!r,d,d,m,*c*l,!r,*h,!r,!r,!r,r,d")
++      (match_operand:DD 1 "input_operand" "r,Y,r,d,m,d,r,h,0,G,H,F,d,r"))]
+   "TARGET_POWERPC64 && TARGET_MFPGPR && TARGET_HARD_FLOAT && TARGET_FPRS
+    && (gpc_reg_operand (operands[0], DDmode)
+        || gpc_reg_operand (operands[1], DDmode))"
+@@ -443,8 +443,8 @@
+ ; ld/std require word-aligned displacements -> 'Y' constraint.
+ ; List Y->r and r->Y before r->r for reload.
+ (define_insn "*movdd_hardfloat64"
+-  [(set (match_operand:DD 0 "nonimmediate_operand" "=Y,r,!r,f,f,m,*c*l,!r,*h,!r,!r,!r")
+-      (match_operand:DD 1 "input_operand" "r,Y,r,f,m,f,r,h,0,G,H,F"))]
++  [(set (match_operand:DD 0 "nonimmediate_operand" "=Y,r,!r,d,d,m,*c*l,!r,*h,!r,!r,!r")
++      (match_operand:DD 1 "input_operand" "r,Y,r,d,m,d,r,h,0,G,H,F"))]
+   "TARGET_POWERPC64 && !TARGET_MFPGPR && TARGET_HARD_FLOAT && TARGET_FPRS
+    && (gpc_reg_operand (operands[0], DDmode)
+        || gpc_reg_operand (operands[1], DDmode))"
+@@ -490,8 +490,8 @@
+   "")
+ (define_insn "*negtd2_fpr"
+-  [(set (match_operand:TD 0 "gpc_reg_operand" "=f")
+-      (neg:TD (match_operand:TD 1 "gpc_reg_operand" "f")))]
++  [(set (match_operand:TD 0 "gpc_reg_operand" "=d")
++      (neg:TD (match_operand:TD 1 "gpc_reg_operand" "d")))]
+   "TARGET_HARD_FLOAT && TARGET_FPRS"
+   "fneg %0,%1"
+   [(set_attr "type" "fp")])
+@@ -503,15 +503,15 @@
+   "")
+ (define_insn "*abstd2_fpr"
+-  [(set (match_operand:TD 0 "gpc_reg_operand" "=f")
+-      (abs:TD (match_operand:TD 1 "gpc_reg_operand" "f")))]
++  [(set (match_operand:TD 0 "gpc_reg_operand" "=d")
++      (abs:TD (match_operand:TD 1 "gpc_reg_operand" "d")))]
+   "TARGET_HARD_FLOAT && TARGET_FPRS"
+   "fabs %0,%1"
+   [(set_attr "type" "fp")])
+ (define_insn "*nabstd2_fpr"
+-  [(set (match_operand:TD 0 "gpc_reg_operand" "=f")
+-      (neg:TD (abs:TD (match_operand:DF 1 "gpc_reg_operand" "f"))))]
++  [(set (match_operand:TD 0 "gpc_reg_operand" "=d")
++      (neg:TD (abs:TD (match_operand:DF 1 "gpc_reg_operand" "d"))))]
+   "TARGET_HARD_FLOAT && TARGET_FPRS"
+   "fnabs %0,%1"
+   [(set_attr "type" "fp")])
+@@ -526,8 +526,8 @@
+ ; otherwise reload, given m->f, will try to pick f->f and reload it,
+ ; which doesn't make progress.  Likewise r->Y must be before r->r.
+ (define_insn_and_split "*movtd_internal"
+-  [(set (match_operand:TD 0 "nonimmediate_operand" "=o,f,f,r,Y,r")
+-      (match_operand:TD 1 "input_operand"         "f,o,f,YGHF,r,r"))]
++  [(set (match_operand:TD 0 "nonimmediate_operand" "=o,d,d,r,Y,r")
++      (match_operand:TD 1 "input_operand"         "d,o,d,YGHF,r,r"))]
+   "TARGET_HARD_FLOAT && TARGET_FPRS
+    && (gpc_reg_operand (operands[0], TDmode)
+        || gpc_reg_operand (operands[1], TDmode))"
+@@ -540,8 +540,8 @@
+ ;; Hardware support for decimal floating point operations.
+ (define_insn "extendddtd2"
+-  [(set (match_operand:TD 0 "gpc_reg_operand" "=f")
+-      (float_extend:TD (match_operand:DD 1 "gpc_reg_operand" "f")))]
++  [(set (match_operand:TD 0 "gpc_reg_operand" "=d")
++      (float_extend:TD (match_operand:DD 1 "gpc_reg_operand" "d")))]
+   "TARGET_DFP"
+   "dctqpq %0,%1"
+   [(set_attr "type" "fp")])
+@@ -552,96 +552,96 @@
+ ;; that the result is the first of the pair receiving the result of drdpq.
+ (define_insn "trunctddd2"
+-  [(set (match_operand:DD 0 "gpc_reg_operand" "=f")
+-      (float_truncate:DD (match_operand:TD 1 "gpc_reg_operand" "f")))
+-   (clobber (match_scratch:TD 2 "=f"))]
++  [(set (match_operand:DD 0 "gpc_reg_operand" "=d")
++      (float_truncate:DD (match_operand:TD 1 "gpc_reg_operand" "d")))
++   (clobber (match_scratch:TD 2 "=d"))]
+   "TARGET_DFP"
+   "drdpq %2,%1\;fmr %0,%2"
+   [(set_attr "type" "fp")])
+ (define_insn "adddd3"
+-  [(set (match_operand:DD 0 "gpc_reg_operand" "=f")
+-      (plus:DD (match_operand:DD 1 "gpc_reg_operand" "%f")
+-               (match_operand:DD 2 "gpc_reg_operand" "f")))]
++  [(set (match_operand:DD 0 "gpc_reg_operand" "=d")
++      (plus:DD (match_operand:DD 1 "gpc_reg_operand" "%d")
++               (match_operand:DD 2 "gpc_reg_operand" "d")))]
+   "TARGET_DFP"
+   "dadd %0,%1,%2"
+   [(set_attr "type" "fp")])
+ (define_insn "addtd3"
+-  [(set (match_operand:TD 0 "gpc_reg_operand" "=f")
+-      (plus:TD (match_operand:TD 1 "gpc_reg_operand" "%f")
+-               (match_operand:TD 2 "gpc_reg_operand" "f")))]
++  [(set (match_operand:TD 0 "gpc_reg_operand" "=d")
++      (plus:TD (match_operand:TD 1 "gpc_reg_operand" "%d")
++               (match_operand:TD 2 "gpc_reg_operand" "d")))]
+   "TARGET_DFP"
+   "daddq %0,%1,%2"
+   [(set_attr "type" "fp")])
+ (define_insn "subdd3"
+-  [(set (match_operand:DD 0 "gpc_reg_operand" "=f")
+-      (minus:DD (match_operand:DD 1 "gpc_reg_operand" "f")
+-                (match_operand:DD 2 "gpc_reg_operand" "f")))]
++  [(set (match_operand:DD 0 "gpc_reg_operand" "=d")
++      (minus:DD (match_operand:DD 1 "gpc_reg_operand" "d")
++                (match_operand:DD 2 "gpc_reg_operand" "d")))]
+   "TARGET_DFP"
+   "dsub %0,%1,%2"
+   [(set_attr "type" "fp")])
+ (define_insn "subtd3"
+-  [(set (match_operand:TD 0 "gpc_reg_operand" "=f")
+-      (minus:TD (match_operand:TD 1 "gpc_reg_operand" "f")
+-                (match_operand:TD 2 "gpc_reg_operand" "f")))]
++  [(set (match_operand:TD 0 "gpc_reg_operand" "=d")
++      (minus:TD (match_operand:TD 1 "gpc_reg_operand" "d")
++                (match_operand:TD 2 "gpc_reg_operand" "d")))]
+   "TARGET_DFP"
+   "dsubq %0,%1,%2"
+   [(set_attr "type" "fp")])
+ (define_insn "muldd3"
+-  [(set (match_operand:DD 0 "gpc_reg_operand" "=f")
+-      (mult:DD (match_operand:DD 1 "gpc_reg_operand" "%f")
+-               (match_operand:DD 2 "gpc_reg_operand" "f")))]
++  [(set (match_operand:DD 0 "gpc_reg_operand" "=d")
++      (mult:DD (match_operand:DD 1 "gpc_reg_operand" "%d")
++               (match_operand:DD 2 "gpc_reg_operand" "d")))]
+   "TARGET_DFP"
+   "dmul %0,%1,%2"
+   [(set_attr "type" "fp")])
+ (define_insn "multd3"
+-  [(set (match_operand:TD 0 "gpc_reg_operand" "=f")
+-      (mult:TD (match_operand:TD 1 "gpc_reg_operand" "%f")
+-               (match_operand:TD 2 "gpc_reg_operand" "f")))]
++  [(set (match_operand:TD 0 "gpc_reg_operand" "=d")
++      (mult:TD (match_operand:TD 1 "gpc_reg_operand" "%d")
++               (match_operand:TD 2 "gpc_reg_operand" "d")))]
+   "TARGET_DFP"
+   "dmulq %0,%1,%2"
+   [(set_attr "type" "fp")])
+ (define_insn "divdd3"
+-  [(set (match_operand:DD 0 "gpc_reg_operand" "=f")
+-      (div:DD (match_operand:DD 1 "gpc_reg_operand" "f")
+-              (match_operand:DD 2 "gpc_reg_operand" "f")))]
++  [(set (match_operand:DD 0 "gpc_reg_operand" "=d")
++      (div:DD (match_operand:DD 1 "gpc_reg_operand" "d")
++              (match_operand:DD 2 "gpc_reg_operand" "d")))]
+   "TARGET_DFP"
+   "ddiv %0,%1,%2"
+   [(set_attr "type" "fp")])
+ (define_insn "divtd3"
+-  [(set (match_operand:TD 0 "gpc_reg_operand" "=f")
+-      (div:TD (match_operand:TD 1 "gpc_reg_operand" "f")
+-              (match_operand:TD 2 "gpc_reg_operand" "f")))]
++  [(set (match_operand:TD 0 "gpc_reg_operand" "=d")
++      (div:TD (match_operand:TD 1 "gpc_reg_operand" "d")
++              (match_operand:TD 2 "gpc_reg_operand" "d")))]
+   "TARGET_DFP"
+   "ddivq %0,%1,%2"
+   [(set_attr "type" "fp")])
+ (define_insn "*cmpdd_internal1"
+   [(set (match_operand:CCFP 0 "cc_reg_operand" "=y")
+-      (compare:CCFP (match_operand:DD 1 "gpc_reg_operand" "f")
+-                    (match_operand:DD 2 "gpc_reg_operand" "f")))]
++      (compare:CCFP (match_operand:DD 1 "gpc_reg_operand" "d")
++                    (match_operand:DD 2 "gpc_reg_operand" "d")))]
+   "TARGET_DFP"
+   "dcmpu %0,%1,%2"
+   [(set_attr "type" "fpcompare")])
+ (define_insn "*cmptd_internal1"
+   [(set (match_operand:CCFP 0 "cc_reg_operand" "=y")
+-      (compare:CCFP (match_operand:TD 1 "gpc_reg_operand" "f")
+-                    (match_operand:TD 2 "gpc_reg_operand" "f")))]
++      (compare:CCFP (match_operand:TD 1 "gpc_reg_operand" "d")
++                    (match_operand:TD 2 "gpc_reg_operand" "d")))]
+   "TARGET_DFP"
+   "dcmpuq %0,%1,%2"
+   [(set_attr "type" "fpcompare")])
+ (define_insn "floatditd2"
+-  [(set (match_operand:TD 0 "gpc_reg_operand" "=f")
+-      (float:TD (match_operand:DI 1 "gpc_reg_operand" "f")))]
++  [(set (match_operand:TD 0 "gpc_reg_operand" "=d")
++      (float:TD (match_operand:DI 1 "gpc_reg_operand" "d")))]
+   "TARGET_DFP"
+   "dcffixq %0,%1"
+   [(set_attr "type" "fp")])
+@@ -650,8 +650,8 @@
+ ;; This is the first stage of converting it to an integer type.
+ (define_insn "ftruncdd2"
+-  [(set (match_operand:DD 0 "gpc_reg_operand" "=f")
+-      (fix:DD (match_operand:DD 1 "gpc_reg_operand" "f")))]
++  [(set (match_operand:DD 0 "gpc_reg_operand" "=d")
++      (fix:DD (match_operand:DD 1 "gpc_reg_operand" "d")))]
+   "TARGET_DFP"
+   "drintn. 0,%0,%1,1"
+   [(set_attr "type" "fp")])
+@@ -660,8 +660,8 @@
+ ;; This is the second stage of converting decimal float to integer type.
+ (define_insn "fixdddi2"
+-  [(set (match_operand:DI 0 "gpc_reg_operand" "=f")
+-      (fix:DI (match_operand:DD 1 "gpc_reg_operand" "f")))]
++  [(set (match_operand:DI 0 "gpc_reg_operand" "=d")
++      (fix:DI (match_operand:DD 1 "gpc_reg_operand" "d")))]
+   "TARGET_DFP"
+   "dctfix %0,%1"
+   [(set_attr "type" "fp")])
+@@ -670,8 +670,8 @@
+ ;; This is the first stage of converting it to an integer type.
+ (define_insn "ftrunctd2"
+-  [(set (match_operand:TD 0 "gpc_reg_operand" "=f")
+-      (fix:TD (match_operand:TD 1 "gpc_reg_operand" "f")))]
++  [(set (match_operand:TD 0 "gpc_reg_operand" "=d")
++      (fix:TD (match_operand:TD 1 "gpc_reg_operand" "d")))]
+   "TARGET_DFP"
+   "drintnq. 0,%0,%1,1"
+   [(set_attr "type" "fp")])
+@@ -680,8 +680,8 @@
+ ;; This is the second stage of converting decimal float to integer type.
+ (define_insn "fixtddi2"
+-  [(set (match_operand:DI 0 "gpc_reg_operand" "=f")
+-      (fix:DI (match_operand:TD 1 "gpc_reg_operand" "f")))]
++  [(set (match_operand:DI 0 "gpc_reg_operand" "=d")
++      (fix:DI (match_operand:TD 1 "gpc_reg_operand" "d")))]
+   "TARGET_DFP"
+   "dctfixq %0,%1"
+   [(set_attr "type" "fp")])
+Index: gcc-4.4.1/gcc/config/rs6000/rs6000.md
+===================================================================
+--- gcc-4.4.1.orig/gcc/config/rs6000/rs6000.md 2009-10-06 14:09:04.737313663 -0700
++++ gcc-4.4.1/gcc/config/rs6000/rs6000.md      2009-10-06 14:09:12.087313658 -0700
+@@ -5119,7 +5119,7 @@
+   "")
+ (define_insn_and_split "*extendsfdf2_fpr"
+-  [(set (match_operand:DF 0 "gpc_reg_operand" "=f,?f,f")
++  [(set (match_operand:DF 0 "gpc_reg_operand" "=d,?d,d")
+       (float_extend:DF (match_operand:SF 1 "reg_or_mem_operand" "0,f,m")))]
+   "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT"
+   "@
+@@ -5142,7 +5142,7 @@
+ (define_insn "*truncdfsf2_fpr"
+   [(set (match_operand:SF 0 "gpc_reg_operand" "=f")
+-      (float_truncate:SF (match_operand:DF 1 "gpc_reg_operand" "f")))]
++      (float_truncate:SF (match_operand:DF 1 "gpc_reg_operand" "d")))]
+   "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT"
+   "frsp %0,%1"
+   [(set_attr "type" "fp")])
+@@ -5616,7 +5616,7 @@
+ (define_insn "*fseldfsf4"
+   [(set (match_operand:SF 0 "gpc_reg_operand" "=f")
+-      (if_then_else:SF (ge (match_operand:DF 1 "gpc_reg_operand" "f")
++      (if_then_else:SF (ge (match_operand:DF 1 "gpc_reg_operand" "d")
+                            (match_operand:DF 4 "zero_fp_constant" "F"))
+                        (match_operand:SF 2 "gpc_reg_operand" "f")
+                        (match_operand:SF 3 "gpc_reg_operand" "f")))]
+@@ -5631,8 +5631,8 @@
+   "")
+ (define_insn "*negdf2_fpr"
+-  [(set (match_operand:DF 0 "gpc_reg_operand" "=f")
+-      (neg:DF (match_operand:DF 1 "gpc_reg_operand" "f")))]
++  [(set (match_operand:DF 0 "gpc_reg_operand" "=d")
++      (neg:DF (match_operand:DF 1 "gpc_reg_operand" "d")))]
+   "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT"
+   "fneg %0,%1"
+   [(set_attr "type" "fp")])
+@@ -5644,15 +5644,15 @@
+   "")
+ (define_insn "*absdf2_fpr"
+-  [(set (match_operand:DF 0 "gpc_reg_operand" "=f")
+-      (abs:DF (match_operand:DF 1 "gpc_reg_operand" "f")))]
++  [(set (match_operand:DF 0 "gpc_reg_operand" "=d")
++      (abs:DF (match_operand:DF 1 "gpc_reg_operand" "d")))]
+   "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT"
+   "fabs %0,%1"
+   [(set_attr "type" "fp")])
+ (define_insn "*nabsdf2_fpr"
+-  [(set (match_operand:DF 0 "gpc_reg_operand" "=f")
+-      (neg:DF (abs:DF (match_operand:DF 1 "gpc_reg_operand" "f"))))]
++  [(set (match_operand:DF 0 "gpc_reg_operand" "=d")
++      (neg:DF (abs:DF (match_operand:DF 1 "gpc_reg_operand" "d"))))]
+   "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT"
+   "fnabs %0,%1"
+   [(set_attr "type" "fp")])
+@@ -5665,9 +5665,9 @@
+   "")
+ (define_insn "*adddf3_fpr"
+-  [(set (match_operand:DF 0 "gpc_reg_operand" "=f")
+-      (plus:DF (match_operand:DF 1 "gpc_reg_operand" "%f")
+-               (match_operand:DF 2 "gpc_reg_operand" "f")))]
++  [(set (match_operand:DF 0 "gpc_reg_operand" "=d")
++      (plus:DF (match_operand:DF 1 "gpc_reg_operand" "%d")
++               (match_operand:DF 2 "gpc_reg_operand" "d")))]
+   "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT"
+   "{fa|fadd} %0,%1,%2"
+   [(set_attr "type" "fp")
+@@ -5681,9 +5681,9 @@
+   "")
+ (define_insn "*subdf3_fpr"
+-  [(set (match_operand:DF 0 "gpc_reg_operand" "=f")
+-      (minus:DF (match_operand:DF 1 "gpc_reg_operand" "f")
+-                (match_operand:DF 2 "gpc_reg_operand" "f")))]
++  [(set (match_operand:DF 0 "gpc_reg_operand" "=d")
++      (minus:DF (match_operand:DF 1 "gpc_reg_operand" "d")
++                (match_operand:DF 2 "gpc_reg_operand" "d")))]
+   "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT"
+   "{fs|fsub} %0,%1,%2"
+   [(set_attr "type" "fp")
+@@ -5697,9 +5697,9 @@
+   "")
+ (define_insn "*muldf3_fpr"
+-  [(set (match_operand:DF 0 "gpc_reg_operand" "=f")
+-      (mult:DF (match_operand:DF 1 "gpc_reg_operand" "%f")
+-               (match_operand:DF 2 "gpc_reg_operand" "f")))]
++  [(set (match_operand:DF 0 "gpc_reg_operand" "=d")
++      (mult:DF (match_operand:DF 1 "gpc_reg_operand" "%d")
++               (match_operand:DF 2 "gpc_reg_operand" "d")))]
+   "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT"
+   "{fm|fmul} %0,%1,%2"
+   [(set_attr "type" "dmul")
+@@ -5715,17 +5715,17 @@
+   "")
+ (define_insn "*divdf3_fpr"
+-  [(set (match_operand:DF 0 "gpc_reg_operand" "=f")
+-      (div:DF (match_operand:DF 1 "gpc_reg_operand" "f")
+-              (match_operand:DF 2 "gpc_reg_operand" "f")))]
++  [(set (match_operand:DF 0 "gpc_reg_operand" "=d")
++      (div:DF (match_operand:DF 1 "gpc_reg_operand" "d")
++              (match_operand:DF 2 "gpc_reg_operand" "d")))]
+   "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT && !TARGET_SIMPLE_FPU"
+   "{fd|fdiv} %0,%1,%2"
+   [(set_attr "type" "ddiv")])
+ (define_expand "recipdf3"
+-  [(set (match_operand:DF 0 "gpc_reg_operand" "=f")
+-      (unspec:DF [(match_operand:DF 1 "gpc_reg_operand" "f")
+-                  (match_operand:DF 2 "gpc_reg_operand" "f")]
++  [(set (match_operand:DF 0 "gpc_reg_operand" "=d")
++      (unspec:DF [(match_operand:DF 1 "gpc_reg_operand" "d")
++                  (match_operand:DF 2 "gpc_reg_operand" "d")]
+                  UNSPEC_FRES))]
+   "TARGET_RECIP && TARGET_HARD_FLOAT && TARGET_POPCNTB && !optimize_size
+    && flag_finite_math_only && !flag_trapping_math"
+@@ -5735,37 +5735,37 @@
+ })
+ (define_insn "fred"
+-  [(set (match_operand:DF 0 "gpc_reg_operand" "=f")
+-      (unspec:DF [(match_operand:DF 1 "gpc_reg_operand" "f")] UNSPEC_FRES))]
++  [(set (match_operand:DF 0 "gpc_reg_operand" "=d")
++      (unspec:DF [(match_operand:DF 1 "gpc_reg_operand" "d")] UNSPEC_FRES))]
+   "TARGET_POPCNTB && flag_finite_math_only"
+   "fre %0,%1"
+   [(set_attr "type" "fp")])
+ (define_insn ""
+-  [(set (match_operand:DF 0 "gpc_reg_operand" "=f")
+-      (plus:DF (mult:DF (match_operand:DF 1 "gpc_reg_operand" "%f")
+-                        (match_operand:DF 2 "gpc_reg_operand" "f"))
+-               (match_operand:DF 3 "gpc_reg_operand" "f")))]
++  [(set (match_operand:DF 0 "gpc_reg_operand" "=d")
++      (plus:DF (mult:DF (match_operand:DF 1 "gpc_reg_operand" "%d")
++                        (match_operand:DF 2 "gpc_reg_operand" "d"))
++               (match_operand:DF 3 "gpc_reg_operand" "d")))]
+   "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_FUSED_MADD && TARGET_DOUBLE_FLOAT"
+   "{fma|fmadd} %0,%1,%2,%3"
+   [(set_attr "type" "dmul")
+    (set_attr "fp_type" "fp_maddsub_d")])
+ (define_insn ""
+-  [(set (match_operand:DF 0 "gpc_reg_operand" "=f")
+-      (minus:DF (mult:DF (match_operand:DF 1 "gpc_reg_operand" "%f")
+-                         (match_operand:DF 2 "gpc_reg_operand" "f"))
+-                (match_operand:DF 3 "gpc_reg_operand" "f")))]
++  [(set (match_operand:DF 0 "gpc_reg_operand" "=d")
++      (minus:DF (mult:DF (match_operand:DF 1 "gpc_reg_operand" "%d")
++                         (match_operand:DF 2 "gpc_reg_operand" "d"))
++                (match_operand:DF 3 "gpc_reg_operand" "d")))]
+   "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_FUSED_MADD && TARGET_DOUBLE_FLOAT"
+   "{fms|fmsub} %0,%1,%2,%3"
+   [(set_attr "type" "dmul")
+    (set_attr "fp_type" "fp_maddsub_d")])
+ (define_insn ""
+-  [(set (match_operand:DF 0 "gpc_reg_operand" "=f")
+-      (neg:DF (plus:DF (mult:DF (match_operand:DF 1 "gpc_reg_operand" "%f")
+-                                (match_operand:DF 2 "gpc_reg_operand" "f"))
+-                       (match_operand:DF 3 "gpc_reg_operand" "f"))))]
++  [(set (match_operand:DF 0 "gpc_reg_operand" "=d")
++      (neg:DF (plus:DF (mult:DF (match_operand:DF 1 "gpc_reg_operand" "%d")
++                                (match_operand:DF 2 "gpc_reg_operand" "d"))
++                       (match_operand:DF 3 "gpc_reg_operand" "d"))))]
+   "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_FUSED_MADD && TARGET_DOUBLE_FLOAT
+    && HONOR_SIGNED_ZEROS (DFmode)"
+   "{fnma|fnmadd} %0,%1,%2,%3"
+@@ -5773,10 +5773,10 @@
+    (set_attr "fp_type" "fp_maddsub_d")])
+ (define_insn ""
+-  [(set (match_operand:DF 0 "gpc_reg_operand" "=f")
+-      (minus:DF (mult:DF (neg:DF (match_operand:DF 1 "gpc_reg_operand" "f"))
+-                         (match_operand:DF 2 "gpc_reg_operand" "f"))
+-                (match_operand:DF 3 "gpc_reg_operand" "f")))]
++  [(set (match_operand:DF 0 "gpc_reg_operand" "=d")
++      (minus:DF (mult:DF (neg:DF (match_operand:DF 1 "gpc_reg_operand" "d"))
++                         (match_operand:DF 2 "gpc_reg_operand" "d"))
++                (match_operand:DF 3 "gpc_reg_operand" "d")))]
+   "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_FUSED_MADD && TARGET_DOUBLE_FLOAT
+    && ! HONOR_SIGNED_ZEROS (DFmode)"
+   "{fnma|fnmadd} %0,%1,%2,%3"
+@@ -5784,10 +5784,10 @@
+    (set_attr "fp_type" "fp_maddsub_d")])
+ (define_insn ""
+-  [(set (match_operand:DF 0 "gpc_reg_operand" "=f")
+-      (neg:DF (minus:DF (mult:DF (match_operand:DF 1 "gpc_reg_operand" "%f")
+-                                 (match_operand:DF 2 "gpc_reg_operand" "f"))
+-                        (match_operand:DF 3 "gpc_reg_operand" "f"))))]
++  [(set (match_operand:DF 0 "gpc_reg_operand" "=d")
++      (neg:DF (minus:DF (mult:DF (match_operand:DF 1 "gpc_reg_operand" "%d")
++                                 (match_operand:DF 2 "gpc_reg_operand" "d"))
++                        (match_operand:DF 3 "gpc_reg_operand" "d"))))]
+   "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_FUSED_MADD && TARGET_DOUBLE_FLOAT
+    && HONOR_SIGNED_ZEROS (DFmode)"
+   "{fnms|fnmsub} %0,%1,%2,%3"
+@@ -5795,10 +5795,10 @@
+    (set_attr "fp_type" "fp_maddsub_d")])
+ (define_insn ""
+-  [(set (match_operand:DF 0 "gpc_reg_operand" "=f")
+-      (minus:DF (match_operand:DF 3 "gpc_reg_operand" "f")
+-                (mult:DF (match_operand:DF 1 "gpc_reg_operand" "%f")
+-                         (match_operand:DF 2 "gpc_reg_operand" "f"))))]
++  [(set (match_operand:DF 0 "gpc_reg_operand" "=d")
++      (minus:DF (match_operand:DF 3 "gpc_reg_operand" "d")
++                (mult:DF (match_operand:DF 1 "gpc_reg_operand" "%d")
++                         (match_operand:DF 2 "gpc_reg_operand" "d"))))]
+   "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_FUSED_MADD && TARGET_DOUBLE_FLOAT
+    && ! HONOR_SIGNED_ZEROS (DFmode)"
+   "{fnms|fnmsub} %0,%1,%2,%3"
+@@ -5806,8 +5806,8 @@
+    (set_attr "fp_type" "fp_maddsub_d")])
+ (define_insn "sqrtdf2"
+-  [(set (match_operand:DF 0 "gpc_reg_operand" "=f")
+-      (sqrt:DF (match_operand:DF 1 "gpc_reg_operand" "f")))]
++  [(set (match_operand:DF 0 "gpc_reg_operand" "=d")
++      (sqrt:DF (match_operand:DF 1 "gpc_reg_operand" "d")))]
+   "(TARGET_PPC_GPOPT || TARGET_POWER2) && TARGET_HARD_FLOAT && TARGET_FPRS 
+    && TARGET_DOUBLE_FLOAT"
+   "fsqrt %0,%1"
+@@ -5865,21 +5865,21 @@
+ }")
+ (define_insn "*fseldfdf4"
+-  [(set (match_operand:DF 0 "gpc_reg_operand" "=f")
+-      (if_then_else:DF (ge (match_operand:DF 1 "gpc_reg_operand" "f")
++  [(set (match_operand:DF 0 "gpc_reg_operand" "=d")
++      (if_then_else:DF (ge (match_operand:DF 1 "gpc_reg_operand" "d")
+                            (match_operand:DF 4 "zero_fp_constant" "F"))
+-                       (match_operand:DF 2 "gpc_reg_operand" "f")
+-                       (match_operand:DF 3 "gpc_reg_operand" "f")))]
++                       (match_operand:DF 2 "gpc_reg_operand" "d")
++                       (match_operand:DF 3 "gpc_reg_operand" "d")))]
+   "TARGET_PPC_GFXOPT && TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT"
+   "fsel %0,%1,%2,%3"
+   [(set_attr "type" "fp")])
+ (define_insn "*fselsfdf4"
+-  [(set (match_operand:DF 0 "gpc_reg_operand" "=f")
++  [(set (match_operand:DF 0 "gpc_reg_operand" "=d")
+       (if_then_else:DF (ge (match_operand:SF 1 "gpc_reg_operand" "f")
+                            (match_operand:SF 4 "zero_fp_constant" "F"))
+-                       (match_operand:DF 2 "gpc_reg_operand" "f")
+-                       (match_operand:DF 3 "gpc_reg_operand" "f")))]
++                       (match_operand:DF 2 "gpc_reg_operand" "d")
++                       (match_operand:DF 3 "gpc_reg_operand" "d")))]
+   "TARGET_PPC_GFXOPT && TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT && TARGET_SINGLE_FLOAT"
+   "fsel %0,%1,%2,%3"
+   [(set_attr "type" "fp")])
+@@ -5935,12 +5935,12 @@
+ }")
+ (define_insn_and_split "*floatsidf2_internal"
+-  [(set (match_operand:DF 0 "gpc_reg_operand" "=&f")
++  [(set (match_operand:DF 0 "gpc_reg_operand" "=&d")
+       (float:DF (match_operand:SI 1 "gpc_reg_operand" "r")))
+    (use (match_operand:SI 2 "gpc_reg_operand" "r"))
+-   (use (match_operand:DF 3 "gpc_reg_operand" "f"))
++   (use (match_operand:DF 3 "gpc_reg_operand" "d"))
+    (clobber (match_operand:DF 4 "offsettable_mem_operand" "=o"))
+-   (clobber (match_operand:DF 5 "gpc_reg_operand" "=&f"))
++   (clobber (match_operand:DF 5 "gpc_reg_operand" "=&d"))
+    (clobber (match_operand:SI 6 "gpc_reg_operand" "=&r"))]
+   "! TARGET_POWERPC64 && TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT"
+   "#"
+@@ -6003,12 +6003,12 @@
+ }")
+ (define_insn_and_split "*floatunssidf2_internal"
+-  [(set (match_operand:DF 0 "gpc_reg_operand" "=&f")
++  [(set (match_operand:DF 0 "gpc_reg_operand" "=&d")
+       (unsigned_float:DF (match_operand:SI 1 "gpc_reg_operand" "r")))
+    (use (match_operand:SI 2 "gpc_reg_operand" "r"))
+-   (use (match_operand:DF 3 "gpc_reg_operand" "f"))
++   (use (match_operand:DF 3 "gpc_reg_operand" "d"))
+    (clobber (match_operand:DF 4 "offsettable_mem_operand" "=o"))
+-   (clobber (match_operand:DF 5 "gpc_reg_operand" "=&f"))]
++   (clobber (match_operand:DF 5 "gpc_reg_operand" "=&d"))]
+   "! TARGET_POWERPC64 && TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT"
+   "#"
+   "&& (can_create_pseudo_p () || offsettable_nonstrict_memref_p (operands[4]))"
+@@ -6072,8 +6072,8 @@
+ (define_insn_and_split "*fix_truncdfsi2_internal"
+   [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
+-      (fix:SI (match_operand:DF 1 "gpc_reg_operand" "f")))
+-   (clobber (match_operand:DI 2 "gpc_reg_operand" "=f"))
++      (fix:SI (match_operand:DF 1 "gpc_reg_operand" "d")))
++   (clobber (match_operand:DI 2 "gpc_reg_operand" "=d"))
+    (clobber (match_operand:DI 3 "offsettable_mem_operand" "=o"))]
+   "(TARGET_POWER2 || TARGET_POWERPC) && TARGET_HARD_FLOAT && TARGET_FPRS 
+    && TARGET_DOUBLE_FLOAT"
+@@ -6095,8 +6095,8 @@
+ (define_insn_and_split "fix_truncdfsi2_internal_gfxopt"
+   [(set (match_operand:SI 0 "memory_operand" "=Z")
+-      (fix:SI (match_operand:DF 1 "gpc_reg_operand" "f")))
+-   (clobber (match_operand:DI 2 "gpc_reg_operand" "=f"))]
++      (fix:SI (match_operand:DF 1 "gpc_reg_operand" "d")))
++   (clobber (match_operand:DI 2 "gpc_reg_operand" "=d"))]
+   "(TARGET_POWER2 || TARGET_POWERPC) && TARGET_HARD_FLOAT && TARGET_FPRS 
+    && TARGET_DOUBLE_FLOAT 
+    && TARGET_PPC_GFXOPT"
+@@ -6113,8 +6113,8 @@
+ (define_insn_and_split "fix_truncdfsi2_mfpgpr"
+   [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
+-      (fix:SI (match_operand:DF 1 "gpc_reg_operand" "f")))
+-   (clobber (match_operand:DI 2 "gpc_reg_operand" "=f"))
++      (fix:SI (match_operand:DF 1 "gpc_reg_operand" "d")))
++   (clobber (match_operand:DI 2 "gpc_reg_operand" "=d"))
+    (clobber (match_operand:DI 3 "gpc_reg_operand" "=r"))]
+   "TARGET_POWERPC64 && TARGET_MFPGPR && TARGET_HARD_FLOAT && TARGET_FPRS 
+    && TARGET_DOUBLE_FLOAT"
+@@ -6131,8 +6131,8 @@
+ ; because the first makes it clear that operand 0 is not live
+ ; before the instruction.
+ (define_insn "fctiwz"
+-  [(set (match_operand:DI 0 "gpc_reg_operand" "=f")
+-      (unspec:DI [(fix:SI (match_operand:DF 1 "gpc_reg_operand" "f"))]
++  [(set (match_operand:DI 0 "gpc_reg_operand" "=d")
++      (unspec:DI [(fix:SI (match_operand:DF 1 "gpc_reg_operand" "d"))]
+                  UNSPEC_FCTIWZ))]
+   "(TARGET_POWER2 || TARGET_POWERPC) && TARGET_HARD_FLOAT && TARGET_FPRS 
+    && TARGET_DOUBLE_FLOAT"
+@@ -6140,8 +6140,8 @@
+   [(set_attr "type" "fp")])
+ (define_insn "btruncdf2"
+-  [(set (match_operand:DF 0 "gpc_reg_operand" "=f")
+-      (unspec:DF [(match_operand:DF 1 "gpc_reg_operand" "f")] UNSPEC_FRIZ))]
++  [(set (match_operand:DF 0 "gpc_reg_operand" "=d")
++      (unspec:DF [(match_operand:DF 1 "gpc_reg_operand" "d")] UNSPEC_FRIZ))]
+   "TARGET_FPRND && TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT"
+   "friz %0,%1"
+   [(set_attr "type" "fp")])
+@@ -6154,8 +6154,8 @@
+   [(set_attr "type" "fp")])
+ (define_insn "ceildf2"
+-  [(set (match_operand:DF 0 "gpc_reg_operand" "=f")
+-      (unspec:DF [(match_operand:DF 1 "gpc_reg_operand" "f")] UNSPEC_FRIP))]
++  [(set (match_operand:DF 0 "gpc_reg_operand" "=d")
++      (unspec:DF [(match_operand:DF 1 "gpc_reg_operand" "d")] UNSPEC_FRIP))]
+   "TARGET_FPRND && TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT"
+   "frip %0,%1"
+   [(set_attr "type" "fp")])
+@@ -6168,8 +6168,8 @@
+   [(set_attr "type" "fp")])
+ (define_insn "floordf2"
+-  [(set (match_operand:DF 0 "gpc_reg_operand" "=f")
+-      (unspec:DF [(match_operand:DF 1 "gpc_reg_operand" "f")] UNSPEC_FRIM))]
++  [(set (match_operand:DF 0 "gpc_reg_operand" "=d")
++      (unspec:DF [(match_operand:DF 1 "gpc_reg_operand" "d")] UNSPEC_FRIM))]
+   "TARGET_FPRND && TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT"
+   "frim %0,%1"
+   [(set_attr "type" "fp")])
+@@ -6182,8 +6182,8 @@
+   [(set_attr "type" "fp")])
+ (define_insn "rounddf2"
+-  [(set (match_operand:DF 0 "gpc_reg_operand" "=f")
+-      (unspec:DF [(match_operand:DF 1 "gpc_reg_operand" "f")] UNSPEC_FRIN))]
++  [(set (match_operand:DF 0 "gpc_reg_operand" "=d")
++      (unspec:DF [(match_operand:DF 1 "gpc_reg_operand" "d")] UNSPEC_FRIN))]
+   "TARGET_FPRND && TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT"
+   "frin %0,%1"
+   [(set_attr "type" "fp")])
+@@ -6198,7 +6198,7 @@
+ ; An UNSPEC is used so we don't have to support SImode in FP registers.
+ (define_insn "stfiwx"
+   [(set (match_operand:SI 0 "memory_operand" "=Z")
+-      (unspec:SI [(match_operand:DI 1 "gpc_reg_operand" "f")]
++      (unspec:SI [(match_operand:DI 1 "gpc_reg_operand" "d")]
+                  UNSPEC_STFIWX))]
+   "TARGET_PPC_GFXOPT"
+   "stfiwx %1,%y0"
+@@ -6211,15 +6211,15 @@
+   "")
+ (define_insn "floatdidf2"
+-  [(set (match_operand:DF 0 "gpc_reg_operand" "=f")
+-      (float:DF (match_operand:DI 1 "gpc_reg_operand" "!f#r")))]
++  [(set (match_operand:DF 0 "gpc_reg_operand" "=d")
++      (float:DF (match_operand:DI 1 "gpc_reg_operand" "!d#r")))]
+   "(TARGET_POWERPC64 || TARGET_XILINX_FPU) && TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT && TARGET_FPRS"
+   "fcfid %0,%1"
+   [(set_attr "type" "fp")])
+ (define_insn "fix_truncdfdi2"
+-  [(set (match_operand:DI 0 "gpc_reg_operand" "=!f#r")
+-      (fix:DI (match_operand:DF 1 "gpc_reg_operand" "f")))]
++  [(set (match_operand:DI 0 "gpc_reg_operand" "=!d#r")
++      (fix:DI (match_operand:DF 1 "gpc_reg_operand" "d")))]
+   "(TARGET_POWERPC64 || TARGET_XILINX_FPU) && TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT && TARGET_FPRS"
+   "fctidz %0,%1"
+   [(set_attr "type" "fp")])
+@@ -6247,8 +6247,8 @@
+ ;; from double rounding.
+ (define_insn_and_split "floatdisf2_internal1"
+   [(set (match_operand:SF 0 "gpc_reg_operand" "=f")
+-        (float:SF (match_operand:DI 1 "gpc_reg_operand" "!f#r")))
+-   (clobber (match_scratch:DF 2 "=f"))]
++        (float:SF (match_operand:DI 1 "gpc_reg_operand" "!d#r")))
++   (clobber (match_scratch:DF 2 "=d"))]
+   "TARGET_POWERPC64 && TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_SINGLE_FLOAT"
+   "#"
+   "&& reload_completed"
+@@ -8497,8 +8497,8 @@
+ ;; The "??" is a kludge until we can figure out a more reasonable way
+ ;; of handling these non-offsettable values.
+ (define_insn "*movdf_hardfloat32"
+-  [(set (match_operand:DF 0 "nonimmediate_operand" "=!r,??r,m,f,f,m,!r,!r,!r")
+-      (match_operand:DF 1 "input_operand" "r,m,r,f,m,f,G,H,F"))]
++  [(set (match_operand:DF 0 "nonimmediate_operand" "=!r,??r,m,d,d,m,!r,!r,!r")
++      (match_operand:DF 1 "input_operand" "r,m,r,d,m,d,G,H,F"))]
+   "! TARGET_POWERPC64 && TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT 
+    && (gpc_reg_operand (operands[0], DFmode)
+        || gpc_reg_operand (operands[1], DFmode))"
+@@ -8637,8 +8637,8 @@
+ ; ld/std require word-aligned displacements -> 'Y' constraint.
+ ; List Y->r and r->Y before r->r for reload.
+ (define_insn "*movdf_hardfloat64_mfpgpr"
+-  [(set (match_operand:DF 0 "nonimmediate_operand" "=Y,r,!r,f,f,m,*c*l,!r,*h,!r,!r,!r,r,f")
+-      (match_operand:DF 1 "input_operand" "r,Y,r,f,m,f,r,h,0,G,H,F,f,r"))]
++  [(set (match_operand:DF 0 "nonimmediate_operand" "=Y,r,!r,d,d,m,*c*l,!r,*h,!r,!r,!r,r,d")
++      (match_operand:DF 1 "input_operand" "r,Y,r,d,m,d,r,h,0,G,H,F,d,r"))]
+   "TARGET_POWERPC64 && TARGET_MFPGPR && TARGET_HARD_FLOAT && TARGET_FPRS 
+    && TARGET_DOUBLE_FLOAT 
+    && (gpc_reg_operand (operands[0], DFmode)
+@@ -8664,8 +8664,8 @@
+ ; ld/std require word-aligned displacements -> 'Y' constraint.
+ ; List Y->r and r->Y before r->r for reload.
+ (define_insn "*movdf_hardfloat64"
+-  [(set (match_operand:DF 0 "nonimmediate_operand" "=Y,r,!r,f,f,m,*c*l,!r,*h,!r,!r,!r")
+-      (match_operand:DF 1 "input_operand" "r,Y,r,f,m,f,r,h,0,G,H,F"))]
++  [(set (match_operand:DF 0 "nonimmediate_operand" "=Y,r,!r,d,d,m,*c*l,!r,*h,!r,!r,!r")
++      (match_operand:DF 1 "input_operand" "r,Y,r,d,m,d,r,h,0,G,H,F"))]
+   "TARGET_POWERPC64 && !TARGET_MFPGPR && TARGET_HARD_FLOAT && TARGET_FPRS 
+    && TARGET_DOUBLE_FLOAT 
+    && (gpc_reg_operand (operands[0], DFmode)
+@@ -8715,8 +8715,8 @@
+ ; otherwise reload, given m->f, will try to pick f->f and reload it,
+ ; which doesn't make progress.  Likewise r->Y must be before r->r.
+ (define_insn_and_split "*movtf_internal"
+-  [(set (match_operand:TF 0 "nonimmediate_operand" "=o,f,f,r,Y,r")
+-      (match_operand:TF 1 "input_operand"         "f,o,f,YGHF,r,r"))]
++  [(set (match_operand:TF 0 "nonimmediate_operand" "=o,d,d,r,Y,r")
++      (match_operand:TF 1 "input_operand"         "d,o,d,YGHF,r,r"))]
+   "!TARGET_IEEEQUAD
+    && TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_LONG_DOUBLE_128
+    && (gpc_reg_operand (operands[0], TFmode)
+@@ -8770,9 +8770,9 @@
+ })
+ (define_insn_and_split "*extenddftf2_internal"
+-  [(set (match_operand:TF 0 "nonimmediate_operand" "=o,f,&f,r")
+-       (float_extend:TF (match_operand:DF 1 "input_operand" "fr,mf,mf,rmGHF")))
+-   (use (match_operand:DF 2 "zero_reg_mem_operand" "rf,m,f,n"))]
++  [(set (match_operand:TF 0 "nonimmediate_operand" "=o,d,&d,r")
++       (float_extend:TF (match_operand:DF 1 "input_operand" "dr,md,md,rmGHF")))
++   (use (match_operand:DF 2 "zero_reg_mem_operand" "rd,m,d,n"))]
+   "!TARGET_IEEEQUAD
+    && TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT 
+    && TARGET_LONG_DOUBLE_128"
+@@ -8813,8 +8813,8 @@
+   "")
+ (define_insn_and_split "trunctfdf2_internal1"
+-  [(set (match_operand:DF 0 "gpc_reg_operand" "=f,?f")
+-      (float_truncate:DF (match_operand:TF 1 "gpc_reg_operand" "0,f")))]
++  [(set (match_operand:DF 0 "gpc_reg_operand" "=d,?d")
++      (float_truncate:DF (match_operand:TF 1 "gpc_reg_operand" "0,d")))]
+   "!TARGET_IEEEQUAD && !TARGET_XL_COMPAT
+    && TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_LONG_DOUBLE_128"
+   "@
+@@ -8829,8 +8829,8 @@
+   [(set_attr "type" "fp")])
+ (define_insn "trunctfdf2_internal2"
+-  [(set (match_operand:DF 0 "gpc_reg_operand" "=f")
+-      (float_truncate:DF (match_operand:TF 1 "gpc_reg_operand" "f")))]
++  [(set (match_operand:DF 0 "gpc_reg_operand" "=d")
++      (float_truncate:DF (match_operand:TF 1 "gpc_reg_operand" "d")))]
+   "!TARGET_IEEEQUAD && TARGET_XL_COMPAT
+    && TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT 
+    && TARGET_LONG_DOUBLE_128"
+@@ -8855,8 +8855,8 @@
+ (define_insn_and_split "trunctfsf2_fprs"
+   [(set (match_operand:SF 0 "gpc_reg_operand" "=f")
+-      (float_truncate:SF (match_operand:TF 1 "gpc_reg_operand" "f")))
+-   (clobber (match_scratch:DF 2 "=f"))]
++      (float_truncate:SF (match_operand:TF 1 "gpc_reg_operand" "d")))
++   (clobber (match_scratch:DF 2 "=d"))]
+   "!TARGET_IEEEQUAD
+    && TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_SINGLE_FLOAT 
+    && TARGET_LONG_DOUBLE_128"
+@@ -8885,10 +8885,10 @@
+ ; fadd, but rounding towards zero.
+ ; This is probably not the optimal code sequence.
+ (define_insn "fix_trunc_helper"
+-  [(set (match_operand:DF 0 "gpc_reg_operand" "=f")
+-      (unspec:DF [(match_operand:TF 1 "gpc_reg_operand" "f")]
++  [(set (match_operand:DF 0 "gpc_reg_operand" "=d")
++      (unspec:DF [(match_operand:TF 1 "gpc_reg_operand" "d")]
+                  UNSPEC_FIX_TRUNC_TF))
+-   (clobber (match_operand:DF 2 "gpc_reg_operand" "=&f"))]
++   (clobber (match_operand:DF 2 "gpc_reg_operand" "=&d"))]
+   "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT"
+   "mffs %2\n\tmtfsb1 31\n\tmtfsb0 30\n\tfadd %0,%1,%L1\n\tmtfsf 1,%2"
+   [(set_attr "type" "fp")
+@@ -8929,10 +8929,10 @@
+ (define_insn_and_split "*fix_trunctfsi2_internal"
+   [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
+-        (fix:SI (match_operand:TF 1 "gpc_reg_operand" "f")))
+-   (clobber (match_operand:DF 2 "gpc_reg_operand" "=f"))
+-   (clobber (match_operand:DF 3 "gpc_reg_operand" "=&f"))
+-   (clobber (match_operand:DI 4 "gpc_reg_operand" "=f"))
++        (fix:SI (match_operand:TF 1 "gpc_reg_operand" "d")))
++   (clobber (match_operand:DF 2 "gpc_reg_operand" "=d"))
++   (clobber (match_operand:DF 3 "gpc_reg_operand" "=&d"))
++   (clobber (match_operand:DI 4 "gpc_reg_operand" "=d"))
+    (clobber (match_operand:DI 5 "offsettable_mem_operand" "=o"))]
+   "!TARGET_IEEEQUAD
+    && TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_LONG_DOUBLE_128"
+@@ -8962,8 +8962,8 @@
+   "")
+ (define_insn "negtf2_internal"
+-  [(set (match_operand:TF 0 "gpc_reg_operand" "=f")
+-      (neg:TF (match_operand:TF 1 "gpc_reg_operand" "f")))]
++  [(set (match_operand:TF 0 "gpc_reg_operand" "=d")
++      (neg:TF (match_operand:TF 1 "gpc_reg_operand" "d")))]
+   "!TARGET_IEEEQUAD
+    && TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_LONG_DOUBLE_128"
+   "*
+@@ -9028,8 +9028,8 @@
+ ; List r->r after r->"o<>", otherwise reload will try to reload a
+ ; non-offsettable address by using r->r which won't make progress.
+ (define_insn "*movdi_internal32"
+-  [(set (match_operand:DI 0 "rs6000_nonimmediate_operand" "=o<>,r,r,*f,*f,m,r")
+-      (match_operand:DI 1 "input_operand" "r,r,m,f,m,f,IJKnGHF"))]
++  [(set (match_operand:DI 0 "rs6000_nonimmediate_operand" "=o<>,r,r,*d,*d,m,r")
++      (match_operand:DI 1 "input_operand" "r,r,m,d,m,d,IJKnGHF"))]
+   "! TARGET_POWERPC64
+    && (gpc_reg_operand (operands[0], DImode)
+        || gpc_reg_operand (operands[1], DImode))"
+@@ -9073,8 +9073,8 @@
+ { rs6000_split_multireg_move (operands[0], operands[1]); DONE; })
+ (define_insn "*movdi_mfpgpr"
+-  [(set (match_operand:DI 0 "nonimmediate_operand" "=r,r,m,r,r,r,r,*f,*f,m,r,*h,*h,r,*f")
+-      (match_operand:DI 1 "input_operand" "r,m,r,I,L,nF,R,f,m,f,*h,r,0,*f,r"))]
++  [(set (match_operand:DI 0 "nonimmediate_operand" "=r,r,m,r,r,r,r,*d,*d,m,r,*h,*h,r,*d")
++      (match_operand:DI 1 "input_operand" "r,m,r,I,L,nF,R,d,m,d,*h,r,0,*d,r"))]
+   "TARGET_POWERPC64 && TARGET_MFPGPR && TARGET_HARD_FLOAT && TARGET_FPRS
+    && (gpc_reg_operand (operands[0], DImode)
+        || gpc_reg_operand (operands[1], DImode))"
+@@ -9098,8 +9098,8 @@
+    (set_attr "length" "4,4,4,4,4,20,4,4,4,4,4,4,4,4,4")])
+ (define_insn "*movdi_internal64"
+-  [(set (match_operand:DI 0 "nonimmediate_operand" "=r,r,m,r,r,r,r,*f,*f,m,r,*h,*h")
+-      (match_operand:DI 1 "input_operand" "r,m,r,I,L,nF,R,f,m,f,*h,r,0"))]
++  [(set (match_operand:DI 0 "nonimmediate_operand" "=r,r,m,r,r,r,r,*d,*d,m,r,*h,*h")
++      (match_operand:DI 1 "input_operand" "r,m,r,I,L,nF,R,d,m,d,*h,r,0"))]
+   "TARGET_POWERPC64 && (!TARGET_MFPGPR || !TARGET_HARD_FLOAT || !TARGET_FPRS)
+    && (gpc_reg_operand (operands[0], DImode)
+        || gpc_reg_operand (operands[1], DImode))"
+@@ -10293,7 +10293,7 @@
+   [(set_attr "type" "store_ux,store_u")])
+ (define_insn "*movdf_update1"
+-  [(set (match_operand:DF 3 "gpc_reg_operand" "=f,f")
++  [(set (match_operand:DF 3 "gpc_reg_operand" "=d,d")
+       (mem:DF (plus:SI (match_operand:SI 1 "gpc_reg_operand" "0,0")
+                        (match_operand:SI 2 "reg_or_short_operand" "r,I"))))
+    (set (match_operand:SI 0 "gpc_reg_operand" "=b,b")
+@@ -10309,7 +10309,7 @@
+ (define_insn "*movdf_update2"
+   [(set (mem:DF (plus:SI (match_operand:SI 1 "gpc_reg_operand" "0,0")
+                        (match_operand:SI 2 "reg_or_short_operand" "r,I")))
+-      (match_operand:DF 3 "gpc_reg_operand" "f,f"))
++      (match_operand:DF 3 "gpc_reg_operand" "d,d"))
+    (set (match_operand:SI 0 "gpc_reg_operand" "=b,b")
+       (plus:SI (match_dup 1) (match_dup 2)))]
+   "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT && TARGET_UPDATE
+@@ -12237,8 +12237,8 @@
+ (define_insn "*cmpdf_internal1"
+   [(set (match_operand:CCFP 0 "cc_reg_operand" "=y")
+-      (compare:CCFP (match_operand:DF 1 "gpc_reg_operand" "f")
+-                    (match_operand:DF 2 "gpc_reg_operand" "f")))]
++      (compare:CCFP (match_operand:DF 1 "gpc_reg_operand" "d")
++                    (match_operand:DF 2 "gpc_reg_operand" "d")))]
+   "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT"
+   "fcmpu %0,%1,%2"
+   [(set_attr "type" "fpcompare")])
+@@ -12246,8 +12246,8 @@
+ ;; Only need to compare second words if first words equal
+ (define_insn "*cmptf_internal1"
+   [(set (match_operand:CCFP 0 "cc_reg_operand" "=y")
+-      (compare:CCFP (match_operand:TF 1 "gpc_reg_operand" "f")
+-                    (match_operand:TF 2 "gpc_reg_operand" "f")))]
++      (compare:CCFP (match_operand:TF 1 "gpc_reg_operand" "d")
++                    (match_operand:TF 2 "gpc_reg_operand" "d")))]
+   "!TARGET_IEEEQUAD && !TARGET_XL_COMPAT
+    && TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT && TARGET_LONG_DOUBLE_128"
+   "fcmpu %0,%1,%2\;bne %0,$+8\;fcmpu %0,%L1,%L2"
+@@ -12256,16 +12256,16 @@
+ (define_insn_and_split "*cmptf_internal2"
+   [(set (match_operand:CCFP 0 "cc_reg_operand" "=y")
+-      (compare:CCFP (match_operand:TF 1 "gpc_reg_operand" "f")
+-                    (match_operand:TF 2 "gpc_reg_operand" "f")))
+-    (clobber (match_scratch:DF 3 "=f"))
+-    (clobber (match_scratch:DF 4 "=f"))
+-    (clobber (match_scratch:DF 5 "=f"))
+-    (clobber (match_scratch:DF 6 "=f"))
+-    (clobber (match_scratch:DF 7 "=f"))
+-    (clobber (match_scratch:DF 8 "=f"))
+-    (clobber (match_scratch:DF 9 "=f"))
+-    (clobber (match_scratch:DF 10 "=f"))]
++      (compare:CCFP (match_operand:TF 1 "gpc_reg_operand" "d")
++                    (match_operand:TF 2 "gpc_reg_operand" "d")))
++    (clobber (match_scratch:DF 3 "=d"))
++    (clobber (match_scratch:DF 4 "=d"))
++    (clobber (match_scratch:DF 5 "=d"))
++    (clobber (match_scratch:DF 6 "=d"))
++    (clobber (match_scratch:DF 7 "=d"))
++    (clobber (match_scratch:DF 8 "=d"))
++    (clobber (match_scratch:DF 9 "=d"))
++    (clobber (match_scratch:DF 10 "=d"))]
+   "!TARGET_IEEEQUAD && TARGET_XL_COMPAT
+    && TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT && TARGET_LONG_DOUBLE_128"
+   "#"
+@@ -14741,7 +14741,7 @@
+                   (use (match_operand:P 1 "symbol_ref_operand" "s"))
+                     (use (match_operand:P 2 "gpc_reg_operand" "r"))
+                   (set (match_operand:DF 3 "memory_operand" "=m")
+-                       (match_operand:DF 4 "gpc_reg_operand" "f"))])]
++                       (match_operand:DF 4 "gpc_reg_operand" "d"))])]
+   ""
+   "bl %z1"
+   [(set_attr "type" "branch")
+@@ -14861,7 +14861,7 @@
+                  (clobber (match_operand:P 1 "register_operand" "=l"))
+                  (use (match_operand:P 2 "symbol_ref_operand" "s"))
+                    (use (match_operand:P 3 "gpc_reg_operand" "r"))
+-                 (set (match_operand:DF 4 "gpc_reg_operand" "=f")
++                 (set (match_operand:DF 4 "gpc_reg_operand" "=d")
+                       (match_operand:DF 5 "memory_operand" "m"))])]
+  ""
+  "b %z2"
+Index: gcc-4.4.1/gcc/config/rs6000/ppu_intrinsics.h
+===================================================================
+--- gcc-4.4.1.orig/gcc/config/rs6000/ppu_intrinsics.h  2009-10-06 14:08:35.837316319 -0700
++++ gcc-4.4.1/gcc/config/rs6000/ppu_intrinsics.h       2009-10-06 14:09:12.087313658 -0700
+@@ -385,11 +385,11 @@ typedef int __V4SI __attribute__((vector
+ #define __mffs() __extension__                        \
+   ({double result;                            \
+-  __asm__ volatile ("mffs %0" : "=f" (result)); \
++  __asm__ volatile ("mffs %0" : "=d" (result)); \
+   result; })
+ #define __mtfsf(mask,value) \
+-  __asm__ volatile ("mtfsf %0,%1" : : "n" (mask), "f" ((double) (value)))
++  __asm__ volatile ("mtfsf %0,%1" : : "n" (mask), "d" ((double) (value)))
+   
+ #define __mtfsfi(bits,field) \
+   __asm__ volatile ("mtfsfi %0,%1" : : "n" (bits), "n" (field))
+@@ -400,8 +400,8 @@ typedef int __V4SI __attribute__((vector
+ #define __setflm(v) __extension__           \
+   ({double result;                          \
+   __asm__ volatile ("mffs %0\n\tmtfsf 255,%1" \
+-                  : "=&f" (result)          \
+-                  : "f" ((double) (v)));    \
++                  : "=&d" (result)          \
++                  : "d" ((double) (v)));    \
+   result; })
+ /* __builtin_fabs may perform unnecessary rounding.  */
+@@ -416,7 +416,7 @@ static __inline__ double
+ __fabs(double x)
+ {
+   double r;
+-  __asm__("fabs %0,%1" : "=f"(r) : "f"(x));
++  __asm__("fabs %0,%1" : "=d"(r) : "d"(x));
+   return r;
+ }
+@@ -434,7 +434,7 @@ static __inline__ double
+ __fnabs(double x)
+ {
+   double r;
+-  __asm__("fnabs %0,%1" : "=f"(r) : "f"(x));
++  __asm__("fnabs %0,%1" : "=d"(r) : "d"(x));
+   return r;
+ }
+@@ -453,7 +453,7 @@ static __inline__ double
+ __fmadd(double x, double y, double z)
+ {
+   double r;
+-  __asm__("fmadd %0,%1,%2,%3" : "=f"(r) : "f"(x),"f"(y),"f"(z));
++  __asm__("fmadd %0,%1,%2,%3" : "=d"(r) : "d"(x),"d"(y),"d"(z));
+   return r;
+ }
+@@ -463,7 +463,7 @@ static __inline__ double
+ __fmsub(double x, double y, double z)
+ {
+   double r;
+-  __asm__("fmsub %0,%1,%2,%3" : "=f"(r) : "f"(x),"f"(y),"f"(z));
++  __asm__("fmsub %0,%1,%2,%3" : "=d"(r) : "d"(x),"d"(y),"d"(z));
+   return r;
+ }
+@@ -473,7 +473,7 @@ static __inline__ double
+ __fnmadd(double x, double y, double z)
+ {
+   double r;
+-  __asm__("fnmadd %0,%1,%2,%3" : "=f"(r) : "f"(x),"f"(y),"f"(z));
++  __asm__("fnmadd %0,%1,%2,%3" : "=d"(r) : "d"(x),"d"(y),"d"(z));
+   return r;
+ }
+@@ -483,7 +483,7 @@ static __inline__ double
+ __fnmsub(double x, double y, double z)
+ {
+   double r;
+-  __asm__("fnmsub %0,%1,%2,%3" : "=f"(r) : "f"(x),"f"(y),"f"(z));
++  __asm__("fnmsub %0,%1,%2,%3" : "=d"(r) : "d"(x),"d"(y),"d"(z));
+   return r;
+ }
+@@ -533,7 +533,7 @@ static __inline__ double
+ __fsel(double x, double y, double z)
+ {
+   double r;
+-  __asm__("fsel %0,%1,%2,%3" : "=f"(r) : "f"(x),"f"(y),"f"(z));
++  __asm__("fsel %0,%1,%2,%3" : "=d"(r) : "d"(x),"d"(y),"d"(z));
+   return r;
+ }
+@@ -552,7 +552,7 @@ static __inline__ double
+ __frsqrte(double x)
+ {
+   double r;
+-  __asm__("frsqrte %0,%1" : "=f" (r) : "f" (x));
++  __asm__("frsqrte %0,%1" : "=d" (r) : "d" (x));
+   return r;
+ }
+@@ -570,7 +570,7 @@ static __inline__ double
+ __fsqrt(double x)
+ {
+   double r;
+-  __asm__("fsqrt %0,%1" : "=f"(r) : "f"(x));
++  __asm__("fsqrt %0,%1" : "=d"(r) : "d"(x));
+   return r;
+ }
+@@ -588,7 +588,7 @@ static __inline__ double
+ __fmul(double a, double b)
+ {
+   double d;
+-  __asm__ ("fmul %0,%1,%2" : "=f" (d) : "f" (a), "f" (b));
++  __asm__ ("fmul %0,%1,%2" : "=d" (d) : "d" (a), "d" (b));
+   return d;
+ }
+@@ -597,7 +597,7 @@ static __inline__ float
+ __fmuls (float a, float b)
+ {
+   float d;
+-  __asm__ ("fmuls %0,%1,%2" : "=f" (d) : "f" (a), "f" (b));
++  __asm__ ("fmuls %0,%1,%2" : "=d" (d) : "f" (a), "f" (b));
+   return d;
+ }
+@@ -606,7 +606,7 @@ static __inline__ float
+ __frsp (float a)
+ {
+   float d;
+-  __asm__ ("frsp %0,%1" : "=f" (d) : "f" (a));
++  __asm__ ("frsp %0,%1" : "=d" (d) : "f" (a));
+   return d;
+ }
+@@ -615,7 +615,7 @@ static __inline__ double
+ __fcfid (long long a)
+ {
+   double d;
+-  __asm__ ("fcfid %0,%1" : "=f" (d) : "f" (a));
++  __asm__ ("fcfid %0,%1" : "=d" (d) : "d" (a));
+   return d;
+ }
+@@ -624,7 +624,7 @@ static __inline__ long long
+ __fctid (double a)
+ {
+   long long d;
+-  __asm__ ("fctid %0,%1" : "=f" (d) : "f" (a));
++  __asm__ ("fctid %0,%1" : "=d" (d) : "d" (a));
+   return d;
+ }
+@@ -633,7 +633,7 @@ static __inline__ long long
+ __fctidz (double a)
+ {
+   long long d;
+-  __asm__ ("fctidz %0,%1" : "=f" (d) : "f" (a));
++  __asm__ ("fctidz %0,%1" : "=d" (d) : "d" (a));
+   return d;
+ }
+@@ -642,7 +642,7 @@ static __inline__ int
+ __fctiw (double a)
+ {
+   unsigned long long d;
+-  __asm__ ("fctiw %0,%1" : "=f" (d) : "f" (a));
++  __asm__ ("fctiw %0,%1" : "=d" (d) : "d" (a));
+   return (int) d;
+ }
+@@ -651,7 +651,7 @@ static __inline__ int
+ __fctiwz (double a)
+ {
+   long long d;
+-  __asm__ ("fctiwz %0,%1" : "=f" (d) : "f" (a));
++  __asm__ ("fctiwz %0,%1" : "=d" (d) : "d" (a));
+   return (int) d;
+ }
diff --git a/recipes/gcc/gcc-4.4.1/gcc-ppc_single_precision_regs.patch b/recipes/gcc/gcc-4.4.1/gcc-ppc_single_precision_regs.patch
new file mode 100644 (file)
index 0000000..5b35d6e
--- /dev/null
@@ -0,0 +1,60 @@
+Index: gcc-4.4.1/gcc/config/rs6000/rs6000.c
+===================================================================
+--- gcc-4.4.1.orig/gcc/config/rs6000/rs6000.c  2009-10-06 13:51:50.427316302 -0700
++++ gcc-4.4.1/gcc/config/rs6000/rs6000.c       2009-10-06 14:09:04.737313663 -0700
+@@ -22580,7 +22580,8 @@ rs6000_function_value (const_tree valtyp
+   if (DECIMAL_FLOAT_MODE_P (mode) && TARGET_HARD_FLOAT && TARGET_FPRS)
+     /* _Decimal128 must use an even/odd register pair.  */
+     regno = (mode == TDmode) ? FP_ARG_RETURN + 1 : FP_ARG_RETURN;
+-  else if (SCALAR_FLOAT_TYPE_P (valtype) && TARGET_HARD_FLOAT && TARGET_FPRS)
++  else if (SCALAR_FLOAT_TYPE_P (valtype) && TARGET_HARD_FLOAT && TARGET_FPRS
++         && ((TARGET_SINGLE_FLOAT && (mode == SFmode)) || TARGET_DOUBLE_FLOAT))
+     regno = FP_ARG_RETURN;
+   else if (TREE_CODE (valtype) == COMPLEX_TYPE
+          && targetm.calls.split_complex_arg)
+Index: gcc-4.4.1/gcc/config/rs6000/rs6000.md
+===================================================================
+--- gcc-4.4.1.orig/gcc/config/rs6000/rs6000.md 2009-10-06 14:08:35.827340958 -0700
++++ gcc-4.4.1/gcc/config/rs6000/rs6000.md      2009-10-06 14:09:04.737313663 -0700
+@@ -8143,8 +8143,8 @@
+ (define_insn "*movsi_internal1"
+   [(set (match_operand:SI 0 "rs6000_nonimmediate_operand" "=r,r,r,m,r,r,r,r,r,*q,*c*l,*h,*h")
+       (match_operand:SI 1 "input_operand" "r,U,m,r,I,L,n,R,*h,r,r,r,0"))]
+-  "gpc_reg_operand (operands[0], SImode)
+-   || gpc_reg_operand (operands[1], SImode)"
++  "!TARGET_SINGLE_FPU &&
++   gpc_reg_operand (operands[0], SImode) || gpc_reg_operand (operands[1], SImode)"
+   "@
+    mr %0,%1
+    {cal|la} %0,%a1
+@@ -8162,6 +8162,30 @@
+   [(set_attr "type" "*,*,load,store,*,*,*,*,mfjmpr,*,mtjmpr,*,*")
+    (set_attr "length" "4,4,4,4,4,4,8,4,4,4,4,4,4")])
++(define_insn "*movsi_internal1_single"
++  [(set (match_operand:SI 0 "rs6000_nonimmediate_operand" "=r,r,r,m,r,r,r,r,r,*q,*c*l,*h,*h,m,*f")
++        (match_operand:SI 1 "input_operand" "r,U,m,r,I,L,n,R,*h,r,r,r,0,f,m"))]
++  "TARGET_SINGLE_FPU &&
++   gpc_reg_operand (operands[0], SImode) || gpc_reg_operand (operands[1], SImode)"
++  "@
++   mr %0,%1
++   {cal|la} %0,%a1
++   {l%U1%X1|lwz%U1%X1} %0,%1
++   {st%U0%X0|stw%U0%X0} %1,%0
++   {lil|li} %0,%1
++   {liu|lis} %0,%v1
++   #
++   {cal|la} %0,%a1
++   mf%1 %0
++   mt%0 %1
++   mt%0 %1
++   mt%0 %1
++   {cror 0,0,0|nop}
++   stfs%U0%X0 %1, %0
++   lfs%U1%X1 %0, %1"
++  [(set_attr "type" "*,*,load,store,*,*,*,*,mfjmpr,*,mtjmpr,*,*,*,*")
++   (set_attr "length" "4,4,4,4,4,4,8,4,4,4,4,4,4,4,4")])
++
+ ;; Split a load of a large constant into the appropriate two-insn
+ ;; sequence.
diff --git a/recipes/gcc/gcc-4.4.1/gcc-pr41175.patch b/recipes/gcc/gcc-4.4.1/gcc-pr41175.patch
new file mode 100644 (file)
index 0000000..10da543
--- /dev/null
@@ -0,0 +1,1172 @@
+Index: gcc-4.4.1/gcc/testsuite/gcc.target/powerpc/pr41175.c
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ gcc-4.4.1/gcc/testsuite/gcc.target/powerpc/pr41175.c       2009-10-06 14:09:19.757404626 -0700
+@@ -0,0 +1,461 @@
++/* PR target/41175 */
++/* { dg-do run } */
++/* { dg-options "-Os" } */
++
++#define X2(n) X1(n##0) X1(n##1)
++#define X4(n) X2(n##0) X2(n##1)
++#define X8(n) X4(n##0) X4(n##1)
++
++#ifndef __SPE__
++#define FLOAT_REG_CONSTRAINT "f"
++#else
++#define FLOAT_REG_CONSTRAINT "r"
++#endif
++
++volatile int ll;
++
++__attribute__((noinline)) void
++foo (void)
++{
++  asm volatile ("" : : : "memory");
++}
++
++__attribute__((noinline)) void
++bar (char *p)
++{
++  asm volatile ("" : : "r" (p) : "memory");
++}
++
++__attribute__((noinline)) void
++f1 (void)
++{
++  int mem;
++#undef X1
++#define X1(n) int gpr##n = 0;
++  X8(a) X8(b) X8(c)
++#undef X1
++#define X1(n) "+r" (gpr##n),
++  asm volatile ("" : X8(a) "=m" (mem) : : "memory");
++  asm volatile ("" : X8(b) "=m" (mem) : : "memory");
++  asm volatile ("" : X8(c) "=m" (mem) : : "memory");
++  foo ();
++#undef X1
++#define X1(n) "r" (gpr##n),
++  asm volatile ("" : : X8(a) "m" (mem) : "memory");
++  asm volatile ("" : : X8(b) "m" (mem) : "memory");
++  asm volatile ("" : : X8(c) "m" (mem) : "memory");
++}
++
++__attribute__((noinline)) void
++f2 (void)
++{
++  int mem;
++#undef X1
++#define X1(n) int gpr##n = 0;
++  X8(a) X8(b) X8(c)
++#undef X1
++#define X1(n) "+r" (gpr##n),
++  asm volatile ("" : X8(a) "=m" (mem) : : "memory");
++  asm volatile ("" : X8(b) "=m" (mem) : : "memory");
++  asm volatile ("" : X8(c) "=m" (mem) : : "memory");
++  char *pp = __builtin_alloca (ll);
++  bar (pp);
++#undef X1
++#define X1(n) "r" (gpr##n),
++  asm volatile ("" : : X8(a) "m" (mem) : "memory");
++  asm volatile ("" : : X8(b) "m" (mem) : "memory");
++  asm volatile ("" : : X8(c) "m" (mem) : "memory");
++}
++
++__attribute__((noinline)) void
++f3 (void)
++{
++  int mem;
++#undef X1
++#define X1(n) int gpr##n = 0;
++  X8(a) X8(b) X8(c)
++#undef X1
++#define X1(n) "+r" (gpr##n),
++  asm volatile ("" : X8(a) "=m" (mem) : : "memory");
++  asm volatile ("" : X8(b) "=m" (mem) : : "memory");
++  asm volatile ("" : X8(c) "=m" (mem) : : "memory");
++#undef X1
++#define X1(n) "r" (gpr##n),
++  asm volatile ("" : : X8(a) "m" (mem) : "memory");
++  asm volatile ("" : : X8(b) "m" (mem) : "memory");
++  asm volatile ("" : : X8(c) "m" (mem) : "memory");
++}
++
++#ifndef __NO_FPRS__
++__attribute__((noinline)) void
++f4 (void)
++{
++  int mem;
++#undef X1
++#define X1(n) int gpr##n = 0;
++  X8(a) X8(b) X8(c)
++#undef X1
++#define X1(n) double fpr##n = 0.0;
++  X4(d)
++#undef X1
++#define X1(n) "+r" (gpr##n),
++  asm volatile ("" : X8(a) "=m" (mem) : : "memory");
++  asm volatile ("" : X8(b) "=m" (mem) : : "memory");
++  asm volatile ("" : X8(c) "=m" (mem) : : "memory");
++#undef X1
++#define X1(n) "+" FLOAT_REG_CONSTRAINT (fpr##n),
++  asm volatile ("" : X4(d) "=m" (mem) : : "memory");
++  foo ();
++#undef X1
++#define X1(n) "r" (gpr##n),
++  asm volatile ("" : : X8(a) "m" (mem) : "memory");
++  asm volatile ("" : : X8(b) "m" (mem) : "memory");
++  asm volatile ("" : : X8(c) "m" (mem) : "memory");
++#undef X1
++#define X1(n) FLOAT_REG_CONSTRAINT (fpr##n),
++  asm volatile ("" : : X4(d) "m" (mem) : "memory");
++}
++
++__attribute__((noinline)) void
++f5 (void)
++{
++  int mem;
++#undef X1
++#define X1(n) int gpr##n = 0;
++  X8(a) X8(b) X8(c)
++#undef X1
++#define X1(n) double fpr##n = 0.0;
++  X4(d)
++#undef X1
++#define X1(n) "+r" (gpr##n),
++  asm volatile ("" : X8(a) "=m" (mem) : : "memory");
++  asm volatile ("" : X8(b) "=m" (mem) : : "memory");
++  asm volatile ("" : X8(c) "=m" (mem) : : "memory");
++#undef X1
++#define X1(n) "+" FLOAT_REG_CONSTRAINT (fpr##n),
++  asm volatile ("" : X4(d) "=m" (mem) : : "memory");
++  char *pp = __builtin_alloca (ll);
++  bar (pp);
++#undef X1
++#define X1(n) "r" (gpr##n),
++  asm volatile ("" : : X8(a) "m" (mem) : "memory");
++  asm volatile ("" : : X8(b) "m" (mem) : "memory");
++  asm volatile ("" : : X8(c) "m" (mem) : "memory");
++#undef X1
++#define X1(n) FLOAT_REG_CONSTRAINT (fpr##n),
++  asm volatile ("" : : X4(d) "m" (mem) : "memory");
++}
++
++__attribute__((noinline)) void
++f6 (void)
++{
++  int mem;
++#undef X1
++#define X1(n) int gpr##n = 0;
++  X8(a) X8(b) X8(c)
++#undef X1
++#define X1(n) double fpr##n = 0.0;
++  X4(d)
++#undef X1
++#define X1(n) "+r" (gpr##n),
++  asm volatile ("" : X8(a) "=m" (mem) : : "memory");
++  asm volatile ("" : X8(b) "=m" (mem) : : "memory");
++  asm volatile ("" : X8(c) "=m" (mem) : : "memory");
++#undef X1
++#define X1(n) "+" FLOAT_REG_CONSTRAINT (fpr##n),
++  asm volatile ("" : X4(d) "=m" (mem) : : "memory");
++#undef X1
++#define X1(n) "r" (gpr##n),
++  asm volatile ("" : : X8(a) "m" (mem) : "memory");
++  asm volatile ("" : : X8(b) "m" (mem) : "memory");
++  asm volatile ("" : : X8(c) "m" (mem) : "memory");
++#undef X1
++#define X1(n) FLOAT_REG_CONSTRAINT (fpr##n),
++  asm volatile ("" : : X4(d) "m" (mem) : "memory");
++}
++
++__attribute__((noinline)) void
++f7 (void)
++{
++  int mem;
++#undef X1
++#define X1(n) int gpr##n = 0;
++  X8(a) X8(b) X8(c)
++#undef X1
++#define X1(n) double fpr##n = 0.0;
++  X2(d)
++#undef X1
++#define X1(n) "+r" (gpr##n),
++  asm volatile ("" : X8(a) "=m" (mem) : : "memory");
++  asm volatile ("" : X8(b) "=m" (mem) : : "memory");
++  asm volatile ("" : X8(c) "=m" (mem) : : "memory");
++#undef X1
++#define X1(n) "+" FLOAT_REG_CONSTRAINT (fpr##n),
++  asm volatile ("" : X2(d) "=m" (mem) : : "memory");
++  foo ();
++#undef X1
++#define X1(n) "r" (gpr##n),
++  asm volatile ("" : : X8(a) "m" (mem) : "memory");
++  asm volatile ("" : : X8(b) "m" (mem) : "memory");
++  asm volatile ("" : : X8(c) "m" (mem) : "memory");
++#undef X1
++#define X1(n) FLOAT_REG_CONSTRAINT (fpr##n),
++  asm volatile ("" : : X2(d) "m" (mem) : "memory");
++}
++
++__attribute__((noinline)) void
++f8 (void)
++{
++  int mem;
++#undef X1
++#define X1(n) int gpr##n = 0;
++  X8(a) X8(b) X8(c)
++#undef X1
++#define X1(n) double fpr##n = 0.0;
++  X2(d)
++#undef X1
++#define X1(n) "+r" (gpr##n),
++  asm volatile ("" : X8(a) "=m" (mem) : : "memory");
++  asm volatile ("" : X8(b) "=m" (mem) : : "memory");
++  asm volatile ("" : X8(c) "=m" (mem) : : "memory");
++#undef X1
++#define X1(n) "+" FLOAT_REG_CONSTRAINT (fpr##n),
++  asm volatile ("" : X2(d) "=m" (mem) : : "memory");
++  char *pp = __builtin_alloca (ll);
++  bar (pp);
++#undef X1
++#define X1(n) "r" (gpr##n),
++  asm volatile ("" : : X8(a) "m" (mem) : "memory");
++  asm volatile ("" : : X8(b) "m" (mem) : "memory");
++  asm volatile ("" : : X8(c) "m" (mem) : "memory");
++#undef X1
++#define X1(n) FLOAT_REG_CONSTRAINT (fpr##n),
++  asm volatile ("" : : X2(d) "m" (mem) : "memory");
++}
++
++__attribute__((noinline)) void
++f9 (void)
++{
++  int mem;
++#undef X1
++#define X1(n) int gpr##n = 0;
++  X8(a) X8(b) X8(c)
++#undef X1
++#define X1(n) double fpr##n = 0.0;
++  X2(d)
++#undef X1
++#define X1(n) "+r" (gpr##n),
++  asm volatile ("" : X8(a) "=m" (mem) : : "memory");
++  asm volatile ("" : X8(b) "=m" (mem) : : "memory");
++  asm volatile ("" : X8(c) "=m" (mem) : : "memory");
++#undef X1
++#define X1(n) "+" FLOAT_REG_CONSTRAINT (fpr##n),
++  asm volatile ("" : X2(d) "=m" (mem) : : "memory");
++#undef X1
++#define X1(n) "r" (gpr##n),
++  asm volatile ("" : : X8(a) "m" (mem) : "memory");
++  asm volatile ("" : : X8(b) "m" (mem) : "memory");
++  asm volatile ("" : : X8(c) "m" (mem) : "memory");
++#undef X1
++#define X1(n) FLOAT_REG_CONSTRAINT (fpr##n),
++  asm volatile ("" : : X2(d) "m" (mem) : "memory");
++}
++
++__attribute__((noinline)) void
++f10 (void)
++{
++  int mem;
++#undef X1
++#define X1(n) int gpr##n = 0;
++  X8(a) X8(b) X4(c)
++#undef X1
++#define X1(n) double fpr##n = 0.0;
++  X1(d)
++#undef X1
++#define X1(n) "+r" (gpr##n),
++  asm volatile ("" : X8(a) "=m" (mem) : : "memory");
++  asm volatile ("" : X8(b) "=m" (mem) : : "memory");
++  asm volatile ("" : X4(c) "=m" (mem) : : "memory");
++#undef X1
++#define X1(n) "+" FLOAT_REG_CONSTRAINT (fpr##n),
++  asm volatile ("" : X1(d) "=m" (mem) : : "memory");
++  foo ();
++#undef X1
++#define X1(n) "r" (gpr##n),
++  asm volatile ("" : : X8(a) "m" (mem) : "memory");
++  asm volatile ("" : : X8(b) "m" (mem) : "memory");
++  asm volatile ("" : : X4(c) "m" (mem) : "memory");
++#undef X1
++#define X1(n) FLOAT_REG_CONSTRAINT (fpr##n),
++  asm volatile ("" : : X1(d) "m" (mem) : "memory");
++}
++
++__attribute__((noinline)) void
++f11 (void)
++{
++  int mem;
++#undef X1
++#define X1(n) int gpr##n = 0;
++  X8(a) X8(b) X4(c)
++#undef X1
++#define X1(n) double fpr##n = 0.0;
++  X1(d)
++#undef X1
++#define X1(n) "+r" (gpr##n),
++  asm volatile ("" : X8(a) "=m" (mem) : : "memory");
++  asm volatile ("" : X8(b) "=m" (mem) : : "memory");
++  asm volatile ("" : X4(c) "=m" (mem) : : "memory");
++#undef X1
++#define X1(n) "+" FLOAT_REG_CONSTRAINT (fpr##n),
++  asm volatile ("" : X1(d) "=m" (mem) : : "memory");
++  char *pp = __builtin_alloca (ll);
++  bar (pp);
++#undef X1
++#define X1(n) "r" (gpr##n),
++  asm volatile ("" : : X8(a) "m" (mem) : "memory");
++  asm volatile ("" : : X8(b) "m" (mem) : "memory");
++  asm volatile ("" : : X4(c) "m" (mem) : "memory");
++#undef X1
++#define X1(n) FLOAT_REG_CONSTRAINT (fpr##n),
++  asm volatile ("" : : X1(d) "m" (mem) : "memory");
++}
++
++__attribute__((noinline)) void
++f12 (void)
++{
++  int mem;
++#undef X1
++#define X1(n) int gpr##n = 0;
++  X8(a) X8(b) X4(c)
++#undef X1
++#define X1(n) double fpr##n = 0.0;
++  X1(d)
++#undef X1
++#define X1(n) "+r" (gpr##n),
++  asm volatile ("" : X8(a) "=m" (mem) : : "memory");
++  asm volatile ("" : X8(b) "=m" (mem) : : "memory");
++  asm volatile ("" : X4(c) "=m" (mem) : : "memory");
++#undef X1
++#define X1(n) "+" FLOAT_REG_CONSTRAINT (fpr##n),
++  asm volatile ("" : X1(d) "=m" (mem) : : "memory");
++#undef X1
++#define X1(n) "r" (gpr##n),
++  asm volatile ("" : : X8(a) "m" (mem) : "memory");
++  asm volatile ("" : : X8(b) "m" (mem) : "memory");
++  asm volatile ("" : : X4(c) "m" (mem) : "memory");
++#undef X1
++#define X1(n) FLOAT_REG_CONSTRAINT (fpr##n),
++  asm volatile ("" : : X1(d) "m" (mem) : "memory");
++}
++
++__attribute__((noinline)) void
++f13 (void)
++{
++  int mem;
++#undef X1
++#define X1(n) int gpr##n = 0;
++  X8(a) X8(b) X2(c)
++#undef X1
++#define X1(n) double fpr##n = 0.0;
++  X8(d)
++#undef X1
++#define X1(n) "+r" (gpr##n),
++  asm volatile ("" : X8(a) "=m" (mem) : : "memory");
++  asm volatile ("" : X8(b) "=m" (mem) : : "memory");
++  asm volatile ("" : X2(c) "=m" (mem) : : "memory");
++#undef X1
++#define X1(n) "+" FLOAT_REG_CONSTRAINT (fpr##n),
++  asm volatile ("" : X8(d) "=m" (mem) : : "memory");
++  foo ();
++#undef X1
++#define X1(n) "r" (gpr##n),
++  asm volatile ("" : : X8(a) "m" (mem) : "memory");
++  asm volatile ("" : : X8(b) "m" (mem) : "memory");
++  asm volatile ("" : : X2(c) "m" (mem) : "memory");
++#undef X1
++#define X1(n) FLOAT_REG_CONSTRAINT (fpr##n),
++  asm volatile ("" : : X8(d) "m" (mem) : "memory");
++}
++
++__attribute__((noinline)) void
++f14 (void)
++{
++  int mem;
++#undef X1
++#define X1(n) int gpr##n = 0;
++  X8(a) X8(b) X2(c)
++#undef X1
++#define X1(n) double fpr##n = 0.0;
++  X8(d)
++#undef X1
++#define X1(n) "+r" (gpr##n),
++  asm volatile ("" : X8(a) "=m" (mem) : : "memory");
++  asm volatile ("" : X8(b) "=m" (mem) : : "memory");
++  asm volatile ("" : X2(c) "=m" (mem) : : "memory");
++#undef X1
++#define X1(n) "+" FLOAT_REG_CONSTRAINT (fpr##n),
++  asm volatile ("" : X8(d) "=m" (mem) : : "memory");
++  char *pp = __builtin_alloca (ll);
++  bar (pp);
++#undef X1
++#define X1(n) "r" (gpr##n),
++  asm volatile ("" : : X8(a) "m" (mem) : "memory");
++  asm volatile ("" : : X8(b) "m" (mem) : "memory");
++  asm volatile ("" : : X2(c) "m" (mem) : "memory");
++#undef X1
++#define X1(n) FLOAT_REG_CONSTRAINT (fpr##n),
++  asm volatile ("" : : X8(d) "m" (mem) : "memory");
++}
++
++__attribute__((noinline)) void
++f15 (void)
++{
++  int mem;
++#undef X1
++#define X1(n) int gpr##n = 0;
++  X8(a) X8(b) X2(c)
++#undef X1
++#define X1(n) double fpr##n = 0.0;
++  X8(d)
++#undef X1
++#define X1(n) "+r" (gpr##n),
++  asm volatile ("" : X8(a) "=m" (mem) : : "memory");
++  asm volatile ("" : X8(b) "=m" (mem) : : "memory");
++  asm volatile ("" : X2(c) "=m" (mem) : : "memory");
++#undef X1
++#define X1(n) "+" FLOAT_REG_CONSTRAINT (fpr##n),
++  asm volatile ("" : X8(d) "=m" (mem) : : "memory");
++#undef X1
++#define X1(n) "r" (gpr##n),
++  asm volatile ("" : : X8(a) "m" (mem) : "memory");
++  asm volatile ("" : : X8(b) "m" (mem) : "memory");
++  asm volatile ("" : : X2(c) "m" (mem) : "memory");
++#undef X1
++#define X1(n) FLOAT_REG_CONSTRAINT (fpr##n),
++  asm volatile ("" : : X8(d) "m" (mem) : "memory");
++}
++#endif
++
++int
++main ()
++{
++  ll = 60;
++  f1 ();
++  f2 ();
++  f3 ();
++#ifndef __NO_FPRS__
++  f4 ();
++  f5 ();
++  f6 ();
++  f7 ();
++  f8 ();
++  f9 ();
++  f10 ();
++  f11 ();
++  f12 ();
++  f13 ();
++  f14 ();
++  f15 ();
++#endif
++  return 0;
++}
+Index: gcc-4.4.1/gcc/config/rs6000/spe.md
+===================================================================
+--- gcc-4.4.1.orig/gcc/config/rs6000/spe.md    2009-10-06 13:51:50.387320717 -0700
++++ gcc-4.4.1/gcc/config/rs6000/spe.md 2009-10-06 14:09:19.767365878 -0700
+@@ -3156,9 +3156,9 @@
+   [(match_parallel 0 "any_parallel_operand"
+                  [(clobber (reg:P 65))
+                   (use (match_operand:P 1 "symbol_ref_operand" "s"))
+-                  (use (match_operand:P 2 "gpc_reg_operand" "r"))
+-                  (set (match_operand:V2SI 3 "memory_operand" "=m")
+-                       (match_operand:V2SI 4 "gpc_reg_operand" "r"))])]
++                  (use (reg:P 11))
++                  (set (match_operand:V2SI 2 "memory_operand" "=m")
++                       (match_operand:V2SI 3 "gpc_reg_operand" "r"))])]
+   "TARGET_SPE_ABI"
+   "bl %z1"
+   [(set_attr "type" "branch")
+@@ -3168,9 +3168,9 @@
+  [(match_parallel 0 "any_parallel_operand"
+                 [(clobber (reg:P 65))
+                  (use (match_operand:P 1 "symbol_ref_operand" "s"))
+-                 (use (match_operand:P 2 "gpc_reg_operand" "r"))
+-                 (set (match_operand:V2SI 3 "gpc_reg_operand" "=r")
+-                      (match_operand:V2SI 4 "memory_operand" "m"))])]
++                 (use (reg:P 11))
++                 (set (match_operand:V2SI 2 "gpc_reg_operand" "=r")
++                      (match_operand:V2SI 3 "memory_operand" "m"))])]
+  "TARGET_SPE_ABI"
+  "bl %z1"
+  [(set_attr "type" "branch")
+@@ -3181,9 +3181,9 @@
+                 [(return)
+                  (clobber (reg:P 65))
+                  (use (match_operand:P 1 "symbol_ref_operand" "s"))
+-                 (use (match_operand:P 2 "gpc_reg_operand" "r"))
+-                 (set (match_operand:V2SI 3 "gpc_reg_operand" "=r")
+-                      (match_operand:V2SI 4 "memory_operand" "m"))])]
++                 (use (reg:P 11))
++                 (set (match_operand:V2SI 2 "gpc_reg_operand" "=r")
++                      (match_operand:V2SI 3 "memory_operand" "m"))])]
+  "TARGET_SPE_ABI"
+  "b %z1"
+  [(set_attr "type" "branch")
+Index: gcc-4.4.1/gcc/config/rs6000/linux64.h
+===================================================================
+--- gcc-4.4.1.orig/gcc/config/rs6000/linux64.h 2009-10-06 13:51:50.347316402 -0700
++++ gcc-4.4.1/gcc/config/rs6000/linux64.h      2009-10-06 14:09:19.777366800 -0700
+@@ -433,11 +433,11 @@ extern int dot_symbols;
+ #undef  SAVE_FP_PREFIX
+ #define SAVE_FP_PREFIX (TARGET_64BIT ? "._savef" : "_savefpr_")
+ #undef  SAVE_FP_SUFFIX
+-#define SAVE_FP_SUFFIX (TARGET_64BIT ? "" : "_l")
++#define SAVE_FP_SUFFIX ""
+ #undef  RESTORE_FP_PREFIX
+ #define RESTORE_FP_PREFIX (TARGET_64BIT ? "._restf" : "_restfpr_")
+ #undef  RESTORE_FP_SUFFIX
+-#define RESTORE_FP_SUFFIX (TARGET_64BIT ? "" : "_l")
++#define RESTORE_FP_SUFFIX ""
+ /* Dwarf2 debugging.  */
+ #undef  PREFERRED_DEBUGGING_TYPE
+Index: gcc-4.4.1/gcc/config/rs6000/rs6000.c
+===================================================================
+--- gcc-4.4.1.orig/gcc/config/rs6000/rs6000.c  2009-10-06 14:09:04.737313663 -0700
++++ gcc-4.4.1/gcc/config/rs6000/rs6000.c       2009-10-06 14:09:19.797315286 -0700
+@@ -15843,7 +15843,8 @@ static bool
+ no_global_regs_above (int first, bool gpr)
+ {
+   int i;
+-  for (i = first; i < gpr ? 32 : 64 ; i++)
++  int last = gpr ? 32 : 64;
++  for (i = first; i < last; i++)
+     if (global_regs[i])
+       return false;
+   return true;
+@@ -15860,54 +15861,136 @@ no_global_regs_above (int first, bool gp
+ static GTY(()) rtx savres_routine_syms[N_SAVRES_REGISTERS][8];
+-/* Return the symbol for an out-of-line register save/restore routine.
++/* Temporary holding space for an out-of-line register save/restore
++   routine name.  */
++static char savres_routine_name[30];
++
++/* Return the name for an out-of-line register save/restore routine.
++   We are saving/restoring GPRs if GPR is true.  */
++
++static char *
++rs6000_savres_routine_name (rs6000_stack_t *info, int regno,
++                          bool savep, bool gpr, bool lr)
++{
++  const char *prefix = "";
++  const char *suffix = "";
++
++  /* Different targets are supposed to define
++     {SAVE,RESTORE}_FP_{PREFIX,SUFFIX} with the idea that the needed
++     routine name could be defined with:
++
++     sprintf (name, "%s%d%s", SAVE_FP_PREFIX, regno, SAVE_FP_SUFFIX)
++
++     This is a nice idea in practice, but in reality, things are
++     complicated in several ways:
++
++     - ELF targets have save/restore routines for GPRs.
++
++     - SPE targets use different prefixes for 32/64-bit registers, and
++       neither of them fit neatly in the FOO_{PREFIX,SUFFIX} regimen.
++
++     - PPC64 ELF targets have routines for save/restore of GPRs that
++       differ in what they do with the link register, so having a set
++       prefix doesn't work.  (We only use one of the save routines at
++       the moment, though.)
++
++     - PPC32 elf targets have "exit" versions of the restore routines
++       that restore the link register and can save some extra space.
++       These require an extra suffix.  (There are also "tail" versions
++       of the restore routines and "GOT" versions of the save routines,
++       but we don't generate those at present.  Same problems apply,
++       though.)
++
++     We deal with all this by synthesizing our own prefix/suffix and
++     using that for the simple sprintf call shown above.  */
++  if (TARGET_SPE)
++    {
++      /* No floating point saves on the SPE.  */
++      gcc_assert (gpr);
++
++      if (savep)
++      prefix = info->spe_64bit_regs_used ? "_save64gpr_" : "_save32gpr_";
++      else
++      prefix = info->spe_64bit_regs_used ? "_rest64gpr_" : "_rest32gpr_";
++
++      if (lr)
++      suffix = "_x";
++    }
++  else if (DEFAULT_ABI == ABI_V4)
++    {
++      if (TARGET_64BIT)
++      goto aix_names;
++
++      if (gpr)
++      prefix = savep ? "_savegpr_" : "_restgpr_";
++      else
++      prefix = savep ? "_savefpr_" : "_restfpr_";
++
++      if (lr)
++      suffix = "_x";
++    }
++  else if (DEFAULT_ABI == ABI_AIX)
++    {
++#ifndef POWERPC_LINUX
++      /* No out-of-line save/restore routines for GPRs on AIX.  */
++      gcc_assert (!TARGET_AIX || !gpr);
++#endif
++
++    aix_names:
++      if (gpr)
++      prefix = (savep
++                ? (lr ? "_savegpr0_" : "_savegpr1_")
++                : (lr ? "_restgpr0_" : "_restgpr1_"));
++#ifdef POWERPC_LINUX
++      else if (lr)
++      prefix = (savep ? "_savefpr_" : "_restfpr_");
++#endif
++      else
++      {
++        prefix = savep ? SAVE_FP_PREFIX : RESTORE_FP_PREFIX;
++        suffix = savep ? SAVE_FP_SUFFIX : RESTORE_FP_SUFFIX;
++      }
++    }
++  else if (DEFAULT_ABI == ABI_DARWIN)
++    sorry ("Out-of-line save/restore routines not supported on Darwin");
++
++  sprintf (savres_routine_name, "%s%d%s", prefix, regno, suffix);
++
++  return savres_routine_name;
++}
++
++/* Return an RTL SYMBOL_REF for an out-of-line register save/restore routine.
+    We are saving/restoring GPRs if GPR is true.  */
+ static rtx
+-rs6000_savres_routine_sym (rs6000_stack_t *info, bool savep, bool gpr, bool exitp)
++rs6000_savres_routine_sym (rs6000_stack_t *info, bool savep,
++                         bool gpr, bool lr)
+ {
+   int regno = gpr ? info->first_gp_reg_save : (info->first_fp_reg_save - 32);
+   rtx sym;
+   int select = ((savep ? 1 : 0) << 2
+-              | (gpr
+-                 /* On the SPE, we never have any FPRs, but we do have
+-                    32/64-bit versions of the routines.  */
+-                 ? (TARGET_SPE_ABI && info->spe_64bit_regs_used ? 1 : 0)
+-                 : 0) << 1
+-              | (exitp ? 1: 0));
++              | ((TARGET_SPE_ABI
++                  /* On the SPE, we never have any FPRs, but we do have
++                     32/64-bit versions of the routines.  */
++                  ? (info->spe_64bit_regs_used ? 1 : 0)
++                  : (gpr ? 1 : 0)) << 1)
++              | (lr ? 1: 0));
+   /* Don't generate bogus routine names.  */
+-  gcc_assert (FIRST_SAVRES_REGISTER <= regno && regno <= LAST_SAVRES_REGISTER);
++  gcc_assert (FIRST_SAVRES_REGISTER <= regno
++            && regno <= LAST_SAVRES_REGISTER);
+   sym = savres_routine_syms[regno-FIRST_SAVRES_REGISTER][select];
+   if (sym == NULL)
+     {
+-      char name[30];
+-      const char *action;
+-      const char *regkind;
+-      const char *exit_suffix;
+-
+-      action = savep ? "save" : "rest";
+-
+-      /* SPE has slightly different names for its routines depending on
+-       whether we are saving 32-bit or 64-bit registers.  */
+-      if (TARGET_SPE_ABI)
+-      {
+-        /* No floating point saves on the SPE.  */
+-        gcc_assert (gpr);
+-
+-        regkind = info->spe_64bit_regs_used ? "64gpr" : "32gpr";
+-      }
+-      else
+-      regkind = gpr ? "gpr" : "fpr";
+-
+-      exit_suffix = exitp ? "_x" : "";
++      char *name;
+-      sprintf (name, "_%s%s_%d%s", action, regkind, regno, exit_suffix);
++      name = rs6000_savres_routine_name (info, regno, savep, gpr, lr);
+       sym = savres_routine_syms[regno-FIRST_SAVRES_REGISTER][select]
+       = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (name));
++      SYMBOL_REF_FLAGS (sym) |= SYMBOL_FLAG_FUNCTION;
+     }
+   return sym;
+@@ -15935,8 +16018,13 @@ rs6000_emit_stack_reset (rs6000_stack_t 
+     {
+       rs6000_emit_stack_tie ();
+       if (sp_offset != 0)
+-      emit_insn (gen_addsi3 (sp_reg_rtx, frame_reg_rtx,
+-                             GEN_INT (sp_offset)));
++      {
++        rtx dest_reg = savres ? gen_rtx_REG (Pmode, 11) : sp_reg_rtx;
++
++        return emit_insn (gen_addsi3 (dest_reg, frame_reg_rtx,
++                                      GEN_INT (sp_offset)));
++      }
++
+       else if (!savres)
+       emit_move_insn (sp_reg_rtx, frame_reg_rtx);
+     }
+@@ -15965,7 +16053,7 @@ static rtx
+ rs6000_make_savres_rtx (rs6000_stack_t *info,
+                       rtx frame_reg_rtx, int save_area_offset,
+                       enum machine_mode reg_mode,
+-                      bool savep, bool gpr, bool exitp)
++                      bool savep, bool gpr, bool lr)
+ {
+   int i;
+   int offset, start_reg, end_reg, n_regs;
+@@ -15979,20 +16067,21 @@ rs6000_make_savres_rtx (rs6000_stack_t *
+              : info->first_fp_reg_save);
+   end_reg = gpr ? 32 : 64;
+   n_regs = end_reg - start_reg;
+-  p = rtvec_alloc ((exitp ? 4 : 3) + n_regs);
+-
+-  /* If we're saving registers, then we should never say we're exiting.        */
+-  gcc_assert ((savep && !exitp) || !savep);
++  p = rtvec_alloc ((lr ? 4 : 3) + n_regs);
+-  if (exitp)
++  if (!savep && lr)
+     RTVEC_ELT (p, offset++) = gen_rtx_RETURN (VOIDmode);
+   RTVEC_ELT (p, offset++)
+     = gen_rtx_CLOBBER (VOIDmode, gen_rtx_REG (Pmode, 65));
+-  sym = rs6000_savres_routine_sym (info, savep, gpr, exitp);
++  sym = rs6000_savres_routine_sym (info, savep, gpr, lr);
+   RTVEC_ELT (p, offset++) = gen_rtx_USE (VOIDmode, sym);
+-  RTVEC_ELT (p, offset++) = gen_rtx_USE (VOIDmode, gen_rtx_REG (Pmode, 11));
++  RTVEC_ELT (p, offset++)
++    = gen_rtx_USE (VOIDmode,
++                 gen_rtx_REG (Pmode, DEFAULT_ABI != ABI_AIX ? 11
++                                     : gpr && !lr ? 12
++                                     : 1));
+   for (i = 0; i < end_reg - start_reg; i++)
+     {
+@@ -16007,6 +16096,16 @@ rs6000_make_savres_rtx (rs6000_stack_t *
+                                              savep ? reg : mem);
+     }
++  if (savep && lr)
++    {
++      rtx addr, reg, mem;
++      reg = gen_rtx_REG (Pmode, 0);
++      addr = gen_rtx_PLUS (Pmode, frame_reg_rtx,
++                         GEN_INT (info->lr_save_offset));
++      mem = gen_frame_mem (Pmode, addr);
++      RTVEC_ELT (p, i + offset) = gen_rtx_SET (VOIDmode, mem, reg);
++    }
++
+   return gen_rtx_PARALLEL (VOIDmode, p);
+ }
+@@ -16027,7 +16126,10 @@ rs6000_reg_live_or_pic_offset_p (int reg
+ enum {
+   SAVRES_MULTIPLE = 0x1,
+   SAVRES_INLINE_FPRS = 0x2,
+-  SAVRES_INLINE_GPRS = 0x4
++  SAVRES_INLINE_GPRS = 0x4,
++  SAVRES_NOINLINE_GPRS_SAVES_LR = 0x8,
++  SAVRES_NOINLINE_FPRS_SAVES_LR = 0x10,
++  SAVRES_NOINLINE_FPRS_DOESNT_RESTORE_LR = 0x20
+ };
+ /* Determine the strategy for savings/restoring registers.  */
+@@ -16042,6 +16144,7 @@ rs6000_savres_strategy (rs6000_stack_t *
+   bool savres_gprs_inline;
+   bool noclobber_global_gprs
+     = no_global_regs_above (info->first_gp_reg_save, /*gpr=*/true);
++  int strategy;
+   using_multiple_p = (TARGET_MULTIPLE && ! TARGET_POWERPC64
+                     && (!TARGET_SPE_ABI
+@@ -16061,6 +16164,10 @@ rs6000_savres_strategy (rs6000_stack_t *
+                       || info->first_fp_reg_save == 64
+                       || !no_global_regs_above (info->first_fp_reg_save,
+                                                 /*gpr=*/false)
++                      /* The out-of-line FP routines use
++                         double-precision stores; we can't use those
++                         routines if we don't have such stores.  */
++                      || (TARGET_HARD_FLOAT && !TARGET_DOUBLE_FLOAT)
+                       || FP_SAVE_INLINE (info->first_fp_reg_save));
+   savres_gprs_inline = (common
+                       /* Saving CR interferes with the exit routines
+@@ -16098,9 +16205,22 @@ rs6000_savres_strategy (rs6000_stack_t *
+       savres_gprs_inline = savres_gprs_inline || using_multiple_p;
+     }
+-  return (using_multiple_p
+-        | (savres_fprs_inline << 1)
+-        | (savres_gprs_inline << 2));
++  strategy = (using_multiple_p
++            | (savres_fprs_inline << 1)
++            | (savres_gprs_inline << 2));
++#ifdef POWERPC_LINUX
++  if (TARGET_64BIT)
++    {
++      if (!savres_fprs_inline)
++      strategy |= SAVRES_NOINLINE_FPRS_SAVES_LR;
++      else if (!savres_gprs_inline && info->first_fp_reg_save == 64)
++      strategy |= SAVRES_NOINLINE_GPRS_SAVES_LR;
++    }
++#else
++  if (TARGET_AIX && !savres_fprs_inline)
++    strategy |= SAVRES_NOINLINE_FPRS_DOESNT_RESTORE_LR;
++#endif
++  return strategy;
+ }
+ /* Emit function prologue as insns.  */
+@@ -16122,7 +16242,7 @@ rs6000_emit_prologue (void)
+   int using_store_multiple;
+   int using_static_chain_p = (cfun->static_chain_decl != NULL_TREE
+                               && df_regs_ever_live_p (STATIC_CHAIN_REGNUM)
+-                              && !call_used_regs[STATIC_CHAIN_REGNUM]);
++                            && call_used_regs[STATIC_CHAIN_REGNUM]);
+   HOST_WIDE_INT sp_offset = 0;
+   if (TARGET_FIX_AND_CONTINUE)
+@@ -16307,24 +16427,30 @@ rs6000_emit_prologue (void)
+                            gen_rtx_REG (Pmode, LR_REGNO));
+       RTX_FRAME_RELATED_P (insn) = 1;
+-      addr = gen_rtx_PLUS (Pmode, frame_reg_rtx,
++      if (!(strategy & (SAVRES_NOINLINE_GPRS_SAVES_LR
++                      | SAVRES_NOINLINE_FPRS_SAVES_LR)))
++      {
++        addr = gen_rtx_PLUS (Pmode, frame_reg_rtx,
+                              GEN_INT (info->lr_save_offset + sp_offset));
+-      reg = gen_rtx_REG (Pmode, 0);
+-      mem = gen_rtx_MEM (Pmode, addr);
+-      /* This should not be of rs6000_sr_alias_set, because of
+-       __builtin_return_address.  */
++        reg = gen_rtx_REG (Pmode, 0);
++        mem = gen_rtx_MEM (Pmode, addr);
++        /* This should not be of rs6000_sr_alias_set, because of
++           __builtin_return_address.  */
+-      insn = emit_move_insn (mem, reg);
+-      rs6000_frame_related (insn, frame_ptr_rtx, info->total_size,
+-                          NULL_RTX, NULL_RTX);
++        insn = emit_move_insn (mem, reg);
++        rs6000_frame_related (insn, frame_ptr_rtx, info->total_size,
++                              NULL_RTX, NULL_RTX);
++      }
+     }
+-  /* If we need to save CR, put it into r12.  */
++  /* If we need to save CR, put it into r12 or r11.  */
+   if (!WORLD_SAVE_P (info) && info->cr_save_p && frame_reg_rtx != frame_ptr_rtx)
+     {
+       rtx set;
+-      cr_save_rtx = gen_rtx_REG (SImode, 12);
++      cr_save_rtx
++      = gen_rtx_REG (SImode, DEFAULT_ABI == ABI_AIX && !saving_GPRs_inline
++                     ? 11 : 12);
+       insn = emit_insn (gen_movesi_from_cr (cr_save_rtx));
+       RTX_FRAME_RELATED_P (insn) = 1;
+       /* Now, there's no way that dwarf2out_frame_debug_expr is going
+@@ -16363,7 +16489,9 @@ rs6000_emit_prologue (void)
+                                   info->fp_save_offset + sp_offset,
+                                   DFmode,
+                                   /*savep=*/true, /*gpr=*/false,
+-                                  /*exitp=*/false);
++                                  /*lr=*/(strategy
++                                          & SAVRES_NOINLINE_FPRS_SAVES_LR)
++                                         != 0);
+       insn = emit_insn (par);
+       rs6000_frame_related (insn, frame_ptr_rtx, info->total_size,
+                           NULL_RTX, NULL_RTX);
+@@ -16459,7 +16587,7 @@ rs6000_emit_prologue (void)
+         par = rs6000_make_savres_rtx (info, gen_rtx_REG (Pmode, 11),
+                                       0, reg_mode,
+                                       /*savep=*/true, /*gpr=*/true,
+-                                      /*exitp=*/false);
++                                      /*lr=*/false);
+         insn = emit_insn (par);
+         rs6000_frame_related (insn, frame_ptr_rtx, info->total_size,
+                               NULL_RTX, NULL_RTX);
+@@ -16474,25 +16602,24 @@ rs6000_emit_prologue (void)
+     {
+       rtx par;
+-      /* Need to adjust r11 if we saved any FPRs.  */
++      /* Need to adjust r11 (r12) if we saved any FPRs.  */
+       if (info->first_fp_reg_save != 64)
+         {
+-          rtx r11 = gen_rtx_REG (reg_mode, 11);
+-          rtx offset = GEN_INT (info->total_size
+-                                + (-8 * (64-info->first_fp_reg_save)));
+-          rtx ptr_reg = (sp_reg_rtx == frame_reg_rtx
+-                         ? sp_reg_rtx : r11);
+-
+-          emit_insn (TARGET_32BIT
+-                     ? gen_addsi3 (r11, ptr_reg, offset)
+-                     : gen_adddi3 (r11, ptr_reg, offset));
++        rtx dest_reg = gen_rtx_REG (reg_mode, DEFAULT_ABI == ABI_AIX
++                                    ? 12 : 11);
++        rtx offset = GEN_INT (sp_offset
++                                    + (-8 * (64-info->first_fp_reg_save)));
++        emit_insn (gen_add3_insn (dest_reg, frame_reg_rtx, offset));
+         }
+       par = rs6000_make_savres_rtx (info, frame_reg_rtx,
+                                   info->gp_save_offset + sp_offset,
+                                   reg_mode,
+                                   /*savep=*/true, /*gpr=*/true,
+-                                  /*exitp=*/false);
++                                  /*lr=*/(strategy
++                                          & SAVRES_NOINLINE_GPRS_SAVES_LR)
++                                         != 0);
++
+       insn = emit_insn (par);
+       rs6000_frame_related (insn, frame_ptr_rtx, info->total_size,
+                           NULL_RTX, NULL_RTX);
+@@ -16772,9 +16899,18 @@ rs6000_output_function_prologue (FILE *f
+      fp values.  */
+   if (info->first_fp_reg_save < 64
+       && !FP_SAVE_INLINE (info->first_fp_reg_save))
+-    fprintf (file, "\t.extern %s%d%s\n\t.extern %s%d%s\n",
+-           SAVE_FP_PREFIX, info->first_fp_reg_save - 32, SAVE_FP_SUFFIX,
+-           RESTORE_FP_PREFIX, info->first_fp_reg_save - 32, RESTORE_FP_SUFFIX);
++    {
++      char *name;
++      int regno = info->first_fp_reg_save - 32;
++
++      name = rs6000_savres_routine_name (info, regno, /*savep=*/true,
++                                       /*gpr=*/false, /*lr=*/false);
++      fprintf (file, "\t.extern %s\n", name);
++
++      name = rs6000_savres_routine_name (info, regno, /*savep=*/false,
++                                       /*gpr=*/false, /*lr=*/true);
++      fprintf (file, "\t.extern %s\n", name);
++    }
+   /* Write .extern for AIX common mode routines, if needed.  */
+   if (! TARGET_POWER && ! TARGET_POWERPC && ! common_mode_defined)
+@@ -16891,6 +17027,7 @@ rs6000_emit_epilogue (int sibcall)
+   int sp_offset = 0;
+   rtx sp_reg_rtx = gen_rtx_REG (Pmode, 1);
+   rtx frame_reg_rtx = sp_reg_rtx;
++  rtx cr_save_reg = NULL_RTX;
+   enum machine_mode reg_mode = Pmode;
+   int reg_size = TARGET_32BIT ? 4 : 8;
+   int i;
+@@ -16924,8 +17061,10 @@ rs6000_emit_epilogue (int sibcall)
+                                || (cfun->calls_alloca
+                                    && !frame_pointer_needed));
+   restore_lr = (info->lr_save_p
+-              && restoring_GPRs_inline
+-              && restoring_FPRs_inline);
++              && (restoring_FPRs_inline
++                  || (strategy & SAVRES_NOINLINE_FPRS_DOESNT_RESTORE_LR))
++              && (restoring_GPRs_inline
++                  || info->first_fp_reg_save < 64));
+   if (WORLD_SAVE_P (info))
+     {
+@@ -17197,7 +17336,7 @@ rs6000_emit_epilogue (int sibcall)
+   /* Get the old lr if we saved it.  If we are restoring registers
+      out-of-line, then the out-of-line routines can do this for us.  */
+-  if (restore_lr)
++  if (restore_lr && restoring_GPRs_inline)
+     {
+       rtx mem = gen_frame_mem_offset (Pmode, frame_reg_rtx,
+                                     info->lr_save_offset + sp_offset);
+@@ -17211,12 +17350,17 @@ rs6000_emit_epilogue (int sibcall)
+       rtx addr = gen_rtx_PLUS (Pmode, frame_reg_rtx,
+                              GEN_INT (info->cr_save_offset + sp_offset));
+       rtx mem = gen_frame_mem (SImode, addr);
++      cr_save_reg = gen_rtx_REG (SImode,
++                               DEFAULT_ABI == ABI_AIX
++                               && !restoring_GPRs_inline
++                               && info->first_fp_reg_save < 64
++                               ? 11 : 12);
++      emit_move_insn (cr_save_reg, mem);
+-      emit_move_insn (gen_rtx_REG (SImode, 12), mem);
+     }
+   /* Set LR here to try to overlap restores below.  */
+-  if (restore_lr)
++  if (restore_lr && restoring_GPRs_inline)
+     emit_move_insn (gen_rtx_REG (Pmode, LR_REGNO),
+                   gen_rtx_REG (Pmode, 0));
+@@ -17318,7 +17462,7 @@ rs6000_emit_epilogue (int sibcall)
+         par = rs6000_make_savres_rtx (info, gen_rtx_REG (Pmode, 11),
+                                       0, reg_mode,
+                                       /*savep=*/false, /*gpr=*/true,
+-                                      /*exitp=*/true);
++                                      /*lr=*/true);
+         emit_jump_insn (par);
+         /* We don't want anybody else emitting things after we jumped
+@@ -17337,20 +17481,24 @@ rs6000_emit_epilogue (int sibcall)
+       rs6000_emit_stack_reset (info, sp_reg_rtx, frame_reg_rtx,
+                                sp_offset, can_use_exit);
+       else
+-      emit_insn (gen_addsi3 (gen_rtx_REG (Pmode, 11),
+-                             sp_reg_rtx,
+-                             GEN_INT (sp_offset - info->fp_size)));
++      {
++        emit_insn (gen_add3_insn (gen_rtx_REG (Pmode, DEFAULT_ABI == ABI_AIX
++                                                      ? 12 : 11),
++                                  frame_reg_rtx,
++                                  GEN_INT (sp_offset - info->fp_size)));
++        if (REGNO (frame_reg_rtx) == 11)
++          sp_offset += info->fp_size;
++      }
+       par = rs6000_make_savres_rtx (info, frame_reg_rtx,
+                                   info->gp_save_offset, reg_mode,
+                                   /*savep=*/false, /*gpr=*/true,
+-                                  /*exitp=*/can_use_exit);
++                                  /*lr=*/can_use_exit);
+       if (can_use_exit)
+       {
+         if (info->cr_save_p)
+-          rs6000_restore_saved_cr (gen_rtx_REG (SImode, 12),
+-                                   using_mtcr_multiple);
++          rs6000_restore_saved_cr (cr_save_reg, using_mtcr_multiple);
+         emit_jump_insn (par);
+@@ -17396,6 +17544,16 @@ rs6000_emit_epilogue (int sibcall)
+           }
+     }
++  if (restore_lr && !restoring_GPRs_inline)
++    {
++      rtx mem = gen_frame_mem_offset (Pmode, frame_reg_rtx,
++                                   info->lr_save_offset + sp_offset);
++
++      emit_move_insn (gen_rtx_REG (Pmode, 0), mem);
++      emit_move_insn (gen_rtx_REG (Pmode, LR_REGNO),
++                    gen_rtx_REG (Pmode, 0));
++    }
++
+   /* Restore fpr's if we need to do it without calling a function.  */
+   if (restoring_FPRs_inline)
+     for (i = 0; i < 64 - info->first_fp_reg_save; i++)
+@@ -17419,7 +17577,7 @@ rs6000_emit_epilogue (int sibcall)
+   /* If we saved cr, restore it here.  Just those that were used.  */
+   if (info->cr_save_p)
+-    rs6000_restore_saved_cr (gen_rtx_REG (SImode, 12), using_mtcr_multiple);
++    rs6000_restore_saved_cr (cr_save_reg, using_mtcr_multiple);
+   /* If this is V.4, unwind the stack pointer after all of the loads
+      have been done.  */
+@@ -17437,13 +17595,14 @@ rs6000_emit_epilogue (int sibcall)
+   if (!sibcall)
+     {
+       rtvec p;
++      bool lr = (strategy & SAVRES_NOINLINE_FPRS_DOESNT_RESTORE_LR) == 0;
+       if (! restoring_FPRs_inline)
+       p = rtvec_alloc (4 + 64 - info->first_fp_reg_save);
+       else
+       p = rtvec_alloc (2);
+       RTVEC_ELT (p, 0) = gen_rtx_RETURN (VOIDmode);
+-      RTVEC_ELT (p, 1) = (restoring_FPRs_inline
++      RTVEC_ELT (p, 1) = ((restoring_FPRs_inline || !lr)
+                         ? gen_rtx_USE (VOIDmode, gen_rtx_REG (Pmode, 65))
+                         : gen_rtx_CLOBBER (VOIDmode,
+                                            gen_rtx_REG (Pmode, 65)));
+@@ -17458,10 +17617,12 @@ rs6000_emit_epilogue (int sibcall)
+         sym = rs6000_savres_routine_sym (info,
+                                          /*savep=*/false,
+                                          /*gpr=*/false,
+-                                         /*exitp=*/true);
++                                         /*lr=*/lr);
+         RTVEC_ELT (p, 2) = gen_rtx_USE (VOIDmode, sym);
+         RTVEC_ELT (p, 3) = gen_rtx_USE (VOIDmode,
+-                                        gen_rtx_REG (Pmode, 11));
++                                        gen_rtx_REG (Pmode,
++                                                     DEFAULT_ABI == ABI_AIX
++                                                     ? 1 : 11));
+         for (i = 0; i < 64 - info->first_fp_reg_save; i++)
+           {
+             rtx addr, mem;
+Index: gcc-4.4.1/gcc/config/rs6000/rs6000.md
+===================================================================
+--- gcc-4.4.1.orig/gcc/config/rs6000/rs6000.md 2009-10-06 14:09:12.087313658 -0700
++++ gcc-4.4.1/gcc/config/rs6000/rs6000.md      2009-10-06 14:09:19.797315286 -0700
+@@ -14868,6 +14868,19 @@
+  [(set_attr "type" "branch")
+   (set_attr "length" "4")])
++(define_insn "*return_and_restore_fpregs_aix_<mode>"
++ [(match_parallel 0 "any_parallel_operand"
++                [(return)
++                 (use (match_operand:P 1 "register_operand" "l"))
++                 (use (match_operand:P 2 "symbol_ref_operand" "s"))
++                 (use (match_operand:P 3 "gpc_reg_operand" "r"))
++                 (set (match_operand:DF 4 "gpc_reg_operand" "=d")
++                      (match_operand:DF 5 "memory_operand" "m"))])]
++ ""
++ "b %z2"
++ [(set_attr "type" "branch")
++  (set_attr "length" "4")])
++
+ ; This is used in compiling the unwind routines.
+ (define_expand "eh_return"
+   [(use (match_operand 0 "general_operand" ""))]
+Index: gcc-4.4.1/gcc/config/rs6000/sysv4.h
+===================================================================
+--- gcc-4.4.1.orig/gcc/config/rs6000/sysv4.h   2009-10-06 13:51:50.447316469 -0700
++++ gcc-4.4.1/gcc/config/rs6000/sysv4.h        2009-10-06 14:09:19.807390239 -0700
+@@ -271,27 +271,25 @@ do {                                                                     \
+ #endif
+ /* Define cutoff for using external functions to save floating point.
+-   Currently on 64-bit V.4, always use inline stores.  When optimizing
+-   for size on 32-bit targets, use external functions when
+-   profitable.  */
+-#define FP_SAVE_INLINE(FIRST_REG) (optimize_size && !TARGET_64BIT     \
++   When optimizing for size, use external functions when profitable.  */
++#define FP_SAVE_INLINE(FIRST_REG) (optimize_size                      \
+                                  ? ((FIRST_REG) == 62                 \
+                                     || (FIRST_REG) == 63)             \
+                                  : (FIRST_REG) < 64)
+ /* And similarly for general purpose registers.  */
+ #define GP_SAVE_INLINE(FIRST_REG) ((FIRST_REG) < 32   \
+-                                 && (TARGET_64BIT || !optimize_size))
++                                 && !optimize_size)
+ /* Put jump tables in read-only memory, rather than in .text.  */
+ #define JUMP_TABLES_IN_TEXT_SECTION 0
+ /* Prefix and suffix to use to saving floating point.  */
+ #define       SAVE_FP_PREFIX "_savefpr_"
+-#define SAVE_FP_SUFFIX (TARGET_64BIT ? "_l" : "")
++#define SAVE_FP_SUFFIX ""
+ /* Prefix and suffix to use to restoring floating point.  */
+ #define       RESTORE_FP_PREFIX "_restfpr_"
+-#define RESTORE_FP_SUFFIX (TARGET_64BIT ? "_l" : "")
++#define RESTORE_FP_SUFFIX ""
+ /* Type used for ptrdiff_t, as a string used in a declaration.  */
+ #define PTRDIFF_TYPE "int"
index 9ae69b2..03079e3 100644 (file)
@@ -4,3 +4,5 @@ inherit gnome pkgconfig
 
 DEPENDS += "gnome-doc-utils gnome-vfs libxrandr"
 
+# FIXME: docs build requires gnome-doc-utils-native (for xml2po) and docbook
+SRC_URI += "file://no-desktop-docs.patch;patch=1;pnum=0"
index ff62257..8858dac 100644 (file)
@@ -1,11 +1,11 @@
 LICENSE = "GPL LGPL"
 DEPENDS = "libxml2 libxslt libxslt-native"
 
-PR = "r1"
+INC_PR = "r2"
 
 inherit gnome
 
-EXTRA_OECONF = "--disable-scrollkeeper"
+EXTRA_OECONF = "--disable-scrollkeeper ac_cv_path_PYTHON=${bindir}/python"
 
 do_stage() {
        mkdir -p  ${STAGING_DATADIR}/xml/gnome/xslt/
index cfb4788..d501a7d 100644 (file)
@@ -1,3 +1,3 @@
 require gnome-doc-utils.inc
 
-PR = "r0"
+PR = "${INC_PR}.0"
index 2499ac3..d501a7d 100644 (file)
@@ -1,3 +1,3 @@
 require gnome-doc-utils.inc
 
-PR = "r1"
+PR = "${INC_PR}.0"
index 2499ac3..d501a7d 100644 (file)
@@ -1,3 +1,3 @@
 require gnome-doc-utils.inc
 
-PR = "r1"
+PR = "${INC_PR}.0"
diff --git a/recipes/gnome/gnome-icon-theme_2.28.0.bb b/recipes/gnome/gnome-icon-theme_2.28.0.bb
new file mode 100644 (file)
index 0000000..7e5c7b3
--- /dev/null
@@ -0,0 +1,13 @@
+LICENSE = "GPL"
+SECTION = "x11/gnome"
+DEPENDS = "icon-naming-utils-native glib-2.0 intltool-native"
+RDEPENDS = "hicolor-icon-theme"
+RRECOMMENDS = "librsvg-gtk"
+
+FILES_${PN} += "${datadir}/*"
+
+EXTRA_OECONF = "--disable-hicolor-check"
+
+inherit gnome
+
+
diff --git a/recipes/gstreamer/gst-plugins-base_0.10.25.bb b/recipes/gstreamer/gst-plugins-base_0.10.25.bb
new file mode 100644 (file)
index 0000000..5862a65
--- /dev/null
@@ -0,0 +1,12 @@
+require gst-plugins.inc
+
+PR = "${INC_PR}.0"
+
+PROVIDES += "gst-plugins"
+
+# gst-plugins-base only builds the alsa plugin
+# if alsa has been built and is present.  You will
+# not get an error if this is not present, just 
+# a missing alsa plugin
+DEPENDS += "pango libtheora alsa-lib libsm virtual/libx11 freetype gnome-vfs libxv"
+
diff --git a/recipes/gstreamer/gstreamer_0.10.25.bb b/recipes/gstreamer/gstreamer_0.10.25.bb
new file mode 100644 (file)
index 0000000..22bc217
--- /dev/null
@@ -0,0 +1,8 @@
+require gstreamer.inc
+
+EXTRA_OECONF += "ac_cv_func_register_printf_function=no"
+
+do_configure_prepend() {
+       sed -i -e s:docs::g Makefile.am
+}
+
index 6fa8bab..b4a0e03 100644 (file)
@@ -12,7 +12,6 @@ IMAGE_INSTALL = "task-boot \
                     task-opie-16mb-settings \
                     task-opie-16mb-apps \
                     task-opie-16mb-pim \
-                   task-opie-irda \
                     ${ANGSTROM_EXTRA_INSTALL} "
 
 # create /etc/timestamp from build date
diff --git a/recipes/kexec/files/dietlibc.patch b/recipes/kexec/files/dietlibc.patch
new file mode 100644 (file)
index 0000000..0048d7a
--- /dev/null
@@ -0,0 +1,35 @@
+Index: kexec-tools-2.0.1/kexec/kexec-elf.c
+===================================================================
+--- kexec-tools-2.0.1.orig/kexec/kexec-elf.c   2009-10-03 14:19:35.347504269 +0200
++++ kexec-tools-2.0.1/kexec/kexec-elf.c        2009-10-03 14:23:00.414497203 +0200
+@@ -9,6 +9,17 @@
+ #include "kexec.h"
+ #include "kexec-elf.h"
++#ifdef __dietlibc__
++#include <limits.h>
++# define UINT32_MAX             (4294967295U)
++# if __WORDSIZE == 64
++#  define __UINT64_C(c)   c ## UL
++# else
++#  define __UINT64_C(c)   c ## ULL
++# endif
++# define UINT64_MAX             (__UINT64_C(18446744073709551615))
++#endif
++
+ static const int probe_debug = 0;
+ uint16_t elf16_to_cpu(const struct mem_ehdr *ehdr, uint16_t value)
+Index: kexec-tools-2.0.1/kexec/Makefile
+===================================================================
+--- kexec-tools-2.0.1.orig/kexec/Makefile      2009-10-03 14:43:59.574859089 +0200
++++ kexec-tools-2.0.1/kexec/Makefile   2009-10-03 14:44:08.190707689 +0200
+@@ -70,7 +70,7 @@
+ $(KEXEC): $(KEXEC_OBJS) $(UTIL_LIB)
+       @$(MKDIR) -p $(@D)
+-      $(LINK.o) -o $@ $^ $(LIBS)
++      $(LINK.o) -o $@ $^ $(LIBS) -lcompat
+ $(KEXEC): CPPFLAGS+=-I$(srcdir)/kexec/arch/$(ARCH)/include
index e581830..6116c5b 100644 (file)
@@ -1,20 +1,16 @@
---- kexec-tools/kexec/phys_arch.c.old  2009-09-25 23:46:04.000000000 +0200
-+++ kexec-tools/kexec/phys_arch.c      2009-09-28 22:26:04.000000000 +0200
-@@ -13,9 +13,16 @@
+--- kexec-tools/kexec/phys_arch.c.old  2008-07-15 02:46:43.000000000 +0200
++++ kexec-tools/kexec/phys_arch.c      2009-10-04 23:58:04.000000000 +0200
+@@ -13,9 +13,12 @@
                return -1;
        }
 
 -      for (i = 0; arches[i].machine; ++i)
 -              if (strcmp(utsname.machine, arches[i].machine) == 0)
 +      for (i = 0; arches[i].machine; ++i) {
-+
-+              if ((strcmp(arches[i].machine, "arm") == 0) && (strncmp(utsname.machine, arches[i].machine, 3) == 0)) {
++              if ((strcmp(arches[i].machine, "arm") == 0) && (strncmp(utsname.machine, arches[i].machine, 3) == 0))
 +                      return arches[i].arch;
-+              }
-+
-+              if (strcmp(utsname.machine, arches[i].machine) == 0) {
++              if (strcmp(utsname.machine, arches[i].machine) == 0)
                        return arches[i].arch;
-+              }
 +      }
 
        fprintf(stderr, "Unsupported machine type: %s\n",
index 581d8a4..2008829 100644 (file)
@@ -143,7 +143,7 @@ Index: kexec-tools-2.0.1/purgatory/string.c
 Index: kexec-tools-2.0.1/kexec/kexec.c
 ===================================================================
 --- kexec-tools-2.0.1.orig/kexec/kexec.c       2008-02-24 14:15:46.950825917 +0100
-+++ kexec-tools-2.0.1/kexec/kexec.c    2009-09-26 01:58:53.545624148 +0200
++++ kexec-tools-2.0.1/kexec/kexec.c    2009-10-06 00:37:01.000000000 +0200
 @@ -38,9 +38,9 @@
 
  #include "config.h"
@@ -157,7 +157,8 @@ Index: kexec-tools-2.0.1/kexec/kexec.c
  #include <sha256.h>
  #include "kexec.h"
  #include "kexec-syscall.h"
-@@ -555,6 +555,6 @@
+@@ -554,7 +554,7 @@
+       return buf;
  }
 
 -#if HAVE_LIBZ
diff --git a/recipes/kexec/files/no-getline-no-fscanf.patch b/recipes/kexec/files/no-getline-no-fscanf.patch
new file mode 100644 (file)
index 0000000..f2a32b4
--- /dev/null
@@ -0,0 +1,69 @@
+Index: kexec-tools-2.0.1/kexec/kexec.c
+===================================================================
+--- kexec-tools-2.0.1.orig/kexec/kexec.c       2008-02-24 14:15:46.950825917 +0100
++++ kexec-tools-2.0.1/kexec/kexec.c    2009-10-07 22:30:58.000000000 +0200
+@@ -933,15 +933,32 @@
+
+ static int kexec_loaded(void)
+ {
+-      int ret;
++      long ret = -1;
+       FILE *fp;
++      char *p;
++      char line[3];
+
+       fp = fopen("/sys/kernel/kexec_loaded", "r");
+       if (fp == NULL)
+               return -1;
+-      fscanf(fp, "%d", &ret);
++/*    fscanf(fp, "%d", &ret); */
++      p = fgets(line, sizeof(line), fp);
+       fclose(fp);
+-      return ret;
++
++      if ( NULL == p)
++              return -1;
++
++      ret = strtol(line, &p, 10);
++
++      if (ret > INT_MAX)
++      /* Too long */
++              return -1;
++
++      if (p == line)
++      /* No digits were found */
++              return -1;
++
++      return (int)ret;
+ }
+
+ /*
+@@ -989,18 +1006,23 @@
+ char *get_command_line(void)
+ {
+       FILE *fp;
+-      size_t len;
+-      char *line = NULL;
++      const int sizeof_line = 1024;
++      char *line = malloc(sizeof_line); /* according to strdup() later */
+
+       fp = fopen("/proc/cmdline", "r");
+       if (!fp)
+-              die("Could not read /proc/cmdline.");
+-      getline(&line, &len, fp);
++              die("Could not open /proc/cmdline.");
++
++      if ( NULL == fgets(line, sizeof(line), fp) ) {
++              die("Can't read /proc/cmdline.");
++
++/*    getline(&line, &len, fp); */
+       fclose(fp);
++      }
+
+       if (line) {
+               /* strip newline */
+-              *(line + strlen(line) - 1) = 0;
++              line[strlen(line) - 1] = '\0';
+
+               remove_parameter(line, "BOOT_IMAGE");
+               if (kexec_flags & KEXEC_ON_CRASH)
diff --git a/recipes/kexec/kexec-tools-dietlibc_2.0.1.bb b/recipes/kexec/kexec-tools-dietlibc_2.0.1.bb
new file mode 100644 (file)
index 0000000..0155e72
--- /dev/null
@@ -0,0 +1,17 @@
+# the binaries are statical linked against klibc
+require kexec-tools2.inc
+
+SRC_URI += "file://dietlibc.patch;patch=1"
+
+inherit dietlibc
+
+#DEFAULT_PREFERENCE = "-1"
+
+PR = "r0"
+
+S = "${WORKDIR}/kexec-tools-${PV}"
+
+PACKAGES =+ "kexec-dietlibc kdump-dietlibc"
+
+FILES_kexec-dietlibc = "${sbindir}/kexec"
+FILES_kdump-dietlibc = "${sbindir}/kdump"
index b9586f0..d7d114b 100644 (file)
@@ -1,9 +1,9 @@
 # the binaries are statical linked against klibc
 require kexec-tools2.inc
 
-DEFAULT_PREFERENCE = "-1"
+DEFAULT_PREFERENCE = "1"
 
-PR = "r0"
+PR = "r1"
 DEPENDS = "klibc"
 
 SRC_URI += "file://kexec-tools-2-headers.patch;patch=1 \
index a4fe1b6..c34cc35 100644 (file)
@@ -10,4 +10,5 @@ inherit autotools
 
 SRC_URI = "http://www.kernel.org/pub/linux/kernel/people/horms/kexec-tools/kexec-tools-${PV}.tar.gz \
            file://fix-arm-arch-detection.patch;patch=1 \
+           file://no-getline-no-fscanf.patch;patch=1 \
            "
index 3696dda..9d5b470 100644 (file)
@@ -1,8 +1,11 @@
 PV = "0.5"
-PR = "r3+gitr${SRCREV}"
+PR = "r4+gitr${SRCREV}"
 
-SRC_URI = "git://git.linuxtogo.org/home/groups/kexecboot/kexecboot.git;protocol=git;branch=cfgfiles "
-SRCREV = "0d4d33d85baa6251de3b1e20bd7bd464f11c5097"
+SRC_URI = "git://git.linuxtogo.org/home/groups/kexecboot/kexecboot.git;protocol=git "
+SRCREV = "e7f85b13e144a594fa726f5f7ca4bd3e2327e2b3"
+
+#SRC_URI = "git://git.linuxtogo.org/home/groups/kexecboot/kexecboot.git;protocol=git;branch=cfgfiles "
+#SRCREV = "0d4d33d85baa6251de3b1e20bd7bd464f11c5097"
 
 # v0.51 (pre cfg-files)
 #SRCREV = "c5f17845f0f620adff854c2239a8aaa5d9942255"
index 5193212..bf54173 100644 (file)
@@ -1,5 +1,5 @@
 # We set PR here, since a change in the kexecboot recipe will need to get picked up by *all* the kernels:
-PR = "r13"
+PR = "r14"
 
 SRC_URI = "file://defconfig"
 
@@ -11,12 +11,13 @@ require ../linux/linux.inc
 DONT_CHECK_KERNELSIZE = ""
 INITRAMFS_IMAGE = "initramfs-kexecboot-image"
 
-CMDLINE = "console=ttyS0,115200n8 console=tty1"
-CMDLINE_poodle = "console=ttyS0,115200n8 console=tty1 fbcon=rotate:1"
-CMDLINE_akita = "console=ttyS0,115200n8 console=tty1 fbcon=rotate:1"
-CMDLINE_collie = "console=ttySA0,115200n8 console=tty1 mem=64M fbcon=rotate:1"
-CMDLINE_spitz = "console=ttyS0,115200n8 console=tty1 fbcon=rotate:1"
-CMDLINE_hx4700 = "console=ttyS0,115200n8 console=tty1 fbcon=rotate:1"
+# here we set master console on serial
+CMDLINE = "console=tty1 console=ttyS0,115200n8"
+CMDLINE_poodle = "console=tty1 console=ttyS0,115200n8 fbcon=rotate:1"
+CMDLINE_akita = "console=tty1 console=ttyS0,115200n8 fbcon=rotate:1"
+CMDLINE_collie = "console=tty1 console=ttySA0,115200n8 fbcon=rotate:1 mem=64M"
+CMDLINE_spitz = "console=tty1 console=ttyS0,115200n8 fbcon=rotate:1"
+CMDLINE_hx4700 = "console=tty1 console=ttyS0,115200n8 fbcon=rotate:1"
 
 PACKAGES = ""
 PROVIDES = ""
diff --git a/recipes/lighttpd/lighttpd.inc b/recipes/lighttpd/lighttpd.inc
new file mode 100644 (file)
index 0000000..a7ee0a0
--- /dev/null
@@ -0,0 +1,54 @@
+DESCRIPTION = "Web server"
+SECTION = "net"
+LICENSE = "BSD"
+DEPENDS = "libpcre"
+RDEPENDS_${PN} += " \
+                    lighttpd-module-indexfile \
+                    lighttpd-module-dirlisting \
+                    lighttpd-module-staticfile \
+                  "
+
+INC_PR = "r5"
+
+SRC_URI = "http://www.lighttpd.net/download/lighttpd-${PV}.tar.gz \
+          file://index.html \
+          file://lighttpd.conf \
+          file://lighttpd \
+          "
+
+EXTRA_OECONF=" \
+              --without-bzip2 \
+              --without-ldap \
+              --without-lua \
+              --without-memcache \
+              --with-pcre \
+              --without-webdav-props \
+              --without-webdav-locks \
+              --without-openssl \
+              --disable-static \
+             "
+
+inherit autotools pkgconfig update-rc.d gettext
+
+INITSCRIPT_NAME = "lighttpd"
+INITSCRIPT_PARAMS = "defaults 70"
+
+do_install_append() {
+       install -d ${D}${sysconfdir}/init.d ${D}/www/logs ${D}/www/pages/dav ${D}/www/var
+       install -m 0755 ${WORKDIR}/lighttpd ${D}${sysconfdir}/init.d
+       install -m 0755 ${WORKDIR}/lighttpd.conf ${D}${sysconfdir}
+       install -m 0644 ${WORKDIR}/index.html ${D}/www/pages/
+}
+
+do_stage() {
+       autotools_stage_all
+}
+
+FILES_${PN} += "${sysconfdir} /www"
+
+PACKAGES_DYNAMIC = "lighttpd-module-*"
+
+python populate_packages_prepend () {
+        lighttpd_libdir = bb.data.expand('${libdir}', d)
+        do_split_packages(d, lighttpd_libdir, '^mod_(.*)\.so$', 'lighttpd-module-%s', 'Lighttpd module for %s', extra_depends='')
+}
index d5870ba..3d47a21 100644 (file)
@@ -1,49 +1,9 @@
-DESCRIPTION = "Web server"
-SECTION = "net"
-LICENSE = "BSD"
-DEPENDS = "libpcre"
-PR = "r3"
+require lighttpd.inc
 
-SRC_URI = "http://www.lighttpd.net/download/lighttpd-${PV}.tar.gz \
-          file://configure.in.patch;patch=1 \
-          file://mod_redirect.c.patch;patch=1 \
-          file://src-server.c.patch;patch=1 \
-          file://index.html \
-          file://lighttpd.conf \
-          file://lighttpd"
+PR = "${INC_PR}.1"
 
-EXTRA_OECONF="--without-bzip2 \
-               --without-ldap \
-               --without-lua \
-               --without-memcache \
-               --with-pcre \
-               --without-webdav-props \
-               --without-webdav-locks \
-               --without-openssl \
-               --disable-nls \
-               --disable-static"
+SRC_URI += "file://configure.in.patch;patch=1 \
+           file://mod_redirect.c.patch;patch=1 \
+           file://src-server.c.patch;patch=1 \
+           "
 
-inherit autotools pkgconfig update-rc.d
-
-INITSCRIPT_NAME = "lighttpd"
-INITSCRIPT_PARAMS = "defaults 70"
-
-do_install_append() {
-       install -d ${D}${sysconfdir}/init.d ${D}/www/logs ${D}/www/pages/dav ${D}/www/var
-       install -m 0755 ${WORKDIR}/lighttpd ${D}${sysconfdir}/init.d
-       install -m 0755 ${WORKDIR}/lighttpd.conf ${D}${sysconfdir}
-       install -m 0644 ${WORKDIR}/index.html ${D}/www/pages/
-}
-
-do_stage() {
-       autotools_stage_all
-}
-
-FILES_${PN} += "${sysconfdir} /www"
-
-PACKAGES_DYNAMIC = "lighttpd-module-*"
-
-python populate_packages_prepend () {
-        lighttpd_libdir = bb.data.expand('${libdir}', d)
-        do_split_packages(d, lighttpd_libdir, '^mod_(.*)\.so$', 'lighttpd-module-%s', 'Lighttpd module for %s', extra_depends='')
-}
index 79d9e39..4e8a6a6 100644 (file)
@@ -1,52 +1,6 @@
-DESCRIPTION = "Web server"
-SECTION = "net"
-LICENSE = "BSD"
-DEPENDS = "libpcre"
-PR = "r0"
+require lighttpd.inc
 
-DEFAULT_PREFERENCE = "-1"
-
-SRC_URI = "http://www.lighttpd.net/download/lighttpd-${PV}.tar.gz \
-          file://index.html \
-          file://lighttpd.conf \
-          file://lighttpd"
-#         file://configure.in.patch;patch=1 \
-#         file://mod_redirect.c.patch;patch=1 \
-
-
-EXTRA_OECONF="\
---without-bzip2 \
---without-ldap \
---without-lua \
---without-memcache \
---with-pcre \
---without-webdav-props \
---without-webdav-locks \
---without-openssl \
---disable-nls \
---disable-static"
-
-inherit autotools pkgconfig update-rc.d
+PR = "${INC_PR}.1"
 
-INITSCRIPT_NAME = "lighttpd"
-INITSCRIPT_PARAMS = "defaults 70"
-
-do_install_append() {
-       install -d ${D}${sysconfdir}/init.d ${D}/www/logs ${D}/www/pages/dav ${D}/www/var
-       install -m 0755 ${WORKDIR}/lighttpd ${D}${sysconfdir}/init.d
-       install -m 0755 ${WORKDIR}/lighttpd.conf ${D}${sysconfdir}
-       install -m 0644 ${WORKDIR}/index.html ${D}/www/pages/
-}
-
-do_stage() {
-       autotools_stage_all
-}
-
-FILES_${PN} += "${sysconfdir} /www"
-
-PACKAGES_DYNAMIC = "lighttpd-module-*"
+DEFAULT_PREFERENCE = "-1"
 
-python populate_packages_prepend () {
-        lighttpd_libdir = bb.data.expand('${libdir}', d)
-        do_split_packages(d, lighttpd_libdir, '^mod_(.*)\.so$', 'lighttpd-module-%s', 'Lighttpd module for %s', extra_depends='')
-}
index a1482fb..27acce8 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # Linux kernel version: 2.6.24.4
-# Mon Aug 24 09:09:25 2009
+# Wed Oct  7 11:41:43 2009
 #
 CONFIG_ARM=y
 CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -32,7 +32,7 @@ CONFIG_EXPERIMENTAL=y
 CONFIG_BROKEN_ON_SMP=y
 CONFIG_INIT_ENV_ARG_LIMIT=32
 CONFIG_LOCALVERSION=""
-CONFIG_LOCALVERSION_AUTO=y
+# CONFIG_LOCALVERSION_AUTO is not set
 CONFIG_SWAP=y
 CONFIG_SYSVIPC=y
 CONFIG_SYSVIPC_SYSCTL=y
@@ -46,7 +46,7 @@ CONFIG_SYSVIPC_SYSCTL=y
 CONFIG_LOG_BUF_SHIFT=14
 # CONFIG_CGROUPS is not set
 # CONFIG_FAIR_GROUP_SCHED is not set
-CONFIG_SYSFS_DEPRECATED=y
+# CONFIG_SYSFS_DEPRECATED is not set
 # CONFIG_RELAY is not set
 CONFIG_BLK_DEV_INITRD=y
 CONFIG_INITRAMFS_SOURCE=""
@@ -332,7 +332,10 @@ CONFIG_INET=y
 CONFIG_IP_MULTICAST=y
 # CONFIG_IP_ADVANCED_ROUTER is not set
 CONFIG_IP_FIB_HASH=y
-# CONFIG_IP_PNP is not set
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+CONFIG_IP_PNP_RARP=y
 # CONFIG_NET_IPIP is not set
 # CONFIG_NET_IPGRE is not set
 # CONFIG_IP_MROUTE is not set
@@ -747,7 +750,22 @@ CONFIG_SYNOPSYS_GMAC=y
 # CONFIG_USB_KAWETH is not set
 # CONFIG_USB_PEGASUS is not set
 # CONFIG_USB_RTL8150 is not set
-# CONFIG_USB_USBNET is not set
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_CDCETHER=m
+# CONFIG_USB_NET_DM9601 is not set
+# CONFIG_USB_NET_GL620A is not set
+CONFIG_USB_NET_NET1080=m
+# CONFIG_USB_NET_PLUSB is not set
+CONFIG_USB_NET_MCS7830=m
+# CONFIG_USB_NET_RNDIS_HOST is not set
+CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+CONFIG_USB_KC2190=y
+# CONFIG_USB_NET_ZAURUS is not set
 # CONFIG_WAN is not set
 # CONFIG_FDDI is not set
 # CONFIG_HIPPI is not set
@@ -1201,6 +1219,7 @@ CONFIG_NFS_V3_ACL=y
 CONFIG_NFS_V4=y
 CONFIG_NFS_DIRECTIO=y
 # CONFIG_NFSD is not set
+CONFIG_ROOT_NFS=y
 CONFIG_LOCKD=y
 CONFIG_LOCKD_V4=y
 CONFIG_NFS_ACL_SUPPORT=y
diff --git a/recipes/linux/linux-2.6.29/boc01/001-090114-sqn11x0-usb-hack.patch b/recipes/linux/linux-2.6.29/boc01/001-090114-sqn11x0-usb-hack.patch
deleted file mode 100644 (file)
index 4bd44e2..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-diff -ur linux-2.6.27.orig/drivers/usb/host/ehci-q.c linux-2.6.27/drivers/usb/host/ehci-q.c
---- linux-2.6.27.orig/drivers/usb/host/ehci-q.c        2008-10-10 00:13:53.000000000 +0200
-+++ linux-2.6.27/drivers/usb/host/ehci-q.c     2009-01-06 18:31:38.000000000 +0100
-@@ -799,7 +799,12 @@
-                        * to help them do so.  So now people expect to use
-                        * such nonconformant devices with Linux too; sigh.
-                        */
--                      info1 |= max_packet(maxp) << 16;
-+                      struct usb_device_descriptor *desc = &urb->dev->descriptor;
-+                      if (desc->idVendor == cpu_to_le16(0x148e) && desc->idProduct == cpu_to_le16(0x0900)) {
-+                              info1 |= 256 << 16;
-+                      } else {
-+                              info1 |= max_packet(maxp) << 16;
-+                      }
-                       info2 |= (EHCI_TUNE_MULT_HS << 30);
-               } else {                /* PIPE_INTERRUPT */
-                       info1 |= max_packet (maxp) << 16;
@@ -1,26 +1,26 @@
 Index: linux-2.6.29/drivers/misc/eeprom/at24.c
 ===================================================================
 --- linux-2.6.29.orig/drivers/misc/eeprom/at24.c       2009-03-24 00:12:14.000000000 +0100
-+++ linux-2.6.29/drivers/misc/eeprom/at24.c    2009-04-01 17:37:45.000000000 +0200
++++ linux-2.6.29/drivers/misc/eeprom/at24.c    2009-10-09 18:37:43.000000000 +0200
 @@ -114,6 +114,8 @@
        { "spd", AT24_DEVICE_MAGIC(2048 / 8,
                AT24_FLAG_READONLY | AT24_FLAG_IRUGO) },
        { "24c04", AT24_DEVICE_MAGIC(4096 / 8, 0) },
 +      /* Intersil RTC/Unique-ID isl12024 eeprom handled here */
-+      { "isl12024",AT24_DEVICE_MAGIC(4096 / 8, AT24_FLAG_ADDR16) },
++      { "isl12024-eeprom", AT24_DEVICE_MAGIC(4096 / 8, AT24_FLAG_ADDR16) },
        /* 24rf08 quirk is handled at i2c-core */
        { "24c08", AT24_DEVICE_MAGIC(8192 / 8, 0) },
        { "24c16", AT24_DEVICE_MAGIC(16384 / 8, 0) },
 Index: linux-2.6.29/drivers/rtc/Kconfig
 ===================================================================
 --- linux-2.6.29.orig/drivers/rtc/Kconfig      2009-03-24 00:12:14.000000000 +0100
-+++ linux-2.6.29/drivers/rtc/Kconfig   2009-04-01 17:37:45.000000000 +0200
++++ linux-2.6.29/drivers/rtc/Kconfig   2009-10-09 18:37:43.000000000 +0200
 @@ -128,6 +128,12 @@
  
  if I2C
  
 +config RTC_DRV_ISL12024
-+      tristate "Intersil 12024 RTC/ UniqueID"
++      tristate "Intersil 12024 RTC/Unique-ID"
 +      help
 +        If you say yes ....
 +        This driver can also be built as a module.
@@ -31,7 +31,7 @@ Index: linux-2.6.29/drivers/rtc/Kconfig
 Index: linux-2.6.29/drivers/rtc/Makefile
 ===================================================================
 --- linux-2.6.29.orig/drivers/rtc/Makefile     2009-03-24 00:12:14.000000000 +0100
-+++ linux-2.6.29/drivers/rtc/Makefile  2009-04-01 17:37:45.000000000 +0200
++++ linux-2.6.29/drivers/rtc/Makefile  2009-10-09 18:37:43.000000000 +0200
 @@ -39,6 +39,7 @@
  obj-$(CONFIG_RTC_DRV_EP93XX)  += rtc-ep93xx.o
  obj-$(CONFIG_RTC_DRV_FM3130)  += rtc-fm3130.o
@@ -40,100 +40,63 @@ Index: linux-2.6.29/drivers/rtc/Makefile
  obj-$(CONFIG_RTC_DRV_M41T80)  += rtc-m41t80.o
  obj-$(CONFIG_RTC_DRV_M41T94)  += rtc-m41t94.o
  obj-$(CONFIG_RTC_DRV_M48T35)  += rtc-m48t35.o
-Index: linux-2.6.29/drivers/rtc/isl12024.h
+Index: linux-2.6.29/drivers/rtc/rtc-isl12024.c
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.29/drivers/rtc/isl12024.h        2009-04-01 17:37:45.000000000 +0200
-@@ -0,0 +1,100 @@
++++ linux-2.6.29/drivers/rtc/rtc-isl12024.c    2009-10-09 19:05:21.000000000 +0200
+@@ -0,0 +1,498 @@
 +/*
-+ * Intersil ISL12024 chip registers definitions
++ * Intersil ISL12024 class driver
 + *
 + *
-+ * Copyright (C) 2008, CenoSYS (www.cenosys.com).
-+ * Guillaume Ligneul
-+ * Guillaume.ligneul@gmail.com
++ * Copyright (C) 2007, CenoSYS (www.cenosys.com).
++ * 
++ * Guillaume Ligneul <guillaume.ligneul@gmail.com>
++ * Sylvain Giroudon <sylvain.giroudon@goobie.fr>
++ * Jeremy Laine <jeremy.laine@bolloretelecom.eu>
 + *
 + * This software program is licensed subject to the GNU General Public License
 + * (GPL).Version 2,June 1991, available at http://www.fsf.org/copyleft/gpl.html
 + */
 +
-+#ifndef ISL12024_H_
-+#define ISL12024_H_
-+
-+#define ISL12024_REG_SR               0x3F    /* status register */
-+#define ISL12024_REG_Y2K              0x37
-+#define ISL12024_REG_DW               0x36
-+#define ISL12024_REG_YR               0x35
-+#define ISL12024_REG_MO               0x34
-+#define ISL12024_REG_DT               0x33
-+#define ISL12024_REG_HR               0x32
-+#define ISL12024_REG_MN               0x31
-+#define ISL12024_REG_SC               0x30
-+#define ISL12024_REG_DTR              0x13
-+#define ISL12024_REG_ATR              0x12
-+#define ISL12024_REG_INT              0x11
-+#define ISL12024_REG_0                0x10
-+#define ISL12024_REG_Y2K1             0x0F
-+#define ISL12024_REG_DWA1             0x0E
-+#define ISL12024_REG_YRA1             0x0D
-+#define ISL12024_REG_MOA1             0x0C
-+#define ISL12024_REG_DTA1             0x0B
-+#define ISL12024_REG_HRA1             0x0A
-+#define ISL12024_REG_MNA1             0x09
-+#define ISL12024_REG_SCA1             0x08
-+#define ISL12024_REG_Y2K0             0x07
-+#define ISL12024_REG_DWA0             0x06
-+#define ISL12024_REG_YRA0             0x05
-+#define ISL12024_REG_MOA0             0x04
-+#define ISL12024_REG_DTA0             0x03
-+#define ISL12024_REG_HRA0             0x02
-+#define ISL12024_REG_MNA0             0x01
-+#define ISL12024_REG_SCA0             0x00
++#include <linux/module.h>
++#include <linux/i2c.h>
++#include <linux/bcd.h>
++#include <linux/rtc.h>
++#include <linux/delay.h>
++
++#define DRV_VERSION "0.3"
 +
 +#define ISL12024_CCR_BASE             0x30    /* Base address of CCR */
 +#define ISL12024_ALM0_BASE            0x00    /* Base address of ALARM0 */
-+
-+#define ISL12024_SR_RTCF              0x01    /* Clock failure */
-+#define ISL12024_SR_WEL               0x02    /* Write Enable Latch */
-+#define ISL12024_SR_RWEL              0x04    /* Register Write Enable */
-+#define ISL12024_SR_AL0               0x20    /* Alarm 0 match */
-+
-+#define ISL12024_DTR_DTR0             0x01
-+#define ISL12024_DTR_DTR1             0x02
-+#define ISL12024_DTR_DTR2             0x04
-+
-+#define ISL12024_HR_MIL               0x80    /* Set in ccr.hour for 24 hr mode */
-+
 +#define ISL12024_INT_AL0E             0x20    /* Alarm 0 enable */
 +
-+/* I2C ADDRESS */
-+#define ISL12024_I2C_ADDR 0xDE
-+#define ISL12024_I2C_EEPROM_ADDR 0x57
++/* Register map */
 +
 +/* device id section */
 +#define ISL12024_REG_ID 0x20
 +
-+/* Register map */
 +/* rtc section */
 +#define ISL12024_REG_HR_MIL     (1<<7) /* 24h/12h mode */
 +#define ISL12024_REG_HR_PM      (1<<5) /* PM/AM bit in 12h mode */
-+//#define ISL12024_REG_DT  0x33  /* Date */
-+//#define ISL12024_REG_MO  0x34  /* Month */
-+//#define ISL12024_REG_YR  0x35  /* Year */
-+//#define ISL12024_REG_DW  0x36
-+//#define ISL12024_REG_Y2K 0x37
++#define ISL12024_REG_SC        0x30
++#define ISL12024_REG_DT  0x33  /* Date */
++#define ISL12024_REG_MO  0x34  /* Month */
++#define ISL12024_REG_YR  0x35  /* Year */
++#define ISL12024_REG_DW  0x36
++#define ISL12024_REG_Y2K 0x37
 +#define ISL12024_RTC_SECTION_LEN 8
 +
 +/* control/status section */
-+//#define ISL12024_REG_SR  0x3F
-+//#define ISL12024_REG_SR_BAT    (1<<7) /* battery */
-+//#define ISL12024_REG_SR_AL1    (1<<6) /* alarm 0 */
-+//#define ISL12024_REG_SR_AL0    (1<<5) /* alarm 1 */
-+//#define ISL12024_REG_SR_OSCF   (1<<4) /* oscillator fail */
-+//#define ISL12024_REG_SR_RWEL   (1<<2) /* register write enable latch */
-+//#define ISL12024_REG_SR_WEL    (1<<1) /* write enable latch */
-+//#define ISL12024_REG_SR_RTCF    (1<<0) /* rtc fail */
-+//#define ISL12024_REG_INT 0x11
++#define ISL12024_REG_SR  0x3F
++#define ISL12024_REG_SR_BAT    (1<<7) /* battery */
++#define ISL12024_REG_SR_AL1    (1<<6) /* alarm 0 */
++#define ISL12024_REG_SR_AL0    (1<<5) /* alarm 1 */
++#define ISL12024_REG_SR_OSCF   (1<<4) /* oscillator fail */
++#define ISL12024_REG_SR_RWEL   (1<<2) /* register write enable latch */
++#define ISL12024_REG_SR_WEL    (1<<1) /* write enable latch */
++#define ISL12024_REG_SR_RTCF   (1<<0) /* rtc fail */
++#define ISL12024_REG_INT 0x11
 +
 +#define CCR_SEC                       0
 +#define CCR_MIN                       1
@@ -144,73 +107,12 @@ Index: linux-2.6.29/drivers/rtc/isl12024.h
 +#define CCR_WDAY              6
 +#define CCR_Y2K                       7
 +
-+#endif /*ISL12024_H_*/
-Index: linux-2.6.29/drivers/rtc/rtc-isl12024.c
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.29/drivers/rtc/rtc-isl12024.c    2009-04-01 17:37:45.000000000 +0200
-@@ -0,0 +1,541 @@
-+/*
-+ * Intersil ISL12024 class driver
-+ *
-+ *
-+ * Copyright (C) 2007, CenoSYS (www.cenosys.com).
-+ * 
-+ * Guillaume Ligneul <guillaume.ligneul@gmail.com>
-+ * Sylvain Giroudon <sylvain.giroudon@goobie.fr>
-+ *
-+ * This software program is licensed subject to the GNU General Public License
-+ * (GPL).Version 2,June 1991, available at http://www.fsf.org/copyleft/gpl.html
-+ */
-+
-+#include <linux/module.h>
-+#include <linux/i2c.h>
-+#include <linux/bcd.h>
-+#include <linux/rtc.h>
-+#include <linux/proc_fs.h>
-+#include <linux/delay.h>
-+
-+#include "isl12024.h"
-+
-+
-+#define DBG 1
-+#undef DBG
-+
-+#define DRV_NAME "isl12024"
-+#define DRV_VERSION "0.2"
-+
-+/* i2c configuration */
-+static const unsigned short normal_i2c[] = {
-+      ISL12024_I2C_ADDR >>1, I2C_CLIENT_END
-+};
-+I2C_CLIENT_INSMOD;
-+
 +static int isl12024_get_status(struct i2c_client *client, unsigned char *sr);
 +static int isl12024_fix_osc(struct i2c_client *client);
 +
-+static int isl12024_attach_adapter(struct i2c_adapter *adapter);
-+static int isl12024_detach_client(struct i2c_client *client);
-+
-+
-+/* Bufer to store unique identifier in */
-+static u8 buf_id[ISL12024_RTC_SECTION_LEN] = { 0 };
-+
-+
-+// To debug (may be added in include/linux/i2c-id.h)
-+#define I2C_DRIVERID_ISL12024   97
-+
-+
-+static struct i2c_driver isl12024_driver = {
-+      .driver         = {
-+              .name   = DRV_NAME,
-+      },
-+      .id             = I2C_DRIVERID_ISL12024,
-+      .attach_adapter = &isl12024_attach_adapter,
-+      .detach_client  = &isl12024_detach_client,
-+};
++static struct i2c_driver isl12024_driver;
 +
-+
-+int
++static int
 +isl12024_i2c_read_regs(struct i2c_client *client, u8 reg, u8 buf[],
 +                     unsigned len)
 +{
@@ -228,7 +130,7 @@ Index: linux-2.6.29/drivers/rtc/rtc-isl12024.c
 +                                      .addr   = client->addr,
 +                                      .flags  = I2C_M_RD,
 +                                      .len    = len ,
-+                                      .buf    = buf ,
++                                      .buf    = buf,
 +                      },
 +      };
 +
@@ -243,10 +145,8 @@ Index: linux-2.6.29/drivers/rtc/rtc-isl12024.c
 +      return ret;
 +}
 +
-+EXPORT_SYMBOL(isl12024_i2c_read_regs);
 +
-+
-+int
++static int
 +isl12024_i2c_set_regs(struct i2c_client *client, u8 reg, u8 const buf[],
 +                     unsigned len)
 +{
@@ -270,13 +170,11 @@ Index: linux-2.6.29/drivers/rtc/rtc-isl12024.c
 +
 +      ret = i2c_transfer(client->adapter, msgs, 1);
 +      if ( ret < 0 )
-+              printk(KERN_ERR DRV_NAME ": i2c_transfer failed (%d)\n", ret);
++              dev_err(&client->dev, "i2c_transfer failed (%d)\n", ret);
 +
 +      return ret;
 +}
 +
-+EXPORT_SYMBOL(isl12024_i2c_set_regs);
-+
 +
 +static int isl12024_i2c_validate_client(struct i2c_client *client)
 +{
@@ -296,13 +194,11 @@ Index: linux-2.6.29/drivers/rtc/rtc-isl12024.c
 +      for (i = 0; i < ISL12024_RTC_SECTION_LEN; ++i) {
 +              if (regs[i] & zero_mask[i]) /* check if bits are cleared */
 +                      return -ENODEV;
-+
 +      }
 +
 +      return 0;
 +}
 +
-+
 +static int isl12024_read_time(struct i2c_client *client,
 +                               struct rtc_time *tm)
 +{
@@ -310,25 +206,16 @@ Index: linux-2.6.29/drivers/rtc/rtc-isl12024.c
 +      int err;
 +      u8 regs[ISL12024_RTC_SECTION_LEN] = { 0, };
 +
-+      //printk(KERN_INFO DRV_NAME "%s\n ",__FUNCTION__ );
-+
 +      if (isl12024_get_status(client, &sr) < 0) {
-+              dev_err(&client->dev, "%s: reading SR failed\n", __func__);
++              dev_err(&client->dev, "reading SR failed\n");
 +              return -EIO;
 +      }
 +
 +      err = isl12024_i2c_read_regs(client, ISL12024_REG_SC, regs, ISL12024_RTC_SECTION_LEN);
 +
-+#ifdef DBG
-+      int i;
-+      for(i=0; i<ISL12024_RTC_SECTION_LEN; i++)
-+              printk(KERN_INFO DRV_NAME "0x%2X\n", regs[i]);
-+#endif
-+
 +      if (err < 0) {
-+              dev_err(&client->dev, "%s: reading RTC section failed\n",
-+                              __func__);
-+              return sr;
++              dev_err(&client->dev, "reading RTC section failed\n");
++              return err;
 +      }
 +
 +      tm->tm_sec = bcd2bin(regs[0]);
@@ -353,7 +240,6 @@ Index: linux-2.6.29/drivers/rtc/rtc-isl12024.c
 +      return rtc_valid_tm(tm);
 +}
 +
-+
 +static int isl12024_get_status(struct i2c_client *client, unsigned char *sr)
 +{
 +      static unsigned char sr_addr[2] = { 0, ISL12024_REG_SR };
@@ -381,10 +267,10 @@ Index: linux-2.6.29/drivers/rtc/rtc-isl12024.c
 +      unsigned char rdata[10] = { 0, reg_base };
 +
 +      static const unsigned char wel[3] = { 0, ISL12024_REG_SR,
-+                                              ISL12024_SR_WEL };
++                                              ISL12024_REG_SR_WEL };
 +
 +      static const unsigned char rwel[3] = { 0, ISL12024_REG_SR,
-+                                              ISL12024_SR_WEL | ISL12024_SR_RWEL };
++                                              ISL12024_REG_SR_WEL | ISL12024_REG_SR_RWEL };
 +
 +      static const unsigned char diswe[3] = { 0, ISL12024_REG_SR, 0 };
 +
@@ -397,7 +283,7 @@ Index: linux-2.6.29/drivers/rtc/rtc-isl12024.c
 +      buf[CCR_MIN] = bin2bcd(tm->tm_min);
 +
 +      /* set hour and 24hr bit */
-+      buf[CCR_HOUR] = bin2bcd(tm->tm_hour) | ISL12024_HR_MIL;
++      buf[CCR_HOUR] = bin2bcd(tm->tm_hour) | ISL12024_REG_HR_MIL;
 +
 +      /* should we also set the date? */
 +      if (datetoo) {
@@ -494,7 +380,6 @@ Index: linux-2.6.29/drivers/rtc/rtc-isl12024.c
 +      return 0;
 +}
 +
-+
 +static int isl12024_fix_osc(struct i2c_client *client)
 +{
 +      int err;
@@ -504,26 +389,23 @@ Index: linux-2.6.29/drivers/rtc/rtc-isl12024.c
 +
 +      err = isl12024_set_datetime(client, &tm, 0, ISL12024_CCR_BASE, 0);
 +      if ( err < 0 )
-+              printk(KERN_ERR DRV_NAME ": Unable to restart the oscillator (%d)\n", err);
++              dev_err(&client->dev, "unable to restart the oscillator (%d)\n", err);
 +
 +      return err;
 +}
 +
-+
 +static int isl12024_rtc_read_time(struct device *dev, struct rtc_time *tm)
 +{
 +      return isl12024_read_time(to_i2c_client(dev), tm);
 +
 +}
 +
-+
 +static int isl12024_rtc_set_time(struct device *dev, struct rtc_time *tm)
 +{
 +      return isl12024_set_datetime(to_i2c_client(dev),
 +                      tm, 1, ISL12024_CCR_BASE, 0);
 +}
 +
-+
 +static int
 +isl12024_rtc_proc(struct device *dev, struct seq_file *seq)
 +{
@@ -533,144 +415,114 @@ Index: linux-2.6.29/drivers/rtc/rtc-isl12024.c
 +      return 0;
 +}
 +
-+
 +static const struct rtc_class_ops isl12024_rtc_ops = {
 +      .proc           = isl12024_rtc_proc,
 +      .read_time      = isl12024_rtc_read_time,
 +      .set_time       = isl12024_rtc_set_time,
 +};
 +
-+static int
-+read_proc(char * page, char ** start, off_t off, int count, int * eof, void * data)
++static ssize_t isl12024_show_id(struct device *dev, struct device_attribute *attr,
++                          char *buf)
 +{
++      struct i2c_client *client = to_i2c_client(dev);
++      int err;
 +      int len = 0;
 +      int i;
++      u8 id_buffer[ISL12024_RTC_SECTION_LEN];
 +
-+      for (i = 0; i < ISL12024_RTC_SECTION_LEN; i++)
-+              len += sprintf(page+len, "%02X", buf_id[i]);
-+      len += sprintf(page+len, "\n");
-+
-+      len -= off;
-+      if ( len < count ) {
-+              *eof = 1;
-+              if ( len <= 0 )
-+                      return 0;
-+      } else {
-+              len = count;
++      /* Read unique id from eeprom */
++      err = isl12024_i2c_read_regs(client, ISL12024_REG_ID, id_buffer, sizeof(id_buffer));
++      if (err < 0) {
++              dev_err(&client->dev, "reading RTC section failed\n");
++              return err;
 +      }
 +
-+      *start = page + off;
-+
++      /* Print hexadecimal */
++      for (i = 0; i < sizeof(id_buffer); i++)
++              len += sprintf(buf + len, "%02X", id_buffer[i]);
++      len += sprintf(buf + len, "\n");
 +      return len;
 +}
 +
++static DEVICE_ATTR(id, S_IRUGO, isl12024_show_id, NULL);
 +
 +static int
-+isl12024_probe(struct i2c_adapter *adapter, int addr, int kind)
++isl12024_probe(struct i2c_client *client, const struct i2c_device_id *id)
 +{
 +      int rc = 0;
-+      int err = 0;
 +      unsigned char sr;
-+      struct i2c_client *new_client = NULL;
 +      struct rtc_device *rtc = NULL;
-+      struct proc_dir_entry *proc_root;
-+      struct proc_dir_entry *proc_entry;
-+
-+      if (!i2c_check_functionality(adapter, I2C_FUNC_I2C)) {
-+              rc = -ENODEV;
-+              goto failout;
-+      }
-+
-+      new_client = kzalloc(sizeof(struct i2c_client), GFP_KERNEL);
-+      if (new_client == NULL) {
-+              rc = -ENOMEM;
-+              goto failout;
-+      }
 +
-+      new_client->addr = addr;
-+      new_client->adapter = adapter;
-+      new_client->driver = &isl12024_driver;
-+      new_client->flags = 0;
-+      strcpy(new_client->name, DRV_NAME);
++      if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
++              return -ENODEV;
 +
-+      if (kind < 0) {
-+              rc = isl12024_i2c_validate_client(new_client);
-+              if (rc < 0)
-+                      goto failout;
-+      }
++      if (isl12024_i2c_validate_client(client) < 0)
++              return -ENODEV;
 +
-+      rc = i2c_attach_client(new_client);
-+      if (rc < 0)
-+              goto failout;
++        dev_info(&client->dev,
++                 "chip found, driver version " DRV_VERSION "\n");
 +
 +      rtc = rtc_device_register(isl12024_driver.driver.name,
-+                                &new_client->dev,
-+                                &isl12024_rtc_ops, THIS_MODULE);
-+
-+      if (IS_ERR(rtc)) {
-+              printk(KERN_ERR DRV_NAME ": Error during rtc registration\n");
-+              rc = PTR_ERR(rtc);
-+              goto failout;
++                                &client->dev, &isl12024_rtc_ops,
++                                THIS_MODULE);
++
++      if (IS_ERR(rtc))
++              return PTR_ERR(rtc);
++
++      i2c_set_clientdata(client, rtc);
++
++      rc = isl12024_get_status(client, &sr);
++        if (rc < 0) {
++                dev_err(&client->dev, "reading status failed\n");
++                goto exit_unregister;
++        }
++
++      /* Check for power failures and enable the osc */
++      if (sr & ISL12024_REG_SR_RTCF) {
++              dev_warn(&client->dev, "rtc power failure detected, "
++                       "please set clock.\n");
++              udelay(50);
++              isl12024_fix_osc(client);
 +      }
 +
-+      i2c_set_clientdata(new_client, rtc);
-+
-+      /* Check for power failures and eventualy enable the osc */
-+      if ((err = isl12024_get_status(new_client, &sr)) == 0) {
-+              if (sr & ISL12024_SR_RTCF) {
-+                      printk(KERN_INFO DRV_NAME ": Power failure detected, please set the clock\n");
-+                      udelay(50);
-+                      isl12024_fix_osc(new_client);
-+              }
-+      }
-+      else {
-+              printk(KERN_ERR DRV_NAME ": Couldn't read status\n");
-+      }
-+
-+      proc_root = proc_mkdir(DRV_NAME, 0);
-+      proc_entry = create_proc_entry("id",  S_IFREG | S_IRUGO, proc_root);
-+      if (proc_entry == NULL)
-+              return -1;
-+
-+      proc_entry->owner = THIS_MODULE;
-+      proc_entry->read_proc = read_proc;
-+
-+      /* Read unique id from eeprom */
-+      isl12024_i2c_read_regs(new_client, ISL12024_REG_ID, buf_id, sizeof(buf_id));
++      /* Register sysfs hooks */
++      rc = device_create_file(&client->dev, &dev_attr_id);
++      if (rc < 0)
++              goto exit_unregister;
 +
 +      return 0;
 +
-+ failout:
-+      kfree(new_client);
-+      return rc;
-+}
++exit_unregister:
++      rtc_device_unregister(rtc);
 +
-+
-+static int
-+isl12024_attach_adapter (struct i2c_adapter *adapter)
-+{
-+      return i2c_probe(adapter, &addr_data, isl12024_probe);
++      return rc;
 +}
 +
-+
 +static int
-+isl12024_detach_client(struct i2c_client *client)
++isl12024_remove(struct i2c_client *client)
 +{
-+      int rc;
-+      struct rtc_device *const rtc = i2c_get_clientdata(client);
++      struct rtc_device *rtc = i2c_get_clientdata(client);
 +
-+      if (rtc)
-+              rtc_device_unregister(rtc);
-+
-+      rc = i2c_detach_client(client);
-+      if (rc)
-+              return rc;
-+
-+      kfree(client);
++      rtc_device_unregister(rtc);
++      device_remove_file(&client->dev, &dev_attr_id);
 +
 +      return 0;
 +}
 +
++static const struct i2c_device_id isl12024_id[] = {
++        { "isl12024", 0 },
++        { }
++};
++MODULE_DEVICE_TABLE(i2c, isl12024_id);
++
++static struct i2c_driver isl12024_driver = {
++        .driver = {
++                   .name = "rtc-isl12024",
++                   },
++        .probe = isl12024_probe,
++        .remove = isl12024_remove,
++        .id_table = isl12024_id,
++};
 +
 +/* module init/exit */
 +
@@ -1,7 +1,7 @@
 Index: linux-2.6.29/drivers/hwmon/Kconfig
 ===================================================================
---- linux-2.6.29.orig/drivers/hwmon/Kconfig    2009-08-25 17:33:48.000000000 +0200
-+++ linux-2.6.29/drivers/hwmon/Kconfig 2009-08-25 17:34:24.000000000 +0200
+--- linux-2.6.29.orig/drivers/hwmon/Kconfig    2009-10-05 18:27:57.000000000 +0200
++++ linux-2.6.29/drivers/hwmon/Kconfig 2009-10-05 18:28:35.000000000 +0200
 @@ -448,6 +448,15 @@
          This driver can also be built as a module.  If so, the module
          will be called lm70.
@@ -11,7 +11,7 @@ Index: linux-2.6.29/drivers/hwmon/Kconfig
 +      depends on I2C
 +      help
 +        If you say yes here you get support for National Semiconductor LM73
-+        sensor chips
++        sensor chips.
 +        This driver can also be built as a module.  If so, the module
 +        will be called lm73.
 +
@@ -21,102 +21,98 @@ Index: linux-2.6.29/drivers/hwmon/Kconfig
 Index: linux-2.6.29/drivers/hwmon/lm73.c
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.29/drivers/hwmon/lm73.c  2009-08-25 18:43:49.000000000 +0200
-@@ -0,0 +1,243 @@
-+ /*
++++ linux-2.6.29/drivers/hwmon/lm73.c  2009-10-05 18:28:49.000000000 +0200
+@@ -0,0 +1,205 @@
++/*
 + * LM73 Sensor driver
 + * Based on LM75
 + *
 + * Copyright (C) 2007, CenoSYS (www.cenosys.com).
 + * Copyright (C) 2009, Bollore telecom (www.bolloretelecom.eu).
 + *
-+ * Guillaume Ligneul (Guillaume.ligneul@gmail.com)
++ * Guillaume Ligneul <guillaume.ligneul@cenosys.com>
 + * Adrien Demarez <adrien.demarez@bolloretelecom.eu>
 + * Jeremy Laine <jeremy.laine@bolloretelecom.eu>
 + *
 + * This software program is licensed subject to the GNU General Public License
-+ * (GPL).Version 2,June 1991, available at http://www.fsf.org/copyleft/gpl.html
++ * (GPL).Version 2,June 1991, available at
++ * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
 + */
 +
 +#include <linux/module.h>
 +#include <linux/init.h>
 +#include <linux/slab.h>
-+#include <linux/jiffies.h>
 +#include <linux/i2c.h>
 +#include <linux/hwmon.h>
 +#include <linux/hwmon-sysfs.h>
 +#include <linux/err.h>
-+#include <linux/mutex.h>
 +
 +
 +/* Addresses scanned */
-+static const unsigned short normal_i2c[] = { 0x48, 0x49, 0x4a, 0x4b, 0x4c,
-+                                      0x4d, 0x4e, 0x4f, I2C_CLIENT_END };
++static const unsigned short normal_i2c[] = { 0x48, 0x49, 0x4a, 0x4c,
++                                      0x4d, 0x4e, I2C_CLIENT_END };
 +
 +/* Insmod parameters */
 +I2C_CLIENT_INSMOD_1(lm73);
 +
 +/* LM73 registers */
++#define LM73_REG_INPUT                0x00
 +#define LM73_REG_CONF         0x01
-+static const u8 LM73_REG_TEMP[3] = {
-+      0x00,           /* input */
-+      0x02,           /* max */
-+      0x03,           /* min  */
-+};
-+
-+/* Each client has this additional data */
-+struct lm73_data {
-+      struct device           *hwmon_dev;
-+      struct mutex            update_lock;
-+      u16                     temp[3];        /* Register values,
-+                                                 0 = input
-+                                                 1 = max
-+                                                 2 = min */
-+};
-+
-+static int lm73_read_value(struct i2c_client *client, u8 reg);
-+static int lm73_write_value(struct i2c_client *client, u8 reg, short value);
++#define LM73_REG_MAX          0x02
++#define LM73_REG_MIN          0x03
++#define LM73_REG_CTRL         0x04
++#define LM73_REG_ID           0x07
 +
++#define LM73_ID                       0x9001 /* or 0x190 after a swab16() */
++#define DRVNAME                       "lm73"
++#define LM73_TEMP_MIN         (-40)
++#define LM73_TEMP_MAX         150
 +
 +/*-----------------------------------------------------------------------*/
 +
-+/* sysfs attributes for hwmon */
 +
-+static ssize_t show_temp(struct device *dev, struct device_attribute *da,
-+                       char *buf)
++static ssize_t set_temp(struct device *dev, struct device_attribute *da,
++                      const char *buf, size_t count)
 +{
 +      struct sensor_device_attribute *attr = to_sensor_dev_attr(da);
 +      struct i2c_client *client = to_i2c_client(dev);
-+      struct lm73_data *data = i2c_get_clientdata(client);
-+      int iTemp = 0;
++      long temp;
++      short value;
 +
-+      mutex_lock(&data->update_lock);
-+      iTemp = lm73_read_value(client, LM73_REG_TEMP[attr->index]);
-+      mutex_unlock(&data->update_lock);
++      int status = strict_strtol(buf, 10, &temp);
++      if(status < 0)
++              return status;
 +
-+      return sprintf(buf, "%d\n", iTemp);
++      /* Write value */
++      value = (short) SENSORS_LIMIT(temp/250, (LM73_TEMP_MIN*4),
++              (LM73_TEMP_MAX*4)) << 5;
++      i2c_smbus_write_word_data(client, attr->index, swab16(value));
++      return count;
 +}
 +
-+static ssize_t set_temp(struct device *dev, struct device_attribute *da,
-+                      const char *buf, size_t count)
++static ssize_t show_temp(struct device *dev, struct device_attribute *da,
++                       char *buf)
 +{
 +      struct sensor_device_attribute *attr = to_sensor_dev_attr(da);
 +      struct i2c_client *client = to_i2c_client(dev);
-+      struct lm73_data *data = i2c_get_clientdata(client);
-+      int nr = attr->index;
-+      long temp = simple_strtol(buf, NULL, 10);
-+
-+      mutex_lock(&data->update_lock);
-+      lm73_write_value(client, LM73_REG_TEMP[nr], temp);
-+      mutex_unlock(&data->update_lock);
-+      return count;
++      /* use integer division instead of equivalent right shift to
++         guarantee arithmetic shift and preserve the sign */
++      int temp = ((s16) (swab16(i2c_smbus_read_word_data(client,
++              attr->index)))*250) / 32;
++      return sprintf(buf, "%d\n", temp);
 +}
 +
++
++/*-----------------------------------------------------------------------*/
++
++/* sysfs attributes for hwmon */
++
 +static SENSOR_DEVICE_ATTR(temp1_max, S_IWUSR | S_IRUGO,
-+                      show_temp, set_temp, 1);
++                      show_temp, set_temp, LM73_REG_MAX);
 +static SENSOR_DEVICE_ATTR(temp1_min, S_IWUSR | S_IRUGO,
-+                      show_temp, set_temp, 2);
-+static SENSOR_DEVICE_ATTR(temp1_input, S_IRUGO, show_temp, NULL, 0);
++                      show_temp, set_temp, LM73_REG_MIN);
++static SENSOR_DEVICE_ATTR(temp1_input, S_IRUGO,
++                      show_temp, NULL, LM73_REG_INPUT);
 +
 +
 +static struct attribute *lm73_attributes[] = {
@@ -138,52 +134,38 @@ Index: linux-2.6.29/drivers/hwmon/lm73.c
 +static int
 +lm73_probe(struct i2c_client *client, const struct i2c_device_id *id)
 +{
-+      struct lm73_data *data;
++      struct device *hwmon_dev;
 +      int status;
 +
-+      if (!i2c_check_functionality(client->adapter,
-+                      I2C_FUNC_SMBUS_BYTE_DATA | I2C_FUNC_SMBUS_WORD_DATA))
-+            return -EIO;
-+
-+      data = kzalloc(sizeof(struct lm73_data), GFP_KERNEL);
-+      if (!data)
-+              return -ENOMEM;
-+
-+      i2c_set_clientdata(client, data);
-+      mutex_init(&data->update_lock);
-+
 +      /* Register sysfs hooks */
 +      status = sysfs_create_group(&client->dev.kobj, &lm73_group);
 +      if (status)
-+              goto exit_free;
++              return status;
 +
-+      data->hwmon_dev = hwmon_device_register(&client->dev);
-+      if (IS_ERR(data->hwmon_dev)) {
-+              status = PTR_ERR(data->hwmon_dev);
++      hwmon_dev = hwmon_device_register(&client->dev);
++      if (IS_ERR(hwmon_dev)) {
++              status = PTR_ERR(hwmon_dev);
 +              goto exit_remove;
 +      }
++      i2c_set_clientdata(client, hwmon_dev);
 +
 +      dev_info(&client->dev, "%s: sensor '%s'\n",
-+               dev_name(data->hwmon_dev), client->name);
++               dev_name(hwmon_dev), client->name);
 +
 +      return 0;
 +
 +exit_remove:
 +      sysfs_remove_group(&client->dev.kobj, &lm73_group);
-+exit_free:
-+      i2c_set_clientdata(client, NULL);
-+      kfree(data);
 +      return status;
 +}
 +
 +static int lm73_remove(struct i2c_client *client)
 +{
-+      struct lm73_data *data = i2c_get_clientdata(client);
++      struct device *hwmon_dev = i2c_get_clientdata(client);
 +
-+      hwmon_device_unregister(data->hwmon_dev);
++      hwmon_device_unregister(hwmon_dev);
 +      sysfs_remove_group(&client->dev.kobj, &lm73_group);
 +      i2c_set_clientdata(client, NULL);
-+      kfree(data);
 +      return 0;
 +}
 +
@@ -195,17 +177,22 @@ Index: linux-2.6.29/drivers/hwmon/lm73.c
 +
 +/* Return 0 if detection is successful, -ENODEV otherwise */
 +static int lm73_detect(struct i2c_client *new_client, int kind,
-+                     struct i2c_board_info *info)
++                      struct i2c_board_info *info)
 +{
 +      struct i2c_adapter *adapter = new_client->adapter;
++      u16 id;
++      u8 ctrl;
 +
 +      if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA |
-+                                   I2C_FUNC_SMBUS_WORD_DATA))
++                                      I2C_FUNC_SMBUS_WORD_DATA))
++              return -ENODEV;
++
++      /* Check device ID */
++      id = i2c_smbus_read_word_data(new_client, LM73_REG_ID);
++      ctrl = i2c_smbus_read_byte_data(new_client, LM73_REG_CTRL);
++      if ((id != LM73_ID) || (ctrl & 0x10))
 +              return -ENODEV;
 +
-+      /* NOTE: we treat "force=..." and "force_lm73=..." the same.
-+       * Only new-style driver binding distinguishes chip types.
-+       */
 +      strlcpy(info->type, "lm73", I2C_NAME_SIZE);
 +
 +      return 0;
@@ -223,31 +210,6 @@ Index: linux-2.6.29/drivers/hwmon/lm73.c
 +      .address_data   = &addr_data,
 +};
 +
-+/*-----------------------------------------------------------------------*/
-+
-+/* register access */
-+
-+static int lm73_read_value(struct i2c_client *client, u8 reg)
-+{
-+      short value;
-+
-+      if (reg == LM73_REG_CONF)
-+              return i2c_smbus_read_byte_data(client, reg);
-+
-+      value = swab16(i2c_smbus_read_word_data(client, reg)) >> 7;
-+      return value;
-+}
-+
-+static int lm73_write_value(struct i2c_client *client, u8 reg, short value)
-+{
-+      if (reg == LM73_REG_CONF)
-+              return i2c_smbus_write_byte_data(client, reg, value);
-+      else
-+              return i2c_smbus_write_word_data(client, reg, swab16(value<<7));
-+}
-+
-+/*-----------------------------------------------------------------------*/
-+
 +/* module glue */
 +
 +static int __init sensors_lm73_init(void)
@@ -260,7 +222,7 @@ Index: linux-2.6.29/drivers/hwmon/lm73.c
 +      i2c_del_driver(&lm73_driver);
 +}
 +
-+MODULE_AUTHOR("Ligneul Guillaume <guillaume.ligneul@gmail.com>");
++MODULE_AUTHOR("Guillaume Ligneul <guillaume.ligneul@cenosys.com>");
 +MODULE_DESCRIPTION("LM73 driver");
 +MODULE_LICENSE("GPL");
 +
@@ -268,8 +230,8 @@ Index: linux-2.6.29/drivers/hwmon/lm73.c
 +module_exit(sensors_lm73_exit);
 Index: linux-2.6.29/drivers/hwmon/Makefile
 ===================================================================
---- linux-2.6.29.orig/drivers/hwmon/Makefile   2009-08-25 17:33:48.000000000 +0200
-+++ linux-2.6.29/drivers/hwmon/Makefile        2009-08-25 17:34:24.000000000 +0200
+--- linux-2.6.29.orig/drivers/hwmon/Makefile   2009-10-05 18:27:57.000000000 +0200
++++ linux-2.6.29/drivers/hwmon/Makefile        2009-10-05 18:28:35.000000000 +0200
 @@ -54,6 +54,7 @@
  obj-$(CONFIG_SENSORS_LIS3LV02D) += lis3lv02d.o hp_accel.o
  obj-$(CONFIG_SENSORS_LM63)    += lm63.o
@@ -1,8 +1,8 @@
 Index: linux-2.6.29/arch/powerpc/platforms/83xx/mpc831x_rdb.c
 ===================================================================
---- linux-2.6.29.orig/arch/powerpc/platforms/83xx/mpc831x_rdb.c        2009-03-24 00:12:14.000000000 +0100
-+++ linux-2.6.29/arch/powerpc/platforms/83xx/mpc831x_rdb.c     2009-04-01 17:37:53.000000000 +0200
-@@ -15,17 +15,87 @@
+--- linux-2.6.29.orig/arch/powerpc/platforms/83xx/mpc831x_rdb.c        2009-10-05 18:55:57.000000000 +0200
++++ linux-2.6.29/arch/powerpc/platforms/83xx/mpc831x_rdb.c     2009-10-05 18:57:15.000000000 +0200
+@@ -15,17 +15,78 @@
  
  #include <linux/pci.h>
  #include <linux/of_platform.h>
@@ -32,7 +32,6 @@ Index: linux-2.6.29/arch/powerpc/platforms/83xx/mpc831x_rdb.c
 +
 +static void mpc83xx_spi_activate_cs(u8 cs, u8 polarity)
 +{
-+      //printk(KERN_INFO "%s %d %d\n", __func__, cs, polarity);
 +      if (polarity)
 +              setbits32(&gpio_regs->gpdat, 1 << (31 - 14));
 +      else
@@ -41,7 +40,6 @@ Index: linux-2.6.29/arch/powerpc/platforms/83xx/mpc831x_rdb.c
 +
 +static void mpc83xx_spi_deactivate_cs(u8 cs, u8 polarity)
 +{
-+//printk(KERN_INFO "%s %d %d\n", __func__, cs, polarity);
 +      if (polarity)
 +              clrbits32(&gpio_regs->gpdat, 1 << (31 - 14));
 +      else
@@ -49,16 +47,11 @@ Index: linux-2.6.29/arch/powerpc/platforms/83xx/mpc831x_rdb.c
 +
 +}
 +
-+//static struct mmc_spi_platform_data mpc8313_mmc_pdata = {
-+//    .ocr_mask = MMC_VDD_33_34,
-+//};
-+
 +static struct spi_board_info mpc8313_spi_boardinfo = {
 +      .bus_num = 0x7000,
 +      .chip_select = 0,
 +      .max_speed_hz = 50000000,
 +      .modalias = "spidev",
-+//    .platform_data = &mpc8313_mmc_pdata,
 +};
 +
 +static int __init mpc8313_spi_init(void)
@@ -84,25 +77,22 @@ Index: linux-2.6.29/arch/powerpc/platforms/83xx/mpc831x_rdb.c
 +                      mpc83xx_spi_activate_cs,
 +                      mpc83xx_spi_deactivate_cs);
 +}
-+
-+device_initcall(mpc8313_spi_init);
 +
  static void __init mpc831x_rdb_setup_arch(void)
  {
  #ifdef CONFIG_PCI
-@@ -40,6 +110,8 @@
+@@ -40,6 +101,7 @@
                mpc83xx_add_bridge(np);
  #endif
        mpc831x_usb_cfg();
-+
 +      mpc8313_spi_init();
  }
  
  static void __init mpc831x_rdb_init_IRQ(void)
 Index: linux-2.6.29/drivers/spi/spi_mpc83xx.c
 ===================================================================
---- linux-2.6.29.orig/drivers/spi/spi_mpc83xx.c        2009-03-24 00:12:14.000000000 +0100
-+++ linux-2.6.29/drivers/spi/spi_mpc83xx.c     2009-04-01 17:37:53.000000000 +0200
+--- linux-2.6.29.orig/drivers/spi/spi_mpc83xx.c        2009-10-05 18:55:57.000000000 +0200
++++ linux-2.6.29/drivers/spi/spi_mpc83xx.c     2009-10-05 18:59:01.000000000 +0200
 @@ -280,7 +280,9 @@
        if (pm)
                pm--;
@@ -141,7 +131,7 @@ Index: linux-2.6.29/drivers/spi/spi_mpc83xx.c
  
        mpc83xx_spi->workqueue = create_singlethread_workqueue(
 -              master->dev.parent->bus_id);
-+                      dev->dev.bus_id);
++              dev->dev.bus_id);
        if (mpc83xx_spi->workqueue == NULL) {
                ret = -EBUSY;
                goto free_irq;
index fb0b5fb..1abe296 100644 (file)
                                interrupt-parent = <&ipic>;
                                dfsrr;
                                rtc@6f {
-                                       compatible = "isl12024";
+                                       compatible = "intersil,isl12024";
                                        reg = <0x6f>;
                                };
                                dtt@49 {
                                        reg = <0x50>;
                                };
                                at24@57 {
-                                       compatible = "at24,isl12024";
+                                       compatible = "at24,isl12024-eeprom";
                                        reg = <0x57>;
                                };
                        };
index 2066652..b71373a 100644 (file)
                                interrupt-parent = <&ipic>;
                                dfsrr;
                                rtc@6f {
-                                       compatible = "isl12024";
+                                       compatible = "intersil,isl12024";
                                        reg = <0x6f>;
                                };
                                dtt@49 {
                                        reg = <0x50>;
                                };
                                at24@57 {
-                                       compatible = "at24,isl12024";
+                                       compatible = "at24,isl12024-eeprom";
                                        reg = <0x57>;
                                };
                        };
diff --git a/recipes/linux/linux-2.6.30/tosa/defconfig b/recipes/linux/linux-2.6.30/tosa/defconfig
new file mode 100644 (file)
index 0000000..dfb77ad
--- /dev/null
@@ -0,0 +1,2013 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.29
+# Wed Mar 25 18:20:11 2009
+#
+CONFIG_ARM=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_GENERIC_TIME=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_MMU=y
+# CONFIG_NO_IOPORT is not set
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_MTD_XIP=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_AUDIT is not set
+
+#
+# RCU Subsystem
+#
+CONFIG_CLASSIC_RCU=y
+# CONFIG_TREE_RCU is not set
+# CONFIG_PREEMPT_RCU is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_PREEMPT_RCU_TRACE is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_GROUP_SCHED is not set
+# CONFIG_CGROUPS is not set
+CONFIG_SYSFS_DEPRECATED=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+# CONFIG_RELAY is not set
+# CONFIG_NAMESPACES is not set
+# CONFIG_BLK_DEV_INITRD is not set
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+CONFIG_EMBEDDED=y
+CONFIG_UID16=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+# CONFIG_ELF_CORE is not set
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_COMPAT_BRK=y
+CONFIG_SLAB=y
+# CONFIG_SLUB is not set
+# CONFIG_SLOB is not set
+# CONFIG_PROFILING is not set
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_KPROBES is not set
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_CLK=y
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_BLOCK=y
+# CONFIG_LBD is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_BLK_DEV_BSG is not set
+# CONFIG_BLK_DEV_INTEGRITY is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=m
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+# CONFIG_DEFAULT_AS is not set
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+CONFIG_DEFAULT_NOOP=y
+CONFIG_DEFAULT_IOSCHED="noop"
+CONFIG_FREEZER=y
+
+#
+# System Type
+#
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_IOP13XX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_KIRKWOOD is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_NS9XXX is not set
+# CONFIG_ARCH_LOKI is not set
+# CONFIG_ARCH_MV78XX0 is not set
+# CONFIG_ARCH_MXC is not set
+# CONFIG_ARCH_ORION5X is not set
+# CONFIG_ARCH_PNX4008 is not set
+CONFIG_ARCH_PXA=y
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_S3C64XX is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_DAVINCI is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_MSM is not set
+# CONFIG_ARCH_W90X900 is not set
+
+#
+# Intel PXA2xx/PXA3xx Implementations
+#
+# CONFIG_ARCH_GUMSTIX is not set
+# CONFIG_MACH_INTELMOTE2 is not set
+# CONFIG_ARCH_LUBBOCK is not set
+# CONFIG_MACH_LOGICPD_PXA270 is not set
+# CONFIG_MACH_MAINSTONE is not set
+# CONFIG_MACH_MP900C is not set
+# CONFIG_ARCH_PXA_IDP is not set
+CONFIG_PXA_SHARPSL=y
+# CONFIG_MACH_POODLE is not set
+# CONFIG_MACH_CORGI is not set
+# CONFIG_MACH_SHEPHERD is not set
+# CONFIG_MACH_HUSKY is not set
+# CONFIG_MACH_AKITA is not set
+# CONFIG_MACH_SPITZ is not set
+# CONFIG_MACH_BORZOI is not set
+CONFIG_MACH_TOSA=y
+# CONFIG_ARCH_VIPER is not set
+# CONFIG_ARCH_PXA_ESERIES is not set
+# CONFIG_TRIZEPS_PXA is not set
+# CONFIG_MACH_H5000 is not set
+# CONFIG_MACH_EM_X270 is not set
+# CONFIG_MACH_COLIBRI is not set
+# CONFIG_MACH_ZYLONITE is not set
+# CONFIG_MACH_LITTLETON is not set
+# CONFIG_MACH_TAVOREVB is not set
+# CONFIG_MACH_SAAR is not set
+# CONFIG_MACH_ARMCORE is not set
+# CONFIG_MACH_CM_X300 is not set
+# CONFIG_MACH_MAGICIAN is not set
+# CONFIG_MACH_MIOA701 is not set
+# CONFIG_MACH_PCM027 is not set
+# CONFIG_ARCH_PXA_PALM is not set
+# CONFIG_PXA_EZX is not set
+CONFIG_PXA25x=y
+CONFIG_PXA_SSP=y
+# CONFIG_PXA_PWM is not set
+# CONFIG_TOSA_BT is not set
+CONFIG_PXA_HAVE_BOARD_IRQS=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_XSCALE=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_PABRT_NOIFAR=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_TLB_V4WBI=y
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_OUTER_CACHE is not set
+# CONFIG_IWMMXT is not set
+CONFIG_XSCALE_PMU=y
+CONFIG_SHARP_PARAM=y
+CONFIG_SHARP_SCOOP=y
+CONFIG_COMMON_CLKDEV=y
+
+#
+# Bus support
+#
+# CONFIG_PCI_SYSCALL is not set
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+CONFIG_PCCARD=y
+# CONFIG_PCMCIA_DEBUG is not set
+CONFIG_PCMCIA=y
+CONFIG_PCMCIA_LOAD_CIS=y
+# CONFIG_PCMCIA_IOCTL is not set
+
+#
+# PC-card bridges
+#
+CONFIG_PCMCIA_PXA2XX=y
+
+#
+# Kernel Features
+#
+CONFIG_TICK_ONESHOT=y
+# CONFIG_NO_HZ is not set
+# CONFIG_HIGH_RES_TIMERS is not set
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_VMSPLIT_3G=y
+# CONFIG_VMSPLIT_2G is not set
+# CONFIG_VMSPLIT_1G is not set
+CONFIG_PAGE_OFFSET=0xC0000000
+CONFIG_PREEMPT=y
+CONFIG_HZ=100
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ARCH_FLATMEM_HAS_HOLES=y
+# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
+# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+# CONFIG_PHYS_ADDR_T_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=0
+CONFIG_VIRT_TO_BUS=y
+CONFIG_UNEVICTABLE_LRU=y
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE=" debug "
+# CONFIG_XIP_KERNEL is not set
+CONFIG_KEXEC=y
+CONFIG_ATAGS_PROC=y
+
+#
+# CPU Power Management
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=y
+# CONFIG_CPU_FREQ_DEBUG is not set
+CONFIG_CPU_FREQ_STAT=y
+# CONFIG_CPU_FREQ_STAT_DETAILS is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_CPU_FREQ_PXA=y
+# CONFIG_CPU_IDLE is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_HAVE_AOUT=y
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+
+#
+# Power management options
+#
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+CONFIG_PM_SLEEP=y
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+CONFIG_APM_EMULATION=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_COMPAT_NET_DEV_OPS=y
+CONFIG_PACKET=m
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+CONFIG_XFRM_USER=m
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+CONFIG_XFRM_IPCOMP=m
+CONFIG_NET_KEY=m
+# CONFIG_NET_KEY_MIGRATE is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
+CONFIG_INET_XFRM_MODE_TUNNEL=m
+CONFIG_INET_XFRM_MODE_BEET=m
+# CONFIG_INET_LRO is not set
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_IPV6=m
+# CONFIG_IPV6_PRIVACY is not set
+# CONFIG_IPV6_ROUTER_PREF is not set
+# CONFIG_IPV6_OPTIMISTIC_DAD is not set
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+# CONFIG_IPV6_MIP6 is not set
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_BEET=m
+# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
+CONFIG_IPV6_SIT=m
+CONFIG_IPV6_NDISC_NODETYPE=y
+CONFIG_IPV6_TUNNEL=m
+# CONFIG_IPV6_MULTIPLE_TABLES is not set
+# CONFIG_IPV6_MROUTE is not set
+# CONFIG_NETWORK_SECMARK is not set
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_NETFILTER_ADVANCED=y
+
+#
+# Core Netfilter Configuration
+#
+# CONFIG_NETFILTER_NETLINK_QUEUE is not set
+# CONFIG_NETFILTER_NETLINK_LOG is not set
+# CONFIG_NF_CONNTRACK is not set
+CONFIG_NETFILTER_XTABLES=m
+# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
+# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
+# CONFIG_NETFILTER_XT_TARGET_MARK is not set
+# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
+# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
+# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
+# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
+# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
+# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set
+# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
+# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
+# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
+# CONFIG_NETFILTER_XT_MATCH_ESP is not set
+# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
+# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set
+# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
+# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
+# CONFIG_NETFILTER_XT_MATCH_MAC is not set
+# CONFIG_NETFILTER_XT_MATCH_MARK is not set
+# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
+# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
+# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
+# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
+# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
+# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
+# CONFIG_NETFILTER_XT_MATCH_REALM is not set
+# CONFIG_NETFILTER_XT_MATCH_RECENT is not set
+# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
+# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
+# CONFIG_NETFILTER_XT_MATCH_STRING is not set
+# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
+# CONFIG_NETFILTER_XT_MATCH_TIME is not set
+# CONFIG_NETFILTER_XT_MATCH_U32 is not set
+# CONFIG_IP_VS is not set
+
+#
+# IP: Netfilter Configuration
+#
+# CONFIG_NF_DEFRAG_IPV4 is not set
+CONFIG_IP_NF_QUEUE=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_ADDRTYPE=m
+CONFIG_IP_NF_MATCH_AH=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_LOG=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_TTL=m
+CONFIG_IP_NF_RAW=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+
+#
+# IPv6: Netfilter Configuration
+#
+# CONFIG_IP6_NF_QUEUE is not set
+# CONFIG_IP6_NF_IPTABLES is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_NET_DSA is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+# CONFIG_NET_SCHED is not set
+# CONFIG_DCB is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+# CONFIG_IRDA_ULTRA is not set
+
+#
+# IrDA options
+#
+# CONFIG_IRDA_CACHE_LAST_LSAP is not set
+# CONFIG_IRDA_FAST_RR is not set
+# CONFIG_IRDA_DEBUG is not set
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+# CONFIG_IRTTY_SIR is not set
+
+#
+# Dongle support
+#
+# CONFIG_KINGSUN_DONGLE is not set
+# CONFIG_KSDAZZLE_DONGLE is not set
+# CONFIG_KS959_DONGLE is not set
+
+#
+# FIR device drivers
+#
+# CONFIG_USB_IRDA is not set
+# CONFIG_SIGMATEL_FIR is not set
+CONFIG_PXA_FICP=m
+# CONFIG_MCS_FIR is not set
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+# CONFIG_BT_HCIBTUSB is not set
+# CONFIG_BT_HCIBTSDIO is not set
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+# CONFIG_BT_HCIUART_LL is not set
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+# CONFIG_AF_RXRPC is not set
+# CONFIG_PHONET is not set
+CONFIG_WIRELESS=y
+# CONFIG_CFG80211 is not set
+CONFIG_WIRELESS_OLD_REGULATORY=y
+CONFIG_WIRELESS_EXT=y
+CONFIG_WIRELESS_EXT_SYSFS=y
+CONFIG_LIB80211=m
+CONFIG_LIB80211_CRYPT_WEP=m
+CONFIG_LIB80211_CRYPT_CCMP=m
+CONFIG_LIB80211_CRYPT_TKIP=m
+# CONFIG_LIB80211_DEBUG is not set
+# CONFIG_MAC80211 is not set
+# CONFIG_WIMAX is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+CONFIG_FIRMWARE_IN_KERNEL=y
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_SYS_HYPERVISOR is not set
+# CONFIG_CONNECTOR is not set
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_TESTS is not set
+# CONFIG_MTD_REDBOOT_PARTS is not set
+# CONFIG_MTD_CMDLINE_PARTS is not set
+# CONFIG_MTD_AFS_PARTS is not set
+# CONFIG_MTD_AR7_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_MTD_OOPS is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_RAM is not set
+CONFIG_MTD_ROM=y
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PHYSMAP is not set
+CONFIG_MTD_SHARP_SL=y
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_DATAFLASH is not set
+# CONFIG_MTD_M25P80 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+# CONFIG_MTD_NAND_ECC_SMC is not set
+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
+# CONFIG_MTD_NAND_H1900 is not set
+# CONFIG_MTD_NAND_GPIO is not set
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+# CONFIG_MTD_NAND_SHARPSL is not set
+CONFIG_MTD_NAND_TMIO=y
+# CONFIG_MTD_NAND_NANDSIM is not set
+# CONFIG_MTD_NAND_PLATFORM is not set
+# CONFIG_MTD_ALAUDA is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+
+#
+# UBI - Unsorted block images
+#
+# CONFIG_MTD_UBI is not set
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_UB is not set
+# CONFIG_BLK_DEV_RAM is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+CONFIG_MISC_DEVICES=y
+# CONFIG_ICS932S401 is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+# CONFIG_EEPROM_AT24 is not set
+# CONFIG_EEPROM_AT25 is not set
+# CONFIG_EEPROM_LEGACY is not set
+# CONFIG_EEPROM_93CX6 is not set
+CONFIG_HAVE_IDE=y
+CONFIG_IDE=y
+
+#
+# Please see Documentation/ide/ide.txt for help/info on IDE drives
+#
+CONFIG_IDE_ATAPI=y
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_IDE_GD=y
+CONFIG_IDE_GD_ATA=y
+# CONFIG_IDE_GD_ATAPI is not set
+CONFIG_BLK_DEV_IDECS=y
+CONFIG_BLK_DEV_IDECD=m
+CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
+# CONFIG_BLK_DEV_IDETAPE is not set
+# CONFIG_IDE_TASK_IOCTL is not set
+CONFIG_IDE_PROC_FS=y
+
+#
+# IDE chipset support/bugfixes
+#
+# CONFIG_BLK_DEV_PLATFORM is not set
+# CONFIG_BLK_DEV_IDEDMA is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=m
+CONFIG_SCSI_DMA=y
+# CONFIG_SCSI_TGT is not set
+# CONFIG_SCSI_NETLINK is not set
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+# CONFIG_BLK_DEV_SR_VENDOR is not set
+CONFIG_CHR_DEV_SG=m
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+# CONFIG_SCSI_SRP_ATTRS is not set
+CONFIG_SCSI_LOWLEVEL=y
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_LIBFC is not set
+# CONFIG_SCSI_DEBUG is not set
+# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
+# CONFIG_SCSI_DH is not set
+# CONFIG_ATA is not set
+CONFIG_MD=y
+# CONFIG_BLK_DEV_MD is not set
+CONFIG_BLK_DEV_DM=m
+# CONFIG_DM_DEBUG is not set
+CONFIG_DM_CRYPT=m
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+# CONFIG_DM_DELAY is not set
+# CONFIG_DM_UEVENT is not set
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+# CONFIG_VETH is not set
+# CONFIG_PHYLIB is not set
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=m
+# CONFIG_AX88796 is not set
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+# CONFIG_ENC28J60 is not set
+# CONFIG_SMC911X is not set
+# CONFIG_SMSC911X is not set
+# CONFIG_DNET is not set
+# CONFIG_IBM_NEW_EMAC_ZMII is not set
+# CONFIG_IBM_NEW_EMAC_RGMII is not set
+# CONFIG_IBM_NEW_EMAC_TAH is not set
+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
+# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
+# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
+# CONFIG_B44 is not set
+CONFIG_NETDEV_1000=y
+CONFIG_NETDEV_10000=y
+
+#
+# Wireless LAN
+#
+# CONFIG_WLAN_PRE80211 is not set
+CONFIG_WLAN_80211=y
+# CONFIG_PCMCIA_RAYCS is not set
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_USB=m
+CONFIG_LIBERTAS_CS=m
+CONFIG_LIBERTAS_SDIO=m
+# CONFIG_LIBERTAS_DEBUG is not set
+CONFIG_HERMES=m
+CONFIG_HERMES_CACHE_FW_ON_INIT=y
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+CONFIG_ATMEL=m
+CONFIG_PCMCIA_ATMEL=m
+CONFIG_AIRO_CS=m
+CONFIG_PCMCIA_WL3501=m
+CONFIG_USB_ZD1201=m
+# CONFIG_USB_NET_RNDIS_WLAN is not set
+# CONFIG_IWLWIFI_LEDS is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
+CONFIG_HOSTAP_CS=m
+
+#
+# Enable WiMAX (Networking options) to see the WiMAX drivers
+#
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_CDCETHER=m
+# CONFIG_USB_NET_DM9601 is not set
+# CONFIG_USB_NET_SMSC95XX is not set
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+# CONFIG_USB_NET_MCS7830 is not set
+# CONFIG_USB_NET_RNDIS_HOST is not set
+# CONFIG_USB_NET_CDC_SUBSET is not set
+# CONFIG_USB_NET_ZAURUS is not set
+CONFIG_NET_PCMCIA=y
+# CONFIG_PCMCIA_3C589 is not set
+# CONFIG_PCMCIA_3C574 is not set
+# CONFIG_PCMCIA_FMVJ18X is not set
+CONFIG_PCMCIA_PCNET=m
+# CONFIG_PCMCIA_NMCLAN is not set
+# CONFIG_PCMCIA_SMC91C92 is not set
+# CONFIG_PCMCIA_XIRC2PS is not set
+# CONFIG_PCMCIA_AXNET is not set
+# CONFIG_WAN is not set
+CONFIG_PPP=m
+# CONFIG_PPP_MULTILINK is not set
+# CONFIG_PPP_FILTER is not set
+CONFIG_PPP_ASYNC=m
+# CONFIG_PPP_SYNC_TTY is not set
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_PPP_MPPE is not set
+# CONFIG_PPPOE is not set
+# CONFIG_PPPOL2TP is not set
+# CONFIG_SLIP is not set
+CONFIG_SLHC=m
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+# CONFIG_INPUT_POLLDEV is not set
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=640
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+# CONFIG_INPUT_APMPOWER is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_CORGI is not set
+# CONFIG_KEYBOARD_SPITZ is not set
+CONFIG_KEYBOARD_TOSA=y
+# CONFIG_KEYBOARD_TOSA_USE_EXT_KEYCODES is not set
+CONFIG_KEYBOARD_GPIO=y
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TABLET is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_ADS7846 is not set
+# CONFIG_TOUCHSCREEN_CORGI is not set
+# CONFIG_TOUCHSCREEN_FUJITSU is not set
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_INEXIO is not set
+# CONFIG_TOUCHSCREEN_MK712 is not set
+# CONFIG_TOUCHSCREEN_PENMOUNT is not set
+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
+CONFIG_TOUCHSCREEN_WM97XX=y
+# CONFIG_TOUCHSCREEN_WM9705 is not set
+CONFIG_TOUCHSCREEN_WM9712=y
+# CONFIG_TOUCHSCREEN_WM9713 is not set
+# CONFIG_TOUCHSCREEN_WM97XX_MAINSTONE is not set
+# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
+# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
+# CONFIG_TOUCHSCREEN_TSC2007 is not set
+CONFIG_INPUT_MISC=y
+# CONFIG_INPUT_ATI_REMOTE is not set
+# CONFIG_INPUT_ATI_REMOTE2 is not set
+# CONFIG_INPUT_KEYSPAN_REMOTE is not set
+# CONFIG_INPUT_POWERMATE is not set
+# CONFIG_INPUT_YEALINK is not set
+# CONFIG_INPUT_CM109 is not set
+CONFIG_INPUT_UINPUT=m
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_VT_HW_CONSOLE_BINDING is not set
+CONFIG_DEVKMEM=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=m
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_IPMI_HANDLER is not set
+CONFIG_HW_RANDOM=m
+# CONFIG_R3964 is not set
+
+#
+# PCMCIA character devices
+#
+# CONFIG_SYNCLINK_CS is not set
+# CONFIG_CARDMAN_4000 is not set
+# CONFIG_CARDMAN_4040 is not set
+# CONFIG_IPWIRELESS is not set
+# CONFIG_RAW_DRIVER is not set
+# CONFIG_TCG_TPM is not set
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+# CONFIG_I2C_CHARDEV is not set
+CONFIG_I2C_HELPER_AUTO=y
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_GPIO is not set
+# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_PXA=y
+# CONFIG_I2C_PXA_SLAVE is not set
+# CONFIG_I2C_SIMTEC is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_TAOS_EVM is not set
+# CONFIG_I2C_TINY_USB is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+# CONFIG_I2C_PCA_PLATFORM is not set
+# CONFIG_I2C_STUB is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_DS1682 is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_PCF8575 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+CONFIG_SPI=y
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+# CONFIG_SPI_BITBANG is not set
+# CONFIG_SPI_GPIO is not set
+CONFIG_SPI_PXA2XX=y
+
+#
+# SPI Protocol Masters
+#
+# CONFIG_SPI_SPIDEV is not set
+# CONFIG_SPI_TLE62X0 is not set
+CONFIG_ARCH_REQUIRE_GPIOLIB=y
+CONFIG_GPIOLIB=y
+# CONFIG_GPIO_SYSFS is not set
+
+#
+# Memory mapped GPIO expanders:
+#
+
+#
+# I2C GPIO expanders:
+#
+# CONFIG_GPIO_MAX732X is not set
+# CONFIG_GPIO_PCA953X is not set
+# CONFIG_GPIO_PCF857X is not set
+
+#
+# PCI GPIO expanders:
+#
+
+#
+# SPI GPIO expanders:
+#
+# CONFIG_GPIO_MAX7301 is not set
+# CONFIG_GPIO_MCP23S08 is not set
+# CONFIG_W1 is not set
+CONFIG_POWER_SUPPLY=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+CONFIG_PDA_POWER=y
+CONFIG_APM_POWER=y
+# CONFIG_BATTERY_DS2760 is not set
+CONFIG_BATTERY_TOSA=y
+# CONFIG_BATTERY_WM97XX is not set
+# CONFIG_BATTERY_BQ27x00 is not set
+# CONFIG_HWMON is not set
+# CONFIG_THERMAL is not set
+# CONFIG_THERMAL_HWMON is not set
+# CONFIG_WATCHDOG is not set
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+# CONFIG_SSB is not set
+
+#
+# Multifunction device drivers
+#
+CONFIG_MFD_CORE=y
+# CONFIG_MFD_SM501 is not set
+# CONFIG_MFD_ASIC3 is not set
+# CONFIG_HTC_EGPIO is not set
+# CONFIG_HTC_PASIC3 is not set
+# CONFIG_UCB1400_CORE is not set
+# CONFIG_TPS65010 is not set
+# CONFIG_TWL4030_CORE is not set
+CONFIG_MFD_TMIO=y
+# CONFIG_MFD_T7L66XB is not set
+# CONFIG_MFD_TC6387XB is not set
+CONFIG_MFD_TC6393XB=y
+# CONFIG_PMIC_DA903X is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM8350_I2C is not set
+# CONFIG_MFD_PCF50633 is not set
+
+#
+# Multimedia devices
+#
+
+#
+# Multimedia core support
+#
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_V4L2_COMMON=m
+CONFIG_VIDEO_ALLOW_V4L1=y
+CONFIG_VIDEO_V4L1_COMPAT=y
+# CONFIG_DVB_CORE is not set
+CONFIG_VIDEO_MEDIA=m
+
+#
+# Multimedia drivers
+#
+# CONFIG_MEDIA_ATTACH is not set
+CONFIG_MEDIA_TUNER=m
+# CONFIG_MEDIA_TUNER_CUSTOMIZE is not set
+CONFIG_MEDIA_TUNER_SIMPLE=m
+CONFIG_MEDIA_TUNER_TDA8290=m
+CONFIG_MEDIA_TUNER_TDA9887=m
+CONFIG_MEDIA_TUNER_TEA5761=m
+CONFIG_MEDIA_TUNER_TEA5767=m
+CONFIG_MEDIA_TUNER_MT20XX=m
+CONFIG_MEDIA_TUNER_XC2028=m
+CONFIG_MEDIA_TUNER_XC5000=m
+CONFIG_VIDEO_V4L2=m
+CONFIG_VIDEO_V4L1=m
+CONFIG_VIDEO_CAPTURE_DRIVERS=y
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
+# CONFIG_VIDEO_VIVI is not set
+# CONFIG_VIDEO_CPIA is not set
+# CONFIG_VIDEO_CPIA2 is not set
+# CONFIG_VIDEO_SAA5246A is not set
+# CONFIG_VIDEO_SAA5249 is not set
+# CONFIG_SOC_CAMERA is not set
+CONFIG_V4L_USB_DRIVERS=y
+# CONFIG_USB_VIDEO_CLASS is not set
+CONFIG_USB_GSPCA=m
+# CONFIG_USB_M5602 is not set
+# CONFIG_USB_STV06XX is not set
+# CONFIG_USB_GSPCA_CONEX is not set
+# CONFIG_USB_GSPCA_ETOMS is not set
+# CONFIG_USB_GSPCA_FINEPIX is not set
+# CONFIG_USB_GSPCA_MARS is not set
+# CONFIG_USB_GSPCA_OV519 is not set
+# CONFIG_USB_GSPCA_OV534 is not set
+# CONFIG_USB_GSPCA_PAC207 is not set
+# CONFIG_USB_GSPCA_PAC7311 is not set
+# CONFIG_USB_GSPCA_SONIXB is not set
+# CONFIG_USB_GSPCA_SONIXJ is not set
+# CONFIG_USB_GSPCA_SPCA500 is not set
+# CONFIG_USB_GSPCA_SPCA501 is not set
+# CONFIG_USB_GSPCA_SPCA505 is not set
+# CONFIG_USB_GSPCA_SPCA506 is not set
+# CONFIG_USB_GSPCA_SPCA508 is not set
+# CONFIG_USB_GSPCA_SPCA561 is not set
+# CONFIG_USB_GSPCA_STK014 is not set
+# CONFIG_USB_GSPCA_SUNPLUS is not set
+# CONFIG_USB_GSPCA_T613 is not set
+# CONFIG_USB_GSPCA_TV8532 is not set
+# CONFIG_USB_GSPCA_VC032X is not set
+# CONFIG_USB_GSPCA_ZC3XX is not set
+# CONFIG_VIDEO_PVRUSB2 is not set
+# CONFIG_VIDEO_EM28XX is not set
+# CONFIG_VIDEO_USBVISION is not set
+CONFIG_VIDEO_USBVIDEO=m
+CONFIG_USB_VICAM=m
+CONFIG_USB_IBMCAM=m
+CONFIG_USB_KONICAWC=m
+# CONFIG_USB_QUICKCAM_MESSENGER is not set
+# CONFIG_USB_ET61X251 is not set
+# CONFIG_VIDEO_OVCAMCHIP is not set
+CONFIG_USB_OV511=m
+CONFIG_USB_SE401=m
+CONFIG_USB_SN9C102=m
+CONFIG_USB_STV680=m
+# CONFIG_USB_ZC0301 is not set
+# CONFIG_USB_PWC is not set
+# CONFIG_USB_ZR364XX is not set
+# CONFIG_USB_STKWEBCAM is not set
+# CONFIG_USB_S2255 is not set
+CONFIG_RADIO_ADAPTERS=y
+CONFIG_USB_DSBR=m
+# CONFIG_USB_SI470X is not set
+# CONFIG_USB_MR800 is not set
+# CONFIG_RADIO_TEA5764 is not set
+CONFIG_DAB=y
+CONFIG_USB_DABUSB=m
+
+#
+# Graphics support
+#
+# CONFIG_VGASTATE is not set
+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+CONFIG_FB=y
+# CONFIG_FIRMWARE_EDID is not set
+# CONFIG_FB_DDC is not set
+# CONFIG_FB_BOOT_VESA_SUPPORT is not set
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+# CONFIG_FB_SYS_FILLRECT is not set
+# CONFIG_FB_SYS_COPYAREA is not set
+# CONFIG_FB_SYS_IMAGEBLIT is not set
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+# CONFIG_FB_SYS_FOPS is not set
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_PXA is not set
+# CONFIG_FB_MBX is not set
+# CONFIG_FB_W100 is not set
+CONFIG_FB_TMIO=y
+CONFIG_FB_TMIO_ACCELL=y
+# CONFIG_FB_VIRTUAL is not set
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=y
+# CONFIG_LCD_CORGI is not set
+# CONFIG_LCD_LTV350QV is not set
+# CONFIG_LCD_ILI9320 is not set
+# CONFIG_LCD_TDO24M is not set
+# CONFIG_LCD_VGG2432A4 is not set
+# CONFIG_LCD_PLATFORM is not set
+CONFIG_LCD_TOSA=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_GENERIC=y
+CONFIG_BACKLIGHT_TOSA=y
+
+#
+# Display device support
+#
+# CONFIG_DISPLAY_SUPPORT is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+# CONFIG_FONT_8x16 is not set
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+# CONFIG_LOGO is not set
+CONFIG_SOUND=y
+CONFIG_SOUND_OSS_CORE=y
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_HWDEP=m
+CONFIG_SND_RAWMIDI=m
+# CONFIG_SND_SEQUENCER is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+# CONFIG_SND_DYNAMIC_MINORS is not set
+# CONFIG_SND_SUPPORT_OLD_API is not set
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+CONFIG_SND_VMASTER=y
+CONFIG_SND_AC97_CODEC=y
+CONFIG_SND_DRIVERS=y
+CONFIG_SND_DUMMY=m
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+# CONFIG_SND_AC97_POWER_SAVE is not set
+CONFIG_SND_ARM=y
+CONFIG_SND_PXA2XX_LIB=y
+CONFIG_SND_PXA2XX_LIB_AC97=y
+# CONFIG_SND_PXA2XX_AC97 is not set
+CONFIG_SND_SPI=y
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=m
+# CONFIG_SND_USB_CAIAQ is not set
+CONFIG_SND_PCMCIA=y
+# CONFIG_SND_VXPOCKET is not set
+# CONFIG_SND_PDAUDIOCF is not set
+CONFIG_SND_SOC=y
+CONFIG_SND_SOC_AC97_BUS=y
+CONFIG_SND_PXA2XX_SOC=y
+CONFIG_SND_PXA2XX_SOC_AC97=y
+CONFIG_SND_PXA2XX_SOC_TOSA=y
+CONFIG_SND_SOC_I2C_AND_SPI=y
+# CONFIG_SND_SOC_ALL_CODECS is not set
+CONFIG_SND_SOC_WM9712=y
+# CONFIG_SOUND_PRIME is not set
+CONFIG_AC97_BUS=y
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=m
+# CONFIG_HID_DEBUG is not set
+# CONFIG_HIDRAW is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=m
+# CONFIG_HID_PID is not set
+# CONFIG_USB_HIDDEV is not set
+
+#
+# USB HID Boot Protocol drivers
+#
+# CONFIG_USB_KBD is not set
+# CONFIG_USB_MOUSE is not set
+
+#
+# Special HID drivers
+#
+CONFIG_HID_COMPAT=y
+CONFIG_HID_A4TECH=m
+CONFIG_HID_APPLE=m
+CONFIG_HID_BELKIN=m
+CONFIG_HID_CHERRY=m
+CONFIG_HID_CHICONY=m
+CONFIG_HID_CYPRESS=m
+CONFIG_HID_EZKEY=m
+CONFIG_HID_GYRATION=m
+CONFIG_HID_LOGITECH=m
+# CONFIG_LOGITECH_FF is not set
+# CONFIG_LOGIRUMBLEPAD2_FF is not set
+CONFIG_HID_MICROSOFT=m
+CONFIG_HID_MONTEREY=m
+# CONFIG_HID_NTRIG is not set
+CONFIG_HID_PANTHERLORD=m
+# CONFIG_PANTHERLORD_FF is not set
+CONFIG_HID_PETALYNX=m
+CONFIG_HID_SAMSUNG=m
+CONFIG_HID_SONY=m
+CONFIG_HID_SUNPLUS=m
+# CONFIG_GREENASIA_FF is not set
+# CONFIG_HID_TOPSEED is not set
+# CONFIG_THRUSTMASTER_FF is not set
+# CONFIG_ZEROPLUS_FF is not set
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+# CONFIG_USB_ARCH_HAS_EHCI is not set
+CONFIG_USB=m
+# CONFIG_USB_DEBUG is not set
+# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+CONFIG_USB_DEVICE_CLASS=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_SUSPEND is not set
+# CONFIG_USB_OTG is not set
+# CONFIG_USB_OTG_WHITELIST is not set
+# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+CONFIG_USB_MON=m
+# CONFIG_USB_WUSB is not set
+# CONFIG_USB_WUSB_CBAF is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_C67X00_HCD is not set
+# CONFIG_USB_OXU210HP_HCD is not set
+# CONFIG_USB_ISP116X_HCD is not set
+CONFIG_USB_OHCI_HCD=m
+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+# CONFIG_USB_R8A66597_HCD is not set
+# CONFIG_USB_HWA_HCD is not set
+# CONFIG_USB_MUSB_HDRC is not set
+# CONFIG_USB_GADGET_MUSB_HDRC is not set
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+# CONFIG_USB_WDM is not set
+# CONFIG_USB_TMC is not set
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed;
+#
+
+#
+# see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_STORAGE_ONETOUCH is not set
+# CONFIG_USB_STORAGE_KARMA is not set
+# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+#
+# USB port drivers
+#
+CONFIG_USB_SERIAL=m
+CONFIG_USB_EZUSB=y
+CONFIG_USB_SERIAL_GENERIC=y
+# CONFIG_USB_SERIAL_AIRCABLE is not set
+# CONFIG_USB_SERIAL_ARK3116 is not set
+CONFIG_USB_SERIAL_BELKIN=m
+# CONFIG_USB_SERIAL_CH341 is not set
+# CONFIG_USB_SERIAL_WHITEHEAT is not set
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CP2101=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+# CONFIG_USB_SERIAL_FUNSOFT is not set
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+# CONFIG_USB_SERIAL_IUU is not set
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+# CONFIG_USB_SERIAL_MOS7720 is not set
+# CONFIG_USB_SERIAL_MOS7840 is not set
+# CONFIG_USB_SERIAL_MOTOROLA is not set
+# CONFIG_USB_SERIAL_NAVMAN is not set
+CONFIG_USB_SERIAL_PL2303=m
+# CONFIG_USB_SERIAL_OTI6858 is not set
+# CONFIG_USB_SERIAL_SPCP8X5 is not set
+# CONFIG_USB_SERIAL_HP4X is not set
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+# CONFIG_USB_SERIAL_SIEMENS_MPI is not set
+# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+# CONFIG_USB_SERIAL_OPTION is not set
+CONFIG_USB_SERIAL_OMNINET=m
+# CONFIG_USB_SERIAL_OPTICON is not set
+# CONFIG_USB_SERIAL_DEBUG is not set
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+# CONFIG_USB_ADUTUX is not set
+# CONFIG_USB_SEVSEG is not set
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+# CONFIG_USB_BERRY_CHARGE is not set
+CONFIG_USB_LED=m
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+CONFIG_USB_CYTHERM=m
+# CONFIG_USB_PHIDGET is not set
+CONFIG_USB_IDMOUSE=m
+# CONFIG_USB_FTDI_ELAN is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_IOWARRIOR is not set
+# CONFIG_USB_TEST is not set
+# CONFIG_USB_ISIGHTFW is not set
+# CONFIG_USB_VST is not set
+CONFIG_USB_GADGET=m
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+CONFIG_USB_GADGET_VBUS_DRAW=2
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_AT91 is not set
+# CONFIG_USB_GADGET_ATMEL_USBA is not set
+# CONFIG_USB_GADGET_FSL_USB2 is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+CONFIG_USB_GADGET_PXA25X=y
+CONFIG_USB_PXA25X=m
+# CONFIG_USB_PXA25X_SMALL is not set
+# CONFIG_USB_GADGET_PXA27X is not set
+# CONFIG_USB_GADGET_S3C2410 is not set
+# CONFIG_USB_GADGET_IMX is not set
+# CONFIG_USB_GADGET_M66592 is not set
+# CONFIG_USB_GADGET_AMD5536UDC is not set
+# CONFIG_USB_GADGET_FSL_QE is not set
+# CONFIG_USB_GADGET_CI13XXX is not set
+# CONFIG_USB_GADGET_NET2280 is not set
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+# CONFIG_USB_GADGET_DUALSPEED is not set
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+# CONFIG_USB_FILE_STORAGE_TEST is not set
+CONFIG_USB_G_SERIAL=m
+# CONFIG_USB_MIDI_GADGET is not set
+# CONFIG_USB_G_PRINTER is not set
+# CONFIG_USB_CDC_COMPOSITE is not set
+
+#
+# OTG and related infrastructure
+#
+# CONFIG_USB_GPIO_VBUS is not set
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_UNSAFE_RESUME=y
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_BLOCK_BOUNCE=y
+CONFIG_SDIO_UART=m
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+CONFIG_MMC_PXA=y
+# CONFIG_MMC_SDHCI is not set
+# CONFIG_MMC_SPI is not set
+# CONFIG_MMC_TMIO is not set
+# CONFIG_MEMSTICK is not set
+# CONFIG_ACCESSIBILITY is not set
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+# CONFIG_LEDS_PCA9532 is not set
+CONFIG_LEDS_GPIO=y
+# CONFIG_LEDS_PCA955X is not set
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=m
+CONFIG_LEDS_TRIGGER_IDE_DISK=y
+# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
+# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
+# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+# CONFIG_RTC_DEBUG is not set
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# I2C RTC drivers
+#
+# CONFIG_RTC_DRV_DS1307 is not set
+# CONFIG_RTC_DRV_DS1374 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_MAX6900 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_ISL1208 is not set
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_PCF8583 is not set
+# CONFIG_RTC_DRV_M41T80 is not set
+# CONFIG_RTC_DRV_S35390A is not set
+# CONFIG_RTC_DRV_FM3130 is not set
+# CONFIG_RTC_DRV_RX8581 is not set
+
+#
+# SPI RTC drivers
+#
+# CONFIG_RTC_DRV_M41T94 is not set
+# CONFIG_RTC_DRV_DS1305 is not set
+# CONFIG_RTC_DRV_DS1390 is not set
+# CONFIG_RTC_DRV_MAX6902 is not set
+# CONFIG_RTC_DRV_R9701 is not set
+# CONFIG_RTC_DRV_RS5C348 is not set
+# CONFIG_RTC_DRV_DS3234 is not set
+
+#
+# Platform RTC drivers
+#
+# CONFIG_RTC_DRV_CMOS is not set
+# CONFIG_RTC_DRV_DS1286 is not set
+# CONFIG_RTC_DRV_DS1511 is not set
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_STK17TA8 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+# CONFIG_RTC_DRV_M48T35 is not set
+# CONFIG_RTC_DRV_M48T59 is not set
+# CONFIG_RTC_DRV_BQ4802 is not set
+# CONFIG_RTC_DRV_V3020 is not set
+
+#
+# on-CPU RTC drivers
+#
+CONFIG_RTC_DRV_SA1100=y
+# CONFIG_RTC_DRV_PXA is not set
+# CONFIG_DMADEVICES is not set
+# CONFIG_REGULATOR is not set
+# CONFIG_UIO is not set
+CONFIG_STAGING=y
+# CONFIG_STAGING_EXCLUDE_BUILD is not set
+# CONFIG_MEILHAUS is not set
+# CONFIG_USB_IP_COMMON is not set
+CONFIG_PRISM2_USB=m
+# CONFIG_ECHO is not set
+# CONFIG_USB_ATMEL is not set
+# CONFIG_COMEDI is not set
+# CONFIG_ASUS_OLED is not set
+# CONFIG_INPUT_MIMIO is not set
+# CONFIG_TRANZPORT is not set
+
+#
+# Android
+#
+# CONFIG_ANDROID is not set
+# CONFIG_ANDROID_BINDER_IPC is not set
+# CONFIG_ANDROID_LOGGER is not set
+# CONFIG_ANDROID_RAM_CONSOLE is not set
+# CONFIG_ANDROID_TIMED_GPIO is not set
+# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_FS_XATTR is not set
+# CONFIG_EXT4_FS is not set
+CONFIG_JBD=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+CONFIG_FILE_LOCKING=y
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_BTRFS_FS is not set
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+# CONFIG_QUOTA is not set
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+CONFIG_FUSE_FS=m
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+# CONFIG_ZISOFS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# CONFIG_HUGETLB_PAGE is not set
+# CONFIG_CONFIGFS_FS is not set
+# CONFIG_MISC_FILESYSTEMS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+CONFIG_NFS_V4=y
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+# CONFIG_SUNRPC_REGISTER_V4 is not set
+CONFIG_RPCSEC_GSS_KRB5=m
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+CONFIG_SMB_FS=m
+CONFIG_SMB_NLS_DEFAULT=y
+CONFIG_SMB_NLS_REMOTE="cp437"
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+# CONFIG_CIFS_WEAK_PW_HASH is not set
+# CONFIG_CIFS_XATTR is not set
+# CONFIG_CIFS_DEBUG2 is not set
+# CONFIG_CIFS_EXPERIMENTAL is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+# CONFIG_SYSV68_PARTITION is not set
+CONFIG_NLS=m
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=m
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=m
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=m
+# CONFIG_DLM is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_WARN_DEPRECATED=y
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_FRAME_WARN=1024
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_UNUSED_SYMBOLS is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_KERNEL is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+# CONFIG_DEBUG_MEMORY_INIT is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
+# CONFIG_LATENCYTOP is not set
+# CONFIG_SYSCTL_SYSCALL_CHECK is not set
+CONFIG_HAVE_FUNCTION_TRACER=y
+
+#
+# Tracers
+#
+# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_DEBUG_USER is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+# CONFIG_SECURITYFS is not set
+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+# CONFIG_CRYPTO_FIPS is not set
+CONFIG_CRYPTO_ALGAPI=m
+CONFIG_CRYPTO_ALGAPI2=m
+CONFIG_CRYPTO_AEAD=m
+CONFIG_CRYPTO_AEAD2=m
+CONFIG_CRYPTO_BLKCIPHER=m
+CONFIG_CRYPTO_BLKCIPHER2=m
+CONFIG_CRYPTO_HASH=m
+CONFIG_CRYPTO_HASH2=m
+CONFIG_CRYPTO_RNG2=m
+CONFIG_CRYPTO_MANAGER=m
+CONFIG_CRYPTO_MANAGER2=m
+# CONFIG_CRYPTO_GF128MUL is not set
+CONFIG_CRYPTO_NULL=m
+# CONFIG_CRYPTO_CRYPTD is not set
+CONFIG_CRYPTO_AUTHENC=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Authenticated Encryption with Associated Data
+#
+# CONFIG_CRYPTO_CCM is not set
+# CONFIG_CRYPTO_GCM is not set
+# CONFIG_CRYPTO_SEQIV is not set
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=m
+# CONFIG_CRYPTO_CTR is not set
+# CONFIG_CRYPTO_CTS is not set
+CONFIG_CRYPTO_ECB=m
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_PCBC is not set
+# CONFIG_CRYPTO_XTS is not set
+
+#
+# Hash modes
+#
+CONFIG_CRYPTO_HMAC=m
+# CONFIG_CRYPTO_XCBC is not set
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+# CONFIG_CRYPTO_RMD128 is not set
+# CONFIG_CRYPTO_RMD160 is not set
+# CONFIG_CRYPTO_RMD256 is not set
+# CONFIG_CRYPTO_RMD320 is not set
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+# CONFIG_CRYPTO_TGR192 is not set
+CONFIG_CRYPTO_WP512=m
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_BLOWFISH=m
+# CONFIG_CRYPTO_CAMELLIA is not set
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_DES=m
+# CONFIG_CRYPTO_FCRYPT is not set
+CONFIG_CRYPTO_KHAZAD=m
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_SEED is not set
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_TWOFISH_COMMON=m
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=m
+# CONFIG_CRYPTO_LZO is not set
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+CONFIG_CRYPTO_HW=y
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+CONFIG_CRC_CCITT=m
+# CONFIG_CRC16 is not set
+# CONFIG_CRC_T10DIF is not set
+# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC32=y
+# CONFIG_CRC7 is not set
+CONFIG_LIBCRC32C=m
+CONFIG_ZLIB_INFLATE=m
+CONFIG_ZLIB_DEFLATE=m
+CONFIG_PLIST=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
diff --git a/recipes/linux/linux-2.6.31/db1200/defconfig b/recipes/linux/linux-2.6.31/db1200/defconfig
new file mode 100644 (file)
index 0000000..41dfab3
--- /dev/null
@@ -0,0 +1,1341 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.25.10
+# Fri Aug 22 01:13:55 2008
+#
+CONFIG_MIPS=y
+
+#
+# Machine selection
+#
+CONFIG_MACH_ALCHEMY=y
+# CONFIG_BASLER_EXCITE is not set
+# CONFIG_BCM47XX is not set
+# CONFIG_MIPS_COBALT is not set
+# CONFIG_MACH_DECSTATION is not set
+# CONFIG_MACH_JAZZ is not set
+# CONFIG_LASAT is not set
+# CONFIG_LEMOTE_FULONG is not set
+# CONFIG_MIPS_ATLAS is not set
+# CONFIG_MIPS_MALTA is not set
+# CONFIG_MIPS_SEAD is not set
+# CONFIG_MIPS_SIM is not set
+# CONFIG_MARKEINS is not set
+# CONFIG_MACH_VR41XX is not set
+# CONFIG_PNX8550_JBS is not set
+# CONFIG_PNX8550_STB810 is not set
+# CONFIG_PMC_MSP is not set
+# CONFIG_PMC_YOSEMITE is not set
+# CONFIG_SGI_IP22 is not set
+# CONFIG_SGI_IP27 is not set
+# CONFIG_SGI_IP28 is not set
+# CONFIG_SGI_IP32 is not set
+# CONFIG_SIBYTE_CRHINE is not set
+# CONFIG_SIBYTE_CARMEL is not set
+# CONFIG_SIBYTE_CRHONE is not set
+# CONFIG_SIBYTE_RHONE is not set
+# CONFIG_SIBYTE_SWARM is not set
+# CONFIG_SIBYTE_LITTLESUR is not set
+# CONFIG_SIBYTE_SENTOSA is not set
+# CONFIG_SIBYTE_BIGSUR is not set
+# CONFIG_SNI_RM is not set
+# CONFIG_TOSHIBA_JMR3927 is not set
+# CONFIG_TOSHIBA_RBTX4927 is not set
+# CONFIG_TOSHIBA_RBTX4938 is not set
+# CONFIG_WR_PPMC is not set
+# CONFIG_MIPS_MTX1 is not set
+# CONFIG_MIPS_BOSPORUS is not set
+# CONFIG_MIPS_DB1000 is not set
+# CONFIG_MIPS_DB1100 is not set
+CONFIG_MIPS_DB1200=y
+# CONFIG_MIPS_DB1500 is not set
+# CONFIG_MIPS_DB1550 is not set
+# CONFIG_MIPS_MIRAGE is not set
+# CONFIG_MIPS_PB1000 is not set
+# CONFIG_MIPS_PB1100 is not set
+# CONFIG_MIPS_PB1200 is not set
+# CONFIG_MIPS_PB1500 is not set
+# CONFIG_MIPS_PB1550 is not set
+# CONFIG_MIPS_XXS1500 is not set
+CONFIG_SOC_AU1200=y
+CONFIG_SOC_AU1X00=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_ARCH_SUPPORTS_OPROFILE=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_TIME=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
+# CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ is not set
+CONFIG_CEVT_R4K=y
+CONFIG_CSRC_R4K=y
+CONFIG_DMA_COHERENT=y
+# CONFIG_HOTPLUG_CPU is not set
+CONFIG_MIPS_DISABLE_OBSOLETE_IDE=y
+# CONFIG_NO_IOPORT is not set
+# CONFIG_CPU_BIG_ENDIAN is not set
+CONFIG_CPU_LITTLE_ENDIAN=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y
+CONFIG_IRQ_CPU=y
+CONFIG_MIPS_L1_CACHE_SHIFT=5
+
+#
+# CPU selection
+#
+# CONFIG_CPU_LOONGSON2 is not set
+CONFIG_CPU_MIPS32_R1=y
+# CONFIG_CPU_MIPS32_R2 is not set
+# CONFIG_CPU_MIPS64_R1 is not set
+# CONFIG_CPU_MIPS64_R2 is not set
+# CONFIG_CPU_R3000 is not set
+# CONFIG_CPU_TX39XX is not set
+# CONFIG_CPU_VR41XX is not set
+# CONFIG_CPU_R4300 is not set
+# CONFIG_CPU_R4X00 is not set
+# CONFIG_CPU_TX49XX is not set
+# CONFIG_CPU_R5000 is not set
+# CONFIG_CPU_R5432 is not set
+# CONFIG_CPU_R6000 is not set
+# CONFIG_CPU_NEVADA is not set
+# CONFIG_CPU_R8000 is not set
+# CONFIG_CPU_R10000 is not set
+# CONFIG_CPU_RM7000 is not set
+# CONFIG_CPU_RM9000 is not set
+# CONFIG_CPU_SB1 is not set
+CONFIG_SYS_HAS_CPU_MIPS32_R1=y
+CONFIG_CPU_MIPS32=y
+CONFIG_CPU_MIPSR1=y
+CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
+CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
+
+#
+# Kernel type
+#
+CONFIG_32BIT=y
+# CONFIG_64BIT is not set
+CONFIG_PAGE_SIZE_4KB=y
+# CONFIG_PAGE_SIZE_8KB is not set
+# CONFIG_PAGE_SIZE_16KB is not set
+# CONFIG_PAGE_SIZE_64KB is not set
+CONFIG_CPU_HAS_PREFETCH=y
+CONFIG_MIPS_MT_DISABLED=y
+# CONFIG_MIPS_MT_SMP is not set
+# CONFIG_MIPS_MT_SMTC is not set
+CONFIG_64BIT_PHYS_ADDR=y
+CONFIG_CPU_HAS_LLSC=y
+CONFIG_CPU_HAS_SYNC=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_CPU_SUPPORTS_HIGHMEM=y
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4
+# CONFIG_RESOURCES_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=0
+CONFIG_VIRT_TO_BUS=y
+# CONFIG_TICK_ONESHOT is not set
+# CONFIG_NO_HZ is not set
+# CONFIG_HIGH_RES_TIMERS is not set
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+# CONFIG_HZ_48 is not set
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_128 is not set
+# CONFIG_HZ_250 is not set
+# CONFIG_HZ_256 is not set
+CONFIG_HZ_1000=y
+# CONFIG_HZ_1024 is not set
+CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
+CONFIG_HZ=1000
+CONFIG_PREEMPT_NONE=y
+# CONFIG_PREEMPT_VOLUNTARY is not set
+# CONFIG_PREEMPT is not set
+# CONFIG_KEXEC is not set
+CONFIG_SECCOMP=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_AUDIT is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_CGROUPS is not set
+CONFIG_GROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+# CONFIG_RT_GROUP_SCHED is not set
+CONFIG_USER_SCHED=y
+# CONFIG_CGROUP_SCHED is not set
+CONFIG_SYSFS_DEPRECATED=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+# CONFIG_RELAY is not set
+# CONFIG_NAMESPACES is not set
+# CONFIG_BLK_DEV_INITRD is not set
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_EMBEDDED=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_COMPAT_BRK=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_ANON_INODES=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLAB=y
+# CONFIG_SLUB is not set
+# CONFIG_SLOB is not set
+# CONFIG_PROFILING is not set
+# CONFIG_MARKERS is not set
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_HAVE_KPROBES is not set
+# CONFIG_HAVE_KRETPROBES is not set
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+CONFIG_KMOD=y
+CONFIG_BLOCK=y
+# CONFIG_LBD is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_LSF is not set
+# CONFIG_BLK_DEV_BSG is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_CLASSIC_RCU=y
+
+#
+# Bus options (PCI, PCMCIA, EISA, ISA, TC)
+#
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+CONFIG_MMU=y
+CONFIG_PCCARD=m
+# CONFIG_PCMCIA_DEBUG is not set
+CONFIG_PCMCIA=m
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_PCMCIA_IOCTL=y
+
+#
+# PC-card bridges
+#
+CONFIG_PCMCIA_AU1X00=m
+
+#
+# Executable file formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_MISC is not set
+CONFIG_TRAD_SIGNALS=y
+
+#
+# Power management options
+#
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+# CONFIG_PM is not set
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+# CONFIG_PACKET_MMAP is not set
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+CONFIG_XFRM_USER=m
+# CONFIG_XFRM_SUB_POLICY is not set
+CONFIG_XFRM_MIGRATE=y
+# CONFIG_XFRM_STATISTICS is not set
+CONFIG_NET_KEY=y
+CONFIG_NET_KEY_MIGRATE=y
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_IP_MROUTE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
+CONFIG_INET_XFRM_MODE_TUNNEL=m
+CONFIG_INET_XFRM_MODE_BEET=m
+# CONFIG_INET_LRO is not set
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+CONFIG_TCP_MD5SIG=y
+# CONFIG_IP_VS is not set
+# CONFIG_IPV6 is not set
+# CONFIG_INET6_XFRM_TUNNEL is not set
+# CONFIG_INET6_TUNNEL is not set
+CONFIG_NETWORK_SECMARK=y
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_NETFILTER_ADVANCED=y
+
+#
+# Core Netfilter Configuration
+#
+# CONFIG_NETFILTER_NETLINK_QUEUE is not set
+# CONFIG_NETFILTER_NETLINK_LOG is not set
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CT_ACCT=y
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_SECMARK=y
+CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NF_CT_PROTO_GRE=m
+CONFIG_NF_CT_PROTO_SCTP=m
+# CONFIG_NF_CT_PROTO_UDPLITE is not set
+CONFIG_NF_CONNTRACK_AMANDA=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
+CONFIG_NF_CONNTRACK_PPTP=m
+CONFIG_NF_CONNTRACK_SANE=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+# CONFIG_NF_CT_NETLINK is not set
+CONFIG_NETFILTER_XTABLES=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
+CONFIG_NETFILTER_XT_TARGET_SECMARK=m
+CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_DCCP=m
+CONFIG_NETFILTER_XT_MATCH_DSCP=m
+CONFIG_NETFILTER_XT_MATCH_ESP=m
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
+CONFIG_NETFILTER_XT_MATCH_REALM=m
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+# CONFIG_NETFILTER_XT_MATCH_TIME is not set
+# CONFIG_NETFILTER_XT_MATCH_U32 is not set
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_NF_CONNTRACK_PROC_COMPAT=y
+# CONFIG_IP_NF_QUEUE is not set
+# CONFIG_IP_NF_IPTABLES is not set
+# CONFIG_IP_NF_ARPTABLES is not set
+# CONFIG_IP_DCCP is not set
+CONFIG_IP_SCTP=m
+# CONFIG_SCTP_DBG_MSG is not set
+# CONFIG_SCTP_DBG_OBJCNT is not set
+# CONFIG_SCTP_HMAC_NONE is not set
+# CONFIG_SCTP_HMAC_SHA1 is not set
+CONFIG_SCTP_HMAC_MD5=y
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+# CONFIG_NET_SCHED is not set
+CONFIG_NET_CLS_ROUTE=y
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_AF_RXRPC is not set
+
+#
+# Wireless
+#
+# CONFIG_CFG80211 is not set
+# CONFIG_WIRELESS_EXT is not set
+# CONFIG_MAC80211 is not set
+# CONFIG_IEEE80211 is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_SYS_HYPERVISOR is not set
+# CONFIG_CONNECTOR is not set
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+# CONFIG_MTD_CMDLINE_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_MTD_OOPS is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=y
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_CFI_INTELEXT is not set
+CONFIG_MTD_CFI_AMDSTD=y
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PHYSMAP is not set
+CONFIG_MTD_ALCHEMY=y
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+CONFIG_MTD_NAND=y
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+# CONFIG_MTD_NAND_ECC_SMC is not set
+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
+CONFIG_MTD_NAND_IDS=y
+CONFIG_MTD_NAND_AU1550=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+# CONFIG_MTD_NAND_NANDSIM is not set
+# CONFIG_MTD_NAND_PLATFORM is not set
+# CONFIG_MTD_ALAUDA is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# UBI - Unsorted block images
+#
+# CONFIG_MTD_UBI is not set
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=4096
+# CONFIG_BLK_DEV_XIP is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+CONFIG_MISC_DEVICES=y
+# CONFIG_EEPROM_93CX6 is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+CONFIG_HAVE_IDE=y
+CONFIG_IDE=y
+CONFIG_IDE_MAX_HWIFS=4
+CONFIG_BLK_DEV_IDE=y
+
+#
+# Please see Documentation/ide/ide.txt for help/info on IDE drives
+#
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=y
+CONFIG_IDEDISK_MULTI_MODE=y
+CONFIG_BLK_DEV_IDECS=m
+# CONFIG_BLK_DEV_IDECD is not set
+# CONFIG_BLK_DEV_IDETAPE is not set
+# CONFIG_BLK_DEV_IDEFLOPPY is not set
+# CONFIG_BLK_DEV_IDESCSI is not set
+# CONFIG_IDE_TASK_IOCTL is not set
+CONFIG_IDE_PROC_FS=y
+
+#
+# IDE chipset support/bugfixes
+#
+CONFIG_IDE_GENERIC=y
+# CONFIG_BLK_DEV_PLATFORM is not set
+CONFIG_BLK_DEV_IDE_AU1XXX=y
+CONFIG_BLK_DEV_IDE_AU1XXX_PIO_DBDMA=y
+# CONFIG_BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA is not set
+CONFIG_BLK_DEV_IDE_AU1XXX_SEQTS_PER_RQ=128
+# CONFIG_BLK_DEV_IDEDMA is not set
+CONFIG_IDE_ARCH_OBSOLETE_INIT=y
+# CONFIG_BLK_DEV_HD is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+CONFIG_SCSI_TGT=m
+# CONFIG_SCSI_NETLINK is not set
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+CONFIG_BLK_DEV_SR=y
+# CONFIG_BLK_DEV_SR_VENDOR is not set
+CONFIG_CHR_DEV_SG=y
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+CONFIG_SCSI_SCAN_ASYNC=y
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+# CONFIG_SCSI_SRP_ATTRS is not set
+CONFIG_SCSI_LOWLEVEL=y
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_SCSI_DEBUG is not set
+# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
+# CONFIG_ATA is not set
+# CONFIG_MD is not set
+CONFIG_NETDEVICES=y
+# CONFIG_NETDEVICES_MULTIQUEUE is not set
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+# CONFIG_VETH is not set
+CONFIG_PHYLIB=y
+
+#
+# MII PHY device drivers
+#
+# CONFIG_MARVELL_PHY is not set
+# CONFIG_DAVICOM_PHY is not set
+# CONFIG_QSEMI_PHY is not set
+# CONFIG_LXT_PHY is not set
+# CONFIG_CICADA_PHY is not set
+# CONFIG_VITESSE_PHY is not set
+# CONFIG_SMSC_PHY is not set
+# CONFIG_BROADCOM_PHY is not set
+# CONFIG_ICPLUS_PHY is not set
+# CONFIG_REALTEK_PHY is not set
+# CONFIG_FIXED_PHY is not set
+# CONFIG_MDIO_BITBANG is not set
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_AX88796 is not set
+# CONFIG_MIPS_AU1X00_ENET is not set
+CONFIG_SMC91X=y
+# CONFIG_DM9000 is not set
+# CONFIG_IBM_NEW_EMAC_ZMII is not set
+# CONFIG_IBM_NEW_EMAC_RGMII is not set
+# CONFIG_IBM_NEW_EMAC_TAH is not set
+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+# CONFIG_B44 is not set
+CONFIG_NETDEV_1000=y
+# CONFIG_E1000E_ENABLED is not set
+CONFIG_NETDEV_10000=y
+
+#
+# Wireless LAN
+#
+# CONFIG_WLAN_PRE80211 is not set
+# CONFIG_WLAN_80211 is not set
+
+#
+# USB Network Adapters
+#
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_RTL8150 is not set
+# CONFIG_USB_USBNET is not set
+# CONFIG_NET_PCMCIA is not set
+# CONFIG_WAN is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+# CONFIG_ISDN is not set
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+# CONFIG_INPUT_POLLDEV is not set
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TABLET is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+# CONFIG_SERIO_I8042 is not set
+CONFIG_SERIO_SERPORT=y
+# CONFIG_SERIO_LIBPS2 is not set
+CONFIG_SERIO_RAW=y
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+# CONFIG_SERIAL_8250_CS is not set
+CONFIG_SERIAL_8250_NR_UARTS=2
+CONFIG_SERIAL_8250_RUNTIME_UARTS=2
+# CONFIG_SERIAL_8250_EXTENDED is not set
+CONFIG_SERIAL_8250_AU1X00=y
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=256
+# CONFIG_IPMI_HANDLER is not set
+# CONFIG_HW_RANDOM is not set
+# CONFIG_RTC is not set
+# CONFIG_R3964 is not set
+
+#
+# PCMCIA character devices
+#
+# CONFIG_SYNCLINK_CS is not set
+# CONFIG_CARDMAN_4000 is not set
+# CONFIG_CARDMAN_4040 is not set
+# CONFIG_IPWIRELESS is not set
+# CONFIG_RAW_DRIVER is not set
+# CONFIG_TCG_TPM is not set
+# CONFIG_I2C is not set
+
+#
+# SPI support
+#
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
+# CONFIG_W1 is not set
+# CONFIG_POWER_SUPPLY is not set
+# CONFIG_HWMON is not set
+# CONFIG_THERMAL is not set
+# CONFIG_WATCHDOG is not set
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB_POSSIBLE=y
+# CONFIG_SSB is not set
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_SM501 is not set
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+# CONFIG_DVB_CORE is not set
+# CONFIG_DAB is not set
+
+#
+# Graphics support
+#
+# CONFIG_VGASTATE is not set
+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+CONFIG_FB=y
+# CONFIG_FIRMWARE_EDID is not set
+# CONFIG_FB_DDC is not set
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+# CONFIG_FB_SYS_FILLRECT is not set
+# CONFIG_FB_SYS_COPYAREA is not set
+# CONFIG_FB_SYS_IMAGEBLIT is not set
+# CONFIG_FB_SYS_FOPS is not set
+CONFIG_FB_DEFERRED_IO=y
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_AU1200=y
+# CONFIG_FB_VIRTUAL is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Display device support
+#
+# CONFIG_DISPLAY_SUPPORT is not set
+
+#
+# Console display driver support
+#
+CONFIG_VGA_CONSOLE=y
+# CONFIG_VGACON_SOFT_SCROLLBACK is not set
+CONFIG_DUMMY_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE is not set
+CONFIG_LOGO=y
+CONFIG_LOGO_LINUX_MONO=y
+CONFIG_LOGO_LINUX_VGA16=y
+CONFIG_LOGO_LINUX_CLUT224=y
+
+#
+# Sound
+#
+CONFIG_SOUND=y
+
+#
+# Advanced Linux Sound Architecture
+#
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+# CONFIG_SND_SEQUENCER is not set
+# CONFIG_SND_MIXER_OSS is not set
+# CONFIG_SND_PCM_OSS is not set
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+CONFIG_SND_VERBOSE_PRINTK=y
+CONFIG_SND_DEBUG=y
+CONFIG_SND_DEBUG_DETECT=y
+# CONFIG_SND_PCM_XRUN_DEBUG is not set
+
+#
+# Generic devices
+#
+CONFIG_SND_AC97_CODEC=y
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+#
+# ALSA MIPS devices
+#
+
+#
+# USB devices
+#
+# CONFIG_SND_USB_AUDIO is not set
+# CONFIG_SND_USB_CAIAQ is not set
+
+#
+# PCMCIA devices
+#
+# CONFIG_SND_VXPOCKET is not set
+# CONFIG_SND_PDAUDIOCF is not set
+
+#
+# System on Chip audio support
+#
+CONFIG_SND_SOC_AC97_BUS=y
+CONFIG_SND_SOC=y
+
+#
+# SoC Audio for the Alchemy/AMD/RMI Au1xxx
+#
+CONFIG_SND_SOC_AU1XPSC=y
+CONFIG_SND_SOC_AU1XPSC_AC97=y
+# CONFIG_SND_SOC_EXM1200_AC97 is not set
+CONFIG_SND_SOC_DB1200_AC97=y
+
+#
+# SoC Audio support for SuperH
+#
+
+#
+# ALSA SoC audio for Freescale SOCs
+#
+CONFIG_SND_SOC_AC97_CODEC=y
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+CONFIG_AC97_BUS=y
+# CONFIG_HID_SUPPORT is not set
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB=m
+CONFIG_USB_DEBUG=y
+# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
+
+#
+# Miscellaneous USB options
+#
+# CONFIG_USB_DEVICEFS is not set
+CONFIG_USB_DEVICE_CLASS=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_EHCI_HCD=m
+# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
+# CONFIG_USB_EHCI_TT_NEWSCHED is not set
+# CONFIG_USB_ISP116X_HCD is not set
+# CONFIG_USB_OHCI_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+# CONFIG_USB_R8A66597_HCD is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_ACM is not set
+# CONFIG_USB_PRINTER is not set
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_STORAGE_ONETOUCH is not set
+# CONFIG_USB_STORAGE_KARMA is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+CONFIG_USB_MON=y
+
+#
+# USB port drivers
+#
+# CONFIG_USB_SERIAL is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_ADUTUX is not set
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_BERRY_CHARGE is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGET is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_FTDI_ELAN is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_USB_SISUSBVGA is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_IOWARRIOR is not set
+CONFIG_USB_GADGET=m
+CONFIG_USB_GADGET_DEBUG_FILES=y
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_AMD5536UDC is not set
+# CONFIG_USB_GADGET_ATMEL_USBA is not set
+# CONFIG_USB_GADGET_FSL_USB2 is not set
+# CONFIG_USB_GADGET_NET2280 is not set
+# CONFIG_USB_GADGET_PXA2XX is not set
+# CONFIG_USB_GADGET_M66592 is not set
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+CONFIG_USB_GADGET_AU1200=y
+CONFIG_USB_AU1200=m
+# CONFIG_USB_GADGET_S3C2410 is not set
+# CONFIG_USB_GADGET_AT91 is not set
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+CONFIG_USB_GADGET_DUALSPEED=y
+CONFIG_USB_PORT_AU1200OTG=y
+CONFIG_USB_AU1200OTG=m
+# CONFIG_USB_ZERO is not set
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
+# CONFIG_USB_GADGETFS is not set
+CONFIG_USB_FILE_STORAGE=m
+# CONFIG_USB_FILE_STORAGE_TEST is not set
+# CONFIG_USB_G_SERIAL is not set
+# CONFIG_USB_MIDI_GADGET is not set
+# CONFIG_USB_G_PRINTER is not set
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_UNSAFE_RESUME is not set
+
+#
+# MMC/SD Card Drivers
+#
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_BLOCK_BOUNCE=y
+# CONFIG_SDIO_UART is not set
+
+#
+# MMC/SD Host Controller Drivers
+#
+CONFIG_MMC_AU1X=y
+# CONFIG_MEMSTICK is not set
+# CONFIG_NEW_LEDS is not set
+CONFIG_RTC_LIB=y
+# CONFIG_RTC_CLASS is not set
+
+#
+# Userspace I/O
+#
+# CONFIG_UIO is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+# CONFIG_EXT2_FS_SECURITY is not set
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+# CONFIG_EXT4DEV_FS is not set
+CONFIG_JBD=y
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+CONFIG_JFS_FS=y
+# CONFIG_JFS_POSIX_ACL is not set
+# CONFIG_JFS_SECURITY is not set
+# CONFIG_JFS_DEBUG is not set
+# CONFIG_JFS_STATISTICS is not set
+CONFIG_FS_POSIX_ACL=y
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+# CONFIG_QUOTA is not set
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+CONFIG_GENERIC_ACL=y
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_CONFIGFS_FS=m
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_ECRYPT_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+# CONFIG_JFFS2_LZO is not set
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_CRAMFS=m
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+# CONFIG_NFS_V4 is not set
+# CONFIG_NFS_DIRECTIO is not set
+# CONFIG_NFSD is not set
+CONFIG_ROOT_NFS=y
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+# CONFIG_SUNRPC_BIND34 is not set
+# CONFIG_RPCSEC_GSS_KRB5 is not set
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+CONFIG_SMB_FS=y
+# CONFIG_SMB_NLS_DEFAULT is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=m
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=m
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=m
+CONFIG_DLM=m
+# CONFIG_DLM_DEBUG is not set
+
+#
+# Kernel hacking
+#
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_WARN_DEPRECATED=y
+CONFIG_ENABLE_MUST_CHECK=y
+# CONFIG_MAGIC_SYSRQ is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_KERNEL is not set
+# CONFIG_SAMPLES is not set
+CONFIG_CMDLINE="mem=48M"
+CONFIG_SYS_SUPPORTS_KGDB=y
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+CONFIG_KEYS_DEBUG_PROC_KEYS=y
+# CONFIG_SECURITY is not set
+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_BLKCIPHER=m
+# CONFIG_CRYPTO_SEQIV is not set
+CONFIG_CRYPTO_HASH=m
+CONFIG_CRYPTO_MANAGER=m
+CONFIG_CRYPTO_HMAC=m
+CONFIG_CRYPTO_XCBC=m
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_GF128MUL=m
+CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_CBC=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_LRW=m
+# CONFIG_CRYPTO_XTS is not set
+# CONFIG_CRYPTO_CTR is not set
+# CONFIG_CRYPTO_GCM is not set
+# CONFIG_CRYPTO_CCM is not set
+# CONFIG_CRYPTO_CRYPTD is not set
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_FCRYPT=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_TWOFISH_COMMON=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_ANUBIS=m
+# CONFIG_CRYPTO_SEED is not set
+# CONFIG_CRYPTO_SALSA20 is not set
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_CAMELLIA=m
+# CONFIG_CRYPTO_TEST is not set
+# CONFIG_CRYPTO_AUTHENC is not set
+# CONFIG_CRYPTO_LZO is not set
+CONFIG_CRYPTO_HW=y
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_CRC_CCITT=y
+# CONFIG_CRC16 is not set
+# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC32=y
+# CONFIG_CRC7 is not set
+CONFIG_LIBCRC32C=y
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_PLIST=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
index 3e685bf..c0b2990 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # Linux kernel version: 2.6.27.2
-# Thu Apr 23 18:31:57 2009
+# Wed Oct  7 15:10:57 2009
 #
 CONFIG_ARM=y
 CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -26,6 +26,8 @@ CONFIG_ARCH_SUPPORTS_AOUT=y
 CONFIG_ZONE_DMA=y
 CONFIG_ARCH_MTD_XIP=y
 CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+CONFIG_OPROFILE_ARMV6=y
+CONFIG_OPROFILE_ARM11_CORE=y
 CONFIG_VECTORS_BASE=0xffff0000
 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
 
@@ -50,8 +52,7 @@ CONFIG_IKCONFIG_PROC=y
 CONFIG_LOG_BUF_SHIFT=14
 # CONFIG_CGROUPS is not set
 # CONFIG_GROUP_SCHED is not set
-CONFIG_SYSFS_DEPRECATED=y
-CONFIG_SYSFS_DEPRECATED_V2=y
+# CONFIG_SYSFS_DEPRECATED_V2 is not set
 # CONFIG_RELAY is not set
 # CONFIG_NAMESPACES is not set
 # CONFIG_BLK_DEV_INITRD is not set
@@ -67,7 +68,7 @@ CONFIG_HOTPLUG=y
 CONFIG_PRINTK=y
 CONFIG_BUG=y
 CONFIG_ELF_CORE=y
-CONFIG_COMPAT_BRK=y
+# CONFIG_COMPAT_BRK is not set
 CONFIG_BASE_FULL=y
 CONFIG_FUTEX=y
 CONFIG_ANON_INODES=y
@@ -80,8 +81,9 @@ CONFIG_VM_EVENT_COUNTERS=y
 CONFIG_SLAB=y
 # CONFIG_SLUB is not set
 # CONFIG_SLOB is not set
-# CONFIG_PROFILING is not set
+CONFIG_PROFILING=y
 CONFIG_MARKERS=y
+CONFIG_OPROFILE=m
 CONFIG_HAVE_OPROFILE=y
 # CONFIG_KPROBES is not set
 # CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is not set
@@ -292,6 +294,7 @@ CONFIG_BINFMT_ELF=y
 # Power management options
 #
 CONFIG_PM=y
+CONFIG_PM_BUG=y
 # CONFIG_PM_DEBUG is not set
 CONFIG_PM_SLEEP=y
 CONFIG_SUSPEND=y
@@ -329,10 +332,10 @@ CONFIG_IP_PNP_BOOTP=y
 # CONFIG_INET_ESP is not set
 # CONFIG_INET_IPCOMP is not set
 # CONFIG_INET_XFRM_TUNNEL is not set
-CONFIG_INET_TUNNEL=y
-CONFIG_INET_XFRM_MODE_TRANSPORT=y
-CONFIG_INET_XFRM_MODE_TUNNEL=y
-CONFIG_INET_XFRM_MODE_BEET=y
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
+CONFIG_INET_XFRM_MODE_TUNNEL=m
+CONFIG_INET_XFRM_MODE_BEET=m
 # CONFIG_INET_LRO is not set
 CONFIG_INET_DIAG=y
 CONFIG_INET_TCP_DIAG=y
@@ -340,21 +343,21 @@ CONFIG_INET_TCP_DIAG=y
 CONFIG_TCP_CONG_CUBIC=y
 CONFIG_DEFAULT_TCP_CONG="cubic"
 # CONFIG_TCP_MD5SIG is not set
-CONFIG_IPV6=y
+CONFIG_IPV6=m
 # CONFIG_IPV6_PRIVACY is not set
 # CONFIG_IPV6_ROUTER_PREF is not set
 # CONFIG_IPV6_OPTIMISTIC_DAD is not set
 # CONFIG_INET6_AH is not set
 # CONFIG_INET6_ESP is not set
 # CONFIG_INET6_IPCOMP is not set
-CONFIG_IPV6_MIP6=y
+CONFIG_IPV6_MIP6=m
 # CONFIG_INET6_XFRM_TUNNEL is not set
 CONFIG_INET6_TUNNEL=m
-CONFIG_INET6_XFRM_MODE_TRANSPORT=y
-CONFIG_INET6_XFRM_MODE_TUNNEL=y
-CONFIG_INET6_XFRM_MODE_BEET=y
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_BEET=m
 # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
-CONFIG_IPV6_SIT=y
+CONFIG_IPV6_SIT=m
 CONFIG_IPV6_NDISC_NODETYPE=y
 CONFIG_IPV6_TUNNEL=m
 # CONFIG_IPV6_MULTIPLE_TABLES is not set
@@ -425,11 +428,7 @@ CONFIG_MAC80211_RC_DEFAULT="pid"
 # CONFIG_MAC80211_LEDS is not set
 # CONFIG_MAC80211_DEBUGFS is not set
 # CONFIG_MAC80211_DEBUG_MENU is not set
-CONFIG_IEEE80211=m
-# CONFIG_IEEE80211_DEBUG is not set
-CONFIG_IEEE80211_CRYPT_WEP=m
-# CONFIG_IEEE80211_CRYPT_CCMP is not set
-# CONFIG_IEEE80211_CRYPT_TKIP is not set
+# CONFIG_IEEE80211 is not set
 # CONFIG_RFKILL is not set
 # CONFIG_NET_9P is not set
 
@@ -450,93 +449,7 @@ CONFIG_EXTRA_FIRMWARE=""
 # CONFIG_DEBUG_DEVRES is not set
 # CONFIG_SYS_HYPERVISOR is not set
 # CONFIG_CONNECTOR is not set
-CONFIG_MTD=y
-# CONFIG_MTD_DEBUG is not set
-# CONFIG_MTD_CONCAT is not set
-CONFIG_MTD_PARTITIONS=y
-CONFIG_MTD_REDBOOT_PARTS=y
-CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
-# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
-# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
-CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_AFS_PARTS is not set
-# CONFIG_MTD_AR7_PARTS is not set
-
-#
-# User Modules And Translation Layers
-#
-CONFIG_MTD_CHAR=y
-CONFIG_MTD_BLKDEVS=y
-CONFIG_MTD_BLOCK=y
-# CONFIG_FTL is not set
-# CONFIG_NFTL is not set
-# CONFIG_INFTL is not set
-# CONFIG_RFD_FTL is not set
-# CONFIG_SSFDC is not set
-# CONFIG_MTD_OOPS is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-CONFIG_MTD_CFI=y
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_GEN_PROBE=y
-CONFIG_MTD_CFI_ADV_OPTIONS=y
-CONFIG_MTD_CFI_NOSWAP=y
-# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
-# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
-CONFIG_MTD_CFI_GEOMETRY=y
-# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-# CONFIG_MTD_MAP_BANK_WIDTH_4 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-# CONFIG_MTD_CFI_I2 is not set
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_OTP is not set
-CONFIG_MTD_CFI_INTELEXT=y
-CONFIG_MTD_CFI_AMDSTD=y
-# CONFIG_MTD_CFI_STAA is not set
-CONFIG_MTD_CFI_UTIL=y
-CONFIG_MTD_RAM=y
-# CONFIG_MTD_ROM is not set
-# CONFIG_MTD_ABSENT is not set
-# CONFIG_MTD_XIP is not set
-
-#
-# Mapping drivers for chip access
-#
-# CONFIG_MTD_COMPLEX_MAPPINGS is not set
-# CONFIG_MTD_PHYSMAP is not set
-# CONFIG_MTD_ARM_INTEGRATOR is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_DATAFLASH is not set
-# CONFIG_MTD_M25P80 is not set
-# CONFIG_MTD_SLRAM is not set
-# CONFIG_MTD_PHRAM is not set
-# CONFIG_MTD_MTDRAM is not set
-# CONFIG_MTD_BLOCK2MTD is not set
-
-#
-# Disk-On-Chip Device Drivers
-#
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-# CONFIG_MTD_DOC2001PLUS is not set
-# CONFIG_MTD_NAND is not set
-# CONFIG_MTD_ONENAND is not set
-
-#
-# UBI - Unsorted block images
-#
-# CONFIG_MTD_UBI is not set
+# CONFIG_MTD is not set
 # CONFIG_PARPORT is not set
 CONFIG_BLK_DEV=y
 # CONFIG_BLK_DEV_COW_COMMON is not set
@@ -544,15 +457,10 @@ CONFIG_BLK_DEV_LOOP=y
 # CONFIG_BLK_DEV_CRYPTOLOOP is not set
 # CONFIG_BLK_DEV_NBD is not set
 # CONFIG_BLK_DEV_UB is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=16
-CONFIG_BLK_DEV_RAM_SIZE=16384
-# CONFIG_BLK_DEV_XIP is not set
+# CONFIG_BLK_DEV_RAM is not set
 # CONFIG_CDROM_PKTCDVD is not set
 # CONFIG_ATA_OVER_ETH is not set
-CONFIG_MISC_DEVICES=y
-# CONFIG_EEPROM_93CX6 is not set
-# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_MISC_DEVICES is not set
 CONFIG_HAVE_IDE=y
 # CONFIG_IDE is not set
 
@@ -564,7 +472,7 @@ CONFIG_SCSI=y
 CONFIG_SCSI_DMA=y
 # CONFIG_SCSI_TGT is not set
 # CONFIG_SCSI_NETLINK is not set
-CONFIG_SCSI_PROC_FS=y
+# CONFIG_SCSI_PROC_FS is not set
 
 #
 # SCSI support type (disk, tape, CD-ROM)
@@ -572,7 +480,8 @@ CONFIG_SCSI_PROC_FS=y
 CONFIG_BLK_DEV_SD=y
 # CONFIG_CHR_DEV_ST is not set
 # CONFIG_CHR_DEV_OSST is not set
-# CONFIG_BLK_DEV_SR is not set
+CONFIG_BLK_DEV_SR=m
+# CONFIG_BLK_DEV_SR_VENDOR is not set
 # CONFIG_CHR_DEV_SG is not set
 # CONFIG_CHR_DEV_SCH is not set
 
@@ -593,9 +502,7 @@ CONFIG_SCSI_WAIT_SCAN=m
 # CONFIG_SCSI_ISCSI_ATTRS is not set
 # CONFIG_SCSI_SAS_LIBSAS is not set
 # CONFIG_SCSI_SRP_ATTRS is not set
-CONFIG_SCSI_LOWLEVEL=y
-# CONFIG_ISCSI_TCP is not set
-# CONFIG_SCSI_DEBUG is not set
+# CONFIG_SCSI_LOWLEVEL is not set
 # CONFIG_SCSI_DH is not set
 # CONFIG_ATA is not set
 # CONFIG_MD is not set
@@ -604,7 +511,7 @@ CONFIG_NETDEVICES=y
 # CONFIG_BONDING is not set
 # CONFIG_MACVLAN is not set
 # CONFIG_EQUALIZER is not set
-# CONFIG_TUN is not set
+CONFIG_TUN=m
 # CONFIG_VETH is not set
 # CONFIG_PHYLIB is not set
 CONFIG_NET_ETHERNET=y
@@ -628,8 +535,9 @@ CONFIG_SMC911X=y
 # CONFIG_WLAN_PRE80211 is not set
 CONFIG_WLAN_80211=y
 CONFIG_LIBERTAS=m
-# CONFIG_LIBERTAS_USB is not set
+CONFIG_LIBERTAS_USB=m
 CONFIG_LIBERTAS_SDIO=m
+CONFIG_BUG_BASE_WIFI=m
 CONFIG_LIBERTAS_GSPI=m
 CONFIG_LIBERTAS_BMI=m
 CONFIG_LIBERTAS_DEBUG=y
@@ -670,7 +578,7 @@ CONFIG_PPP=m
 CONFIG_PPP_ASYNC=m
 CONFIG_PPP_SYNC_TTY=m
 CONFIG_PPP_DEFLATE=m
-# CONFIG_PPP_BSDCOMP is not set
+CONFIG_PPP_BSDCOMP=m
 # CONFIG_PPP_MPPE is not set
 # CONFIG_PPPOE is not set
 # CONFIG_PPPOL2TP is not set
@@ -759,8 +667,7 @@ CONFIG_SERIAL_MXC_CONSOLE=y
 CONFIG_SERIAL_CORE=y
 CONFIG_SERIAL_CORE_CONSOLE=y
 CONFIG_UNIX98_PTYS=y
-CONFIG_LEGACY_PTYS=y
-CONFIG_LEGACY_PTY_COUNT=256
+# CONFIG_LEGACY_PTYS is not set
 # CONFIG_IPMI_HANDLER is not set
 CONFIG_HW_RANDOM=y
 # CONFIG_NVRAM is not set
@@ -801,7 +708,7 @@ CONFIG_I2C_MXC=y
 # Miscellaneous I2C Chip support
 #
 # CONFIG_DS1682 is not set
-# CONFIG_AT24 is not set
+CONFIG_AT24=m
 # CONFIG_SENSORS_EEPROM is not set
 # CONFIG_SENSORS_PCF8574 is not set
 # CONFIG_PCF8575 is not set
@@ -936,6 +843,7 @@ CONFIG_FB_CFB_IMAGEBLIT=y
 # CONFIG_FB_SYS_IMAGEBLIT is not set
 # CONFIG_FB_FOREIGN_ENDIAN is not set
 # CONFIG_FB_SYS_FOPS is not set
+CONFIG_FB_DEFERRED_IO=y
 # CONFIG_FB_SVGALIB is not set
 # CONFIG_FB_MACMODES is not set
 # CONFIG_FB_BACKLIGHT is not set
@@ -991,7 +899,7 @@ CONFIG_SND_MIXER_OSS=y
 CONFIG_SND_PCM_OSS=y
 CONFIG_SND_PCM_OSS_PLUGINS=y
 # CONFIG_SND_DYNAMIC_MINORS is not set
-CONFIG_SND_SUPPORT_OLD_API=y
+# CONFIG_SND_SUPPORT_OLD_API is not set
 CONFIG_SND_VERBOSE_PROCFS=y
 # CONFIG_SND_VERBOSE_PRINTK is not set
 # CONFIG_SND_DEBUG is not set
@@ -1023,7 +931,7 @@ CONFIG_USB_HID=m
 #
 # USB HID Boot Protocol drivers
 #
-CONFIG_USB_KBD=m
+# CONFIG_USB_KBD is not set
 # CONFIG_USB_MOUSE is not set
 CONFIG_USB_SUPPORT=y
 CONFIG_USB_ARCH_HAS_HCD=y
@@ -1037,7 +945,7 @@ CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
 # Miscellaneous USB options
 #
 CONFIG_USB_DEVICEFS=y
-CONFIG_USB_DEVICE_CLASS=y
+# CONFIG_USB_DEVICE_CLASS is not set
 # CONFIG_USB_DYNAMIC_MINORS is not set
 # CONFIG_USB_SUSPEND is not set
 # CONFIG_USB_OTG is not set
@@ -1068,9 +976,9 @@ CONFIG_USB_EHCI_ROOT_HUB_TT=y
 #
 # USB Device Class drivers
 #
-# CONFIG_USB_ACM is not set
-# CONFIG_USB_PRINTER is not set
-# CONFIG_USB_WDM is not set
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_WDM=m
 
 #
 # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -1135,7 +1043,7 @@ CONFIG_USB_SERIAL_FTDI_SIO=m
 # CONFIG_USB_SERIAL_MOS7840 is not set
 # CONFIG_USB_SERIAL_MOTOROLA is not set
 # CONFIG_USB_SERIAL_NAVMAN is not set
-# CONFIG_USB_SERIAL_PL2303 is not set
+CONFIG_USB_SERIAL_PL2303=m
 # CONFIG_USB_SERIAL_OTI6858 is not set
 # CONFIG_USB_SERIAL_SPCP8X5 is not set
 # CONFIG_USB_SERIAL_HP4X is not set
@@ -1206,7 +1114,7 @@ CONFIG_USB_FILE_STORAGE=m
 CONFIG_USB_G_SERIAL=m
 # CONFIG_USB_MIDI_GADGET is not set
 # CONFIG_USB_G_PRINTER is not set
-# CONFIG_USB_CDC_COMPOSITE is not set
+CONFIG_USB_CDC_COMPOSITE=m
 CONFIG_MMC=y
 # CONFIG_MMC_DEBUG is not set
 # CONFIG_MMC_UNSAFE_RESUME is not set
@@ -1339,9 +1247,9 @@ CONFIG_BMI_CAMERA=m
 # CONFIG_BMI_CAMERA_VS6624 is not set
 CONFIG_BMI_CAMERA_OV2640=m
 CONFIG_BMI_VH=m
-# CONFIG_BMI_SENSOR is not set
+CONFIG_BMI_SENSOR=m
 CONFIG_BMI_ZB=m
-# CONFIG_BMI_GSM is not set
+CONFIG_BMI_GSM=m
 
 #
 # Advanced Power Management devices
@@ -1405,20 +1313,28 @@ CONFIG_INOTIFY_USER=y
 # CONFIG_QUOTA is not set
 # CONFIG_AUTOFS_FS is not set
 CONFIG_AUTOFS4_FS=m
-# CONFIG_FUSE_FS is not set
+CONFIG_FUSE_FS=m
 
 #
 # CD-ROM/DVD Filesystems
 #
-# CONFIG_ISO9660_FS is not set
-# CONFIG_UDF_FS is not set
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
 
 #
 # DOS/FAT/NT Filesystems
 #
+CONFIG_FAT_FS=m
 # CONFIG_MSDOS_FS is not set
-# CONFIG_VFAT_FS is not set
-# CONFIG_NTFS_FS is not set
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
 
 #
 # Pseudo filesystems
@@ -1441,17 +1357,6 @@ CONFIG_TMPFS=y
 # CONFIG_BEFS_FS is not set
 # CONFIG_BFS_FS is not set
 # CONFIG_EFS_FS is not set
-CONFIG_JFFS2_FS=y
-CONFIG_JFFS2_FS_DEBUG=0
-CONFIG_JFFS2_FS_WRITEBUFFER=y
-# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
-# CONFIG_JFFS2_SUMMARY is not set
-# CONFIG_JFFS2_FS_XATTR is not set
-# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
-CONFIG_JFFS2_ZLIB=y
-# CONFIG_JFFS2_LZO is not set
-CONFIG_JFFS2_RTIME=y
-# CONFIG_JFFS2_RUBIN is not set
 CONFIG_CRAMFS=y
 # CONFIG_VXFS_FS is not set
 # CONFIG_MINIX_FS is not set
@@ -1474,7 +1379,12 @@ CONFIG_SUNRPC=m
 # CONFIG_RPCSEC_GSS_KRB5 is not set
 # CONFIG_RPCSEC_GSS_SPKM3 is not set
 # CONFIG_SMB_FS is not set
-# CONFIG_CIFS is not set
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+# CONFIG_CIFS_WEAK_PW_HASH is not set
+# CONFIG_CIFS_XATTR is not set
+# CONFIG_CIFS_DEBUG2 is not set
+CONFIG_CIFS_EXPERIMENTAL=y
 # CONFIG_NCP_FS is not set
 # CONFIG_CODA_FS is not set
 # CONFIG_AFS_FS is not set
@@ -1485,7 +1395,7 @@ CONFIG_SUNRPC=m
 # CONFIG_PARTITION_ADVANCED is not set
 CONFIG_MSDOS_PARTITION=y
 CONFIG_NLS=y
-CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_DEFAULT="utf-8"
 CONFIG_NLS_CODEPAGE_437=y
 # CONFIG_NLS_CODEPAGE_737 is not set
 # CONFIG_NLS_CODEPAGE_775 is not set
@@ -1523,7 +1433,7 @@ CONFIG_NLS_ISO8859_1=y
 # CONFIG_NLS_ISO8859_15 is not set
 # CONFIG_NLS_KOI8_R is not set
 # CONFIG_NLS_KOI8_U is not set
-CONFIG_NLS_UTF8=m
+CONFIG_NLS_UTF8=y
 # CONFIG_DLM is not set
 
 #
@@ -1686,12 +1596,12 @@ CONFIG_BITREVERSE=y
 CONFIG_CRC_CCITT=m
 # CONFIG_CRC16 is not set
 # CONFIG_CRC_T10DIF is not set
-# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC_ITU_T=m
 CONFIG_CRC32=y
 # CONFIG_CRC7 is not set
 # CONFIG_LIBCRC32C is not set
 CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=y
+CONFIG_ZLIB_DEFLATE=m
 CONFIG_PLIST=y
 CONFIG_HAS_IOMEM=y
 CONFIG_HAS_IOPORT=y
index 655defa..b5899a7 100644 (file)
@@ -2,11 +2,12 @@ DESCRIPTION = "Linux kernel for bug"
 
 PV_append = "+svnr${SRCREV}"
 KV = "2.6.27.2"
-PR = "r27"
+PR = "r28"
 
 COMPATIBLE_MACHINE = "bug"
 
 SVN_PRJ = "bug-linux-${KV}"
+SRCREV = "10017"
 
 SRC_URI = "svn://svn.buglabs.net/bug/branches/R1.4/qa;module=${SVN_PRJ};proto=svn \
            file://defconfig \
index 04490af..0e9be96 100644 (file)
@@ -10,8 +10,8 @@ DEFAULT_PREFERENCE_omapzoom2 = "1"
 
 LOBRANCH?= "master"
 
-SRCREV = "02b2ce47a93e32f3b4e26662d78a0f31a6ac37ab"
-OEV = "oe1"
+SRCREV = "da065810e5705b8ec32a9329ed10d31671df075a"
+OEV = "oe2"
 PE = "1"
 
 # The main PR is now using MACHINE_KERNEL_PR, for omap3 see conf/machine/include/omap3.inc
index 5834dbc..b6ed3d8 100644 (file)
@@ -12,7 +12,6 @@ DEFAULT_PREFERENCE_cm-x270 = "-1"
 DEFAULT_PREFERENCE_alix = "1"
 DEFAULT_PREFERENCE_at32stk1000 = "1"
 DEFAULT_PREFERENCE_at91-l9260 = "1"
-DEFAULT_PREFERENCE_db1200 = "1"
 DEFAULT_PREFERENCE_m8050 = "1"
 
 SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.25.tar.bz2 \
index ba50a9b..b4c7aca 100644 (file)
@@ -25,9 +25,9 @@ SRC_URI_append_boc01 = "\
        file://boc01.dts \
        file://boc01.dts.v1 \
        file://004-081205-usb.patch;patch=1 \
-       file://005-090226-isl12024.patch;patch=1 \
-       file://007-090825-lm73.patch;patch=1 \
-       file://008-081208-spi.patch;patch=1 \
+       file://005-091008-isl12024.patch;patch=1 \
+       file://007-091005-lm73.patch;patch=1 \
+       file://008-091005-spi.patch;patch=1 \
        file://011-090115-gpio.patch;patch=1 \
        file://012-090219-capsense.patch;patch=1 \
        file://013-090306-lcd.patch;patch=1 \
index 21603f6..c30caa4 100644 (file)
@@ -1,6 +1,6 @@
 require linux.inc
 
-PR = "r3"
+PR = "r4"
 
 S = "${WORKDIR}/linux-${PV}"
 
@@ -13,8 +13,10 @@ DEFAULT_PREFERENCE_kixrp435 = "1"
 
 # machine boots with it, works but was not tested too much
 DEFAULT_PREFERENCE_at91sam9263ek = "-1"
+DEFAULT_PREFERENCE_tosa = "-1"
 
 SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \
+           ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/patch-${PV}.9.bz2;patch=1 \
            http://maxim.org.za/AT91RM9200/2.6/2.6.30-at91.patch.gz;patch=1 \
            file://aufs2-30.patch;patch=1 \
            file://defconfig"
index b43e927..455ff19 100644 (file)
@@ -1,17 +1,18 @@
 require linux.inc
 
-PR = "r1"
+PR = "r2"
 
 S = "${WORKDIR}/linux-${PV}"
 
 # Mark archs/machines that this kernel supports
 DEFAULT_PREFERENCE = "-1"
+DEFAULT_PREFERENCE_db1200 = "1"
 
 SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \
-          ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/patch-${PV}.1.bz2;patch=1 \
+           ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/patch-${PV}.3.bz2;patch=1 \
            http://maxim.org.za/AT91RM9200/2.6/2.6.31-at91.patch.gz;patch=1 \
            file://defconfig"
 
 SRC_URI_append_ep93xx = " \
-       file://edb9301-fix-machine-id.patch;patch=1 \
-       "
+           file://edb9301-fix-machine-id.patch;patch=1 \
+           "
index 5afb56a..1bb540e 100644 (file)
@@ -3,7 +3,7 @@ Its name stands for LiSt Open Files, and it does just that."
 SECTION = "devel"
 LICENSE = "BSD"
 
-PR = "r3"
+PR = "r4"
 
 SRC_URI = "ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_${PV}.tar.bz2"
 LOCALSRC = "file://${WORKDIR}/lsof_${PV}/lsof_${PV}_src.tar"
@@ -20,8 +20,10 @@ python do_unpack () {
 export LSOF_OS = "${TARGET_OS}"
 LSOF_OS_linux-uclibc = "linux"
 LSOF_OS_linux-uclibceabi = "linux"
+LSOF_OS_linux-uclibspe = "linux"
 LSOF_OS_linux-gnu = "linux"
 LSOF_OS_linux-gnueabi = "linux"
+LSOF_OS_linux-gnuspe = "linux"
 export LSOF_INCLUDE = "${STAGING_INCDIR}"
 
 do_configure () {
diff --git a/recipes/matchbox-panel/matchbox-panel-0.9.3/matchbox-panel-uninitialised-crash.patch b/recipes/matchbox-panel/matchbox-panel-0.9.3/matchbox-panel-uninitialised-crash.patch
new file mode 100644 (file)
index 0000000..6177501
--- /dev/null
@@ -0,0 +1,10 @@
+--- matchbox-panel-0.9.3/src/panel_app.c.orig
++++ matchbox-panel-0.9.3/src/panel_app.c
+@@ -249,6 +249,7 @@
+   papp = NEW(MBPanelApp);
+   
++  papp->name   = NULL;
+   papp->next   = NULL;
+   papp->win    = win;
+   papp->panel  = panel;
index 5559122..3d50f5f 100644 (file)
@@ -1,5 +1,6 @@
 require matchbox-panel.inc
-PR ="r4"
+PR ="r5"
 SRC_URI = "http://projects.o-hand.com/matchbox/sources/${PN}/0.9/${PN}-${PV}.tar.gz \
           file://mb-applet-battery-repaint-093.patch;patch=1 \
-          file://mb-applet-system-monitor-crash.patch;patch=1"
+          file://mb-applet-system-monitor-crash.patch;patch=1 \
+          file://matchbox-panel-uninitialised-crash.patch;patch=1"
diff --git a/recipes/matchbox2/matchbox-desktop-2/fallback-folder.patch b/recipes/matchbox2/matchbox-desktop-2/fallback-folder.patch
new file mode 100644 (file)
index 0000000..2d3b9f9
--- /dev/null
@@ -0,0 +1,15 @@
+matchbox-desktop-2 wants "meta-fallback", but matchbox-common-0.9.x
+defines "fallback" and there is no matchbox-common-2.
+Index: libtaku/taku-menu-desktop.c
+===================================================================
+--- libtaku/taku-menu-desktop.c        (revision 2096)
++++ libtaku/taku-menu-desktop.c        (working copy)
+@@ -239,7 +239,7 @@
+     /* Find a fallback category */
+     if (priv->fallback_category == NULL)
+       for (l = matches; *l; l++)
+-        if (strcmp (*l, "meta-fallback") == 0)
++        if (strcmp (*l, "fallback") == 0)
+           priv->fallback_category = category;
+   done:
index 21581e9..f0261f9 100644 (file)
@@ -4,13 +4,13 @@ SECTION = "x11/panels"
 DEPENDS = "gtk+ startup-notification"
 RDEPENDS = "matchbox-common"
 PV = "2.0+svnr${SRCREV}"
-PR = "r0"
+PR = "r1"
 
 inherit autotools_stage pkgconfig
 
-SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http"
+SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http \
+          file://fallback-folder.patch;patch=1;pnum=0 \
+"
 S = "${WORKDIR}/${PN}"
 
-#PARALLEL_MAKE = ""
-
 EXTRA_OECONF = "--program-transform-name='s/$/-2/'"
index 82c99b2..e84f9da 100644 (file)
@@ -39,7 +39,7 @@ do_install() {
        done
 
        # install changedns script
-       install -m 0755 ${WORKDIR}/root${bindir}/changedns ${D}${bindir}/
+       install -m 0755 ${WORKDIR}/root/usr/bin/changedns ${D}${bindir}/
        install -m 0644 ${WORKDIR}/root/etc/ppp/peers/opie-kppp ${D}${sysconfdir}/ppp/peers
 }
 
index 00eda6b..cee12c8 100644 (file)
@@ -1,13 +1,13 @@
 
 # WARNING: This file is AUTO GENERATED: Manual edits will be lost next time I regenerate the file.
-# Generator: '../../contrib/python/generate-manifest-2.6.py' Version 20090812 (C) 2002-2009 Michael 'Mickey' Lauer <mlauer@vanille-media.de>
+# Generator: '../../contrib/python/generate-manifest-2.6.py' Version 20091004 (C) 2002-2009 Michael 'Mickey' Lauer <mlauer@vanille-media.de>
 # Visit the Python for Embedded Systems Site => http://www.Vanille.de/projects/python.spy
 
  
 
 PROVIDES+="python-profile python-threading python-distutils python-doctest python-stringold python-codecs python-ctypes python-pickle python-datetime python-core python-io python-compiler python-compression python-re python-xmlrpc python-terminal python-email python-image python-tests python-core-dbg python-resource python-json python-devel python-difflib python-math python-syslog python-hotshot python-unixadmin python-textutils python-tkinter python-gdbm python-elementtree python-fcntl python-netclient python-pprint python-netserver python-curses python-smtpd python-html python-readline python-subprocess python-pydoc python-logging python-mailbox python-xml python-mime python-sqlite3 python-sqlite3-tests python-unittest python-multiprocessing python-robotparser python-compile python-debugger python-pkgutil python-shell python-bsddb python-mmap python-zlib python-db python-crypt python-idle python-lang python-audio "
 
-PACKAGES="python-profile python-threading python-distutils python-doctest python-stringold python-codecs python-ctypes python-pickle python-datetime python-core python-io python-compiler python-compression python-re python-xmlrpc python-terminal python-email python-image python-tests python-core-dbg python-resource python-json python-devel python-difflib python-math python-syslog python-hotshot python-unixadmin python-textutils python-tkinter python-gdbm python-elementtree python-fcntl python-netclient python-pprint python-netserver python-curses python-smtpd python-html python-readline python-subprocess python-pydoc python-logging python-mailbox python-xml python-mime python-sqlite3 python-sqlite3-tests python-unittest python-multiprocessing python-robotparser python-compile python-debugger python-pkgutil python-shell python-bsddb python-mmap python-zlib python-db python-crypt python-idle python-lang python-audio  python-modules"
+PACKAGES="python-core-dbg python-profile python-threading python-distutils python-doctest python-stringold python-codecs python-ctypes python-pickle python-datetime python-core python-io python-compiler python-compression python-re python-xmlrpc python-terminal python-email python-image python-tests python-resource python-json python-devel python-difflib python-math python-syslog python-hotshot python-unixadmin python-textutils python-tkinter python-gdbm python-elementtree python-fcntl python-netclient python-pprint python-netserver python-curses python-smtpd python-html python-readline python-subprocess python-pydoc python-logging python-mailbox python-xml python-mime python-sqlite3 python-sqlite3-tests python-unittest python-multiprocessing python-robotparser python-compile python-debugger python-pkgutil python-shell python-bsddb python-mmap python-zlib python-db python-crypt python-idle python-lang python-audio python-modules"
 
 DESCRIPTION_python-profile="Python Basic Profiling Support"
 RDEPENDS_python-profile="python-core python-textutils"
@@ -87,7 +87,7 @@ FILES_python-tests="${libdir}/python2.6/test "
 
 DESCRIPTION_python-core-dbg="Python core module debug information"
 RDEPENDS_python-core-dbg="python-core"
-FILES_python-core-dbg="${libdir}/python2.6/lib-dynload/.debug ${bindir}/.debug ${libdir}/.debug "
+FILES_python-core-dbg="${libdir}/python2.6/config/.debug ${libdir}/python2.6/lib-dynload/.debug ${bindir}/.debug ${libdir}/.debug "
 
 DESCRIPTION_python-resource="Python Resource Control Interface"
 RDEPENDS_python-resource="python-core"
index aff6b1f..85cb824 100644 (file)
@@ -4,6 +4,8 @@ RDEPENDS += "python-evas python-ecore python-edje python-numeric python-math etk
 PV = "0.1.1+svnr${SRCREV}"
 PR = "ml1"
 
+SRC_URI = "svn://svn.enlightenment.org/svn/e/trunk/OLD/BINDINGS/python;module=${PN};proto=http"
+
 do_stage() {         
        distutils_stage_all 
 }  
index faef7cb..0de87d6 100644 (file)
@@ -2,7 +2,7 @@ DESCRIPTION = "Python Gstreamer bindings"
 SECTION = "devel/python"
 LICENSE = "LGPL"
 DEPENDS = "gstreamer gst-plugins-base python-pygobject"
-PR = "ml3"
+PR = "ml4"
 
 SRC_URI = "\
   http://gstreamer.freedesktop.org/src/gst-python/gst-python-${PV}.tar.bz2 \
@@ -11,7 +11,9 @@ SRC_URI = "\
 "
 S = "${WORKDIR}/gst-python-${PV}"
 
-inherit autotools distutils-base pkgconfig
+inherit autotools pkgconfig  distutils-base
+
+require fix-path.inc
 
 EXTRA_OECONF += "--with-python-includes=${STAGING_INCDIR}/../"
 
diff --git a/recipes/python/python-gst_0.10.17.bb b/recipes/python/python-gst_0.10.17.bb
new file mode 100644 (file)
index 0000000..5695e6e
--- /dev/null
@@ -0,0 +1,36 @@
+DESCRIPTION = "Python Gstreamer bindings"
+SECTION = "devel/python"
+LICENSE = "LGPL"
+DEPENDS = "gstreamer gst-plugins-base python-pygobject"
+
+SRC_URI = "\
+  http://gstreamer.freedesktop.org/src/gst-python/gst-python-${PV}.tar.bz2 \
+  file://python-path.patch;patch=1 \
+  file://import-gobject-instead-of-pygtk.patch;patch=1 \
+"
+S = "${WORKDIR}/gst-python-${PV}"
+
+inherit autotools pkgconfig  distutils-base
+
+require fix-path.inc
+
+EXTRA_OECONF += "--with-python-includes=${STAGING_INCDIR}/../"
+
+do_configure_prepend() {
+    install -d ${S}/m4
+    install -m 0644 ${S}/common/m4/*.m4 ${S}/m4/
+}
+
+do_stage() {
+       autotools_stage_all
+}
+
+PACKAGES =+ "${PN}-examples"
+
+FILES_${PN} += "${datadir}/gst-python"
+FILES_${PN}-dev += "\
+  ${datadir}/gst-python/0.10/defs \
+  ${libdir}/${PYTHON_DIR}/site-packages/gst-0.10/gst/*.la \
+"
+FILES_${PN}-dbg += "${libdir}/${PYTHON_DIR}/site-packages/gst-0.10/gst/.debug/ ${libdir}/gstreamer-0.10/.debug/"
+FILES_${PN}-examples = "${datadir}/gst-python/0.10/examples"
index 5791297..7e61f79 100644 (file)
@@ -4,7 +4,7 @@ LICENSE = "PSF"
 SECTION = "devel/python"
 PRIORITY = "optional"
 # bump this on every change in contrib/python/generate-manifest-2.6.py
-INC_PR = "ml7"
+INC_PR = "ml8"
 
 DEFAULT_PREFERENCE = "-26"
 
diff --git a/recipes/squashfs-tools/files/002-squashfs_lzma.patch b/recipes/squashfs-tools/files/002-squashfs_lzma.patch
deleted file mode 100644 (file)
index a166e84..0000000
+++ /dev/null
@@ -1,886 +0,0 @@
-diff -Nur linux-2.6.16/fs/squashfs/inode.c linux-2.6.16-owrt/fs/squashfs/inode.c
---- linux-2.6.16/fs/squashfs/inode.c   2006-03-21 10:55:59.000000000 +0100
-+++ linux-2.6.16-owrt/fs/squashfs/inode.c      2006-03-21 12:24:37.000000000 +0100
-@@ -4,6 +4,9 @@
-  * Copyright (c) 2002, 2003, 2004, 2005, 2006
-  * Phillip Lougher <phillip@lougher.org.uk>
-  *
-+ * LZMA decompressor support added by Oleg I. Vdovikin
-+ * Copyright (c) 2005 Oleg I.Vdovikin <oleg@cs.msu.su>
-+ *
-  * This program is free software; you can redistribute it and/or
-  * modify it under the terms of the GNU General Public License
-  * as published by the Free Software Foundation; either version 2,
-@@ -21,6 +24,7 @@
-  * inode.c
-  */
-+#define SQUASHFS_LZMA
- #include <linux/types.h>
- #include <linux/squashfs_fs.h>
- #include <linux/module.h>
-@@ -44,6 +48,19 @@
- #include "squashfs.h"
-+#ifdef SQUASHFS_LZMA
-+#include "LzmaDecode.h"
-+
-+/* default LZMA settings, should be in sync with mksquashfs */
-+#define LZMA_LC 3
-+#define LZMA_LP 0
-+#define LZMA_PB 2
-+
-+#define LZMA_WORKSPACE_SIZE ((LZMA_BASE_SIZE + \
-+      (LZMA_LIT_SIZE << (LZMA_LC + LZMA_LP))) * sizeof(CProb))
-+
-+#endif
-+
- static void squashfs_put_super(struct super_block *);
- static int squashfs_statfs(struct super_block *, struct kstatfs *);
- static int squashfs_symlink_readpage(struct file *file, struct page *page);
-@@ -64,7 +81,11 @@
-                               const char *, void *);
-+#ifdef SQUASHFS_LZMA
-+static unsigned char lzma_workspace[LZMA_WORKSPACE_SIZE];
-+#else
- static z_stream stream;
-+#endif
- static struct file_system_type squashfs_fs_type = {
-       .owner = THIS_MODULE,
-@@ -249,6 +270,15 @@
-       if (compressed) {
-               int zlib_err;
-+#ifdef SQUASHFS_LZMA
-+              if ((zlib_err = LzmaDecode(lzma_workspace, 
-+                      LZMA_WORKSPACE_SIZE, LZMA_LC, LZMA_LP, LZMA_PB, 
-+                      c_buffer, c_byte, buffer, msblk->read_size, &bytes)) != LZMA_RESULT_OK)
-+              {
-+                      ERROR("lzma returned unexpected result 0x%x\n", zlib_err);
-+                      bytes = 0;
-+              }
-+#else
-               stream.next_in = c_buffer;
-               stream.avail_in = c_byte;
-               stream.next_out = buffer;
-@@ -263,6 +293,7 @@
-                       bytes = 0;
-               } else
-                       bytes = stream.total_out;
-+#endif
-               
-               up(&msblk->read_data_mutex);
-       }
-@@ -2046,15 +2077,19 @@
-       printk(KERN_INFO "squashfs: version 3.0 (2006/03/15) "
-               "Phillip Lougher\n");
-+#ifndef SQUASHFS_LZMA
-       if (!(stream.workspace = vmalloc(zlib_inflate_workspacesize()))) {
-               ERROR("Failed to allocate zlib workspace\n");
-               destroy_inodecache();
-               err = -ENOMEM;
-               goto out;
-       }
-+#endif
-       if ((err = register_filesystem(&squashfs_fs_type))) {
-+#ifndef SQUASHFS_LZMA
-               vfree(stream.workspace);
-+#endif
-               destroy_inodecache();
-       }
-@@ -2065,7 +2100,9 @@
- static void __exit exit_squashfs_fs(void)
- {
-+#ifndef SQUASHFS_LZMA
-       vfree(stream.workspace);
-+#endif
-       unregister_filesystem(&squashfs_fs_type);
-       destroy_inodecache();
- }
-diff -Nur linux-2.6.16/fs/squashfs/LzmaDecode.c linux-2.6.16-owrt/fs/squashfs/LzmaDecode.c
---- linux-2.6.16/fs/squashfs/LzmaDecode.c      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.16-owrt/fs/squashfs/LzmaDecode.c 2006-03-21 10:56:57.000000000 +0100
-@@ -0,0 +1,663 @@
-+/*
-+  LzmaDecode.c
-+  LZMA Decoder
-+  
-+  LZMA SDK 4.05 Copyright (c) 1999-2004 Igor Pavlov (2004-08-25)
-+  http://www.7-zip.org/
-+
-+  LZMA SDK is licensed under two licenses:
-+  1) GNU Lesser General Public License (GNU LGPL)
-+  2) Common Public License (CPL)
-+  It means that you can select one of these two licenses and 
-+  follow rules of that license.
-+
-+  SPECIAL EXCEPTION:
-+  Igor Pavlov, as the author of this code, expressly permits you to 
-+  statically or dynamically link your code (or bind by name) to the 
-+  interfaces of this file without subjecting your linked code to the 
-+  terms of the CPL or GNU LGPL. Any modifications or additions 
-+  to this file, however, are subject to the LGPL or CPL terms.
-+*/
-+
-+#include "LzmaDecode.h"
-+
-+#ifndef Byte
-+#define Byte unsigned char
-+#endif
-+
-+#define kNumTopBits 24
-+#define kTopValue ((UInt32)1 << kNumTopBits)
-+
-+#define kNumBitModelTotalBits 11
-+#define kBitModelTotal (1 << kNumBitModelTotalBits)
-+#define kNumMoveBits 5
-+
-+typedef struct _CRangeDecoder
-+{
-+  Byte *Buffer;
-+  Byte *BufferLim;
-+  UInt32 Range;
-+  UInt32 Code;
-+  #ifdef _LZMA_IN_CB
-+  ILzmaInCallback *InCallback;
-+  int Result;
-+  #endif
-+  int ExtraBytes;
-+} CRangeDecoder;
-+
-+Byte RangeDecoderReadByte(CRangeDecoder *rd)
-+{
-+  if (rd->Buffer == rd->BufferLim)
-+  {
-+    #ifdef _LZMA_IN_CB
-+    UInt32 size;
-+    rd->Result = rd->InCallback->Read(rd->InCallback, &rd->Buffer, &size);
-+    rd->BufferLim = rd->Buffer + size;
-+    if (size == 0)
-+    #endif
-+    {
-+      rd->ExtraBytes = 1;
-+      return 0xFF;
-+    }
-+  }
-+  return (*rd->Buffer++);
-+}
-+
-+/* #define ReadByte (*rd->Buffer++) */
-+#define ReadByte (RangeDecoderReadByte(rd))
-+
-+void RangeDecoderInit(CRangeDecoder *rd,
-+  #ifdef _LZMA_IN_CB
-+    ILzmaInCallback *inCallback
-+  #else
-+    Byte *stream, UInt32 bufferSize
-+  #endif
-+    )
-+{
-+  int i;
-+  #ifdef _LZMA_IN_CB
-+  rd->InCallback = inCallback;
-+  rd->Buffer = rd->BufferLim = 0;
-+  #else
-+  rd->Buffer = stream;
-+  rd->BufferLim = stream + bufferSize;
-+  #endif
-+  rd->ExtraBytes = 0;
-+  rd->Code = 0;
-+  rd->Range = (0xFFFFFFFF);
-+  for(i = 0; i < 5; i++)
-+    rd->Code = (rd->Code << 8) | ReadByte;
-+}
-+
-+#define RC_INIT_VAR UInt32 range = rd->Range; UInt32 code = rd->Code;        
-+#define RC_FLUSH_VAR rd->Range = range; rd->Code = code;
-+#define RC_NORMALIZE if (range < kTopValue) { range <<= 8; code = (code << 8) | ReadByte; }
-+
-+UInt32 RangeDecoderDecodeDirectBits(CRangeDecoder *rd, int numTotalBits)
-+{
-+  RC_INIT_VAR
-+  UInt32 result = 0;
-+  int i;
-+  for (i = numTotalBits; i > 0; i--)
-+  {
-+    /* UInt32 t; */
-+    range >>= 1;
-+
-+    result <<= 1;
-+    if (code >= range)
-+    {
-+      code -= range;
-+      result |= 1;
-+    }
-+    /*
-+    t = (code - range) >> 31;
-+    t &= 1;
-+    code -= range & (t - 1);
-+    result = (result + result) | (1 - t);
-+    */
-+    RC_NORMALIZE
-+  }
-+  RC_FLUSH_VAR
-+  return result;
-+}
-+
-+int RangeDecoderBitDecode(CProb *prob, CRangeDecoder *rd)
-+{
-+  UInt32 bound = (rd->Range >> kNumBitModelTotalBits) * *prob;
-+  if (rd->Code < bound)
-+  {
-+    rd->Range = bound;
-+    *prob += (kBitModelTotal - *prob) >> kNumMoveBits;
-+    if (rd->Range < kTopValue)
-+    {
-+      rd->Code = (rd->Code << 8) | ReadByte;
-+      rd->Range <<= 8;
-+    }
-+    return 0;
-+  }
-+  else
-+  {
-+    rd->Range -= bound;
-+    rd->Code -= bound;
-+    *prob -= (*prob) >> kNumMoveBits;
-+    if (rd->Range < kTopValue)
-+    {
-+      rd->Code = (rd->Code << 8) | ReadByte;
-+      rd->Range <<= 8;
-+    }
-+    return 1;
-+  }
-+}
-+
-+#define RC_GET_BIT2(prob, mi, A0, A1) \
-+  UInt32 bound = (range >> kNumBitModelTotalBits) * *prob; \
-+  if (code < bound) \
-+    { A0; range = bound; *prob += (kBitModelTotal - *prob) >> kNumMoveBits; mi <<= 1; } \
-+  else \
-+    { A1; range -= bound; code -= bound; *prob -= (*prob) >> kNumMoveBits; mi = (mi + mi) + 1; } \
-+  RC_NORMALIZE
-+
-+#define RC_GET_BIT(prob, mi) RC_GET_BIT2(prob, mi, ; , ;)               
-+
-+int RangeDecoderBitTreeDecode(CProb *probs, int numLevels, CRangeDecoder *rd)
-+{
-+  int mi = 1;
-+  int i;
-+  #ifdef _LZMA_LOC_OPT
-+  RC_INIT_VAR
-+  #endif
-+  for(i = numLevels; i > 0; i--)
-+  {
-+    #ifdef _LZMA_LOC_OPT
-+    CProb *prob = probs + mi;
-+    RC_GET_BIT(prob, mi)
-+    #else
-+    mi = (mi + mi) + RangeDecoderBitDecode(probs + mi, rd);
-+    #endif
-+  }
-+  #ifdef _LZMA_LOC_OPT
-+  RC_FLUSH_VAR
-+  #endif
-+  return mi - (1 << numLevels);
-+}
-+
-+int RangeDecoderReverseBitTreeDecode(CProb *probs, int numLevels, CRangeDecoder *rd)
-+{
-+  int mi = 1;
-+  int i;
-+  int symbol = 0;
-+  #ifdef _LZMA_LOC_OPT
-+  RC_INIT_VAR
-+  #endif
-+  for(i = 0; i < numLevels; i++)
-+  {
-+    #ifdef _LZMA_LOC_OPT
-+    CProb *prob = probs + mi;
-+    RC_GET_BIT2(prob, mi, ; , symbol |= (1 << i))
-+    #else
-+    int bit = RangeDecoderBitDecode(probs + mi, rd);
-+    mi = mi + mi + bit;
-+    symbol |= (bit << i);
-+    #endif
-+  }
-+  #ifdef _LZMA_LOC_OPT
-+  RC_FLUSH_VAR
-+  #endif
-+  return symbol;
-+}
-+
-+Byte LzmaLiteralDecode(CProb *probs, CRangeDecoder *rd)
-+{ 
-+  int symbol = 1;
-+  #ifdef _LZMA_LOC_OPT
-+  RC_INIT_VAR
-+  #endif
-+  do
-+  {
-+    #ifdef _LZMA_LOC_OPT
-+    CProb *prob = probs + symbol;
-+    RC_GET_BIT(prob, symbol)
-+    #else
-+    symbol = (symbol + symbol) | RangeDecoderBitDecode(probs + symbol, rd);
-+    #endif
-+  }
-+  while (symbol < 0x100);
-+  #ifdef _LZMA_LOC_OPT
-+  RC_FLUSH_VAR
-+  #endif
-+  return symbol;
-+}
-+
-+Byte LzmaLiteralDecodeMatch(CProb *probs, CRangeDecoder *rd, Byte matchByte)
-+{ 
-+  int symbol = 1;
-+  #ifdef _LZMA_LOC_OPT
-+  RC_INIT_VAR
-+  #endif
-+  do
-+  {
-+    int bit;
-+    int matchBit = (matchByte >> 7) & 1;
-+    matchByte <<= 1;
-+    #ifdef _LZMA_LOC_OPT
-+    {
-+      CProb *prob = probs + ((1 + matchBit) << 8) + symbol;
-+      RC_GET_BIT2(prob, symbol, bit = 0, bit = 1)
-+    }
-+    #else
-+    bit = RangeDecoderBitDecode(probs + ((1 + matchBit) << 8) + symbol, rd);
-+    symbol = (symbol << 1) | bit;
-+    #endif
-+    if (matchBit != bit)
-+    {
-+      while (symbol < 0x100)
-+      {
-+        #ifdef _LZMA_LOC_OPT
-+        CProb *prob = probs + symbol;
-+        RC_GET_BIT(prob, symbol)
-+        #else
-+        symbol = (symbol + symbol) | RangeDecoderBitDecode(probs + symbol, rd);
-+        #endif
-+      }
-+      break;
-+    }
-+  }
-+  while (symbol < 0x100);
-+  #ifdef _LZMA_LOC_OPT
-+  RC_FLUSH_VAR
-+  #endif
-+  return symbol;
-+}
-+
-+#define kNumPosBitsMax 4
-+#define kNumPosStatesMax (1 << kNumPosBitsMax)
-+
-+#define kLenNumLowBits 3
-+#define kLenNumLowSymbols (1 << kLenNumLowBits)
-+#define kLenNumMidBits 3
-+#define kLenNumMidSymbols (1 << kLenNumMidBits)
-+#define kLenNumHighBits 8
-+#define kLenNumHighSymbols (1 << kLenNumHighBits)
-+
-+#define LenChoice 0
-+#define LenChoice2 (LenChoice + 1)
-+#define LenLow (LenChoice2 + 1)
-+#define LenMid (LenLow + (kNumPosStatesMax << kLenNumLowBits))
-+#define LenHigh (LenMid + (kNumPosStatesMax << kLenNumMidBits))
-+#define kNumLenProbs (LenHigh + kLenNumHighSymbols) 
-+
-+int LzmaLenDecode(CProb *p, CRangeDecoder *rd, int posState)
-+{
-+  if(RangeDecoderBitDecode(p + LenChoice, rd) == 0)
-+    return RangeDecoderBitTreeDecode(p + LenLow +
-+        (posState << kLenNumLowBits), kLenNumLowBits, rd);
-+  if(RangeDecoderBitDecode(p + LenChoice2, rd) == 0)
-+    return kLenNumLowSymbols + RangeDecoderBitTreeDecode(p + LenMid +
-+        (posState << kLenNumMidBits), kLenNumMidBits, rd);
-+  return kLenNumLowSymbols + kLenNumMidSymbols + 
-+      RangeDecoderBitTreeDecode(p + LenHigh, kLenNumHighBits, rd);
-+}
-+
-+#define kNumStates 12
-+
-+#define kStartPosModelIndex 4
-+#define kEndPosModelIndex 14
-+#define kNumFullDistances (1 << (kEndPosModelIndex >> 1))
-+
-+#define kNumPosSlotBits 6
-+#define kNumLenToPosStates 4
-+
-+#define kNumAlignBits 4
-+#define kAlignTableSize (1 << kNumAlignBits)
-+
-+#define kMatchMinLen 2
-+
-+#define IsMatch 0
-+#define IsRep (IsMatch + (kNumStates << kNumPosBitsMax))
-+#define IsRepG0 (IsRep + kNumStates)
-+#define IsRepG1 (IsRepG0 + kNumStates)
-+#define IsRepG2 (IsRepG1 + kNumStates)
-+#define IsRep0Long (IsRepG2 + kNumStates)
-+#define PosSlot (IsRep0Long + (kNumStates << kNumPosBitsMax))
-+#define SpecPos (PosSlot + (kNumLenToPosStates << kNumPosSlotBits))
-+#define Align (SpecPos + kNumFullDistances - kEndPosModelIndex)
-+#define LenCoder (Align + kAlignTableSize)
-+#define RepLenCoder (LenCoder + kNumLenProbs)
-+#define Literal (RepLenCoder + kNumLenProbs)
-+
-+#if Literal != LZMA_BASE_SIZE
-+StopCompilingDueBUG
-+#endif
-+
-+#ifdef _LZMA_OUT_READ
-+
-+typedef struct _LzmaVarState
-+{
-+  CRangeDecoder RangeDecoder;
-+  Byte *Dictionary;
-+  UInt32 DictionarySize;
-+  UInt32 DictionaryPos;
-+  UInt32 GlobalPos;
-+  UInt32 Reps[4];
-+  int lc;
-+  int lp;
-+  int pb;
-+  int State;
-+  int PreviousIsMatch;
-+  int RemainLen;
-+} LzmaVarState;
-+
-+int LzmaDecoderInit(
-+    unsigned char *buffer, UInt32 bufferSize,
-+    int lc, int lp, int pb,
-+    unsigned char *dictionary, UInt32 dictionarySize,
-+    #ifdef _LZMA_IN_CB
-+    ILzmaInCallback *inCallback
-+    #else
-+    unsigned char *inStream, UInt32 inSize
-+    #endif
-+    )
-+{
-+  LzmaVarState *vs = (LzmaVarState *)buffer;
-+  CProb *p = (CProb *)(buffer + sizeof(LzmaVarState));
-+  UInt32 numProbs = Literal + ((UInt32)LZMA_LIT_SIZE << (lc + lp));
-+  UInt32 i;
-+  if (bufferSize < numProbs * sizeof(CProb) + sizeof(LzmaVarState))
-+    return LZMA_RESULT_NOT_ENOUGH_MEM;
-+  vs->Dictionary = dictionary;
-+  vs->DictionarySize = dictionarySize;
-+  vs->DictionaryPos = 0;
-+  vs->GlobalPos = 0;
-+  vs->Reps[0] = vs->Reps[1] = vs->Reps[2] = vs->Reps[3] = 1;
-+  vs->lc = lc;
-+  vs->lp = lp;
-+  vs->pb = pb;
-+  vs->State = 0;
-+  vs->PreviousIsMatch = 0;
-+  vs->RemainLen = 0;
-+  dictionary[dictionarySize - 1] = 0;
-+  for (i = 0; i < numProbs; i++)
-+    p[i] = kBitModelTotal >> 1; 
-+  RangeDecoderInit(&vs->RangeDecoder, 
-+      #ifdef _LZMA_IN_CB
-+      inCallback
-+      #else
-+      inStream, inSize
-+      #endif
-+  );
-+  return LZMA_RESULT_OK;
-+}
-+
-+int LzmaDecode(unsigned char *buffer, 
-+    unsigned char *outStream, UInt32 outSize,
-+    UInt32 *outSizeProcessed)
-+{
-+  LzmaVarState *vs = (LzmaVarState *)buffer;
-+  CProb *p = (CProb *)(buffer + sizeof(LzmaVarState));
-+  CRangeDecoder rd = vs->RangeDecoder;
-+  int state = vs->State;
-+  int previousIsMatch = vs->PreviousIsMatch;
-+  Byte previousByte;
-+  UInt32 rep0 = vs->Reps[0], rep1 = vs->Reps[1], rep2 = vs->Reps[2], rep3 = vs->Reps[3];
-+  UInt32 nowPos = 0;
-+  UInt32 posStateMask = (1 << (vs->pb)) - 1;
-+  UInt32 literalPosMask = (1 << (vs->lp)) - 1;
-+  int lc = vs->lc;
-+  int len = vs->RemainLen;
-+  UInt32 globalPos = vs->GlobalPos;
-+
-+  Byte *dictionary = vs->Dictionary;
-+  UInt32 dictionarySize = vs->DictionarySize;
-+  UInt32 dictionaryPos = vs->DictionaryPos;
-+
-+  if (len == -1)
-+  {
-+    *outSizeProcessed = 0;
-+    return LZMA_RESULT_OK;
-+  }
-+
-+  while(len > 0 && nowPos < outSize)
-+  {
-+    UInt32 pos = dictionaryPos - rep0;
-+    if (pos >= dictionarySize)
-+      pos += dictionarySize;
-+    outStream[nowPos++] = dictionary[dictionaryPos] = dictionary[pos];
-+    if (++dictionaryPos == dictionarySize)
-+      dictionaryPos = 0;
-+    len--;
-+  }
-+  if (dictionaryPos == 0)
-+    previousByte = dictionary[dictionarySize - 1];
-+  else
-+    previousByte = dictionary[dictionaryPos - 1];
-+#else
-+
-+int LzmaDecode(
-+    Byte *buffer, UInt32 bufferSize,
-+    int lc, int lp, int pb,
-+    #ifdef _LZMA_IN_CB
-+    ILzmaInCallback *inCallback,
-+    #else
-+    unsigned char *inStream, UInt32 inSize,
-+    #endif
-+    unsigned char *outStream, UInt32 outSize,
-+    UInt32 *outSizeProcessed)
-+{
-+  UInt32 numProbs = Literal + ((UInt32)LZMA_LIT_SIZE << (lc + lp));
-+  CProb *p = (CProb *)buffer;
-+  CRangeDecoder rd;
-+  UInt32 i;
-+  int state = 0;
-+  int previousIsMatch = 0;
-+  Byte previousByte = 0;
-+  UInt32 rep0 = 1, rep1 = 1, rep2 = 1, rep3 = 1;
-+  UInt32 nowPos = 0;
-+  UInt32 posStateMask = (1 << pb) - 1;
-+  UInt32 literalPosMask = (1 << lp) - 1;
-+  int len = 0;
-+  if (bufferSize < numProbs * sizeof(CProb))
-+    return LZMA_RESULT_NOT_ENOUGH_MEM;
-+  for (i = 0; i < numProbs; i++)
-+    p[i] = kBitModelTotal >> 1; 
-+  RangeDecoderInit(&rd, 
-+      #ifdef _LZMA_IN_CB
-+      inCallback
-+      #else
-+      inStream, inSize
-+      #endif
-+      );
-+#endif
-+
-+  *outSizeProcessed = 0;
-+  while(nowPos < outSize)
-+  {
-+    int posState = (int)(
-+        (nowPos 
-+        #ifdef _LZMA_OUT_READ
-+        + globalPos
-+        #endif
-+        )
-+        & posStateMask);
-+    #ifdef _LZMA_IN_CB
-+    if (rd.Result != LZMA_RESULT_OK)
-+      return rd.Result;
-+    #endif
-+    if (rd.ExtraBytes != 0)
-+      return LZMA_RESULT_DATA_ERROR;
-+    if (RangeDecoderBitDecode(p + IsMatch + (state << kNumPosBitsMax) + posState, &rd) == 0)
-+    {
-+      CProb *probs = p + Literal + (LZMA_LIT_SIZE * 
-+        (((
-+        (nowPos 
-+        #ifdef _LZMA_OUT_READ
-+        + globalPos
-+        #endif
-+        )
-+        & literalPosMask) << lc) + (previousByte >> (8 - lc))));
-+
-+      if (state < 4) state = 0;
-+      else if (state < 10) state -= 3;
-+      else state -= 6;
-+      if (previousIsMatch)
-+      {
-+        Byte matchByte;
-+        #ifdef _LZMA_OUT_READ
-+        UInt32 pos = dictionaryPos - rep0;
-+        if (pos >= dictionarySize)
-+          pos += dictionarySize;
-+        matchByte = dictionary[pos];
-+        #else
-+        matchByte = outStream[nowPos - rep0];
-+        #endif
-+        previousByte = LzmaLiteralDecodeMatch(probs, &rd, matchByte);
-+        previousIsMatch = 0;
-+      }
-+      else
-+        previousByte = LzmaLiteralDecode(probs, &rd);
-+      outStream[nowPos++] = previousByte;
-+      #ifdef _LZMA_OUT_READ
-+      dictionary[dictionaryPos] = previousByte;
-+      if (++dictionaryPos == dictionarySize)
-+        dictionaryPos = 0;
-+      #endif
-+    }
-+    else             
-+    {
-+      previousIsMatch = 1;
-+      if (RangeDecoderBitDecode(p + IsRep + state, &rd) == 1)
-+      {
-+        if (RangeDecoderBitDecode(p + IsRepG0 + state, &rd) == 0)
-+        {
-+          if (RangeDecoderBitDecode(p + IsRep0Long + (state << kNumPosBitsMax) + posState, &rd) == 0)
-+          {
-+            #ifdef _LZMA_OUT_READ
-+            UInt32 pos;
-+            #endif
-+            if (
-+               (nowPos 
-+                #ifdef _LZMA_OUT_READ
-+                + globalPos
-+                #endif
-+               )
-+               == 0)
-+              return LZMA_RESULT_DATA_ERROR;
-+            state = state < 7 ? 9 : 11;
-+            #ifdef _LZMA_OUT_READ
-+            pos = dictionaryPos - rep0;
-+            if (pos >= dictionarySize)
-+              pos += dictionarySize;
-+            previousByte = dictionary[pos];
-+            dictionary[dictionaryPos] = previousByte;
-+            if (++dictionaryPos == dictionarySize)
-+              dictionaryPos = 0;
-+            #else
-+            previousByte = outStream[nowPos - rep0];
-+            #endif
-+            outStream[nowPos++] = previousByte;
-+            continue;
-+          }
-+        }
-+        else
-+        {
-+          UInt32 distance;
-+          if(RangeDecoderBitDecode(p + IsRepG1 + state, &rd) == 0)
-+            distance = rep1;
-+          else 
-+          {
-+            if(RangeDecoderBitDecode(p + IsRepG2 + state, &rd) == 0)
-+              distance = rep2;
-+            else
-+            {
-+              distance = rep3;
-+              rep3 = rep2;
-+            }
-+            rep2 = rep1;
-+          }
-+          rep1 = rep0;
-+          rep0 = distance;
-+        }
-+        len = LzmaLenDecode(p + RepLenCoder, &rd, posState);
-+        state = state < 7 ? 8 : 11;
-+      }
-+      else
-+      {
-+        int posSlot;
-+        rep3 = rep2;
-+        rep2 = rep1;
-+        rep1 = rep0;
-+        state = state < 7 ? 7 : 10;
-+        len = LzmaLenDecode(p + LenCoder, &rd, posState);
-+        posSlot = RangeDecoderBitTreeDecode(p + PosSlot +
-+            ((len < kNumLenToPosStates ? len : kNumLenToPosStates - 1) << 
-+            kNumPosSlotBits), kNumPosSlotBits, &rd);
-+        if (posSlot >= kStartPosModelIndex)
-+        {
-+          int numDirectBits = ((posSlot >> 1) - 1);
-+          rep0 = ((2 | ((UInt32)posSlot & 1)) << numDirectBits);
-+          if (posSlot < kEndPosModelIndex)
-+          {
-+            rep0 += RangeDecoderReverseBitTreeDecode(
-+                p + SpecPos + rep0 - posSlot - 1, numDirectBits, &rd);
-+          }
-+          else
-+          {
-+            rep0 += RangeDecoderDecodeDirectBits(&rd, 
-+                numDirectBits - kNumAlignBits) << kNumAlignBits;
-+            rep0 += RangeDecoderReverseBitTreeDecode(p + Align, kNumAlignBits, &rd);
-+          }
-+        }
-+        else
-+          rep0 = posSlot;
-+        rep0++;
-+      }
-+      if (rep0 == (UInt32)(0))
-+      {
-+        /* it's for stream version */
-+        len = -1;
-+        break;
-+      }
-+      if (rep0 > nowPos 
-+        #ifdef _LZMA_OUT_READ
-+        + globalPos
-+        #endif
-+        )
-+      {
-+        return LZMA_RESULT_DATA_ERROR;
-+      }
-+      len += kMatchMinLen;
-+      do
-+      {
-+        #ifdef _LZMA_OUT_READ
-+        UInt32 pos = dictionaryPos - rep0;
-+        if (pos >= dictionarySize)
-+          pos += dictionarySize;
-+        previousByte = dictionary[pos];
-+        dictionary[dictionaryPos] = previousByte;
-+        if (++dictionaryPos == dictionarySize)
-+          dictionaryPos = 0;
-+        #else
-+        previousByte = outStream[nowPos - rep0];
-+        #endif
-+        outStream[nowPos++] = previousByte;
-+        len--;
-+      }
-+      while(len > 0 && nowPos < outSize);
-+    }
-+  }
-+
-+  #ifdef _LZMA_OUT_READ
-+  vs->RangeDecoder = rd;
-+  vs->DictionaryPos = dictionaryPos;
-+  vs->GlobalPos = globalPos + nowPos;
-+  vs->Reps[0] = rep0;
-+  vs->Reps[1] = rep1;
-+  vs->Reps[2] = rep2;
-+  vs->Reps[3] = rep3;
-+  vs->State = state;
-+  vs->PreviousIsMatch = previousIsMatch;
-+  vs->RemainLen = len;
-+  #endif
-+
-+  *outSizeProcessed = nowPos;
-+  return LZMA_RESULT_OK;
-+}
-diff -Nur linux-2.6.16/fs/squashfs/LzmaDecode.h linux-2.6.16-owrt/fs/squashfs/LzmaDecode.h
---- linux-2.6.16/fs/squashfs/LzmaDecode.h      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.16-owrt/fs/squashfs/LzmaDecode.h 2006-03-21 10:56:57.000000000 +0100
-@@ -0,0 +1,100 @@
-+/* 
-+  LzmaDecode.h
-+  LZMA Decoder interface
-+
-+  LZMA SDK 4.05 Copyright (c) 1999-2004 Igor Pavlov (2004-08-25)
-+  http://www.7-zip.org/
-+
-+  LZMA SDK is licensed under two licenses:
-+  1) GNU Lesser General Public License (GNU LGPL)
-+  2) Common Public License (CPL)
-+  It means that you can select one of these two licenses and 
-+  follow rules of that license.
-+
-+  SPECIAL EXCEPTION:
-+  Igor Pavlov, as the author of this code, expressly permits you to 
-+  statically or dynamically link your code (or bind by name) to the 
-+  interfaces of this file without subjecting your linked code to the 
-+  terms of the CPL or GNU LGPL. Any modifications or additions 
-+  to this file, however, are subject to the LGPL or CPL terms.
-+*/
-+
-+#ifndef __LZMADECODE_H
-+#define __LZMADECODE_H
-+
-+/* #define _LZMA_IN_CB */
-+/* Use callback for input data */
-+
-+/* #define _LZMA_OUT_READ */
-+/* Use read function for output data */
-+
-+/* #define _LZMA_PROB32 */
-+/* It can increase speed on some 32-bit CPUs, 
-+   but memory usage will be doubled in that case */
-+
-+/* #define _LZMA_LOC_OPT */
-+/* Enable local speed optimizations inside code */
-+
-+#ifndef UInt32
-+#ifdef _LZMA_UINT32_IS_ULONG
-+#define UInt32 unsigned long
-+#else
-+#define UInt32 unsigned int
-+#endif
-+#endif
-+
-+#ifdef _LZMA_PROB32
-+#define CProb UInt32
-+#else
-+#define CProb unsigned short
-+#endif
-+
-+#define LZMA_RESULT_OK 0
-+#define LZMA_RESULT_DATA_ERROR 1
-+#define LZMA_RESULT_NOT_ENOUGH_MEM 2
-+
-+#ifdef _LZMA_IN_CB
-+typedef struct _ILzmaInCallback
-+{
-+  int (*Read)(void *object, unsigned char **buffer, UInt32 *bufferSize);
-+} ILzmaInCallback;
-+#endif
-+
-+#define LZMA_BASE_SIZE 1846
-+#define LZMA_LIT_SIZE 768
-+
-+/* 
-+bufferSize = (LZMA_BASE_SIZE + (LZMA_LIT_SIZE << (lc + lp)))* sizeof(CProb)
-+bufferSize += 100 in case of _LZMA_OUT_READ
-+by default CProb is unsigned short, 
-+but if specify _LZMA_PROB_32, CProb will be UInt32(unsigned int)
-+*/
-+
-+#ifdef _LZMA_OUT_READ
-+int LzmaDecoderInit(
-+    unsigned char *buffer, UInt32 bufferSize,
-+    int lc, int lp, int pb,
-+    unsigned char *dictionary, UInt32 dictionarySize,
-+  #ifdef _LZMA_IN_CB
-+    ILzmaInCallback *inCallback
-+  #else
-+    unsigned char *inStream, UInt32 inSize
-+  #endif
-+);
-+#endif
-+
-+int LzmaDecode(
-+    unsigned char *buffer, 
-+  #ifndef _LZMA_OUT_READ
-+    UInt32 bufferSize,
-+    int lc, int lp, int pb,
-+  #ifdef _LZMA_IN_CB
-+    ILzmaInCallback *inCallback,
-+  #else
-+    unsigned char *inStream, UInt32 inSize,
-+  #endif
-+  #endif
-+    unsigned char *outStream, UInt32 outSize,
-+    UInt32 *outSizeProcessed);
-+
-+#endif
-diff -Nur linux-2.6.16/fs/squashfs/Makefile linux-2.6.16-owrt/fs/squashfs/Makefile
---- linux-2.6.16/fs/squashfs/Makefile  2006-03-21 10:55:59.000000000 +0100
-+++ linux-2.6.16-owrt/fs/squashfs/Makefile     2006-03-21 10:57:08.000000000 +0100
-@@ -5,3 +5,4 @@
- obj-$(CONFIG_SQUASHFS) += squashfs.o
- squashfs-y += inode.o
- squashfs-y += squashfs2_0.o
-+squashfs-y += LzmaDecode.o
diff --git a/recipes/squashfs-tools/files/Makefile-2.2.patch b/recipes/squashfs-tools/files/Makefile-2.2.patch
deleted file mode 100644 (file)
index 7a16129..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
---- squashfs-tools/Makefile.orig       2005-10-26 18:15:43.641623000 +0100
-+++ squashfs-tools/Makefile    2005-10-26 18:21:29.747253250 +0100
-@@ -1,12 +1,17 @@
- INCLUDEDIR = .
-+CFLAGS_R = -I$(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-+LIBS = -lz
- CFLAGS := -I$(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -g
- mksquashfs: mksquashfs.o read_fs.o sort.o
--      $(CC) mksquashfs.o read_fs.o sort.o -lz -o $@
-+      $(CC) $(LDFLAGS) mksquashfs.o read_fs.o sort.o -lz -o $@
- mksquashfs.o: mksquashfs.c mksquashfs.h
-+      $(CC) $(CFLAGS_R) $(CFLAGS) -c -o mksquashfs.o mksquashfs.c
- read_fs.o: read_fs.c read_fs.h
-+      $(CC) $(CFLAGS_R) $(CFLAGS) -c -o read_fs.o read_fs.c
- sort.o: sort.c
-+      $(CC) $(CFLAGS_R) $(CFLAGS) -c -o sort.o sort.c
diff --git a/recipes/squashfs-tools/files/Makefile-3.1.patch b/recipes/squashfs-tools/files/Makefile-3.1.patch
deleted file mode 100644 (file)
index 1b7c498..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-Modifies the Makefile to work with OpenEmbedded.
-
-I copied the CFLAGS_R approach from the existing 2.0 squashfs-tools, 
-without actually knowing why this approach was taken. It works though.
-
-Leon Woestenberg <leonw@mailcan.com>
-
---- squashfs-tools/Makefile    2006-10-10 13:59:05.000000000 +0200
-+++ squashfs-tools/Makefile.oe 2006-10-10 14:06:01.000000000 +0200
-@@ -1,17 +1,22 @@
- INCLUDEDIR = .
-+CFLAGS_R = -I$(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-+LIBS = -lz -lpthread
- CFLAGS := -I$(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -O2
- all: mksquashfs unsquashfs
- mksquashfs: mksquashfs.o read_fs.o sort.o
--      $(CC) mksquashfs.o read_fs.o sort.o -lz -lpthread -o $@
-+      $(CC) $(LDFLAGS) mksquashfs.o read_fs.o sort.o $(LIBS) -o $@
- mksquashfs.o: mksquashfs.c squashfs_fs.h mksquashfs.h global.h sort.h
-+      $(CC) $(CFLAGS_R) $(CFLAGS) -c -o mksquashfs.o mksquashfs.c
- read_fs.o: read_fs.c squashfs_fs.h read_fs.h global.h
--
-+      $(CC) $(CFLAGS_R) $(CFLAGS) -c -o read_fs.o read_fs.c
-+      
- sort.o: sort.c squashfs_fs.h global.h sort.h
-+      $(CC) $(CFLAGS_R) $(CFLAGS) -c -o sort.o sort.c
- unsquashfs: unsquashfs.o
-       $(CC) unsquashfs.o -lz -o $@
diff --git a/recipes/squashfs-tools/files/Makefile.patch b/recipes/squashfs-tools/files/Makefile.patch
deleted file mode 100644 (file)
index beabea8..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-Index: squashfs-tools/Makefile
-===================================================================
---- squashfs-tools.orig/Makefile       2006-08-21 01:42:45.000000000 +0200
-+++ squashfs-tools/Makefile    2006-09-21 11:42:10.000000000 +0200
-@@ -1,19 +1,24 @@
- INCLUDEDIR = .
- CFLAGS := -I$(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -O2
-+CFLAGS_R = -I$(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-+LIBS = -lz
- all: mksquashfs unsquashfs
- mksquashfs: mksquashfs.o read_fs.o sort.o
--      $(CC) mksquashfs.o read_fs.o sort.o -lz -lpthread -o $@
-+      $(CC) $(LDFLAGS) mksquashfs.o read_fs.o sort.o -lz -lpthread -o $@
- mksquashfs.o: mksquashfs.c squashfs_fs.h mksquashfs.h global.h sort.h
-+      $(CC) $(CFLAGS_R) $(CFLAGS) -c -o mksquashfs.o mksquashfs.c
- read_fs.o: read_fs.c squashfs_fs.h read_fs.h global.h
-+      $(CC) $(CFLAGS_R) $(CFLAGS) -c -o read_fs.o read_fs.c
- sort.o: sort.c squashfs_fs.h global.h sort.h
-+      $(CC) $(CFLAGS_R) $(CFLAGS) -c -o sort.o sort.c
- unsquashfs: unsquashfs.o
--      $(CC) unsquashfs.o -lz -o $@
-+      $(CC) $(LDFLAGS) unsquashfs.o -lz -o $@
- unsquashfs.o: unsquashfs.c squashfs_fs.h read_fs.h global.h
diff --git a/recipes/squashfs-tools/files/flags.patch b/recipes/squashfs-tools/files/flags.patch
deleted file mode 100644 (file)
index 39bada8..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- squashfs-tools/Makefile~flags      2004-04-30 11:29:35.000000000 -0400
-+++ squashfs-tools/Makefile    2004-09-13 00:43:08.922418512 -0400
-@@ -1,12 +1,20 @@
-+CC = gcc
-+CCLD = $(CC)
- INCLUDEDIR = .
--
--CFLAGS := -I$(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -O2
-+CFLAGS_R = -I$(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-+CFLAGS = -O2
-+LDFLAGS_R =
-+LDFLAGS =
-+LIBS = -lz
- mksquashfs: mksquashfs.o read_fs.o sort.o
--      $(CC) mksquashfs.o read_fs.o sort.o -lz -o $@
-+      $(CCLD) $(LDFLAGS_R) $(LDFLAGS) mksquashfs.o read_fs.o sort.o $(LIBS) -o $@
- mksquashfs.o: mksquashfs.c mksquashfs.h
-+      $(CC) $(CFLAGS_R) $(CFLAGS) -c -o mksquashfs.o mksquashfs.c
- read_fs.o: read_fs.c read_fs.h
-+      $(CC) $(CFLAGS_R) $(CFLAGS) -c -o read_fs.o read_fs.c
- sort.o: sort.c
-+      $(CC) $(CFLAGS_R) $(CFLAGS) -c -o sort.o sort.c
diff --git a/recipes/squashfs-tools/files/squashfs2.0-tools-lzma.patch b/recipes/squashfs-tools/files/squashfs2.0-tools-lzma.patch
deleted file mode 100644 (file)
index 91beaad..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
---- squashfs-tools/Makefile.orig       2005-06-12 21:41:47.000000000 +0200
-+++ squashfs-tools/Makefile    2005-06-12 21:42:08.000000000 +0200
-@@ -10,6 +10,9 @@
- mksquashfs: mksquashfs.o read_fs.o sort.o
-       $(CCLD) $(LDFLAGS_R) $(LDFLAGS) mksquashfs.o read_fs.o sort.o $(LIBS) -o $@
-+mksquashfs-lzma: mksquashfs.o read_fs.o sort.o
-+      $(CXX) $(LDFLAGS) mksquashfs.o read_fs.o sort.o -llzma -o $@
-+
- mksquashfs.o: mksquashfs.c mksquashfs.h
-       $(CC) $(CFLAGS_R) $(CFLAGS) -c -o mksquashfs.o mksquashfs.c
diff --git a/recipes/squashfs-tools/files/squashfs3.1r2-tools-lzma_Makefile.patch b/recipes/squashfs-tools/files/squashfs3.1r2-tools-lzma_Makefile.patch
deleted file mode 100644 (file)
index eeb578a..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-Modifies the Makefile so that it builds {mk,un}squashfs-lzma instead
-of {mk,un}squashfs. This requires the common (non-lzma) patch called
-Makefile-3.1 to be applied first.
-
-Leon Woestenberg <leonw@mailcan.com>
-
---- squashfs-tools/Makefile    2006-10-10 16:07:43.000000000 +0200
-+++ squashfs-lzma-tools/Makefile       2006-10-10 15:44:57.000000000 +0200
-@@ -1,13 +1,15 @@
- INCLUDEDIR = .
- CFLAGS_R = -I$(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
--LIBS = -lz -lpthread
-+#LZMAPATH = ./lzma/C/7zip/Compress/LZMA_Lib
-+LIBS = -llzma -lz -lpthread
- CFLAGS := -I$(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -O2
- all: mksquashfs unsquashfs
--mksquashfs: mksquashfs.o read_fs.o sort.o
--      $(CC) $(LDFLAGS) mksquashfs.o read_fs.o sort.o $(LIBS) -o $@
-+mksquashfs-lzma: mksquashfs.o read_fs.o sort.o
-+#     make -C $(LZMAPATH)
-+      $(CXX) $(LDFLAGS) mksquashfs.o read_fs.o sort.o $(LIBS) -o $@
- mksquashfs.o: mksquashfs.c squashfs_fs.h mksquashfs.h global.h sort.h
-       $(CC) $(CFLAGS_R) $(CFLAGS) -c -o mksquashfs.o mksquashfs.c
-@@ -18,7 +20,10 @@
- sort.o: sort.c squashfs_fs.h global.h sort.h
-       $(CC) $(CFLAGS_R) $(CFLAGS) -c -o sort.o sort.c
--unsquashfs: unsquashfs.o
--      $(CC) unsquashfs.o -lz -o $@
-+unsquashfs-lzma: unsquashfs.o
-+#     make -C $(LZMAPATH)
-+      $(CXX) unsquashfs.o $(LIBS) -o $@
- unsquashfs.o: unsquashfs.c squashfs_fs.h read_fs.h global.h
-+
-+clean:
diff --git a/recipes/squashfs-tools/files/squashfs3.1r2-tools-replace_zlib_with_lzma.patch b/recipes/squashfs-tools/files/squashfs3.1r2-tools-replace_zlib_with_lzma.patch
deleted file mode 100644 (file)
index 2947de0..0000000
+++ /dev/null
@@ -1,1785 +0,0 @@
-Modify the source code to use the lzma {,de}compression routines.
-
-Leon Woestenberg <leonw@mailcan.com>
-
-diff -Nur squashfs-tools/mksquashfs.c squashfs-lzma-tools/mksquashfs.c
---- squashfs-tools/mksquashfs.c        2006-08-31 00:07:37.000000000 +0200
-+++ squashfs-lzma-tools/mksquashfs.c   2006-08-22 09:35:14.000000000 +0200
-@@ -40,16 +40,13 @@
- #include <signal.h>
- #include <setjmp.h>
- #include <sys/mman.h>
--#include <pthread.h>
- #ifndef linux
- #define __BYTE_ORDER BYTE_ORDER
- #define __BIG_ENDIAN BIG_ENDIAN
- #define __LITTLE_ENDIAN LITTLE_ENDIAN
--#include <sys/sysctl.h>
- #else
- #include <endian.h>
--#include <sys/sysinfo.h>
- #endif
- #include <squashfs_fs.h>
-@@ -149,7 +146,7 @@
- struct inode_info *inode_info[INODE_HASH_SIZE];
- /* hash tables used to do fast duplicate searches in duplicate check */
--struct file_info *dupl[65536];
-+struct file_info *dupl[65536], *frag_dups[65536];
- int dup_files = 0;
- /* list of exclude dirs/files */
-@@ -165,7 +162,7 @@
- /* fragment block data structures */
- int fragments = 0;
--struct file_buffer *fragment_data = NULL;
-+char fragment_data[SQUASHFS_FILE_SIZE];
- int fragment_size = 0;
- struct fragment {
-       unsigned int            index;
-@@ -174,7 +171,6 @@
- };
- #define FRAG_SIZE 32768
- squashfs_fragment_entry *fragment_table = NULL;
--int fragments_outstanding = 0;
- /* current inode number for directories and non directories */
-@@ -198,15 +194,13 @@
- /* in memory file info */
- struct file_info {
--      long long               file_size;
-       long long               bytes;
-       unsigned short          checksum;
--      unsigned short          fragment_checksum;
-       long long               start;
-       unsigned int            *block_list;
-       struct file_info        *next;
-       struct fragment         *fragment;
--      char                    checksum_flag;
-+      unsigned short          fragment_checksum;
- };
- /* count of how many times SIGINT or SIGQUIT has been sent */
-@@ -225,7 +219,6 @@
-       sdir_count, sfifo_count, ssock_count, sdup_files;
- int sfragments;
- int restore = 0;
--int threads;
- /* flag whether destination file is a block device */
- int block_device = 0;
-@@ -236,67 +229,14 @@
- /* save destination file name for deleting on error */
- char *destination_file = NULL;
--/* data allocator status struct.  Allocators are used to keep
--  track of memory buffers passed between different threads */
--struct allocator {
--      int             max_buffers;
--      int             count;
--      int             buffer_size;
--      pthread_mutex_t mutex;
--      pthread_cond_t  wait;
--};
--
--/* struct describing a memory buffer passed between threads */
--struct file_buffer {
--      struct allocator        *allocator;
--      void                    (*release)(int);
--      int                     release_data;
--      long long               block;
--      int                     size;
--      int                     c_byte;
--      unsigned int            block_order;
--      int                     fragment;
--      int                     error;
--      struct file_buffer      *next;
--      char                    data[0];
--};
--
--/* struct describing queues used to pass data between threads */
--struct queue {
--      int                     size;
--      int                     readp;
--      int                     writep;
--      pthread_mutex_t         mutex;
--      pthread_cond_t          empty;
--      pthread_cond_t          full;
--      void                    **data;
--};
--
--/* describes the list of blocks in a file which is a possible
--   duplicate.  For each block, it indicates whether the block is
--   in memory or on disk */
--struct buffer_list {
--      long long start;
--      int size;
--      struct file_buffer *read_buffer;
-+/* structure to used to pass in a pointer or an integer
-+ * to duplicate buffer read helper functions.
-+ */
-+struct duplicate_buffer_handle {
-+      char    *ptr;
-+      long long       start;
- };
--struct allocator *reader_buffer, *writer_buffer, *fragment_buffer;
--struct queue *to_reader, *from_reader, *to_writer, *from_writer, *from_deflate, *to_frag;
--pthread_t *thread, *deflator_thread, *frag_deflator_thread;
--pthread_mutex_t       fragment_mutex;
--pthread_cond_t fragment_waiting;
--pthread_mutex_t       pos_mutex;
--
--/* user options that control parallelisation */
--int processors = -1;
--/* default size of output buffer in Mbytes */
--#define WRITER_BUFFER_DEFAULT 512
--/* default size of input buffer in Mbytes */
--#define READER_BUFFER_DEFAULT 64
--int writer_buffer_size;
--int reader_buffer_size;
--
- void add_old_root_entry(char *name, squashfs_inode inode, int inode_number, int type);
- extern int read_super(int fd, squashfs_super_block *sBlk, int *be, char *source);
- extern long long read_filesystem(char *root_name, int fd, squashfs_super_block *sBlk, char **cinode_table,
-@@ -309,166 +249,18 @@
-               unsigned int *inode_dir_inode_number, unsigned int *inode_dir_parent_inode,
-               void (push_directory_entry)(char *, squashfs_inode, int, int),
-               squashfs_fragment_entry **fragment_table);
--extern int read_sort_file(char *filename, int source, char *source_path[]);
--extern void sort_files_and_write(struct dir_info *dir);
--struct file_info *duplicate(long long file_size, long long bytes, unsigned int **block_list, long long *start, struct fragment **fragment, struct file_buffer *file_buffer, struct buffer_list *buffer_list, int blocks, unsigned short checksum, unsigned short fragment_checksum, int checksum_flag);
-+int get_sorted_inode(squashfs_inode *inode, struct stat *buf);
-+int read_sort_file(char *filename, int source, char *source_path[]);
-+void sort_files_and_write(struct dir_info *dir);
-+struct file_info *duplicate(char *(get_next_file_block)(struct duplicate_buffer_handle *, unsigned int), struct duplicate_buffer_handle *file_start, long long bytes, unsigned int **block_list, long long *start, int blocks, struct fragment **fragment, char *frag_data, int frag_bytes);
- struct dir_info *dir_scan1(char *, int (_readdir)(char *, char *, struct dir_info *));
--struct file_info *add_non_dup(long long file_size, long long bytes, unsigned int *block_list, long long start, struct fragment *fragment, unsigned short checksum, unsigned short fragment_checksum, int checksum_flag);
--extern void generate_file_priorities(struct dir_info *dir, int priority, struct stat *buf);
--extern struct priority_entry *priority_list[65536];
--
--
--struct allocator *alloc_init(int buffer_size, int max_buffers)
--{
--      struct allocator *allocator = malloc(sizeof(struct allocator));
--
--      if(allocator == NULL)
--              return NULL;
--
--      allocator->max_buffers = max_buffers;
--      allocator->buffer_size = buffer_size;
--      allocator->count = 0;
--      pthread_mutex_init(&allocator->mutex, NULL);
--      pthread_cond_init(&allocator->wait, NULL);
--
--      return allocator;
--}
--
--
--struct file_buffer *alloc_get(struct allocator *allocator)
--{
--      struct file_buffer *file_buffer;
--      
--      pthread_mutex_lock(&allocator->mutex);
--
--      while(allocator->count == allocator->max_buffers)
--              pthread_cond_wait(&allocator->wait, &allocator->mutex);
--
--      if((file_buffer = malloc(sizeof(struct file_buffer) + allocator->buffer_size)) == NULL)
--              goto failed;
--
--      file_buffer->release = NULL;
--      file_buffer->allocator = allocator;
--      allocator->count ++;
--
--failed:
--      pthread_mutex_unlock(&allocator->mutex);
--      return file_buffer;
--}
--
--
--struct file_buffer *alloc_get_2(struct allocator *allocator, void (*release)(int), int release_data)
--{
--      struct file_buffer *file_buffer = alloc_get(allocator);
--
--      if(file_buffer) {
--              file_buffer->release = release;
--              file_buffer->release_data = release_data;
--      }
--      return file_buffer;
--}
--
--
--void alloc_free(struct file_buffer *file_buffer)
--{
--      struct allocator *allocator;
--
--      if(file_buffer == NULL)
--              return;
--
--      allocator = file_buffer->allocator;
--
--      if(file_buffer->release)
--              file_buffer->release(file_buffer->release_data);
--
--      pthread_mutex_lock(&allocator->mutex);
--      free(file_buffer);
--      if(allocator->count == 0)
--              ERROR("alloc_free: freeing buffer for empty allocator!\n");
--      else
--              allocator->count --;
--      pthread_cond_signal(&allocator->wait);
--      pthread_mutex_unlock(&allocator->mutex);
--}
--
--
--struct queue *queue_init(int size)
--{
--      struct queue *queue = malloc(sizeof(struct queue));
--
--      if(queue == NULL)
--              return NULL;
--
--      if((queue->data = malloc(sizeof(void *) * (size + 1))) == NULL) {
--              free(queue);
--              return NULL;
--      }
--
--      queue->size = size + 1;
--      queue->readp = queue->writep = 0;
--      pthread_mutex_init(&queue->mutex, NULL);
--      pthread_cond_init(&queue->empty, NULL);
--      pthread_cond_init(&queue->full, NULL);
--
--      return queue;
--}
--
--
--void queue_put(struct queue *queue, void *data)
--{
--      int nextp;
--
--      pthread_mutex_lock(&queue->mutex);
--
--      while((nextp = (queue->writep + 1) % queue->size) == queue->readp)
--              pthread_cond_wait(&queue->full, &queue->mutex);
--
--      queue->data[queue->writep] = data;
--      queue->writep = nextp;
--      pthread_cond_signal(&queue->empty);
--      pthread_mutex_unlock(&queue->mutex);
--}
--
--
--void *queue_get(struct queue *queue)
--{
--      void *data;
--      pthread_mutex_lock(&queue->mutex);
--
--      while(queue->readp == queue->writep)
--              pthread_cond_wait(&queue->empty, &queue->mutex);
--
--      data = queue->data[queue->readp];
--      queue->readp = (queue->readp + 1) % queue->size;
--      pthread_cond_signal(&queue->full);
--      pthread_mutex_unlock(&queue->mutex);
--
--      return data;
--}
--
- #define MKINODE(A)    ((squashfs_inode)(((squashfs_inode) inode_bytes << 16) + (((char *)A) - data_cache)))
--inline void waitforthread(int i)
--{
--      TRACE("Waiting for thread %d\n", i);
--      while(thread[i] != 0)
--              sched_yield();
--}
--
--
- void restorefs()
- {
--      int i;
--
-       ERROR("Exiting - restoring original filesystem!\n\n");
--
--      for(i = 0; i < 2 + processors * 2; i++)
--              pthread_kill(thread[i], SIGUSR1);
--      for(i = 0; i < 2 + processors * 2; i++)
--              waitforthread(i);
--      TRACE("All threads in signal handler\n");
-       bytes = sbytes;
-       memcpy(data_cache, sdata_cache, cache_bytes = scache_bytes);
-       memcpy(directory_data_cache, sdirectory_data_cache, directory_cache_bytes = sdirectory_cache_bytes);
-@@ -495,13 +287,12 @@
- void sighandler()
- {
--      if(++interrupted > 2)
--              return;
--      if(interrupted == 2)
-+      if(interrupted == 1)
-               restorefs();
-       else {
-               ERROR("Interrupting will restore original filesystem!\n");
-               ERROR("Interrupt again to quit\n");
-+              interrupted ++;
-       }
- }
-@@ -512,81 +303,22 @@
- }
--void sigusr1_handler()
--{
--      int i;
--      sigset_t sigmask;
--      pthread_t thread_id = pthread_self();
--
--      for(i = 0; i < (2 + processors * 2) && thread[i] != thread_id; i++);
--      thread[i] = (pthread_t) 0;
--
--      TRACE("Thread %d(%p) in sigusr1_handler\n", i, thread_id);
--
--      sigemptyset(&sigmask);
--      sigaddset(&sigmask, SIGINT);
--      sigaddset(&sigmask, SIGQUIT);
--      sigaddset(&sigmask, SIGUSR1);
--      while(1) {
--              sigsuspend(&sigmask);
--              TRACE("After wait in sigusr1_handler :(\n");
--      }
--}
--
--
--unsigned int mangle2(z_stream **strm, char *d, char *s, int size, int block_size, int uncompressed, int data_block)
-+unsigned int mangle(char *d, char *s, int size, int block_size, int uncompressed, int data_block)
- {
--      unsigned long c_byte;
-+      unsigned long c_byte = block_size << 1;
-       unsigned int res;
--      z_stream *stream = *strm;
--
--      if(uncompressed)
--              goto notcompressed;
--
--      if(stream == NULL) {
--              if((stream = *strm = malloc(sizeof(z_stream))) == NULL)
--                      BAD_ERROR("mangle::compress failed, not enough memory\n");
--
--              stream->zalloc = Z_NULL;
--              stream->zfree = Z_NULL;
--              stream->opaque = 0;
--              if((res = deflateInit(stream, 9)) != Z_OK) {
--                      if(res == Z_MEM_ERROR)
--                              BAD_ERROR("zlib::compress failed, not enough memory\n");
--                      else if(res == Z_STREAM_ERROR)
--                              BAD_ERROR("zlib::compress failed, not a valid compression level\n");
--                      else if(res == Z_VERSION_ERROR)
--                              BAD_ERROR("zlib::compress failed, incorrect zlib version\n");
--                      else
--                              BAD_ERROR("zlib::compress failed, unknown error %d\n", res);
--              }
--      } else if((res = deflateReset(stream)) != Z_OK) {
--              if(res == Z_STREAM_ERROR)
--                      BAD_ERROR("zlib::compress failed, stream state inconsistent\n");
--              else
--                      BAD_ERROR("zlib::compress failed, unknown error %d\n", res);
--      }
--
--      stream->next_in = (unsigned char *) s;
--      stream->avail_in = size;
--      stream->next_out = (unsigned char *) d;
--      stream->avail_out = block_size;
--
--      res = deflate(stream, Z_FINISH);
--      if(res != Z_STREAM_END && res != Z_OK) {
--              if(res == Z_STREAM_ERROR)
--                      BAD_ERROR("zlib::compress failed, stream state inconsistent\n");
-+      if(!uncompressed && (res = compress2((unsigned char *) d, &c_byte, (unsigned char *) s, size, 9)) != Z_OK) {
-+              if(res == Z_MEM_ERROR)
-+                      BAD_ERROR("zlib::compress failed, not enough memory\n");
-               else if(res == Z_BUF_ERROR)
--                      BAD_ERROR("zlib::compress failed, no progress possible\n");
-+                      BAD_ERROR("zlib::compress failed, not enough room in output buffer\n");
-               else
-                       BAD_ERROR("zlib::compress failed, unknown error %d\n", res);
-+              return 0;
-       }
--      c_byte = stream->total_out;
--
--      if(res != Z_STREAM_END || c_byte >= size) {
--notcompressed:
-+      if(uncompressed || c_byte >= size) {
-               memcpy(d, s, size);
-               return size | (data_block ? SQUASHFS_COMPRESSED_BIT_BLOCK : SQUASHFS_COMPRESSED_BIT);
-       }
-@@ -595,14 +327,6 @@
- }
--unsigned int mangle(char *d, char *s, int size, int block_size, int uncompressed, int data_block)
--{
--      static z_stream *stream = NULL;
--
--      return mangle2(&stream, d, s, size, block_size, uncompressed, data_block);
--}
--
--
- squashfs_base_inode_header *get_inode(int req_size)
- {
-       int data_space;
-@@ -655,7 +379,6 @@
- {
-       off_t off = byte;
--      pthread_mutex_lock(&pos_mutex);
-       if(lseek(fd, off, SEEK_SET) == -1) {
-               perror("Lseek on destination failed");
-               EXIT_MKSQUASHFS();
-@@ -665,7 +388,6 @@
-               perror("Read on destination failed");
-               EXIT_MKSQUASHFS();
-       }
--      pthread_mutex_unlock(&pos_mutex);
- }
-@@ -673,9 +395,6 @@
- {
-       off_t off = byte;
--      if(interrupted < 2)
--              pthread_mutex_lock(&pos_mutex);
--
-       if(lseek(fd, off, SEEK_SET) == -1) {
-               perror("Lseek on destination failed");
-               EXIT_MKSQUASHFS();
-@@ -685,9 +404,6 @@
-               perror("Write on destination failed");
-               EXIT_MKSQUASHFS();
-       }
--      
--      if(interrupted < 2)
--              pthread_mutex_unlock(&pos_mutex);
- }
-@@ -1173,23 +889,10 @@
- }
--char *get_fragment(char *buffer, struct fragment *fragment, int *cached_fragment)
-+char *get_fragment(char *buffer, struct fragment *fragment)
- {
--      squashfs_fragment_entry *disk_fragment;
--      int size;
--
--      if(fragment->index == *cached_fragment || fragment->index == SQUASHFS_INVALID_FRAG)
--              return buffer + fragment->offset;
--
--      if(fragment_data && fragment->index == fragments)
--              return fragment_data->data + fragment->offset;
--
--      pthread_mutex_lock(&fragment_mutex);
--      while(fragment_table[fragment->index].pending)
--              pthread_cond_wait(&fragment_waiting, &fragment_mutex);
--      pthread_mutex_unlock(&fragment_mutex);
--      disk_fragment = &fragment_table[fragment->index];
--      size = SQUASHFS_COMPRESSED_SIZE_BLOCK(disk_fragment->size);
-+      squashfs_fragment_entry *disk_fragment = &fragment_table[fragment->index];
-+      int size = SQUASHFS_COMPRESSED_SIZE_BLOCK(disk_fragment->size);
-       if(SQUASHFS_COMPRESSED_BLOCK(disk_fragment->size)) {
-               int res;
-@@ -1209,74 +912,53 @@
-       } else
-               read_bytes(fd, disk_fragment->start_block, size, buffer);
--      *cached_fragment = fragment->index;
-       return buffer + fragment->offset;
- }
-       
--void ensure_fragments_flushed()
--{
--      pthread_mutex_lock(&fragment_mutex);
--      while(fragments_outstanding)
--              pthread_cond_wait(&fragment_waiting, &fragment_mutex);
--      pthread_mutex_unlock(&fragment_mutex);
--}
--
--
- void write_fragment()
- {
-+      int compressed_size;
-+      char buffer[block_size << 1];
-+
-       if(fragment_size == 0)
-               return;
--      pthread_mutex_lock(&fragment_mutex);
--      if(fragments % FRAG_SIZE == 0) {
--              if((fragment_table = (squashfs_fragment_entry *) realloc(fragment_table, (fragments + FRAG_SIZE) * sizeof(squashfs_fragment_entry))) == NULL) {
--                      pthread_mutex_unlock(&fragment_mutex);
-+      if(fragments % FRAG_SIZE == 0)
-+              if((fragment_table = (squashfs_fragment_entry *) realloc(fragment_table, (fragments + FRAG_SIZE) * sizeof(squashfs_fragment_entry))) == NULL)
-                       BAD_ERROR("Out of memory in fragment table\n");
--              }
--      }
--      fragment_data->size = fragment_size;
--      fragment_data->block = fragments;
--      fragment_table[fragments].pending = TRUE;
--      fragments_outstanding ++;
--      queue_put(to_frag, fragment_data);
-+      fragment_table[fragments].size = mangle(buffer, fragment_data, fragment_size, block_size, noF, 1);
-+      fragment_table[fragments].start_block = bytes;
-+      compressed_size = SQUASHFS_COMPRESSED_SIZE_BLOCK(fragment_table[fragments].size);
-+      write_bytes(fd, bytes, compressed_size, buffer);
-+      bytes += compressed_size;
-+      total_uncompressed += fragment_size;
-+      total_compressed += compressed_size;
-+      TRACE("Writing fragment %d, uncompressed size %d, compressed size %d\n",fragments, fragment_size, compressed_size);
-       fragments ++;
-       fragment_size = 0;
--      pthread_mutex_unlock(&fragment_mutex);
--}
--
--void frag_release(int block)
--{
--      pthread_mutex_lock(&fragment_mutex);
--      fragment_table[block].pending = FALSE;
--      pthread_cond_signal(&fragment_waiting);
--      pthread_mutex_unlock(&fragment_mutex);
- }
- static struct fragment empty_fragment = {SQUASHFS_INVALID_FRAG, 0, 0};
--struct fragment *get_and_fill_fragment(struct file_buffer *file_buffer)
-+struct fragment *get_and_fill_fragment(char *buff, int size)
- {
-       struct fragment *ffrg;
--      
--      if(file_buffer == NULL || file_buffer->size == 0)
-+      if(size == 0)
-               return &empty_fragment;
--      if(fragment_size + file_buffer->size > block_size)
-+      if(fragment_size + size > block_size)
-               write_fragment();
-       if((ffrg = (struct fragment *) malloc(sizeof(struct fragment))) == NULL)
-               BAD_ERROR("Out of memory in fragment block allocation!\n");
--      if(fragment_size == 0)
--              fragment_data = alloc_get(fragment_buffer);
--
-       ffrg->index = fragments;
-       ffrg->offset = fragment_size;
--      ffrg->size = file_buffer->size;
--      memcpy(fragment_data->data + fragment_size, file_buffer->data, file_buffer->size);
--      fragment_size += file_buffer->size;
-+      ffrg->size = size;
-+      memcpy(fragment_data + fragment_size, buff, size);
-+      fragment_size += size;
-       return ffrg;
- }
-@@ -1333,10 +1015,19 @@
- }
-+char *read_from_buffer(struct duplicate_buffer_handle *handle, unsigned int avail_bytes)
-+{
-+      char *v = handle->ptr;
-+      handle->ptr += avail_bytes;     
-+      return v;
-+}
-+
-+
- char read_from_file_buffer[SQUASHFS_FILE_MAX_SIZE];
--char *read_from_disk(long long start, unsigned int avail_bytes)
-+char *read_from_file(struct duplicate_buffer_handle *handle, unsigned int avail_bytes)
- {
--      read_bytes(fd, start, avail_bytes, read_from_file_buffer);
-+      read_bytes(fd, handle->start, avail_bytes, read_from_file_buffer);
-+      handle->start += avail_bytes;
-       return read_from_file_buffer;
- }
-@@ -1344,205 +1035,99 @@
- /*
-  * Compute 16 bit BSD checksum over the data
-  */
--unsigned short get_checksum(char *buff, int bytes, unsigned short chksum)
--{
--      unsigned char *b = (unsigned char *) buff;
--
--      while(bytes --) {
--              chksum = (chksum & 1) ? (chksum >> 1) | 0x8000 : chksum >> 1;
--              chksum += *b++;
--      }
--
--      return chksum;
--}
--
--
--unsigned short get_checksum_disk(long long start, long long l)
-+unsigned short get_checksum(char *(get_next_file_block)(struct duplicate_buffer_handle *, unsigned int), struct duplicate_buffer_handle *handle, long long l)
- {
-       unsigned short chksum = 0;
--      unsigned int bytes;
-+      unsigned int bytes = 0;
-+      unsigned char *b;
-+      struct duplicate_buffer_handle position = *handle;
-       while(l) {
-               bytes = l > SQUASHFS_FILE_MAX_SIZE ? SQUASHFS_FILE_MAX_SIZE : l;
-               l -= bytes;
--              chksum = get_checksum(read_from_disk(start, bytes), bytes, chksum);
--              start += bytes;
--      }
--
--      return chksum;
--}
--
--
--unsigned short get_checksum_buffer(struct buffer_list *buffer_list, unsigned int blocks)
--{
--      unsigned short chksum = 0;
--      int block;
--
--      for(block = 0; block < blocks; block ++) {
--              struct buffer_list *b = &buffer_list[block];
--
--              if(b->read_buffer)
--                      chksum = get_checksum(b->read_buffer->data, b->read_buffer->size, chksum);
--              else
--                      chksum = get_checksum(read_from_disk(b->start, b->size), b->size, chksum);
-+              b = (unsigned char *) get_next_file_block(&position, bytes);
-+              while(bytes--) {
-+                      chksum = (chksum & 1) ? (chksum >> 1) | 0x8000 : chksum >> 1;
-+                      chksum += *b++;
-+              }
-       }
-       return chksum;
- }
--unsigned short get_checksum_mem(char *buff, int bytes)
--{
--      return get_checksum(buff, bytes, 0);
--}
--
--
--unsigned short get_checksum_mem_buffer(struct file_buffer *file_buffer)
--{
--      if(file_buffer == NULL)
--              return 0;
--      else
--              return get_checksum(file_buffer->data, file_buffer->size, 0);
--}
--
--
- int cached_frag = -1;
--char fragdata[SQUASHFS_FILE_MAX_SIZE];
--#define DUP_HASH(a) (a & 0xffff)
--void add_file(long long start, long long file_size, long long file_bytes, unsigned int *block_listp, int blocks, unsigned int fragment, int offset, int bytes)
-+void add_file(long long start, long long file_bytes, unsigned int *block_listp, int blocks, unsigned int fragment, int offset, int bytes)
- {
-       struct fragment *frg;
-+      struct file_info *dupl_ptr;
-       char *datap;
-+      struct duplicate_buffer_handle handle;
-       unsigned int *block_list = block_listp;
--      struct file_info *dupl_ptr = dupl[DUP_HASH(file_size)];
--      if(!duplicate_checking || file_size == 0)
-+      if(!duplicate_checking)
-               return;
--      for(; dupl_ptr; dupl_ptr = dupl_ptr->next) {
--              if(file_size != dupl_ptr->file_size)
--                      continue;
--              if(blocks != 0 && start != dupl_ptr->start)
--                      continue;
--              if(fragment != dupl_ptr->fragment->index)
--                      continue;
--              if(fragment != SQUASHFS_INVALID_FRAG && (offset != dupl_ptr->fragment->offset || bytes != dupl_ptr->fragment->size))
--                      continue;
--              return;
--      }
--
-       if((frg = (struct fragment *) malloc(sizeof(struct fragment))) == NULL)
-               BAD_ERROR("Out of memory in fragment block allocation!\n");
-       frg->index = fragment;
-       frg->offset = offset;
-       frg->size = bytes;
--
--      add_non_dup(file_size, file_bytes, block_list, start, frg, 0, 0, FALSE);
-+      if(fragment == cached_frag || fragment == SQUASHFS_INVALID_FRAG)
-+              datap = fragment_data + offset;
-+      else
-+              datap = get_fragment(fragment_data, frg);
-+      handle.start = start;
-+      if((dupl_ptr = duplicate(read_from_file, &handle, file_bytes, &block_listp, &start, blocks, &frg, datap, bytes)) != NULL)
-+              dupl_ptr->fragment = frg;
-+      else
-+              free(block_list);
-+      cached_frag = fragment;
- }
-+
- char cached_fragment[SQUASHFS_FILE_SIZE];
- int cached_frag1 = -1;
--int pre_duplicate(long long file_size)
--{
--      struct file_info *dupl_ptr = dupl[DUP_HASH(file_size)];
--
--      for(; dupl_ptr; dupl_ptr = dupl_ptr->next)
--              if(dupl_ptr->file_size == file_size)
--                      return TRUE;
--
--      return FALSE;
--}
--
--
--int pre_duplicate_frag(long long file_size, unsigned short checksum)
-+struct file_info *duplicate(char *(get_next_file_block)(struct duplicate_buffer_handle *, unsigned int), struct duplicate_buffer_handle *file_start, long long bytes, unsigned int **block_list, long long *start, int blocks, struct fragment **fragment, char *frag_data, int frag_bytes)
- {
--      struct file_info *dupl_ptr = dupl[DUP_HASH(file_size)];
--
--      for(; dupl_ptr; dupl_ptr = dupl_ptr->next)
--              if(dupl_ptr->file_size == file_size) {
--                      if(dupl_ptr->checksum_flag == FALSE) {
--                              dupl_ptr->checksum = get_checksum_disk(dupl_ptr->start, dupl_ptr->bytes);
--                              dupl_ptr->fragment_checksum = get_checksum_mem(get_fragment(cached_fragment, dupl_ptr->fragment, &cached_frag1), file_size);
--                              dupl_ptr->checksum_flag = TRUE;
--                      }
--                      if(dupl_ptr->fragment_checksum == checksum)
--                              return TRUE;
--              }
--
--      return FALSE;
--}
--
--
--struct file_info *add_non_dup(long long file_size, long long bytes, unsigned int *block_list, long long start, struct fragment *fragment, unsigned short checksum, unsigned short fragment_checksum, int checksum_flag)
--{
--      struct file_info *dupl_ptr;
-+      unsigned short checksum = get_checksum(get_next_file_block, file_start, bytes);
-+      struct duplicate_buffer_handle handle = { frag_data, 0 };
-+      unsigned short fragment_checksum = get_checksum(read_from_buffer, &handle, frag_bytes);
-+      struct file_info *dupl_ptr = bytes ? dupl[checksum] : frag_dups[fragment_checksum];
--      if((dupl_ptr = (struct file_info *) malloc(sizeof(struct file_info))) == NULL) {
--              BAD_ERROR("Out of memory in dup_files allocation!\n");
--      }
--
--      dupl_ptr->file_size = file_size;
--      dupl_ptr->bytes = bytes;
--      dupl_ptr->block_list = block_list;
--      dupl_ptr->start = start;
--      dupl_ptr->fragment = fragment;
--      dupl_ptr->checksum = checksum;
--      dupl_ptr->fragment_checksum = fragment_checksum;
--      dupl_ptr->checksum_flag = checksum_flag;
--      dupl_ptr->next = dupl[DUP_HASH(file_size)];
--      dupl[DUP_HASH(file_size)] = dupl_ptr;
--      dup_files ++;
--
--      return dupl_ptr;
--}
--
--
--struct file_info *duplicate(long long file_size, long long bytes, unsigned int **block_list, long long *start, struct fragment **fragment, struct file_buffer *file_buffer, struct buffer_list *buffer_list, int blocks, unsigned short checksum, unsigned short fragment_checksum, int checksum_flag)
--{
--      struct file_info *dupl_ptr = dupl[DUP_HASH(file_size)];
--      int frag_bytes = file_buffer ? file_buffer->size : 0;
-       for(; dupl_ptr; dupl_ptr = dupl_ptr->next)
--              if(file_size == dupl_ptr->file_size && bytes == dupl_ptr->bytes && frag_bytes == dupl_ptr->fragment->size) {
--                      char buffer2[SQUASHFS_FILE_MAX_SIZE];
-+              if(bytes == dupl_ptr->bytes && frag_bytes == dupl_ptr->fragment->size && fragment_checksum == dupl_ptr->fragment_checksum) {
-+                      char buffer1[SQUASHFS_FILE_MAX_SIZE];
-+                      long long dup_bytes = dupl_ptr->bytes;
-                       long long dup_start = dupl_ptr->start;
-+                      struct duplicate_buffer_handle position = *file_start;
-                       char *buffer;
--                      int block;
-+                      while(dup_bytes) {
-+                              int avail_bytes = dup_bytes > SQUASHFS_FILE_MAX_SIZE ? SQUASHFS_FILE_MAX_SIZE : dup_bytes;
--                      if(checksum_flag == FALSE) {
--                              checksum = get_checksum_buffer(buffer_list, blocks);
--                              fragment_checksum = get_checksum_mem_buffer(file_buffer);
--                              checksum_flag = TRUE;
--                      }
--
--                      if(dupl_ptr->checksum_flag == FALSE) {
--                              dupl_ptr->checksum = get_checksum_disk(dupl_ptr->start, dupl_ptr->bytes);
--                              dupl_ptr->fragment_checksum = get_checksum_mem(get_fragment(cached_fragment, dupl_ptr->fragment, &cached_frag1), frag_bytes);
--                              dupl_ptr->checksum_flag = TRUE;
--                      }
--
--                      if(checksum != dupl_ptr->checksum || fragment_checksum != dupl_ptr->fragment_checksum)
--                              continue;
--
--                      for(block = 0; block < blocks; block ++) {
--                              struct buffer_list *b = &buffer_list[block];
--
--                              if(b->read_buffer)
--                                      buffer = b->read_buffer->data;
--                              else
--                                      buffer = read_from_disk(b->start, b->size);
--
--                              read_bytes(fd, dup_start, b->size, buffer2);
--                              if(memcmp(buffer, buffer2, b->size) != 0)
-+                              buffer = get_next_file_block(&position, avail_bytes);
-+                              read_bytes(fd, dup_start, avail_bytes, buffer1);
-+                              if(memcmp(buffer, buffer1, avail_bytes) != 0)
-                                       break;
--                              dup_start += b->size;
-+                              dup_bytes -= avail_bytes;
-+                              dup_start += avail_bytes;
-                       }
--                      if(block == blocks) {
--                              char *fragment_buffer1 = get_fragment(cached_fragment, dupl_ptr->fragment, &cached_frag1);
-+                      if(dup_bytes == 0) {
-+                              char *fragment_buffer1;
-+                              
-+                              if(dupl_ptr->fragment->index == fragments || dupl_ptr->fragment->index == SQUASHFS_INVALID_FRAG)
-+                                      fragment_buffer1 = fragment_data + dupl_ptr->fragment->offset;
-+                              else if(dupl_ptr->fragment->index == cached_frag1)
-+                                      fragment_buffer1 = cached_fragment + dupl_ptr->fragment->offset;
-+                              else {
-+                                      fragment_buffer1 = get_fragment(cached_fragment, dupl_ptr->fragment);
-+                                      cached_frag1 = dupl_ptr->fragment->index;
-+                              }
--                              if(frag_bytes == 0 || memcmp(file_buffer->data, fragment_buffer1, frag_bytes) == 0) {
-+                              if(frag_bytes == 0 || memcmp(frag_data, fragment_buffer1, frag_bytes) == 0) {
-                                       TRACE("Found duplicate file, start 0x%llx, size %lld, checksum 0x%x, fragment %d, size %d, offset %d, checksum 0x%x\n", dupl_ptr->start,
-                                               dupl_ptr->bytes, dupl_ptr->checksum, dupl_ptr->fragment->index, frag_bytes, dupl_ptr->fragment->offset, fragment_checksum);
-                                       *block_list = dupl_ptr->block_list;
-@@ -1554,520 +1139,135 @@
-               }
--      return add_non_dup(file_size, bytes, *block_list, *start, *fragment, checksum, fragment_checksum, checksum_flag);
--}
--
--
--void reader_read_file(struct dir_ent *dir_ent)
--{
--      struct stat *buf = &dir_ent->inode->buf;
--      int count;
--      int blocks = (buf->st_size + block_size - 1) >> block_log;
--      int frag_block = !no_fragments && (always_use_fragments ||
--              (buf->st_size < block_size)) ? buf->st_size >> block_log : -1;
--      int file;
--      static int block_order = 0;
--      struct file_buffer *file_buffer;
--
--      if(buf->st_size == 0 || dir_ent->inode->read)
--              return;
--
--      if((file = open(dir_ent->pathname, O_RDONLY)) == -1)
--              goto read_err;
--
--      for(count = 0; count < blocks; count ++) {
--              file_buffer = alloc_get(reader_buffer);
--
--              if((file_buffer->size = read(file, file_buffer->data, block_size)) == -1) {
--                      close(file);
--                      goto read_err2;
--              }
--              file_buffer->block = count;
--              file_buffer->block_order = block_order ++;
--              file_buffer->error = FALSE;
--              if(file_buffer->fragment = count == frag_block)
--                      queue_put(from_deflate, file_buffer);
--              else
--                      queue_put(from_reader, file_buffer);
--      }
--
--      close(file);
--      dir_ent->inode->read = TRUE;
--
--      return;
--
--read_err:
--      file_buffer = alloc_get(reader_buffer);
--read_err2:
--      file_buffer->block_order = block_order ++;
--      file_buffer->error = TRUE;
--      queue_put(from_deflate, file_buffer);
--}
--
--
--void reader_scan(struct dir_info *dir) {
--      int i;
--
--      for(i = 0; i < dir->count; i++) {
--              struct dir_ent *dir_ent = dir->list[i];
--              struct stat *buf = &dir_ent->inode->buf;
--              if(dir_ent->data)
--                      continue;
--
--              switch(buf->st_mode & S_IFMT) {
--                      case S_IFREG:
--                              reader_read_file(dir_ent);
--                              break;
--                      case S_IFDIR:
--                              reader_scan(dir_ent->dir);
--                              break;
--              }
--      }
--}
--
--
--void *reader(void *arg)
--{
--      int oldstate;
--
--      pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, &oldstate);
--      pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, &oldstate);
--
--      if(!sorted)
--              reader_scan(queue_get(to_reader));
--      else {
--              int i;
--              struct priority_entry *entry;
--
--              queue_get(to_reader);
--              for(i = 65535; i >= 0; i--)
--                      for(entry = priority_list[i]; entry; entry = entry->next)
--                              reader_read_file(entry->dir);
--      }
--}
--
--
--void *writer(void *arg)
--{
--      int write_error = FALSE;
--      int oldstate;
--
--      pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, &oldstate);
--      pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, &oldstate);
--
--      while(1) {
--              struct file_buffer *file_buffer = queue_get(to_writer);
--              off_t off;
--
--              if(file_buffer == NULL) {
--                      queue_put(from_writer, write_error ? (void *) &write_error : NULL);
--                      continue;
--              }
--
--              off = file_buffer->block;
--
--              pthread_mutex_lock(&pos_mutex);
--
--              if(!write_error && lseek(fd, off, SEEK_SET) == -1) {
--                      perror("Lseek on destination failed");
--                      write_error = TRUE;
--              }
--
--              if(!write_error && write(fd, file_buffer->data, file_buffer->size) == -1) {
--                      perror("Write on destination failed");
--                      write_error = TRUE;
--              }
--              pthread_mutex_unlock(&pos_mutex);
--
--              alloc_free(file_buffer);
--      }
--}
--
--
--void *deflator(void *arg)
--{
--      z_stream *stream = NULL;
--      int oldstate;
--
--      pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, &oldstate);
--      pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, &oldstate);
--
--      while(1) {
--              struct file_buffer *file_buffer = queue_get(from_reader);
--              struct file_buffer *write_buffer = alloc_get(writer_buffer);
--
--              write_buffer->c_byte = mangle2(&stream, write_buffer->data, file_buffer->data, file_buffer->size, block_size, noD, 1);
--              write_buffer->block = file_buffer->block;
--              write_buffer->block_order = file_buffer->block_order;
--              write_buffer->size = SQUASHFS_COMPRESSED_SIZE_BLOCK(write_buffer->c_byte);
--              write_buffer->fragment = FALSE;
--              write_buffer->error = FALSE;
--              alloc_free(file_buffer);
--              queue_put(from_deflate, write_buffer);
--      }
--}
--
--
--void *frag_deflator(void *arg)
--{
--      z_stream *stream = NULL;
--      int oldstate;
--
--      pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, &oldstate);
--      pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, &oldstate);
--
--      while(1) {
--              int c_byte, compressed_size;
--              struct file_buffer *file_buffer = queue_get(to_frag);
--              struct file_buffer *write_buffer = alloc_get_2(writer_buffer, frag_release, file_buffer->block);
--
--              c_byte = mangle2(&stream, write_buffer->data, file_buffer->data, file_buffer->size, block_size, noF, 1);
--              compressed_size = SQUASHFS_COMPRESSED_SIZE_BLOCK(c_byte);
--              pthread_mutex_lock(&fragment_mutex);
--              fragment_table[file_buffer->block].size = c_byte;
--              fragment_table[file_buffer->block].start_block = bytes;
--              write_buffer->size = compressed_size;
--              write_buffer->block = bytes;
--              queue_put(to_writer, write_buffer);
--              bytes += compressed_size;
--              total_uncompressed += file_buffer->size;
--              total_compressed += compressed_size;
--              TRACE("Writing fragment %d, uncompressed size %d, compressed size %d\n", file_buffer->block, file_buffer->size, compressed_size);
--              fragments_outstanding --;
--              pthread_cond_signal(&fragment_waiting);
--              pthread_mutex_unlock(&fragment_mutex);
--              alloc_free(file_buffer);
-+      if((dupl_ptr = (struct file_info *) malloc(sizeof(struct file_info))) == NULL) {
-+              BAD_ERROR("Out of memory in dup_files allocation!\n");
-       }
--}
--
--
--#define HASH_ENTRIES          256
--#define BLOCK_HASH(a)         (a % HASH_ENTRIES)
--struct file_buffer            *block_hash[HASH_ENTRIES];
--void push_buffer(struct file_buffer *file_buffer)
--{
--      int hash = BLOCK_HASH(file_buffer->block_order);
--
--      file_buffer->next = block_hash[hash];
--      block_hash[hash] = file_buffer;
--}
--
--
--struct file_buffer *get_file_buffer(struct queue *queue)
--{
--      static unsigned int block_order = 0;
--      int hash = BLOCK_HASH(block_order);
--      struct file_buffer *file_buffer = block_hash[hash], *prev = NULL;
--
--      for(;file_buffer; prev = file_buffer, file_buffer = file_buffer->next)
--              if(file_buffer->block_order == block_order)
--                      break;
-+      dupl_ptr->bytes = bytes;
-+      dupl_ptr->checksum = checksum;
-+      dupl_ptr->start = *start;
-+      dupl_ptr->fragment_checksum = fragment_checksum;
-+      dupl_ptr->block_list = *block_list;
--      if(file_buffer) {
--              if(prev)
--                      prev->next = file_buffer->next;
--              else
--                      block_hash[hash] = file_buffer->next;
-+      dup_files ++;
-+      if(bytes) {
-+              dupl_ptr->next = dupl[checksum];
-+              dupl[checksum] = dupl_ptr;
-       } else {
--              while(1) {
--                      file_buffer = queue_get(queue);
--                      if(file_buffer->block_order == block_order)
--                              break;
--                      push_buffer(file_buffer);
--              }
-+              dupl_ptr->next = frag_dups[fragment_checksum];
-+              frag_dups[fragment_checksum] = dupl_ptr;
-       }
--      block_order ++;
--
--      return file_buffer;
--}
--
--
--int write_file_empty(squashfs_inode *inode, struct dir_ent *dir_ent, int *duplicate_file)
--{
--      file_count ++;
--      *duplicate_file = FALSE;
--      return dir_ent->inode->nlink == 1 ?
--              create_inode(inode, dir_ent, SQUASHFS_FILE_TYPE, 0, 0, 0, NULL, &empty_fragment, NULL) :
--              create_inode(inode, dir_ent, SQUASHFS_LREG_TYPE, 0, 0, 0, NULL, &empty_fragment, NULL);
--}
--
--
--int write_file_frag_dup(squashfs_inode *inode, struct dir_ent *dir_ent, int size, int *duplicate_file, struct file_buffer *file_buffer, unsigned short checksum)
--{
--      int file;
--      struct file_info *dupl_ptr;
--      struct fragment *fragment;
--      unsigned int *block_listp = NULL;
--      long long start = 0;
--
--      dupl_ptr = duplicate(size, 0, &block_listp, &start, &fragment, file_buffer, NULL, 0, 0, checksum, TRUE);
--
--      if(dupl_ptr) {
--              *duplicate_file = FALSE;
--              fragment = get_and_fill_fragment(file_buffer);
--              dupl_ptr->fragment = fragment;
--      } else
--              *duplicate_file = TRUE;
--
--      alloc_free(file_buffer);
--
--      total_bytes += size;
--      file_count ++;
--
--      return dir_ent->inode->nlink == 1 ?
--              create_inode(inode, dir_ent, SQUASHFS_FILE_TYPE, size, 0, 0, NULL, fragment, NULL) :
--              create_inode(inode, dir_ent, SQUASHFS_LREG_TYPE, size, 0, 0, NULL, fragment, NULL);
--}
--
--
--int write_file_frag(squashfs_inode *inode, struct dir_ent *dir_ent, int size, int *duplicate_file)
--{
--      struct fragment *fragment;
--      unsigned short checksum;
--      struct file_buffer *file_buffer = get_file_buffer(from_deflate);
--
--      if(file_buffer->size != size)
--              printf("bug\n");
--
--      if(file_buffer->error) {
--              alloc_free(file_buffer);
--              return FALSE;
--      }
--
--      checksum = get_checksum_mem_buffer(file_buffer);
--
--      if(pre_duplicate_frag(size, checksum))
--              return write_file_frag_dup(inode, dir_ent, size, duplicate_file, file_buffer, checksum);
--              
--      fragment = get_and_fill_fragment(file_buffer);
--
--      alloc_free(file_buffer);
--
--      if(duplicate_checking)
--              add_non_dup(size, 0, NULL, 0, fragment, 0, checksum, TRUE);
--
--      total_bytes += size;
--      file_count ++;
--
--      *duplicate_file = FALSE;
--
--      return dir_ent->inode->nlink == 1 ?
--              create_inode(inode, dir_ent, SQUASHFS_FILE_TYPE, size, 0, 0, NULL, fragment, NULL) :
--              create_inode(inode, dir_ent, SQUASHFS_LREG_TYPE, size, 0, 0, NULL, fragment, NULL);
-+      return dupl_ptr;
- }
--int write_file_blocks(squashfs_inode *inode, struct dir_ent *dir_ent, long long read_size)
-+#define MINALLOCBYTES (1024 * 1024)
-+int write_file(squashfs_inode *inode, struct dir_ent *dir_ent, long long size, int *duplicate_file)
- {
--      int block, status;
-+      int block = 0, i, file, whole_file = 1, status;
-       unsigned int c_byte, frag_bytes;
--      long long bbytes, file_bytes, start;
-+      long long bbytes, file_bytes = 0, start;
-+      char buff[block_size], *c_buffer = NULL, *filename = dir_ent->pathname;
-       struct fragment *fragment;
--      struct file_info *dupl_ptr;
--      int blocks = (read_size + block_size - 1) >> block_log;
--      unsigned int *block_list;
--      struct file_buffer *read_buffer;
--
--      if(!no_fragments && always_use_fragments) {
--              blocks = read_size >> block_log;
--              frag_bytes = read_size % block_size;
--      } else
--              frag_bytes = 0;
-+      struct file_info *dupl_ptr = NULL;
-+      struct duplicate_buffer_handle handle;
-+      long long read_size = (size > SQUASHFS_MAX_FILE_SIZE) ? SQUASHFS_MAX_FILE_SIZE : size;
-+      int blocks = (read_size + block_size - 1) >> block_log, allocated_blocks = blocks;
-+      unsigned int *block_list, *block_listp;
-       if((block_list = malloc(blocks * sizeof(unsigned int))) == NULL)
-               BAD_ERROR("Out of memory allocating block_list\n");
-+      block_listp = block_list;
--      ensure_fragments_flushed();
--
--      file_bytes = 0;
--      start = bytes;
--      for(block = 0; block < blocks; block ++) {
--              read_buffer = get_file_buffer(from_deflate);
--              if(read_buffer->error)
--                      goto read_err;
--
--              block_list[block] = read_buffer->c_byte;
--              read_buffer->block = bytes;
--              bytes += read_buffer->size;
--              file_bytes += read_buffer->size;
--              queue_put(to_writer, read_buffer);
--      }
--
--      if(frag_bytes != 0) {
--              read_buffer = get_file_buffer(from_deflate);
--              if(read_buffer->size != frag_bytes)
--                      printf("bug\n");
--              if(read_buffer->error)
--                      goto read_err;
--      } else
--              read_buffer = NULL;
--
--      fragment = get_and_fill_fragment(read_buffer);
--      alloc_free(read_buffer);
--
--      if(duplicate_checking)
--              add_non_dup(read_size, file_bytes, block_list, start, fragment, 0, 0, FALSE);
--      file_count ++;
--      total_bytes += read_size;
--      if(dir_ent->inode->nlink == 1 && read_size < ((long long) (1<<30) - 1))
--              status = create_inode(inode, dir_ent, SQUASHFS_FILE_TYPE, read_size, start, blocks, block_list, fragment, NULL);
--      else
--              status = create_inode(inode, dir_ent, SQUASHFS_LREG_TYPE, read_size, start, blocks, block_list, fragment, NULL);
--      if(duplicate_checking == FALSE)
--              free(block_list);
--      return status;
--
--read_err:
--      perror("Error in reading file, skipping...");
--      if(block) {
--              queue_put(to_writer, NULL);
--              if(queue_get(from_writer) != 0)
--                      EXIT_MKSQUASHFS();
--              bytes = start;
--              if(!block_device)
--                      ftruncate(fd, bytes);
--      }
--      free(block_list);
--      alloc_free(read_buffer);
--      return FALSE;
--}
--
--
--int write_file_blocks_dup(squashfs_inode *inode, struct dir_ent *dir_ent, long long read_size, int *duplicate_file)
--{
--      int block, status, thresh;
--      unsigned int c_byte, frag_bytes;
--      long long bbytes, file_bytes, start;
--      struct fragment *fragment;
--      struct file_info *dupl_ptr;
--      int blocks = (read_size + block_size - 1) >> block_log;
--      unsigned int *block_list, *block_listp;
--      struct file_buffer *read_buffer;
--      struct file_data *file_data;
--      struct buffer_list *buffer_list;
--
--      if(!no_fragments && always_use_fragments) {
--              blocks = read_size >> block_log;
-+      if(!no_fragments && (read_size < block_size || always_use_fragments)) {
-+              allocated_blocks = blocks = read_size >> block_log;
-               frag_bytes = read_size % block_size;
-       } else
-               frag_bytes = 0;
--      if((block_list = malloc(blocks * sizeof(unsigned int))) == NULL)
--              BAD_ERROR("Out of memory allocating block_list\n");
--      block_listp = block_list;
--
--      if((buffer_list = malloc(blocks * sizeof(struct buffer_list))) == NULL)
--              BAD_ERROR("Out of memory allocating file block list\n");
--
--      ensure_fragments_flushed();
-+      if(size > read_size)
-+              ERROR("file %s truncated to %lld bytes\n", filename, SQUASHFS_MAX_FILE_SIZE);
--      file_bytes = 0;
--      start = bytes;
--      thresh = blocks > (writer_buffer_size - processors) ? blocks - (writer_buffer_size - processors): 0;
--      for(block = 0; block < blocks; block ++) {
--              read_buffer = get_file_buffer(from_deflate);
--              if(read_buffer->error)
--                      goto read_err;
-+      total_bytes += read_size;
-+      if((file = open(filename, O_RDONLY)) == -1)
-+              goto read_err;
--              block_list[block] = read_buffer->c_byte;
--              read_buffer->block = bytes;
--              bytes += read_buffer->size;
--              file_bytes += read_buffer->size;
--
--              if(block < thresh) {
--                      buffer_list[block].read_buffer = NULL;
--                      queue_put(to_writer, read_buffer);
--              } else
--                      buffer_list[block].read_buffer = read_buffer;
--              buffer_list[block].start = read_buffer->block;
--              buffer_list[block].size = read_buffer->size;
-+      do {
-+              long long bytes = (((long long) allocated_blocks) + 1) << block_log;
-+              if(bytes != ((size_t) bytes) || (c_buffer = (char *) malloc(bytes)) == NULL) {
-+                      TRACE("Out of memory allocating write_file buffer, allocated_blocks %ld, blocks %d\n", allocated_blocks, blocks);
-+                      whole_file = 0;
-+                      if(bytes < MINALLOCBYTES)
-+                              BAD_ERROR("Out of memory allocating write_file buffer, could not allocate %ld blocks (%d Kbytes)\n", allocated_blocks, allocated_blocks << (block_log - 10));
-+                      allocated_blocks >>= 1;
-+              }
-+      } while(!c_buffer);
-+
-+      for(start = bytes; block < blocks; file_bytes += bbytes) {
-+              for(i = 0, bbytes = 0; (i < allocated_blocks) && (block < blocks); i++) {
-+                      int available_bytes = read_size - (block * block_size) > block_size ? block_size : read_size - (block * block_size);
-+                      if(read(file, buff, available_bytes) == -1)
-+                              goto read_err;
-+                      c_byte = mangle(c_buffer + bbytes, buff, available_bytes, block_size, noD, 1);
-+                      block_list[block ++] = c_byte;
-+                      bbytes += SQUASHFS_COMPRESSED_SIZE_BLOCK(c_byte);
-+              }
-+              if(!whole_file) {
-+                      write_bytes(fd, bytes, bbytes, c_buffer);
-+                      bytes += bbytes;
-+              }
-       }
--      if(frag_bytes != 0) {
--              read_buffer = get_file_buffer(from_deflate);
--              if(read_buffer->size != frag_bytes)
--                      printf("bug\n");
--              if(read_buffer->error)
-+      if(frag_bytes != 0)
-+              if(read(file, buff, frag_bytes) == -1)
-                       goto read_err;
--      } else
--              read_buffer = NULL;
--
--      queue_put(to_writer, NULL);
--      if(queue_get(from_writer) != 0)
--              EXIT_MKSQUASHFS();
--
--      dupl_ptr = duplicate(read_size, file_bytes, &block_listp, &start, &fragment, read_buffer, buffer_list, blocks, 0, 0, FALSE);
--      if(dupl_ptr) {
--              *duplicate_file = FALSE;
--              for(block = thresh; block < blocks; block ++)
--                      queue_put(to_writer, buffer_list[block].read_buffer);
--              fragment = get_and_fill_fragment(read_buffer);
--              dupl_ptr->fragment = fragment;
-+      close(file);
-+      if(whole_file) {
-+              handle.ptr = c_buffer;
-+              if(duplicate_checking && (dupl_ptr = duplicate(read_from_buffer, &handle, file_bytes, &block_listp, &start, blocks, &fragment, buff, frag_bytes)) == NULL) {
-+                      *duplicate_file = TRUE;
-+                      goto wr_inode;
-+              }
-+              write_bytes(fd, bytes, file_bytes, c_buffer);
-+              bytes += file_bytes;
-       } else {
--              *duplicate_file = TRUE;
--              for(block = thresh; block < blocks; block ++)
--                      alloc_free(buffer_list[block].read_buffer);
--              bytes = buffer_list[0].start;
--              if(thresh && !block_device)
--                      ftruncate(fd, bytes);
-+              handle.start = start;
-+              if(duplicate_checking && (dupl_ptr = duplicate(read_from_file, &handle, file_bytes, &block_listp, &start, blocks, &fragment, buff, frag_bytes)) == NULL) {
-+                      bytes = start;
-+                      if(!block_device)
-+                              ftruncate(fd, bytes);
-+                      *duplicate_file = TRUE;
-+                      goto wr_inode;
-+              }
-       }
--      alloc_free(read_buffer);
--      free(buffer_list);
--      file_count ++;
--      total_bytes += read_size;
-+      fragment = get_and_fill_fragment(buff, frag_bytes);
-+      if(duplicate_checking)
-+              dupl_ptr->fragment = fragment;
-+
-+      *duplicate_file = FALSE;
-+wr_inode:
-+      free(c_buffer);
-+      file_count ++;
-       if(dir_ent->inode->nlink == 1 && read_size < ((long long) (1<<30) - 1))
-               status = create_inode(inode, dir_ent, SQUASHFS_FILE_TYPE, read_size, start, blocks, block_listp, fragment, NULL);
-       else
-               status = create_inode(inode, dir_ent, SQUASHFS_LREG_TYPE, read_size, start, blocks, block_listp, fragment, NULL);
--      if(*duplicate_file == TRUE)
-+      if(duplicate_checking == FALSE || *duplicate_file == TRUE)
-               free(block_list);
-       return status;
- read_err:
-       perror("Error in reading file, skipping...");
--      if(block && thresh) {
--              queue_put(to_writer, NULL);
--              if(queue_get(from_writer) != 0)
--                      EXIT_MKSQUASHFS();
--              bytes = start;
--              if(!block_device)
--                      ftruncate(fd, bytes);
--      }
--      for(blocks = thresh; blocks < block; blocks ++)
--              alloc_free(buffer_list[blocks].read_buffer);
--      free(buffer_list);
-+      free(c_buffer);
-       free(block_list);
--      alloc_free(read_buffer);
-       return FALSE;
- }
--int write_file(squashfs_inode *inode, struct dir_ent *dir_ent, long long size, int *duplicate_file)
--{
--      long long read_size = (size > SQUASHFS_MAX_FILE_SIZE) ? SQUASHFS_MAX_FILE_SIZE : size;
--
--      if(size > read_size)
--              ERROR("file %s truncated to %lld bytes\n", dir_ent->pathname, SQUASHFS_MAX_FILE_SIZE);
--
--      if(read_size == 0)
--              return write_file_empty(inode, dir_ent, duplicate_file);
--
--      if(!no_fragments && (read_size < block_size))
--              return write_file_frag(inode, dir_ent, read_size, duplicate_file);
--
--      if(pre_duplicate(read_size))
--              return write_file_blocks_dup(inode, dir_ent, read_size, duplicate_file);
--
--      *duplicate_file = FALSE;
--      return write_file_blocks(inode, dir_ent, read_size);
--}
--
--
- char b_buffer[8192];
- char *name;
- char *basename_r();
-@@ -2134,7 +1334,6 @@
-               BAD_ERROR("Out of memory in inode hash table entry allocation\n");
-       memcpy(&inode->buf, buf, sizeof(struct stat));
--      inode->read = FALSE;
-       inode->inode = SQUASHFS_INVALID_BLK;
-       inode->nlink = 1;
-       if((buf->st_mode & S_IFMT) == S_IFDIR)
-@@ -2357,9 +1556,6 @@
-               return;
-       }
-       if(sorted)
--              generate_file_priorities(dir_info, 0, &dir_info->dir_ent->inode->buf);
--      queue_put(to_reader, dir_info);
--      if(sorted)
-               sort_files_and_write(dir_info);
-       dir_scan2(inode, dir_info);
- }
-@@ -2495,7 +1691,7 @@
-                               case SQUASHFS_CHRDEV_TYPE:
-                                       INFO("character device %s inode 0x%llx LINK\n", dir_name, *inode);
-                                       break;
--                              case SQUASHFS_BLKDEV_TYPE:
-+                              caseSQUASHFS_BLKDEV_TYPE:
-                                       INFO("block device %s inode 0x%llx LINK\n", dir_name, *inode);
-                                       break;
-                               case SQUASHFS_FIFO_TYPE:
-@@ -2595,76 +1791,8 @@
- }
--void initialise_threads()
--{
--      int i;
--      sigset_t sigmask, old_mask;
--
--      sigemptyset(&sigmask);
--      sigaddset(&sigmask, SIGINT);
--      sigaddset(&sigmask, SIGQUIT);
--      if(sigprocmask(SIG_BLOCK, &sigmask, &old_mask) == -1)
--              BAD_ERROR("Failed to set signal mask in intialise_threads\n");
--
--      signal(SIGUSR1, sigusr1_handler);
--
--      if(processors == -1) {
--#ifndef linux
--              int mib[2];
--              size_t len = sizeof(processors);
--
--              mib[0] = CTL_HW;
--#ifdef HW_AVAILCPU
--              mib[1] = HW_AVAILCPU;
--#else
--              mib[1] = HW_NCPU;
--#endif
--
--              if(sysctl(mib, 2, &processors, &len, NULL, 0) == -1) {
--                      ERROR("Failed to get number of available processors.  Defaulting to 1\n");
--                      processors = 1;
--              }
--#else
--              processors = get_nprocs();
--#endif
--      }
--
--      if((thread = malloc((2 + processors * 2) * sizeof(pthread_t))) == NULL)
--              BAD_ERROR("Out of memory allocating thread descriptors\n");
--      deflator_thread = &thread[2];
--      frag_deflator_thread = &deflator_thread[processors];
--
--      to_reader = queue_init(1);
--      from_reader = queue_init(reader_buffer_size);
--      to_writer = queue_init(writer_buffer_size);
--      from_writer = queue_init(1);
--      from_deflate = queue_init(reader_buffer_size);
--      to_frag = queue_init(processors * 2);
--      reader_buffer = alloc_init(SQUASHFS_FILE_MAX_SIZE, reader_buffer_size);
--      writer_buffer = alloc_init(SQUASHFS_FILE_MAX_SIZE, writer_buffer_size);
--      fragment_buffer = alloc_init(SQUASHFS_FILE_MAX_SIZE, processors * 2);
--      pthread_create(&thread[0], NULL, reader, NULL);
--      pthread_create(&thread[1], NULL, writer, NULL);
--      pthread_mutex_init(&fragment_mutex, NULL);
--      pthread_cond_init(&fragment_waiting, NULL);
--
--      for(i = 0; i < processors; i++) {
--              if(pthread_create(&deflator_thread[i], NULL, deflator, NULL) != 0 )
--                      BAD_ERROR("Failed to create thread\n");
--              if(pthread_create(&frag_deflator_thread[i], NULL, frag_deflator, NULL) != 0)
--                      BAD_ERROR("Failed to create thread\n");
--      }
--
--      printf("Parallel mksquashfs: Using %d processor%s\n", processors,
--                      processors == 1 ? "" : "s");
--
--      if(sigprocmask(SIG_SETMASK, &old_mask, NULL) == -1)
--              BAD_ERROR("Failed to set signal mask in intialise_threads\n");
--}
--
--
- #define VERSION() \
--      printf("mksquashfs version 3.1-r2 (2006/08/30)\n");\
-+      printf("mksquashfs version 3.0 (2006/03/15)\n");\
-       printf("copyright (C) 2006 Phillip Lougher <phillip@lougher.org.uk>\n\n"); \
-       printf("This program is free software; you can redistribute it and/or\n");\
-       printf("modify it under the terms of the GNU General Public License\n");\
-@@ -2682,7 +1810,6 @@
-       char *b, *root_name = NULL;
-       int be, nopad = FALSE, keep_as_directory = FALSE, orig_be;
-       squashfs_inode inode;
--      int readb_mbytes = READER_BUFFER_DEFAULT, writeb_mbytes = WRITER_BUFFER_DEFAULT;
- #if __BYTE_ORDER == __BIG_ENDIAN
-       be = TRUE;
-@@ -2701,34 +1828,7 @@
-       source_path = argv + 1;
-       source = i - 2;
-       for(; i < argc; i++) {
--              if(strcmp(argv[i], "-processors") == 0) {
--                      if((++i == argc) || (processors = strtol(argv[i], &b, 10), *b != '\0')) {
--                              ERROR("%s: -processors missing or invalid processor number\n", argv[0]);
--                              exit(1);
--                      }
--                      if(processors < 1) {
--                              ERROR("%s: -processors should be 1 or larger\n", argv[0]);
--                              exit(1);
--                      }
--              } else if(strcmp(argv[i], "-read_queue") == 0) {
--                      if((++i == argc) || (readb_mbytes = strtol(argv[i], &b, 10), *b != '\0')) {
--                              ERROR("%s: -read_queue missing or invalid queue size\n", argv[0]);
--                              exit(1);
--                      }
--                      if(readb_mbytes < 1) {
--                              ERROR("%s: -read_queue should be 1 megabyte or larger\n", argv[0]);
--                              exit(1);
--                      }
--              } else if(strcmp(argv[i], "-write_queue") == 0) {
--                      if((++i == argc) || (writeb_mbytes = strtol(argv[i], &b, 10), *b != '\0')) {
--                              ERROR("%s: -write_queue missing or invalid queue size\n", argv[0]);
--                              exit(1);
--                      }
--                      if(writeb_mbytes < 1) {
--                              ERROR("%s: -write_queue should be 1 megabyte or larger\n", argv[0]);
--                              exit(1);
--                      }
--              } else if(strcmp(argv[i], "-b") == 0) {
-+              if(strcmp(argv[i], "-b") == 0) {
-                       if((++i == argc) || (block_size = strtol(argv[i], &b, 10), *b !='\0')) {
-                               ERROR("%s: -b missing or invalid block size\n", argv[0]);
-                               exit(1);
-@@ -2851,9 +1951,6 @@
-                       ERROR("-version\t\tprint version, licence and copyright message\n");
-                       ERROR("-info\t\t\tprint files written to filesystem\n");
-                       ERROR("-b <block_size>\t\tset data block to <block_size>.  Default %d bytes\n", SQUASHFS_FILE_SIZE);
--                      ERROR("-processors <number>\tUse <number> processors.  By default will use number of\n\t\t\tprocessors available\n");
--                      ERROR("-read-queue <size>\tSet input queue to <size> Mbytes.  Default %d Mbytes\n", READER_BUFFER_DEFAULT);
--                      ERROR("-write-queue <size>\tSet output queue to <size> Mbytes.  Default %d Mbytes\n", WRITER_BUFFER_DEFAULT);
-                       ERROR("-noI\t\t\tdo not compress inode table\n");
-                       ERROR("-noD\t\t\tdo not compress data blocks\n");
-                       ERROR("-noF\t\t\tdo not compress fragment blocks\n");
-@@ -2887,9 +1984,6 @@
-               }
-       }
--      reader_buffer_size = readb_mbytes << (20 - block_log);
--      writer_buffer_size = writeb_mbytes << (20 - block_log);
--
-         for(i = 0; i < source; i++)
-                 if(stat(source_path[i], &source_buf) == -1) {
-                         fprintf(stderr, "Cannot stat source directory \"%s\" because %s\n", source_path[i], strerror(errno));
-@@ -2975,8 +2069,6 @@
-               else if(strcmp(argv[i], "-b") == 0 || strcmp(argv[i], "-root-becomes") == 0 || strcmp(argv[i], "-ef") == 0)
-                       i++;
--      initialise_threads();
--
-       if(delete) {
-               printf("Creating %s %d.%d filesystem on %s, block size %d.\n",
-                               be ? "big endian" : "little endian", SQUASHFS_MAJOR, SQUASHFS_MINOR, argv[source + 1], block_size);
-@@ -3104,13 +2196,6 @@
- restore_filesystem:
-       write_fragment();
-       sBlk.fragments = fragments;
--      if(interrupted < 2) {
--              ensure_fragments_flushed();
--              queue_put(to_writer, NULL);
--              if(queue_get(from_writer) != 0)
--                      EXIT_MKSQUASHFS();
--      }
--
-       sBlk.inode_table_start = write_inodes();
-       sBlk.directory_table_start = write_directories();
-       sBlk.fragment_table_start = write_fragment_table();
-diff -Nur squashfs-tools/read_fs.c squashfs-lzma-tools/read_fs.c
---- squashfs-tools/read_fs.c   2006-08-21 01:40:35.000000000 +0200
-+++ squashfs-lzma-tools/read_fs.c      2006-08-22 09:39:31.000000000 +0200
-@@ -22,7 +22,7 @@
-  */
- extern void read_bytes(int, long long, int, char *);
--extern int add_file(long long, long long, long long, unsigned int *, int, unsigned int, int, int);
-+extern int add_file(long long, long long, unsigned int *, int, unsigned int, int, int);
- #define TRUE 1
- #define FALSE 0
-@@ -186,8 +186,7 @@
-                                       + sBlk->block_size - 1) >> sBlk->block_log : inode.file_size >>
-                                       sBlk->block_log;
-                               long long file_bytes = 0;
--                              int i;
--                              long long start = inode.start_block;
-+                              int i, start = inode.start_block;
-                               unsigned int *block_list;
-                               TRACE("scan_inode_table: regular file, file_size %lld, blocks %d\n", inode.file_size, blocks);
-@@ -211,7 +210,7 @@
-                               for(i = 0; i < blocks; i++)
-                                       file_bytes += SQUASHFS_COMPRESSED_SIZE_BLOCK(block_list[i]);
--                              add_file(start, inode.file_size, file_bytes, block_list, blocks, inode.fragment, inode.offset, frag_bytes);
-+                              add_file(start, file_bytes, block_list, blocks, inode.fragment, inode.offset, frag_bytes);
-                               cur_ptr += blocks * sizeof(unsigned int);
-                               break;
-                       }       
-@@ -220,8 +219,7 @@
-                               int frag_bytes;
-                               int blocks;
-                               long long file_bytes = 0;
--                              int i;
--                              long long start;
-+                              int i, start;
-                               unsigned int *block_list;
-                               if(swap) {
-@@ -258,7 +256,7 @@
-                               for(i = 0; i < blocks; i++)
-                                       file_bytes += SQUASHFS_COMPRESSED_SIZE_BLOCK(block_list[i]);
--                              add_file(start, inode.file_size, file_bytes, block_list, blocks, inode.fragment, inode.offset, frag_bytes);
-+                              add_file(start, file_bytes, block_list, blocks, inode.fragment, inode.offset, frag_bytes);
-                               cur_ptr += blocks * sizeof(unsigned int);
-                               break;
-                       }       
-diff -Nur squashfs-tools/README squashfs-lzma-tools/README
---- squashfs-tools/README      1970-01-01 01:00:00.000000000 +0100
-+++ squashfs-lzma-tools/README 2006-08-22 09:36:18.000000000 +0200
-@@ -0,0 +1,2 @@
-+This is mksquashfs patched with LZMA support
-+and with the patch for 'fragment_table rounding bug'
-\ No newline at end of file
-diff -Nur squashfs-tools/sort.c squashfs-lzma-tools/sort.c
---- squashfs-tools/sort.c      2006-08-21 01:40:35.000000000 +0200
-+++ squashfs-lzma-tools/sort.c 2006-06-25 05:17:43.000000000 +0200
-@@ -71,6 +71,11 @@
- struct sort_info *sort_info_list[65536];
-+struct priority_entry {
-+      struct dir_ent *dir;
-+      struct priority_entry *next;
-+};
-+
- struct priority_entry *priority_list[65536];
- extern int silent;
-@@ -230,6 +235,8 @@
-       squashfs_inode inode;
-       int duplicate_file;
-+      generate_file_priorities(dir, 0, &dir->dir_ent->inode->buf);
-+
-       for(i = 65535; i >= 0; i--)
-               for(entry = priority_list[i]; entry; entry = entry->next) {
-                       TRACE("%d: %s\n", i - 32768, entry->dir->pathname);
-diff -Nur squashfs-tools/sort.h squashfs-lzma-tools/sort.h
---- squashfs-tools/sort.h      2006-08-21 01:40:35.000000000 +0200
-+++ squashfs-lzma-tools/sort.h 2006-06-25 05:17:43.000000000 +0200
-@@ -51,12 +51,6 @@
-       squashfs_inode          inode;
-       unsigned int            type;
-       unsigned int            inode_number;
--      char                    read;
-       struct inode_info       *next;
- };
--
--struct priority_entry {
--      struct dir_ent *dir;
--      struct priority_entry *next;
--};
- #endif
-diff -Nur squashfs-tools/squashfs_fs.h squashfs-lzma-tools/squashfs_fs.h
---- squashfs-tools/squashfs_fs.h       2006-08-21 02:00:22.000000000 +0200
-+++ squashfs-lzma-tools/squashfs_fs.h  2006-06-25 05:17:43.000000000 +0200
-@@ -308,7 +308,7 @@
- struct squashfs_fragment_entry {
-       long long               start_block;
-       unsigned int            size;
--      unsigned int            pending;
-+      unsigned int            unused;
- } __attribute__ ((packed));
- extern int squashfs_uncompress_block(void *d, int dstlen, void *s, int srclen);
diff --git a/recipes/squashfs-tools/squashfs-lzma-tools-native_3.1r2.bb b/recipes/squashfs-tools/squashfs-lzma-tools-native_3.1r2.bb
deleted file mode 100644 (file)
index 8261ef5..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-require squashfs-lzma-tools_${PV}.bb
-
-DEPENDS = "lzma-native"
-
-inherit native
-
-FILESPATHPKG =. "squashfs-tools-${PV}:squashfs-tools:"
-PACKAGES = ""
-
-do_stage () {
-       install -m 0755 mksquashfs-lzma ${STAGING_BINDIR}/
-}
diff --git a/recipes/squashfs-tools/squashfs-lzma-tools_3.1r2.bb b/recipes/squashfs-tools/squashfs-lzma-tools_3.1r2.bb
deleted file mode 100644 (file)
index 109ac95..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-DESCRIPTION = "Squashfs is a highly compressed read-only filesystem for Linux."
-SECTION = "base"
-LICENSE = "GPLv2"
-DEPENDS = "lzma"
-PR = "r1"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/squashfs/squashfs${@bb.data.getVar('PV',d,1).replace('r','-r')}.tar.gz \
-          file://Makefile-3.1.patch;patch=1 \
-           file://squashfs3.1r2-tools-replace_zlib_with_lzma.patch;patch=1 \
-           file://squashfs3.1r2-tools-lzma_Makefile.patch;patch=1"
-
-S = "${WORKDIR}/squashfs${@bb.data.getVar('PV',d,1).replace('r','-r')}/squashfs-tools"
-
-prefix = ""
-
-do_compile() {
-       oe_runmake mksquashfs-lzma
-}
-
-do_install () {
-       install -d ${D}${sbindir}
-       install -m 0755 mksquashfs-lzma ${D}${sbindir}/
-}
diff --git a/recipes/squashfs-tools/squashfs-tools-native_2.0r2.bb b/recipes/squashfs-tools/squashfs-tools-native_2.0r2.bb
deleted file mode 100644 (file)
index 9ba5684..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-require squashfs-tools_${PV}.bb
-
-DEPENDS = "lzma-native"
-
-inherit native
-
-PACKAGES = ""
-
-do_stage () {
-       install -m 0755 mksquashfs ${STAGING_BINDIR}/
-       install -m 0755 mksquashfs-lzma ${STAGING_BINDIR}/
-}
diff --git a/recipes/squashfs-tools/squashfs-tools-native_2.2r2.bb b/recipes/squashfs-tools/squashfs-tools-native_2.2r2.bb
deleted file mode 100644 (file)
index 9ba5684..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-require squashfs-tools_${PV}.bb
-
-DEPENDS = "lzma-native"
-
-inherit native
-
-PACKAGES = ""
-
-do_stage () {
-       install -m 0755 mksquashfs ${STAGING_BINDIR}/
-       install -m 0755 mksquashfs-lzma ${STAGING_BINDIR}/
-}
diff --git a/recipes/squashfs-tools/squashfs-tools-native_3.1r2.bb b/recipes/squashfs-tools/squashfs-tools-native_3.1r2.bb
deleted file mode 100644 (file)
index c171e43..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-require squashfs-tools_${PV}.bb
-
-inherit native
-
-PACKAGES = ""
-
-do_stage () {
-       install -m 0755 mksquashfs ${STAGING_BINDIR}/
-}
index f27d9ec..d06e1e5 100644 (file)
@@ -1,11 +1,16 @@
 DESCRIPTION = "Squashfs is a highly compressed read-only filesystem for Linux."
 SECTION = "base"
 LICENSE = "GPLv2"
-
 DEPENDS = "zlib"
+INC_PR = "r1"
 
 S = "${WORKDIR}/squashfs${@bb.data.getVar('PV',d,1).replace('r','-r')}/squashfs-tools"
 
+# required to share same place with -lzma specific packages
+FILESPATHPKG = "squashfs-tools-${PV}:squashfs-tools:files"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/squashfs/squashfs${@bb.data.getVar('PV',d,1).replace('r','-r')}.tar.gz"
+
 prefix = ""
 
 do_compile() {
diff --git a/recipes/squashfs-tools/squashfs-tools_2.0r2.bb b/recipes/squashfs-tools/squashfs-tools_2.0r2.bb
deleted file mode 100644 (file)
index 25be083..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-DESCRIPTION = "Squashfs is a highly compressed read-only filesystem for Linux."
-DEPENDS = "lzma"
-SECTION = "base"
-LICENSE = "GPLv2"
-PR = "r1"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/squashfs/squashfs${@bb.data.getVar('PV',d,1).replace('r','-r')}.tar.gz \
-          file://flags.patch;patch=1 \
-          file://squashfs2.0-tools-lzma.patch;patch=1"
-S = "${WORKDIR}/squashfs${PV}/squashfs-tools"
-
-prefix = ""
-
-do_compile() {
-       oe_runmake
-       oe_runmake mksquashfs-lzma
-}
-
-do_install () {
-       install -d ${D}${sbindir}
-       install -m 0755 mksquashfs ${D}${sbindir}/
-       install -m 0755 mksquashfs-lzma ${D}${sbindir}/
-}
diff --git a/recipes/squashfs-tools/squashfs-tools_2.2r2.bb b/recipes/squashfs-tools/squashfs-tools_2.2r2.bb
deleted file mode 100644 (file)
index af1cc17..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION = "Squashfs is a highly compressed read-only filesystem for Linux."
-DEPENDS = "lzma"
-SECTION = "base"
-LICENSE = "GPLv2"
-PR = "r0"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/squashfs/squashfs${@bb.data.getVar('PV',d,1).replace('r','-r')}.tar.gz \
-          file://Makefile-2.2.patch;patch=1 \
-          file://squashfs2.0-tools-lzma.patch;patch=1"
-S = "${WORKDIR}/squashfs${@bb.data.getVar('PV',d,1).replace('r','-r')}/squashfs-tools"
-
-prefix = ""
-
-do_compile() {
-       oe_runmake mksquashfs mksquashfs-lzma
-}
-
-do_install () {
-       install -d ${D}${sbindir}
-       install -m 0755 mksquashfs ${D}${sbindir}/
-       install -m 0755 mksquashfs-lzma ${D}${sbindir}/
-}
diff --git a/recipes/squashfs-tools/squashfs-tools_3.1r2.bb b/recipes/squashfs-tools/squashfs-tools_3.1r2.bb
deleted file mode 100644 (file)
index a4edad9..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION = "Squashfs is a highly compressed read-only filesystem for Linux."
-SECTION = "base"
-LICENSE = "GPLv2"
-PR = "r1"
-
-DEPENDS = "zlib"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/squashfs/squashfs${@bb.data.getVar('PV',d,1).replace('r','-r')}.tar.gz \
-          file://Makefile-3.1.patch;patch=1"
-
-S = "${WORKDIR}/squashfs${@bb.data.getVar('PV',d,1).replace('r','-r')}/squashfs-tools"
-
-prefix = ""
-
-do_compile() {
-       oe_runmake mksquashfs
-}
-
-do_install () {
-       install -d ${D}${sbindir}
-       install -m 0755 mksquashfs ${D}${sbindir}/
-}
index 2bf0a98..ce6b7ce 100644 (file)
@@ -1,8 +1,4 @@
 require squashfs-tools.inc
-PR = "r0"
-
-# some release have .tgz, some have .tar.gz, so keep that outside the .inc file
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/squashfs/squashfs${@bb.data.getVar('PV',d,1).replace('r','-r')}.tgz \
-file://Makefile.patch;patch=1"
+PR = "${INC_PR}.1"
 
+SRC_URI += " file://Makefile.patch;patch=1"
index 8299cd6..0de5794 100644 (file)
@@ -1,12 +1,5 @@
 require squashfs-tools.inc
-PR = "r0"
+PR = "${INC_PR}.1"
 
 DEFAULT_PREFERENCE = "-1"
-
-# some release have .tgz, some have .tar.gz, so keep that outside the .inc file
-
-#http://ovh.dl.sourceforge.net/sourceforge/squashfs/squashfs4.0.tar.gz
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/squashfs/squashfs${@bb.data.getVar('PV',d,1).replace('r','-r')}.tar.gz \
-file://Makefile.patch;patch=1"
-
+SRC_URI += " file://Makefile.patch;patch=1"
index cefbed2..3ea182a 100644 (file)
@@ -3,7 +3,6 @@ require u-boot.inc
 
 DEFAULT_PREFERENCE = "-1"
 DEFAULT_PREFERENCE_mpc8315e-rdb = "1"
-DEFAULT_PREFERENCE_at91sam9g20ek = "1"
 
 SRC_URI = "ftp://ftp.denx.de/pub/u-boot/u-boot-${PV}.tar.bz2 "
 
diff --git a/recipes/u-boot/u-boot_2009.08.bb b/recipes/u-boot/u-boot_2009.08.bb
new file mode 100644 (file)
index 0000000..d0e387c
--- /dev/null
@@ -0,0 +1,16 @@
+PR = "r0"
+require u-boot.inc
+
+DEFAULT_PREFERENCE = "-1"
+DEFAULT_PREFERENCE_at91sam9g20ek = "1"
+
+SRC_URI = "ftp://ftp.denx.de/pub/u-boot/u-boot-${PV}.tar.bz2 "
+
+TARGET_LDFLAGS = ""
+
+inherit base
+
+do_compile () {
+       oe_runmake ${UBOOT_MACHINE}
+       oe_runmake all
+}
index e3ab397..bb43612 100644 (file)
@@ -3,6 +3,7 @@ SECTION = "network"
 LICENSE = "GPL"
 HOMEPAGE = "http://hostap.epitest.fi/wpa_supplicant/"
 DEPENDS = "dbus gnutls ${@base_contains("COMBINED_FEATURES", "madwifi", "madwifi-ng", "",d)}"
+INC_PR = "r5"
 
 #we introduce MY_ARCH to get 'armv5te' as arch instead of the misleading 'arm' on armv5te builds
 MY_ARCH := "${PACKAGE_ARCH}"
@@ -12,7 +13,6 @@ DEFAULT_PREFERENCE = "-2"
 
 SRC_URI = "http://hostap.epitest.fi/releases/wpa_supplicant-${PV}.tar.gz \
        file://defconfig-0.6.0-gnutls \
-       file://action_wpa.sh \
        file://ifupdown.sh \
        file://functions.sh"
 
@@ -58,7 +58,6 @@ do_install () {
        install -d ${D}${sysconfdir}/network/if-down.d/
 
        install -d ${D}${sysconfdir}/wpa_supplicant
-       install -m 755 ${WORKDIR}/action_wpa.sh ${D}${sysconfdir}/wpa_supplicant/
        install -m 755 ${WORKDIR}/ifupdown.sh ${D}${sysconfdir}/wpa_supplicant/
        install -m 755 ${WORKDIR}/functions.sh ${D}${sysconfdir}/wpa_supplicant
 
index 29532b2..03de436 100644 (file)
@@ -1,7 +1,7 @@
 HOMEPAGE = "http://www.alumnit.ca/wiki/?WvDial"
 DESCRIPTION = "WvDial is a program that makes it easy to connect your Linux workstation to the Internet."
 
-PR = "r1"
+PR = "r2"
 
 LICENSE = "LGPL"
 SRC_URI = "http://www.alumnit.ca/download/wvdial-1.60.tar.gz"
@@ -10,7 +10,7 @@ DEPENDS = "wvstreams"
 RDEPENDS = "ppp"
 
 EXTRA_OEMAKE = ""
-export WVLINK="${LD}"
+export CC="${CXX}"
 
 do_install() {
     oe_runmake prefix=${D}/usr PPPDIR=${D}/etc/ppp/peers install
index 32c70a3..370adce 100644 (file)
@@ -29,6 +29,7 @@ FILES_libwvstreams-base-dbg = "${libdir}/.debug/libwvutils.so.*"
 FILES_libwvstreams-extras     = "${libdir}/libwvbase.so.* ${libdir}/libwvstreams.so.*"
 FILES_libwvstreams-extras-dbg = "${libdir}/.debug/libwvbase.so.* ${libdir}/.debug/libwvstreams.so.*"
 
+PARALLEL_MAKE = ""
 
 do_stage() {
     autotools_stage_all
diff --git a/recipes/xorg-xserver/files/report-correct-randr10.patch b/recipes/xorg-xserver/files/report-correct-randr10.patch
new file mode 100644 (file)
index 0000000..540f598
--- /dev/null
@@ -0,0 +1,25 @@
+Index: xorg-server-1.1.0/randr/randr.c
+===================================================================
+--- xorg-server-1.1.0.orig/randr/randr.c
++++ xorg-server-1.1.0/randr/randr.c
+@@ -56,6 +56,9 @@
+ #define SubPixelUnknown 0
+ #endif
++#define SERVER_RANDR_MAJOR    1
++#define SERVER_RANDR_MINOR    0
++
+ #define RR_VALIDATE
+ int   RRGeneration;
+ int   RRNScreens;
+@@ -473,8 +476,8 @@ ProcRRQueryVersion (ClientPtr client)
+     rep.type = X_Reply;
+     rep.length = 0;
+     rep.sequenceNumber = client->sequence;
+-    rep.majorVersion = RANDR_MAJOR;
+-    rep.minorVersion = RANDR_MINOR;
++    rep.majorVersion = SERVER_RANDR_MAJOR;
++    rep.minorVersion = SERVER_RANDR_MINOR;
+     if (client->swapped) {
+       swaps(&rep.sequenceNumber, n);
+       swapl(&rep.length, n);
diff --git a/recipes/xorg-xserver/files/report-correct-randr12.patch b/recipes/xorg-xserver/files/report-correct-randr12.patch
new file mode 100644 (file)
index 0000000..72c8a18
--- /dev/null
@@ -0,0 +1,29 @@
+Server reports XRandR version provided by libxrandr instead of XRandR
+version implemented. It confuses applications that execute XRandR
+version dependent code (e. g. gtk+ >= 2.18.0).
+
+Index: xorg-server-1.3.0.0/randr/rrdispatch.c
+===================================================================
+--- xorg-server-1.3.0.0.orig/randr/rrdispatch.c
++++ xorg-server-1.3.0.0/randr/rrdispatch.c
+@@ -22,6 +22,9 @@
+ #include "randrstr.h"
++#define SERVER_RANDR_MAJOR    1
++#define SERVER_RANDR_MINOR    2
++
+ Bool
+ RRClientKnowsRates (ClientPtr pClient)
+ {
+@@ -49,8 +52,8 @@ ProcRRQueryVersion (ClientPtr client)
+      * Report the current version; the current
+      * spec says they're all compatible after 1.0
+      */
+-    rep.majorVersion = RANDR_MAJOR;
+-    rep.minorVersion = RANDR_MINOR;
++    rep.majorVersion = SERVER_RANDR_MAJOR;
++    rep.minorVersion = SERVER_RANDR_MINOR;
+     if (client->swapped) {
+       swaps(&rep.sequenceNumber, n);
+       swapl(&rep.length, n);
index 18b85fd..27a08d2 100644 (file)
@@ -7,7 +7,7 @@ DEPENDS += "libxkbfile libxcalibrate"
 PROVIDES = "virtual/xserver"
 
 PE = "1"
-PR = "r7"
+PR = "r8"
 
 FILESPATH = "${FILE_DIRNAME}/xserver-kdrive-${PV}:${FILE_DIRNAME}/xserver-kdrive:${FILE_DIRNAME}/files"
 SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \
@@ -23,6 +23,7 @@ SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \
         file://enable-builtin-fonts.patch;patch=1 \
        file://fix-picturestr-include-order.patch;patch=1 \
        file://split_multiple_AC_SUBST.patch;patch=1 \
+       file://report-correct-randr10.patch;patch=1 \
        "
        
 S = "${WORKDIR}/xorg-server-${PV}"
index 57f7050..5994bc0 100644 (file)
@@ -7,7 +7,7 @@ SECTION = "x11/base"
 DESCRIPTION = "X server from freedesktop.org"
 DESCRIPTION_xserver-kdrive-xomap = "X server for the OMAP in the Nokia 800"
 
-PR = "r2"
+PR = "r3"
 PE = "1"
 
 COMPATIBLE_MACHINE = "nokia(800|770)"
@@ -25,7 +25,8 @@ SRC_URI = "http://repository.maemo.org/pool/maemo3.1/free/source/xorg-server_1.1
        file://button_only.patch;patch=1 \
        file://calibrateext.patch;patch=1 \
         file://fix-picturestr-include-order.patch;patch=1 \
-       file://xcalibrate_coords.patch;patch=1"
+       file://xcalibrate_coords.patch;patch=1 \
+       file://report-correct-randr10.patch;patch=1"
 #      file://kdrive-evdev.patch;patch=1  \
 #      file://kdrive-use-evdev.patch;patch=1  \
 #      file://optional-xkb.patch;patch=1 \
index be6fc82..8157054 100644 (file)
@@ -10,7 +10,7 @@ DESCRIPTION_xserver-kdrive-fake = "Fake X server"
 DESCRIPTION_xserver-kdrive-xephyr = "X server in an X window"
 
 PE = "1"
-PR = "r1"
+PR = "r2"
 
 FILES_${PN} = "${libdir}/xserver"
 FILES_xserver-kdrive-fbdev = "${bindir}/Xfbdev"
@@ -34,7 +34,8 @@ SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-1.1.0.tar.bz2 \
        file://enable-tslib.patch;patch=1 \
        file://xcalibrate.patch;patch=1 \
        file://xfbdev-fb-opt.patch;patch=1 \
-       file://hide-cursor-and-ppm-root.patch;patch=1"
+       file://hide-cursor-and-ppm-root.patch;patch=1 \
+       file://report-correct-randr10.patch;patch=1"
 
 SRC_URI_append_mnci   = " file://onlyfb.patch;patch=1"
 SRC_URI_append_poodle = " file://xserver-kdrive-poodle.patch;patch=1"
index e1b898e..fd2f1f3 100644 (file)
@@ -3,7 +3,7 @@ require xserver-kdrive-common.inc
 DEPENDS += "libxkbfile libxcalibrate"
 
 PE = "1"
-PR = "r10"
+PR = "r11"
 
 SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \
        ${KDRIVE_COMMON_PATCHES} \
@@ -18,6 +18,7 @@ SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \
         file://w100-fix-offscreen-bmp.patch;patch=1 \
         file://fbcompositesrc8888revnpx0565.patch;patch=1 \
         file://xcalibrate_coords.patch;patch=1 \
+       file://report-correct-randr10.patch;patch=1 \
        "
        
 S = "${WORKDIR}/xorg-server-${PV}"
index 1faa0e7..1b052e7 100644 (file)
@@ -3,7 +3,7 @@ require xserver-kdrive-common.inc
 DEPENDS += "libxkbfile libxcalibrate"
 
 PE = "1"
-PR = "r26"
+PR = "r27"
 
 SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \
        ${KDRIVE_COMMON_PATCHES} \
@@ -24,6 +24,7 @@ SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \
         file://gumstix-kmode.patch;patch=1 \
         file://fix-picturestr-include-order.patch;patch=1 \
         file://autotools.patch;patch=1 \
+       file://report-correct-randr12.patch;patch=1 \
 "
 
 SRC_URI_append_avr32 = " \
index 50d182c..fd52dba 100644 (file)
@@ -2,10 +2,12 @@ MESA_VER = "6.5.2"
 
 require xorg-xserver-common.inc
 PE = "1"
-PR = "${INC_PR}.0"
+PR = "${INC_PR}.1"
 
 export LDFLAGS += " -ldl "
 
 #DESCRIPTION = ""
 
 #DEPENDS += " "
+
+SRC_URI += "file://report-correct-randr10.patch;patch=1"
\ No newline at end of file
index 1efea75..fc9eac0 100644 (file)
@@ -2,10 +2,11 @@ MESA_VER = "6.5.2"
 
 require xorg-xserver-common.inc
 PE = "1"
-PR = "${INC_PR}.0"
+PR = "${INC_PR}.1"
 
 SRC_URI += "file://drmfix.patch;patch=1 \
-            file://glyphstr.patch;patch=1"
+            file://glyphstr.patch;patch=1 \
+            file://report-correct-randr12.patch;patch=1"
 
 export LDFLAGS += " -ldl "
 
similarity index 100%
rename from site/arm-linux
rename to site/arm-linux-gnu
similarity index 100%
rename from site/armeb-linux
rename to site/armeb-linux-gnu
diff --git a/site/mips-common b/site/mips-common
new file mode 100644 (file)
index 0000000..baffaab
--- /dev/null
@@ -0,0 +1,14 @@
+ac_cv_func_realloc_0_nonnull=${ac_cv_func_realloc_0_nonnull=yes}
+ac_cv_func_malloc_0_nonnull=${ac_cv_func_malloc_0_nonnull=yes}
+
+# screen
+screen_cv_sys_bcopy_overlap=${screen_cv_sys_bcopy_overlap=no}
+screen_cv_sys_memcpy_overlap=${screen_cv_sys_memcpy_overlap=no}
+screen_cv_sys_memmove_overlap=${screen_cv_sys_memmove_overlap=no}
+screen_cv_sys_fifo_broken_impl=${screen_cv_sys_fifo_broken_impl=yes}
+screen_cv_sys_fifo_usable=${screen_cv_sys_fifo_usable=yes}
+screen_cv_sys_select_broken_retval=${screen_cv_sys_select_broken_retval=no}
+screen_cv_sys_sockets_nofs=${screen_cv_sys_sockets_nofs=no}
+screen_cv_sys_sockets_usable=${screen_cv_sys_sockets_usable=yes}
+screen_cv_sys_terminfo_used=${screen_cv_sys_terminfo_used=yes}
+
similarity index 100%
rename from site/mips-linux
rename to site/mips-linux-gnu
similarity index 100%
rename from site/mipsel-linux
rename to site/mipsel-linux-gnu
similarity index 100%
rename from site/powerpc-linux
rename to site/powerpc-linux-gnu
similarity index 100%
rename from site/sparc-linux
rename to site/sparc-linux-gnu
similarity index 100%
rename from site/x86_64-linux
rename to site/x86_64-linux-gnu