From owner-freebsd-emulation@FreeBSD.ORG Mon Dec 11 11:14:08 2006 Return-Path: X-Original-To: freebsd-emulation@FreeBSD.org 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 D88E116A537 for ; Mon, 11 Dec 2006 11:14:08 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.FreeBSD.org (Postfix) with ESMTP id BC29743E90 for ; Mon, 11 Dec 2006 11:07:05 +0000 (GMT) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (linimon@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id kBBB8LVP022808 for ; Mon, 11 Dec 2006 11:08:21 GMT (envelope-from owner-bugmaster@FreeBSD.org) Received: (from linimon@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id kBBB8KHM022804 for freebsd-emulation@FreeBSD.org; Mon, 11 Dec 2006 11:08:20 GMT (envelope-from owner-bugmaster@FreeBSD.org) Date: Mon, 11 Dec 2006 11:08:20 GMT Message-Id: <200612111108.kBBB8KHM022804@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: linimon set sender to owner-bugmaster@FreeBSD.org using -f From: FreeBSD bugmaster To: freebsd-emulation@FreeBSD.org Cc: Subject: Current problem reports assigned to you 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, 11 Dec 2006 11:14:09 -0000 Current FreeBSD problem reports Critical problems Serious problems S Tracker Resp. Description -------------------------------------------------------------------------------- o kern/21463 emulation [linux] Linux compatability mode should not allow setu o kern/77710 emulation [linux] Linux page fault sigcontext information is wro o kern/101453 emulation [linux] [patch] linprocfs disallows non-zero file offs f ports/102474 emulation linux_base-fc-4_8 appears broken, does not allow to ru o kern/102956 emulation [linux] [patch] Add partial support for SO_PEERCRED in 5 problems total. Non-critical problems S Tracker Resp. Description -------------------------------------------------------------------------------- o kern/11165 emulation [ibcs2] IBCS2 doesn't work correctly with PID_MAX 9999 o kern/29698 emulation [linux] [patch] linux ipcs doesn'work o kern/39201 emulation [linux] [patch] ptrace(2) and rfork(RFLINUXTHPN) confu o kern/41543 emulation [patch] feature request: easier wine/w23 support o kern/55835 emulation [linux] [patch] Linux IPC emulation missing SETALL sys a kern/72920 emulation [linux]: path "prefixing" is not done on unix domain s o kern/73777 emulation [linux] [patch] linux emulation: root dir special hand o kern/91293 emulation [svr4] [patch] *Experimental* Update to the SVR4 emula 8 problems total. From owner-freebsd-emulation@FreeBSD.ORG Mon Dec 11 21:56:30 2006 Return-Path: X-Original-To: emulation@freebsd.org 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 3C3B116A49E for ; Mon, 11 Dec 2006 21:56:30 +0000 (UTC) (envelope-from xdivac02@stud.fit.vutbr.cz) Received: from eva.fit.vutbr.cz (eva.fit.vutbr.cz [147.229.176.14]) by mx1.FreeBSD.org (Postfix) with ESMTP id ECD7D448C2 for ; Mon, 11 Dec 2006 21:32:23 +0000 (GMT) (envelope-from xdivac02@stud.fit.vutbr.cz) Received: from eva.fit.vutbr.cz (localhost [127.0.0.1]) by eva.fit.vutbr.cz (envelope-from xdivac02@eva.fit.vutbr.cz) (8.13.8/8.13.7) with ESMTP id kBBLXaON001331 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Mon, 11 Dec 2006 22:33:36 +0100 (CET) Received: (from xdivac02@localhost) by eva.fit.vutbr.cz (8.13.8/8.13.3/Submit) id kBBLXaSY001330 for emulation@freebsd.org; Mon, 11 Dec 2006 22:33:36 +0100 (CET) Date: Mon, 11 Dec 2006 22:33:36 +0100 From: Divacky Roman To: emulation@freebsd.org Message-ID: <20061211213336.GA918@stud.fit.vutbr.cz> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.2.2i X-Scanned-By: MIMEDefang 2.57 on 147.229.176.14 Cc: Subject: ask for public SMP testing of linuxulator 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, 11 Dec 2006 21:56:30 -0000 hi there... is there anyone who posses i386/SMP machine running -current and willing/able to test if there are any panics with linuxulator running at 2.6 emulation? you switch that by: sysctl compat.linux.osrelease=2.6.16 we are interested in running almost any tests. I think that installing gentoo base and emerge $something_big (firefox?) is a great test. possible (expected :)) panics please report here on the list thnx roman From owner-freebsd-emulation@FreeBSD.ORG Tue Dec 12 15:07:00 2006 Return-Path: X-Original-To: emulation@freebsd.org 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 631A116A52B; Tue, 12 Dec 2006 15:07:00 +0000 (UTC) (envelope-from netchild@freebsd.org) Received: from redbull.bpaserver.net (redbullneu.bpaserver.net [213.198.78.217]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7787043CE9; Tue, 12 Dec 2006 15:04:52 +0000 (GMT) (envelope-from netchild@freebsd.org) Received: from outgoing.leidinger.net (p54A5E54E.dip.t-dialin.net [84.165.229.78]) by redbull.bpaserver.net (Postfix) with ESMTP id B7D932E206; Tue, 12 Dec 2006 15:36:56 +0100 (CET) Received: from webmail.leidinger.net (webmail.Leidinger.net [192.168.1.102]) by outgoing.leidinger.net (Postfix) with ESMTP id 36C355B4845; Tue, 12 Dec 2006 15:36:52 +0100 (CET) Received: (from www@localhost) by webmail.leidinger.net (8.13.8/8.13.8/Submit) id kBCEaqSh028045; Tue, 12 Dec 2006 15:36:52 +0100 (CET) (envelope-from netchild@FreeBSD.org) Received: from pslux.cec.eu.int (pslux.cec.eu.int [158.169.9.14]) by webmail.leidinger.net (Horde MIME library) with HTTP; Tue, 12 Dec 2006 15:36:51 +0100 Message-ID: <20061212153651.xu3l5uzeo4k48440@webmail.leidinger.net> X-Priority: 3 (Normal) Date: Tue, 12 Dec 2006 15:36:51 +0100 From: Alexander Leidinger To: Rong-En Fan References: <200612061607.kB6G7qvc028250@repoman.freebsd.org> <20061211124544.f0a509b2.acm@FreeBSD.org> <20061212133918.GO68344@svm.csie.ntu.edu.tw> In-Reply-To: <20061212133918.GO68344@svm.csie.ntu.edu.tw> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; DelSp="Yes"; format="flowed" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable User-Agent: Internet Messaging Program (IMP) H3 (4.1.3) / FreeBSD-7.0 X-BPAnet-MailScanner-Information: Please contact the ISP for more information X-BPAnet-MailScanner: Found to be clean X-BPAnet-MailScanner-SpamCheck: not spam, SpamAssassin (not cached, score=-15.264, required 6, autolearn=not spam, BAYES_00 -15.00, DK_POLICY_SIGNSOME 0.00, FORGED_RCVD_HELO 0.14, SARE_FROM_SPAM_WORD3 0.10, SMILEY -0.50) X-BPAnet-MailScanner-From: netchild@freebsd.org X-Spam-Status: No X-Mailman-Approved-At: Tue, 12 Dec 2006 15:22:00 +0000 Cc: emulation@FreeBSD.org, pav@FreeBSD.org, Jose Alonso Cardenas Marquez , keramida@FreeBSD.org, jylefort@brutele.be Subject: Re: linux ports policy 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: Tue, 12 Dec 2006 15:07:00 -0000 Quoting Rong-En Fan (from Tue, 12 Dec 2006 =20 21:39:18 +0800): CCing keramida and pav in the hope someone of them can put something =20 into the porters handbook. Also CCing emulation@ because this is a =20 generic topic of interest (and maybe someone can detect a bug or two =20 in what I describe below). > I CC'ed netchild@ and jylefort@. > > I saw there was a mail last year: > > http://lists.freebsd.org/pipermail/freebsd-ports/2005-March/022212.html > > about the policy on linux ports. The concern is about whether > we should prefix linux- for every linux ports. > > Current PH says nothing about this. So, what's the policy now? We have no policy. Now that the official part is done :) the current way things are handled: Infrastructure ports should be installed into LINUXBASE (generic =20 libs). Enduser ports (e.g. acroread, games, ...) should install into =20 LOCALBASE. Ports for which native versions are likely to appear =20 (current examples are infrastructure ports like libs, and browsers =20 like firefox/opera) need to be prefixed with "linux-". This includes =20 not only the port name but also the binaries and the install location =20 (in case of enduser applications; we don't want them to interfere with =20 native applications if they install plugins or some application =20 specific libs). I can't remember to have seen an agreement that we need to prefix =20 every linux port with the linux- prefix. If a linux port uses the =20 prefix, it is nice in my eyes, but I don't think it needs to be done =20 in any case. Maybe "Porters are encouraged to add the linux- prefix =20 but are not required to do it." describes it best. As always this are just some guides. If it is not possible to use a =20 different location for applications specific libs (most of the time it =20 is possible), the porter needs to find a working solution, but he =20 needs to be aware that there may be problems when mixing native stuff =20 with linux stuff. Sometimes using CONFLICTS may be a good solution, =20 sometimes installing an enduser application into LINUXBASE and =20 providing a wrapper in LOCALBASE to start the stuff in LINUXBASE may =20 be the way to go. Comments for this particular case are below. > On Mon, Dec 11, 2006 at 12:45:44PM -0500, Jose Alonso Cardenas Marquez wro= te: >> On Wed, 6 Dec 2006 16:07:52 +0000 (UTC) >> Rong-En Fan wrote: >> >> > rafan 2006-12-06 16:07:52 UTC >> > >> > FreeBSD ports repository >> > >> > Modified files: >> > games Makefile >> > Added files: >> > games/mtaserver Makefile distinfo pkg-descr pkg-plist >> > games/mtaserver/files mtad.in pkg-message.in >> > Log: >> > Add mtaserver 0.5, multi Theft Auto: Vice City and GTA3 dedicated >> > server. >> > >> > PR: ports/106399 >> > Submitted by: Alexander Logvinov >> > >> > Revision Changes Path >> > 1.1060 +1 -0 ports/games/Makefile >> > 1.1 +44 -0 ports/games/mtaserver/Makefile (new) >> > 1.1 +6 -0 ports/games/mtaserver/distinfo (new) >> > 1.1 +39 -0 ports/games/mtaserver/files/mtad.in (new) >> > 1.1 +6 -0 ports/games/mtaserver/files/pkg-message.in (new) >> > 1.1 +6 -0 ports/games/mtaserver/pkg-descr (new) >> > 1.1 +8 -0 ports/games/mtaserver/pkg-plist (new) >> >> Hi :) >> >> It's a linux-base ports and you missed some things >> >> - Use linux- prefix for port-directory,port-name, port-rcscript and >> port-executable file. While I would be happy to see a native version of a game, I don't =20 think there will be one from a commercial vendor (the GPLed stuff from =20 id software doesn't count). So I think it is ok to keep it as it is. >> - Respect DOCSDIR (Changelog, README, LICENSE) If the port does not referency anything of this at runtime: yes. >> - Use ${INSTALL_*} macros for executable and data files Yes. >> - Use ${BRANDELF} if it's necessary It is necessary, for every ELF executable (but do *not* brand a lib or =20 plugin). We have Makefile glue for this. >> - I think that is not good idea install this app to >> ${PREFIX}/${PORTNAME}, if you see another linux_base-games, they use >> ${PREFIX}/lib/${PORTNAME} Wouldn't libexec be a better place? For a this particular case I agree =20 with installing it somewhere else, but for e.g. linux_dist-gentoo =20 lib/xxx would not be ok. So if someone puts a sentence or two about =20 this into the PH, we should mention that there are some valid reason =20 to not do it this way. >> - You could install data files to ${DATADIR}, and you could create a >> syslink to it into ${PREFIX}/lib/${PORTNAME} I think this only makes sense when the data can be shared where the =20 rest of lib/$PORTNAME is not usable or does not make sense. I doupt =20 this is the case for this port, but I know nothing about the game. Bye, Alexander. --=20 http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID =3D B0063FE7 http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID =3D 72077137 The end move in politics is always to pick up a gun. =09=09-- Buckminster Fuller From owner-freebsd-emulation@FreeBSD.ORG Thu Dec 14 11:33:42 2006 Return-Path: X-Original-To: emulation@freebsd.org 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 A175D16A4A7 for ; Thu, 14 Dec 2006 11:33:42 +0000 (UTC) (envelope-from swhetzel@gmail.com) Received: from nz-out-0506.google.com (nz-out-0506.google.com [64.233.162.224]) by mx1.FreeBSD.org (Postfix) with ESMTP id A62FA43C9E for ; Thu, 14 Dec 2006 11:32:06 +0000 (GMT) (envelope-from swhetzel@gmail.com) Received: by nz-out-0506.google.com with SMTP id i11so232520nzh for ; Thu, 14 Dec 2006 03:33:40 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type; b=saBSRd8T0eaWii0qdWjIdxcNPz9HtW4aeUZNOv2dMHXXLQBAuuvQ89Zb62nRpnofM6qjln92afT+vabMAjHlNrxOK8CUWtzcV0FraTfFA3mNOrXhOwdfgkFCadOG7KXX4zcDYxgbhwT4B8yNwsR+vZJkwTSGmox3YE+rkH49JYs= Received: by 10.65.154.10 with SMTP id g10mr1278166qbo.1166096020523; Thu, 14 Dec 2006 03:33:40 -0800 (PST) Received: by 10.65.61.1 with HTTP; Thu, 14 Dec 2006 03:33:40 -0800 (PST) Message-ID: <790a9fff0612140333ofd0891el59f767329f291371@mail.gmail.com> Date: Thu, 14 Dec 2006 05:33:40 -0600 From: "Scot Hetzel" To: emulation@freebsd.org MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_71916_12049593.1166096020423" Cc: Subject: linuxolator: utimes implementation 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: Thu, 14 Dec 2006 11:33:42 -0000 ------=_Part_71916_12049593.1166096020423 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline While I was running the the tests for ltp-full-20061121, I noticed that the utimes function wasn't implemented in the linuxolator. I looked up the man page and found that it was similar to the utime function, except that it allows a program to set an inode down to the microsecond. Merging together the linux_utime and freebsd32_utimes functions, I was able to create the linux_utimes function. But when I compile the linux module in /sys/module/linux, I get this error: /usr/src/7x/sys-patched/modules/linux/../../compat/linux/linux_misc.c: In function `linux_utimes': /usr/src/7x/sys-patched/modules/linux/../../compat/linux/linux_misc.c:792: error: storage size of 'ltv' isn't known /usr/src/7x/sys-patched/modules/linux/../../compat/linux/linux_misc.c:792: warning: unused variable `ltv' *** Error code 1 At line 792 ltv is defined as: struct l_timeval ltv[2]; Attached is the patch for linux_utimes. Any ideals as to how to fix this problem? Scot -- DISCLAIMER: No electrons were mamed while sending this message. Only slightly bruised. ------=_Part_71916_12049593.1166096020423 Content-Type: text/x-diff; name="linux_utimes.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="linux_utimes.patch" X-Attachment-Id: f_evp3enpq SW5kZXg6IGFtZDY0L2xpbnV4MzIvbGludXgzMl9kdW1teS5jCj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6 IC9ob21lL25jdnMvc3JjL3N5cy9hbWQ2NC9saW51eDMyL2xpbnV4MzJfZHVtbXkuYyx2CnJldHJp ZXZpbmcgcmV2aXNpb24gMS42CmRpZmYgLXUgLXIxLjYgbGludXgzMl9kdW1teS5jCi0tLSBhbWQ2 NC9saW51eDMyL2xpbnV4MzJfZHVtbXkuYwkyOCBPY3QgMjAwNiAxMDo1OTo1OSAtMDAwMAkxLjYK KysrIGFtZDY0L2xpbnV4MzIvbGludXgzMl9kdW1teS5jCTEzIERlYyAyMDA2IDE4OjM0OjU5IC0w MDAwCkBAIC03Nyw3ICs3NSw2IEBACiBEVU1NWSh0aW1lcl9nZXRvdmVycnVuKTsKIERVTU1ZKHRp bWVyX2RlbGV0ZSk7CiBEVU1NWShmc3RhdGZzNjQpOwotRFVNTVkodXRpbWVzKTsKIERVTU1ZKGZh ZHZpc2U2NF82NCk7CiBEVU1NWShtYmluZCk7CiBEVU1NWShnZXRfbWVtcG9saWN5KTsKSW5kZXg6 IGFtZDY0L2xpbnV4MzIvbGludXgzMl9wcm90by5oCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9ob21l L25jdnMvc3JjL3N5cy9hbWQ2NC9saW51eDMyL2xpbnV4MzJfcHJvdG8uaCx2CnJldHJpZXZpbmcg cmV2aXNpb24gMS4yNgpkaWZmIC11IC1yMS4yNiBsaW51eDMyX3Byb3RvLmgKLS0tIGFtZDY0L2xp bnV4MzIvbGludXgzMl9wcm90by5oCTExIE5vdiAyMDA2IDIxOjQ5OjA3IC0wMDAwCTEuMjYKKysr IGFtZDY0L2xpbnV4MzIvbGludXgzMl9wcm90by5oCTE0IERlYyAyMDA2IDA4OjUyOjIwIC0wMDAw CkBAIC03OTgsNyArODM0LDggQEAKIAljaGFyIHNpZ19sX1tQQURMXyhpbnQpXTsgaW50IHNpZzsg Y2hhciBzaWdfcl9bUEFEUl8oaW50KV07CiB9Owogc3RydWN0IGxpbnV4X3V0aW1lc19hcmdzIHsK LQlyZWdpc3Rlcl90IGR1bW15OworCWNoYXIgZm5hbWVfbF9bUEFETF8oY2hhciAqKV07IGNoYXIg KiBmbmFtZTsgY2hhciBmbmFtZV9yX1tQQURSXyhjaGFyICopXTsKKwljaGFyIHRwdHJfbF9bUEFE TF8oc3RydWN0IGxfdGltZXZhbCAqKV07IHN0cnVjdCBsX3RpbWV2YWwgKiB0cHRyOyBjaGFyIHRw dHJfcl9bUEFEUl8oc3RydWN0IGxfdGltZXZhbCAqKV07CiB9Owogc3RydWN0IGxpbnV4X2ZhZHZp c2U2NF82NF9hcmdzIHsKIAlyZWdpc3Rlcl90IGR1bW15OwpAQCAtMTM1MCw3ICsxNDAxLDcgQEAK ICNkZWZpbmUJTElOVVhfU1lTX0FVRV9saW51eF9zdGF0ZnM2NAlBVUVfTlVMTAogI2RlZmluZQlM SU5VWF9TWVNfQVVFX2xpbnV4X2ZzdGF0ZnM2NAlBVUVfTlVMTAogI2RlZmluZQlMSU5VWF9TWVNf QVVFX2xpbnV4X3Rna2lsbAlBVUVfTlVMTAotI2RlZmluZQlMSU5VWF9TWVNfQVVFX2xpbnV4X3V0 aW1lcwlBVUVfTlVMTAorI2RlZmluZQlMSU5VWF9TWVNfQVVFX2xpbnV4X3V0aW1lcwlBVUVfVVRJ TUVTCiAjZGVmaW5lCUxJTlVYX1NZU19BVUVfbGludXhfZmFkdmlzZTY0XzY0CUFVRV9OVUxMCiAj ZGVmaW5lCUxJTlVYX1NZU19BVUVfbGludXhfbWJpbmQJQVVFX05VTEwKICNkZWZpbmUJTElOVVhf U1lTX0FVRV9saW51eF9nZXRfbWVtcG9saWN5CUFVRV9OVUxMCkluZGV4OiBhbWQ2NC9saW51eDMy L2xpbnV4MzJfc3lzZW50LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2hvbWUvbmN2cy9zcmMvc3lz L2FtZDY0L2xpbnV4MzIvbGludXgzMl9zeXNlbnQuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4y NgpkaWZmIC11IC1yMS4yNiBsaW51eDMyX3N5c2VudC5jCi0tLSBhbWQ2NC9saW51eDMyL2xpbnV4 MzJfc3lzZW50LmMJMTEgTm92IDIwMDYgMjE6NDk6MDcgLTAwMDAJMS4yNgorKysgYW1kNjQvbGlu dXgzMi9saW51eDMyX3N5c2VudC5jCTE0IERlYyAyMDA2IDA4OjUyOjIwIC0wMDAwCkBAIC0yOTEs NyArMjkxLDcgQEAKIAl7IEFTKGxpbnV4X3N0YXRmczY0X2FyZ3MpLCAoc3lfY2FsbF90ICopbGlu dXhfc3RhdGZzNjQsIEFVRV9OVUxMLCBOVUxMLCAwLCAwIH0sCS8qIDI2OCA9IGxpbnV4X3N0YXRm czY0ICovCiAJeyAwLCAoc3lfY2FsbF90ICopbGludXhfZnN0YXRmczY0LCBBVUVfTlVMTCwgTlVM TCwgMCwgMCB9LAkvKiAyNjkgPSBsaW51eF9mc3RhdGZzNjQgKi8KIAl7IEFTKGxpbnV4X3Rna2ls bF9hcmdzKSwgKHN5X2NhbGxfdCAqKWxpbnV4X3Rna2lsbCwgQVVFX05VTEwsIE5VTEwsIDAsIDAg fSwJLyogMjcwID0gbGludXhfdGdraWxsICovCi0JeyAwLCAoc3lfY2FsbF90ICopbGludXhfdXRp bWVzLCBBVUVfTlVMTCwgTlVMTCwgMCwgMCB9LAkvKiAyNzEgPSBsaW51eF91dGltZXMgKi8KKwl7 IEFTKGxpbnV4X3V0aW1lc19hcmdzKSwgKHN5X2NhbGxfdCAqKWxpbnV4X3V0aW1lcywgQVVFX1VU SU1FUywgTlVMTCwgMCwgMCB9LAkvKiAyNzEgPSBsaW51eF91dGltZXMgKi8KIAl7IDAsIChzeV9j YWxsX3QgKilsaW51eF9mYWR2aXNlNjRfNjQsIEFVRV9OVUxMLCBOVUxMLCAwLCAwIH0sCS8qIDI3 MiA9IGxpbnV4X2ZhZHZpc2U2NF82NCAqLwogCXsgMCwgKHN5X2NhbGxfdCAqKW5vc3lzLCBBVUVf TlVMTCwgTlVMTCwgMCwgMCB9LAkJCS8qIDI3MyA9ICAqLwogCXsgMCwgKHN5X2NhbGxfdCAqKWxp bnV4X21iaW5kLCBBVUVfTlVMTCwgTlVMTCwgMCwgMCB9LAkvKiAyNzQgPSBsaW51eF9tYmluZCAq LwpJbmRleDogYW1kNjQvbGludXgzMi9zeXNjYWxscy5tYXN0ZXIKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmls ZTogL2hvbWUvbmN2cy9zcmMvc3lzL2FtZDY0L2xpbnV4MzIvc3lzY2FsbHMubWFzdGVyLHYKcmV0 cmlldmluZyByZXZpc2lvbiAxLjIzCmRpZmYgLXUgLXIxLjIzIHN5c2NhbGxzLm1hc3RlcgotLS0g YW1kNjQvbGludXgzMi9zeXNjYWxscy5tYXN0ZXIJMjkgT2N0IDIwMDYgMTQ6MDI6MzggLTAwMDAJ MS4yMworKysgYW1kNjQvbGludXgzMi9zeXNjYWxscy5tYXN0ZXIJMTQgRGVjIDIwMDYgMDg6MDI6 MDUgLTAwMDAKQEAgLTQzNCw3ICs0MzgsOCBAQAogMjY4CUFVRV9OVUxMCVNURAl7IGludCBsaW51 eF9zdGF0ZnM2NChjaGFyICpwYXRoLCBzdHJ1Y3QgbF9zdGF0ZnM2NF9idWYgKmJ1Zik7IH0KIDI2 OQlBVUVfTlVMTAlTVEQJeyBpbnQgbGludXhfZnN0YXRmczY0KHZvaWQpOyB9CiAyNzAJQVVFX05V TEwJU1RECXsgaW50IGxpbnV4X3Rna2lsbChpbnQgdGdpZCwgaW50IHBpZCwgaW50IHNpZyk7IH0K LTI3MQlBVUVfTlVMTAlTVEQJeyBpbnQgbGludXhfdXRpbWVzKHZvaWQpOyB9CisyNzEJQVVFX1VU SU1FUwlTVEQJeyBpbnQgbGludXhfdXRpbWVzKGNoYXIgKmZuYW1lLCBcCisJCQkJCXN0cnVjdCBs X3RpbWV2YWwgKnRwdHIpOyB9CiAyNzIJQVVFX05VTEwJU1RECXsgaW50IGxpbnV4X2ZhZHZpc2U2 NF82NCh2b2lkKTsgfQogMjczCUFVRV9OVUxMCVVOSU1QTAogMjc0CUFVRV9OVUxMCVNURAl7IGlu dCBsaW51eF9tYmluZCh2b2lkKTsgfQpJbmRleDogY29tcGF0L2xpbnV4L2xpbnV4X21pc2MuYwo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9uY3ZzL3NyYy9zeXMvY29tcGF0L2xpbnV4L2xpbnV4 X21pc2MuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xOTkKZGlmZiAtdSAtcjEuMTk5IGxpbnV4 X21pc2MuYwotLS0gY29tcGF0L2xpbnV4L2xpbnV4X21pc2MuYwk0IERlYyAyMDA2IDIyOjQ2OjA5 IC0wMDAwCTEuMTk5CisrKyBjb21wYXQvbGludXgvbGludXhfbWlzYy5jCTE0IERlYyAyMDA2IDA5 OjA5OjA1IC0wMDAwCkBAIC03ODUsNiArNzg1LDM5IEBACiAJTEZSRUVQQVRIKGZuYW1lKTsKIAly ZXR1cm4gKGVycm9yKTsKIH0KKworaW50CitsaW51eF91dGltZXMoc3RydWN0IHRocmVhZCAqdGQs IHN0cnVjdCBsaW51eF91dGltZXNfYXJncyAqYXJncykKK3sKKwlzdHJ1Y3QgbF90aW1ldmFsIGx0 dlsyXTsKKwlzdHJ1Y3QgdGltZXZhbCB0dlsyXSwgKnR2cDsKKwljaGFyICpmbmFtZTsKKwlpbnQg ZXJyb3I7CisKKwlMQ09OVlBBVEhFWElTVCh0ZCwgYXJncy0+Zm5hbWUsICZmbmFtZSk7CisKKyNp ZmRlZiBERUJVRworCWlmIChsZGVidWcodXRpbWVzKQorCQlwcmludGYoQVJHUyh1dGltZXMsICIl cywgKiIpLCBmbmFtZSk7CisjZW5kaWYKKworCWlmIChhcmdzLT50cHRyICE9IE5VTEwpIHsKKwkJ aWYgKChlcnJvciA9IGNvcHlpbihhcmdzLT50cHRyLCBsdHYsIHNpemVvZiBsdHYpKSkgeworCQkJ TEZSRUVQQVRIKGZuYW1lKTsKKwkJCXJldHVybiBlcnJvcjsKKwkJfQorCQl0dlswXS50dl9zZWMg PSBsdHZbMF0udHZfc2VjOworCQl0dlswXS50dl91c2VjID0gbHR2WzBdLnR2X3VzZWM7CisJCXR2 WzFdLnR2X3NlYyA9IGx0dlsxXS50dl9zZWM7CisJCXR2WzFdLnR2X3VzZWMgPSBsdHZbMV0udHZf dXNlYzsKKwkJdHZwID0gdHY7CisJfSBlbHNlCisJCXR2cCA9IE5VTEw7CisKKwllcnJvciA9IGtl cm5fdXRpbWVzKHRkLCBmbmFtZSwgVUlPX1NZU1NQQUNFLCB0dnAsIFVJT19TWVNTUEFDRSk7CisJ TEZSRUVQQVRIKGZuYW1lKTsKKwlyZXR1cm4gKGVycm9yKTsKK30KICNlbmRpZiAvKiBfX2kzODZf XyB8fCAoX19hbWQ2NF9fICYmIENPTVBBVF9MSU5VWDMyKSAqLwogCiAjZGVmaW5lIF9fV0NMT05F IDB4ODAwMDAwMDAKSW5kZXg6IGkzODYvbGludXgvbGludXhfZHVtbXkuYwo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJD UyBmaWxlOiAvaG9tZS9uY3ZzL3NyYy9zeXMvaTM4Ni9saW51eC9saW51eF9kdW1teS5jLHYKcmV0 cmlldmluZyByZXZpc2lvbiAxLjQ0CmRpZmYgLXUgLXIxLjQ0IGxpbnV4X2R1bW15LmMKLS0tIGkz ODYvbGludXgvbGludXhfZHVtbXkuYwkyOCBPY3QgMjAwNiAxMDo1OTo1OSAtMDAwMAkxLjQ0Cisr KyBpMzg2L2xpbnV4L2xpbnV4X2R1bW15LmMJMTQgRGVjIDIwMDYgMDk6MDA6MjcgLTAwMDAKQEAg LTczLDcgKzcxLDYgQEAKIERVTU1ZKGVwb2xsX3dhaXQpOwogRFVNTVkocmVtYXBfZmlsZV9wYWdl cyk7CiBEVU1NWShmc3RhdGZzNjQpOwotRFVNTVkodXRpbWVzKTsKIERVTU1ZKGZhZHZpc2U2NF82 NCk7CiBEVU1NWShtYmluZCk7CiBEVU1NWShnZXRfbWVtcG9saWN5KTsKSW5kZXg6IGkzODYvbGlu dXgvbGludXhfcHJvdG8uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9uY3ZzL3NyYy9zeXMv aTM4Ni9saW51eC9saW51eF9wcm90by5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjg3CmRpZmYg LXUgLXIxLjg3IGxpbnV4X3Byb3RvLmgKLS0tIGkzODYvbGludXgvbGludXhfcHJvdG8uaAkxMSBO b3YgMjAwNiAxNjoyNjo1NiAtMDAwMAkxLjg3CisrKyBpMzg2L2xpbnV4L2xpbnV4X3Byb3RvLmgJ MTQgRGVjIDIwMDYgMDg6NTk6MjEgLTAwMDAKQEAgLTgwMCw3ICs4MzQsOCBAQAogCWNoYXIgc2ln X2xfW1BBRExfKGludCldOyBpbnQgc2lnOyBjaGFyIHNpZ19yX1tQQURSXyhpbnQpXTsKIH07CiBz dHJ1Y3QgbGludXhfdXRpbWVzX2FyZ3MgewotCXJlZ2lzdGVyX3QgZHVtbXk7CisJY2hhciBmbmFt ZV9sX1tQQURMXyhjaGFyICopXTsgY2hhciAqIGZuYW1lOyBjaGFyIGZuYW1lX3JfW1BBRFJfKGNo YXIgKildOworCWNoYXIgdHB0cl9sX1tQQURMXyhzdHJ1Y3QgbF90aW1ldmFsICopXTsgc3RydWN0 IGxfdGltZXZhbCAqIHRwdHI7IGNoYXIgdHB0cl9yX1tQQURSXyhzdHJ1Y3QgbF90aW1ldmFsICop XTsKIH07CiBzdHJ1Y3QgbGludXhfZmFkdmlzZTY0XzY0X2FyZ3MgewogCXJlZ2lzdGVyX3QgZHVt bXk7CkluZGV4OiBpMzg2L2xpbnV4L2xpbnV4X3N5c2VudC5jCj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6 IC9ob21lL25jdnMvc3JjL3N5cy9pMzg2L2xpbnV4L2xpbnV4X3N5c2VudC5jLHYKcmV0cmlldmlu ZyByZXZpc2lvbiAxLjg3CmRpZmYgLXUgLXIxLjg3IGxpbnV4X3N5c2VudC5jCi0tLSBpMzg2L2xp bnV4L2xpbnV4X3N5c2VudC5jCTI5IE9jdCAyMDA2IDE0OjEyOjQ0IC0wMDAwCTEuODcKKysrIGkz ODYvbGludXgvbGludXhfc3lzZW50LmMJMTQgRGVjIDIwMDYgMDg6NTk6MjEgLTAwMDAKQEAgLTI5 MCw3ICsyOTAsNyBAQAogCXsgQVMobGludXhfc3RhdGZzNjRfYXJncyksIChzeV9jYWxsX3QgKils aW51eF9zdGF0ZnM2NCwgQVVFX1NUQVRGUywgTlVMTCwgMCwgMCB9LAkvKiAyNjggPSBsaW51eF9z dGF0ZnM2NCAqLwogCXsgMCwgKHN5X2NhbGxfdCAqKWxpbnV4X2ZzdGF0ZnM2NCwgQVVFX0ZTVEFU RlMsIE5VTEwsIDAsIDAgfSwJLyogMjY5ID0gbGludXhfZnN0YXRmczY0ICovCiAJeyBBUyhsaW51 eF90Z2tpbGxfYXJncyksIChzeV9jYWxsX3QgKilsaW51eF90Z2tpbGwsIEFVRV9OVUxMLCBOVUxM LCAwLCAwIH0sCS8qIDI3MCA9IGxpbnV4X3Rna2lsbCAqLwotCXsgMCwgKHN5X2NhbGxfdCAqKWxp bnV4X3V0aW1lcywgQVVFX1VUSU1FUywgTlVMTCwgMCwgMCB9LAkvKiAyNzEgPSBsaW51eF91dGlt ZXMgKi8KKwl7IEFTKGxpbnV4X3V0aW1lc19hcmdzKSwgKHN5X2NhbGxfdCAqKWxpbnV4X3V0aW1l cywgQVVFX1VUSU1FUywgTlVMTCwgMCwgMCB9LAkvKiAyNzEgPSBsaW51eF91dGltZXMgKi8KIAl7 IDAsIChzeV9jYWxsX3QgKilsaW51eF9mYWR2aXNlNjRfNjQsIEFVRV9OVUxMLCBOVUxMLCAwLCAw IH0sCS8qIDI3MiA9IGxpbnV4X2ZhZHZpc2U2NF82NCAqLwogCXsgMCwgKHN5X2NhbGxfdCAqKW5v c3lzLCBBVUVfTlVMTCwgTlVMTCwgMCwgMCB9LAkJCS8qIDI3MyA9ICAqLwogCXsgMCwgKHN5X2Nh bGxfdCAqKWxpbnV4X21iaW5kLCBBVUVfTlVMTCwgTlVMTCwgMCwgMCB9LAkvKiAyNzQgPSBsaW51 eF9tYmluZCAqLwpJbmRleDogaTM4Ni9saW51eC9zeXNjYWxscy5tYXN0ZXIKPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpS Q1MgZmlsZTogL2hvbWUvbmN2cy9zcmMvc3lzL2kzODYvbGludXgvc3lzY2FsbHMubWFzdGVyLHYK cmV0cmlldmluZyByZXZpc2lvbiAxLjgzCmRpZmYgLXUgLXIxLjgzIHN5c2NhbGxzLm1hc3Rlcgot LS0gaTM4Ni9saW51eC9zeXNjYWxscy5tYXN0ZXIJMjkgT2N0IDIwMDYgMTQ6MDI6MzkgLTAwMDAJ MS44MworKysgaTM4Ni9saW51eC9zeXNjYWxscy5tYXN0ZXIJMTQgRGVjIDIwMDYgMDg6MDA6NDkg LTAwMDAKQEAgLTQzOSw3ICs0NDMsOCBAQAogMjY4CUFVRV9TVEFURlMJU1RECXsgaW50IGxpbnV4 X3N0YXRmczY0KGNoYXIgKnBhdGgsIHN0cnVjdCBsX3N0YXRmczY0X2J1ZiAqYnVmKTsgfQogMjY5 CUFVRV9GU1RBVEZTCVNURAl7IGludCBsaW51eF9mc3RhdGZzNjQodm9pZCk7IH0KIDI3MAlBVUVf TlVMTAlTVEQJeyBpbnQgbGludXhfdGdraWxsKGludCB0Z2lkLCBpbnQgcGlkLCBpbnQgc2lnKTsg fQotMjcxCUFVRV9VVElNRVMJU1RECXsgaW50IGxpbnV4X3V0aW1lcyh2b2lkKTsgfQorMjcxCUFV RV9VVElNRVMJU1RECXsgaW50IGxpbnV4X3V0aW1lcyhjaGFyICpmbmFtZSwgXAorCQkJCQlzdHJ1 Y3QgbF90aW1ldmFsICp0cHRyKTsgfQogMjcyCUFVRV9OVUxMCVNURAl7IGludCBsaW51eF9mYWR2 aXNlNjRfNjQodm9pZCk7IH0KIDI3MwlBVUVfTlVMTAlVTklNUEwKIDI3NAlBVUVfTlVMTAlTVEQJ eyBpbnQgbGludXhfbWJpbmQodm9pZCk7IH0K ------=_Part_71916_12049593.1166096020423-- From owner-freebsd-emulation@FreeBSD.ORG Thu Dec 14 12:13:20 2006 Return-Path: X-Original-To: emulation@freebsd.org 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 EE3F116A4D2 for ; Thu, 14 Dec 2006 12:13:20 +0000 (UTC) (envelope-from swhetzel@gmail.com) Received: from nz-out-0506.google.com (nz-out-0506.google.com [64.233.162.239]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3729A43DA4 for ; Thu, 14 Dec 2006 11:59:53 +0000 (GMT) (envelope-from swhetzel@gmail.com) Received: by nz-out-0506.google.com with SMTP id i11so235150nzh for ; Thu, 14 Dec 2006 04:01:28 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type; b=C1fpIsUk9j+60C3anyUu1nTASCjb2BwVjpbswWwFMPVORVeR5yive3ztPA3kTGk7CP+n2YnoFbukn+/13L45JsNnqDolED3F423KLMHvJc0UvOX7LqvJe845geIkIOOc3PTFx1ervWAV3L0S53a2xkjNkMLD7C1Z4DU01oDQPbI= Received: by 10.65.210.18 with SMTP id m18mr1415163qbq.1166097687920; Thu, 14 Dec 2006 04:01:27 -0800 (PST) Received: by 10.65.61.1 with HTTP; Thu, 14 Dec 2006 04:01:27 -0800 (PST) Message-ID: <790a9fff0612140401h7bf0bdb0idb1590120ae95e3f@mail.gmail.com> Date: Thu, 14 Dec 2006 06:01:27 -0600 From: "Scot Hetzel" To: emulation@freebsd.org MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_72120_10226074.1166097687876" Cc: Subject: linuxolator: proc/filesystems implementation 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: Thu, 14 Dec 2006 12:13:21 -0000 ------=_Part_72120_10226074.1166097687876 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Linux has a file in the procfs that shows all the loaded filesystem modules. I have implemented the function that fills this file using the linprocfs module. What the function does is look for specific kernel modules using module_lookupbyname to create an entry in the proc/filesystems file: # cat /compat/linux/proc/filesystems cd9660 nodev devfs nodev bsdprocfs mfs msdosfs nfs nfs4 nodev procfs nodev sysfs ufs # kldload smbfs # cat /compat/linux/proc/filesystems cd9660 nodev devfs nodev bsdprocfs mfs msdosfs nfs nfs4 nodev procfs smbfs nodev sysfs ufs Unloading a filesystem kernel module will remove the entry from proc/filesystems. Scot -- DISCLAIMER: No electrons were mamed while sending this message. Only slightly bruised. ------=_Part_72120_10226074.1166097687876 Content-Type: text/x-diff; name="linprocfs_filesystem.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="linprocfs_filesystem.patch" X-Attachment-Id: f_evp4fm4c SW5kZXg6IGNvbXBhdC9saW5wcm9jZnMvbGlucHJvY2ZzLmMKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTog L2hvbWUvbmN2cy9zcmMvc3lzL2NvbXBhdC9saW5wcm9jZnMvbGlucHJvY2ZzLmMsdgpyZXRyaWV2 aW5nIHJldmlzaW9uIDEuMTAxCmRpZmYgLXUgLXIxLjEwMSBsaW5wcm9jZnMuYwotLS0gY29tcGF0 L2xpbnByb2Nmcy9saW5wcm9jZnMuYwkyNyBOb3YgMjAwNiAyMToxMDo1NSAtMDAwMAkxLjEwMQor KysgY29tcGF0L2xpbnByb2Nmcy9saW5wcm9jZnMuYwkyOSBOb3YgMjAwNiAwNToyMTo1MSAtMDAw MApAQCAtMTAzMSw2ICsxMDMxLDY1IEBACiB9CiAKIC8qCisgKiBGaWxsZXIgZnVuY3Rpb24gZm9y IHByb2MvZmlsZXN5c3RlbXMKKyAqCisgKiBOT1RFOiBUaGUgb25seSBwcm9ibGVtIGlzIHRoYXQg YXMgbmV3IGZpbGVzeXN0ZW1zIGFyZSBhZGRlZCwgdGhleQorICogICAgICAgd2lsbCBuZWVkIHRv IGJlIGFkZGVkIHRvIHRoaXMgbGlzdCBhbHBhYmV0aWNhbGx5LCBhcyB0aGUKKyAqICAgICAgIGxp c3QgY2FuJ3QgYmUgdXBkYXRlZCBkeW5hbWljYWxseS4KKyAqLworc3RhdGljIGludAorbGlucHJv Y2ZzX2RvZmlsZXN5c3RlbXMoUEZTX0ZJTExfQVJHUykKK3sKKworI2RlZmluZSBGU19BREQobmFt ZSwgbm9kZXYsIGZpbGVzeXN0ZW0pIFwKKwlpZiAobW9kdWxlX2xvb2t1cGJ5bmFtZShuYW1lKSAh PSBOVUxMKSBcCisJICAgIHNidWZfcHJpbnRmKHNiLCAiJXNcdCVzXG4iLCBcCisJCW5vZGV2ID8g Im5vZGV2IiA6ICIiLCBmaWxlc3lzdGVtKTsKKworCU1PRF9TTE9DSzsKKwkvKgorCSAqIFByaW50 IGEgbGlzdCBvZiB0aGUgY3VycmVudGx5IGxvYWRlZCBrZXJuZWwgZmlsZXN5c3RlbSBtb2R1bGVz LgorCSAqCisJICoJRnJlZUJTRAkJTm8JTGludXgKKwkgKglLZXJuZWwJCVNwZWNpYWwgRmlsZXN5 c3RlbQorCSAqCU1vZHVsZQkJRGV2aWNlCU5hbWUKKwkgKi8KKwlGU19BREQoImNkOTY2MCIsCTAs CSJjZDk2NjAiKTsKKwlGU19BREQoImRldmZzIiwJCTEsCSJkZXZmcyIpOworCUZTX0FERCgiZXh0 MmZzIiwJMCwJImV4dDJmcyIpOworCUZTX0FERCgicHJvY2ZzIiwJMSwJImJzZHByb2NmcyIpOwkv KiByZW5hbWVkIHByb2NmcyBtb2R1bGUgdG8gYnNkcHJvY2ZzICovCisJRlNfQUREKCJmZGVzY2Zz IiwJMSwJImZkZXNjZnMiKTsKKwlGU19BREQoImdfbWQiLAkJMCwJIm1mcyIpOworCUZTX0FERCgi bXNkb3NmcyIsCTAsCSJtc2Rvc2ZzIik7CisKKwlGU19BREQoIm5mcyIsCQkwLAkibmZzIik7CQkv KiBYWFg6IFNob3VsZCBObyBTcGVjaWFsIERldmljZSBiZSAxIGZvciBuZnMqICovCisJRlNfQURE KCJuZnM0IiwJCTAsCSJuZnM0Iik7CisKKwlGU19BREQoIm50ZnMiLAkJMCwJIm50ZnMiKTsKKwlG U19BREQoIm51bGxmcyIsCTEsCSJudWxsZnMiKTsKKworCUZTX0FERCgibndmcyIsCQkwLAkibndm cyIpOwkvKiBYWFg6IFNob3VsZCBObyBTcGVjaWFsIERldmljZSBiZSAxIGZvciBud2ZzICovCisK KwlGU19BREQoImxpbnByb2NmcyIsCTEsCSJwcm9jZnMiKTsJLyogcmVuYW1lZCB0byBsaW51eCBm aWxlc3lzdGVtIG5hbWUgKi8KKwlGU19BREQoInBvcnRhbGZzIiwJMSwJInBvcnRhbGZzIik7CisJ RlNfQUREKCJyZWlzZXJmcyIsCTAsCSJyZWlzZXJmcyIpOworCisJRlNfQUREKCJzbWJmcyIsCQkw LAkic21iZnMiKTsJLyogWFhYOiBTaG91bGQgTm8gU3BlY2lhbCBEZXZpY2UgYmUgMSBmb3Igc21i ZnMgKi8KKworCUZTX0FERCgibGluc3lzZnMiLAkxLAkic3lzZnMiKTsJLyogcmVuYW1lZCB0byBs aW51eCBmaWxlc3lzdGVtIG5hbWUgKi8KKwlGU19BREQoInVkZiIsCQkwLAkidWRmIik7CisJRlNf QUREKCJ1ZnMiLAkJMCwJInVmcyIpOworCUZTX0FERCgidW1hcGZzIiwJMSwJInVtYXBmcyIpOwor CUZTX0FERCgidW5pb25mcyIsCTEsCSJ1bmlvbmZzIik7CisJRlNfQUREKCJ4ZnMiLAkJMCwJInhm cyIpOworCUZTX0FERCgiemZzIiwJCTAsCSJ6ZnMiKTsKKwlNT0RfU1VOTE9DSzsKKyN1bmRlZiBG U19BREQKKworCXJldHVybiAoMCk7Cit9CisKKy8qCiAgKiBGaWxsZXIgZnVuY3Rpb24gZm9yIHBy b2MvY21kbGluZQogICovCiBzdGF0aWMgaW50CkBAIC0xMDc2LDYgKzExMzUsOCBAQAogCSAgICBO VUxMLCBOVUxMLCBQRlNfUkQpOwogCXBmc19jcmVhdGVfZmlsZShyb290LCAiZGV2aWNlcyIsICZs aW5wcm9jZnNfZG9kZXZpY2VzLAogCSAgICBOVUxMLCBOVUxMLCBQRlNfUkQpOworCXBmc19jcmVh dGVfZmlsZShyb290LCAiZmlsZXN5c3RlbXMiLCAmbGlucHJvY2ZzX2RvZmlsZXN5c3RlbXMsCisJ ICAgIE5VTEwsIE5VTEwsIFBGU19SRCk7CiAJcGZzX2NyZWF0ZV9maWxlKHJvb3QsICJsb2FkYXZn IiwgJmxpbnByb2Nmc19kb2xvYWRhdmcsCiAJICAgIE5VTEwsIE5VTEwsIFBGU19SRCk7CiAJcGZz X2NyZWF0ZV9maWxlKHJvb3QsICJtZW1pbmZvIiwgJmxpbnByb2Nmc19kb21lbWluZm8sCg== ------=_Part_72120_10226074.1166097687876-- From owner-freebsd-emulation@FreeBSD.ORG Thu Dec 14 12:32:49 2006 Return-Path: X-Original-To: emulation@freebsd.org 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 1518A16A50A for ; Thu, 14 Dec 2006 12:32:49 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from relay01.kiev.sovam.com (relay01.kiev.sovam.com [62.64.120.200]) by mx1.FreeBSD.org (Postfix) with ESMTP id 09B9B43D9A for ; Thu, 14 Dec 2006 12:30:03 +0000 (GMT) (envelope-from kostikbel@gmail.com) Received: from [212.82.216.227] (helo=fw.zoral.com.ua) by relay01.kiev.sovam.com with esmtps (TLSv1:AES256-SHA:256) (Exim 4.60) (envelope-from ) id 1Gupk7-000Eaa-Gv for emulation@freebsd.org; Thu, 14 Dec 2006 14:31:28 +0200 Received: from deviant.kiev.zoral.com.ua (root@deviant.kiev.zoral.com.ua [10.1.1.148]) by fw.zoral.com.ua (8.13.4/8.13.4) with ESMTP id kBECVDH7056767 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 14 Dec 2006 14:31:13 +0200 (EET) (envelope-from kostikbel@gmail.com) Received: from deviant.kiev.zoral.com.ua (kostik@localhost [127.0.0.1]) by deviant.kiev.zoral.com.ua (8.13.8/8.13.8) with ESMTP id kBECVDw1024637; Thu, 14 Dec 2006 14:31:13 +0200 (EET) (envelope-from kostikbel@gmail.com) Received: (from kostik@localhost) by deviant.kiev.zoral.com.ua (8.13.8/8.13.8/Submit) id kBECVCMl024636; Thu, 14 Dec 2006 14:31:12 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: deviant.kiev.zoral.com.ua: kostik set sender to kostikbel@gmail.com using -f Date: Thu, 14 Dec 2006 14:31:12 +0200 From: Kostik Belousov To: Scot Hetzel Message-ID: <20061214123111.GC67895@deviant.kiev.zoral.com.ua> References: <790a9fff0612140401h7bf0bdb0idb1590120ae95e3f@mail.gmail.com> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="kfjH4zxOES6UT95V" Content-Disposition: inline In-Reply-To: <790a9fff0612140401h7bf0bdb0idb1590120ae95e3f@mail.gmail.com> User-Agent: Mutt/1.4.2.2i X-Virus-Scanned: ClamAV version 0.88.4, clamav-milter version 0.88.4 on fw.zoral.com.ua X-Virus-Status: Clean X-Spam-Status: No, score=1.4 required=5.0 tests=SPF_NEUTRAL, UNPARSEABLE_RELAY autolearn=no version=3.1.4 X-Spam-Level: * X-Spam-Checker-Version: SpamAssassin 3.1.4 (2006-07-25) on fw.zoral.com.ua X-Scanner-Signature: 6dc4245230f22f3abb357b69a6da667e X-DrWeb-checked: yes X-SpamTest-Envelope-From: kostikbel@gmail.com X-SpamTest-Group-ID: 00000000 X-SpamTest-Info: Profiles 610 [Dec 14 2006] X-SpamTest-Info: helo_type=3 X-SpamTest-Info: {received from trusted relay: not dialup} X-SpamTest-Method: none X-SpamTest-Method: Local Lists X-SpamTest-Rate: 0 X-SpamTest-Status: Not detected X-SpamTest-Status-Extended: not_detected X-SpamTest-Version: SMTP-Filter Version 3.0.0 [0255], KAS30/Release Cc: emulation@freebsd.org Subject: Re: linuxolator: proc/filesystems implementation 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: Thu, 14 Dec 2006 12:32:49 -0000 --kfjH4zxOES6UT95V Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Dec 14, 2006 at 06:01:27AM -0600, Scot Hetzel wrote: > Linux has a file in the procfs that shows all the loaded filesystem modul= es. >=20 > I have implemented the function that fills this file using the linprocfs= =20 > module. >=20 > What the function does is look for specific kernel modules using > module_lookupbyname to create an entry in the proc/filesystems file: >=20 > # cat /compat/linux/proc/filesystems > cd9660 > nodev devfs > nodev bsdprocfs > mfs > msdosfs > nfs > nfs4 > nodev procfs > nodev sysfs > ufs > # kldload smbfs > # cat /compat/linux/proc/filesystems > cd9660 > nodev devfs > nodev bsdprocfs > mfs > msdosfs > nfs > nfs4 > nodev procfs > smbfs > nodev sysfs > ufs >=20 > Unloading a filesystem kernel module will remove the entry from > proc/filesystems. The kernel keeps the list of the registered fs types in the vfsconf list of struct vfsconf. See sys/sys/mount.h and sys/kern/vfs_init.c. --kfjH4zxOES6UT95V Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (FreeBSD) iD8DBQFFgUQPC3+MBN1Mb4gRAqDFAKCUKBhsE3pkib2X22/nMF4avhhqlQCgutRC nL3lynY9CKlnGWxsniLXfPQ= =yb+M -----END PGP SIGNATURE----- --kfjH4zxOES6UT95V-- From owner-freebsd-emulation@FreeBSD.ORG Thu Dec 14 14:46:05 2006 Return-Path: X-Original-To: emulation@freebsd.org 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 5CB0816A47B; Thu, 14 Dec 2006 14:46:05 +0000 (UTC) (envelope-from rafan@svm.csie.ntu.edu.tw) Received: from svm.csie.ntu.edu.tw (svm.csie.ntu.edu.tw [140.112.90.75]) by mx1.FreeBSD.org (Postfix) with ESMTP id BF08243CB8; Thu, 14 Dec 2006 14:44:28 +0000 (GMT) (envelope-from rafan@svm.csie.ntu.edu.tw) Received: from svm.csie.ntu.edu.tw (localhost [127.0.0.1]) by svm.csie.ntu.edu.tw (8.13.8/8.13.8) with ESMTP id kBEEk3PL058506; Thu, 14 Dec 2006 22:46:03 +0800 (CST) (envelope-from rafan@svm.csie.ntu.edu.tw) Received: (from rafan@localhost) by svm.csie.ntu.edu.tw (8.13.8/8.13.8/Submit) id kBEEk21A088298; Thu, 14 Dec 2006 22:46:02 +0800 (CST) (envelope-from rafan) Date: Thu, 14 Dec 2006 22:46:02 +0800 From: Rong-En Fan To: Alexander Leidinger Message-ID: <20061214144602.GD93983@svm.csie.ntu.edu.tw> References: <200612061607.kB6G7qvc028250@repoman.freebsd.org> <20061211124544.f0a509b2.acm@FreeBSD.org> <20061212133918.GO68344@svm.csie.ntu.edu.tw> <20061212153651.xu3l5uzeo4k48440@webmail.leidinger.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20061212153651.xu3l5uzeo4k48440@webmail.leidinger.net> User-Agent: Mutt/1.5.13 (2006-08-11) Cc: emulation@freebsd.org, Jose Alonso Cardenas Marquez , jylefort@brutele.be, pav@freebsd.org, keramida@freebsd.org, Rong-En Fan Subject: Re: linux ports policy 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: Thu, 14 Dec 2006 14:46:05 -0000 On Tue, Dec 12, 2006 at 03:36:51PM +0100, Alexander Leidinger wrote: > Quoting Rong-En Fan (from Tue, 12 Dec 2006 > 21:39:18 +0800): > > We have no policy. > > Now that the official part is done :) the current way things are handled: Thanks! [...] > Comments for this particular case are below. > > >On Mon, Dec 11, 2006 at 12:45:44PM -0500, Jose Alonso Cardenas Marquez > >wrote: > >>On Wed, 6 Dec 2006 16:07:52 +0000 (UTC) > >>Rong-En Fan wrote: > >> > >>> rafan 2006-12-06 16:07:52 UTC > >>> > >>> FreeBSD ports repository > >>> > >>> Modified files: > >>> games Makefile > >>> Added files: > >>> games/mtaserver Makefile distinfo pkg-descr pkg-plist > >>> games/mtaserver/files mtad.in pkg-message.in > >>> Log: > >>> Add mtaserver 0.5, multi Theft Auto: Vice City and GTA3 dedicated > >>> server. > >>> > >>> PR: ports/106399 > >>> Submitted by: Alexander Logvinov > >>> > >>> Revision Changes Path > >>> 1.1060 +1 -0 ports/games/Makefile > >>> 1.1 +44 -0 ports/games/mtaserver/Makefile (new) > >>> 1.1 +6 -0 ports/games/mtaserver/distinfo (new) > >>> 1.1 +39 -0 ports/games/mtaserver/files/mtad.in (new) > >>> 1.1 +6 -0 ports/games/mtaserver/files/pkg-message.in (new) > >>> 1.1 +6 -0 ports/games/mtaserver/pkg-descr (new) > >>> 1.1 +8 -0 ports/games/mtaserver/pkg-plist (new) > >> > >>Hi :) > >> > >>It's a linux-base ports and you missed some things > >> > >>- Use linux- prefix for port-directory,port-name, port-rcscript and > >>port-executable file. > > While I would be happy to see a native version of a game, I don't > think there will be one from a commercial vendor (the GPLed stuff from > id software doesn't count). So I think it is ok to keep it as it is. > > >>- Use ${BRANDELF} if it's necessary > > It is necessary, for every ELF executable (but do *not* brand a lib or > plugin). We have Makefile glue for this. It seems that BRANDELF_FILES automatically install the files for me? From owner-freebsd-emulation@FreeBSD.ORG Thu Dec 14 15:12:10 2006 Return-Path: X-Original-To: emulation@freebsd.org 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 B3F9816A49E for ; Thu, 14 Dec 2006 15:12:10 +0000 (UTC) (envelope-from xdivac02@stud.fit.vutbr.cz) Received: from eva.fit.vutbr.cz (eva.fit.vutbr.cz [147.229.176.14]) by mx1.FreeBSD.org (Postfix) with ESMTP id 92FE843D79 for ; Thu, 14 Dec 2006 15:10:28 +0000 (GMT) (envelope-from xdivac02@stud.fit.vutbr.cz) Received: from eva.fit.vutbr.cz (localhost [127.0.0.1]) by eva.fit.vutbr.cz (envelope-from xdivac02@eva.fit.vutbr.cz) (8.13.8/8.13.7) with ESMTP id kBEFC1pI030504 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 14 Dec 2006 16:12:01 +0100 (CET) Received: (from xdivac02@localhost) by eva.fit.vutbr.cz (8.13.8/8.13.3/Submit) id kBEFC1fY030503; Thu, 14 Dec 2006 16:12:01 +0100 (CET) Date: Thu, 14 Dec 2006 16:12:01 +0100 From: Divacky Roman To: Scot Hetzel Message-ID: <20061214151201.GB27798@stud.fit.vutbr.cz> References: <790a9fff0612140401h7bf0bdb0idb1590120ae95e3f@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <790a9fff0612140401h7bf0bdb0idb1590120ae95e3f@mail.gmail.com> User-Agent: Mutt/1.4.2.2i X-Scanned-By: MIMEDefang 2.57 on 147.229.176.14 Cc: emulation@freebsd.org Subject: Re: linuxolator: proc/filesystems implementation 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: Thu, 14 Dec 2006 15:12:10 -0000 On Thu, Dec 14, 2006 at 06:01:27AM -0600, Scot Hetzel wrote: > Linux has a file in the procfs that shows all the loaded filesystem modules. > > I have implemented the function that fills this file using the linprocfs > module. thnx for the work but does this help anything? I cannot imagine that linux software that expects (lets say) "fat32" module can be able to cope with "msdosfs". you can either implement a translation table or forget it :) why did you chose to implement this? any particular case where it helps? roman From owner-freebsd-emulation@FreeBSD.ORG Thu Dec 14 15:35:13 2006 Return-Path: X-Original-To: emulation@freebsd.org 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 7659116A412 for ; Thu, 14 Dec 2006 15:35:13 +0000 (UTC) (envelope-from xdivac02@stud.fit.vutbr.cz) Received: from eva.fit.vutbr.cz (eva.fit.vutbr.cz [147.229.176.14]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3C3EF43ED1 for ; Thu, 14 Dec 2006 15:29:20 +0000 (GMT) (envelope-from xdivac02@stud.fit.vutbr.cz) Received: from eva.fit.vutbr.cz (localhost [127.0.0.1]) by eva.fit.vutbr.cz (envelope-from xdivac02@eva.fit.vutbr.cz) (8.13.8/8.13.7) with ESMTP id kBEFUUve036792 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 14 Dec 2006 16:30:30 +0100 (CET) Received: (from xdivac02@localhost) by eva.fit.vutbr.cz (8.13.8/8.13.3/Submit) id kBEFUUP9036791; Thu, 14 Dec 2006 16:30:30 +0100 (CET) Date: Thu, 14 Dec 2006 16:30:29 +0100 From: Divacky Roman To: Scot Hetzel Message-ID: <20061214153029.GA36558@stud.fit.vutbr.cz> References: <790a9fff0612140333ofd0891el59f767329f291371@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <790a9fff0612140333ofd0891el59f767329f291371@mail.gmail.com> User-Agent: Mutt/1.4.2.2i X-Scanned-By: MIMEDefang 2.57 on 147.229.176.14 Cc: emulation@freebsd.org Subject: Re: linuxolator: utimes implementation 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: Thu, 14 Dec 2006 15:35:13 -0000 On Thu, Dec 14, 2006 at 05:33:40AM -0600, Scot Hetzel wrote: > While I was running the the tests for ltp-full-20061121, I noticed > that the utimes function wasn't implemented in the linuxolator. > > I looked up the man page and found that it was similar to the utime > function, except that it allows a program to set an inode down to the > microsecond. > > Merging together the linux_utime and freebsd32_utimes functions, I was > able to create the linux_utimes function. what about this patch instead (only relevant part): Index: linux_misc.c =================================================================== RCS file: /home/ncvs/src/sys/compat/linux/linux_misc.c,v retrieving revision 1.199 diff -u -r1.199 linux_misc.c --- linux_misc.c 4 Dec 2006 22:46:09 -0000 1.199 +++ linux_misc.c 14 Dec 2006 15:29:37 -0000 @@ -785,6 +785,38 @@ LFREEPATH(fname); return (error); } + +int +linux_utimes(struct thread *td, struct linux_utimes_args *args) +{ + l_timeval ltv[2]; + struct timeval tv[2], *tvp = NULL; + char *fname; + int error; + + LCONVPATHEXIST(td, args->fname, &fname); + +#ifdef DEBUG + if (ldebug(utimes)) + printf(ARGS(utimes, "%s, *"), fname); +#endif + + if (args->tptr != NULL) { + if ((error = copyin(args->tptr, ltv, sizeof ltv))) { + LFREEPATH(fname); + return (error); + } + tv[0].tv_sec = ltv[0].tv_sec; + tv[0].tv_usec = ltv[0].tv_usec; + tv[1].tv_sec = ltv[1].tv_sec; + tv[1].tv_usec = ltv[1].tv_usec; + tvp = tv; + } + + error = kern_utimes(td, fname, UIO_SYSSPACE, tvp, UIO_SYSSPACE); + LFREEPATH(fname); + return (error); +} #endif /* __i386__ || (__amd64__ && COMPAT_LINUX32) */ #define __WCLONE 0x80000000 From owner-freebsd-emulation@FreeBSD.ORG Thu Dec 14 15:35:13 2006 Return-Path: X-Original-To: emulation@freebsd.org 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 8AA5B16A416; Thu, 14 Dec 2006 15:35:13 +0000 (UTC) (envelope-from bsam@ipt.ru) Received: from mail.ipt.ru (mail.ipt.ru [80.253.10.82]) by mx1.FreeBSD.org (Postfix) with ESMTP id 30C2543ED3; Thu, 14 Dec 2006 15:29:21 +0000 (GMT) (envelope-from bsam@ipt.ru) Received: from admin.sem.ipt.ru ([192.168.12.1] helo=ipt.ru) by mail.ipt.ru with esmtp (Exim 4.62 (FreeBSD)) (envelope-from ) id 1GusXd-0004Ot-0L; Thu, 14 Dec 2006 18:30:37 +0300 Received: from bsam by ipt.ru with local (Exim 4.63 (FreeBSD)) (envelope-from ) id 1GusYg-0003o5-TR; Thu, 14 Dec 2006 18:31:42 +0300 To: Rong-En Fan References: <200612061607.kB6G7qvc028250@repoman.freebsd.org> <20061211124544.f0a509b2.acm@FreeBSD.org> <20061212133918.GO68344@svm.csie.ntu.edu.tw> <20061212153651.xu3l5uzeo4k48440@webmail.leidinger.net> <20061214144602.GD93983@svm.csie.ntu.edu.tw> From: Boris Samorodov Date: Thu, 14 Dec 2006 18:31:42 +0300 In-Reply-To: <20061214144602.GD93983@svm.csie.ntu.edu.tw> (Rong-En Fan's message of "Thu, 14 Dec 2006 22:46:02 +0800") Message-ID: <22064417@srv.sem.ipt.ru> User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Alexander Leidinger , emulation@freebsd.org, Jose Alonso Cardenas Marquez , jylefort@brutele.be, pav@freebsd.org, keramida@freebsd.org Subject: Re: linux ports policy 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: Thu, 14 Dec 2006 15:35:13 -0000 On Thu, 14 Dec 2006 22:46:02 +0800 Rong-En Fan wrote: > > >>- Use ${BRANDELF} if it's necessary > > > > It is necessary, for every ELF executable (but do *not* brand a lib or > > plugin). We have Makefile glue for this. > It seems that BRANDELF_FILES automatically install the files for me? Yep, that's the glue Alexander have said about. WBR -- Boris Samorodov (bsam) Research Engineer, http://www.ipt.ru Telephone & Internet SP FreeBSD committer, http://www.FreeBSD.org The Power To Serve From owner-freebsd-emulation@FreeBSD.ORG Thu Dec 14 19:02:29 2006 Return-Path: X-Original-To: freebsd-emulation@freebsd.org 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 746BA16A506 for ; Thu, 14 Dec 2006 19:02:29 +0000 (UTC) (envelope-from nox@saturn.kn-bremen.de) Received: from gwyn.kn-bremen.de (gwyn.kn-bremen.de [212.63.36.242]) by mx1.FreeBSD.org (Postfix) with ESMTP id 50A4743CA4 for ; Thu, 14 Dec 2006 18:59:10 +0000 (GMT) (envelope-from nox@saturn.kn-bremen.de) Received: from gwyn.kn-bremen.de (gwyn [127.0.0.1]) by gwyn.kn-bremen.de (8.13.4/8.13.4/Debian-3sarge3) with ESMTP id kBEJ0XI5003223 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Thu, 14 Dec 2006 20:00:33 +0100 Received: from saturn.kn-bremen.de (uucp@localhost) by gwyn.kn-bremen.de (8.13.4/8.13.4/Submit) with UUCP id kBEJ0XmQ003221; Thu, 14 Dec 2006 20:00:33 +0100 Received: from saturn.kn-bremen.de (nox@localhost [127.0.0.1]) by saturn.kn-bremen.de (8.13.6/8.13.6) with ESMTP id kBEIusPn014731; Thu, 14 Dec 2006 19:56:54 +0100 (CET) (envelope-from nox@saturn.kn-bremen.de) Received: (from nox@localhost) by saturn.kn-bremen.de (8.13.6/8.13.6/Submit) id kBEIurfn014730; Thu, 14 Dec 2006 19:56:53 +0100 (CET) (envelope-from nox) From: Juergen Lock Date: Thu, 14 Dec 2006 19:56:53 +0100 To: qemu-devel@nongnu.org, freebsd-emulation@freebsd.org Message-ID: <20061214185653.GA14550@saturn.kn-bremen.de> Mail-Followup-To: qemu-devel@nongnu.org, freebsd-emulation@freebsd.org References: <20061111125843.GA39260@saturn.kn-bremen.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20061111125843.GA39260@saturn.kn-bremen.de> User-Agent: Mutt/1.5.11 Cc: Subject: solved! (was: Re: qemu 20061102 snapshot: trouble booting directly from cdrom device) 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: Thu, 14 Dec 2006 19:02:29 -0000 On Sat, Nov 11, 2006 at 01:58:43PM +0100, I wrote: > Hi! > > I got a report yesterday of the win2k cd bsod'ing with an > INACCESSIBLE_BOOT_DEVICE error when booted directly from the device > (as opposed to from an iso, which worked.) I dont have a win2k cd, > but I tried a KANOTIX-2006-01-RC2 cd (linux livecd), and that, although > it did boot, said > VFS: busy inodes on changed media > repeatedly. Does anyone else get something like this on another > host (I'm on FreeBSD)? I would like to know if its a FreeBSD > problem (aio not working properly on the cdrom device?) or something > to do with qemu itself... Well I finally found the problem here: READ CAPACITY failed because somehow the #include that defines DIOCGMEDIASIZE got lost, adding this patch to block-raw.c fixes it: Index: qemu/block-raw.c @@ -51,6 +51,9 @@ #include #include #endif +#ifdef __FreeBSD__ +#include +#endif //#define DEBUG_FLOPPY I'll prepare a port update now... Juergen From owner-freebsd-emulation@FreeBSD.ORG Fri Dec 15 02:59:28 2006 Return-Path: X-Original-To: emulation@freebsd.org 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 CDDDA16A4D8 for ; Fri, 15 Dec 2006 02:59:28 +0000 (UTC) (envelope-from swhetzel@gmail.com) Received: from nz-out-0506.google.com (nz-out-0506.google.com [64.233.162.237]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8776243DE0 for ; Fri, 15 Dec 2006 02:56:38 +0000 (GMT) (envelope-from swhetzel@gmail.com) Received: by nz-out-0506.google.com with SMTP id i11so361381nzh for ; Thu, 14 Dec 2006 18:58:16 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; b=iad3N3E3DEwLjoLq6QCJcuK4s2QjFm6oMa1GNiLuR59g3x0JOm+Vo1d3xMrc4TQUzNF1UgKJAsDxnQ8hyyFGacmdG08O3FUxroya5Q021iFoc7HCIdcHji/FaCM98MmJqouRKHxsuY/URFOcJidz2dzXfUOefZnvIX5lBQEbeKY= Received: by 10.65.234.3 with SMTP id l3mr426333qbr.1166151496361; Thu, 14 Dec 2006 18:58:16 -0800 (PST) Received: by 10.65.61.1 with HTTP; Thu, 14 Dec 2006 18:58:15 -0800 (PST) Message-ID: <790a9fff0612141858x3a0a4ce5vc348d32d9b56f343@mail.gmail.com> Date: Thu, 14 Dec 2006 20:58:15 -0600 From: "Scot Hetzel" To: "Divacky Roman" In-Reply-To: <20061214153029.GA36558@stud.fit.vutbr.cz> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_79072_22077359.1166151495960" References: <790a9fff0612140333ofd0891el59f767329f291371@mail.gmail.com> <20061214153029.GA36558@stud.fit.vutbr.cz> Cc: emulation@freebsd.org Subject: Re: linuxolator: utimes implementation 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: Fri, 15 Dec 2006 02:59:29 -0000 ------=_Part_79072_22077359.1166151495960 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline On 12/14/06, Divacky Roman wrote: > On Thu, Dec 14, 2006 at 05:33:40AM -0600, Scot Hetzel wrote: > > While I was running the the tests for ltp-full-20061121, I noticed > > that the utimes function wasn't implemented in the linuxolator. > > > > I looked up the man page and found that it was similar to the utime > > function, except that it allows a program to set an inode down to the > > microsecond. > > > > Merging together the linux_utime and freebsd32_utimes functions, I was > > able to create the linux_utimes function. > > what about this patch instead (only relevant part): > I'm able to compile the linux module with this patch, and I no longer see "* utimes not implemented" when running the ltp testcases. The attached patch to ltp-20061121 implements testcases for utimes (based on the utime testcases). It currently is failing the utimes04, and utimes05 testcases: utimes04 1 FAIL : tmp_file access and modification times usec not set utimes05 1 FAIL : tmp_file access and modification times usec not set This might be because I'm not using the right field from the stat function to get the access and modification times for the usec in these testcases. If I comment out the code that checks the usec, then these two tests pass. Scot -- DISCLAIMER: No electrons were mamed while sending this message. Only slightly bruised. ------=_Part_79072_22077359.1166151495960 Content-Type: text/x-diff; name=ltp-utimes-patch; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: base64 X-Attachment-Id: f_evpzty9c Content-Disposition: attachment; filename="ltp-utimes-patch" ZGlmZiAtcnVOIGx0cC1mdWxsLTIwMDYxMTIxLW9yaWcvcnVudGVzdC9sdHBsaXRlIGx0cC1mdWxs LTIwMDYxMTIxL3J1bnRlc3QvbHRwbGl0ZQotLS0gbHRwLWZ1bGwtMjAwNjExMjEtb3JpZy9ydW50 ZXN0L2x0cGxpdGUJVHVlIE5vdiAyMSAxNDozMToyMCAyMDA2CisrKyBsdHAtZnVsbC0yMDA2MTEy MS9ydW50ZXN0L2x0cGxpdGUJVGh1IERlYyAxNCAxMjo1OTo0MyAyMDA2CkBAIC05NTUsNiArOTU1 LDE0IEBACiB1dGltZTA1IHV0aW1lMDUKIHV0aW1lMDYgdXRpbWUwNgogCit1dGltZXMwMSB1dGlt ZXMwMQordXRpbWVzMDFBIHN5bWxpbmswMSAtVCB1dGltZXMwMQordXRpbWVzMDIgdXRpbWVzMDIK K3V0aW1lczAzIHV0aW1lczAzCit1dGltZXMwNCB1dGltZXMwNAordXRpbWVzMDUgdXRpbWVzMDUK K3V0aW1lczA2IHV0aW1lczA2CisKIHZmb3JrMDEgdmZvcmswMQogdmZvcmswMiB2Zm9yazAyCiAK ZGlmZiAtcnVOIGx0cC1mdWxsLTIwMDYxMTIxLW9yaWcvcnVudGVzdC9zdHJlc3MucGFydDMgbHRw LWZ1bGwtMjAwNjExMjEvcnVudGVzdC9zdHJlc3MucGFydDMKLS0tIGx0cC1mdWxsLTIwMDYxMTIx LW9yaWcvcnVudGVzdC9zdHJlc3MucGFydDMJVHVlIE5vdiAyMSAxNDozMToyMCAyMDA2CisrKyBs dHAtZnVsbC0yMDA2MTEyMS9ydW50ZXN0L3N0cmVzcy5wYXJ0MwlUaHUgRGVjIDE0IDEzOjAwOjU2 IDIwMDYKQEAgLTgzOCw2ICs4MzgsMTQgQEAKIHV0aW1lMDUgdXRpbWUwNQogdXRpbWUwNiB1dGlt ZTA2CiAKK3V0aW1lczAxIHV0aW1lczAxCit1dGltZXMwMUEgc3ltbGluazAxIC1UIHV0aW1lczAx Cit1dGltZXMwMiB1dGltZXMwMgordXRpbWVzMDMgdXRpbWVzMDMKK3V0aW1lczA0IHV0aW1lczA0 Cit1dGltZXMwNSB1dGltZXMwNQordXRpbWVzMDYgdXRpbWVzMDYKKwogdmZvcmswMSB2Zm9yazAx CiB2Zm9yazAyIHZmb3JrMDIKIApkaWZmIC1ydU4gbHRwLWZ1bGwtMjAwNjExMjEtb3JpZy9ydW50 ZXN0L3N5c2NhbGxzIGx0cC1mdWxsLTIwMDYxMTIxL3J1bnRlc3Qvc3lzY2FsbHMKLS0tIGx0cC1m dWxsLTIwMDYxMTIxLW9yaWcvcnVudGVzdC9zeXNjYWxscwlUdWUgTm92IDIxIDE0OjMxOjIwIDIw MDYKKysrIGx0cC1mdWxsLTIwMDYxMTIxL3J1bnRlc3Qvc3lzY2FsbHMJVGh1IERlYyAxNCAxMzow MToxMiAyMDA2CkBAIC05NDIsNiArOTQyLDE0IEBACiB1dGltZTA1IHV0aW1lMDUKIHV0aW1lMDYg dXRpbWUwNgogCit1dGltZXMwMSB1dGltZXMwMQordXRpbWVzMDFBIHN5bWxpbmswMSAtVCB1dGlt ZXMwMQordXRpbWVzMDIgdXRpbWVzMDIKK3V0aW1lczAzIHV0aW1lczAzCit1dGltZXMwNCB1dGlt ZXMwNAordXRpbWVzMDUgdXRpbWVzMDUKK3V0aW1lczA2IHV0aW1lczA2CisKIHZmb3JrMDEgdmZv cmswMQogdmZvcmswMiB2Zm9yazAyCiAKZGlmZiAtcnVOIGx0cC1mdWxsLTIwMDYxMTIxLW9yaWcv dGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9zeW1saW5rL3N5bWxpbmswMS5jIGx0cC1mdWxsLTIw MDYxMTIxL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvc3ltbGluay9zeW1saW5rMDEuYwotLS0g bHRwLWZ1bGwtMjAwNjExMjEtb3JpZy90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3N5bWxpbmsv c3ltbGluazAxLmMJVHVlIE5vdiAyMSAxNDozMToyOCAyMDA2CisrKyBsdHAtZnVsbC0yMDA2MTEy MS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3N5bWxpbmsvc3ltbGluazAxLmMJVGh1IERlYyAx NCAxODoyMTowNCAyMDA2CkBAIC0xNTIsNiArMTUyLDE3IEBACiAqIAogKiAgICBXQUxMIENMT0NL IFRJTUUJOiAzCiAqCisqICAgIFRFU1QgSURFTlRJRklFUiAgICA6IHV0aW1lczAxICh1dGltZXMp CisqCisqICAgIFRFU1QgVElUTEUgICAgICAgICA6IFNldCBGaWxlIEFjY2VzcyBBbmQgTW9kaWZ5 IE9iamVjdCBGaWxlIFRpbWVzCisqICAgICAgICAgICAgICAgICAgICAgICAgIEluZGlyZWN0bHkg RnJvbSBhIFN5bWJvbGljIExpbmsgRmlsZQorKgorKiAgICBQQVJFTlQgRE9DVU1FTlQgICAgOiBz eW10ZHMwMQorKgorKiAgICBURVNUIENBU0UgVE9UQUwgICAgOiAzCisqCisqICAgIFdBTEwgQ0xP Q0sgVElNRSAgICA6IDMKKyoKICogICAgVEVTVCBJREVOVElGSUVSCTogcmVuYW1lMDEgKHJlbmFt ZSkKICogCiAqICAgIFRFU1QgVElUTEUJCTogUmVuYW1lIGEgU3ltYm9saWMgTGluayBGaWxlIEFu ZCBOb3QgQW55IE9iamVjdApAQCAtMjUzLDYgKzI2NCwxMiBAQAogKiAgICAgICAgIDIuIFJlY2Vp dmUgRU5PRU5UIGVycm9yIHdoZW4gYWNjZXNzaW5nIG5vbi1leGlzdGVudCBkaXJlY3RvcnkgdGhy b3VnaCBzeW1ib2xpYyBsaW5rIGZpbGUKICogICAgICAgICAzLiBSZWNlaXZlIEVMT09QIGVycm9y IHdoZW4gbmVzdGluZyBvZiBzeW1ib2xpYyBsaW5rcyBleGNlZWQgbWF4aW11bQogKiAKKyogICAg ICAgRm9yIHV0aW1lcworKgorKiAgICAgICAgIDEuIENoYW5nZSBpbm9kZSB0aW1lcyBvZiBvYmpl Y3QgZmlsZSB0aHJvdWdoIGEgc3ltYm9saWMgbGluayBmaWxlCisqICAgICAgICAgMi4gUmVjZWl2 ZSBFTk9FTlQgZXJyb3Igd2hlbiBhY2Nlc3Npbmcgbm9uLWV4aXN0ZW50IGRpcmVjdG9yeSB0aHJv dWdoIHN5bWJvbGljIGxpbmsgZmlsZQorKiAgICAgICAgIDMuIFJlY2VpdmUgRUxPT1AgZXJyb3Ig d2hlbiBuZXN0aW5nIG9mIHN5bWJvbGljIGxpbmtzIGV4Y2VlZCBtYXhpbXVtCisqCiAqICAgICAg IEZvciByZW5hbWUKICoKICogICAgICAgICAxLiBSZW5hbWUgYSBzeW1ib2xpYyBsaW5rIGZpbGUg d2hpY2ggcG9pbnRzIGF0IG5vIG9iamVjdCBmaWxlCkBAIC0yNzcsMTIgKzI5NCwxNCBAQAogKiMq IyojKiMqIyojKiMqIyojKiMqIyojKiMqIyojKiMqIyojKiMqIyojKiMqIyojKiMqIyojKiMqIyoq LwogCiAjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRl IDxlcnJuby5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgogI2luY2x1ZGUgPHNpZ25hbC5oPgogI2lu Y2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgPGZjbnRsLmg+ICAgICAgICAgICAgIC8qIG9wZW4o Mikgc3lzdGVtIGNhbGwgKi8KLSNpbmNsdWRlIDxlcnJuby5oPgotI2luY2x1ZGUgPHN5cy90eXBl cy5oPgogI2luY2x1ZGUgPHV0aW1lLmg+ICAgICAgICAgICAgIC8qIHV0aW1lKDIpIHN5c3RlbSBj YWxsICovCisjaW5jbHVkZSA8c3lzL3RpbWUuaD4gICAgICAgICAgLyogdXRpbWVzKDIpIHN5c3Rl bSBjYWxsICovCiAjaW5jbHVkZSA8c3lzL3BhcmFtLmg+CiAjaW5jbHVkZSA8c3lzL3N0YXQuaD4g ICAgICAgICAgLyogc3RhdCgyKSBhbmQgbHN0YXQoMikgc3lzdGVtIGNhbGxzICovCiAKQEAgLTMw Nyw2ICszMjYsNyBAQAogdm9pZCBkb191bmxpbmsoKTsKIHZvaWQgZG9fY2htb2QoKTsKIHZvaWQg ZG9fdXRpbWUoKTsKK3ZvaWQgZG9fdXRpbWVzKCk7CiB2b2lkIGRvX3JlbmFtZSgpOwogdm9pZCBk b19vcGVuKCk7CiAKQEAgLTMyOSw2ICszNDksNyBAQAogI2RlZmluZSBVTkxJTksgInVubGluazAx IgogI2RlZmluZSBDSE1PRCAiY2htb2QwMSIKICNkZWZpbmUgVVRJTUUgInV0aW1lMDEiCisjZGVm aW5lIFVUSU1FUyAgInV0aW1lczAxIgogI2RlZmluZSBSRU5BTUUgInJlbmFtZTAxIgogI2RlZmlu ZSBPUEVOICJvcGVuMDEiCiAKQEAgLTM3Miw2ICszOTMsOCBAQAogICJOZXN0ZWQgc3ltYm9saWMg bGluayBhY2Nlc3MgY29uZGl0aW9uIGNhdWdodC4gIEVMT09QIGlzIHJldHVybmVkIiwKICAiUmVh ZGluZyBhIG5vbnN5bWJvbGljIGxpbmsgZmlsZSBlcnJvciBjb25kaXRpb24gaXMgY2F1Z2h0LiAg RUlOVkFMIGlzIHJldHVybmVkIiwKICAibHN0YXQoMikgb2Ygb2JqZWN0IGZpbGUgcmV0dXJucyBv YmplY3QgZmlsZSBpbm9kZSBpbmZvcm1hdGlvbiIsCisgInV0aW1lcygyKSBjaGFuZ2Ugb2Ygb2Jq ZWN0IGZpbGUgYWNjZXNzIGFuZCBtb2RpZnkgdGltZXMgdGhyb3VnaCBzeW1ib2xpYyBsaW5rIGZp bGUgaXMgb2siLAorICJ1dGltZXMoMikgZXJyb3Igd2hlbiBhY2Nlc3Npbmcgbm9uLWV4aXN0ZW50 IG9iamVjdCB0aHJvdWdoIHN5bWJvbGljIGxpbmsgaXMgY2F1Z2h0IiwKICAiTlVMTCIKIH07CiAK QEAgLTQzNSw3ICs0NTgsMTAgQEAKICAgICB7T1BFTiwgMCwgMCwgMjUsIGNyZWF0X2JvdGgsIGNr X2JvdGgsIHtPX0ZJTEUsIFNfRklMRSwgT19GSUxFfX0sCiAgICAge09QRU4sIDEsIEVFWElTVCwg MjYsIGNyZWF0X3N5bWxpbmssIGNrX3N5bWxpbmssIHtPX0ZJTEUsIFNfRklMRSwgT19GSUxFfX0s CiAgICAge09QRU4sIDEsIEVOT0VOVCwgMjcsIGNyZWF0X3N5bWxpbmssIGNrX3N5bWxpbmssIHtP X0ZJTEUsIFNfRklMRSwgTlVMTH19LAotICAgIHtPUEVOLCAxLCBFTE9PUCwgMjgsIGNyZWF0X3N5 bWxpbmssIGNrX3N5bWxpbmssIHtTX0ZJTEUsIFNfRklMRSwgTlVMTH19CisgICAge09QRU4sIDEs IEVMT09QLCAyOCwgY3JlYXRfc3ltbGluaywgY2tfc3ltbGluaywge1NfRklMRSwgU19GSUxFLCBO VUxMfX0sCisgICAge1VUSU1FUywgMCwgMCwgMzEsIGNyZWF0X2JvdGgsIGNrX2JvdGgsIHtPX0ZJ TEUsIFNfRklMRSwgT19GSUxFfX0sCisgICAge1VUSU1FUywgMSwgRU5PRU5ULCAzMiwgY3JlYXRf c3ltbGluaywgY2tfc3ltbGluaywge09fRklMRSwgU19GSUxFLCBOVUxMfX0sCisgICAge1VUSU1F UywgMSwgRUxPT1AsIDI4LCBjcmVhdF9zeW1saW5rLCBja19zeW1saW5rLCB7U19GSUxFLCBTX0ZJ TEUsIE5VTEx9fQogfTsKIAogLyoKQEAgLTQ3Niw2ICs1MDIsOCBAQAogCQkiUmVuYW1lIGEgU3lt Ym9saWMgTGluayBGaWxlIEFuZCBOb3QgQW55IE9iamVjdCBmaWxlIiB9LAogICAgeyBPUEVOLCAg ICAgIm9wZW4iLCAgICAgNSwgJnRlc3Rfb2JqZWN0c1szM10sCiAJCSJDcmVhdGUvT3BlbiBhIEZp bGUgRm9yIFJlYWRpbmcgT3IgV3JpdGluZyB2aWEgc3ltbGluayIgfSwKKyAgIHsgVVRJTUVTLCAg ICJ1dGltZXMiLCAgIDMsICZ0ZXN0X29iamVjdHNbMzhdLAorICAgICAgICAgICAgICAgICJTZXQg RmlsZSBBY2Nlc3MgQW5kIE1vZGlmeSBPYmplY3QgRmlsZSBUaW1lcyB2aWEgc3ltbGluayIgfSwK IH07CiAKIC8qCkBAIC0xMDI0LDYgKzEwNTIsOCBAQAogICAgICAgICAgICAgICAgIGRvX3JlbmFt ZSh0Y19wdHIpOwogICAgICAgICAgICAgIGVsc2UgaWYgKGNrdGNzaWQodGNfcHRyLT50Y2lkLCBP UEVOKSkKICAgICAgICAgICAgICAgICBkb19vcGVuKHRjX3B0cik7CisgICAgICAgICAgICAgZWxz ZSBpZiAoY2t0Y3NpZCh0Y19wdHItPnRjaWQsIFVUSU1FUykpCisJCWRvX3V0aW1lcyh0Y19wdHIp OwogICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICB0c3RfcmVzbShUQlJPSywgIlVu a25vd24gdGVzdCBjYXNlIHByb2Nlc3NpbmcgYWN0aW9ucyBkZWNsYXJlZCIpOwogICAgICAgICAg IH0KQEAgLTExODUsNiArMTIxNSwxOCBAQAogCQkiIGZpbGUgdGhyb3VnaCBhIHN5bWJvbGljIGxp bmsgZmlsZSB3YXMgbm90IHJlY2VpdmVkLCIsCiAJCWVycm5vLCBzdHJlcnJvcihlcnJubykpOwog ICAgICB9CisgICAgIGVsc2UgaWYgKGNrdGNzaWQodGNfcHRyLT50Y2lkLCBVVElNRVMpKSB7CisK KyAgICAgICAgaWYgKCh1dGltZXModGNfcHRyLT5mbl9hcmdbMV0sIE5VTEwpID09IC0xKSAmJiAo ZXJybm8gPT0gRU5PRU5UKSkKKyAgICAgICAgICAgaWYgKCBURVNUX1JFU1VMVCAhPSBUUEFTUyB8 fCBTVERfRlVOQ1RJT05BTF9URVNUICApCisgICAgICAgICAgICAgICB0c3RfcmVzbShURVNUX1JF U1VMVCwgbXNnc1t0Y19wdHItPnBhc3NfbXNnXSk7CisgICAgICAgICAgIGVsc2UKKyAgICAgICAg ICAgICAgICBUc3RfY291bnQrKzsKKyAgICAgICAgZWxzZQorICAgICAgICAgICB0c3RfcmVzbShU RkFJTCwgIiVzICVzIGVycm5vOiVkICVzIiwKKyAgICAgICAgICAgICAgICAiRXhwZWN0ZWQgRU5P RU5UIGVycm9yIGNvbmRpdGlvbiB3aGVuIHV0aW1lcygyKSBhIHN5bWJvbGljIiwKKyAgICAgICAg ICAgICAgICAibGluayB3aGljaCBwb2ludGVkIGF0IG5vIG9iamVjdDoiLCBlcnJubywgc3RyZXJy b3IoZXJybm8pKTsKKyAgICAgfQogICAgICBlbHNlCiAgICAgICAgIHRzdF9yZXNtKFRCUk9LLCAi VW5rbm93biB0ZXN0IGNhc2UgcHJvY2Vzc2luZyBhY3Rpb25zIGRlY2xhcmVkIik7CiB9CkBAIC0x Mjk0LDYgKzEzMzYsMjEgQEAKIAkJIkV4cGVjdGVkIEVMT09QIGVycm9yIGNvbmRpdGlvbiB3aGVu IG9wZW4oMikgYSBuZXN0ZWQgc3ltYm9saWMgbGluazoiLAogCQllcnJubywgc3RyZXJyb3IoZXJy bm8pKTsKICAgICAgfQorICAgICBlbHNlIGlmIChja3Rjc2lkKHRjX3B0ci0+dGNpZCwgVVRJTUVT KSkgeworCisgICAgICAgIFRFU1QoIHV0aW1lcyh0Y19wdHItPmZuX2FyZ1sxXSwgTlVMTCkgKTsK KyAgICAgICAgZXJybm89VEVTVF9FUlJOTzsKKworICAgICAgICBpZiAoKFRFU1RfUkVUVVJOID09 IC0xKSAmJiAoZXJybm8gPT0gRUxPT1ApKQorICAgICAgICAgICBpZiAoIFRFU1RfUkVTVUxUICE9 IFRQQVNTIHx8IFNURF9GVU5DVElPTkFMX1RFU1QgICkKKyAgICAgICAgICAgICAgIHRzdF9yZXNt KFRFU1RfUkVTVUxULCBtc2dzW3RjX3B0ci0+cGFzc19tc2ddKTsKKyAgICAgICAgICAgZWxzZQor ICAgICAgICAgICAgICAgIFRzdF9jb3VudCsrOworICAgICAgICBlbHNlCisgICAgICAgICAgIHRz dF9yZXNtKFRGQUlMLCAiJXMgZXJybm86JWQgJXMiLAorICAgICAgICAgICAgICAgICJFeHBlY3Rl ZCBFTE9PUCBlcnJvciBjb25kaXRpb24gd2hlbiB1dGltZXMoMikgYSBuZXN0ZWQgc3ltYm9saWMg bGluazoiLAorICAgICAgICAgICAgICAgIGVycm5vLCBzdHJlcnJvcihlcnJubykpOworICAgICB9 CiAgICAgIGVsc2UKICAgICAgICAgdHN0X3Jlc20oVEJST0ssICJVbmtub3duIHRlc3QgY2FzZSBw cm9jZXNzaW5nIGFjdGlvbnMgZGVjbGFyZWQiKTsKIH0KQEAgLTE5NjUsNiArMjAyMiw2NCBAQAog ICAgICAgICAgICAgICB0c3RfcmVzbShURkFJTCwgdGVzdF9tc2cpOwogICAgICAgICB9CiAgICAg ICAgIGNsb3NlKGZkKTsKKyAgICAgfQorfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRoaXMgcm91 dGluZSBjaGVja3Mgb3V0IHRoZSB1dGltZXMoMikgc3lzdGVtIGNhbGwgZm9yIGEgc3VjY2Vzc2Z1 bAorICogaW52b2NhdGlvbgorICoKKyAqICAgQXJndW1lbnQgaXMgcG9pbnRlciB0byB0ZXN0X29i amVjdHMgYXJyYXkgb2Ygc3RydWN0dXJlcyBvZiB0eXBlCisgKiAgIGFsbF90ZXN0X2Nhc2VzCisg KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKiovCit2b2lkCitkb191dGltZXModGNfcHRyKQorc3RydWN0IGFsbF90ZXN0 X2Nhc2VzICp0Y19wdHI7Cit7CisgICAgIHN0cnVjdCB0aW1ldmFsIHRpbWVzWzJdOworCisgICAg IGlmIChzdGF0KHRjX3B0ci0+Zm5fYXJnWzJdLCAmYXN5bWxpbmspID09IC0xKQorICAgICAgICB0 c3RfcmVzbShUQlJPSywgInN0YXQoMikgRmFpbHVyZSB3aGVuIGFjY2Vzc2luZyAlcyBvYmplY3Qg ZmlsZSIsCisgICAgICAgICAgICB0Y19wdHItPmZuX2FyZ1syXSk7CisgICAgIGVsc2UgeworICAg ICAgICAvKiBOb3cgYWRkIGEgZmV3IHZhbHVlcyB0byBhY2Nlc3MgYW5kIG1vZGlmeSB0aW1lcyAq LworCisgICAgICAgIHRpbWVzWzBdLnR2X3NlYyA9IGFzeW1saW5rLnN0X2F0aW1lICsgYV90aW1l X3ZhbHVlOworICAgICAgICB0aW1lc1swXS50dl91c2VjID0gYXN5bWxpbmsuc3RfYXRpbS50dl9u c2VjIC8gMTAwMDsKKyAgICAgICAgdGltZXNbMV0udHZfc2VjID0gYXN5bWxpbmsuc3RfbXRpbWUg KyBhX3RpbWVfdmFsdWU7CisgICAgICAgIHRpbWVzWzFdLnR2X3VzZWMgPSBhc3ltbGluay5zdF9t dGltLnR2X25zZWMgLyAxMDAwOworCisgICAgICAgIC8qIE5vdyBoYW5kIG9mZiB0byB1dGltZXMo MikgdmlhIHN5bWJvbGljIGxpbmsgZmlsZSovCisKKyAgICAgICAgaWYgKHV0aW1lcyh0Y19wdHIt PmZuX2FyZ1sxXSwgdGltZXMpID09IC0xKQorICAgICAgICAgICAgdHN0X3Jlc20oVEZBSUwsICIl cyAlcyIsCisgICAgICAgICAgICAgICAgInV0aW1lcygyKSBmYWlsZWQgdG8gcHJvY2VzcyBvYmpl Y3QgZmlsZSBhY2Nlc3MgYW5kIG1vZGlmeSIsCisgICAgICAgICAgICAgICAgInRpbWUgdXBkYXRl cyB0aHJvdWdoIHN5bWJvbGljIGxpbmsiKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgIC8q IE5vdyB2ZXJpZnkgY2hhbmdlcyB3ZXJlIG1hZGUgKi8KKworICAgICAgICAgICBpZiAoc3RhdCh0 Y19wdHItPmZuX2FyZ1syXSwgJnN0YXR0ZXIpID09IC0xKQorICAgICAgICAgICAgICB0c3RfcmVz bShUQlJPSywKKyAgICAgICAgICAgICAgICAic3RhdCgyKSBGYWlsdXJlIHdoZW4gYWNjZXNzaW5n ICVzIG9iamVjdCBmaWxlIiwKKyAgICAgICAgICAgICAgICB0Y19wdHItPmZuX2FyZ1syXSk7Cisg ICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICB0aW1lX3QgdGVtcCwgZGlmZjsKKworICAg ICAgICAgICAgICB0ZW1wID0gc3RhdHRlci5zdF9hdGltZSAtIGFzeW1saW5rLnN0X2F0aW1lOwor ICAgICAgICAgICAgICBkaWZmID0gKHN0YXR0ZXIuc3RfbXRpbWUgLSBhc3ltbGluay5zdF9tdGlt ZSkgLSB0ZW1wOworCisgICAgICAgICAgICAgIGlmICghIGRpZmYpCisgICAgICAgICAgICAgICAg IGlmICggVEVTVF9SRVNVTFQgIT0gVFBBU1MgfHwgU1REX0ZVTkNUSU9OQUxfVEVTVCAgKQorICAg ICAgICAgICAgICAgICAgICAgdHN0X3Jlc20oVEVTVF9SRVNVTFQsIG1zZ3NbdGNfcHRyLT5wYXNz X21zZ10pOworICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICBUc3Rf Y291bnQrKzsKKyAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICB0c3RfcmVzbShU RkFJTCwgIiVzICVzICVkIGdyZWF0ZXIgdGhhbiBvcmlnaW5hbCB0aW1lcyIsCisgICAgICAgICAg ICAgICAgICAgICJ1dGltZXMoMikgZmFpbGVkIHRvIGNoYW5nZSBvYmplY3QgZmlsZSBhY2Nlc3Mg YW5kIiwKKyAgICAgICAgICAgICAgICAgICAgIm1vZGlmeSB0aW1lcyB0aHJvdWdoIHN5bWJvbGlj IGxpbmsgdG8gYSB2YWx1ZSIsCisgICAgICAgICAgICAgICAgICAgIGFfdGltZV92YWx1ZSk7Cisg ICAgICAgICAgIH0KKyAgICAgICAgfQogICAgICB9CiB9CiAKZGlmZiAtcnVOIGx0cC1mdWxsLTIw MDYxMTIxLW9yaWcvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy91dGltZXMvTWFrZWZpbGUgbHRw LWZ1bGwtMjAwNjExMjEvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy91dGltZXMvTWFrZWZpbGUK LS0tIGx0cC1mdWxsLTIwMDYxMTIxLW9yaWcvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy91dGlt ZXMvTWFrZWZpbGUJV2VkIERlYyAzMSAxODowMDowMCAxOTY5CisrKyBsdHAtZnVsbC0yMDA2MTEy MS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3V0aW1lcy9NYWtlZmlsZQlUdWUgTm92IDIxIDE0 OjMxOjI4IDIwMDYKQEAgLTAsMCArMSwzMSBAQAorIworIyAgQ29weXJpZ2h0IChjKSBJbnRlcm5h dGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzICBDb3JwLiwgMjAwMQorIworIyAgVGhpcyBwcm9ncmFt IGlzIGZyZWUgc29mdHdhcmU7ICB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5 CisjICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGFzIHB1Ymxpc2hlZCBieQorIyAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgIChhdCB5b3VyIG9wdGlvbikgYW55IGxh dGVyIHZlcnNpb24uCisjCisjICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyAgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlCisjICB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKyMgIFlvdSBzaG91bGQg aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisj ICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgIGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29m dHdhcmUKKyMgIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwg Qm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisjCisKK0NGTEFHUyArPSAtSS4uLy4uLy4uLy4u L2luY2x1ZGUgLVdhbGwKK0xETElCUyArPSAtTC4uLy4uLy4uLy4uL2xpYiAtbGx0cAorCitTUkNT ICAgID0gJCh3aWxkY2FyZCAqLmMpCitUQVJHRVRTID0gJChwYXRzdWJzdCAlLmMsJSwkKFNSQ1Mp KQorCithbGw6ICQoVEFSR0VUUykKKworaW5zdGFsbDoKKwlAc2V0IC1lOyBmb3IgaSBpbiAkKFRB UkdFVFMpOyBkbyBsbiAtZiAkJGkgLi4vLi4vLi4vYmluLyQkaSA7IGRvbmUKKworY2xlYW46CisJ cm0gLWYgJChUQVJHRVRTKQpkaWZmIC1ydU4gbHRwLWZ1bGwtMjAwNjExMjEtb3JpZy90ZXN0Y2Fz ZXMva2VybmVsL3N5c2NhbGxzL3V0aW1lcy91dGltZXMwMS5jIGx0cC1mdWxsLTIwMDYxMTIxL3Rl c3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvdXRpbWVzL3V0aW1lczAxLmMKLS0tIGx0cC1mdWxsLTIw MDYxMTIxLW9yaWcvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy91dGltZXMvdXRpbWVzMDEuYwlX ZWQgRGVjIDMxIDE4OjAwOjAwIDE5NjkKKysrIGx0cC1mdWxsLTIwMDYxMTIxL3Rlc3RjYXNlcy9r ZXJuZWwvc3lzY2FsbHMvdXRpbWVzL3V0aW1lczAxLmMJVGh1IERlYyAxNCAxMjozNjoyOCAyMDA2 CkBAIC0wLDAgKzEsMjgxIEBACisvKgorICoKKyAqICAgQ29weXJpZ2h0IChjKSBJbnRlcm5hdGlv bmFsIEJ1c2luZXNzIE1hY2hpbmVzICBDb3JwLiwgMjAwMQorICoKKyAqICAgVGhpcyBwcm9ncmFt IGlzIGZyZWUgc29mdHdhcmU7ICB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5 CisgKiAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgYXMgcHVibGlzaGVkIGJ5CisgKiAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp dGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAgIChhdCB5b3VyIG9wdGlvbikg YW55IGxhdGVyIHZlcnNpb24uCisgKgorICogICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICAgYnV0IFdJVEhPVVQgQU5Z IFdBUlJBTlRZOyAgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgIE1F UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZQor ICogICB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAq CisgKiAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlCisgKiAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyAgaWYgbm90LCB3 cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1w bGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQorICovCisKKy8q CisgKiBUZXN0IE5hbWU6IHV0aW1lczAxCisgKgorICogVGVzdCBEZXNjcmlwdGlvbjoKKyAqICBW ZXJpZnkgdGhhdCB0aGUgc3lzdGVtIGNhbGwgdXRpbWVzKCkgc3VjY2Vzc2Z1bGx5IHNldHMgdGhl IG1vZGlmaWNhdGlvbgorICogIGFuZCBhY2Nlc3MgdGltZXMgb2YgYSBmaWxlIHRvIHRoZSBjdXJy ZW50IHRpbWUsIGlmIHRoZSB0aW1lcyBhcmd1bWVudAorICogIGlzIG51bGwsIGFuZCB0aGUgdXNl ciBJRCBvZiB0aGUgcHJvY2VzcyBpcyAicm9vdCIuCisgKgorICogRXhwZWN0ZWQgUmVzdWx0Ogor ICogIHV0aW1lcyBzdWNjZWVkcyByZXR1cm5pbmcgemVybyBhbmQgc2V0cyB0aGUgYWNjZXNzIGFu ZCBtb2RpZmljYXRpb24KKyAqICB0aW1lcyBvZiB0aGUgZmlsZSB0byB0aGUgY3VycmVudCB0aW1l LgorICoKKyAqIEFsZ29yaXRobToKKyAqICBTZXR1cDoKKyAqICAgU2V0dXAgc2lnbmFsIGhhbmRs aW5nLgorICogICBDcmVhdGUgdGVtcG9yYXJ5IGRpcmVjdG9yeS4KKyAqICAgUGF1c2UgZm9yIFNJ R1VTUjEgaWYgb3B0aW9uIHNwZWNpZmllZC4KKyAqCisgKiAgVGVzdDoKKyAqICAgTG9vcCBpZiB0 aGUgcHJvcGVyIG9wdGlvbnMgYXJlIGdpdmVuLgorICogICBFeGVjdXRlIHN5c3RlbSBjYWxsCisg KiAgIENoZWNrIHJldHVybiBjb2RlLCBpZiBzeXN0ZW0gY2FsbCBmYWlsZWQgKHJldHVybj0tMSkK KyAqICAgCUxvZyB0aGUgZXJybm8gYW5kIElzc3VlIGEgRkFJTCBtZXNzYWdlLgorICogICBPdGhl cndpc2UsCisgKiAgIAlWZXJpZnkgdGhlIEZ1bmN0aW9uYWxpdHkgb2Ygc3lzdGVtIGNhbGwJCisg KiAgICAgIGlmIHN1Y2Nlc3NmdWwsCisgKiAgICAgIAlJc3N1ZSBGdW5jdGlvbmFsaXR5LVBhc3Mg bWVzc2FnZS4KKyAqICAgICAgT3RoZXJ3aXNlLAorICoJCUlzc3VlIEZ1bmN0aW9uYWxpdHktRmFp bCBtZXNzYWdlLgorICogIENsZWFudXA6CisgKiAgIFByaW50IGVycm5vIGxvZyBhbmQvb3IgdGlt aW5nIHN0YXRzIGlmIG9wdGlvbnMgZ2l2ZW4KKyAqICAgRGVsZXRlIHRoZSB0ZW1wb3JhcnkgZGly ZWN0b3J5IGNyZWF0ZWQuCisgKgorICogVXNhZ2U6ICA8Zm9yIGNvbW1hbmQtbGluZT4KKyAqICB1 dGltZXMwMSBbLWMgbl0gWy1lXSBbLWZdIFstaSBuXSBbLUkgeF0gWy1wIHhdIFstdF0KKyAqCQl3 aGVyZSwgIC1jIG4gOiBSdW4gbiBjb3BpZXMgY29uY3VycmVudGx5LgorICoJCQktZSAgIDogVHVy biBvbiBlcnJubyBsb2dnaW5nLgorICoJCQktZiAgIDogVHVybiBvZmYgZnVuY3Rpb25hbGl0eSBU ZXN0aW5nLgorICoJCQktaSBuIDogRXhlY3V0ZSB0ZXN0IG4gdGltZXMuCisgKgkJCS1JIHggOiBF eGVjdXRlIHRlc3QgZm9yIHggc2Vjb25kcy4KKyAqCQkJLVAgeCA6IFBhdXNlIGZvciB4IHNlY29u ZHMgYmV0d2VlbiBpdGVyYXRpb25zLgorICoJCQktdCAgIDogVHVybiBvbiBzeXNjYWxsIHRpbWlu Zy4KKyAqCisgKiBIaXN0b3J5CisgKgkwNy8yMDAxIEpvaG4gR2VvcmdlCisgKgkJLVBvcnRlZAor ICoKKyAqIFJlc3RyaWN0aW9uczoKKyAqICBUaGlzIHRlc3Qgc2hvdWxkIGJlIHJ1biBieSAnc3Vw ZXItdXNlcicgKHJvb3QpIG9ubHkuCisgKgorICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2lu Y2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPGVycm5v Lmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzeXMvdGltZS5oPgorI2luY2x1ZGUg PHN0cmluZy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c2lnbmFsLmg+Cisj aW5jbHVkZSA8dGltZS5oPgorCisjaW5jbHVkZSAidGVzdC5oIgorI2luY2x1ZGUgInVzY3Rlc3Qu aCIKKworI2RlZmluZSBURU1QX0ZJTEUJInRtcF9maWxlIgorI2RlZmluZSBGSUxFX01PREUJU19J UlVTUiB8IFNfSVJHUlAgfCBTX0lST1RICisKK2NoYXIgKlRDSUQ9InV0aW1lczAxIjsJCS8qIFRl c3QgcHJvZ3JhbSBpZGVudGlmaWVyLiAgICAqLworaW50IFRTVF9UT1RBTD0xOwkJLyogVG90YWwg bnVtYmVyIG9mIHRlc3QgY2FzZXMuICovCitleHRlcm4gaW50IFRzdF9jb3VudDsJCS8qIFRlc3Qg Q2FzZSBjb3VudGVyIGZvciB0c3RfKiByb3V0aW5lcyAqLwordGltZV90IGN1cnJfdGltZTsJCS8q IGN1cnJlbnQgdGltZSBpbiBzZWNvbmRzICovCit0aW1lX3QgdGxvYzsJCQkvKiBhcmd1bWVudCB2 YXIuIGZvciB0aW1lKCkgKi8KK2ludCBleHBfZW5vc1tdPXswfTsKKwordm9pZCBzZXR1cCgpOwkJ CS8qIE1haW4gc2V0dXAgZnVuY3Rpb24gb2YgdGVzdCAqLwordm9pZCBjbGVhbnVwKCk7CQkJLyog Y2xlYW51cCBmdW5jdGlvbiBmb3IgdGhlIHRlc3QgKi8KKworaW50CittYWluKGludCBhYywgY2hh ciAqKmF2KQoreworCXN0cnVjdCBzdGF0IHN0YXRfYnVmOwkvKiBzdHJ1Y3QgYnVmZmVyIHRvIGhv bGQgZmlsZSBpbmZvLiAqLworCWludCBsYzsJCQkvKiBsb29wIGNvdW50ZXIgKi8KKwljaGFyICpt c2c7CQkvKiBtZXNzYWdlIHJldHVybmVkIGZyb20gcGFyc2Vfb3B0cyAqLworCXRpbWVfdCBtb2Rm X3RpbWUsIGFjY2Vzc190aW1lOworCXRpbWVfdCBwcmVzX3RpbWU7CS8qIGZpbGUgbW9kaWZpY2F0 aW9uL2FjY2Vzcy9wcmVzZW50IHRpbWUgKi8KKyAgICAKKwkvKiBQYXJzZSBzdGFuZGFyZCBvcHRp b25zIGdpdmVuIHRvIHJ1biB0aGUgdGVzdC4gKi8KKwltc2cgPSBwYXJzZV9vcHRzKGFjLCBhdiwg KG9wdGlvbl90ICopIE5VTEwsIE5VTEwpOworCWlmIChtc2cgIT0gKGNoYXIgKikgTlVMTCkgewor CQl0c3RfYnJrbShUQlJPSywgTlVMTCwgIk9QVElPTiBQQVJTSU5HIEVSUk9SIC0gJXMiLCBtc2cp OworCQl0c3RfZXhpdCgpOworCX0KKworCS8qIFBlcmZvcm0gZ2xvYmFsIHNldHVwIGZvciB0ZXN0 ICovCisJc2V0dXAoKTsKKworCS8qIHNldCB0aGUgZXhwZWN0ZWQgZXJybm9zLi4uICovCisJVEVT VF9FWFBfRU5PUyhleHBfZW5vcyk7CisKKwkvKiBDaGVjayBsb29waW5nIHN0YXRlIGlmIC1pIG9w dGlvbiBnaXZlbiAqLworCWZvciAobGMgPSAwOyBURVNUX0xPT1BJTkcobGMpOyBsYysrKSB7CisJ CS8qIFJlc2V0IFRzdF9jb3VudCBpbiBjYXNlIHdlIGFyZSBsb29waW5nLiAqLworCQlUc3RfY291 bnQ9MDsKKworCQkvKiAKKwkJICogSW52b2tlIHV0aW1lcygyKSB0byBzZXQgVEVNUF9GSUxFIGFj Y2VzcyBhbmQKKwkJICogbW9kaWZpY2F0aW9uIHRpbWVzIHRvIHRoZSBjdXJyZW50IHRpbWUuCisJ CSAqLworCQlURVNUKHV0aW1lcyhURU1QX0ZJTEUsIE5VTEwpKTsKKworCQkvKiBjaGVjayByZXR1 cm4gY29kZSBvZiB1dGltZXMoMikgKi8KKwkJaWYgKFRFU1RfUkVUVVJOID09IC0xKSB7CisJCQlU RVNUX0VSUk9SX0xPRyhURVNUX0VSUk5PKTsKKwkJCXRzdF9yZXNtKFRGQUlMLCAidXRpbWVzKCVz KSBGYWlsZWQsIGVycm5vPSVkIDogJXMiLAorCQkJCSBURU1QX0ZJTEUsIFRFU1RfRVJSTk8sIHN0 cmVycm9yKFRFU1RfRVJSTk8pKTsKKwkJfSBlbHNlIHsKKwkJCS8qCisJCQkgKiBQZXJmb3JtIGZ1 bmN0aW9uYWwgdmVyaWZpY2F0aW9uIGlmIHRlc3QKKwkJCSAqIGV4ZWN1dGVkIHdpdGhvdXQgKC1m KSBvcHRpb24uCisJCQkgKi8KKwkJCWlmIChTVERfRlVOQ1RJT05BTF9URVNUKSB7CisJCQkJLyoK KwkJCQkgKiBTbGVlcCBmb3IgYSBzZWNvbmQgc28gdGhhdCBtb2QgdGltZSBhbmQKKwkJCQkgKiBh Y2Nlc3MgdGltZXMgd2lsbCBiZSBkaWZmZXJlbnQgZnJvbSB0aGUKKwkJCQkgKiBjdXJyZW50IHRp bWUKKwkJCQkgKi8KKwkJCQlzbGVlcCgyKTsKKworCQkJCS8qCisJCQkJICogR2V0IHRoZSBjdXJy ZW50IHRpbWUgbm93LCBhZnRlciBjYWxsaW5nCisJCQkJICogdXRpbWVzKDIpCisJCQkJICovCisJ CQkJaWYgKChwcmVzX3RpbWUgPSB0aW1lKCZ0bG9jKSkgPCAwKSB7CisJCQkJCXRzdF9icmttKFRG QUlMLCBjbGVhbnVwLCAidGltZSgpICIKKwkJCQkJCSJmYWlsZWQgdG8gZ2V0IHByZXNlbnQgdGlt ZSAiCisJCQkJCQkiYWZ0ZXIgdXRpbWVzLCBlcnJvcj0lZCIsIGVycm5vKTsKKwkJCQkJLypOT1RS RUFDSEVEKi8KKwkJCQl9CisKKwkJCQkvKgorCQkJCSAqIEdldCB0aGUgbW9kaWZpY2F0aW9uIGFu ZCBhY2Nlc3MgdGltZXMgb2YKKwkJCQkgKiB0ZW1wb3JhcnkgZmlsZSB1c2luZyBzdGF0KDIpLgor CQkJCSAqLworCQkJCWlmIChzdGF0KFRFTVBfRklMRSwgJnN0YXRfYnVmKSA8IDApIHsKKwkJCQkJ dHN0X2Jya20oVEZBSUwsIGNsZWFudXAsICJzdGF0KDIpIG9mICIKKwkJCQkJCSIlcyBmYWlsZWQs IGVycm9yOiVkIiwKKwkJCQkJCSBURU1QX0ZJTEUsIFRFU1RfRVJSTk8pOworCQkJCQkvKk5PVFJF QUNIRUQqLworCQkJCX0KKwkJCQltb2RmX3RpbWUgPSBzdGF0X2J1Zi5zdF9tdGltZTsKKwkJCQlh Y2Nlc3NfdGltZSA9IHN0YXRfYnVmLnN0X2F0aW1lOworCisJCQkJLyogTm93IGRvIHRoZSBhY3R1 YWwgdmVyaWZpY2F0aW9uICovCisJCQkJaWYgKG1vZGZfdGltZSA8PSBjdXJyX3RpbWUgfHwgXAor CQkJCQltb2RmX3RpbWUgPj0gcHJlc190aW1lIHx8IFwKKwkJCQkJYWNjZXNzX3RpbWUgPD0gY3Vy cl90aW1lIHx8IFwKKwkJCQkJYWNjZXNzX3RpbWUgPj0gcHJlc190aW1lKSB7CisJCQkJCXRzdF9y ZXNtKFRGQUlMLCAiJXMgYWNjZXNzIGFuZCAiCisJCQkJCQkibW9kaWZpY2F0aW9uIHRpbWVzIG5v dCBzZXQiLAorCQkJCQkJIFRFTVBfRklMRSk7CisJCQkJfSBlbHNlIHsKKwkJCQkJdHN0X3Jlc20o VFBBU1MsICJGdW5jdGlvbmFsaXR5IG9mICIKKwkJCQkJCSJ1dGltZXMoJXMsIE5VTEwpIHN1Y2Nl c3NmdWwiLAorCQkJCQkJIFRFTVBfRklMRSk7CisJCQkJfQorCQkJfSBlbHNlIHsKKwkJCQl0c3Rf cmVzbShUUEFTUywgIiVzIGNhbGwgc3VjY2VlZGVkIiwgVENJRCk7CisJCQl9CisJCX0KKwkJVHN0 X2NvdW50Kys7CisJfQkvKiBFbmQgZm9yIFRFU1RfTE9PUElORyAqLworCisJLyogQ2FsbCBjbGVh bnVwKCkgdG8gdW5kbyBzZXR1cCBkb25lIGZvciB0aGUgdGVzdC4gKi8KKwljbGVhbnVwKCk7CisJ LypOT1RSRUFDSEVEKi8KKworCisgIHJldHVybigwKTsKKworfQkvKiBFbmQgbWFpbiAqLworCisv KgorICogdm9pZAorICogc2V0dXAoKSAtIHBlcmZvcm1zIGFsbCBPTkUgVElNRSBzZXR1cCBmb3Ig dGhpcyB0ZXN0LgorICogIENyZWF0ZSBhIHRlbXBvcmFyeSBkaXJlY3RvcnkgYW5kIGNoYW5nZSBk aXJlY3RvcnkgdG8gaXQuCisgKiAgQ3JlYXRlIGEgdGVzdCBmaWxlIHVuZGVyIHRlbXBvcmFyeSBk aXJlY3RvcnkgYW5kIGNsb3NlIGl0CisgKi8KK3ZvaWQgCitzZXR1cCgpCit7CisJaW50IGZpbGRl czsJCQkvKiBmaWxlIGhhbmRsZSBmb3IgdGVtcCBmaWxlICovCisKKwkvKiBjYXB0dXJlIHNpZ25h bHMgKi8KKwl0c3Rfc2lnKEZPUkssIERFRl9IQU5ETEVSLCBjbGVhbnVwKTsKKworCS8qIENoZWNr IHRoYXQgdGhlIHRlc3QgcHJvY2VzcyBpZCBpcyBzdXBlci9yb290ICAqLworCWlmIChnZXRldWlk KCkgIT0gMCkgeworCQl0c3RfYnJrbShUQlJPSywgTlVMTCwgIk11c3QgYmUgc3VwZXIvcm9vdCBm b3IgdGhpcyB0ZXN0ISIpOworCQl0c3RfZXhpdCgpOworCX0KKworCS8qIFBhdXNlIGlmIHRoYXQg b3B0aW9uIHdhcyBzcGVjaWZpZWQgKi8KKwlURVNUX1BBVVNFOworCisJLyogbWFrZSBhIHRlbXAg ZGlyZWN0b3J5IGFuZCBjZCB0byBpdCAqLworCXRzdF90bXBkaXIoKTsKKworCS8qIENyZWF0IGEg dGVtcG9yYXJ5IGZpbGUgdW5kZXIgYWJvdmUgZGlyZWN0b3J5ICovCisJaWYgKChmaWxkZXMgPSBj cmVhdChURU1QX0ZJTEUsIEZJTEVfTU9ERSkpID09IC0xKSB7CisJCXRzdF9icmttKFRCUk9LLCBj bGVhbnVwLAorCQkJICJjcmVhdCglcywgJSNvKSBGYWlsZWQsIGVycm5vPSVkIDolcyIsCisJCQkg VEVNUF9GSUxFLCBGSUxFX01PREUsIGVycm5vLCBzdHJlcnJvcihlcnJubykpOworCQkvKk5PVFJF QUNIRUQqLworCX0KKworCS8qIENsb3NlIHRoZSB0ZW1wb3JhcnkgZmlsZSBjcmVhdGVkICovCisJ aWYgKGNsb3NlKGZpbGRlcykgPCAwKSB7CisJCXRzdF9icmttKFRCUk9LLCBjbGVhbnVwLAorCQkJ ICJjbG9zZSglcykgRmFpbGVkLCBlcnJubz0lZCA6ICVzOiIsCisJCQkgVEVNUF9GSUxFLCBlcnJu bywgc3RyZXJyb3IoZXJybm8pKTsKKwkJLypOT1RSRUFDSEVEKi8KKwl9CisKKwkvKiBHZXQgdGhl IGN1cnJlbnQgdGltZSAqLworCWlmICgoY3Vycl90aW1lID0gdGltZSgmdGxvYykpIDwgMCkgewor CQl0c3RfYnJrbShUQlJPSywgY2xlYW51cCwKKwkJCSAidGltZSgpIGZhaWxlZCB0byBnZXQgY3Vy cmVudCB0aW1lLCBlcnJubz0lZCIsCisJCQkgZXJybm8pOworCQkvKk5PVFJFQUNIRUQqLworCX0K KworCS8qCisJICogU2xlZXAgZm9yIGEgc2Vjb25kIHNvIHRoYXQgbW9kIHRpbWUgYW5kIGFjY2Vz cyB0aW1lcyB3aWxsIGJlCisJICogZGlmZmVyZW50IGZyb20gdGhlIGN1cnJlbnQgdGltZQorCSAq LworCXNsZWVwKDIpOwkvKiBzbGVlcCgxKSBvbiBJQTY0IHNvbWV0aW1lcyBzbGVlcHMgPCAxIHNl YyEhICovCisJCQorfQkvKiBFbmQgc2V0dXAoKSAqLworCisvKgorICogdm9pZAorICogY2xlYW51 cCgpIC0gcGVyZm9ybXMgYWxsIE9ORSBUSU1FIGNsZWFudXAgZm9yIHRoaXMgdGVzdCBhdAorICog ICAgICAgICAgICAgY29tcGxldGlvbiBvciBwcmVtYXR1cmUgZXhpdC4KKyAqICBSZW1vdmUgdGhl IHRlc3QgZGlyZWN0b3J5IGFuZCB0ZXN0ZmlsZSBjcmVhdGVkIGluIHRoZSBzZXR1cC4KKyAqLwor dm9pZCAKK2NsZWFudXAoKQoreworCS8qCisJICogcHJpbnQgdGltaW5nIHN0YXRzIGlmIHRoYXQg b3B0aW9uIHdhcyBzcGVjaWZpZWQuCisJICogcHJpbnQgZXJybm8gbG9nIGlmIHRoYXQgb3B0aW9u IHdhcyBzcGVjaWZpZWQuCisJICovCisJVEVTVF9DTEVBTlVQOworCisJLyogUmVtb3ZlIHRtcCBk aXIgYW5kIGFsbCBmaWxlcyBpbiBpdCAqLworCXRzdF9ybWRpcigpOworCisJLyogZXhpdCB3aXRo IHJldHVybiBjb2RlIGFwcHJvcHJpYXRlIGZvciByZXN1bHRzICovCisJdHN0X2V4aXQoKTsKK30J LyogRW5kIGNsZWFudXAoKSAqLwpkaWZmIC1ydU4gbHRwLWZ1bGwtMjAwNjExMjEtb3JpZy90ZXN0 Y2FzZXMva2VybmVsL3N5c2NhbGxzL3V0aW1lcy91dGltZXMwMi5jIGx0cC1mdWxsLTIwMDYxMTIx L3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvdXRpbWVzL3V0aW1lczAyLmMKLS0tIGx0cC1mdWxs LTIwMDYxMTIxLW9yaWcvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy91dGltZXMvdXRpbWVzMDIu YwlXZWQgRGVjIDMxIDE4OjAwOjAwIDE5NjkKKysrIGx0cC1mdWxsLTIwMDYxMTIxL3Rlc3RjYXNl cy9rZXJuZWwvc3lzY2FsbHMvdXRpbWVzL3V0aW1lczAyLmMJVGh1IERlYyAxNCAxMjozNjoxNCAy MDA2CkBAIC0wLDAgKzEsMjk5IEBACisvKgorICoKKyAqICAgQ29weXJpZ2h0IChjKSBJbnRlcm5h dGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzICBDb3JwLiwgMjAwMQorICoKKyAqICAgVGhpcyBwcm9n cmFtIGlzIGZyZWUgc29mdHdhcmU7ICB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9k aWZ5CisgKiAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247 IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAgIChhdCB5b3VyIG9wdGlv bikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0 ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICAgYnV0IFdJVEhPVVQg QU5ZIFdBUlJBTlRZOyAgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAg IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZQorICogICB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K KyAqCisgKiAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyAgaWYgbm90 LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBU ZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQorICovCisK Ky8qCisgKiBUZXN0IE5hbWU6IHV0aW1lczAyCisgKgorICogVGVzdCBEZXNjcmlwdGlvbjoKKyAq ICBWZXJpZnkgdGhhdCB0aGUgc3lzdGVtIGNhbGwgdXRpbWVzKCkgc3VjY2Vzc2Z1bGx5IHNldHMg dGhlIG1vZGlmaWNhdGlvbgorICogIGFuZCBhY2Nlc3MgdGltZXMgb2YgYSBmaWxlIHRvIHRoZSBj dXJyZW50IHRpbWUsIHVuZGVyIHRoZSBmb2xsb3dpbmcKKyAqICBjb25zdHJhaW50cywKKyAqCS0g VGhlIHRpbWVzIGFyZ3VtZW50IGlzIG51bGwuCisgKgktIFRoZSB1c2VyIElEIG9mIHRoZSBwcm9j ZXNzIGlzIG5vdCAicm9vdCIuCisgKgktIFRoZSBmaWxlIGlzIG93bmVkIGJ5IHRoZSB1c2VyIElE IG9mIHRoZSBwcm9jZXNzLgorICoKKyAqIEV4cGVjdGVkIFJlc3VsdDoKKyAqICB1dGltZXMgc3Vj Y2VlZHMgcmV0dXJuaW5nIHplcm8gYW5kIHNldHMgdGhlIGFjY2VzcyBhbmQgbW9kaWZpY2F0aW9u CisgKiAgdGltZXMgb2YgdGhlIGZpbGUgdG8gdGhlIGN1cnJlbnQgdGltZS4KKyAqCisgKiBBbGdv cml0aG06CisgKiAgU2V0dXA6CisgKiAgIFNldHVwIHNpZ25hbCBoYW5kbGluZy4KKyAqICAgQ3Jl YXRlIHRlbXBvcmFyeSBkaXJlY3RvcnkuCisgKiAgIFBhdXNlIGZvciBTSUdVU1IxIGlmIG9wdGlv biBzcGVjaWZpZWQuCisgKgorICogIFRlc3Q6CisgKiAgIExvb3AgaWYgdGhlIHByb3BlciBvcHRp b25zIGFyZSBnaXZlbi4KKyAqICAgRXhlY3V0ZSBzeXN0ZW0gY2FsbAorICogICBDaGVjayByZXR1 cm4gY29kZSwgaWYgc3lzdGVtIGNhbGwgZmFpbGVkIChyZXR1cm49LTEpCisgKiAgIAlMb2cgdGhl IGVycm5vIGFuZCBJc3N1ZSBhIEZBSUwgbWVzc2FnZS4KKyAqICAgT3RoZXJ3aXNlLAorICogICAJ VmVyaWZ5IHRoZSBGdW5jdGlvbmFsaXR5IG9mIHN5c3RlbSBjYWxsCQorICogICAgICBpZiBzdWNj ZXNzZnVsLAorICogICAgICAJSXNzdWUgRnVuY3Rpb25hbGl0eS1QYXNzIG1lc3NhZ2UuCisgKiAg ICAgIE90aGVyd2lzZSwKKyAqCQlJc3N1ZSBGdW5jdGlvbmFsaXR5LUZhaWwgbWVzc2FnZS4KKyAq ICBDbGVhbnVwOgorICogICBQcmludCBlcnJubyBsb2cgYW5kL29yIHRpbWluZyBzdGF0cyBpZiBv cHRpb25zIGdpdmVuCisgKiAgIERlbGV0ZSB0aGUgdGVtcG9yYXJ5IGRpcmVjdG9yeSBjcmVhdGVk LgorICoKKyAqIFVzYWdlOiAgPGZvciBjb21tYW5kLWxpbmU+CisgKgl1dGltZXMwMiBbLWMgbl0g Wy1lXSBbLWZdIFstaSBuXSBbLUkgeF0gWy1wIHhdIFstdF0KKyAqCXdoZXJlLCAgLWMgbiA6IFJ1 biBuIGNvcGllcyBjb25jdXJyZW50bHkuCisgKgkJLWUgICA6IFR1cm4gb24gZXJybm8gbG9nZ2lu Zy4KKyAqCQktZiAgIDogVHVybiBvZmYgZnVuY3Rpb25hbGl0eSBUZXN0aW5nLgorICoJCS1pIG4g OiBFeGVjdXRlIHRlc3QgbiB0aW1lcy4KKyAqCQktSSB4IDogRXhlY3V0ZSB0ZXN0IGZvciB4IHNl Y29uZHMuCisgKgkJLVAgeCA6IFBhdXNlIGZvciB4IHNlY29uZHMgYmV0d2VlbiBpdGVyYXRpb25z LgorICoJCS10ICAgOiBUdXJuIG9uIHN5c2NhbGwgdGltaW5nLgorICoKKyAqIEhpc3RvcnkKKyAq CTA3LzIwMDEgSm9obiBHZW9yZ2UKKyAqCQktUG9ydGVkCisgKgorICogUmVzdHJpY3Rpb25zOgor ICoKKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNs dWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGZjbnRsLmg+ CisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxz eXMvc3RhdC5oPgorI2luY2x1ZGUgPHNpZ25hbC5oPgorI2luY2x1ZGUgPHB3ZC5oPgorI2luY2x1 ZGUgPHRpbWUuaD4KKworI2luY2x1ZGUgInRlc3QuaCIKKyNpbmNsdWRlICJ1c2N0ZXN0LmgiCisK KyNkZWZpbmUgVEVNUF9GSUxFCSJ0bXBfZmlsZSIKKyNkZWZpbmUgRklMRV9NT0RFCVNfSVJVU1Ig fCBTX0lSR1JQIHwgU19JUk9USAorCitjaGFyICpUQ0lEPSJ1dGltZXMwMiI7CQkvKiBUZXN0IHBy b2dyYW0gaWRlbnRpZmllci4gICAgKi8KK2ludCBUU1RfVE9UQUw9MTsJCS8qIFRvdGFsIG51bWJl ciBvZiB0ZXN0IGNhc2VzLiAqLworZXh0ZXJuIGludCBUc3RfY291bnQ7CQkvKiBUZXN0IENhc2Ug Y291bnRlciBmb3IgdHN0Xyogcm91dGluZXMgKi8KK3RpbWVfdCBjdXJyX3RpbWU7CQkvKiBjdXJy ZW50IHRpbWUgaW4gc2Vjb25kcyAqLwordGltZV90IHRsb2M7CQkJLyogYXJndW1lbnQgdmFyLiBm b3IgdGltZSgpICovCitpbnQgZXhwX2Vub3NbXT17MH07CitjaGFyIG5vYm9keV91aWRbXSA9ICJu b2JvZHkiOworc3RydWN0IHBhc3N3ZCAqbHRwdXNlcjsKKworCit2b2lkIHNldHVwKCk7CQkJLyog TWFpbiBzZXR1cCBmdW5jdGlvbiBvZiB0ZXN0ICovCit2b2lkIGNsZWFudXAoKTsJCQkvKiBjbGVh bnVwIGZ1bmN0aW9uIGZvciB0aGUgdGVzdCAqLworCitpbnQKK21haW4oaW50IGFjLCBjaGFyICoq YXYpCit7CisJc3RydWN0IHN0YXQgc3RhdF9idWY7CS8qIHN0cnVjdCBidWZmZXIgdG8gaG9sZCBm aWxlIGluZm8uICovCisJaW50IGxjOwkJCS8qIGxvb3AgY291bnRlciAqLworCWNoYXIgKm1zZzsJ CS8qIG1lc3NhZ2UgcmV0dXJuZWQgZnJvbSBwYXJzZV9vcHRzICovCisJdGltZV90IG1vZGZfdGlt ZSwgYWNjZXNzX3RpbWU7CisJdGltZV90IHByZXNfdGltZTsJLyogZmlsZSBtb2RpZmljYXRpb24v YWNjZXNzL3ByZXNlbnQgdGltZSAqLworICAgIAorCS8qIFBhcnNlIHN0YW5kYXJkIG9wdGlvbnMg Z2l2ZW4gdG8gcnVuIHRoZSB0ZXN0LiAqLworCW1zZyA9IHBhcnNlX29wdHMoYWMsIGF2LCAob3B0 aW9uX3QgKikgTlVMTCwgTlVMTCk7CisJaWYgKG1zZyAhPSAoY2hhciAqKSBOVUxMKSB7CisJCXRz dF9icmttKFRCUk9LLCBOVUxMLCAiT1BUSU9OIFBBUlNJTkcgRVJST1IgLSAlcyIsIG1zZyk7CisJ CXRzdF9leGl0KCk7CisJfQorCisJLyogUGVyZm9ybSBnbG9iYWwgc2V0dXAgZm9yIHRlc3QgKi8K KwlzZXR1cCgpOworCisJLyogc2V0IHRoZSBleHBlY3RlZCBlcnJub3MuLi4gKi8KKwlURVNUX0VY UF9FTk9TKGV4cF9lbm9zKTsKKworCS8qIENoZWNrIGxvb3Bpbmcgc3RhdGUgaWYgLWkgb3B0aW9u IGdpdmVuICovCisJZm9yIChsYyA9IDA7IFRFU1RfTE9PUElORyhsYyk7IGxjKyspIHsKKwkJLyog UmVzZXQgVHN0X2NvdW50IGluIGNhc2Ugd2UgYXJlIGxvb3BpbmcuICovCisJCVRzdF9jb3VudD0w OworCisJCS8qIAorCQkgKiBJbnZva2UgdXRpbWVzKDIpIHRvIHNldCBURU1QX0ZJTEUgYWNjZXNz IGFuZAorCQkgKiBtb2RpZmljYXRpb24gdGltZXMgdG8gdGhlIGN1cnJlbnQgdGltZS4KKwkJICov CisJCVRFU1QodXRpbWVzKFRFTVBfRklMRSwgTlVMTCkpOworCisJCS8qIGNoZWNrIHJldHVybiBj b2RlIG9mIHV0aW1lcygyKSAqLworCQlpZiAoVEVTVF9SRVRVUk4gPT0gLTEpIHsKKwkJCVRFU1Rf RVJST1JfTE9HKFRFU1RfRVJSTk8pOworCQkJdHN0X3Jlc20oVEZBSUwsICJ1dGltZXMoJXMpIEZh aWxlZCwgZXJybm89JWQgOiAlcyIsCisJCQkJIFRFTVBfRklMRSwgVEVTVF9FUlJOTywgc3RyZXJy b3IoVEVTVF9FUlJOTykpOworCQl9IGVsc2UgeworCQkJLyoKKwkJCSAqIFBlcmZvcm0gZnVuY3Rp b25hbCB2ZXJpZmljYXRpb24gaWYgdGVzdAorCQkJICogZXhlY3V0ZWQgd2l0aG91dCAoLWYpIG9w dGlvbi4KKwkJCSAqLworCQkJaWYgKFNURF9GVU5DVElPTkFMX1RFU1QpIHsKKwkJCQkvKgorCQkJ CSAqIFNsZWVwIGZvciBhIHNlY29uZCBzbyB0aGF0IG1vZCB0aW1lIGFuZAorCQkJCSAqIGFjY2Vz cyB0aW1lcyB3aWxsIGJlIGRpZmZlcmVudCBmcm9tIHRoZQorCQkJCSAqIGN1cnJlbnQgdGltZQor CQkJCSAqLworCQkJCXNsZWVwKDIpOworCisJCQkJLyoKKwkJCQkgKiBHZXQgdGhlIGN1cnJlbnQg dGltZSBub3csIGFmdGVyIGNhbGxpbmcKKwkJCQkgKiB1dGltZXMoMikKKwkJCQkgKi8KKwkJCQlp ZiAoKHByZXNfdGltZSA9IHRpbWUoJnRsb2MpKSA8IDApIHsKKwkJCQkJdHN0X2Jya20oVEZBSUws IGNsZWFudXAsICJ0aW1lKCkgIgorCQkJCQkJImZhaWxlZCB0byBnZXQgcHJlc2VudCB0aW1lICIK KwkJCQkJCSJhZnRlciB1dGltZXMsIGVycm9yPSVkIiwKKwkJCQkJCWVycm5vKTsKKwkJCQkJLypO T1RSRUFDSEVEKi8KKwkJCQl9CisKKwkJCQkvKgorCQkJCSAqIEdldCB0aGUgbW9kaWZpY2F0aW9u IGFuZCBhY2Nlc3MgdGltZXMgb2YKKwkJCQkgKiB0ZW1wb3JhcnkgZmlsZSB1c2luZyBzdGF0KDIp LgorCQkJCSAqLworCQkJCWlmIChzdGF0KFRFTVBfRklMRSwgJnN0YXRfYnVmKSA8IDApIHsKKwkJ CQkJdHN0X2Jya20oVEZBSUwsIGNsZWFudXAsICJzdGF0KDIpIG9mICIKKwkJCQkJCSIlcyBmYWls ZWQsIGVycm5vOiVkIiwKKwkJCQkJCVRFTVBfRklMRSwgVEVTVF9FUlJOTyk7CisJCQkJCS8qTk9U UkVBQ0hFRCovCisJCQkJfQorCQkJCW1vZGZfdGltZSA9IHN0YXRfYnVmLnN0X210aW1lOworCQkJ CWFjY2Vzc190aW1lID0gc3RhdF9idWYuc3RfYXRpbWU7CisKKwkJCQkvKiBOb3cgZG8gdGhlIGFj dHVhbCB2ZXJpZmljYXRpb24gKi8KKwkJCQlpZiAobW9kZl90aW1lIDw9IGN1cnJfdGltZSB8fCBc CisJCQkJCW1vZGZfdGltZSA+PSBwcmVzX3RpbWUgfHwgXAorCQkJCQlhY2Nlc3NfdGltZSA8PSBj dXJyX3RpbWUgfHwgXAorCQkJCQlhY2Nlc3NfdGltZSA+PSBwcmVzX3RpbWUpIHsKKwkJCQkJdHN0 X3Jlc20oVEZBSUwsICIlcyBhY2Nlc3MgYW5kICIKKwkJCQkJCSJtb2RpZmljYXRpb24gdGltZXMg bm90IHNldCIsCisJCQkJCQlURU1QX0ZJTEUpOworCQkJCX0gZWxzZSB7CisJCQkJCXRzdF9yZXNt KFRQQVNTLCAiRnVuY3Rpb25hbGl0eSBvZiAiCisJCQkJCQkidXRpbWVzKCVzLCBOVUxMKSBzdWNj ZXNzZnVsIiwKKwkJCQkJCVRFTVBfRklMRSk7CisJCQkJfQorCQkJfSBlbHNlIHsKKwkJCQl0c3Rf cmVzbShUUEFTUywgIiVzIGNhbGwgc3VjY2VlZGVkIiwgVENJRCk7CisJCQl9CisJCX0KKwkJVHN0 X2NvdW50Kys7CisJfQkvKiBFbmQgZm9yIFRFU1RfTE9PUElORyAqLworCisJLyogQ2FsbCBjbGVh bnVwKCkgdG8gdW5kbyBzZXR1cCBkb25lIGZvciB0aGUgdGVzdC4gKi8KKwljbGVhbnVwKCk7CisJ LypOT1RSRUFDSEVEKi8KKworCisgIHJldHVybigwKTsKKworfQkvKiBFbmQgbWFpbiAqLworCisv KgorICogdm9pZAorICogc2V0dXAoKSAtIHBlcmZvcm1zIGFsbCBPTkUgVElNRSBzZXR1cCBmb3Ig dGhpcyB0ZXN0LgorICogIENyZWF0ZSBhIHRlbXBvcmFyeSBkaXJlY3RvcnkgYW5kIGNoYW5nZSBk aXJlY3RvcnkgdG8gaXQuCisgKiAgQ3JlYXRlIGEgdGVzdCBmaWxlIHVuZGVyIHRlbXBvcmFyeSBk aXJlY3RvcnkgYW5kIGNsb3NlIGl0CisgKi8KK3ZvaWQgCitzZXR1cCgpCit7CisJaW50IGZpbGRl czsJCQkvKiBmaWxlIGhhbmRsZSBmb3IgdGVtcCBmaWxlICovCisKKwkvKiBjYXB0dXJlIHNpZ25h bHMgKi8KKwl0c3Rfc2lnKEZPUkssIERFRl9IQU5ETEVSLCBjbGVhbnVwKTsKKworCS8qIFN3aXRj aCB0byBub2JvZHkgdXNlciBmb3IgY29ycmVjdCBlcnJvciBjb2RlIGNvbGxlY3Rpb24gKi8KKyAg ICAgICAgaWYgKGdldGV1aWQoKSAhPSAwKSB7CisgICAgICAgICAgICAgICAgdHN0X2Jya20oVEJS T0ssIHRzdF9leGl0LCAiVGVzdCBtdXN0IGJlIHJ1biBhcyByb290Iik7CisgICAgICAgIH0KKyAg ICAgICAgIGx0cHVzZXIgPSBnZXRwd25hbShub2JvZHlfdWlkKTsKKyAgICAgICAgIGlmIChzZXR1 aWQobHRwdXNlci0+cHdfdWlkKSA9PSAtMSkgeworICAgICAgICAgICAgICAgIHRzdF9yZXNtKFRJ TkZPLCAic2V0dWlkIGZhaWxlZCB0byAiCisgICAgICAgICAgICAgICAgICAgICAgICAgInRvIHNl dCB0aGUgZWZmZWN0aXZlIHVpZCB0byAlZCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgbHRw dXNlci0+cHdfdWlkKTsKKyAgICAgICAgICAgICAgICBwZXJyb3IoInNldHVpZCIpOworICAgICAg ICAgfQorCQorCisJLyogUGF1c2UgaWYgdGhhdCBvcHRpb24gd2FzIHNwZWNpZmllZAorCSAqIFRF U1RfUEFVU0UgY29udGFpbnMgdGhlIGNvZGUgdG8gZm9yayB0aGUgdGVzdCB3aXRoIHRoZSAtaSBv cHRpb24uCisJICogWW91IHdhbnQgdG8gbWFrZSBzdXJlIHlvdSBkbyB0aGlzIGJlZm9yZSB5b3Ug Y3JlYXRlIHlvdXIgdGVtcG9yYXJ5CisJICogZGlyZWN0b3J5LgorCSAqLworCVRFU1RfUEFVU0U7 CisKKwkvKiBtYWtlIGEgdGVtcCBkaXJlY3RvcnkgYW5kIGNkIHRvIGl0ICovCisJdHN0X3RtcGRp cigpOworCisJLyogQ3JlYXQgYSB0ZW1wb3JhcnkgZmlsZSB1bmRlciBhYm92ZSBkaXJlY3Rvcnkg Ki8KKwlpZiAoKGZpbGRlcyA9IGNyZWF0KFRFTVBfRklMRSwgRklMRV9NT0RFKSkgPT0gLTEpIHsK KwkJdHN0X2Jya20oVEJST0ssIGNsZWFudXAsCisJCQkgImNyZWF0KCVzLCAlI28pIEZhaWxlZCwg ZXJybm89JWQgOiVzIiwKKwkJCSBURU1QX0ZJTEUsIEZJTEVfTU9ERSwgZXJybm8sIHN0cmVycm9y KGVycm5vKSk7CisJCS8qTk9UUkVBQ0hFRCovCisJfQorCisJLyogQ2xvc2UgdGhlIHRlbXBvcmFy eSBmaWxlIGNyZWF0ZWQgKi8KKwlpZiAoY2xvc2UoZmlsZGVzKSA8IDApIHsKKwkJdHN0X2Jya20o VEJST0ssIGNsZWFudXAsCisJCQkgImNsb3NlKCVzKSBGYWlsZWQsIGVycm5vPSVkIDogJXM6IiwK KwkJCSBURU1QX0ZJTEUsIGVycm5vLCBzdHJlcnJvcihlcnJubykpOworCQkvKk5PVFJFQUNIRUQq LworCX0KKworCS8qIEdldCB0aGUgY3VycmVudCB0aW1lICovCisJaWYgKChjdXJyX3RpbWUgPSB0 aW1lKCZ0bG9jKSkgPCAwKSB7CisJCXRzdF9icmttKFRCUk9LLCBjbGVhbnVwLAorCQkJICJ0aW1l KCkgZmFpbGVkIHRvIGdldCBjdXJyZW50IHRpbWUsIGVycm5vPSVkIiwKKwkJCSBlcnJubyk7CisJ CS8qTk9UUkVBQ0hFRCovCisJfQorCisJLyoKKwkgKiBTbGVlcCBmb3IgYSBzZWNvbmQgc28gdGhh dCBtb2QgdGltZSBhbmQgYWNjZXNzIHRpbWVzIHdpbGwgYmUKKwkgKiBkaWZmZXJlbnQgZnJvbSB0 aGUgY3VycmVudCB0aW1lCisJICovCisJc2xlZXAoMik7CS8qIHNsZWVwKDEpIG9uIElBNjQgc29t ZXRpbWVzIHNsZWVwcyA8IDEgc2VjISEgKi8KKwkJCit9CS8qIEVuZCBzZXR1cCgpICovCisKKy8q CisgKiB2b2lkCisgKiBjbGVhbnVwKCkgLSBwZXJmb3JtcyBhbGwgT05FIFRJTUUgY2xlYW51cCBm b3IgdGhpcyB0ZXN0IGF0CisgKiAgICAgICAgICAgICBjb21wbGV0aW9uIG9yIHByZW1hdHVyZSBl eGl0LgorICogIFJlbW92ZSB0aGUgdGVzdCBkaXJlY3RvcnkgYW5kIHRlc3RmaWxlIGNyZWF0ZWQg aW4gdGhlIHNldHVwLgorICovCit2b2lkIAorY2xlYW51cCgpCit7CisJLyoKKwkgKiBwcmludCB0 aW1pbmcgc3RhdHMgaWYgdGhhdCBvcHRpb24gd2FzIHNwZWNpZmllZC4KKwkgKiBwcmludCBlcnJu byBsb2cgaWYgdGhhdCBvcHRpb24gd2FzIHNwZWNpZmllZC4KKwkgKi8KKwlURVNUX0NMRUFOVVA7 CisKKwkvKiBSZW1vdmUgdG1wIGRpciBhbmQgYWxsIGZpbGVzIGluIGl0ICovCisJdHN0X3JtZGly KCk7CisKKwkvKiBleGl0IHdpdGggcmV0dXJuIGNvZGUgYXBwcm9wcmlhdGUgZm9yIHJlc3VsdHMg Ki8KKwl0c3RfZXhpdCgpOworfQkvKiBFbmQgY2xlYW51cCgpICovCmRpZmYgLXJ1TiBsdHAtZnVs bC0yMDA2MTEyMS1vcmlnL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvdXRpbWVzL3V0aW1lczAz LmMgbHRwLWZ1bGwtMjAwNjExMjEvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy91dGltZXMvdXRp bWVzMDMuYwotLS0gbHRwLWZ1bGwtMjAwNjExMjEtb3JpZy90ZXN0Y2FzZXMva2VybmVsL3N5c2Nh bGxzL3V0aW1lcy91dGltZXMwMy5jCVdlZCBEZWMgMzEgMTg6MDA6MDAgMTk2OQorKysgbHRwLWZ1 bGwtMjAwNjExMjEvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy91dGltZXMvdXRpbWVzMDMuYwlU aHUgRGVjIDE0IDEyOjM1OjU5IDIwMDYKQEAgLTAsMCArMSwzNzYgQEAKKy8qCisgKgorICogICBD b3B5cmlnaHQgKGMpIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMgIENvcnAuLCAyMDAx CisgKgorICogICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgIHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqICAgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IK KyAqICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgIFRoaXMg cHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAorICogICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7ICB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKKyAqICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLiAgU2VlCisgKiAgIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg Y29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICAgYWxvbmcgd2l0aCB0 aGlzIHByb2dyYW07ICBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgIEZv dW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAy MTExLTEzMDcgVVNBCisgKi8KKworLyoKKyAqIFRlc3QgTmFtZTogdXRpbWVzMDMKKyAqCisgKiBU ZXN0IERlc2NyaXB0aW9uOgorICogIFZlcmlmeSB0aGF0IHRoZSBzeXN0ZW0gY2FsbCB1dGltZXMo KSBzdWNjZXNzZnVsbHkgc2V0cyB0aGUgbW9kaWZpY2F0aW9uCisgKiAgYW5kIGFjY2VzcyB0aW1l cyBvZiBhIGZpbGUgdG8gdGhlIGN1cnJlbnQgdGltZSwgdW5kZXIgdGhlIGZvbGxvd2luZworICog IGNvbnN0cmFpbnRzLAorICoJLSBUaGUgdGltZXMgYXJndW1lbnQgaXMgbnVsbC4KKyAqCS0gVGhl IHVzZXIgSUQgb2YgdGhlIHByb2Nlc3MgaXMgbm90ICJyb290Ii4KKyAqCS0gVGhlIGZpbGUgaXMg bm90IG93bmVkIGJ5IHRoZSB1c2VyIElEIG9mIHRoZSBwcm9jZXNzLgorICoJLSBUaGUgdXNlciBJ RCBvZiB0aGUgcHJvY2VzcyBoYXMgd3JpdGUgYWNjZXNzIHRvIHRoZSBmaWxlLgorICoKKyAqIEV4 cGVjdGVkIFJlc3VsdDoKKyAqICB1dGltZXMgc3VjY2VlZHMgcmV0dXJuaW5nIHplcm8gYW5kIHNl dHMgdGhlIGFjY2VzcyBhbmQgbW9kaWZpY2F0aW8KKyAqICB0aW1lcyBvZiB0aGUgZmlsZSB0byB0 aGUgY3VycmVudCB0aW1lLgorICoKKyAqIEFsZ29yaXRobToKKyAqICBTZXR1cDoKKyAqICAgU2V0 dXAgc2lnbmFsIGhhbmRsaW5nLgorICogICBDcmVhdGUgdGVtcG9yYXJ5IGRpcmVjdG9yeS4KKyAq ICAgUGF1c2UgZm9yIFNJR1VTUjEgaWYgb3B0aW9uIHNwZWNpZmllZC4KKyAqCisgKiAgVGVzdDoK KyAqICAgTG9vcCBpZiB0aGUgcHJvcGVyIG9wdGlvbnMgYXJlIGdpdmVuLgorICogICBFeGVjdXRl IHN5c3RlbSBjYWxsCisgKiAgIENoZWNrIHJldHVybiBjb2RlLCBpZiBzeXN0ZW0gY2FsbCBmYWls ZWQgKHJldHVybj0tMSkKKyAqICAgCUxvZyB0aGUgZXJybm8gYW5kIElzc3VlIGEgRkFJTCBtZXNz YWdlLgorICogICBPdGhlcndpc2UsCisgKiAgIAlWZXJpZnkgdGhlIEZ1bmN0aW9uYWxpdHkgb2Yg c3lzdGVtIGNhbGwJCisgKiAgICAgIGlmIHN1Y2Nlc3NmdWwsCisgKiAgICAgIAlJc3N1ZSBGdW5j dGlvbmFsaXR5LVBhc3MgbWVzc2FnZS4KKyAqICAgICAgT3RoZXJ3aXNlLAorICoJCUlzc3VlIEZ1 bmN0aW9uYWxpdHktRmFpbCBtZXNzYWdlLgorICogIENsZWFudXA6CisgKiAgIFByaW50IGVycm5v IGxvZyBhbmQvb3IgdGltaW5nIHN0YXRzIGlmIG9wdGlvbnMgZ2l2ZW4KKyAqICAgRGVsZXRlIHRo ZSB0ZW1wb3JhcnkgZGlyZWN0b3J5IGNyZWF0ZWQuCisgKgorICogVXNhZ2U6ICA8Zm9yIGNvbW1h bmQtbGluZT4KKyAqICB1dGltZXMwMyBbLWMgbl0gWy1lXSBbLWZdIFstaSBuXSBbLUkgeF0gWy1w IHhdIFstdF0KKyAqCXdoZXJlLCAgLWMgbiA6IFJ1biBuIGNvcGllcyBjb25jdXJyZW50bHkuCisg KgkJLWUgICA6IFR1cm4gb24gZXJybm8gbG9nZ2luZy4KKyAqCQktZiAgIDogVHVybiBvZmYgZnVu Y3Rpb25hbGl0eSBUZXN0aW5nLgorICoJCS1pIG4gOiBFeGVjdXRlIHRlc3QgbiB0aW1lcy4KKyAq CQktSSB4IDogRXhlY3V0ZSB0ZXN0IGZvciB4IHNlY29uZHMuCisgKgkJLVAgeCA6IFBhdXNlIGZv ciB4IHNlY29uZHMgYmV0d2VlbiBpdGVyYXRpb25zLgorICoJCS10ICAgOiBUdXJuIG9uIHN5c2Nh bGwgdGltaW5nLgorICoKKyAqIEhpc3RvcnkKKyAqCTA3LzIwMDEgSm9obiBHZW9yZ2UKKyAqCQkt UG9ydGVkCisgKgorICogUmVzdHJpY3Rpb25zOgorICogIFRoaXMgdGVzdCBzaG91bGQgYmUgcnVu IGJ5IHJvb3Qgb25seS4KKyAqICBub2JvZHkgYW5kIGJpbiBtdXN0IGJlIHZhbGlkIHVzZXJzLgor ICogCisgKi8KKworI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNs dWRlIDxwd2QuaD4KKyNpbmNsdWRlIDxzaWduYWwuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2lu Y2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHVuaXN0ZC5o PgorI2luY2x1ZGUgPHN5cy90aW1lLmg+CisjaW5jbHVkZSA8d2FpdC5oPgorI2luY2x1ZGUgPHN5 cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8dGltZS5oPgorCisj aW5jbHVkZSAidGVzdC5oIgorI2luY2x1ZGUgInVzY3Rlc3QuaCIKKworI2RlZmluZSBURU1QX0ZJ TEUJInRtcF9maWxlIgorI2RlZmluZSBGSUxFX01PREUJU19JUldYVSB8IFNfSVJHUlAgfCBTX0lX R1JQfCBTX0lST1RIIHwgU19JV09USAorI2RlZmluZSBMVFBVU0VSMQkibm9ib2R5IgorI2RlZmlu ZSBMVFBVU0VSMgkiYmluIgorCitjaGFyICpUQ0lEPSJ1dGltZXMwMyI7CQkvKiBUZXN0IHByb2dy YW0gaWRlbnRpZmllci4gICAgKi8KK2ludCBUU1RfVE9UQUw9MTsJCS8qIFRvdGFsIG51bWJlciBv ZiB0ZXN0IGNhc2VzLiAqLworZXh0ZXJuIGludCBUc3RfY291bnQ7CQkvKiBUZXN0IENhc2UgY291 bnRlciBmb3IgdHN0Xyogcm91dGluZXMgKi8KK3RpbWVfdCBjdXJyX3RpbWU7CQkvKiBjdXJyZW50 IHRpbWUgaW4gc2Vjb25kcyAqLwordGltZV90IHRsb2M7CQkJLyogYXJndW1lbnQgdmFyLiBmb3Ig dGltZSgpICovCitpbnQgZXhwX2Vub3NbXT17MH07CisKK3N0cnVjdCBwYXNzd2QgKmx0cHVzZXI7 ICAgICAgICAgLyogcGFzc3dvcmQgc3RydWN0IGZvciBsdHB1c2VycyAqLwordWlkX3QgdXNlcl91 aWQ7ICAgICAgICAgICAgICAgICAvKiB1c2VyIGlkIG9mIGx0cHVzZXIgKi8KK2dpZF90IGdyb3Vw X2dpZDsgICAgICAgICAgICAgICAgLyogZ3JvdXAgaWQgb2YgbHRwdXNlciAqLworaW50IHN0YXR1 czsKKwordm9pZCBzZXR1cCgpOwkJCS8qIE1haW4gc2V0dXAgZnVuY3Rpb24gb2YgdGVzdCAqLwor dm9pZCBjbGVhbnVwKCk7CQkJLyogY2xlYW51cCBmdW5jdGlvbiBmb3IgdGhlIHRlc3QgKi8KKwor aW50CittYWluKGludCBhYywgY2hhciAqKmF2KQoreworCXN0cnVjdCBzdGF0IHN0YXRfYnVmOwkv KiBzdHJ1Y3QgYnVmZmVyIHRvIGhvbGQgZmlsZSBpbmZvLiAqLworCWludCBsYzsJCQkvKiBsb29w IGNvdW50ZXIgKi8KKwljaGFyICptc2c7CQkvKiBtZXNzYWdlIHJldHVybmVkIGZyb20gcGFyc2Vf b3B0cyAqLworCXRpbWVfdCBtb2RmX3RpbWUsIGFjY2Vzc190aW1lOworCXRpbWVfdCBwcmVzX3Rp bWU7CS8qIGZpbGUgbW9kaWZpY2F0aW9uL2FjY2Vzcy9wcmVzZW50IHRpbWUgKi8KKwlwaWRfdCBw aWQ7CisgICAgCisJLyogUGFyc2Ugc3RhbmRhcmQgb3B0aW9ucyBnaXZlbiB0byBydW4gdGhlIHRl c3QuICovCisJbXNnID0gcGFyc2Vfb3B0cyhhYywgYXYsIChvcHRpb25fdCAqKSBOVUxMLCBOVUxM KTsKKwlpZiAobXNnICE9IChjaGFyICopIE5VTEwpIHsKKwkJdHN0X2Jya20oVEJST0ssIE5VTEws ICJPUFRJT04gUEFSU0lORyBFUlJPUiAtICVzIiwgbXNnKTsKKwkJdHN0X2V4aXQoKTsKKwl9CisK KwkvKiBQZXJmb3JtIGdsb2JhbCBzZXR1cCBmb3IgdGVzdCAqLworCXNldHVwKCk7CisKKwkvKiBz ZXQgdGhlIGV4cGVjdGVkIGVycm5vcy4uLiAqLworCVRFU1RfRVhQX0VOT1MoZXhwX2Vub3MpOwor CisJcGlkID0gRk9SS19PUl9WRk9SSygpOworCisJaWYgKHBpZCA9PSAtMSkgeworCQl0c3RfYnJr bShUQlJPSywgY2xlYW51cCwgImZvcmsoKSBmYWlsZWQiKTsKKwl9IGVsc2UgaWYgKHBpZCA9PSAw KSB7CisJCWlmICgobHRwdXNlciA9IGdldHB3bmFtKExUUFVTRVIxKSkgPT0gTlVMTCkgeworCQkJ dHN0X2Jya20oVEJST0ssY2xlYW51cCwiJXMgbm90IGZvdW5kIGluIC9ldGMvcGFzc3dkIiwKKwkJ CUxUUFVTRVIxKTsKKwkJfQorCisJCS8qIGdldCB1aWQvZ2lkIG9mIHVzZXIgYWNjb3JkaW5nbHkg Ki8KKwkJdXNlcl91aWQgPSBsdHB1c2VyLT5wd191aWQ7CisKKwkJc2V0ZXVpZCh1c2VyX3VpZCk7 CisKKwkJLyogQ2hlY2sgbG9vcGluZyBzdGF0ZSBpZiAtaSBvcHRpb24gZ2l2ZW4gKi8KKwkJZm9y IChsYyA9IDA7IFRFU1RfTE9PUElORyhsYyk7IGxjKyspIHsKKwkJCS8qIFJlc2V0IFRzdF9jb3Vu dCBpbiBjYXNlIHdlIGFyZSBsb29waW5nLiAqLworCQkJVHN0X2NvdW50PTA7CisKKwkJCS8qIAor CQkJICogSW52b2tlIHV0aW1lcygyKSB0byBzZXQgVEVNUF9GSUxFIGFjY2VzcyBhbmQKKwkJCSAq IG1vZGlmaWNhdGlvbiB0aW1lcyB0byB0aGUgY3VycmVudCB0aW1lLgorCQkJICovCisJCQlURVNU KHV0aW1lcyhURU1QX0ZJTEUsIE5VTEwpKTsKKworCQkJLyogY2hlY2sgcmV0dXJuIGNvZGUgb2Yg dXRpbWVzKDIpICovCisJCQlpZiAoVEVTVF9SRVRVUk4gPT0gLTEpIHsKKwkJCQlURVNUX0VSUk9S X0xPRyhURVNUX0VSUk5PKTsKKwkJCQl0c3RfcmVzbShURkFJTCwKKwkJCQkJInV0aW1lcyglcykg RmFpbGVkLCBlcnJubz0lZCA6ICVzIiwKKwkJCQkJVEVNUF9GSUxFLCBURVNUX0VSUk5PLAorCQkJ CQlzdHJlcnJvcihURVNUX0VSUk5PKSk7CisJCQl9IGVsc2UgeworCQkJCS8qCisJCQkJICogUGVy Zm9ybSBmdW5jdGlvbmFsIHZlcmlmaWNhdGlvbiBpZiB0ZXN0CisJCQkJICogZXhlY3V0ZWQgd2l0 aG91dCAoLWYpIG9wdGlvbi4KKwkJCQkgKi8KKwkJCQlpZiAoU1REX0ZVTkNUSU9OQUxfVEVTVCkg eworCQkJCQkvKgorCQkJCQkgKiBTbGVlcCBmb3IgYSBzZWNvbmQgc28gdGhhdCBtb2QgdGltZQor CQkJCQkgKiBhbmQgYWNjZXNzIHRpbWVzIHdpbGwgYmUgZGlmZmVyZW50CisJCQkJCSAqIGZyb20g dGhlIGN1cnJlbnQgdGltZS4KKwkJCQkJICovCisJCQkJCXNsZWVwKDIpOworCisJCQkJCS8qCisJ CQkJCSAqIEdldCB0aGUgY3VycmVudCB0aW1lIG5vdywgYWZ0ZXIKKwkJCQkJICogY2FsbGluZyB1 dGltZXMoMikKKwkJCQkJICovCisJCQkJCWlmICgocHJlc190aW1lID0gdGltZSgmdGxvYykpIDwg MCkgeworCQkJCQkJdHN0X2Jya20oVEZBSUwsIGNsZWFudXAsCisJCQkJCQkJInRpbWUoKSBmYWls ZWQgdG8gZ2V0ICIKKwkJCQkJCQkicHJlc2VudCB0aW1lIGFmdGVyICIKKwkJCQkJCQkidXRpbWVz LCBlcnJvcj0lZCIsCisJCQkJCQkJZXJybm8pOworCQkJCQkJLypOT1RSRUFDSEVEKi8KKwkJCQkJ fQorCisJCQkJCS8qCisJCQkJCSAqIEdldCB0aGUgbW9kaWZpY2F0aW9uIGFuZCBhY2Nlc3MKKwkJ CQkJICogdGltZXMgb2YgdGVtcG9yYXJ5IGZpbGUgdXNpbmcKKwkJCQkJICogc3RhdCgyKS4KKwkJ CQkJICovCisJCQkJCWlmIChzdGF0KFRFTVBfRklMRSwgJnN0YXRfYnVmKSA8IDApIHsKKwkJCQkJ CXRzdF9icmttKFRGQUlMLCBjbGVhbnVwLAorCQkJCQkJCSJzdGF0KDIpIG9mICVzIGZhaWxlZCwg IgorCQkJCQkJCSJlcnJvcjolZCIsIFRFTVBfRklMRSwKKwkJCQkJCQlURVNUX0VSUk5PKTsKKwkJ CQkJCS8qTk9UUkVBQ0hFRCovCisJCQkJCX0KKwkJCQkJbW9kZl90aW1lID0gc3RhdF9idWYuc3Rf bXRpbWU7CisJCQkJCWFjY2Vzc190aW1lID0gc3RhdF9idWYuc3RfYXRpbWU7CisJCisJCQkJCS8q IE5vdyBkbyB0aGUgYWN0dWFsIHZlcmlmaWNhdGlvbiAqLworCQkJCQlpZiAobW9kZl90aW1lIDw9 IGN1cnJfdGltZSB8fCBcCisJCQkJCQltb2RmX3RpbWUgPj0gcHJlc190aW1lIHx8IFwKKwkJCQkJ CWFjY2Vzc190aW1lIDw9IGN1cnJfdGltZSB8fCBcCisJCQkJCQlhY2Nlc3NfdGltZSA+PSBwcmVz X3RpbWUpIHsKKwkJCQkJCXRzdF9yZXNtKFRGQUlMLCAiJXMgYWNjZXNzIGFuZCAiCisJCQkJCQkJ Im1vZGlmaWNhdGlvbiB0aW1lcyAiCisJCQkJCQkJIm5vdCBzZXQiLCBURU1QX0ZJTEUpOworCQkJ CQl9IGVsc2UgeworCQkJCQkJdHN0X3Jlc20oVFBBU1MsICJGdW5jdGlvbmFsaXR5ICIKKwkJCQkJ CQkib2YgdXRpbWVzKCVzLCBOVUxMKSAiCisJCQkJCQkJInN1Y2Nlc3NmdWwiLAorCQkJCQkJCVRF TVBfRklMRSk7CisJCQkJCX0KKwkJCQl9IGVsc2UgeworCQkJCQl0c3RfcmVzbShUUEFTUywgIiVz IGNhbGwgc3VjY2VlZGVkIiwKKwkJCQkJCQlUQ0lEKTsKKwkJCQl9CisJCQl9CisJCQlUc3RfY291 bnQrKzsJCS8qIGluY3IuIFRFU1RfTE9PUCBjb3VudGVyICovCisJCX0JLyogRW5kIGZvciBURVNU X0xPT1BJTkcgKi8KKwl9IGVsc2UgeworCQl3YWl0cGlkKHBpZCwgJnN0YXR1cywgMCk7CisJCV9l eGl0KDApOwkvKgorCQkJCSAqIEV4aXQgaGVyZSBhbmQgbGV0IHRoZSBjaGlsZCBjbGVhbiB1cC4K KwkJCQkgKiBUaGlzIGFsbG93cyB0aGUgZXJybm8gaW5mb3JtYXRpb24gc2V0CisJCQkJICogYnkg dGhlIFRFU1RfRVJST1JfTE9HIG1hY3JvIGFuZCB0aGUKKwkJCQkgKiBQQVNTL0ZBSUwgc3RhdHVz IHRvIGJlIHByZXNlcnZlZCBmb3IKKwkJCQkgKiB1c2UgZHVyaW5nIGNsZWFudXAuCisJCQkJICov CisJfQorCS8qIENhbGwgY2xlYW51cCgpIHRvIHVuZG8gc2V0dXAgZG9uZSBmb3IgdGhlIHRlc3Qu ICovCisJY2xlYW51cCgpOworCS8qTk9UUkVBQ0hFRCovCisKKworICByZXR1cm4oMCk7CisKK30J LyogRW5kIG1haW4gKi8KKworLyoKKyAqIHZvaWQKKyAqIHNldHVwKCkgLSBwZXJmb3JtcyBhbGwg T05FIFRJTUUgc2V0dXAgZm9yIHRoaXMgdGVzdC4KKyAqICBDcmVhdGUgYSB0ZW1wb3JhcnkgZGly ZWN0b3J5IGFuZCBjaGFuZ2UgZGlyZWN0b3J5IHRvIGl0LgorICogIENyZWF0ZSBhIHRlc3QgZmls ZSB1bmRlciB0ZW1wb3JhcnkgZGlyZWN0b3J5IGFuZCBjbG9zZSBpdAorICogIENoYW5nZSB0aGUg b3duZXJzaGlwIG9mIHRlc3RmaWxlIHRvIHRoYXQgb2YgImJpbiIgdXNlci4KKyAqICBSZWNvcmQg dGhlIGN1cnJlbnQgdGltZS4KKyAqLwordm9pZCAKK3NldHVwKCkKK3sKKwlpbnQgZmlsZGVzOwkJ CS8qIGZpbGUgaGFuZGxlIGZvciB0ZW1wIGZpbGUgKi8KKwljaGFyICp0bXBkID0gTlVMTDsKKwor CS8qIGNhcHR1cmUgc2lnbmFscyAqLworCXRzdF9zaWcoRk9SSywgREVGX0hBTkRMRVIsIGNsZWFu dXApOworCisJLyogQ2hlY2sgdGhhdCB0aGUgdGVzdCBwcm9jZXNzIGlkIGlzIG5vdCBzdXBlci9y b290ICAqLworCWlmIChnZXRldWlkKCkgIT0gMCkgeworCQl0c3RfYnJrbShUQlJPSywgTlVMTCwg Ik11c3QgYmUgcm9vdCBmb3IgdGhpcyB0ZXN0ISIpOworCQl0c3RfZXhpdCgpOworCX0KKworCS8q IFBhdXNlIGlmIHRoYXQgb3B0aW9uIHdhcyBzcGVjaWZpZWQKKwkgKiBURVNUX1BBVVNFIGNvbnRh aW5zIHRoZSBjb2RlIHRvIGZvcmsgdGhlIHRlc3Qgd2l0aCB0aGUgLWkgb3B0aW9uLgorCSAqIFlv dSB3YW50IHRvIG1ha2Ugc3VyZSB5b3UgZG8gdGhpcyBiZWZvcmUgeW91IGNyZWF0ZSB5b3VyIHRl bXBvcmFyeQorCSAqIGRpcmVjdG9yeS4KKwkgKi8KKwlURVNUX1BBVVNFOworCisJLyogbWFrZSBh IHRlbXAgZGlyZWN0b3J5IGFuZCBjZCB0byBpdCAqLworCXRzdF90bXBkaXIoKTsKKworICAgICAg ICAvKiBnZXQgdGhlIG5hbWUgb2YgdGhlIHRlbXBvcmFyeSBkaXJlY3RvcnkgKi8KKyAgICAgICAg aWYgKCh0bXBkID0gZ2V0Y3dkKHRtcGQsIDApKSA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAg dHN0X2Jya20oVEJST0ssIHRzdF9leGl0LCAiZ2V0Y3dkIGZhaWxlZCIpOworICAgICAgICB9CisK KwkvKiBDcmVhdCBhIHRlbXBvcmFyeSBmaWxlIHVuZGVyIGFib3ZlIGRpcmVjdG9yeSAqLworCWlm ICgoZmlsZGVzID0gY3JlYXQoVEVNUF9GSUxFLCBGSUxFX01PREUpKSA9PSAtMSkgeworCQl0c3Rf YnJrbShUQlJPSywgY2xlYW51cCwKKwkJCSAiY3JlYXQoJXMsICUjbykgRmFpbGVkLCBlcnJubz0l ZCA6JXMiLAorCQkJIFRFTVBfRklMRSwgRklMRV9NT0RFLCBlcnJubywgc3RyZXJyb3IoZXJybm8p KTsKKwkJLypOT1RSRUFDSEVEKi8KKwl9CisKKwkvKiBDbG9zZSB0aGUgdGVtcG9yYXJ5IGZpbGUg Y3JlYXRlZCAqLworCWlmIChjbG9zZShmaWxkZXMpIDwgMCkgeworCQl0c3RfYnJrbShUQlJPSywg Y2xlYW51cCwKKwkJCSAiY2xvc2UoJXMpIEZhaWxlZCwgZXJybm89JWQgOiAlczoiLAorCQkJIFRF TVBfRklMRSwgZXJybm8sIHN0cmVycm9yKGVycm5vKSk7CisJCS8qTk9UUkVBQ0hFRCovCisJfQor CisJLyoKKwkgKiBNYWtlIHN1cmUgdGhhdCBzcGVjaWZpZWQgTW9kZSBwZXJtaXNzaW9ucyBzZXQg YXMKKwkgKiB1bWFzayB2YWx1ZSBtYXkgYmUgZGlmZmVyZW50LgorCSAqLworCWlmIChjaG1vZChU RU1QX0ZJTEUsIEZJTEVfTU9ERSkgPCAwKSB7CisJCXRzdF9icmttKFRCUk9LLCBjbGVhbnVwLAor CQkJICJjaG1vZCglcykgRmFpbGVkLCBlcnJubz0lZCA6ICVzOiIsCisJCQkgVEVNUF9GSUxFLCBl cnJubywgc3RyZXJyb3IoZXJybm8pKTsKKwkJLypOT1RSRUFDSEVEKi8KKwl9CisKKyAgICAgICAg aWYgKGNobW9kKHRtcGQsIDA3MTEpICE9IDApIHsKKyAgICAgICAgICAgICAgICB0c3RfYnJrbShU QlJPSywgY2xlYW51cCwgImNobW9kKCkgZmFpbGVkIik7CisgICAgICAgIH0KKworCWlmICgobHRw dXNlciA9IGdldHB3bmFtKExUUFVTRVIyKSkgPT0gTlVMTCkgeworCQl0c3RfYnJrbShUQlJPSywg Y2xlYW51cCwgIiVzIG5vdCBmb3VuZCBpbiAvZXRjL3Bhc3N3ZCIsCisJCQlMVFBVU0VSMik7CisJ CS8qTk9UUkVBQ0hFRCovCisJfQorCisJLyogZ2V0IHVpZC9naWQgb2YgdXNlciBhY2NvcmRpbmds eSAqLworCXVzZXJfdWlkID0gbHRwdXNlci0+cHdfdWlkOworCWdyb3VwX2dpZCA9IGx0cHVzZXIt PnB3X2dpZDsKKworCSAvKgorICAgICAgICAgKiBDaGFuZ2UgdGhlIG93bmVyc2hpcCBvZiB0ZXN0 IGRpcmVjdG9yeS9maWxlIHNwZWNpZmllZCBieQorICAgICAgICAgKiBwYXRobmFtZSB0byB0aGF0 IG9mIHVzZXJfdWlkIGFuZCBncm91cF9naWQuCisgICAgICAgICAqLworICAgICAgICBpZiAoY2hv d24oVEVNUF9GSUxFLCB1c2VyX3VpZCwgZ3JvdXBfZ2lkKSA8IDApIHsKKwkJdHN0X2Jya20oVEJS T0ssIGNsZWFudXAsICJjaG93bigpIG9mICVzIGZhaWxlZCwgZXJyb3IgJWQiLAorCQkJVEVNUF9G SUxFLCBlcnJubyk7CisJCS8qTk9UUkVBQ0hFRCovCisJfQorCQkJCisJLyogR2V0IHRoZSBjdXJy ZW50IHRpbWUgKi8KKwlpZiAoKGN1cnJfdGltZSA9IHRpbWUoJnRsb2MpKSA8IDApIHsKKwkJdHN0 X2Jya20oVEJST0ssIGNsZWFudXAsCisJCQkgInRpbWUoKSBmYWlsZWQgdG8gZ2V0IGN1cnJlbnQg dGltZSwgZXJybm89JWQiLCBlcnJubyk7CisJCS8qTk9UUkVBQ0hFRCovCisJfQorCisJLyoKKwkg KiBTbGVlcCBmb3IgYSBzZWNvbmQgc28gdGhhdCBtb2QgdGltZSBhbmQgYWNjZXNzIHRpbWVzIHdp bGwgYmUKKwkgKiBkaWZmZXJlbnQgZnJvbSB0aGUgY3VycmVudCB0aW1lCisJICovCisJc2xlZXAo Mik7CS8qIHNsZWVwKDEpIG9uIElBNjQgc29tZXRpbWVzIHNsZWVwcyA8IDEgc2VjISEgKi8KKwkJ Cit9CS8qIEVuZCBzZXR1cCgpICovCisKKy8qCisgKiB2b2lkCisgKiBjbGVhbnVwKCkgLSBwZXJm b3JtcyBhbGwgT05FIFRJTUUgY2xlYW51cCBmb3IgdGhpcyB0ZXN0IGF0CisgKiAgICAgICAgICAg ICBjb21wbGV0aW9uIG9yIHByZW1hdHVyZSBleGl0LgorICogIFJlbW92ZSB0aGUgdGVzdCBkaXJl Y3RvcnkgYW5kIHRlc3RmaWxlIGNyZWF0ZWQgaW4gdGhlIHNldHVwLgorICovCit2b2lkIAorY2xl YW51cCgpCit7CisJc2V0ZXVpZCgwKTsKKwkvKgorCSAqIHByaW50IHRpbWluZyBzdGF0cyBpZiB0 aGF0IG9wdGlvbiB3YXMgc3BlY2lmaWVkLgorCSAqIHByaW50IGVycm5vIGxvZyBpZiB0aGF0IG9w dGlvbiB3YXMgc3BlY2lmaWVkLgorCSAqLworCVRFU1RfQ0xFQU5VUDsKKworCS8qIFJlbW92ZSB0 bXAgZGlyIGFuZCBhbGwgZmlsZXMgaW4gaXQgKi8KKwl0c3Rfcm1kaXIoKTsKKworCS8qIGV4aXQg d2l0aCByZXR1cm4gY29kZSBhcHByb3ByaWF0ZSBmb3IgcmVzdWx0cyAqLworCXRzdF9leGl0KCk7 Cit9CS8qIEVuZCBjbGVhbnVwKCkgKi8KZGlmZiAtcnVOIGx0cC1mdWxsLTIwMDYxMTIxLW9yaWcv dGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy91dGltZXMvdXRpbWVzMDQuYyBsdHAtZnVsbC0yMDA2 MTEyMS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3V0aW1lcy91dGltZXMwNC5jCi0tLSBsdHAt ZnVsbC0yMDA2MTEyMS1vcmlnL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvdXRpbWVzL3V0aW1l czA0LmMJV2VkIERlYyAzMSAxODowMDowMCAxOTY5CisrKyBsdHAtZnVsbC0yMDA2MTEyMS90ZXN0 Y2FzZXMva2VybmVsL3N5c2NhbGxzL3V0aW1lcy91dGltZXMwNC5jCVRodSBEZWMgMTQgMjA6MTY6 NDAgMjAwNgpAQCAtMCwwICsxLDI2MSBAQAorLyoKKyAqCisgKiAgIENvcHlyaWdodCAoYykgSW50 ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcyAgQ29ycC4sIDIwMDEKKyAqCisgKiAgIFRoaXMg cHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyAgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeQorICogICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogICAoYXQgeW91ciBv cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICAgVGhpcyBwcm9ncmFtIGlzIGRpc3Ry aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgIGJ1dCBXSVRI T1VUIEFOWSBXQVJSQU5UWTsgIHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor ICogICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu ICBTZWUKKyAqICAgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCisgKgorICogICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgIGlm IG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICAgRm91bmRhdGlvbiwgSW5jLiwg NTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKKyAq LworCisvKgorICogVGVzdCBOYW1lOiB1dGltZXMwNAorICoKKyAqIFRlc3QgRGVzY3JpcHRpb246 CisgKiAgVmVyaWZ5IHRoYXQgdGhlIHN5c3RlbSBjYWxsIHV0aW1lcygpIHN1Y2Nlc3NmdWxseSBz ZXRzIHRoZSBtb2RpZmljYXRpb24KKyAqICBhbmQgYWNjZXNzIHRpbWVzIG9mIGEgZmlsZSB0byB0 aGUgdGltZSBzcGVjaWZpZWQgYnkgdGltZXMgYXJndW1lbnQsIGlmCisgKiAgdGhlIHRpbWVzIGFy Z3VtZW50IGlzIG5vdCBudWxsLCBhbmQgdGhlIHVzZXIgSUQgb2YgdGhlIHByb2Nlc3MgaXMgInJv b3QiLgorICoKKyAqIEV4cGVjdGVkIFJlc3VsdDoKKyAqICAgdXRpbWVzIHN1Y2NlZWRzIHJldHVy bmluZyB6ZXJvIGFuZCBzZXRzIHRoZSBhY2Nlc3MgYW5kIG1vZGlmaWNhdGlvbiAKKyAqICAgdGlt ZXMgb2YgdGhlIGZpbGUgdG8gdGhhdCBzcGVjaWZpZWQgYnkgdGhlIHRpbWVzIGFyZ3VtZW50Lgor ICoKKyAqIEFsZ29yaXRobToKKyAqICBTZXR1cDoKKyAqICAgU2V0dXAgc2lnbmFsIGhhbmRsaW5n LgorICogICBDcmVhdGUgdGVtcG9yYXJ5IGRpcmVjdG9yeS4KKyAqICAgUGF1c2UgZm9yIFNJR1VT UjEgaWYgb3B0aW9uIHNwZWNpZmllZC4KKyAqCisgKiAgVGVzdDoKKyAqICAgTG9vcCBpZiB0aGUg cHJvcGVyIG9wdGlvbnMgYXJlIGdpdmVuLgorICogICBFeGVjdXRlIHN5c3RlbSBjYWxsCisgKiAg IENoZWNrIHJldHVybiBjb2RlLCBpZiBzeXN0ZW0gY2FsbCBmYWlsZWQgKHJldHVybj0tMSkKKyAq ICAgCUxvZyB0aGUgZXJybm8gYW5kIElzc3VlIGEgRkFJTCBtZXNzYWdlLgorICogICBPdGhlcndp c2UsCisgKiAgIAlWZXJpZnkgdGhlIEZ1bmN0aW9uYWxpdHkgb2Ygc3lzdGVtIGNhbGwJCisgKiAg ICAgIGlmIHN1Y2Nlc3NmdWwsCisgKiAgICAgIAlJc3N1ZSBGdW5jdGlvbmFsaXR5LVBhc3MgbWVz c2FnZS4KKyAqICAgICAgT3RoZXJ3aXNlLAorICoJCUlzc3VlIEZ1bmN0aW9uYWxpdHktRmFpbCBt ZXNzYWdlLgorICogIENsZWFudXA6CisgKiAgIFByaW50IGVycm5vIGxvZyBhbmQvb3IgdGltaW5n IHN0YXRzIGlmIG9wdGlvbnMgZ2l2ZW4KKyAqICAgRGVsZXRlIHRoZSB0ZW1wb3JhcnkgZGlyZWN0 b3J5IGNyZWF0ZWQuCisgKgorICogVXNhZ2U6ICA8Zm9yIGNvbW1hbmQtbGluZT4KKyAqICB1dGlt ZXMwNCBbLWMgbl0gWy1lXSBbLWZdIFstaSBuXSBbLUkgeF0gWy1wIHhdIFstdF0KKyAqCXdoZXJl LCAgLWMgbiA6IFJ1biBuIGNvcGllcyBjb25jdXJyZW50bHkuCisgKgkJLWUgICA6IFR1cm4gb24g ZXJybm8gbG9nZ2luZy4KKyAqIAkJLWYgICA6IFR1cm4gb2ZmIGZ1bmN0aW9uYWxpdHkgVGVzdGlu Zy4KKyAqCQktaSBuIDogRXhlY3V0ZSB0ZXN0IG4gdGltZXMuCisgKgkJLUkgeCA6IEV4ZWN1dGUg dGVzdCBmb3IgeCBzZWNvbmRzLgorICoJCS1QIHggOiBQYXVzZSBmb3IgeCBzZWNvbmRzIGJldHdl ZW4gaXRlcmF0aW9ucy4KKyAqCQktdCAgIDogVHVybiBvbiBzeXNjYWxsIHRpbWluZy4KKyAqCisg KiBIaXN0b3J5CisgKgkwNy8yMDAxIEpvaG4gR2VvcmdlCisgKgkJLVBvcnRlZAorICoKKyAqIFJl c3RyaWN0aW9uczoKKyAqICBUaGlzIHRlc3Qgc2hvdWxkIGJlIHJ1biBieSAnc3VwZXItdXNlcicg KHJvb3QpIG9ubHkuCisgKgorICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN5 cy90eXBlcy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5j bHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzeXMvdGltZS5oPgorI2luY2x1ZGUgPHN0cmluZy5o PgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c2lnbmFsLmg+CisKKyNpbmNsdWRl ICJ0ZXN0LmgiCisjaW5jbHVkZSAidXNjdGVzdC5oIgorCisjZGVmaW5lIFRFTVBfRklMRQkidG1w X2ZpbGUiCisjZGVmaW5lIEZJTEVfTU9ERQlTX0lSVVNSIHwgU19JUkdSUCB8IFNfSVJPVEgKKyNk ZWZpbmUgTkVXX1RJTUUJMTAwMDAKKyNkZWZpbmUgTkVXX1RJTUVfVVNFQwkxMDAKKworY2hhciAq VENJRD0idXRpbWVzMDQiOwkJLyogVGVzdCBwcm9ncmFtIGlkZW50aWZpZXIuICAgICovCitpbnQg VFNUX1RPVEFMPTE7CQkvKiBUb3RhbCBudW1iZXIgb2YgdGVzdCBjYXNlcy4gKi8KK2V4dGVybiBp bnQgVHN0X2NvdW50OwkJLyogVGVzdCBDYXNlIGNvdW50ZXIgZm9yIHRzdF8qIHJvdXRpbmVzICov CitpbnQgZXhwX2Vub3NbXT17MH07CitzdHJ1Y3QgdGltZXZhbCB0aW1lc1syXTsJLyogc3RydWN0 LiBidWZmZXIgZm9yIHV0aW1lcygpICovCisKK3ZvaWQgc2V0dXAoKTsJCQkvKiBNYWluIHNldHVw IGZ1bmN0aW9uIG9mIHRlc3QgKi8KK3ZvaWQgY2xlYW51cCgpOwkJCS8qIGNsZWFudXAgZnVuY3Rp b24gZm9yIHRoZSB0ZXN0ICovCisKK2ludAorbWFpbihpbnQgYWMsIGNoYXIgKiphdikKK3sKKwlz dHJ1Y3Qgc3RhdCBzdGF0X2J1ZjsJLyogc3RydWN0IGJ1ZmZlciB0byBob2xkIGZpbGUgaW5mby4g Ki8KKwlpbnQgbGM7CQkJLyogbG9vcCBjb3VudGVyICovCisJY2hhciAqbXNnOwkJLyogbWVzc2Fn ZSByZXR1cm5lZCBmcm9tIHBhcnNlX29wdHMgKi8KKwl0aW1lX3QgbW9kZl90aW1lLCBhY2Nlc3Nf dGltZTsKKwlsb25nIG1vZGZfdGltZV91c2VjLCBhY2Nlc3NfdGltZV91c2VjOworCQkJCS8qIGZp bGUgbW9kaWZpY2F0aW9uL2FjY2VzcyB0aW1lICovCisgICAgCisJLyogUGFyc2Ugc3RhbmRhcmQg b3B0aW9ucyBnaXZlbiB0byBydW4gdGhlIHRlc3QuICovCisJbXNnID0gcGFyc2Vfb3B0cyhhYywg YXYsIChvcHRpb25fdCAqKSBOVUxMLCBOVUxMKTsKKwlpZiAobXNnICE9IChjaGFyICopIE5VTEwp IHsKKwkJdHN0X2Jya20oVEJST0ssIE5VTEwsICJPUFRJT04gUEFSU0lORyBFUlJPUiAtICVzIiwg bXNnKTsKKwkJdHN0X2V4aXQoKTsKKwl9CisKKwkvKiBQZXJmb3JtIGdsb2JhbCBzZXR1cCBmb3Ig dGVzdCAqLworCXNldHVwKCk7CisKKwkvKiBzZXQgdGhlIGV4cGVjdGVkIGVycm5vcy4uLiAqLwor CVRFU1RfRVhQX0VOT1MoZXhwX2Vub3MpOworCisJLyogQ2hlY2sgbG9vcGluZyBzdGF0ZSBpZiAt aSBvcHRpb24gZ2l2ZW4gKi8KKwlmb3IgKGxjID0gMDsgVEVTVF9MT09QSU5HKGxjKTsgbGMrKykg eworCQkvKiBSZXNldCBUc3RfY291bnQgaW4gY2FzZSB3ZSBhcmUgbG9vcGluZy4gKi8KKwkJVHN0 X2NvdW50PTA7CisKKwkJLyogCisJCSAqIEludm9rZSB1dGltZXMoMikgdG8gc2V0IFRFTVBfRklM RSBhY2Nlc3MgYW5kCisJCSAqIG1vZGlmaWNhdGlvbiB0aW1lcyB0byB0aGF0IHNwZWNpZmllZCBi eQorCQkgKiB0aW1lcyBhcmd1bWVudC4KKwkJICovCisJCVRFU1QodXRpbWVzKFRFTVBfRklMRSwg dGltZXMpKTsKKworCQkvKiBjaGVjayByZXR1cm4gY29kZSBvZiB1dGltZXMoMikgKi8KKwkJaWYg KFRFU1RfUkVUVVJOID09IC0xKSB7CisJCQlURVNUX0VSUk9SX0xPRyhURVNUX0VSUk5PKTsKKwkJ CXRzdF9yZXNtKFRGQUlMLCAidXRpbWVzKCVzKSBGYWlsZWQsIGVycm5vPSVkIDogJXMiLAorCQkJ CSBURU1QX0ZJTEUsIFRFU1RfRVJSTk8sIHN0cmVycm9yKFRFU1RfRVJSTk8pKTsKKwkJfSBlbHNl IHsKKwkJCS8qCisJCQkgKiBQZXJmb3JtIGZ1bmN0aW9uYWwgdmVyaWZpY2F0aW9uIGlmIHRlc3QK KwkJCSAqIGV4ZWN1dGVkIHdpdGhvdXQgKC1mKSBvcHRpb24uCisJCQkgKi8KKwkJCWlmIChTVERf RlVOQ1RJT05BTF9URVNUKSB7CisJCQkJLyoKKwkJCQkgKiBHZXQgdGhlIG1vZGlmaWNhdGlvbiBh bmQgYWNjZXNzIHRpbWVzIG9mCisJCQkJICogdGVtcG9yYXJ5IGZpbGUgdXNpbmcgc3RhdCgyKS4K KwkJCQkgKi8KKwkJCQlpZiAoc3RhdChURU1QX0ZJTEUsICZzdGF0X2J1ZikgPCAwKSB7CisJCQkJ CXRzdF9icmttKFRGQUlMLCBjbGVhbnVwLAorCQkJCQkJInN0YXQoMikgb2YgJXMgZmFpbGVkLCAi CisJCQkJCQkiZXJyb3I6JWQiLCBURU1QX0ZJTEUsCisJCQkJCQlURVNUX0VSUk5PKTsKKwkJCQkJ LypOT1RSRUFDSEVEKi8KKwkJCQl9CisJCQkJbW9kZl90aW1lID0gc3RhdF9idWYuc3RfbXRpbWU7 CisJCQkJbW9kZl90aW1lX3VzZWMgPSBzdGF0X2J1Zi5zdF9tdGltLnR2X25zZWMgLyAxMDAwOwor CQkJCWFjY2Vzc190aW1lID0gc3RhdF9idWYuc3RfYXRpbWU7CisJCQkJYWNjZXNzX3RpbWVfdXNl YyA9IHN0YXRfYnVmLnN0X2F0aW0udHZfbnNlYyAvIDEwMDA7CisKKwkJCQkvKiBOb3cgZG8gdGhl IGFjdHVhbCB2ZXJpZmljYXRpb24gKi8KKwkJCQlpZiAoKG1vZGZfdGltZSAhPSBORVdfVElNRSkg fHwgXAorCQkJCSAgICAoYWNjZXNzX3RpbWUgIT0gTkVXX1RJTUUpKSB7CisJCQkJCXRzdF9yZXNt KFRGQUlMLCAiJXMgYWNjZXNzIGFuZCAiCisJCQkJCQkibW9kaWZpY2F0aW9uIHRpbWVzIG5vdCBz ZXQiLAorCQkJCQkJVEVNUF9GSUxFKTsKKwkJCQl9IGVsc2UgaWYgKChtb2RmX3RpbWVfdXNlYyAh PSBORVdfVElNRV9VU0VDKSB8fCBcCisJCQkJICAgIChhY2Nlc3NfdGltZV91c2VjICE9IE5FV19U SU1FX1VTRUMpKSB7CisJCQkJCXRzdF9yZXNtKFRGQUlMLCAiJXMgYWNjZXNzIGFuZCAiCisJCQkJ CQkibW9kaWZpY2F0aW9uIHRpbWVzIHVzZWMgbm90IHNldCIsCisJCQkJCQlURU1QX0ZJTEUpOwor CQkJCX0gZWxzZSB7CisJCQkJCXRzdF9yZXNtKFRQQVNTLCAiRnVuY3Rpb25hbGl0eSBvZiAiCisJ CQkJCQkidXRpbWVzKCVzLCB0aW1lcykgc3VjY2Vzc2Z1bCIsCisJCQkJCQlURU1QX0ZJTEUpOwor CQkJCX0KKwkJCX0gZWxzZSB7CisJCQkJdHN0X3Jlc20oVFBBU1MsICIlcyBjYWxsIHN1Y2NlZWRl ZCIsIFRDSUQpOworCQkJfQorCQl9CisJCVRzdF9jb3VudCsrOwkJLyogaW5jciBURVNUX0xPT1Ag Y291bnRlciAqLworCX0JLyogRW5kIGZvciBURVNUX0xPT1BJTkcgKi8KKworCS8qIENhbGwgY2xl YW51cCgpIHRvIHVuZG8gc2V0dXAgZG9uZSBmb3IgdGhlIHRlc3QuICovCisJY2xlYW51cCgpOwor CS8qTk9UUkVBQ0hFRCovCisKKworICByZXR1cm4oMCk7CisKK30JLyogRW5kIG1haW4gKi8KKwor LyoKKyAqIHZvaWQKKyAqIHNldHVwKCkgLSBwZXJmb3JtcyBhbGwgT05FIFRJTUUgc2V0dXAgZm9y IHRoaXMgdGVzdC4KKyAqICBDcmVhdGUgYSB0ZW1wb3JhcnkgZGlyZWN0b3J5IGFuZCBjaGFuZ2Ug ZGlyZWN0b3J5IHRvIGl0LgorICogIENyZWF0ZSBhIHRlc3QgZmlsZSB1bmRlciB0ZW1wb3Jhcnkg ZGlyZWN0b3J5IGFuZCBjbG9zZSBpdAorICovCit2b2lkIAorc2V0dXAoKQoreworCWludCBmaWxk ZXM7CQkJLyogZmlsZSBoYW5kbGUgZm9yIHRlbXAgZmlsZSAqLworCisJLyogY2FwdHVyZSBzaWdu YWxzICovCisJdHN0X3NpZyhOT0ZPUkssIERFRl9IQU5ETEVSLCBjbGVhbnVwKTsKKworCS8qIENo ZWNrIHRoYXQgdGhlIHRlc3QgcHJvY2VzcyBpZCBpcyBzdXBlci9yb290ICAqLworCWlmIChnZXRl dWlkKCkgIT0gMCkgeworCQl0c3RfYnJrbShUQlJPSywgTlVMTCwgIk11c3QgYmUgc3VwZXIvcm9v dCBmb3IgdGhpcyB0ZXN0ISIpOworCQl0c3RfZXhpdCgpOworCX0KKworCS8qIFBhdXNlIGlmIHRo YXQgb3B0aW9uIHdhcyBzcGVjaWZpZWQgKi8KKwlURVNUX1BBVVNFOworCisJLyogbWFrZSBhIHRl bXAgZGlyZWN0b3J5IGFuZCBjZCB0byBpdCAqLworCXRzdF90bXBkaXIoKTsKKworCS8qIENyZWF0 IGEgdGVtcG9yYXJ5IGZpbGUgdW5kZXIgYWJvdmUgZGlyZWN0b3J5ICovCisJaWYgKChmaWxkZXMg PSBjcmVhdChURU1QX0ZJTEUsIEZJTEVfTU9ERSkpID09IC0xKSB7CisJCXRzdF9icmttKFRCUk9L LCBjbGVhbnVwLAorCQkJICJjcmVhdCglcywgJSNvKSBGYWlsZWQsIGVycm5vPSVkIDolcyIsCisJ CQkgVEVNUF9GSUxFLCBGSUxFX01PREUsIGVycm5vLCBzdHJlcnJvcihlcnJubykpOworCX0KKwor CS8qIENsb3NlIHRoZSB0ZW1wb3JhcnkgZmlsZSBjcmVhdGVkICovCisJaWYgKGNsb3NlKGZpbGRl cykgPCAwKSB7CisJCXRzdF9icmttKFRCUk9LLCBjbGVhbnVwLAorCQkJICJjbG9zZSglcykgRmFp bGVkLCBlcnJubz0lZCA6ICVzOiIsCisJCQkgVEVNUF9GSUxFLCBlcnJubywgc3RyZXJyb3IoZXJy bm8pKTsKKwl9CisKKwkvKiBJbml0aWFsaXplIHRoZSBtb2RpZmljYXRpb24gYW5kIGFjY2VzcyB0 aW1lIGluIHRoZSB0aW1lcyBhcmcgKi8KKwl0aW1lc1swXS50dl9zZWMgPSBORVdfVElNRTsKKwl0 aW1lc1swXS50dl91c2VjID0gTkVXX1RJTUVfVVNFQzsKKwl0aW1lc1sxXS50dl9zZWMgPSBORVdf VElNRTsKKwl0aW1lc1sxXS50dl91c2VjID0gTkVXX1RJTUVfVVNFQzsKKworfQkvKiBFbmQgc2V0 dXAoKSAqLworCisvKgorICogdm9pZAorICogY2xlYW51cCgpIC0gcGVyZm9ybXMgYWxsIE9ORSBU SU1FIGNsZWFudXAgZm9yIHRoaXMgdGVzdCBhdAorICogICAgICAgICAgICAgY29tcGxldGlvbiBv ciBwcmVtYXR1cmUgZXhpdC4KKyAqICBSZW1vdmUgdGhlIHRlc3QgZGlyZWN0b3J5IGFuZCB0ZXN0 ZmlsZSBjcmVhdGVkIGluIHRoZSBzZXR1cC4KKyAqLwordm9pZCAKK2NsZWFudXAoKQoreworCS8q CisJICogcHJpbnQgdGltaW5nIHN0YXRzIGlmIHRoYXQgb3B0aW9uIHdhcyBzcGVjaWZpZWQuCisJ ICogcHJpbnQgZXJybm8gbG9nIGlmIHRoYXQgb3B0aW9uIHdhcyBzcGVjaWZpZWQuCisJICovCisJ VEVTVF9DTEVBTlVQOworCisJLyogUmVtb3ZlIHRtcCBkaXIgYW5kIGFsbCBmaWxlcyBpbiBpdCAq LworCXRzdF9ybWRpcigpOworCisJLyogZXhpdCB3aXRoIHJldHVybiBjb2RlIGFwcHJvcHJpYXRl IGZvciByZXN1bHRzICovCisJdHN0X2V4aXQoKTsKK30JLyogRW5kIGNsZWFudXAoKSAqLwpkaWZm IC1ydU4gbHRwLWZ1bGwtMjAwNjExMjEtb3JpZy90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3V0 aW1lcy91dGltZXMwNS5jIGx0cC1mdWxsLTIwMDYxMTIxL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2Fs bHMvdXRpbWVzL3V0aW1lczA1LmMKLS0tIGx0cC1mdWxsLTIwMDYxMTIxLW9yaWcvdGVzdGNhc2Vz L2tlcm5lbC9zeXNjYWxscy91dGltZXMvdXRpbWVzMDUuYwlXZWQgRGVjIDMxIDE4OjAwOjAwIDE5 NjkKKysrIGx0cC1mdWxsLTIwMDYxMTIxL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvdXRpbWVz L3V0aW1lczA1LmMJVGh1IERlYyAxNCAyMDoxODowMiAyMDA2CkBAIC0wLDAgKzEsMjc0IEBACisv KgorICoKKyAqICAgQ29weXJpZ2h0IChjKSBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVz ICBDb3JwLiwgMjAwMQorICoKKyAqICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7ICB5 b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiAgIGl0IHVuZGVyIHRoZSB0 ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cisg KiAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhl IExpY2Vuc2UsIG9yCisgKiAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisg KgorICogICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3 aWxsIGJlIHVzZWZ1bCwKKyAqICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyAgd2l0aG91dCBl dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZQorICogICB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgIFlvdSBzaG91bGQgaGF2 ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAg IGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyAgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0 d2FyZQorICogICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwg Qm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQorICovCisKKy8qCisgKiBUZXN0IE5hbWU6IHV0aW1l czA1CisgKgorICogVGVzdCBEZXNjcmlwdGlvbjoKKyAqICBWZXJpZnkgdGhhdCB0aGUgc3lzdGVt IGNhbGwgdXRpbWVzKCkgc3VjY2Vzc2Z1bGx5IHNldHMgdGhlIG1vZGlmaWNhdGlvbgorICogIGFu ZCBhY2Nlc3MgdGltZXMgb2YgYSBmaWxlIHRvIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgdGhlIHRp bWVzIGFyZ3VtZW50CisgKiAgdW5kZXIgdGhlIGZvbGxvd2luZyBjb25zdHJhaW50cywKKyAqCQkt IFRoZSB0aW1lcyBhcmd1bWVudCBpcyBub3QgbnVsbCwKKyAqCQktIFRoZSB1c2VyIElEIG9mIHRo ZSBwcm9jZXNzIGlzIG5vdCAicm9vdCIuCisgKgkJLSBUaGUgZmlsZSBpcyBvd25lZCBieSB0aGUg dXNlciBJRCBvZiB0aGUgcHJvY2Vzcy4KKyAqCisgKiBFeHBlY3RlZCBSZXN1bHQ6CisgKiAgdXRp bWVzIHN1Y2NlZWRzIHJldHVybmluZyB6ZXJvIGFuZCBzZXRzIHRoZSBhY2Nlc3MgYW5kIG1vZGlm aWNhdGlvbiAKKyAqICB0aW1lcyBvZiB0aGUgZmlsZSB0byB0aGF0IHNwZWNpZmllZCBieSB0aGUg dGltZXMgYXJndW1lbnQuCisgKgorICogQWxnb3JpdGhtOgorICogIFNldHVwOgorICogICBTZXR1 cCBzaWduYWwgaGFuZGxpbmcuCisgKiAgIENyZWF0ZSB0ZW1wb3JhcnkgZGlyZWN0b3J5LgorICog ICBQYXVzZSBmb3IgU0lHVVNSMSBpZiBvcHRpb24gc3BlY2lmaWVkLgorICoKKyAqICBUZXN0Ogor ICogICBMb29wIGlmIHRoZSBwcm9wZXIgb3B0aW9ucyBhcmUgZ2l2ZW4uCisgKiAgIEV4ZWN1dGUg c3lzdGVtIGNhbGwKKyAqICAgQ2hlY2sgcmV0dXJuIGNvZGUsIGlmIHN5c3RlbSBjYWxsIGZhaWxl ZCAocmV0dXJuPS0xKQorICogICAJTG9nIHRoZSBlcnJubyBhbmQgSXNzdWUgYSBGQUlMIG1lc3Nh Z2UuCisgKiAgIE90aGVyd2lzZSwKKyAqICAgCVZlcmlmeSB0aGUgRnVuY3Rpb25hbGl0eSBvZiBz eXN0ZW0gY2FsbAkKKyAqICAgICAgaWYgc3VjY2Vzc2Z1bCwKKyAqICAgICAgCUlzc3VlIEZ1bmN0 aW9uYWxpdHktUGFzcyBtZXNzYWdlLgorICogICAgICBPdGhlcndpc2UsCisgKgkJSXNzdWUgRnVu Y3Rpb25hbGl0eS1GYWlsIG1lc3NhZ2UuCisgKiAgQ2xlYW51cDoKKyAqICAgUHJpbnQgZXJybm8g bG9nIGFuZC9vciB0aW1pbmcgc3RhdHMgaWYgb3B0aW9ucyBnaXZlbgorICogICBEZWxldGUgdGhl IHRlbXBvcmFyeSBkaXJlY3RvcnkgY3JlYXRlZC4KKyAqCisgKiBVc2FnZTogIDxmb3IgY29tbWFu ZC1saW5lPgorICogIHV0aW1lczA1IFstYyBuXSBbLWVdIFstZl0gWy1pIG5dIFstSSB4XSBbLXAg eF0gWy10XQorICoJCXdoZXJlLAktYyBuIDogUnVuIG4gY29waWVzIGNvbmN1cnJlbnRseS4KKyAq CQkJLWUgICA6IFR1cm4gb24gZXJybm8gbG9nZ2luZy4KKyAqCQkJLWYgICA6IFR1cm4gb2ZmIGZ1 bmN0aW9uYWxpdHkgVGVzdGluZy4KKyAqCQkJLWkgbiA6IEV4ZWN1dGUgdGVzdCBuIHRpbWVzLgor ICoJCQktSSB4IDogRXhlY3V0ZSB0ZXN0IGZvciB4IHNlY29uZHMuCisgKgkJCS1QIHggOiBQYXVz ZSBmb3IgeCBzZWNvbmRzIGJldHdlZW4gaXRlcmF0aW9ucy4KKyAqCQkJLXQgICA6IFR1cm4gb24g c3lzY2FsbCB0aW1pbmcuCisgKgorICogSGlzdG9yeQorICoJMDcvMjAwMSBKb2huIEdlb3JnZQor ICoJCS1Qb3J0ZWQKKyAqCisgKiBSZXN0cmljdGlvbnM6CisgKgorICovCisKKyNpbmNsdWRlIDxz dGRpby5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5j bHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzeXMvdGltZS5o PgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8 c2lnbmFsLmg+CisjaW5jbHVkZSA8cHdkLmg+CisKKyNpbmNsdWRlICJ0ZXN0LmgiCisjaW5jbHVk ZSAidXNjdGVzdC5oIgorCisjZGVmaW5lIFRFTVBfRklMRQkidG1wX2ZpbGUiCisjZGVmaW5lIEZJ TEVfTU9ERQlTX0lSVVNSIHwgU19JUkdSUCB8IFNfSVJPVEgKKyNkZWZpbmUgTkVXX1RJTUUJMTAw MDAKKyNkZWZpbmUgTkVXX1RJTUVfVVNFQwkxMDAKKworY2hhciAqVENJRD0idXRpbWVzMDUiOwkJ LyogVGVzdCBwcm9ncmFtIGlkZW50aWZpZXIuICAgICovCitpbnQgVFNUX1RPVEFMPTE7CQkvKiBU b3RhbCBudW1iZXIgb2YgdGVzdCBjYXNlcy4gKi8KK2V4dGVybiBpbnQgVHN0X2NvdW50OwkJLyog VGVzdCBDYXNlIGNvdW50ZXIgZm9yIHRzdF8qIHJvdXRpbmVzICovCitpbnQgZXhwX2Vub3NbXT17 MH07CitjaGFyIG5vYm9keV91aWRbXSA9ICJub2JvZHkiOworc3RydWN0IHBhc3N3ZCAqbHRwdXNl cjsKKworCitzdHJ1Y3QgdGltZXZhbCB0aW1lc1syXTsJLyogc3RydWN0LiBidWZmZXIgZm9yIHV0 aW1lcygpICovCisKK3ZvaWQgc2V0dXAoKTsJCQkvKiBNYWluIHNldHVwIGZ1bmN0aW9uIG9mIHRl c3QgKi8KK3ZvaWQgY2xlYW51cCgpOwkJCS8qIGNsZWFudXAgZnVuY3Rpb24gZm9yIHRoZSB0ZXN0 ICovCisKK2ludAorbWFpbihpbnQgYWMsIGNoYXIgKiphdikKK3sKKwlzdHJ1Y3Qgc3RhdCBzdGF0 X2J1ZjsJLyogc3RydWN0IGJ1ZmZlciB0byBob2xkIGZpbGUgaW5mby4gKi8KKwlpbnQgbGM7CQkJ LyogbG9vcCBjb3VudGVyICovCisJY2hhciAqbXNnOwkJLyogbWVzc2FnZSByZXR1cm5lZCBmcm9t IHBhcnNlX29wdHMgKi8KKwl0aW1lX3QgbW9kZl90aW1lLCBhY2Nlc3NfdGltZTsKKwlsb25nIG1v ZGZfdGltZV91c2VjLCBhY2Nlc3NfdGltZV91c2VjOworCQkJCS8qIGZpbGUgbW9kaWZpY2F0aW9u L2FjY2VzcyB0aW1lICovCisgICAgCisJLyogUGFyc2Ugc3RhbmRhcmQgb3B0aW9ucyBnaXZlbiB0 byBydW4gdGhlIHRlc3QuICovCisJbXNnID0gcGFyc2Vfb3B0cyhhYywgYXYsIChvcHRpb25fdCAq KSBOVUxMLCBOVUxMKTsKKwlpZiAobXNnICE9IChjaGFyICopIE5VTEwpIHsKKwkJdHN0X2Jya20o VEJST0ssIE5VTEwsICJPUFRJT04gUEFSU0lORyBFUlJPUiAtICVzIiwgbXNnKTsKKwkJdHN0X2V4 aXQoKTsKKwl9CisKKwkvKiBQZXJmb3JtIGdsb2JhbCBzZXR1cCBmb3IgdGVzdCAqLworCXNldHVw KCk7CisKKwkvKiBzZXQgdGhlIGV4cGVjdGVkIGVycm5vcy4uLiAqLworCVRFU1RfRVhQX0VOT1Mo ZXhwX2Vub3MpOworCisJLyogQ2hlY2sgbG9vcGluZyBzdGF0ZSBpZiAtaSBvcHRpb24gZ2l2ZW4g Ki8KKwlmb3IgKGxjID0gMDsgVEVTVF9MT09QSU5HKGxjKTsgbGMrKykgeworCQkvKiBSZXNldCBU c3RfY291bnQgaW4gY2FzZSB3ZSBhcmUgbG9vcGluZy4gKi8KKwkJVHN0X2NvdW50PTA7CisKKwkJ LyogCisJCSAqIEludm9rZSB1dGltZXMoMikgdG8gc2V0IFRFTVBfRklMRSBhY2Nlc3MgYW5kCisJ CSAqIG1vZGlmaWNhdGlvbiB0aW1lcyB0byB0aGF0IHNwZWNpZmllZCBieQorCQkgKiB0aW1lcyBh cmd1bWVudC4KKwkJICovCisJCVRFU1QodXRpbWVzKFRFTVBfRklMRSwgdGltZXMpKTsKKworCQkv KiBjaGVjayByZXR1cm4gY29kZSBvZiB1dGltZXMoMikgKi8KKwkJaWYgKFRFU1RfUkVUVVJOID09 IC0xKSB7CisJCQlURVNUX0VSUk9SX0xPRyhURVNUX0VSUk5PKTsKKwkJCXRzdF9yZXNtKFRGQUlM LCAidXRpbWVzKCVzKSBGYWlsZWQsIGVycm5vPSVkIDogJXMiLAorCQkJCSBURU1QX0ZJTEUsIFRF U1RfRVJSTk8sIHN0cmVycm9yKFRFU1RfRVJSTk8pKTsKKwkJfSBlbHNlIHsKKwkJCS8qCisJCQkg KiBQZXJmb3JtIGZ1bmN0aW9uYWwgdmVyaWZpY2F0aW9uIGlmIHRlc3QKKwkJCSAqIGV4ZWN1dGVk IHdpdGhvdXQgKC1mKSBvcHRpb24uCisJCQkgKi8KKwkJCWlmIChTVERfRlVOQ1RJT05BTF9URVNU KSB7CisJCQkJLyoKKwkJCQkgKiBHZXQgdGhlIG1vZGlmaWNhdGlvbiBhbmQgYWNjZXNzIHRpbWVz IG9mCisJCQkJICogdGVtcG9yYXJ5IGZpbGUgdXNpbmcgc3RhdCgyKS4KKwkJCQkgKi8KKwkJCQlp ZiAoc3RhdChURU1QX0ZJTEUsICZzdGF0X2J1ZikgPCAwKSB7CisJCQkJCXRzdF9icmttKFRGQUlM LCBjbGVhbnVwLCAic3RhdCgyKSBvZiAiCisJCQkJCQkiJXMgZmFpbGVkLCBlcnJvcjolZCIsCisJ CQkJCQlURU1QX0ZJTEUsIFRFU1RfRVJSTk8pOworCQkJCQkvKk5PVFJFQUNIRUQqLworCQkJCX0K KwkJCQltb2RmX3RpbWUgPSBzdGF0X2J1Zi5zdF9tdGltZTsKKwkJCQltb2RmX3RpbWVfdXNlYyA9 IHN0YXRfYnVmLnN0X210aW0udHZfbnNlYyAvIDEwMDA7CisJCQkJYWNjZXNzX3RpbWUgPSBzdGF0 X2J1Zi5zdF9hdGltZTsKKwkJCQlhY2Nlc3NfdGltZV91c2VjID0gc3RhdF9idWYuc3RfYXRpbS50 dl9uc2VjIC8gMTAwMDsKKworCQkJCS8qIE5vdyBkbyB0aGUgYWN0dWFsIHZlcmlmaWNhdGlvbiAq LworCQkJCWlmICgobW9kZl90aW1lICE9IE5FV19USU1FKSB8fCBcCisJCQkJICAgIChhY2Nlc3Nf dGltZSAhPSBORVdfVElNRSkpIHsKKwkJCQkJdHN0X3Jlc20oVEZBSUwsICIlcyBhY2Nlc3MgYW5k ICIKKwkJCQkJCSJtb2RpZmljYXRpb24gdGltZXMgbm90IHNldCIsCisJCQkJCQlURU1QX0ZJTEUp OworCQkJCX0gZWxzZSBpZiAoKG1vZGZfdGltZV91c2VjICE9IE5FV19USU1FX1VTRUMpIHx8IFwK KwkJCQkgICAgKGFjY2Vzc190aW1lX3VzZWMgIT0gTkVXX1RJTUVfVVNFQykpIHsKKwkJCQkJdHN0 X3Jlc20oVEZBSUwsICIlcyBhY2Nlc3MgYW5kICIKKwkJCQkJCSJtb2RpZmljYXRpb24gdGltZXMg dXNlYyBub3Qgc2V0IiwKKwkJCQkJCVRFTVBfRklMRSk7CisJCQkJfSBlbHNlIHsKKwkJCQkJdHN0 X3Jlc20oVFBBU1MsICJGdW5jdGlvbmFsaXR5IG9mICIKKwkJCQkJCSJ1dGltZXMoJXMsIHRpbWVz KSBzdWNjZXNzZnVsIiwKKwkJCQkJCVRFTVBfRklMRSk7CisJCQkJfQorCQkJfSBlbHNlIHsKKwkJ CQl0c3RfcmVzbShUUEFTUywgIiVzIGNhbGwgc3VjY2VlZGVkIiwgVENJRCk7CisJCQl9CisJCX0K KwkJVHN0X2NvdW50Kys7CQkvKiBpbmNyIFRFU1RfTE9PUCBjb3VudGVyICovCisJfQkvKiBFbmQg Zm9yIFRFU1RfTE9PUElORyAqLworCisJLyogQ2FsbCBjbGVhbnVwKCkgdG8gdW5kbyBzZXR1cCBk b25lIGZvciB0aGUgdGVzdC4gKi8KKwljbGVhbnVwKCk7CisJLypOT1RSRUFDSEVEKi8KKworCisg IHJldHVybigwKTsKKworfQkvKiBFbmQgbWFpbiAqLworCisvKgorICogdm9pZAorICogc2V0dXAo KSAtIHBlcmZvcm1zIGFsbCBPTkUgVElNRSBzZXR1cCBmb3IgdGhpcyB0ZXN0LgorICogIENyZWF0 ZSBhIHRlbXBvcmFyeSBkaXJlY3RvcnkgYW5kIGNoYW5nZSBkaXJlY3RvcnkgdG8gaXQuCisgKiAg Q3JlYXRlIGEgdGVzdCBmaWxlIHVuZGVyIHRlbXBvcmFyeSBkaXJlY3RvcnkgYW5kIGNsb3NlIGl0 CisgKi8KK3ZvaWQgCitzZXR1cCgpCit7CisJaW50IGZpbGRlczsJCQkvKiBmaWxlIGhhbmRsZSBm b3IgdGVtcCBmaWxlICovCisKKwkvKiBjYXB0dXJlIHNpZ25hbHMgKi8KKwl0c3Rfc2lnKEZPUkss IERFRl9IQU5ETEVSLCBjbGVhbnVwKTsKKworCS8qIFN3aXRjaCB0byBub2JvZHkgdXNlciBmb3Ig Y29ycmVjdCBlcnJvciBjb2RlIGNvbGxlY3Rpb24gKi8KKyAgICAgICAgaWYgKGdldGV1aWQoKSAh PSAwKSB7CisgICAgICAgICAgICAgICAgdHN0X2Jya20oVEJST0ssIHRzdF9leGl0LCAiVGVzdCBt dXN0IGJlIHJ1biBhcyByb290Iik7CisgICAgICAgIH0KKyAgICAgICAgIGx0cHVzZXIgPSBnZXRw d25hbShub2JvZHlfdWlkKTsKKyAgICAgICAgIGlmIChzZXR1aWQobHRwdXNlci0+cHdfdWlkKSA9 PSAtMSkgeworICAgICAgICAgICAgICAgIHRzdF9yZXNtKFRJTkZPLCAic2V0dWlkIGZhaWxlZCB0 byAiCisgICAgICAgICAgICAgICAgICAgICAgICAgInRvIHNldCB0aGUgZWZmZWN0aXZlIHVpZCB0 byAlZCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgbHRwdXNlci0+cHdfdWlkKTsKKyAgICAg ICAgICAgICAgICBwZXJyb3IoInNldHVpZCIpOworICAgICAgICAgfQorCQkKKworCS8qIFBhdXNl IGlmIHRoYXQgb3B0aW9uIHdhcyBzcGVjaWZpZWQgKi8KKwlURVNUX1BBVVNFOworCisJLyogbWFr ZSBhIHRlbXAgZGlyZWN0b3J5IGFuZCBjZCB0byBpdCAqLworCXRzdF90bXBkaXIoKTsKKworCS8q IENyZWF0IGEgdGVtcG9yYXJ5IGZpbGUgdW5kZXIgYWJvdmUgZGlyZWN0b3J5ICovCisJaWYgKChm aWxkZXMgPSBjcmVhdChURU1QX0ZJTEUsIEZJTEVfTU9ERSkpID09IC0xKSB7CisJCXRzdF9icmtt KFRCUk9LLCBjbGVhbnVwLAorCQkJICJjcmVhdCglcywgJSNvKSBGYWlsZWQsIGVycm5vPSVkIDol cyIsCisJCQkgVEVNUF9GSUxFLCBGSUxFX01PREUsIGVycm5vLCBzdHJlcnJvcihlcnJubykpOwor CX0KKworCS8qIENsb3NlIHRoZSB0ZW1wb3JhcnkgZmlsZSBjcmVhdGVkICovCisJaWYgKGNsb3Nl KGZpbGRlcykgPCAwKSB7CisJCXRzdF9icmttKFRCUk9LLCBjbGVhbnVwLAorCQkJICJjbG9zZSgl cykgRmFpbGVkLCBlcnJubz0lZCA6ICVzOiIsCisJCQkgVEVNUF9GSUxFLCBlcnJubywgc3RyZXJy b3IoZXJybm8pKTsKKwl9CisKKwkvKiBJbml0aWFsaXplIHRoZSBtb2RpZmljYXRpb24gYW5kIGFj Y2VzcyB0aW1lIGluIHRoZSB0aW1lcyBhcmcgKi8KKwl0aW1lc1swXS50dl9zZWMgPSBORVdfVElN RTsKKwl0aW1lc1swXS50dl91c2VjID0gTkVXX1RJTUVfVVNFQzsKKwl0aW1lc1sxXS50dl9zZWMg PSBORVdfVElNRTsKKwl0aW1lc1sxXS50dl91c2VjID0gTkVXX1RJTUVfVVNFQzsKKworfQkvKiBF bmQgc2V0dXAoKSAqLworCisvKgorICogdm9pZAorICogY2xlYW51cCgpIC0JcGVyZm9ybXMgYWxs IE9ORSBUSU1FIGNsZWFudXAgZm9yIHRoaXMgdGVzdCBhdAorICoJCWNvbXBsZXRpb24gb3IgcHJl bWF0dXJlIGV4aXQuCisgKgkJUmVtb3ZlIHRoZSB0ZXN0IGRpcmVjdG9yeSBhbmQgdGVzdGZpbGUg Y3JlYXRlZCBpbiB0aGUgc2V0dXAuCisgKi8KK3ZvaWQgCitjbGVhbnVwKCkKK3sKKwkvKgorCSAq IHByaW50IHRpbWluZyBzdGF0cyBpZiB0aGF0IG9wdGlvbiB3YXMgc3BlY2lmaWVkLgorCSAqIHBy aW50IGVycm5vIGxvZyBpZiB0aGF0IG9wdGlvbiB3YXMgc3BlY2lmaWVkLgorCSAqLworCVRFU1Rf Q0xFQU5VUDsKKworCS8qIFJlbW92ZSB0bXAgZGlyIGFuZCBhbGwgZmlsZXMgaW4gaXQgKi8KKwl0 c3Rfcm1kaXIoKTsKKworCS8qIGV4aXQgd2l0aCByZXR1cm4gY29kZSBhcHByb3ByaWF0ZSBmb3Ig cmVzdWx0cyAqLworCXRzdF9leGl0KCk7Cit9CS8qIEVuZCBjbGVhbnVwKCkgKi8KZGlmZiAtcnVO IGx0cC1mdWxsLTIwMDYxMTIxLW9yaWcvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy91dGltZXMv dXRpbWVzMDYuYyBsdHAtZnVsbC0yMDA2MTEyMS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3V0 aW1lcy91dGltZXMwNi5jCi0tLSBsdHAtZnVsbC0yMDA2MTEyMS1vcmlnL3Rlc3RjYXNlcy9rZXJu ZWwvc3lzY2FsbHMvdXRpbWVzL3V0aW1lczA2LmMJV2VkIERlYyAzMSAxODowMDowMCAxOTY5Cisr KyBsdHAtZnVsbC0yMDA2MTEyMS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3V0aW1lcy91dGlt ZXMwNi5jCVRodSBEZWMgMTQgMTI6NDA6NDUgMjAwNgpAQCAtMCwwICsxLDMzNyBAQAorLyoKKyAq CisgKiAgIENvcHlyaWdodCAoYykgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcyAgQ29y cC4sIDIwMDEKKyAqCisgKiAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyAgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogICBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogICB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNl bnNlLCBvcgorICogICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAq ICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi ZSB1c2VmdWwsCisgKiAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgIHdpdGhvdXQgZXZlbiB0 aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUKKyAqICAgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogICBZb3Ugc2hvdWxkIGhhdmUgcmVj ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogICBhbG9u ZyB3aXRoIHRoaXMgcHJvZ3JhbTsgIGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUK KyAqICAgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3Rv biwgTUEgMDIxMTEtMTMwNyBVU0EKKyAqLworCisvKgorICogVGVzdCBOYW1lOiB1dGltZXMwNgor ICoKKyAqIFRlc3QgRGVzY3JpcHRpb246CisgKiAxLiBWZXJpZnkgdGhhdCB0aGUgc3lzdGVtIGNh bGwgdXRpbWVzKCkgZmFpbHMgdG8gc2V0IHRoZSBtb2RpZmljYXRpb24KKyAqICAgIGFuZCBhY2Nl c3MgdGltZXMgb2YgYSBmaWxlIHRvIHRoZSBjdXJyZW50IHRpbWUsIHVuZGVyIHRoZSBmb2xsb3dp bmcKKyAqICAgIGNvbnN0cmFpbnRzLAorICoJIC0gVGhlIHRpbWVzIGFyZ3VtZW50IGlzIG51bGwu CisgKgkgLSBUaGUgdXNlciBJRCBvZiB0aGUgcHJvY2VzcyBpcyBub3QgInJvb3QiLgorICoJIC0g VGhlIGZpbGUgaXMgbm90IG93bmVkIGJ5IHRoZSB1c2VyIElEIG9mIHRoZSBwcm9jZXNzLgorICoJ IC0gVGhlIHVzZXIgSUQgb2YgdGhlIHByb2Nlc3MgZG9lcyBub3QgaGF2ZSB3cml0ZSBhY2Nlc3Mg dG8gdGhlCisgKgkgICBmaWxlLgorICogMi4gVmVyaWZ5IHRoYXQgdGhlIHN5c3RlbSBjYWxsIHV0 aW1lcygpIGZhaWxzIHRvIHNldCB0aGUgbW9kaWZpY2F0aW9uCisgKiAgICBhbmQgYWNjZXNzIHRp bWVzIG9mIGEgZmlsZSBpZiB0aGUgc3BlY2lmaWVkIGZpbGUgZG9lc24ndCBleGlzdC4KKyAqCisg KiBFeHBlY3RlZCBSZXN1bHQ6CisgKiAxLiB1dGltZXMgc2hvdWxkIGZhaWwgd2l0aCAtMSByZXR1 cm4gdmFsdWUgYW5kIHNldHMgZXJybm8gRUFDQ0VTLgorICogMi4gdXRpbWVzIHNob3VsZCBmYWls IHdpdGggLTEgcmV0dXJuIHZhbHVlIGFuZCBzZXRzIGVycm5vIEVOT0VOVC4KKyAqCisgKiBBbGdv cml0aG06CisgKiAgU2V0dXA6CisgKiAgIFNldHVwIHNpZ25hbCBoYW5kbGluZy4KKyAqICAgQ3Jl YXRlIHRlbXBvcmFyeSBkaXJlY3RvcnkuCisgKiAgIFBhdXNlIGZvciBTSUdVU1IxIGlmIG9wdGlv biBzcGVjaWZpZWQuCisgKgorICogIFRlc3Q6CisgKiAgIExvb3AgaWYgdGhlIHByb3BlciBvcHRp b25zIGFyZSBnaXZlbi4KKyAqICAgRXhlY3V0ZSBzeXN0ZW0gY2FsbAorICogICBDaGVjayByZXR1 cm4gY29kZSwgaWYgc3lzdGVtIGNhbGwgZmFpbGVkIChyZXR1cm49LTEpCisgKiAgIAlpZiBlcnJu byBzZXQgPT0gZXhwZWN0ZWQgZXJybm8KKyAqICAgCQlJc3N1ZSBzeXMgY2FsbCBmYWlscyB3aXRo IGV4cGVjdGVkIHJldHVybiB2YWx1ZSBhbmQgZXJybm8uCisgKiAgIAlPdGhlcndpc2UsCisgKgkJ SXNzdWUgc3lzIGNhbGwgZmFpbHMgd2l0aCB1bmV4cGVjdGVkIGVycm5vLgorICogICBPdGhlcndp c2UsCisgKglJc3N1ZSBzeXMgY2FsbCByZXR1cm5zIHVuZXhwZWN0ZWQgdmFsdWUuCisgKgorICog IENsZWFudXA6CisgKiAgIFByaW50IGVycm5vIGxvZyBhbmQvb3IgdGltaW5nIHN0YXRzIGlmIG9w dGlvbnMgZ2l2ZW4KKyAqICAgRGVsZXRlIHRoZSB0ZW1wb3JhcnkgZGlyZWN0b3J5KHMpL2ZpbGUo cykgY3JlYXRlZC4KKyAqCisgKiBVc2FnZTogIDxmb3IgY29tbWFuZC1saW5lPgorICogIHV0aW1l czA2IFstYyBuXSBbLWVdIFstaSBuXSBbLUkgeF0gWy1wIHhdIFstdF0KKyAqCXdoZXJlLCAgLWMg biA6IFJ1biBuIGNvcGllcyBjb25jdXJyZW50bHkuCisgKgkJLWUgICA6IFR1cm4gb24gZXJybm8g bG9nZ2luZy4KKyAqCQktaSBuIDogRXhlY3V0ZSB0ZXN0IG4gdGltZXMuCisgKgkJLUkgeCA6IEV4 ZWN1dGUgdGVzdCBmb3IgeCBzZWNvbmRzLgorICoJCS1QIHggOiBQYXVzZSBmb3IgeCBzZWNvbmRz IGJldHdlZW4gaXRlcmF0aW9ucy4KKyAqCQktdCAgIDogVHVybiBvbiBzeXNjYWxsIHRpbWluZy4K KyAqCisgKiBIaXN0b3J5CisgKgkwNy8yMDAxIEpvaG4gR2VvcmdlCisgKgkJLVBvcnRlZAorICoK KyAqIFJlc3RyaWN0aW9uczoKKyAqICBUaGlzIHRlc3QgbXVzdCBiZSBleGVjdXRlZCBieSByb290 LgorICogICBub2JvZHkgYW5kIGJpbiBtdXN0IGJlIHZhbGlkIHVzZXJzLgorICovCisKKyNpbmNs dWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8cHdkLmg+CisjaW5j bHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzaWduYWwuaD4K KyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzeXMv dGltZS5oPgorI2luY2x1ZGUgPHdhaXQuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1 ZGUgPHN5cy90eXBlcy5oPgorCisjaW5jbHVkZSAidGVzdC5oIgorI2luY2x1ZGUgInVzY3Rlc3Qu aCIKKworI2RlZmluZSBMVFBVU0VSMSAgICAgICAgIm5vYm9keSIKKyNkZWZpbmUgTFRQVVNFUjIg ICAgICAgICJiaW4iCisjZGVmaW5lIFRFTVBfRklMRQkidG1wX2ZpbGUiCisjZGVmaW5lIEZJTEVf TU9ERQlTX0lSVVNSIHwgU19JUkdSUCB8IFNfSVJPVEgKKworY2hhciAqVENJRD0idXRpbWVzMDYi OwkJLyogVGVzdCBwcm9ncmFtIGlkZW50aWZpZXIuICAgICovCitpbnQgVFNUX1RPVEFMPTI7CQkv KiBUb3RhbCBudW1iZXIgb2YgdGVzdCBjYXNlcy4gKi8KK2V4dGVybiBpbnQgVHN0X2NvdW50OwkJ LyogVGVzdCBDYXNlIGNvdW50ZXIgZm9yIHRzdF8qIHJvdXRpbmVzICovCit0aW1lX3QgY3Vycl90 aW1lOwkJLyogY3VycmVudCB0aW1lIGluIHNlY29uZHMgKi8KK3RpbWVfdCB0bG9jOwkJCS8qIGFy Z3VtZW50IHZhci4gZm9yIHRpbWUoKSAqLworaW50IGV4cF9lbm9zW109e0VBQ0NFUywgRU5PRU5U LCAwfTsKKworc3RydWN0IHBhc3N3ZCAqbHRwdXNlcjsgICAgICAgICAvKiBwYXNzd29yZCBzdHJ1 Y3QgZm9yIGx0cHVzZXJzICovCit1aWRfdCB1c2VyX3VpZDsgICAgICAgICAgICAgICAgIC8qIHVz ZXIgaWQgb2YgbHRwdXNlciAqLworZ2lkX3QgZ3JvdXBfZ2lkOyAgICAgICAgICAgICAgICAvKiBn cm91cCBpZCBvZiBsdHB1c2VyICovCitpbnQgc3RhdHVzOworCitpbnQgc2V0dXAxKCk7CQkJLyog c2V0dXAgZnVuY3Rpb24gdG8gdGVzdCBlcnJvciBFQUNDRVMgKi8KK2ludCBub19zZXR1cCgpOwor CitzdHJ1Y3QgdGVzdF9jYXNlX3QgewkJLyogdGVzdCBjYXNlIHN0cnVjdC4gdG8gaG9sZCByZWYu IHRlc3QgY29uZCdzKi8KKwljaGFyICpwYXRobmFtZTsKKwljaGFyICpkZXNjOworCWludCBleHBf ZXJybm87CisJaW50ICgqc2V0dXBmdW5jKSgpOworfSBUZXN0X2Nhc2VzW10gPSB7CisJeyBURU1Q X0ZJTEUsICJQZXJtaXNzaW9uIGRlbmllZCB0byBtb2RpZnkgZmlsZSB0aW1lIiwgRUFDQ0VTLCBz ZXR1cDEgfSwKKwl7ICIiLCAiU3BlY2lmaWVkIGZpbGUgZG9lc24ndCBleGlzdCIsIEVOT0VOVCwg bm9fc2V0dXAgfSwKKwl7IE5VTEwsIE5VTEwsIDAsIE5VTEx9Cit9OworCit2b2lkIHNldHVwKCk7 CQkJLyogTWFpbiBzZXR1cCBmdW5jdGlvbiBvZiB0ZXN0ICovCit2b2lkIGNsZWFudXAoKTsJCQkv KiBjbGVhbnVwIGZ1bmN0aW9uIGZvciB0aGUgdGVzdCAqLworCitpbnQKK21haW4oaW50IGFjLCBj aGFyICoqYXYpCit7CisJaW50IGxjOwkJCS8qIGxvb3AgY291bnRlciAqLworCWNoYXIgKm1zZzsJ CS8qIG1lc3NhZ2UgcmV0dXJuZWQgZnJvbSBwYXJzZV9vcHRzICovCisJY2hhciAqZmlsZV9uYW1l OwkvKiB0ZXN0ZmlsZSBuYW1lICovCisJY2hhciAqdGVzdF9kZXNjOwkvKiB0ZXN0IHNwZWNpZmlj IGVycm9yIG1lc3NhZ2UgKi8KKwlpbnQgaW5kOwkJLyogY291bnRlciB0byB0ZXN0IGRpZmZlcmVu dCB0ZXN0IGNvbmRpdGlvbnMgKi8KKwlpbnQgcGlkOworICAgIAorCS8qIFBhcnNlIHN0YW5kYXJk IG9wdGlvbnMgZ2l2ZW4gdG8gcnVuIHRoZSB0ZXN0LiAqLworCW1zZyA9IHBhcnNlX29wdHMoYWMs IGF2LCAob3B0aW9uX3QgKikgTlVMTCwgTlVMTCk7CisJaWYgKG1zZyAhPSAoY2hhciAqKSBOVUxM KSB7CisJCXRzdF9icmttKFRCUk9LLCBOVUxMLCAiT1BUSU9OIFBBUlNJTkcgRVJST1IgLSAlcyIs IG1zZyk7CisJCXRzdF9leGl0KCk7CisJfQorCisJLyogUGVyZm9ybSBnbG9iYWwgc2V0dXAgZm9y IHRlc3QgKi8KKwlzZXR1cCgpOworCisJLyogc2V0IHRoZSBleHBlY3RlZCBlcnJub3MuLi4gKi8K KwlURVNUX0VYUF9FTk9TKGV4cF9lbm9zKTsKKworCXBpZCA9IEZPUktfT1JfVkZPUksoKTsKKwor CWlmIChwaWQgPT0gLTEpIHsKKwkJdHN0X2Jya20oVEJST0ssIGNsZWFudXAsICJmb3JrKCkgZmFp bGVkIik7CisJCS8qTk9UUkVBQ0hFRCovCisJfSBlbHNlIGlmIChwaWQgPT0gMCkgeworCQlpZiAo KGx0cHVzZXIgPSBnZXRwd25hbShMVFBVU0VSMSkpID09IE5VTEwpIHsKKwkJCXRzdF9icmttKFRC Uk9LLGNsZWFudXAsIiVzIG5vdCBmb3VuZCBpbiAvZXRjL3Bhc3N3ZCIsCisJCQkJTFRQVVNFUjEp OworCQkJLypOT1RSRUFDSEVEKi8KKwkJfQorCisJCS8qIGdldCB1aWQgb2YgdXNlciAqLworCQl1 c2VyX3VpZCA9IGx0cHVzZXItPnB3X3VpZDsKKworCQlzZXRldWlkKHVzZXJfdWlkKTsKKworCQkv KiBDaGVjayBsb29waW5nIHN0YXRlIGlmIC1pIG9wdGlvbiBnaXZlbiAqLworCQlmb3IgKGxjID0g MDsgVEVTVF9MT09QSU5HKGxjKTsgbGMrKykgeworCQkJLyogUmVzZXQgVHN0X2NvdW50IGluIGNh c2Ugd2UgYXJlIGxvb3BpbmcuICovCisJCQlUc3RfY291bnQ9MDsKKworCQkJZm9yIChpbmQgPSAw OyBUZXN0X2Nhc2VzW2luZF0uZGVzYyAhPSBOVUxMOyBpbmQrKykgeworCQkJCWZpbGVfbmFtZSA9 IFRlc3RfY2FzZXNbaW5kXS5wYXRobmFtZTsKKwkJCQl0ZXN0X2Rlc2MgPSBUZXN0X2Nhc2VzW2lu ZF0uZGVzYzsKKworCQkJCS8qCisJCQkJICogQ2FsbCB1dGltZXMoMikgdG8gdGVzdCBkaWZmZXJl bnQgdGVzdAorCQkJCSAqIGNvbmRpdGlvbnMuIFZlcmlmeSB0aGF0IGl0IGZhaWxzIHdpdGggLTEK KwkJCQkgKiByZXR1cm4gdmFsdWUgYW5kIHNldHMgYXBwcm9wcmlhdGUgZXJybm8uCisJCQkJICov CisJCQkJVEVTVCh1dGltZXMoZmlsZV9uYW1lLCBOVUxMKSk7CisKKwkJCQkvKiBDaGVjayByZXR1 cm4gY29kZSBmcm9tIHV0aW1lcygyKSAqLworCQkJCWlmIChURVNUX1JFVFVSTiA9PSAtMSkgewor CQkJCQlURVNUX0VSUk9SX0xPRyhURVNUX0VSUk5PKTsKKwkJCQkJaWYgKFRFU1RfRVJSTk8gPT0K KwkJCQkJCVRlc3RfY2FzZXNbaW5kXS5leHBfZXJybm8pIHsKKwkJCQkJCXRzdF9yZXNtKFRQQVNT LCAidXRpbWVzKCkgIgorCQkJCQkJCSJmYWlscywgJXMsIGVycm5vOiVkIiwKKwkJCQkJCQl0ZXN0 X2Rlc2MsIFRFU1RfRVJSTk8pOworCQkJCQl9IGVsc2UgeworCQkJCQkJdHN0X3Jlc20oVEZBSUws ICJ1dGltZXMoMikgIgorCQkJCQkJCSJmYWlscywgJXMsIGVycm5vOiVkLCAiCisJCQkJCQkJImV4 cGVjdGVkIGVycm5vOiVkIiwKKwkJCQkJCQl0ZXN0X2Rlc2MsIFRFU1RfRVJSTk8sCisJCQkJCQkJ VGVzdF9jYXNlc1tpbmRdLmV4cF9lcnJubyk7CisJCQkJCX0KKwkJCQl9IGVsc2UgeworCQkJCQl0 c3RfcmVzbShURkFJTCwgInV0aW1lcygyKSByZXR1cm5lZCAlZCwgIgorCQkJCQkJImV4cGVjdGVk IC0xLCBlcnJubzolZCIsCisJCQkJCQlURVNUX1JFVFVSTiwKKwkJCQkJCVRlc3RfY2FzZXNbaW5k XS5leHBfZXJybm8pOworCQkJCX0KKwkJCX0JLyogRW5kIG9mIFRFU1QgQ0FTRSBMT09QSU5HLiAq LworCisJCQlUc3RfY291bnQrKzsJCS8qIGluY3IgVEVTVF9MT09QIGNvdW50ZXIgKi8KKworCQl9 CS8qIEVuZCBmb3IgVEVTVF9MT09QSU5HICovCisJfSBlbHNlIHsKKwkJd2FpdHBpZChwaWQsICZz dGF0dXMsIDApOworCQlfZXhpdCgwKTsgICAgICAgLyoKKwkJCQkgKiBFeGl0IGhlcmUgYW5kIGxl dCB0aGUgY2hpbGQgY2xlYW4gdXAuCisJCQkJICogVGhpcyBhbGxvd3MgdGhlIGVycm5vIGluZm9y bWF0aW9uIHNldAorCQkJCSAqIGJ5IHRoZSBURVNUX0VSUk9SX0xPRyBtYWNybyBhbmQgdGhlCisJ CQkJICogUEFTUy9GQUlMIHN0YXR1cyB0byBiZSBwcmVzZXJ2ZWQgZm9yCisJCQkJICogdXNlIGR1 cmluZyBjbGVhbnVwLgorCQkJCSAqLworCX0KKwkvKiBDYWxsIGNsZWFudXAoKSB0byB1bmRvIHNl dHVwIGRvbmUgZm9yIHRoZSB0ZXN0LiAqLworCWNsZWFudXAoKTsKKwkvKk5PVFJFQUNIRUQqLwor CisKKyAgcmV0dXJuKDApOworCit9CS8qIEVuZCBtYWluICovCisKKy8qCisgKiB2b2lkCisgKiBz ZXR1cCgpIC0gcGVyZm9ybXMgYWxsIE9ORSBUSU1FIHNldHVwIGZvciB0aGlzIHRlc3QuCisgKiAg Q3JlYXRlIGEgdGVtcG9yYXJ5IGRpcmVjdG9yeSBhbmQgY2hhbmdlIGRpcmVjdG9yeSB0byBpdC4K KyAqICBJbnZva2UgaW5kaXZpZHVhbCB0ZXN0IHNldHVwIGZ1bmN0aW9ucyBhY2NvcmRpbmcgdG8g dGhlIG9yZGVyCisgKiAgc2V0IGluIHRlc3Qgc3RydWN0LiBkZWZpbml0aW9uLgorICovCit2b2lk IAorc2V0dXAoKQoreworCWludCBpbmQ7CQkJLyogY291bnRlciBmb3Igc2V0dXAgZnVuY3Rpb25z ICovCisKKwkvKiBjYXB0dXJlIHNpZ25hbHMgKi8KKwl0c3Rfc2lnKEZPUkssIERFRl9IQU5ETEVS LCBjbGVhbnVwKTsKKworCS8qIENoZWNrIHRoYXQgdGhlIHRlc3QgcHJvY2VzcyBpZCBpcyBub24t c3VwZXIvcm9vdCAgKi8KKwlpZiAoZ2V0ZXVpZCgpICE9IDApIHsKKwkJdHN0X2Jya20oVEJST0ss IE5VTEwsICJNdXN0IGJlIHJvb3QgZm9yIHRoaXMgdGVzdCEiKTsKKwkJdHN0X2V4aXQoKTsKKwl9 CisKKwkvKiBQYXVzZSBpZiB0aGF0IG9wdGlvbiB3YXMgc3BlY2lmaWVkICovCisJVEVTVF9QQVVT RTsKKworCS8qIG1ha2UgYSB0ZW1wIGRpcmVjdG9yeSBhbmQgY2QgdG8gaXQgKi8KKwl0c3RfdG1w ZGlyKCk7CisKKwkvKiBjYWxsIGluZGl2aWR1YWwgc2V0dXAgZnVuY3Rpb25zICovCisJZm9yIChp bmQgPSAwOyBUZXN0X2Nhc2VzW2luZF0uZGVzYyAhPSBOVUxMOyBpbmQrKykgeworCQlUZXN0X2Nh c2VzW2luZF0uc2V0dXBmdW5jKCk7CisJfQorfQkvKiBFbmQgc2V0dXAoKSAqLworCisvKgorICog aW50CisgKiBub19zZXR1cCgpIC0gU29tZSB0ZXN0IGNvbmRpdGlvbnMgZm9yIHV0aW1lcygyKSBk byBub3QgYW55IHNldHVwLgorICogICAgICAgICAgICAgIEhlbmNlLCB0aGlzIGZ1bmN0aW9uIGp1 c3QgcmV0dXJucyAwLgorICovCitpbnQKK25vX3NldHVwKCkKK3sKKwlyZXR1cm4gMDsKK30KKwor LyoKKyAqIGludAorICogc2V0dXAxKCkgLSBzZXR1cCBmdW5jdGlvbiBmb3IgYSB0ZXN0IGNvbmRp dGlvbiBmb3Igd2hpY2ggdXRpbWVzKDIpCisgKgkJcmV0dXJucyAtMSBhbmQgc2V0cyBlcnJubyB0 byBFQUNDRVMuCisgKiAgQ3JlYXRlIGEgdGVzdGZpbGUgdW5kZXIgdGVtcG9yYXJ5IGRpcmVjdG9y eSBhbmQgY2hhbmdlIHRoZSBvd25lcnNoaXAgb2YKKyAqICB0ZXN0ZmlsZSB0byAiYmluIi4KKyAq LworaW50CitzZXR1cDEoKQoreworCWludCBmaWxkZXM7CQkJLyogZmlsZSBoYW5kbGUgZm9yIHRl bXAgZmlsZSAqLworCisJLyogQ3JlYXQgYSB0ZW1wb3JhcnkgZmlsZSB1bmRlciBhYm92ZSBkaXJl Y3RvcnkgKi8KKwlpZiAoKGZpbGRlcyA9IGNyZWF0KFRFTVBfRklMRSwgRklMRV9NT0RFKSkgPT0g LTEpIHsKKwkJdHN0X2Jya20oVEJST0ssIGNsZWFudXAsICJjcmVhdCglcywgJSNvKSBGYWlsZWQs IGVycm5vPSVkIDolcyIsCisJCQkgVEVNUF9GSUxFLCBGSUxFX01PREUsIGVycm5vLCBzdHJlcnJv cihlcnJubykpOworCX0KKworCS8qIENsb3NlIHRoZSB0ZW1wb3JhcnkgZmlsZSBjcmVhdGVkICov CisJaWYgKGNsb3NlKGZpbGRlcykgPCAwKSB7CisJCXRzdF9icmttKFRCUk9LLCBjbGVhbnVwLCAi Y2xvc2UoJXMpIEZhaWxlZCwgZXJybm89JWQgOiAlczoiLAorCQkJCSBURU1QX0ZJTEUsIGVycm5v LCBzdHJlcnJvcihlcnJubykpOworCX0KKworCWlmICgobHRwdXNlciA9IGdldHB3bmFtKExUUFVT RVIyKSkgPT0gTlVMTCkgeworCQl0c3RfYnJrbShUQlJPSywgY2xlYW51cCwgIiVzIG5vdCBmb3Vu ZCBpbiAvZXRjL3Bhc3N3ZCIsCisJCQkJTFRQVVNFUjIpOworCQkvKk5PVFJFQUNIRUQqLworCX0K KworCS8qIGdldCB1aWQvZ2lkIG9mIHVzZXIgYWNjb3JkaW5nbHkgKi8KKwl1c2VyX3VpZCA9IGx0 cHVzZXItPnB3X3VpZDsKKwlncm91cF9naWQgPSBsdHB1c2VyLT5wd19naWQ7CisKKwlpZiAoY2hv d24oVEVNUF9GSUxFLCB1c2VyX3VpZCwgZ3JvdXBfZ2lkKSA8IDApIHsKKwkJdHN0X2Jya20oVEJS T0ssIGNsZWFudXAsICJjaG93bigpIG9mICVzIGZhaWxlZCwgZXJyb3IgJWQiLAorCQkJVEVNUF9G SUxFLCBlcnJubyk7CisJCS8qTk9UUkVBQ0hFRCovCisJfQorCisJcmV0dXJuIDA7Cit9CS8qIEVu ZCBvZiBzZXR1cDEgKi8KKworLyoKKyAqIHZvaWQKKyAqIGNsZWFudXAoKSAtIHBlcmZvcm1zIGFs bCBPTkUgVElNRSBjbGVhbnVwIGZvciB0aGlzIHRlc3QgYXQKKyAqICAgICAgICAgICAgIGNvbXBs ZXRpb24gb3IgcHJlbWF0dXJlIGV4aXQuCisgKiAgUmVtb3ZlIHRoZSB0ZXN0IGRpcmVjdG9yeSBh bmQgdGVzdGZpbGUgY3JlYXRlZCBpbiB0aGUgc2V0dXAuCisgKi8KK3ZvaWQgCitjbGVhbnVwKCkK K3sKKwlzZXRldWlkKDApOworCS8qCisJICogcHJpbnQgdGltaW5nIHN0YXRzIGlmIHRoYXQgb3B0 aW9uIHdhcyBzcGVjaWZpZWQuCisJICogcHJpbnQgZXJybm8gbG9nIGlmIHRoYXQgb3B0aW9uIHdh cyBzcGVjaWZpZWQuCisJICovCisJVEVTVF9DTEVBTlVQOworCisJLyogUmVtb3ZlIHRtcCBkaXIg YW5kIGFsbCBmaWxlcyBpbiBpdCAqLworCXRzdF9ybWRpcigpOworCisJLyogZXhpdCB3aXRoIHJl dHVybiBjb2RlIGFwcHJvcHJpYXRlIGZvciByZXN1bHRzICovCisJdHN0X2V4aXQoKTsKK30JLyog RW5kIGNsZWFudXAoKSAqLwo= ------=_Part_79072_22077359.1166151495960-- From owner-freebsd-emulation@FreeBSD.ORG Fri Dec 15 04:03:00 2006 Return-Path: X-Original-To: freebsd-emulation@freebsd.org 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 8F09016A415 for ; Fri, 15 Dec 2006 04:03:00 +0000 (UTC) (envelope-from tbourke@triptrop.cse.unsw.edu.au) Received: from barracuda.cse.unsw.edu.au (barracuda.cse.unsw.EDU.AU [129.94.175.101]) by mx1.FreeBSD.org (Postfix) with ESMTP id C037C43CB0 for ; Fri, 15 Dec 2006 04:01:11 +0000 (GMT) (envelope-from tbourke@triptrop.cse.unsw.edu.au) X-ASG-Debug-ID: 1166155366-23d400700000-qunlfv X-Barracuda-URL: http://129.94.175.101:8000/cgi-bin/mark.cgi X-Barracuda-Connect: tone.orchestra.cse.unsw.EDU.AU[129.94.242.59] X-Barracuda-Start-Time: 1166155366 Received: from tone.orchestra.cse.unsw.EDU.AU (tone.orchestra.cse.unsw.EDU.AU [129.94.242.59]) by barracuda.cse.unsw.edu.au (Spam Firewall) with ESMTP id 04EDC4356 for ; Fri, 15 Dec 2006 15:02:46 +1100 (EST) X-CSE-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on tone.orchestra.cse.unsw.EDU.AU X-CSE-Spam-Level: X-CSE-Spam-Status: No, score=-2.3 required=4.0 tests=BAYES_00 autolearn=ham version=3.1.3 Received: From triptrop.cse.unsw.edu.au ([203.143.174.122] == research-remote.nicta.com.au) (for ) By tone With Smtp ; Fri, 15 Dec 2006 15:02:45 +1100 Received: from triptrop.cse.unsw.edu.au (localhost [127.0.0.1]) by triptrop.cse.unsw.edu.au (8.13.6/8.13.6) with ESMTP id kBF41bHm003283 for ; Fri, 15 Dec 2006 15:01:37 +1100 (EST) (envelope-from tbourke@triptrop.cse.unsw.edu.au) Received: (from tbourke@localhost) by triptrop.cse.unsw.edu.au (8.13.6/8.13.6/Submit) id kBF41bHJ003282 for freebsd-emulation@freebsd.org; Fri, 15 Dec 2006 15:01:37 +1100 (EST) (envelope-from tbourke) From: Timothy Bourke To: freebsd-emulation@freebsd.org Date: Fri, 15 Dec 2006 15:01:36 +1100 X-ASG-Orig-Subj: X11 through nullfs under chroot Message-ID: <20061215040136.GA2466@triptrop.wlan.in.nicta.com.au> Mail-Followup-To: freebsd-emulation@freebsd.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="RnlQjJ0d97Da+TV1" Content-Disposition: inline User-Agent: Mutt/1.4.2.1i X-PGP-Key: http://www.cse.unsw.edu.au/~tbourke/pubkey.txt X-Barracuda-Virus-Scanned: by Barracuda Spam Firewall at cse.unsw.edu.au Subject: X11 through nullfs under chroot 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: Fri, 15 Dec 2006 04:03:00 -0000 --RnlQjJ0d97Da+TV1 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline I would like to run chroot-ed gentoo-stage3 X client applications on my host X server through a Unix domain socket. It does work: * through a tcp socket * using a hardlink to /tmp/.X11-unix/X0 But it does not work via: mount -t nullfs /tmp /compat/linux/tmp The /tmp/.X11-unix/X0 directory is visible from with the chroot environment but X clients fail: DISPLAY="localhost/unix:0"; export DISPLAY; xlogo gives: Error: Can't open display: localhost/unix:0 I also tried the client and server programs from this page: http://www.ecst.csuchico.edu/~beej/guide/ipc/usock.html They work between the chroot and host directly or via hardlinks but not via nullfs. This seems to be the exact problem of PR kern/51583. But the given patch does not apply directly to 6.1-RELEASE-p11. Is anyone successfully using domain sockets to X from a chroot under 6.x? Or, is this altogether the wrong way of doing things? Thank you, Tim. --RnlQjJ0d97Da+TV1 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.4 (FreeBSD) iD8DBQFFgh4gtKVK1sFb0ecRAgrEAJ4lcYhOrxum3X9Ttpph+2cDLf4YBgCePzbs Tt3u8GFH0t+AVoLqCgkigp8= =DtSH -----END PGP SIGNATURE----- --RnlQjJ0d97Da+TV1-- From owner-freebsd-emulation@FreeBSD.ORG Fri Dec 15 09:59:33 2006 Return-Path: X-Original-To: emulation@freebsd.org 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 2813E16A403 for ; Fri, 15 Dec 2006 09:59:33 +0000 (UTC) (envelope-from xdivac02@stud.fit.vutbr.cz) Received: from eva.fit.vutbr.cz (eva.fit.vutbr.cz [147.229.176.14]) by mx1.FreeBSD.org (Postfix) with ESMTP id C523243CBC for ; Fri, 15 Dec 2006 09:57:43 +0000 (GMT) (envelope-from xdivac02@stud.fit.vutbr.cz) Received: from eva.fit.vutbr.cz (localhost [127.0.0.1]) by eva.fit.vutbr.cz (envelope-from xdivac02@eva.fit.vutbr.cz) (8.13.8/8.13.7) with ESMTP id kBF9xLNI097416 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 15 Dec 2006 10:59:21 +0100 (CET) Received: (from xdivac02@localhost) by eva.fit.vutbr.cz (8.13.8/8.13.3/Submit) id kBF9xLkm097415; Fri, 15 Dec 2006 10:59:21 +0100 (CET) Date: Fri, 15 Dec 2006 10:59:21 +0100 From: Divacky Roman To: Scot Hetzel Message-ID: <20061215095921.GA96603@stud.fit.vutbr.cz> References: <790a9fff0612140333ofd0891el59f767329f291371@mail.gmail.com> <20061214153029.GA36558@stud.fit.vutbr.cz> <790a9fff0612141858x3a0a4ce5vc348d32d9b56f343@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <790a9fff0612141858x3a0a4ce5vc348d32d9b56f343@mail.gmail.com> User-Agent: Mutt/1.4.2.2i X-Scanned-By: MIMEDefang 2.57 on 147.229.176.14 Cc: emulation@freebsd.org Subject: Re: linuxolator: utimes implementation 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: Fri, 15 Dec 2006 09:59:33 -0000 On Thu, Dec 14, 2006 at 08:58:15PM -0600, Scot Hetzel wrote: > On 12/14/06, Divacky Roman wrote: > >On Thu, Dec 14, 2006 at 05:33:40AM -0600, Scot Hetzel wrote: > >> While I was running the the tests for ltp-full-20061121, I noticed > >> that the utimes function wasn't implemented in the linuxolator. > >> > >> I looked up the man page and found that it was similar to the utime > >> function, except that it allows a program to set an inode down to the > >> microsecond. > >> > >> Merging together the linux_utime and freebsd32_utimes functions, I was > >> able to create the linux_utimes function. > > > >what about this patch instead (only relevant part): > > > I'm able to compile the linux module with this patch, and I no longer > see "* utimes not implemented" when running the ltp testcases. > > The attached patch to ltp-20061121 implements testcases for utimes > (based on the utime testcases). It currently is failing the utimes04, > and utimes05 testcases: can you please tell me where can I get the sources of those two tests? I fail to see it.. thnx From owner-freebsd-emulation@FreeBSD.ORG Fri Dec 15 10:15:31 2006 Return-Path: X-Original-To: freebsd-emulation@freebsd.org 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 EAB8116A54B for ; Fri, 15 Dec 2006 10:15:31 +0000 (UTC) (envelope-from alexander@leidinger.net) Received: from redbull.bpaserver.net (redbullneu.bpaserver.net [213.198.78.217]) by mx1.FreeBSD.org (Postfix) with ESMTP id 61B9243C9D for ; Fri, 15 Dec 2006 10:13:50 +0000 (GMT) (envelope-from alexander@leidinger.net) Received: from outgoing.leidinger.net (p54A5D740.dip.t-dialin.net [84.165.215.64]) by redbull.bpaserver.net (Postfix) with ESMTP id 0AE982E0A8; Fri, 15 Dec 2006 11:15:29 +0100 (CET) Received: from webmail.leidinger.net (webmail.Leidinger.net [192.168.1.102]) by outgoing.leidinger.net (Postfix) with ESMTP id DECDF5B4845; Fri, 15 Dec 2006 11:15:23 +0100 (CET) Received: (from www@localhost) by webmail.leidinger.net (8.13.8/8.13.8/Submit) id kBFAFNTq021740; Fri, 15 Dec 2006 11:15:23 +0100 (CET) (envelope-from Alexander@Leidinger.net) Received: from pslux.cec.eu.int (pslux.cec.eu.int [158.169.9.14]) by webmail.leidinger.net (Horde MIME library) with HTTP; Fri, 15 Dec 2006 11:15:23 +0100 Message-ID: <20061215111523.bh59htm680ok4gk8@webmail.leidinger.net> X-Priority: 3 (Normal) Date: Fri, 15 Dec 2006 11:15:23 +0100 From: Alexander Leidinger To: Timothy Bourke References: <20061215040136.GA2466@triptrop.wlan.in.nicta.com.au> In-Reply-To: <20061215040136.GA2466@triptrop.wlan.in.nicta.com.au> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; DelSp="Yes"; format="flowed" Content-Disposition: inline Content-Transfer-Encoding: 7bit User-Agent: Internet Messaging Program (IMP) H3 (4.1.3) / FreeBSD-7.0 X-BPAnet-MailScanner-Information: Please contact the ISP for more information X-BPAnet-MailScanner: Found to be clean X-BPAnet-MailScanner-SpamCheck: not spam, SpamAssassin (not cached, score=-14.864, required 6, autolearn=not spam, BAYES_00 -15.00, DK_POLICY_SIGNSOME 0.00, FORGED_RCVD_HELO 0.14) X-BPAnet-MailScanner-From: alexander@leidinger.net X-Spam-Status: No Cc: freebsd-emulation@freebsd.org Subject: Re: X11 through nullfs under chroot 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: Fri, 15 Dec 2006 10:15:32 -0000 Quoting Timothy Bourke (from Fri, 15 Dec 2006 15:01:36 +1100): > I would like to run chroot-ed gentoo-stage3 X client applications on my > host X server through a Unix domain socket. > > It does work: > * through a tcp socket > * using a hardlink to /tmp/.X11-unix/X0 > > But it does not work via: > mount -t nullfs /tmp /compat/linux/tmp This smells like a problem in nullfs regarding sockets (and maybe other special files). I suggest to tell about this on the filesystem mailinglist. Don't forget to tell them hich version of FreeBSD you are using. Bye, Alexander. -- TAX OFFICE: Den of inequity. http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID = B0063FE7 http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID = 72077137 From owner-freebsd-emulation@FreeBSD.ORG Fri Dec 15 10:22:08 2006 Return-Path: X-Original-To: freebsd-emulation@freebsd.org 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 5BB2316A407 for ; Fri, 15 Dec 2006 10:22:08 +0000 (UTC) (envelope-from alexander@leidinger.net) Received: from redbull.bpaserver.net (redbullneu.bpaserver.net [213.198.78.217]) by mx1.FreeBSD.org (Postfix) with ESMTP id A2AA243CB5 for ; Fri, 15 Dec 2006 10:20:19 +0000 (GMT) (envelope-from alexander@leidinger.net) Received: from outgoing.leidinger.net (p54A5D740.dip.t-dialin.net [84.165.215.64]) by redbull.bpaserver.net (Postfix) with ESMTP id EE0BC2E0A8; Fri, 15 Dec 2006 11:21:57 +0100 (CET) Received: from webmail.leidinger.net (webmail.Leidinger.net [192.168.1.102]) by outgoing.leidinger.net (Postfix) with ESMTP id D0ED35B4845; Fri, 15 Dec 2006 11:21:52 +0100 (CET) Received: (from www@localhost) by webmail.leidinger.net (8.13.8/8.13.8/Submit) id kBFALqgx022825; Fri, 15 Dec 2006 11:21:52 +0100 (CET) (envelope-from Alexander@Leidinger.net) Received: from pslux.cec.eu.int (pslux.cec.eu.int [158.169.9.14]) by webmail.leidinger.net (Horde MIME library) with HTTP; Fri, 15 Dec 2006 11:21:52 +0100 Message-ID: <20061215112152.zo19clk4ggkck4c8@webmail.leidinger.net> X-Priority: 3 (Normal) Date: Fri, 15 Dec 2006 11:21:52 +0100 From: Alexander Leidinger To: Scot Hetzel References: <790a9fff0612140401h7bf0bdb0idb1590120ae95e3f@mail.gmail.com> In-Reply-To: <790a9fff0612140401h7bf0bdb0idb1590120ae95e3f@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; DelSp="Yes"; format="flowed" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable User-Agent: Internet Messaging Program (IMP) H3 (4.1.3) / FreeBSD-7.0 X-BPAnet-MailScanner-Information: Please contact the ISP for more information X-BPAnet-MailScanner: Found to be clean X-BPAnet-MailScanner-SpamCheck: not spam, SpamAssassin (not cached, score=-14.71, required 6, BAYES_00 -15.00, DK_POLICY_SIGNSOME 0.00, FORGED_RCVD_HELO 0.14, TW_EV 0.08, TW_OC 0.08) X-BPAnet-MailScanner-From: alexander@leidinger.net X-Spam-Status: No Cc: freebsd-emulation@freebsd.org Subject: Re: linuxolator: proc/filesystems implementation 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: Fri, 15 Dec 2006 10:22:08 -0000 Quoting Scot Hetzel (from Thu, 14 Dec 2006 =20 06:01:27 -0600): > Linux has a file in the procfs that shows all the loaded filesystem module= s. > > I have implemented the function that fills this file using the > linprocfs module. > > What the function does is look for specific kernel modules using > module_lookupbyname to create an entry in the proc/filesystems file: > > # cat /compat/linux/proc/filesystems > cd9660 > nodev devfs > nodev bsdprocfs > mfs > msdosfs Like Roman I'm eager to know which software uses this. Unlike him I =20 don't think (yet) it doesn't make sense without a translation table. =20 If the list is just presented to an user we don't need a translation. =20 If it is used to do something we may need a translation (but only for =20 those FS which have a compatible structure, like cd9660 or extfs, but =20 not for ufs, which is UFS2 for us and "I don't know but possibly UFS1" =20 on Linux). Bye, Alexander. --=20 Officers' club: We don't know but we've been told, our beer on tap is mighty cold. http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID =3D B0063FE7 http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID =3D 72077137 From owner-freebsd-emulation@FreeBSD.ORG Fri Dec 15 12:41:29 2006 Return-Path: X-Original-To: freebsd-emulation@freebsd.org 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 111E616A412 for ; Fri, 15 Dec 2006 12:41:29 +0000 (UTC) (envelope-from swhetzel@gmail.com) Received: from nz-out-0506.google.com (nz-out-0506.google.com [64.233.162.230]) by mx1.FreeBSD.org (Postfix) with ESMTP id C19FD43CB5 for ; Fri, 15 Dec 2006 12:39:43 +0000 (GMT) (envelope-from swhetzel@gmail.com) Received: by nz-out-0506.google.com with SMTP id i11so401407nzh for ; Fri, 15 Dec 2006 04:41:24 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=iWZsl3GNVf55lmKt9uzc52E0sbuFgFv5j1CGfx35CKCF+4Rq9EE0/d/FrLt2/QvoCFZQaZAHuiC6GAfuM4xD8PoRzPOBrbafRdbXeHatoYUhDK07HSfS69MiA0eb04819EJN8WQDhrD/HgV9qhcbSqmgSDVW612I6vlK6LzORn0= Received: by 10.65.151.6 with SMTP id d6mr1108468qbo.1166186481571; Fri, 15 Dec 2006 04:41:21 -0800 (PST) Received: by 10.65.61.1 with HTTP; Fri, 15 Dec 2006 04:41:21 -0800 (PST) Message-ID: <790a9fff0612150441m55f4754iab046ff97f5096de@mail.gmail.com> Date: Fri, 15 Dec 2006 06:41:21 -0600 From: "Scot Hetzel" To: "Alexander Leidinger" In-Reply-To: <20061215112152.zo19clk4ggkck4c8@webmail.leidinger.net> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <790a9fff0612140401h7bf0bdb0idb1590120ae95e3f@mail.gmail.com> <20061215112152.zo19clk4ggkck4c8@webmail.leidinger.net> Cc: freebsd-emulation@freebsd.org Subject: Re: linuxolator: proc/filesystems implementation 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: Fri, 15 Dec 2006 12:41:29 -0000 On 12/15/06, Alexander Leidinger wrote: > Like Roman I'm eager to know which software uses this. Unlike him I > don't think (yet) it doesn't make sense without a translation table. > If the list is just presented to an user we don't need a translation. > If it is used to do something we may need a translation (but only for > those FS which have a compatible structure, like cd9660 or extfs, but > not for ufs, which is UFS2 for us and "I don't know but possibly UFS1" > on Linux). > The only thing that I'm aware of that uses it is 3 scripts in the LTP: # grep -l "proc/filesystem" */* testscripts/autofs1.sh testscripts/autofs4.sh testscripts/exportfs.sh currently we don't run the tests that use these scripts. The first two scripts check if the autofs is available, while the last one checks if the requested filesystem is available. NOTE: the scripts do more than this check for the filesystem. It does uses a translation table, but I haven't been able to verify all of the filesystem names against the names used on a linux system (i.e cd9660 -> iso9660(?)). Scot From owner-freebsd-emulation@FreeBSD.ORG Fri Dec 15 12:53:08 2006 Return-Path: X-Original-To: emulation@freebsd.org 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 2063F16A40F for ; Fri, 15 Dec 2006 12:53:08 +0000 (UTC) (envelope-from bsam@ipt.ru) Received: from mail.ipt.ru (mail.ipt.ru [80.253.10.82]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5109F43C9D for ; Fri, 15 Dec 2006 12:51:26 +0000 (GMT) (envelope-from bsam@ipt.ru) Received: from stat.sem.ipt.ru ([192.168.12.1] helo=ipt.ru) by mail.ipt.ru with esmtp (Exim 4.62 (FreeBSD)) (envelope-from ) id 1GvCYd-0007TW-GR; Fri, 15 Dec 2006 15:52:59 +0300 Received: from bsam by ipt.ru with local (Exim 4.63 (FreeBSD)) (envelope-from ) id 1GvCZk-0004ja-UN; Fri, 15 Dec 2006 15:54:08 +0300 To: Divacky Roman References: <790a9fff0612140333ofd0891el59f767329f291371@mail.gmail.com> <20061214153029.GA36558@stud.fit.vutbr.cz> <790a9fff0612141858x3a0a4ce5vc348d32d9b56f343@mail.gmail.com> <20061215095921.GA96603@stud.fit.vutbr.cz> From: Boris Samorodov Date: Fri, 15 Dec 2006 15:54:08 +0300 In-Reply-To: <20061215095921.GA96603@stud.fit.vutbr.cz> (Divacky Roman's message of "Fri, 15 Dec 2006 10:59:21 +0100") Message-ID: <02379263@srv.sem.ipt.ru> User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: emulation@freebsd.org, Scot Hetzel Subject: Re: linuxolator: utimes implementation 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: Fri, 15 Dec 2006 12:53:08 -0000 On Fri, 15 Dec 2006 10:59:21 +0100 Divacky Roman wrote: > > The attached patch to ltp-20061121 implements testcases for utimes > > (based on the utime testcases). It currently is failing the utimes04, > > and utimes05 testcases: > can you please tell me where can I get the sources of those two tests? > I fail to see it.. thnx New LTP version 20061121 contains that file (ltp-full-20061121/runtest/ltplite). WBR -- Boris Samorodov (bsam) Research Engineer, http://www.ipt.ru Telephone & Internet SP FreeBSD committer, http://www.FreeBSD.org The Power To Serve From owner-freebsd-emulation@FreeBSD.ORG Fri Dec 15 14:54:21 2006 Return-Path: X-Original-To: freebsd-emulation@freebsd.org 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 70E8E16A4A0 for ; Fri, 15 Dec 2006 14:54:21 +0000 (UTC) (envelope-from alexander@leidinger.net) Received: from redbull.bpaserver.net (redbullneu.bpaserver.net [213.198.78.217]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4F27143CAA for ; Fri, 15 Dec 2006 14:52:13 +0000 (GMT) (envelope-from alexander@leidinger.net) Received: from outgoing.leidinger.net (p54A5D740.dip.t-dialin.net [84.165.215.64]) by redbull.bpaserver.net (Postfix) with ESMTP id E16AC2E1A5; Fri, 15 Dec 2006 15:53:50 +0100 (CET) Received: from webmail.leidinger.net (webmail.Leidinger.net [192.168.1.102]) by outgoing.leidinger.net (Postfix) with ESMTP id DDC205B4845; Fri, 15 Dec 2006 15:53:45 +0100 (CET) Received: (from www@localhost) by webmail.leidinger.net (8.13.8/8.13.8/Submit) id kBFErj1t068183; Fri, 15 Dec 2006 15:53:45 +0100 (CET) (envelope-from Alexander@Leidinger.net) Received: from pslux.cec.eu.int (pslux.cec.eu.int [158.169.9.14]) by webmail.leidinger.net (Horde MIME library) with HTTP; Fri, 15 Dec 2006 15:53:45 +0100 Message-ID: <20061215155345.2mvibtos7444kk8o@webmail.leidinger.net> X-Priority: 3 (Normal) Date: Fri, 15 Dec 2006 15:53:45 +0100 From: Alexander Leidinger To: Scot Hetzel References: <790a9fff0612140401h7bf0bdb0idb1590120ae95e3f@mail.gmail.com> <20061215112152.zo19clk4ggkck4c8@webmail.leidinger.net> <790a9fff0612150441m55f4754iab046ff97f5096de@mail.gmail.com> In-Reply-To: <790a9fff0612150441m55f4754iab046ff97f5096de@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; DelSp="Yes"; format="flowed" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable User-Agent: Internet Messaging Program (IMP) H3 (4.1.3) / FreeBSD-7.0 X-BPAnet-MailScanner-Information: Please contact the ISP for more information X-BPAnet-MailScanner: Found to be clean X-BPAnet-MailScanner-SpamCheck: not spam, SpamAssassin (not cached, score=-14.864, required 6, autolearn=not spam, BAYES_00 -15.00, DK_POLICY_SIGNSOME 0.00, FORGED_RCVD_HELO 0.14) X-BPAnet-MailScanner-From: alexander@leidinger.net X-Spam-Status: No Cc: freebsd-emulation@freebsd.org Subject: Re: linuxolator: proc/filesystems implementation 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: Fri, 15 Dec 2006 14:54:21 -0000 Quoting Scot Hetzel (from Fri, 15 Dec 2006 =20 06:41:21 -0600): > The only thing that I'm aware of that uses it is 3 scripts in the LTP: > > # grep -l "proc/filesystem" */* > testscripts/autofs1.sh > testscripts/autofs4.sh > testscripts/exportfs.sh > > currently we don't run the tests that use these scripts. The first Feel free to suggest improvements to the documented testing procedure =20 (personally I want to add the NPTL tests in glibc, but hadn't time to =20 run them or write up how to run them). > two scripts check if the autofs is available, while the last one > checks if the requested filesystem is available. > > NOTE: the scripts do more than this check for the filesystem. If you intent to help improving the linuxulator, I can give you write =20 access to the linux page in the wiki. Just register there (current =20 naming scheme for logins: FirstnameLastname) and tell me about your =20 login. > It does uses a translation table, but I haven't been able to verify > all of the filesystem names against the names used on a linux system > (i.e cd9660 -> iso9660(?)). OK. Bye, Alexander. --=20 The item you had your eye on the minute you walked in will be taken by the person in front of you. http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID =3D B0063FE7 http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID =3D 72077137 From owner-freebsd-emulation@FreeBSD.ORG Fri Dec 15 15:48:29 2006 Return-Path: X-Original-To: freebsd-emulation@freebsd.org 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 C42E016A415 for ; Fri, 15 Dec 2006 15:48:29 +0000 (UTC) (envelope-from cropio@marant.org) Received: from bauking.de (121.Red-88-14-205.dynamicIP.rima-tde.net [88.14.205.121]) by mx1.FreeBSD.org (Postfix) with SMTP id B8E3343CB9 for ; Fri, 15 Dec 2006 15:46:46 +0000 (GMT) (envelope-from cropio@marant.org) Message-ID: <01c72060$7c3b5180$2101a8c0@morales> From: "Anupam Torgerson" To: "Laure Ingold" Date: Fri, 15 Dec 2006 16:48:37 +0100 MIME-Version: 1.0 Content-Type: multipart/related; type="multipart/alternative"; boundary="----=_NextPart_000_001F_01C72068.28CD0180" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2900.2962 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2962 X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: Re: expectatio X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Anupam Torgerson List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Dec 2006 15:48:29 -0000 This is a multi-part message in MIME format. ------=_NextPart_000_001F_01C72068.28CD0180 Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable might express it better. My degrees are in archeology and cultural Re: expectatio=20 Of course. As soon as your false credentials were filed the Our gold-clad greeter bowed to us, then led the way. Towards the brick Fascinated, we all leaned forward to look. Yes, there was the recess. the wrists, crossed my arms with a single spasmodic burst of effort flock coming up. walking around here. But before you answer that-who do you think the these dreadful compositions yet another time. He plugged in the cubes equally well as I slipped away between the interstices of society. We followed the flapping black nylon tail through the streets and ------=_NextPart_000_001F_01C72068.28CD0180-- From owner-freebsd-emulation@FreeBSD.ORG Fri Dec 15 17:37:18 2006 Return-Path: X-Original-To: freebsd-emulation@freebsd.org 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 2D8C316A4D1 for ; Fri, 15 Dec 2006 17:37:18 +0000 (UTC) (envelope-from xdivac02@stud.fit.vutbr.cz) Received: from eva.fit.vutbr.cz (eva.fit.vutbr.cz [147.229.176.14]) by mx1.FreeBSD.org (Postfix) with ESMTP id ADA3443CA5 for ; Fri, 15 Dec 2006 17:35:24 +0000 (GMT) (envelope-from xdivac02@stud.fit.vutbr.cz) Received: from eva.fit.vutbr.cz (localhost [127.0.0.1]) by eva.fit.vutbr.cz (envelope-from xdivac02@eva.fit.vutbr.cz) (8.13.8/8.13.7) with ESMTP id kBFHam5n087867 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 15 Dec 2006 18:36:48 +0100 (CET) Received: (from xdivac02@localhost) by eva.fit.vutbr.cz (8.13.8/8.13.3/Submit) id kBFHaj4j087854; Fri, 15 Dec 2006 18:36:45 +0100 (CET) Date: Fri, 15 Dec 2006 18:36:45 +0100 From: Divacky Roman To: Alexander Leidinger Message-ID: <20061215173644.GA87389@stud.fit.vutbr.cz> References: <20061215040136.GA2466@triptrop.wlan.in.nicta.com.au> <20061215111523.bh59htm680ok4gk8@webmail.leidinger.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20061215111523.bh59htm680ok4gk8@webmail.leidinger.net> User-Agent: Mutt/1.4.2.2i X-Scanned-By: MIMEDefang 2.57 on 147.229.176.14 Cc: freebsd-emulation@freebsd.org, Timothy Bourke Subject: Re: X11 through nullfs under chroot 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: Fri, 15 Dec 2006 17:37:18 -0000 On Fri, Dec 15, 2006 at 11:15:23AM +0100, Alexander Leidinger wrote: > Quoting Timothy Bourke (from Fri, 15 Dec 2006 > 15:01:36 +1100): > > >I would like to run chroot-ed gentoo-stage3 X client applications on my > >host X server through a Unix domain socket. > > > >It does work: > > * through a tcp socket > > * using a hardlink to /tmp/.X11-unix/X0 > > > >But it does not work via: > > mount -t nullfs /tmp /compat/linux/tmp > > This smells like a problem in nullfs regarding sockets (and maybe > other special files). I suggest to tell about this on the filesystem > mailinglist. Don't forget to tell them hich version of FreeBSD you are > using. there's a comment in compat/linux/linux_getcwd.c /* * XXX Untested vs. mount -o union; probably does the wrong thing. */ I guess it applies to nullfs too From owner-freebsd-emulation@FreeBSD.ORG Sat Dec 16 16:01:20 2006 Return-Path: X-Original-To: freebsd-emulation@freebsd.org 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 99B1716A407 for ; Sat, 16 Dec 2006 16:01:20 +0000 (UTC) (envelope-from alexander@leidinger.net) Received: from redbull.bpaserver.net (redbullneu.bpaserver.net [213.198.78.217]) by mx1.FreeBSD.org (Postfix) with ESMTP id 717C143C9E for ; Sat, 16 Dec 2006 16:01:19 +0000 (GMT) (envelope-from alexander@leidinger.net) Received: from outgoing.leidinger.net (p54A5F016.dip.t-dialin.net [84.165.240.22]) by redbull.bpaserver.net (Postfix) with ESMTP id 447412E190; Sat, 16 Dec 2006 17:01:12 +0100 (CET) Received: from Magellan.Leidinger.net (Magellan.Leidinger.net [192.168.1.1]) by outgoing.leidinger.net (Postfix) with ESMTP id 856925B480D; Sat, 16 Dec 2006 17:01:09 +0100 (CET) Date: Sat, 16 Dec 2006 17:01:09 +0100 From: Alexander Leidinger To: Divacky Roman Message-ID: <20061216170109.6bf0da68@Magellan.Leidinger.net> In-Reply-To: <20061215173644.GA87389@stud.fit.vutbr.cz> References: <20061215040136.GA2466@triptrop.wlan.in.nicta.com.au> <20061215111523.bh59htm680ok4gk8@webmail.leidinger.net> <20061215173644.GA87389@stud.fit.vutbr.cz> X-Mailer: Claws Mail 2.6.1 (GTK+ 2.10.6; i386-portbld-freebsd7.0) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-BPAnet-MailScanner-Information: Please contact the ISP for more information X-BPAnet-MailScanner: Found to be clean X-BPAnet-MailScanner-SpamCheck: not spam, SpamAssassin (not cached, score=-14.864, required 6, autolearn=not spam, BAYES_00 -15.00, DK_POLICY_SIGNSOME 0.00, FORGED_RCVD_HELO 0.14) X-BPAnet-MailScanner-From: alexander@leidinger.net X-Spam-Status: No Cc: freebsd-emulation@freebsd.org, Timothy Bourke Subject: Re: X11 through nullfs under chroot 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, 16 Dec 2006 16:01:20 -0000 Quoting Divacky Roman (Fri, 15 Dec 2006 18:36:45 +0100): > On Fri, Dec 15, 2006 at 11:15:23AM +0100, Alexander Leidinger wrote: > > Quoting Timothy Bourke (from Fri, 15 Dec 2006 > > 15:01:36 +1100): > > > > >I would like to run chroot-ed gentoo-stage3 X client applications on my > > >host X server through a Unix domain socket. > > > > > >It does work: > > > * through a tcp socket > > > * using a hardlink to /tmp/.X11-unix/X0 > > > > > >But it does not work via: > > > mount -t nullfs /tmp /compat/linux/tmp > > > > This smells like a problem in nullfs regarding sockets (and maybe > > other special files). I suggest to tell about this on the filesystem > > mailinglist. Don't forget to tell them hich version of FreeBSD you are > > using. > > there's a comment in compat/linux/linux_getcwd.c > > /* > * XXX Untested vs. mount -o union; probably does the wrong thing. > */ > > I guess it applies to nullfs too I did test this with mysql now. You can not connect to a socket when mounted via nullfs, using a hardlink instead works as expected (tested with 2 jails). Bye, Alexander. -- Hmmm ... A hash-singer and a cross-eyed guy were SLEEPING on a deserted island, when ... http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID = B0063FE7 http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID = 72077137 From owner-freebsd-emulation@FreeBSD.ORG Sat Dec 16 17:06:23 2006 Return-Path: X-Original-To: freebsd-emulation@freebsd.org 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 066B916A412 for ; Sat, 16 Dec 2006 17:06:23 +0000 (UTC) (envelope-from alexander@leidinger.net) Received: from redbull.bpaserver.net (redbullneu.bpaserver.net [213.198.78.217]) by mx1.FreeBSD.org (Postfix) with ESMTP id 368E743C9D for ; Sat, 16 Dec 2006 17:06:21 +0000 (GMT) (envelope-from alexander@leidinger.net) Received: from outgoing.leidinger.net (p54A5F016.dip.t-dialin.net [84.165.240.22]) by redbull.bpaserver.net (Postfix) with ESMTP id 630C62E191; Sat, 16 Dec 2006 18:06:14 +0100 (CET) Received: from Magellan.Leidinger.net (Magellan.Leidinger.net [192.168.1.1]) by outgoing.leidinger.net (Postfix) with ESMTP id AB9725B480D; Sat, 16 Dec 2006 18:06:11 +0100 (CET) Date: Sat, 16 Dec 2006 18:06:11 +0100 From: Alexander Leidinger To: Divacky Roman Message-ID: <20061216180611.505bef96@Magellan.Leidinger.net> In-Reply-To: <20061216170109.6bf0da68@Magellan.Leidinger.net> References: <20061215040136.GA2466@triptrop.wlan.in.nicta.com.au> <20061215111523.bh59htm680ok4gk8@webmail.leidinger.net> <20061215173644.GA87389@stud.fit.vutbr.cz> <20061216170109.6bf0da68@Magellan.Leidinger.net> X-Mailer: Claws Mail 2.6.1 (GTK+ 2.10.6; i386-portbld-freebsd7.0) Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-BPAnet-MailScanner-Information: Please contact the ISP for more information X-BPAnet-MailScanner: Found to be clean X-BPAnet-MailScanner-SpamCheck: not spam, SpamAssassin (not cached, score=-14.864, required 6, autolearn=not spam, BAYES_00 -15.00, DK_POLICY_SIGNSOME 0.00, FORGED_RCVD_HELO 0.14) X-BPAnet-MailScanner-From: alexander@leidinger.net X-Spam-Status: No Cc: freebsd-emulation@freebsd.org, Timothy Bourke Subject: Re: X11 through nullfs under chroot 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, 16 Dec 2006 17:06:23 -0000 Quoting Alexander Leidinger (Sat, 16 Dec 2006 17:= 01:09 +0100): > I did test this with mysql now. You can not connect to a socket when > mounted via nullfs, using a hardlink instead works as expected (tested > with 2 jails). Ooops... forgot to say: no linuxolator involved. So it is a bug in nullfs in the first place, and if this works at some point in time, we can have a look if the linuxolator works too. Timothy: For now do a hardlink if possible. Bye, Alexander. --=20 753: Nur der Inhalt z=C3=A4hlt! Ich war zu bl=C3=B6d, meinen HTML-Editor richtig zu bedienen. http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID =3D B0063FE7 http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID =3D 72077137