From 3d0f5590897ab1d8d66572ad1787162ee7d537e7 Mon Sep 17 00:00:00 2001 From: Michał Masłowski Date: Sun, 12 Feb 2012 19:25:12 +0100 Subject: Update mozilla-testing/icecat to 10.0, adding a patch from Arch's firefox. --- mozilla-testing/icecat/PKGBUILD | 15 +++++++++------ mozilla-testing/icecat/libre.patch | 2 +- mozilla-testing/icecat/libvpx.patch | 12 ++++++++++++ 3 files changed, 22 insertions(+), 7 deletions(-) create mode 100644 mozilla-testing/icecat/libvpx.patch diff --git a/mozilla-testing/icecat/PKGBUILD b/mozilla-testing/icecat/PKGBUILD index 4379ee60c..5946af42f 100644 --- a/mozilla-testing/icecat/PKGBUILD +++ b/mozilla-testing/icecat/PKGBUILD @@ -14,8 +14,8 @@ _pgo=false _pkgname=icecat -pkgver=9.0.1 -pkgrel=2 +pkgver=10.0 +pkgrel=1 if [ -z "$pkgname" ]; then pkgname=$_pkgname; fi if $_pgo; then @@ -69,7 +69,8 @@ source=(ftp://ftp.gnu.org/gnu/gnuzilla/${pkgver}/${pkgname}-${pkgver}.tar.xz icecat-safe.desktop libre.patch firefox-install-dir.patch - vendor.js) + vendor.js + libvpx.patch) if [ "$_pkgname" != "$pkgname" ]; then provides+=("$_pkgname") @@ -83,6 +84,7 @@ build() { cp "$srcdir/mozconfig" .mozconfig # Load our build config, disable SafeSearch patch -Np1 -i "$srcdir/firefox-install-dir.patch" # install to /usr/lib/$pkgname patch -Np1 -i "$srcdir/libre.patch" # Remove Google+Mozilla stuff + patch -Np1 -i "$srcdir/libvpx.patch" # patch from Arch if $_pgo; then cat "$srcdir/mozconfig.pgo" >> .mozconfig @@ -136,11 +138,12 @@ package() { ln -sf $_pkgname "$pkgdir/usr/lib/$_pkgname/$_pkgname-bin" } -md5sums=('a135581da2fd2845f268d7ca91054c06' +md5sums=('5a30f5c5422fb7c9b1a2d253028df9d7' '6f3a8fd65c416216a1b56b0c2d2d81aa' 'ac29b01c189f20abae2f3eef1618ffc0' 'e81ad01dbc16ba28bf92ba4b7c309ca7' 'd93fe402b87cd000a869e1fd6badc6c9' - '07e65752416e615fe04ce586bc58f86b' + '145f453ef82f643711c10d97ec57a805' '1e4bcac59e93d21fffa6a1d1ad235247' - 'c382e35315047e4ca368d09383b39b8d') + 'c382e35315047e4ca368d09383b39b8d' + '5d418ecdbdb9f40597df6b978b0b5ee5') diff --git a/mozilla-testing/icecat/libre.patch b/mozilla-testing/icecat/libre.patch index c5f59d858..3dca93ee7 100644 --- a/mozilla-testing/icecat/libre.patch +++ b/mozilla-testing/icecat/libre.patch @@ -5,7 +5,7 @@ // Dictionary download preference -pref("browser.dictionaries.download.url", "https://addons.mozilla.org/%LOCALE%/firefox/dictionaries/"); -+pref("browser.dictionaries.download.url", "http://gnuzilla.gnu.org/download/langpacks/9.0.1/"); ++pref("browser.dictionaries.download.url", "http://gnuzilla.gnu.org/download/langpacks/10.0/"); // The minimum delay in seconds for the timer to fire. // default=2 minutes diff --git a/mozilla-testing/icecat/libvpx.patch b/mozilla-testing/icecat/libvpx.patch new file mode 100644 index 000000000..f883b8e08 --- /dev/null +++ b/mozilla-testing/icecat/libvpx.patch @@ -0,0 +1,12 @@ +diff -Nur mozilla-release.orig/configure.in mozilla-release/configure.in +--- mozilla-release.orig/configure.in 2012-02-05 16:01:35.722024142 +0000 ++++ mozilla-release/configure.in 2012-02-05 16:03:34.871064547 +0000 +@@ -5629,7 +5629,7 @@ + dnl v0.9.6 one to check for. + AC_TRY_COMPILE([ + #include +- #if !defined(VPX_CODEC_USE_INPUT_PARTITION) ++ #if !defined(VPX_CODEC_USE_INPUT_FRAGMENTS) + #error "test failed." + #endif + ], -- cgit v1.2.3 From 811e6165dc55e497bf39ac2e7d2e66b01018a016 Mon Sep 17 00:00:00 2001 From: Michał Masłowski Date: Sun, 12 Feb 2012 22:42:22 +0100 Subject: Update seamonkey-libre. --- libre/seamonkey-libre/PKGBUILD | 66 ++++++++++++------------ libre/seamonkey-libre/gnuzilla-addons.patch | 43 ++++++++------- libre/seamonkey-libre/libvpx.patch | 12 +++++ libre/seamonkey-libre/mozconfig | 41 ++++++++------- libre/seamonkey-libre/seamonkey-appversion.patch | 12 ----- libre/seamonkey-libre/seamonkey.desktop | 2 +- libre/seamonkey-libre/seamonkey.install | 12 +++++ 7 files changed, 103 insertions(+), 85 deletions(-) create mode 100644 libre/seamonkey-libre/libvpx.patch delete mode 100644 libre/seamonkey-libre/seamonkey-appversion.patch create mode 100644 libre/seamonkey-libre/seamonkey.install diff --git a/libre/seamonkey-libre/PKGBUILD b/libre/seamonkey-libre/PKGBUILD index 343f3e3ed..41cd99b4c 100644 --- a/libre/seamonkey-libre/PKGBUILD +++ b/libre/seamonkey-libre/PKGBUILD @@ -1,56 +1,58 @@ -# $Id$ +# $Id: PKGBUILD 149871 2012-02-11 11:12:41Z ibiru $ # Maintainer: Jan de Groot +_pkgname=seamonkey pkgname=seamonkey-libre -pkgver=2.0.12 +pkgver=2.7.1 pkgrel=1 pkgdesc="SeaMonkey internet suite, with GNUZilla addons" arch=('i686' 'x86_64') license=('MPL') -depends=('gtk2' 'mozilla-common' 'nss' 'libxt' 'gcc-libs' 'alsa-lib' 'dbus-glib') -makedepends=('zip' 'pkg-config' 'libgnomeui>=2.24.2' 'python2' 'libidl2' 'autoconf2.13') +depends=('alsa-lib' 'dbus-glib' 'desktop-file-utils' 'gtk2' 'hunspell' 'libevent' 'libnotify' 'libvpx' 'libxt' 'mime-types' 'mozilla-common' 'nss' 'sqlite3' 'startup-notification') +makedepends=('unzip' 'zip' 'pkg-config' 'python2' 'yasm' 'wireless_tools' 'mesa' 'autoconf2.13') replaces=('mozilla' 'seamonkey') conflicts=('seamonkey') provides=("seamonkey=$pkgver") +install=$_pkgname.install url="http://www.mozilla.org/projects/seamonkey" -source=(http://releases.mozilla.org/pub/mozilla.org/seamonkey/releases/${pkgver}/source/seamonkey-${pkgver}.source.tar.bz2 +source=(ftp://releases.mozilla.org/pub/mozilla.org/$_pkgname/releases/$pkgver/source/$_pkgname-$pkgver.source.tar.bz2 mozconfig seamonkey.desktop - seamonkey-appversion.patch seamonkey-2.0-lang.patch - python27.patch + libvpx.patch gnuzilla-addons.patch) -md5sums=('681328d58a71d23e52ebe986a8eca3fd' - '4978159e4921892e34dcd7e9804f0437' - '448848e65efcbf1b2be2873b66b6cd48' - 'a4275fc48361c80f676e96fdb28bd74e' +md5sums=('a16764e55ef8e59c469dc44b63459ad6' + 'd02b5f002a7cdf8d15dccd2548d09256' + '6119a2254716752c9d08e366f8d4c048' '25b6fe16ac24cd5c852213e5c1adb272' - '47e57931d65c71baafcf0e4f9160e876' - '178073b25aa41ffc601bcd9ddf1f69de') + '5b2aaff7dfe7f1f94ad965905b20e782' + '4347c7be7e48a9987765552f4f6362bc') build() { - cd "${srcdir}/comm-1.9.1" - patch -Np1 -i "${srcdir}/seamonkey-appversion.patch" - patch -Np1 -i "${srcdir}/seamonkey-2.0-lang.patch" - patch -Np0 -i "${srcdir}/python27.patch" + cd "$srcdir/comm-release" + patch -Np1 -i "$srcdir/seamonkey-2.0-lang.patch" + patch -Np1 -i "$srcdir/libvpx.patch" + patch -Np1 -i "${srcdir}/gnuzilla-addons.patch" - pushd suite/browser >/dev/null - patch -Np0 -i "${srcdir}/gnuzilla-addons.patch" - popd >/dev/null + cp "$srcdir/mozconfig" .mozconfig + export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/seamonkey-$pkgver" - cp "${srcdir}/mozconfig" .mozconfig - unset CFLAGS - unset CXXFLAGS + make -j1 -f client.mk build MOZ_MAKE_FLAGS="$MAKEFLAGS" +} + +package() { + cd "$srcdir/comm-release" - export LDFLAGS="-Wl,-rpath,/usr/lib/seamonkey-2.0" + make -j1 -f client.mk DESTDIR="$pkgdir" install - make -j1 -f client.mk build MOZ_MAKE_FLAGS="${MAKEFLAGS}" - make -j1 DESTDIR="${pkgdir}" install + rm -rf "$pkgdir"/usr/lib/seamonkey-$pkgver/{dictionaries,hyphenation} + ln -sf /usr/share/hunspell "$pkgdir/usr/lib/seamonkey-$pkgver/dictionaries" + ln -sf /usr/share/hyphen "$pkgdir/usr/lib/seamonkey-$pkgver/hyphenation" - install -m755 -d "${pkgdir}/usr/share/applications" - install -m755 -d "${pkgdir}/usr/share/pixmaps" - install -m644 "${srcdir}/comm-1.9.1/suite/branding/icons/gtk/seamonkey.png" \ - "${pkgdir}/usr/share/pixmaps/" - install -m644 "${srcdir}/seamonkey.desktop" "${pkgdir}/usr/share/applications/" + install -m755 -d "$pkgdir/usr/share/applications" + install -m755 -d "$pkgdir/usr/share/pixmaps" + install -m644 suite/branding/nightly/icons/gtk/seamonkey.png \ + "$pkgdir/usr/share/pixmaps/" + install -m644 "$srcdir/seamonkey.desktop" "$pkgdir/usr/share/applications/" - rm -f "${pkgdir}/usr/lib/pkgconfig/"seamonkey-ns{s,pr}.pc + rm -f "$pkgdir/usr/lib/pkgconfig/"seamonkey-ns{s,pr}.pc } diff --git a/libre/seamonkey-libre/gnuzilla-addons.patch b/libre/seamonkey-libre/gnuzilla-addons.patch index 6cf586e7a..ae95052c5 100644 --- a/libre/seamonkey-libre/gnuzilla-addons.patch +++ b/libre/seamonkey-libre/gnuzilla-addons.patch @@ -1,29 +1,28 @@ ---- usr/lib/seamonkey-2.0/defaults/pref/browser-prefs.js 2011-03-03 06:47:16.000000000 -0300 -+++ browser-prefs.js 2011-03-08 12:02:29.616789776 -0300 -@@ -465,12 +465,12 @@ - - // Preferences for the Get Add-ons pane - pref("extensions.getAddons.showPane", true); --pref("extensions.getAddons.browseAddons", "https://addons.mozilla.org/%LOCALE%/%APP%"); -+pref("extensions.getAddons.browseAddons", "http://www.gnu.org/software/gnuzilla/addons.html"); - pref("extensions.getAddons.maxResults", 5); --pref("extensions.getAddons.recommended.browseURL", "https://addons.mozilla.org/%LOCALE%/%APP%/recommended"); --pref("extensions.getAddons.recommended.url", "https://services.addons.mozilla.org/%LOCALE%/%APP%/api/%API_VERSION%/list/featured/all/10/%OS%/%VERSION%"); +diff -ru comm-release.orig/suite/browser/browser-prefs.js comm-release/suite/browser/browser-prefs.js +--- comm-release.orig/suite/browser/browser-prefs.js 2012-02-12 21:59:22.006597211 +0100 ++++ comm-release/suite/browser/browser-prefs.js 2012-02-12 22:03:37.727232650 +0100 +@@ -587,10 +587,10 @@ + // Preferences for AMO integration + pref("extensions.getAddons.cache.enabled", true); // also toggles personalized recommendations + pref("extensions.getAddons.maxResults", 15); +-pref("extensions.getAddons.get.url", "https://services.addons.mozilla.org/%LOCALE%/%APP%/api/%API_VERSION%/search/guid:%IDS%?src=seamonkey&appOS=%OS%&appVersion=%VERSION%&tMain=%TIME_MAIN%&tFirstPaint=%TIME_FIRST_PAINT%&tSessionRestored=%TIME_SESSION_RESTORED%"); -pref("extensions.getAddons.search.browseURL", "https://addons.mozilla.org/%LOCALE%/%APP%/search?q=%TERMS%"); --pref("extensions.getAddons.search.url", "https://services.addons.mozilla.org/%LOCALE%/%APP%/api/%API_VERSION%/search/%TERMS%/all/10/%OS%/%VERSION%"); -+pref("extensions.getAddons.recommended.browseURL", "http://www.gnu.org/software/gnuzilla/addons.html"); -+pref("extensions.getAddons.recommended.url", "http://www.gnu.org/software/gnuzilla/addons.html"); +-pref("extensions.getAddons.search.url", "https://services.addons.mozilla.org/%LOCALE%/%APP%/api/%API_VERSION%/search/%TERMS%/all/%MAX_RESULTS%/%OS%/%VERSION%/%COMPATIBILITY_MODE%?src=seamonkey"); +-pref("extensions.webservice.discoverURL", "https://services.addons.mozilla.org/%LOCALE%/%APP%/discovery/pane/%VERSION%/%OS%"); ++pref("extensions.getAddons.get.url", "http://www.gnu.org/software/gnuzilla/addons.html"); +pref("extensions.getAddons.search.browseURL", "http://www.gnu.org/software/gnuzilla/addons.html"); +pref("extensions.getAddons.search.url", "http://www.gnu.org/software/gnuzilla/addons.html"); ++pref("extensions.webservice.discoverURL", "http://www.gnu.org/software/gnuzilla/addons.html"); + + // getMoreThemes is used by our UI under our switch theme menu + pref("extensions.getMoreThemesURL", "chrome://branding/locale/brand.properties"); +@@ -715,7 +715,7 @@ + #endif - // Non-symmetric (not shared by extensions) extension-specific [update] preferences - pref("extensions.getMoreExtensionsURL", "chrome://branding/locale/brand.properties"); -@@ -557,7 +557,7 @@ - // Disables default plugin for Plugin Finder Service - pref("plugin.default_plugin_disabled", true); // plugin finder service url -pref("pfs.datasource.url", "https://pfs.mozilla.org/plugins/PluginFinderService.php?mimetype=%PLUGIN_MIMETYPE%&appID=%APP_ID%&appVersion=%APP_VERSION%&clientOS=%CLIENT_OS%&chromeLocale=%CHROME_LOCALE%"); +pref("pfs.datasource.url", "http://www.gnu.org/software/gnuzilla/addons.html"); - pref("plugins.hide_infobar_for_missing_plugin", false); - - //@line 584 "/build/src/comm-1.9.1/suite/browser/browser-prefs.js" + pref("plugins.update.url", "http://www.mozilla.com/%LOCALE%/plugincheck/"); + pref("plugins.update.notifyUser", false); + pref("plugins.hide_infobar_for_outdated_plugin", false); +Tylko w comm-release/suite/browser: browser-prefs.js~ diff --git a/libre/seamonkey-libre/libvpx.patch b/libre/seamonkey-libre/libvpx.patch new file mode 100644 index 000000000..d0f9a0f4c --- /dev/null +++ b/libre/seamonkey-libre/libvpx.patch @@ -0,0 +1,12 @@ +diff -Nur comm-release.orig/mozilla/configure.in comm-release/mozilla/configure.in +--- comm-release.orig/mozilla/configure.in 2012-02-05 18:02:17.376830377 +0000 ++++ comm-release/mozilla/configure.in 2012-02-05 18:03:25.246274275 +0000 +@@ -5629,7 +5629,7 @@ + dnl v0.9.6 one to check for. + AC_TRY_COMPILE([ + #include +- #if !defined(VPX_CODEC_USE_INPUT_PARTITION) ++ #if !defined(VPX_CODEC_USE_INPUT_FRAGMENTS) + #error "test failed." + #endif + ], diff --git a/libre/seamonkey-libre/mozconfig b/libre/seamonkey-libre/mozconfig index 4eb1b51ea..8257f8e4f 100644 --- a/libre/seamonkey-libre/mozconfig +++ b/libre/seamonkey-libre/mozconfig @@ -1,30 +1,35 @@ +ac_add_options --enable-application=suite + +ac_add_options --prefix=/usr +ac_add_options --libdir=/usr/lib + ac_add_options --with-system-nspr ac_add_options --with-system-nss ac_add_options --with-system-jpeg ac_add_options --with-system-zlib +ac_add_options --with-system-bz2 ac_add_options --with-system-png +ac_add_options --with-system-libevent +ac_add_options --with-system-libvpx +ac_add_options --enable-system-hunspell +ac_add_options --enable-system-sqlite +ac_add_options --enable-system-cairo ac_add_options --with-pthreads + +# Features +ac_add_options --enable-startup-notification +ac_add_options --enable-safe-browsing +ac_add_options --enable-gio + +ac_add_options --disable-gnomevfs +ac_add_options --disable-crashreporter +ac_add_options --disable-updater ac_add_options --disable-tests -ac_add_options --disable-debug +ac_add_options --disable-mochitest ac_add_options --disable-installer -ac_add_options --disable-crashreporter + +# Optimization ac_add_options --enable-optimize -ac_add_options --enable-xinerama -ac_add_options --enable-default-toolkit=cairo-gtk2 -ac_add_options --disable-xprint -ac_add_options --enable-strip -ac_add_options --enable-pango -#disabled due to bugs with cairo 1.10 -#ac_add_options --enable-system-cairo -ac_add_options --enable-svg -ac_add_options --enable-canvas -ac_add_options --prefix=/usr -ac_add_options --mandir=/usr/share/man -ac_add_options --enable-crypto -ac_add_options --enable-application=suite -ac_cv_visibility_pragma=no -export BUILD_OFFICIAL=1 export MOZILLA_OFFICIAL=1 -mk_add_options BUILD_OFFICIAL=1 mk_add_options MOZILLA_OFFICIAL=1 diff --git a/libre/seamonkey-libre/seamonkey-appversion.patch b/libre/seamonkey-libre/seamonkey-appversion.patch deleted file mode 100644 index 0c34cf477..000000000 --- a/libre/seamonkey-libre/seamonkey-appversion.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nur comm-1.9.1.orig/suite/installer/Makefile.in comm-1.9.1/suite/installer/Makefile.in ---- comm-1.9.1.orig/suite/installer/Makefile.in 2010-01-04 23:01:34.000000000 +0200 -+++ comm-1.9.1/suite/installer/Makefile.in 2010-01-11 22:38:44.000000000 +0200 -@@ -42,6 +42,8 @@ - - include $(DEPTH)/config/autoconf.mk - -+MOZ_APP_VERSION="2.0" -+ - NO_PKG_FILES = \ - $(MOZ_APP_NAME)-config \ - xpcshell* \ diff --git a/libre/seamonkey-libre/seamonkey.desktop b/libre/seamonkey-libre/seamonkey.desktop index 084082aea..dd92a2432 100644 --- a/libre/seamonkey-libre/seamonkey.desktop +++ b/libre/seamonkey-libre/seamonkey.desktop @@ -6,6 +6,6 @@ Type=Application Terminal=false MultipleArgs=false Name=SeaMonkey internet suite -MimeType=text/html +MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;message/rfc822;x-scheme-handler/mailto; StartupNotify=false Categories=Application;Network; diff --git a/libre/seamonkey-libre/seamonkey.install b/libre/seamonkey-libre/seamonkey.install new file mode 100644 index 000000000..709ad81f2 --- /dev/null +++ b/libre/seamonkey-libre/seamonkey.install @@ -0,0 +1,12 @@ +post_install() { + update-desktop-database -q + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + post_install $1 +} -- cgit v1.2.3 From fcea378b9458eeead98f16d7a1788d84720100c6 Mon Sep 17 00:00:00 2001 From: Michał Masłowski Date: Mon, 13 Feb 2012 16:52:27 +0100 Subject: Rebuild metalog due to pcre update. --- libre/metalog/PKGBUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libre/metalog/PKGBUILD b/libre/metalog/PKGBUILD index dee52d986..41a570b7c 100644 --- a/libre/metalog/PKGBUILD +++ b/libre/metalog/PKGBUILD @@ -4,7 +4,7 @@ pkgname=metalog pkgver=2.0 -pkgrel=2 +pkgrel=3 pkgdesc="Metalog is a modern replacement for syslogd and klogd" url="http://metalog.sourceforge.net" license=('GPL') -- cgit v1.2.3 From c59e2cef1dcbdbf3997aff309abd0e22de72bc2a Mon Sep 17 00:00:00 2001 From: Michał Masłowski Date: Mon, 13 Feb 2012 17:28:09 +0100 Subject: Rebuild kdelibs-libre for pcre update. --- libre/kdelibs-libre/PKGBUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libre/kdelibs-libre/PKGBUILD b/libre/kdelibs-libre/PKGBUILD index 19cdc41a6..0ebd5b60e 100644 --- a/libre/kdelibs-libre/PKGBUILD +++ b/libre/kdelibs-libre/PKGBUILD @@ -5,7 +5,7 @@ _pkgname=kdelibs pkgname=kdelibs-libre pkgver=4.8.0 -pkgrel=3 +pkgrel=3.1 pkgdesc="KDE Core Libraries" arch=('i686' 'x86_64' 'mips64el') url='http://www.kde.org' -- cgit v1.2.3 From 3337a953d85159e558ce2402b4699bf59ab4e5a4 Mon Sep 17 00:00:00 2001 From: Michał Masłowski Date: Mon, 13 Feb 2012 18:53:29 +0100 Subject: Update thunderbird-libre. --- libre/thunderbird-libre/PKGBUILD | 15 +++++++++------ libre/thunderbird-libre/libvpx.patch | 12 ++++++++++++ 2 files changed, 21 insertions(+), 6 deletions(-) create mode 100644 libre/thunderbird-libre/libvpx.patch diff --git a/libre/thunderbird-libre/PKGBUILD b/libre/thunderbird-libre/PKGBUILD index 6a517c112..a622204f9 100644 --- a/libre/thunderbird-libre/PKGBUILD +++ b/libre/thunderbird-libre/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 145619 2011-12-24 12:00:02Z ibiru $ +# $Id: PKGBUILD 150116 2012-02-12 20:58:54Z ibiru $ # Contributor: Alexander Baldeck # Contributor: Dale Blount # Contributor: Anders Bostrom pkgname=thunderbird-libre -pkgver=9.0.1 +pkgver=10.0.1 pkgrel=1 pkgdesc="Standalone Mail/News reader" arch=('i686' 'x86_64') license=('MPL' 'GPL') url="http://www.mozilla.org/thunderbird/" depends=('alsa-lib' 'dbus-glib' 'desktop-file-utils' 'gtk2' 'hicolor-icon-theme' 'hunspell' 'libevent' 'libnotify' 'libvpx' 'libxt' 'mime-types' 'mozilla-common' 'nss' 'sqlite3' 'startup-notification') -makedepends=('unzip' 'zip' 'pkg-config' 'python2' 'wireless_tools' 'yasm' 'mesa') +makedepends=('unzip' 'zip' 'pkg-config' 'python2' 'wireless_tools' 'yasm' 'mesa' 'autoconf2.13') optdepends=('libcanberra: for sound support') replaces=('thunderbird') conflicts=('thunderbird') @@ -21,17 +21,20 @@ source=(ftp://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/$pkgver/sourc thunderbird.desktop thunderbird-install-dir.patch channel-prefs.js - vendor.js) -md5sums=('a5904751dbd33074682b438b732fdbab' + vendor.js + libvpx.patch) +md5sums=('623c32d9deae370383e1422b1ea48061' 'ca98c2bf1017b33e19dae22fdcef2e73' 'af3e5b344d2edf1c7d61bb0a5a96de9a' 'aea906acf72c43dd82ead2fabcc1c6db' '476ec205162340fb0679f522c9d31c3b' - '5a53179d14ae9631b7afe5e4d0fc0b25') + '5a53179d14ae9631b7afe5e4d0fc0b25' + '5b2aaff7dfe7f1f94ad965905b20e782') build() { cd "$srcdir/comm-release" patch -Np1 -i "$srcdir/thunderbird-install-dir.patch" + patch -Np1 -i "$srcdir/libvpx.patch" cp "$srcdir/mozconfig" .mozconfig diff --git a/libre/thunderbird-libre/libvpx.patch b/libre/thunderbird-libre/libvpx.patch new file mode 100644 index 000000000..d0f9a0f4c --- /dev/null +++ b/libre/thunderbird-libre/libvpx.patch @@ -0,0 +1,12 @@ +diff -Nur comm-release.orig/mozilla/configure.in comm-release/mozilla/configure.in +--- comm-release.orig/mozilla/configure.in 2012-02-05 18:02:17.376830377 +0000 ++++ comm-release/mozilla/configure.in 2012-02-05 18:03:25.246274275 +0000 +@@ -5629,7 +5629,7 @@ + dnl v0.9.6 one to check for. + AC_TRY_COMPILE([ + #include +- #if !defined(VPX_CODEC_USE_INPUT_PARTITION) ++ #if !defined(VPX_CODEC_USE_INPUT_FRAGMENTS) + #error "test failed." + #endif + ], -- cgit v1.2.3 From 7564595c88be9fe9b961c9b776c6ba7bb0d00451 Mon Sep 17 00:00:00 2001 From: Michał Masłowski Date: Mon, 13 Feb 2012 19:42:05 +0100 Subject: Update ~mtjm python2-pydns and python1-pyspf. --- ~mtjm/python2-pydns/PKGBUILD | 4 ++-- ~mtjm/python2-pyspf/PKGBUILD | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/~mtjm/python2-pydns/PKGBUILD b/~mtjm/python2-pydns/PKGBUILD index 76ea7b112..cf5f4b388 100644 --- a/~mtjm/python2-pydns/PKGBUILD +++ b/~mtjm/python2-pydns/PKGBUILD @@ -4,7 +4,7 @@ # Contributor: Samed Beyribey pkgname=python2-pydns _pkgname=pydns -pkgver=2.3.5 +pkgver=2.3.6 pkgrel=1 pkgdesc="Python2 module for performing DNS queries" arch=('any') @@ -13,7 +13,7 @@ license=('custom') depends=('python2') options=(!emptydirs) source=(http://downloads.sourceforge.net/$_pkgname/$_pkgname-$pkgver.tar.gz) -md5sums=('50fb6ec23808110162e84ef49140a73f') +md5sums=('d12ca75251854ab6fcabbaff6909b690') build() { cd "$srcdir/$_pkgname-$pkgver" diff --git a/~mtjm/python2-pyspf/PKGBUILD b/~mtjm/python2-pyspf/PKGBUILD index a32893066..abb3bfa5f 100644 --- a/~mtjm/python2-pyspf/PKGBUILD +++ b/~mtjm/python2-pyspf/PKGBUILD @@ -4,8 +4,8 @@ # Contributor: Samed Beyribey pkgname=python2-pyspf _pkgname=pyspf -pkgver=2.0.5 -pkgrel=2 +pkgver=2.0.7 +pkgrel=1 pkgdesc="Python2 implementation of the Sender Policy Framework (SPF) protocol" arch=('any') url="http://pypi.python.org/pypi/pyspf" @@ -15,7 +15,7 @@ checkdepends=('python2-yaml') conflicts=('python-pyspf') options=(!emptydirs) source=(http://downloads.sourceforge.net/pymilter/$_pkgname-$pkgver.tar.gz) -md5sums=(7e3f53362e3ad52ec8a496445085a34f) +md5sums=('df47e2c04054a89da8b46b7f67e704ae') build() { cd "$srcdir/$_pkgname-$pkgver" -- cgit v1.2.3 From 1dcf8bf08199e9fddf4f80780231e712ecbf5665 Mon Sep 17 00:00:00 2001 From: Michał Masłowski Date: Mon, 13 Feb 2012 19:53:27 +0100 Subject: Add ~mtjm/python2-pyflakes, from AUR. --- ~mtjm/python2-pyflakes/PKGBUILD | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 ~mtjm/python2-pyflakes/PKGBUILD diff --git a/~mtjm/python2-pyflakes/PKGBUILD b/~mtjm/python2-pyflakes/PKGBUILD new file mode 100644 index 000000000..397c487b7 --- /dev/null +++ b/~mtjm/python2-pyflakes/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 64234 2012-02-11 00:28:07Z arodseth $ +# Maintainer: Thomas Dziedzic < gostrc at gmail > +# Contributor: TDY +# Contributor: Tiago Pierezan Camargo + +pkgname=python2-pyflakes +pkgver=0.5.0 +pkgrel=1 +pkgdesc='A lint-like tool for Python to identify common errors quickly without executing code' +arch=('any') +url='http://pypi.python.org/pypi/pyflakes' +license=('custom:MIT') +depends=('python2') +provides=('pyflakes') +conflicts=('pyflakes') +replaces=('pyflakes') +source=("http://pypi.python.org/packages/source/p/pyflakes/pyflakes-${pkgver}.tar.gz") +md5sums=('568dab27c42e5822787aa8a603898672') + +build() { + cd pyflakes-${pkgver} + + python2 setup.py build +} + +package() { + cd pyflakes-${pkgver} + + python2 setup.py install --prefix=/usr --root=${pkgdir} --optimize=1 + + install -D -m644 LICENSE \ + ${pkgdir}/usr/share/licenses/pyflakes/LICENSE +} -- cgit v1.2.3 From 1529a8dec2e2840d1719853981ca15f3b0699fc8 Mon Sep 17 00:00:00 2001 From: Michał Masłowski Date: Wed, 15 Feb 2012 18:41:05 +0100 Subject: Update kdenetwork-libre. --- libre/kdenetwork-libre/PKGBUILD | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libre/kdenetwork-libre/PKGBUILD b/libre/kdenetwork-libre/PKGBUILD index d8fa960e5..e744b22ef 100644 --- a/libre/kdenetwork-libre/PKGBUILD +++ b/libre/kdenetwork-libre/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 147895 2012-01-28 10:36:24Z andrea $ +# $Id: PKGBUILD 150223 2012-02-15 09:34:48Z andrea $ # Maintainer: Andrea Scarpino # Contributor: Pierre Schmitz @@ -11,7 +11,7 @@ pkgname=('kdenetwork-filesharing' 'kdenetwork-krdc' 'kdenetwork-krfb') pkgver=4.8.0 -pkgrel=1 +pkgrel=2 arch=('i686' 'x86_64') url='http://www.kde.org' license=('GPL' 'LGPL' 'FDL') @@ -19,7 +19,7 @@ groups=('kde' 'kdenetwork') makedepends=('cmake' 'automoc4' 'boost' 'speex' 'ortp' 'libotr' 'ppp' 'qca-ossl' 'kdebase-workspace' 'kdebase-lib' 'libvncserver' 'libmsn' 'v4l-utils' 'libidn' 'rdesktop' 'qimageblitz' 'libxdamage' 'libgadu' - 'telepathy-qt4' 'libktorrent' 'libmms' 'mediastreamer') + 'libktorrent' 'libmms' 'mediastreamer') source=("http://repo.parabolagnulinux.org/other/${pkgbase}-libre-${pkgver}.tar.xz") sha1sums=('2472128aef671e3474505cf65397dfc7ef9f79bb') @@ -103,7 +103,7 @@ package_kdenetwork-kppp() { package_kdenetwork-krdc() { pkgdesc='Remote Desktop Client' - depends=('kdebase-runtime' 'libvncserver' 'rdesktop' 'telepathy-qt4') + depends=('kdebase-runtime' 'libvncserver' 'rdesktop') optdepends=('kdebase-keditbookmarks: to edit bookmarks') url="http://kde.org/applications/internet/krdc/" cd $srcdir/build/krdc -- cgit v1.2.3 From 78d410bee5264bc4a1c9621a25df943baeb4b753 Mon Sep 17 00:00:00 2001 From: Michał Masłowski Date: Wed, 15 Feb 2012 19:29:32 +0100 Subject: Update texlive-bin-libre. --- libre/texlive-bin-libre/PKGBUILD | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/libre/texlive-bin-libre/PKGBUILD b/libre/texlive-bin-libre/PKGBUILD index 4964b0263..6fa7ec4c7 100644 --- a/libre/texlive-bin-libre/PKGBUILD +++ b/libre/texlive-bin-libre/PKGBUILD @@ -6,7 +6,7 @@ pkgname=texlive-bin-libre pkgver=2011.3 _luatex_ver=0.70.1 -pkgrel=4 +pkgrel=4.1 pkgdesc="TeX Live binaries" license=('GPL') arch=('i686' 'x86_64' 'mips64el') @@ -16,7 +16,7 @@ optdepends=('ed: for texconfig') provides=('lcdf-typetools' 'kpathsea' 'xindy' 'pdfjam' 'texlive-bin') conflicts=('pdfjam' 'texlive-bin') replaces=('texlive-bin') -options=('!libtool') +options=('!libtool' '!strip') url='http://tug.org/texlive/' install="texlive.install" source=('texmf.cnf' @@ -49,6 +49,11 @@ md5sums=('220a4f4cc0d915bf8fcbcb553dcee1ae' 'e7f0197559ef865d8c01683dab3b8526') build() { + if [ "${CARCH}" != "i686" ]; then + export CFLAGS="${CFLAGS} -fPIC" + export CXXFLAGS="${CXXFLAGS} -fPIC" + fi + cd "$srcdir" # Building LuaTeX # cd luatex-beta-${_luatex_ver} @@ -60,7 +65,7 @@ build() { ../source/configure --prefix=/usr -C \ --disable-native-texlive-build \ --with-banner-add="/Parabola GNU/Linux-libre" \ - --disable-cxx-runtime-hack \ + --enable-cxx-runtime-hack \ --disable-all-pkgs \ --disable-dump-share \ --disable-ptex \ @@ -215,12 +220,12 @@ package() { echo "--> Proceeding with make install ..." echo "-------------------------------------------------------" cd Work - make DESTDIR=${pkgdir} texmf="$pkgdir"/usr/share/texmf install + make DESTDIR="${pkgdir}" texmf="$pkgdir"/usr/share/texmf install rm -rf "${pkgdir}"/usr/{texmf,share/texmf-dist} # replace upstream texmf.cnf with ours rm -f "$pkgdir"/usr/share/texmf/web2c/texmf.cnf - install -m644 "$srcdir"/texmf.cnf $pkgdir/etc/texmf/web2c/texmf.cnf + install -m644 "$srcdir"/texmf.cnf "$pkgdir"/etc/texmf/web2c/texmf.cnf # since the location of texmf.cnf is hard-wired to be under /usr/share/texmf/web2c # we make a symlink from /etc/texmf/web2c/texmf.cnf to the latter ln -sf /etc/texmf/web2c/texmf.cnf "$pkgdir"/usr/share/texmf/web2c/texmf.cnf @@ -230,15 +235,15 @@ package() { sed -i -e '/aleph/d' "$pkgdir"/usr/share/texmf/web2c/fmtutil.cnf ## install luatex binary - cd "$srcdir"/luatex/build/texk/web2c - ./libtool --mode=install install -m755 luatex "$pkgdir"/usr/bin/ + #install -m755 "$srcdir"/luatex-beta-${_luatex_ver}/build/texk/web2c/luatex "$pkgdir"/usr/bin/ + install -m755 "$srcdir"/luatex/build/texk/web2c/luatex "$pkgdir"/usr/bin/ cd "$pkgdir"/usr/bin /bin/ln -s luatex texlua /bin/ln -s luatex texluac ## install Perl libraries - mkdir -p $pkgdir/usr/share/tlpkg/TeXLive - install -m644 ${srcdir}/source/utils/biber/TeXLive/*.pm $pkgdir/usr/share/tlpkg/TeXLive + mkdir -p "$pkgdir"/usr/share/tlpkg/TeXLive + install -m644 "${srcdir}"/source/utils/biber/TeXLive/*.pm "$pkgdir"/usr/share/tlpkg/TeXLive # create symlinks for formats echo "--> Create symlinks for TeX formats ..." -- cgit v1.2.3 From e242de1ee4425576eaa3c582b24844f8ba8cde79 Mon Sep 17 00:00:00 2001 From: Nicolás Reynolds Date: Wed, 15 Feb 2012 18:51:11 -0300 Subject: libre/your-freedom-20120215-2 added version to blacklist.txt --- libre/your-freedom/PKGBUILD | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/libre/your-freedom/PKGBUILD b/libre/your-freedom/PKGBUILD index 767b5e1d1..9c60622fb 100644 --- a/libre/your-freedom/PKGBUILD +++ b/libre/your-freedom/PKGBUILD @@ -1,26 +1,26 @@ # Maintainer: Parabola Project pkgname=your-freedom pkgver=$(LC_ALL=C date -u +%Y%m%d) -pkgrel=1 +pkgrel=2 pkgdesc="This package conflicts with every unfree package known to date to ensure your system is free." arch=('any') url="https://parabolagnulinux.org" license=('GPL3') groups=('base') install=${pkgname}.install -source=(https://projects.parabolagnulinux.org/blacklist.git/plain/blacklist.txt) -md5sums=('bfb788afe8386c24116d44827329f3d4') +source=(blacklist-${pkgver}.txt::https://projects.parabolagnulinux.org/blacklist.git/plain/blacklist.txt) build() { cd ${srcdir} install -d ${pkgdir}/usr/share/doc/${pkgname} - install -m644 blacklist.txt ${pkgdir}/usr/share/doc/${pkgname}/ + install -m644 blacklist-${pkgver}.txt ${pkgdir}/usr/share/doc/${pkgname}/ } package() { - conflicts=($(cut -d: -f1,2 ${pkgdir}/usr/share/doc/${pkgname}/blacklist.txt | \ + conflicts=($(cut -d: -f1,2 ${pkgdir}/usr/share/doc/${pkgname}/blacklist-${pkgver}.txt | \ sed "s/:$//" | \ grep -v ":" | \ sort -u )) } +md5sums=('1a964c90247c9c9db5b0e44bd33143d6') -- cgit v1.2.3 From 2cade4875029924c4281b3d0233b43d5cedae6e9 Mon Sep 17 00:00:00 2001 From: aurelien Date: Fri, 17 Feb 2012 18:02:39 +0100 Subject: ~aurelien/README --- ~aurelien/README | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 ~aurelien/README diff --git a/~aurelien/README b/~aurelien/README new file mode 100644 index 000000000..7fe764c4c --- /dev/null +++ b/~aurelien/README @@ -0,0 +1,5 @@ +Hello Parabolers of the World ;-) + +Have fun & be free! + +Thanks to Fauno! -- cgit v1.2.3 From a5cb3c9f4bbc63f66fb41449ac5f721413969620 Mon Sep 17 00:00:00 2001 From: Nicolás Reynolds Date: Fri, 17 Feb 2012 16:49:22 -0300 Subject: Added provides --- libre/bogofilter-libre/PKGBUILD | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libre/bogofilter-libre/PKGBUILD b/libre/bogofilter-libre/PKGBUILD index 4f7c7deed..c5718a9fd 100644 --- a/libre/bogofilter-libre/PKGBUILD +++ b/libre/bogofilter-libre/PKGBUILD @@ -5,7 +5,7 @@ _pkgname=bogofilter pkgname=bogofilter-libre pkgver=1.2.2 -pkgrel=4 +pkgrel=5 pkgdesc="A fast Bayesian spam filtering tool" arch=('i686' 'x86_64') license=('GPL3') @@ -14,6 +14,9 @@ depends=('db' 'perl' 'gsl') backup=('etc/bogofilter/bogofilter.cf') source=(http://repo.parabolagnulinux.org/other/${pkgname}-${pkgver}.tar.xz) md5sums=('af9c7857c66b1884c820f54f23082701') +provides=("${_pkgname}=${pkgver}") +replaces=("${_pkgname}") +conflicts=("${_pkgname}") mksource() { [ -f ${_pkgname}-${pkgver}.tar.bz2 ] || wget http://sourceforge.net/projects/${_pkgname}/files/${_pkgname}-current/${_pkgname}-${pkgver}/${_pkgname}-${pkgver}.tar.bz2 -- cgit v1.2.3 From 9fa03d6e4977999c20d9c77c72f683f3ad3ca2f0 Mon Sep 17 00:00:00 2001 From: Michał Masłowski Date: Sun, 19 Feb 2012 19:29:29 +0100 Subject: Update thunderbird-libre. --- libre/thunderbird-libre/PKGBUILD | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libre/thunderbird-libre/PKGBUILD b/libre/thunderbird-libre/PKGBUILD index a622204f9..8f51c47e3 100644 --- a/libre/thunderbird-libre/PKGBUILD +++ b/libre/thunderbird-libre/PKGBUILD @@ -1,9 +1,10 @@ -# $Id: PKGBUILD 150116 2012-02-12 20:58:54Z ibiru $ +# $Id: PKGBUILD 150412 2012-02-17 12:38:42Z ibiru $ +# Maintainer : Ionut Biru # Contributor: Alexander Baldeck # Contributor: Dale Blount # Contributor: Anders Bostrom pkgname=thunderbird-libre -pkgver=10.0.1 +pkgver=10.0.2 pkgrel=1 pkgdesc="Standalone Mail/News reader" arch=('i686' 'x86_64') @@ -23,7 +24,7 @@ source=(ftp://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/$pkgver/sourc channel-prefs.js vendor.js libvpx.patch) -md5sums=('623c32d9deae370383e1422b1ea48061' +md5sums=('624bef982d7ac610b1175737d9905150' 'ca98c2bf1017b33e19dae22fdcef2e73' 'af3e5b344d2edf1c7d61bb0a5a96de9a' 'aea906acf72c43dd82ead2fabcc1c6db' -- cgit v1.2.3 From 6e28346b4882f4468158eadc1edce316a9319a64 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 21 Feb 2012 11:21:25 -0200 Subject: ~emulatorman/hunspell-gl --- ~emulatorman/hunspell-gl/PKGBUILD | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 ~emulatorman/hunspell-gl/PKGBUILD diff --git a/~emulatorman/hunspell-gl/PKGBUILD b/~emulatorman/hunspell-gl/PKGBUILD new file mode 100644 index 000000000..210fda175 --- /dev/null +++ b/~emulatorman/hunspell-gl/PKGBUILD @@ -0,0 +1,30 @@ +# Maintainer: Adrián Chaves Fernández (Gallaecio) , 2009-2010. +# Contributor (Parabola): André Silva + +pkgname=hunspell-gl +pkgver=2.9b +pkgrel=1 +pkgdesc="Galician spellchecker for Hunspell" +arch=('any') +url="http://trasno.net/" +license=('GPL3') +depends=('hunspell') +source=("http://webs.uvigo.es/miguelsolla/gl_ES.zip") +md5sums=('209fd16dd47e5cb334fa39563d23c79f') + +lang="gl" +lang2="gl_ES" + +build() { + + # Creation of necesary folders... + mkdir -p $pkgdir/usr/share/myspell + mkdir -p $pkgdir/usr/share/enchant + + # Fix so Enchant can use dictionaries for Hunspell too. + ln -s /usr/share/myspell $pkgdir/usr/share/enchant/hunspell + + # Actual installation... + install -D -m644 "$srcdir/$lang2.aff" "$pkgdir/usr/share/myspell/$lang.aff" || return 1 + install -D -m644 "$srcdir/$lang2.dic" "$pkgdir/usr/share/myspell/$lang.dic" || return 1 +} -- cgit v1.2.3 From 3b95a9111e71dd0187c90550b586c1dc7a3ff7fd Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 21 Feb 2012 11:35:23 -0200 Subject: ~emulatorman/hunspell-pt-br --- ~emulatorman/hunspell-pt-br/PKGBUILD | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 ~emulatorman/hunspell-pt-br/PKGBUILD diff --git a/~emulatorman/hunspell-pt-br/PKGBUILD b/~emulatorman/hunspell-pt-br/PKGBUILD new file mode 100644 index 000000000..c7124503b --- /dev/null +++ b/~emulatorman/hunspell-pt-br/PKGBUILD @@ -0,0 +1,27 @@ +# Maintainer: Daniel Felipe Reis Apolinario +# Contributor: Bernardo Barros +# Contributor: Robson R S Peixoto +# Contributor (Parabola): André Silva + +pkgname=hunspell-pt-br +pkgver=2.0.9 +pkgrel=1 +pkgdesc="Portuguese (Brazil) dictionary" +arch=(any) +url="http://www.broffice.org/verortografico/" +license=('LGPL-2.1') +optdepends=('hunspell: the spell checking libraries and apps') +source=(http://www.broffice.org/files/Vero_pt_BR_V209AOC.oxt) + +build() { + cd ${srcdir} + install -D -m644 pt_BR.dic $pkgdir/usr/share/hunspell/pt_BR.dic + install -D -m644 pt_BR.aff $pkgdir/usr/share/hunspell/pt_BR.aff + mkdir -p $pkgdir/usr/share/myspell/dicts + cd $pkgdir/usr/share/myspell/dicts + + ln -s /usr/share/hunspell/pt_BR.dic pt_BR.dic + ln -s /usr/share/hunspell/pt_BR.aff pt_BR.aff +} + +md5sums=('47313490f1a21c87b6d5fb5655042e22') -- cgit v1.2.3 From 26eabccf168f954a2b7e9146889a13a20bdfcfcb Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 21 Feb 2012 11:37:08 -0200 Subject: ~emulatorman/hunspell-pt-br --- ~emulatorman/jitsi-stable/PKGBUILD | 65 ++++++++++++++++++++++++++++++++ ~emulatorman/jitsi-stable/jitsi.desktop | 9 +++++ ~emulatorman/jitsi-stable/jitsi.sh | 19 ++++++++++ ~emulatorman/mednafen-wip/PKGBUILD | 34 +++++++++++++++++ ~emulatorman/mednafen-wip/build.patch | 31 +++++++++++++++ ~emulatorman/xonotic-data/PKGBUILD | 29 ++++++++++++++ ~emulatorman/xonotic/PKGBUILD | 50 ++++++++++++++++++++++++ ~emulatorman/xonotic/xonotic-glx.desktop | 11 ++++++ ~emulatorman/xonotic/xonotic-sdl.desktop | 11 ++++++ 9 files changed, 259 insertions(+) create mode 100644 ~emulatorman/jitsi-stable/PKGBUILD create mode 100644 ~emulatorman/jitsi-stable/jitsi.desktop create mode 100644 ~emulatorman/jitsi-stable/jitsi.sh create mode 100755 ~emulatorman/mednafen-wip/PKGBUILD create mode 100644 ~emulatorman/mednafen-wip/build.patch create mode 100644 ~emulatorman/xonotic-data/PKGBUILD create mode 100644 ~emulatorman/xonotic/PKGBUILD create mode 100644 ~emulatorman/xonotic/xonotic-glx.desktop create mode 100644 ~emulatorman/xonotic/xonotic-sdl.desktop diff --git a/~emulatorman/jitsi-stable/PKGBUILD b/~emulatorman/jitsi-stable/PKGBUILD new file mode 100644 index 000000000..9cb7018a9 --- /dev/null +++ b/~emulatorman/jitsi-stable/PKGBUILD @@ -0,0 +1,65 @@ +# Contributor: Ananda Samaddar ananda@samaddar.co.uk +# Contributor: Xavion +# Contributor: atommix aka Aleks Lifey +# Contributor: Keshav P R <(skodabenz) (aatt) (rocketmail) (ddoott) (ccoomm)> +# Contributor (Parabola): André Silva + +_pkgname=jitsi +pkgname=$_pkgname-stable +pkgver=1.0.beta1.3820 +pkgrel=1 +pkgdesc="An audio/video/chat communicator that supports protocols such as SIP and XMPP/Jabber" +arch=('i686' 'x86_64') +url="http://jitsi.org" +license=('LGPL') +depends=('openjdk6') +makedepends=('apache-ant' 'openjdk6') +provides=("$_pkgname=$pkver") +conflicts=("$_pkgname") +options=(!strip !emptydirs zipman !libtool docs) +source=("http://download.jitsi.org/jitsi/src/jitsi-src-1.0-beta1-nightly.build.${pkgver##*.}.zip" + $_pkgname.{desktop,sh}) +md5sums=('a5675da30e2e5fd801d2457ddddba0f9' + '5923eeca35823f8ef1e416a9a6fc0fac' + '55fe144bbf19283e7ec5d7bd3228cf5b') +sha256sums=('74d845b993cdd53856415a179ac72bbe9c6f5db37482874eab7be34490e7c0c2' + '770132b617d94ed468e9592b991ceac10eb3e03e7198b8f5f2f05918f7db4302' + '98027ddaa1ebfe948fa49f6e57ab0d2c866d5e7c37873e30638b86223a2a15e9') + +# uncomment to get the latest stable release; you have to adjust/skip checksums +#source[0]=http://download.jitsi.org/jitsi/src/$(curl -Ss 'http://download.jitsi.org/jitsi/src/' | grep -om1 'jitsi-src[^"<]\+.zip' | head -1) +#pkgver=$(sed -r 's/[^0-9]*([0-9.]+)(-(beta[0-9]+))?.*(.build.([0-9]+))\..*/\1.\3.\5/' <<<${source[0]}) + +build() { + cd "$srcdir/$_pkgname" + + # append the build revision to the jitsi version + sed -i "s/0\.build\.by\.SVN/build.${pkgver##*.}/" src/net/java/sip/communicator/impl/version/NightlyBuildID.java + + . /etc/profile.d/apache-ant.sh + ant rebuild +} + +package() { + cd "$srcdir/$_pkgname" + + find lib/ lib/bundle/ -maxdepth 1 -type f \ + -exec install -Dm644 {} "$pkgdir/usr/lib/$_pkgname/"{} \; + find lib/os-specific/linux/ -maxdepth 1 -type f \ + -execdir install -Dm644 {} "$pkgdir/usr/lib/$_pkgname/lib/"{} \; + + shopt -sq extglob + find lib/native/linux$(sed 's/_/-/g' <<<${CARCH/#*(i?86|x86)/})/ -maxdepth 1 -type f \ + -execdir install -Dm644 {} "$pkgdir/usr/lib/$_pkgname/lib/native/"{} \; + + find sc-bundles/{,os-specific/linux/} -maxdepth 1 -type f \ + -execdir install -Dm644 {} "$pkgdir/usr/lib/$_pkgname/sc-bundles/"{} \; + + install -Dm755 "$srcdir/$_pkgname.sh" "$pkgdir/usr/bin/$_pkgname" + install -Dm644 "$srcdir/$_pkgname.desktop" "$pkgdir/usr/share/applications/$_pkgname.desktop" + + local _file + for _file in resources/install/debian/*.{svg,xpm}; do + install -Dm644 "$_file" "$pkgdir/usr/share/pixmaps/$_pkgname${_file/*sip-communicator/}" + done +} diff --git a/~emulatorman/jitsi-stable/jitsi.desktop b/~emulatorman/jitsi-stable/jitsi.desktop new file mode 100644 index 000000000..f0a7b5436 --- /dev/null +++ b/~emulatorman/jitsi-stable/jitsi.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=Jitsi +GenericName=jitsi +Comment=VoIP and Instant Messaging client +Icon=/usr/share/pixmaps/jitsi.svg +Type=Application +Categories=Network; +Exec=/usr/bin/jitsi +Terminal=false diff --git a/~emulatorman/jitsi-stable/jitsi.sh b/~emulatorman/jitsi-stable/jitsi.sh new file mode 100644 index 000000000..6ebd6131f --- /dev/null +++ b/~emulatorman/jitsi-stable/jitsi.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +# Additionnal JVM arguments +CLIENTARGS="" +[[ $(uname -m) =~ i?86 ]] && CLIENTARGS="-client -Xmx256m" + +SCDIR=/usr/lib/jitsi +LIBPATH=$SCDIR/lib +CLASSPATH=$LIBPATH/jdic_stub.jar:$LIBPATH/jdic-all.jar:$LIBPATH/felix.jar:$LIBPATH/bcprovider.jar:$SCDIR/sc-bundles/sc-launcher.jar:$SCDIR/sc-bundles/util.jar +FELIX_CONFIG=$LIBPATH/felix.client.run.properties +LOG_CONFIG=$LIBPATH/logging.properties +COMMAND="$JAVA_HOME/bin/java $CLIENTARGS -classpath $CLASSPATH -Djna.library.path=$LIBPATH/native -Dfelix.config.properties=file:$FELIX_CONFIG -Djava.util.logging.config.file=$LOG_CONFIG net.java.sip.communicator.launcher.SIPCommunicator" + +# set add LIBPATH to LD_LIBRARY_PATH for any sc natives (e.g. jmf .so's) +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$LIBPATH/native + +cd $SCDIR + +exec $COMMAND $* diff --git a/~emulatorman/mednafen-wip/PKGBUILD b/~emulatorman/mednafen-wip/PKGBUILD new file mode 100755 index 000000000..93893684e --- /dev/null +++ b/~emulatorman/mednafen-wip/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Hans-Kristian Arntzen +# Contributor: Angel 'angvp' Velasquez +# Contributor: kagan +# Contributor (Parabola): André Silva + +pkgname=mednafen-wip +pkgver=0.9.19 +pkgrel=1 +pkgdesc="A command-line multi-system gaming emulator, WIP version" +url="http://mednafen.sourceforge.net/" +license=(GPL) +arch=('i686' 'x86_64') +depends=('libcdio>=0.82' 'libsamplerate' 'libogg' 'libvorbis' 'sdl' 'sdl_net' 'libsndfile' 'zlib') +makedepends=('pkgconfig' 'mesa') +conflicts=('mednafen') +provides=('mednafen') +source=('http://forum.fobby.net/index.php?t=getfile&id=345&' 'build.patch') +md5sums=('64be12196aa02828539af677b0e2a66c' + 'aac8957fa5274f00feed6a462fa8b7ad') + +build() +{ + cd $srcdir/mednafen + patch -p1 < $srcdir/build.patch + ./configure --prefix=/usr + make +} + +package() +{ + cd $srcdir/mednafen + make DESTDIR=$pkgdir install +} + diff --git a/~emulatorman/mednafen-wip/build.patch b/~emulatorman/mednafen-wip/build.patch new file mode 100644 index 000000000..7985a19ed --- /dev/null +++ b/~emulatorman/mednafen-wip/build.patch @@ -0,0 +1,31 @@ +diff --git a/src/file.cpp b/src/file.cpp +index 57f4e13..ec1181c 100644 +--- a/src/file.cpp ++++ b/src/file.cpp +@@ -293,7 +293,7 @@ bool MDFNFILE::MakeMemWrapAndClose(void *tz, int type) + goto doret; + } + +- while((howmany = gzread(tz, f_data + cur_size, cur_alloced - cur_size)) > 0) ++ while((howmany = gzread((gzFile)tz, f_data + cur_size, cur_alloced - cur_size)) > 0) + { + cur_size += howmany; + cur_alloced <<= 1; +@@ -320,7 +320,7 @@ bool MDFNFILE::MakeMemWrapAndClose(void *tz, int type) + { + int gzerrnum = 0; + const char *gzerrstring; +- if((gzerrstring = gzerror(tz, &gzerrnum)) && gzerrnum != Z_OK && gzerrnum != Z_STREAM_END) ++ if((gzerrstring = gzerror((gzFile)tz, &gzerrnum)) && gzerrnum != Z_OK && gzerrnum != Z_STREAM_END) + { + if(gzerrnum != Z_ERRNO) + { +@@ -365,7 +365,7 @@ bool MDFNFILE::MakeMemWrapAndClose(void *tz, int type) + } + else if(type == MDFN_FILETYPE_GZIP) + { +- gzclose(tz); ++ gzclose((gzFile)tz); + } + else if(type == MDFN_FILETYPE_ZIP) + { diff --git a/~emulatorman/xonotic-data/PKGBUILD b/~emulatorman/xonotic-data/PKGBUILD new file mode 100644 index 000000000..114954fc3 --- /dev/null +++ b/~emulatorman/xonotic-data/PKGBUILD @@ -0,0 +1,29 @@ +# $Id: PKGBUILD 35989 2010-12-25 03:22:46Z svenstaro $ +# Maintainer: Sven-Hendrik Haase +# Contributor: Alexander Suhoverhov +# Contributor (Parabola): André Silva + +pkgname=xonotic-data +pkgver=0.5.0 +pkgrel=1 +pkgdesc="A free, fast-paced crossplatform first-person shooter (data files)" +arch=('any') +url="http://xonotic.org" +license=('GPL') +depends=() +makedepends=('unzip') +source=("http://dl.xonotic.org/xonotic-${pkgver}.zip") +md5sums=('cdadb384ccf9cad926bb377312832c2f') + +build() { + cd $srcdir/Xonotic/source/darkplaces +} + +package() { + cd $srcdir/Xonotic + + # data + mkdir -p $pkgdir/usr/share/xonotic/ + mv $srcdir/Xonotic/data $pkgdir/usr/share/xonotic/ +} +# vim: ts=2:sw=2 et: diff --git a/~emulatorman/xonotic/PKGBUILD b/~emulatorman/xonotic/PKGBUILD new file mode 100644 index 000000000..236474d3d --- /dev/null +++ b/~emulatorman/xonotic/PKGBUILD @@ -0,0 +1,50 @@ +# Maintainer: Sven-Hendrik Haase +# Contributor: Alexander Suhoverhov +# Contributor (Parabola): André Silva + +pkgname=xonotic +pkgver=0.5.0 +pkgrel=1 +pkgdesc="A free, fast-paced crossplatform first-person shooter" +arch=('i686' 'x86_64') +url="http://xonotic.org" +license=('GPL') +depends=('alsa-lib' 'curl' 'libjpeg>=8' 'libmodplug' 'libvorbis' 'libxpm' 'libxxf86dga' 'libxxf86vm' 'sdl' 'libpng>=1.4.0' 'xonotic-data') +makedepends=('unzip' 'mesa') +source=("http://dl.xonotic.org/xonotic-${pkgver}-source.zip" + "xonotic-glx.desktop" + "xonotic-sdl.desktop") +md5sums=('7382f195386b8e51df65e57e6be413e5' + '914c7b9163e92b35f0ab57fdb1653ac5' + 'da7d812ff231c9332cd694b39757adda') + +build() { + # compile Xonotic-flavored fteqcc + #make -C Xonotic/source/fteqcc + + # compile QuakeC game code + #( cd Xonotic/source/qcsrc/server && ../../fteqcc/fteqcc.bin -O3 -Ono-c -Ono-cs ) + #( cd Xonotic/source/qcsrc/client && ../../fteqcc/fteqcc.bin -O3 -Ono-c -Ono-cs ) + #( cd Xonotic/source/qcsrc/menu && ../../fteqcc/fteqcc.bin -O3 -Ono-c -Ono-cs ) + + # compile engine + make -C Xonotic/source/darkplaces CPUOPTIMIZATIONS="${CFLAGS}" DP_FS_BASEDIR=/usr/share/xonotic/ DP_LINK_TO_LIBJPEG=1 cl-release + make -C Xonotic/source/darkplaces CPUOPTIMIZATIONS="${CFLAGS}" DP_FS_BASEDIR=/usr/share/xonotic/ DP_LINK_TO_LIBJPEG=1 sdl-release + make -C Xonotic/source/darkplaces CPUOPTIMIZATIONS="${CFLAGS}" DP_FS_BASEDIR=/usr/share/xonotic/ DP_LINK_TO_LIBJPEG=1 sv-release +} + +package() { + cd $srcdir/Xonotic + + # binaries + install -Dm755 source/darkplaces/darkplaces-dedicated $pkgdir/usr/bin/xonotic-dedicated + install -Dm755 source/darkplaces/darkplaces-glx $pkgdir/usr/bin/xonotic-glx + install -Dm755 source/darkplaces/darkplaces-sdl $pkgdir/usr/bin/xonotic-sdl + + # convenience files + mkdir -p $pkgdir/usr/share/applications + install -Dm644 $srcdir/*.desktop -t $pkgdir/usr/share/applications + install -Dm644 $srcdir/Xonotic/misc/logos/icons_png/xonotic_512.png $pkgdir/usr/share/pixmaps/xonotic.png +} + +# vim: ts=2:sw=2 et: diff --git a/~emulatorman/xonotic/xonotic-glx.desktop b/~emulatorman/xonotic/xonotic-glx.desktop new file mode 100644 index 000000000..9f9e78cc1 --- /dev/null +++ b/~emulatorman/xonotic/xonotic-glx.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Type=Application +Version=2.5 +Encoding=UTF-8 +Name=Xonotic (GLX) +Comment=a free open-source first person shooter +Icon=/usr/share/pixmaps/xonotic.png +Exec=/usr/bin/xonotic-glx +Terminal=false +StartupNotify=false +Categories=Game; diff --git a/~emulatorman/xonotic/xonotic-sdl.desktop b/~emulatorman/xonotic/xonotic-sdl.desktop new file mode 100644 index 000000000..32b37f2c5 --- /dev/null +++ b/~emulatorman/xonotic/xonotic-sdl.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Type=Application +Version=2.5 +Encoding=UTF-8 +Name=Xonotic (SDL) +Comment=a free open-source first person shooter +Icon=/usr/share/pixmaps/xonotic.png +Exec=/usr/bin/xonotic-sdl +Terminal=false +StartupNotify=false +Categories=Game; -- cgit v1.2.3 From 8446919c3950deb73699302e1c33cdc05b7d4add Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 21 Feb 2012 11:38:39 -0200 Subject: kernels/linux-libre-xen --- kernels/linux-libre-xen/PKGBUILD | 32 +- kernels/linux-libre-xen/config.i686 | 1207 +++++++++++--------- kernels/linux-libre-xen/config.x86_64 | 1087 ++++++++++-------- kernels/linux-libre-xen/fix-i915.patch | 109 +- .../linux-libre-xen/i915-fix-ghost-tv-output.patch | 26 + kernels/linux-libre-xen/i915-gpu-finish.patch | 55 + 6 files changed, 1488 insertions(+), 1028 deletions(-) mode change 100644 => 100755 kernels/linux-libre-xen/config.i686 create mode 100644 kernels/linux-libre-xen/i915-fix-ghost-tv-output.patch create mode 100644 kernels/linux-libre-xen/i915-gpu-finish.patch diff --git a/kernels/linux-libre-xen/PKGBUILD b/kernels/linux-libre-xen/PKGBUILD index 94fd22800..90df2d6b5 100644 --- a/kernels/linux-libre-xen/PKGBUILD +++ b/kernels/linux-libre-xen/PKGBUILD @@ -3,13 +3,14 @@ # Maintainer: Thomas Baechler # Maintainer (Parabola): Nicolás Reynolds # Maintainer (Parabola): Sorin-Mihai Vârgolici +# Contributor (Parabola): André Silva pkgbase=linux-libre-xen pkgname=('linux-libre-xen' 'linux-libre-xen-headers' 'linux-libre-xen-docs') # Build stock -LIBRE kernel # pkgname=linux-custom # Build kernel with a different name _kernelname=${pkgname#linux-libre} -_basekernel=3.1 -pkgver=${_basekernel}.5 +_basekernel=3.2 +pkgver=${_basekernel}.6 pkgrel=1 arch=('i686' 'x86_64') url="http://linux-libre.fsfla.org/" @@ -25,8 +26,16 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-li 'boot-logo.patch' 'change-default-console-loglevel.patch' 'i915-fix-ghost-tv-output.patch' - 'i915-fix-incorrect-error-message.patch' - 'usb-add-reset-resume-quirk-for-several-webcams.patch') + 'i915-gpu-finish.patch') +md5sums=('27c641c4f6785fc647cdd3e44963a55c' + 'c4b411e90294fcb768d5242a6c21c0d7' + '79d5dd186fd129aad90a880317201619' + '4964d8e664925afe9a148db701cce725' + '67463f7a6e88305d7cd14a430e9efe92' + '04b21c79df0a952c22d681dd4f4562df' + '9d3c56a4b999c8bfbd4018089a62f662' + '263725f20c0b9eb9c353040792d644e5' + '4cd79aa147825837dc8bc9f6b736c0a0') build() { cd "${srcdir}/linux-${_basekernel}" @@ -36,6 +45,10 @@ build() { # Add freedo as boot logo patch -Np1 -i "${srcdir}/boot-logo.patch" + # fix FS#27883 + # drm/i915: Only clear the GPU domains upon a successful finish + patch -Np1 -i "${srcdir}/i915-gpu-finish.patch" + # Some chips detect a ghost TV output # mailing list discussion: http://lists.freedesktop.org/archives/intel-gfx/2011-April/010371.html # Arch Linux bug report: FS#19234 @@ -45,15 +58,6 @@ build() { # needed. patch -Np1 -i "${srcdir}/i915-fix-ghost-tv-output.patch" - # In 3.1.1, a DRM_DEBUG message is falsely declared as DRM_ERROR. This - # worries users, as this message is displayed even at loglevel 4. Fix - # this. - patch -Np1 -i "${srcdir}/i915-fix-incorrect-error-message.patch" - - # Add the USB_QUIRK_RESET_RESUME for several webcams - # FS#26528 - patch -Np1 -i "${srcdir}/usb-add-reset-resume-quirk-for-several-webcams.patch" - # set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param) # remove this when a Kconfig knob is made available by upstream # (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227) @@ -86,7 +90,7 @@ build() { #return 1 #################### - yes "" | make config + yes "" | make # build! make ${MAKEFLAGS} bzImage modules diff --git a/kernels/linux-libre-xen/config.i686 b/kernels/linux-libre-xen/config.i686 old mode 100644 new mode 100755 index 6762f896e..7973b2fe0 --- a/kernels/linux-libre-xen/config.i686 +++ b/kernels/linux-libre-xen/config.i686 @@ -1,6 +1,6 @@ # -# Automatically generated make config: don't edit -# Linux/i386 3.0.0 Kernel Configuration +# Automatically generated file; DO NOT EDIT. +# Linux/i386 3.2.6-libre Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y @@ -37,7 +37,6 @@ CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y CONFIG_HAVE_SETUP_PER_CPU_AREA=y CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y -# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set CONFIG_ARCH_HIBERNATION_POSSIBLE=y CONFIG_ARCH_SUSPEND_POSSIBLE=y # CONFIG_ZONE_DMA32 is not set @@ -100,20 +99,20 @@ CONFIG_HAVE_SPARSE_IRQ=y CONFIG_GENERIC_IRQ_PROBE=y CONFIG_GENERIC_IRQ_SHOW=y CONFIG_GENERIC_PENDING_IRQ=y +CONFIG_GENERIC_IRQ_CHIP=y CONFIG_IRQ_FORCED_THREADING=y -# CONFIG_SPARSE_IRQ is not set +CONFIG_SPARSE_IRQ=y # # RCU Subsystem # -CONFIG_TREE_RCU=y -# CONFIG_TREE_PREEMPT_RCU is not set -# CONFIG_PREEMPT_RCU is not set +CONFIG_TREE_PREEMPT_RCU=y +CONFIG_PREEMPT_RCU=y # CONFIG_RCU_TRACE is not set CONFIG_RCU_FANOUT=32 # CONFIG_RCU_FANOUT_EXACT is not set -# CONFIG_RCU_FAST_NO_HZ is not set # CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_BOOST is not set CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=19 @@ -132,6 +131,7 @@ CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y # CONFIG_CGROUP_PERF is not set CONFIG_CGROUP_SCHED=y CONFIG_FAIR_GROUP_SCHED=y +CONFIG_CFS_BANDWIDTH=y CONFIG_RT_GROUP_SCHED=y CONFIG_BLK_CGROUP=y # CONFIG_DEBUG_BLK_CGROUP is not set @@ -157,7 +157,7 @@ CONFIG_SYSCTL=y CONFIG_ANON_INODES=y # CONFIG_EXPERT is not set CONFIG_UID16=y -CONFIG_SYSCTL_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set CONFIG_KALLSYMS=y # CONFIG_KALLSYMS_ALL is not set CONFIG_HOTPLUG=y @@ -165,6 +165,7 @@ CONFIG_PRINTK=y CONFIG_BUG=y CONFIG_ELF_CORE=y CONFIG_PCSPKR_PLATFORM=y +CONFIG_HAVE_PCSPKR_PLATFORM=y CONFIG_BASE_FULL=y CONFIG_FUTEX=y CONFIG_EPOLL=y @@ -211,6 +212,7 @@ CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y CONFIG_HAVE_USER_RETURN_NOTIFIER=y CONFIG_HAVE_PERF_EVENTS_NMI=y CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y # # GCOV-based kernel profiling @@ -224,12 +226,13 @@ CONFIG_MODULES=y CONFIG_MODULE_FORCE_LOAD=y CONFIG_MODULE_UNLOAD=y CONFIG_MODULE_FORCE_UNLOAD=y -# CONFIG_MODVERSIONS is not set +CONFIG_MODVERSIONS=y # CONFIG_MODULE_SRCVERSION_ALL is not set CONFIG_STOP_MACHINE=y CONFIG_BLOCK=y CONFIG_LBDAF=y CONFIG_BLK_DEV_BSG=y +CONFIG_BLK_DEV_BSGLIB=y # CONFIG_BLK_DEV_INTEGRITY is not set CONFIG_BLK_DEV_THROTTLING=y @@ -252,27 +255,27 @@ CONFIG_PADATA=y # CONFIG_INLINE_SPIN_LOCK_BH is not set # CONFIG_INLINE_SPIN_LOCK_IRQ is not set # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set -CONFIG_INLINE_SPIN_UNLOCK=y +# CONFIG_INLINE_SPIN_UNLOCK is not set # CONFIG_INLINE_SPIN_UNLOCK_BH is not set -CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set # CONFIG_INLINE_READ_TRYLOCK is not set # CONFIG_INLINE_READ_LOCK is not set # CONFIG_INLINE_READ_LOCK_BH is not set # CONFIG_INLINE_READ_LOCK_IRQ is not set # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set -CONFIG_INLINE_READ_UNLOCK=y +# CONFIG_INLINE_READ_UNLOCK is not set # CONFIG_INLINE_READ_UNLOCK_BH is not set -CONFIG_INLINE_READ_UNLOCK_IRQ=y +# CONFIG_INLINE_READ_UNLOCK_IRQ is not set # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set # CONFIG_INLINE_WRITE_TRYLOCK is not set # CONFIG_INLINE_WRITE_LOCK is not set # CONFIG_INLINE_WRITE_LOCK_BH is not set # CONFIG_INLINE_WRITE_LOCK_IRQ is not set # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set -CONFIG_INLINE_WRITE_UNLOCK=y +# CONFIG_INLINE_WRITE_UNLOCK is not set # CONFIG_INLINE_WRITE_UNLOCK_BH is not set -CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set # CONFIG_MUTEX_SPIN_ON_OWNER is not set CONFIG_FREEZER=y @@ -284,6 +287,7 @@ CONFIG_TICK_ONESHOT=y CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y CONFIG_GENERIC_CLOCKEVENTS_BUILD=y +CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y CONFIG_SMP=y CONFIG_X86_MPPARSE=y # CONFIG_X86_BIGSMP is not set @@ -292,6 +296,7 @@ CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y CONFIG_X86_32_IRIS=m CONFIG_SCHED_OMIT_FRAME_POINTER=y CONFIG_PARAVIRT_GUEST=y +# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set CONFIG_XEN=y CONFIG_XEN_DOM0=y CONFIG_XEN_PRIVILEGED_GUEST=y @@ -299,7 +304,6 @@ CONFIG_XEN_PVHVM=y CONFIG_XEN_MAX_DOMAIN_MEMORY=128 CONFIG_XEN_SAVE_RESTORE=y # CONFIG_XEN_DEBUG_FS is not set -# CONFIG_XEN_DEBUG is not set CONFIG_KVM_CLOCK=y CONFIG_KVM_GUEST=y CONFIG_LGUEST_GUEST=y @@ -338,6 +342,7 @@ CONFIG_X86_GENERIC=y CONFIG_X86_INTERNODE_CACHE_SHIFT=6 CONFIG_X86_CMPXCHG=y CONFIG_CMPXCHG_LOCAL=y +CONFIG_CMPXCHG_DOUBLE=y CONFIG_X86_L1_CACHE_SHIFT=6 CONFIG_X86_XADD=y # CONFIG_X86_PPRO_FENCE is not set @@ -363,14 +368,14 @@ CONFIG_HPET_EMULATE_RTC=y CONFIG_DMI=y CONFIG_SWIOTLB=y CONFIG_IOMMU_HELPER=y -CONFIG_IOMMU_API=y CONFIG_NR_CPUS=8 CONFIG_SCHED_SMT=y CONFIG_SCHED_MC=y # CONFIG_IRQ_TIME_ACCOUNTING is not set -CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_NONE is not set # CONFIG_PREEMPT_VOLUNTARY is not set -# CONFIG_PREEMPT is not set +CONFIG_PREEMPT=y +CONFIG_PREEMPT_COUNT=y CONFIG_X86_LOCAL_APIC=y CONFIG_X86_IO_APIC=y CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y @@ -391,13 +396,14 @@ CONFIG_MICROCODE_AMD=y CONFIG_MICROCODE_OLD_INTERFACE=y CONFIG_X86_MSR=m CONFIG_X86_CPUID=m -CONFIG_NOHIGHMEM=y +# CONFIG_NOHIGHMEM is not set # CONFIG_HIGHMEM4G is not set -# CONFIG_HIGHMEM64G is not set +CONFIG_HIGHMEM64G=y CONFIG_PAGE_OFFSET=0xC0000000 +CONFIG_HIGHMEM=y CONFIG_X86_PAE=y CONFIG_ARCH_PHYS_ADDR_T_64BIT=y -# CONFIG_ARCH_DMA_ADDR_T_64BIT is not set +CONFIG_ARCH_DMA_ADDR_T_64BIT=y CONFIG_ARCH_FLATMEM_ENABLE=y CONFIG_ARCH_SPARSEMEM_ENABLE=y CONFIG_ARCH_SELECT_MEMORY_MODEL=y @@ -427,6 +433,7 @@ CONFIG_TRANSPARENT_HUGEPAGE=y CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y # CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set CONFIG_CLEANCACHE=y +# CONFIG_HIGHPTE is not set CONFIG_X86_CHECK_BIOS_CORRUPTION=y CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y CONFIG_X86_RESERVE_LOW=64 @@ -437,6 +444,7 @@ CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0 CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1 CONFIG_X86_PAT=y CONFIG_ARCH_USES_PG_UNCACHED=y +CONFIG_ARCH_RANDOM=y CONFIG_EFI=y CONFIG_SECCOMP=y CONFIG_CC_STACKPROTECTOR=y @@ -447,6 +455,7 @@ CONFIG_HZ_300=y CONFIG_HZ=300 CONFIG_SCHED_HRTICK=y CONFIG_KEXEC=y +# CONFIG_CRASH_DUMP is not set # CONFIG_KEXEC_JUMP is not set CONFIG_PHYSICAL_START=0x1000000 CONFIG_RELOCATABLE=y @@ -455,6 +464,7 @@ CONFIG_PHYSICAL_ALIGN=0x100000 CONFIG_HOTPLUG_CPU=y # CONFIG_COMPAT_VDSO is not set # CONFIG_CMDLINE_BOOL is not set +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y # # Power management and ACPI options @@ -475,10 +485,10 @@ CONFIG_CAN_PM_TRACE=y # CONFIG_PM_TRACE_RTC is not set CONFIG_ACPI=y CONFIG_ACPI_SLEEP=y -CONFIG_ACPI_PROCFS=y -CONFIG_ACPI_PROCFS_POWER=y +# CONFIG_ACPI_PROCFS is not set +# CONFIG_ACPI_PROCFS_POWER is not set CONFIG_ACPI_EC_DEBUGFS=m -CONFIG_ACPI_PROC_EVENT=y +# CONFIG_ACPI_PROC_EVENT is not set CONFIG_ACPI_AC=m CONFIG_ACPI_BATTERY=m CONFIG_ACPI_BUTTON=m @@ -497,11 +507,12 @@ CONFIG_ACPI_PCI_SLOT=m CONFIG_X86_PM_TIMER=y CONFIG_ACPI_CONTAINER=m CONFIG_ACPI_SBS=m -CONFIG_ACPI_HED=m +CONFIG_ACPI_HED=y CONFIG_ACPI_CUSTOM_METHOD=m CONFIG_ACPI_APEI=y -CONFIG_ACPI_APEI_GHES=m +CONFIG_ACPI_APEI_GHES=y CONFIG_ACPI_APEI_PCIEAER=y +CONFIG_ACPI_APEI_MEMORY_FAILURE=y CONFIG_ACPI_APEI_EINJ=m CONFIG_ACPI_APEI_ERST_DEBUG=m CONFIG_SFI=y @@ -566,7 +577,6 @@ CONFIG_PCI=y # CONFIG_PCI_GOBIOS is not set # CONFIG_PCI_GOMMCONFIG is not set # CONFIG_PCI_GODIRECT is not set -# CONFIG_PCI_GOOLPC is not set CONFIG_PCI_GOANY=y CONFIG_PCI_BIOS=y CONFIG_PCI_DIRECT=y @@ -574,9 +584,6 @@ CONFIG_PCI_MMCONFIG=y CONFIG_PCI_XEN=y CONFIG_PCI_DOMAINS=y # CONFIG_PCI_CNB20LE_QUIRK is not set -CONFIG_DMAR=y -# CONFIG_DMAR_DEFAULT_ON is not set -CONFIG_DMAR_FLOPPY_WA=y CONFIG_PCIEPORTBUS=y CONFIG_HOTPLUG_PCI_PCIE=m CONFIG_PCIEAER=y @@ -589,9 +596,12 @@ CONFIG_ARCH_SUPPORTS_MSI=y CONFIG_PCI_MSI=y # CONFIG_PCI_DEBUG is not set CONFIG_PCI_STUB=m -CONFIG_XEN_PCIDEV_FRONTEND=y +CONFIG_XEN_PCIDEV_FRONTEND=m CONFIG_HT_IRQ=y +CONFIG_PCI_ATS=y CONFIG_PCI_IOV=y +CONFIG_PCI_PRI=y +CONFIG_PCI_PASID=y CONFIG_PCI_IOAPIC=y CONFIG_PCI_LABEL=y CONFIG_ISA_DMA_API=y @@ -599,6 +609,7 @@ CONFIG_ISA=y # CONFIG_EISA is not set # CONFIG_MCA is not set # CONFIG_SCx200 is not set +CONFIG_ALIX=y CONFIG_AMD_NB=y CONFIG_PCCARD=m CONFIG_PCMCIA=m @@ -632,14 +643,15 @@ CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m CONFIG_HOTPLUG_PCI_SHPC=m CONFIG_RAPIDIO=y +CONFIG_RAPIDIO_TSI721=y CONFIG_RAPIDIO_DISC_TIMEOUT=30 # CONFIG_RAPIDIO_ENABLE_RX_TX_PORTS is not set +CONFIG_RAPIDIO_DEBUG=y CONFIG_RAPIDIO_TSI57X=y CONFIG_RAPIDIO_CPS_XX=y CONFIG_RAPIDIO_TSI568=y CONFIG_RAPIDIO_CPS_GEN2=y CONFIG_RAPIDIO_TSI500=y -CONFIG_RAPIDIO_DEBUG=y # # Executable file formats / Emulations @@ -859,6 +871,7 @@ CONFIG_IP_SET_HASH_IPPORTIP=m CONFIG_IP_SET_HASH_IPPORTNET=m CONFIG_IP_SET_HASH_NET=m CONFIG_IP_SET_HASH_NETPORT=m +CONFIG_IP_SET_HASH_NETIFACE=m CONFIG_IP_SET_LIST_SET=m CONFIG_IP_VS=m # CONFIG_IP_VS_IPV6 is not set @@ -1043,6 +1056,7 @@ CONFIG_IPDDP_DECAP=y # CONFIG_WAN_ROUTER is not set CONFIG_PHONET=m CONFIG_IEEE802154=m +CONFIG_IEEE802154_6LOWPAN=m CONFIG_NET_SCHED=y # @@ -1250,6 +1264,16 @@ CONFIG_CAIF=m CONFIG_CAIF_NETDEV=m CONFIG_CEPH_LIB=m # CONFIG_CEPH_LIB_PRETTYDEBUG is not set +# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set +CONFIG_NFC=m +CONFIG_NFC_NCI=m + +# +# Near Field Communication (NFC) devices +# +CONFIG_PN544_NFC=m +CONFIG_NFC_PN533=m +CONFIG_NFC_WILINK=m # # Device Drivers @@ -1269,12 +1293,18 @@ CONFIG_EXTRA_FIRMWARE="" # CONFIG_DEBUG_DRIVER is not set # CONFIG_DEBUG_DEVRES is not set CONFIG_SYS_HYPERVISOR=y -CONFIG_CONNECTOR=m +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=m +CONFIG_REGMAP_SPI=y +CONFIG_CONNECTOR=y +CONFIG_PROC_EVENTS=y CONFIG_MTD=m -# CONFIG_MTD_DEBUG is not set CONFIG_MTD_TESTS=m -# CONFIG_MTD_REDBOOT_PARTS is not set -# CONFIG_MTD_AR7_PARTS is not set +CONFIG_MTD_REDBOOT_PARTS=m +CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 +# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set +# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set +CONFIG_MTD_AR7_PARTS=m # # User Modules And Translation Layers @@ -1282,21 +1312,24 @@ CONFIG_MTD_TESTS=m CONFIG_MTD_CHAR=m CONFIG_MTD_BLKDEVS=m CONFIG_MTD_BLOCK=m -# CONFIG_MTD_BLOCK_RO is not set -# CONFIG_FTL is not set -# CONFIG_NFTL is not set -# CONFIG_INFTL is not set -# CONFIG_RFD_FTL is not set -# CONFIG_SSFDC is not set -CONFIG_SM_FTL=m -# CONFIG_MTD_OOPS is not set +CONFIG_MTD_BLOCK_RO=m +CONFIG_FTL=m +CONFIG_NFTL=m +CONFIG_NFTL_RW=y +CONFIG_INFTL=m +CONFIG_RFD_FTL=m +CONFIG_SSFDC=m +# CONFIG_SM_FTL is not set +CONFIG_MTD_OOPS=m CONFIG_MTD_SWAP=m # # RAM/ROM/Flash chip drivers # -# CONFIG_MTD_CFI is not set -# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_CFI=m +CONFIG_MTD_JEDECPROBE=m +CONFIG_MTD_GEN_PROBE=m +# CONFIG_MTD_CFI_ADV_OPTIONS is not set CONFIG_MTD_MAP_BANK_WIDTH_1=y CONFIG_MTD_MAP_BANK_WIDTH_2=y CONFIG_MTD_MAP_BANK_WIDTH_4=y @@ -1307,29 +1340,52 @@ CONFIG_MTD_CFI_I1=y CONFIG_MTD_CFI_I2=y # CONFIG_MTD_CFI_I4 is not set # CONFIG_MTD_CFI_I8 is not set +CONFIG_MTD_CFI_INTELEXT=m +CONFIG_MTD_CFI_AMDSTD=m +CONFIG_MTD_CFI_STAA=m +CONFIG_MTD_CFI_UTIL=m CONFIG_MTD_RAM=m -# CONFIG_MTD_ROM is not set -# CONFIG_MTD_ABSENT is not set +CONFIG_MTD_ROM=m +CONFIG_MTD_ABSENT=m # # Mapping drivers for chip access # -# CONFIG_MTD_COMPLEX_MAPPINGS is not set -# CONFIG_MTD_TS5500 is not set +CONFIG_MTD_COMPLEX_MAPPINGS=y +# CONFIG_MTD_PHYSMAP is not set +CONFIG_MTD_SC520CDP=m +CONFIG_MTD_NETSC520=m +CONFIG_MTD_TS5500=m +# CONFIG_MTD_SBC_GXX is not set +# CONFIG_MTD_AMD76XROM is not set +# CONFIG_MTD_ICHXROM is not set +# CONFIG_MTD_ESB2ROM is not set +# CONFIG_MTD_CK804XROM is not set +CONFIG_MTD_SCB2_FLASH=m +# CONFIG_MTD_NETtel is not set +# CONFIG_MTD_L440GX is not set +CONFIG_MTD_PCI=m +# CONFIG_MTD_PCMCIA is not set +# CONFIG_MTD_GPIO_ADDR is not set # CONFIG_MTD_INTEL_VR_NOR is not set CONFIG_MTD_PLATRAM=m +# CONFIG_MTD_LATCH_ADDR is not set # # Self-contained MTD device drivers # -# CONFIG_MTD_PMC551 is not set +CONFIG_MTD_PMC551=m +# CONFIG_MTD_PMC551_BUGFIX is not set +# CONFIG_MTD_PMC551_DEBUG is not set # CONFIG_MTD_DATAFLASH is not set # CONFIG_MTD_M25P80 is not set -CONFIG_MTD_SST25L=m -CONFIG_MTD_SLRAM=m +# CONFIG_MTD_SST25L is not set +# CONFIG_MTD_SLRAM is not set CONFIG_MTD_PHRAM=m -# CONFIG_MTD_MTDRAM is not set -# CONFIG_MTD_BLOCK2MTD is not set +CONFIG_MTD_MTDRAM=m +CONFIG_MTDRAM_TOTAL_SIZE=4096 +CONFIG_MTDRAM_ERASE_SIZE=128 +CONFIG_MTD_BLOCK2MTD=m # # Disk-On-Chip Device Drivers @@ -1337,16 +1393,38 @@ CONFIG_MTD_PHRAM=m # CONFIG_MTD_DOC2000 is not set # CONFIG_MTD_DOC2001 is not set # CONFIG_MTD_DOC2001PLUS is not set +CONFIG_MTD_DOCG3=m CONFIG_MTD_NAND_ECC=m CONFIG_MTD_NAND_ECC_SMC=y -# CONFIG_MTD_NAND is not set +CONFIG_MTD_NAND=m +# CONFIG_MTD_NAND_VERIFY_WRITE is not set +# CONFIG_MTD_NAND_ECC_BCH is not set +CONFIG_MTD_SM_COMMON=m +# CONFIG_MTD_NAND_MUSEUM_IDS is not set +# CONFIG_MTD_NAND_DENALI is not set +CONFIG_MTD_NAND_IDS=m +CONFIG_MTD_NAND_RICOH=m +CONFIG_MTD_NAND_DISKONCHIP=m +# CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set +CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0 +# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set +# CONFIG_MTD_NAND_CAFE is not set +CONFIG_MTD_NAND_CS553X=m +CONFIG_MTD_NAND_NANDSIM=m +# CONFIG_MTD_NAND_PLATFORM is not set +CONFIG_MTD_ALAUDA=m # CONFIG_MTD_ONENAND is not set # # LPDDR flash memory drivers # -# CONFIG_MTD_LPDDR is not set -# CONFIG_MTD_UBI is not set +CONFIG_MTD_LPDDR=m +CONFIG_MTD_QINFO_PROBE=m +CONFIG_MTD_UBI=m +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +CONFIG_MTD_UBI_BEB_RESERVE=1 +# CONFIG_MTD_UBI_GLUEBI is not set +# CONFIG_MTD_UBI_DEBUG is not set CONFIG_PARPORT=m CONFIG_PARPORT_PC=m CONFIG_PARPORT_SERIAL=m @@ -1377,6 +1455,7 @@ CONFIG_BLK_DEV_DAC960=m # CONFIG_BLK_DEV_UMEM is not set # CONFIG_BLK_DEV_COW_COMMON is not set CONFIG_BLK_DEV_LOOP=m +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 CONFIG_BLK_DEV_CRYPTOLOOP=m CONFIG_BLK_DEV_DRBD=m # CONFIG_DRBD_FAULT_INJECTION is not set @@ -1392,8 +1471,8 @@ CONFIG_CDROM_PKTCDVD=m CONFIG_CDROM_PKTCDVD_BUFFERS=8 # CONFIG_CDROM_PKTCDVD_WCACHE is not set CONFIG_ATA_OVER_ETH=m -CONFIG_XEN_BLKDEV_FRONTEND=y -# CONFIG_XEN_BLKDEV_BACKEND is not set +CONFIG_XEN_BLKDEV_FRONTEND=m +CONFIG_XEN_BLKDEV_BACKEND=m CONFIG_VIRTIO_BLK=m # CONFIG_BLK_DEV_HD is not set CONFIG_BLK_DEV_RBD=m @@ -1427,6 +1506,7 @@ CONFIG_TI_DAC7512=m CONFIG_VMWARE_BALLOON=m CONFIG_BMP085=m # CONFIG_PCH_PHUB is not set +CONFIG_USB_SWITCH_FSA9480=m CONFIG_C2PORT=m CONFIG_C2PORT_DURAMAR_2150=m @@ -1438,6 +1518,7 @@ CONFIG_EEPROM_AT25=m CONFIG_EEPROM_LEGACY=m CONFIG_EEPROM_MAX6875=m CONFIG_EEPROM_93CX6=m +CONFIG_EEPROM_93XX46=m CONFIG_CB710_CORE=m # CONFIG_CB710_DEBUG is not set CONFIG_CB710_DEBUG_ASSUMPTIONS=y @@ -1450,90 +1531,13 @@ CONFIG_IWMC3200TOP=m # CONFIG_TI_ST=m CONFIG_SENSORS_LIS3_I2C=m + +# +# Altera FPGA firmware download module +# +CONFIG_ALTERA_STAPL=m CONFIG_HAVE_IDE=y -CONFIG_IDE=m - -# -# Please see Documentation/ide/ide.txt for help/info on IDE drives -# -CONFIG_IDE_XFER_MODE=y -CONFIG_IDE_TIMINGS=y -CONFIG_IDE_ATAPI=y -CONFIG_IDE_LEGACY=y -# CONFIG_BLK_DEV_IDE_SATA is not set -CONFIG_IDE_GD=m -CONFIG_IDE_GD_ATA=y -CONFIG_IDE_GD_ATAPI=y -CONFIG_BLK_DEV_IDECS=m -CONFIG_BLK_DEV_DELKIN=m -CONFIG_BLK_DEV_IDECD=m -CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y -CONFIG_BLK_DEV_IDETAPE=m -CONFIG_BLK_DEV_IDEACPI=y -# CONFIG_IDE_TASK_IOCTL is not set -CONFIG_IDE_PROC_FS=y - -# -# IDE chipset support/bugfixes -# -CONFIG_IDE_GENERIC=m -CONFIG_BLK_DEV_PLATFORM=m -CONFIG_BLK_DEV_CMD640=m -# CONFIG_BLK_DEV_CMD640_ENHANCED is not set -CONFIG_BLK_DEV_IDEPNP=m -CONFIG_BLK_DEV_IDEDMA_SFF=y - -# -# PCI IDE chipsets support -# -CONFIG_BLK_DEV_IDEPCI=y -# CONFIG_BLK_DEV_OFFBOARD is not set -CONFIG_BLK_DEV_GENERIC=m -CONFIG_BLK_DEV_OPTI621=m -CONFIG_BLK_DEV_RZ1000=m -CONFIG_BLK_DEV_IDEDMA_PCI=y -CONFIG_BLK_DEV_AEC62XX=m -CONFIG_BLK_DEV_ALI15X3=m -CONFIG_BLK_DEV_AMD74XX=m -CONFIG_BLK_DEV_ATIIXP=m -CONFIG_BLK_DEV_CMD64X=m -CONFIG_BLK_DEV_TRIFLEX=m -CONFIG_BLK_DEV_CS5520=m -CONFIG_BLK_DEV_CS5530=m -CONFIG_BLK_DEV_CS5535=m -CONFIG_BLK_DEV_CS5536=m -CONFIG_BLK_DEV_HPT366=m -CONFIG_BLK_DEV_JMICRON=m -CONFIG_BLK_DEV_SC1200=m -CONFIG_BLK_DEV_PIIX=m -CONFIG_BLK_DEV_IT8172=m -CONFIG_BLK_DEV_IT8213=m -CONFIG_BLK_DEV_IT821X=m -CONFIG_BLK_DEV_NS87415=m -CONFIG_BLK_DEV_PDC202XX_OLD=m -CONFIG_BLK_DEV_PDC202XX_NEW=m -CONFIG_BLK_DEV_SVWKS=m -CONFIG_BLK_DEV_SIIMAGE=m -CONFIG_BLK_DEV_SIS5513=m -CONFIG_BLK_DEV_SLC90E66=m -CONFIG_BLK_DEV_TRM290=m -CONFIG_BLK_DEV_VIA82CXXX=m -CONFIG_BLK_DEV_TC86C001=m - -# -# Other IDE chipsets support -# - -# -# Note: most of these also require special kernel boot parameters -# -CONFIG_BLK_DEV_4DRIVES=m -CONFIG_BLK_DEV_ALI14XX=m -CONFIG_BLK_DEV_DTC2278=m -CONFIG_BLK_DEV_HT6560B=m -CONFIG_BLK_DEV_QD65XX=m -CONFIG_BLK_DEV_UMC8672=m -CONFIG_BLK_DEV_IDEDMA=y +# CONFIG_IDE is not set # # SCSI device support @@ -1610,11 +1614,12 @@ CONFIG_SCSI_AIC94XX=m # CONFIG_AIC94XX_DEBUG is not set CONFIG_SCSI_MVSAS=m # CONFIG_SCSI_MVSAS_DEBUG is not set +CONFIG_SCSI_MVSAS_TASKLET=y +CONFIG_SCSI_MVUMI=m CONFIG_SCSI_DPT_I2O=m CONFIG_SCSI_ADVANSYS=m CONFIG_SCSI_IN2000=m CONFIG_SCSI_ARCMSR=m -CONFIG_SCSI_ARCMSR_AER=y CONFIG_MEGARAID_NEWGEN=y CONFIG_MEGARAID_MM=m CONFIG_MEGARAID_MAILBOX=m @@ -1810,8 +1815,13 @@ CONFIG_MD_MULTIPATH=m CONFIG_MD_FAULTY=m CONFIG_BLK_DEV_DM=m # CONFIG_DM_DEBUG is not set +CONFIG_DM_BUFIO=m +CONFIG_DM_PERSISTENT_DATA=m CONFIG_DM_CRYPT=m CONFIG_DM_SNAPSHOT=m +CONFIG_DM_THIN_PROVISIONING=m +# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set +# CONFIG_DM_DEBUG_SPACE_MAPS is not set CONFIG_DM_MIRROR=m CONFIG_DM_RAID=m CONFIG_DM_LOG_USERSPACE=m @@ -1827,8 +1837,8 @@ CONFIG_TCM_IBLOCK=m CONFIG_TCM_FILEIO=m CONFIG_TCM_PSCSI=m CONFIG_LOOPBACK_TARGET=m -# CONFIG_LOOPBACK_TARGET_CDB_DEBUG is not set CONFIG_TCM_FC=m +CONFIG_ISCSI_TARGET=m CONFIG_FUSION=y CONFIG_FUSION_SPI=m CONFIG_FUSION_FC=m @@ -1849,6 +1859,7 @@ CONFIG_FIREWIRE_NOSY=m CONFIG_I2O=m CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y CONFIG_I2O_EXT_ADAPTEC=y +CONFIG_I2O_EXT_ADAPTEC_DMA64=y CONFIG_I2O_CONFIG=m CONFIG_I2O_CONFIG_OLD_IOCTL=y CONFIG_I2O_BUS=m @@ -1858,62 +1869,119 @@ CONFIG_I2O_PROC=m CONFIG_MACINTOSH_DRIVERS=y CONFIG_MAC_EMUMOUSEBTN=y CONFIG_NETDEVICES=y -CONFIG_IFB=m -CONFIG_DUMMY=m +CONFIG_NET_CORE=y CONFIG_BONDING=m +CONFIG_DUMMY=m +CONFIG_EQUALIZER=m +# CONFIG_NET_FC is not set +CONFIG_MII=m +CONFIG_IEEE802154_DRIVERS=m +CONFIG_IEEE802154_FAKEHARD=m +CONFIG_IFB=m CONFIG_MACVLAN=m CONFIG_MACVTAP=m -CONFIG_EQUALIZER=m +CONFIG_NETCONSOLE=m +CONFIG_NETCONSOLE_DYNAMIC=y +CONFIG_NETPOLL=y +# CONFIG_NETPOLL_TRAP is not set +CONFIG_NET_POLL_CONTROLLER=y +CONFIG_RIONET=m +CONFIG_RIONET_TX_SIZE=128 +CONFIG_RIONET_RX_SIZE=128 CONFIG_TUN=m CONFIG_VETH=m -CONFIG_NET_SB1000=m +CONFIG_VIRTIO_NET=m +CONFIG_SUNGEM_PHY=m # CONFIG_ARCNET is not set -CONFIG_MII=m -CONFIG_PHYLIB=m +CONFIG_ATM_DRIVERS=y +# CONFIG_ATM_DUMMY is not set +CONFIG_ATM_TCP=m +CONFIG_ATM_LANAI=m +CONFIG_ATM_ENI=m +# CONFIG_ATM_ENI_DEBUG is not set +# CONFIG_ATM_ENI_TUNE_BURST is not set +CONFIG_ATM_FIRESTREAM=m +CONFIG_ATM_ZATM=m +# CONFIG_ATM_ZATM_DEBUG is not set +CONFIG_ATM_NICSTAR=m +# CONFIG_ATM_NICSTAR_USE_SUNI is not set +# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set +CONFIG_ATM_IDT77252=m +# CONFIG_ATM_IDT77252_DEBUG is not set +# CONFIG_ATM_IDT77252_RCV_ALL is not set +CONFIG_ATM_IDT77252_USE_SUNI=y +CONFIG_ATM_AMBASSADOR=m +# CONFIG_ATM_AMBASSADOR_DEBUG is not set +CONFIG_ATM_HORIZON=m +# CONFIG_ATM_HORIZON_DEBUG is not set +CONFIG_ATM_IA=m +# CONFIG_ATM_IA_DEBUG is not set +CONFIG_ATM_FORE200E=m +# CONFIG_ATM_FORE200E_USE_TASKLET is not set +CONFIG_ATM_FORE200E_TX_RETRY=16 +CONFIG_ATM_FORE200E_DEBUG=0 +CONFIG_ATM_HE=m +# CONFIG_ATM_HE_USE_SUNI is not set +CONFIG_ATM_SOLOS=m # -# MII PHY device drivers +# CAIF transport drivers # -CONFIG_MARVELL_PHY=m -CONFIG_DAVICOM_PHY=m -CONFIG_QSEMI_PHY=m -CONFIG_LXT_PHY=m -CONFIG_CICADA_PHY=m -CONFIG_VITESSE_PHY=m -CONFIG_SMSC_PHY=m -CONFIG_BROADCOM_PHY=m -CONFIG_ICPLUS_PHY=m -CONFIG_REALTEK_PHY=m -CONFIG_NATIONAL_PHY=m -CONFIG_STE10XP=m -CONFIG_LSI_ET1011C_PHY=m -CONFIG_MICREL_PHY=m -# CONFIG_MDIO_BITBANG is not set -CONFIG_NET_ETHERNET=y -CONFIG_HAPPYMEAL=m -CONFIG_SUNGEM=m -CONFIG_CASSINI=m +CONFIG_CAIF_TTY=m +CONFIG_CAIF_SPI_SLAVE=m +CONFIG_CAIF_SPI_SYNC=y +CONFIG_CAIF_HSI=m +CONFIG_ETHERNET=y +CONFIG_MDIO=m CONFIG_NET_VENDOR_3COM=y CONFIG_EL1=m -CONFIG_EL2=m -CONFIG_ELPLUS=m -CONFIG_EL16=m CONFIG_EL3=m CONFIG_3C515=m +CONFIG_PCMCIA_3C574=m +CONFIG_PCMCIA_3C589=m CONFIG_VORTEX=m CONFIG_TYPHOON=m +CONFIG_NET_VENDOR_ADAPTEC=y +CONFIG_ADAPTEC_STARFIRE=m +CONFIG_NET_VENDOR_ALTEON=y +CONFIG_ACENIC=m +# CONFIG_ACENIC_OMIT_TIGON_I is not set +CONFIG_NET_VENDOR_AMD=y +CONFIG_AMD8111_ETH=m CONFIG_LANCE=m -CONFIG_NET_VENDOR_SMC=y -CONFIG_WD80x3=m -CONFIG_ULTRA=m -CONFIG_SMC9194=m -CONFIG_ENC28J60=m -# CONFIG_ENC28J60_WRITEVERIFY is not set -CONFIG_ETHOC=m -CONFIG_NET_VENDOR_RACAL=y -CONFIG_NI52=m +CONFIG_PCNET32=m +CONFIG_DEPCA=m +CONFIG_PCMCIA_NMCLAN=m CONFIG_NI65=m +CONFIG_NET_VENDOR_ATHEROS=y +CONFIG_ATL2=m +CONFIG_ATL1=m +CONFIG_ATL1E=m +CONFIG_ATL1C=m +CONFIG_NET_VENDOR_BROADCOM=y +CONFIG_B44=m +CONFIG_B44_PCI_AUTOSELECT=y +CONFIG_B44_PCICORE_AUTOSELECT=y +CONFIG_B44_PCI=y +CONFIG_BNX2=m +CONFIG_CNIC=m +CONFIG_TIGON3=m +CONFIG_BNX2X=m +CONFIG_NET_VENDOR_BROCADE=y +CONFIG_BNA=m +CONFIG_NET_VENDOR_CHELSIO=y +CONFIG_CHELSIO_T1=m +CONFIG_CHELSIO_T1_1G=y +CONFIG_CHELSIO_T3=m +CONFIG_CHELSIO_T4=m +CONFIG_CHELSIO_T4VF=m +CONFIG_NET_VENDOR_CIRRUS=y +CONFIG_CS89x0=m +CONFIG_NET_VENDOR_CISCO=y +CONFIG_ENIC=m CONFIG_DNET=m +CONFIG_NET_VENDOR_DEC=y +CONFIG_EWRK3=m CONFIG_NET_TULIP=y CONFIG_DE2104X=m CONFIG_DE2104X_DSL=0 @@ -1926,132 +1994,222 @@ CONFIG_WINBOND_840=m CONFIG_DM9102=m CONFIG_ULI526X=m CONFIG_PCMCIA_XIRCOM=m +CONFIG_NET_VENDOR_DLINK=y +CONFIG_DE600=m +CONFIG_DE620=m +CONFIG_DL2K=m +CONFIG_SUNDANCE=m +# CONFIG_SUNDANCE_MMIO is not set +CONFIG_NET_VENDOR_EMULEX=y +CONFIG_BE2NET=m +CONFIG_NET_VENDOR_EXAR=y +CONFIG_S2IO=m +CONFIG_VXGE=m +# CONFIG_VXGE_DEBUG_TRACE_ALL is not set +CONFIG_NET_VENDOR_FUJITSU=y CONFIG_AT1700=m -CONFIG_DEPCA=m +CONFIG_PCMCIA_FMVJ18X=m +CONFIG_ETH16I=m +CONFIG_NET_VENDOR_HP=y CONFIG_HP100=m -CONFIG_NET_ISA=y -CONFIG_E2100=m -CONFIG_EWRK3=m +CONFIG_NET_VENDOR_INTEL=y +CONFIG_E100=m +CONFIG_E1000=m +CONFIG_E1000E=m +CONFIG_IGB=m +CONFIG_IGB_DCA=y +CONFIG_IGBVF=m +CONFIG_IXGB=m +CONFIG_IXGBE=m +CONFIG_IXGBE_DCA=y +CONFIG_IXGBEVF=m +CONFIG_NET_VENDOR_I825XX=y +CONFIG_ELPLUS=m +CONFIG_EL16=m +CONFIG_APRICOT=m CONFIG_EEXPRESS=m CONFIG_EEXPRESS_PRO=m -CONFIG_HPLAN_PLUS=m -CONFIG_HPLAN=m CONFIG_LP486E=m -CONFIG_ETH16I=m -CONFIG_NE2000=m +CONFIG_NI52=m CONFIG_ZNET=m -CONFIG_SEEQ8005=m -# CONFIG_IBM_NEW_EMAC_ZMII is not set -# CONFIG_IBM_NEW_EMAC_RGMII is not set -# CONFIG_IBM_NEW_EMAC_TAH is not set -# CONFIG_IBM_NEW_EMAC_EMAC4 is not set -# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set -# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set -# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set -CONFIG_NET_PCI=y -CONFIG_PCNET32=m -CONFIG_AMD8111_ETH=m -CONFIG_ADAPTEC_STARFIRE=m -CONFIG_AC3200=m +CONFIG_IP1000=m +CONFIG_JME=m +CONFIG_NET_VENDOR_MARVELL=y +CONFIG_SKGE=m +# CONFIG_SKGE_DEBUG is not set +CONFIG_SKGE_GENESIS=y +CONFIG_SKY2=m +# CONFIG_SKY2_DEBUG is not set +CONFIG_NET_VENDOR_MELLANOX=y +CONFIG_MLX4_EN=m +CONFIG_MLX4_CORE=m +CONFIG_MLX4_DEBUG=y +CONFIG_NET_VENDOR_MICREL=y +CONFIG_KS8842=m +CONFIG_KS8851=m +CONFIG_KS8851_MLL=m CONFIG_KSZ884X_PCI=m -CONFIG_APRICOT=m -CONFIG_B44=m -CONFIG_B44_PCI_AUTOSELECT=y -CONFIG_B44_PCICORE_AUTOSELECT=y -CONFIG_B44_PCI=y -CONFIG_FORCEDETH=m -CONFIG_CS89x0=m -CONFIG_E100=m +CONFIG_NET_VENDOR_MICROCHIP=y +CONFIG_ENC28J60=m +# CONFIG_ENC28J60_WRITEVERIFY is not set +CONFIG_NET_VENDOR_MYRI=y +CONFIG_MYRI10GE=m +CONFIG_MYRI10GE_DCA=y CONFIG_FEALNX=m +CONFIG_NET_VENDOR_NATSEMI=y CONFIG_NATSEMI=m +CONFIG_NS83820=m +CONFIG_NET_VENDOR_8390=y +CONFIG_EL2=m +CONFIG_AC3200=m +CONFIG_PCMCIA_AXNET=m +CONFIG_E2100=m +CONFIG_HPLAN_PLUS=m +CONFIG_HPLAN=m +CONFIG_NE2000=m CONFIG_NE2K_PCI=m +CONFIG_PCMCIA_PCNET=m +CONFIG_ULTRA=m +CONFIG_WD80x3=m +CONFIG_NET_VENDOR_NVIDIA=y +CONFIG_FORCEDETH=m +CONFIG_NET_VENDOR_OKI=y +CONFIG_PCH_GBE=m +CONFIG_ETHOC=m +CONFIG_NET_PACKET_ENGINE=y +CONFIG_HAMACHI=m +CONFIG_YELLOWFIN=m +CONFIG_NET_VENDOR_QLOGIC=y +CONFIG_QLA3XXX=m +CONFIG_QLCNIC=m +CONFIG_QLGE=m +CONFIG_NETXEN_NIC=m +CONFIG_NET_VENDOR_RACAL=y +CONFIG_NET_VENDOR_REALTEK=y +CONFIG_ATP=m CONFIG_8139CP=m CONFIG_8139TOO=m # CONFIG_8139TOO_PIO is not set CONFIG_8139TOO_TUNE_TWISTER=y CONFIG_8139TOO_8129=y # CONFIG_8139_OLD_RX_RESET is not set +CONFIG_R8169=m +CONFIG_NET_VENDOR_RDC=y CONFIG_R6040=m +CONFIG_NET_VENDOR_SEEQ=y +CONFIG_SEEQ8005=m +CONFIG_NET_VENDOR_SILAN=y +CONFIG_SC92031=m +CONFIG_NET_VENDOR_SIS=y CONFIG_SIS900=m +CONFIG_SIS190=m +CONFIG_SFC=m +CONFIG_SFC_MTD=y +CONFIG_NET_VENDOR_SMSC=y +CONFIG_SMC9194=m +CONFIG_PCMCIA_SMC91C92=m CONFIG_EPIC100=m CONFIG_SMSC9420=m -CONFIG_SUNDANCE=m -# CONFIG_SUNDANCE_MMIO is not set -CONFIG_TLAN=m -CONFIG_KS8842=m -CONFIG_KS8851=m -CONFIG_KS8851_MLL=m -CONFIG_VIA_RHINE=m -# CONFIG_VIA_RHINE_MMIO is not set -CONFIG_SC92031=m -CONFIG_NET_POCKET=y -CONFIG_ATP=m -CONFIG_DE600=m -CONFIG_DE620=m -CONFIG_ATL2=m -CONFIG_NETDEV_1000=y -CONFIG_ACENIC=m -# CONFIG_ACENIC_OMIT_TIGON_I is not set -CONFIG_DL2K=m -CONFIG_E1000=m -CONFIG_E1000E=m -CONFIG_IP1000=m -CONFIG_IGB=m -CONFIG_IGB_DCA=y -CONFIG_IGBVF=m -CONFIG_NS83820=m -CONFIG_HAMACHI=m -CONFIG_YELLOWFIN=m -CONFIG_R8169=m -CONFIG_SIS190=m -CONFIG_SKGE=m -# CONFIG_SKGE_DEBUG is not set -CONFIG_SKY2=m -# CONFIG_SKY2_DEBUG is not set -CONFIG_VIA_VELOCITY=m -CONFIG_TIGON3=m -CONFIG_BNX2=m -CONFIG_CNIC=m -CONFIG_QLA3XXX=m -CONFIG_ATL1=m -CONFIG_ATL1E=m -CONFIG_ATL1C=m -CONFIG_JME=m +CONFIG_NET_VENDOR_STMICRO=y CONFIG_STMMAC_ETH=m +# CONFIG_STMMAC_DEBUG_FS is not set # CONFIG_STMMAC_DA is not set -CONFIG_STMMAC_DUAL_MAC=y -CONFIG_PCH_GBE=m -CONFIG_NETDEV_10000=y -CONFIG_MDIO=m -CONFIG_CHELSIO_T1=m -CONFIG_CHELSIO_T1_1G=y -CONFIG_CHELSIO_T3=m -CONFIG_CHELSIO_T4=m -CONFIG_CHELSIO_T4VF=m -CONFIG_ENIC=m -CONFIG_IXGBE=m -CONFIG_IXGBE_DCA=y -CONFIG_IXGBEVF=m -CONFIG_IXGB=m -CONFIG_S2IO=m -CONFIG_VXGE=m -# CONFIG_VXGE_DEBUG_TRACE_ALL is not set -CONFIG_MYRI10GE=m -CONFIG_MYRI10GE_DCA=y -CONFIG_NETXEN_NIC=m +CONFIG_STMMAC_RING=y +# CONFIG_STMMAC_CHAINED is not set +CONFIG_NET_VENDOR_SUN=y +CONFIG_HAPPYMEAL=m +CONFIG_SUNGEM=m +CONFIG_CASSINI=m CONFIG_NIU=m -CONFIG_MLX4_EN=m -CONFIG_MLX4_CORE=m -CONFIG_MLX4_DEBUG=y +CONFIG_NET_VENDOR_TEHUTI=y CONFIG_TEHUTI=m -CONFIG_BNX2X=m -CONFIG_QLCNIC=m -CONFIG_QLGE=m -CONFIG_BNA=m -CONFIG_SFC=m -CONFIG_SFC_MTD=y -CONFIG_BE2NET=m +CONFIG_NET_VENDOR_TI=y +CONFIG_TLAN=m +CONFIG_NET_VENDOR_VIA=y +CONFIG_VIA_RHINE=m +# CONFIG_VIA_RHINE_MMIO is not set +CONFIG_VIA_VELOCITY=m +CONFIG_NET_VENDOR_XIRCOM=y +CONFIG_PCMCIA_XIRC2PS=m +# CONFIG_FDDI is not set +# CONFIG_HIPPI is not set +CONFIG_NET_SB1000=m +CONFIG_PHYLIB=m + +# +# MII PHY device drivers +# +CONFIG_MARVELL_PHY=m +CONFIG_DAVICOM_PHY=m +CONFIG_QSEMI_PHY=m +CONFIG_LXT_PHY=m +CONFIG_CICADA_PHY=m +CONFIG_VITESSE_PHY=m +CONFIG_SMSC_PHY=m +CONFIG_BROADCOM_PHY=m +CONFIG_ICPLUS_PHY=m +CONFIG_REALTEK_PHY=m +CONFIG_NATIONAL_PHY=m +CONFIG_STE10XP=m +CONFIG_LSI_ET1011C_PHY=m +CONFIG_MICREL_PHY=m +# CONFIG_MDIO_BITBANG is not set +CONFIG_PLIP=m +CONFIG_PPP=m +CONFIG_PPP_BSDCOMP=m +CONFIG_PPP_DEFLATE=m +CONFIG_PPP_FILTER=y +CONFIG_PPP_MPPE=m +CONFIG_PPP_MULTILINK=y +CONFIG_PPPOATM=m +CONFIG_PPPOE=m +CONFIG_PPTP=m +CONFIG_PPPOL2TP=m +CONFIG_PPP_ASYNC=m +CONFIG_PPP_SYNC_TTY=m +CONFIG_SLIP=m +CONFIG_SLHC=m +# CONFIG_SLIP_COMPRESSED is not set +# CONFIG_SLIP_SMART is not set +# CONFIG_SLIP_MODE_SLIP6 is not set # CONFIG_TR is not set + +# +# USB Network Adapters +# +CONFIG_USB_CATC=m +CONFIG_USB_KAWETH=m +CONFIG_USB_PEGASUS=m +CONFIG_USB_RTL8150=m +CONFIG_USB_USBNET=m +CONFIG_USB_NET_AX8817X=m +CONFIG_USB_NET_CDCETHER=m +CONFIG_USB_NET_CDC_EEM=m +CONFIG_USB_NET_CDC_NCM=m +CONFIG_USB_NET_DM9601=m +CONFIG_USB_NET_SMSC75XX=m +CONFIG_USB_NET_SMSC95XX=m +CONFIG_USB_NET_GL620A=m +CONFIG_USB_NET_NET1080=m +CONFIG_USB_NET_PLUSB=m +CONFIG_USB_NET_MCS7830=m +CONFIG_USB_NET_RNDIS_HOST=m +CONFIG_USB_NET_CDC_SUBSET=m +CONFIG_USB_ALI_M5632=y +CONFIG_USB_AN2720=y +CONFIG_USB_BELKIN=y +CONFIG_USB_ARMLINUX=y +CONFIG_USB_EPSON2888=y +CONFIG_USB_KC2190=y +CONFIG_USB_NET_ZAURUS=m +CONFIG_USB_NET_CX82310_ETH=m +CONFIG_USB_NET_KALMIA=m +CONFIG_USB_HSO=m +CONFIG_USB_NET_INT51X1=m +CONFIG_USB_CDC_PHONET=m +CONFIG_USB_IPHETH=m +CONFIG_USB_SIERRA_NET=m +CONFIG_USB_VL600=m CONFIG_WLAN=y CONFIG_PCMCIA_RAYCS=m CONFIG_LIBERTAS_THINFIRM=m @@ -2091,7 +2249,11 @@ CONFIG_ATH9K_HTC=m CONFIG_CARL9170=m CONFIG_CARL9170_LEDS=y CONFIG_CARL9170_WPC=y +# CONFIG_CARL9170_HWRNG is not set +CONFIG_ATH6KL=m +# CONFIG_ATH6KL_DEBUG is not set CONFIG_B43=m +CONFIG_B43_SSB=y CONFIG_B43_PCI_AUTOSELECT=y CONFIG_B43_PCICORE_AUTOSELECT=y CONFIG_B43_PCMCIA=y @@ -2099,6 +2261,7 @@ CONFIG_B43_SDIO=y CONFIG_B43_PIO=y CONFIG_B43_PHY_N=y CONFIG_B43_PHY_LP=y +CONFIG_B43_PHY_HT=y CONFIG_B43_LEDS=y CONFIG_B43_HWRNG=y # CONFIG_B43_DEBUG is not set @@ -2113,6 +2276,10 @@ CONFIG_B43LEGACY_PIO=y CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y # CONFIG_B43LEGACY_DMA_MODE is not set # CONFIG_B43LEGACY_PIO_MODE is not set +CONFIG_BRCMUTIL=m +CONFIG_BRCMSMAC=m +CONFIG_BRCMFMAC=m +# CONFIG_BRCMDBG is not set CONFIG_HOSTAP=m CONFIG_HOSTAP_FIRMWARE=y # CONFIG_HOSTAP_FIRMWARE_NVRAM is not set @@ -2130,7 +2297,7 @@ CONFIG_IPW2200_QOS=y # CONFIG_IPW2200_DEBUG is not set CONFIG_LIBIPW=m # CONFIG_LIBIPW_DEBUG is not set -CONFIG_IWLAGN=m +CONFIG_IWLWIFI=m # # Debugging Options @@ -2138,7 +2305,6 @@ CONFIG_IWLAGN=m # CONFIG_IWLWIFI_DEBUG is not set CONFIG_IWLWIFI_DEVICE_TRACING=y CONFIG_IWLWIFI_DEVICE_SVTOOL=y -CONFIG_IWL_P2P=y CONFIG_IWLWIFI_LEGACY=m # @@ -2199,6 +2365,7 @@ CONFIG_RT2X00_LIB_LEDS=y # CONFIG_RT2X00_DEBUG is not set CONFIG_RTL8192CE=m CONFIG_RTL8192SE=m +CONFIG_RTL8192DE=m CONFIG_RTL8192CU=m CONFIG_RTLWIFI=m CONFIG_RTL8192C_COMMON=m @@ -2207,7 +2374,6 @@ CONFIG_WL1251_SPI=m CONFIG_WL1251_SDIO=m CONFIG_WL12XX_MENU=m CONFIG_WL12XX=m -CONFIG_WL12XX_HT=y CONFIG_WL12XX_SPI=m CONFIG_WL12XX_SDIO=m CONFIG_WL12XX_SDIO_TEST=m @@ -2216,6 +2382,7 @@ CONFIG_ZD1211RW=m # CONFIG_ZD1211RW_DEBUG is not set CONFIG_MWIFIEX=m CONFIG_MWIFIEX_SDIO=m +CONFIG_MWIFIEX_PCIE=m # # WiMAX Wireless Broadband devices @@ -2225,124 +2392,9 @@ CONFIG_WIMAX_I2400M_USB=m CONFIG_WIMAX_I2400M_SDIO=m # CONFIG_WIMAX_IWMC3200_SDIO is not set CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8 - -# -# USB Network Adapters -# -CONFIG_USB_CATC=m -CONFIG_USB_KAWETH=m -CONFIG_USB_PEGASUS=m -CONFIG_USB_RTL8150=m -CONFIG_USB_USBNET=m -CONFIG_USB_NET_AX8817X=m -CONFIG_USB_NET_CDCETHER=m -CONFIG_USB_NET_CDC_EEM=m -CONFIG_USB_NET_CDC_NCM=m -CONFIG_USB_NET_DM9601=m -CONFIG_USB_NET_SMSC75XX=m -CONFIG_USB_NET_SMSC95XX=m -CONFIG_USB_NET_GL620A=m -CONFIG_USB_NET_NET1080=m -CONFIG_USB_NET_PLUSB=m -CONFIG_USB_NET_MCS7830=m -CONFIG_USB_NET_RNDIS_HOST=m -CONFIG_USB_NET_CDC_SUBSET=m -CONFIG_USB_ALI_M5632=y -CONFIG_USB_AN2720=y -CONFIG_USB_BELKIN=y -CONFIG_USB_ARMLINUX=y -CONFIG_USB_EPSON2888=y -CONFIG_USB_KC2190=y -CONFIG_USB_NET_ZAURUS=m -CONFIG_USB_NET_CX82310_ETH=m -CONFIG_USB_NET_KALMIA=m -CONFIG_USB_HSO=m -CONFIG_USB_NET_INT51X1=m -CONFIG_USB_CDC_PHONET=m -CONFIG_USB_IPHETH=m -CONFIG_USB_SIERRA_NET=m -CONFIG_USB_VL600=m -CONFIG_NET_PCMCIA=y -CONFIG_PCMCIA_3C589=m -CONFIG_PCMCIA_3C574=m -CONFIG_PCMCIA_FMVJ18X=m -CONFIG_PCMCIA_PCNET=m -CONFIG_PCMCIA_NMCLAN=m -CONFIG_PCMCIA_SMC91C92=m -CONFIG_PCMCIA_XIRC2PS=m -CONFIG_PCMCIA_AXNET=m # CONFIG_WAN is not set -CONFIG_ATM_DRIVERS=y -# CONFIG_ATM_DUMMY is not set -CONFIG_ATM_TCP=m -CONFIG_ATM_LANAI=m -CONFIG_ATM_ENI=m -# CONFIG_ATM_ENI_DEBUG is not set -# CONFIG_ATM_ENI_TUNE_BURST is not set -CONFIG_ATM_FIRESTREAM=m -CONFIG_ATM_ZATM=m -# CONFIG_ATM_ZATM_DEBUG is not set -CONFIG_ATM_NICSTAR=m -# CONFIG_ATM_NICSTAR_USE_SUNI is not set -# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set -CONFIG_ATM_IDT77252=m -# CONFIG_ATM_IDT77252_DEBUG is not set -# CONFIG_ATM_IDT77252_RCV_ALL is not set -CONFIG_ATM_IDT77252_USE_SUNI=y -CONFIG_ATM_AMBASSADOR=m -# CONFIG_ATM_AMBASSADOR_DEBUG is not set -CONFIG_ATM_HORIZON=m -# CONFIG_ATM_HORIZON_DEBUG is not set -CONFIG_ATM_IA=m -# CONFIG_ATM_IA_DEBUG is not set -CONFIG_ATM_FORE200E=m -# CONFIG_ATM_FORE200E_USE_TASKLET is not set -CONFIG_ATM_FORE200E_TX_RETRY=16 -CONFIG_ATM_FORE200E_DEBUG=0 -CONFIG_ATM_HE=m -# CONFIG_ATM_HE_USE_SUNI is not set -CONFIG_ATM_SOLOS=m -CONFIG_IEEE802154_DRIVERS=m -CONFIG_IEEE802154_FAKEHARD=m - -# -# CAIF transport drivers -# -CONFIG_CAIF_TTY=m -CONFIG_CAIF_SPI_SLAVE=m -CONFIG_CAIF_SPI_SYNC=y -CONFIG_XEN_NETDEV_FRONTEND=y -# CONFIG_XEN_NETDEV_BACKEND is not set -CONFIG_RIONET=m -CONFIG_RIONET_TX_SIZE=128 -CONFIG_RIONET_RX_SIZE=128 -# CONFIG_FDDI is not set -# CONFIG_HIPPI is not set -CONFIG_PLIP=m -CONFIG_PPP=m -CONFIG_PPP_MULTILINK=y -CONFIG_PPP_FILTER=y -CONFIG_PPP_ASYNC=m -CONFIG_PPP_SYNC_TTY=m -CONFIG_PPP_DEFLATE=m -CONFIG_PPP_BSDCOMP=m -CONFIG_PPP_MPPE=m -CONFIG_PPPOE=m -CONFIG_PPTP=m -CONFIG_PPPOATM=m -CONFIG_PPPOL2TP=m -CONFIG_SLIP=m -# CONFIG_SLIP_COMPRESSED is not set -CONFIG_SLHC=m -# CONFIG_SLIP_SMART is not set -# CONFIG_SLIP_MODE_SLIP6 is not set -# CONFIG_NET_FC is not set -CONFIG_NETCONSOLE=m -CONFIG_NETCONSOLE_DYNAMIC=y -CONFIG_NETPOLL=y -# CONFIG_NETPOLL_TRAP is not set -CONFIG_NET_POLL_CONTROLLER=y -CONFIG_VIRTIO_NET=m +CONFIG_XEN_NETDEV_FRONTEND=m +CONFIG_XEN_NETDEV_BACKEND=m CONFIG_VMXNET3=m CONFIG_ISDN=y CONFIG_ISDN_I4L=m @@ -2642,6 +2694,7 @@ CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y CONFIG_TOUCHSCREEN_USB_NEXIO=y CONFIG_TOUCHSCREEN_TOUCHIT213=m +CONFIG_TOUCHSCREEN_TSC_SERIO=m CONFIG_TOUCHSCREEN_TSC2005=m CONFIG_TOUCHSCREEN_TSC2007=m CONFIG_TOUCHSCREEN_PCAP=m @@ -2652,13 +2705,18 @@ CONFIG_INPUT_AB8500_PONKEY=m CONFIG_INPUT_AD714X=m CONFIG_INPUT_AD714X_I2C=m CONFIG_INPUT_AD714X_SPI=m +CONFIG_INPUT_BMA150=m CONFIG_INPUT_PCSPKR=m +CONFIG_INPUT_MC13783_PWRBUTTON=m +CONFIG_INPUT_MMA8450=m +CONFIG_INPUT_MPU3050=m CONFIG_INPUT_APANEL=m CONFIG_INPUT_WISTRON_BTNS=m CONFIG_INPUT_ATLAS_BTNS=m -CONFIG_INPUT_ATI_REMOTE=m CONFIG_INPUT_ATI_REMOTE2=m CONFIG_INPUT_KEYSPAN_REMOTE=m +CONFIG_INPUT_KXTJ9=m +# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set CONFIG_INPUT_POWERMATE=m CONFIG_INPUT_YEALINK=m CONFIG_INPUT_CM109=m @@ -2673,7 +2731,7 @@ CONFIG_INPUT_ADXL34X_I2C=m CONFIG_INPUT_ADXL34X_SPI=m CONFIG_INPUT_CMA3000=m CONFIG_INPUT_CMA3000_I2C=m -CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y +CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m # # Hardware I/O ports @@ -2700,6 +2758,7 @@ CONFIG_GAMEPORT_FM801=m CONFIG_VT=y CONFIG_CONSOLE_TRANSLATIONS=y CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y CONFIG_HW_CONSOLE=y CONFIG_VT_HW_CONSOLE_BINDING=y CONFIG_UNIX98_PTYS=y @@ -2851,6 +2910,7 @@ CONFIG_I2C_SCMI=m # # I2C system bus drivers (mostly embedded / system-on-chip) # +CONFIG_I2C_DESIGNWARE_PCI=m CONFIG_I2C_GPIO=m CONFIG_I2C_INTEL_MID=m CONFIG_I2C_OCORES=m @@ -2915,6 +2975,7 @@ CONFIG_PPS=m CONFIG_PPS_CLIENT_KTIMER=m CONFIG_PPS_CLIENT_LDISC=m CONFIG_PPS_CLIENT_PARPORT=m +CONFIG_PPS_CLIENT_GPIO=m # # PPS generators support @@ -2929,13 +2990,13 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y CONFIG_GPIOLIB=y # CONFIG_DEBUG_GPIO is not set CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_GENERIC=m CONFIG_GPIO_MAX730X=m # # Memory mapped GPIO drivers: # -CONFIG_GPIO_BASIC_MMIO_CORE=m -CONFIG_GPIO_BASIC_MMIO=m +CONFIG_GPIO_GENERIC_PLATFORM=m CONFIG_GPIO_IT8761E=m CONFIG_GPIO_SCH=m CONFIG_GPIO_VX855=m @@ -2947,6 +3008,7 @@ CONFIG_GPIO_MAX7300=m CONFIG_GPIO_MAX732X=m CONFIG_GPIO_PCA953X=m CONFIG_GPIO_PCF857X=m +CONFIG_GPIO_TPS65912=m CONFIG_GPIO_WM831X=m CONFIG_GPIO_ADP5588=m @@ -3030,6 +3092,7 @@ CONFIG_HWMON_VID=m # CONFIG_SENSORS_ABITUGURU=m CONFIG_SENSORS_ABITUGURU3=m +CONFIG_SENSORS_AD7314=m CONFIG_SENSORS_AD7414=m CONFIG_SENSORS_AD7418=m CONFIG_SENSORS_ADCXX=m @@ -3084,23 +3147,29 @@ CONFIG_SENSORS_LTC4215=m CONFIG_SENSORS_LTC4245=m CONFIG_SENSORS_LTC4261=m CONFIG_SENSORS_LM95241=m +CONFIG_SENSORS_LM95245=m CONFIG_SENSORS_MAX1111=m CONFIG_SENSORS_MAX16065=m CONFIG_SENSORS_MAX1619=m +CONFIG_SENSORS_MAX1668=m CONFIG_SENSORS_MAX6639=m CONFIG_SENSORS_MAX6642=m CONFIG_SENSORS_MAX6650=m +CONFIG_SENSORS_NTC_THERMISTOR=m CONFIG_SENSORS_PC87360=m CONFIG_SENSORS_PC87427=m CONFIG_SENSORS_PCF8591=m CONFIG_PMBUS=m CONFIG_SENSORS_PMBUS=m CONFIG_SENSORS_ADM1275=m +CONFIG_SENSORS_LM25066=m +CONFIG_SENSORS_LTC2978=m CONFIG_SENSORS_MAX16064=m CONFIG_SENSORS_MAX34440=m CONFIG_SENSORS_MAX8688=m CONFIG_SENSORS_UCD9000=m CONFIG_SENSORS_UCD9200=m +CONFIG_SENSORS_ZL6100=m CONFIG_SENSORS_SHT15=m CONFIG_SENSORS_SHT21=m CONFIG_SENSORS_SIS5595=m @@ -3112,7 +3181,9 @@ CONFIG_SENSORS_EMC6W201=m CONFIG_SENSORS_SMSC47M1=m CONFIG_SENSORS_SMSC47M192=m CONFIG_SENSORS_SMSC47B397=m +CONFIG_SENSORS_SCH56XX_COMMON=m CONFIG_SENSORS_SCH5627=m +CONFIG_SENSORS_SCH5636=m CONFIG_SENSORS_ADS1015=m CONFIG_SENSORS_ADS7828=m CONFIG_SENSORS_ADS7871=m @@ -3147,6 +3218,7 @@ CONFIG_SENSORS_ATK0110=m CONFIG_THERMAL=y CONFIG_THERMAL_HWMON=y CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y # CONFIG_WATCHDOG_NOWAYOUT is not set # @@ -3190,7 +3262,7 @@ CONFIG_W83877F_WDT=m CONFIG_W83977F_WDT=m CONFIG_MACHZ_WDT=m CONFIG_SBC_EPX_C3_WATCHDOG=m -# CONFIG_XEN_WDT is not set +CONFIG_XEN_WDT=m # # ISA-based Watchdog Cards @@ -3232,11 +3304,11 @@ CONFIG_BCMA_POSSIBLE=y # # Broadcom specific AMBA # -CONFIG_BCMA=m -CONFIG_BCMA_HOST_PCI_POSSIBLE=y -CONFIG_BCMA_HOST_PCI=y -# CONFIG_BCMA_DEBUG is not set -CONFIG_MFD_SUPPORT=y +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# CONFIG_MFD_CORE=y CONFIG_MFD_SM501=m CONFIG_MFD_SM501_GPIO=y @@ -3245,6 +3317,8 @@ CONFIG_UCB1400_CORE=m CONFIG_TPS6105X=m CONFIG_TPS65010=m CONFIG_TPS6507X=m +CONFIG_MFD_TPS65912=y +CONFIG_MFD_TPS65912_SPI=y # CONFIG_MFD_TMIO is not set CONFIG_MFD_WM8400=m CONFIG_MFD_WM831X=y @@ -3272,6 +3346,7 @@ CONFIG_REGULATOR_DUMMY=y CONFIG_REGULATOR_FIXED_VOLTAGE=m CONFIG_REGULATOR_VIRTUAL_CONSUMER=m CONFIG_REGULATOR_USERSPACE_CONSUMER=m +CONFIG_REGULATOR_GPIO=m CONFIG_REGULATOR_BQ24022=m CONFIG_REGULATOR_MAX1586=m CONFIG_REGULATOR_MAX8649=m @@ -3289,6 +3364,7 @@ CONFIG_REGULATOR_MC13892=m CONFIG_REGULATOR_TPS6105X=m CONFIG_REGULATOR_TPS65023=m CONFIG_REGULATOR_TPS6507X=m +CONFIG_REGULATOR_TPS65912=m CONFIG_REGULATOR_ISL6271A=m CONFIG_REGULATOR_AD5398=m CONFIG_REGULATOR_AB8500=y @@ -3303,6 +3379,7 @@ CONFIG_VIDEO_DEV=m CONFIG_VIDEO_V4L2_COMMON=m CONFIG_VIDEO_V4L2_SUBDEV_API=y CONFIG_DVB_CORE=m +CONFIG_DVB_NET=y CONFIG_VIDEO_MEDIA=m # @@ -3319,7 +3396,9 @@ CONFIG_IR_RC6_DECODER=m CONFIG_IR_JVC_DECODER=m CONFIG_IR_SONY_DECODER=m CONFIG_IR_RC5_SZ_DECODER=m +CONFIG_IR_MCE_KBD_DECODER=m CONFIG_IR_LIRC_CODEC=m +CONFIG_RC_ATI_REMOTE=m CONFIG_IR_ENE=m CONFIG_IR_IMON=m CONFIG_IR_MCEUSB=m @@ -3347,6 +3426,7 @@ CONFIG_MEDIA_TUNER_MT2131=m CONFIG_MEDIA_TUNER_QT1010=m CONFIG_MEDIA_TUNER_XC2028=m CONFIG_MEDIA_TUNER_XC5000=m +CONFIG_MEDIA_TUNER_XC4000=m CONFIG_MEDIA_TUNER_MXL5005S=m CONFIG_MEDIA_TUNER_MXL5007T=m CONFIG_MEDIA_TUNER_MC44S803=m @@ -3365,6 +3445,7 @@ CONFIG_VIDEO_TUNER=m CONFIG_V4L2_MEM2MEM_DEV=m CONFIG_VIDEOBUF2_CORE=m CONFIG_VIDEOBUF2_MEMOPS=m +CONFIG_VIDEOBUF2_DMA_CONTIG=m CONFIG_VIDEOBUF2_VMALLOC=m CONFIG_VIDEO_CAPTURE_DRIVERS=y # CONFIG_VIDEO_ADV_DEBUG is not set @@ -3438,9 +3519,20 @@ CONFIG_VIDEO_AK881X=m # Camera sensor devices # CONFIG_VIDEO_OV7670=m +CONFIG_VIDEO_MT9P031=m +CONFIG_VIDEO_MT9T001=m CONFIG_VIDEO_MT9V011=m CONFIG_VIDEO_MT9V032=m CONFIG_VIDEO_TCM825X=m +CONFIG_VIDEO_SR030PC30=m +CONFIG_VIDEO_NOON010PC30=m +CONFIG_VIDEO_M5MOLS=m +CONFIG_VIDEO_S5K6AA=m + +# +# Flash devices +# +CONFIG_VIDEO_ADP1653=m # # Video improvement chips @@ -3486,6 +3578,8 @@ CONFIG_VIDEO_CX88_MPEG=m CONFIG_VIDEO_CX88_VP3054=m CONFIG_VIDEO_CX23885=m CONFIG_MEDIA_ALTERA_CI=m +CONFIG_VIDEO_CX25821=m +CONFIG_VIDEO_CX25821_ALSA=m CONFIG_VIDEO_AU0828=m CONFIG_VIDEO_IVTV=m CONFIG_VIDEO_FB_IVTV=m @@ -3493,10 +3587,7 @@ CONFIG_VIDEO_CX18=m CONFIG_VIDEO_CX18_ALSA=m CONFIG_VIDEO_SAA7164=m CONFIG_VIDEO_CAFE_CCIC=m -CONFIG_VIDEO_SR030PC30=m CONFIG_VIDEO_VIA_CAMERA=m -CONFIG_VIDEO_NOON010PC30=m -CONFIG_VIDEO_M5MOLS=m CONFIG_SOC_CAMERA=m CONFIG_SOC_CAMERA_IMX074=m CONFIG_SOC_CAMERA_MT9M001=m @@ -3508,6 +3599,7 @@ CONFIG_SOC_CAMERA_RJ54N1=m CONFIG_SOC_CAMERA_TW9910=m CONFIG_SOC_CAMERA_PLATFORM=m CONFIG_SOC_CAMERA_OV2640=m +CONFIG_SOC_CAMERA_OV5642=m CONFIG_SOC_CAMERA_OV6650=m CONFIG_SOC_CAMERA_OV772X=m CONFIG_SOC_CAMERA_OV9640=m @@ -3536,6 +3628,7 @@ CONFIG_USB_GSPCA_OV534_9=m CONFIG_USB_GSPCA_PAC207=m CONFIG_USB_GSPCA_PAC7302=m CONFIG_USB_GSPCA_PAC7311=m +CONFIG_USB_GSPCA_SE401=m CONFIG_USB_GSPCA_SN9C2028=m CONFIG_USB_GSPCA_SN9C20X=m CONFIG_USB_GSPCA_SONIXB=m @@ -3554,6 +3647,7 @@ CONFIG_USB_GSPCA_STK014=m CONFIG_USB_GSPCA_STV0680=m CONFIG_USB_GSPCA_SUNPLUS=m CONFIG_USB_GSPCA_T613=m +CONFIG_USB_GSPCA_TOPRO=m CONFIG_USB_GSPCA_TV8532=m CONFIG_USB_GSPCA_VC032X=m CONFIG_USB_GSPCA_VICAM=m @@ -3567,11 +3661,15 @@ CONFIG_VIDEO_HDPVR=m CONFIG_VIDEO_EM28XX=m CONFIG_VIDEO_EM28XX_ALSA=m CONFIG_VIDEO_EM28XX_DVB=m +CONFIG_VIDEO_EM28XX_RC=y CONFIG_VIDEO_TLG2300=m CONFIG_VIDEO_CX231XX=m CONFIG_VIDEO_CX231XX_RC=y CONFIG_VIDEO_CX231XX_ALSA=m CONFIG_VIDEO_CX231XX_DVB=m +CONFIG_VIDEO_TM6000=m +CONFIG_VIDEO_TM6000_ALSA=m +CONFIG_VIDEO_TM6000_DVB=m CONFIG_VIDEO_USBVISION=m CONFIG_USB_ET61X251=m CONFIG_USB_SN9C102=m @@ -3655,6 +3753,7 @@ CONFIG_DVB_USB_DTT200U=m CONFIG_DVB_USB_OPERA1=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m +CONFIG_DVB_USB_PCTV452E=m CONFIG_DVB_USB_DW2102=m CONFIG_DVB_USB_CINERGY_T2=m CONFIG_DVB_USB_ANYSEE=m @@ -3666,6 +3765,8 @@ CONFIG_DVB_USB_EC168=m CONFIG_DVB_USB_AZ6027=m CONFIG_DVB_USB_LME2510=m CONFIG_DVB_USB_TECHNISAT_USB2=m +CONFIG_DVB_USB_IT913X=m +CONFIG_DVB_USB_MXL111SF=m CONFIG_DVB_TTUSB_BUDGET=m CONFIG_DVB_TTUSB_DEC=m CONFIG_SMS_SIANO_MDTV=m @@ -3722,6 +3823,11 @@ CONFIG_DVB_HOPPER=m # CONFIG_DVB_NGENE=m +# +# Supported ddbridge ('Octopus') Adapters +# +CONFIG_DVB_DDBRIDGE=m + # # Supported DVB Frontends # @@ -3735,6 +3841,12 @@ CONFIG_DVB_STB6100=m CONFIG_DVB_STV090x=m CONFIG_DVB_STV6110x=m +# +# Multistandard (cable + terrestrial) frontends +# +CONFIG_DVB_DRXK=m +CONFIG_DVB_TDA18271C2DD=m + # # DVB-S (satellite) frontends # @@ -3761,6 +3873,7 @@ CONFIG_DVB_CX24116=m CONFIG_DVB_SI21XX=m CONFIG_DVB_DS3000=m CONFIG_DVB_MB86A16=m +CONFIG_DVB_TDA10071=m # # DVB-T (terrestrial) frontends @@ -3824,13 +3937,16 @@ CONFIG_DVB_TUNER_DIB0090=m # SEC control devices for DVB-S # CONFIG_DVB_LNBP21=m +CONFIG_DVB_LNBP22=m CONFIG_DVB_ISL6405=m CONFIG_DVB_ISL6421=m CONFIG_DVB_ISL6423=m +CONFIG_DVB_A8293=m CONFIG_DVB_LGS8GXX=m CONFIG_DVB_ATBM8830=m CONFIG_DVB_TDA665x=m CONFIG_DVB_IX2505V=m +CONFIG_DVB_IT913X_FE=m # # Tools to develop new frontends @@ -3861,13 +3977,13 @@ CONFIG_DRM_TDFX=m CONFIG_DRM_R128=m CONFIG_DRM_RADEON=m CONFIG_DRM_RADEON_KMS=y -# CONFIG_DRM_I810 is not set CONFIG_DRM_I915=m CONFIG_DRM_I915_KMS=y CONFIG_DRM_MGA=m CONFIG_DRM_SIS=m CONFIG_DRM_VIA=m CONFIG_DRM_SAVAGE=m +CONFIG_DRM_VMWGFX=m CONFIG_STUB_POULSBO=m CONFIG_VGASTATE=m CONFIG_VIDEO_OUTPUT_CONTROL=m @@ -3879,11 +3995,11 @@ 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=y -CONFIG_FB_SYS_COPYAREA=y -CONFIG_FB_SYS_IMAGEBLIT=y +CONFIG_FB_SYS_FILLRECT=m +CONFIG_FB_SYS_COPYAREA=m +CONFIG_FB_SYS_IMAGEBLIT=m # CONFIG_FB_FOREIGN_ENDIAN is not set -CONFIG_FB_SYS_FOPS=y +CONFIG_FB_SYS_FOPS=m # CONFIG_FB_WMT_GE_ROPS is not set CONFIG_FB_DEFERRED_IO=y CONFIG_FB_SVGALIB=m @@ -3959,9 +4075,10 @@ CONFIG_FB_TRIDENT=m # CONFIG_FB_GEODE is not set # CONFIG_FB_TMIO is not set # CONFIG_FB_SM501 is not set +CONFIG_FB_SMSCUFX=m CONFIG_FB_UDL=m # CONFIG_FB_VIRTUAL is not set -CONFIG_XEN_FBDEV_FRONTEND=y +CONFIG_XEN_FBDEV_FRONTEND=m # CONFIG_FB_METRONOME is not set # CONFIG_FB_MB862XX is not set # CONFIG_FB_BROADSHEET is not set @@ -3976,6 +4093,7 @@ CONFIG_LCD_VGG2432A4=m CONFIG_LCD_PLATFORM=m CONFIG_LCD_S6E63M0=m CONFIG_LCD_LD9040=m +CONFIG_LCD_AMS369FG06=m CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_BACKLIGHT_GENERIC=m CONFIG_BACKLIGHT_PROGEAR=m @@ -4102,6 +4220,7 @@ CONFIG_SND_SSCAPE=m CONFIG_SND_WAVEFRONT=m CONFIG_SND_MSND_PINNACLE=m CONFIG_SND_MSND_CLASSIC=m +CONFIG_SND_TEA575X=m CONFIG_SND_PCI=y CONFIG_SND_AD1889=m CONFIG_SND_ALS300=m @@ -4151,8 +4270,8 @@ CONFIG_SND_ES1968_INPUT=y CONFIG_SND_ES1968_RADIO=y CONFIG_SND_FM801=m CONFIG_SND_FM801_TEA575X_BOOL=y -CONFIG_SND_TEA575X=m CONFIG_SND_HDA_INTEL=m +CONFIG_SND_HDA_PREALLOC_SIZE=4096 CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_RECONFIG=y CONFIG_SND_HDA_INPUT_BEEP=y @@ -4160,6 +4279,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=1 CONFIG_SND_HDA_INPUT_JACK=y CONFIG_SND_HDA_PATCH_LOADER=y CONFIG_SND_HDA_CODEC_REALTEK=y +CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS=y CONFIG_SND_HDA_CODEC_ANALOG=y CONFIG_SND_HDA_CODEC_SIGMATEL=y CONFIG_SND_HDA_CODEC_VIA=y @@ -4167,6 +4287,7 @@ CONFIG_SND_HDA_CODEC_HDMI=y CONFIG_SND_HDA_CODEC_CIRRUS=y CONFIG_SND_HDA_CODEC_CONEXANT=y CONFIG_SND_HDA_CODEC_CA0110=y +CONFIG_SND_HDA_CODEC_CA0132=y CONFIG_SND_HDA_CODEC_CMEDIA=y CONFIG_SND_HDA_CODEC_SI3054=y CONFIG_SND_HDA_GENERIC=y @@ -4236,7 +4357,7 @@ CONFIG_USB_HIDDEV=y # CONFIG_HID_A4TECH=m CONFIG_HID_ACRUX=m -CONFIG_HID_ACRUX_FF=m +CONFIG_HID_ACRUX_FF=y CONFIG_HID_APPLE=m CONFIG_HID_BELKIN=m CONFIG_HID_CHERRY=m @@ -4248,6 +4369,8 @@ CONFIG_DRAGONRISE_FF=y CONFIG_HID_EMS_FF=m CONFIG_HID_ELECOM=m CONFIG_HID_EZKEY=m +CONFIG_HID_HOLTEK=m +CONFIG_HOLTEK_FF=y CONFIG_HID_KEYTOUCH=m CONFIG_HID_KYE=m CONFIG_HID_UCLOGIC=m @@ -4257,10 +4380,11 @@ CONFIG_HID_TWINHAN=m CONFIG_HID_KENSINGTON=m CONFIG_HID_LCPOWER=m CONFIG_HID_LOGITECH=m +CONFIG_HID_LOGITECH_DJ=m CONFIG_LOGITECH_FF=y CONFIG_LOGIRUMBLEPAD2_FF=y CONFIG_LOGIG940_FF=y -CONFIG_LOGIWII_FF=y +CONFIG_LOGIWHEELS_FF=y CONFIG_HID_MAGICMOUSE=m CONFIG_HID_MICROSOFT=m CONFIG_HID_MONTEREY=m @@ -4275,6 +4399,7 @@ CONFIG_HID_PICOLCD_FB=y CONFIG_HID_PICOLCD_BACKLIGHT=y CONFIG_HID_PICOLCD_LCD=y CONFIG_HID_PICOLCD_LEDS=y +CONFIG_HID_PRIMAX=m CONFIG_HID_QUANTA=m CONFIG_HID_ROCCAT=m CONFIG_HID_ROCCAT_COMMON=m @@ -4285,6 +4410,7 @@ CONFIG_HID_ROCCAT_KOVAPLUS=m CONFIG_HID_ROCCAT_PYRA=m CONFIG_HID_SAMSUNG=m CONFIG_HID_SONY=m +CONFIG_HID_SPEEDLINK=m CONFIG_HID_SUNPLUS=m CONFIG_HID_GREENASIA=m CONFIG_GREENASIA_FF=y @@ -4295,13 +4421,16 @@ CONFIG_HID_THRUSTMASTER=m CONFIG_THRUSTMASTER_FF=y CONFIG_HID_WACOM=m CONFIG_HID_WACOM_POWER_SUPPLY=y +CONFIG_HID_WIIMOTE=m CONFIG_HID_ZEROPLUS=m CONFIG_ZEROPLUS_FF=y CONFIG_HID_ZYDACRON=m CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=m CONFIG_USB_ARCH_HAS_HCD=y CONFIG_USB_ARCH_HAS_OHCI=y CONFIG_USB_ARCH_HAS_EHCI=y +CONFIG_USB_ARCH_HAS_XHCI=y CONFIG_USB=m # CONFIG_USB_DEBUG is not set # CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set @@ -4314,6 +4443,8 @@ CONFIG_USB_DEVICEFS=y CONFIG_USB_DYNAMIC_MINORS=y CONFIG_USB_SUSPEND=y # CONFIG_USB_OTG is not set +CONFIG_USB_DWC3=m +# CONFIG_USB_DWC3_DEBUG is not set CONFIG_USB_MON=m CONFIG_USB_WUSB=m CONFIG_USB_WUSB_CBAF=m @@ -4343,8 +4474,10 @@ CONFIG_USB_SL811_HCD=m # CONFIG_USB_SL811_HCD_ISO is not set CONFIG_USB_SL811_CS=m CONFIG_USB_R8A66597_HCD=m +CONFIG_USB_RENESAS_USBHS_HCD=m CONFIG_USB_WHCI_HCD=m CONFIG_USB_HWA_HCD=m +CONFIG_USB_RENESAS_USBHS=m # # USB Device Class drivers @@ -4364,6 +4497,7 @@ CONFIG_USB_TMC=m CONFIG_USB_STORAGE=m # CONFIG_USB_STORAGE_DEBUG is not set CONFIG_USB_STORAGE_REALTEK=m +CONFIG_REALTEK_AUTOPM=y CONFIG_USB_STORAGE_DATAFAB=m CONFIG_USB_STORAGE_FREECOM=m CONFIG_USB_STORAGE_ISD200=m @@ -4490,20 +4624,20 @@ CONFIG_USB_GADGET=m # CONFIG_USB_GADGET_DEBUG_FILES is not set # CONFIG_USB_GADGET_DEBUG_FS is not set CONFIG_USB_GADGET_VBUS_DRAW=2 -CONFIG_USB_GADGET_SELECTED=y -# CONFIG_USB_GADGET_FUSB300 is not set -# CONFIG_USB_GADGET_R8A66597 is not set -# CONFIG_USB_GADGET_PXA_U2O is not set -# CONFIG_USB_GADGET_M66592 is not set -# CONFIG_USB_GADGET_AMD5536UDC is not set -# CONFIG_USB_GADGET_CI13XXX_PCI is not set -CONFIG_USB_GADGET_NET2280=y +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 +CONFIG_USB_R8A66597=m +CONFIG_USB_GADGET_DWC3=m +CONFIG_USB_M66592=m +CONFIG_USB_AMD5536UDC=m +CONFIG_USB_CI13XXX_PCI=m +CONFIG_USB_NET2272=m +CONFIG_USB_NET2272_DMA=y CONFIG_USB_NET2280=m -# CONFIG_USB_GADGET_GOKU is not set -# CONFIG_USB_GADGET_LANGWELL is not set -# CONFIG_USB_GADGET_EG20T is not set -# CONFIG_USB_GADGET_DUMMY_HCD is not set +CONFIG_USB_GOKU=m +CONFIG_USB_EG20T=m +CONFIG_USB_DUMMY_HCD=m CONFIG_USB_GADGET_DUALSPEED=y +CONFIG_USB_GADGET_SUPERSPEED=y # CONFIG_USB_ZERO is not set CONFIG_USB_AUDIO=m CONFIG_USB_ETH=m @@ -4523,6 +4657,7 @@ CONFIG_USB_MIDI_GADGET=m CONFIG_USB_G_PRINTER=m # CONFIG_USB_CDC_COMPOSITE is not set # CONFIG_USB_G_NOKIA is not set +# CONFIG_USB_G_ACM_MS is not set # CONFIG_USB_G_MULTI is not set CONFIG_USB_G_HID=m CONFIG_USB_G_DBGP=m @@ -4564,7 +4699,6 @@ CONFIG_MMC_RICOH_MMC=y CONFIG_MMC_SDHCI_PLTFM=m CONFIG_MMC_WBSD=m CONFIG_MMC_TIFM_SD=m -# CONFIG_MMC_SPI is not set CONFIG_MMC_SDRICOH_CS=m CONFIG_MMC_CB710=m CONFIG_MMC_VIA_SDMMC=m @@ -4593,11 +4727,9 @@ CONFIG_LEDS_CLASS=y # CONFIG_LEDS_LM3530=m CONFIG_LEDS_NET5501=m -# CONFIG_LEDS_ALIX2 is not set CONFIG_LEDS_PCA9532=m CONFIG_LEDS_PCA9532_GPIO=y CONFIG_LEDS_GPIO=m -CONFIG_LEDS_GPIO_PLATFORM=y CONFIG_LEDS_LP3944=m CONFIG_LEDS_LP5521=m CONFIG_LEDS_LP5523=m @@ -4617,7 +4749,6 @@ CONFIG_LEDS_TRIGGERS=y # LED Triggers # CONFIG_LEDS_TRIGGER_TIMER=m -CONFIG_LEDS_TRIGGER_IDE_DISK=y CONFIG_LEDS_TRIGGER_HEARTBEAT=m CONFIG_LEDS_TRIGGER_BACKLIGHT=m CONFIG_LEDS_TRIGGER_GPIO=m @@ -4626,8 +4757,6 @@ CONFIG_LEDS_TRIGGER_DEFAULT_ON=m # # iptables trigger is under Netfilter config (LED target) # -CONFIG_NFC_DEVICES=y -CONFIG_PN544_NFC=m CONFIG_ACCESSIBILITY=y CONFIG_A11Y_BRAILLE_CONSOLE=y # CONFIG_INFINIBAND is not set @@ -4640,7 +4769,6 @@ CONFIG_EDAC=y CONFIG_EDAC_DECODE_MCE=m CONFIG_EDAC_MCE_INJ=m CONFIG_EDAC_MM_EDAC=m -CONFIG_EDAC_MCE=y CONFIG_EDAC_AMD76X=m CONFIG_EDAC_E7XXX=m CONFIG_EDAC_E752X=m @@ -4766,46 +4894,36 @@ CONFIG_UIO_AEC=m CONFIG_UIO_SERCOS3=m CONFIG_UIO_PCI_GENERIC=m CONFIG_UIO_NETX=m +CONFIG_VIRTIO=y +CONFIG_VIRTIO_RING=y + +# +# Virtio drivers +# +CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_BALLOON=m +CONFIG_VIRTIO_MMIO=m # # Xen driver support # CONFIG_XEN_BALLOON=y +# CONFIG_XEN_SELFBALLOONING is not set CONFIG_XEN_SCRUB_PAGES=y -CONFIG_XEN_DEV_EVTCHN=y +CONFIG_XEN_DEV_EVTCHN=m CONFIG_XEN_BACKEND=y -CONFIG_XENFS=y +CONFIG_XENFS=m CONFIG_XEN_COMPAT_XENFS=y CONFIG_XEN_SYS_HYPERVISOR=y -CONFIG_XEN_XENBUS_FRONTEND=y +CONFIG_XEN_XENBUS_FRONTEND=m CONFIG_XEN_GNTDEV=m CONFIG_XEN_GRANT_DEV_ALLOC=m -CONFIG_XEN_PLATFORM_PCI=m CONFIG_SWIOTLB_XEN=y +CONFIG_XEN_TMEM=y +CONFIG_XEN_PCIDEV_BACKEND=m CONFIG_STAGING=y -# CONFIG_DIGIEPCA is not set -# CONFIG_RISCOM8 is not set -# CONFIG_SPECIALIX is not set -# CONFIG_COMPUTONE is not set CONFIG_ET131X=m -# CONFIG_ET131X_DEBUG is not set CONFIG_SLICOSS=m -CONFIG_VIDEO_GO7007=m -CONFIG_VIDEO_GO7007_USB=m -# CONFIG_VIDEO_GO7007_USB_S2250_BOARD is not set -CONFIG_VIDEO_GO7007_OV7640=m -CONFIG_VIDEO_GO7007_SAA7113=m -CONFIG_VIDEO_GO7007_SAA7115=m -CONFIG_VIDEO_GO7007_TW9903=m -CONFIG_VIDEO_GO7007_UDA1342=m -CONFIG_VIDEO_GO7007_SONY_TUNER=m -CONFIG_VIDEO_GO7007_TW2804=m -CONFIG_VIDEO_CX25821=m -CONFIG_VIDEO_CX25821_ALSA=m -CONFIG_VIDEO_TM6000=m -CONFIG_VIDEO_TM6000_ALSA=m -CONFIG_VIDEO_TM6000_DVB=m -CONFIG_DVB_CXD2099=m CONFIG_USBIP_CORE=m CONFIG_USBIP_VHCI_HCD=m CONFIG_USBIP_HOST=m @@ -4813,10 +4931,6 @@ CONFIG_USBIP_HOST=m CONFIG_W35UND=m CONFIG_PRISM2_USB=m CONFIG_ECHO=m -CONFIG_BRCMUTIL=m -CONFIG_BRCMSMAC=m -# CONFIG_BRCMFMAC is not set -# CONFIG_BRCMDBG is not set CONFIG_COMEDI=m # CONFIG_COMEDI_DEBUG is not set CONFIG_COMEDI_MISC_DRIVERS=m @@ -4899,6 +5013,7 @@ CONFIG_COMEDI_AMPLC_PCI224=m CONFIG_COMEDI_AMPLC_PCI230=m CONFIG_COMEDI_CONTEC_PCI_DIO=m CONFIG_COMEDI_DT3000=m +CONFIG_COMEDI_DYNA_PCI10XX=m CONFIG_COMEDI_UNIOXX5=m CONFIG_COMEDI_GSC_HPDI=m CONFIG_COMEDI_ICP_MULTI=m @@ -4936,6 +5051,7 @@ CONFIG_COMEDI_USB_DRIVERS=m CONFIG_COMEDI_DT9812=m CONFIG_COMEDI_USBDUX=m CONFIG_COMEDI_USBDUXFAST=m +CONFIG_COMEDI_USBDUXSIGMA=m CONFIG_COMEDI_VMK80XX=m CONFIG_COMEDI_NI_COMMON=m CONFIG_COMEDI_MITE=m @@ -4953,10 +5069,11 @@ CONFIG_R8712U=m CONFIG_R8712_AP=y CONFIG_RTS_PSTOR=m # CONFIG_RTS_PSTOR_DEBUG is not set +CONFIG_RTS5139=m +# CONFIG_RTS5139_DEBUG is not set # CONFIG_TRANZPORT is not set CONFIG_POHMELFS=m # CONFIG_POHMELFS_DEBUG is not set -CONFIG_POHMELFS_CRYPTO=y CONFIG_IDE_PHISON=m CONFIG_LINE6_USB=m # CONFIG_LINE6_USB_DEBUG is not set @@ -4965,7 +5082,6 @@ CONFIG_LINE6_USB=m # CONFIG_LINE6_USB_DUMP_PCM is not set # CONFIG_LINE6_USB_RAW is not set # CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set -CONFIG_DRM_VMWGFX=m CONFIG_DRM_NOUVEAU=m CONFIG_DRM_NOUVEAU_BACKLIGHT=y CONFIG_DRM_NOUVEAU_DEBUG=y @@ -4979,16 +5095,12 @@ CONFIG_USB_SERIAL_QUATECH2=m CONFIG_USB_SERIAL_QUATECH_USB2=m CONFIG_VT6655=m CONFIG_VT6656=m -CONFIG_HYPERV=m CONFIG_HYPERV_STORAGE=m -CONFIG_HYPERV_BLOCK=m CONFIG_HYPERV_NET=m -CONFIG_HYPERV_UTILS=m CONFIG_HYPERV_MOUSE=m # CONFIG_VME_BUS is not set CONFIG_DX_SEP=m # CONFIG_IIO is not set -CONFIG_CS5535_GPIO=m CONFIG_XVMALLOC=y CONFIG_ZRAM=m # CONFIG_ZRAM_DEBUG is not set @@ -4996,46 +5108,9 @@ CONFIG_ZCACHE=m CONFIG_WLAGS49_H2=m CONFIG_WLAGS49_H25=m CONFIG_FB_SM7XX=m -CONFIG_VIDEO_DT3155=m -CONFIG_DT3155_CCIR=y CONFIG_CRYSTALHD=m CONFIG_FB_XGI=m -CONFIG_LIRC_STAGING=y -CONFIG_LIRC_BT829=m -CONFIG_LIRC_IGORPLUGUSB=m -CONFIG_LIRC_IMON=m -CONFIG_LIRC_PARALLEL=m -CONFIG_LIRC_SASEM=m -CONFIG_LIRC_SERIAL=m -CONFIG_LIRC_SERIAL_TRANSMITTER=y -CONFIG_LIRC_SIR=m -CONFIG_LIRC_TTUSBIR=m -CONFIG_LIRC_ZILOG=m -CONFIG_EASYCAP=m -CONFIG_EASYCAP_SND=y -# CONFIG_EASYCAP_OSS is not set -# CONFIG_EASYCAP_DEBUG is not set -CONFIG_SOLO6X10=m CONFIG_ACPI_QUICKSTART=m -CONFIG_MACH_NO_WESTBRIDGE=y -CONFIG_ATH6K_LEGACY=m -CONFIG_AR600x_SD31_XXX=y -# CONFIG_AR600x_WB31_XXX is not set -# CONFIG_AR600x_SD32_XXX is not set -# CONFIG_AR600x_CUSTOM_XXX is not set -CONFIG_ATH6KL_ENABLE_COEXISTENCE=y -CONFIG_AR600x_DUAL_ANTENNA=y -# CONFIG_AR600x_SINGLE_ANTENNA is not set -# CONFIG_AR600x_BT_QCOM is not set -# CONFIG_AR600x_BT_CSR is not set -CONFIG_AR600x_BT_AR3001=y -CONFIG_ATH6KL_HCI_BRIDGE=y -CONFIG_ATH6KL_CONFIG_GPIO_BT_RESET=y -CONFIG_AR600x_BT_RESET_PIN=22 -CONFIG_ATH6KL_HTC_RAW_INTERFACE=y -CONFIG_ATH6KL_VIRTUAL_SCATTER_GATHER=y -CONFIG_ATH6KL_SKIP_ABI_VERSION_CHECK=y -# CONFIG_ATH6KL_DEBUG is not set CONFIG_USB_ENESTORAGE=m CONFIG_BCM_WIMAX=m CONFIG_FT1000=m @@ -5064,12 +5139,40 @@ CONFIG_SPEAKUP_SYNTH_DUMMY=m CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m CONFIG_DRM_PSB=m - -# -# Altera FPGA firmware download module -# -CONFIG_ALTERA_STAPL=m +CONFIG_DRM_PSB_MRST=y +CONFIG_DRM_PSB_MFLD=y +CONFIG_DRM_PSB_CDV=y CONFIG_INTEL_MEI=m +CONFIG_STAGING_MEDIA=y +CONFIG_DVB_AS102=m +CONFIG_DVB_CXD2099=m +CONFIG_VIDEO_DT3155=m +CONFIG_DT3155_CCIR=y +CONFIG_DT3155_STREAMING=y +CONFIG_EASYCAP=m +# CONFIG_EASYCAP_DEBUG is not set +CONFIG_VIDEO_GO7007=m +CONFIG_VIDEO_GO7007_USB=m +# CONFIG_VIDEO_GO7007_USB_S2250_BOARD is not set +CONFIG_VIDEO_GO7007_OV7640=m +CONFIG_VIDEO_GO7007_SAA7113=m +CONFIG_VIDEO_GO7007_SAA7115=m +CONFIG_VIDEO_GO7007_TW9903=m +CONFIG_VIDEO_GO7007_UDA1342=m +CONFIG_VIDEO_GO7007_SONY_TUNER=m +CONFIG_VIDEO_GO7007_TW2804=m +CONFIG_SOLO6X10=m +CONFIG_LIRC_STAGING=y +CONFIG_LIRC_BT829=m +CONFIG_LIRC_IGORPLUGUSB=m +CONFIG_LIRC_IMON=m +CONFIG_LIRC_PARALLEL=m +CONFIG_LIRC_SASEM=m +CONFIG_LIRC_SERIAL=m +CONFIG_LIRC_SERIAL_TRANSMITTER=y +CONFIG_LIRC_SIR=m +CONFIG_LIRC_TTUSBIR=m +CONFIG_LIRC_ZILOG=m CONFIG_X86_PLATFORM_DEVICES=y CONFIG_ACER_WMI=m CONFIG_ACERHDF=m @@ -5114,7 +5217,25 @@ CONFIG_XO15_EBOOK=m CONFIG_SAMSUNG_LAPTOP=m CONFIG_MXM_WMI=m CONFIG_INTEL_OAKTRAIL=m +CONFIG_SAMSUNG_Q10=m + +# +# Hardware Spinlock drivers +# CONFIG_CLKSRC_I8253=y +CONFIG_CLKEVT_I8253=y +CONFIG_I8253_LOCK=y +CONFIG_CLKBLD_I8253=y +CONFIG_IOMMU_API=y +CONFIG_IOMMU_SUPPORT=y +CONFIG_DMAR_TABLE=y +CONFIG_INTEL_IOMMU=y +# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set +CONFIG_INTEL_IOMMU_FLOPPY_WA=y +CONFIG_VIRT_DRIVERS=y +CONFIG_HYPERV=m +CONFIG_HYPERV_UTILS=m +# CONFIG_PM_DEVFREQ is not set # # Firmware Drivers @@ -5270,16 +5391,24 @@ CONFIG_JFFS2_ZLIB=y # CONFIG_JFFS2_LZO is not set CONFIG_JFFS2_RTIME=y # CONFIG_JFFS2_RUBIN is not set +CONFIG_UBIFS_FS=m +CONFIG_UBIFS_FS_XATTR=y +# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set +CONFIG_UBIFS_FS_LZO=y +CONFIG_UBIFS_FS_ZLIB=y +# CONFIG_UBIFS_FS_DEBUG is not set CONFIG_LOGFS=m CONFIG_CRAMFS=m CONFIG_SQUASHFS=m CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_ZLIB=y CONFIG_SQUASHFS_LZO=y CONFIG_SQUASHFS_XZ=y +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set # CONFIG_SQUASHFS_EMBEDDED is not set CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 # CONFIG_VXFS_FS is not set -# CONFIG_MINIX_FS is not set +CONFIG_MINIX_FS=m CONFIG_OMFS_FS=m # CONFIG_HPFS_FS is not set # CONFIG_QNX4FS_FS is not set @@ -5291,6 +5420,7 @@ CONFIG_UFS_FS=m # CONFIG_UFS_DEBUG is not set CONFIG_EXOFS_FS=m # CONFIG_EXOFS_DEBUG is not set +CONFIG_ORE=m CONFIG_NETWORK_FILESYSTEMS=y CONFIG_NFS_FS=m CONFIG_NFS_V3=y @@ -5302,7 +5432,6 @@ CONFIG_NFS_FSCACHE=y CONFIG_NFS_USE_KERNEL_DNS=y # CONFIG_NFS_USE_NEW_IDMAPPER is not set CONFIG_NFSD=m -# CONFIG_NFSD_DEPRECATED is not set CONFIG_NFSD_V2_ACL=y CONFIG_NFSD_V3=y CONFIG_NFSD_V3_ACL=y @@ -5354,7 +5483,7 @@ CONFIG_PARTITION_ADVANCED=y CONFIG_MAC_PARTITION=y CONFIG_MSDOS_PARTITION=y CONFIG_BSD_DISKLABEL=y -# CONFIG_MINIX_SUBPARTITION is not set +CONFIG_MINIX_SUBPARTITION=y CONFIG_SOLARIS_X86_PARTITION=y # CONFIG_UNIXWARE_DISKLABEL is not set CONFIG_LDM_PARTITION=y @@ -5442,6 +5571,7 @@ CONFIG_TIMER_STATS=y # CONFIG_SLUB_DEBUG_ON is not set # CONFIG_SLUB_STATS is not set # CONFIG_DEBUG_KMEMLEAK is not set +# CONFIG_DEBUG_PREEMPT is not set # CONFIG_DEBUG_RT_MUTEXES is not set # CONFIG_RT_MUTEX_TESTER is not set # CONFIG_DEBUG_SPINLOCK is not set @@ -5450,11 +5580,12 @@ CONFIG_DEBUG_MUTEXES=y # CONFIG_PROVE_LOCKING is not set # CONFIG_SPARSE_RCU_POINTER is not set # CONFIG_LOCK_STAT is not set -# CONFIG_DEBUG_SPINLOCK_SLEEP is not set +# CONFIG_DEBUG_ATOMIC_SLEEP is not set # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set CONFIG_STACKTRACE=y # CONFIG_DEBUG_STACK_USAGE is not set # CONFIG_DEBUG_KOBJECT is not set +# CONFIG_DEBUG_HIGHMEM is not set CONFIG_DEBUG_BUGVERBOSE=y # CONFIG_DEBUG_INFO is not set # CONFIG_DEBUG_VM is not set @@ -5471,6 +5602,7 @@ CONFIG_FRAME_POINTER=y # CONFIG_BOOT_PRINTK_DELAY is not set # CONFIG_RCU_TORTURE_TEST is not set CONFIG_RCU_CPU_STALL_TIMEOUT=60 +# CONFIG_RCU_CPU_STALL_VERBOSE is not set # CONFIG_BACKTRACE_SELF_TEST is not set # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set @@ -5506,6 +5638,7 @@ CONFIG_FTRACE=y CONFIG_FUNCTION_TRACER=y CONFIG_FUNCTION_GRAPH_TRACER=y # CONFIG_IRQSOFF_TRACER is not set +# CONFIG_PREEMPT_TRACER is not set CONFIG_SCHED_TRACER=y CONFIG_FTRACE_SYSCALLS=y CONFIG_BRANCH_PROFILE_NONE=y @@ -5575,6 +5708,11 @@ CONFIG_SECURITY_PATH=y # CONFIG_SECURITY_SELINUX is not set # CONFIG_SECURITY_SMACK is not set CONFIG_SECURITY_TOMOYO=y +CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048 +CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024 +# CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER is not set +CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/sbin/tomoyo-init" +CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/sbin/init" CONFIG_SECURITY_APPARMOR=y CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=0 # CONFIG_IMA is not set @@ -5609,6 +5747,7 @@ CONFIG_CRYPTO_PCOMP=m CONFIG_CRYPTO_PCOMP2=y CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER2=y +CONFIG_CRYPTO_USER=m CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y CONFIG_CRYPTO_GF128MUL=m CONFIG_CRYPTO_NULL=m @@ -5671,6 +5810,7 @@ CONFIG_CRYPTO_AES_NI_INTEL=m CONFIG_CRYPTO_ANUBIS=m CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_BLOWFISH=m +CONFIG_CRYPTO_BLOWFISH_COMMON=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m @@ -5705,8 +5845,6 @@ CONFIG_CRYPTO_DEV_PADLOCK=m CONFIG_CRYPTO_DEV_PADLOCK_AES=m CONFIG_CRYPTO_DEV_PADLOCK_SHA=m CONFIG_CRYPTO_DEV_GEODE=m -CONFIG_CRYPTO_DEV_HIFN_795X=m -CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y CONFIG_HAVE_KVM=y CONFIG_HAVE_KVM_IRQCHIP=y CONFIG_HAVE_KVM_EVENTFD=y @@ -5720,10 +5858,6 @@ CONFIG_KVM_AMD=m CONFIG_KVM_MMU_AUDIT=y CONFIG_VHOST_NET=m CONFIG_LGUEST=m -CONFIG_VIRTIO=y -CONFIG_VIRTIO_RING=y -CONFIG_VIRTIO_PCI=m -CONFIG_VIRTIO_BALLOON=m CONFIG_BINARY_PRINTF=y # @@ -5739,6 +5873,7 @@ CONFIG_CRC_ITU_T=m CONFIG_CRC32=y CONFIG_CRC7=m CONFIG_LIBCRC32C=m +CONFIG_CRC8=m CONFIG_AUDIT_GENERIC=y CONFIG_ZLIB_INFLATE=y CONFIG_ZLIB_DEFLATE=m @@ -5758,6 +5893,9 @@ CONFIG_DECOMPRESS_BZIP2=y CONFIG_DECOMPRESS_LZMA=y CONFIG_DECOMPRESS_XZ=y CONFIG_DECOMPRESS_LZO=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_REED_SOLOMON=m +CONFIG_REED_SOLOMON_DEC16=y CONFIG_TEXTSEARCH=y CONFIG_TEXTSEARCH_KMP=m CONFIG_TEXTSEARCH_BM=m @@ -5771,3 +5909,4 @@ CONFIG_CPU_RMAP=y CONFIG_NLATTR=y CONFIG_LRU_CACHE=m CONFIG_AVERAGE=y +CONFIG_CORDIC=m diff --git a/kernels/linux-libre-xen/config.x86_64 b/kernels/linux-libre-xen/config.x86_64 index f377084cb..ef79ec35b 100644 --- a/kernels/linux-libre-xen/config.x86_64 +++ b/kernels/linux-libre-xen/config.x86_64 @@ -1,6 +1,6 @@ # -# Automatically generated make config: don't edit -# Linux/x86_64 3.0.0 Kernel Configuration +# Automatically generated file; DO NOT EDIT. +# Linux/x86_64 3.2.6-libre Kernel Configuration # CONFIG_64BIT=y # CONFIG_X86_32 is not set @@ -12,6 +12,7 @@ CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig" CONFIG_GENERIC_CMOS_UPDATE=y CONFIG_CLOCKSOURCE_WATCHDOG=y CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_ARCH_CLOCKSOURCE_DATA=y CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y CONFIG_LOCKDEP_SUPPORT=y CONFIG_STACKTRACE_SUPPORT=y @@ -38,7 +39,6 @@ CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y CONFIG_HAVE_SETUP_PER_CPU_AREA=y CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y -CONFIG_HAVE_CPUMASK_OF_CPU_MAP=y CONFIG_ARCH_HIBERNATION_POSSIBLE=y CONFIG_ARCH_SUSPEND_POSSIBLE=y CONFIG_ZONE_DMA32=y @@ -101,12 +101,14 @@ CONFIG_HAVE_SPARSE_IRQ=y CONFIG_GENERIC_IRQ_PROBE=y CONFIG_GENERIC_IRQ_SHOW=y CONFIG_GENERIC_PENDING_IRQ=y +CONFIG_GENERIC_IRQ_CHIP=y CONFIG_IRQ_FORCED_THREADING=y -# CONFIG_SPARSE_IRQ is not set +CONFIG_SPARSE_IRQ=y # # RCU Subsystem # +# CONFIG_TREE_RCU is not set CONFIG_TREE_PREEMPT_RCU=y CONFIG_PREEMPT_RCU=y # CONFIG_RCU_TRACE is not set @@ -132,6 +134,7 @@ CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y # CONFIG_CGROUP_PERF is not set CONFIG_CGROUP_SCHED=y CONFIG_FAIR_GROUP_SCHED=y +CONFIG_CFS_BANDWIDTH=y CONFIG_RT_GROUP_SCHED=y CONFIG_BLK_CGROUP=y # CONFIG_DEBUG_BLK_CGROUP is not set @@ -157,7 +160,7 @@ CONFIG_SYSCTL=y CONFIG_ANON_INODES=y # CONFIG_EXPERT is not set CONFIG_UID16=y -CONFIG_SYSCTL_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set CONFIG_KALLSYMS=y # CONFIG_KALLSYMS_ALL is not set CONFIG_HOTPLUG=y @@ -165,6 +168,7 @@ CONFIG_PRINTK=y CONFIG_BUG=y CONFIG_ELF_CORE=y CONFIG_PCSPKR_PLATFORM=y +CONFIG_HAVE_PCSPKR_PLATFORM=y CONFIG_BASE_FULL=y CONFIG_FUTEX=y CONFIG_EPOLL=y @@ -211,6 +215,7 @@ CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y CONFIG_HAVE_USER_RETURN_NOTIFIER=y CONFIG_HAVE_PERF_EVENTS_NMI=y CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y # # GCOV-based kernel profiling @@ -224,11 +229,12 @@ CONFIG_MODULES=y CONFIG_MODULE_FORCE_LOAD=y CONFIG_MODULE_UNLOAD=y CONFIG_MODULE_FORCE_UNLOAD=y -# CONFIG_MODVERSIONS is not set +CONFIG_MODVERSIONS=y # CONFIG_MODULE_SRCVERSION_ALL is not set CONFIG_STOP_MACHINE=y CONFIG_BLOCK=y CONFIG_BLK_DEV_BSG=y +CONFIG_BLK_DEV_BSGLIB=y # CONFIG_BLK_DEV_INTEGRITY is not set CONFIG_BLK_DEV_THROTTLING=y CONFIG_BLOCK_COMPAT=y @@ -284,12 +290,15 @@ CONFIG_TICK_ONESHOT=y CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y CONFIG_GENERIC_CLOCKEVENTS_BUILD=y +CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y CONFIG_SMP=y +# CONFIG_X86_X2APIC is not set CONFIG_X86_MPPARSE=y # CONFIG_X86_EXTENDED_PLATFORM is not set CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y CONFIG_SCHED_OMIT_FRAME_POINTER=y CONFIG_PARAVIRT_GUEST=y +# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set CONFIG_XEN=y CONFIG_XEN_DOM0=y CONFIG_XEN_PRIVILEGED_GUEST=y @@ -297,7 +306,6 @@ CONFIG_XEN_PVHVM=y CONFIG_XEN_MAX_DOMAIN_MEMORY=128 CONFIG_XEN_SAVE_RESTORE=y # CONFIG_XEN_DEBUG_FS is not set -# CONFIG_XEN_DEBUG is not set CONFIG_KVM_CLOCK=y CONFIG_KVM_GUEST=y CONFIG_PARAVIRT=y @@ -314,6 +322,7 @@ CONFIG_GENERIC_CPU=y CONFIG_X86_INTERNODE_CACHE_SHIFT=7 CONFIG_X86_CMPXCHG=y CONFIG_CMPXCHG_LOCAL=y +CONFIG_CMPXCHG_DOUBLE=y CONFIG_X86_L1_CACHE_SHIFT=6 CONFIG_X86_XADD=y CONFIG_X86_WP_WORKS_OK=y @@ -331,11 +340,8 @@ CONFIG_DMI=y CONFIG_GART_IOMMU=y CONFIG_CALGARY_IOMMU=y CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y -CONFIG_AMD_IOMMU=y -# CONFIG_AMD_IOMMU_STATS is not set CONFIG_SWIOTLB=y CONFIG_IOMMU_HELPER=y -CONFIG_IOMMU_API=y # CONFIG_MAXSMP is not set CONFIG_NR_CPUS=64 CONFIG_SCHED_SMT=y @@ -344,6 +350,7 @@ CONFIG_SCHED_MC=y # CONFIG_PREEMPT_NONE is not set # CONFIG_PREEMPT_VOLUNTARY is not set CONFIG_PREEMPT=y +CONFIG_PREEMPT_COUNT=y CONFIG_X86_LOCAL_APIC=y CONFIG_X86_IO_APIC=y CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y @@ -415,6 +422,7 @@ CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0 CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1 CONFIG_X86_PAT=y CONFIG_ARCH_USES_PG_UNCACHED=y +CONFIG_ARCH_RANDOM=y CONFIG_EFI=y CONFIG_SECCOMP=y CONFIG_CC_STACKPROTECTOR=y @@ -457,10 +465,10 @@ CONFIG_CAN_PM_TRACE=y # CONFIG_PM_TRACE_RTC is not set CONFIG_ACPI=y CONFIG_ACPI_SLEEP=y -CONFIG_ACPI_PROCFS=y +# CONFIG_ACPI_PROCFS is not set # CONFIG_ACPI_PROCFS_POWER is not set CONFIG_ACPI_EC_DEBUGFS=m -CONFIG_ACPI_PROC_EVENT=y +# CONFIG_ACPI_PROC_EVENT is not set CONFIG_ACPI_AC=m CONFIG_ACPI_BATTERY=m CONFIG_ACPI_BUTTON=m @@ -481,11 +489,12 @@ CONFIG_X86_PM_TIMER=y CONFIG_ACPI_CONTAINER=m CONFIG_ACPI_HOTPLUG_MEMORY=m CONFIG_ACPI_SBS=m -CONFIG_ACPI_HED=m +CONFIG_ACPI_HED=y CONFIG_ACPI_CUSTOM_METHOD=m CONFIG_ACPI_APEI=y -CONFIG_ACPI_APEI_GHES=m +CONFIG_ACPI_APEI_GHES=y CONFIG_ACPI_APEI_PCIEAER=y +CONFIG_ACPI_APEI_MEMORY_FAILURE=y CONFIG_ACPI_APEI_EINJ=m CONFIG_ACPI_APEI_ERST_DEBUG=m CONFIG_SFI=y @@ -540,10 +549,6 @@ CONFIG_PCI_MMCONFIG=y CONFIG_PCI_XEN=y CONFIG_PCI_DOMAINS=y # CONFIG_PCI_CNB20LE_QUIRK is not set -CONFIG_DMAR=y -# CONFIG_DMAR_DEFAULT_ON is not set -CONFIG_DMAR_FLOPPY_WA=y -# CONFIG_INTR_REMAP is not set CONFIG_PCIEPORTBUS=y CONFIG_HOTPLUG_PCI_PCIE=m CONFIG_PCIEAER=y @@ -558,7 +563,10 @@ CONFIG_PCI_MSI=y CONFIG_PCI_STUB=m CONFIG_XEN_PCIDEV_FRONTEND=m CONFIG_HT_IRQ=y +CONFIG_PCI_ATS=y CONFIG_PCI_IOV=y +CONFIG_PCI_PRI=y +CONFIG_PCI_PASID=y CONFIG_PCI_IOAPIC=y CONFIG_PCI_LABEL=y CONFIG_ISA_DMA_API=y @@ -589,14 +597,15 @@ CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m CONFIG_HOTPLUG_PCI_SHPC=m CONFIG_RAPIDIO=y +# CONFIG_RAPIDIO_TSI721 is not set CONFIG_RAPIDIO_DISC_TIMEOUT=30 # CONFIG_RAPIDIO_ENABLE_RX_TX_PORTS is not set +CONFIG_RAPIDIO_DEBUG=y CONFIG_RAPIDIO_TSI57X=y CONFIG_RAPIDIO_CPS_XX=y CONFIG_RAPIDIO_TSI568=y CONFIG_RAPIDIO_CPS_GEN2=y CONFIG_RAPIDIO_TSI500=y -CONFIG_RAPIDIO_DEBUG=y # # Executable file formats / Emulations @@ -822,6 +831,7 @@ CONFIG_IP_SET_HASH_IPPORTIP=m CONFIG_IP_SET_HASH_IPPORTNET=m CONFIG_IP_SET_HASH_NET=m CONFIG_IP_SET_HASH_NETPORT=m +CONFIG_IP_SET_HASH_NETIFACE=m CONFIG_IP_SET_LIST_SET=m CONFIG_IP_VS=m # CONFIG_IP_VS_IPV6 is not set @@ -1002,6 +1012,7 @@ CONFIG_IPDDP_DECAP=y # CONFIG_WAN_ROUTER is not set CONFIG_PHONET=m CONFIG_IEEE802154=m +# CONFIG_IEEE802154_6LOWPAN is not set CONFIG_NET_SCHED=y # @@ -1210,6 +1221,16 @@ CONFIG_CAIF=m CONFIG_CAIF_NETDEV=m CONFIG_CEPH_LIB=m # CONFIG_CEPH_LIB_PRETTYDEBUG is not set +# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set +CONFIG_NFC=m +CONFIG_NFC_NCI=m + +# +# Near Field Communication (NFC) devices +# +CONFIG_PN544_NFC=m +CONFIG_NFC_PN533=m +CONFIG_NFC_WILINK=m # # Device Drivers @@ -1229,11 +1250,17 @@ CONFIG_EXTRA_FIRMWARE="" # CONFIG_DEBUG_DRIVER is not set # CONFIG_DEBUG_DEVRES is not set CONFIG_SYS_HYPERVISOR=y -CONFIG_CONNECTOR=m +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=m +CONFIG_REGMAP_SPI=y +CONFIG_CONNECTOR=y +CONFIG_PROC_EVENTS=y CONFIG_MTD=m -# CONFIG_MTD_DEBUG is not set CONFIG_MTD_TESTS=m -# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_REDBOOT_PARTS=m +CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 +# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set +# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set # CONFIG_MTD_AR7_PARTS is not set # @@ -1242,21 +1269,24 @@ CONFIG_MTD_TESTS=m CONFIG_MTD_CHAR=m CONFIG_MTD_BLKDEVS=m CONFIG_MTD_BLOCK=m -# CONFIG_MTD_BLOCK_RO is not set -# CONFIG_FTL is not set -# CONFIG_NFTL is not set -# CONFIG_INFTL is not set -# CONFIG_RFD_FTL is not set -# CONFIG_SSFDC is not set -CONFIG_SM_FTL=m -# CONFIG_MTD_OOPS is not set +CONFIG_MTD_BLOCK_RO=m +CONFIG_FTL=m +CONFIG_NFTL=m +CONFIG_NFTL_RW=y +CONFIG_INFTL=m +CONFIG_RFD_FTL=m +CONFIG_SSFDC=m +# CONFIG_SM_FTL is not set +CONFIG_MTD_OOPS=m CONFIG_MTD_SWAP=m # # RAM/ROM/Flash chip drivers # -# CONFIG_MTD_CFI is not set -# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_CFI=m +CONFIG_MTD_JEDECPROBE=m +CONFIG_MTD_GEN_PROBE=m +# CONFIG_MTD_CFI_ADV_OPTIONS is not set CONFIG_MTD_MAP_BANK_WIDTH_1=y CONFIG_MTD_MAP_BANK_WIDTH_2=y CONFIG_MTD_MAP_BANK_WIDTH_4=y @@ -1267,29 +1297,52 @@ CONFIG_MTD_CFI_I1=y CONFIG_MTD_CFI_I2=y # CONFIG_MTD_CFI_I4 is not set # CONFIG_MTD_CFI_I8 is not set +CONFIG_MTD_CFI_INTELEXT=m +CONFIG_MTD_CFI_AMDSTD=m +CONFIG_MTD_CFI_STAA=m +CONFIG_MTD_CFI_UTIL=m CONFIG_MTD_RAM=m -# CONFIG_MTD_ROM is not set -# CONFIG_MTD_ABSENT is not set +CONFIG_MTD_ROM=m +CONFIG_MTD_ABSENT=m # # Mapping drivers for chip access # -# CONFIG_MTD_COMPLEX_MAPPINGS is not set -# CONFIG_MTD_TS5500 is not set +CONFIG_MTD_COMPLEX_MAPPINGS=y +# CONFIG_MTD_PHYSMAP is not set +CONFIG_MTD_SC520CDP=m +CONFIG_MTD_NETSC520=m +CONFIG_MTD_TS5500=m +# CONFIG_MTD_SBC_GXX is not set +# CONFIG_MTD_AMD76XROM is not set +# CONFIG_MTD_ICHXROM is not set +# CONFIG_MTD_ESB2ROM is not set +# CONFIG_MTD_CK804XROM is not set +CONFIG_MTD_SCB2_FLASH=m +# CONFIG_MTD_NETtel is not set +# CONFIG_MTD_L440GX is not set +CONFIG_MTD_PCI=m +# CONFIG_MTD_PCMCIA is not set +# CONFIG_MTD_GPIO_ADDR is not set # CONFIG_MTD_INTEL_VR_NOR is not set CONFIG_MTD_PLATRAM=m +# CONFIG_MTD_LATCH_ADDR is not set # # Self-contained MTD device drivers # -# CONFIG_MTD_PMC551 is not set +CONFIG_MTD_PMC551=m +# CONFIG_MTD_PMC551_BUGFIX is not set +# CONFIG_MTD_PMC551_DEBUG is not set # CONFIG_MTD_DATAFLASH is not set # CONFIG_MTD_M25P80 is not set -CONFIG_MTD_SST25L=m -CONFIG_MTD_SLRAM=m +# CONFIG_MTD_SST25L is not set +# CONFIG_MTD_SLRAM is not set CONFIG_MTD_PHRAM=m -# CONFIG_MTD_MTDRAM is not set -# CONFIG_MTD_BLOCK2MTD is not set +CONFIG_MTD_MTDRAM=m +CONFIG_MTDRAM_TOTAL_SIZE=4096 +CONFIG_MTDRAM_ERASE_SIZE=128 +CONFIG_MTD_BLOCK2MTD=m # # Disk-On-Chip Device Drivers @@ -1297,16 +1350,37 @@ CONFIG_MTD_PHRAM=m # CONFIG_MTD_DOC2000 is not set # CONFIG_MTD_DOC2001 is not set # CONFIG_MTD_DOC2001PLUS is not set +CONFIG_MTD_DOCG3=m CONFIG_MTD_NAND_ECC=m CONFIG_MTD_NAND_ECC_SMC=y -# CONFIG_MTD_NAND is not set +CONFIG_MTD_NAND=m +# CONFIG_MTD_NAND_VERIFY_WRITE is not set +# CONFIG_MTD_NAND_ECC_BCH is not set +CONFIG_MTD_SM_COMMON=m +# CONFIG_MTD_NAND_MUSEUM_IDS is not set +# CONFIG_MTD_NAND_DENALI is not set +CONFIG_MTD_NAND_IDS=m +CONFIG_MTD_NAND_RICOH=m +CONFIG_MTD_NAND_DISKONCHIP=m +# CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set +CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0 +# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set +# CONFIG_MTD_NAND_CAFE is not set +CONFIG_MTD_NAND_NANDSIM=m +# CONFIG_MTD_NAND_PLATFORM is not set +CONFIG_MTD_ALAUDA=m # CONFIG_MTD_ONENAND is not set # # LPDDR flash memory drivers # -# CONFIG_MTD_LPDDR is not set -# CONFIG_MTD_UBI is not set +CONFIG_MTD_LPDDR=m +CONFIG_MTD_QINFO_PROBE=m +CONFIG_MTD_UBI=m +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +CONFIG_MTD_UBI_BEB_RESERVE=1 +# CONFIG_MTD_UBI_GLUEBI is not set +# CONFIG_MTD_UBI_DEBUG is not set CONFIG_PARPORT=m CONFIG_PARPORT_PC=m CONFIG_PARPORT_SERIAL=m @@ -1334,6 +1408,7 @@ CONFIG_BLK_DEV_DAC960=m # CONFIG_BLK_DEV_UMEM is not set # CONFIG_BLK_DEV_COW_COMMON is not set CONFIG_BLK_DEV_LOOP=m +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 CONFIG_BLK_DEV_CRYPTOLOOP=m CONFIG_BLK_DEV_DRBD=m # CONFIG_DRBD_FAULT_INJECTION is not set @@ -1384,6 +1459,7 @@ CONFIG_TI_DAC7512=m CONFIG_VMWARE_BALLOON=m CONFIG_BMP085=m CONFIG_PCH_PHUB=m +CONFIG_USB_SWITCH_FSA9480=m CONFIG_C2PORT=m CONFIG_C2PORT_DURAMAR_2150=m @@ -1395,6 +1471,7 @@ CONFIG_EEPROM_AT25=m CONFIG_EEPROM_LEGACY=m CONFIG_EEPROM_MAX6875=m CONFIG_EEPROM_93CX6=m +CONFIG_EEPROM_93XX46=m CONFIG_CB710_CORE=m # CONFIG_CB710_DEBUG is not set CONFIG_CB710_DEBUG_ASSUMPTIONS=y @@ -1407,73 +1484,13 @@ CONFIG_IWMC3200TOP=m # CONFIG_TI_ST=m CONFIG_SENSORS_LIS3_I2C=m + +# +# Altera FPGA firmware download module +# +CONFIG_ALTERA_STAPL=m CONFIG_HAVE_IDE=y -CONFIG_IDE=m - -# -# Please see Documentation/ide/ide.txt for help/info on IDE drives -# -CONFIG_IDE_XFER_MODE=y -CONFIG_IDE_TIMINGS=y -CONFIG_IDE_ATAPI=y -# CONFIG_BLK_DEV_IDE_SATA is not set -CONFIG_IDE_GD=m -CONFIG_IDE_GD_ATA=y -CONFIG_IDE_GD_ATAPI=y -CONFIG_BLK_DEV_IDECS=m -CONFIG_BLK_DEV_DELKIN=m -CONFIG_BLK_DEV_IDECD=m -CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y -CONFIG_BLK_DEV_IDETAPE=m -CONFIG_BLK_DEV_IDEACPI=y -# CONFIG_IDE_TASK_IOCTL is not set -CONFIG_IDE_PROC_FS=y - -# -# IDE chipset support/bugfixes -# -CONFIG_IDE_GENERIC=m -CONFIG_BLK_DEV_PLATFORM=m -CONFIG_BLK_DEV_CMD640=m -# CONFIG_BLK_DEV_CMD640_ENHANCED is not set -CONFIG_BLK_DEV_IDEPNP=m -CONFIG_BLK_DEV_IDEDMA_SFF=y - -# -# PCI IDE chipsets support -# -CONFIG_BLK_DEV_IDEPCI=y -# CONFIG_BLK_DEV_OFFBOARD is not set -CONFIG_BLK_DEV_GENERIC=m -CONFIG_BLK_DEV_OPTI621=m -CONFIG_BLK_DEV_RZ1000=m -CONFIG_BLK_DEV_IDEDMA_PCI=y -CONFIG_BLK_DEV_AEC62XX=m -CONFIG_BLK_DEV_ALI15X3=m -CONFIG_BLK_DEV_AMD74XX=m -CONFIG_BLK_DEV_ATIIXP=m -CONFIG_BLK_DEV_CMD64X=m -CONFIG_BLK_DEV_TRIFLEX=m -CONFIG_BLK_DEV_CS5520=m -CONFIG_BLK_DEV_CS5530=m -CONFIG_BLK_DEV_HPT366=m -CONFIG_BLK_DEV_JMICRON=m -CONFIG_BLK_DEV_SC1200=m -CONFIG_BLK_DEV_PIIX=m -CONFIG_BLK_DEV_IT8172=m -CONFIG_BLK_DEV_IT8213=m -CONFIG_BLK_DEV_IT821X=m -CONFIG_BLK_DEV_NS87415=m -CONFIG_BLK_DEV_PDC202XX_OLD=m -CONFIG_BLK_DEV_PDC202XX_NEW=m -CONFIG_BLK_DEV_SVWKS=m -CONFIG_BLK_DEV_SIIMAGE=m -CONFIG_BLK_DEV_SIS5513=m -CONFIG_BLK_DEV_SLC90E66=m -CONFIG_BLK_DEV_TRM290=m -CONFIG_BLK_DEV_VIA82CXXX=m -CONFIG_BLK_DEV_TC86C001=m -CONFIG_BLK_DEV_IDEDMA=y +# CONFIG_IDE is not set # # SCSI device support @@ -1547,10 +1564,11 @@ CONFIG_SCSI_AIC94XX=m # CONFIG_AIC94XX_DEBUG is not set CONFIG_SCSI_MVSAS=m # CONFIG_SCSI_MVSAS_DEBUG is not set +CONFIG_SCSI_MVSAS_TASKLET=y +CONFIG_SCSI_MVUMI=m CONFIG_SCSI_DPT_I2O=m CONFIG_SCSI_ADVANSYS=m CONFIG_SCSI_ARCMSR=m -CONFIG_SCSI_ARCMSR_AER=y CONFIG_MEGARAID_NEWGEN=y CONFIG_MEGARAID_MM=m CONFIG_MEGARAID_MAILBOX=m @@ -1725,8 +1743,13 @@ CONFIG_MD_MULTIPATH=m CONFIG_MD_FAULTY=m CONFIG_BLK_DEV_DM=m # CONFIG_DM_DEBUG is not set +CONFIG_DM_BUFIO=m +CONFIG_DM_PERSISTENT_DATA=m CONFIG_DM_CRYPT=m CONFIG_DM_SNAPSHOT=m +CONFIG_DM_THIN_PROVISIONING=m +# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set +# CONFIG_DM_DEBUG_SPACE_MAPS is not set CONFIG_DM_MIRROR=m CONFIG_DM_RAID=m CONFIG_DM_LOG_USERSPACE=m @@ -1742,8 +1765,8 @@ CONFIG_TCM_IBLOCK=m CONFIG_TCM_FILEIO=m CONFIG_TCM_PSCSI=m CONFIG_LOOPBACK_TARGET=m -# CONFIG_LOOPBACK_TARGET_CDB_DEBUG is not set CONFIG_TCM_FC=m +CONFIG_ISCSI_TARGET=m CONFIG_FUSION=y CONFIG_FUSION_SPI=m CONFIG_FUSION_FC=m @@ -1774,48 +1797,110 @@ CONFIG_I2O_PROC=m CONFIG_MACINTOSH_DRIVERS=y CONFIG_MAC_EMUMOUSEBTN=y CONFIG_NETDEVICES=y -CONFIG_IFB=m -CONFIG_DUMMY=m +CONFIG_NET_CORE=y CONFIG_BONDING=m +CONFIG_DUMMY=m +CONFIG_EQUALIZER=m +# CONFIG_NET_FC is not set +CONFIG_MII=m +CONFIG_IEEE802154_DRIVERS=m +CONFIG_IEEE802154_FAKEHARD=m +CONFIG_IFB=m CONFIG_MACVLAN=m CONFIG_MACVTAP=m -CONFIG_EQUALIZER=m +CONFIG_NETCONSOLE=m +CONFIG_NETCONSOLE_DYNAMIC=y +CONFIG_NETPOLL=y +# CONFIG_NETPOLL_TRAP is not set +CONFIG_NET_POLL_CONTROLLER=y +CONFIG_RIONET=m +CONFIG_RIONET_TX_SIZE=128 +CONFIG_RIONET_RX_SIZE=128 CONFIG_TUN=m CONFIG_VETH=m -CONFIG_NET_SB1000=m +CONFIG_VIRTIO_NET=m +CONFIG_SUNGEM_PHY=m # CONFIG_ARCNET is not set -CONFIG_MII=m -CONFIG_PHYLIB=m +CONFIG_ATM_DRIVERS=y +# CONFIG_ATM_DUMMY is not set +CONFIG_ATM_TCP=m +CONFIG_ATM_LANAI=m +CONFIG_ATM_ENI=m +# CONFIG_ATM_ENI_DEBUG is not set +# CONFIG_ATM_ENI_TUNE_BURST is not set +CONFIG_ATM_FIRESTREAM=m +CONFIG_ATM_ZATM=m +# CONFIG_ATM_ZATM_DEBUG is not set +CONFIG_ATM_NICSTAR=m +# CONFIG_ATM_NICSTAR_USE_SUNI is not set +# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set +CONFIG_ATM_IDT77252=m +# CONFIG_ATM_IDT77252_DEBUG is not set +# CONFIG_ATM_IDT77252_RCV_ALL is not set +CONFIG_ATM_IDT77252_USE_SUNI=y +CONFIG_ATM_AMBASSADOR=m +# CONFIG_ATM_AMBASSADOR_DEBUG is not set +CONFIG_ATM_HORIZON=m +# CONFIG_ATM_HORIZON_DEBUG is not set +CONFIG_ATM_IA=m +# CONFIG_ATM_IA_DEBUG is not set +CONFIG_ATM_FORE200E=m +# CONFIG_ATM_FORE200E_USE_TASKLET is not set +CONFIG_ATM_FORE200E_TX_RETRY=16 +CONFIG_ATM_FORE200E_DEBUG=0 +CONFIG_ATM_HE=m +# CONFIG_ATM_HE_USE_SUNI is not set +CONFIG_ATM_SOLOS=m # -# MII PHY device drivers +# CAIF transport drivers # -CONFIG_MARVELL_PHY=m -CONFIG_DAVICOM_PHY=m -CONFIG_QSEMI_PHY=m -CONFIG_LXT_PHY=m -CONFIG_CICADA_PHY=m -CONFIG_VITESSE_PHY=m -CONFIG_SMSC_PHY=m -CONFIG_BROADCOM_PHY=m -CONFIG_ICPLUS_PHY=m -CONFIG_REALTEK_PHY=m -CONFIG_NATIONAL_PHY=m -CONFIG_STE10XP=m -CONFIG_LSI_ET1011C_PHY=m -CONFIG_MICREL_PHY=m -# CONFIG_MDIO_BITBANG is not set -CONFIG_NET_ETHERNET=y -CONFIG_HAPPYMEAL=m -CONFIG_SUNGEM=m -CONFIG_CASSINI=m +CONFIG_CAIF_TTY=m +CONFIG_CAIF_SPI_SLAVE=m +CONFIG_CAIF_SPI_SYNC=y +# CONFIG_CAIF_HSI is not set +CONFIG_ETHERNET=y +CONFIG_MDIO=m CONFIG_NET_VENDOR_3COM=y +CONFIG_PCMCIA_3C574=m +CONFIG_PCMCIA_3C589=m CONFIG_VORTEX=m CONFIG_TYPHOON=m -CONFIG_ENC28J60=m -# CONFIG_ENC28J60_WRITEVERIFY is not set -CONFIG_ETHOC=m +CONFIG_NET_VENDOR_ADAPTEC=y +CONFIG_ADAPTEC_STARFIRE=m +CONFIG_NET_VENDOR_ALTEON=y +CONFIG_ACENIC=m +# CONFIG_ACENIC_OMIT_TIGON_I is not set +CONFIG_NET_VENDOR_AMD=y +CONFIG_AMD8111_ETH=m +CONFIG_PCNET32=m +CONFIG_PCMCIA_NMCLAN=m +CONFIG_NET_VENDOR_ATHEROS=y +CONFIG_ATL2=m +CONFIG_ATL1=m +CONFIG_ATL1E=m +CONFIG_ATL1C=m +CONFIG_NET_VENDOR_BROADCOM=y +CONFIG_B44=m +CONFIG_B44_PCI_AUTOSELECT=y +CONFIG_B44_PCICORE_AUTOSELECT=y +CONFIG_B44_PCI=y +CONFIG_BNX2=m +CONFIG_CNIC=m +CONFIG_TIGON3=m +CONFIG_BNX2X=m +CONFIG_NET_VENDOR_BROCADE=y +CONFIG_BNA=m +CONFIG_NET_VENDOR_CHELSIO=y +CONFIG_CHELSIO_T1=m +CONFIG_CHELSIO_T1_1G=y +CONFIG_CHELSIO_T3=m +CONFIG_CHELSIO_T4=m +CONFIG_CHELSIO_T4VF=m +CONFIG_NET_VENDOR_CISCO=y +CONFIG_ENIC=m CONFIG_DNET=m +CONFIG_NET_VENDOR_DEC=y CONFIG_NET_TULIP=y CONFIG_DE2104X=m CONFIG_DE2104X_DSL=0 @@ -1828,115 +1913,203 @@ CONFIG_WINBOND_840=m CONFIG_DM9102=m CONFIG_ULI526X=m CONFIG_PCMCIA_XIRCOM=m -CONFIG_HP100=m -# CONFIG_IBM_NEW_EMAC_ZMII is not set -# CONFIG_IBM_NEW_EMAC_RGMII is not set -# CONFIG_IBM_NEW_EMAC_TAH is not set -# CONFIG_IBM_NEW_EMAC_EMAC4 is not set -# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set -# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set -# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set -CONFIG_NET_PCI=y -CONFIG_PCNET32=m -CONFIG_AMD8111_ETH=m -CONFIG_ADAPTEC_STARFIRE=m -CONFIG_KSZ884X_PCI=m -CONFIG_B44=m -CONFIG_B44_PCI_AUTOSELECT=y -CONFIG_B44_PCICORE_AUTOSELECT=y -CONFIG_B44_PCI=y -CONFIG_FORCEDETH=m -CONFIG_E100=m -CONFIG_FEALNX=m -CONFIG_NATSEMI=m -CONFIG_NE2K_PCI=m -CONFIG_8139CP=m -CONFIG_8139TOO=m -# CONFIG_8139TOO_PIO is not set -CONFIG_8139TOO_TUNE_TWISTER=y -CONFIG_8139TOO_8129=y -# CONFIG_8139_OLD_RX_RESET is not set -CONFIG_R6040=m -CONFIG_SIS900=m -CONFIG_EPIC100=m -CONFIG_SMSC9420=m -CONFIG_SUNDANCE=m -# CONFIG_SUNDANCE_MMIO is not set -CONFIG_TLAN=m -CONFIG_KS8842=m -CONFIG_KS8851=m -CONFIG_KS8851_MLL=m -CONFIG_VIA_RHINE=m -# CONFIG_VIA_RHINE_MMIO is not set -CONFIG_SC92031=m -CONFIG_NET_POCKET=y -CONFIG_ATP=m +CONFIG_NET_VENDOR_DLINK=y CONFIG_DE600=m CONFIG_DE620=m -CONFIG_ATL2=m -CONFIG_NETDEV_1000=y -CONFIG_ACENIC=m -# CONFIG_ACENIC_OMIT_TIGON_I is not set CONFIG_DL2K=m +CONFIG_SUNDANCE=m +# CONFIG_SUNDANCE_MMIO is not set +CONFIG_NET_VENDOR_EMULEX=y +CONFIG_BE2NET=m +CONFIG_NET_VENDOR_EXAR=y +CONFIG_S2IO=m +CONFIG_VXGE=m +# CONFIG_VXGE_DEBUG_TRACE_ALL is not set +CONFIG_NET_VENDOR_FUJITSU=y +CONFIG_PCMCIA_FMVJ18X=m +CONFIG_NET_VENDOR_HP=y +CONFIG_HP100=m +CONFIG_NET_VENDOR_INTEL=y +CONFIG_E100=m CONFIG_E1000=m CONFIG_E1000E=m -CONFIG_IP1000=m CONFIG_IGB=m CONFIG_IGB_DCA=y CONFIG_IGBVF=m -CONFIG_NS83820=m -CONFIG_HAMACHI=m -CONFIG_YELLOWFIN=m -CONFIG_R8169=m -CONFIG_SIS190=m +CONFIG_IXGB=m +CONFIG_IXGBE=m +CONFIG_IXGBE_DCA=y +CONFIG_IXGBEVF=m +CONFIG_NET_VENDOR_I825XX=y +# CONFIG_ZNET is not set +CONFIG_IP1000=m +CONFIG_JME=m +CONFIG_NET_VENDOR_MARVELL=y CONFIG_SKGE=m # CONFIG_SKGE_DEBUG is not set +CONFIG_SKGE_GENESIS=y CONFIG_SKY2=m # CONFIG_SKY2_DEBUG is not set -CONFIG_VIA_VELOCITY=m -CONFIG_TIGON3=m -CONFIG_BNX2=m -CONFIG_CNIC=m -CONFIG_QLA3XXX=m -CONFIG_ATL1=m -CONFIG_ATL1E=m -CONFIG_ATL1C=m -CONFIG_JME=m -CONFIG_STMMAC_ETH=m -# CONFIG_STMMAC_DA is not set -CONFIG_STMMAC_DUAL_MAC=y -CONFIG_PCH_GBE=m -CONFIG_NETDEV_10000=y -CONFIG_MDIO=m -CONFIG_CHELSIO_T1=m -CONFIG_CHELSIO_T1_1G=y -CONFIG_CHELSIO_T3=m -CONFIG_CHELSIO_T4=m -CONFIG_CHELSIO_T4VF=m -CONFIG_ENIC=m -CONFIG_IXGBE=m -CONFIG_IXGBE_DCA=y -CONFIG_IXGBEVF=m -CONFIG_IXGB=m -CONFIG_S2IO=m -CONFIG_VXGE=m -# CONFIG_VXGE_DEBUG_TRACE_ALL is not set -CONFIG_MYRI10GE=m -CONFIG_MYRI10GE_DCA=y -CONFIG_NETXEN_NIC=m -CONFIG_NIU=m +CONFIG_NET_VENDOR_MELLANOX=y CONFIG_MLX4_EN=m CONFIG_MLX4_CORE=m CONFIG_MLX4_DEBUG=y -CONFIG_TEHUTI=m -CONFIG_BNX2X=m +CONFIG_NET_VENDOR_MICREL=y +CONFIG_KS8842=m +CONFIG_KS8851=m +CONFIG_KS8851_MLL=m +CONFIG_KSZ884X_PCI=m +CONFIG_NET_VENDOR_MICROCHIP=y +CONFIG_ENC28J60=m +# CONFIG_ENC28J60_WRITEVERIFY is not set +CONFIG_NET_VENDOR_MYRI=y +CONFIG_MYRI10GE=m +CONFIG_MYRI10GE_DCA=y +CONFIG_FEALNX=m +CONFIG_NET_VENDOR_NATSEMI=y +CONFIG_NATSEMI=m +CONFIG_NS83820=m +CONFIG_NET_VENDOR_8390=y +CONFIG_PCMCIA_AXNET=m +CONFIG_NE2K_PCI=m +CONFIG_PCMCIA_PCNET=m +CONFIG_NET_VENDOR_NVIDIA=y +CONFIG_FORCEDETH=m +CONFIG_NET_VENDOR_OKI=y +CONFIG_PCH_GBE=m +CONFIG_ETHOC=m +CONFIG_NET_PACKET_ENGINE=y +CONFIG_HAMACHI=m +CONFIG_YELLOWFIN=m +CONFIG_NET_VENDOR_QLOGIC=y +CONFIG_QLA3XXX=m CONFIG_QLCNIC=m CONFIG_QLGE=m -CONFIG_BNA=m +CONFIG_NETXEN_NIC=m +CONFIG_NET_VENDOR_REALTEK=y +CONFIG_ATP=m +CONFIG_8139CP=m +CONFIG_8139TOO=m +# CONFIG_8139TOO_PIO is not set +CONFIG_8139TOO_TUNE_TWISTER=y +CONFIG_8139TOO_8129=y +# CONFIG_8139_OLD_RX_RESET is not set +CONFIG_R8169=m +CONFIG_NET_VENDOR_RDC=y +CONFIG_R6040=m +CONFIG_NET_VENDOR_SEEQ=y +# CONFIG_SEEQ8005 is not set +CONFIG_NET_VENDOR_SILAN=y +CONFIG_SC92031=m +CONFIG_NET_VENDOR_SIS=y +CONFIG_SIS900=m +CONFIG_SIS190=m CONFIG_SFC=m CONFIG_SFC_MTD=y -CONFIG_BE2NET=m +CONFIG_NET_VENDOR_SMSC=y +CONFIG_PCMCIA_SMC91C92=m +CONFIG_EPIC100=m +CONFIG_SMSC9420=m +CONFIG_NET_VENDOR_STMICRO=y +CONFIG_STMMAC_ETH=m +# CONFIG_STMMAC_DEBUG_FS is not set +# CONFIG_STMMAC_DA is not set +CONFIG_STMMAC_RING=y +# CONFIG_STMMAC_CHAINED is not set +CONFIG_NET_VENDOR_SUN=y +CONFIG_HAPPYMEAL=m +CONFIG_SUNGEM=m +CONFIG_CASSINI=m +CONFIG_NIU=m +CONFIG_NET_VENDOR_TEHUTI=y +CONFIG_TEHUTI=m +CONFIG_NET_VENDOR_TI=y +CONFIG_TLAN=m +CONFIG_NET_VENDOR_VIA=y +CONFIG_VIA_RHINE=m +# CONFIG_VIA_RHINE_MMIO is not set +CONFIG_VIA_VELOCITY=m +CONFIG_NET_VENDOR_XIRCOM=y +CONFIG_PCMCIA_XIRC2PS=m +# CONFIG_FDDI is not set +# CONFIG_HIPPI is not set +CONFIG_NET_SB1000=m +CONFIG_PHYLIB=m + +# +# MII PHY device drivers +# +CONFIG_MARVELL_PHY=m +CONFIG_DAVICOM_PHY=m +CONFIG_QSEMI_PHY=m +CONFIG_LXT_PHY=m +CONFIG_CICADA_PHY=m +CONFIG_VITESSE_PHY=m +CONFIG_SMSC_PHY=m +CONFIG_BROADCOM_PHY=m +CONFIG_ICPLUS_PHY=m +CONFIG_REALTEK_PHY=m +CONFIG_NATIONAL_PHY=m +CONFIG_STE10XP=m +CONFIG_LSI_ET1011C_PHY=m +CONFIG_MICREL_PHY=m +# CONFIG_MDIO_BITBANG is not set +CONFIG_PLIP=m +CONFIG_PPP=m +CONFIG_PPP_BSDCOMP=m +CONFIG_PPP_DEFLATE=m +CONFIG_PPP_FILTER=y +CONFIG_PPP_MPPE=m +CONFIG_PPP_MULTILINK=y +CONFIG_PPPOATM=m +CONFIG_PPPOE=m +CONFIG_PPTP=m +CONFIG_PPPOL2TP=m +CONFIG_PPP_ASYNC=m +CONFIG_PPP_SYNC_TTY=m +CONFIG_SLIP=m +CONFIG_SLHC=m +# CONFIG_SLIP_COMPRESSED is not set +# CONFIG_SLIP_SMART is not set +# CONFIG_SLIP_MODE_SLIP6 is not set # CONFIG_TR is not set + +# +# USB Network Adapters +# +CONFIG_USB_CATC=m +CONFIG_USB_KAWETH=m +CONFIG_USB_PEGASUS=m +CONFIG_USB_RTL8150=m +CONFIG_USB_USBNET=m +CONFIG_USB_NET_AX8817X=m +CONFIG_USB_NET_CDCETHER=m +CONFIG_USB_NET_CDC_EEM=m +CONFIG_USB_NET_CDC_NCM=m +CONFIG_USB_NET_DM9601=m +CONFIG_USB_NET_SMSC75XX=m +CONFIG_USB_NET_SMSC95XX=m +CONFIG_USB_NET_GL620A=m +CONFIG_USB_NET_NET1080=m +CONFIG_USB_NET_PLUSB=m +CONFIG_USB_NET_MCS7830=m +CONFIG_USB_NET_RNDIS_HOST=m +CONFIG_USB_NET_CDC_SUBSET=m +CONFIG_USB_ALI_M5632=y +CONFIG_USB_AN2720=y +CONFIG_USB_BELKIN=y +CONFIG_USB_ARMLINUX=y +CONFIG_USB_EPSON2888=y +CONFIG_USB_KC2190=y +CONFIG_USB_NET_ZAURUS=m +CONFIG_USB_NET_CX82310_ETH=m +CONFIG_USB_NET_KALMIA=m +CONFIG_USB_HSO=m +CONFIG_USB_NET_INT51X1=m +CONFIG_USB_CDC_PHONET=m +CONFIG_USB_IPHETH=m +CONFIG_USB_SIERRA_NET=m +CONFIG_USB_VL600=m CONFIG_WLAN=y CONFIG_PCMCIA_RAYCS=m CONFIG_LIBERTAS_THINFIRM=m @@ -1976,7 +2149,11 @@ CONFIG_ATH9K_HTC=m CONFIG_CARL9170=m CONFIG_CARL9170_LEDS=y CONFIG_CARL9170_WPC=y +# CONFIG_CARL9170_HWRNG is not set +CONFIG_ATH6KL=m +# CONFIG_ATH6KL_DEBUG is not set CONFIG_B43=m +CONFIG_B43_SSB=y CONFIG_B43_PCI_AUTOSELECT=y CONFIG_B43_PCICORE_AUTOSELECT=y CONFIG_B43_PCMCIA=y @@ -1984,6 +2161,7 @@ CONFIG_B43_SDIO=y CONFIG_B43_PIO=y CONFIG_B43_PHY_N=y CONFIG_B43_PHY_LP=y +# CONFIG_B43_PHY_HT is not set CONFIG_B43_LEDS=y CONFIG_B43_HWRNG=y # CONFIG_B43_DEBUG is not set @@ -1998,6 +2176,10 @@ CONFIG_B43LEGACY_PIO=y CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y # CONFIG_B43LEGACY_DMA_MODE is not set # CONFIG_B43LEGACY_PIO_MODE is not set +CONFIG_BRCMUTIL=m +CONFIG_BRCMSMAC=m +CONFIG_BRCMFMAC=m +# CONFIG_BRCMDBG is not set CONFIG_HOSTAP=m CONFIG_HOSTAP_FIRMWARE=y # CONFIG_HOSTAP_FIRMWARE_NVRAM is not set @@ -2015,7 +2197,7 @@ CONFIG_IPW2200_QOS=y # CONFIG_IPW2200_DEBUG is not set CONFIG_LIBIPW=m # CONFIG_LIBIPW_DEBUG is not set -CONFIG_IWLAGN=m +CONFIG_IWLWIFI=m # # Debugging Options @@ -2023,7 +2205,6 @@ CONFIG_IWLAGN=m # CONFIG_IWLWIFI_DEBUG is not set CONFIG_IWLWIFI_DEVICE_TRACING=y CONFIG_IWLWIFI_DEVICE_SVTOOL=y -CONFIG_IWL_P2P=y CONFIG_IWLWIFI_LEGACY=m # @@ -2084,6 +2265,7 @@ CONFIG_RT2X00_LIB_LEDS=y # CONFIG_RT2X00_DEBUG is not set CONFIG_RTL8192CE=m CONFIG_RTL8192SE=m +CONFIG_RTL8192DE=m CONFIG_RTL8192CU=m CONFIG_RTLWIFI=m CONFIG_RTL8192C_COMMON=m @@ -2092,7 +2274,6 @@ CONFIG_WL1251_SPI=m CONFIG_WL1251_SDIO=m CONFIG_WL12XX_MENU=m CONFIG_WL12XX=m -CONFIG_WL12XX_HT=y CONFIG_WL12XX_SPI=m CONFIG_WL12XX_SDIO=m CONFIG_WL12XX_SDIO_TEST=m @@ -2101,6 +2282,7 @@ CONFIG_ZD1211RW=m # CONFIG_ZD1211RW_DEBUG is not set CONFIG_MWIFIEX=m CONFIG_MWIFIEX_SDIO=m +CONFIG_MWIFIEX_PCIE=m # # WiMAX Wireless Broadband devices @@ -2110,124 +2292,9 @@ CONFIG_WIMAX_I2400M_USB=m CONFIG_WIMAX_I2400M_SDIO=m # CONFIG_WIMAX_IWMC3200_SDIO is not set CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8 - -# -# USB Network Adapters -# -CONFIG_USB_CATC=m -CONFIG_USB_KAWETH=m -CONFIG_USB_PEGASUS=m -CONFIG_USB_RTL8150=m -CONFIG_USB_USBNET=m -CONFIG_USB_NET_AX8817X=m -CONFIG_USB_NET_CDCETHER=m -CONFIG_USB_NET_CDC_EEM=m -CONFIG_USB_NET_CDC_NCM=m -CONFIG_USB_NET_DM9601=m -CONFIG_USB_NET_SMSC75XX=m -CONFIG_USB_NET_SMSC95XX=m -CONFIG_USB_NET_GL620A=m -CONFIG_USB_NET_NET1080=m -CONFIG_USB_NET_PLUSB=m -CONFIG_USB_NET_MCS7830=m -CONFIG_USB_NET_RNDIS_HOST=m -CONFIG_USB_NET_CDC_SUBSET=m -CONFIG_USB_ALI_M5632=y -CONFIG_USB_AN2720=y -CONFIG_USB_BELKIN=y -CONFIG_USB_ARMLINUX=y -CONFIG_USB_EPSON2888=y -CONFIG_USB_KC2190=y -CONFIG_USB_NET_ZAURUS=m -CONFIG_USB_NET_CX82310_ETH=m -CONFIG_USB_NET_KALMIA=m -CONFIG_USB_HSO=m -CONFIG_USB_NET_INT51X1=m -CONFIG_USB_CDC_PHONET=m -CONFIG_USB_IPHETH=m -CONFIG_USB_SIERRA_NET=m -CONFIG_USB_VL600=m -CONFIG_NET_PCMCIA=y -CONFIG_PCMCIA_3C589=m -CONFIG_PCMCIA_3C574=m -CONFIG_PCMCIA_FMVJ18X=m -CONFIG_PCMCIA_PCNET=m -CONFIG_PCMCIA_NMCLAN=m -CONFIG_PCMCIA_SMC91C92=m -CONFIG_PCMCIA_XIRC2PS=m -CONFIG_PCMCIA_AXNET=m # CONFIG_WAN is not set -CONFIG_ATM_DRIVERS=y -# CONFIG_ATM_DUMMY is not set -CONFIG_ATM_TCP=m -CONFIG_ATM_LANAI=m -CONFIG_ATM_ENI=m -# CONFIG_ATM_ENI_DEBUG is not set -# CONFIG_ATM_ENI_TUNE_BURST is not set -CONFIG_ATM_FIRESTREAM=m -CONFIG_ATM_ZATM=m -# CONFIG_ATM_ZATM_DEBUG is not set -CONFIG_ATM_NICSTAR=m -# CONFIG_ATM_NICSTAR_USE_SUNI is not set -# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set -CONFIG_ATM_IDT77252=m -# CONFIG_ATM_IDT77252_DEBUG is not set -# CONFIG_ATM_IDT77252_RCV_ALL is not set -CONFIG_ATM_IDT77252_USE_SUNI=y -CONFIG_ATM_AMBASSADOR=m -# CONFIG_ATM_AMBASSADOR_DEBUG is not set -CONFIG_ATM_HORIZON=m -# CONFIG_ATM_HORIZON_DEBUG is not set -CONFIG_ATM_IA=m -# CONFIG_ATM_IA_DEBUG is not set -CONFIG_ATM_FORE200E=m -# CONFIG_ATM_FORE200E_USE_TASKLET is not set -CONFIG_ATM_FORE200E_TX_RETRY=16 -CONFIG_ATM_FORE200E_DEBUG=0 -CONFIG_ATM_HE=m -# CONFIG_ATM_HE_USE_SUNI is not set -CONFIG_ATM_SOLOS=m -CONFIG_IEEE802154_DRIVERS=m -CONFIG_IEEE802154_FAKEHARD=m - -# -# CAIF transport drivers -# -CONFIG_CAIF_TTY=m -CONFIG_CAIF_SPI_SLAVE=m -CONFIG_CAIF_SPI_SYNC=y CONFIG_XEN_NETDEV_FRONTEND=m CONFIG_XEN_NETDEV_BACKEND=m -CONFIG_RIONET=m -CONFIG_RIONET_TX_SIZE=128 -CONFIG_RIONET_RX_SIZE=128 -# CONFIG_FDDI is not set -# CONFIG_HIPPI is not set -CONFIG_PLIP=m -CONFIG_PPP=m -CONFIG_PPP_MULTILINK=y -CONFIG_PPP_FILTER=y -CONFIG_PPP_ASYNC=m -CONFIG_PPP_SYNC_TTY=m -CONFIG_PPP_DEFLATE=m -CONFIG_PPP_BSDCOMP=m -CONFIG_PPP_MPPE=m -CONFIG_PPPOE=m -CONFIG_PPTP=m -CONFIG_PPPOATM=m -CONFIG_PPPOL2TP=m -CONFIG_SLIP=m -# CONFIG_SLIP_COMPRESSED is not set -CONFIG_SLHC=m -# CONFIG_SLIP_SMART is not set -# CONFIG_SLIP_MODE_SLIP6 is not set -# CONFIG_NET_FC is not set -CONFIG_NETCONSOLE=m -CONFIG_NETCONSOLE_DYNAMIC=y -CONFIG_NETPOLL=y -# CONFIG_NETPOLL_TRAP is not set -CONFIG_NET_POLL_CONTROLLER=y -CONFIG_VIRTIO_NET=m CONFIG_VMXNET3=m CONFIG_ISDN=y CONFIG_ISDN_I4L=m @@ -2506,6 +2573,7 @@ CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y CONFIG_TOUCHSCREEN_USB_NEXIO=y CONFIG_TOUCHSCREEN_TOUCHIT213=m +CONFIG_TOUCHSCREEN_TSC_SERIO=m CONFIG_TOUCHSCREEN_TSC2005=m CONFIG_TOUCHSCREEN_TSC2007=m CONFIG_TOUCHSCREEN_PCAP=m @@ -2516,12 +2584,17 @@ CONFIG_INPUT_AB8500_PONKEY=m CONFIG_INPUT_AD714X=m CONFIG_INPUT_AD714X_I2C=m CONFIG_INPUT_AD714X_SPI=m +CONFIG_INPUT_BMA150=m CONFIG_INPUT_PCSPKR=m +CONFIG_INPUT_MC13783_PWRBUTTON=m +CONFIG_INPUT_MMA8450=m +CONFIG_INPUT_MPU3050=m CONFIG_INPUT_APANEL=m CONFIG_INPUT_ATLAS_BTNS=m -CONFIG_INPUT_ATI_REMOTE=m CONFIG_INPUT_ATI_REMOTE2=m CONFIG_INPUT_KEYSPAN_REMOTE=m +CONFIG_INPUT_KXTJ9=m +# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set CONFIG_INPUT_POWERMATE=m CONFIG_INPUT_YEALINK=m CONFIG_INPUT_CM109=m @@ -2530,7 +2603,7 @@ CONFIG_INPUT_PCF50633_PMU=m CONFIG_INPUT_PCF8574=m CONFIG_INPUT_GPIO_ROTARY_ENCODER=m CONFIG_INPUT_WM831X_ON=m -# CONFIG_INPUT_PCAP is not set +CONFIG_INPUT_PCAP=m CONFIG_INPUT_ADXL34X=m CONFIG_INPUT_ADXL34X_I2C=m CONFIG_INPUT_ADXL34X_SPI=m @@ -2563,6 +2636,7 @@ CONFIG_GAMEPORT_FM801=m CONFIG_VT=y CONFIG_CONSOLE_TRANSLATIONS=y CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y CONFIG_HW_CONSOLE=y CONFIG_VT_HW_CONSOLE_BINDING=y CONFIG_UNIX98_PTYS=y @@ -2709,6 +2783,7 @@ CONFIG_I2C_SCMI=m # # I2C system bus drivers (mostly embedded / system-on-chip) # +CONFIG_I2C_DESIGNWARE_PCI=m CONFIG_I2C_GPIO=m CONFIG_I2C_INTEL_MID=m CONFIG_I2C_OCORES=m @@ -2770,6 +2845,7 @@ CONFIG_PPS=m CONFIG_PPS_CLIENT_KTIMER=m CONFIG_PPS_CLIENT_LDISC=m CONFIG_PPS_CLIENT_PARPORT=m +CONFIG_PPS_CLIENT_GPIO=m # # PPS generators support @@ -2784,13 +2860,13 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y CONFIG_GPIOLIB=y # CONFIG_DEBUG_GPIO is not set CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_GENERIC=m CONFIG_GPIO_MAX730X=m # # Memory mapped GPIO drivers: # -CONFIG_GPIO_BASIC_MMIO_CORE=m -CONFIG_GPIO_BASIC_MMIO=m +CONFIG_GPIO_GENERIC_PLATFORM=m CONFIG_GPIO_IT8761E=m CONFIG_GPIO_SCH=m CONFIG_GPIO_VX855=m @@ -2885,6 +2961,7 @@ CONFIG_HWMON_VID=m # CONFIG_SENSORS_ABITUGURU=m CONFIG_SENSORS_ABITUGURU3=m +CONFIG_SENSORS_AD7314=m CONFIG_SENSORS_AD7414=m CONFIG_SENSORS_AD7418=m CONFIG_SENSORS_ADCXX=m @@ -2939,23 +3016,29 @@ CONFIG_SENSORS_LTC4215=m CONFIG_SENSORS_LTC4245=m CONFIG_SENSORS_LTC4261=m CONFIG_SENSORS_LM95241=m +CONFIG_SENSORS_LM95245=m CONFIG_SENSORS_MAX1111=m CONFIG_SENSORS_MAX16065=m CONFIG_SENSORS_MAX1619=m +CONFIG_SENSORS_MAX1668=m CONFIG_SENSORS_MAX6639=m CONFIG_SENSORS_MAX6642=m CONFIG_SENSORS_MAX6650=m +CONFIG_SENSORS_NTC_THERMISTOR=m CONFIG_SENSORS_PC87360=m CONFIG_SENSORS_PC87427=m CONFIG_SENSORS_PCF8591=m CONFIG_PMBUS=m CONFIG_SENSORS_PMBUS=m CONFIG_SENSORS_ADM1275=m +CONFIG_SENSORS_LM25066=m +CONFIG_SENSORS_LTC2978=m CONFIG_SENSORS_MAX16064=m CONFIG_SENSORS_MAX34440=m CONFIG_SENSORS_MAX8688=m CONFIG_SENSORS_UCD9000=m CONFIG_SENSORS_UCD9200=m +CONFIG_SENSORS_ZL6100=m CONFIG_SENSORS_SHT15=m CONFIG_SENSORS_SHT21=m CONFIG_SENSORS_SIS5595=m @@ -2967,7 +3050,9 @@ CONFIG_SENSORS_EMC6W201=m CONFIG_SENSORS_SMSC47M1=m CONFIG_SENSORS_SMSC47M192=m CONFIG_SENSORS_SMSC47B397=m +CONFIG_SENSORS_SCH56XX_COMMON=m CONFIG_SENSORS_SCH5627=m +CONFIG_SENSORS_SCH5636=m CONFIG_SENSORS_ADS1015=m CONFIG_SENSORS_ADS7828=m CONFIG_SENSORS_ADS7871=m @@ -3002,6 +3087,7 @@ CONFIG_SENSORS_ATK0110=m CONFIG_THERMAL=y CONFIG_THERMAL_HWMON=y CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y # CONFIG_WATCHDOG_NOWAYOUT is not set # @@ -3079,11 +3165,11 @@ CONFIG_BCMA_POSSIBLE=y # # Broadcom specific AMBA # -CONFIG_BCMA=m -CONFIG_BCMA_HOST_PCI_POSSIBLE=y -CONFIG_BCMA_HOST_PCI=y -# CONFIG_BCMA_DEBUG is not set -CONFIG_MFD_SUPPORT=y +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# CONFIG_MFD_CORE=y CONFIG_MFD_SM501=m CONFIG_MFD_SM501_GPIO=y @@ -3092,6 +3178,7 @@ CONFIG_UCB1400_CORE=m CONFIG_TPS6105X=m CONFIG_TPS65010=m CONFIG_TPS6507X=m +# CONFIG_MFD_TPS65912_SPI is not set # CONFIG_MFD_TMIO is not set CONFIG_MFD_WM8400=m CONFIG_MFD_WM831X=y @@ -3119,6 +3206,7 @@ CONFIG_REGULATOR_DUMMY=y CONFIG_REGULATOR_FIXED_VOLTAGE=m CONFIG_REGULATOR_VIRTUAL_CONSUMER=m CONFIG_REGULATOR_USERSPACE_CONSUMER=m +# CONFIG_REGULATOR_GPIO is not set CONFIG_REGULATOR_BQ24022=m CONFIG_REGULATOR_MAX1586=m CONFIG_REGULATOR_MAX8649=m @@ -3150,6 +3238,7 @@ CONFIG_VIDEO_DEV=m CONFIG_VIDEO_V4L2_COMMON=m CONFIG_VIDEO_V4L2_SUBDEV_API=y CONFIG_DVB_CORE=m +CONFIG_DVB_NET=y CONFIG_VIDEO_MEDIA=m # @@ -3166,7 +3255,9 @@ CONFIG_IR_RC6_DECODER=m CONFIG_IR_JVC_DECODER=m CONFIG_IR_SONY_DECODER=m CONFIG_IR_RC5_SZ_DECODER=m +CONFIG_IR_MCE_KBD_DECODER=m CONFIG_IR_LIRC_CODEC=m +CONFIG_RC_ATI_REMOTE=m CONFIG_IR_ENE=m CONFIG_IR_IMON=m CONFIG_IR_MCEUSB=m @@ -3194,6 +3285,7 @@ CONFIG_MEDIA_TUNER_MT2131=m CONFIG_MEDIA_TUNER_QT1010=m CONFIG_MEDIA_TUNER_XC2028=m CONFIG_MEDIA_TUNER_XC5000=m +CONFIG_MEDIA_TUNER_XC4000=m CONFIG_MEDIA_TUNER_MXL5005S=m CONFIG_MEDIA_TUNER_MXL5007T=m CONFIG_MEDIA_TUNER_MC44S803=m @@ -3212,6 +3304,7 @@ CONFIG_VIDEO_TUNER=m CONFIG_V4L2_MEM2MEM_DEV=m CONFIG_VIDEOBUF2_CORE=m CONFIG_VIDEOBUF2_MEMOPS=m +CONFIG_VIDEOBUF2_DMA_CONTIG=m CONFIG_VIDEOBUF2_VMALLOC=m CONFIG_VIDEO_CAPTURE_DRIVERS=y # CONFIG_VIDEO_ADV_DEBUG is not set @@ -3285,9 +3378,20 @@ CONFIG_VIDEO_AK881X=m # Camera sensor devices # CONFIG_VIDEO_OV7670=m +CONFIG_VIDEO_MT9P031=m +CONFIG_VIDEO_MT9T001=m CONFIG_VIDEO_MT9V011=m CONFIG_VIDEO_MT9V032=m CONFIG_VIDEO_TCM825X=m +CONFIG_VIDEO_SR030PC30=m +CONFIG_VIDEO_NOON010PC30=m +CONFIG_VIDEO_M5MOLS=m +CONFIG_VIDEO_S5K6AA=m + +# +# Flash devices +# +CONFIG_VIDEO_ADP1653=m # # Video improvement chips @@ -3332,6 +3436,8 @@ CONFIG_VIDEO_CX88_MPEG=m CONFIG_VIDEO_CX88_VP3054=m CONFIG_VIDEO_CX23885=m CONFIG_MEDIA_ALTERA_CI=m +CONFIG_VIDEO_CX25821=m +CONFIG_VIDEO_CX25821_ALSA=m CONFIG_VIDEO_AU0828=m CONFIG_VIDEO_IVTV=m CONFIG_VIDEO_FB_IVTV=m @@ -3339,10 +3445,7 @@ CONFIG_VIDEO_CX18=m CONFIG_VIDEO_CX18_ALSA=m CONFIG_VIDEO_SAA7164=m CONFIG_VIDEO_CAFE_CCIC=m -CONFIG_VIDEO_SR030PC30=m CONFIG_VIDEO_VIA_CAMERA=m -CONFIG_VIDEO_NOON010PC30=m -CONFIG_VIDEO_M5MOLS=m CONFIG_SOC_CAMERA=m CONFIG_SOC_CAMERA_IMX074=m CONFIG_SOC_CAMERA_MT9M001=m @@ -3354,6 +3457,7 @@ CONFIG_SOC_CAMERA_RJ54N1=m CONFIG_SOC_CAMERA_TW9910=m CONFIG_SOC_CAMERA_PLATFORM=m CONFIG_SOC_CAMERA_OV2640=m +CONFIG_SOC_CAMERA_OV5642=m CONFIG_SOC_CAMERA_OV6650=m CONFIG_SOC_CAMERA_OV772X=m CONFIG_SOC_CAMERA_OV9640=m @@ -3382,6 +3486,7 @@ CONFIG_USB_GSPCA_OV534_9=m CONFIG_USB_GSPCA_PAC207=m CONFIG_USB_GSPCA_PAC7302=m CONFIG_USB_GSPCA_PAC7311=m +CONFIG_USB_GSPCA_SE401=m CONFIG_USB_GSPCA_SN9C2028=m CONFIG_USB_GSPCA_SN9C20X=m CONFIG_USB_GSPCA_SONIXB=m @@ -3400,6 +3505,7 @@ CONFIG_USB_GSPCA_STK014=m CONFIG_USB_GSPCA_STV0680=m CONFIG_USB_GSPCA_SUNPLUS=m CONFIG_USB_GSPCA_T613=m +CONFIG_USB_GSPCA_TOPRO=m CONFIG_USB_GSPCA_TV8532=m CONFIG_USB_GSPCA_VC032X=m CONFIG_USB_GSPCA_VICAM=m @@ -3413,11 +3519,15 @@ CONFIG_VIDEO_HDPVR=m CONFIG_VIDEO_EM28XX=m CONFIG_VIDEO_EM28XX_ALSA=m CONFIG_VIDEO_EM28XX_DVB=m +CONFIG_VIDEO_EM28XX_RC=y CONFIG_VIDEO_TLG2300=m CONFIG_VIDEO_CX231XX=m CONFIG_VIDEO_CX231XX_RC=y CONFIG_VIDEO_CX231XX_ALSA=m CONFIG_VIDEO_CX231XX_DVB=m +CONFIG_VIDEO_TM6000=m +CONFIG_VIDEO_TM6000_ALSA=m +CONFIG_VIDEO_TM6000_DVB=m CONFIG_VIDEO_USBVISION=m CONFIG_USB_ET61X251=m CONFIG_USB_SN9C102=m @@ -3489,6 +3599,7 @@ CONFIG_DVB_USB_DTT200U=m CONFIG_DVB_USB_OPERA1=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m +CONFIG_DVB_USB_PCTV452E=m CONFIG_DVB_USB_DW2102=m CONFIG_DVB_USB_CINERGY_T2=m CONFIG_DVB_USB_ANYSEE=m @@ -3500,6 +3611,8 @@ CONFIG_DVB_USB_EC168=m CONFIG_DVB_USB_AZ6027=m CONFIG_DVB_USB_LME2510=m CONFIG_DVB_USB_TECHNISAT_USB2=m +CONFIG_DVB_USB_IT913X=m +CONFIG_DVB_USB_MXL111SF=m CONFIG_DVB_TTUSB_BUDGET=m CONFIG_DVB_TTUSB_DEC=m CONFIG_SMS_SIANO_MDTV=m @@ -3556,6 +3669,11 @@ CONFIG_DVB_HOPPER=m # CONFIG_DVB_NGENE=m +# +# Supported ddbridge ('Octopus') Adapters +# +CONFIG_DVB_DDBRIDGE=m + # # Supported DVB Frontends # @@ -3569,6 +3687,12 @@ CONFIG_DVB_STB6100=m CONFIG_DVB_STV090x=m CONFIG_DVB_STV6110x=m +# +# Multistandard (cable + terrestrial) frontends +# +CONFIG_DVB_DRXK=m +CONFIG_DVB_TDA18271C2DD=m + # # DVB-S (satellite) frontends # @@ -3595,6 +3719,7 @@ CONFIG_DVB_CX24116=m CONFIG_DVB_SI21XX=m CONFIG_DVB_DS3000=m CONFIG_DVB_MB86A16=m +CONFIG_DVB_TDA10071=m # # DVB-T (terrestrial) frontends @@ -3658,13 +3783,16 @@ CONFIG_DVB_TUNER_DIB0090=m # SEC control devices for DVB-S # CONFIG_DVB_LNBP21=m +CONFIG_DVB_LNBP22=m CONFIG_DVB_ISL6405=m CONFIG_DVB_ISL6421=m CONFIG_DVB_ISL6423=m +CONFIG_DVB_A8293=m CONFIG_DVB_LGS8GXX=m CONFIG_DVB_ATBM8830=m CONFIG_DVB_TDA665x=m CONFIG_DVB_IX2505V=m +CONFIG_DVB_IT913X_FE=m # # Tools to develop new frontends @@ -3695,6 +3823,7 @@ CONFIG_DRM_MGA=m CONFIG_DRM_SIS=m CONFIG_DRM_VIA=m CONFIG_DRM_SAVAGE=m +CONFIG_DRM_VMWGFX=m CONFIG_STUB_POULSBO=m CONFIG_VGASTATE=m CONFIG_VIDEO_OUTPUT_CONTROL=m @@ -3784,6 +3913,7 @@ CONFIG_FB_TRIDENT=m # CONFIG_FB_GEODE is not set # CONFIG_FB_TMIO is not set # CONFIG_FB_SM501 is not set +CONFIG_FB_SMSCUFX=m CONFIG_FB_UDL=m # CONFIG_FB_VIRTUAL is not set CONFIG_XEN_FBDEV_FRONTEND=m @@ -3801,6 +3931,7 @@ CONFIG_LCD_VGG2432A4=m CONFIG_LCD_PLATFORM=m CONFIG_LCD_S6E63M0=m CONFIG_LCD_LD9040=m +CONFIG_LCD_AMS369FG06=m CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_BACKLIGHT_GENERIC=m CONFIG_BACKLIGHT_PROGEAR=m @@ -3890,6 +4021,7 @@ CONFIG_SND_AC97_POWER_SAVE=y CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0 CONFIG_SND_SB_COMMON=m CONFIG_SND_SB16_DSP=m +CONFIG_SND_TEA575X=m CONFIG_SND_PCI=y CONFIG_SND_AD1889=m CONFIG_SND_ALS300=m @@ -3939,8 +4071,8 @@ CONFIG_SND_ES1968_INPUT=y CONFIG_SND_ES1968_RADIO=y CONFIG_SND_FM801=m CONFIG_SND_FM801_TEA575X_BOOL=y -CONFIG_SND_TEA575X=m CONFIG_SND_HDA_INTEL=m +CONFIG_SND_HDA_PREALLOC_SIZE=4096 CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_RECONFIG=y CONFIG_SND_HDA_INPUT_BEEP=y @@ -3948,6 +4080,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=1 CONFIG_SND_HDA_INPUT_JACK=y CONFIG_SND_HDA_PATCH_LOADER=y CONFIG_SND_HDA_CODEC_REALTEK=y +CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS=y CONFIG_SND_HDA_CODEC_ANALOG=y CONFIG_SND_HDA_CODEC_SIGMATEL=y CONFIG_SND_HDA_CODEC_VIA=y @@ -3955,6 +4088,7 @@ CONFIG_SND_HDA_CODEC_HDMI=y CONFIG_SND_HDA_CODEC_CIRRUS=y CONFIG_SND_HDA_CODEC_CONEXANT=y CONFIG_SND_HDA_CODEC_CA0110=y +CONFIG_SND_HDA_CODEC_CA0132=y CONFIG_SND_HDA_CODEC_CMEDIA=y CONFIG_SND_HDA_CODEC_SI3054=y CONFIG_SND_HDA_GENERIC=y @@ -4023,7 +4157,7 @@ CONFIG_USB_HIDDEV=y # CONFIG_HID_A4TECH=m CONFIG_HID_ACRUX=m -CONFIG_HID_ACRUX_FF=m +CONFIG_HID_ACRUX_FF=y CONFIG_HID_APPLE=m CONFIG_HID_BELKIN=m CONFIG_HID_CHERRY=m @@ -4035,6 +4169,8 @@ CONFIG_DRAGONRISE_FF=y CONFIG_HID_EMS_FF=m CONFIG_HID_ELECOM=m CONFIG_HID_EZKEY=m +CONFIG_HID_HOLTEK=m +CONFIG_HOLTEK_FF=y CONFIG_HID_KEYTOUCH=m CONFIG_HID_KYE=m CONFIG_HID_UCLOGIC=m @@ -4044,10 +4180,11 @@ CONFIG_HID_TWINHAN=m CONFIG_HID_KENSINGTON=m CONFIG_HID_LCPOWER=m CONFIG_HID_LOGITECH=m +CONFIG_HID_LOGITECH_DJ=m CONFIG_LOGITECH_FF=y CONFIG_LOGIRUMBLEPAD2_FF=y CONFIG_LOGIG940_FF=y -CONFIG_LOGIWII_FF=y +CONFIG_LOGIWHEELS_FF=y CONFIG_HID_MAGICMOUSE=m CONFIG_HID_MICROSOFT=m CONFIG_HID_MONTEREY=m @@ -4062,6 +4199,7 @@ CONFIG_HID_PICOLCD_FB=y CONFIG_HID_PICOLCD_BACKLIGHT=y CONFIG_HID_PICOLCD_LCD=y CONFIG_HID_PICOLCD_LEDS=y +CONFIG_HID_PRIMAX=m CONFIG_HID_QUANTA=m CONFIG_HID_ROCCAT=m CONFIG_HID_ROCCAT_COMMON=m @@ -4072,6 +4210,7 @@ CONFIG_HID_ROCCAT_KOVAPLUS=m CONFIG_HID_ROCCAT_PYRA=m CONFIG_HID_SAMSUNG=m CONFIG_HID_SONY=m +CONFIG_HID_SPEEDLINK=m CONFIG_HID_SUNPLUS=m CONFIG_HID_GREENASIA=m CONFIG_GREENASIA_FF=y @@ -4082,13 +4221,16 @@ CONFIG_HID_THRUSTMASTER=m CONFIG_THRUSTMASTER_FF=y CONFIG_HID_WACOM=m CONFIG_HID_WACOM_POWER_SUPPLY=y +CONFIG_HID_WIIMOTE=m CONFIG_HID_ZEROPLUS=m CONFIG_ZEROPLUS_FF=y CONFIG_HID_ZYDACRON=m CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=m CONFIG_USB_ARCH_HAS_HCD=y CONFIG_USB_ARCH_HAS_OHCI=y CONFIG_USB_ARCH_HAS_EHCI=y +CONFIG_USB_ARCH_HAS_XHCI=y CONFIG_USB=m # CONFIG_USB_DEBUG is not set # CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set @@ -4101,6 +4243,7 @@ CONFIG_USB_DEVICEFS=y CONFIG_USB_DYNAMIC_MINORS=y CONFIG_USB_SUSPEND=y # CONFIG_USB_OTG is not set +# CONFIG_USB_DWC3 is not set CONFIG_USB_MON=m CONFIG_USB_WUSB=m CONFIG_USB_WUSB_CBAF=m @@ -4130,8 +4273,10 @@ CONFIG_USB_SL811_HCD=m # CONFIG_USB_SL811_HCD_ISO is not set CONFIG_USB_SL811_CS=m CONFIG_USB_R8A66597_HCD=m +CONFIG_USB_RENESAS_USBHS_HCD=m CONFIG_USB_WHCI_HCD=m CONFIG_USB_HWA_HCD=m +CONFIG_USB_RENESAS_USBHS=m # # USB Device Class drivers @@ -4151,6 +4296,7 @@ CONFIG_USB_TMC=m CONFIG_USB_STORAGE=m # CONFIG_USB_STORAGE_DEBUG is not set CONFIG_USB_STORAGE_REALTEK=m +CONFIG_REALTEK_AUTOPM=y CONFIG_USB_STORAGE_DATAFAB=m CONFIG_USB_STORAGE_FREECOM=m CONFIG_USB_STORAGE_ISD200=m @@ -4277,20 +4423,19 @@ CONFIG_USB_GADGET=m # CONFIG_USB_GADGET_DEBUG_FILES is not set # CONFIG_USB_GADGET_DEBUG_FS is not set CONFIG_USB_GADGET_VBUS_DRAW=2 -CONFIG_USB_GADGET_SELECTED=y -# CONFIG_USB_GADGET_FUSB300 is not set -# CONFIG_USB_GADGET_R8A66597 is not set -# CONFIG_USB_GADGET_PXA_U2O is not set -# CONFIG_USB_GADGET_M66592 is not set -# CONFIG_USB_GADGET_AMD5536UDC is not set -# CONFIG_USB_GADGET_CI13XXX_PCI is not set -CONFIG_USB_GADGET_NET2280=y +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 +CONFIG_USB_R8A66597=m +CONFIG_USB_M66592=m +CONFIG_USB_AMD5536UDC=m +CONFIG_USB_CI13XXX_PCI=m +CONFIG_USB_NET2272=m +CONFIG_USB_NET2272_DMA=y CONFIG_USB_NET2280=m -# CONFIG_USB_GADGET_GOKU is not set -# CONFIG_USB_GADGET_LANGWELL is not set -# CONFIG_USB_GADGET_EG20T is not set -# CONFIG_USB_GADGET_DUMMY_HCD is not set +CONFIG_USB_GOKU=m +CONFIG_USB_EG20T=m +CONFIG_USB_DUMMY_HCD=m CONFIG_USB_GADGET_DUALSPEED=y +CONFIG_USB_GADGET_SUPERSPEED=y # CONFIG_USB_ZERO is not set CONFIG_USB_AUDIO=m CONFIG_USB_ETH=m @@ -4310,6 +4455,7 @@ CONFIG_USB_MIDI_GADGET=m CONFIG_USB_G_PRINTER=m # CONFIG_USB_CDC_COMPOSITE is not set # CONFIG_USB_G_NOKIA is not set +# CONFIG_USB_G_ACM_MS is not set # CONFIG_USB_G_MULTI is not set CONFIG_USB_G_HID=m CONFIG_USB_G_DBGP=m @@ -4380,11 +4526,9 @@ CONFIG_LEDS_CLASS=y # CONFIG_LEDS_LM3530=m CONFIG_LEDS_NET5501=m -# CONFIG_LEDS_ALIX2 is not set CONFIG_LEDS_PCA9532=m CONFIG_LEDS_PCA9532_GPIO=y CONFIG_LEDS_GPIO=m -CONFIG_LEDS_GPIO_PLATFORM=y CONFIG_LEDS_LP3944=m CONFIG_LEDS_LP5521=m CONFIG_LEDS_LP5523=m @@ -4404,7 +4548,6 @@ CONFIG_LEDS_TRIGGERS=y # LED Triggers # CONFIG_LEDS_TRIGGER_TIMER=m -CONFIG_LEDS_TRIGGER_IDE_DISK=y CONFIG_LEDS_TRIGGER_HEARTBEAT=m CONFIG_LEDS_TRIGGER_BACKLIGHT=m CONFIG_LEDS_TRIGGER_GPIO=m @@ -4413,8 +4556,6 @@ CONFIG_LEDS_TRIGGER_DEFAULT_ON=m # # iptables trigger is under Netfilter config (LED target) # -CONFIG_NFC_DEVICES=y -CONFIG_PN544_NFC=m CONFIG_ACCESSIBILITY=y CONFIG_A11Y_BRAILLE_CONSOLE=y # CONFIG_INFINIBAND is not set @@ -4427,7 +4568,6 @@ CONFIG_EDAC=y CONFIG_EDAC_DECODE_MCE=m CONFIG_EDAC_MCE_INJ=m CONFIG_EDAC_MM_EDAC=m -CONFIG_EDAC_MCE=y CONFIG_EDAC_AMD64=m # CONFIG_EDAC_AMD64_ERROR_INJECTION is not set CONFIG_EDAC_E752X=m @@ -4440,6 +4580,7 @@ CONFIG_EDAC_I7CORE=m CONFIG_EDAC_I5000=m CONFIG_EDAC_I5100=m CONFIG_EDAC_I7300=m +CONFIG_EDAC_SBRIDGE=m CONFIG_RTC_LIB=y CONFIG_RTC_CLASS=y CONFIG_RTC_HCTOSYS=y @@ -4550,11 +4691,22 @@ CONFIG_UIO_AEC=m CONFIG_UIO_SERCOS3=m CONFIG_UIO_PCI_GENERIC=m CONFIG_UIO_NETX=m +CONFIG_VIRTIO=m +CONFIG_VIRTIO_RING=m + +# +# Virtio drivers +# +CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_BALLOON=m +CONFIG_VIRTIO_MMIO=m # # Xen driver support # CONFIG_XEN_BALLOON=y +# CONFIG_XEN_SELFBALLOONING is not set +CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y CONFIG_XEN_SCRUB_PAGES=y CONFIG_XEN_DEV_EVTCHN=m CONFIG_XEN_BACKEND=y @@ -4564,32 +4716,12 @@ CONFIG_XEN_SYS_HYPERVISOR=y CONFIG_XEN_XENBUS_FRONTEND=m CONFIG_XEN_GNTDEV=m CONFIG_XEN_GRANT_DEV_ALLOC=m -CONFIG_XEN_PLATFORM_PCI=m CONFIG_SWIOTLB_XEN=y +CONFIG_XEN_TMEM=y +CONFIG_XEN_PCIDEV_BACKEND=m CONFIG_STAGING=y -# CONFIG_DIGIEPCA is not set -# CONFIG_RISCOM8 is not set -# CONFIG_SPECIALIX is not set -# CONFIG_COMPUTONE is not set CONFIG_ET131X=m -# CONFIG_ET131X_DEBUG is not set CONFIG_SLICOSS=m -CONFIG_VIDEO_GO7007=m -CONFIG_VIDEO_GO7007_USB=m -# CONFIG_VIDEO_GO7007_USB_S2250_BOARD is not set -CONFIG_VIDEO_GO7007_OV7640=m -CONFIG_VIDEO_GO7007_SAA7113=m -CONFIG_VIDEO_GO7007_SAA7115=m -CONFIG_VIDEO_GO7007_TW9903=m -CONFIG_VIDEO_GO7007_UDA1342=m -CONFIG_VIDEO_GO7007_SONY_TUNER=m -CONFIG_VIDEO_GO7007_TW2804=m -CONFIG_VIDEO_CX25821=m -CONFIG_VIDEO_CX25821_ALSA=m -CONFIG_VIDEO_TM6000=m -CONFIG_VIDEO_TM6000_ALSA=m -CONFIG_VIDEO_TM6000_DVB=m -CONFIG_DVB_CXD2099=m CONFIG_USBIP_CORE=m CONFIG_USBIP_VHCI_HCD=m CONFIG_USBIP_HOST=m @@ -4597,10 +4729,6 @@ CONFIG_USBIP_HOST=m CONFIG_W35UND=m CONFIG_PRISM2_USB=m CONFIG_ECHO=m -CONFIG_BRCMUTIL=m -CONFIG_BRCMSMAC=m -# CONFIG_BRCMFMAC is not set -# CONFIG_BRCMDBG is not set CONFIG_COMEDI=m # CONFIG_COMEDI_DEBUG is not set CONFIG_COMEDI_MISC_DRIVERS=m @@ -4641,6 +4769,7 @@ CONFIG_COMEDI_AMPLC_PCI224=m CONFIG_COMEDI_AMPLC_PCI230=m CONFIG_COMEDI_CONTEC_PCI_DIO=m CONFIG_COMEDI_DT3000=m +CONFIG_COMEDI_DYNA_PCI10XX=m CONFIG_COMEDI_UNIOXX5=m CONFIG_COMEDI_GSC_HPDI=m CONFIG_COMEDI_ICP_MULTI=m @@ -4652,7 +4781,7 @@ CONFIG_COMEDI_CB_PCIDAS64=m CONFIG_COMEDI_CB_PCIDAS=m CONFIG_COMEDI_CB_PCIDDA=m CONFIG_COMEDI_CB_PCIDIO=m -CONFIG_COMEDI_CB_PCIMDAS=m +# CONFIG_COMEDI_CB_PCIMDAS is not set CONFIG_COMEDI_CB_PCIMDDA=m CONFIG_COMEDI_ME4000=m CONFIG_COMEDI_ME_DAQ=m @@ -4678,6 +4807,7 @@ CONFIG_COMEDI_USB_DRIVERS=m CONFIG_COMEDI_DT9812=m CONFIG_COMEDI_USBDUX=m CONFIG_COMEDI_USBDUXFAST=m +CONFIG_COMEDI_USBDUXSIGMA=m CONFIG_COMEDI_VMK80XX=m CONFIG_COMEDI_NI_COMMON=m CONFIG_COMEDI_MITE=m @@ -4695,10 +4825,11 @@ CONFIG_R8712U=m CONFIG_R8712_AP=y CONFIG_RTS_PSTOR=m # CONFIG_RTS_PSTOR_DEBUG is not set +CONFIG_RTS5139=m +# CONFIG_RTS5139_DEBUG is not set # CONFIG_TRANZPORT is not set CONFIG_POHMELFS=m # CONFIG_POHMELFS_DEBUG is not set -CONFIG_POHMELFS_CRYPTO=y CONFIG_IDE_PHISON=m CONFIG_LINE6_USB=m # CONFIG_LINE6_USB_DEBUG is not set @@ -4707,7 +4838,6 @@ CONFIG_LINE6_USB=m # CONFIG_LINE6_USB_DUMP_PCM is not set # CONFIG_LINE6_USB_RAW is not set # CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set -CONFIG_DRM_VMWGFX=m CONFIG_DRM_NOUVEAU=m CONFIG_DRM_NOUVEAU_BACKLIGHT=y CONFIG_DRM_NOUVEAU_DEBUG=y @@ -4721,11 +4851,8 @@ CONFIG_USB_SERIAL_QUATECH2=m CONFIG_USB_SERIAL_QUATECH_USB2=m CONFIG_VT6655=m CONFIG_VT6656=m -CONFIG_HYPERV=m CONFIG_HYPERV_STORAGE=m -CONFIG_HYPERV_BLOCK=m CONFIG_HYPERV_NET=m -CONFIG_HYPERV_UTILS=m CONFIG_HYPERV_MOUSE=m # CONFIG_VME_BUS is not set CONFIG_DX_SEP=m @@ -4737,46 +4864,9 @@ CONFIG_ZCACHE=m CONFIG_WLAGS49_H2=m CONFIG_WLAGS49_H25=m CONFIG_FB_SM7XX=m -CONFIG_VIDEO_DT3155=m -CONFIG_DT3155_CCIR=y CONFIG_CRYSTALHD=m CONFIG_FB_XGI=m -CONFIG_LIRC_STAGING=y -CONFIG_LIRC_BT829=m -CONFIG_LIRC_IGORPLUGUSB=m -CONFIG_LIRC_IMON=m -CONFIG_LIRC_PARALLEL=m -CONFIG_LIRC_SASEM=m -CONFIG_LIRC_SERIAL=m -CONFIG_LIRC_SERIAL_TRANSMITTER=y -CONFIG_LIRC_SIR=m -CONFIG_LIRC_TTUSBIR=m -CONFIG_LIRC_ZILOG=m -CONFIG_EASYCAP=m -CONFIG_EASYCAP_SND=y -# CONFIG_EASYCAP_OSS is not set -# CONFIG_EASYCAP_DEBUG is not set -CONFIG_SOLO6X10=m CONFIG_ACPI_QUICKSTART=m -CONFIG_MACH_NO_WESTBRIDGE=y -CONFIG_ATH6K_LEGACY=m -CONFIG_AR600x_SD31_XXX=y -# CONFIG_AR600x_WB31_XXX is not set -# CONFIG_AR600x_SD32_XXX is not set -# CONFIG_AR600x_CUSTOM_XXX is not set -CONFIG_ATH6KL_ENABLE_COEXISTENCE=y -CONFIG_AR600x_DUAL_ANTENNA=y -# CONFIG_AR600x_SINGLE_ANTENNA is not set -# CONFIG_AR600x_BT_QCOM is not set -# CONFIG_AR600x_BT_CSR is not set -CONFIG_AR600x_BT_AR3001=y -CONFIG_ATH6KL_HCI_BRIDGE=y -CONFIG_ATH6KL_CONFIG_GPIO_BT_RESET=y -CONFIG_AR600x_BT_RESET_PIN=22 -CONFIG_ATH6KL_HTC_RAW_INTERFACE=y -CONFIG_ATH6KL_VIRTUAL_SCATTER_GATHER=y -CONFIG_ATH6KL_SKIP_ABI_VERSION_CHECK=y -# CONFIG_ATH6KL_DEBUG is not set CONFIG_USB_ENESTORAGE=m CONFIG_BCM_WIMAX=m CONFIG_FT1000=m @@ -4805,12 +4895,40 @@ CONFIG_SPEAKUP_SYNTH_DUMMY=m CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m CONFIG_DRM_PSB=m - -# -# Altera FPGA firmware download module -# -CONFIG_ALTERA_STAPL=m +CONFIG_DRM_PSB_MRST=y +CONFIG_DRM_PSB_MFLD=y +CONFIG_DRM_PSB_CDV=y CONFIG_INTEL_MEI=m +CONFIG_STAGING_MEDIA=y +CONFIG_DVB_AS102=m +CONFIG_DVB_CXD2099=m +CONFIG_VIDEO_DT3155=m +CONFIG_DT3155_CCIR=y +CONFIG_DT3155_STREAMING=y +CONFIG_EASYCAP=m +# CONFIG_EASYCAP_DEBUG is not set +CONFIG_VIDEO_GO7007=m +CONFIG_VIDEO_GO7007_USB=m +CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m +CONFIG_VIDEO_GO7007_OV7640=m +CONFIG_VIDEO_GO7007_SAA7113=m +CONFIG_VIDEO_GO7007_SAA7115=m +CONFIG_VIDEO_GO7007_TW9903=m +CONFIG_VIDEO_GO7007_UDA1342=m +CONFIG_VIDEO_GO7007_SONY_TUNER=m +CONFIG_VIDEO_GO7007_TW2804=m +CONFIG_SOLO6X10=m +CONFIG_LIRC_STAGING=y +CONFIG_LIRC_BT829=m +CONFIG_LIRC_IGORPLUGUSB=m +CONFIG_LIRC_IMON=m +CONFIG_LIRC_PARALLEL=m +CONFIG_LIRC_SASEM=m +CONFIG_LIRC_SERIAL=m +CONFIG_LIRC_SERIAL_TRANSMITTER=y +CONFIG_LIRC_SIR=m +CONFIG_LIRC_TTUSBIR=m +CONFIG_LIRC_ZILOG=m CONFIG_X86_PLATFORM_DEVICES=y CONFIG_ACER_WMI=m CONFIG_ACERHDF=m @@ -4854,6 +4972,27 @@ CONFIG_XO15_EBOOK=m CONFIG_SAMSUNG_LAPTOP=m CONFIG_MXM_WMI=m CONFIG_INTEL_OAKTRAIL=m +CONFIG_SAMSUNG_Q10=m + +# +# Hardware Spinlock drivers +# +CONFIG_CLKEVT_I8253=y +CONFIG_I8253_LOCK=y +CONFIG_CLKBLD_I8253=y +CONFIG_IOMMU_API=y +CONFIG_IOMMU_SUPPORT=y +CONFIG_AMD_IOMMU=y +# CONFIG_AMD_IOMMU_STATS is not set +CONFIG_DMAR_TABLE=y +CONFIG_INTEL_IOMMU=y +# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set +CONFIG_INTEL_IOMMU_FLOPPY_WA=y +CONFIG_IRQ_REMAP=y +CONFIG_VIRT_DRIVERS=y +CONFIG_HYPERV=m +CONFIG_HYPERV_UTILS=m +# CONFIG_PM_DEVFREQ is not set # # Firmware Drivers @@ -5010,16 +5149,24 @@ CONFIG_JFFS2_ZLIB=y # CONFIG_JFFS2_LZO is not set CONFIG_JFFS2_RTIME=y # CONFIG_JFFS2_RUBIN is not set +CONFIG_UBIFS_FS=m +CONFIG_UBIFS_FS_XATTR=y +# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set +CONFIG_UBIFS_FS_LZO=y +CONFIG_UBIFS_FS_ZLIB=y +# CONFIG_UBIFS_FS_DEBUG is not set CONFIG_LOGFS=m CONFIG_CRAMFS=m CONFIG_SQUASHFS=m CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_ZLIB=y CONFIG_SQUASHFS_LZO=y CONFIG_SQUASHFS_XZ=y +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set # CONFIG_SQUASHFS_EMBEDDED is not set CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 # CONFIG_VXFS_FS is not set -# CONFIG_MINIX_FS is not set +CONFIG_MINIX_FS=m CONFIG_OMFS_FS=m # CONFIG_HPFS_FS is not set # CONFIG_QNX4FS_FS is not set @@ -5031,6 +5178,7 @@ CONFIG_UFS_FS=m # CONFIG_UFS_DEBUG is not set CONFIG_EXOFS_FS=m # CONFIG_EXOFS_DEBUG is not set +CONFIG_ORE=m CONFIG_NETWORK_FILESYSTEMS=y CONFIG_NFS_FS=m CONFIG_NFS_V3=y @@ -5042,7 +5190,6 @@ CONFIG_NFS_FSCACHE=y CONFIG_NFS_USE_KERNEL_DNS=y # CONFIG_NFS_USE_NEW_IDMAPPER is not set CONFIG_NFSD=m -# CONFIG_NFSD_DEPRECATED is not set CONFIG_NFSD_V2_ACL=y CONFIG_NFSD_V3=y CONFIG_NFSD_V3_ACL=y @@ -5094,7 +5241,7 @@ CONFIG_PARTITION_ADVANCED=y CONFIG_MAC_PARTITION=y CONFIG_MSDOS_PARTITION=y CONFIG_BSD_DISKLABEL=y -# CONFIG_MINIX_SUBPARTITION is not set +CONFIG_MINIX_SUBPARTITION=y CONFIG_SOLARIS_X86_PARTITION=y # CONFIG_UNIXWARE_DISKLABEL is not set CONFIG_LDM_PARTITION=y @@ -5190,7 +5337,7 @@ CONFIG_DEBUG_MUTEXES=y # CONFIG_PROVE_LOCKING is not set # CONFIG_SPARSE_RCU_POINTER is not set # CONFIG_LOCK_STAT is not set -# CONFIG_DEBUG_SPINLOCK_SLEEP is not set +# CONFIG_DEBUG_ATOMIC_SLEEP is not set # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set CONFIG_STACKTRACE=y # CONFIG_DEBUG_STACK_USAGE is not set @@ -5317,9 +5464,15 @@ CONFIG_SECURITY_PATH=y # CONFIG_SECURITY_SELINUX is not set # CONFIG_SECURITY_SMACK is not set CONFIG_SECURITY_TOMOYO=y +CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048 +CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024 +# CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER is not set +CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/sbin/tomoyo-init" +CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/sbin/init" CONFIG_SECURITY_APPARMOR=y CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=0 # CONFIG_IMA is not set +# CONFIG_DEFAULT_SECURITY_SELINUX is not set # CONFIG_DEFAULT_SECURITY_TOMOYO is not set # CONFIG_DEFAULT_SECURITY_APPARMOR is not set CONFIG_DEFAULT_SECURITY_DAC=y @@ -5351,6 +5504,7 @@ CONFIG_CRYPTO_PCOMP=m CONFIG_CRYPTO_PCOMP2=y CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER2=y +CONFIG_CRYPTO_USER=m CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y CONFIG_CRYPTO_GF128MUL=m CONFIG_CRYPTO_NULL=m @@ -5399,6 +5553,7 @@ CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_RMD256=m CONFIG_CRYPTO_RMD320=m CONFIG_CRYPTO_SHA1=m +CONFIG_CRYPTO_SHA1_SSSE3=m CONFIG_CRYPTO_SHA256=m CONFIG_CRYPTO_SHA512=m CONFIG_CRYPTO_TGR192=m @@ -5414,6 +5569,8 @@ CONFIG_CRYPTO_AES_NI_INTEL=m CONFIG_CRYPTO_ANUBIS=m CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_BLOWFISH=m +CONFIG_CRYPTO_BLOWFISH_COMMON=m +CONFIG_CRYPTO_BLOWFISH_X86_64=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m @@ -5428,6 +5585,7 @@ CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_TWOFISH_COMMON=m CONFIG_CRYPTO_TWOFISH_X86_64=m +CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m # # Compression @@ -5447,8 +5605,6 @@ CONFIG_CRYPTO_HW=y CONFIG_CRYPTO_DEV_PADLOCK=m CONFIG_CRYPTO_DEV_PADLOCK_AES=m CONFIG_CRYPTO_DEV_PADLOCK_SHA=m -CONFIG_CRYPTO_DEV_HIFN_795X=m -CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y CONFIG_HAVE_KVM=y CONFIG_HAVE_KVM_IRQCHIP=y CONFIG_HAVE_KVM_EVENTFD=y @@ -5461,10 +5617,6 @@ CONFIG_KVM_INTEL=m CONFIG_KVM_AMD=m CONFIG_KVM_MMU_AUDIT=y CONFIG_VHOST_NET=m -CONFIG_VIRTIO=m -CONFIG_VIRTIO_RING=m -CONFIG_VIRTIO_PCI=m -CONFIG_VIRTIO_BALLOON=m CONFIG_BINARY_PRINTF=y # @@ -5480,6 +5632,7 @@ CONFIG_CRC_ITU_T=m CONFIG_CRC32=y CONFIG_CRC7=m CONFIG_LIBCRC32C=m +CONFIG_CRC8=m CONFIG_ZLIB_INFLATE=y CONFIG_ZLIB_DEFLATE=m CONFIG_LZO_COMPRESS=y @@ -5498,6 +5651,9 @@ CONFIG_DECOMPRESS_BZIP2=y CONFIG_DECOMPRESS_LZMA=y CONFIG_DECOMPRESS_XZ=y CONFIG_DECOMPRESS_LZO=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_REED_SOLOMON=m +CONFIG_REED_SOLOMON_DEC16=y CONFIG_TEXTSEARCH=y CONFIG_TEXTSEARCH_KMP=m CONFIG_TEXTSEARCH_BM=m @@ -5511,3 +5667,4 @@ CONFIG_CPU_RMAP=y CONFIG_NLATTR=y CONFIG_LRU_CACHE=m CONFIG_AVERAGE=y +CONFIG_CORDIC=m diff --git a/kernels/linux-libre-xen/fix-i915.patch b/kernels/linux-libre-xen/fix-i915.patch index 3b631361a..25d4bca87 100644 --- a/kernels/linux-libre-xen/fix-i915.patch +++ b/kernels/linux-libre-xen/fix-i915.patch @@ -1,26 +1,105 @@ -Signed-off-by: Zhao Yakui -Tested-by: Santi ---- + + + +abslibre.git - Libre PKGBUILDs repository + + + + + + + +
+ +
+ +
+
+
+ + + +
+summaryrefslogtreecommitdiffstats
+ + + +
+
+
blob: 3b631361a15ee4ba6491f0b8960f0e18044e2cf0 (plain) + + +
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
+Tested-by: Santi <santi@agolina.net>
+---
  drivers/gpu/drm/i915/intel_tv.c |    9 +++++++++
  1 files changed, 9 insertions(+), 0 deletions(-)
 
 diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c
 index dc83b7a..c8f67bf 100644
---- a/drivers/gpu/drm/i915/intel_tv.c
-+++ b/drivers/gpu/drm/i915/intel_tv.c
-@@ -1267,6 +1267,15 @@
+--- a/drivers/gpu/drm/i915/intel_tv.c
++++ b/drivers/gpu/drm/i915/intel_tv.c
+@@ -1267,6 +1267,15 @@
  		   DAC_B_0_7_V |
  		   DAC_C_0_7_V);
  
-+	/*
-+	 * The TV sense state should be cleared to zero on cantiga platform. Otherwise
-+	 * the TV is misdetected. This is hardware requirement.
-+	 */
-+	if (IS_GM45(dev))
-+		tv_dac &= ~(TVDAC_STATE_CHG_EN | TVDAC_A_SENSE_CTL |
-+			    TVDAC_B_SENSE_CTL | TVDAC_C_SENSE_CTL);
-+
-+	
++	/*
++	 * The TV sense state should be cleared to zero on cantiga platform. Otherwise
++	 * the TV is misdetected. This is hardware requirement.
++	 */
++	if (IS_GM45(dev))
++		tv_dac &= ~(TVDAC_STATE_CHG_EN | TVDAC_A_SENSE_CTL |
++			    TVDAC_B_SENSE_CTL | TVDAC_C_SENSE_CTL);
++
++	
  	I915_WRITE(TV_CTL, tv_ctl);
  	I915_WRITE(TV_DAC, tv_dac);
  	POSTING_READ(TV_DAC);
+
+
+ +
+ + diff --git a/kernels/linux-libre-xen/i915-fix-ghost-tv-output.patch b/kernels/linux-libre-xen/i915-fix-ghost-tv-output.patch new file mode 100644 index 000000000..3b631361a --- /dev/null +++ b/kernels/linux-libre-xen/i915-fix-ghost-tv-output.patch @@ -0,0 +1,26 @@ +Signed-off-by: Zhao Yakui +Tested-by: Santi +--- + drivers/gpu/drm/i915/intel_tv.c | 9 +++++++++ + 1 files changed, 9 insertions(+), 0 deletions(-) + +diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c +index dc83b7a..c8f67bf 100644 +--- a/drivers/gpu/drm/i915/intel_tv.c ++++ b/drivers/gpu/drm/i915/intel_tv.c +@@ -1267,6 +1267,15 @@ + DAC_B_0_7_V | + DAC_C_0_7_V); + ++ /* ++ * The TV sense state should be cleared to zero on cantiga platform. Otherwise ++ * the TV is misdetected. This is hardware requirement. ++ */ ++ if (IS_GM45(dev)) ++ tv_dac &= ~(TVDAC_STATE_CHG_EN | TVDAC_A_SENSE_CTL | ++ TVDAC_B_SENSE_CTL | TVDAC_C_SENSE_CTL); ++ ++ + I915_WRITE(TV_CTL, tv_ctl); + I915_WRITE(TV_DAC, tv_dac); + POSTING_READ(TV_DAC); diff --git a/kernels/linux-libre-xen/i915-gpu-finish.patch b/kernels/linux-libre-xen/i915-gpu-finish.patch new file mode 100644 index 000000000..5840c9181 --- /dev/null +++ b/kernels/linux-libre-xen/i915-gpu-finish.patch @@ -0,0 +1,55 @@ +commit 389a55581e30607af0fcde6cdb4e54f189cf46cf +Author: Chris Wilson +Date: Tue Nov 29 15:12:16 2011 +0000 + + drm/i915: Only clear the GPU domains upon a successful finish + + By clearing the GPU read domains before waiting upon the buffer, we run + the risk of the wait being interrupted and the domains prematurely + cleared. The next time we attempt to wait upon the buffer (after + userspace handles the signal), we believe that the buffer is idle and so + skip the wait. + + There are a number of bugs across all generations which show signs of an + overly haste reuse of active buffers. + + Such as: + + https://bugs.freedesktop.org/show_bug.cgi?id=29046 + https://bugs.freedesktop.org/show_bug.cgi?id=35863 + https://bugs.freedesktop.org/show_bug.cgi?id=38952 + https://bugs.freedesktop.org/show_bug.cgi?id=40282 + https://bugs.freedesktop.org/show_bug.cgi?id=41098 + https://bugs.freedesktop.org/show_bug.cgi?id=41102 + https://bugs.freedesktop.org/show_bug.cgi?id=41284 + https://bugs.freedesktop.org/show_bug.cgi?id=42141 + + A couple of those pre-date i915_gem_object_finish_gpu(), so may be + unrelated (such as a wild write from a userspace command buffer), but + this does look like a convincing cause for most of those bugs. + + Signed-off-by: Chris Wilson + Cc: stable@kernel.org + Reviewed-by: Daniel Vetter + Reviewed-by: Eugeni Dodonov + +diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c +index d560175..036bc58 100644 +--- a/drivers/gpu/drm/i915/i915_gem.c ++++ b/drivers/gpu/drm/i915/i915_gem.c +@@ -3087,10 +3087,13 @@ i915_gem_object_finish_gpu(struct drm_i915_gem_object *obj) + return ret; + } + ++ ret = i915_gem_object_wait_rendering(obj); ++ if (ret) ++ return ret; ++ + /* Ensure that we invalidate the GPU's caches and TLBs. */ + obj->base.read_domains &= ~I915_GEM_GPU_DOMAINS; +- +- return i915_gem_object_wait_rendering(obj); ++ return 0; + } + + /** -- cgit v1.2.3 From 415e6b0a686989d0000a82ba8404d4ab9cd1e6b7 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 21 Feb 2012 11:39:38 -0200 Subject: kernels/xe-guest-utilities --- kernels/xe-guest-utilities/PKGBUILD | 45 + kernels/xe-guest-utilities/ip_address.patch | 30 + .../xe-guest-utilities-parabola.patch | 146 + kernels/xen/09_xen | 123 + kernels/xen/24341.patch | 11 + kernels/xen/24344.patch | 33 + kernels/xen/24345.patch | 31 + kernels/xen/PKGBUILD | 99 + kernels/xen/dom0_xz_decompression.patch | 3528 ++++++++++++++++++++ kernels/xen/parabolainit.patch | 423 +++ kernels/xen/xen.patch | 21 + 11 files changed, 4490 insertions(+) create mode 100644 kernels/xe-guest-utilities/PKGBUILD create mode 100644 kernels/xe-guest-utilities/ip_address.patch create mode 100644 kernels/xe-guest-utilities/xe-guest-utilities-parabola.patch create mode 100755 kernels/xen/09_xen create mode 100644 kernels/xen/24341.patch create mode 100644 kernels/xen/24344.patch create mode 100644 kernels/xen/24345.patch create mode 100644 kernels/xen/PKGBUILD create mode 100644 kernels/xen/dom0_xz_decompression.patch create mode 100644 kernels/xen/parabolainit.patch create mode 100644 kernels/xen/xen.patch diff --git a/kernels/xe-guest-utilities/PKGBUILD b/kernels/xe-guest-utilities/PKGBUILD new file mode 100644 index 000000000..b866a6f58 --- /dev/null +++ b/kernels/xe-guest-utilities/PKGBUILD @@ -0,0 +1,45 @@ +# Contributor: Krzysztof Raczkowski +# Contributor (Parabola): André Silva + +pkgname=xe-guest-utilities +pkgver=6.0.0 +pkgrel=5 +pkgdesc="Citrix XenServer Tools" +arch=('i686' 'x86_64') +url="http://citrix.com/English/ps2/products/product.asp?contentID=683148&ntref=hp_nav_US" +license=('GPL' 'LGPL') +optdepends=('linux-libre: DomU kernel for x86_64' + 'linux-libre-xen: DomU kernel for i686' + 'kernel-libre-lts: DomU kernel for i686 (long time supported)') +makedepends=('rpmextract') +source=(ftp://ftp.prz.edu.pl/pub/archlinux/archrak/src/xe-guest-utilities-${pkgver}-743.i386.rpm + ftp://ftp.prz.edu.pl/pub/archlinux/archrak/src/xe-guest-utilities-xenstore-${pkgver}-743.i386.rpm + ftp://ftp.prz.edu.pl/pub/archlinux/archrak/src/xe-guest-utilities-${pkgver}-743.x86_64.rpm + ftp://ftp.prz.edu.pl/pub/archlinux/archrak/src/xe-guest-utilities-xenstore-${pkgver}-743.x86_64.rpm + xe-guest-utilities-parabola.patch + ip_address.patch) + +md5sums=('894d33028b2712650be324b7ba01c6c4' + 'e100f97421ff522cb228aa749881a082' + 'ffaf02afa2105d32e011a32c80921256' + '9b9570b5cc27832df303c8ef9cd11d36' + '0d8a8ebe124d585a2b101150df8f5ff7' + '86b4a69b412f874bf5b4db8ac8858644') + +build() { + cd $startdir/src + [ $CARCH == "i686" ] && ( + rpmextract.sh xe-guest-utilities-*.i386.rpm && \ + rpmextract.sh xe-guest-utilities-xenstore-*.i386.rpm || return 1 + ) + [ $CARCH == "x86_64" ] && ( + rpmextract.sh xe-guest-utilities-*.x86_64.rpm && \ + rpmextract.sh xe-guest-utilities-xenstore-*.x86_64.rpm || return 1 + ) + + patch -Np1 -i ${srcdir}/xe-guest-utilities-parabola.patch || return 1 + patch -Np1 -i ${srcdir}/ip_address.patch || return 1 + + cp -ra ${srcdir}/{etc,usr} ${pkgdir}/ || return 1 + mv ${pkgdir}/etc/init.d ${pkgdir}/etc/rc.d +} diff --git a/kernels/xe-guest-utilities/ip_address.patch b/kernels/xe-guest-utilities/ip_address.patch new file mode 100644 index 000000000..1e589ef37 --- /dev/null +++ b/kernels/xe-guest-utilities/ip_address.patch @@ -0,0 +1,30 @@ +--- src.orig/usr/sbin/xe-update-guest-attrs 2011-12-28 21:05:13.055346917 -0600 ++++ src/usr/sbin/xe-update-guest-attrs 2011-12-28 21:04:02.545354603 -0600 +@@ -151,9 +151,9 @@ + # 3: sit0: mtu 1480 qdisc noop + # link/sit 0.0.0.0 brd 0.0.0.0 + +-#eval $(ip addr show | \ +-# sed -n -e 's/^[[:digit:]]*: \([a-z0-9]*\): .*/ifs="\$ifs \1"; current="\1"; /gp;' \ +-# -e 's/^[[:space:]]\{4\}inet \('${IPADDR_RE}'\)\/.*/eval inet_\${current}="\1"; /gp;') ++eval $(ip addr show | \ ++ sed -n -e 's/^[[:digit:]]*: \([a-z0-9]*\): .*/ifs="\$ifs \1"; current="\1"; /gp;' \ ++ -e 's/^[[:space:]]\{4\}inet \('${IPADDR_RE}'\)\/.*/eval inet_\${current}="\1"; /gp;') + + # e.g. + # eth0 Link encap:Ethernet HWaddr 00:13:20:95:E8:74 +@@ -175,10 +175,10 @@ + # collisions:0 txqueuelen:0 + # RX bytes:3604609 (3.4 MiB) TX bytes:3604609 (3.4 MiB) + +-eval $(/sbin/ifconfig | \ +- sed -n -e '/^[0-9a-z][0-9a-z]*\:/,/^$/d' \ +- -e 's/^\([0-9a-z][0-9a-z]*\) .*/ifs="\$ifs \1"; current="\1"; /gp;' \ +- -e 's/ *inet addr:\('$IPADDR_RE'\) .*/eval inet_\${current}="\1"; /gp;') ++#eval $(/sbin/ifconfig | \ ++# sed -n -e '/^[0-9a-z][0-9a-z]*\:/,/^$/d' \ ++# -e 's/^\([0-9a-z][0-9a-z]*\) .*/ifs="\$ifs \1"; current="\1"; /gp;' \ ++# -e 's/ *inet addr:\('$IPADDR_RE'\) .*/eval inet_\${current}="\1"; /gp;') + + # network + for if in $ifs ; do \ No newline at end of file diff --git a/kernels/xe-guest-utilities/xe-guest-utilities-parabola.patch b/kernels/xe-guest-utilities/xe-guest-utilities-parabola.patch new file mode 100644 index 000000000..a433f6887 --- /dev/null +++ b/kernels/xe-guest-utilities/xe-guest-utilities-parabola.patch @@ -0,0 +1,146 @@ +diff -uNr src.orig//etc/init.d/xe-linux-distribution src/etc/init.d/xe-linux-distribution +--- src.orig//etc/init.d/xe-linux-distribution 2010-05-20 13:19:02.000000000 +0200 ++++ src/etc/init.d/xe-linux-distribution 2010-10-04 14:45:11.000000000 +0200 +@@ -18,24 +18,8 @@ + LANG="C" + export LANG + +-if [ -f /etc/init.d/functions ] ; then +-. /etc/init.d/functions +-else +-action() +-{ +- descr=$1 ; shift +- cmd=$@ +- echo -n "$descr " +- $cmd +- ret=$? +- if [ $ret -eq 0 ] ; then +- echo "OK" +- else +- echo "Failed" +- fi +- return $ret +-} +-fi ++. /etc/rc.conf ++. /etc/rc.d/functions + + XE_LINUX_DISTRIBUTION=/usr/sbin/xe-linux-distribution + XE_LINUX_DISTRIBUTION_CACHE=/var/cache/xe-linux-distribution +@@ -48,35 +32,59 @@ + + start() + { ++ if [ -e /proc/xen/capabilities ] && grep -q control_d /proc/xen/capabilities ; then ++ # Do not want daemon in domain 0 ++ exit 0 ++ fi ++ ++ stat_busy "Detecting GNU/Linux distribution version" ++ ${XE_LINUX_DISTRIBUTION} ${XE_LINUX_DISTRIBUTION_CACHE} ++ if [ $? -gt 0 ]; then ++ stat_fail ++ else ++ stat_done ++ fi ++ + if [ ! -e /proc/xen/xenbus ] ; then + if [ ! -d /proc/xen ] ; then +- action $"Mounting xenfs on /proc/xen:" /bin/false ++ stat_busy "Mounting xenfs on /proc/xen" + echo "Could not find /proc/xen directory." + echo "You need a post 2.6.29-rc1 kernel with CONFIG_XEN_COMPAT_XENFS=y and CONFIG_XENFS=y|m" +- exit 1 ++ stat_die 1 + else + # This is needed post 2.6.29-rc1 when /proc/xen support was pushed upstream as a xen filesystem +- action $"Mounting xenfs on /proc/xen:" mount -t xenfs none /proc/xen ++ stat_busy "Mounting xenfs on /proc/xen" ++ mount -t xenfs none /proc/xen ++ if [ $? -gt 0 ]; then ++ stat_fail ++ else ++ stat_done ++ fi + fi + fi + +- if [ -e /proc/xen/capabilities ] && grep -q control_d /proc/xen/capabilities ; then +- # Do not want daemon in domain 0 +- exit 0 +- fi +- +- action $"Detecting Linux distribution version:" \ +- ${XE_LINUX_DISTRIBUTION} ${XE_LINUX_DISTRIBUTION_CACHE} +- +- action $"Starting xe daemon: " /bin/true ++ stat_busy "Starting xe daemon" + mkdir -p $(dirname ${XE_DAEMON_PIDFILE}) + # This is equivalent to daemon() in C + ( exec &>/dev/null ; ${XE_DAEMON} -p ${XE_DAEMON_PIDFILE} & ) ++ if [ $? -gt 0 ]; then ++ stat_fail ++ else ++ add_daemon xe-linux-distribution ++ stat_done ++ fi + } + + stop() + { +- action $"Stopping xe daemon: " kill -TERM $(cat ${XE_DAEMON_PIDFILE}) ++ stat_busy "Stopping xe daemon" ++ killall $(basename ${XE_DAEMON}) -TERM ++ if [ $? -gt 0 ]; then ++ stat_fail ++ else ++ rm_daemon xe-linux-distribution ++ stat_done ++ fi + } + + # fail silently if not running xen +@@ -91,7 +99,7 @@ + stop) + stop + ;; +- force-reload|restart) ++ restart) + stop + start + ;; +diff -uNr src.orig//usr/sbin/xe-linux-distribution src/usr/sbin/xe-linux-distribution +--- src.orig//usr/sbin/xe-linux-distribution 2010-05-20 13:19:02.000000000 +0200 ++++ src/usr/sbin/xe-linux-distribution 2010-10-04 14:44:37.000000000 +0200 +@@ -51,6 +51,22 @@ + return 0 + } + ++identify_parabola() ++{ ++ local parabola_version="$1" ++ local major ++ local minor ++ ++ if [ ! -f "${parabola_version}" ] ; then ++ return 1 ++ fi ++ ++ eval $(LC_ALL=C pacman -Qi initscripts |grep Version |sed "s/^.*: //" | \ ++ awk -F. '{print "major="$1 ; print "minor="$2 ; exit 0 }' ) ++ write_to_output "parabola" "${major}" "${minor}" "Parabola GNU/Linux-Libre ${major}.${minor}" ++ ++} ++ + identify_debian() + { + local debian_version="$1" +@@ -258,6 +274,7 @@ + identify_sles /etc/SuSE-release && exit 0 + identify_lsb lsb_release && exit 0 + identify_debian /etc/debian_version && exit 0 ++ identify_parabola /etc/arch-release && exit 0 + + if [ $# -eq 1 ] ; then + rm -f "$1" diff --git a/kernels/xen/09_xen b/kernels/xen/09_xen new file mode 100755 index 000000000..094b7f427 --- /dev/null +++ b/kernels/xen/09_xen @@ -0,0 +1,123 @@ +#! /bin/sh -e + +if [ -f /usr/lib/grub/grub-mkconfig_lib ]; then + . /usr/lib/grub/grub-mkconfig_lib +else + # no grub file, so we notify and exit gracefully + echo "Cannot find grub config file, exiting." >&2 + exit 0 +fi + +XEN_HYPERVISOR_CMDLINE= +XEN_LINUX_CMDLINE="console=tty0" +[ -r /etc/xen/grub.conf ] && . /etc/xen/grub.conf + +CLASS="--class gnu-linux --class gnu --class os" + +if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then + OS=GNU/Linux +else + OS="${GRUB_DISTRIBUTOR}" + CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr '[A-Z]' '[a-z]' | cut -d' ' -f1) ${CLASS}" +fi + +# loop-AES arranges things so that /dev/loop/X can be our root device, but +# the initrds that Linux uses don't like that. +case ${GRUB_DEVICE} in + /dev/loop/*|/dev/loop[0-9]) + GRUB_DEVICE=`losetup ${GRUB_DEVICE} | sed -e "s/^[^(]*(\([^)]\+\)).*/\1/"` + ;; +esac + +if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \ + || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \ + || [ "`grub-probe -t abstraction --device ${GRUB_DEVICE} | sed -e 's,.*\(lvm\).*,\1,'`" = "lvm" ] ; then + LINUX_ROOT_DEVICE=${GRUB_DEVICE} +else + LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID} +fi + +xen_entry () +{ + os="$1" + xen_version="$2" + version="$3" + xen_args="$4" + args="$5" + printf "menuentry 'Xen %s / %s, with Linux %s' --class xen ${CLASS} {\n" "${xen_version}" "${os}" "${version}" + save_default_entry | sed -e "s/^/\t/" + + if [ -z "${prepare_boot_cache}" ]; then + prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/")" + fi + printf '%s\n' "${prepare_boot_cache}" + cat << EOF + echo '$(printf "Loading Xen %s ..." ${xen_version})' + multiboot ${rel_dirname}/${xen_basename} ${rel_dirname}/${xen_basename} ${xen_args} + echo $(printf "$(gettext "Loading Linux %s ...")" ${version}) + module ${rel_dirname}/${basename} ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args} +EOF + if test -n "${initrd}" ; then + cat << EOF + echo "Loading initial ramdisk ..." + module ${rel_dirname}/${initrd} +EOF + fi + cat << EOF +} +EOF +} + +xen_list=`for i in /boot/xen-*.gz /xen-*.gz ; do + if grub_file_is_not_garbage "$i" ; then echo -n "$i "; fi +done` +prepare_boot_cache= + +while [ "x$xen_list" != "x" ] ; do + xen=`version_find_latest $xen_list` + echo "Found Xen hypervisor image: $xen" >&2 + xen_basename=`basename $xen` + xen_dirname=`dirname $xen` + rel_xen_dirname=`make_system_path_relative_to_its_root $xen_dirname` + xen_version=`echo $xen_basename | sed -e "s,^[^0-9]*-,,g" | sed -e "s,.gz,,g"` + alt_xen_version=`echo $xen_version | sed -e "s,\.old$,,g"` + + xen_configfiles=`grep -l 'CONFIG_XEN_PRIVILEGED_GUEST=y' /boot/config-*` + + list="/boot/vmlinuz-linux-libre"; + + while [ "x$list" != "x" ] ; do + linux=`version_find_latest $list` + echo -e "\tFound linux image: $linux" >&2 + basename=`basename $linux` + dirname=`dirname $linux` + rel_dirname=`make_system_path_relative_to_its_root $dirname` + version=`echo $basename | sed -e "s,^[^0-9]*-,,g"` + base_init=`echo $basename | sed -e "s,vmlinuz,initramfs,g"` + alt_version="${base_init}-fallback" + linux_root_device_thisversion="${LINUX_ROOT_DEVICE}" + initrd= + + for i in "${base_init}.img"; do + if test -e "${dirname}/${i}" ; then + initrd="$i" + break + fi + done + if test -n "${initrd}" ; then + echo -e "\tFound initrd image: ${dirname}/${initrd}" >&2 + else + # "UUID=" magic is parsed by initrds. Since there's no initrd, it can't work here. + linux_root_device_thisversion=${GRUB_DEVICE} + fi + + xen_entry "${OS}" "${xen_version}" "${version}" \ + "${XEN_HYPERVISOR_CMDLINE}" \ + "${XEN_LINUX_CMDLINE}" + + list=`echo $list | tr ' ' '\n' | grep -vx $linux | tr '\n' ' '` + done + + xen_list=`echo $xen_list | tr ' ' '\n' | grep -vx $xen | tr '\n' ' '` +done + diff --git a/kernels/xen/24341.patch b/kernels/xen/24341.patch new file mode 100644 index 000000000..5554004d3 --- /dev/null +++ b/kernels/xen/24341.patch @@ -0,0 +1,11 @@ +--- a/xen/arch/x86/x86_64/mmconfig_64.c 2011-10-20 15:05:49.000000000 -0200 ++++ b/xen/arch/x86/x86_64/mmconfig_64.c 2012-02-14 23:45:47.481729733 -0200 +@@ -23,7 +23,7 @@ + char __iomem *virt; + }; + static struct mmcfg_virt *pci_mmcfg_virt; +-static int __initdata mmcfg_pci_segment_shift; ++static unsigned int mmcfg_pci_segment_shift; + + static char __iomem *get_virt(unsigned int seg, unsigned bus) + { diff --git a/kernels/xen/24344.patch b/kernels/xen/24344.patch new file mode 100644 index 000000000..642b90867 --- /dev/null +++ b/kernels/xen/24344.patch @@ -0,0 +1,33 @@ +--- a/tools/libxc/xc_cpuid_x86.c 2011-10-20 15:05:42.000000000 -0200 ++++ b/tools/libxc/xc_cpuid_x86.c 2012-02-15 00:01:46.307514813 -0200 +@@ -42,23 +42,23 @@ + static void cpuid(const unsigned int *input, unsigned int *regs) + { + unsigned int count = (input[1] == XEN_CPUID_INPUT_UNUSED) ? 0 : input[1]; +- asm ( + #ifdef __i386__ ++/* Use the stack to avoid reg constraint failures with some gcc flags */ ++ asm ( + "push %%ebx; push %%edx\n\t" +-#else +- "push %%rbx; push %%rdx\n\t" +-#endif + "cpuid\n\t" + "mov %%ebx,4(%4)\n\t" + "mov %%edx,12(%4)\n\t" +-#ifdef __i386__ + "pop %%edx; pop %%ebx\n\t" ++ : "=a" (regs[0]), "=c" (regs[2]) ++ : "0" (input[0]), "1" (count), "S" (regs) ++ : "memory" ); + #else +- "pop %%rdx; pop %%rbx\n\t" ++ asm ( ++ "cpuid" ++ : "=a" (regs[0]), "=b" (regs[1]), "=c" (regs[2]), "=d" (regs[3]) ++ : "0" (input[0]), "2" (count) ); + #endif +- : "=a" (regs[0]), "=c" (regs[2]) +- : "0" (input[0]), "1" (count), "S" (regs) +- : "memory" ); + } diff --git a/kernels/xen/24345.patch b/kernels/xen/24345.patch new file mode 100644 index 000000000..e75a1b38c --- /dev/null +++ b/kernels/xen/24345.patch @@ -0,0 +1,31 @@ +--- a/tools/misc/xen-detect.c 2011-10-20 15:05:43.000000000 -0200 ++++ b/tools/misc/xen-detect.c 2012-02-15 00:05:55.524455578 -0200 +@@ -35,18 +35,21 @@ + + static void cpuid(uint32_t idx, uint32_t *regs, int pv_context) + { +- asm volatile ( + #ifdef __i386__ +-#define R(x) "%%e"#x"x" +-#else +-#define R(x) "%%r"#x"x" +-#endif +- "push "R(a)"; push "R(b)"; push "R(c)"; push "R(d)"\n\t" ++/* Use the stack to avoid reg constraint failures with some gcc flags */ ++ asm volatile ( ++ "push %%eax; push %%ebx; push %%ecx; push %%edx\n\t" + "test %1,%1 ; jz 1f ; ud2a ; .ascii \"xen\" ; 1: cpuid\n\t" + "mov %%eax,(%2); mov %%ebx,4(%2)\n\t" + "mov %%ecx,8(%2); mov %%edx,12(%2)\n\t" +- "pop "R(d)"; pop "R(c)"; pop "R(b)"; pop "R(a)"\n\t" ++ "pop %%edx; pop %%ecx; pop %%ebx; pop %%eax\n\t" + : : "a" (idx), "c" (pv_context), "S" (regs) : "memory" ); ++#else ++ asm volatile ( ++ "test %5,%5 ; jz 1f ; ud2a ; .ascii \"xen\" ; 1: cpuid\n\t" ++ : "=a" (regs[0]), "=b" (regs[1]), "=c" (regs[2]), "=d" (regs[3]) ++ : "0" (idx), "1" (pv_context), "2" (0) ); ++#endif + } + + static int check_for_xen(int pv_context) diff --git a/kernels/xen/PKGBUILD b/kernels/xen/PKGBUILD new file mode 100644 index 000000000..e1796106a --- /dev/null +++ b/kernels/xen/PKGBUILD @@ -0,0 +1,99 @@ +#Mantainer M0Rf30 +#Contributor WaxyMouthfeel +# Contributor (Parabola): André Silva +pkgname=xen +pkgver=4.1.2 +pkgrel=2 +pkgdesc="Xen 4 (hypervisor and tools)" +arch=(i686 x86_64) +url="http://xen.org/" +license="GPL" +depends=('xz-utils' 'bzip2' 'iproute' 'bridge-utils' 'python2' 'sdl' 'zlib' 'e2fsprogs' 'pkgconfig' 'gnutls' 'lzo2' 'glibc') +[ "$CARCH" == "x86_64" ] && depends=(${depends} 'lib32-glibc') +optdepends=('xen-docs: Xen Official Documentation') +makedepends=('dev86' 'bin86' 'ocaml-findlib' 'iasl') +conflicts=('xen4' 'xen3' 'xen-hv-tools' 'libxen4') +provides=('xen') +backup=('etc/xen/xend-config.sxp' 'etc/xen/xend-pci-permissive.sxp' 'etc/xen/xend-pci-quirks.sxp') +options=(!strip) +optional=(xen-docs) +source=(http://bits.xensource.com/oss-xen/release/${pkgver}/xen-${pkgver}.tar.gz + 09_xen + xen.patch + parabolainit.patch + dom0_xz_decompression.patch + 24341.patch + 24344.patch + 24345.patch) + +build() { + + + cd $srcdir/xen-${pkgver} + + patch -p1 -i ../xen.patch + patch -p1 -i ../parabolainit.patch + patch -p1 -i ../dom0_xz_decompression.patch + patch -p1 -i ../24341.patch + patch -p1 -i ../24344.patch + patch -p1 -i ../24345.patch + +unset CFLAGS LDFLAGS + +make PYTHON=python2 DESTDIR=$pkgdir install-xen +make PYTHON=python2 DESTDIR=$pkgdir install-tools +#make PYTHON=python2 DESTDIR=$pkgdir install-stubdom + + sed -i 's#XENDOM_CONFIG=/etc/sysconfig/xendomains#XENDOM_CONFIG=/etc/conf.d/xendomains#' $pkgdir/etc/init.d/xendomains + sed -i "s#touch /var/lock/subsys/xend#mkdir -p /var/lock/subsys\n touch /var/lock/subsys/xend#" $pkgdir/etc/init.d/xend + + [ -d $pkgdir/usr/lib64 ] && ( cd $pkgdir/usr && cp -R lib64/* lib/ && rm -R lib64 ) + ( cd $pkgdir/etc && mv init.d rc.d ) || return 1 + rm -f $pkgdir/usr/share/man/man1/qemu-img.1* \ + $pkgdir/usr/share/man/man1/qemu.1* + # First experiment to generate grub2.cfg entry + mkdir -p $pkgdir/etc/grub.d + chmod +x $srcdir/09_xen + cp $srcdir/09_xen $pkgdir/etc/grub.d + + ############ kill unwanted stuff ############ + +# stubdom: newlib +rm -rf $pkgdir/usr/*-xen-elf + +# hypervisor symlinks +rm -rf $pkgdir/boot/xen-4.1.gz +rm -rf $pkgdir/boot/xen-4.gz +rm -rf $pkgdir/boot/xen.gz + +# silly doc dir fun +rm -fr $pkgdir/usr/share/doc/xen +rm -rf $pkgdir/usr/share/doc/qemu + +# Pointless helper +rm -f $pkgdir/usr/sbin/xen-python-path + +# qemu stuff (unused or available from upstream) +rm -rf $pkgdir/usr/share/xen/man +rm -rf $pkgdir/usr/bin/qemu-*-xen +for file in bios.bin openbios-sparc32 openbios-sparc64 ppc_rom.bin \ + pxe-e1000.bin pxe-ne2k_pci.bin pxe-pcnet.bin pxe-rtl8139.bin \ + vgabios.bin vgabios-cirrus.bin video.x openbios-ppc bamboo.dtb +do + rm -f $pkgdir/usr/share/xen/qemu/$file +done + +# adhere to Static Library Packaging Guidelines +rm -rf $pkgdir/usr/lib/*.a + + +} + +md5sums=('73561faf3c1b5e36ec5c089b5db848ad' + '8d50beba46ffd89a3b959176245b676e' + 'f149bae1a6b420e49c51b9f3a74338a4' + '7a1ed81ecc828037724bb3280058c9fc' + '4aebccf16b578ed97aa8bab945011f35' + '1b0c05a555bc99fc8416dd52b6c6ae95' + 'b6225be5bec3fe462f9166f9fde9c347' + 'd282946a2873a78b2b2c3944571eb2fe') diff --git a/kernels/xen/dom0_xz_decompression.patch b/kernels/xen/dom0_xz_decompression.patch new file mode 100644 index 000000000..277ebcfd2 --- /dev/null +++ b/kernels/xen/dom0_xz_decompression.patch @@ -0,0 +1,3528 @@ +diff --git a/xen/common/Makefile b/xen/common/Makefile +--- a/xen/common/Makefile ++++ b/xen/common/Makefile +@@ -43,7 +43,7 @@ + obj-y += rbtree.o + obj-y += lzo.o + +-obj-$(CONFIG_X86) += decompress.o bunzip2.o unlzma.o unlzo.o ++obj-$(CONFIG_X86) += decompress.o bunzip2.o unxz.o unlzma.o unlzo.o + + obj-$(perfc) += perfc.o + obj-$(crash_debug) += gdbstub.o +diff --git a/xen/common/decompress.c b/xen/common/decompress.c +--- a/xen/common/decompress.c ++++ b/xen/common/decompress.c +@@ -20,6 +20,9 @@ + if ( len >= 3 && !memcmp(inbuf, "\x42\x5a\x68", 3) ) + return bunzip2(inbuf, len, NULL, NULL, outbuf, NULL, error); + ++ if ( len >= 6 && !memcmp(inbuf, "\3757zXZ", 6) ) ++ return unxz(inbuf, len, NULL, NULL, outbuf, NULL, error); ++ + if ( len >= 2 && !memcmp(inbuf, "\135\000", 2) ) + return unlzma(inbuf, len, NULL, NULL, outbuf, NULL, error); + +diff --git a/xen/common/decompress.h b/xen/common/decompress.h +--- a/xen/common/decompress.h ++++ b/xen/common/decompress.h +@@ -8,6 +8,7 @@ + + #define STATIC + #define INIT __init ++#define INITDATA __initdata + + static void(*__initdata error)(const char *); + #define set_error_fn(x) error = x; +diff --git a/xen/common/unxz.c b/xen/common/unxz.c +new file mode 100644 +--- /dev/null ++++ b/xen/common/unxz.c +@@ -0,0 +1,306 @@ ++/* ++ * Wrapper for decompressing XZ-compressed kernel, initramfs, and initrd ++ * ++ * Author: Lasse Collin ++ * ++ * This file has been put into the public domain. ++ * You can do whatever you want with this file. ++ */ ++ ++/* ++ * Important notes about in-place decompression ++ * ++ * At least on x86, the kernel is decompressed in place: the compressed data ++ * is placed to the end of the output buffer, and the decompressor overwrites ++ * most of the compressed data. There must be enough safety margin to ++ * guarantee that the write position is always behind the read position. ++ * ++ * The safety margin for XZ with LZMA2 or BCJ+LZMA2 is calculated below. ++ * Note that the margin with XZ is bigger than with Deflate (gzip)! ++ * ++ * The worst case for in-place decompression is that the beginning of ++ * the file is compressed extremely well, and the rest of the file is ++ * uncompressible. Thus, we must look for worst-case expansion when the ++ * compressor is encoding uncompressible data. ++ * ++ * The structure of the .xz file in case of a compresed kernel is as follows. ++ * Sizes (as bytes) of the fields are in parenthesis. ++ * ++ * Stream Header (12) ++ * Block Header: ++ * Block Header (8-12) ++ * Compressed Data (N) ++ * Block Padding (0-3) ++ * CRC32 (4) ++ * Index (8-20) ++ * Stream Footer (12) ++ * ++ * Normally there is exactly one Block, but let's assume that there are ++ * 2-4 Blocks just in case. Because Stream Header and also Block Header ++ * of the first Block don't make the decompressor produce any uncompressed ++ * data, we can ignore them from our calculations. Block Headers of possible ++ * additional Blocks have to be taken into account still. With these ++ * assumptions, it is safe to assume that the total header overhead is ++ * less than 128 bytes. ++ * ++ * Compressed Data contains LZMA2 or BCJ+LZMA2 encoded data. Since BCJ ++ * doesn't change the size of the data, it is enough to calculate the ++ * safety margin for LZMA2. ++ * ++ * LZMA2 stores the data in chunks. Each chunk has a header whose size is ++ * a maximum of 6 bytes, but to get round 2^n numbers, let's assume that ++ * the maximum chunk header size is 8 bytes. After the chunk header, there ++ * may be up to 64 KiB of actual payload in the chunk. Often the payload is ++ * quite a bit smaller though; to be safe, let's assume that an average ++ * chunk has only 32 KiB of payload. ++ * ++ * The maximum uncompressed size of the payload is 2 MiB. The minimum ++ * uncompressed size of the payload is in practice never less than the ++ * payload size itself. The LZMA2 format would allow uncompressed size ++ * to be less than the payload size, but no sane compressor creates such ++ * files. LZMA2 supports storing uncompressible data in uncompressed form, ++ * so there's never a need to create payloads whose uncompressed size is ++ * smaller than the compressed size. ++ * ++ * The assumption, that the uncompressed size of the payload is never ++ * smaller than the payload itself, is valid only when talking about ++ * the payload as a whole. It is possible that the payload has parts where ++ * the decompressor consumes more input than it produces output. Calculating ++ * the worst case for this would be tricky. Instead of trying to do that, ++ * let's simply make sure that the decompressor never overwrites any bytes ++ * of the payload which it is currently reading. ++ * ++ * Now we have enough information to calculate the safety margin. We need ++ * - 128 bytes for the .xz file format headers; ++ * - 8 bytes per every 32 KiB of uncompressed size (one LZMA2 chunk header ++ * per chunk, each chunk having average payload size of 32 KiB); and ++ * - 64 KiB (biggest possible LZMA2 chunk payload size) to make sure that ++ * the decompressor never overwrites anything from the LZMA2 chunk ++ * payload it is currently reading. ++ * ++ * We get the following formula: ++ * ++ * safety_margin = 128 + uncompressed_size * 8 / 32768 + 65536 ++ * = 128 + (uncompressed_size >> 12) + 65536 ++ * ++ * For comparision, according to arch/x86/boot/compressed/misc.c, the ++ * equivalent formula for Deflate is this: ++ * ++ * safety_margin = 18 + (uncompressed_size >> 12) + 32768 ++ * ++ * Thus, when updating Deflate-only in-place kernel decompressor to ++ * support XZ, the fixed overhead has to be increased from 18+32768 bytes ++ * to 128+65536 bytes. ++ */ ++ ++#include "decompress.h" ++ ++#define XZ_EXTERN STATIC ++ ++/* ++ * For boot time use, we enable only the BCJ filter of the current ++ * architecture or none if no BCJ filter is available for the architecture. ++ */ ++#ifdef CONFIG_X86 ++# define XZ_DEC_X86 ++#endif ++#ifdef CONFIG_PPC ++# define XZ_DEC_POWERPC ++#endif ++#ifdef CONFIG_ARM ++# define XZ_DEC_ARM ++#endif ++#ifdef CONFIG_IA64 ++# define XZ_DEC_IA64 ++#endif ++#ifdef CONFIG_SPARC ++# define XZ_DEC_SPARC ++#endif ++ ++/* ++ * This will get the basic headers so that memeq() and others ++ * can be defined. ++ */ ++#include "xz/private.h" ++ ++/* ++ * memeq and memzero are not used much and any remotely sane implementation ++ * is fast enough. memcpy/memmove speed matters in multi-call mode, but ++ * the kernel image is decompressed in single-call mode, in which only ++ * memcpy speed can matter and only if there is a lot of uncompressible data ++ * (LZMA2 stores uncompressible chunks in uncompressed form). Thus, the ++ * functions below should just be kept small; it's probably not worth ++ * optimizing for speed. ++ */ ++ ++#ifndef memeq ++#define memeq(p1, p2, sz) (memcmp(p1, p2, sz) == 0) ++#endif ++ ++#ifndef memzero ++#define memzero(p, sz) memset(p, 0, sz) ++#endif ++ ++#include "xz/crc32.c" ++#include "xz/dec_stream.c" ++#include "xz/dec_lzma2.c" ++#include "xz/dec_bcj.c" ++ ++/* Size of the input and output buffers in multi-call mode */ ++#define XZ_IOBUF_SIZE 4096 ++ ++/* ++ * This function implements the API defined in . ++ * ++ * This wrapper will automatically choose single-call or multi-call mode ++ * of the native XZ decoder API. The single-call mode can be used only when ++ * both input and output buffers are available as a single chunk, i.e. when ++ * fill() and flush() won't be used. ++ */ ++STATIC int INIT unxz(unsigned char *in, unsigned int in_size, ++ int (*fill)(void *dest, unsigned int size), ++ int (*flush)(void *src, unsigned int size), ++ unsigned char *out, unsigned int *in_used, ++ void (*error_fn)(const char *x)) ++{ ++ struct xz_buf b; ++ struct xz_dec *s; ++ enum xz_ret ret; ++ bool_t must_free_in = false; ++ ++ set_error_fn(error_fn); ++ ++ xz_crc32_init(); ++ ++ if (in_used != NULL) ++ *in_used = 0; ++ ++ if (fill == NULL && flush == NULL) ++ s = xz_dec_init(XZ_SINGLE, 0); ++ else ++ s = xz_dec_init(XZ_DYNALLOC, (uint32_t)-1); ++ ++ if (s == NULL) ++ goto error_alloc_state; ++ ++ if (flush == NULL) { ++ b.out = out; ++ b.out_size = (size_t)-1; ++ } else { ++ b.out_size = XZ_IOBUF_SIZE; ++ b.out = malloc(XZ_IOBUF_SIZE); ++ if (b.out == NULL) ++ goto error_alloc_out; ++ } ++ ++ if (in == NULL) { ++ must_free_in = true; ++ in = malloc(XZ_IOBUF_SIZE); ++ if (in == NULL) ++ goto error_alloc_in; ++ } ++ ++ b.in = in; ++ b.in_pos = 0; ++ b.in_size = in_size; ++ b.out_pos = 0; ++ ++ if (fill == NULL && flush == NULL) { ++ ret = xz_dec_run(s, &b); ++ } else { ++ do { ++ if (b.in_pos == b.in_size && fill != NULL) { ++ if (in_used != NULL) ++ *in_used += b.in_pos; ++ ++ b.in_pos = 0; ++ ++ in_size = fill(in, XZ_IOBUF_SIZE); ++ if (in_size < 0) { ++ /* ++ * This isn't an optimal error code ++ * but it probably isn't worth making ++ * a new one either. ++ */ ++ ret = XZ_BUF_ERROR; ++ break; ++ } ++ ++ b.in_size = in_size; ++ } ++ ++ ret = xz_dec_run(s, &b); ++ ++ if (flush != NULL && (b.out_pos == b.out_size ++ || (ret != XZ_OK && b.out_pos > 0))) { ++ /* ++ * Setting ret here may hide an error ++ * returned by xz_dec_run(), but probably ++ * it's not too bad. ++ */ ++ if (flush(b.out, b.out_pos) != (int)b.out_pos) ++ ret = XZ_BUF_ERROR; ++ ++ b.out_pos = 0; ++ } ++ } while (ret == XZ_OK); ++ ++ if (must_free_in) ++ free(in); ++ ++ if (flush != NULL) ++ free(b.out); ++ } ++ ++ if (in_used != NULL) ++ *in_used += b.in_pos; ++ ++ xz_dec_end(s); ++ ++ switch (ret) { ++ case XZ_STREAM_END: ++ return 0; ++ ++ case XZ_MEM_ERROR: ++ /* This can occur only in multi-call mode. */ ++ error("XZ decompressor ran out of memory"); ++ break; ++ ++ case XZ_FORMAT_ERROR: ++ error("Input is not in the XZ format (wrong magic bytes)"); ++ break; ++ ++ case XZ_OPTIONS_ERROR: ++ error("Input was encoded with settings that are not " ++ "supported by this XZ decoder"); ++ break; ++ ++ case XZ_DATA_ERROR: ++ case XZ_BUF_ERROR: ++ error("XZ-compressed data is corrupt"); ++ break; ++ ++ default: ++ error("Bug in the XZ decompressor"); ++ break; ++ } ++ ++ return -1; ++ ++error_alloc_in: ++ if (flush != NULL) ++ free(b.out); ++ ++error_alloc_out: ++ xz_dec_end(s); ++ ++error_alloc_state: ++ error("XZ decompressor ran out of memory"); ++ return -1; ++} ++ ++/* ++ * This macro is used by architecture-specific files to decompress ++ * the kernel image. ++ */ ++#define decompress unxz +diff --git a/xen/common/xz/crc32.c b/xen/common/xz/crc32.c +new file mode 100644 +--- /dev/null ++++ b/xen/common/xz/crc32.c +@@ -0,0 +1,51 @@ ++/* ++ * CRC32 using the polynomial from IEEE-802.3 ++ * ++ * Authors: Lasse Collin ++ * Igor Pavlov ++ * ++ * This file has been put into the public domain. ++ * You can do whatever you want with this file. ++ */ ++ ++/* ++ * This is not the fastest implementation, but it is pretty compact. ++ * The fastest versions of xz_crc32() on modern CPUs without hardware ++ * accelerated CRC instruction are 3-5 times as fast as this version, ++ * but they are bigger and use more memory for the lookup table. ++ */ ++ ++#include "private.h" ++ ++XZ_EXTERN uint32_t INITDATA xz_crc32_table[256]; ++ ++XZ_EXTERN void INIT xz_crc32_init(void) ++{ ++ const uint32_t poly = 0xEDB88320; ++ ++ uint32_t i; ++ uint32_t j; ++ uint32_t r; ++ ++ for (i = 0; i < 256; ++i) { ++ r = i; ++ for (j = 0; j < 8; ++j) ++ r = (r >> 1) ^ (poly & ~((r & 1) - 1)); ++ ++ xz_crc32_table[i] = r; ++ } ++ ++ return; ++} ++ ++XZ_EXTERN uint32_t INIT xz_crc32(const uint8_t *buf, size_t size, uint32_t crc) ++{ ++ crc = ~crc; ++ ++ while (size != 0) { ++ crc = xz_crc32_table[*buf++ ^ (crc & 0xFF)] ^ (crc >> 8); ++ --size; ++ } ++ ++ return ~crc; ++} +diff --git a/xen/common/xz/dec_bcj.c b/xen/common/xz/dec_bcj.c +new file mode 100644 +--- /dev/null ++++ b/xen/common/xz/dec_bcj.c +@@ -0,0 +1,562 @@ ++/* ++ * Branch/Call/Jump (BCJ) filter decoders ++ * ++ * Authors: Lasse Collin ++ * Igor Pavlov ++ * ++ * This file has been put into the public domain. ++ * You can do whatever you want with this file. ++ */ ++ ++#include "private.h" ++ ++/* ++ * The rest of the file is inside this ifdef. It makes things a little more ++ * convenient when building without support for any BCJ filters. ++ */ ++#ifdef XZ_DEC_BCJ ++ ++struct xz_dec_bcj { ++ /* Type of the BCJ filter being used */ ++ enum { ++ BCJ_X86 = 4, /* x86 or x86-64 */ ++ BCJ_POWERPC = 5, /* Big endian only */ ++ BCJ_IA64 = 6, /* Big or little endian */ ++ BCJ_ARM = 7, /* Little endian only */ ++ BCJ_ARMTHUMB = 8, /* Little endian only */ ++ BCJ_SPARC = 9 /* Big or little endian */ ++ } type; ++ ++ /* ++ * Return value of the next filter in the chain. We need to preserve ++ * this information across calls, because we must not call the next ++ * filter anymore once it has returned XZ_STREAM_END. ++ */ ++ enum xz_ret ret; ++ ++ /* True if we are operating in single-call mode. */ ++ bool_t single_call; ++ ++ /* ++ * Absolute position relative to the beginning of the uncompressed ++ * data (in a single .xz Block). We care only about the lowest 32 ++ * bits so this doesn't need to be uint64_t even with big files. ++ */ ++ uint32_t pos; ++ ++ /* x86 filter state */ ++ uint32_t x86_prev_mask; ++ ++ /* Temporary space to hold the variables from struct xz_buf */ ++ uint8_t *out; ++ size_t out_pos; ++ size_t out_size; ++ ++ struct { ++ /* Amount of already filtered data in the beginning of buf */ ++ size_t filtered; ++ ++ /* Total amount of data currently stored in buf */ ++ size_t size; ++ ++ /* ++ * Buffer to hold a mix of filtered and unfiltered data. This ++ * needs to be big enough to hold Alignment + 2 * Look-ahead: ++ * ++ * Type Alignment Look-ahead ++ * x86 1 4 ++ * PowerPC 4 0 ++ * IA-64 16 0 ++ * ARM 4 0 ++ * ARM-Thumb 2 2 ++ * SPARC 4 0 ++ */ ++ uint8_t buf[16]; ++ } temp; ++}; ++ ++#ifdef XZ_DEC_X86 ++/* ++ * This is used to test the most significant byte of a memory address ++ * in an x86 instruction. ++ */ ++static inline int INIT bcj_x86_test_msbyte(uint8_t b) ++{ ++ return b == 0x00 || b == 0xFF; ++} ++ ++static size_t INIT bcj_x86(struct xz_dec_bcj *s, uint8_t *buf, size_t size) ++{ ++ static /*const*/ bool_t INITDATA mask_to_allowed_status[8] ++ = { true, true, true, false, true, false, false, false }; ++ ++ static /*const*/ uint8_t INITDATA mask_to_bit_num[8] ++ = { 0, 1, 2, 2, 3, 3, 3, 3 }; ++ ++ size_t i; ++ size_t prev_pos = (size_t)-1; ++ uint32_t prev_mask = s->x86_prev_mask; ++ uint32_t src; ++ uint32_t dest; ++ uint32_t j; ++ uint8_t b; ++ ++ if (size <= 4) ++ return 0; ++ ++ size -= 4; ++ for (i = 0; i < size; ++i) { ++ if ((buf[i] & 0xFE) != 0xE8) ++ continue; ++ ++ prev_pos = i - prev_pos; ++ if (prev_pos > 3) { ++ prev_mask = 0; ++ } else { ++ prev_mask = (prev_mask << (prev_pos - 1)) & 7; ++ if (prev_mask != 0) { ++ b = buf[i + 4 - mask_to_bit_num[prev_mask]]; ++ if (!mask_to_allowed_status[prev_mask] ++ || bcj_x86_test_msbyte(b)) { ++ prev_pos = i; ++ prev_mask = (prev_mask << 1) | 1; ++ continue; ++ } ++ } ++ } ++ ++ prev_pos = i; ++ ++ if (bcj_x86_test_msbyte(buf[i + 4])) { ++ src = get_unaligned_le32(buf + i + 1); ++ while (true) { ++ dest = src - (s->pos + (uint32_t)i + 5); ++ if (prev_mask == 0) ++ break; ++ ++ j = mask_to_bit_num[prev_mask] * 8; ++ b = (uint8_t)(dest >> (24 - j)); ++ if (!bcj_x86_test_msbyte(b)) ++ break; ++ ++ src = dest ^ (((uint32_t)1 << (32 - j)) - 1); ++ } ++ ++ dest &= 0x01FFFFFF; ++ dest |= (uint32_t)0 - (dest & 0x01000000); ++ put_unaligned_le32(dest, buf + i + 1); ++ i += 4; ++ } else { ++ prev_mask = (prev_mask << 1) | 1; ++ } ++ } ++ ++ prev_pos = i - prev_pos; ++ s->x86_prev_mask = prev_pos > 3 ? 0 : prev_mask << (prev_pos - 1); ++ return i; ++} ++#endif ++ ++#ifdef XZ_DEC_POWERPC ++static size_t INIT bcj_powerpc(struct xz_dec_bcj *s, uint8_t *buf, size_t size) ++{ ++ size_t i; ++ uint32_t instr; ++ ++ for (i = 0; i + 4 <= size; i += 4) { ++ instr = get_unaligned_be32(buf + i); ++ if ((instr & 0xFC000003) == 0x48000001) { ++ instr &= 0x03FFFFFC; ++ instr -= s->pos + (uint32_t)i; ++ instr &= 0x03FFFFFC; ++ instr |= 0x48000001; ++ put_unaligned_be32(instr, buf + i); ++ } ++ } ++ ++ return i; ++} ++#endif ++ ++#ifdef XZ_DEC_IA64 ++static size_t INIT bcj_ia64(struct xz_dec_bcj *s, uint8_t *buf, size_t size) ++{ ++ static const uint8_t branch_table[32] = { ++ 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, ++ 4, 4, 6, 6, 0, 0, 7, 7, ++ 4, 4, 0, 0, 4, 4, 0, 0 ++ }; ++ ++ /* ++ * The local variables take a little bit stack space, but it's less ++ * than what LZMA2 decoder takes, so it doesn't make sense to reduce ++ * stack usage here without doing that for the LZMA2 decoder too. ++ */ ++ ++ /* Loop counters */ ++ size_t i; ++ size_t j; ++ ++ /* Instruction slot (0, 1, or 2) in the 128-bit instruction word */ ++ uint32_t slot; ++ ++ /* Bitwise offset of the instruction indicated by slot */ ++ uint32_t bit_pos; ++ ++ /* bit_pos split into byte and bit parts */ ++ uint32_t byte_pos; ++ uint32_t bit_res; ++ ++ /* Address part of an instruction */ ++ uint32_t addr; ++ ++ /* Mask used to detect which instructions to convert */ ++ uint32_t mask; ++ ++ /* 41-bit instruction stored somewhere in the lowest 48 bits */ ++ uint64_t instr; ++ ++ /* Instruction normalized with bit_res for easier manipulation */ ++ uint64_t norm; ++ ++ for (i = 0; i + 16 <= size; i += 16) { ++ mask = branch_table[buf[i] & 0x1F]; ++ for (slot = 0, bit_pos = 5; slot < 3; ++slot, bit_pos += 41) { ++ if (((mask >> slot) & 1) == 0) ++ continue; ++ ++ byte_pos = bit_pos >> 3; ++ bit_res = bit_pos & 7; ++ instr = 0; ++ for (j = 0; j < 6; ++j) ++ instr |= (uint64_t)(buf[i + j + byte_pos]) ++ << (8 * j); ++ ++ norm = instr >> bit_res; ++ ++ if (((norm >> 37) & 0x0F) == 0x05 ++ && ((norm >> 9) & 0x07) == 0) { ++ addr = (norm >> 13) & 0x0FFFFF; ++ addr |= ((uint32_t)(norm >> 36) & 1) << 20; ++ addr <<= 4; ++ addr -= s->pos + (uint32_t)i; ++ addr >>= 4; ++ ++ norm &= ~((uint64_t)0x8FFFFF << 13); ++ norm |= (uint64_t)(addr & 0x0FFFFF) << 13; ++ norm |= (uint64_t)(addr & 0x100000) ++ << (36 - 20); ++ ++ instr &= (1 << bit_res) - 1; ++ instr |= norm << bit_res; ++ ++ for (j = 0; j < 6; j++) ++ buf[i + j + byte_pos] ++ = (uint8_t)(instr >> (8 * j)); ++ } ++ } ++ } ++ ++ return i; ++} ++#endif ++ ++#ifdef XZ_DEC_ARM ++static size_t INIT bcj_arm(struct xz_dec_bcj *s, uint8_t *buf, size_t size) ++{ ++ size_t i; ++ uint32_t addr; ++ ++ for (i = 0; i + 4 <= size; i += 4) { ++ if (buf[i + 3] == 0xEB) { ++ addr = (uint32_t)buf[i] | ((uint32_t)buf[i + 1] << 8) ++ | ((uint32_t)buf[i + 2] << 16); ++ addr <<= 2; ++ addr -= s->pos + (uint32_t)i + 8; ++ addr >>= 2; ++ buf[i] = (uint8_t)addr; ++ buf[i + 1] = (uint8_t)(addr >> 8); ++ buf[i + 2] = (uint8_t)(addr >> 16); ++ } ++ } ++ ++ return i; ++} ++#endif ++ ++#ifdef XZ_DEC_ARMTHUMB ++static size_t INIT bcj_armthumb(struct xz_dec_bcj *s, uint8_t *buf, size_t size) ++{ ++ size_t i; ++ uint32_t addr; ++ ++ for (i = 0; i + 4 <= size; i += 2) { ++ if ((buf[i + 1] & 0xF8) == 0xF0 ++ && (buf[i + 3] & 0xF8) == 0xF8) { ++ addr = (((uint32_t)buf[i + 1] & 0x07) << 19) ++ | ((uint32_t)buf[i] << 11) ++ | (((uint32_t)buf[i + 3] & 0x07) << 8) ++ | (uint32_t)buf[i + 2]; ++ addr <<= 1; ++ addr -= s->pos + (uint32_t)i + 4; ++ addr >>= 1; ++ buf[i + 1] = (uint8_t)(0xF0 | ((addr >> 19) & 0x07)); ++ buf[i] = (uint8_t)(addr >> 11); ++ buf[i + 3] = (uint8_t)(0xF8 | ((addr >> 8) & 0x07)); ++ buf[i + 2] = (uint8_t)addr; ++ i += 2; ++ } ++ } ++ ++ return i; ++} ++#endif ++ ++#ifdef XZ_DEC_SPARC ++static size_t INIT bcj_sparc(struct xz_dec_bcj *s, uint8_t *buf, size_t size) ++{ ++ size_t i; ++ uint32_t instr; ++ ++ for (i = 0; i + 4 <= size; i += 4) { ++ instr = get_unaligned_be32(buf + i); ++ if ((instr >> 22) == 0x100 || (instr >> 22) == 0x1FF) { ++ instr <<= 2; ++ instr -= s->pos + (uint32_t)i; ++ instr >>= 2; ++ instr = ((uint32_t)0x40000000 - (instr & 0x400000)) ++ | 0x40000000 | (instr & 0x3FFFFF); ++ put_unaligned_be32(instr, buf + i); ++ } ++ } ++ ++ return i; ++} ++#endif ++ ++/* ++ * Apply the selected BCJ filter. Update *pos and s->pos to match the amount ++ * of data that got filtered. ++ * ++ * NOTE: This is implemented as a switch statement to avoid using function ++ * pointers, which could be problematic in the kernel boot code, which must ++ * avoid pointers to static data (at least on x86). ++ */ ++static void INIT bcj_apply(struct xz_dec_bcj *s, ++ uint8_t *buf, size_t *pos, size_t size) ++{ ++ size_t filtered; ++ ++ buf += *pos; ++ size -= *pos; ++ ++ switch (s->type) { ++#ifdef XZ_DEC_X86 ++ case BCJ_X86: ++ filtered = bcj_x86(s, buf, size); ++ break; ++#endif ++#ifdef XZ_DEC_POWERPC ++ case BCJ_POWERPC: ++ filtered = bcj_powerpc(s, buf, size); ++ break; ++#endif ++#ifdef XZ_DEC_IA64 ++ case BCJ_IA64: ++ filtered = bcj_ia64(s, buf, size); ++ break; ++#endif ++#ifdef XZ_DEC_ARM ++ case BCJ_ARM: ++ filtered = bcj_arm(s, buf, size); ++ break; ++#endif ++#ifdef XZ_DEC_ARMTHUMB ++ case BCJ_ARMTHUMB: ++ filtered = bcj_armthumb(s, buf, size); ++ break; ++#endif ++#ifdef XZ_DEC_SPARC ++ case BCJ_SPARC: ++ filtered = bcj_sparc(s, buf, size); ++ break; ++#endif ++ default: ++ /* Never reached but silence compiler warnings. */ ++ filtered = 0; ++ break; ++ } ++ ++ *pos += filtered; ++ s->pos += filtered; ++} ++ ++/* ++ * Flush pending filtered data from temp to the output buffer. ++ * Move the remaining mixture of possibly filtered and unfiltered ++ * data to the beginning of temp. ++ */ ++static void INIT bcj_flush(struct xz_dec_bcj *s, struct xz_buf *b) ++{ ++ size_t copy_size; ++ ++ copy_size = min_t(size_t, s->temp.filtered, b->out_size - b->out_pos); ++ memcpy(b->out + b->out_pos, s->temp.buf, copy_size); ++ b->out_pos += copy_size; ++ ++ s->temp.filtered -= copy_size; ++ s->temp.size -= copy_size; ++ memmove(s->temp.buf, s->temp.buf + copy_size, s->temp.size); ++} ++ ++/* ++ * The BCJ filter functions are primitive in sense that they process the ++ * data in chunks of 1-16 bytes. To hide this issue, this function does ++ * some buffering. ++ */ ++XZ_EXTERN enum xz_ret INIT xz_dec_bcj_run(struct xz_dec_bcj *s, ++ struct xz_dec_lzma2 *lzma2, ++ struct xz_buf *b) ++{ ++ size_t out_start; ++ ++ /* ++ * Flush pending already filtered data to the output buffer. Return ++ * immediatelly if we couldn't flush everything, or if the next ++ * filter in the chain had already returned XZ_STREAM_END. ++ */ ++ if (s->temp.filtered > 0) { ++ bcj_flush(s, b); ++ if (s->temp.filtered > 0) ++ return XZ_OK; ++ ++ if (s->ret == XZ_STREAM_END) ++ return XZ_STREAM_END; ++ } ++ ++ /* ++ * If we have more output space than what is currently pending in ++ * temp, copy the unfiltered data from temp to the output buffer ++ * and try to fill the output buffer by decoding more data from the ++ * next filter in the chain. Apply the BCJ filter on the new data ++ * in the output buffer. If everything cannot be filtered, copy it ++ * to temp and rewind the output buffer position accordingly. ++ */ ++ if (s->temp.size < b->out_size - b->out_pos) { ++ out_start = b->out_pos; ++ memcpy(b->out + b->out_pos, s->temp.buf, s->temp.size); ++ b->out_pos += s->temp.size; ++ ++ s->ret = xz_dec_lzma2_run(lzma2, b); ++ if (s->ret != XZ_STREAM_END ++ && (s->ret != XZ_OK || s->single_call)) ++ return s->ret; ++ ++ bcj_apply(s, b->out, &out_start, b->out_pos); ++ ++ /* ++ * As an exception, if the next filter returned XZ_STREAM_END, ++ * we can do that too, since the last few bytes that remain ++ * unfiltered are meant to remain unfiltered. ++ */ ++ if (s->ret == XZ_STREAM_END) ++ return XZ_STREAM_END; ++ ++ s->temp.size = b->out_pos - out_start; ++ b->out_pos -= s->temp.size; ++ memcpy(s->temp.buf, b->out + b->out_pos, s->temp.size); ++ } ++ ++ /* ++ * If we have unfiltered data in temp, try to fill by decoding more ++ * data from the next filter. Apply the BCJ filter on temp. Then we ++ * hopefully can fill the actual output buffer by copying filtered ++ * data from temp. A mix of filtered and unfiltered data may be left ++ * in temp; it will be taken care on the next call to this function. ++ */ ++ if (s->temp.size > 0) { ++ /* Make b->out{,_pos,_size} temporarily point to s->temp. */ ++ s->out = b->out; ++ s->out_pos = b->out_pos; ++ s->out_size = b->out_size; ++ b->out = s->temp.buf; ++ b->out_pos = s->temp.size; ++ b->out_size = sizeof(s->temp.buf); ++ ++ s->ret = xz_dec_lzma2_run(lzma2, b); ++ ++ s->temp.size = b->out_pos; ++ b->out = s->out; ++ b->out_pos = s->out_pos; ++ b->out_size = s->out_size; ++ ++ if (s->ret != XZ_OK && s->ret != XZ_STREAM_END) ++ return s->ret; ++ ++ bcj_apply(s, s->temp.buf, &s->temp.filtered, s->temp.size); ++ ++ /* ++ * If the next filter returned XZ_STREAM_END, we mark that ++ * everything is filtered, since the last unfiltered bytes ++ * of the stream are meant to be left as is. ++ */ ++ if (s->ret == XZ_STREAM_END) ++ s->temp.filtered = s->temp.size; ++ ++ bcj_flush(s, b); ++ if (s->temp.filtered > 0) ++ return XZ_OK; ++ } ++ ++ return s->ret; ++} ++ ++XZ_EXTERN struct xz_dec_bcj *INIT xz_dec_bcj_create(bool_t single_call) ++{ ++ struct xz_dec_bcj *s = malloc(sizeof(*s)); ++ if (s != NULL) ++ s->single_call = single_call; ++ ++ return s; ++} ++ ++XZ_EXTERN enum xz_ret INIT xz_dec_bcj_reset(struct xz_dec_bcj *s, uint8_t id) ++{ ++ switch (id) { ++#ifdef XZ_DEC_X86 ++ case BCJ_X86: ++#endif ++#ifdef XZ_DEC_POWERPC ++ case BCJ_POWERPC: ++#endif ++#ifdef XZ_DEC_IA64 ++ case BCJ_IA64: ++#endif ++#ifdef XZ_DEC_ARM ++ case BCJ_ARM: ++#endif ++#ifdef XZ_DEC_ARMTHUMB ++ case BCJ_ARMTHUMB: ++#endif ++#ifdef XZ_DEC_SPARC ++ case BCJ_SPARC: ++#endif ++ break; ++ ++ default: ++ /* Unsupported Filter ID */ ++ return XZ_OPTIONS_ERROR; ++ } ++ ++ s->type = id; ++ s->ret = XZ_OK; ++ s->pos = 0; ++ s->x86_prev_mask = 0; ++ s->temp.filtered = 0; ++ s->temp.size = 0; ++ ++ return XZ_OK; ++} ++ ++#endif +diff --git a/xen/common/xz/dec_lzma2.c b/xen/common/xz/dec_lzma2.c +new file mode 100644 +--- /dev/null ++++ b/xen/common/xz/dec_lzma2.c +@@ -0,0 +1,1171 @@ ++/* ++ * LZMA2 decoder ++ * ++ * Authors: Lasse Collin ++ * Igor Pavlov ++ * ++ * This file has been put into the public domain. ++ * You can do whatever you want with this file. ++ */ ++ ++#include "private.h" ++#include "lzma2.h" ++ ++/* ++ * Range decoder initialization eats the first five bytes of each LZMA chunk. ++ */ ++#define RC_INIT_BYTES 5 ++ ++/* ++ * Minimum number of usable input buffer to safely decode one LZMA symbol. ++ * The worst case is that we decode 22 bits using probabilities and 26 ++ * direct bits. This may decode at maximum of 20 bytes of input. However, ++ * lzma_main() does an extra normalization before returning, thus we ++ * need to put 21 here. ++ */ ++#define LZMA_IN_REQUIRED 21 ++ ++/* ++ * Dictionary (history buffer) ++ * ++ * These are always true: ++ * start <= pos <= full <= end ++ * pos <= limit <= end ++ * ++ * In multi-call mode, also these are true: ++ * end == size ++ * size <= size_max ++ * allocated <= size ++ * ++ * Most of these variables are size_t to support single-call mode, ++ * in which the dictionary variables address the actual output ++ * buffer directly. ++ */ ++struct dictionary { ++ /* Beginning of the history buffer */ ++ uint8_t *buf; ++ ++ /* Old position in buf (before decoding more data) */ ++ size_t start; ++ ++ /* Position in buf */ ++ size_t pos; ++ ++ /* ++ * How full dictionary is. This is used to detect corrupt input that ++ * would read beyond the beginning of the uncompressed stream. ++ */ ++ size_t full; ++ ++ /* Write limit; we don't write to buf[limit] or later bytes. */ ++ size_t limit; ++ ++ /* ++ * End of the dictionary buffer. In multi-call mode, this is ++ * the same as the dictionary size. In single-call mode, this ++ * indicates the size of the output buffer. ++ */ ++ size_t end; ++ ++ /* ++ * Size of the dictionary as specified in Block Header. This is used ++ * together with "full" to detect corrupt input that would make us ++ * read beyond the beginning of the uncompressed stream. ++ */ ++ uint32_t size; ++ ++ /* ++ * Maximum allowed dictionary size in multi-call mode. ++ * This is ignored in single-call mode. ++ */ ++ uint32_t size_max; ++ ++ /* ++ * Amount of memory currently allocated for the dictionary. ++ * This is used only with XZ_DYNALLOC. (With XZ_PREALLOC, ++ * size_max is always the same as the allocated size.) ++ */ ++ uint32_t allocated; ++ ++ /* Operation mode */ ++ enum xz_mode mode; ++}; ++ ++/* Range decoder */ ++struct rc_dec { ++ uint32_t range; ++ uint32_t code; ++ ++ /* ++ * Number of initializing bytes remaining to be read ++ * by rc_read_init(). ++ */ ++ uint32_t init_bytes_left; ++ ++ /* ++ * Buffer from which we read our input. It can be either ++ * temp.buf or the caller-provided input buffer. ++ */ ++ const uint8_t *in; ++ size_t in_pos; ++ size_t in_limit; ++}; ++ ++/* Probabilities for a length decoder. */ ++struct lzma_len_dec { ++ /* Probability of match length being at least 10 */ ++ uint16_t choice; ++ ++ /* Probability of match length being at least 18 */ ++ uint16_t choice2; ++ ++ /* Probabilities for match lengths 2-9 */ ++ uint16_t low[POS_STATES_MAX][LEN_LOW_SYMBOLS]; ++ ++ /* Probabilities for match lengths 10-17 */ ++ uint16_t mid[POS_STATES_MAX][LEN_MID_SYMBOLS]; ++ ++ /* Probabilities for match lengths 18-273 */ ++ uint16_t high[LEN_HIGH_SYMBOLS]; ++}; ++ ++struct lzma_dec { ++ /* Distances of latest four matches */ ++ uint32_t rep0; ++ uint32_t rep1; ++ uint32_t rep2; ++ uint32_t rep3; ++ ++ /* Types of the most recently seen LZMA symbols */ ++ enum lzma_state state; ++ ++ /* ++ * Length of a match. This is updated so that dict_repeat can ++ * be called again to finish repeating the whole match. ++ */ ++ uint32_t len; ++ ++ /* ++ * LZMA properties or related bit masks (number of literal ++ * context bits, a mask dervied from the number of literal ++ * position bits, and a mask dervied from the number ++ * position bits) ++ */ ++ uint32_t lc; ++ uint32_t literal_pos_mask; /* (1 << lp) - 1 */ ++ uint32_t pos_mask; /* (1 << pb) - 1 */ ++ ++ /* If 1, it's a match. Otherwise it's a single 8-bit literal. */ ++ uint16_t is_match[STATES][POS_STATES_MAX]; ++ ++ /* If 1, it's a repeated match. The distance is one of rep0 .. rep3. */ ++ uint16_t is_rep[STATES]; ++ ++ /* ++ * If 0, distance of a repeated match is rep0. ++ * Otherwise check is_rep1. ++ */ ++ uint16_t is_rep0[STATES]; ++ ++ /* ++ * If 0, distance of a repeated match is rep1. ++ * Otherwise check is_rep2. ++ */ ++ uint16_t is_rep1[STATES]; ++ ++ /* If 0, distance of a repeated match is rep2. Otherwise it is rep3. */ ++ uint16_t is_rep2[STATES]; ++ ++ /* ++ * If 1, the repeated match has length of one byte. Otherwise ++ * the length is decoded from rep_len_decoder. ++ */ ++ uint16_t is_rep0_long[STATES][POS_STATES_MAX]; ++ ++ /* ++ * Probability tree for the highest two bits of the match ++ * distance. There is a separate probability tree for match ++ * lengths of 2 (i.e. MATCH_LEN_MIN), 3, 4, and [5, 273]. ++ */ ++ uint16_t dist_slot[DIST_STATES][DIST_SLOTS]; ++ ++ /* ++ * Probility trees for additional bits for match distance ++ * when the distance is in the range [4, 127]. ++ */ ++ uint16_t dist_special[FULL_DISTANCES - DIST_MODEL_END]; ++ ++ /* ++ * Probability tree for the lowest four bits of a match ++ * distance that is equal to or greater than 128. ++ */ ++ uint16_t dist_align[ALIGN_SIZE]; ++ ++ /* Length of a normal match */ ++ struct lzma_len_dec match_len_dec; ++ ++ /* Length of a repeated match */ ++ struct lzma_len_dec rep_len_dec; ++ ++ /* Probabilities of literals */ ++ uint16_t literal[LITERAL_CODERS_MAX][LITERAL_CODER_SIZE]; ++}; ++ ++struct lzma2_dec { ++ /* Position in xz_dec_lzma2_run(). */ ++ enum lzma2_seq { ++ SEQ_CONTROL, ++ SEQ_UNCOMPRESSED_1, ++ SEQ_UNCOMPRESSED_2, ++ SEQ_COMPRESSED_0, ++ SEQ_COMPRESSED_1, ++ SEQ_PROPERTIES, ++ SEQ_LZMA_PREPARE, ++ SEQ_LZMA_RUN, ++ SEQ_COPY ++ } sequence; ++ ++ /* Next position after decoding the compressed size of the chunk. */ ++ enum lzma2_seq next_sequence; ++ ++ /* Uncompressed size of LZMA chunk (2 MiB at maximum) */ ++ uint32_t uncompressed; ++ ++ /* ++ * Compressed size of LZMA chunk or compressed/uncompressed ++ * size of uncompressed chunk (64 KiB at maximum) ++ */ ++ uint32_t compressed; ++ ++ /* ++ * True if dictionary reset is needed. This is false before ++ * the first chunk (LZMA or uncompressed). ++ */ ++ bool_t need_dict_reset; ++ ++ /* ++ * True if new LZMA properties are needed. This is false ++ * before the first LZMA chunk. ++ */ ++ bool_t need_props; ++}; ++ ++struct xz_dec_lzma2 { ++ /* ++ * The order below is important on x86 to reduce code size and ++ * it shouldn't hurt on other platforms. Everything up to and ++ * including lzma.pos_mask are in the first 128 bytes on x86-32, ++ * which allows using smaller instructions to access those ++ * variables. On x86-64, fewer variables fit into the first 128 ++ * bytes, but this is still the best order without sacrificing ++ * the readability by splitting the structures. ++ */ ++ struct rc_dec rc; ++ struct dictionary dict; ++ struct lzma2_dec lzma2; ++ struct lzma_dec lzma; ++ ++ /* ++ * Temporary buffer which holds small number of input bytes between ++ * decoder calls. See lzma2_lzma() for details. ++ */ ++ struct { ++ uint32_t size; ++ uint8_t buf[3 * LZMA_IN_REQUIRED]; ++ } temp; ++}; ++ ++/************** ++ * Dictionary * ++ **************/ ++ ++/* ++ * Reset the dictionary state. When in single-call mode, set up the beginning ++ * of the dictionary to point to the actual output buffer. ++ */ ++static void INIT dict_reset(struct dictionary *dict, struct xz_buf *b) ++{ ++ if (DEC_IS_SINGLE(dict->mode)) { ++ dict->buf = b->out + b->out_pos; ++ dict->end = b->out_size - b->out_pos; ++ } ++ ++ dict->start = 0; ++ dict->pos = 0; ++ dict->limit = 0; ++ dict->full = 0; ++} ++ ++/* Set dictionary write limit */ ++static void INIT dict_limit(struct dictionary *dict, size_t out_max) ++{ ++ if (dict->end - dict->pos <= out_max) ++ dict->limit = dict->end; ++ else ++ dict->limit = dict->pos + out_max; ++} ++ ++/* Return true if at least one byte can be written into the dictionary. */ ++static inline bool_t INIT dict_has_space(const struct dictionary *dict) ++{ ++ return dict->pos < dict->limit; ++} ++ ++/* ++ * Get a byte from the dictionary at the given distance. The distance is ++ * assumed to valid, or as a special case, zero when the dictionary is ++ * still empty. This special case is needed for single-call decoding to ++ * avoid writing a '\0' to the end of the destination buffer. ++ */ ++static inline uint32_t INIT dict_get(const struct dictionary *dict, uint32_t dist) ++{ ++ size_t offset = dict->pos - dist - 1; ++ ++ if (dist >= dict->pos) ++ offset += dict->end; ++ ++ return dict->full > 0 ? dict->buf[offset] : 0; ++} ++ ++/* ++ * Put one byte into the dictionary. It is assumed that there is space for it. ++ */ ++static inline void INIT dict_put(struct dictionary *dict, uint8_t byte) ++{ ++ dict->buf[dict->pos++] = byte; ++ ++ if (dict->full < dict->pos) ++ dict->full = dict->pos; ++} ++ ++/* ++ * Repeat given number of bytes from the given distance. If the distance is ++ * invalid, false is returned. On success, true is returned and *len is ++ * updated to indicate how many bytes were left to be repeated. ++ */ ++static bool_t INIT dict_repeat(struct dictionary *dict, uint32_t *len, uint32_t dist) ++{ ++ size_t back; ++ uint32_t left; ++ ++ if (dist >= dict->full || dist >= dict->size) ++ return false; ++ ++ left = min_t(size_t, dict->limit - dict->pos, *len); ++ *len -= left; ++ ++ back = dict->pos - dist - 1; ++ if (dist >= dict->pos) ++ back += dict->end; ++ ++ do { ++ dict->buf[dict->pos++] = dict->buf[back++]; ++ if (back == dict->end) ++ back = 0; ++ } while (--left > 0); ++ ++ if (dict->full < dict->pos) ++ dict->full = dict->pos; ++ ++ return true; ++} ++ ++/* Copy uncompressed data as is from input to dictionary and output buffers. */ ++static void INIT dict_uncompressed(struct dictionary *dict, struct xz_buf *b, ++ uint32_t *left) ++{ ++ size_t copy_size; ++ ++ while (*left > 0 && b->in_pos < b->in_size ++ && b->out_pos < b->out_size) { ++ copy_size = min(b->in_size - b->in_pos, ++ b->out_size - b->out_pos); ++ if (copy_size > dict->end - dict->pos) ++ copy_size = dict->end - dict->pos; ++ if (copy_size > *left) ++ copy_size = *left; ++ ++ *left -= copy_size; ++ ++ memcpy(dict->buf + dict->pos, b->in + b->in_pos, copy_size); ++ dict->pos += copy_size; ++ ++ if (dict->full < dict->pos) ++ dict->full = dict->pos; ++ ++ if (DEC_IS_MULTI(dict->mode)) { ++ if (dict->pos == dict->end) ++ dict->pos = 0; ++ ++ memcpy(b->out + b->out_pos, b->in + b->in_pos, ++ copy_size); ++ } ++ ++ dict->start = dict->pos; ++ ++ b->out_pos += copy_size; ++ b->in_pos += copy_size; ++ } ++} ++ ++/* ++ * Flush pending data from dictionary to b->out. It is assumed that there is ++ * enough space in b->out. This is guaranteed because caller uses dict_limit() ++ * before decoding data into the dictionary. ++ */ ++static uint32_t INIT dict_flush(struct dictionary *dict, struct xz_buf *b) ++{ ++ size_t copy_size = dict->pos - dict->start; ++ ++ if (DEC_IS_MULTI(dict->mode)) { ++ if (dict->pos == dict->end) ++ dict->pos = 0; ++ ++ memcpy(b->out + b->out_pos, dict->buf + dict->start, ++ copy_size); ++ } ++ ++ dict->start = dict->pos; ++ b->out_pos += copy_size; ++ return copy_size; ++} ++ ++/***************** ++ * Range decoder * ++ *****************/ ++ ++/* Reset the range decoder. */ ++static void INIT rc_reset(struct rc_dec *rc) ++{ ++ rc->range = (uint32_t)-1; ++ rc->code = 0; ++ rc->init_bytes_left = RC_INIT_BYTES; ++} ++ ++/* ++ * Read the first five initial bytes into rc->code if they haven't been ++ * read already. (Yes, the first byte gets completely ignored.) ++ */ ++static bool_t INIT rc_read_init(struct rc_dec *rc, struct xz_buf *b) ++{ ++ while (rc->init_bytes_left > 0) { ++ if (b->in_pos == b->in_size) ++ return false; ++ ++ rc->code = (rc->code << 8) + b->in[b->in_pos++]; ++ --rc->init_bytes_left; ++ } ++ ++ return true; ++} ++ ++/* Return true if there may not be enough input for the next decoding loop. */ ++static inline bool_t INIT rc_limit_exceeded(const struct rc_dec *rc) ++{ ++ return rc->in_pos > rc->in_limit; ++} ++ ++/* ++ * Return true if it is possible (from point of view of range decoder) that ++ * we have reached the end of the LZMA chunk. ++ */ ++static inline bool_t INIT rc_is_finished(const struct rc_dec *rc) ++{ ++ return rc->code == 0; ++} ++ ++/* Read the next input byte if needed. */ ++static always_inline void rc_normalize(struct rc_dec *rc) ++{ ++ if (rc->range < RC_TOP_VALUE) { ++ rc->range <<= RC_SHIFT_BITS; ++ rc->code = (rc->code << RC_SHIFT_BITS) + rc->in[rc->in_pos++]; ++ } ++} ++ ++/* ++ * Decode one bit. In some versions, this function has been splitted in three ++ * functions so that the compiler is supposed to be able to more easily avoid ++ * an extra branch. In this particular version of the LZMA decoder, this ++ * doesn't seem to be a good idea (tested with GCC 3.3.6, 3.4.6, and 4.3.3 ++ * on x86). Using a non-splitted version results in nicer looking code too. ++ * ++ * NOTE: This must return an int. Do not make it return a bool or the speed ++ * of the code generated by GCC 3.x decreases 10-15 %. (GCC 4.3 doesn't care, ++ * and it generates 10-20 % faster code than GCC 3.x from this file anyway.) ++ */ ++static always_inline int rc_bit(struct rc_dec *rc, uint16_t *prob) ++{ ++ uint32_t bound; ++ int bit; ++ ++ rc_normalize(rc); ++ bound = (rc->range >> RC_BIT_MODEL_TOTAL_BITS) * *prob; ++ if (rc->code < bound) { ++ rc->range = bound; ++ *prob += (RC_BIT_MODEL_TOTAL - *prob) >> RC_MOVE_BITS; ++ bit = 0; ++ } else { ++ rc->range -= bound; ++ rc->code -= bound; ++ *prob -= *prob >> RC_MOVE_BITS; ++ bit = 1; ++ } ++ ++ return bit; ++} ++ ++/* Decode a bittree starting from the most significant bit. */ ++static always_inline uint32_t rc_bittree(struct rc_dec *rc, ++ uint16_t *probs, uint32_t limit) ++{ ++ uint32_t symbol = 1; ++ ++ do { ++ if (rc_bit(rc, &probs[symbol])) ++ symbol = (symbol << 1) + 1; ++ else ++ symbol <<= 1; ++ } while (symbol < limit); ++ ++ return symbol; ++} ++ ++/* Decode a bittree starting from the least significant bit. */ ++static always_inline void rc_bittree_reverse(struct rc_dec *rc, ++ uint16_t *probs, ++ uint32_t *dest, uint32_t limit) ++{ ++ uint32_t symbol = 1; ++ uint32_t i = 0; ++ ++ do { ++ if (rc_bit(rc, &probs[symbol])) { ++ symbol = (symbol << 1) + 1; ++ *dest += 1 << i; ++ } else { ++ symbol <<= 1; ++ } ++ } while (++i < limit); ++} ++ ++/* Decode direct bits (fixed fifty-fifty probability) */ ++static inline void INIT rc_direct(struct rc_dec *rc, uint32_t *dest, uint32_t limit) ++{ ++ uint32_t mask; ++ ++ do { ++ rc_normalize(rc); ++ rc->range >>= 1; ++ rc->code -= rc->range; ++ mask = (uint32_t)0 - (rc->code >> 31); ++ rc->code += rc->range & mask; ++ *dest = (*dest << 1) + (mask + 1); ++ } while (--limit > 0); ++} ++ ++/******** ++ * LZMA * ++ ********/ ++ ++/* Get pointer to literal coder probability array. */ ++static uint16_t *INIT lzma_literal_probs(struct xz_dec_lzma2 *s) ++{ ++ uint32_t prev_byte = dict_get(&s->dict, 0); ++ uint32_t low = prev_byte >> (8 - s->lzma.lc); ++ uint32_t high = (s->dict.pos & s->lzma.literal_pos_mask) << s->lzma.lc; ++ return s->lzma.literal[low + high]; ++} ++ ++/* Decode a literal (one 8-bit byte) */ ++static void INIT lzma_literal(struct xz_dec_lzma2 *s) ++{ ++ uint16_t *probs; ++ uint32_t symbol; ++ uint32_t match_byte; ++ uint32_t match_bit; ++ uint32_t offset; ++ uint32_t i; ++ ++ probs = lzma_literal_probs(s); ++ ++ if (lzma_state_is_literal(s->lzma.state)) { ++ symbol = rc_bittree(&s->rc, probs, 0x100); ++ } else { ++ symbol = 1; ++ match_byte = dict_get(&s->dict, s->lzma.rep0) << 1; ++ offset = 0x100; ++ ++ do { ++ match_bit = match_byte & offset; ++ match_byte <<= 1; ++ i = offset + match_bit + symbol; ++ ++ if (rc_bit(&s->rc, &probs[i])) { ++ symbol = (symbol << 1) + 1; ++ offset &= match_bit; ++ } else { ++ symbol <<= 1; ++ offset &= ~match_bit; ++ } ++ } while (symbol < 0x100); ++ } ++ ++ dict_put(&s->dict, (uint8_t)symbol); ++ lzma_state_literal(&s->lzma.state); ++} ++ ++/* Decode the length of the match into s->lzma.len. */ ++static void INIT lzma_len(struct xz_dec_lzma2 *s, struct lzma_len_dec *l, ++ uint32_t pos_state) ++{ ++ uint16_t *probs; ++ uint32_t limit; ++ ++ if (!rc_bit(&s->rc, &l->choice)) { ++ probs = l->low[pos_state]; ++ limit = LEN_LOW_SYMBOLS; ++ s->lzma.len = MATCH_LEN_MIN; ++ } else { ++ if (!rc_bit(&s->rc, &l->choice2)) { ++ probs = l->mid[pos_state]; ++ limit = LEN_MID_SYMBOLS; ++ s->lzma.len = MATCH_LEN_MIN + LEN_LOW_SYMBOLS; ++ } else { ++ probs = l->high; ++ limit = LEN_HIGH_SYMBOLS; ++ s->lzma.len = MATCH_LEN_MIN + LEN_LOW_SYMBOLS ++ + LEN_MID_SYMBOLS; ++ } ++ } ++ ++ s->lzma.len += rc_bittree(&s->rc, probs, limit) - limit; ++} ++ ++/* Decode a match. The distance will be stored in s->lzma.rep0. */ ++static void INIT lzma_match(struct xz_dec_lzma2 *s, uint32_t pos_state) ++{ ++ uint16_t *probs; ++ uint32_t dist_slot; ++ uint32_t limit; ++ ++ lzma_state_match(&s->lzma.state); ++ ++ s->lzma.rep3 = s->lzma.rep2; ++ s->lzma.rep2 = s->lzma.rep1; ++ s->lzma.rep1 = s->lzma.rep0; ++ ++ lzma_len(s, &s->lzma.match_len_dec, pos_state); ++ ++ probs = s->lzma.dist_slot[lzma_get_dist_state(s->lzma.len)]; ++ dist_slot = rc_bittree(&s->rc, probs, DIST_SLOTS) - DIST_SLOTS; ++ ++ if (dist_slot < DIST_MODEL_START) { ++ s->lzma.rep0 = dist_slot; ++ } else { ++ limit = (dist_slot >> 1) - 1; ++ s->lzma.rep0 = 2 + (dist_slot & 1); ++ ++ if (dist_slot < DIST_MODEL_END) { ++ s->lzma.rep0 <<= limit; ++ probs = s->lzma.dist_special + s->lzma.rep0 ++ - dist_slot - 1; ++ rc_bittree_reverse(&s->rc, probs, ++ &s->lzma.rep0, limit); ++ } else { ++ rc_direct(&s->rc, &s->lzma.rep0, limit - ALIGN_BITS); ++ s->lzma.rep0 <<= ALIGN_BITS; ++ rc_bittree_reverse(&s->rc, s->lzma.dist_align, ++ &s->lzma.rep0, ALIGN_BITS); ++ } ++ } ++} ++ ++/* ++ * Decode a repeated match. The distance is one of the four most recently ++ * seen matches. The distance will be stored in s->lzma.rep0. ++ */ ++static void INIT lzma_rep_match(struct xz_dec_lzma2 *s, uint32_t pos_state) ++{ ++ uint32_t tmp; ++ ++ if (!rc_bit(&s->rc, &s->lzma.is_rep0[s->lzma.state])) { ++ if (!rc_bit(&s->rc, &s->lzma.is_rep0_long[ ++ s->lzma.state][pos_state])) { ++ lzma_state_short_rep(&s->lzma.state); ++ s->lzma.len = 1; ++ return; ++ } ++ } else { ++ if (!rc_bit(&s->rc, &s->lzma.is_rep1[s->lzma.state])) { ++ tmp = s->lzma.rep1; ++ } else { ++ if (!rc_bit(&s->rc, &s->lzma.is_rep2[s->lzma.state])) { ++ tmp = s->lzma.rep2; ++ } else { ++ tmp = s->lzma.rep3; ++ s->lzma.rep3 = s->lzma.rep2; ++ } ++ ++ s->lzma.rep2 = s->lzma.rep1; ++ } ++ ++ s->lzma.rep1 = s->lzma.rep0; ++ s->lzma.rep0 = tmp; ++ } ++ ++ lzma_state_long_rep(&s->lzma.state); ++ lzma_len(s, &s->lzma.rep_len_dec, pos_state); ++} ++ ++/* LZMA decoder core */ ++static bool_t INIT lzma_main(struct xz_dec_lzma2 *s) ++{ ++ uint32_t pos_state; ++ ++ /* ++ * If the dictionary was reached during the previous call, try to ++ * finish the possibly pending repeat in the dictionary. ++ */ ++ if (dict_has_space(&s->dict) && s->lzma.len > 0) ++ dict_repeat(&s->dict, &s->lzma.len, s->lzma.rep0); ++ ++ /* ++ * Decode more LZMA symbols. One iteration may consume up to ++ * LZMA_IN_REQUIRED - 1 bytes. ++ */ ++ while (dict_has_space(&s->dict) && !rc_limit_exceeded(&s->rc)) { ++ pos_state = s->dict.pos & s->lzma.pos_mask; ++ ++ if (!rc_bit(&s->rc, &s->lzma.is_match[ ++ s->lzma.state][pos_state])) { ++ lzma_literal(s); ++ } else { ++ if (rc_bit(&s->rc, &s->lzma.is_rep[s->lzma.state])) ++ lzma_rep_match(s, pos_state); ++ else ++ lzma_match(s, pos_state); ++ ++ if (!dict_repeat(&s->dict, &s->lzma.len, s->lzma.rep0)) ++ return false; ++ } ++ } ++ ++ /* ++ * Having the range decoder always normalized when we are outside ++ * this function makes it easier to correctly handle end of the chunk. ++ */ ++ rc_normalize(&s->rc); ++ ++ return true; ++} ++ ++/* ++ * Reset the LZMA decoder and range decoder state. Dictionary is nore reset ++ * here, because LZMA state may be reset without resetting the dictionary. ++ */ ++static void INIT lzma_reset(struct xz_dec_lzma2 *s) ++{ ++ uint16_t *probs; ++ size_t i; ++ ++ s->lzma.state = STATE_LIT_LIT; ++ s->lzma.rep0 = 0; ++ s->lzma.rep1 = 0; ++ s->lzma.rep2 = 0; ++ s->lzma.rep3 = 0; ++ ++ /* ++ * All probabilities are initialized to the same value. This hack ++ * makes the code smaller by avoiding a separate loop for each ++ * probability array. ++ * ++ * This could be optimized so that only that part of literal ++ * probabilities that are actually required. In the common case ++ * we would write 12 KiB less. ++ */ ++ probs = s->lzma.is_match[0]; ++ for (i = 0; i < PROBS_TOTAL; ++i) ++ probs[i] = RC_BIT_MODEL_TOTAL / 2; ++ ++ rc_reset(&s->rc); ++} ++ ++/* ++ * Decode and validate LZMA properties (lc/lp/pb) and calculate the bit masks ++ * from the decoded lp and pb values. On success, the LZMA decoder state is ++ * reset and true is returned. ++ */ ++static bool_t INIT lzma_props(struct xz_dec_lzma2 *s, uint8_t props) ++{ ++ if (props > (4 * 5 + 4) * 9 + 8) ++ return false; ++ ++ s->lzma.pos_mask = 0; ++ while (props >= 9 * 5) { ++ props -= 9 * 5; ++ ++s->lzma.pos_mask; ++ } ++ ++ s->lzma.pos_mask = (1 << s->lzma.pos_mask) - 1; ++ ++ s->lzma.literal_pos_mask = 0; ++ while (props >= 9) { ++ props -= 9; ++ ++s->lzma.literal_pos_mask; ++ } ++ ++ s->lzma.lc = props; ++ ++ if (s->lzma.lc + s->lzma.literal_pos_mask > 4) ++ return false; ++ ++ s->lzma.literal_pos_mask = (1 << s->lzma.literal_pos_mask) - 1; ++ ++ lzma_reset(s); ++ ++ return true; ++} ++ ++/********* ++ * LZMA2 * ++ *********/ ++ ++/* ++ * The LZMA decoder assumes that if the input limit (s->rc.in_limit) hasn't ++ * been exceeded, it is safe to read up to LZMA_IN_REQUIRED bytes. This ++ * wrapper function takes care of making the LZMA decoder's assumption safe. ++ * ++ * As long as there is plenty of input left to be decoded in the current LZMA ++ * chunk, we decode directly from the caller-supplied input buffer until ++ * there's LZMA_IN_REQUIRED bytes left. Those remaining bytes are copied into ++ * s->temp.buf, which (hopefully) gets filled on the next call to this ++ * function. We decode a few bytes from the temporary buffer so that we can ++ * continue decoding from the caller-supplied input buffer again. ++ */ ++static bool_t INIT lzma2_lzma(struct xz_dec_lzma2 *s, struct xz_buf *b) ++{ ++ size_t in_avail; ++ uint32_t tmp; ++ ++ in_avail = b->in_size - b->in_pos; ++ if (s->temp.size > 0 || s->lzma2.compressed == 0) { ++ tmp = 2 * LZMA_IN_REQUIRED - s->temp.size; ++ if (tmp > s->lzma2.compressed - s->temp.size) ++ tmp = s->lzma2.compressed - s->temp.size; ++ if (tmp > in_avail) ++ tmp = in_avail; ++ ++ memcpy(s->temp.buf + s->temp.size, b->in + b->in_pos, tmp); ++ ++ if (s->temp.size + tmp == s->lzma2.compressed) { ++ memzero(s->temp.buf + s->temp.size + tmp, ++ sizeof(s->temp.buf) ++ - s->temp.size - tmp); ++ s->rc.in_limit = s->temp.size + tmp; ++ } else if (s->temp.size + tmp < LZMA_IN_REQUIRED) { ++ s->temp.size += tmp; ++ b->in_pos += tmp; ++ return true; ++ } else { ++ s->rc.in_limit = s->temp.size + tmp - LZMA_IN_REQUIRED; ++ } ++ ++ s->rc.in = s->temp.buf; ++ s->rc.in_pos = 0; ++ ++ if (!lzma_main(s) || s->rc.in_pos > s->temp.size + tmp) ++ return false; ++ ++ s->lzma2.compressed -= s->rc.in_pos; ++ ++ if (s->rc.in_pos < s->temp.size) { ++ s->temp.size -= s->rc.in_pos; ++ memmove(s->temp.buf, s->temp.buf + s->rc.in_pos, ++ s->temp.size); ++ return true; ++ } ++ ++ b->in_pos += s->rc.in_pos - s->temp.size; ++ s->temp.size = 0; ++ } ++ ++ in_avail = b->in_size - b->in_pos; ++ if (in_avail >= LZMA_IN_REQUIRED) { ++ s->rc.in = b->in; ++ s->rc.in_pos = b->in_pos; ++ ++ if (in_avail >= s->lzma2.compressed + LZMA_IN_REQUIRED) ++ s->rc.in_limit = b->in_pos + s->lzma2.compressed; ++ else ++ s->rc.in_limit = b->in_size - LZMA_IN_REQUIRED; ++ ++ if (!lzma_main(s)) ++ return false; ++ ++ in_avail = s->rc.in_pos - b->in_pos; ++ if (in_avail > s->lzma2.compressed) ++ return false; ++ ++ s->lzma2.compressed -= in_avail; ++ b->in_pos = s->rc.in_pos; ++ } ++ ++ in_avail = b->in_size - b->in_pos; ++ if (in_avail < LZMA_IN_REQUIRED) { ++ if (in_avail > s->lzma2.compressed) ++ in_avail = s->lzma2.compressed; ++ ++ memcpy(s->temp.buf, b->in + b->in_pos, in_avail); ++ s->temp.size = in_avail; ++ b->in_pos += in_avail; ++ } ++ ++ return true; ++} ++ ++/* ++ * Take care of the LZMA2 control layer, and forward the job of actual LZMA ++ * decoding or copying of uncompressed chunks to other functions. ++ */ ++XZ_EXTERN enum xz_ret INIT xz_dec_lzma2_run(struct xz_dec_lzma2 *s, ++ struct xz_buf *b) ++{ ++ uint32_t tmp; ++ ++ while (b->in_pos < b->in_size || s->lzma2.sequence == SEQ_LZMA_RUN) { ++ switch (s->lzma2.sequence) { ++ case SEQ_CONTROL: ++ /* ++ * LZMA2 control byte ++ * ++ * Exact values: ++ * 0x00 End marker ++ * 0x01 Dictionary reset followed by ++ * an uncompressed chunk ++ * 0x02 Uncompressed chunk (no dictionary reset) ++ * ++ * Highest three bits (s->control & 0xE0): ++ * 0xE0 Dictionary reset, new properties and state ++ * reset, followed by LZMA compressed chunk ++ * 0xC0 New properties and state reset, followed ++ * by LZMA compressed chunk (no dictionary ++ * reset) ++ * 0xA0 State reset using old properties, ++ * followed by LZMA compressed chunk (no ++ * dictionary reset) ++ * 0x80 LZMA chunk (no dictionary or state reset) ++ * ++ * For LZMA compressed chunks, the lowest five bits ++ * (s->control & 1F) are the highest bits of the ++ * uncompressed size (bits 16-20). ++ * ++ * A new LZMA2 stream must begin with a dictionary ++ * reset. The first LZMA chunk must set new ++ * properties and reset the LZMA state. ++ * ++ * Values that don't match anything described above ++ * are invalid and we return XZ_DATA_ERROR. ++ */ ++ tmp = b->in[b->in_pos++]; ++ ++ if (tmp >= 0xE0 || tmp == 0x01) { ++ s->lzma2.need_props = true; ++ s->lzma2.need_dict_reset = false; ++ dict_reset(&s->dict, b); ++ } else if (s->lzma2.need_dict_reset) { ++ return XZ_DATA_ERROR; ++ } ++ ++ if (tmp >= 0x80) { ++ s->lzma2.uncompressed = (tmp & 0x1F) << 16; ++ s->lzma2.sequence = SEQ_UNCOMPRESSED_1; ++ ++ if (tmp >= 0xC0) { ++ /* ++ * When there are new properties, ++ * state reset is done at ++ * SEQ_PROPERTIES. ++ */ ++ s->lzma2.need_props = false; ++ s->lzma2.next_sequence ++ = SEQ_PROPERTIES; ++ ++ } else if (s->lzma2.need_props) { ++ return XZ_DATA_ERROR; ++ ++ } else { ++ s->lzma2.next_sequence ++ = SEQ_LZMA_PREPARE; ++ if (tmp >= 0xA0) ++ lzma_reset(s); ++ } ++ } else { ++ if (tmp == 0x00) ++ return XZ_STREAM_END; ++ ++ if (tmp > 0x02) ++ return XZ_DATA_ERROR; ++ ++ s->lzma2.sequence = SEQ_COMPRESSED_0; ++ s->lzma2.next_sequence = SEQ_COPY; ++ } ++ ++ break; ++ ++ case SEQ_UNCOMPRESSED_1: ++ s->lzma2.uncompressed ++ += (uint32_t)b->in[b->in_pos++] << 8; ++ s->lzma2.sequence = SEQ_UNCOMPRESSED_2; ++ break; ++ ++ case SEQ_UNCOMPRESSED_2: ++ s->lzma2.uncompressed ++ += (uint32_t)b->in[b->in_pos++] + 1; ++ s->lzma2.sequence = SEQ_COMPRESSED_0; ++ break; ++ ++ case SEQ_COMPRESSED_0: ++ s->lzma2.compressed ++ = (uint32_t)b->in[b->in_pos++] << 8; ++ s->lzma2.sequence = SEQ_COMPRESSED_1; ++ break; ++ ++ case SEQ_COMPRESSED_1: ++ s->lzma2.compressed ++ += (uint32_t)b->in[b->in_pos++] + 1; ++ s->lzma2.sequence = s->lzma2.next_sequence; ++ break; ++ ++ case SEQ_PROPERTIES: ++ if (!lzma_props(s, b->in[b->in_pos++])) ++ return XZ_DATA_ERROR; ++ ++ s->lzma2.sequence = SEQ_LZMA_PREPARE; ++ ++ case SEQ_LZMA_PREPARE: ++ if (s->lzma2.compressed < RC_INIT_BYTES) ++ return XZ_DATA_ERROR; ++ ++ if (!rc_read_init(&s->rc, b)) ++ return XZ_OK; ++ ++ s->lzma2.compressed -= RC_INIT_BYTES; ++ s->lzma2.sequence = SEQ_LZMA_RUN; ++ ++ case SEQ_LZMA_RUN: ++ /* ++ * Set dictionary limit to indicate how much we want ++ * to be encoded at maximum. Decode new data into the ++ * dictionary. Flush the new data from dictionary to ++ * b->out. Check if we finished decoding this chunk. ++ * In case the dictionary got full but we didn't fill ++ * the output buffer yet, we may run this loop ++ * multiple times without changing s->lzma2.sequence. ++ */ ++ dict_limit(&s->dict, min_t(size_t, ++ b->out_size - b->out_pos, ++ s->lzma2.uncompressed)); ++ if (!lzma2_lzma(s, b)) ++ return XZ_DATA_ERROR; ++ ++ s->lzma2.uncompressed -= dict_flush(&s->dict, b); ++ ++ if (s->lzma2.uncompressed == 0) { ++ if (s->lzma2.compressed > 0 || s->lzma.len > 0 ++ || !rc_is_finished(&s->rc)) ++ return XZ_DATA_ERROR; ++ ++ rc_reset(&s->rc); ++ s->lzma2.sequence = SEQ_CONTROL; ++ ++ } else if (b->out_pos == b->out_size ++ || (b->in_pos == b->in_size ++ && s->temp.size ++ < s->lzma2.compressed)) { ++ return XZ_OK; ++ } ++ ++ break; ++ ++ case SEQ_COPY: ++ dict_uncompressed(&s->dict, b, &s->lzma2.compressed); ++ if (s->lzma2.compressed > 0) ++ return XZ_OK; ++ ++ s->lzma2.sequence = SEQ_CONTROL; ++ break; ++ } ++ } ++ ++ return XZ_OK; ++} ++ ++XZ_EXTERN struct xz_dec_lzma2 *INIT xz_dec_lzma2_create(enum xz_mode mode, ++ uint32_t dict_max) ++{ ++ struct xz_dec_lzma2 *s = malloc(sizeof(*s)); ++ if (s == NULL) ++ return NULL; ++ ++ s->dict.mode = mode; ++ s->dict.size_max = dict_max; ++ ++ if (DEC_IS_PREALLOC(mode)) { ++ s->dict.buf = large_malloc(dict_max); ++ if (s->dict.buf == NULL) { ++ free(s); ++ return NULL; ++ } ++ } else if (DEC_IS_DYNALLOC(mode)) { ++ s->dict.buf = NULL; ++ s->dict.allocated = 0; ++ } ++ ++ return s; ++} ++ ++XZ_EXTERN enum xz_ret INIT xz_dec_lzma2_reset(struct xz_dec_lzma2 *s, uint8_t props) ++{ ++ /* This limits dictionary size to 3 GiB to keep parsing simpler. */ ++ if (props > 39) ++ return XZ_OPTIONS_ERROR; ++ ++ s->dict.size = 2 + (props & 1); ++ s->dict.size <<= (props >> 1) + 11; ++ ++ if (DEC_IS_MULTI(s->dict.mode)) { ++ if (s->dict.size > s->dict.size_max) ++ return XZ_MEMLIMIT_ERROR; ++ ++ s->dict.end = s->dict.size; ++ ++ if (DEC_IS_DYNALLOC(s->dict.mode)) { ++ if (s->dict.allocated < s->dict.size) { ++ large_free(s->dict.buf); ++ s->dict.buf = large_malloc(s->dict.size); ++ if (s->dict.buf == NULL) { ++ s->dict.allocated = 0; ++ return XZ_MEM_ERROR; ++ } ++ } ++ } ++ } ++ ++ s->lzma.len = 0; ++ ++ s->lzma2.sequence = SEQ_CONTROL; ++ s->lzma2.need_dict_reset = true; ++ ++ s->temp.size = 0; ++ ++ return XZ_OK; ++} ++ ++XZ_EXTERN void INIT xz_dec_lzma2_end(struct xz_dec_lzma2 *s) ++{ ++ if (DEC_IS_MULTI(s->dict.mode)) ++ large_free(s->dict.buf); ++ ++ free(s); ++} +diff --git a/xen/common/xz/dec_stream.c b/xen/common/xz/dec_stream.c +new file mode 100644 +--- /dev/null ++++ b/xen/common/xz/dec_stream.c +@@ -0,0 +1,821 @@ ++/* ++ * .xz Stream decoder ++ * ++ * Author: Lasse Collin ++ * ++ * This file has been put into the public domain. ++ * You can do whatever you want with this file. ++ */ ++ ++#include "private.h" ++#include "stream.h" ++ ++/* Hash used to validate the Index field */ ++struct xz_dec_hash { ++ vli_type unpadded; ++ vli_type uncompressed; ++ uint32_t crc32; ++}; ++ ++struct xz_dec { ++ /* Position in dec_main() */ ++ enum { ++ SEQ_STREAM_HEADER, ++ SEQ_BLOCK_START, ++ SEQ_BLOCK_HEADER, ++ SEQ_BLOCK_UNCOMPRESS, ++ SEQ_BLOCK_PADDING, ++ SEQ_BLOCK_CHECK, ++ SEQ_INDEX, ++ SEQ_INDEX_PADDING, ++ SEQ_INDEX_CRC32, ++ SEQ_STREAM_FOOTER ++ } sequence; ++ ++ /* Position in variable-length integers and Check fields */ ++ uint32_t pos; ++ ++ /* Variable-length integer decoded by dec_vli() */ ++ vli_type vli; ++ ++ /* Saved in_pos and out_pos */ ++ size_t in_start; ++ size_t out_start; ++ ++ /* CRC32 value in Block or Index */ ++ uint32_t crc32; ++ ++ /* Type of the integrity check calculated from uncompressed data */ ++ enum xz_check check_type; ++ ++ /* Operation mode */ ++ enum xz_mode mode; ++ ++ /* ++ * True if the next call to xz_dec_run() is allowed to return ++ * XZ_BUF_ERROR. ++ */ ++ bool_t allow_buf_error; ++ ++ /* Information stored in Block Header */ ++ struct { ++ /* ++ * Value stored in the Compressed Size field, or ++ * VLI_UNKNOWN if Compressed Size is not present. ++ */ ++ vli_type compressed; ++ ++ /* ++ * Value stored in the Uncompressed Size field, or ++ * VLI_UNKNOWN if Uncompressed Size is not present. ++ */ ++ vli_type uncompressed; ++ ++ /* Size of the Block Header field */ ++ uint32_t size; ++ } block_header; ++ ++ /* Information collected when decoding Blocks */ ++ struct { ++ /* Observed compressed size of the current Block */ ++ vli_type compressed; ++ ++ /* Observed uncompressed size of the current Block */ ++ vli_type uncompressed; ++ ++ /* Number of Blocks decoded so far */ ++ vli_type count; ++ ++ /* ++ * Hash calculated from the Block sizes. This is used to ++ * validate the Index field. ++ */ ++ struct xz_dec_hash hash; ++ } block; ++ ++ /* Variables needed when verifying the Index field */ ++ struct { ++ /* Position in dec_index() */ ++ enum { ++ SEQ_INDEX_COUNT, ++ SEQ_INDEX_UNPADDED, ++ SEQ_INDEX_UNCOMPRESSED ++ } sequence; ++ ++ /* Size of the Index in bytes */ ++ vli_type size; ++ ++ /* Number of Records (matches block.count in valid files) */ ++ vli_type count; ++ ++ /* ++ * Hash calculated from the Records (matches block.hash in ++ * valid files). ++ */ ++ struct xz_dec_hash hash; ++ } index; ++ ++ /* ++ * Temporary buffer needed to hold Stream Header, Block Header, ++ * and Stream Footer. The Block Header is the biggest (1 KiB) ++ * so we reserve space according to that. buf[] has to be aligned ++ * to a multiple of four bytes; the size_t variables before it ++ * should guarantee this. ++ */ ++ struct { ++ size_t pos; ++ size_t size; ++ uint8_t buf[1024]; ++ } temp; ++ ++ struct xz_dec_lzma2 *lzma2; ++ ++#ifdef XZ_DEC_BCJ ++ struct xz_dec_bcj *bcj; ++ bool_t bcj_active; ++#endif ++}; ++ ++#ifdef XZ_DEC_ANY_CHECK ++/* Sizes of the Check field with different Check IDs */ ++static const uint8_t check_sizes[16] = { ++ 0, ++ 4, 4, 4, ++ 8, 8, 8, ++ 16, 16, 16, ++ 32, 32, 32, ++ 64, 64, 64 ++}; ++#endif ++ ++/* ++ * Fill s->temp by copying data starting from b->in[b->in_pos]. Caller ++ * must have set s->temp.pos to indicate how much data we are supposed ++ * to copy into s->temp.buf. Return true once s->temp.pos has reached ++ * s->temp.size. ++ */ ++static bool_t INIT fill_temp(struct xz_dec *s, struct xz_buf *b) ++{ ++ size_t copy_size = min_t(size_t, ++ b->in_size - b->in_pos, s->temp.size - s->temp.pos); ++ ++ memcpy(s->temp.buf + s->temp.pos, b->in + b->in_pos, copy_size); ++ b->in_pos += copy_size; ++ s->temp.pos += copy_size; ++ ++ if (s->temp.pos == s->temp.size) { ++ s->temp.pos = 0; ++ return true; ++ } ++ ++ return false; ++} ++ ++/* Decode a variable-length integer (little-endian base-128 encoding) */ ++static enum xz_ret INIT dec_vli(struct xz_dec *s, const uint8_t *in, ++ size_t *in_pos, size_t in_size) ++{ ++ uint8_t byte; ++ ++ if (s->pos == 0) ++ s->vli = 0; ++ ++ while (*in_pos < in_size) { ++ byte = in[*in_pos]; ++ ++*in_pos; ++ ++ s->vli |= (vli_type)(byte & 0x7F) << s->pos; ++ ++ if ((byte & 0x80) == 0) { ++ /* Don't allow non-minimal encodings. */ ++ if (byte == 0 && s->pos != 0) ++ return XZ_DATA_ERROR; ++ ++ s->pos = 0; ++ return XZ_STREAM_END; ++ } ++ ++ s->pos += 7; ++ if (s->pos == 7 * VLI_BYTES_MAX) ++ return XZ_DATA_ERROR; ++ } ++ ++ return XZ_OK; ++} ++ ++/* ++ * Decode the Compressed Data field from a Block. Update and validate ++ * the observed compressed and uncompressed sizes of the Block so that ++ * they don't exceed the values possibly stored in the Block Header ++ * (validation assumes that no integer overflow occurs, since vli_type ++ * is normally uint64_t). Update the CRC32 if presence of the CRC32 ++ * field was indicated in Stream Header. ++ * ++ * Once the decoding is finished, validate that the observed sizes match ++ * the sizes possibly stored in the Block Header. Update the hash and ++ * Block count, which are later used to validate the Index field. ++ */ ++static enum xz_ret INIT dec_block(struct xz_dec *s, struct xz_buf *b) ++{ ++ enum xz_ret ret; ++ ++ s->in_start = b->in_pos; ++ s->out_start = b->out_pos; ++ ++#ifdef XZ_DEC_BCJ ++ if (s->bcj_active) ++ ret = xz_dec_bcj_run(s->bcj, s->lzma2, b); ++ else ++#endif ++ ret = xz_dec_lzma2_run(s->lzma2, b); ++ ++ s->block.compressed += b->in_pos - s->in_start; ++ s->block.uncompressed += b->out_pos - s->out_start; ++ ++ /* ++ * There is no need to separately check for VLI_UNKNOWN, since ++ * the observed sizes are always smaller than VLI_UNKNOWN. ++ */ ++ if (s->block.compressed > s->block_header.compressed ++ || s->block.uncompressed ++ > s->block_header.uncompressed) ++ return XZ_DATA_ERROR; ++ ++ if (s->check_type == XZ_CHECK_CRC32) ++ s->crc32 = xz_crc32(b->out + s->out_start, ++ b->out_pos - s->out_start, s->crc32); ++ ++ if (ret == XZ_STREAM_END) { ++ if (s->block_header.compressed != VLI_UNKNOWN ++ && s->block_header.compressed ++ != s->block.compressed) ++ return XZ_DATA_ERROR; ++ ++ if (s->block_header.uncompressed != VLI_UNKNOWN ++ && s->block_header.uncompressed ++ != s->block.uncompressed) ++ return XZ_DATA_ERROR; ++ ++ s->block.hash.unpadded += s->block_header.size ++ + s->block.compressed; ++ ++#ifdef XZ_DEC_ANY_CHECK ++ s->block.hash.unpadded += check_sizes[s->check_type]; ++#else ++ if (s->check_type == XZ_CHECK_CRC32) ++ s->block.hash.unpadded += 4; ++#endif ++ ++ s->block.hash.uncompressed += s->block.uncompressed; ++ s->block.hash.crc32 = xz_crc32( ++ (const uint8_t *)&s->block.hash, ++ sizeof(s->block.hash), s->block.hash.crc32); ++ ++ ++s->block.count; ++ } ++ ++ return ret; ++} ++ ++/* Update the Index size and the CRC32 value. */ ++static void INIT index_update(struct xz_dec *s, const struct xz_buf *b) ++{ ++ size_t in_used = b->in_pos - s->in_start; ++ s->index.size += in_used; ++ s->crc32 = xz_crc32(b->in + s->in_start, in_used, s->crc32); ++} ++ ++/* ++ * Decode the Number of Records, Unpadded Size, and Uncompressed Size ++ * fields from the Index field. That is, Index Padding and CRC32 are not ++ * decoded by this function. ++ * ++ * This can return XZ_OK (more input needed), XZ_STREAM_END (everything ++ * successfully decoded), or XZ_DATA_ERROR (input is corrupt). ++ */ ++static enum xz_ret INIT dec_index(struct xz_dec *s, struct xz_buf *b) ++{ ++ enum xz_ret ret; ++ ++ do { ++ ret = dec_vli(s, b->in, &b->in_pos, b->in_size); ++ if (ret != XZ_STREAM_END) { ++ index_update(s, b); ++ return ret; ++ } ++ ++ switch (s->index.sequence) { ++ case SEQ_INDEX_COUNT: ++ s->index.count = s->vli; ++ ++ /* ++ * Validate that the Number of Records field ++ * indicates the same number of Records as ++ * there were Blocks in the Stream. ++ */ ++ if (s->index.count != s->block.count) ++ return XZ_DATA_ERROR; ++ ++ s->index.sequence = SEQ_INDEX_UNPADDED; ++ break; ++ ++ case SEQ_INDEX_UNPADDED: ++ s->index.hash.unpadded += s->vli; ++ s->index.sequence = SEQ_INDEX_UNCOMPRESSED; ++ break; ++ ++ case SEQ_INDEX_UNCOMPRESSED: ++ s->index.hash.uncompressed += s->vli; ++ s->index.hash.crc32 = xz_crc32( ++ (const uint8_t *)&s->index.hash, ++ sizeof(s->index.hash), ++ s->index.hash.crc32); ++ --s->index.count; ++ s->index.sequence = SEQ_INDEX_UNPADDED; ++ break; ++ } ++ } while (s->index.count > 0); ++ ++ return XZ_STREAM_END; ++} ++ ++/* ++ * Validate that the next four input bytes match the value of s->crc32. ++ * s->pos must be zero when starting to validate the first byte. ++ */ ++static enum xz_ret INIT crc32_validate(struct xz_dec *s, struct xz_buf *b) ++{ ++ do { ++ if (b->in_pos == b->in_size) ++ return XZ_OK; ++ ++ if (((s->crc32 >> s->pos) & 0xFF) != b->in[b->in_pos++]) ++ return XZ_DATA_ERROR; ++ ++ s->pos += 8; ++ ++ } while (s->pos < 32); ++ ++ s->crc32 = 0; ++ s->pos = 0; ++ ++ return XZ_STREAM_END; ++} ++ ++#ifdef XZ_DEC_ANY_CHECK ++/* ++ * Skip over the Check field when the Check ID is not supported. ++ * Returns true once the whole Check field has been skipped over. ++ */ ++static bool_t INIT check_skip(struct xz_dec *s, struct xz_buf *b) ++{ ++ while (s->pos < check_sizes[s->check_type]) { ++ if (b->in_pos == b->in_size) ++ return false; ++ ++ ++b->in_pos; ++ ++s->pos; ++ } ++ ++ s->pos = 0; ++ ++ return true; ++} ++#endif ++ ++/* Decode the Stream Header field (the first 12 bytes of the .xz Stream). */ ++static enum xz_ret INIT dec_stream_header(struct xz_dec *s) ++{ ++ if (!memeq(s->temp.buf, HEADER_MAGIC, HEADER_MAGIC_SIZE)) ++ return XZ_FORMAT_ERROR; ++ ++ if (xz_crc32(s->temp.buf + HEADER_MAGIC_SIZE, 2, 0) ++ != get_le32(s->temp.buf + HEADER_MAGIC_SIZE + 2)) ++ return XZ_DATA_ERROR; ++ ++ if (s->temp.buf[HEADER_MAGIC_SIZE] != 0) ++ return XZ_OPTIONS_ERROR; ++ ++ /* ++ * Of integrity checks, we support only none (Check ID = 0) and ++ * CRC32 (Check ID = 1). However, if XZ_DEC_ANY_CHECK is defined, ++ * we will accept other check types too, but then the check won't ++ * be verified and a warning (XZ_UNSUPPORTED_CHECK) will be given. ++ */ ++ s->check_type = s->temp.buf[HEADER_MAGIC_SIZE + 1]; ++ ++#ifdef XZ_DEC_ANY_CHECK ++ if (s->check_type > XZ_CHECK_MAX) ++ return XZ_OPTIONS_ERROR; ++ ++ if (s->check_type > XZ_CHECK_CRC32) ++ return XZ_UNSUPPORTED_CHECK; ++#else ++ if (s->check_type > XZ_CHECK_CRC32) ++ return XZ_OPTIONS_ERROR; ++#endif ++ ++ return XZ_OK; ++} ++ ++/* Decode the Stream Footer field (the last 12 bytes of the .xz Stream) */ ++static enum xz_ret INIT dec_stream_footer(struct xz_dec *s) ++{ ++ if (!memeq(s->temp.buf + 10, FOOTER_MAGIC, FOOTER_MAGIC_SIZE)) ++ return XZ_DATA_ERROR; ++ ++ if (xz_crc32(s->temp.buf + 4, 6, 0) != get_le32(s->temp.buf)) ++ return XZ_DATA_ERROR; ++ ++ /* ++ * Validate Backward Size. Note that we never added the size of the ++ * Index CRC32 field to s->index.size, thus we use s->index.size / 4 ++ * instead of s->index.size / 4 - 1. ++ */ ++ if ((s->index.size >> 2) != get_le32(s->temp.buf + 4)) ++ return XZ_DATA_ERROR; ++ ++ if (s->temp.buf[8] != 0 || s->temp.buf[9] != s->check_type) ++ return XZ_DATA_ERROR; ++ ++ /* ++ * Use XZ_STREAM_END instead of XZ_OK to be more convenient ++ * for the caller. ++ */ ++ return XZ_STREAM_END; ++} ++ ++/* Decode the Block Header and initialize the filter chain. */ ++static enum xz_ret INIT dec_block_header(struct xz_dec *s) ++{ ++ enum xz_ret ret; ++ ++ /* ++ * Validate the CRC32. We know that the temp buffer is at least ++ * eight bytes so this is safe. ++ */ ++ s->temp.size -= 4; ++ if (xz_crc32(s->temp.buf, s->temp.size, 0) ++ != get_le32(s->temp.buf + s->temp.size)) ++ return XZ_DATA_ERROR; ++ ++ s->temp.pos = 2; ++ ++ /* ++ * Catch unsupported Block Flags. We support only one or two filters ++ * in the chain, so we catch that with the same test. ++ */ ++#ifdef XZ_DEC_BCJ ++ if (s->temp.buf[1] & 0x3E) ++#else ++ if (s->temp.buf[1] & 0x3F) ++#endif ++ return XZ_OPTIONS_ERROR; ++ ++ /* Compressed Size */ ++ if (s->temp.buf[1] & 0x40) { ++ if (dec_vli(s, s->temp.buf, &s->temp.pos, s->temp.size) ++ != XZ_STREAM_END) ++ return XZ_DATA_ERROR; ++ ++ s->block_header.compressed = s->vli; ++ } else { ++ s->block_header.compressed = VLI_UNKNOWN; ++ } ++ ++ /* Uncompressed Size */ ++ if (s->temp.buf[1] & 0x80) { ++ if (dec_vli(s, s->temp.buf, &s->temp.pos, s->temp.size) ++ != XZ_STREAM_END) ++ return XZ_DATA_ERROR; ++ ++ s->block_header.uncompressed = s->vli; ++ } else { ++ s->block_header.uncompressed = VLI_UNKNOWN; ++ } ++ ++#ifdef XZ_DEC_BCJ ++ /* If there are two filters, the first one must be a BCJ filter. */ ++ s->bcj_active = s->temp.buf[1] & 0x01; ++ if (s->bcj_active) { ++ if (s->temp.size - s->temp.pos < 2) ++ return XZ_OPTIONS_ERROR; ++ ++ ret = xz_dec_bcj_reset(s->bcj, s->temp.buf[s->temp.pos++]); ++ if (ret != XZ_OK) ++ return ret; ++ ++ /* ++ * We don't support custom start offset, ++ * so Size of Properties must be zero. ++ */ ++ if (s->temp.buf[s->temp.pos++] != 0x00) ++ return XZ_OPTIONS_ERROR; ++ } ++#endif ++ ++ /* Valid Filter Flags always take at least two bytes. */ ++ if (s->temp.size - s->temp.pos < 2) ++ return XZ_DATA_ERROR; ++ ++ /* Filter ID = LZMA2 */ ++ if (s->temp.buf[s->temp.pos++] != 0x21) ++ return XZ_OPTIONS_ERROR; ++ ++ /* Size of Properties = 1-byte Filter Properties */ ++ if (s->temp.buf[s->temp.pos++] != 0x01) ++ return XZ_OPTIONS_ERROR; ++ ++ /* Filter Properties contains LZMA2 dictionary size. */ ++ if (s->temp.size - s->temp.pos < 1) ++ return XZ_DATA_ERROR; ++ ++ ret = xz_dec_lzma2_reset(s->lzma2, s->temp.buf[s->temp.pos++]); ++ if (ret != XZ_OK) ++ return ret; ++ ++ /* The rest must be Header Padding. */ ++ while (s->temp.pos < s->temp.size) ++ if (s->temp.buf[s->temp.pos++] != 0x00) ++ return XZ_OPTIONS_ERROR; ++ ++ s->temp.pos = 0; ++ s->block.compressed = 0; ++ s->block.uncompressed = 0; ++ ++ return XZ_OK; ++} ++ ++static enum xz_ret INIT dec_main(struct xz_dec *s, struct xz_buf *b) ++{ ++ enum xz_ret ret; ++ ++ /* ++ * Store the start position for the case when we are in the middle ++ * of the Index field. ++ */ ++ s->in_start = b->in_pos; ++ ++ while (true) { ++ switch (s->sequence) { ++ case SEQ_STREAM_HEADER: ++ /* ++ * Stream Header is copied to s->temp, and then ++ * decoded from there. This way if the caller ++ * gives us only little input at a time, we can ++ * still keep the Stream Header decoding code ++ * simple. Similar approach is used in many places ++ * in this file. ++ */ ++ if (!fill_temp(s, b)) ++ return XZ_OK; ++ ++ /* ++ * If dec_stream_header() returns ++ * XZ_UNSUPPORTED_CHECK, it is still possible ++ * to continue decoding if working in multi-call ++ * mode. Thus, update s->sequence before calling ++ * dec_stream_header(). ++ */ ++ s->sequence = SEQ_BLOCK_START; ++ ++ ret = dec_stream_header(s); ++ if (ret != XZ_OK) ++ return ret; ++ ++ case SEQ_BLOCK_START: ++ /* We need one byte of input to continue. */ ++ if (b->in_pos == b->in_size) ++ return XZ_OK; ++ ++ /* See if this is the beginning of the Index field. */ ++ if (b->in[b->in_pos] == 0) { ++ s->in_start = b->in_pos++; ++ s->sequence = SEQ_INDEX; ++ break; ++ } ++ ++ /* ++ * Calculate the size of the Block Header and ++ * prepare to decode it. ++ */ ++ s->block_header.size ++ = ((uint32_t)b->in[b->in_pos] + 1) * 4; ++ ++ s->temp.size = s->block_header.size; ++ s->temp.pos = 0; ++ s->sequence = SEQ_BLOCK_HEADER; ++ ++ case SEQ_BLOCK_HEADER: ++ if (!fill_temp(s, b)) ++ return XZ_OK; ++ ++ ret = dec_block_header(s); ++ if (ret != XZ_OK) ++ return ret; ++ ++ s->sequence = SEQ_BLOCK_UNCOMPRESS; ++ ++ case SEQ_BLOCK_UNCOMPRESS: ++ ret = dec_block(s, b); ++ if (ret != XZ_STREAM_END) ++ return ret; ++ ++ s->sequence = SEQ_BLOCK_PADDING; ++ ++ case SEQ_BLOCK_PADDING: ++ /* ++ * Size of Compressed Data + Block Padding ++ * must be a multiple of four. We don't need ++ * s->block.compressed for anything else ++ * anymore, so we use it here to test the size ++ * of the Block Padding field. ++ */ ++ while (s->block.compressed & 3) { ++ if (b->in_pos == b->in_size) ++ return XZ_OK; ++ ++ if (b->in[b->in_pos++] != 0) ++ return XZ_DATA_ERROR; ++ ++ ++s->block.compressed; ++ } ++ ++ s->sequence = SEQ_BLOCK_CHECK; ++ ++ case SEQ_BLOCK_CHECK: ++ if (s->check_type == XZ_CHECK_CRC32) { ++ ret = crc32_validate(s, b); ++ if (ret != XZ_STREAM_END) ++ return ret; ++ } ++#ifdef XZ_DEC_ANY_CHECK ++ else if (!check_skip(s, b)) { ++ return XZ_OK; ++ } ++#endif ++ ++ s->sequence = SEQ_BLOCK_START; ++ break; ++ ++ case SEQ_INDEX: ++ ret = dec_index(s, b); ++ if (ret != XZ_STREAM_END) ++ return ret; ++ ++ s->sequence = SEQ_INDEX_PADDING; ++ ++ case SEQ_INDEX_PADDING: ++ while ((s->index.size + (b->in_pos - s->in_start)) ++ & 3) { ++ if (b->in_pos == b->in_size) { ++ index_update(s, b); ++ return XZ_OK; ++ } ++ ++ if (b->in[b->in_pos++] != 0) ++ return XZ_DATA_ERROR; ++ } ++ ++ /* Finish the CRC32 value and Index size. */ ++ index_update(s, b); ++ ++ /* Compare the hashes to validate the Index field. */ ++ if (!memeq(&s->block.hash, &s->index.hash, ++ sizeof(s->block.hash))) ++ return XZ_DATA_ERROR; ++ ++ s->sequence = SEQ_INDEX_CRC32; ++ ++ case SEQ_INDEX_CRC32: ++ ret = crc32_validate(s, b); ++ if (ret != XZ_STREAM_END) ++ return ret; ++ ++ s->temp.size = STREAM_HEADER_SIZE; ++ s->sequence = SEQ_STREAM_FOOTER; ++ ++ case SEQ_STREAM_FOOTER: ++ if (!fill_temp(s, b)) ++ return XZ_OK; ++ ++ return dec_stream_footer(s); ++ } ++ } ++ ++ /* Never reached */ ++} ++ ++XZ_EXTERN void INIT xz_dec_reset(struct xz_dec *s) ++{ ++ s->sequence = SEQ_STREAM_HEADER; ++ s->allow_buf_error = false; ++ s->pos = 0; ++ s->crc32 = 0; ++ memzero(&s->block, sizeof(s->block)); ++ memzero(&s->index, sizeof(s->index)); ++ s->temp.pos = 0; ++ s->temp.size = STREAM_HEADER_SIZE; ++} ++ ++/* ++ * xz_dec_run() is a wrapper for dec_main() to handle some special cases in ++ * multi-call and single-call decoding. ++ * ++ * In multi-call mode, we must return XZ_BUF_ERROR when it seems clear that we ++ * are not going to make any progress anymore. This is to prevent the caller ++ * from calling us infinitely when the input file is truncated or otherwise ++ * corrupt. Since zlib-style API allows that the caller fills the input buffer ++ * only when the decoder doesn't produce any new output, we have to be careful ++ * to avoid returning XZ_BUF_ERROR too easily: XZ_BUF_ERROR is returned only ++ * after the second consecutive call to xz_dec_run() that makes no progress. ++ * ++ * In single-call mode, if we couldn't decode everything and no error ++ * occurred, either the input is truncated or the output buffer is too small. ++ * Since we know that the last input byte never produces any output, we know ++ * that if all the input was consumed and decoding wasn't finished, the file ++ * must be corrupt. Otherwise the output buffer has to be too small or the ++ * file is corrupt in a way that decoding it produces too big output. ++ * ++ * If single-call decoding fails, we reset b->in_pos and b->out_pos back to ++ * their original values. This is because with some filter chains there won't ++ * be any valid uncompressed data in the output buffer unless the decoding ++ * actually succeeds (that's the price to pay of using the output buffer as ++ * the workspace). ++ */ ++XZ_EXTERN enum xz_ret INIT xz_dec_run(struct xz_dec *s, struct xz_buf *b) ++{ ++ size_t in_start; ++ size_t out_start; ++ enum xz_ret ret; ++ ++ if (DEC_IS_SINGLE(s->mode)) ++ xz_dec_reset(s); ++ ++ in_start = b->in_pos; ++ out_start = b->out_pos; ++ ret = dec_main(s, b); ++ ++ if (DEC_IS_SINGLE(s->mode)) { ++ if (ret == XZ_OK) ++ ret = b->in_pos == b->in_size ++ ? XZ_DATA_ERROR : XZ_BUF_ERROR; ++ ++ if (ret != XZ_STREAM_END) { ++ b->in_pos = in_start; ++ b->out_pos = out_start; ++ } ++ ++ } else if (ret == XZ_OK && in_start == b->in_pos ++ && out_start == b->out_pos) { ++ if (s->allow_buf_error) ++ ret = XZ_BUF_ERROR; ++ ++ s->allow_buf_error = true; ++ } else { ++ s->allow_buf_error = false; ++ } ++ ++ return ret; ++} ++ ++XZ_EXTERN struct xz_dec *INIT xz_dec_init(enum xz_mode mode, uint32_t dict_max) ++{ ++ struct xz_dec *s = malloc(sizeof(*s)); ++ if (s == NULL) ++ return NULL; ++ ++ s->mode = mode; ++ ++#ifdef XZ_DEC_BCJ ++ s->bcj = xz_dec_bcj_create(DEC_IS_SINGLE(mode)); ++ if (s->bcj == NULL) ++ goto error_bcj; ++#endif ++ ++ s->lzma2 = xz_dec_lzma2_create(mode, dict_max); ++ if (s->lzma2 == NULL) ++ goto error_lzma2; ++ ++ xz_dec_reset(s); ++ return s; ++ ++error_lzma2: ++#ifdef XZ_DEC_BCJ ++ xz_dec_bcj_end(s->bcj); ++error_bcj: ++#endif ++ free(s); ++ return NULL; ++} ++ ++XZ_EXTERN void INIT xz_dec_end(struct xz_dec *s) ++{ ++ if (s != NULL) { ++ xz_dec_lzma2_end(s->lzma2); ++#ifdef XZ_DEC_BCJ ++ xz_dec_bcj_end(s->bcj); ++#endif ++ free(s); ++ } ++} +diff --git a/xen/common/xz/lzma2.h b/xen/common/xz/lzma2.h +new file mode 100644 +--- /dev/null ++++ b/xen/common/xz/lzma2.h +@@ -0,0 +1,204 @@ ++/* ++ * LZMA2 definitions ++ * ++ * Authors: Lasse Collin ++ * Igor Pavlov ++ * ++ * This file has been put into the public domain. ++ * You can do whatever you want with this file. ++ */ ++ ++#ifndef XZ_LZMA2_H ++#define XZ_LZMA2_H ++ ++/* Range coder constants */ ++#define RC_SHIFT_BITS 8 ++#define RC_TOP_BITS 24 ++#define RC_TOP_VALUE (1 << RC_TOP_BITS) ++#define RC_BIT_MODEL_TOTAL_BITS 11 ++#define RC_BIT_MODEL_TOTAL (1 << RC_BIT_MODEL_TOTAL_BITS) ++#define RC_MOVE_BITS 5 ++ ++/* ++ * Maximum number of position states. A position state is the lowest pb ++ * number of bits of the current uncompressed offset. In some places there ++ * are different sets of probabilities for different position states. ++ */ ++#define POS_STATES_MAX (1 << 4) ++ ++/* ++ * This enum is used to track which LZMA symbols have occurred most recently ++ * and in which order. This information is used to predict the next symbol. ++ * ++ * Symbols: ++ * - Literal: One 8-bit byte ++ * - Match: Repeat a chunk of data at some distance ++ * - Long repeat: Multi-byte match at a recently seen distance ++ * - Short repeat: One-byte repeat at a recently seen distance ++ * ++ * The symbol names are in from STATE_oldest_older_previous. REP means ++ * either short or long repeated match, and NONLIT means any non-literal. ++ */ ++enum lzma_state { ++ STATE_LIT_LIT, ++ STATE_MATCH_LIT_LIT, ++ STATE_REP_LIT_LIT, ++ STATE_SHORTREP_LIT_LIT, ++ STATE_MATCH_LIT, ++ STATE_REP_LIT, ++ STATE_SHORTREP_LIT, ++ STATE_LIT_MATCH, ++ STATE_LIT_LONGREP, ++ STATE_LIT_SHORTREP, ++ STATE_NONLIT_MATCH, ++ STATE_NONLIT_REP ++}; ++ ++/* Total number of states */ ++#define STATES 12 ++ ++/* The lowest 7 states indicate that the previous state was a literal. */ ++#define LIT_STATES 7 ++ ++/* Indicate that the latest symbol was a literal. */ ++static inline void INIT lzma_state_literal(enum lzma_state *state) ++{ ++ if (*state <= STATE_SHORTREP_LIT_LIT) ++ *state = STATE_LIT_LIT; ++ else if (*state <= STATE_LIT_SHORTREP) ++ *state -= 3; ++ else ++ *state -= 6; ++} ++ ++/* Indicate that the latest symbol was a match. */ ++static inline void INIT lzma_state_match(enum lzma_state *state) ++{ ++ *state = *state < LIT_STATES ? STATE_LIT_MATCH : STATE_NONLIT_MATCH; ++} ++ ++/* Indicate that the latest state was a long repeated match. */ ++static inline void INIT lzma_state_long_rep(enum lzma_state *state) ++{ ++ *state = *state < LIT_STATES ? STATE_LIT_LONGREP : STATE_NONLIT_REP; ++} ++ ++/* Indicate that the latest symbol was a short match. */ ++static inline void INIT lzma_state_short_rep(enum lzma_state *state) ++{ ++ *state = *state < LIT_STATES ? STATE_LIT_SHORTREP : STATE_NONLIT_REP; ++} ++ ++/* Test if the previous symbol was a literal. */ ++static inline bool_t INIT lzma_state_is_literal(enum lzma_state state) ++{ ++ return state < LIT_STATES; ++} ++ ++/* Each literal coder is divided in three sections: ++ * - 0x001-0x0FF: Without match byte ++ * - 0x101-0x1FF: With match byte; match bit is 0 ++ * - 0x201-0x2FF: With match byte; match bit is 1 ++ * ++ * Match byte is used when the previous LZMA symbol was something else than ++ * a literal (that is, it was some kind of match). ++ */ ++#define LITERAL_CODER_SIZE 0x300 ++ ++/* Maximum number of literal coders */ ++#define LITERAL_CODERS_MAX (1 << 4) ++ ++/* Minimum length of a match is two bytes. */ ++#define MATCH_LEN_MIN 2 ++ ++/* Match length is encoded with 4, 5, or 10 bits. ++ * ++ * Length Bits ++ * 2-9 4 = Choice=0 + 3 bits ++ * 10-17 5 = Choice=1 + Choice2=0 + 3 bits ++ * 18-273 10 = Choice=1 + Choice2=1 + 8 bits ++ */ ++#define LEN_LOW_BITS 3 ++#define LEN_LOW_SYMBOLS (1 << LEN_LOW_BITS) ++#define LEN_MID_BITS 3 ++#define LEN_MID_SYMBOLS (1 << LEN_MID_BITS) ++#define LEN_HIGH_BITS 8 ++#define LEN_HIGH_SYMBOLS (1 << LEN_HIGH_BITS) ++#define LEN_SYMBOLS (LEN_LOW_SYMBOLS + LEN_MID_SYMBOLS + LEN_HIGH_SYMBOLS) ++ ++/* ++ * Maximum length of a match is 273 which is a result of the encoding ++ * described above. ++ */ ++#define MATCH_LEN_MAX (MATCH_LEN_MIN + LEN_SYMBOLS - 1) ++ ++/* ++ * Different sets of probabilities are used for match distances that have ++ * very short match length: Lengths of 2, 3, and 4 bytes have a separate ++ * set of probabilities for each length. The matches with longer length ++ * use a shared set of probabilities. ++ */ ++#define DIST_STATES 4 ++ ++/* ++ * Get the index of the appropriate probability array for decoding ++ * the distance slot. ++ */ ++static inline uint32_t INIT lzma_get_dist_state(uint32_t len) ++{ ++ return len < DIST_STATES + MATCH_LEN_MIN ++ ? len - MATCH_LEN_MIN : DIST_STATES - 1; ++} ++ ++/* ++ * The highest two bits of a 32-bit match distance are encoded using six bits. ++ * This six-bit value is called a distance slot. This way encoding a 32-bit ++ * value takes 6-36 bits, larger values taking more bits. ++ */ ++#define DIST_SLOT_BITS 6 ++#define DIST_SLOTS (1 << DIST_SLOT_BITS) ++ ++/* Match distances up to 127 are fully encoded using probabilities. Since ++ * the highest two bits (distance slot) are always encoded using six bits, ++ * the distances 0-3 don't need any additional bits to encode, since the ++ * distance slot itself is the same as the actual distance. DIST_MODEL_START ++ * indicates the first distance slot where at least one additional bit is ++ * needed. ++ */ ++#define DIST_MODEL_START 4 ++ ++/* ++ * Match distances greater than 127 are encoded in three pieces: ++ * - distance slot: the highest two bits ++ * - direct bits: 2-26 bits below the highest two bits ++ * - alignment bits: four lowest bits ++ * ++ * Direct bits don't use any probabilities. ++ * ++ * The distance slot value of 14 is for distances 128-191. ++ */ ++#define DIST_MODEL_END 14 ++ ++/* Distance slots that indicate a distance <= 127. */ ++#define FULL_DISTANCES_BITS (DIST_MODEL_END / 2) ++#define FULL_DISTANCES (1 << FULL_DISTANCES_BITS) ++ ++/* ++ * For match distances greater than 127, only the highest two bits and the ++ * lowest four bits (alignment) is encoded using probabilities. ++ */ ++#define ALIGN_BITS 4 ++#define ALIGN_SIZE (1 << ALIGN_BITS) ++#define ALIGN_MASK (ALIGN_SIZE - 1) ++ ++/* Total number of all probability variables */ ++#define PROBS_TOTAL (1846 + LITERAL_CODERS_MAX * LITERAL_CODER_SIZE) ++ ++/* ++ * LZMA remembers the four most recent match distances. Reusing these ++ * distances tends to take less space than re-encoding the actual ++ * distance value. ++ */ ++#define REPS 4 ++ ++#endif +diff --git a/xen/common/xz/private.h b/xen/common/xz/private.h +new file mode 100644 +--- /dev/null ++++ b/xen/common/xz/private.h +@@ -0,0 +1,271 @@ ++/* ++ * Private includes and definitions ++ * ++ * Author: Lasse Collin ++ * ++ * This file has been put into the public domain. ++ * You can do whatever you want with this file. ++ */ ++ ++#ifndef XZ_PRIVATE_H ++#define XZ_PRIVATE_H ++ ++#include ++#include ++#define get_le32(p) le32_to_cpup((const uint32_t *)(p)) ++ ++#if 1 /* ndef CONFIG_??? */ ++static inline u32 INIT get_unaligned_le32(void *p) ++{ ++ return le32_to_cpup(p); ++} ++ ++static inline void INIT put_unaligned_le32(u32 val, void *p) ++{ ++ *(__force __le32*)p = cpu_to_le32(val); ++} ++#else ++#include ++ ++static inline u32 INIT get_unaligned_le32(void *p) ++{ ++ return le32_to_cpu(__get_unaligned(p, 4)); ++} ++ ++static inline void INIT put_unaligned_le32(u32 val, void *p) ++{ ++ __put_unaligned(cpu_to_le32(val), p, 4); ++} ++#endif ++ ++#define false 0 ++#define true 1 ++ ++/** ++ * enum xz_mode - Operation mode ++ * ++ * @XZ_SINGLE: Single-call mode. This uses less RAM than ++ * than multi-call modes, because the LZMA2 ++ * dictionary doesn't need to be allocated as ++ * part of the decoder state. All required data ++ * structures are allocated at initialization, ++ * so xz_dec_run() cannot return XZ_MEM_ERROR. ++ * @XZ_PREALLOC: Multi-call mode with preallocated LZMA2 ++ * dictionary buffer. All data structures are ++ * allocated at initialization, so xz_dec_run() ++ * cannot return XZ_MEM_ERROR. ++ * @XZ_DYNALLOC: Multi-call mode. The LZMA2 dictionary is ++ * allocated once the required size has been ++ * parsed from the stream headers. If the ++ * allocation fails, xz_dec_run() will return ++ * XZ_MEM_ERROR. ++ * ++ * It is possible to enable support only for a subset of the above ++ * modes at compile time by defining XZ_DEC_SINGLE, XZ_DEC_PREALLOC, ++ * or XZ_DEC_DYNALLOC. The xz_dec kernel module is always compiled ++ * with support for all operation modes, but the preboot code may ++ * be built with fewer features to minimize code size. ++ */ ++enum xz_mode { ++ XZ_SINGLE, ++ XZ_PREALLOC, ++ XZ_DYNALLOC ++}; ++ ++/** ++ * enum xz_ret - Return codes ++ * @XZ_OK: Everything is OK so far. More input or more ++ * output space is required to continue. This ++ * return code is possible only in multi-call mode ++ * (XZ_PREALLOC or XZ_DYNALLOC). ++ * @XZ_STREAM_END: Operation finished successfully. ++ * @XZ_UNSUPPORTED_CHECK: Integrity check type is not supported. Decoding ++ * is still possible in multi-call mode by simply ++ * calling xz_dec_run() again. ++ * Note that this return value is used only if ++ * XZ_DEC_ANY_CHECK was defined at build time, ++ * which is not used in the kernel. Unsupported ++ * check types return XZ_OPTIONS_ERROR if ++ * XZ_DEC_ANY_CHECK was not defined at build time. ++ * @XZ_MEM_ERROR: Allocating memory failed. This return code is ++ * possible only if the decoder was initialized ++ * with XZ_DYNALLOC. The amount of memory that was ++ * tried to be allocated was no more than the ++ * dict_max argument given to xz_dec_init(). ++ * @XZ_MEMLIMIT_ERROR: A bigger LZMA2 dictionary would be needed than ++ * allowed by the dict_max argument given to ++ * xz_dec_init(). This return value is possible ++ * only in multi-call mode (XZ_PREALLOC or ++ * XZ_DYNALLOC); the single-call mode (XZ_SINGLE) ++ * ignores the dict_max argument. ++ * @XZ_FORMAT_ERROR: File format was not recognized (wrong magic ++ * bytes). ++ * @XZ_OPTIONS_ERROR: This implementation doesn't support the requested ++ * compression options. In the decoder this means ++ * that the header CRC32 matches, but the header ++ * itself specifies something that we don't support. ++ * @XZ_DATA_ERROR: Compressed data is corrupt. ++ * @XZ_BUF_ERROR: Cannot make any progress. Details are slightly ++ * different between multi-call and single-call ++ * mode; more information below. ++ * ++ * In multi-call mode, XZ_BUF_ERROR is returned when two consecutive calls ++ * to XZ code cannot consume any input and cannot produce any new output. ++ * This happens when there is no new input available, or the output buffer ++ * is full while at least one output byte is still pending. Assuming your ++ * code is not buggy, you can get this error only when decoding a compressed ++ * stream that is truncated or otherwise corrupt. ++ * ++ * In single-call mode, XZ_BUF_ERROR is returned only when the output buffer ++ * is too small or the compressed input is corrupt in a way that makes the ++ * decoder produce more output than the caller expected. When it is ++ * (relatively) clear that the compressed input is truncated, XZ_DATA_ERROR ++ * is used instead of XZ_BUF_ERROR. ++ */ ++enum xz_ret { ++ XZ_OK, ++ XZ_STREAM_END, ++ XZ_UNSUPPORTED_CHECK, ++ XZ_MEM_ERROR, ++ XZ_MEMLIMIT_ERROR, ++ XZ_FORMAT_ERROR, ++ XZ_OPTIONS_ERROR, ++ XZ_DATA_ERROR, ++ XZ_BUF_ERROR ++}; ++ ++/** ++ * struct xz_buf - Passing input and output buffers to XZ code ++ * @in: Beginning of the input buffer. This may be NULL if and only ++ * if in_pos is equal to in_size. ++ * @in_pos: Current position in the input buffer. This must not exceed ++ * in_size. ++ * @in_size: Size of the input buffer ++ * @out: Beginning of the output buffer. This may be NULL if and only ++ * if out_pos is equal to out_size. ++ * @out_pos: Current position in the output buffer. This must not exceed ++ * out_size. ++ * @out_size: Size of the output buffer ++ * ++ * Only the contents of the output buffer from out[out_pos] onward, and ++ * the variables in_pos and out_pos are modified by the XZ code. ++ */ ++struct xz_buf { ++ const uint8_t *in; ++ size_t in_pos; ++ size_t in_size; ++ ++ uint8_t *out; ++ size_t out_pos; ++ size_t out_size; ++}; ++ ++/** ++ * struct xz_dec - Opaque type to hold the XZ decoder state ++ */ ++struct xz_dec; ++ ++/* If no specific decoding mode is requested, enable support for all modes. */ ++#if !defined(XZ_DEC_SINGLE) && !defined(XZ_DEC_PREALLOC) \ ++ && !defined(XZ_DEC_DYNALLOC) ++# define XZ_DEC_SINGLE ++# define XZ_DEC_PREALLOC ++# define XZ_DEC_DYNALLOC ++#endif ++ ++/* ++ * The DEC_IS_foo(mode) macros are used in "if" statements. If only some ++ * of the supported modes are enabled, these macros will evaluate to true or ++ * false at compile time and thus allow the compiler to omit unneeded code. ++ */ ++#ifdef XZ_DEC_SINGLE ++# define DEC_IS_SINGLE(mode) ((mode) == XZ_SINGLE) ++#else ++# define DEC_IS_SINGLE(mode) (false) ++#endif ++ ++#ifdef XZ_DEC_PREALLOC ++# define DEC_IS_PREALLOC(mode) ((mode) == XZ_PREALLOC) ++#else ++# define DEC_IS_PREALLOC(mode) (false) ++#endif ++ ++#ifdef XZ_DEC_DYNALLOC ++# define DEC_IS_DYNALLOC(mode) ((mode) == XZ_DYNALLOC) ++#else ++# define DEC_IS_DYNALLOC(mode) (false) ++#endif ++ ++#if !defined(XZ_DEC_SINGLE) ++# define DEC_IS_MULTI(mode) (true) ++#elif defined(XZ_DEC_PREALLOC) || defined(XZ_DEC_DYNALLOC) ++# define DEC_IS_MULTI(mode) ((mode) != XZ_SINGLE) ++#else ++# define DEC_IS_MULTI(mode) (false) ++#endif ++ ++/* ++ * If any of the BCJ filter decoders are wanted, define XZ_DEC_BCJ. ++ * XZ_DEC_BCJ is used to enable generic support for BCJ decoders. ++ */ ++#ifndef XZ_DEC_BCJ ++# if defined(XZ_DEC_X86) || defined(XZ_DEC_POWERPC) \ ++ || defined(XZ_DEC_IA64) || defined(XZ_DEC_ARM) \ ++ || defined(XZ_DEC_ARM) || defined(XZ_DEC_ARMTHUMB) \ ++ || defined(XZ_DEC_SPARC) ++# define XZ_DEC_BCJ ++# endif ++#endif ++ ++/* ++ * Allocate memory for LZMA2 decoder. xz_dec_lzma2_reset() must be used ++ * before calling xz_dec_lzma2_run(). ++ */ ++XZ_EXTERN struct xz_dec_lzma2 *xz_dec_lzma2_create(enum xz_mode mode, ++ uint32_t dict_max); ++ ++/* ++ * Decode the LZMA2 properties (one byte) and reset the decoder. Return ++ * XZ_OK on success, XZ_MEMLIMIT_ERROR if the preallocated dictionary is not ++ * big enough, and XZ_OPTIONS_ERROR if props indicates something that this ++ * decoder doesn't support. ++ */ ++XZ_EXTERN enum xz_ret xz_dec_lzma2_reset(struct xz_dec_lzma2 *s, ++ uint8_t props); ++ ++/* Decode raw LZMA2 stream from b->in to b->out. */ ++XZ_EXTERN enum xz_ret xz_dec_lzma2_run(struct xz_dec_lzma2 *s, ++ struct xz_buf *b); ++ ++/* Free the memory allocated for the LZMA2 decoder. */ ++XZ_EXTERN void xz_dec_lzma2_end(struct xz_dec_lzma2 *s); ++ ++#ifdef XZ_DEC_BCJ ++/* ++ * Allocate memory for BCJ decoders. xz_dec_bcj_reset() must be used before ++ * calling xz_dec_bcj_run(). ++ */ ++XZ_EXTERN struct xz_dec_bcj *xz_dec_bcj_create(bool_t single_call); ++ ++/* ++ * Decode the Filter ID of a BCJ filter. This implementation doesn't ++ * support custom start offsets, so no decoding of Filter Properties ++ * is needed. Returns XZ_OK if the given Filter ID is supported. ++ * Otherwise XZ_OPTIONS_ERROR is returned. ++ */ ++XZ_EXTERN enum xz_ret xz_dec_bcj_reset(struct xz_dec_bcj *s, uint8_t id); ++ ++/* ++ * Decode raw BCJ + LZMA2 stream. This must be used only if there actually is ++ * a BCJ filter in the chain. If the chain has only LZMA2, xz_dec_lzma2_run() ++ * must be called directly. ++ */ ++XZ_EXTERN enum xz_ret xz_dec_bcj_run(struct xz_dec_bcj *s, ++ struct xz_dec_lzma2 *lzma2, ++ struct xz_buf *b); ++ ++/* Free the memory allocated for the BCJ filters. */ ++#define xz_dec_bcj_end(s) free(s) ++#endif ++ ++#endif +diff --git a/xen/common/xz/stream.h b/xen/common/xz/stream.h +new file mode 100644 +--- /dev/null ++++ b/xen/common/xz/stream.h +@@ -0,0 +1,55 @@ ++/* ++ * Definitions for handling the .xz file format ++ * ++ * Author: Lasse Collin ++ * ++ * This file has been put into the public domain. ++ * You can do whatever you want with this file. ++ */ ++ ++#ifndef XZ_STREAM_H ++#define XZ_STREAM_H ++ ++/* ++ * See the .xz file format specification at ++ * http://tukaani.org/xz/xz-file-format.txt ++ * to understand the container format. ++ */ ++ ++#define STREAM_HEADER_SIZE 12 ++ ++#define HEADER_MAGIC "\3757zXZ" ++#define HEADER_MAGIC_SIZE 6 ++ ++#define FOOTER_MAGIC "YZ" ++#define FOOTER_MAGIC_SIZE 2 ++ ++/* ++ * Variable-length integer can hold a 63-bit unsigned integer or a special ++ * value indicating that the value is unknown. ++ * ++ * Experimental: vli_type can be defined to uint32_t to save a few bytes ++ * in code size (no effect on speed). Doing so limits the uncompressed and ++ * compressed size of the file to less than 256 MiB and may also weaken ++ * error detection slightly. ++ */ ++typedef uint64_t vli_type; ++ ++#define VLI_MAX ((vli_type)-1 / 2) ++#define VLI_UNKNOWN ((vli_type)-1) ++ ++/* Maximum encoded size of a VLI */ ++#define VLI_BYTES_MAX (sizeof(vli_type) * 8 / 7) ++ ++/* Integrity Check types */ ++enum xz_check { ++ XZ_CHECK_NONE = 0, ++ XZ_CHECK_CRC32 = 1, ++ XZ_CHECK_CRC64 = 4, ++ XZ_CHECK_SHA256 = 10 ++}; ++ ++/* Maximum possible Check ID */ ++#define XZ_CHECK_MAX 15 ++ ++#endif +diff --git a/xen/include/xen/decompress.h b/xen/include/xen/decompress.h +--- a/xen/include/xen/decompress.h ++++ b/xen/include/xen/decompress.h +@@ -31,7 +31,7 @@ + * dependent). + */ + +-decompress_fn bunzip2, unlzma, unlzo; ++decompress_fn bunzip2, unxz, unlzma, unlzo; + + int decompress(void *inbuf, unsigned int len, void *outbuf); \ No newline at end of file diff --git a/kernels/xen/parabolainit.patch b/kernels/xen/parabolainit.patch new file mode 100644 index 000000000..645a66edd --- /dev/null +++ b/kernels/xen/parabolainit.patch @@ -0,0 +1,423 @@ +diff -Naur orig.xen-4.1.1//tools/hotplug/Linux/init.d/xencommons xen-4.1.1//tools/hotplug/Linux/init.d/xencommons +--- orig.xen-4.1.1//tools/hotplug/Linux/init.d/xencommons 2011-07-03 03:08:44.953747064 -0700 ++++ xen-4.1.1//tools/hotplug/Linux/init.d/xencommons 2011-07-05 13:47:54.627029164 -0700 +@@ -18,6 +18,9 @@ + # Description: Starts and stops the daemons neeeded for xl/xend + ### END INIT INFO + ++. /etc/rc.conf ++. /etc/rc.d/functions ++ + if [ -d /etc/sysconfig ]; then + xencommons_config=/etc/sysconfig + else +@@ -26,7 +29,7 @@ + + test -f $xencommons_config/xencommons && . $xencommons_config/xencommons + +-XENCONSOLED_PIDFILE=/var/run/xenconsoled.pid ++XENCONSOLED_PIDFILE=/run/daemons/xenconsoled.pid + shopt -s extglob + + if test "x$1" = xstart && \ +@@ -51,8 +54,9 @@ + rm -f "$XENSTORED_ROOTDIR"/tdb* &>/dev/null + test -z "$XENSTORED_TRACE" || XENSTORED_ARGS=" -T /var/log/xen/xenstored-trace.log" + +- echo -n Starting xenstored... +- xenstored --pid-file=/var/run/xenstored.pid $XENSTORED_ARGS ++ #echo -n Starting xenstored... ++ stat_busy "Starting xenstored" ++ xenstored --pid-file=/run/daemons/xenstored.pid $XENSTORED_ARGS + + # Wait for xenstored to actually come up, timing out after 30 seconds + while [ $time -lt $timeout ] && ! `xenstore-read -s / >/dev/null 2>&1` ; do +@@ -60,33 +64,39 @@ + time=$(($time+1)) + sleep 1 + done +- echo +- + # Exit if we timed out + if ! [ $time -lt $timeout ] ; then +- echo Could not start xenstored ++ #echo Could not start xenstored ++ stat_fail + exit 1 + fi ++ stat_done + +- echo Setting domain 0 name... ++ stat_busy "Setting domain 0 name..." + xenstore-write "/local/domain/0/name" "Domain-0" ++ stat_done + fi + +- echo Starting xenconsoled... ++ #echo Starting xenconsoled... ++ stat_busy "Starting xenconsoled" + test -z "$XENCONSOLED_TRACE" || XENCONSOLED_ARGS=" --log=$XENCONSOLED_TRACE" + xenconsoled --pid-file=$XENCONSOLED_PIDFILE $XENCONSOLED_ARGS + test -z "$XENBACKENDD_DEBUG" || XENBACKENDD_ARGS="-d" + test "`uname`" != "NetBSD" || xenbackendd $XENBACKENDD_ARGS ++ stat_done ++ add_daemon xencommons + } + do_stop () { +- echo Stopping xenconsoled ++ stat_busy "Stopping xenconsoled" + if read 2>/dev/null <$XENCONSOLED_PIDFILE pid; then + kill $pid + while kill -9 $pid >/dev/null 2>&1; do sleep 0.1; done + rm -f $XENCONSOLED_PIDFILE + fi ++ stat_done + +- echo WARNING: Not stopping xenstored, as it cannot be restarted. ++ printhl "WARNING: Not stopping xenstored, as it cannot be restarted." ++ rm_daemon xencommons + } + + case "$1" in +diff -Naur orig.xen-4.1.1//tools/hotplug/Linux/init.d/xend xen-4.1.1//tools/hotplug/Linux/init.d/xend +--- orig.xen-4.1.1//tools/hotplug/Linux/init.d/xend 2011-07-03 03:08:44.953747064 -0700 ++++ xen-4.1.1//tools/hotplug/Linux/init.d/xend 2011-07-05 01:47:40.981951191 -0700 +@@ -18,6 +18,10 @@ + # Description: Starts and stops the Xen control daemon. + ### END INIT INFO + ++. /etc/rc.conf ++. /etc/rc.d/functions ++ ++ + shopt -s extglob + + # Wait for Xend to be up +@@ -37,23 +41,30 @@ + case "$1" in + start) + if [ -z "`ps -C xenconsoled -o pid=`" ]; then +- echo "xencommons should be started first." ++ printhl "xencommons should be started first." + exit 1 + fi + # mkdir shouldn't be needed as most distros have this already created. Default to using subsys. + # See docs/misc/distro_mapping.txt +- mkdir -p /var/lock +- if [ -d /var/lock/subsys ] ; then +- touch /var/lock/subsys/xend ++ if [ -d /run/lock/subsys ] ; then ++ touch /run/lock/subsys/xend + else +- touch /var/lock/xend ++ touch /run/lock/xend + fi ++ stat_busy "Starting xend" + xend start + await_daemons_up ++ stat_done ++ add_daemon xend + ;; ++ ++ + stop) ++ stat_busy "Stopping xend" + xend stop +- rm -f /var/lock/subsys/xend /var/lock/xend ++ rm -f /run/lock/xend /var/lock/xend ++ stat_done ++ rm_daemon xend + ;; + status) + xend status +@@ -62,8 +73,10 @@ + xend reload + ;; + restart|force-reload) ++ stat_busy "Restarting xend" + xend restart + await_daemons_up ++ stat_done + ;; + *) + # do not advertise unreasonable commands that there is no reason +diff -Naur orig.xen-4.1.1//tools/hotplug/Linux/init.d/xendomains xen-4.1.1//tools/hotplug/Linux/init.d/xendomains +--- orig.xen-4.1.1//tools/hotplug/Linux/init.d/xendomains 2011-07-03 03:08:44.953747064 -0700 ++++ xen-4.1.1//tools/hotplug/Linux/init.d/xendomains 2011-07-05 13:46:36.208222760 -0700 +@@ -26,6 +26,9 @@ + # Description: Start / stop domains automatically when domain 0 + # boots / shuts down. + ### END INIT INFO ++. /etc/rc.conf ++. /etc/rc.d/functions ++ + + CMD=xm + $CMD list &> /dev/null +@@ -46,93 +49,52 @@ + exit 0 + fi + +-# See docs/misc/distro_mapping.txt +-if [ -d /var/lock/subsys ]; then +- LOCKFILE=/var/lock/subsys/xendomains +-else +- LOCKFILE=/var/lock/xendomains +-fi +- +-if [ -d /etc/sysconfig ]; then +- XENDOM_CONFIG=/etc/sysconfig/xendomains +-else +- XENDOM_CONFIG=/etc/default/xendomains +-fi ++LOCKFILE=/run/lock/xendomains ++XENDOM_CONFIG=/etc/default/xendomains + +-test -r $XENDOM_CONFIG || { echo "$XENDOM_CONFIG not existing"; ++test -r $XENDOM_CONFIG || { ++ printhl "$XENDOM_CONFIG not existing"; + if [ "$1" = "stop" ]; then exit 0; + else exit 6; fi; } + + . $XENDOM_CONFIG + +-# Use the SUSE rc_ init script functions; +-# emulate them on LSB, RH and other systems +-if test -e /etc/rc.status; then +- # SUSE rc script library +- . /etc/rc.status +-else +- _cmd=$1 +- declare -a _SMSG +- if test "${_cmd}" = "status"; then ++_cmd=$1 ++declare -a _SMSG ++if test "${_cmd}" = "status"; then + _SMSG=(running dead dead unused unknown) + _RC_UNUSED=3 +- else ++else + _SMSG=(done failed failed missed failed skipped unused failed failed) + _RC_UNUSED=6 +- fi +- if test -e /etc/init.d/functions; then +- # REDHAT +- . /etc/init.d/functions +- echo_rc() +- { +- #echo -n " [${_SMSG[${_RC_RV}]}] " +- if test ${_RC_RV} = 0; then +- success " [${_SMSG[${_RC_RV}]}] " +- else +- failure " [${_SMSG[${_RC_RV}]}] " +- fi +- } +- elif test -e /lib/lsb/init-functions; then +- # LSB +- . /lib/lsb/init-functions +- if alias log_success_msg >/dev/null 2>/dev/null; then +- echo_rc() +- { +- echo " [${_SMSG[${_RC_RV}]}] " +- } +- else +- echo_rc() +- { +- if test ${_RC_RV} = 0; then +- log_success_msg " [${_SMSG[${_RC_RV}]}] " +- else +- log_failure_msg " [${_SMSG[${_RC_RV}]}] " +- fi +- } +- fi +- else +- # emulate it +- echo_rc() +- { +- echo " [${_SMSG[${_RC_RV}]}] " +- } +- fi +- rc_reset() { _RC_RV=0; } +- rc_failed() +- { ++fi ++ ++ ++ ++echo_rc() { ++ echo ++ printhl "Return Status: ${_SMSG[${_RC_RV}]}" ++} ++ ++ ++rc_reset() { _RC_RV=0; } ++ ++ ++rc_failed() { + if test -z "$1"; then +- _RC_RV=1; ++ _RC_RV=1; + elif test "$1" != "0"; then +- _RC_RV=$1; +- fi ++ _RC_RV=$1; ++ fi + return ${_RC_RV} +- } +- rc_check() +- { ++} ++ ++rc_check() { + return rc_failed $? +- } +- rc_status() +- { ++} ++ ++ ++rc_status() { + rc_failed $? + if test "$1" = "-r"; then _RC_RV=0; shift; fi + if test "$1" = "-s"; then rc_failed 5; echo_rc; rc_failed 3; shift; fi +@@ -140,26 +102,24 @@ + if test "$1" = "-v"; then echo_rc; shift; fi + if test "$1" = "-r"; then _RC_RV=0; shift; fi + return ${_RC_RV} +- } +- rc_exit() { exit ${_RC_RV}; } +- rc_active() +- { ++} ++ ++ ++rc_exit() { exit ${_RC_RV}; } ++ ++ ++rc_active() { + if test -z "$RUNLEVEL"; then read RUNLEVEL REST < <(/sbin/runlevel); fi + if test -e /etc/init.d/S[0-9][0-9]${1}; then return 0; fi + return 1 +- } +-fi ++} + +-if ! which usleep >&/dev/null +-then +- usleep() +- { +- if [ -n "$1" ] +- then +- sleep $(( $1 / 1000000 )) +- fi +- } +-fi ++usleep() { ++ if [ -n "$1" ] ++ then ++ sleep $(( $1 / 1000000 )) ++ fi ++} + + # Reset status of this service + rc_reset +@@ -235,10 +195,12 @@ + start() + { + if [ -f $LOCKFILE ]; then +- echo -e "xendomains already running (lockfile exists)" ++ stat_busy "xendomains already running (lockfile exists)" ++ stat_fail + return; + fi + ++ printhl "Starting Xen Domains" + saved_domains=" " + if [ "$XENDOMAINS_RESTORE" = "true" ] && + contains_something "$XENDOMAINS_SAVE" +@@ -299,6 +261,7 @@ + fi + done + fi ++ add_daemon xendomains + } + + all_zombies() +@@ -352,7 +315,7 @@ + if test "$XENDOMAINS_AUTO_ONLY" = "true"; then + rdnames + fi +- echo -n "Shutting down Xen domains:" ++ printhl "Shutting down Xen domains" + name=;id= + while read LN; do + parseln "$LN" || continue +@@ -465,6 +428,7 @@ + rm -f $LOCKFILE + + exec 2>&3 ++ rm_daemon xendomains + } + + check_domain_up() +diff -Naur orig.xen-4.1.1//tools/hotplug/Linux/init.d/xen-watchdog xen-4.1.1//tools/hotplug/Linux/init.d/xen-watchdog +--- orig.xen-4.1.1//tools/hotplug/Linux/init.d/xen-watchdog 2011-07-03 03:08:44.957080397 -0700 ++++ xen-4.1.1//tools/hotplug/Linux/init.d/xen-watchdog 2011-07-05 13:20:22.515289867 -0700 +@@ -17,49 +17,32 @@ + ### END INIT INFO + # + ++. /etc/rc.conf ++. /etc/rc.d/functions ++ + DAEMON=/usr/sbin/xenwatchdogd + base=$(basename $DAEMON) ++initname="xen-watchdog" + +-# Source function library. +-if [ -e /etc/init.d/functions ] ; then +- . /etc/init.d/functions +-elif [ -e /lib/lsb/init-functions ] ; then +- . /lib/lsb/init-functions +- success () { +- log_success_msg $* +- } +- failure () { +- log_failure_msg $* +- } +-else +- success () { +- echo $* +- } +- failure () { +- echo $* +- } +-fi + + start() { + local r +- echo -n $"Starting domain watchdog daemon: " ++ stat_busy "Starting domain watchdog daemon" + + $DAEMON 30 15 + r=$? +- [ "$r" -eq 0 ] && success $"$base startup" || failure $"$base startup" +- echo ++ [ "$r" -eq 0 ] && stat_done ; add_daemon $initname || stat_fail + + return $r + } + + stop() { + local r +- echo -n $"Stopping domain watchdog daemon: " ++ stat_busy "Stopping domain watchdog daemon" + + killall -USR1 $base 2>/dev/null + r=$? +- [ "$r" -eq 0 ] && success $"$base stop" || failure $"$base stop" +- echo ++ [ "$r" -eq 0 ] && stat_done ; rm_daemon $initname || stat_fail + + return $r + } diff --git a/kernels/xen/xen.patch b/kernels/xen/xen.patch new file mode 100644 index 000000000..8b1b5585d --- /dev/null +++ b/kernels/xen/xen.patch @@ -0,0 +1,21 @@ +--- xen-4.0.1.orig/Config.mk 2010-08-25 12:22:44.000000000 +0200 ++++ xen-4.0.1/Config.mk 2010-11-02 23:38:11.575000000 +0100 +@@ -187,4 +187,4 @@ + CONFIG_MINITERM ?= n + CONFIG_LOMOUNT ?= n + +--include $(XEN_ROOT)/.config ++#-include $(XEN_ROOT)/.config + +--- xen-4.0.1/Config.mk.orig 2010-08-25 11:22:44.000000000 +0100 ++++ xen-4.0.1/Config.mk 2011-01-29 17:40:43.000000000 +0000 +@@ -135,6 +135,8 @@ + + LDFLAGS += $(foreach i, $(EXTRA_LIB), -L$(i)) + CFLAGS += $(foreach i, $(EXTRA_INCLUDES), -I$(i)) ++# temporary compile fix for rawhide ++CFLAGS += -Wunused-but-set-variable -Wno-error=unused-but-set-variable -Wuninitialized -Wno-error=uninitialized + + EMBEDDED_EXTRA_CFLAGS := -nopie -fno-stack-protector -fno-stack-protector-all + EMBEDDED_EXTRA_CFLAGS += -fno-exceptions + -- cgit v1.2.3 From 08ffdb45067133abf9caba2636fa2e1d98d33b58 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Wed, 22 Feb 2012 00:42:29 -0200 Subject: kernels/xen --- kernels/xen/PKGBUILD | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/kernels/xen/PKGBUILD b/kernels/xen/PKGBUILD index e1796106a..4f4a1218b 100644 --- a/kernels/xen/PKGBUILD +++ b/kernels/xen/PKGBUILD @@ -1,17 +1,22 @@ -#Mantainer M0Rf30 -#Contributor WaxyMouthfeel +# Mantainer M0Rf30 +# Contributor WaxyMouthfeel # Contributor (Parabola): André Silva pkgname=xen pkgver=4.1.2 -pkgrel=2 +pkgrel=3 pkgdesc="Xen 4 (hypervisor and tools)" arch=(i686 x86_64) url="http://xen.org/" license="GPL" -depends=('xz-utils' 'bzip2' 'iproute' 'bridge-utils' 'python2' 'sdl' 'zlib' 'e2fsprogs' 'pkgconfig' 'gnutls' 'lzo2' 'glibc') -[ "$CARCH" == "x86_64" ] && depends=(${depends} 'lib32-glibc') + +if [[ $CARCH == "x86_64" ]]; then + depends=('xz-utils' 'bzip2' 'iproute' 'net-tools' 'bridge-utils' 'python2' 'sdl' 'zlib' 'e2fsprogs' 'bin86' 'pkgconfig' 'gnutls' 'lzo2' 'lib32-glibc') +else + depends=('xz-utils' 'bzip2' 'iproute' 'net-tools' 'bridge-utils' 'python2' 'sdl' 'zlib' 'e2fsprogs' 'bin86' 'pkgconfig' 'gnutls' 'lzo2' 'glibc') +fi + optdepends=('xen-docs: Xen Official Documentation') -makedepends=('dev86' 'bin86' 'ocaml-findlib' 'iasl') +makedepends=('dev86' 'ocaml-findlib' 'iasl') conflicts=('xen4' 'xen3' 'xen-hv-tools' 'libxen4') provides=('xen') backup=('etc/xen/xend-config.sxp' 'etc/xen/xend-pci-permissive.sxp' 'etc/xen/xend-pci-quirks.sxp') -- cgit v1.2.3 From b8b2a77044e32c47576a821c0db0fb00038e647a Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Wed, 22 Feb 2012 17:59:53 -0200 Subject: libre/linux-libre/ --- libre/linux-libre/PKGBUILD | 11 ++-- libre/linux-libre/config.i686 | 94 +++++++++++------------------------ libre/linux-libre/config.x86_64 | 93 +++++++++++----------------------- libre/linux-libre/linux-libre.install | 2 +- 4 files changed, 66 insertions(+), 134 deletions(-) mode change 100644 => 100755 libre/linux-libre/config.i686 diff --git a/libre/linux-libre/PKGBUILD b/libre/linux-libre/PKGBUILD index 8d2b6e9d1..f7b54ac11 100644 --- a/libre/linux-libre/PKGBUILD +++ b/libre/linux-libre/PKGBUILD @@ -3,13 +3,14 @@ # Maintainer: Thomas Baechler # Maintainer (Parabola): Nicolás Reynolds # Maintainer (Parabola): Sorin-Mihai Vârgolici +# Maintainer (Parabola): André Silva pkgbase=linux-libre pkgname=('linux-libre' 'linux-libre-headers' 'linux-libre-docs') # Build stock -LIBRE kernel # pkgname=linux-custom # Build kernel with a different name _kernelname=${pkgname#linux-libre} _basekernel=3.2 -pkgver=${_basekernel}.5 +pkgver=${_basekernel}.7 pkgrel=1 arch=('i686' 'x86_64' 'mips64el') url="http://linux-libre.fsfla.org/" @@ -30,10 +31,10 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-li 'i915-fix-ghost-tv-output.patch' 'i915-gpu-finish.patch') md5sums=('27c641c4f6785fc647cdd3e44963a55c' - 'f81e60e49e4fb471f82ddfa2b8a8bd45' - '8116d2a3c35808f3fceece95d0b6ee96' - '92f62a90c1df8d74704a510d28146c52' - '576ba68b171efd4a3333736c30f334ef' + '37a0fdc7ad19c9489faf09925b4fae5b' + '690e6201d219638544d2fba3996dc822' + 'f27599e6b2a002d1a13b2249ff030314' + 'c51cdf3d047db4bbb46bfa70fe92b196' 'a8a3843046926eb7ab81312cd438c5c5' '2967cecc3af9f954ccc822fd63dca6ff' '8267264d9a8966e57fdacd1fa1fc65c4' diff --git a/libre/linux-libre/config.i686 b/libre/linux-libre/config.i686 old mode 100644 new mode 100755 index 9aace04bc..be8d43e31 --- a/libre/linux-libre/config.i686 +++ b/libre/linux-libre/config.i686 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/i386 3.2.0 Kernel Configuration +# Linux/i386 3.2.6-1 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y @@ -722,7 +722,7 @@ CONFIG_DEFAULT_CUBIC=y # CONFIG_DEFAULT_RENO is not set CONFIG_DEFAULT_TCP_CONG="cubic" # CONFIG_TCP_MD5SIG is not set -CONFIG_IPV6=m +CONFIG_IPV6=y CONFIG_IPV6_PRIVACY=y CONFIG_IPV6_ROUTER_PREF=y CONFIG_IPV6_ROUTE_INFO=y @@ -3599,7 +3599,6 @@ CONFIG_VIDEO_CX18=m CONFIG_VIDEO_CX18_ALSA=m CONFIG_VIDEO_SAA7164=m CONFIG_VIDEO_CAFE_CCIC=m -CONFIG_VIDEO_VIA_CAMERA=m CONFIG_SOC_CAMERA=m CONFIG_SOC_CAMERA_IMX074=m CONFIG_SOC_CAMERA_MT9M001=m @@ -4014,7 +4013,7 @@ CONFIG_FB_SYS_IMAGEBLIT=m CONFIG_FB_SYS_FOPS=m # CONFIG_FB_WMT_GE_ROPS is not set CONFIG_FB_DEFERRED_IO=y -CONFIG_FB_SVGALIB=m +# CONFIG_FB_SVGALIB is not set # CONFIG_FB_MACMODES is not set CONFIG_FB_BACKLIGHT=y CONFIG_FB_MODE_HELPERS=y @@ -4023,73 +4022,48 @@ CONFIG_FB_TILEBLITTING=y # # Frame buffer hardware drivers # -CONFIG_FB_CIRRUS=m -CONFIG_FB_PM2=m -CONFIG_FB_PM2_FIFO_DISCONNECT=y -CONFIG_FB_CYBER2000=m -CONFIG_FB_CYBER2000_DDC=y +# CONFIG_FB_CIRRUS is not set +# CONFIG_FB_PM2 is not set +# CONFIG_FB_CYBER2000 is not set # CONFIG_FB_ARC is not set # CONFIG_FB_ASILIANT is not set # CONFIG_FB_IMSTT is not set -# CONFIG_FB_VGA16 is not set +CONFIG_FB_VGA16=m CONFIG_FB_UVESA=m CONFIG_FB_VESA=y CONFIG_FB_EFI=y # CONFIG_FB_N411 is not set # CONFIG_FB_HGA is not set # CONFIG_FB_S1D13XXX is not set -CONFIG_FB_NVIDIA=m -CONFIG_FB_NVIDIA_I2C=y -# CONFIG_FB_NVIDIA_DEBUG is not set -CONFIG_FB_NVIDIA_BACKLIGHT=y -CONFIG_FB_RIVA=m -CONFIG_FB_RIVA_I2C=y -# CONFIG_FB_RIVA_DEBUG is not set -CONFIG_FB_RIVA_BACKLIGHT=y +# CONFIG_FB_NVIDIA is not set +# CONFIG_FB_RIVA is not set CONFIG_FB_I810=m -# CONFIG_FB_I810_GTF is not set -CONFIG_FB_LE80578=m -CONFIG_FB_CARILLO_RANCH=m +CONFIG_FB_I810_GTF=y +CONFIG_FB_I810_I2C=y +# CONFIG_FB_LE80578 is not set # CONFIG_FB_MATROX is not set -CONFIG_FB_RADEON=m -CONFIG_FB_RADEON_I2C=y -CONFIG_FB_RADEON_BACKLIGHT=y -# CONFIG_FB_RADEON_DEBUG is not set -CONFIG_FB_ATY128=m -CONFIG_FB_ATY128_BACKLIGHT=y -CONFIG_FB_ATY=m -CONFIG_FB_ATY_CT=y -CONFIG_FB_ATY_GENERIC_LCD=y -CONFIG_FB_ATY_GX=y -CONFIG_FB_ATY_BACKLIGHT=y -CONFIG_FB_S3=m -CONFIG_FB_S3_DDC=y -CONFIG_FB_SAVAGE=m -CONFIG_FB_SAVAGE_I2C=y -CONFIG_FB_SAVAGE_ACCEL=y -CONFIG_FB_SIS=m -CONFIG_FB_SIS_300=y -CONFIG_FB_SIS_315=y -CONFIG_FB_VIA=m -# CONFIG_FB_VIA_DIRECT_PROCFS is not set -CONFIG_FB_VIA_X_COMPATIBILITY=y -CONFIG_FB_NEOMAGIC=m -CONFIG_FB_KYRO=m -CONFIG_FB_3DFX=m -CONFIG_FB_3DFX_ACCEL=y -CONFIG_FB_3DFX_I2C=y +# CONFIG_FB_RADEON is not set +# CONFIG_FB_ATY128 is not set +# CONFIG_FB_ATY is not set +# CONFIG_FB_S3 is not set +# CONFIG_FB_SAVAGE is not set +# CONFIG_FB_SIS is not set +# CONFIG_FB_VIA is not set +# CONFIG_FB_NEOMAGIC is not set +# CONFIG_FB_KYRO is not set +# CONFIG_FB_3DFX is not set CONFIG_FB_VOODOO1=m -CONFIG_FB_VT8623=m -CONFIG_FB_TRIDENT=m +# CONFIG_FB_VT8623 is not set +# CONFIG_FB_TRIDENT is not set # CONFIG_FB_ARK is not set # CONFIG_FB_PM3 is not set # CONFIG_FB_CARMINE is not set # CONFIG_FB_GEODE is not set # CONFIG_FB_TMIO is not set # CONFIG_FB_SM501 is not set -CONFIG_FB_SMSCUFX=m +# CONFIG_FB_SMSCUFX is not set CONFIG_FB_UDL=m -# CONFIG_FB_VIRTUAL is not set +CONFIG_FB_VIRTUAL=m # CONFIG_FB_METRONOME is not set # CONFIG_FB_MB862XX is not set # CONFIG_FB_BROADSHEET is not set @@ -4108,7 +4082,6 @@ CONFIG_LCD_AMS369FG06=m CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_BACKLIGHT_GENERIC=m CONFIG_BACKLIGHT_PROGEAR=m -CONFIG_BACKLIGHT_CARILLO_RANCH=m CONFIG_BACKLIGHT_APPLE=m CONFIG_BACKLIGHT_SAHARA=m CONFIG_BACKLIGHT_WM831X=m @@ -5254,17 +5227,10 @@ CONFIG_SIGMA=m # # File systems # -CONFIG_EXT2_FS=m -CONFIG_EXT2_FS_XATTR=y -CONFIG_EXT2_FS_POSIX_ACL=y -CONFIG_EXT2_FS_SECURITY=y -# CONFIG_EXT2_FS_XIP is not set -CONFIG_EXT3_FS=m -CONFIG_EXT3_DEFAULTS_TO_ORDERED=y -CONFIG_EXT3_FS_XATTR=y -CONFIG_EXT3_FS_POSIX_ACL=y -CONFIG_EXT3_FS_SECURITY=y +# CONFIG_EXT2_FS is not set +# CONFIG_EXT3_FS is not set CONFIG_EXT4_FS=m +CONFIG_EXT4_USE_FOR_EXT23=y CONFIG_EXT4_FS_XATTR=y CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_EXT4_FS_SECURITY=y @@ -5417,9 +5383,9 @@ CONFIG_PSTORE=y CONFIG_UFS_FS=m # CONFIG_UFS_FS_WRITE is not set # CONFIG_UFS_DEBUG is not set -CONFIG_ORE=m CONFIG_EXOFS_FS=m # CONFIG_EXOFS_DEBUG is not set +CONFIG_ORE=m CONFIG_NETWORK_FILESYSTEMS=y CONFIG_NFS_FS=m CONFIG_NFS_V3=y diff --git a/libre/linux-libre/config.x86_64 b/libre/linux-libre/config.x86_64 index 42aafc2bb..427eee5e3 100644 --- a/libre/linux-libre/config.x86_64 +++ b/libre/linux-libre/config.x86_64 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86_64 3.2.0 Kernel Configuration +# Linux/x86_64 3.2.6-1 Kernel Configuration # CONFIG_64BIT=y # CONFIG_X86_32 is not set @@ -684,7 +684,7 @@ CONFIG_DEFAULT_CUBIC=y # CONFIG_DEFAULT_RENO is not set CONFIG_DEFAULT_TCP_CONG="cubic" # CONFIG_TCP_MD5SIG is not set -CONFIG_IPV6=m +CONFIG_IPV6=y CONFIG_IPV6_PRIVACY=y CONFIG_IPV6_ROUTER_PREF=y CONFIG_IPV6_ROUTE_INFO=y @@ -3447,7 +3447,6 @@ CONFIG_VIDEO_CX18=m CONFIG_VIDEO_CX18_ALSA=m CONFIG_VIDEO_SAA7164=m CONFIG_VIDEO_CAFE_CCIC=m -CONFIG_VIDEO_VIA_CAMERA=m CONFIG_SOC_CAMERA=m CONFIG_SOC_CAMERA_IMX074=m CONFIG_SOC_CAMERA_MT9M001=m @@ -3831,7 +3830,7 @@ CONFIG_VGASTATE=m CONFIG_VIDEO_OUTPUT_CONTROL=m CONFIG_FB=y CONFIG_FIRMWARE_EDID=y -CONFIG_FB_DDC=m +# CONFIG_FB_DDC is not set CONFIG_FB_BOOT_VESA_SUPPORT=y CONFIG_FB_CFB_FILLRECT=y CONFIG_FB_CFB_COPYAREA=y @@ -3844,7 +3843,7 @@ CONFIG_FB_SYS_IMAGEBLIT=m CONFIG_FB_SYS_FOPS=m # CONFIG_FB_WMT_GE_ROPS is not set CONFIG_FB_DEFERRED_IO=y -CONFIG_FB_SVGALIB=m +# CONFIG_FB_SVGALIB is not set # CONFIG_FB_MACMODES is not set CONFIG_FB_BACKLIGHT=y CONFIG_FB_MODE_HELPERS=y @@ -3853,71 +3852,45 @@ CONFIG_FB_TILEBLITTING=y # # Frame buffer hardware drivers # -CONFIG_FB_CIRRUS=m -CONFIG_FB_PM2=m -CONFIG_FB_PM2_FIFO_DISCONNECT=y -CONFIG_FB_CYBER2000=m -CONFIG_FB_CYBER2000_DDC=y +# CONFIG_FB_CIRRUS is not set +# CONFIG_FB_PM2 is not set +# CONFIG_FB_CYBER2000 is not set # CONFIG_FB_ARC is not set # CONFIG_FB_ASILIANT is not set # CONFIG_FB_IMSTT is not set -# CONFIG_FB_VGA16 is not set +CONFIG_FB_VGA16=m CONFIG_FB_UVESA=m CONFIG_FB_VESA=y CONFIG_FB_EFI=y # CONFIG_FB_N411 is not set # CONFIG_FB_HGA is not set # CONFIG_FB_S1D13XXX is not set -CONFIG_FB_NVIDIA=m -CONFIG_FB_NVIDIA_I2C=y -# CONFIG_FB_NVIDIA_DEBUG is not set -CONFIG_FB_NVIDIA_BACKLIGHT=y -CONFIG_FB_RIVA=m -CONFIG_FB_RIVA_I2C=y -# CONFIG_FB_RIVA_DEBUG is not set -CONFIG_FB_RIVA_BACKLIGHT=y -CONFIG_FB_LE80578=m -CONFIG_FB_CARILLO_RANCH=m +# CONFIG_FB_NVIDIA is not set +# CONFIG_FB_RIVA is not set +# CONFIG_FB_LE80578 is not set # CONFIG_FB_MATROX is not set -CONFIG_FB_RADEON=m -CONFIG_FB_RADEON_I2C=y -CONFIG_FB_RADEON_BACKLIGHT=y -# CONFIG_FB_RADEON_DEBUG is not set -CONFIG_FB_ATY128=m -CONFIG_FB_ATY128_BACKLIGHT=y -CONFIG_FB_ATY=m -CONFIG_FB_ATY_CT=y -CONFIG_FB_ATY_GENERIC_LCD=y -CONFIG_FB_ATY_GX=y -CONFIG_FB_ATY_BACKLIGHT=y -CONFIG_FB_S3=m -CONFIG_FB_S3_DDC=y -CONFIG_FB_SAVAGE=m -CONFIG_FB_SAVAGE_I2C=y -CONFIG_FB_SAVAGE_ACCEL=y -CONFIG_FB_SIS=m -CONFIG_FB_SIS_300=y -CONFIG_FB_SIS_315=y -CONFIG_FB_VIA=m -# CONFIG_FB_VIA_DIRECT_PROCFS is not set -CONFIG_FB_VIA_X_COMPATIBILITY=y -CONFIG_FB_NEOMAGIC=m -CONFIG_FB_KYRO=m -CONFIG_FB_3DFX=m -CONFIG_FB_3DFX_ACCEL=y -CONFIG_FB_3DFX_I2C=y +# CONFIG_FB_RADEON is not set +# CONFIG_FB_ATY128 is not set +# CONFIG_FB_ATY is not set +# CONFIG_FB_S3 is not set +# CONFIG_FB_SAVAGE is not set +# CONFIG_FB_SIS is not set +# CONFIG_FB_VIA is not set +# CONFIG_FB_NEOMAGIC is not set +# CONFIG_FB_KYRO is not set +# CONFIG_FB_3DFX is not set CONFIG_FB_VOODOO1=m -CONFIG_FB_VT8623=m -CONFIG_FB_TRIDENT=m +# CONFIG_FB_VT8623 is not set +# CONFIG_FB_TRIDENT is not set # CONFIG_FB_ARK is not set # CONFIG_FB_PM3 is not set # CONFIG_FB_CARMINE is not set # CONFIG_FB_GEODE is not set # CONFIG_FB_TMIO is not set # CONFIG_FB_SM501 is not set -CONFIG_FB_SMSCUFX=m +# CONFIG_FB_SMSCUFX is not set CONFIG_FB_UDL=m -# CONFIG_FB_VIRTUAL is not set +CONFIG_FB_VIRTUAL=m CONFIG_XEN_FBDEV_FRONTEND=m # CONFIG_FB_METRONOME is not set # CONFIG_FB_MB862XX is not set @@ -3937,7 +3910,6 @@ CONFIG_LCD_AMS369FG06=m CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_BACKLIGHT_GENERIC=m CONFIG_BACKLIGHT_PROGEAR=m -CONFIG_BACKLIGHT_CARILLO_RANCH=m CONFIG_BACKLIGHT_APPLE=m CONFIG_BACKLIGHT_SAHARA=m CONFIG_BACKLIGHT_WM831X=m @@ -5016,17 +4988,10 @@ CONFIG_SIGMA=m # # File systems # -CONFIG_EXT2_FS=m -CONFIG_EXT2_FS_XATTR=y -CONFIG_EXT2_FS_POSIX_ACL=y -CONFIG_EXT2_FS_SECURITY=y -# CONFIG_EXT2_FS_XIP is not set -CONFIG_EXT3_FS=m -CONFIG_EXT3_DEFAULTS_TO_ORDERED=y -CONFIG_EXT3_FS_XATTR=y -CONFIG_EXT3_FS_POSIX_ACL=y -CONFIG_EXT3_FS_SECURITY=y +# CONFIG_EXT2_FS is not set +# CONFIG_EXT3_FS is not set CONFIG_EXT4_FS=m +CONFIG_EXT4_USE_FOR_EXT23=y CONFIG_EXT4_FS_XATTR=y CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_EXT4_FS_SECURITY=y @@ -5180,9 +5145,9 @@ CONFIG_PSTORE=y CONFIG_UFS_FS=m # CONFIG_UFS_FS_WRITE is not set # CONFIG_UFS_DEBUG is not set -CONFIG_ORE=m CONFIG_EXOFS_FS=m # CONFIG_EXOFS_DEBUG is not set +CONFIG_ORE=m CONFIG_NETWORK_FILESYSTEMS=y CONFIG_NFS_FS=m CONFIG_NFS_V3=y diff --git a/libre/linux-libre/linux-libre.install b/libre/linux-libre/linux-libre.install index 58ad94d49..6e3e16986 100644 --- a/libre/linux-libre/linux-libre.install +++ b/libre/linux-libre/linux-libre.install @@ -2,7 +2,7 @@ # arg 2: the old package version KERNEL_NAME= -KERNEL_VERSION=3.2.5-1-LIBRE +KERNEL_VERSION=3.2.7-1-LIBRE post_install () { # updating module dependencies -- cgit v1.2.3 From 42355452368e0a44d65d7a2d2128d21225d7ed2b Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Thu, 23 Feb 2012 13:46:23 -0200 Subject: libre/linux-libre --- libre/linux-libre/PKGBUILD | 4 ++-- libre/linux-libre/config.i686 | 4 ++-- libre/linux-libre/config.x86_64 | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) mode change 100755 => 100644 libre/linux-libre/config.i686 diff --git a/libre/linux-libre/PKGBUILD b/libre/linux-libre/PKGBUILD index f7b54ac11..e0220e8fd 100644 --- a/libre/linux-libre/PKGBUILD +++ b/libre/linux-libre/PKGBUILD @@ -33,8 +33,8 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-li md5sums=('27c641c4f6785fc647cdd3e44963a55c' '37a0fdc7ad19c9489faf09925b4fae5b' '690e6201d219638544d2fba3996dc822' - 'f27599e6b2a002d1a13b2249ff030314' - 'c51cdf3d047db4bbb46bfa70fe92b196' + '79db8a444fd149e409f706830d8cee9a' + 'e26dbcb367a2b48f5ed09560e2ae8fa0' 'a8a3843046926eb7ab81312cd438c5c5' '2967cecc3af9f954ccc822fd63dca6ff' '8267264d9a8966e57fdacd1fa1fc65c4' diff --git a/libre/linux-libre/config.i686 b/libre/linux-libre/config.i686 old mode 100755 new mode 100644 index be8d43e31..d2d688197 --- a/libre/linux-libre/config.i686 +++ b/libre/linux-libre/config.i686 @@ -422,8 +422,8 @@ CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y CONFIG_MEMORY_FAILURE=y CONFIG_HWPOISON_INJECT=m CONFIG_TRANSPARENT_HUGEPAGE=y -CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y -# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set +# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set +CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y CONFIG_CLEANCACHE=y # CONFIG_HIGHPTE is not set CONFIG_X86_CHECK_BIOS_CORRUPTION=y diff --git a/libre/linux-libre/config.x86_64 b/libre/linux-libre/config.x86_64 index 427eee5e3..80ea3030f 100644 --- a/libre/linux-libre/config.x86_64 +++ b/libre/linux-libre/config.x86_64 @@ -409,8 +409,8 @@ CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y CONFIG_MEMORY_FAILURE=y CONFIG_HWPOISON_INJECT=m CONFIG_TRANSPARENT_HUGEPAGE=y -CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y -# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set +# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set +CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y CONFIG_CLEANCACHE=y CONFIG_X86_CHECK_BIOS_CORRUPTION=y CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y -- cgit v1.2.3