From owner-freebsd-emulation@FreeBSD.ORG Mon Aug 6 10:23:03 2012 Return-Path: Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A174C106564A; Mon, 6 Aug 2012 10:23:03 +0000 (UTC) (envelope-from naylor.b.david@gmail.com) Received: from mail-wi0-f178.google.com (mail-wi0-f178.google.com [209.85.212.178]) by mx1.freebsd.org (Postfix) with ESMTP id EF8FD8FC12; Mon, 6 Aug 2012 10:23:02 +0000 (UTC) Received: by wibhr14 with SMTP id hr14so1167837wib.13 for ; Mon, 06 Aug 2012 03:23:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:user-agent:mime-version:content-type :content-transfer-encoding:message-id; bh=L2/WIZY1wfkmpVWnAoZ7e4fDhn1nJHh5bq118AH8SBs=; b=QUKC4K4a7cuTBpEpz4ZhcyJYgyGxWPh0rkl4qeuNrwSOSb9CD9+KoRs1TuTmA9hPLv jbrx+pMGHTFIG5iQ6xCs5/+Y8DyV09V+Kizm3IQ8FZCaektjlOfNN9cAH1NwOtJF2BxU tydQQ2RKfR6c5F53bxf++CbxCVgraDEMJ2JcEEJEJmHBZIJVRwxCf6zQ4Lq3PQeFRVh6 TgKmq7TIMUpfSvjDXlB0ZDjdzi3Cwjjg3KI1XdRlqLsLdfAF1sUVC2QEsJ4XTS4kkDRN pFnZAXp3c+hwFK2GA7Lwfu766xA+O2yPnpHWriJX3O9BQtgD4a8v7KW598kPggQbbb0v 7mwQ== Received: by 10.180.89.235 with SMTP id br11mr17210010wib.3.1344248581518; Mon, 06 Aug 2012 03:23:01 -0700 (PDT) Received: from dragon.dg (41-132-210-104.dsl.mweb.co.za. [41.132.210.104]) by mx.google.com with ESMTPS id cl8sm14866261wib.10.2012.08.06.03.22.58 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 06 Aug 2012 03:23:00 -0700 (PDT) From: David Naylor To: freebsd-emulation@freebsd.org, "freebsd-questions@freebsd org" Date: Mon, 6 Aug 2012 12:22:52 +0200 User-Agent: KMail/1.13.7 (FreeBSD/9.1-PRERELEASE; KDE/4.8.4; amd64; ; ) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart2169877.SYToibqoz2"; protocol="application/pgp-signature"; micalg=pgp-sha1 Content-Transfer-Encoding: 7bit Message-Id: <201208061222.55927.naylor.b.david@gmail.com> Cc: Subject: Wine-fbsd64 updated to 1.5.10 (32bit Wine for 64bit FreeBSD) X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Aug 2012 10:23:03 -0000 --nextPart2169877.SYToibqoz2 Content-Type: Text/Plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi, Packages [1] for wine-fbsd64-1.5.10 have been uploaded to mediafire [2]. T= he=20 packages for FreeBSD 10 use the pkgng [3] format. =20 There are many reports that wine does not work with a clang compiled world (help in fixing this problem is appreciated as it affects quite a few users= ). The patch [4] for nVidia users is now included in the package and is run on installation (if the relevant files are accessible). Please read the installation messages for further information. Regards, David [1] MD5 (wine-1.5.x-freebsd8/wine-fbsd64-1.5.10,1.tbz) =3D=20 cb4bf5e3247ae60e5869241b6db80edf MD5 (wine-1.5.x-freebsd9/wine-fbsd64-1.5.10,1.txz) =3D=20 bbe24a80cb14c4a0c0acf3f259298137 MD5 (wine-1.5.x-freebsd10/wine-fbsd64-1.5.10,1.txz) =3D=20 76f0832e95c107cb1d4ac1eacacb2d6a [2] http://www.mediafire.com/wine_fbsd64 [3] http://wiki.freebsd.org/pkgng [4] The patch is located at /usr/local/share/wine/patch-nvidia.sh --nextPart2169877.SYToibqoz2 Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (FreeBSD) iEYEABECAAYFAlAfmv8ACgkQUaaFgP9pFrL4tACdGbjAsbHx3gRcZu0XU1h/qqJc kSAAn03KukG/6Etm9oy7gtJ7yP8qQRdE =j3oj -----END PGP SIGNATURE----- --nextPart2169877.SYToibqoz2-- From owner-freebsd-emulation@FreeBSD.ORG Mon Aug 6 11:06:59 2012 Return-Path: Delivered-To: emulation@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 354F31065687 for ; Mon, 6 Aug 2012 11:06:59 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 0626F8FC1B for ; Mon, 6 Aug 2012 11:06:59 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.5/8.14.5) with ESMTP id q76B6wjE021617 for ; Mon, 6 Aug 2012 11:06:58 GMT (envelope-from owner-bugmaster@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.5/8.14.5/Submit) id q76B6wWK021614 for emulation@FreeBSD.org; Mon, 6 Aug 2012 11:06:58 GMT (envelope-from owner-bugmaster@FreeBSD.org) Date: Mon, 6 Aug 2012 11:06:58 GMT Message-Id: <201208061106.q76B6wWK021614@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: gnats set sender to owner-bugmaster@FreeBSD.org using -f From: FreeBSD bugmaster To: emulation@FreeBSD.org Cc: Subject: Current problem reports assigned to emulation@FreeBSD.org X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Aug 2012 11:06:59 -0000 Note: to view an individual PR, use: http://www.freebsd.org/cgi/query-pr.cgi?pr=(number). The following is a listing of current problems submitted by FreeBSD users. These represent problem reports covering all versions including experimental development code and obsolete releases. S Tracker Resp. Description -------------------------------------------------------------------------------- o ports/169988 emulation [PATCH] Update sysutils/linux-procps to 3.2.7; also up o ports/169896 emulation [patch] audio/linux-f10-alsa-lib: use OSS plugin by de 2 problems total. From owner-freebsd-emulation@FreeBSD.ORG Mon Aug 6 11:07:08 2012 Return-Path: Delivered-To: freebsd-emulation@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0FB591065686 for ; Mon, 6 Aug 2012 11:07:08 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id D47EF8FC12 for ; Mon, 6 Aug 2012 11:07:07 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.5/8.14.5) with ESMTP id q76B77HO021738 for ; Mon, 6 Aug 2012 11:07:07 GMT (envelope-from owner-bugmaster@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.5/8.14.5/Submit) id q76B771q021736 for freebsd-emulation@FreeBSD.org; Mon, 6 Aug 2012 11:07:07 GMT (envelope-from owner-bugmaster@FreeBSD.org) Date: Mon, 6 Aug 2012 11:07:07 GMT Message-Id: <201208061107.q76B771q021736@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: gnats set sender to owner-bugmaster@FreeBSD.org using -f From: FreeBSD bugmaster To: freebsd-emulation@FreeBSD.org Cc: Subject: Current problem reports assigned to freebsd-emulation@FreeBSD.org X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Aug 2012 11:07:08 -0000 Note: to view an individual PR, use: http://www.freebsd.org/cgi/query-pr.cgi?pr=(number). The following is a listing of current problems submitted by FreeBSD users. These represent problem reports covering all versions including experimental development code and obsolete releases. S Tracker Resp. Description -------------------------------------------------------------------------------- o kern/169814 emulation [linux] ptrace is broken in Linux emulation o kern/169805 emulation [linux] utime() syscall does not work in linuxulator o kern/159646 emulation [linux] [patch] bump Linux version in linuxulator f kern/156691 emulation [vmware] [panic] panic when using hard disks as RAW de o kern/156353 emulation [ibcs2] ibcs2 binaries that execute on 4.x not working o kern/155577 emulation [boot] BTX halted after install. Reboot during install o kern/155040 emulation [linux] [patch] Linux recvfrom doesn't handle proto fa o kern/153990 emulation [hyper-v]: Will not install into Hyper-V on Server 200 o kern/153887 emulation [linux] Linux emulator not understand STB_GNU_UNIQUE b o kern/153243 emulation [ibcs2] Seg fault whne running COFF binary using iBCS2 o kern/151714 emulation [linux] print/acroread9 not usable due to lack of supp a bin/150262 emulation [patch] truss(1) -f doesn't follow descendants of the a kern/150186 emulation [parallels] [panic] Parallels Desktop: CDROM disconnec o ports/148097 emulation [patch] suggested addition to linux_base-* packages to o ports/148096 emulation emulators/linux_base-* can not be built from ports on o kern/147793 emulation [vmware] [panic] cdrom handling, panic, possible race o kern/146237 emulation [linux] Linux binaries not reading directories mounted p kern/144584 emulation [linprocfs][patch] bogus values in linprocfs o ports/142837 emulation [patch] emulators/linux_base-* packages fails to insta o kern/140156 emulation [linux] cdparanoia fails to read drive data f kern/138944 emulation [parallels] [regression] Parallels no longer works in o kern/138880 emulation [linux] munmap segfaults after linux_mmap2 stresstest o ports/135337 emulation [PATCH] emulators/linux_base-f10: incorrect bash usage s kern/133144 emulation [linux] linuxulator 2.6 crashes with nvidias libGL.so. o kern/129169 emulation [linux] [patch] Linux Emulation ENOTCONN error using n o kern/126232 emulation [linux] Linux ioctl TCGETS (0x5401) always fails o kern/86619 emulation [linux] linux emulator interacts oddly with cp a kern/72920 emulation [linux] path "prefixing" is not done on unix domain so o kern/41543 emulation [patch] [request] easier wine/w23 support o kern/39201 emulation [linux] [patch] ptrace(2) and rfork(RFLINUXTHPN) confu o kern/36952 emulation [patch] [linux] ldd(1) command of linux does not work o kern/11165 emulation [ibcs2] IBCS2 doesn't work correctly with PID_MAX 9999 32 problems total. From owner-freebsd-emulation@FreeBSD.ORG Tue Aug 7 08:28:13 2012 Return-Path: Delivered-To: emulation@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7C1FF106564A for ; Tue, 7 Aug 2012 08:28:13 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from portsmonj.FreeBSD.org (portsmonj.freebsd.org [69.147.83.46]) by mx1.freebsd.org (Postfix) with ESMTP id 6A6708FC17 for ; Tue, 7 Aug 2012 08:28:13 +0000 (UTC) Received: from portsmonj.freebsd.org (portsmonj.freebsd.org [69.147.83.46]) by portsmonj.FreeBSD.org (8.14.5/8.14.4) with ESMTP id q778SDp5003753 for ; Tue, 7 Aug 2012 08:28:13 GMT (envelope-from linimon@FreeBSD.org) Date: Tue, 7 Aug 2012 08:28:13 GMT Message-Id: <201208070828.q778SDp5003753@portsmonj.FreeBSD.org> From: linimon@FreeBSD.org To: emulation@FreeBSD.org Cc: Subject: FreeBSD ports that you maintain which are currently marked broken X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: portmgr-feedback@FreeBSD.org List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Aug 2012 08:28:13 -0000 Dear FreeBSD port maintainer: As part of an ongoing effort to reduce the number of problems in the FreeBSD ports system, we periodically notify users of ports that are marked as "broken" in their Makefiles. In many cases these ports are failing to compile on some subset of the FreeBSD build environments. The most common problem is that recent versions of -CURRENT include gcc4.2, which is much stricter than older versions. The next most common problem is that compiles succeed on the i386 architecture (e.g. the common Intel PC), but fail on one or more of the other architectures due to assumptions about things such as size of various types, byte-alignment issues, and so forth. In occasional cases we see that the same port may have different errors in different build environments. The script that runs on the build cluster uses heuristics to try to 'guess' the error type to help you isolate problems, but it is only a rough guide. One more note: on occasion, there are transient build errors seen on the build farm. Unfortunately, there is not yet any way for this algorithm to tell the difference (humans are much, much better at this kind of thing.) The errors are listed below. In the case where the same problem exists on more than one build environment, the URL points to the latest errorlog for that type. (By 'build environment' here we mean 'combination of 7.x/8.x/9.x/-current with target architecture'.) (Note: the dates are included to help you to gauge whether or not the error still applies to the latest version. The program that generates this report is not yet able to determine this automatically.) portname: www/linux-flashplugin9 broken because: unfetchable build errors: http://pointyhat.freebsd.org/errorlogs/i386-errorlogs/e.10.20120608131052/linux-flashplugin-9.0r289_1.log (_Jun_13_10:34:28_UTC_2012) overview: http://portsmon.FreeBSD.org/portoverview.py?category=www&portname=linux-flashplugin9 If these errors are ones that you are already aware of, please accept our apologies and ignore this message. On the other hand, if you no longer wish to maintain this port (or ports), please reply with a message stating that, and accept our thanks for your efforts in the past. Every effort has been made to make sure that these error reports really do correspond to a port that you maintain. However, due to the fact that this is an automated process, it may indeed generate false matches. If one of these errors fits that description, please forward this email to the author of this software, Mark Linimon , so that he can attempt to fix the problem in the future. Thanks for your efforts to help improve FreeBSD. From owner-freebsd-emulation@FreeBSD.ORG Tue Aug 7 08:29:13 2012 Return-Path: Delivered-To: emulation@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6D388106574E for ; Tue, 7 Aug 2012 08:29:13 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from portsmonj.FreeBSD.org (portsmonj.freebsd.org [69.147.83.46]) by mx1.freebsd.org (Postfix) with ESMTP id 58C098FC17 for ; Tue, 7 Aug 2012 08:29:13 +0000 (UTC) Received: from portsmonj.freebsd.org (portsmonj.freebsd.org [69.147.83.46]) by portsmonj.FreeBSD.org (8.14.5/8.14.4) with ESMTP id q778TDCR010273 for ; Tue, 7 Aug 2012 08:29:13 GMT (envelope-from linimon@FreeBSD.org) Date: Tue, 7 Aug 2012 08:29:13 GMT Message-Id: <201208070829.q778TDCR010273@portsmonj.FreeBSD.org> From: linimon@FreeBSD.org To: emulation@FreeBSD.org Cc: Subject: FreeBSD ports that you maintain which are currently scheduled for deletion X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: portmgr-feedback@FreeBSD.org List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Aug 2012 08:29:13 -0000 Dear FreeBSD port maintainer: As part of an ongoing effort to reduce the number of problems in the FreeBSD ports system, we periodically schedule removal of ports that have been judged to have outlived their usefulness. Often, this is due to a better alternative having become available and/or the cessation of development on the existing port. In some cases, ports are marked for removal because they fail to build and install correctly from their sources, or otherwise fail in operation. The ports, and the reason and date that they have been scheduled for removal, are listed below. If no one has stepped forward before that time to propose a way to fix the problems (such as via a PR), the ports will be deleted. portname: accessibility/linux-atk description: Accessibility Toolkit, Linux/i386 binary maintainer: emulation@FreeBSD.org deprecated because: expiration date: 2013-02-28 build errors: none. overview: http://portsmon.FreeBSD.org/portoverview.py?category=accessibility&portname=linux-atk portname: archivers/linux-ucl description: RPM of UCL, a lossless data compression library maintainer: emulation@FreeBSD.org deprecated because: expiration date: 2013-02-28 build errors: none. overview: http://portsmon.FreeBSD.org/portoverview.py?category=archivers&portname=linux-ucl portname: archivers/linux-upx description: RPM of UPX, a high-performance executable packer maintainer: emulation@FreeBSD.org deprecated because: expiration date: 2013-02-28 build errors: none. overview: http://portsmon.FreeBSD.org/portoverview.py?category=archivers&portname=linux-upx portname: audio/linux-esound description: RPM of esound maintainer: emulation@FreeBSD.org deprecated because: expiration date: 2013-02-28 build errors: none. overview: http://portsmon.FreeBSD.org/portoverview.py?category=audio&portname=linux-esound portname: audio/linux-libaudiofile description: RPM of audiofile maintainer: emulation@FreeBSD.org deprecated because: expiration date: 2013-02-28 build errors: none. overview: http://portsmon.FreeBSD.org/portoverview.py?category=audio&portname=linux-libaudiofile portname: audio/linux-nas-libs description: Runtime libraries for NAS (Linux Fedora Core 4) maintainer: emulation@FreeBSD.org deprecated because: expiration date: 2013-02-28 build errors: none. overview: http://portsmon.FreeBSD.org/portoverview.py?category=audio&portname=linux-nas-libs portname: devel/linux-allegro description: Cross-platform game programming library (linux version) maintainer: emulation@FreeBSD.org deprecated because: expiration date: 2013-02-28 build errors: none. overview: http://portsmon.FreeBSD.org/portoverview.py?category=devel&portname=linux-allegro portname: devel/linux-libglade description: RPM of libglade maintainer: emulation@FreeBSD.org deprecated because: expiration date: 2013-02-28 build errors: none. overview: http://portsmon.FreeBSD.org/portoverview.py?category=devel&portname=linux-libglade portname: devel/linux-libsigc++20 description: Callback Framework for C++ (linux version) maintainer: emulation@FreeBSD.org deprecated because: expiration date: 2013-02-28 build errors: none. overview: http://portsmon.FreeBSD.org/portoverview.py?category=devel&portname=linux-libsigc%2B%2B20 portname: devel/linux-sdl12 description: Cross-platform multi-media development API (linux version) maintainer: emulation@FreeBSD.org deprecated because: expiration date: 2013-02-28 build errors: none. overview: http://portsmon.FreeBSD.org/portoverview.py?category=devel&portname=linux-sdl12 portname: emulators/linux_base-fc4 description: Base set of packages needed in Linux mode (for i386/amd64) maintainer: emulation@FreeBSD.org deprecated because: expiration date: 2013-02-28 build errors: none. overview: http://portsmon.FreeBSD.org/portoverview.py?category=emulators&portname=linux_base-fc4 portname: graphics/linux-imlib description: RPM of imlib maintainer: emulation@FreeBSD.org deprecated because: expiration date: 2013-02-28 build errors: none. overview: http://portsmon.FreeBSD.org/portoverview.py?category=graphics&portname=linux-imlib portname: graphics/linux-jpeg description: RPM of the JPEG lib maintainer: emulation@FreeBSD.org deprecated because: expiration date: 2013-02-28 build errors: none. overview: http://portsmon.FreeBSD.org/portoverview.py?category=graphics&portname=linux-jpeg portname: graphics/linux-libGLU description: OpenGL utility library (Linux version) maintainer: emulation@FreeBSD.org deprecated because: expiration date: 2013-02-28 build errors: none. overview: http://portsmon.FreeBSD.org/portoverview.py?category=graphics&portname=linux-libGLU portname: graphics/linux-png description: RPM of the PNG lib maintainer: emulation@FreeBSD.org deprecated because: expiration date: 2013-02-28 build errors: none. overview: http://portsmon.FreeBSD.org/portoverview.py?category=graphics&portname=linux-png portname: graphics/linux-png10 description: RPM of the PNG lib (old 1.0 version) maintainer: emulation@FreeBSD.org deprecated because: expiration date: 2013-02-28 build errors: none. overview: http://portsmon.FreeBSD.org/portoverview.py?category=graphics&portname=linux-png10 portname: graphics/linux-tiff description: TIFF library, Linux/i386 binary maintainer: emulation@FreeBSD.org status: FORBIDDEN deprecated because: expiration date: 2013-02-28 build errors: none. overview: http://portsmon.FreeBSD.org/portoverview.py?category=graphics&portname=linux-tiff portname: lang/linux-libg2c description: Fortran 77 compatibility runtime maintainer: emulation@FreeBSD.org deprecated because: expiration date: 2013-02-28 build errors: none. overview: http://portsmon.FreeBSD.org/portoverview.py?category=lang&portname=linux-libg2c portname: multimedia/linux-libtheora description: Video codec maintainer: emulation@FreeBSD.org deprecated because: expiration date: 2013-02-28 build errors: none. overview: http://portsmon.FreeBSD.org/portoverview.py?category=multimedia&portname=linux-libtheora portname: sysutils/linux-procps description: Linux psproc binaries maintainer: emulation@FreeBSD.org deprecated because: expiration date: 2013-02-28 build errors: none. overview: http://portsmon.FreeBSD.org/portoverview.py?category=sysutils&portname=linux-procps portname: textproc/linux-expat description: Linux/i386 binary port of Expat XML-parsing library maintainer: emulation@FreeBSD.org deprecated because: expiration date: 2013-02-28 build errors: none. overview: http://portsmon.FreeBSD.org/portoverview.py?category=textproc&portname=linux-expat portname: textproc/linux-libxml description: RPM of libxml maintainer: emulation@FreeBSD.org deprecated because: expiration date: 2013-02-28 build errors: none. overview: http://portsmon.FreeBSD.org/portoverview.py?category=textproc&portname=linux-libxml portname: www/linux-f10-flashplugin10 description: Adobe Flash Player NPAPI Plugin maintainer: emulation@FreeBSD.org status: FORBIDDEN deprecated because: has vulnerabilities and is EOL expiration date: 2012-03-27 build errors: none. overview: http://portsmon.FreeBSD.org/portoverview.py?category=www&portname=linux-f10-flashplugin10 portname: x11-fonts/linux-fontconfig description: Linux/i386 binary of Fontconfig maintainer: emulation@FreeBSD.org deprecated because: expiration date: 2013-02-28 build errors: none. overview: http://portsmon.FreeBSD.org/portoverview.py?category=x11-fonts&portname=linux-fontconfig portname: x11-toolkits/linux-gtk description: RPM of the Gtk lib maintainer: emulation@FreeBSD.org deprecated because: expiration date: 2013-02-28 build errors: none. overview: http://portsmon.FreeBSD.org/portoverview.py?category=x11-toolkits&portname=linux-gtk portname: x11-toolkits/linux-gtk2 description: GTK+ library, version 2.X, Linux binary maintainer: emulation@FreeBSD.org deprecated because: expiration date: 2013-02-28 build errors: none. overview: http://portsmon.FreeBSD.org/portoverview.py?category=x11-toolkits&portname=linux-gtk2 portname: x11-toolkits/linux-openmotif description: Motif toolkit Linux libraries maintainer: emulation@FreeBSD.org deprecated because: expiration date: 2013-02-28 build errors: none. overview: http://portsmon.FreeBSD.org/portoverview.py?category=x11-toolkits&portname=linux-openmotif portname: x11-toolkits/linux-pango description: Linux pango binary maintainer: emulation@FreeBSD.org status: FORBIDDEN deprecated because: expiration date: 2013-02-28 build errors: none. overview: http://portsmon.FreeBSD.org/portoverview.py?category=x11-toolkits&portname=linux-pango portname: x11/linux-xorg-libs description: Xorg libraries, linux binaries maintainer: emulation@FreeBSD.org deprecated because: expiration date: 2013-02-28 build errors: none. overview: http://portsmon.FreeBSD.org/portoverview.py?category=x11&portname=linux-xorg-libs If this problem is one that you are already aware of, please accept our apologies and ignore this message. On the other hand, if you no longer wish to maintain this port (or ports), please reply with a message stating that, and accept our thanks for your efforts in the past. Thanks for your efforts to help improve FreeBSD. From owner-freebsd-emulation@FreeBSD.ORG Tue Aug 7 08:29:45 2012 Return-Path: Delivered-To: emulation@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C2A011065751 for ; Tue, 7 Aug 2012 08:29:45 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from portsmonj.FreeBSD.org (portsmonj.freebsd.org [69.147.83.46]) by mx1.freebsd.org (Postfix) with ESMTP id B011E8FC0C for ; Tue, 7 Aug 2012 08:29:45 +0000 (UTC) Received: from portsmonj.freebsd.org (portsmonj.freebsd.org [69.147.83.46]) by portsmonj.FreeBSD.org (8.14.5/8.14.4) with ESMTP id q778TjWb015680 for ; Tue, 7 Aug 2012 08:29:45 GMT (envelope-from linimon@FreeBSD.org) Date: Tue, 7 Aug 2012 08:29:45 GMT Message-Id: <201208070829.q778TjWb015680@portsmonj.FreeBSD.org> From: linimon@FreeBSD.org To: emulation@FreeBSD.org Cc: Subject: FreeBSD ports that you maintain which are currently marked forbidden X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: portmgr-feedback@FreeBSD.org List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Aug 2012 08:29:45 -0000 Dear FreeBSD port maintainer: As part of an ongoing effort to reduce the number of problems in the FreeBSD ports system, we periodically notify users about ports that are marked as "forbidden" in their Makefiles. Often, these ports are so marked due to security concerns, such as known exploits. An overview of each port, including errors seen on the build farm, is included below. portname: graphics/linux-tiff forbidden because: Vulnerable since 2004-10-13, http://portaudit.freebsd.org/8816bf3a-7929-11df-bcce-0018f3e2eb82.html build errors: none. overview: http://portsmon.FreeBSD.org/portoverview.py?category=graphics&portname=linux-tiff portname: www/linux-f10-flashplugin10 forbidden because: insecure version - use flashplugin11 build errors: none. overview: http://portsmon.FreeBSD.org/portoverview.py?category=www&portname=linux-f10-flashplugin10 portname: x11-toolkits/linux-pango forbidden because: Vulnerable since 2009-05-13, http://portaudit.freebsd.org/4b172278-3f46-11de-becb-001cc0377035.html build errors: none. overview: http://portsmon.FreeBSD.org/portoverview.py?category=x11-toolkits&portname=linux-pango If this problem is one that you are already aware of, please accept our apologies and ignore this message. On the other hand, if you no longer wish to maintain this port (or ports), please reply with a message stating that, and accept our thanks for your efforts in the past. Thanks for your efforts to help improve FreeBSD. From owner-freebsd-emulation@FreeBSD.ORG Sat Aug 11 01:25:11 2012 Return-Path: Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 180E6106566C; Sat, 11 Aug 2012 01:25:11 +0000 (UTC) (envelope-from meowthink@gmail.com) Received: from mail-yw0-f54.google.com (mail-yw0-f54.google.com [209.85.213.54]) by mx1.freebsd.org (Postfix) with ESMTP id A7BC08FC0C; Sat, 11 Aug 2012 01:25:10 +0000 (UTC) Received: by yhfs35 with SMTP id s35so2648239yhf.13 for ; Fri, 10 Aug 2012 18:25:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:cc:content-type; bh=aDGdkUCef/GEtiNdf3d1kVgAvu+kHckSYfDOkmcklIw=; b=da5FzEJE+4glapmHVLwxDBkRCQmwZwovO+/YYEALrv/rZEmZT9xkLbS6NrITqkAcFU D3zfvC8iAgbrPg/0EwqmHwsfKxI5X/yxtriEXvDWR5PZtmPKuNc+WogXWeBd25flenul Np+i78yRcjFALdKD8l1sLRIor7GhC4LJJntsO3GKx+AmaR4LfpsPbJntYXCpsxBh3oB+ OazpVHhW2autIdZoGzeLyVljPkPRgou4EqozQkaaGu1qb12rJkVTwke320nAtBwXWRHF UHHt8URfSszXelI+Ps18vEAYLAyZGCivjKE5i3kpK/tCSSh7y1C9D2AUBz6dsh1dWacx a3jQ== MIME-Version: 1.0 Received: by 10.50.163.70 with SMTP id yg6mr87739igb.30.1344648309469; Fri, 10 Aug 2012 18:25:09 -0700 (PDT) Received: by 10.64.51.200 with HTTP; Fri, 10 Aug 2012 18:25:09 -0700 (PDT) Date: Sat, 11 Aug 2012 09:25:09 +0800 Message-ID: From: Meowthink To: freebsd-x11@freebsd.org Content-Type: multipart/mixed; boundary=e89a8f923ba0d5719b04c6f3547f Cc: freebsd-emulation@freebsd.org Subject: [CFT]Patch for dri / drm interoperability i386 world / amd64 kernel X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Aug 2012 01:25:11 -0000 --e89a8f923ba0d5719b04c6f3547f Content-Type: text/plain; charset=ISO-8859-1 Hello all, So long FreeBSD's DRI implementation lacks of i386/amd64 interoperability, as discussed [0] [1]. This breaks wine, linuxulator etc. drawing using DRI-based OpenGL. Paul Mackerras et al. actually did that part for Linux implementation, so I simply translated their work to FreeBSD. Due to my poor programming skills, there's some limitations: 0. I tried to split compatible codes into separate files, like under Linux. But as a result of the difference between FreeBSD and Linux, the code is integrated in a "#include ...ioc32.c" form which is not so elegant. 1. For same reason, struct drm_driver_info has to be changed. 2. There should be some assertions if a 64-bit pointer failed to fit in a 32-bit space. Linux implementation didn't do this either, but they're guaranteed by user-space ioctl structures. This may result unstable under heavy load. 3. Technically this could be applied to either drm and drm2 module. The patch is for drm2 only because I only translated core drm and intel part. For wine, my setup is based on David Naylor's wine-fbsd64.patch, with xorg-dev ports tree. It works well, with minor manual works: 0. Copy /i386chroot/usr/local/lib/dri/i965_drv.so to /usr/local/lib32/dri/ or somewhere else and setenv LIBGL_DRIVERS_PATH to there(My suggestion is add the following line in /usr/bin/wine:) export LIBGL_DRIVERS_PATH="$LOCALBASE/lib32/dri":"$LIBGL_DRIVERS_PATH" 1. Copy /i386chroot/usr/local/lib/libdrm_intel.so, /i386chroot/usr/local/lib/libpciaccess.so.0 to /usr/local/lib32/ This enables direct rendering of d3d/gl demos under wine on my Intel SNB platform. I didn't test using this with linuxulator, as linux base from port don't have up-to-date libdrm/mesa dri-drivers. [0] http://lists.freebsd.org/pipermail/freebsd-amd64/2005-August/005818.html [1] http://forums.freebsd.org/showthread.php?t=24519 Regards, Meowthink --e89a8f923ba0d5719b04c6f3547f Content-Type: application/octet-stream; name="0001-Add-64-bit-kernel-32-bit-world-compatible-wrappers-t.patch" Content-Disposition: attachment; filename="0001-Add-64-bit-kernel-32-bit-world-compatible-wrappers-t.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h5pze6aq0 RnJvbSBiYzg0NDc0MzI3YzZiMGViYjMxOTc1ZWU3Yzk5ZGJiY2UyNTcxNjZjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNZW93dGhpbmsgPG1lb3d0aGlua0Bnb29nbGVtYWlsLmNvbT4K RGF0ZTogVHVlLCAzMSBKdWwgMjAxMiAxNzozNTowMiArMDgwMApTdWJqZWN0OiBbUEFUQ0hdIEFk ZCA2NC1iaXQga2VybmVsIC8gMzItYml0IHdvcmxkIGNvbXBhdGlibGUgd3JhcHBlcnMgdG8KIGRy bTIvaTkxNWttcwoKLS0tCiBzeXMvZGV2L2RybTIvZHJtUC5oICAgICAgICAgICAgICAgfCAgIDQg Kwogc3lzL2Rldi9kcm0yL2RybV9kcnYuYyAgICAgICAgICAgIHwgIDI0ICsrCiBzeXMvZGV2L2Ry bTIvZHJtX2lvYzMyLmMgICAgICAgICAgfCA3ODEgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKIHN5cy9kZXYvZHJtMi9pOTE1L2k5MTVfZG1hLmMgICAgICB8ICAgNyArCiBz eXMvZGV2L2RybTIvaTkxNS9pOTE1X2lvYzMyLmMgICAgfCAxMjQgKysrKysrCiBzeXMvbW9kdWxl cy9kcm0yL2RybTIvTWFrZWZpbGUgICAgfCAgIDIgKy0KIHN5cy9tb2R1bGVzL2RybTIvaTkxNWtt cy9NYWtlZmlsZSB8ICAgMyArLQogNyBmaWxlcyBjaGFuZ2VkLCA5NDMgaW5zZXJ0aW9ucygrKSwg MiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzeXMvZGV2L2RybTIvZHJtX2lvYzMy LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzeXMvZGV2L2RybTIvaTkxNS9pOTE1X2lvYzMyLmMKCmRp ZmYgLS1naXQgYS9zeXMvZGV2L2RybTIvZHJtUC5oIGIvc3lzL2Rldi9kcm0yL2RybVAuaAppbmRl eCAxNjIyN2I1Li5jM2NiYWNiIDEwMDY0NAotLS0gYS9zeXMvZGV2L2RybTIvZHJtUC5oCisrKyBi L3N5cy9kZXYvZHJtMi9kcm1QLmgKQEAgLTEwNSw2ICsxMDUsNyBAQCBzdHJ1Y3QgZHJtX2ZpbGU7 CiAjaW5jbHVkZSA8ZGV2L2RybTIvZHJtX21tLmg+CiAjaW5jbHVkZSA8ZGV2L2RybTIvZHJtX2hh c2h0YWIuaD4KIAorI2luY2x1ZGUgIm9wdF9jb21wYXQuaCIKICNpbmNsdWRlICJvcHRfZHJtLmgi CiAjaWZkZWYgRFJNX0RFQlVHCiAjdW5kZWYgRFJNX0RFQlVHCkBAIC03NjAsNiArNzYxLDkgQEAg c3RydWN0IGRybV9kcml2ZXJfaW5mbyB7CiAJaW50CSgqZGV2aWNlX2lzX2FncCkgKHN0cnVjdCBk cm1fZGV2aWNlICogZGV2KTsKIAogCWRybV9pb2N0bF9kZXNjX3QgKmlvY3RsczsKKyNpZmRlZiBD T01QQVRfRlJFRUJTRDMyCisJZHJtX2lvY3RsX2Rlc2NfdCAqY29tcGF0X2lvY3RsczsKKyNlbmRp ZgogCWludAltYXhfaW9jdGw7CiAKIAlpbnQJYnVmX3ByaXZfc2l6ZTsKZGlmZiAtLWdpdCBhL3N5 cy9kZXYvZHJtMi9kcm1fZHJ2LmMgYi9zeXMvZGV2L2RybTIvZHJtX2Rydi5jCmluZGV4IDQyZmYx OTQuLmFiNGM4NTAgMTAwNjQ0Ci0tLSBhL3N5cy9kZXYvZHJtMi9kcm1fZHJ2LmMKKysrIGIvc3lz L2Rldi9kcm0yL2RybV9kcnYuYwpAQCAtMTc5LDYgKzE3OSwxMSBAQCBzdGF0aWMgZHJtX2lvY3Rs X2Rlc2NfdAkJICBkcm1faW9jdGxzWzI1Nl0gPSB7CiAJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExf TU9ERV9ERVNUUk9ZX0RVTUIsIGRybV9tb2RlX2Rlc3Ryb3lfZHVtYl9pb2N0bCwgRFJNX01BU1RF UnxEUk1fQ09OVFJPTF9BTExPV3xEUk1fVU5MT0NLRUQpLAogfTsKIAorI2lmZGVmIENPTVBBVF9G UkVFQlNEMzIKKyNpbmNsdWRlICJkcm1faW9jMzIuYyIKKyNpbmNsdWRlIDxzeXMvc3lzZW50Lmg+ CisjZW5kaWYKKwogc3RhdGljIHN0cnVjdCBjZGV2c3cgZHJtX2NkZXZzdyA9IHsKIAkuZF92ZXJz aW9uID0JRF9WRVJTSU9OLAogCS5kX29wZW4gPQlkcm1fb3BlbiwKQEAgLTg0Niw2ICs4NTEsMTkg QEAgaW50IGRybV9pb2N0bChzdHJ1Y3QgY2RldiAqa2RldiwgdV9sb25nIGNtZCwgY2FkZHJfdCBk YXRhLCBpbnQgZmxhZ3MsCiAJCXJldHVybiBFSU5WQUw7CiAJfQogCisjaWZkZWYgQ09NUEFUX0ZS RUVCU0QzMgorCS8qIENhbGxlZCB3aGVuZXZlciBhIDMyLWJpdCBwcm9jZXNzIHJ1bm5pbmcgdW5k ZXIgYSA2NC1iaXQga2VybmVsCisJICogcGVyZm9ybXMgYW4gaW9jdGwgb24gL2Rldi9kcm0uCisJ ICovCisJaWYgKFNWX0NVUlBST0NfRkxBRyhTVl9JTFAzMikKKwkJJiYgZHJtX2NvbXBhdF9pb2N0 bHNbbnJdLmZ1bmMgIT0gTlVMTCkKKwkJLyogQXNzdW1lIHRoYXQgaW9jdGxzIHdpdGhvdXQgYW4g ZXhwbGljaXQgY29tcGF0IHJvdXRpbmUgd2lsbCBqdXN0CisJCSAqIHdvcmsuICBUaGlzIG1heSBu b3QgYWx3YXlzIGJlIGEgZ29vZCBhc3N1bXB0aW9uLCBidXQgaXQncyBiZXR0ZXIKKwkJICogdGhh biBhbHdheXMgZmFpbGluZy4KKwkJICovCisJCWlvY3RsID0gJmRybV9jb21wYXRfaW9jdGxzW25y XTsKKwllbHNlCisjZW5kaWYKIAlpb2N0bCA9ICZkcm1faW9jdGxzW25yXTsKIAkvKiBJdCdzIG5v dCBhIGNvcmUgRFJNIGlvY3RsLCB0cnkgZHJpdmVyLXNwZWNpZmljLiAqLwogCWlmIChpb2N0bC0+ ZnVuYyA9PSBOVUxMICYmIG5yID49IERSTV9DT01NQU5EX0JBU0UpIHsKQEAgLTg1Niw2ICs4NzQs MTIgQEAgaW50IGRybV9pb2N0bChzdHJ1Y3QgY2RldiAqa2RldiwgdV9sb25nIGNtZCwgY2FkZHJf dCBkYXRhLCBpbnQgZmxhZ3MsCiAJCQkgICAgbnIsIGRldi0+ZHJpdmVyLT5tYXhfaW9jdGwpOwog CQkJcmV0dXJuIEVJTlZBTDsKIAkJfQorI2lmZGVmIENPTVBBVF9GUkVFQlNEMzIKKwkJaWYgKFNW X0NVUlBST0NfRkxBRyhTVl9JTFAzMikKKwkJCSYmIGRldi0+ZHJpdmVyLT5jb21wYXRfaW9jdGxz W25yXS5mdW5jICE9IE5VTEwpCisJCQlpb2N0bCA9ICZkZXYtPmRyaXZlci0+Y29tcGF0X2lvY3Rs c1tucl07CisJCWVsc2UKKyNlbmRpZgogCQlpb2N0bCA9ICZkZXYtPmRyaXZlci0+aW9jdGxzW25y XTsKIAkJaXNfZHJpdmVyX2lvY3RsID0gMTsKIAl9CmRpZmYgLS1naXQgYS9zeXMvZGV2L2RybTIv ZHJtX2lvYzMyLmMgYi9zeXMvZGV2L2RybTIvZHJtX2lvYzMyLmMKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uOTA2MTE2YgotLS0gL2Rldi9udWxsCisrKyBiL3N5cy9kZXYvZHJt Mi9kcm1faW9jMzIuYwpAQCAtMCwwICsxLDc4MSBAQAorLyotCisgKiBDb3B5cmlnaHQgKEMpIFBh dWwgTWFja2VycmFzIDIwMDUuCisgKiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1p c3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9i dGFpbmluZyBhCisgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1l bnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAorICogdG8gZGVhbCBpbiB0aGUgU29mdHdh cmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgorICog dGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1 dGUsIHN1YmxpY2Vuc2UsCisgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBh bmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKKyAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hl ZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICog VGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgKGlu Y2x1ZGluZyB0aGUgbmV4dAorICogcGFyYWdyYXBoKSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwg Y29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZQorICogU29mdHdhcmUuCisgKgor ICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0Yg QU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlU RUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorICogRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNI QUxMCisgKiBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9U SEVSIExJQUJJTElUWSwKKyAqIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JU IE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLAorICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04g V0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUworICogSU4gVEhF IFNPRlRXQVJFLgorICoKKyAqIEF1dGhvcnM6CisgKiAgICBQYXVsIE1hY2tlcnJhcyA8cGF1bHVz QHNhbWJhLm9yZz4KKyAqLworCitfX0ZCU0RJRCgiJEZyZWVCU0QkIik7CisKKy8qKiBAZmlsZSBk cm1faW9jMzIuYworICogMzItYml0IGlvY3RsIGNvbXBhdGliaWxpdHkgcm91dGluZXMgZm9yIHRo ZSBEUk0uCisgKi8KKyAKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvbWFs bG9jLmg+CisKKyNkZWZpbmUgRFJNX0lPQ1RMX1ZFUlNJT04zMgkJRFJNX0lPV1IoMHgwMCwgZHJt X3ZlcnNpb24zMl90KQorI2RlZmluZSBEUk1fSU9DVExfR0VUX1VOSVFVRTMyCQlEUk1fSU9XUigw eDAxLCBkcm1fdW5pcXVlMzJfdCkKKyNkZWZpbmUgRFJNX0lPQ1RMX0dFVF9NQVAzMgkJRFJNX0lP V1IoMHgwNCwgZHJtX21hcDMyX3QpCisjZGVmaW5lIERSTV9JT0NUTF9HRVRfQ0xJRU5UMzIJCURS TV9JT1dSKDB4MDUsIGRybV9jbGllbnQzMl90KQorI2RlZmluZSBEUk1fSU9DVExfR0VUX1NUQVRT MzIJCURSTV9JT1IoIDB4MDYsIGRybV9zdGF0czMyX3QpCisKKyNkZWZpbmUgRFJNX0lPQ1RMX1NF VF9VTklRVUUzMgkJRFJNX0lPVyggMHgxMCwgZHJtX3VuaXF1ZTMyX3QpCisjZGVmaW5lIERSTV9J T0NUTF9BRERfTUFQMzIJCURSTV9JT1dSKDB4MTUsIGRybV9tYXAzMl90KQorI2RlZmluZSBEUk1f SU9DVExfQUREX0JVRlMzMgkJRFJNX0lPV1IoMHgxNiwgZHJtX2J1Zl9kZXNjMzJfdCkKKyNkZWZp bmUgRFJNX0lPQ1RMX01BUktfQlVGUzMyCQlEUk1fSU9XKCAweDE3LCBkcm1fYnVmX2Rlc2MzMl90 KQorI2RlZmluZSBEUk1fSU9DVExfSU5GT19CVUZTMzIJCURSTV9JT1dSKDB4MTgsIGRybV9idWZf aW5mbzMyX3QpCisjZGVmaW5lIERSTV9JT0NUTF9NQVBfQlVGUzMyCQlEUk1fSU9XUigweDE5LCBk cm1fYnVmX21hcDMyX3QpCisjZGVmaW5lIERSTV9JT0NUTF9GUkVFX0JVRlMzMgkJRFJNX0lPVygg MHgxYSwgZHJtX2J1Zl9mcmVlMzJfdCkKKworI2RlZmluZSBEUk1fSU9DVExfUk1fTUFQMzIJCURS TV9JT1coIDB4MWIsIGRybV9tYXAzMl90KQorCisjZGVmaW5lIERSTV9JT0NUTF9TRVRfU0FSRUFf Q1RYMzIJRFJNX0lPVyggMHgxYywgZHJtX2N0eF9wcml2X21hcDMyX3QpCisjZGVmaW5lIERSTV9J T0NUTF9HRVRfU0FSRUFfQ1RYMzIJRFJNX0lPV1IoMHgxZCwgZHJtX2N0eF9wcml2X21hcDMyX3Qp CisKKyNkZWZpbmUgRFJNX0lPQ1RMX1JFU19DVFgzMgkJRFJNX0lPV1IoMHgyNiwgZHJtX2N0eF9y ZXMzMl90KQorI2RlZmluZSBEUk1fSU9DVExfRE1BMzIJCQlEUk1fSU9XUigweDI5LCBkcm1fZG1h MzJfdCkKKworI2RlZmluZSBEUk1fSU9DVExfQUdQX0VOQUJMRTMyCQlEUk1fSU9XKCAweDMyLCBk cm1fYWdwX21vZGUzMl90KQorI2RlZmluZSBEUk1fSU9DVExfQUdQX0lORk8zMgkJRFJNX0lPUigg MHgzMywgZHJtX2FncF9pbmZvMzJfdCkKKyNkZWZpbmUgRFJNX0lPQ1RMX0FHUF9BTExPQzMyCQlE Uk1fSU9XUigweDM0LCBkcm1fYWdwX2J1ZmZlcjMyX3QpCisjZGVmaW5lIERSTV9JT0NUTF9BR1Bf RlJFRTMyCQlEUk1fSU9XKCAweDM1LCBkcm1fYWdwX2J1ZmZlcjMyX3QpCisjZGVmaW5lIERSTV9J T0NUTF9BR1BfQklORDMyCQlEUk1fSU9XKCAweDM2LCBkcm1fYWdwX2JpbmRpbmczMl90KQorI2Rl ZmluZSBEUk1fSU9DVExfQUdQX1VOQklORDMyCQlEUk1fSU9XKCAweDM3LCBkcm1fYWdwX2JpbmRp bmczMl90KQorCisjZGVmaW5lIERSTV9JT0NUTF9TR19BTExPQzMyCQlEUk1fSU9XKCAweDM4LCBk cm1fc2NhdHRlcl9nYXRoZXIzMl90KQorI2RlZmluZSBEUk1fSU9DVExfU0dfRlJFRTMyCQlEUk1f SU9XKCAweDM5LCBkcm1fc2NhdHRlcl9nYXRoZXIzMl90KQorCisjZGVmaW5lIERSTV9JT0NUTF9V UERBVEVfRFJBVzMyCQlEUk1fSU9XKCAweDNmLCBkcm1fdXBkYXRlX2RyYXczMl90KQorCisjZGVm aW5lIERSTV9JT0NUTF9XQUlUX1ZCTEFOSzMyCQlEUk1fSU9XUigweDNhLCBkcm1fd2FpdF92Ymxh bmszMl90KQorCit0eXBlZGVmIHN0cnVjdCBkcm1fdmVyc2lvbl8zMiB7CisJaW50IHZlcnNpb25f bWFqb3I7CSAgLyoqPCBNYWpvciB2ZXJzaW9uICovCisJaW50IHZlcnNpb25fbWlub3I7CSAgLyoq PCBNaW5vciB2ZXJzaW9uICovCisJaW50IHZlcnNpb25fcGF0Y2hsZXZlbDsJICAgLyoqPCBQYXRj aCBsZXZlbCAqLworCXUzMiBuYW1lX2xlbjsJCSAgLyoqPCBMZW5ndGggb2YgbmFtZSBidWZmZXIg Ki8KKwl1MzIgbmFtZTsJCSAgLyoqPCBOYW1lIG9mIGRyaXZlciAqLworCXUzMiBkYXRlX2xlbjsJ CSAgLyoqPCBMZW5ndGggb2YgZGF0ZSBidWZmZXIgKi8KKwl1MzIgZGF0ZTsJCSAgLyoqPCBVc2Vy LXNwYWNlIGJ1ZmZlciB0byBob2xkIGRhdGUgKi8KKwl1MzIgZGVzY19sZW47CQkgIC8qKjwgTGVu Z3RoIG9mIGRlc2MgYnVmZmVyICovCisJdTMyIGRlc2M7CQkgIC8qKjwgVXNlci1zcGFjZSBidWZm ZXIgdG8gaG9sZCBkZXNjICovCit9IGRybV92ZXJzaW9uMzJfdDsKKworc3RhdGljIGludCBjb21w YXRfZHJtX3ZlcnNpb24oc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwgc3RydWN0 IGRybV9maWxlICpmaWxlX3ByaXYpCit7CisJZHJtX3ZlcnNpb24zMl90ICp2MzIgPSBkYXRhOwor CXN0cnVjdCBkcm1fdmVyc2lvbiB2ZXJzaW9uOworCWludCBlcnI7CisKKwl2ZXJzaW9uLm5hbWVf bGVuID0gdjMyLT5uYW1lX2xlbjsKKwl2ZXJzaW9uLm5hbWUgPSAodm9pZCAqKSh1bnNpZ25lZCBs b25nKXYzMi0+bmFtZTsKKwl2ZXJzaW9uLmRhdGVfbGVuID0gdjMyLT5kYXRlX2xlbjsKKwl2ZXJz aW9uLmRhdGUgPSAodm9pZCAqKSh1bnNpZ25lZCBsb25nKXYzMi0+ZGF0ZTsKKwl2ZXJzaW9uLmRl c2NfbGVuID0gdjMyLT5kZXNjX2xlbjsKKwl2ZXJzaW9uLmRlc2MgPSAodm9pZCAqKSh1bnNpZ25l ZCBsb25nKXYzMi0+ZGVzYzsKKwkKKwllcnIgPSBkcm1fdmVyc2lvbihkZXYsICh2b2lkICopJnZl cnNpb24sIGZpbGVfcHJpdik7CisJaWYgKGVycikKKwkJcmV0dXJuIGVycjsKKworCXYzMi0+dmVy c2lvbl9tYWpvciA9IHZlcnNpb24udmVyc2lvbl9tYWpvcjsKKwl2MzItPnZlcnNpb25fbWlub3Ig PSB2ZXJzaW9uLnZlcnNpb25fbWlub3I7CisJdjMyLT52ZXJzaW9uX3BhdGNobGV2ZWwgPSB2ZXJz aW9uLnZlcnNpb25fcGF0Y2hsZXZlbDsKKwl2MzItPm5hbWVfbGVuID0gdmVyc2lvbi5uYW1lX2xl bjsKKwl2MzItPmRhdGVfbGVuID0gdmVyc2lvbi5kYXRlX2xlbjsKKwl2MzItPmRlc2NfbGVuID0g dmVyc2lvbi5kZXNjX2xlbjsKKworCXJldHVybiAwOworfQorCit0eXBlZGVmIHN0cnVjdCBkcm1f dW5pcXVlMzIgeworCXUzMiB1bmlxdWVfbGVuOwkvKio8IExlbmd0aCBvZiB1bmlxdWUgKi8KKwl1 MzIgdW5pcXVlOwkvKio8IFVuaXF1ZSBuYW1lIGZvciBkcml2ZXIgaW5zdGFudGlhdGlvbiAqLwor fSBkcm1fdW5pcXVlMzJfdDsKKworc3RhdGljIGludCBjb21wYXRfZHJtX2dldHVuaXF1ZShzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJp dikKK3sKKwlkcm1fdW5pcXVlMzJfdCAqdXEzMiA9IGRhdGE7CisJc3RydWN0IGRybV91bmlxdWUg dTsKKwlpbnQgZXJyOworCisJdS51bmlxdWVfbGVuID0gdXEzMi0+dW5pcXVlX2xlbjsKKwl1LnVu aXF1ZSA9ICh2b2lkICopKHVuc2lnbmVkIGxvbmcpdXEzMi0+dW5pcXVlOworCisJZXJyID0gZHJt X2dldHVuaXF1ZShkZXYsICh2b2lkICopJnUsIGZpbGVfcHJpdik7CisJaWYgKGVycikKKwkJcmV0 dXJuIGVycjsKKworCXVxMzItPnVuaXF1ZV9sZW4gPSB1LnVuaXF1ZV9sZW47CisKKwlyZXR1cm4g MDsKK30KKworc3RhdGljIGludCBjb21wYXRfZHJtX3NldHVuaXF1ZShzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdikKK3sKKwlkcm1f dW5pcXVlMzJfdCAqdXEzMiA9IGRhdGE7CisJc3RydWN0IGRybV91bmlxdWUgdTsKKworCXUudW5p cXVlX2xlbiA9IHVxMzItPnVuaXF1ZV9sZW47CisJdS51bmlxdWUgPSAodm9pZCAqKSh1bnNpZ25l ZCBsb25nKXVxMzItPnVuaXF1ZTsKKworCXJldHVybiBkcm1fc2V0dW5pcXVlKGRldiwgKHZvaWQg KikmdSwgZmlsZV9wcml2KTsKK30KKwordHlwZWRlZiBzdHJ1Y3QgZHJtX21hcDMyIHsKKwl1MzIg b2Zmc2V0OwkJLyoqPCBSZXF1ZXN0ZWQgcGh5c2ljYWwgYWRkcmVzcyAoMCBmb3IgU0FSRUEpKi8K Kwl1MzIgc2l6ZTsJCS8qKjwgUmVxdWVzdGVkIHBoeXNpY2FsIHNpemUgKGJ5dGVzKSAqLworCWVu dW0gZHJtX21hcF90eXBlIHR5cGU7CS8qKjwgVHlwZSBvZiBtZW1vcnkgdG8gbWFwICovCisJZW51 bSBkcm1fbWFwX2ZsYWdzIGZsYWdzOwkvKio8IEZsYWdzICovCisJdTMyIGhhbmRsZTsJCS8qKjwg VXNlci1zcGFjZTogIkhhbmRsZSIgdG8gcGFzcyB0byBtbWFwKCkgKi8KKwlpbnQgbXRycjsJCS8q KjwgTVRSUiBzbG90IHVzZWQgKi8KK30gZHJtX21hcDMyX3Q7CisKK3N0YXRpYyBpbnQgY29tcGF0 X2RybV9nZXRtYXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwgc3RydWN0IGRy bV9maWxlICpmaWxlX3ByaXYpCit7CisJZHJtX21hcDMyX3QgKm0zMiA9IGRhdGE7CisJc3RydWN0 IGRybV9tYXAgbWFwOworCWludCBlcnI7CisJdm9pZCAqaGFuZGxlOworCisJbWFwLm9mZnNldCA9 ICh1bnNpZ25lZCBsb25nKW0zMi0+b2Zmc2V0OworCisJZXJyID0gZHJtX2dldG1hcChkZXYsICh2 b2lkICopJm1hcCwgZmlsZV9wcml2KTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gZXJyOworCisJbTMy LT5vZmZzZXQgPSBtYXAub2Zmc2V0OworCW0zMi0+c2l6ZSA9IG1hcC5zaXplOworCW0zMi0+dHlw ZSA9IG1hcC50eXBlOworCW0zMi0+ZmxhZ3MgPSBtYXAuZmxhZ3M7CisJaGFuZGxlID0gbWFwLmhh bmRsZTsKKwltMzItPm10cnIgPSBtYXAubXRycjsKKworCW0zMi0+aGFuZGxlID0gKHVuc2lnbmVk IGxvbmcpaGFuZGxlOworCisJcmV0dXJuIDA7CisKK30KKworc3RhdGljIGludCBjb21wYXRfZHJt X2FkZG1hcChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2Zp bGUgKmZpbGVfcHJpdikKK3sKKwlkcm1fbWFwMzJfdCAqbTMyID0gZGF0YTsKKwlzdHJ1Y3QgZHJt X21hcCBtYXA7CisJaW50IGVycjsKKwl2b2lkICpoYW5kbGU7CisJCisJbWFwLm9mZnNldCA9ICh1 bnNpZ25lZCBsb25nKW0zMi0+b2Zmc2V0OworCW1hcC5zaXplID0gKHVuc2lnbmVkIGxvbmcpbTMy LT5zaXplOworCW1hcC50eXBlID0gbTMyLT50eXBlOworCW1hcC5mbGFncyA9IG0zMi0+ZmxhZ3M7 CisKKwllcnIgPSBkcm1fYWRkbWFwX2lvY3RsKGRldiwgKHZvaWQgKikmbWFwLCBmaWxlX3ByaXYp OworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisKKwltMzItPm9mZnNldCA9IG1hcC5vZmZzZXQ7 CisJbTMyLT5tdHJyID0gbWFwLm10cnI7CisJaGFuZGxlID0gbWFwLmhhbmRsZTsKKwkKKwltMzIt PmhhbmRsZSA9ICh1bnNpZ25lZCBsb25nKWhhbmRsZTsKKwlpZiAobTMyLT5oYW5kbGUgIT0gKHVu c2lnbmVkIGxvbmcpaGFuZGxlKQorCQlEUk1fREVCVUcoImNvbXBhdF9kcm1fYWRkbWFwIHRydW5j YXRlZCBoYW5kbGUiCisJCQkJICAgIiAlcCBmb3IgdHlwZSAlZCBvZmZzZXQgJXhcbiIsCisJCQkJ ICAgaGFuZGxlLCBtMzItPnR5cGUsIG0zMi0+b2Zmc2V0KTsKKworCXJldHVybiAwOworfQorCitz dGF0aWMgaW50IGNvbXBhdF9kcm1fcm1tYXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAq ZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpCit7CisJZHJtX21hcDMyX3QgKm0zMiA9 IGRhdGE7CisJc3RydWN0IGRybV9tYXAgbWFwOworCisJbWFwLmhhbmRsZSA9ICh2b2lkICopKHVu c2lnbmVkIGxvbmcpbTMyLT5oYW5kbGU7CisKKwlyZXR1cm4gZHJtX3JtbWFwX2lvY3RsKGRldiwg KHZvaWQgKikmbWFwLCBmaWxlX3ByaXYpOworfQorCit0eXBlZGVmIHN0cnVjdCBkcm1fY2xpZW50 MzIgeworCWludCBpZHg7CS8qKjwgV2hpY2ggY2xpZW50IGRlc2lyZWQ/ICovCisJaW50IGF1dGg7 CS8qKjwgSXMgY2xpZW50IGF1dGhlbnRpY2F0ZWQ/ICovCisJdTMyIHBpZDsJLyoqPCBQcm9jZXNz IElEICovCisJdTMyIHVpZDsJLyoqPCBVc2VyIElEICovCisJdTMyIG1hZ2ljOwkvKio8IE1hZ2lj ICovCisJdTMyIGlvY3M7CS8qKjwgSW9jdGwgY291bnQgKi8KK30gZHJtX2NsaWVudDMyX3Q7CisK K3N0YXRpYyBpbnQgY29tcGF0X2RybV9nZXRjbGllbnQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg dm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpCit7CisJZHJtX2NsaWVudDMy X3QgKmMzMiA9IGRhdGE7CisJc3RydWN0IGRybV9jbGllbnQgY2xpZW50OworCWludCBlcnI7CisK KwljbGllbnQuaWR4ID0gYzMyLT5pZHg7CisKKwllcnIgPSBkcm1fZ2V0Y2xpZW50KGRldiwgKHZv aWQgKikmY2xpZW50LCBmaWxlX3ByaXYpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisKKwlj MzItPmlkeCA9IGNsaWVudC5pZHg7CisJYzMyLT5hdXRoID0gY2xpZW50LmF1dGg7CisJYzMyLT5w aWQgPSBjbGllbnQucGlkOworCWMzMi0+dWlkID0gY2xpZW50LnVpZDsKKwljMzItPm1hZ2ljID0g Y2xpZW50Lm1hZ2ljOworCWMzMi0+aW9jcyA9IGNsaWVudC5pb2NzOworCisJcmV0dXJuIDA7Cit9 CisKK3R5cGVkZWYgc3RydWN0IGRybV9zdGF0czMyIHsKKwl1MzIgY291bnQ7CisJc3RydWN0IHsK KwkJdTMyIHZhbHVlOworCQllbnVtIGRybV9zdGF0X3R5cGUgdHlwZTsKKwl9IGRhdGFbMTVdOwor fSBkcm1fc3RhdHMzMl90OworCitzdGF0aWMgaW50IGNvbXBhdF9kcm1fZ2V0c3RhdHMoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYp Cit7CisJZHJtX3N0YXRzMzJfdCAqczMyID0gZGF0YTsKKwlzdHJ1Y3QgZHJtX3N0YXRzIHN0YXRz OworCWludCBpLCBlcnI7CisKKwllcnIgPSBkcm1fZ2V0c3RhdHMoZGV2LCAodm9pZCAqKSZzdGF0 cywgZmlsZV9wcml2KTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gZXJyOworCisJczMyLT5jb3VudCA9 IHN0YXRzLmNvdW50OworCWZvciAoaSA9IDA7IGkgPCBzdGF0cy5jb3VudDsgaSsrKSB7CisJCXMz Mi0+ZGF0YVtpXS52YWx1ZSA9IHN0YXRzLmRhdGFbaV0udmFsdWU7CisJCXMzMi0+ZGF0YVtpXS50 eXBlID0gc3RhdHMuZGF0YVtpXS50eXBlOworCX0KKworCXJldHVybiAwOworfQorCit0eXBlZGVm IHN0cnVjdCBkcm1fYnVmX2Rlc2MzMiB7CisJaW50IGNvdW50OwkJIC8qKjwgTnVtYmVyIG9mIGJ1 ZmZlcnMgb2YgdGhpcyBzaXplICovCisJaW50IHNpemU7CQkgLyoqPCBTaXplIGluIGJ5dGVzICov CisJaW50IGxvd19tYXJrOwkJIC8qKjwgTG93IHdhdGVyIG1hcmsgKi8KKwlpbnQgaGlnaF9tYXJr OwkJIC8qKjwgSGlnaCB3YXRlciBtYXJrICovCisJaW50IGZsYWdzOworCXUzMiBhZ3Bfc3RhcnQ7 CQkgLyoqPCBTdGFydCBhZGRyZXNzIGluIHRoZSBBR1AgYXBlcnR1cmUgKi8KK30gZHJtX2J1Zl9k ZXNjMzJfdDsKKworc3RhdGljIGludCBjb21wYXRfZHJtX2FkZGJ1ZnMoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgdm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpCit7CisJZHJt X2J1Zl9kZXNjMzJfdCAqYjMyID0gZGF0YTsKKwlzdHJ1Y3QgZHJtX2J1Zl9kZXNjIGJ1ZjsKKwlp bnQgZXJyOworCisJYnVmLmNvdW50ID0gYjMyLT5jb3VudDsKKwlidWYuc2l6ZSA9IGIzMi0+c2l6 ZTsKKwlidWYubG93X21hcmsgPSBiMzItPmxvd19tYXJrOworCWJ1Zi5oaWdoX21hcmsgPSBiMzIt PmhpZ2hfbWFyazsKKwlidWYuZmxhZ3MgPSBiMzItPmZsYWdzOworCWJ1Zi5hZ3Bfc3RhcnQgPSAo dW5zaWduZWQgbG9uZyliMzItPmFncF9zdGFydDsKKworCWVyciA9IGRybV9hZGRidWZzKGRldiwg KHZvaWQgKikmYnVmLCBmaWxlX3ByaXYpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisKKwli MzItPmNvdW50ID0gYnVmLmNvdW50OworCWIzMi0+c2l6ZSA9IGJ1Zi5zaXplOworCWIzMi0+bG93 X21hcmsgPSBidWYubG93X21hcms7CisJYjMyLT5oaWdoX21hcmsgPSBidWYuaGlnaF9tYXJrOwor CWIzMi0+ZmxhZ3MgPSBidWYuZmxhZ3M7CisJYjMyLT5hZ3Bfc3RhcnQgPSBidWYuYWdwX3N0YXJ0 OworCQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNvbXBhdF9kcm1fbWFya2J1ZnMoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxlX3By aXYpCit7CisJZHJtX2J1Zl9kZXNjMzJfdCAqYjMyID0gZGF0YTsKKwlzdHJ1Y3QgZHJtX2J1Zl9k ZXNjIGJ1ZjsKKworCWJ1Zi5zaXplID0gYjMyLT5zaXplOworCWJ1Zi5sb3dfbWFyayA9IGIzMi0+ bG93X21hcms7CisJYnVmLmhpZ2hfbWFyayA9IGIzMi0+aGlnaF9tYXJrOworCQorCXJldHVybiBk cm1fbWFya2J1ZnMoZGV2LCAodm9pZCAqKSZidWYsIGZpbGVfcHJpdik7Cit9CisKK3R5cGVkZWYg c3RydWN0IGRybV9idWZfaW5mbzMyIHsKKwlpbnQgY291bnQ7CQkvKio8IEVudHJpZXMgaW4gbGlz dCAqLworCXUzMiBsaXN0OworfSBkcm1fYnVmX2luZm8zMl90OworCitzdGF0aWMgaW50IGNvbXBh dF9kcm1faW5mb2J1ZnMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwgc3RydWN0 IGRybV9maWxlICpmaWxlX3ByaXYpCit7CisJZHJtX2J1Zl9pbmZvMzJfdCAqcmVxMzIgPSBkYXRh OworCWRybV9idWZfZGVzYzMyX3QgKnRvOworCXN0cnVjdCBkcm1fYnVmX2luZm8gKnJlcXVlc3Q7 CisJc3RydWN0IGRybV9idWZfZGVzYyAqbGlzdDsKKwlzaXplX3QgbmJ5dGVzOworCWludCBpLCBl cnI7CisJaW50IGNvdW50LCBhY3R1YWw7CisKKwljb3VudCA9IHJlcTMyLT5jb3VudDsKKwl0byA9 IChkcm1fYnVmX2Rlc2MzMl90ICopKHVuc2lnbmVkIGxvbmcpcmVxMzItPmxpc3Q7CisJaWYgKGNv dW50IDwgMCkKKwkJY291bnQgPSAwOworCisJbmJ5dGVzID0gc2l6ZW9mKCpyZXF1ZXN0KSArIGNv dW50ICogc2l6ZW9mKHN0cnVjdCBkcm1fYnVmX2Rlc2MpOworCXJlcXVlc3QgPSBtYWxsb2MobmJ5 dGVzLCBEUk1fTUVNX0JVRkxJU1RTLCBNX1pFUk8gfCBNX05PV0FJVCk7CisJaWYgKCFyZXF1ZXN0 KQorCQlyZXR1cm4gLUVGQVVMVDsKKwlsaXN0ID0gKHN0cnVjdCBkcm1fYnVmX2Rlc2MgKikgKHJl cXVlc3QgKyAxKTsKKworCXJlcXVlc3QtPmNvdW50ID0gY291bnQ7CisJcmVxdWVzdC0+bGlzdCA9 IGxpc3Q7CisKKwllcnIgPSBkcm1faW5mb2J1ZnMoZGV2LCAodm9pZCAqKXJlcXVlc3QsIGZpbGVf cHJpdik7CisJaWYgKGVycikKKwkJcmV0dXJuIGVycjsKKworCWFjdHVhbCA9IHJlcXVlc3QtPmNv dW50OworCWlmIChjb3VudCA+PSBhY3R1YWwpCisJCWZvciAoaSA9IDA7IGkgPCBhY3R1YWw7ICsr aSkgeworCQkJdG9baV0uY291bnQgPSBsaXN0W2ldLmNvdW50OworCQkJdG9baV0uc2l6ZSA9IGxp c3RbaV0uc2l6ZTsKKwkJCXRvW2ldLmxvd19tYXJrID0gbGlzdFtpXS5sb3dfbWFyazsKKwkJCXRv W2ldLmhpZ2hfbWFyayA9IGxpc3RbaV0uaGlnaF9tYXJrOworCQkJdG9baV0uZmxhZ3MgPSBsaXN0 W2ldLmZsYWdzOworCQl9CisKKwlyZXEzMi0+Y291bnQgPSBhY3R1YWw7CisKKwlyZXR1cm4gMDsK K30KKwordHlwZWRlZiBzdHJ1Y3QgZHJtX2J1Zl9wdWIzMiB7CisJaW50IGlkeDsJCS8qKjwgSW5k ZXggaW50byB0aGUgbWFzdGVyIGJ1ZmZlciBsaXN0ICovCisJaW50IHRvdGFsOwkJLyoqPCBCdWZm ZXIgc2l6ZSAqLworCWludCB1c2VkOwkJLyoqPCBBbW91bnQgb2YgYnVmZmVyIGluIHVzZSAoZm9y IERNQSkgKi8KKwl1MzIgYWRkcmVzczsJCS8qKjwgQWRkcmVzcyBvZiBidWZmZXIgKi8KK30gZHJt X2J1Zl9wdWIzMl90OworCit0eXBlZGVmIHN0cnVjdCBkcm1fYnVmX21hcDMyIHsKKwlpbnQgY291 bnQ7CQkvKio8IExlbmd0aCBvZiB0aGUgYnVmZmVyIGxpc3QgKi8KKwl1MzIgdmlydHVhbDsJCS8q KjwgTW1hcCdkIGFyZWEgaW4gdXNlci12aXJ0dWFsICovCisJdTMyIGxpc3Q7CQkvKio8IEJ1ZmZl ciBpbmZvcm1hdGlvbiAqLworfSBkcm1fYnVmX21hcDMyX3Q7CisKK3N0YXRpYyBpbnQgY29tcGF0 X2RybV9tYXBidWZzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsIHN0cnVjdCBk cm1fZmlsZSAqZmlsZV9wcml2KQoreworCWRybV9idWZfbWFwMzJfdCAqcmVxMzIgPSBkYXRhOwor CWRybV9idWZfcHViMzJfdCAqbGlzdDMyOworCXN0cnVjdCBkcm1fYnVmX21hcCAqcmVxdWVzdDsK KwlzdHJ1Y3QgZHJtX2J1Zl9wdWIgKmxpc3Q7CisJaW50IGksIGVycjsKKwlpbnQgY291bnQsIGFj dHVhbDsKKwlzaXplX3QgbmJ5dGVzOworCisJY291bnQgPSByZXEzMi0+Y291bnQ7CisJbGlzdDMy ID0gKHZvaWQgKikodW5zaWduZWQgbG9uZylyZXEzMi0+bGlzdDsKKworCWlmIChjb3VudCA8IDAp CisJCXJldHVybiAtRUlOVkFMOworCW5ieXRlcyA9IHNpemVvZigqcmVxdWVzdCkgKyBjb3VudCAq IHNpemVvZihzdHJ1Y3QgZHJtX2J1Zl9wdWIpOworCXJlcXVlc3QgPSBtYWxsb2MobmJ5dGVzLCBE Uk1fTUVNX0JVRkxJU1RTLCBNX1pFUk8gfCBNX05PV0FJVCk7CisJaWYgKCFyZXF1ZXN0KQorCQly ZXR1cm4gLUVGQVVMVDsKKwlsaXN0ID0gKHN0cnVjdCBkcm1fYnVmX3B1YiAqKSAocmVxdWVzdCAr IDEpOworCisJcmVxdWVzdC0+Y291bnQgPSBjb3VudDsKKwlyZXF1ZXN0LT5saXN0ID0gbGlzdDsK KworCWVyciA9IGRybV9tYXBidWZzKGRldiwgKHZvaWQgKilyZXF1ZXN0LCBmaWxlX3ByaXYpOwor CWlmIChlcnIpCisJCXJldHVybiBlcnI7CisKKwlhY3R1YWwgPSByZXF1ZXN0LT5jb3VudDsKKwlp ZiAoY291bnQgPj0gYWN0dWFsKQorCQlmb3IgKGkgPSAwOyBpIDwgYWN0dWFsOyArK2kpIHsKKwkJ CWxpc3QzMltpXS5pZHggPSBsaXN0W2ldLmlkeDsKKwkJCWxpc3QzMltpXS50b3RhbCA9IGxpc3Rb aV0udG90YWw7CisJCQlsaXN0MzJbaV0udXNlZCA9IGxpc3RbaV0udXNlZDsKKwkJCWxpc3QzMltp XS5hZGRyZXNzID0gKHVuc2lnbmVkIGxvbmcpbGlzdFtpXS5hZGRyZXNzOworCQl9CisKKwlyZXEz Mi0+Y291bnQgPSBhY3R1YWw7CisJcmVxMzItPnZpcnR1YWwgPSAodW5zaWduZWQgbG9uZylyZXF1 ZXN0LT52aXJ0dWFsOworCisJcmV0dXJuIDA7Cit9CisKK3R5cGVkZWYgc3RydWN0IGRybV9idWZf ZnJlZTMyIHsKKwlpbnQgY291bnQ7CisJdTMyIGxpc3Q7Cit9IGRybV9idWZfZnJlZTMyX3Q7CisK K3N0YXRpYyBpbnQgY29tcGF0X2RybV9mcmVlYnVmcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2 b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdikKK3sKKwlkcm1fYnVmX2ZyZWUz Ml90ICpyZXEzMiA9IGRhdGE7CisJc3RydWN0IGRybV9idWZfZnJlZSByZXF1ZXN0OworCisJcmVx dWVzdC5jb3VudCA9IHJlcTMyLT5jb3VudDsKKwlyZXF1ZXN0Lmxpc3QgPSAoaW50ICopKHVuc2ln bmVkIGxvbmcpcmVxMzItPmxpc3Q7CisKKwlyZXR1cm4gZHJtX2ZyZWVidWZzKGRldiwgKHZvaWQg KikmcmVxdWVzdCwgZmlsZV9wcml2KTsKK30KKwordHlwZWRlZiBzdHJ1Y3QgZHJtX2N0eF9wcml2 X21hcDMyIHsKKwl1bnNpZ25lZCBpbnQgY3R4X2lkOwkgLyoqPCBDb250ZXh0IHJlcXVlc3Rpbmcg cHJpdmF0ZSBtYXBwaW5nICovCisJdTMyIGhhbmRsZTsJCS8qKjwgSGFuZGxlIG9mIG1hcCAqLwor fSBkcm1fY3R4X3ByaXZfbWFwMzJfdDsKKworc3RhdGljIGludCBjb21wYXRfZHJtX3NldHNhcmVh Y3R4KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsIHN0cnVjdCBkcm1fZmlsZSAq ZmlsZV9wcml2KQoreworCWRybV9jdHhfcHJpdl9tYXAzMl90ICpyZXEzMiA9IGRhdGE7CisJc3Ry dWN0IGRybV9jdHhfcHJpdl9tYXAgcmVxdWVzdDsKKworCXJlcXVlc3QuY3R4X2lkID0gcmVxMzIt PmN0eF9pZDsKKwlyZXF1ZXN0LmhhbmRsZSA9ICh2b2lkICopKHVuc2lnbmVkIGxvbmcpcmVxMzIt PmhhbmRsZTsKKworCXJldHVybiBkcm1fc2V0c2FyZWFjdHgoZGV2LCAodm9pZCAqKSZyZXF1ZXN0 LCBmaWxlX3ByaXYpOworfQorCitzdGF0aWMgaW50IGNvbXBhdF9kcm1fZ2V0c2FyZWFjdHgoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxlX3By aXYpCit7CisJZHJtX2N0eF9wcml2X21hcDMyX3QgKnJlcTMyID0gZGF0YTsKKwlzdHJ1Y3QgZHJt X2N0eF9wcml2X21hcCByZXF1ZXN0OworCWludCBlcnI7CisKKwlyZXF1ZXN0LmN0eF9pZCA9IHJl cTMyLT5jdHhfaWQ7CisKKwllcnIgPSBkcm1fZ2V0c2FyZWFjdHgoZGV2LCAodm9pZCAqKSZyZXF1 ZXN0LCBmaWxlX3ByaXYpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisKKwlyZXEzMi0+aGFu ZGxlID0gKHVuc2lnbmVkIGxvbmcpcmVxdWVzdC5oYW5kbGU7CisKKwlyZXR1cm4gMDsKK30KKwor dHlwZWRlZiBzdHJ1Y3QgZHJtX2N0eF9yZXMzMiB7CisJaW50IGNvdW50OworCXUzMiBjb250ZXh0 czsKK30gZHJtX2N0eF9yZXMzMl90OworCitzdGF0aWMgaW50IGNvbXBhdF9kcm1fcmVzY3R4KHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9w cml2KQoreworCWRybV9jdHhfcmVzMzJfdCAqcmVzMzIgPSBkYXRhOworCXN0cnVjdCBkcm1fY3R4 X3JlcyByZXM7CisJaW50IGVycjsKKworCXJlcy5jb3VudCA9IHJlczMyLT5jb3VudDsKKwlyZXMu Y29udGV4dHMgPSAoc3RydWN0IGRybV9jdHggX191c2VyICopKHVuc2lnbmVkIGxvbmcpcmVzMzIt PmNvbnRleHRzOworCisJZXJyID0gZHJtX3Jlc2N0eChkZXYsICh2b2lkICopJnJlcywgZmlsZV9w cml2KTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gZXJyOworCisJcmVzMzItPmNvdW50ID0gcmVzLmNv dW50OworCisJcmV0dXJuIDA7Cit9CisKK3R5cGVkZWYgc3RydWN0IGRybV9kbWEzMiB7CisJaW50 IGNvbnRleHQ7CQkgIC8qKjwgQ29udGV4dCBoYW5kbGUgKi8KKwlpbnQgc2VuZF9jb3VudDsJCSAg LyoqPCBOdW1iZXIgb2YgYnVmZmVycyB0byBzZW5kICovCisJdTMyIHNlbmRfaW5kaWNlczsJICAv Kio8IExpc3Qgb2YgaGFuZGxlcyB0byBidWZmZXJzICovCisJdTMyIHNlbmRfc2l6ZXM7CQkgIC8q KjwgTGVuZ3RocyBvZiBkYXRhIHRvIHNlbmQgKi8KKwllbnVtIGRybV9kbWFfZmxhZ3MgZmxhZ3M7 CQkgIC8qKjwgRmxhZ3MgKi8KKwlpbnQgcmVxdWVzdF9jb3VudDsJICAvKio8IE51bWJlciBvZiBi dWZmZXJzIHJlcXVlc3RlZCAqLworCWludCByZXF1ZXN0X3NpemU7CSAgLyoqPCBEZXNpcmVkIHNp emUgZm9yIGJ1ZmZlcnMgKi8KKwl1MzIgcmVxdWVzdF9pbmRpY2VzOwkgIC8qKjwgQnVmZmVyIGlu Zm9ybWF0aW9uICovCisJdTMyIHJlcXVlc3Rfc2l6ZXM7CisJaW50IGdyYW50ZWRfY291bnQ7CSAg LyoqPCBOdW1iZXIgb2YgYnVmZmVycyBncmFudGVkICovCit9IGRybV9kbWEzMl90OworCitzdGF0 aWMgaW50IGNvbXBhdF9kcm1fZG1hKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEs IHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KQoreworCWRybV9kbWEzMl90ICpkMzIgPSBkYXRh OworCXN0cnVjdCBkcm1fZG1hIGQ7CisJaW50IGVycjsKKworCWQuY29udGV4dCA9IGQzMi0+Y29u dGV4dDsKKwlkLnNlbmRfY291bnQgPSBkMzItPnNlbmRfY291bnQ7CisJZC5zZW5kX2luZGljZXMg PSAoaW50ICopKHVuc2lnbmVkIGxvbmcpZDMyLT5zZW5kX2luZGljZXM7CisJZC5zZW5kX3NpemVz ID0gKGludCAqKSh1bnNpZ25lZCBsb25nKWQzMi0+c2VuZF9zaXplczsKKwlkLmZsYWdzID0gZDMy LT5mbGFnczsKKwlkLnJlcXVlc3RfY291bnQgPSBkMzItPnJlcXVlc3RfY291bnQ7CisJZC5yZXF1 ZXN0X2luZGljZXMgPSAoaW50ICopKHVuc2lnbmVkIGxvbmcpZDMyLT5yZXF1ZXN0X2luZGljZXM7 CisJZC5yZXF1ZXN0X3NpemVzID0gKGludCAqKSh1bnNpZ25lZCBsb25nKWQzMi0+cmVxdWVzdF9z aXplczsKKworCWVyciA9IGRybV9kbWEoZGV2LCAodm9pZCAqKSZkLCBmaWxlX3ByaXYpOworCWlm IChlcnIpCisJCXJldHVybiBlcnI7CisKKwlkMzItPnJlcXVlc3Rfc2l6ZSA9IGQucmVxdWVzdF9z aXplOworCWQzMi0+Z3JhbnRlZF9jb3VudCA9IGQuZ3JhbnRlZF9jb3VudDsKKworCXJldHVybiAw OworfQorCit0eXBlZGVmIHN0cnVjdCBkcm1fYWdwX21vZGUzMiB7CisJdTMyIG1vZGU7CS8qKjwg QUdQIG1vZGUgKi8KK30gZHJtX2FncF9tb2RlMzJfdDsKKworc3RhdGljIGludCBjb21wYXRfZHJt X2FncF9lbmFibGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwgc3RydWN0IGRy bV9maWxlICpmaWxlX3ByaXYpCit7CisJZHJtX2FncF9tb2RlMzJfdCAqbTMyID0gZGF0YTsKKwlz dHJ1Y3QgZHJtX2FncF9tb2RlIG1vZGU7CisKKwltb2RlLm1vZGUgPSBtMzItPm1vZGU7CisKKwly ZXR1cm4gZHJtX2FncF9lbmFibGVfaW9jdGwoZGV2LCAodm9pZCAqKSZtb2RlLCBmaWxlX3ByaXYp OworfQorCit0eXBlZGVmIHN0cnVjdCBkcm1fYWdwX2luZm8zMiB7CisJaW50IGFncF92ZXJzaW9u X21ham9yOworCWludCBhZ3BfdmVyc2lvbl9taW5vcjsKKwl1MzIgbW9kZTsKKwl1MzIgYXBlcnR1 cmVfYmFzZTsJLyogcGh5c2ljYWwgYWRkcmVzcyAqLworCXUzMiBhcGVydHVyZV9zaXplOwkvKiBi eXRlcyAqLworCXUzMiBtZW1vcnlfYWxsb3dlZDsJLyogYnl0ZXMgKi8KKwl1MzIgbWVtb3J5X3Vz ZWQ7CisKKwkvKiBQQ0kgaW5mb3JtYXRpb24gKi8KKwl1bnNpZ25lZCBzaG9ydCBpZF92ZW5kb3I7 CisJdW5zaWduZWQgc2hvcnQgaWRfZGV2aWNlOworfSBkcm1fYWdwX2luZm8zMl90OworCitzdGF0 aWMgaW50IGNvbXBhdF9kcm1fYWdwX2luZm8oc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAq ZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpCit7CisJZHJtX2FncF9pbmZvMzJfdCAq aTMyID0gZGF0YTsKKwlzdHJ1Y3QgZHJtX2FncF9pbmZvIGluZm87CisJaW50IGVycjsKKworCWVy ciA9IGRybV9hZ3BfaW5mb19pb2N0bChkZXYsICh2b2lkICopJmluZm8sIGZpbGVfcHJpdik7CisJ aWYgKGVycikKKwkJcmV0dXJuIGVycjsKKworCWkzMi0+YWdwX3ZlcnNpb25fbWFqb3IgPSBpbmZv LmFncF92ZXJzaW9uX21ham9yOworCWkzMi0+YWdwX3ZlcnNpb25fbWlub3IgPSBpbmZvLmFncF92 ZXJzaW9uX21pbm9yOworCWkzMi0+bW9kZSA9IGluZm8ubW9kZTsKKwlpMzItPmFwZXJ0dXJlX2Jh c2UgPSBpbmZvLmFwZXJ0dXJlX2Jhc2U7CisJaTMyLT5hcGVydHVyZV9zaXplID0gaW5mby5hcGVy dHVyZV9zaXplOworCWkzMi0+bWVtb3J5X2FsbG93ZWQgPSBpbmZvLm1lbW9yeV9hbGxvd2VkOwor CWkzMi0+bWVtb3J5X3VzZWQgPSBpbmZvLm1lbW9yeV91c2VkOworCWkzMi0+aWRfdmVuZG9yID0g aW5mby5pZF92ZW5kb3I7CisJaTMyLT5pZF9kZXZpY2UgPSBpbmZvLmlkX2RldmljZTsKKworCXJl dHVybiAwOworfQorCit0eXBlZGVmIHN0cnVjdCBkcm1fYWdwX2J1ZmZlcjMyIHsKKwl1MzIgc2l6 ZTsJLyoqPCBJbiBieXRlcyAtLSB3aWxsIHJvdW5kIHRvIHBhZ2UgYm91bmRhcnkgKi8KKwl1MzIg aGFuZGxlOwkvKio8IFVzZWQgZm9yIGJpbmRpbmcgLyB1bmJpbmRpbmcgKi8KKwl1MzIgdHlwZTsJ LyoqPCBUeXBlIG9mIG1lbW9yeSB0byBhbGxvY2F0ZSAqLworCXUzMiBwaHlzaWNhbDsJLyoqPCBQ aHlzaWNhbCB1c2VkIGJ5IGk4MTAgKi8KK30gZHJtX2FncF9idWZmZXIzMl90OworCitzdGF0aWMg aW50IGNvbXBhdF9kcm1fYWdwX2FsbG9jKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRh dGEsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KQoreworCWRybV9hZ3BfYnVmZmVyMzJfdCAq cmVxMzIgPSBkYXRhOworCXN0cnVjdCBkcm1fYWdwX2J1ZmZlciByZXF1ZXN0OworCWludCBlcnI7 CisKKwlyZXF1ZXN0LnNpemUgPSByZXEzMi0+c2l6ZTsKKwlyZXF1ZXN0LnR5cGUgPSByZXEzMi0+ dHlwZTsKKworCWVyciA9IGRybV9hZ3BfYWxsb2NfaW9jdGwoZGV2LCAodm9pZCAqKSZyZXF1ZXN0 LCBmaWxlX3ByaXYpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisKKwlyZXEzMi0+aGFuZGxl ID0gcmVxdWVzdC5oYW5kbGU7CisJcmVxMzItPnBoeXNpY2FsID0gcmVxdWVzdC5waHlzaWNhbDsK KworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNvbXBhdF9kcm1fYWdwX2ZyZWUoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYp Cit7CisJZHJtX2FncF9idWZmZXIzMl90ICpyZXEzMiA9IGRhdGE7CisJc3RydWN0IGRybV9hZ3Bf YnVmZmVyIHJlcXVlc3Q7CisKKwlyZXF1ZXN0LmhhbmRsZSA9IHJlcTMyLT5oYW5kbGU7CisKKwly ZXR1cm4gZHJtX2FncF9mcmVlX2lvY3RsKGRldiwgKHZvaWQgKikmcmVxdWVzdCwgZmlsZV9wcml2 KTsKK30KKwordHlwZWRlZiBzdHJ1Y3QgZHJtX2FncF9iaW5kaW5nMzIgeworCXUzMiBoYW5kbGU7 CS8qKjwgRnJvbSBkcm1fYWdwX2J1ZmZlciAqLworCXUzMiBvZmZzZXQ7CS8qKjwgSW4gYnl0ZXMg LS0gd2lsbCByb3VuZCB0byBwYWdlIGJvdW5kYXJ5ICovCit9IGRybV9hZ3BfYmluZGluZzMyX3Q7 CisKK3N0YXRpYyBpbnQgY29tcGF0X2RybV9hZ3BfYmluZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdikKK3sKKwlkcm1fYWdwX2Jp bmRpbmczMl90ICpyZXEzMiA9IGRhdGE7CisJc3RydWN0IGRybV9hZ3BfYmluZGluZyByZXF1ZXN0 OworCisJcmVxdWVzdC5oYW5kbGUgPSByZXEzMi0+aGFuZGxlOworCXJlcXVlc3Qub2Zmc2V0ID0g cmVxMzItPm9mZnNldDsKKworCXJldHVybiBkcm1fYWdwX2JpbmRfaW9jdGwoZGV2LCAodm9pZCAq KSZyZXF1ZXN0LCBmaWxlX3ByaXYpOworfQorCitzdGF0aWMgaW50IGNvbXBhdF9kcm1fYWdwX3Vu YmluZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUg KmZpbGVfcHJpdikKK3sKKwlkcm1fYWdwX2JpbmRpbmczMl90ICpyZXEzMiA9IGRhdGE7CisJc3Ry dWN0IGRybV9hZ3BfYmluZGluZyByZXF1ZXN0OworCQorCXJlcXVlc3QuaGFuZGxlID0gcmVxMzIt PmhhbmRsZTsKKwkKKwlyZXR1cm4gZHJtX2FncF91bmJpbmRfaW9jdGwoZGV2LCAodm9pZCAqKSZy ZXF1ZXN0LCBmaWxlX3ByaXYpOworfQorCit0eXBlZGVmIHN0cnVjdCBkcm1fc2NhdHRlcl9nYXRo ZXIzMiB7CisJdTMyIHNpemU7CS8qKjwgSW4gYnl0ZXMgLS0gd2lsbCByb3VuZCB0byBwYWdlIGJv dW5kYXJ5ICovCisJdTMyIGhhbmRsZTsJLyoqPCBVc2VkIGZvciBtYXBwaW5nIC8gdW5tYXBwaW5n ICovCit9IGRybV9zY2F0dGVyX2dhdGhlcjMyX3Q7CisKK3N0YXRpYyBpbnQgY29tcGF0X2RybV9z Z19hbGxvYyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2Zp bGUgKmZpbGVfcHJpdikKK3sKKwlkcm1fc2NhdHRlcl9nYXRoZXIzMl90ICpyZXEzMiA9IGRhdGE7 CisJc3RydWN0IGRybV9zY2F0dGVyX2dhdGhlciByZXF1ZXN0OworCWludCBlcnI7CisKKwlyZXF1 ZXN0LnNpemUgPSAodW5zaWduZWQgbG9uZylyZXEzMi0+c2l6ZTsKKworCWVyciA9IGRybV9zZ19h bGxvY19pb2N0bChkZXYsICh2b2lkICopJnJlcXVlc3QsIGZpbGVfcHJpdik7CisJaWYgKGVycikK KwkJcmV0dXJuIGVycjsKKworCS8qIFhYWCBub3Qgc3VyZSBhYm91dCB0aGUgaGFuZGxlIGNvbnZl cnNpb24gaGVyZS4uLiAqLworCXJlcTMyLT5oYW5kbGUgPSAodW5zaWduZWQgbG9uZylyZXF1ZXN0 LmhhbmRsZSA+PiBQQUdFX1NISUZUOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY29t cGF0X2RybV9zZ19mcmVlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsIHN0cnVj dCBkcm1fZmlsZSAqZmlsZV9wcml2KQoreworCWRybV9zY2F0dGVyX2dhdGhlcjMyX3QgKnJlcTMy ID0gZGF0YTsKKwlzdHJ1Y3QgZHJtX3NjYXR0ZXJfZ2F0aGVyIHJlcXVlc3Q7CisKKwlyZXF1ZXN0 LmhhbmRsZSA9ICh1bnNpZ25lZCBsb25nKXJlcTMyLT5oYW5kbGUgPDwgUEFHRV9TSElGVDsKKwor CXJldHVybiBkcm1fc2dfZnJlZShkZXYsICh2b2lkICopJnJlcXVlc3QsIGZpbGVfcHJpdik7Cit9 CisKK3R5cGVkZWYgc3RydWN0IGRybV91cGRhdGVfZHJhdzMyIHsKKwlkcm1fZHJhd2FibGVfdCBo YW5kbGU7CisJdW5zaWduZWQgaW50IHR5cGU7CisJdW5zaWduZWQgaW50IG51bTsKKwkvKiA2NC1i aXQgdmVyc2lvbiBoYXMgYSAzMi1iaXQgcGFkIGhlcmUgKi8KKwl1NjQgZGF0YTsJLyoqPCBQb2lu dGVyICovCit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpIGRybV91cGRhdGVfZHJhdzMyX3Q7CisK K3N0YXRpYyBpbnQgY29tcGF0X2RybV91cGRhdGVfZHJhdyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdikKK3sKKwlkcm1fdXBkYXRl X2RyYXczMl90ICp1cGRhdGUzMiA9IGRhdGE7CisJc3RydWN0IGRybV91cGRhdGVfZHJhdyByZXF1 ZXN0OworCWludCBlcnI7CisKKwlyZXF1ZXN0LmhhbmRsZSA9IHVwZGF0ZTMyLT5oYW5kbGU7CisJ cmVxdWVzdC50eXBlID0gdXBkYXRlMzItPnR5cGU7CisJcmVxdWVzdC5udW0gPSB1cGRhdGUzMi0+ bnVtOworCXJlcXVlc3QuZGF0YSA9IHVwZGF0ZTMyLT5kYXRhOworCisJZXJyID0gZHJtX3VwZGF0 ZV9kcmF3KGRldiwgKHZvaWQgKikmcmVxdWVzdCwgZmlsZV9wcml2KTsKKwlyZXR1cm4gZXJyOwor fQorCitzdHJ1Y3QgZHJtX3dhaXRfdmJsYW5rX3JlcXVlc3QzMiB7CisJZW51bSBkcm1fdmJsYW5r X3NlcV90eXBlIHR5cGU7CisJdW5zaWduZWQgaW50IHNlcXVlbmNlOworCXUzMiBzaWduYWw7Cit9 OworCitzdHJ1Y3QgZHJtX3dhaXRfdmJsYW5rX3JlcGx5MzIgeworCWVudW0gZHJtX3ZibGFua19z ZXFfdHlwZSB0eXBlOworCXVuc2lnbmVkIGludCBzZXF1ZW5jZTsKKwlzMzIgdHZhbF9zZWM7CisJ czMyIHR2YWxfdXNlYzsKK307CisKK3R5cGVkZWYgdW5pb24gZHJtX3dhaXRfdmJsYW5rMzIgewor CXN0cnVjdCBkcm1fd2FpdF92YmxhbmtfcmVxdWVzdDMyIHJlcXVlc3Q7CisJc3RydWN0IGRybV93 YWl0X3ZibGFua19yZXBseTMyIHJlcGx5OworfSBkcm1fd2FpdF92YmxhbmszMl90OworCitzdGF0 aWMgaW50IGNvbXBhdF9kcm1fd2FpdF92Ymxhbmsoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9p ZCAqZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpCit7CisJZHJtX3dhaXRfdmJsYW5r MzJfdCAqcmVxMzIgPSBkYXRhOworCXVuaW9uIGRybV93YWl0X3ZibGFuayByZXF1ZXN0OworCWlu dCBlcnI7CisKKwlyZXF1ZXN0LnJlcXVlc3QudHlwZSA9IHJlcTMyLT5yZXF1ZXN0LnR5cGU7CisJ cmVxdWVzdC5yZXF1ZXN0LnNlcXVlbmNlID0gcmVxMzItPnJlcXVlc3Quc2VxdWVuY2U7CisJcmVx dWVzdC5yZXF1ZXN0LnNpZ25hbCA9IHJlcTMyLT5yZXF1ZXN0LnNpZ25hbDsKKworCWVyciA9IGRy bV93YWl0X3ZibGFuayhkZXYsICh2b2lkICopJnJlcXVlc3QsIGZpbGVfcHJpdik7CisJaWYgKGVy cikKKwkJcmV0dXJuIGVycjsKKworCXJlcTMyLT5yZXBseS50eXBlID0gcmVxdWVzdC5yZXBseS50 eXBlOworCXJlcTMyLT5yZXBseS5zZXF1ZW5jZSA9IHJlcXVlc3QucmVwbHkuc2VxdWVuY2U7CisJ cmVxMzItPnJlcGx5LnR2YWxfc2VjID0gcmVxdWVzdC5yZXBseS50dmFsX3NlYzsKKwlyZXEzMi0+ cmVwbHkudHZhbF91c2VjID0gcmVxdWVzdC5yZXBseS50dmFsX3VzZWM7CisKKwlyZXR1cm4gMDsK K30KKworc3RhdGljIGRybV9pb2N0bF9kZXNjX3QgZHJtX2NvbXBhdF9pb2N0bHNbMjU2XSA9IHsK KwlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9WRVJTSU9OMzIsIGNvbXBhdF9kcm1fdmVyc2lvbiwg MCksCisJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfR0VUX1VOSVFVRTMyLCBjb21wYXRfZHJtX2dl dHVuaXF1ZSwgMCksCisJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfR0VUX01BUDMyLCBjb21wYXRf ZHJtX2dldG1hcCwgMCksCisJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfR0VUX0NMSUVOVDMyLCBj b21wYXRfZHJtX2dldGNsaWVudCwgMCksCisJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfR0VUX1NU QVRTMzIsIGNvbXBhdF9kcm1fZ2V0c3RhdHMsIDApLAorCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RM X1NFVF9VTklRVUUzMiwgY29tcGF0X2RybV9zZXR1bmlxdWUsIERSTV9BVVRIfERSTV9NQVNURVJ8 RFJNX1JPT1RfT05MWSksCisJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfQUREX01BUDMyLCBjb21w YXRfZHJtX2FkZG1hcCwgRFJNX0FVVEh8RFJNX01BU1RFUnxEUk1fUk9PVF9PTkxZKSwKKwlEUk1f SU9DVExfREVGKERSTV9JT0NUTF9BRERfQlVGUzMyLCBjb21wYXRfZHJtX2FkZGJ1ZnMsIERSTV9B VVRIfERSTV9NQVNURVJ8RFJNX1JPT1RfT05MWSksCisJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExf TUFSS19CVUZTMzIsIGNvbXBhdF9kcm1fbWFya2J1ZnMsIERSTV9BVVRIfERSTV9NQVNURVJ8RFJN X1JPT1RfT05MWSksCisJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfSU5GT19CVUZTMzIsIGNvbXBh dF9kcm1faW5mb2J1ZnMsIERSTV9BVVRIKSwKKwlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9NQVBf QlVGUzMyLCBjb21wYXRfZHJtX21hcGJ1ZnMsIERSTV9BVVRIKSwKKwlEUk1fSU9DVExfREVGKERS TV9JT0NUTF9GUkVFX0JVRlMzMiwgY29tcGF0X2RybV9mcmVlYnVmcywgRFJNX0FVVEgpLAorCURS TV9JT0NUTF9ERUYoRFJNX0lPQ1RMX1JNX01BUDMyLCBjb21wYXRfZHJtX3JtbWFwLCBEUk1fQVVU SCksCisJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfU0VUX1NBUkVBX0NUWDMyLCBjb21wYXRfZHJt X3NldHNhcmVhY3R4LCBEUk1fQVVUSHxEUk1fTUFTVEVSfERSTV9ST09UX09OTFkpLAorCURSTV9J T0NUTF9ERUYoRFJNX0lPQ1RMX0dFVF9TQVJFQV9DVFgzMiwgY29tcGF0X2RybV9nZXRzYXJlYWN0 eCwgRFJNX0FVVEgpLAorCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX1JFU19DVFgzMiwgY29tcGF0 X2RybV9yZXNjdHgsIERSTV9BVVRIKSwKKwlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9ETUEzMiwg Y29tcGF0X2RybV9kbWEsIERSTV9BVVRIKSwKKwkKKwlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9B R1BfRU5BQkxFMzIsIGNvbXBhdF9kcm1fYWdwX2VuYWJsZSwgRFJNX0FVVEh8RFJNX01BU1RFUnxE Uk1fUk9PVF9PTkxZKSwKKwlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9BR1BfSU5GTzMyLCBjb21w YXRfZHJtX2FncF9pbmZvLCBEUk1fQVVUSCksCisJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfQUdQ X0FMTE9DMzIsIGNvbXBhdF9kcm1fYWdwX2FsbG9jLCBEUk1fQVVUSHxEUk1fTUFTVEVSfERSTV9S T09UX09OTFkpLAorCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX0FHUF9GUkVFMzIsIGNvbXBhdF9k cm1fYWdwX2ZyZWUsIERSTV9BVVRIfERSTV9NQVNURVJ8RFJNX1JPT1RfT05MWSksCisJRFJNX0lP Q1RMX0RFRihEUk1fSU9DVExfQUdQX0JJTkQzMiwgY29tcGF0X2RybV9hZ3BfYmluZCwgRFJNX0FV VEh8RFJNX01BU1RFUnxEUk1fUk9PVF9PTkxZKSwKKwlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9B R1BfVU5CSU5EMzIsIGNvbXBhdF9kcm1fYWdwX3VuYmluZCwgRFJNX0FVVEh8RFJNX01BU1RFUnxE Uk1fUk9PVF9PTkxZKSwKKwkKKwlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9TR19BTExPQzMyLCBj b21wYXRfZHJtX3NnX2FsbG9jLCBEUk1fQVVUSHxEUk1fTUFTVEVSfERSTV9ST09UX09OTFkpLAor CURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX1NHX0ZSRUUzMiwgY29tcGF0X2RybV9zZ19mcmVlLCBE Uk1fQVVUSHxEUk1fTUFTVEVSfERSTV9ST09UX09OTFkpLAorCQorCURSTV9JT0NUTF9ERUYoRFJN X0lPQ1RMX1VQREFURV9EUkFXMzIsIGNvbXBhdF9kcm1fdXBkYXRlX2RyYXcsIERSTV9BVVRIfERS TV9NQVNURVJ8RFJNX1JPT1RfT05MWSksCisJCisJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfV0FJ VF9WQkxBTkszMiwgY29tcGF0X2RybV93YWl0X3ZibGFuaywgRFJNX1VOTE9DS0VEKSwKK307CmRp ZmYgLS1naXQgYS9zeXMvZGV2L2RybTIvaTkxNS9pOTE1X2RtYS5jIGIvc3lzL2Rldi9kcm0yL2k5 MTUvaTkxNV9kbWEuYwppbmRleCBmNzg1NTNlLi41NjQ0YWQ2IDEwMDY0NAotLS0gYS9zeXMvZGV2 L2RybTIvaTkxNS9pOTE1X2RtYS5jCisrKyBiL3N5cy9kZXYvZHJtMi9pOTE1L2k5MTVfZG1hLmMK QEAgLTE0OTMsNiArMTQ5MywxMCBAQCBzdHJ1Y3QgZHJtX2lvY3RsX2Rlc2MgaTkxNV9pb2N0bHNb XSA9IHsKIAlEUk1fSU9DVExfREVGKERSTV9JOTE1X0dFVF9TUFJJVEVfQ09MT1JLRVksIGludGVs X3Nwcml0ZV9nZXRfY29sb3JrZXksIERSTV9NQVNURVJ8RFJNX0NPTlRST0xfQUxMT1d8RFJNX1VO TE9DS0VEKSwKIH07CiAKKyNpZmRlZiBDT01QQVRfRlJFRUJTRDMyCisjaW5jbHVkZSAiaTkxNV9p b2MzMi5jIgorI2VuZGlmCisKIHN0cnVjdCBkcm1fZHJpdmVyX2luZm8gaTkxNV9kcml2ZXJfaW5m byA9IHsKIAkuZHJpdmVyX2ZlYXR1cmVzID0gICBEUklWRVJfVVNFX0FHUCB8IERSSVZFUl9SRVFV SVJFX0FHUCB8CiAJICAgIERSSVZFUl9VU0VfTVRSUiB8IERSSVZFUl9IQVZFX0lSUSB8IERSSVZF Ul9MT0NLTEVTU19JUlEgfApAQCAtMTUxNiw2ICsxNTIwLDkgQEAgc3RydWN0IGRybV9kcml2ZXJf aW5mbyBpOTE1X2RyaXZlcl9pbmZvID0gewogCS5zeXNjdGxfY2xlYW51cAk9IGk5MTVfc3lzY3Rs X2NsZWFudXAsCiAKIAkuaW9jdGxzCQk9IGk5MTVfaW9jdGxzLAorI2lmZGVmIENPTVBBVF9GUkVF QlNEMzIKKwkuY29tcGF0X2lvY3RscyAgPSBpOTE1X2NvbXBhdF9pb2N0bHMsCisjZW5kaWYKIAku bWF4X2lvY3RsCT0gRFJNX0FSUkFZX1NJWkUoaTkxNV9pb2N0bHMpLAogCiAJLm5hbWUJCT0gRFJJ VkVSX05BTUUsCmRpZmYgLS1naXQgYS9zeXMvZGV2L2RybTIvaTkxNS9pOTE1X2lvYzMyLmMgYi9z eXMvZGV2L2RybTIvaTkxNS9pOTE1X2lvYzMyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMC4uMzFmODFlNgotLS0gL2Rldi9udWxsCisrKyBiL3N5cy9kZXYvZHJtMi9pOTE1L2k5 MTVfaW9jMzIuYwpAQCAtMCwwICsxLDEyNCBAQAorLyotCisgKiBDb3B5cmlnaHQgKEMpIFBhdWwg TWFja2VycmFzIDIwMDUKKyAqIENvcHlyaWdodCAoQykgQWxhbiBIb3VyaWhhbmUgMjAwNQorICog QWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVk LCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorICogY29weSBvZiB0 aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29m dHdhcmUiKSwKKyAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24s IGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24KKyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5 LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLAorICogYW5k L29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRv IHdob20gdGhlCisgKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8g dGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90 aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIChpbmNsdWRpbmcgdGhlIG5leHQKKyAqIHBh cmFncmFwaCkgc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBw b3J0aW9ucyBvZiB0aGUKKyAqIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9W SURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisg KiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9G IE1FUkNIQU5UQUJJTElUWSwKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFO RCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTAorICogVEhFIEFVVEhPUiBCRSBM SUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksCisgKiBXSEVU SEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcg RlJPTSwKKyAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRI RSBVU0UgT1IgT1RIRVIgREVBTElOR1MKKyAqIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKiBBdXRo b3JzOgorICogICAgUGF1bCBNYWNrZXJyYXMgPHBhdWx1c0BzYW1iYS5vcmc+CisgKiAgICBBbGFu IEhvdXJpaGFuZSA8YWxhbmhAZmFpcmxpdGUuZGVtb24uY28udWs+CisgKi8KKworX19GQlNESUQo IiRGcmVlQlNEJCIpOworCisvKiogQGZpbGUgaTkxNV9pb2MzMi5jCisgKiAzMi1iaXQgaW9jdGwg Y29tcGF0aWJpbGl0eSByb3V0aW5lcyBmb3IgdGhlIGk5MTUgRFJNLgorICovCisKK3R5cGVkZWYg c3RydWN0IF9kcm1faTkxNV9iYXRjaGJ1ZmZlcjMyIHsKKwlpbnQgc3RhcnQ7CQkvKiBhZ3Agb2Zm c2V0ICovCisJaW50IHVzZWQ7CQkvKiBuciBieXRlcyBpbiB1c2UgKi8KKwlpbnQgRFIxOwkJLyog aHcgZmxhZ3MgZm9yIEdGWF9PUF9EUkFXUkVDVF9JTkZPICovCisJaW50IERSNDsJCS8qIHdpbmRv dyBvcmlnaW4gZm9yIEdGWF9PUF9EUkFXUkVDVF9JTkZPICovCisJaW50IG51bV9jbGlwcmVjdHM7 CS8qIG11bGl0cGFzcyB3aXRoIG11bHRpcGxlIGNsaXByZWN0cz8gKi8KKwl1MzIgY2xpcHJlY3Rz OwkJLyogcG9pbnRlciB0byB1c2Vyc3BhY2UgY2xpcHJlY3RzICovCit9IGRybV9pOTE1X2JhdGNo YnVmZmVyMzJfdDsKKworc3RhdGljIGludCBjb21wYXRfaTkxNV9iYXRjaGJ1ZmZlcihzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdikK K3sKKwlkcm1faTkxNV9iYXRjaGJ1ZmZlcjMyX3QgKmJhdGNoYnVmZmVyMzIgPSBkYXRhOworCWRy bV9pOTE1X2JhdGNoYnVmZmVyX3QgYmF0Y2hidWZmZXI7CisKKwliYXRjaGJ1ZmZlci5zdGFydCA9 IGJhdGNoYnVmZmVyMzItPnN0YXJ0OworCWJhdGNoYnVmZmVyLnVzZWQgPSBiYXRjaGJ1ZmZlcjMy LT51c2VkOworCWJhdGNoYnVmZmVyLkRSMSA9IGJhdGNoYnVmZmVyMzItPkRSMTsKKwliYXRjaGJ1 ZmZlci5EUjQgPSBiYXRjaGJ1ZmZlcjMyLT5EUjQ7CisJYmF0Y2hidWZmZXIubnVtX2NsaXByZWN0 cyA9IGJhdGNoYnVmZmVyMzItPm51bV9jbGlwcmVjdHM7CisJYmF0Y2hidWZmZXIuY2xpcHJlY3Rz ID0gKHZvaWQgKikodW5zaWduZWQgbG9uZyliYXRjaGJ1ZmZlcjMyLT5jbGlwcmVjdHM7CisKKwly ZXR1cm4gaTkxNV9iYXRjaGJ1ZmZlcihkZXYsICh2b2lkICopJmJhdGNoYnVmZmVyLCBmaWxlX3By aXYpOworfQorCit0eXBlZGVmIHN0cnVjdCBfZHJtX2k5MTVfY21kYnVmZmVyMzIgeworCXUzMiBi dWY7CQkvKiBwb2ludGVyIHRvIHVzZXJzcGFjZSBjb21tYW5kIGJ1ZmZlciAqLworCWludCBzejsJ CQkvKiBuciBieXRlcyBpbiBidWYgKi8KKwlpbnQgRFIxOwkJLyogaHcgZmxhZ3MgZm9yIEdGWF9P UF9EUkFXUkVDVF9JTkZPICovCisJaW50IERSNDsJCS8qIHdpbmRvdyBvcmlnaW4gZm9yIEdGWF9P UF9EUkFXUkVDVF9JTkZPICovCisJaW50IG51bV9jbGlwcmVjdHM7CS8qIG11bGl0cGFzcyB3aXRo IG11bHRpcGxlIGNsaXByZWN0cz8gKi8KKwl1MzIgY2xpcHJlY3RzOwkJLyogcG9pbnRlciB0byB1 c2Vyc3BhY2UgY2xpcHJlY3RzICovCit9IGRybV9pOTE1X2NtZGJ1ZmZlcjMyX3Q7CisKK3N0YXRp YyBpbnQgY29tcGF0X2k5MTVfY21kYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQg KmRhdGEsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KQoreworCWRybV9pOTE1X2NtZGJ1ZmZl cjMyX3QgKmNtZGJ1ZmZlcjMyID0gZGF0YTsKKwlkcm1faTkxNV9jbWRidWZmZXJfdCBjbWRidWZm ZXI7CisKKwljbWRidWZmZXIuc3ogPSBjbWRidWZmZXIzMi0+c3o7CisJY21kYnVmZmVyLkRSMSA9 IGNtZGJ1ZmZlcjMyLT5EUjE7CisJY21kYnVmZmVyLkRSNCA9IGNtZGJ1ZmZlcjMyLT5EUjQ7CisJ Y21kYnVmZmVyLm51bV9jbGlwcmVjdHMgPSBjbWRidWZmZXIzMi0+bnVtX2NsaXByZWN0czsKKwlj bWRidWZmZXIuY2xpcHJlY3RzID0gKHZvaWQgKikodW5zaWduZWQgbG9uZyljbWRidWZmZXIzMi0+ Y2xpcHJlY3RzOworCisJcmV0dXJuIGk5MTVfY21kYnVmZmVyKGRldiwgKHZvaWQgKikmY21kYnVm ZmVyLCBmaWxlX3ByaXYpOworfQorCit0eXBlZGVmIHN0cnVjdCBkcm1faTkxNV9pcnFfZW1pdDMy IHsKKwl1MzIgaXJxX3NlcTsKK30gZHJtX2k5MTVfaXJxX2VtaXQzMl90OworCitzdGF0aWMgaW50 IGNvbXBhdF9pOTE1X2lycV9lbWl0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEs IHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KQoreworCWRybV9pOTE1X2lycV9lbWl0MzJfdCAq cmVxMzIgPSBkYXRhOworCWRybV9pOTE1X2lycV9lbWl0X3QgcmVxdWVzdDsKKworCXJlcXVlc3Qu aXJxX3NlcSA9IChpbnQgKikodW5zaWduZWQgbG9uZylyZXEzMi0+aXJxX3NlcTsKKworCXJldHVy biBpOTE1X2lycV9lbWl0KGRldiwgKHZvaWQgKikmcmVxdWVzdCwgZmlsZV9wcml2KTsKK30KK3R5 cGVkZWYgc3RydWN0IGRybV9pOTE1X2dldHBhcmFtMzIgeworCWludCBwYXJhbTsKKwl1MzIgdmFs dWU7Cit9IGRybV9pOTE1X2dldHBhcmFtMzJfdDsKKworc3RhdGljIGludCBjb21wYXRfaTkxNV9n ZXRwYXJhbShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2Zp bGUgKmZpbGVfcHJpdikKK3sKKwlkcm1faTkxNV9nZXRwYXJhbTMyX3QgKnJlcTMyID0gZGF0YTsK Kwlkcm1faTkxNV9nZXRwYXJhbV90IHJlcXVlc3Q7CisKKwlyZXF1ZXN0LnBhcmFtID0gcmVxMzIt PnBhcmFtOworCXJlcXVlc3QudmFsdWUgPSAodm9pZCAqKSh1bnNpZ25lZCBsb25nKXJlcTMyLT52 YWx1ZTsKKworCXJldHVybiBpOTE1X2dldHBhcmFtKGRldiwgKHZvaWQgKikmcmVxdWVzdCwgZmls ZV9wcml2KTsKK30KKwordHlwZWRlZiBzdHJ1Y3QgZHJtX2k5MTVfbWVtX2FsbG9jMzIgeworCWlu dCByZWdpb247CisJaW50IGFsaWdubWVudDsKKwlpbnQgc2l6ZTsKKwl1MzIgcmVnaW9uX29mZnNl dDsJLyogb2Zmc2V0IGZyb20gc3RhcnQgb2YgZmIgb3IgYWdwICovCit9IGRybV9pOTE1X21lbV9h bGxvYzMyX3Q7CisKK2RybV9pb2N0bF9kZXNjX3QgaTkxNV9jb21wYXRfaW9jdGxzW0RSTV9BUlJB WV9TSVpFKGk5MTVfaW9jdGxzKV0gPSB7CisJRFJNX0lPQ1RMX0RFRihEUk1fSTkxNV9CQVRDSEJV RkZFUiwgY29tcGF0X2k5MTVfYmF0Y2hidWZmZXIsIERSTV9BVVRIKSwKKwlEUk1fSU9DVExfREVG KERSTV9JOTE1X0NNREJVRkZFUiwgY29tcGF0X2k5MTVfY21kYnVmZmVyLCBEUk1fQVVUSCksCisJ RFJNX0lPQ1RMX0RFRihEUk1fSTkxNV9HRVRQQVJBTSwgY29tcGF0X2k5MTVfZ2V0cGFyYW0sIERS TV9BVVRIKSwKKwlEUk1fSU9DVExfREVGKERSTV9JOTE1X0lSUV9FTUlULCBjb21wYXRfaTkxNV9p cnFfZW1pdCwgRFJNX0FVVEgpCit9OwpkaWZmIC0tZ2l0IGEvc3lzL21vZHVsZXMvZHJtMi9kcm0y L01ha2VmaWxlIGIvc3lzL21vZHVsZXMvZHJtMi9kcm0yL01ha2VmaWxlCmluZGV4IGU3MzUyOGIu LjQ4ZWE0MWEgMTAwNjQ0Ci0tLSBhL3N5cy9tb2R1bGVzL2RybTIvZHJtMi9NYWtlZmlsZQorKysg Yi9zeXMvbW9kdWxlcy9kcm0yL2RybTIvTWFrZWZpbGUKQEAgLTM0LDYgKzM0LDYgQEAgU1JDUwk9 IFwKIAlkcm1fdm0uYwogCiBTUkNTCSs9ZGV2aWNlX2lmLmggYnVzX2lmLmggcGNpX2lmLmggZGV2 aWNlX2lmLmggaWljYnVzX2lmLmggb3B0X2RybS5oIFwKLQlvcHRfdm0uaAorCW9wdF92bS5oIG9w dF9jb21wYXQuaAogCiAuaW5jbHVkZSA8YnNkLmttb2QubWs+CmRpZmYgLS1naXQgYS9zeXMvbW9k dWxlcy9kcm0yL2k5MTVrbXMvTWFrZWZpbGUgYi9zeXMvbW9kdWxlcy9kcm0yL2k5MTVrbXMvTWFr ZWZpbGUKaW5kZXggNjExZDMxZi4uNmI1NDhjNiAxMDA2NDQKLS0tIGEvc3lzL21vZHVsZXMvZHJt Mi9pOTE1a21zL01ha2VmaWxlCisrKyBiL3N5cy9tb2R1bGVzL2RybTIvaTkxNWttcy9NYWtlZmls ZQpAQCAtMjksNiArMjksNyBAQCBTUkNTCT0gXAogCWludGVsX3Nkdm8uYyBcCiAJaW50ZWxfc3By aXRlLmMgXAogCWludGVsX3R2LmMKLVNSQ1MJKz0gZGV2aWNlX2lmLmggYnVzX2lmLmggcGNpX2lm LmggaWljYnVzX2lmLmggaWljYmJfaWYuaCBvcHRfZHJtLmgKK1NSQ1MJKz0gZGV2aWNlX2lmLmgg YnVzX2lmLmggcGNpX2lmLmggaWljYnVzX2lmLmggaWljYmJfaWYuaCBvcHRfZHJtLmggXAorCSBv cHRfY29tcGF0LmgKIAogLmluY2x1ZGUgPGJzZC5rbW9kLm1rPgo= --e89a8f923ba0d5719b04c6f3547f-- From owner-freebsd-emulation@FreeBSD.ORG Sat Aug 11 21:12:07 2012 Return-Path: Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3A9E4106564A; Sat, 11 Aug 2012 21:12:07 +0000 (UTC) (envelope-from aoyama@peach.ne.jp) Received: from moon.peach.ne.jp (moon.peach.ne.jp [203.141.148.98]) by mx1.freebsd.org (Postfix) with ESMTP id BC4A08FC0C; Sat, 11 Aug 2012 21:12:05 +0000 (UTC) Received: from moon.peach.ne.jp (localhost [127.0.0.1]) by moon.peach.ne.jp (Postfix) with ESMTP id 516D139E11; Sun, 12 Aug 2012 06:12:04 +0900 (JST) Received: from artemis (unknown [172.18.0.20]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by moon.peach.ne.jp (Postfix) with ESMTPSA id 37A5039E00; Sun, 12 Aug 2012 06:12:04 +0900 (JST) Message-ID: <9307C6DE2E184FCB88B2CE33CA479EDB@ad.peach.ne.jp> From: "Daisuke Aoyama" To: Date: Sun, 12 Aug 2012 06:11:33 +0900 MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset="iso-2022-jp"; reply-type=original Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal Importance: Normal X-Mailer: Microsoft Windows Live Mail 14.0.8117.416 X-MimeOLE: Produced By Microsoft MimeOLE V14.0.8117.416 X-Virus-Scanned: ClamAV using ClamSMTP Cc: freebsd-scsi@freebsd.org Subject: iSCSI LUN extents with VirtualDisk (VDI, VHD, VMDK) for istgt X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Aug 2012 21:12:07 -0000 Hi, I have released istgt-20120811 which supports VirtualBox's VirtualDisk via VBoxDDU.so. If you don't want VBox VD features, you can build it without using --with-vbox. How to build with VBox support: Install VirtualBox 4, and extract the source of same version of it. /usr/local/src/virtualbox/*/include is default location of header. (e.g. /usr/local/src/virtualbox/VirtualBox-4.1.18/include/VBox/vd.h) If you want to extract to other place, you need specify by --with-vbox=PATH. # ./counfigure --with-vbox or # ./counfigure --with-vbox=/home/vboxsrc/VirtualBox-4.1.18/include Required shared libraries are VBoxDDU.so and VBoxRT.so located in /usr/local/lib/virtualbox. You may change this place by --with-vboxlib, but I don't test. Note: FreeBSD platform, configure use the path if exist: /usr/ports/emulators/virtualbox-ose/work /usr/ports/emulators/virtualbox-ose-legacy/work FreeBSD ports version can handle it by VBOXVD option. Both using X11 and starting VBox are unnecessary for istgt. FreeBSD 7.x users can use it with ports/emulators/virtualbox-ose-legacy. Currently it supports read/write only. Other operation such as creation, snapshot, resize are not supported. How to use: Specify with appropriate extension to LUN of LogicalUnit section. It is recommend that you use "Auto" for the size field to prevent creation. The istgt does not support creation of VDs, you need create the VD before starting istgt. example(one of): LUN0 Storage /iscsi/istgt-disk.vdi Auto LUN0 Storage /iscsi/istgt-disk.vhd Auto LUN0 Storage /iscsi/istgt-disk.vmdk Auto How to create Virtual Disk: You can use any size of capacity supported by the VD. But istgt assumes it has fixed 512bytes/block. example(one of): # VBoxManage createhd --filename /iscsi/istgt-disk --size 10240 --format VDI # VBoxManage createhd --filename /iscsi/istgt-disk --size 10240 --format VHD # VBoxManage createhd --filename /iscsi/istgt-disk --size 10240 --format VMDK For more detail written in Japanese: http://shell.peach.ne.jp/aoyama/archives/2088 Regards, Daisuke Aoyama