From owner-freebsd-mips@FreeBSD.ORG Mon Jul 5 11:06:58 2010 Return-Path: Delivered-To: freebsd-mips@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CF1A8106570E for ; Mon, 5 Jul 2010 11:06:58 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id A484B8FC22 for ; Mon, 5 Jul 2010 11:06:58 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id o65B6w58079256 for ; Mon, 5 Jul 2010 11:06:58 GMT (envelope-from owner-bugmaster@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o65B6wLf079254 for freebsd-mips@FreeBSD.org; Mon, 5 Jul 2010 11:06:58 GMT (envelope-from owner-bugmaster@FreeBSD.org) Date: Mon, 5 Jul 2010 11:06:58 GMT Message-Id: <201007051106.o65B6wLf079254@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: gnats set sender to owner-bugmaster@FreeBSD.org using -f From: FreeBSD bugmaster To: freebsd-mips@FreeBSD.org Cc: Subject: Current problem reports assigned to freebsd-mips@FreeBSD.org X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jul 2010 11:06:58 -0000 Note: to view an individual PR, use: http://www.freebsd.org/cgi/query-pr.cgi?pr=(number). The following is a listing of current problems submitted by FreeBSD users. These represent problem reports covering all versions including experimental development code and obsolete releases. S Tracker Resp. Description -------------------------------------------------------------------------------- o misc/147471 mips [includes] [patch] whitespace discrepancy in sys/mips/ 1 problem total. From owner-freebsd-mips@FreeBSD.ORG Wed Jul 7 17:20:34 2010 Return-Path: Delivered-To: freebsd-mips@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8E991106564A; Wed, 7 Jul 2010 17:20:34 +0000 (UTC) (envelope-from c.jayachandran@gmail.com) Received: from mail-vw0-f54.google.com (mail-vw0-f54.google.com [209.85.212.54]) by mx1.freebsd.org (Postfix) with ESMTP id E9E848FC18; Wed, 7 Jul 2010 17:20:33 +0000 (UTC) Received: by vws6 with SMTP id 6so9933545vws.13 for ; Wed, 07 Jul 2010 10:20:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:content-type; bh=7M9otWfCSeyi5ePQubstCXFrk6d3nmQSIX0Wd1D5Uzw=; b=rQHM2KyfpnsFevTqIiQolGgrYdu5k4W0kuEK1i44AnyUnKrzpUZZ5ExntuPitkBE2G AkRDet/DADjdrCrqOs79UjL5TcUER8XQsBOU1MPvT8ehuRqjSiHHKOtdkV8P0uE1yiPZ NLxiBYlE1MXsByza1DV+b2n7mE+6zqUrSVzMc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=A+T0Tps3gLyP6aTlbmmB6WXj3L0/EDnSTKKaoJ0eGCsoqOHJYx20zjeaKlTM5hvx4q VMxICoY8O84Jel2e5cFerYBtLiJlm5SeLbSkIN14DBLvvFhe//Wo9K8ongywdRK2GSXe VWGKgKeHn4eryYU8PDtOo5eG7v3SDP7Of2eY0= MIME-Version: 1.0 Received: by 10.220.59.202 with SMTP id m10mr3558188vch.163.1278523224952; Wed, 07 Jul 2010 10:20:24 -0700 (PDT) Received: by 10.220.194.4 with HTTP; Wed, 7 Jul 2010 10:20:24 -0700 (PDT) Date: Wed, 7 Jul 2010 22:50:24 +0530 Message-ID: From: "Jayachandran C." To: Randall Stewart , Juli Mallett , "M. Warner Losh" , freebsd-mips@freebsd.org Content-Type: multipart/mixed; boundary=e0cb4e887827a90f16048acf6235 Cc: Subject: Merging 64 bit changes to -HEAD - part 4 X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jul 2010 17:20:34 -0000 --e0cb4e887827a90f16048acf6235 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Tue, Jun 15, 2010 at 7:06 PM, Jayachandran C. wrote: > I have volunteered to merge Juli's 64-bit work into HEAD, =A0and > hopefully get it to work on XLR too. The tree > (http://svn.freebsd.org/base/user/jmallett/octeon) has quite a bit of > changes, so I would like to do this over multiple changesets and > without breaking the current o32 code. Here's the next installment, this has the next set of Juli's changes and some fixes to get it working on XLR. The patches in this set are: mips-segtab-macro.patch : Change PDE/PTE access to a macro (from Juli's branch) mips-cache-fix.patch : Minor fix for cache code (JC) rmi-other.patch: 64 bit compilation fixes for sys/mips/rmi (JC) Fixes to platform and driver code for 64 bit compilation, including changes to ethernet driver. mips-rmi-kx-enable.patch: Changes to enable KX bit for TARGET_XLR_XLS (JC). I have added another case for the TARGET_OCTEON #ifdef in exception.S and locore.S, but I think this can be moved to a header file later. pmap-n64.patch The main n64 patch (from Juli's branch) This still uses the old 2-level page tables. But this adds other pmap code to support n64. I have re-arranged some of Juli's code to reduce #ifdefs. runq-64.patch 64-bit rqb_word_t for n64 (JC) ldscript-64.patch 64 bit linker script (JC) linker script for 64 bit compilation, and XLR configuration file. With these changes, a n64 kernel can be compiled and it will to 'mountroot>' on XLR. There is more code left to merge in Juli's branch - 32 bit compat code, sfbuf/uio, UMA alloc, and DDB. which I should be able to get in the next one or two passes. Let me know your comments. There are only two minor changes should affect the existing o32 code paths in the above code (moving the check for >512M, and change in pmap_map to handle KSEG0 addresses), but let me know if something breaks. Thanks, JC. --e0cb4e887827a90f16048acf6235 Content-Type: text/x-patch; charset=US-ASCII; name="mips-segtab-macro.patch" Content-Disposition: attachment; filename="mips-segtab-macro.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gbcfijm54 SW5kZXg6IHN5cy9taXBzL2luY2x1ZGUvcHRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3lzL21pcHMvaW5j bHVkZS9wdGUuaAkocmV2aXNpb24gMjA5NjQ1KQorKysgc3lzL21pcHMvaW5jbHVkZS9wdGUuaAko d29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksMTIgQEAKICNpZm5kZWYJX01BQ0hJTkVfUFRFX0hf CiAjZGVmaW5lCV9NQUNISU5FX1BURV9IXwogCisjaWZuZGVmIF9MT0NPUkUKKy8qIHB0X2VudHJ5 X3QgaXMgMzIgYml0IGZvciBub3csIGhhcyB0byBiZSBtYWRlIDY0IGJpdCBmb3IgbjY0ICovCit0 eXBlZGVmCXVpbnQzMl90IHB0X2VudHJ5X3Q7Cit0eXBlZGVmCXB0X2VudHJ5X3QgKnBkX2VudHJ5 X3Q7CisjZW5kaWYKKwogLyoKICAqIFRMQiBhbmQgUFRFIG1hbmFnZW1lbnQuICBNb3N0IHRoaW5n cyBvcGVyYXRlIHdpdGhpbiB0aGUgY29udGV4dCBvZgogICogRW50cnlMbzAsMSwgYW5kIGJlZ2lu IHdpdGggVExCTE9fLiAgVGhpbmdzIHdoaWNoIHdvcmsgd2l0aCBFbnRyeUhpCkBAIC02NSwyNSAr NzEsMjAgQEAKICNkZWZpbmUJVExCTE9fUFRFX1RPX1BBKHB0ZSkJKFRMQkxPX1BGTl9UT19QQShU TEJMT19QVEVfVE9fUEZOKChwdGUpKSkpCiAKIC8qCisgKiBYWFggVGhpcyBjb21tZW50IGlzIG5v dCBjb3JyZWN0IGZvciBhbnl0aGluZyBtb3JlIG1vZGVybiB0aGFuIFI0Sy4KKyAqCiAgKiBWUE4g Zm9yIEVudHJ5SGkgcmVnaXN0ZXIuICBVcHBlciB0d28gYml0cyBzZWxlY3QgdXNlciwgc3VwZXJ2 aXNvciwKICAqIG9yIGtlcm5lbC4gIEJpdHMgNjEgdG8gNDAgY29weSBiaXQgNjMuICBWUE4yIGlz IGJpdHMgMzkgYW5kIGRvd24gdG8KICAqIGFzIGxvdyBhcyAxMywgZG93biB0byBQQUdFX1NISUZU LCB0byBpbmRleCAyIFRMQiBwYWdlcyouICBGcm9tIGJpdCAxMgogICogdG8gYml0IDggdGhlcmUg aXMgYSA1LWJpdCAwIGZpZWxkLiAgTG93IGJ5dGUgaXMgQVNJRC4KICAqCisgKiBYWFggVGhpcyBj b21tZW50IGlzIG5vdCBjb3JyZWN0IGZvciBGcmVlQlNELgogICogTm90ZSB0aGF0IGluIEZyZWVC U0QsIHdlIG1hcCAyIFRMQiBwYWdlcyBpcyBlcXVhbCB0byAxIFZNIHBhZ2UuCiAgKi8KICNkZWZp bmUJVExCSElfQVNJRF9NQVNLCQkoMHhmZikKICNkZWZpbmUJVExCSElfUEFHRV9NQVNLCQkoMiAq IFBBR0VfU0laRSAtIDEpCiAjZGVmaW5lCVRMQkhJX0VOVFJZKHZhLCBhc2lkKQkoKCh2YSkgJiB+ VExCSElfUEFHRV9NQVNLKSB8ICgoYXNpZCkgJiBUTEJISV9BU0lEX01BU0spKQogCi0jaWZuZGVm IF9MT0NPUkUKLXR5cGVkZWYJdWludDMyX3QgcHRfZW50cnlfdDsKLXR5cGVkZWYJcHRfZW50cnlf dCAqcGRfZW50cnlfdDsKLSNlbmRpZgotCi0jZGVmaW5lCVBERVNJWkUJCXNpemVvZihwZF9lbnRy eV90KQkvKiBmb3IgYXNzZW1ibHkgZmlsZXMgKi8KLSNkZWZpbmUJUFRFU0laRQkJc2l6ZW9mKHB0 X2VudHJ5X3QpCS8qIGZvciBhc3NlbWJseSBmaWxlcyAqLwotCiAvKgogICogVExCIGZsYWdzIG1h bmFnZWQgaW4gaGFyZHdhcmU6CiAgKiAJQzoJQ2FjaGUgYXR0cmlidXRlLgpJbmRleDogc3lzL21p cHMvaW5jbHVkZS9wbWFwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3lzL21pcHMvaW5jbHVkZS9wbWFwLmgJ KHJldmlzaW9uIDIwOTYzNSkKKysrIHN5cy9taXBzL2luY2x1ZGUvcG1hcC5oCSh3b3JraW5nIGNv cHkpCkBAIC01MCw3ICs1MCw2IEBACiAjaW5jbHVkZSA8bWFjaGluZS9wdGUuaD4KIAogI2RlZmlu ZQlOS1BUCQkxMjAJLyogYWN0dWFsIG51bWJlciBvZiBrZXJuZWwgcGFnZSB0YWJsZXMgKi8KLSNk ZWZpbmUJTlVTRVJQR1RCTFMJKFZNX01BWFVTRVJfQUREUkVTUyA+PiBTRUdTSElGVCkKIAogI2lm bmRlZiBMT0NPUkUKIApAQCAtOTcsNyArOTYsNiBAQAogI2lmZGVmCV9LRVJORUwKIAogcHRfZW50 cnlfdCAqcG1hcF9wdGUocG1hcF90LCB2bV9vZmZzZXRfdCk7Ci1wZF9lbnRyeV90IHBtYXBfc2Vn bWFwKHBtYXBfdCBwbWFwLCB2bV9vZmZzZXRfdCB2YSk7CiB2bV9vZmZzZXRfdCBwbWFwX2tleHRy YWN0KHZtX29mZnNldF90IHZhKTsKIAogI2RlZmluZQl2dG9waHlzKHZhKQlwbWFwX2tleHRyYWN0 KCgodm1fb2Zmc2V0X3QpICh2YSkpKQpJbmRleDogc3lzL21pcHMvbWlwcy9wbWFwLmMKPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0gc3lzL21pcHMvbWlwcy9wbWFwLmMJKHJldmlzaW9uIDIwOTYzNSkKKysrIHN5cy9t aXBzL21pcHMvcG1hcC5jCSh3b3JraW5nIGNvcHkpCkBAIC0xMTgsMTUgKzExOCwyNiBAQAogCiAv KgogICogR2V0IFBERXMgYW5kIFBURXMgZm9yIHVzZXIva2VybmVsIGFkZHJlc3Mgc3BhY2UKKyAq CisgKiBYWFggVGhlICYgZm9yIHBtYXBfc2Vnc2hpZnQoKSBpcyB3cm9uZywgYXMgaXMgdGhlIGZh Y3QgdGhhdCBpdCBkb2Vzbid0CisgKiAgICAgdHJpbSBvZmYgZ3JhdHVpdG91cyBiaXRzIG9mIHRo ZSBhZGRyZXNzIHNwYWNlLiAgQnkgaGF2aW5nIHRoZSAmCisgKiAgICAgdGhlcmUsIHdlIGJyZWFr IGRlZmluaW5nIE5VU0VSUEdUQkxTIGJlbG93IGJlY2F1c2UgdGhlIGFkZHJlc3Mgc3BhY2UKKyAq ICAgICBpcyBkZWZpbmVkIHN1Y2ggdGhhdCBpdCBlbmRzIGltbWVkaWF0ZWx5IGFmdGVyIE5QREVQ RypOUFRFUEcqUEFHRV9TSVpFLAorICogICAgIHNvIHdlIGVuZCB1cCBnZXR0aW5nIE5VU0VSUEdU QkxTIG9mIDAuCiAgKi8KLSNkZWZpbmUJcG1hcF9wZGUobSwgdikJCSgmKChtKS0+cG1fc2VndGFi Wyh2bV9vZmZzZXRfdCkodikgPj4gU0VHU0hJRlRdKSkKLSNkZWZpbmUJc2VndGFiX3BkZShtLCB2 KQkobVsodm1fb2Zmc2V0X3QpKHYpID4+IFNFR1NISUZUXSkKKyNkZWZpbmUJcG1hcF9zZWdzaGlm dCh2KQkoKCh2KSA+PiBTRUdTSElGVCkgJiAoTlBERVBHIC0gMSkpCisjZGVmaW5lCXNlZ3RhYl9w ZGUobSwgdikJKChtKVtwbWFwX3NlZ3NoaWZ0KCh2KSldKQogCi0jZGVmaW5lCU1JUFNfU0VHU0la RQkJKDFMIDw8IFNFR1NISUZUKQotI2RlZmluZQltaXBzX3NlZ3RydW5jKHZhKQkoKHZhKSAmIH4o TUlQU19TRUdTSVpFLTEpKQorI2RlZmluZQlOVVNFUlBHVEJMUwkJKHBtYXBfc2Vnc2hpZnQoVk1f TUFYVVNFUl9BRERSRVNTKSkKKyNkZWZpbmUJbWlwc19zZWd0cnVuYyh2YSkJKCh2YSkgJiB+U0VH T0ZTRVQpCiAjZGVmaW5lCWlzX2tlcm5lbF9wbWFwKHgpCSgoeCkgPT0ga2VybmVsX3BtYXApCi0j ZGVmaW5lCXZhZF90b19wdGVfb2Zmc2V0KGFkcikJKCgoYWRyKSA+PiBQQUdFX1NISUZUKSAmIChO UFRFUEcgLTEpKQogCisvKgorICogR2l2ZW4gYSB2aXJ0dWFsIGFkZHJlc3MsIGdldCB0aGUgb2Zm c2V0IG9mIGl0cyBQVEUgd2l0aGluIGl0cyBwYWdlCisgKiBkaXJlY3RvcnkgcGFnZS4KKyAqLwor I2RlZmluZQlQREVfT0ZGU0VUKHZhKQkoKCh2bV9vZmZzZXRfdCkodmEpID4+IFBBR0VfU0hJRlQp ICYgKE5QVEVQRyAtIDEpKQorCiBzdHJ1Y3QgcG1hcCBrZXJuZWxfcG1hcF9zdG9yZTsKIHBkX2Vu dHJ5X3QgKmtlcm5lbF9zZWdtYXA7CiAKQEAgLTE1NSw4ICsxNjYsNiBAQAogc3RhdGljIHZvaWQg cG1hcF9wdmhfZnJlZShzdHJ1Y3QgbWRfcGFnZSAqcHZoLCBwbWFwX3QgcG1hcCwgdm1fb2Zmc2V0 X3QgdmEpOwogc3RhdGljIHB2X2VudHJ5X3QgcG1hcF9wdmhfcmVtb3ZlKHN0cnVjdCBtZF9wYWdl ICpwdmgsIHBtYXBfdCBwbWFwLAogICAgIHZtX29mZnNldF90IHZhKTsKLXN0YXRpYyBfX2lubGlu ZSB2b2lkIHBtYXBfY2hhbmdlYml0KHZtX3BhZ2VfdCBtLCBpbnQgYml0LCBib29sZWFuX3Qgc2V0 ZW0pOwotCiBzdGF0aWMgdm1fcGFnZV90IHBtYXBfZW50ZXJfcXVpY2tfbG9ja2VkKHBtYXBfdCBw bWFwLCB2bV9vZmZzZXRfdCB2YSwKICAgICB2bV9wYWdlX3QgbSwgdm1fcHJvdF90IHByb3QsIHZt X3BhZ2VfdCBtcHRlKTsKIHN0YXRpYyBpbnQgcG1hcF9yZW1vdmVfcHRlKHN0cnVjdCBwbWFwICpw bWFwLCBwdF9lbnRyeV90ICpwdHEsIHZtX29mZnNldF90IHZhKTsKQEAgLTI0NiwxMyArMjU1LDEz IEBACiAJc3lzbS0+dmFsaWQyID0gMDsJCQkJCQlcCiAJaW50cl9yZXN0b3JlKGludHIpCiAKLXBk X2VudHJ5X3QKK3N0YXRpYyBpbmxpbmUgcHRfZW50cnlfdCAqCiBwbWFwX3NlZ21hcChwbWFwX3Qg cG1hcCwgdm1fb2Zmc2V0X3QgdmEpCiB7Ci0JaWYgKHBtYXAtPnBtX3NlZ3RhYikKLQkJcmV0dXJu IChwbWFwLT5wbV9zZWd0YWJbKCh2bV9vZmZzZXRfdCkodmEpID4+IFNFR1NISUZUKV0pOworCWlm IChwbWFwLT5wbV9zZWd0YWIgIT0gTlVMTCkKKwkJcmV0dXJuIChzZWd0YWJfcGRlKHBtYXAtPnBt X3NlZ3RhYiwgdmEpKTsKIAllbHNlCi0JCXJldHVybiAoKHBkX2VudHJ5X3QpMCk7CisJCXJldHVy biAoTlVMTCk7CiB9CiAKIC8qCkBAIC0yNjcsOSArMjc2LDkgQEAKIAlwdF9lbnRyeV90ICpwZGVh ZGRyOwogCiAJaWYgKHBtYXApIHsKLQkJcGRlYWRkciA9IChwdF9lbnRyeV90ICopcG1hcF9zZWdt YXAocG1hcCwgdmEpOworCQlwZGVhZGRyID0gcG1hcF9zZWdtYXAocG1hcCwgdmEpOwogCQlpZiAo cGRlYWRkcikgewotCQkJcmV0dXJuIHBkZWFkZHIgKyB2YWRfdG9fcHRlX29mZnNldCh2YSk7CisJ CQlyZXR1cm4gcGRlYWRkciArIFBERV9PRkZTRVQodmEpOwogCQl9CiAJfQogCXJldHVybiAoKHB0 X2VudHJ5X3QgKikwKTsKQEAgLTg3OCwxMiArODg3LDEyIEBACiAJCXJldHVybiAoMCk7CiAKIAlp ZiAobXB0ZSA9PSBOVUxMKSB7Ci0JCXB0ZXBpbmRleCA9ICh2YSA+PiBTRUdTSElGVCk7CisJCXB0 ZXBpbmRleCA9IHBtYXBfc2Vnc2hpZnQodmEpOwogCQlpZiAocG1hcC0+cG1fcHRwaGludCAmJgog CQkgICAgKHBtYXAtPnBtX3B0cGhpbnQtPnBpbmRleCA9PSBwdGVwaW5kZXgpKSB7CiAJCQltcHRl ID0gcG1hcC0+cG1fcHRwaGludDsKIAkJfSBlbHNlIHsKLQkJCXB0ZXZhID0gKnBtYXBfcGRlKHBt YXAsIHZhKTsKKwkJCXB0ZXZhID0gcG1hcF9zZWdtYXAocG1hcCwgdmEpOwogCQkJbXB0ZSA9IFBI WVNfVE9fVk1fUEFHRShNSVBTX0tTRUcwX1RPX1BIWVMocHRldmEpKTsKIAkJCXBtYXAtPnBtX3B0 cGhpbnQgPSBtcHRlOwogCQl9CkBAIC0xMDgyLDcgKzEwOTEsNyBAQAogCS8qCiAJICogQ2FsY3Vs YXRlIHBhZ2V0YWJsZSBwYWdlIGluZGV4CiAJICovCi0JcHRlcGluZGV4ID0gdmEgPj4gU0VHU0hJ RlQ7CisJcHRlcGluZGV4ID0gcG1hcF9zZWdzaGlmdCh2YSk7CiByZXRyeToKIAkvKgogCSAqIEdl dCB0aGUgcGFnZSBkaXJlY3RvcnkgZW50cnkKQEAgLTEyMDUsNyArMTIxNCw3IEBACiAKIAkJbmtw dCsrOwogCQlwdGUgPSAocHRfZW50cnlfdCAqKXBhZ2V2YTsKLQkJc2VndGFiX3BkZShrZXJuZWxf c2VnbWFwLCBrZXJuZWxfdm1fZW5kKSA9IChwZF9lbnRyeV90KXB0ZTsKKwkJc2VndGFiX3BkZShr ZXJuZWxfc2VnbWFwLCBrZXJuZWxfdm1fZW5kKSA9IHB0ZTsKIAogCQkvKgogCQkgKiBUaGUgUls0 LTddPzAwIHN0b3JlcyBvbmx5IG9uZSBjb3B5IG9mIHRoZSBHbG9iYWwgYml0IGluCkBAIC0xNTI5 LDggKzE1MzgsOCBAQAogCQlnb3RvIG91dDsKIAl9CiAJZm9yICh2YSA9IHN2YTsgdmEgPCBldmE7 IHZhID0gbnZhKSB7Ci0JCWlmICghKnBtYXBfcGRlKHBtYXAsIHZhKSkgewotCQkJbnZhID0gbWlw c19zZWd0cnVuYyh2YSArIE1JUFNfU0VHU0laRSk7CisJCWlmIChwbWFwX3NlZ21hcChwbWFwLCB2 YSkgPT0gTlVMTCkgeworCQkJbnZhID0gbWlwc19zZWd0cnVuYyh2YSArIE5CU0VHKTsKIAkJCWNv bnRpbnVlOwogCQl9CiAJCXBtYXBfcmVtb3ZlX3BhZ2UocG1hcCwgdmEpOwpAQCAtMTY0Niw4ICsx NjU1LDggQEAKIAkJLyoKIAkJICogSWYgc2VnbWVudCB0YWJsZSBlbnRyeSBpcyBlbXB0eSwgc2tp cCB0aGlzIHNlZ21lbnQuCiAJCSAqLwotCQlpZiAoISpwbWFwX3BkZShwbWFwLCBzdmEpKSB7Ci0J CQlzdmEgPSBtaXBzX3NlZ3RydW5jKHN2YSArIE1JUFNfU0VHU0laRSk7CisJCWlmIChwbWFwX3Nl Z21hcChwbWFwLCBzdmEpID09IE5VTEwpIHsKKwkJCXN2YSA9IG1pcHNfc2VndHJ1bmMoc3ZhICsg TkJTRUcpOwogCQkJY29udGludWU7CiAJCX0KIAkJLyoKQEAgLTE5MzQsNyArMTk0Myw3IEBACiAJ CS8qCiAJCSAqIENhbGN1bGF0ZSBwYWdldGFibGUgcGFnZSBpbmRleAogCQkgKi8KLQkJcHRlcGlu ZGV4ID0gdmEgPj4gU0VHU0hJRlQ7CisJCXB0ZXBpbmRleCA9IHBtYXBfc2Vnc2hpZnQodmEpOwog CQlpZiAobXB0ZSAmJiAobXB0ZS0+cGluZGV4ID09IHB0ZXBpbmRleCkpIHsKIAkJCW1wdGUtPndp cmVfY291bnQrKzsKIAkJfSBlbHNlIHsKQEAgLTI2MTksNyArMjYyOCw3IEBACiAKIAlydiA9IEZB TFNFOwogCVBNQVBfTE9DSyhwbWFwKTsKLQlpZiAoKnBtYXBfcGRlKHBtYXAsIGFkZHIpKSB7CisJ aWYgKHBtYXBfc2VnbWFwKHBtYXAsIGFkZHIpICE9IE5VTEwpIHsKIAkJcHRlID0gcG1hcF9wdGUo cG1hcCwgYWRkcik7CiAJCXJ2ID0gKCpwdGUgPT0gMCk7CiAJfQo= --e0cb4e887827a90f16048acf6235 Content-Type: text/x-patch; charset=US-ASCII; name="mips-cache-fix.patch" Content-Disposition: attachment; filename="mips-cache-fix.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gbcfil6l5 SW5kZXg6IHN5cy9taXBzL21pcHMvY2FjaGVfbWlwc05OLmMKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3lzL21p cHMvbWlwcy9jYWNoZV9taXBzTk4uYwkocmV2aXNpb24gMjA5NTIxKQorKysgc3lzL21pcHMvbWlw cy9jYWNoZV9taXBzTk4uYwkod29ya2luZyBjb3B5KQpAQCAtNDA0LDcgKzQwNCw3IEBACiB2b2lk CiBtaXBzTk5fcGRjYWNoZV93Ymludl9yYW5nZV9pbmRleF8xNih2bV9vZmZzZXRfdCB2YSwgdm1f c2l6ZV90IHNpemUpCiB7Ci0JdW5zaWduZWQgaW50IGV2YSwgdG1wdmE7CisJdm1fb2Zmc2V0X3Qg ZXZhLCB0bXB2YTsKIAlpbnQgaSwgc3RyaWRlLCBsb29wY291bnQ7CiAKIAkvKgpAQCAtNDQ1LDcg KzQ0NSw3IEBACiB2b2lkCiBtaXBzTk5fcGRjYWNoZV93Ymludl9yYW5nZV9pbmRleF8zMih2bV9v ZmZzZXRfdCB2YSwgdm1fc2l6ZV90IHNpemUpCiB7Ci0JdW5zaWduZWQgaW50IGV2YSwgdG1wdmE7 CisJdm1fb2Zmc2V0X3QgZXZhLCB0bXB2YTsKIAlpbnQgaSwgc3RyaWRlLCBsb29wY291bnQ7CiAK IAkvKgo= --e0cb4e887827a90f16048acf6235 Content-Type: text/x-patch; charset=US-ASCII; name="rmi-other.patch" Content-Disposition: attachment; filename="rmi-other.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gbcfily46 SW5kZXg6IHN5cy9taXBzL3JtaS94bHJfcGNpLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3lzL21pcHMvcm1p L3hscl9wY2kuYwkocmV2aXNpb24gMjA5NzU2KQorKysgc3lzL21pcHMvcm1pL3hscl9wY2kuYwko d29ya2luZyBjb3B5KQpAQCAtMjIzLDcgKzIyMyw3IEBACiBwY2lfY2ZnX3JlYWRfMzJiaXQodWlu dDMyX3QgYWRkcikKIHsKIAl1aW50MzJfdCB0ZW1wID0gMDsKLQl1aW50MzJfdCAqcCA9ICh1aW50 MzJfdCAqKSAoKHVpbnQzMl90KSB4bHJfcGNpX2NvbmZpZ19iYXNlICsgKGFkZHIgJiB+MykpOwor CXVpbnQzMl90ICpwID0gKHVpbnQzMl90ICopeGxyX3BjaV9jb25maWdfYmFzZSArIGFkZHIgLyBz aXplb2YodWludDMyX3QpOwogCXVpbnQ2NF90IGNlcnJfY3B1X2xvZyA9IDA7CiAKIAlkaXNhYmxl X2FuZF9jbGVhcl9jYWNoZV9lcnJvcigpOwpAQCAtMjg1LDcgKzI4NSw3IEBACiAJCWRhdGEgPSB2 YWw7CiAJfQogCi0JcCA9ICh1aW50MzJfdCAqKSgodWludDMyX3QpIHhscl9wY2lfY29uZmlnX2Jh c2UgKyAoY2ZnYWRkciAmIH4zKSk7CisJcCA9ICh1aW50MzJfdCAqKXhscl9wY2lfY29uZmlnX2Jh c2UgKyBjZmdhZGRyIC8gc2l6ZW9mKHVpbnQzMl90KTsKIAkqcCA9IGJzd2FwMzIoZGF0YSk7CiAK IAlyZXR1cm47CkBAIC00MTAsNyArNDEwLDcgQEAKIHN0YXRpYyB2b2lkCiBicmlkZ2VfcGNpZV9h Y2sodm9pZCAqYXJnKQogewotCWludCBpcnEgPSAoaW50KWFyZzsKKwlpbnQgaXJxID0gKGludHB0 cl90KWFyZzsKIAl1aW50MzJfdCByZWc7CiAJeGxyX3JlZ190ICpwY2llX21taW9fbGUgPSB4bHJf aW9fbW1pbyhYTFJfSU9fUENJRV8xX09GRlNFVCk7CiAKSW5kZXg6IHN5cy9taXBzL3JtaS9pb2Rp LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0gc3lzL21pcHMvcm1pL2lvZGkuYwkocmV2aXNpb24gMjA5NzU2KQor Kysgc3lzL21pcHMvcm1pL2lvZGkuYwkod29ya2luZyBjb3B5KQpAQCAtMTE1LDcgKzExNSw3IEBA CiAJCWludCBpcnE7CiAKIAkJLyogVGhpcyBpcyBhIGhhY2sgdG8gcGFzcyBpbiB0aGUgaXJxICov Ci0JCWlycSA9IChpbnQpaXJlcy0+X19yX2k7CisJCWlycSA9IChpbnRwdHJfdClpcmVzLT5fX3Jf aTsKIAkJaWYgKHJtaV9zcGluX211dGV4X3NhZmUpCiAJCQltdHhfbG9ja19zcGluKCZ4bHJfcGlj X2xvY2spOwogCQlyZWcgPSB4bHJfcmVhZF9yZWcobW1pbywgUElDX0lSVF8xX0JBU0UgKyBpcnEg LSBQSUNfSVJRX0JBU0UpOwpAQCAtMTc4LDEwICsxNzgsMTAgQEAKIAogCQlyZXMtPnJfYnVzdGFn ID0gdWFydF9idXNfc3BhY2VfbWVtOwogCX0gZWxzZSBpZiAoc3RyY21wKGRldmljZV9nZXRfbmFt ZShjaGlsZCksICJlaGNpIikgPT0gMCkgewotCQlyZXMtPnJfYnVzaGFuZGxlID0gMHhiZWYyNDAw MDsKKwkJcmVzLT5yX2J1c2hhbmRsZSA9IE1JUFNfUEhZU19UT19LU0VHMSgweDFlZjI0MDAwKTsK IAkJcmVzLT5yX2J1c3RhZyA9IHJtaV9wY2lfYnVzX3NwYWNlOwogCX0gZWxzZSBpZiAoc3RyY21w KGRldmljZV9nZXRfbmFtZShjaGlsZCksICJjZmkiKSA9PSAwKSB7Ci0JCXJlcy0+cl9idXNoYW5k bGUgPSAweGJjMDAwMDAwOworCQlyZXMtPnJfYnVzaGFuZGxlID0gTUlQU19QSFlTX1RPX0tTRUcx KDB4MWMwMDAwMDApOwogCQlyZXMtPnJfYnVzdGFnID0gMDsKIAl9CiAJLyogcmVzLT5yX3N0YXJ0 ID0gKnJpZDsgKi8KSW5kZXg6IHN5cy9taXBzL3JtaS9kZXYveGxyL3JnZS5jCj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tIHN5cy9taXBzL3JtaS9kZXYveGxyL3JnZS5jCShyZXZpc2lvbiAyMDk3NTYpCisrKyBzeXMv bWlwcy9ybWkvZGV2L3hsci9yZ2UuYwkod29ya2luZyBjb3B5KQpAQCAtNTgzLDE0ICs1ODMsMTQg QEAKIAlzdHJ1Y3QgbWJ1ZiAqbTsKIAogCXR4X2Rlc2MgPSAoc3RydWN0IHAyZF90eF9kZXNjICop TUlQU19QSFlTX1RPX0tTRUcwKG1zZy0+bXNnMCk7Ci0JY2hrX2FkZHIgPSAoc3RydWN0IHAyZF90 eF9kZXNjICopKHVpbnQzMl90KSAodHhfZGVzYy0+ZnJhZ1tYTFJfTUFYX1RYX0ZSQUdTXSAmIDB4 MDAwMDAwMDBmZmZmZmZmZik7CisJY2hrX2FkZHIgPSAoc3RydWN0IHAyZF90eF9kZXNjICopKGlu dHB0cl90KXR4X2Rlc2MtPmZyYWdbWExSX01BWF9UWF9GUkFHU107CiAJaWYgKHR4X2Rlc2MgIT0g Y2hrX2FkZHIpIHsKIAkJcHJpbnRmKCJBZGRyZXNzICVwIGRvZXMgbm90IG1hdGNoIHdpdGggc3Rv cmVkIGFkZHIgJXAgLSB3ZSBsZWFrZWQgYSBkZXNjcmlwdG9yXG4iLAogCQkgICAgdHhfZGVzYywg Y2hrX2FkZHIpOwogCQlyZXR1cm47CiAJfQogCWlmIChyZWxfYnVmKSB7Ci0JCW0gPSAoc3RydWN0 IG1idWYgKikodWludDMyX3QpICh0eF9kZXNjLT5mcmFnW1hMUl9NQVhfVFhfRlJBR1MgKyAxXSAm IDB4MDAwMDAwMDBmZmZmZmZmZik7CisJCW0gPSAoc3RydWN0IG1idWYgKikoaW50cHRyX3QpdHhf ZGVzYy0+ZnJhZ1tYTFJfTUFYX1RYX0ZSQUdTICsgMV07CiAJCW1fZnJlZW0obSk7CiAJfQogCWZy ZWVfcDJkX2Rlc2ModHhfZGVzYyk7CkBAIC02MjYsNyArNjI2LDcgQEAKIAkJICAgICh1X2xvbmcp cGFkZHIsIG1hZyk7CiAJCXJldHVybjsKIAl9Ci0JbSA9IChzdHJ1Y3QgbWJ1ZiAqKXVtOworCW0g PSAoc3RydWN0IG1idWYgKikoaW50cHRyX3QpdW07CiAJaWYgKG0gIT0gTlVMTCkKIAkJbV9mcmVl bShtKTsKIH0KQEAgLTY0NCw5ICs2NDQsOSBAQAogCWlmIChtX25ldyA9PSBOVUxMKQogCQlyZXR1 cm4gTlVMTDsKIAotCW1fYWRqKG1fbmV3LCBYTFJfQ0FDSEVMSU5FX1NJWkUgLSAoKHVuc2lnbmVk IGludCltX25ldy0+bV9kYXRhICYgMHgxZikpOworCW1fYWRqKG1fbmV3LCBYTFJfQ0FDSEVMSU5F X1NJWkUgLSAoKHVpbnRwdHJfdCltX25ldy0+bV9kYXRhICYgMHgxZikpOwogCW1kID0gKHVuc2ln bmVkIGludCAqKW1fbmV3LT5tX2RhdGE7Ci0JbWRbMF0gPSAodW5zaWduZWQgaW50KW1fbmV3Owkv KiBCYWNrIFB0ciAqLworCW1kWzBdID0gKHVpbnRwdHJfdCltX25ldzsJLyogQmFjayBQdHIgKi8K IAltZFsxXSA9IDB4ZjAwYmFkOwogCW1fYWRqKG1fbmV3LCBYTFJfQ0FDSEVMSU5FX1NJWkUpOwog CkBAIC05OTYsNyArOTk2LDcgQEAKIAkJCWJ1Y2tldF9tYXAgfD0gKDFVTEwgPDwgYnVja2V0KTsK IAkJfQogCX0KLQlwcmludGYoInJtaV94bHJfY29uZmlnX3BkZTogYnVja2V0X21hcD0lbGx4XG4i LCBidWNrZXRfbWFwKTsKKwlwcmludGYoInJtaV94bHJfY29uZmlnX3BkZTogYnVja2V0X21hcD0l anhcbiIsICh1aW50bWF4X3QpYnVja2V0X21hcCk7CiAKIAkvKiBidWNrZXRfbWFwID0gMHgxOyAq LwogCXhscl93cml0ZV9yZWcocHJpdi0+bW1pbywgUl9QREVfQ0xBU1NfMCwgKGJ1Y2tldF9tYXAg JiAweGZmZmZmZmZmKSk7CkBAIC0xNDgwLDggKzE0ODAsOCBAQAogCQkJbXNncm5nX2FjY2Vzc19k aXNhYmxlKG1mbGFncyk7CiAJCQlyZWxlYXNlX3R4X2Rlc2MoJm1zZywgMCk7CiAJCQl4bHJfcmdl X21zZ19zbmRfZmFpbGVkW3ZjcHVdKys7Ci0JCQlkYmdfbXNnKCJGYWlsZWQgcGFja2V0IHRvIGNw dSAlZCwgcnYgPSAlZCwgc3RpZCAlZCwgbXNnMD0lbGx4XG4iLAotCQkJICAgIHZjcHUsIHJ2LCBz dGlkLCBtc2cubXNnMCk7CisJCQlkYmdfbXNnKCJGYWlsZWQgcGFja2V0IHRvIGNwdSAlZCwgcnYg PSAlZCwgc3RpZCAlZCwgbXNnMD0lanhcbiIsCisJCQkgICAgdmNwdSwgcnYsIHN0aWQsICh1aW50 bWF4X3QpbXNnLm1zZzApOwogCQkJcmV0dXJuIE1BQ19UWF9GQUlMOwogCQl9CiAJCW1zZ3JuZ19h Y2Nlc3NfZGlzYWJsZShtZmxhZ3MpOwpAQCAtMTQ4OSw3ICsxNDg5LDggQEAKIAl9CiAKIAkvKiBT ZW5kIHRoZSBwYWNrZXQgdG8gTUFDICovCi0JZGJnX21zZygiU2VudCB0eCBwYWNrZXQgdG8gc3Rp ZCAlZCwgbXNnMD0lbGx4LCBtc2cxPSVsbHggXG4iLCBzdGlkLCBtc2cubXNnMCwgbXNnLm1zZzEp OworCWRiZ19tc2coIlNlbnQgdHggcGFja2V0IHRvIHN0aWQgJWQsIG1zZzA9JWp4LCBtc2cxPSVq eCBcbiIsIHN0aWQsIAorCSAgICAodWludG1heF90KW1zZy5tc2cwLCAodWludG1heF90KW1zZy5t c2cxKTsKICNpZmRlZiBEVU1QX1BBQ0tFVFMKIAl7CiAJCWludCBpID0gMDsKQEAgLTE2MzgsOCAr MTYzOSw4IEBACiAJaW50IHZjcHUgPSB4bHJfY3B1X2lkKCk7CiAJaW50IGNwdSA9IHhscl9jb3Jl X2lkKCk7CiAKLQlkYmdfbXNnKCJtYWM6IGJ1Y2tldD0lZCwgc2l6ZT0lZCwgY29kZT0lZCwgc3Rp ZD0lZCwgbXNnMD0lbGx4IG1zZzE9JWxseFxuIiwKLQkgICAgYnVja2V0LCBzaXplLCBjb2RlLCBz dGlkLCBtc2ctPm1zZzAsIG1zZy0+bXNnMSk7CisJZGJnX21zZygibWFjOiBidWNrZXQ9JWQsIHNp emU9JWQsIGNvZGU9JWQsIHN0aWQ9JWQsIG1zZzA9JWp4IG1zZzE9JWp4XG4iLAorCSAgICBidWNr ZXQsIHNpemUsIGNvZGUsIHN0aWQsICh1aW50bWF4X3QpbXNnLT5tc2cwLCAodWludG1heF90KW1z Zy0+bXNnMSk7CiAKIAlwaHlzX2FkZHIgPSAodWludDY0X3QpIChtc2ctPm1zZzAgJiAweGZmZmZm ZmZmZTBVTEwpOwogCWxlbmd0aCA9IChtc2ctPm1zZzAgPj4gNDApICYgMHgzZmZmOwpAQCAtMTY3 MCw4ICsxNjcxLDggQEAKIAkJcmV0dXJuOwogCXByaXYgPSAmKHNjLT5wcml2KTsKIAotCWRiZ19t c2coIm1zZzAgPSAlbGx4LCBzdGlkID0gJWQsIHBvcnQgPSAlZCwgYWRkcj0lbHgsIGxlbmd0aD0l ZCwgY3RybD0lZFxuIiwKLQkgICAgbXNnLT5tc2cwLCBzdGlkLCBwb3J0LCBhZGRyLCBsZW5ndGgs IGN0cmwpOworCWRiZ19tc2coIm1zZzAgPSAlangsIHN0aWQgPSAlZCwgcG9ydCA9ICVkLCBhZGRy PSVseCwgbGVuZ3RoPSVkLCBjdHJsPSVkXG4iLAorCSAgICAodWludG1heF90KW1zZy0+bXNnMCwg c3RpZCwgcG9ydCwgYWRkciwgbGVuZ3RoLCBjdHJsKTsKIAogCWlmIChjdHJsID09IENUUkxfUkVH X0ZSRUUgfHwgY3RybCA9PSBDVFJMX0pVTUJPX0ZSRUUpIHsKIAkJeGxyX3JnZV90eF9va19kb25l W3ZjcHVdKys7CkBAIC0xNjk4LDggKzE2OTksOCBAQAogCQlpZiAoKHByaXYtPmZyaW5fdG9fYmVf c2VudFtjcHVdKSA+IE1BQ19GUklOX1RPX0JFX1NFTlRfVEhSRVNIT0xEKSB7CiAJCQltYWNfZnJp bl9yZXBsZW5pc2goTlVMTCk7CiAJCX0KLQkJZGJnX21zZygiZ21hY18lZDogcnggcGFja2V0OiBw aHlzX2FkZHIgPSAlbGx4LCBsZW5ndGggPSAleFxuIiwKLQkJICAgIHByaXYtPmluc3RhbmNlLCBw aHlzX2FkZHIsIGxlbmd0aCk7CisJCWRiZ19tc2coImdtYWNfJWQ6IHJ4IHBhY2tldDogcGh5c19h ZGRyID0gJWp4LCBsZW5ndGggPSAleFxuIiwKKwkJICAgIHByaXYtPmluc3RhbmNlLCAodWludG1h eF90KXBoeXNfYWRkciwgbGVuZ3RoKTsKIAkJbWFjX3N0YXRzX2FkZChwcml2LT5zdGF0cy5yeF9w YWNrZXRzLCAxKTsKIAkJbWFjX3N0YXRzX2FkZChwcml2LT5zdGF0cy5yeF9ieXRlcywgbGVuZ3Ro KTsKIAkJeGxyX2luY19jb3VudGVyKE5FVElGX1JYKTsKQEAgLTE4ODcsNyArMTg4OCw3IEBACiAJ ICogbm90ZSB0aGlzIGlzIGEgaGFjayB0byBwYXNzIHRoZSBpcnEgdG8gdGhlIGlvZGkgaW50ZXJy dXB0IHNldHVwCiAJICogcm91dGluZXMKIAkgKi8KLQlzYy0+cmdlX2lycS5fX3JfaSA9IChzdHJ1 Y3QgcmVzb3VyY2VfaSAqKXNjLT5pcnE7CisJc2MtPnJnZV9pcnEuX19yX2kgPSAoc3RydWN0IHJl c291cmNlX2kgKikoaW50cHRyX3Qpc2MtPmlycTsKIAogCXJldCA9IGJ1c19zZXR1cF9pbnRyKGRl diwgJnNjLT5yZ2VfaXJxLCBJTlRSX0ZBU1QgfCBJTlRSX1RZUEVfTkVUIHwgSU5UUl9NUFNBRkUs CiAJICAgIE5VTEwsIHJnZV9pbnRyLCBzYywgJnNjLT5yZ2VfaW50cmhhbmQpOwpAQCAtMjA0MCw3 ICsyMDQxLDcgQEAKIAltYWcgPSB4bHJfcGFkZHJfbHcocGFkZHIgLSBYTFJfQ0FDSEVMSU5FX1NJ WkUgKyBzaXplb2YodWludDMyX3QpKTsKIAltaXBzX3dyX3N0YXR1cyhzcik7CiAKLQltID0gKHN0 cnVjdCBtYnVmICopdG07CisJbSA9IChzdHJ1Y3QgbWJ1ZiAqKShpbnRwdHJfdCl0bTsKIAlpZiAo bWFnICE9IDB4ZjAwYmFkKSB7CiAJCS8qIHNvbWVib2R5IGVsc2UgcGFja2V0IEVycm9yIC0gRklY TUUgaW4gaW50aWFsaXphdGlvbiAqLwogCQlwcmludGYoImNwdSAlZDogKkVSUk9SKiBOb3QgbXkg cGFja2V0IHBhZGRyICVwXG4iLCB4bHJfY3B1X2lkKCksICh2b2lkICopcGFkZHIpOwpAQCAtMjQ1 Myw3ICsyNDU0LDcgQEAKIAkJcGFuaWMoIlVuYWJsZSB0byBhbGxvY2F0ZSBtZW1vcnkgZm9yIHNw aWxsIGFyZWEhXG4iKTsKIAl9CiAJcGh5c19hZGRyID0gdnRvcGh5cyhzcGlsbCk7Ci0JZGJnX21z ZygiQWxsb2NhdGUgc3BpbGwgJWQgYnl0ZXMgYXQgJWxseFxuIiwgc2l6ZSwgcGh5c19hZGRyKTsK KwlkYmdfbXNnKCJBbGxvY2F0ZSBzcGlsbCAlZCBieXRlcyBhdCAlanhcbiIsIHNpemUsICh1aW50 bWF4X3QpcGh5c19hZGRyKTsKIAl4bHJfd3JpdGVfcmVnKG1taW8sIHJlZ19zdGFydF8wLCAocGh5 c19hZGRyID4+IDUpICYgMHhmZmZmZmZmZik7CiAJeGxyX3dyaXRlX3JlZyhtbWlvLCByZWdfc3Rh cnRfMSwgKHBoeXNfYWRkciA+PiAzNykgJiAweDA3KTsKIAl4bHJfd3JpdGVfcmVnKG1taW8sIHJl Z19zaXplLCBzcGlsbF9zaXplKTsKSW5kZXg6IHN5cy9taXBzL3JtaS9vbl9jaGlwLmMKPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0gc3lzL21pcHMvcm1pL29uX2NoaXAuYwkocmV2aXNpb24gMjA5NzU2KQorKysgc3lz L21pcHMvcm1pL29uX2NoaXAuYwkod29ya2luZyBjb3B5KQpAQCAtMjEwLDggKzIxMCw4IEBACiAK IAkJCWlmICghdHhfc3RuX2hhbmRsZXJzW3R4X3N0aWRdLmFjdGlvbikgewogCQkJCXByaW50Zigi WyVzXTogTm8gSGFuZGxlciBmb3IgbWVzc2FnZSBmcm9tIHN0bl9pZD0lZCwgYnVja2V0PSVkLCAi Ci0JCQkJICAgICJzaXplPSVkLCBtc2cwPSVsbHgsIGRyb3BwaW5nIG1lc3NhZ2VcbiIsCi0JCQkJ ICAgIF9fRlVOQ1RJT05fXywgdHhfc3RpZCwgYnVja2V0LCBzaXplLCBtc2cubXNnMCk7CisJCQkJ ICAgICJzaXplPSVkLCBtc2cwPSVqeCwgZHJvcHBpbmcgbWVzc2FnZVxuIiwKKwkJCQkgICAgX19G VU5DVElPTl9fLCB0eF9zdGlkLCBidWNrZXQsIHNpemUsICh1aW50bWF4X3QpbXNnLm1zZzApOwog CQkJfSBlbHNlIHsKIAkJCQkvL3ByaW50ZigiWyVzXTogcnhfc3RpZCA9ICVkXG4iLCBfX0ZVTkNU SU9OX18sIHJ4X3N0aWQpOwogCQkJCW1zZ3JuZ19mbGFnc19yZXN0b3JlKG1mbGFncyk7CkluZGV4 OiBzeXMvbWlwcy9ybWkveGxyX21hY2hkZXAuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzeXMvbWlwcy9ybWkv eGxyX21hY2hkZXAuYwkocmV2aXNpb24gMjA5NzU2KQorKysgc3lzL21pcHMvcm1pL3hscl9tYWNo ZGVwLmMJKHdvcmtpbmcgY29weSkKQEAgLTI2NSw3ICsyNjUsNiBAQAogCWluaXRfcGFyYW0yKHBo eXNtZW0pOwogCiAJLyogWFhYOiBDYXRjaCAyMi4gU29tZXRoaW5nIHRvdWNoZXMgdGhlIHRsYi4g Ki8KLQogCW1pcHNfY3B1X2luaXQoKTsKIAlwbWFwX2Jvb3RzdHJhcCgpOwogI2lmZGVmIEREQgpA QCAtMjk0LDEzICsyOTMsMTMgQEAKICNlbmRpZgogCS8qIFhYWCBGSVhNRSB0aGUgY29kZSBiZWxv dyBpcyBub3QgNjQgYml0IGNsZWFuICovCiAJLyogU2F2ZSBib290IGxvYWRlciBhbmQgb3RoZXIg c3R1ZmYgZnJvbSBzY3JhdGNoIHJlZ3MgKi8KLQl4bHJfYm9vdDFfaW5mbyA9ICooc3RydWN0IGJv b3QxX2luZm8gKilyZWFkX2MwX3JlZ2lzdGVyMzIoTUlQU19DT1BfMF9PU1NDUkFUQ0gsIDApOwor CXhscl9ib290MV9pbmZvID0gKihzdHJ1Y3QgYm9vdDFfaW5mbyAqKShpbnRwdHJfdCkoaW50KXJl YWRfYzBfcmVnaXN0ZXIzMihNSVBTX0NPUF8wX09TU0NSQVRDSCwgMCk7CiAJY3B1X21hc2tfaW5m byA9IHJlYWRfYzBfcmVnaXN0ZXI2NChNSVBTX0NPUF8wX09TU0NSQVRDSCwgMSk7CiAJeGxyX29u bGluZV9jcHVtYXNrID0gcmVhZF9jMF9yZWdpc3RlcjMyKE1JUFNfQ09QXzBfT1NTQ1JBVENILCAy KTsKIAl4bHJfcnVuX21vZGUgPSByZWFkX2MwX3JlZ2lzdGVyMzIoTUlQU19DT1BfMF9PU1NDUkFU Q0gsIDMpOwogCXhscl9hcmdjID0gcmVhZF9jMF9yZWdpc3RlcjMyKE1JUFNfQ09QXzBfT1NTQ1JB VENILCA0KTsKLQl4bHJfYXJndiA9IChjaGFyICoqKXJlYWRfYzBfcmVnaXN0ZXIzMihNSVBTX0NP UF8wX09TU0NSQVRDSCwgNSk7Ci0JeGxyX2VudnAgPSAoY2hhciAqKilyZWFkX2MwX3JlZ2lzdGVy MzIoTUlQU19DT1BfMF9PU1NDUkFUQ0gsIDYpOworCXhscl9hcmd2ID0gKGNoYXIgKiopKGludHB0 cl90KShpbnQpcmVhZF9jMF9yZWdpc3RlcjMyKE1JUFNfQ09QXzBfT1NTQ1JBVENILCA1KTsKKwl4 bHJfZW52cCA9IChjaGFyICoqKShpbnRwdHJfdCkoaW50KXJlYWRfYzBfcmVnaXN0ZXIzMihNSVBT X0NPUF8wX09TU0NSQVRDSCwgNik7CiAKIAkvKiBUT0RPOiBWZXJpZnkgdGhlIG1hZ2ljIG51bWJl ciBoZXJlICovCiAJLyogRklYTUVMQVRFUjogeGxyX2Jvb3QxX2luZm8ubWFnaWNfbnVtYmVyICov CkBAIC0zODcsOSArMzg2LDkgQEAKIAkJCQkJICogNjQgYml0ID4gNEdpZyBhbmQgd2UgYXJlIGlu IDMyIGJpdCBtb2RlLgogCQkJCQkgKi8KIAkJCQkJcGh5c19hdmFpbFtqICsgMV0gPSAweGZmZmZm MDAwOwotCQkJCQlwcmludGYoImJvb3QgbWFwIHNpemUgd2FzICVsbHhcbiIsIGJvb3RfbWFwLT5w aHlzbWVtX21hcFtpXS5zaXplKTsKKwkJCQkJcHJpbnRmKCJib290IG1hcCBzaXplIHdhcyAlanhc biIsIChpbnRtYXhfdClib290X21hcC0+cGh5c21lbV9tYXBbaV0uc2l6ZSk7CiAJCQkJCWJvb3Rf bWFwLT5waHlzbWVtX21hcFtpXS5zaXplID0gcGh5c19hdmFpbFtqICsgMV0gLSBwaHlzX2F2YWls W2pdOwotCQkJCQlwcmludGYoInJlZHVjZWQgdG8gJWxseFxuIiwgYm9vdF9tYXAtPnBoeXNtZW1f bWFwW2ldLnNpemUpOworCQkJCQlwcmludGYoInJlZHVjZWQgdG8gJWp4XG4iLCAoaW50bWF4X3Qp Ym9vdF9tYXAtPnBoeXNtZW1fbWFwW2ldLnNpemUpOwogCQkJCX0KIAkJCQlwcmludGYoIk5leHQg c2VnbWVudCA6IGFkZHI6JXAgLT4gJXAgXG4iLAogCQkJCSAgICAgICAodm9pZCAqKXBoeXNfYXZh aWxbal0sIAo= --e0cb4e887827a90f16048acf6235 Content-Type: text/x-patch; charset=US-ASCII; name="mips-rmi-kx-enable.patch" Content-Disposition: attachment; filename="mips-rmi-kx-enable.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gbcfimoc7 SW5kZXg6IHN5cy9taXBzL21pcHMvdm1fbWFjaGRlcC5jCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9taXBz L21pcHMvdm1fbWFjaGRlcC5jCShyZXZpc2lvbiAyMDk2MzUpCisrKyBzeXMvbWlwcy9taXBzL3Zt X21hY2hkZXAuYwkod29ya2luZyBjb3B5KQpAQCAtMTQ4LDcgKzE0OCw3IEBACiAJcGNiMi0+cGNi X2NvbnRleHRbUENCX1JFR19TMF0gPSAocmVnaXN0ZXJfdCkoaW50cHRyX3QpZm9ya19yZXR1cm47 CiAJcGNiMi0+cGNiX2NvbnRleHRbUENCX1JFR19TMV0gPSAocmVnaXN0ZXJfdCkoaW50cHRyX3Qp dGQyOwogCXBjYjItPnBjYl9jb250ZXh0W1BDQl9SRUdfUzJdID0gKHJlZ2lzdGVyX3QpKGludHB0 cl90KXRkMi0+dGRfZnJhbWU7Ci0JcGNiMi0+cGNiX2NvbnRleHRbUENCX1JFR19TUl0gPSBTUl9J TlRfTUFTSyAmIG1pcHNfcmRfc3RhdHVzKCk7CisJcGNiMi0+cGNiX2NvbnRleHRbUENCX1JFR19T Ul0gPSAoTUlQU19TUl9LWCB8IFNSX0lOVF9NQVNLKSAmIG1pcHNfcmRfc3RhdHVzKCk7CiAJLyoK IAkgKiBGUkVFQlNEX0RFVkVMT1BFUlNfRklYTUU6CiAJICogU2V0dXAgYW55IG90aGVyIENQVS1T cGVjaWZpYyByZWdpc3RlcnMgKE5vdCBNSVBTIFN0YW5kYXJkKQpAQCAtMTYyLDcgKzE2Miw2IEBA CiAjaWZkZWYgVEFSR0VUX09DVEVPTgogCXBjYjItPnBjYl9jb250ZXh0W1BDQl9SRUdfU1JdIHw9 IE1JUFNfU1JfQ09QXzJfQklUIHwgTUlQUzMyX1NSX1BYIHwgTUlQU19TUl9VWCB8IE1JUFNfU1Jf S1ggfCBNSVBTX1NSX1NYOwogI2VuZGlmCi0KIH0KIAogLyoKQEAgLTM1MSw3ICszNTAsNyBAQAog CXBjYjItPnBjYl9jb250ZXh0W1BDQl9SRUdfUzFdID0gKHJlZ2lzdGVyX3QpKGludHB0cl90KXRk OwogCXBjYjItPnBjYl9jb250ZXh0W1BDQl9SRUdfUzJdID0gKHJlZ2lzdGVyX3QpKGludHB0cl90 KXRkLT50ZF9mcmFtZTsKIAkvKiBEb250IHNldCBJRSBiaXQgaW4gU1IuIHNjaGVkIGxvY2sgcmVs ZWFzZSB3aWxsIHRha2UgY2FyZSBvZiBpdCAqLwotCXBjYjItPnBjYl9jb250ZXh0W1BDQl9SRUdf U1JdID0gU1JfSU5UX01BU0sgJiBtaXBzX3JkX3N0YXR1cygpOworCXBjYjItPnBjYl9jb250ZXh0 W1BDQl9SRUdfU1JdID0gKE1JUFNfU1JfS1ggfCBTUl9JTlRfTUFTSykgJiBtaXBzX3JkX3N0YXR1 cygpOwogCiAjaWZkZWYgVEFSR0VUX09DVEVPTgogCXBjYjItPnBjYl9jb250ZXh0W1BDQl9SRUdf U1JdIHw9IE1JUFNfU1JfQ09QXzJfQklUIHwgTUlQU19TUl9DT1BfMF9CSVQgfApJbmRleDogc3lz L21pcHMvbWlwcy9leGNlcHRpb24uUwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzeXMvbWlwcy9taXBzL2V4Y2Vw dGlvbi5TCShyZXZpc2lvbiAyMDk2MzUpCisrKyBzeXMvbWlwcy9taXBzL2V4Y2VwdGlvbi5TCSh3 b3JraW5nIGNvcHkpCkBAIC0yMzUsNyArMjM1LDcgQEAKICNkZWZpbmUJU0FWRV9SRUcocmVnLCBv ZmZzLCBiYXNlKSBcCiAJUkVHX1MJcmVnLCBDQUxMRlJBTUVfU0laICsgKFNaUkVHICogb2Zmcykg KGJhc2UpCiAKLSNpZmRlZiBUQVJHRVRfT0NURU9OCisjaWYgZGVmaW5lZChUQVJHRVRfT0NURU9O KQogI2RlZmluZSBDTEVBUl9TVEFUVVMgXAogCW1mYzAgICAgYTAsIENPUF8wX1NUQVRVU19SRUcg ICAgO1wKIAlsaSAgICAgIGEyLCAoTUlQU19TUl9LWCB8IE1JUFNfU1JfU1ggfCBNSVBTX1NSX1VY KSA7IFwKQEAgLTI0NCw2ICsyNDQsMTUgQEAKIAlhbmQgICAgIGEwLCBhMCwgYTIgICAgICAgICAg ICAgIDsgXAogICAgICAgICBtdGMwICAgIGEwLCBDT1BfMF9TVEFUVVNfUkVHICAgIDsgXAogCUlU TEJOT1BGSVgKKyNlbGlmIGRlZmluZWQoVEFSR0VUX1hMUl9YTFMpCisjZGVmaW5lIENMRUFSX1NU QVRVUyBcCisJbWZjMCAgICBhMCwgQ09QXzBfU1RBVFVTX1JFRyAgICA7XAorCWxpICAgICAgYTIs IChNSVBTX1NSX0tYIHwgTUlQU19TUl9DT1BfMl9CSVQpIDsgXAorCW9yICAgICAgYTAsIGEwLCBh MgkgICAgICAgIDsgXAorCWxpICAgICAgYTIsIH4oTUlQU19TUl9JTlRfSUUgfCBNSVBTX1NSX0VY TCB8IFNSX0tTVV9VU0VSKSAgIDsgXAorCWFuZCAgICAgYTAsIGEwLCBhMiAgICAgICAgICAgICAg OyBcCisgICAgICAgIG10YzAgICAgYTAsIENPUF8wX1NUQVRVU19SRUcgICAgOyBcCisJSVRMQk5P UEZJWAogI2Vsc2UKICNkZWZpbmUgQ0xFQVJfU1RBVFVTIFwKIAltZmMwICAgIGEwLCBDT1BfMF9T VEFUVVNfUkVHICAgIDtcCkBAIC00NzUsOCArNDg0LDEwIEBACiAJUFRSX0xBCWdwLCBfQ19MQUJF TChfZ3ApCSMgc3dpdGNoIHRvIGtlcm5lbCBHUAogIyBUdXJuIG9mZiBmcHUgYW5kIGVudGVyIGtl cm5lbCBtb2RlCiAJYW5kCXQwLCBhMCwgfihTUl9DT1BfMV9CSVQgfCBTUl9FWEwgfCBTUl9LU1Vf TUFTSyB8IFNSX0lOVF9FTkFCKQotI2lmZGVmIFRBUkdFVF9PQ1RFT04KKyNpZiBkZWZpbmVkKFRB UkdFVF9PQ1RFT04pCiAJb3IgICAgICB0MCwgdDAsIChNSVBTX1NSX0tYIHwgTUlQU19TUl9TWCB8 IE1JUFNfU1JfVVggfCBNSVBTMzJfU1JfUFgpCisjZWxpZiBkZWZpbmVkKFRBUkdFVF9YTFJfWExT KQkKKwlvciAgICAgIHQwLCB0MCwgKE1JUFNfU1JfS1ggfCBNSVBTX1NSX0NPUF8yX0JJVCkKICNl bmRpZgkKIAltdGMwCXQwLCBDT1BfMF9TVEFUVVNfUkVHCiAJUFRSX0FERFUgYTAsIGsxLCBVX1BD Ql9SRUdTCkBAIC02OTMsNiArNzA0LDggQEAKIAlhbmQJdDAsIGEwLCB+KFNSX0NPUF8xX0JJVCB8 IFNSX0VYTCB8IFNSX0lOVF9FTkFCIHwgU1JfS1NVX01BU0spCiAjaWZkZWYgVEFSR0VUX09DVEVP TgogCW9yICAgICAgdDAsIHQwLCAoTUlQU19TUl9LWCB8IE1JUFNfU1JfU1ggfCBNSVBTX1NSX1VY IHwgTUlQUzMyX1NSX1BYKQorI2VsaWYgZGVmaW5lZChUQVJHRVRfWExSX1hMUykJCisJb3IgICAg ICB0MCwgdDAsIChNSVBTX1NSX0tYIHwgTUlQU19TUl9DT1BfMl9CSVQpCiAjZW5kaWYJCiAJbXRj MAl0MCwgQ09QXzBfU1RBVFVTX1JFRwogCUlUTEJOT1BGSVgKSW5kZXg6IHN5cy9taXBzL21pcHMv bG9jb3JlLlMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0gc3lzL21pcHMvbWlwcy9sb2NvcmUuUwkocmV2aXNpb24g MjA5NjM1KQorKysgc3lzL21pcHMvbWlwcy9sb2NvcmUuUwkod29ya2luZyBjb3B5KQpAQCAtOTks NyArOTksNyBAQAogCiAJLyogUmVzZXQgdGhlc2UgYml0cyAqLwogICAgICAgICBsaQl0MCwgfihN SVBTX1NSX0RFIHwgTUlQU19TUl9TT0ZUX1JFU0VUIHwgTUlQU19TUl9FUkwgfCBNSVBTX1NSX0VY TCB8IE1JUFNfU1JfSU5UX0lFKQotI2VsaWYgZGVmaW5lZCAoQ1BVX1hMUikKKyNlbGlmIGRlZmlu ZWQgKFRBUkdFVF9YTFJfWExTKQogCS8qIFNldCB0aGVzZSBiaXRzICovCiAgICAgICAgIGxpCXQx LCAoTUlQU19TUl9DT1BfMl9CSVQgfCBNSVBTX1NSX0NPUF8wX0JJVCB8IE1JUFNfU1JfS1gpCiAK --e0cb4e887827a90f16048acf6235 Content-Type: text/x-patch; charset=US-ASCII; name="pmap-n64.patch" Content-Disposition: attachment; filename="pmap-n64.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gbcfina08 SW5kZXg6IHN5cy9taXBzL2luY2x1ZGUvY3B1cmVncy5oCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9taXBz L2luY2x1ZGUvY3B1cmVncy5oCShyZXZpc2lvbiAyMDk3NTYpCisrKyBzeXMvbWlwcy9pbmNsdWRl L2NwdXJlZ3MuaAkod29ya2luZyBjb3B5KQpAQCAtNzgsNiArNzgsOSBAQAogICogQ2FjaGluZyBv ZiBtYXBwZWQgYWRkcmVzc2VzIGlzIGNvbnRyb2xsZWQgYnkgYml0cyBpbiB0aGUgVExCIGVudHJ5 LgogICovCiAKKyNkZWZpbmUJTUlQU19LU0VHMF9MQVJHRVNUX1BIWVMgICAgICAgICAoMHgyMDAw MDAwMCkKKyNkZWZpbmUJTUlQU19QSFlTX01BU0sJCQkoMHgxZmZmZmZmZikKKwogI2lmICFkZWZp bmVkKF9MT0NPUkUpCiAjZGVmaW5lCU1JUFNfS1VTRUdfU1RBUlQJCTB4MDAwMDAwMDAKICNkZWZp bmUJTUlQU19LU0VHMF9TVEFSVAkJKChpbnRwdHJfdCkoaW50MzJfdCkweDgwMDAwMDAwKQpAQCAt OTEsOCArOTQsMTkgQEAKIAogI2RlZmluZSBNSVBTX0tTRUcyX1NUQVJUCQlNSVBTX0tTU0VHX1NU QVJUCiAjZGVmaW5lIE1JUFNfS1NFRzJfRU5ECQkJTUlQU19LU1NFR19FTkQKLSNlbmRpZgogCisj ZGVmaW5lCU1JUFNfUEhZU19UT19LU0VHMCh4KQkJKCh1aW50cHRyX3QpKHgpIHwgTUlQU19LU0VH MF9TVEFSVCkKKyNkZWZpbmUJTUlQU19QSFlTX1RPX0tTRUcxKHgpCQkoKHVpbnRwdHJfdCkoeCkg fCBNSVBTX0tTRUcxX1NUQVJUKQorI2RlZmluZQlNSVBTX0tTRUcwX1RPX1BIWVMoeCkJCSgodWlu dHB0cl90KSh4KSAmIE1JUFNfUEhZU19NQVNLKQorI2RlZmluZQlNSVBTX0tTRUcxX1RPX1BIWVMo eCkJCSgodWludHB0cl90KSh4KSAmIE1JUFNfUEhZU19NQVNLKQorCisjZGVmaW5lCU1JUFNfSVNf S1NFRzBfQUREUih4KQkJCQkJXAorCSgoKHZtX29mZnNldF90KSh4KSA+PSBNSVBTX0tTRUcwX1NU QVJUKSAmJgkJXAorCSAgICAoKHZtX29mZnNldF90KSh4KSA8PSBNSVBTX0tTRUcwX0VORCkpCisj ZGVmaW5lCU1JUFNfSVNfS1NFRzFfQUREUih4KQkJCQkJXAorCSgoKHZtX29mZnNldF90KSh4KSA+ PSBNSVBTX0tTRUcxX1NUQVJUKSAmJgkJXAorCSAgICAoKHZtX29mZnNldF90KSh4KSA8PSBNSVBT X0tTRUcxX0VORCkpCisKICNkZWZpbmUJTUlQU19YS1BIWVNfU1RBUlQJCTB4ODAwMDAwMDAwMDAw MDAwMAogI2RlZmluZQlNSVBTX1hLUEhZU19FTkQJCQkweGJmZmZmZmZmZmZmZmZmZmYKIApAQCAt MTAxLDE0ICsxMTUsMjEgQEAKIAogI2RlZmluZQlNSVBTX1BIWVNfVE9fWEtQSFlTKGNjYSx4KSBc CiAJKCgweDJVTEwgPDwgNjIpIHwgKCh1bnNpZ25lZCBsb25nIGxvbmcpKGNjYSkgPDwgNTkpIHwg KHgpKQotI2RlZmluZQlNSVBTX1hLUEhZU19UT19QSFlTKHgpCSgoeCkgJiAweDA3ZmZmZmZmZmZm ZmZmZmZVTEwpCisjZGVmaW5lCU1JUFNfUEhZU19UT19YS1BIWVNfQ0FDSEVEKHgpIFwKKwkoKDB4 MlVMTCA8PCA2MikgfCAoKHVuc2lnbmVkIGxvbmcgbG9uZykoTUlQU19YS1BIWVNfQ0NBX0NOQykg PDwgNTkpIHwgKHgpKQorI2RlZmluZQlNSVBTX1BIWVNfVE9fWEtQSFlTX1VOQ0FDSEVEKHgpIFwK KwkoKDB4MlVMTCA8PCA2MikgfCAoKHVuc2lnbmVkIGxvbmcgbG9uZykoTUlQU19YS1BIWVNfQ0NB X1VDKSA8PCA1OSkgfCAoeCkpCiAKKyNkZWZpbmUJTUlQU19YS1BIWVNfVE9fUEhZUyh4KQkJKCh4 KSAmIDB4MDdmZmZmZmZmZmZmZmZmZlVMTCkKKwogI2RlZmluZQlNSVBTX1hVU0VHX1NUQVJUCQkw eDAwMDAwMDAwMDAwMDAwMDAKICNkZWZpbmUJTUlQU19YVVNFR19FTkQJCQkweDAwMDAwMTAwMDAw MDAwMDAKIAogI2RlZmluZQlNSVBTX1hLU0VHX1NUQVJUCQkweGMwMDAwMDAwMDAwMDAwMDAKICNk ZWZpbmUJTUlQU19YS1NFR19FTkQJCQkweGMwMDAwMGZmODAwMDAwMDAKIAorI2VuZGlmCisKIC8q IENQVSBkZXBlbmRlbnQgbXRjMCBoYXphcmQgaG9vayAqLwogI2lmZGVmIFRBUkdFVF9PQ1RFT04K ICNkZWZpbmUJQ09QMF9TWU5DICBub3A7IG5vcDsgbm9wOyBub3A7IG5vcDsKSW5kZXg6IHN5cy9t aXBzL2luY2x1ZGUvY3B1LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3lzL21pcHMvaW5jbHVkZS9jcHUuaAko cmV2aXNpb24gMjA5NzU2KQorKysgc3lzL21pcHMvaW5jbHVkZS9jcHUuaAkod29ya2luZyBjb3B5 KQpAQCAtNDksMjMgKzQ5LDYgQEAKIAogI2luY2x1ZGUgPG1hY2hpbmUvZW5kaWFuLmg+CiAKLSNk ZWZpbmUJTUlQU19LU0VHMF9MQVJHRVNUX1BIWVMgICAgICAgICAoMHgyMDAwMDAwMCkKLSNkZWZp bmUJTUlQU19QSFlTX01BU0sJCQkoMHgxZmZmZmZmZikKLQotI2RlZmluZQlNSVBTX1BIWVNfVE9f S1NFRzAoeCkJCSgodWludHB0cl90KSh4KSB8IE1JUFNfS1NFRzBfU1RBUlQpCi0jZGVmaW5lCU1J UFNfUEhZU19UT19LU0VHMSh4KQkJKCh1aW50cHRyX3QpKHgpIHwgTUlQU19LU0VHMV9TVEFSVCkK LSNkZWZpbmUJTUlQU19LU0VHMF9UT19QSFlTKHgpCQkoKHVpbnRwdHJfdCkoeCkgJiBNSVBTX1BI WVNfTUFTSykKLSNkZWZpbmUJTUlQU19LU0VHMV9UT19QSFlTKHgpCQkoKHVpbnRwdHJfdCkoeCkg JiBNSVBTX1BIWVNfTUFTSykKLQotI2RlZmluZQlNSVBTX0lTX0tTRUcwX0FERFIoeCkJCQkJCVwK LQkoKCh2bV9vZmZzZXRfdCkoeCkgPj0gTUlQU19LU0VHMF9TVEFSVCkgJiYJCVwKLQkgICAgKCh2 bV9vZmZzZXRfdCkoeCkgPD0gTUlQU19LU0VHMF9FTkQpKQotI2RlZmluZQlNSVBTX0lTX0tTRUcx X0FERFIoeCkJCQkJCVwKLQkoKCh2bV9vZmZzZXRfdCkoeCkgPj0gTUlQU19LU0VHMV9TVEFSVCkg JiYJCVwKLQkgICAgKCh2bV9vZmZzZXRfdCkoeCkgPD0gTUlQU19LU0VHMV9FTkQpKQotI2RlZmlu ZQlNSVBTX0lTX1ZBTElEX1BUUih4KQkJKE1JUFNfSVNfS1NFRzBfQUREUih4KSB8fCBcCi0JCQkJ CQlNSVBTX0lTX0tTRUcxX0FERFIoeCkpCi0KIC8qCiAgKiAgU3RhdHVzIHJlZ2lzdGVyLgogICov CkluZGV4OiBzeXMvbWlwcy9pbmNsdWRlL3B0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9taXBzL2lu Y2x1ZGUvcHRlLmgJKHJldmlzaW9uIDIwOTc1NikKKysrIHN5cy9taXBzL2luY2x1ZGUvcHRlLmgJ KHdvcmtpbmcgY29weSkKQEAgLTczLDggKzczLDI0IEBACiAgKiBOb3RlIHRoYXQgaW4gRnJlZUJT RCwgd2UgbWFwIDIgVExCIHBhZ2VzIGlzIGVxdWFsIHRvIDEgVk0gcGFnZS4KICAqLwogI2RlZmlu ZQlUTEJISV9BU0lEX01BU0sJCSgweGZmKQorI2lmIGRlZmluZWQoX19taXBzX242NCkKKyNkZWZp bmUJVExCSElfUl9TSElGVAkJNjIKKyNkZWZpbmUJVExCSElfUl9VU0VSCQkoMHgwMFVMIDw8IFRM QkhJX1JfU0hJRlQpCisjZGVmaW5lCVRMQkhJX1JfU1VQRVJWSVNPUgkoMHgwMVVMIDw8IFRMQkhJ X1JfU0hJRlQpCisjZGVmaW5lCVRMQkhJX1JfS0VSTkVMCQkoMHgwM1VMIDw8IFRMQkhJX1JfU0hJ RlQpCisjZGVmaW5lCVRMQkhJX1JfTUFTSwkJKDB4MDNVTCA8PCBUTEJISV9SX1NISUZUKQorI2Rl ZmluZQlUTEJISV9WQV9SKHZhKQkJKCh2YSkgJiBUTEJISV9SX01BU0spCisjZGVmaW5lCVRMQkhJ X0ZJTExfU0hJRlQJNDAKKyNkZWZpbmUJVExCSElfVlBOMl9TSElGVAkoVExCX1BBR0VfU0hJRlQg KyAxKQorI2RlZmluZQlUTEJISV9WUE4yX01BU0sJCSgoKH4oKDFVTCA8PCBUTEJISV9WUE4yX1NI SUZUKSAtIDEpKSA8PCAoNjMgLSBUTEJISV9GSUxMX1NISUZUKSkgPj4gKDYzIC0gVExCSElfRklM TF9TSElGVCkpCisjZGVmaW5lCVRMQkhJX1ZBX1RPX1ZQTjIodmEpCSgodmEpICYgVExCSElfVlBO Ml9NQVNLKQorI2RlZmluZQlUTEJISV9FTlRSWSh2YSwgYXNpZCkJKChUTEJISV9WQV9SKCh2YSkp KSAvKiBSZWdpb24uICovIHwgXAorCQkJCSAoVExCSElfVkFfVE9fVlBOMigodmEpKSkgLyogVlBO Mi4gKi8gfCBcCisJCQkJICgoYXNpZCkgJiBUTEJISV9BU0lEX01BU0spKQorI2Vsc2UKICNkZWZp bmUJVExCSElfUEFHRV9NQVNLCQkoMiAqIFBBR0VfU0laRSAtIDEpCiAjZGVmaW5lCVRMQkhJX0VO VFJZKHZhLCBhc2lkKQkoKCh2YSkgJiB+VExCSElfUEFHRV9NQVNLKSB8ICgoYXNpZCkgJiBUTEJI SV9BU0lEX01BU0spKQorI2VuZGlmCiAKICNpZm5kZWYgX0xPQ09SRQogdHlwZWRlZgl1aW50MzJf dCBwdF9lbnRyeV90OwpJbmRleDogc3lzL21pcHMvbWlwcy9wbWFwLmMKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g c3lzL21pcHMvbWlwcy9wbWFwLmMJKHJldmlzaW9uIDIwOTc1NikKKysrIHN5cy9taXBzL21pcHMv cG1hcC5jCSh3b3JraW5nIGNvcHkpCkBAIC0xMjgsNyArMTI4LDExIEBACiAjZGVmaW5lCXBtYXBf c2Vnc2hpZnQodikJKCgodikgPj4gU0VHU0hJRlQpICYgKE5QREVQRyAtIDEpKQogI2RlZmluZQlz ZWd0YWJfcGRlKG0sIHYpCSgobSlbcG1hcF9zZWdzaGlmdCgodikpXSkKIAorI2lmIGRlZmluZWQo X19taXBzX242NCkKKyNkZWZpbmUJTlVTRVJQR1RCTFMJCShOUERFUEcpCisjZWxzZQogI2RlZmlu ZQlOVVNFUlBHVEJMUwkJKHBtYXBfc2Vnc2hpZnQoVk1fTUFYVVNFUl9BRERSRVNTKSkKKyNlbmRp ZgogI2RlZmluZQltaXBzX3NlZ3RydW5jKHZhKQkoKHZhKSAmIH5TRUdPRlNFVCkKICNkZWZpbmUJ aXNfa2VybmVsX3BtYXAoeCkJKCh4KSA9PSBrZXJuZWxfcG1hcCkKIApAQCAtMzEwLDcgKzMxMCw3 IEBACiB9CiAKIC8qCi0gKglCb290c3RyYXAgdGhlIHN5c3RlbSBlbm91Z2ggdG8gcnVuIHdpdGgg dmlydHVhbCBtZW1vcnkuICBUaGlzCisgKiBCb290c3RyYXAgdGhlIHN5c3RlbSBlbm91Z2ggdG8g cnVuIHdpdGggdmlydHVhbCBtZW1vcnkuICBUaGlzCiAgKiBhc3N1bWVzIHRoYXQgdGhlIHBoeXNf YXZhaWwgYXJyYXkgaGFzIGJlZW4gaW5pdGlhbGl6ZWQuCiAgKi8KIHZvaWQKQEAgLTMzMCwxNCAr MzMwLDExIEBACiAJCXBoeXNfYXZhaWxbaV0gPSByb3VuZF9wYWdlKHBoeXNfYXZhaWxbaV0pOwog CQlwaHlzX2F2YWlsW2kgKyAxXSA9IHRydW5jX3BhZ2UocGh5c19hdmFpbFtpICsgMV0pOwogCi0J CWlmIChwaHlzX2F2YWlsW2kgKyAxXSA+PSBNSVBTX0tTRUcwX0xBUkdFU1RfUEhZUykKLQkJCW1l bW9yeV9sYXJnZXJfdGhhbl81MTJtZWcrKzsKIAkJaWYgKGkgPCAyKQogCQkJY29udGludWU7CiAJ CWlmIChwaHlzX2F2YWlsW2kgLSAyXSA+IHBoeXNfYXZhaWxbaV0pIHsKIAkJCXZtX3BhZGRyX3Qg cHRlbXBbMl07CiAKLQogCQkJcHRlbXBbMF0gPSBwaHlzX2F2YWlsW2kgKyAwXTsKIAkJCXB0ZW1w WzFdID0gcGh5c19hdmFpbFtpICsgMV07CiAKQEAgLTM1MCw2ICszNDcsMTEgQEAKIAkJfQogCX0K IAorI2lmICFkZWZpbmVkKF9fbWlwc19uNjQpCisJaWYgKHBoeXNfYXZhaWxbaSAtIDFdID49IE1J UFNfS1NFRzBfTEFSR0VTVF9QSFlTKQorCQltZW1vcnlfbGFyZ2VyX3RoYW5fNTEybWVnID0gMTsK KyNlbmRpZgorCiAJLyoKIAkgKiBDb3B5IHRoZSBwaHlzX2F2YWlsW10gYXJyYXkgYmVmb3JlIHdl IHN0YXJ0IHN0ZWFsaW5nIG1lbW9yeSBmcm9tIGl0LgogCSAqLwpAQCAtMzg0LDcgKzM4Niw2IEBA CiAJICovCiAJa3N0YWNrMCA9IHBtYXBfc3RlYWxfbWVtb3J5KEtTVEFDS19QQUdFUyA8PCBQQUdF X1NISUZUKTsKIAotCiAJdmlydHVhbF9hdmFpbCA9IFZNX01JTl9LRVJORUxfQUREUkVTUzsKIAl2 aXJ0dWFsX2VuZCA9IFZNX01BWF9LRVJORUxfQUREUkVTUzsKIApAQCAtNzU4LDExICs3NTksMjEg QEAKICAqCXVwZGF0ZSAnKnZpcnQnIHdpdGggdGhlIGZpcnN0IHVzYWJsZSBhZGRyZXNzIGFmdGVy IHRoZSBtYXBwZWQKICAqCXJlZ2lvbi4KICAqLworI2lmIGRlZmluZWQoX19taXBzX242NCkKIHZt X29mZnNldF90CiBwbWFwX21hcCh2bV9vZmZzZXRfdCAqdmlydCwgdm1fb2Zmc2V0X3Qgc3RhcnQs IHZtX29mZnNldF90IGVuZCwgaW50IHByb3QpCiB7CisJcmV0dXJuIChNSVBTX1BIWVNfVE9fWEtQ SFlTX0NBQ0hFRChzdGFydCkpOworfQorI2Vsc2UKK3ZtX29mZnNldF90CitwbWFwX21hcCh2bV9v ZmZzZXRfdCAqdmlydCwgdm1fb2Zmc2V0X3Qgc3RhcnQsIHZtX29mZnNldF90IGVuZCwgaW50IHBy b3QpCit7CiAJdm1fb2Zmc2V0X3QgdmEsIHN2YTsKIAorCWlmIChlbmQgPD0gTUlQU19LU0VHMF9M QVJHRVNUX1BIWVMpCisJCXJldHVybiAoTUlQU19QSFlTX1RPX0tTRUcwKHN0YXJ0KSk7CisKIAl2 YSA9IHN2YSA9ICp2aXJ0OwogCXdoaWxlIChzdGFydCA8IGVuZCkgewogCQlwbWFwX2tlbnRlcih2 YSwgc3RhcnQpOwpAQCAtNzcyLDYgKzc4Myw3IEBACiAJKnZpcnQgPSB2YTsKIAlyZXR1cm4gKHN2 YSk7CiB9CisjZW5kaWYKIAogLyoKICAqIEFkZCBhIGxpc3Qgb2Ygd2lyZWQgcGFnZXMgdG8gdGhl IGt2YQpAQCAtMjAyNyw5ICsyMDM5LDIwIEBACiAgKiBNYWtlIGEgdGVtcG9yYXJ5IG1hcHBpbmcg Zm9yIGEgcGh5c2ljYWwgYWRkcmVzcy4gIFRoaXMgaXMgb25seSBpbnRlbmRlZAogICogdG8gYmUg dXNlZCBmb3IgcGFuaWMgZHVtcHMuCiAgKi8KKyNpZiBkZWZpbmVkKF9fbWlwc19uNjQpCiB2b2lk ICoKIHBtYXBfa2VudGVyX3RlbXBvcmFyeSh2bV9wYWRkcl90IHBhLCBpbnQgaSkKIHsKKwlyZXR1 cm4gKCh2b2lkICopTUlQU19QSFlTX1RPX1hLUEhZU19DQUNIRUQocGEpKTsKK30KK3ZvaWQKK3Bt YXBfa2VudGVyX3RlbXBvcmFyeV9mcmVlKHZtX3BhZGRyX3QgcGEpCit7Cit9CisjZWxzZQordm9p ZCAqCitwbWFwX2tlbnRlcl90ZW1wb3Jhcnkodm1fcGFkZHJfdCBwYSwgaW50IGkpCit7CiAJdm1f b2Zmc2V0X3QgdmE7CiAJcmVnaXN0ZXJfdCBpbnRyOwogCWlmIChpICE9IDApCkBAIC0yMDg3LDYg KzIxMTAsNyBAQAogCQlzeXNtLT52YWxpZDEgPSAwOwogCX0KIH0KKyNlbmRpZgogCiAvKgogICog TW92ZWQgdGhlIGNvZGUgdG8gTWFjaGluZSBJbmRlcGVuZGVudApAQCAtMjE5MywxMSArMjIxNywy MyBAQAogICoJcG1hcF96ZXJvX3BhZ2UgemVyb3MgdGhlIHNwZWNpZmllZCBoYXJkd2FyZSBwYWdl IGJ5IG1hcHBpbmcKICAqCXRoZSBwYWdlIGludG8gS1ZNIGFuZCB1c2luZyBiemVybyB0byBjbGVh ciBpdHMgY29udGVudHMuCiAgKi8KKyNpZiBkZWZpbmVkIChfX21pcHNfbjY0KQogdm9pZAogcG1h cF96ZXJvX3BhZ2Uodm1fcGFnZV90IG0pCiB7CiAJdm1fb2Zmc2V0X3QgdmE7CiAJdm1fcGFkZHJf dCBwaHlzID0gVk1fUEFHRV9UT19QSFlTKG0pOworCisJdmEgPSBNSVBTX1BIWVNfVE9fWEtQSFlT X0NBQ0hFRChwaHlzKTsKKwliemVybygoY2FkZHJfdCl2YSwgUEFHRV9TSVpFKTsKKwltaXBzX2Rj YWNoZV93Ymludl9yYW5nZSh2YSwgUEFHRV9TSVpFKTsKK30KKyNlbHNlCit2b2lkCitwbWFwX3pl cm9fcGFnZSh2bV9wYWdlX3QgbSkKK3sKKwl2bV9vZmZzZXRfdCB2YTsKKwl2bV9wYWRkcl90IHBo eXMgPSBWTV9QQUdFX1RPX1BIWVMobSk7CiAJcmVnaXN0ZXJfdCBpbnRyOwogCiAJaWYgKHBoeXMg PCBNSVBTX0tTRUcwX0xBUkdFU1RfUEhZUykgewpAQCAtMjIxNCwxOCArMjI1MCwzMCBAQAogCQlQ TUFQX0xNRU1fVU5NQVAoKTsKIAl9CiB9Ci0KKyNlbmRpZgogLyoKICAqCXBtYXBfemVyb19wYWdl X2FyZWEgemVyb3MgdGhlIHNwZWNpZmllZCBoYXJkd2FyZSBwYWdlIGJ5IG1hcHBpbmcKICAqCXRo ZSBwYWdlIGludG8gS1ZNIGFuZCB1c2luZyBiemVybyB0byBjbGVhciBpdHMgY29udGVudHMuCiAg KgogICoJb2ZmIGFuZCBzaXplIG1heSBub3QgY292ZXIgYW4gYXJlYSBiZXlvbmQgYSBzaW5nbGUg aGFyZHdhcmUgcGFnZS4KICAqLworI2lmIGRlZmluZWQgKF9fbWlwc19uNjQpCiB2b2lkCiBwbWFw X3plcm9fcGFnZV9hcmVhKHZtX3BhZ2VfdCBtLCBpbnQgb2ZmLCBpbnQgc2l6ZSkKIHsKIAl2bV9v ZmZzZXRfdCB2YTsKIAl2bV9wYWRkcl90IHBoeXMgPSBWTV9QQUdFX1RPX1BIWVMobSk7CisKKwl2 YSA9IE1JUFNfUEhZU19UT19YS1BIWVNfQ0FDSEVEKHBoeXMpOworCWJ6ZXJvKChjaGFyICopKGNh ZGRyX3QpdmEgKyBvZmYsIHNpemUpOworCW1pcHNfZGNhY2hlX3diaW52X3JhbmdlKHZhICsgb2Zm LCBzaXplKTsKK30KKyNlbHNlCit2b2lkCitwbWFwX3plcm9fcGFnZV9hcmVhKHZtX3BhZ2VfdCBt LCBpbnQgb2ZmLCBpbnQgc2l6ZSkKK3sKKwl2bV9vZmZzZXRfdCB2YTsKKwl2bV9wYWRkcl90IHBo eXMgPSBWTV9QQUdFX1RPX1BIWVMobSk7CiAJcmVnaXN0ZXJfdCBpbnRyOwogCiAJaWYgKHBoeXMg PCBNSVBTX0tTRUcwX0xBUkdFU1RfUEhZUykgewpAQCAtMjI0MSwxMiArMjI4OSwyNSBAQAogCQlQ TUFQX0xNRU1fVU5NQVAoKTsKIAl9CiB9CisjZW5kaWYKIAorI2lmIGRlZmluZWQgKF9fbWlwc19u NjQpCiB2b2lkCiBwbWFwX3plcm9fcGFnZV9pZGxlKHZtX3BhZ2VfdCBtKQogewogCXZtX29mZnNl dF90IHZhOwogCXZtX3BhZGRyX3QgcGh5cyA9IFZNX1BBR0VfVE9fUEhZUyhtKTsKKworCXZhID0g TUlQU19QSFlTX1RPX1hLUEhZU19DQUNIRUQocGh5cyk7CisJYnplcm8oKGNhZGRyX3QpdmEsIFBB R0VfU0laRSk7CisJbWlwc19kY2FjaGVfd2JpbnZfcmFuZ2UodmEsIFBBR0VfU0laRSk7Cit9Cisj ZWxzZQordm9pZAorcG1hcF96ZXJvX3BhZ2VfaWRsZSh2bV9wYWdlX3QgbSkKK3sKKwl2bV9vZmZz ZXRfdCB2YTsKKwl2bV9wYWRkcl90IHBoeXMgPSBWTV9QQUdFX1RPX1BIWVMobSk7CiAJcmVnaXN0 ZXJfdCBpbnRyOwogCiAJaWYgKHBoeXMgPCBNSVBTX0tTRUcwX0xBUkdFU1RfUEhZUykgewpAQCAt MjI2Miw2ICsyMzIzLDcgQEAKIAkJUE1BUF9MTUVNX1VOTUFQKCk7CiAJfQogfQorI2VuZGlmCiAK IC8qCiAgKglwbWFwX2NvcHlfcGFnZSBjb3BpZXMgdGhlIHNwZWNpZmllZCAobWFjaGluZSBpbmRl cGVuZGVudCkKQEAgLTIyNjksMTIgKzIzMzEsMjggQEAKICAqCWJjb3B5IHRvIGNvcHkgdGhlIHBh Z2UsIG9uZSBtYWNoaW5lIGRlcGVuZGVudCBwYWdlIGF0IGEKICAqCXRpbWUuCiAgKi8KKyNpZiBk ZWZpbmVkIChfX21pcHNfbjY0KQogdm9pZAogcG1hcF9jb3B5X3BhZ2Uodm1fcGFnZV90IHNyYywg dm1fcGFnZV90IGRzdCkKIHsKIAl2bV9vZmZzZXRfdCB2YV9zcmMsIHZhX2RzdDsKIAl2bV9wYWRk cl90IHBoeV9zcmMgPSBWTV9QQUdFX1RPX1BIWVMoc3JjKTsKIAl2bV9wYWRkcl90IHBoeV9kc3Qg PSBWTV9QQUdFX1RPX1BIWVMoZHN0KTsKKworCXBtYXBfZmx1c2hfcHZjYWNoZShzcmMpOworCW1p cHNfZGNhY2hlX3diaW52X3JhbmdlX2luZGV4KE1JUFNfUEhZU19UT19YS1BIWVNfQ0FDSEVEKHBo eV9kc3QpLCBQQUdFX1NJWkUpOworCXZhX3NyYyA9IE1JUFNfUEhZU19UT19YS1BIWVNfQ0FDSEVE KHBoeV9zcmMpOworCXZhX2RzdCA9IE1JUFNfUEhZU19UT19YS1BIWVNfQ0FDSEVEKHBoeV9kc3Qp OworCWJjb3B5KChjYWRkcl90KXZhX3NyYywgKGNhZGRyX3QpdmFfZHN0LCBQQUdFX1NJWkUpOwor CW1pcHNfZGNhY2hlX3diaW52X3JhbmdlKHZhX2RzdCwgUEFHRV9TSVpFKTsKK30KKyNlbHNlCit2 b2lkCitwbWFwX2NvcHlfcGFnZSh2bV9wYWdlX3Qgc3JjLCB2bV9wYWdlX3QgZHN0KQoreworCXZt X29mZnNldF90IHZhX3NyYywgdmFfZHN0OworCXZtX3BhZGRyX3QgcGh5X3NyYyA9IFZNX1BBR0Vf VE9fUEhZUyhzcmMpOworCXZtX3BhZGRyX3QgcGh5X2RzdCA9IFZNX1BBR0VfVE9fUEhZUyhkc3Qp OwogCXJlZ2lzdGVyX3QgaW50cjsKIAogCWlmICgocGh5X3NyYyA8IE1JUFNfS1NFRzBfTEFSR0VT VF9QSFlTKSAmJiAocGh5X2RzdCA8IE1JUFNfS1NFRzBfTEFSR0VTVF9QSFlTKSkgewpAQCAtMjI5 OSw2ICsyMzc3LDcgQEAKIAkJUE1BUF9MTUVNX1VOTUFQKCk7CiAJfQogfQorI2VuZGlmCiAKIC8q CiAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIHBtYXAncyBwdiBpcyBvbmUgb2YgdGhlIGZpcnN0CkBA IC0yNzA1LDkgKzI3ODQsMjEgQEAKICAqIHJvdXRpbmUgaXMgaW50ZW5kZWQgdG8gYmUgdXNlZCBm b3IgbWFwcGluZyBkZXZpY2UgbWVtb3J5LAogICogTk9UIHJlYWwgbWVtb3J5LgogICovCisjaWYg ZGVmaW5lZChfX21pcHNfbjY0KQogdm9pZCAqCiBwbWFwX21hcGRldih2bV9vZmZzZXRfdCBwYSwg dm1fc2l6ZV90IHNpemUpCiB7CisJcmV0dXJuICgodm9pZCAqKU1JUFNfUEhZU19UT19YS1BIWVNf VU5DQUNIRUQocGEpKTsKK30KKwordm9pZAorcG1hcF91bm1hcGRldih2bV9vZmZzZXRfdCB2YSwg dm1fc2l6ZV90IHNpemUpCit7Cit9CisjZWxzZQordm9pZCAqCitwbWFwX21hcGRldih2bV9vZmZz ZXRfdCBwYSwgdm1fc2l6ZV90IHNpemUpCit7CiAgICAgICAgIHZtX29mZnNldF90IHZhLCB0bXB2 YSwgb2Zmc2V0OwogCiAJLyogCkBAIC0yNzUxLDYgKzI4NDIsNyBAQAogCQlwbWFwX2tyZW1vdmUo dG1wdmEpOwogCWttZW1fZnJlZShrZXJuZWxfbWFwLCBiYXNlLCBzaXplKTsKIH0KKyNlbmRpZgog CiAvKgogICogcGVyZm9ybSB0aGUgcG1hcCB3b3JrIGZvciBtaW5jb3JlCkBAIC0zMDY3LDYgKzMx NTksNyBAQAogCVBIWVNfVE9fVk1fUEFHRShwYSktPm1kLnB2X2ZsYWdzIHw9IChQVl9UQUJMRV9S RUYgfCBQVl9UQUJMRV9NT0QpOwogfQogCisKIC8qCiAgKglSb3V0aW5lOglwbWFwX2tleHRyYWN0 CiAgKglGdW5jdGlvbjoKQEAgLTMwNzYsNDEgKzMxNjksNjggQEAKICAvKiBQTUFQX0lOTElORSAq LyB2bV9vZmZzZXRfdAogcG1hcF9rZXh0cmFjdCh2bV9vZmZzZXRfdCB2YSkKIHsKLQl2bV9vZmZz ZXRfdCBwYSA9IDA7CisJaW50IG1hcHBlZDsKIAotCWlmICh2YSA8IE1JUFNfS1NFRzBfU1RBUlQp IHsKLQkJLyogdXNlciB2aXJ0dWFsIGFkZHJlc3MgKi8KKwkvKgorCSAqIEZpcnN0LCB0aGUgZGly ZWN0LW1hcHBlZCByZWdpb25zLgorCSAqLworI2lmIGRlZmluZWQoX19taXBzX242NCkKKwlpZiAo dmEgPj0gTUlQU19YS1BIWVNfU1RBUlQgJiYgdmEgPCBNSVBTX1hLUEhZU19FTkQpCisJCXJldHVy biAoTUlQU19YS1BIWVNfVE9fUEhZUyh2YSkpOworI2VuZGlmCisKKwlpZiAodmEgPj0gTUlQU19L U0VHMF9TVEFSVCAmJiB2YSA8IE1JUFNfS1NFRzBfRU5EKQorCQlyZXR1cm4gKE1JUFNfS1NFRzBf VE9fUEhZUyh2YSkpOworCisJaWYgKHZhID49IE1JUFNfS1NFRzFfU1RBUlQgJiYgdmEgPCBNSVBT X0tTRUcxX0VORCkKKwkJcmV0dXJuIChNSVBTX0tTRUcxX1RPX1BIWVModmEpKTsKKworCS8qCisJ ICogVXNlciB2aXJ0dWFsIGFkZHJlc3Nlcy4KKwkgKi8KKwlpZiAodmEgPCBWTV9NQVhVU0VSX0FE RFJFU1MpIHsKIAkJcHRfZW50cnlfdCAqcHRlcDsKIAogCQlpZiAoY3VycHJvYyAmJiBjdXJwcm9j LT5wX3Ztc3BhY2UpIHsKIAkJCXB0ZXAgPSBwbWFwX3B0ZSgmY3VycHJvYy0+cF92bXNwYWNlLT52 bV9wbWFwLCB2YSk7Ci0JCQlpZiAocHRlcCkKLQkJCQlwYSA9IFRMQkxPX1BURV9UT19QQSgqcHRl cCkgfAotCQkJCSAgICAodmEgJiBQQUdFX01BU0spOworCQkJaWYgKHB0ZXApIHsKKwkJCQlyZXR1 cm4gKFRMQkxPX1BURV9UT19QQSgqcHRlcCkgfAorCQkJCSAgICAodmEgJiBQQUdFX01BU0spKTsK KwkJCX0KKwkJCXJldHVybiAoMCk7CiAJCX0KLQl9IGVsc2UgaWYgKHZhID49IE1JUFNfS1NFRzBf U1RBUlQgJiYKLQkgICAgdmEgPCBNSVBTX0tTRUcxX1NUQVJUKQotCQlwYSA9IE1JUFNfS1NFRzBf VE9fUEhZUyh2YSk7Ci0JZWxzZSBpZiAodmEgPj0gTUlQU19LU0VHMV9TVEFSVCAmJgotCSAgICB2 YSA8IE1JUFNfS1NFRzJfU1RBUlQpCi0JCXBhID0gTUlQU19LU0VHMV9UT19QSFlTKHZhKTsKLQll bHNlIGlmICh2YSA+PSBNSVBTX0tTRUcyX1NUQVJUICYmIHZhIDwgVk1fTUFYX0tFUk5FTF9BRERS RVNTKSB7CisJfQorCisJLyoKKwkgKiBTaG91bGQgYmUga2VybmVsIHZpcnR1YWwgaGVyZSwgb3Ro ZXJ3aXNlIGZhaWwKKwkgKi8KKwltYXBwZWQgPSAodmEgPj0gTUlQU19LU0VHMl9TVEFSVCB8fCB2 YSA8IE1JUFNfS1NFRzJfRU5EKTsKKyNpZiBkZWZpbmVkKF9fbWlwc19uNjQpCisJbWFwcGVkID0g bWFwcGVkIHx8ICh2YSA+PSBNSVBTX1hLU0VHX1NUQVJUIHx8IHZhIDwgTUlQU19YS1NFR19FTkQp OworI2VuZGlmIAorCS8qCisJICogS2VybmVsIHZpcnR1YWwuCisJICovCisKKwlpZiAobWFwcGVk KSB7CiAJCXB0X2VudHJ5X3QgKnB0ZXA7CiAKIAkJLyogSXMgdGhlIGtlcm5lbCBwbWFwIGluaXRp YWxpemVkPyAqLwogCQlpZiAoa2VybmVsX3BtYXAtPnBtX2FjdGl2ZSkgewotCQkJLyogSXRzIGlu c2lkZSB0aGUgdmlydHVhbCBhZGRyZXNzIHJhbmdlICovCisJCQkvKiBJdCdzIGluc2lkZSB0aGUg dmlydHVhbCBhZGRyZXNzIHJhbmdlICovCiAJCQlwdGVwID0gcG1hcF9wdGUoa2VybmVsX3BtYXAs IHZhKTsKIAkJCWlmIChwdGVwKSB7CiAJCQkJcmV0dXJuIChUTEJMT19QVEVfVE9fUEEoKnB0ZXAp IHwKIAkJCQkgICAgKHZhICYgUEFHRV9NQVNLKSk7CiAJCQl9Ci0JCQlyZXR1cm4gKDApOwogCQl9 CisJCXJldHVybiAoMCk7CiAJfQotCXJldHVybiBwYTsKKworCXBhbmljKCIlcyBmb3IgdW5rbm93 biBhZGRyZXNzIHNwYWNlICVwLiIsIF9fZnVuY19fLCAodm9pZCAqKXZhKTsKIH0KIAorCiB2b2lk IAogcG1hcF9mbHVzaF9wdmNhY2hlKHZtX3BhZ2VfdCBtKQogewo= --e0cb4e887827a90f16048acf6235 Content-Type: text/x-patch; charset=US-ASCII; name="runq-64.patch" Content-Disposition: attachment; filename="runq-64.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gbcfinv29 SW5kZXg6IHN5cy9taXBzL2luY2x1ZGUvcnVucS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9taXBzL2lu Y2x1ZGUvcnVucS5oCShyZXZpc2lvbiAyMDk3NTYpCisrKyBzeXMvbWlwcy9pbmNsdWRlL3J1bnEu aAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTEgKzMwLDE2IEBACiAjaWZuZGVmIF9NQUNISU5FX1JV TlFfSF8KICNkZWZpbmUJX01BQ0hJTkVfUlVOUV9IXwogCisjaWYgZGVmaW5lZChfX21pcHNfbjY0 KQorI2RlZmluZQlSUUJfTEVOCQkoMSkJCS8qIE51bWJlciBvZiBwcmlvcml0eSBzdGF0dXMgd29y ZHMuICovCisjZGVmaW5lCVJRQl9MMkJQVwkoNikJCS8qIExvZzIoc2l6ZW9mKHJxYl93b3JkX3Qp ICogTkJCWSkpLiAqLworI2Vsc2UKICNkZWZpbmUJUlFCX0xFTgkJKDIpCQkvKiBOdW1iZXIgb2Yg cHJpb3JpdHkgc3RhdHVzIHdvcmRzLiAqLwogI2RlZmluZQlSUUJfTDJCUFcJKDUpCQkvKiBMb2cy KHNpemVvZihycWJfd29yZF90KSAqIE5CQlkpKS4gKi8KKyNlbmRpZgogI2RlZmluZQlSUUJfQlBX CQkoMTw8UlFCX0wyQlBXKQkvKiBCaXRzIGluIGFuIHJxYl93b3JkX3QuICovCiAKLSNkZWZpbmUJ UlFCX0JJVChwcmkpCSgxIDw8ICgocHJpKSAmIChSUUJfQlBXIC0gMSkpKQorI2RlZmluZQlSUUJf QklUKHByaSkJKDF1bCA8PCAoKHByaSkgJiAoUlFCX0JQVyAtIDEpKSkKICNkZWZpbmUJUlFCX1dP UkQocHJpKQkoKHByaSkgPj4gUlFCX0wyQlBXKQogCiAjZGVmaW5lCVJRQl9GRlMod29yZCkJKGZm cyh3b3JkKSAtIDEpCkBAIC00Miw2ICs0NywxMCBAQAogLyoKICAqIFR5cGUgb2YgcnVuIHF1ZXVl IHN0YXR1cyB3b3JkLgogICovCi10eXBlZGVmIHVfaW50MzJfdAlycWJfd29yZF90OworI2lmIGRl ZmluZWQoX19taXBzX242NCkKK3R5cGVkZWYJdV9pbnQ2NF90CXJxYl93b3JkX3Q7CisjZWxzZQor dHlwZWRlZgl1X2ludDMyX3QJcnFiX3dvcmRfdDsKKyNlbmRpZgogCiAjZW5kaWYK --e0cb4e887827a90f16048acf6235 Content-Type: text/x-patch; charset=US-ASCII; name="ldscript-64.patch" Content-Disposition: attachment; filename="ldscript-64.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gbcfkj1x10 SW5kZXg6IHN5cy9jb25mL2xkc2NyaXB0Lm1pcHMuNjQKPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3lzL2NvbmYv bGRzY3JpcHQubWlwcy42NAkocmV2aXNpb24gMCkKKysrIHN5cy9jb25mL2xkc2NyaXB0Lm1pcHMu NjQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzAxIEBACisvKi0KKyAqIENvcHlyaWdodCAoYykg MjAwMSwgMjAwNCwgMjAwOCwgSnVuaXBlciBOZXR3b3JrcywgSW5jLgorICogQWxsIHJpZ2h0cyBy ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg dGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIEp1bmlwZXIg TmV0d29ya3MsIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqICAgIGNvbnRyaWJ1dG9ycyBt YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisg KiAgICB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgSlVOSVBFUiBORVRXT1JL UyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJ RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBKVU5J UEVSIE5FVFdPUktTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKyAqIEZPUiBBTlkgRElSRUNU LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U SUFMCisgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F TlQgT0YgU1VCU1RJVFVURSBHT09EUworICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisgKiBIT1dFVkVSIENBVVNF RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU UklDVAorICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1B R0UuCisgKgorICoJSk5QUjogbGRzY3JpcHQubWlwcyx2IDEuMyAyMDA2LzEwLzExIDA2OjEyOjA0 CisgKiAkRnJlZUJTRDogaGVhZC9zeXMvY29uZi9sZHNjcmlwdC5taXBzLm4zMiAyMDk1MDIgMjAx MC0wNi0yNCAxMDoxNDozMVogamNoYW5kcmEgJAorICovCisKK09VVFBVVF9GT1JNQVQoImVsZjY0 LXRyYWRiaWdtaXBzIiwgImVsZjY0LXRyYWRiaWdtaXBzIiwgImVsZjY0LXRyYWRsaXR0bGVtaXBz IikKK09VVFBVVF9BUkNIKG1pcHMpCitFTlRSWShfc3RhcnQpCitTRUFSQ0hfRElSKC91c3IvbGli KTsKKy8qIERvIHdlIG5lZWQgYW55IG9mIHRoZXNlIGZvciBlbGY/CisgICBfX0RZTkFNSUMgPSAw OworUFJPVklERSAoX0RZTkFNSUMgPSAwKTsKKyovCitTRUNUSU9OUworeworICAvKiBSZWFkLW9u bHkgc2VjdGlvbnMsIG1lcmdlZCBpbnRvIHRleHQgc2VnbWVudDogKi8KKyAgLiA9IEtFUk5MT0FE QUREUiArIFNJWkVPRl9IRUFERVJTOworICAudGV4dCAgICAgIDoKKyAgeworICAgICooLnRyYXAp CisgICAgKigudGV4dCkKKyAgICAqKC50ZXh0LiopCisgICAgKiguc3R1YikKKyAgICAvKiAuZ251 Lndhcm5pbmcgc2VjdGlvbnMgYXJlIGhhbmRsZWQgc3BlY2lhbGx5IGJ5IGVsZjMyLmVtLiAgKi8K KyAgICAqKC5nbnUud2FybmluZykKKyAgICAqKC5nbnUubGlua29uY2UudC4qKQorICB9ID0weDEw MDAwMDAKKyAgLmZpbmkgICAgICA6CisgIHsKKyAgICBLRUVQICgqKC5maW5pKSkKKyAgfSA9MHgx MDAwMDAwCisgIFBST1ZJREUgKF9fZXRleHQgPSAuKTsKKyAgUFJPVklERSAoX2V0ZXh0ID0gLik7 CisgIFBST1ZJREUgKGV0ZXh0ID0gLik7CisgIC5yb2RhdGEgICA6IHsgKigucm9kYXRhKSAqKC5y b2RhdGEuKikgKiguZ251LmxpbmtvbmNlLnIuKikgfQorICAucm9kYXRhMSAgIDogeyAqKC5yb2Rh dGExKSB9CisgIC5pbnRlcnAgICAgIDogeyAqKC5pbnRlcnApIAl9CisgIC5oYXNoICAgICAgICAg IDogeyAqKC5oYXNoKQkJfQorICAuZHluc3ltICAgICAgICA6IHsgKiguZHluc3ltKQkJfQorICAu ZHluc3RyICAgICAgICA6IHsgKiguZHluc3RyKQkJfQorICAuZ251LnZlcnNpb24gICA6IHsgKigu Z251LnZlcnNpb24pCX0KKyAgLmdudS52ZXJzaW9uX2QgICA6IHsgKiguZ251LnZlcnNpb25fZCkJ fQorICAuZ251LnZlcnNpb25fciAgIDogeyAqKC5nbnUudmVyc2lvbl9yKQl9CisgIC5yZWwuaW5p dCAgICAgIDogeyAqKC5yZWwuaW5pdCkJfQorICAucmVsYS5pbml0ICAgICA6IHsgKigucmVsYS5p bml0KQl9CisgIC5yZWwudGV4dCAgICAgIDoKKyAgICB7CisgICAgICAqKC5yZWwudGV4dCkKKyAg ICAgICooLnJlbC50ZXh0LiopCisgICAgICAqKC5yZWwuZ251LmxpbmtvbmNlLnQuKikKKyAgICB9 CisgIC5yZWxhLnRleHQgICAgIDoKKyAgICB7CisgICAgICAqKC5yZWxhLnRleHQpCisgICAgICAq KC5yZWxhLnRleHQuKikKKyAgICAgICooLnJlbGEuZ251LmxpbmtvbmNlLnQuKikKKyAgICB9Cisg IC5yZWwuZmluaSAgICAgIDogeyAqKC5yZWwuZmluaSkJfQorICAucmVsYS5maW5pICAgICA6IHsg KigucmVsYS5maW5pKQl9CisgIC5yZWwucm9kYXRhICAgIDoKKyAgICB7CisgICAgICAqKC5yZWwu cm9kYXRhKQorICAgICAgKigucmVsLnJvZGF0YS4qKQorICAgICAgKigucmVsLmdudS5saW5rb25j ZS5yLiopCisgICAgfQorICAucmVsYS5yb2RhdGEgICA6CisgICAgeworICAgICAgKigucmVsYS5y b2RhdGEpCisgICAgICAqKC5yZWxhLnJvZGF0YS4qKQorICAgICAgKigucmVsYS5nbnUubGlua29u Y2Uuci4qKQorICAgIH0KKyAgLnJlbC5kYXRhICAgICAgOgorICAgIHsKKyAgICAgICooLnJlbC5k YXRhKQorICAgICAgKigucmVsLmRhdGEuKikKKyAgICAgICooLnJlbC5nbnUubGlua29uY2UuZC4q KQorICAgIH0KKyAgLnJlbGEuZGF0YSAgICAgOgorICAgIHsKKyAgICAgICooLnJlbGEuZGF0YSkK KyAgICAgICooLnJlbGEuZGF0YS4qKQorICAgICAgKigucmVsYS5nbnUubGlua29uY2UuZC4qKQor ICAgIH0KKyAgLnJlbC5jdG9ycyAgICAgOiB7ICooLnJlbC5jdG9ycykJfQorICAucmVsYS5jdG9y cyAgICA6IHsgKigucmVsYS5jdG9ycykJfQorICAucmVsLmR0b3JzICAgICA6IHsgKigucmVsLmR0 b3JzKQl9CisgIC5yZWxhLmR0b3JzICAgIDogeyAqKC5yZWxhLmR0b3JzKQl9CisgIC5yZWwuZ290 ICAgICAgIDogeyAqKC5yZWwuZ290KQkJfQorICAucmVsYS5nb3QgICAgICA6IHsgKigucmVsYS5n b3QpCQl9CisgIC5yZWwuc2RhdGEgICAgIDoKKyAgICB7CisgICAgICAqKC5yZWwuc2RhdGEpCisg ICAgICAqKC5yZWwuc2RhdGEuKikKKyAgICAgICooLnJlbC5nbnUubGlua29uY2Uucy4qKQorICAg IH0KKyAgLnJlbGEuc2RhdGEgICAgIDoKKyAgICB7CisgICAgICAqKC5yZWxhLnNkYXRhKQorICAg ICAgKigucmVsYS5zZGF0YS4qKQorICAgICAgKigucmVsYS5nbnUubGlua29uY2Uucy4qKQorICAg IH0KKyAgLnJlbC5zYnNzICAgICAgOgorICAgIHsgCisgICAgICAqKC5yZWwuc2JzcykKKyAgICAg ICooLnJlbC5zYnNzLiopCisgICAgICAqKC5yZWwuZ251LmxpbmtvbmNlLnNiLiopCisgICAgfQor ICAucmVsYS5zYnNzICAgICA6CisgICAgeworICAgICAgKigucmVsYS5zYnNzKQorICAgICAgKigu cmVsYS5zYnNzLiopCisgICAgICAqKC5yZWwuZ251LmxpbmtvbmNlLnNiLiopCisgICAgfQorICAu cmVsLnNkYXRhMiAgICA6IAorICAgIHsgCisgICAgICAqKC5yZWwuc2RhdGEyKQorICAgICAgKigu cmVsLnNkYXRhMi4qKQorICAgICAgKigucmVsLmdudS5saW5rb25jZS5zMi4qKQorICAgIH0KKyAg LnJlbGEuc2RhdGEyICAgOiAKKyAgICB7CisgICAgICAqKC5yZWxhLnNkYXRhMikKKyAgICAgICoo LnJlbGEuc2RhdGEyLiopCisgICAgICAqKC5yZWxhLmdudS5saW5rb25jZS5zMi4qKQorICAgIH0K KyAgLnJlbC5zYnNzMiAgICAgOiAKKyAgICB7IAorICAgICAgKigucmVsLnNic3MyKQkKKyAgICAg ICooLnJlbC5zYnNzMi4qKQorICAgICAgKigucmVsLmdudS5saW5rb25jZS5zYjIuKikKKyAgICB9 CisgIC5yZWxhLnNic3MyICAgIDogCisgICAgeyAKKyAgICAgICooLnJlbGEuc2JzczIpCQorICAg ICAgKigucmVsYS5zYnNzMi4qKQorICAgICAgKigucmVsYS5nbnUubGlua29uY2Uuc2IyLiopCisg ICAgfQorICAucmVsLmJzcyAgICAgICA6IAorICAgIHsgCisgICAgICAqKC5yZWwuYnNzKQorICAg ICAgKigucmVsLmJzcy4qKQorICAgICAgKigucmVsLmdudS5saW5rb25jZS5iLiopCisgICAgfQor ICAucmVsYS5ic3MgICAgICA6IAorICAgIHsgCisgICAgICAqKC5yZWxhLmJzcykKKyAgICAgICoo LnJlbGEuYnNzLiopCisgICAgICAqKC5yZWxhLmdudS5saW5rb25jZS5iLiopCisgICAgfQorICAu cmVsLnBsdCAgICAgICA6IHsgKigucmVsLnBsdCkJCX0KKyAgLnJlbGEucGx0ICAgICAgOiB7ICoo LnJlbGEucGx0KQkJfQorICAuaW5pdCAgICAgICAgICA6IAorICB7IAorICAgIEtFRVAgKCooLmlu aXQpKQorICB9ID0weDEwMDAwMDAKKyAgLnJlZ2luZm8gOiB7ICooLnJlZ2luZm8pIH0KKyAgLnNk YXRhMiAgIDogeyAqKC5zZGF0YTIpICooLnNkYXRhMi4qKSAqKC5nbnUubGlua29uY2UuczIuKikg fQorICAuc2JzczIgICA6IHsgKiguc2JzczIpICooLnNic3MyLiopICooLmdudS5saW5rb25jZS5z YjIuKikgfQorICAuID0gQUxJR04oMHgyMDAwKSArICguICYgKDB4MjAwMCAtIDEpKTsKKyAgLmRh dGEgICAgOgorICB7CisgICAgKiguZGF0YSkKKyAgICAqKC5kYXRhLiopCisgICAgKiguZ251Lmxp bmtvbmNlLmQuKikKKyAgICBTT1JUKENPTlNUUlVDVE9SUykKKyAgfQorICAuZGF0YTEgICA6IHsg KiguZGF0YTEpIH0KKyAgLmVoX2ZyYW1lIDogeyBLRUVQICgqKC5laF9mcmFtZSkpIH0KKyAgLmdj Y19leGNlcHRfdGFibGUgOiB7ICooLmdjY19leGNlcHRfdGFibGUpIH0KKyAgLmN0b3JzICAgOiAK KyAgeworICAgIC8qIGdjYyB1c2VzIGNydGJlZ2luLm8gdG8gZmluZCB0aGUgc3RhcnQgb2YKKyAg ICAgICB0aGUgY29uc3RydWN0b3JzLCBzbyB3ZSBtYWtlIHN1cmUgaXQgaXMKKyAgICAgICBmaXJz dC4gIEJlY2F1c2UgdGhpcyBpcyBhIHdpbGRjYXJkLCBpdAorICAgICAgIGRvZXNuJ3QgbWF0dGVy IGlmIHRoZSB1c2VyIGRvZXMgbm90CisgICAgICAgYWN0dWFsbHkgbGluayBhZ2FpbnN0IGNydGJl Z2luLm87IHRoZQorICAgICAgIGxpbmtlciB3b24ndCBsb29rIGZvciBhIGZpbGUgdG8gbWF0Y2gg YQorICAgICAgIHdpbGRjYXJkLiAgVGhlIHdpbGRjYXJkIGFsc28gbWVhbnMgdGhhdCBpdAorICAg ICAgIGRvZXNuJ3QgbWF0dGVyIHdoaWNoIGRpcmVjdG9yeSBjcnRiZWdpbi5vCisgICAgICAgaXMg aW4uICAqLworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5jdG9ycykpCisgICAgLyogV2UgZG9uJ3Qg d2FudCB0byBpbmNsdWRlIHRoZSAuY3RvciBzZWN0aW9uIGZyb20KKyAgICAgICBmcm9tIHRoZSBj cnRlbmQubyBmaWxlIHVudGlsIGFmdGVyIHRoZSBzb3J0ZWQgY3RvcnMuCisgICAgICAgVGhlIC5j dG9yIHNlY3Rpb24gZnJvbSB0aGUgY3J0ZW5kIGZpbGUgY29udGFpbnMgdGhlCisgICAgICAgZW5k IG9mIGN0b3JzIG1hcmtlciBhbmQgaXQgbXVzdCBiZSBsYXN0ICovCisgICAgS0VFUCAoKihFWENM VURFX0ZJTEUgKCpjcnRlbmQubyApIC5jdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5jdG9ycy4q KSkpCisgICAgS0VFUCAoKiguY3RvcnMpKQorICB9CisgICAuZHRvcnMgICAgICAgICA6CisgIHsK KyAgICBLRUVQICgqY3J0YmVnaW4ubyguZHRvcnMpKQorICAgIEtFRVAgKCooRVhDTFVERV9GSUxF ICgqY3J0ZW5kLm8gKSAuZHRvcnMpKQorICAgIEtFRVAgKCooU09SVCguZHRvcnMuKikpKQorICAg IEtFRVAgKCooLmR0b3JzKSkKKyAgfQorICAucGx0ICAgICAgOiB7ICooLnBsdCkJfQorICBfZ3Ag PSBBTElHTigxNikgKyAweDdmZjA7CisgIC5nb3QJCSAgOiB7ICooLmdvdC5wbHQpICooLmdvdCkg fQorICAuZHluYW1pYyAgICAgICA6IHsgKiguZHluYW1pYykgfQorICAvKiBXZSB3YW50IHRoZSBz bWFsbCBkYXRhIHNlY3Rpb25zIHRvZ2V0aGVyLCBzbyBzaW5nbGUtaW5zdHJ1Y3Rpb24gb2Zmc2V0 cworICAgICBjYW4gYWNjZXNzIHRoZW0gYWxsLCBhbmQgaW5pdGlhbGl6ZWQgZGF0YSBhbGwgYmVm b3JlIHVuaW5pdGlhbGl6ZWQsIHNvCisgICAgIHdlIGNhbiBzaG9ydGVuIHRoZSBvbi1kaXNrIHNl Z21lbnQgc2l6ZS4gICovCisgIC5zZGF0YSAgICAgOiAKKyAgeworICAgICooLnNkYXRhKSAKKyAg ICAqKC5zZGF0YS4qKQorICAgICooLmdudS5saW5rb25jZS5zLiopCisgIH0KKyAgX2VkYXRhID0g LjsKKyAgUFJPVklERSAoZWRhdGEgPSAuKTsKKyAgX19ic3Nfc3RhcnQgPSAuOworICAuc2JzcyAg ICAgIDoKKyAgeworICAgIFBST1ZJREUgKF9fc2Jzc19zdGFydCA9IC4pOworICAgIFBST1ZJREUg KF9fX3Nic3Nfc3RhcnQgPSAuKTsKKyAgICAqKC5keW5zYnNzKQorICAgICooLnNic3MpCisgICAg Kiguc2Jzcy4qKQorICAgICooLmdudS5saW5rb25jZS5zYi4qKQorICAgICooLnNjb21tb24pCisg ICAgUFJPVklERSAoX19zYnNzX2VuZCA9IC4pOworICAgIFBST1ZJREUgKF9fX3Nic3NfZW5kID0g Lik7CisgIH0KKyAgLmJzcyAgICAgICA6CisgIHsKKyAgICooLmR5bmJzcykKKyAgICooLmJzcykK KyAgICooLmJzcy4qKQorICAgKiguZ251LmxpbmtvbmNlLmIuKikKKyAgICooQ09NTU9OKQorICAg LyogQWxpZ24gaGVyZSB0byBlbnN1cmUgdGhhdCB0aGUgLmJzcyBzZWN0aW9uIG9jY3VwaWVzIHNw YWNlIHVwIHRvCisgICAgICBfZW5kLiAgQWxpZ24gYWZ0ZXIgLmJzcyB0byBlbnN1cmUgY29ycmVj dCBhbGlnbm1lbnQgZXZlbiBpZiB0aGUKKyAgICAgIC5ic3Mgc2VjdGlvbiBkaXNhcHBlYXJzIGJl Y2F1c2UgdGhlcmUgYXJlIG5vIGlucHV0IHNlY3Rpb25zLiAgKi8KKyAgIC4gPSBBTElHTig2NCAv IDgpOworICB9CisgIC4gPSBBTElHTig2NCAvIDgpOworICBfZW5kID0gLjsKKyAgUFJPVklERSAo ZW5kID0gLik7CisgIC8qIFN0YWJzIGRlYnVnZ2luZyBzZWN0aW9ucy4gICovCisgIC5zdGFiIDAg OiB7ICooLnN0YWIpIH0KKyAgLnN0YWJzdHIgMCA6IHsgKiguc3RhYnN0cikgfQorICAuc3RhYi5l eGNsIDAgOiB7ICooLnN0YWIuZXhjbCkgfQorICAuc3RhYi5leGNsc3RyIDAgOiB7ICooLnN0YWIu ZXhjbHN0cikgfQorICAuc3RhYi5pbmRleCAwIDogeyAqKC5zdGFiLmluZGV4KSB9CisgIC5zdGFi LmluZGV4c3RyIDAgOiB7ICooLnN0YWIuaW5kZXhzdHIpIH0KKyAgLmNvbW1lbnQgMCA6IHsgKigu Y29tbWVudCkgfQorICAvKiBEV0FSRiBkZWJ1ZyBzZWN0aW9ucy4KKyAgICAgU3ltYm9scyBpbiB0 aGUgRFdBUkYgZGVidWdnaW5nIHNlY3Rpb25zIGFyZSByZWxhdGl2ZSB0byB0aGUgYmVnaW5uaW5n CisgICAgIG9mIHRoZSBzZWN0aW9uIHNvIHdlIGJlZ2luIHRoZW0gYXQgMC4gICovCisgIC8qIERX QVJGIDEgKi8KKyAgLmRlYnVnICAgICAgICAgIDAgOiB7ICooLmRlYnVnKSB9CisgIC5saW5lICAg ICAgICAgICAwIDogeyAqKC5saW5lKSB9CisgIC8qIEdOVSBEV0FSRiAxIGV4dGVuc2lvbnMgKi8K KyAgLmRlYnVnX3NyY2luZm8gIDAgOiB7ICooLmRlYnVnX3NyY2luZm8pIH0KKyAgLmRlYnVnX3Nm bmFtZXMgIDAgOiB7ICooLmRlYnVnX3NmbmFtZXMpIH0KKyAgLyogRFdBUkYgMS4xIGFuZCBEV0FS RiAyICovCisgIC5kZWJ1Z19hcmFuZ2VzICAwIDogeyAqKC5kZWJ1Z19hcmFuZ2VzKSB9CisgIC5k ZWJ1Z19wdWJuYW1lcyAwIDogeyAqKC5kZWJ1Z19wdWJuYW1lcykgfQorICAvKiBEV0FSRiAyICov CisgIC5kZWJ1Z19pbmZvICAgICAwIDogeyAqKC5kZWJ1Z19pbmZvKSAqKC5nbnUubGlua29uY2Uu d2kuKikgfQorICAuZGVidWdfYWJicmV2ICAgMCA6IHsgKiguZGVidWdfYWJicmV2KSB9CisgIC5k ZWJ1Z19saW5lICAgICAwIDogeyAqKC5kZWJ1Z19saW5lKSB9CisgIC5kZWJ1Z19mcmFtZSAgICAw IDogeyAqKC5kZWJ1Z19mcmFtZSkgfQorICAuZGVidWdfc3RyICAgICAgMCA6IHsgKiguZGVidWdf c3RyKSB9CisgIC5kZWJ1Z19sb2MgICAgICAwIDogeyAqKC5kZWJ1Z19sb2MpIH0KKyAgLmRlYnVn X21hY2luZm8gIDAgOiB7ICooLmRlYnVnX21hY2luZm8pIH0KKyAgLyogU0dJL01JUFMgRFdBUkYg MiBleHRlbnNpb25zICovCisgIC5kZWJ1Z193ZWFrbmFtZXMgMCA6IHsgKiguZGVidWdfd2Vha25h bWVzKSB9CisgIC5kZWJ1Z19mdW5jbmFtZXMgMCA6IHsgKiguZGVidWdfZnVuY25hbWVzKSB9Cisg IC5kZWJ1Z190eXBlbmFtZXMgMCA6IHsgKiguZGVidWdfdHlwZW5hbWVzKSB9CisgIC5kZWJ1Z192 YXJuYW1lcyAgMCA6IHsgKiguZGVidWdfdmFybmFtZXMpIH0KKyAgLyogVGhlc2UgbXVzdCBhcHBl YXIgcmVnYXJkbGVzcyBvZiAgLiAgKi8KK30KSW5kZXg6IHN5cy9taXBzL2NvbmYvWExSNjQKPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0gc3lzL21pcHMvY29uZi9YTFI2NAkocmV2aXNpb24gMCkKKysrIHN5cy9taXBz L2NvbmYvWExSNjQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMzIEBACisjIFhMUjY0IC0tIEtl cm5lbCBjb25maWd1cmF0aW9uIGZpbGUgZm9yIE42NCBrZXJuZWwgb24gWExSL1hMUworIworIyBG b3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGlzIGZpbGUsIHBsZWFzZSByZWFkIHRoZSBoYW5kYm9v ayBzZWN0aW9uIG9uCisjIEtlcm5lbCBDb25maWd1cmF0aW9uIEZpbGVzOgorIworIyAgICBodHRw Oi8vd3d3LkZyZWVCU0Qub3JnL2RvYy9lbl9VUy5JU084ODU5LTEvYm9va3MvaGFuZGJvb2sva2Vy bmVsY29uZmlnLWNvbmZpZy5odG1sCisjCisjIFRoZSBoYW5kYm9vayBpcyBhbHNvIGF2YWlsYWJs ZSBsb2NhbGx5IGluIC91c3Ivc2hhcmUvZG9jL2hhbmRib29rCisjIGlmIHlvdSd2ZSBpbnN0YWxs ZWQgdGhlIGRvYyBkaXN0cmlidXRpb24sIG90aGVyd2lzZSBhbHdheXMgc2VlIHRoZQorIyBGcmVl QlNEIFdvcmxkIFdpZGUgV2ViIHNlcnZlciAoaHR0cDovL3d3dy5GcmVlQlNELm9yZy8pIGZvciB0 aGUKKyMgbGF0ZXN0IGluZm9ybWF0aW9uLgorIworIyBBbiBleGhhdXN0aXZlIGxpc3Qgb2Ygb3B0 aW9ucyBhbmQgbW9yZSBkZXRhaWxlZCBleHBsYW5hdGlvbnMgb2YgdGhlCisjIGRldmljZSBsaW5l cyBpcyBhbHNvIHByZXNlbnQgaW4gdGhlIC4uLy4uL2NvbmYvTk9URVMgYW5kIE5PVEVTIGZpbGVz LiAKKyMgSWYgeW91IGFyZSBpbiBkb3VidCBhcyB0byB0aGUgcHVycG9zZSBvciBuZWNlc3NpdHkg b2YgYSBsaW5lLCBjaGVjayBmaXJzdCAKKyMgaW4gTk9URVMuCisjCisjICRGcmVlQlNEOiBoZWFk L3N5cy9taXBzL2NvbmYvWExSTjMyIDIwOTUwMiAyMDEwLTA2LTI0IDEwOjE0OjMxWiBqY2hhbmRy YSAkCisKK21hY2hpbmUgCW1pcHMKK2NwdSAJCUNQVV9NSVBTNEtDCitpZGVudCAJCVhMUgorCitt YWtlb3B0aW9ucwlNT0RVTEVTX09WRVJSSURFPSIiCittYWtlb3B0aW9ucyAgICAgVEFSR0VUX0JJ R19FTkRJQU4KKworaW5jbHVkZQkJIi4uL3JtaS9zdGQueGxyIgorCittYWtlb3B0aW9ucwlERUJV Rz0tZwkJIyBCdWlsZCBrZXJuZWwgd2l0aCBnZGIoMSkgZGVidWcgc3ltYm9scworbWFrZW9wdGlv bnMJQVJDSF9GTEFHUz0iLW1hcmNoPW1pcHM2NCAtbWFiaT02NCIKK21ha2VvcHRpb25zCUxEU0NS SVBUX05BTUU9bGRzY3JpcHQubWlwcy42NAorCisjcHJvZmlsZQkJMgorCitvcHRpb25zIAlTQ0hF RF9VTEUJCSMgVUxFIHNjaGVkdWxlcgorI29wdGlvbnMJCVZFUkJPU0VfU1lTSU5JVAorI29wdGlv bnMgCVNDSEVEXzRCU0QJCSMgNEJTRCBzY2hlZHVsZXIKKyNvcHRpb25zICAgICAgICAgU01QCisj b3B0aW9ucyAJUFJFRU1QVElPTgkJIyBFbmFibGUga2VybmVsIHRocmVhZCBwcmVlbXB0aW9uCisj b3B0aW9ucyAJRlVMTF9QUkVFTVBUSU9OCQkjIEVuYWJsZSBrZXJuZWwgdGhyZWFkIHByZWVtcHRp b24KK29wdGlvbnMgCUlORVQJCQkjIEludGVyTkVUd29ya2luZworb3B0aW9ucyAJSU5FVDYJCQkj IElQdjYgY29tbXVuaWNhdGlvbnMgcHJvdG9jb2xzCitvcHRpb25zIAlGRlMJCQkjIEJlcmtlbGV5 IEZhc3QgRmlsZXN5c3RlbQorI29wdGlvbnMgCVNPRlRVUERBVEVTCQkjIEVuYWJsZSBGRlMgc29m dCB1cGRhdGVzIHN1cHBvcnQKK29wdGlvbnMgCVVGU19BQ0wJCQkjIFN1cHBvcnQgZm9yIGFjY2Vz cyBjb250cm9sIGxpc3RzCitvcHRpb25zIAlVRlNfRElSSEFTSAkJIyBJbXByb3ZlIHBlcmZvcm1h bmNlIG9uIGJpZyBkaXJlY3Rvcmllcworb3B0aW9ucwkJTkZTQ0xJRU5UCitvcHRpb25zCQlORlNf Uk9PVAorIworb3B0aW9ucyAgICAgICAgIEJPT1RQCitvcHRpb25zICAgICAgICAgQk9PVFBfTkZT Uk9PVAorb3B0aW9ucyAgICAgICAgIEJPT1RQX05GU1YzCitvcHRpb25zICAgICAgICAgQk9PVFBf V0lSRURfVE89cmdlMAorb3B0aW9ucyAgICAgICAgIEJPT1RQX0NPTVBBVAorb3B0aW9ucwkJUk9P VERFVk5BTUU9XCJuZnM6MTAuMS4xLjg6L3Vzci9leHRyYS9uZnNyb290XCIKKyMKKyNvcHRpb25z IAlNRF9ST09UCQkJIyBNRCBpcyBhIHBvdGVudGlhbCByb290IGRldmljZQorI29wdGlvbnMJCU1E X1JPT1RfU0laRT0yNzAwMAorI29wdGlvbnMJCU1EX1JPT1RfU0laRT01MTIwCisjb3B0aW9ucwkJ Uk9PVERFVk5BTUU9XCJ1ZnM6bWQwXCIKK29wdGlvbnMgCV9LUE9TSVhfUFJJT1JJVFlfU0NIRURV TElORyAjIFBPU0lYIFAxMDAzXzFCIHJlYWwtdGltZSBleHRlbnNpb25zCitvcHRpb25zIAlIWj0x MDAwCQorb3B0aW9ucyAJTk9fU1dBUFBJTkcKKworI0RlYnVnZ2luZyBvcHRpb25zCitvcHRpb25z IAlLVFJBQ0UJCQkjIGt0cmFjZSgxKSBzdXBwb3J0CitvcHRpb25zIAlEREIKK29wdGlvbnMgCUtE Qgorb3B0aW9ucyAJR0RCCitvcHRpb25zIAlBTFRfQlJFQUtfVE9fREVCVUdHRVIKKyNvcHRpb25z IAlERUFETEtSRVMJCSNFbmFibGUgdGhlIGRlYWRsb2NrIHJlc29sdmVyCitvcHRpb25zIAlJTlZB UklBTlRTCQkjRW5hYmxlIGNhbGxzIG9mIGV4dHJhIHNhbml0eSBjaGVja2luZworb3B0aW9ucyAJ SU5WQVJJQU5UX1NVUFBPUlQJI0V4dHJhIHNhbml0eSBjaGVja3Mgb2YgaW50ZXJuYWwgc3RydWN0 dXJlcywgcmVxdWlyZWQgYnkgSU5WQVJJQU5UUworI29wdGlvbnMgCVdJVE5FU1MJCQkjRW5hYmxl IGNoZWNrcyB0byBkZXRlY3QgZGVhZGxvY2tzIGFuZCBjeWNsZXMKKyNvcHRpb25zIAlXSVRORVNT X1NLSVBTUElOCSNEb24ndCBydW4gd2l0bmVzcyBvbiBzcGlubG9ja3MgZm9yIHNwZWVkCisjb3B0 aW9ucyAJS1RSCQkJIyBrdHIoNCkgYW5kIGt0cmR1bXAoOCkgc3VwcG9ydAorI29wdGlvbnMgCUtU Ul9DT01QSUxFPShLVFJfTE9DS3xLVFJfUFJPQ3xLVFJfSU5UUnxLVFJfQ0FMTE9VVHxLVFJfVU1B fEtUUl9TWVNDfEtUUl9DUklUSUNBTCkKKyNvcHRpb25zIAlLVFJfRU5UUklFUz0xMzEwNzIKKyNv cHRpb25zIAlNVVRFWF9ERUJVRworI29wdGlvbnMgCU1VVEVYX1BST0ZJTElORworCitkZXZpY2UJ CXBjaQorI2RldmljZQkJYXRhCisjZGV2aWNlCQlhdGFkaXNrCisjb3B0aW9ucyAJWExSX1BFUkZN T04JCSMgRW5hYmxlIFhMUiBwcm9jZXNzb3IgYWN0aXZpdHkgbW9uaXRvcmluZworb3B0aW9ucyAg CUJSRUFLX1RPX0RFQlVHR0VSCisjZGV2aWNlIAkJZ2VuY2xvY2sKK2RldmljZSAJCXVhcnQKKyMg UHNldWRvCitkZXZpY2UgCQlsb29wCitkZXZpY2UgCQlyYW5kb20KK2RldmljZSAJCW1kCitkZXZp Y2UgCQltZW0KK2RldmljZSAJCXB0eQorZGV2aWNlCQlicGYKKworIyBOZXR3b3JrCitkZXZpY2UJ CW1paWJ1cworZGV2aWNlCQlyZ2UKK2RldmljZSAJCWV0aGVyCitkZXZpY2UJCXJlCitkZXZpY2UJ CW1zaworCitkZXZpY2UgICAgICAgICAgZGEKK2RldmljZSAgICAgICAgICBzY2J1cworI2Rldmlj ZSAgICAgICAgICBvaGNpICAgICAgICAgICAgIyBPSENJIFBDSS0+VVNCIGludGVyZmFjZQorZGV2 aWNlICAgICAgICAgIGVoY2kgICAgICAgICAgICAjIEVIQ0kgUENJLT5VU0IgaW50ZXJmYWNlIChV U0IgMi4wKQorZGV2aWNlICAgICAgICAgIHVzYiAgICAgICAgICAgICAjIFVTQiBCdXMgKHJlcXVp cmVkKQorb3B0aW9ucyAJVVNCX0RFQlVHCSMgZW5hYmxlIGRlYnVnIG1zZ3MKKyNkZXZpY2UgICAg ICAgICB1ZGJwICAgICAgICAgICAgIyBVU0IgRG91YmxlIEJ1bGsgUGlwZSBkZXZpY2VzCisjZGV2 aWNlICAgICAgICAgIHVnZW4gICAgICAgICAgICAjIEdlbmVyaWMKKyNkZXZpY2UgICAgICAgICAg dWhpZCAgICAgICAgICAgICMgIkh1bWFuIEludGVyZmFjZSBEZXZpY2VzIgorZGV2aWNlICAgICAg ICAgIHVtYXNzICAgICAgICAgICAjIERpc2tzL01hc3Mgc3RvcmFnZSAtIFJlcXVpcmVzIHNjYnVz IGFuZCBkYQorCisjZGV2aWNlCQljZmkKKworI2kyYworIyBOb3QgeWV0CisjZGV2aWNlICAgICAg aWMKKyNkZXZpY2UgICAgICBpaWMKKyNkZXZpY2UgICAgICBpaWNiYgorI2RldmljZSAgICAgIGlp Y2J1cworI2RldmljZSAgICAgIHhscl9ydGMKKyNkZXZpY2UgICAgICB4bHJfdGVtcGVyYXR1cmUK KyNkZXZpY2UgICAgICB4bHJfZWVwcm9tCisKKyNjcnlwdG8KKyMgTm90IHlldAorI2RldmljZSBj cnlwdG9kZXYKKyNkZXZpY2UgY3J5cHRvCisjZGV2aWNlIHJtaXNlYworb3B0aW9ucwkJSVNBX01J UFM2NAorbWFrZW9wdGlvbnMJS0VSTkxPQURBRERSPTB4ZmZmZmZmZmY4MDEwMDAwMAo= --e0cb4e887827a90f16048acf6235-- From owner-freebsd-mips@FreeBSD.ORG Thu Jul 8 08:18:33 2010 Return-Path: Delivered-To: freebsd-mips@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0D9FE106564A; Thu, 8 Jul 2010 08:18:33 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id A8A8A8FC2C; Thu, 8 Jul 2010 08:18:32 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.3/8.14.1) with ESMTP id o688CXw6060669; Thu, 8 Jul 2010 02:12:33 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Thu, 08 Jul 2010 02:12:50 -0600 (MDT) Message-Id: <20100708.021250.1099368555950605809.imp@bsdimp.com> To: c.jayachandran@gmail.com From: "M. Warner Losh" In-Reply-To: References: X-Mailer: Mew version 6.3 on Emacs 22.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Cc: jmallett@FreeBSD.org, freebsd-mips@FreeBSD.org Subject: Re: Merging 64 bit changes to -HEAD - part 4 X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jul 2010 08:18:33 -0000 In message: "Jayachandran C." writes: : On Tue, Jun 15, 2010 at 7:06 PM, Jayachandran C. : wrote: : > I have volunteered to merge Juli's 64-bit work into HEAD, =A0and : > hopefully get it to work on XLR too. The tree : > (http://svn.freebsd.org/base/user/jmallett/octeon) has quite a bit = of : > changes, so I would like to do this over multiple changesets and : > without breaking the current o32 code. : = : Here's the next installment, this has the next set of Juli's changes : and some fixes to get it working on XLR. The patches in this set are:= : = : mips-segtab-macro.patch : : Change PDE/PTE access to a macro (from Juli's branch) This looks ok, I think. : mips-cache-fix.patch : : Minor fix for cache code (JC) This looks good. : rmi-other.patch: : 64 bit compilation fixes for sys/mips/rmi (JC) : Fixes to platform and driver code for 64 bit compilation, including : changes to ethernet driver. This is xlr specific, so I can't comment. : mips-rmi-kx-enable.patch: : Changes to enable KX bit for TARGET_XLR_XLS (JC). : I have added another case for the TARGET_OCTEON #ifdef in exception.= S : and locore.S, but I think this can be moved to a header file later. Yea, we need to do some rework here, but I think this is basically OK. : pmap-n64.patch : The main n64 patch (from Juli's branch) : This still uses the old 2-level page tables. But this adds other : pmap code to support n64. I have re-arranged some of Juli's code to : reduce #ifdefs. I think this could be done in smaller bites. At least the MIPS_{PYHS,KSEGx}_TO_{KSEGx,PHYS} stuff can be done as a separate patch. I really like the use of direct maps where possible for 64-bit machines. = There's a number of comment fixes in this, which seem to be logically independent as well. Not sure it is worth the effort of busting these out though. : runq-64.patch : 64-bit rqb_word_t for n64 (JC) I think this is cool. : ldscript-64.patch : 64 bit linker script (JC) : linker script for 64 bit compilation, and XLR configuration file. I wonder if the octeon ld script can be merged or if we can use this for octeon. Some investigation is warranted, I think... : With these changes, a n64 kernel can be compiled and it will to : 'mountroot>' on XLR. There is more code left to merge in Juli's : branch - 32 bit compat code, sfbuf/uio, UMA alloc, and DDB. which I : should be able to get in the next one or two passes. OK. : Let me know your comments. There are only two minor changes should : affect the existing o32 code paths in the above code (moving the chec= k : for >512M, and change in pmap_map to handle KSEG0 addresses), but let= : me know if something breaks. Will do. I'll see if I can create a system with these patches... Warner From owner-freebsd-mips@FreeBSD.ORG Thu Jul 8 08:30:20 2010 Return-Path: Delivered-To: freebsd-mips@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6AD721065672 for ; Thu, 8 Jul 2010 08:30:20 +0000 (UTC) (envelope-from juli@clockworksquid.com) Received: from mail-vw0-f54.google.com (mail-vw0-f54.google.com [209.85.212.54]) by mx1.freebsd.org (Postfix) with ESMTP id 2E7238FC1B for ; Thu, 8 Jul 2010 08:30:19 +0000 (UTC) Received: by vws6 with SMTP id 6so996649vws.13 for ; Thu, 08 Jul 2010 01:30:12 -0700 (PDT) Received: by 10.220.126.130 with SMTP id c2mr4081964vcs.165.1278577812192; Thu, 08 Jul 2010 01:30:12 -0700 (PDT) MIME-Version: 1.0 Sender: juli@clockworksquid.com Received: by 10.220.188.69 with HTTP; Thu, 8 Jul 2010 01:29:52 -0700 (PDT) In-Reply-To: <20100708.021250.1099368555950605809.imp@bsdimp.com> References: <20100708.021250.1099368555950605809.imp@bsdimp.com> From: Juli Mallett Date: Thu, 8 Jul 2010 01:29:52 -0700 X-Google-Sender-Auth: QU5RA-jybZrd42zNZu-RPBPIKjU Message-ID: To: "M. Warner Losh" Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: freebsd-mips@freebsd.org Subject: Re: Merging 64 bit changes to -HEAD - part 4 X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jul 2010 08:30:20 -0000 On Thu, Jul 8, 2010 at 01:12, M. Warner Losh wrote: > In message: > =A0 =A0 =A0 =A0 =A0 =A0"Jayachandran C." write= s: > : ldscript-64.patch > : =A064 bit linker script (JC) > : =A0linker script for 64 bit compilation, and XLR configuration file. > > I wonder if the octeon ld script can be merged or if we can use this > for octeon. =A0Some investigation is warranted, I think... No investigation needed. U-Boot, at least on Octeon, requires only one (executable) program header, so it's necessary for Octeon to use its own ldscript -- I suspect other bootloaders have likewise weird constraints. That said, there's really no need for all of these separate linker scripts, assuming you use buildkernel and have TARGET_ABI set right when you build kernel-toolchain. I use a single linker script for all Octeon kernels, I think. You don't need to specify the output format. Juli. From owner-freebsd-mips@FreeBSD.ORG Thu Jul 8 09:15:21 2010 Return-Path: Delivered-To: freebsd-mips@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 96252106564A; Thu, 8 Jul 2010 09:15:21 +0000 (UTC) (envelope-from c.jayachandran@gmail.com) Received: from mail-vw0-f54.google.com (mail-vw0-f54.google.com [209.85.212.54]) by mx1.freebsd.org (Postfix) with ESMTP id 2FD128FC1B; Thu, 8 Jul 2010 09:15:20 +0000 (UTC) Received: by vws6 with SMTP id 6so1047056vws.13 for ; Thu, 08 Jul 2010 02:15:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=rxML4OZtSvGaLUfvL1TpnGmPUcf77omnpqLFYprBick=; b=gpznNzCapbkw21Tit6dsn5Y032e3dfyj9rHUWsplG/zUUul/mXlbnVqrls1eKEp7F6 d9KEIQPmlk98gw/3yFU1lCc0LobmlbXnTVo1fkxHtdiuS0SyTqlRn/9u13H8ATQmd1DS 47kVYmSs64MavlOEqWkQbukpln17ULo9IVMFs= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=uijs3JTuUOYHF4QRyVPrXXIrIhcp1sc1mzxen4oYzZtE75ZUaIUn8SkGpqE2kAuLKK tXleRac1x1T/J971+TAEtRTE7UnWBtG3YFSxkMYSZiqjkPExCC95hn67ruFRuqgNJ5VG kZayJX05wtOGcKFLU5wskCZUNMhdye5Jj7nGs= MIME-Version: 1.0 Received: by 10.220.158.9 with SMTP id d9mr4140760vcx.250.1278580516574; Thu, 08 Jul 2010 02:15:16 -0700 (PDT) Received: by 10.220.194.4 with HTTP; Thu, 8 Jul 2010 02:15:16 -0700 (PDT) In-Reply-To: References: <20100708.021250.1099368555950605809.imp@bsdimp.com> Date: Thu, 8 Jul 2010 14:45:16 +0530 Message-ID: From: "Jayachandran C." To: Juli Mallett Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: freebsd-mips@freebsd.org Subject: Re: Merging 64 bit changes to -HEAD - part 4 X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jul 2010 09:15:21 -0000 On Thu, Jul 8, 2010 at 1:59 PM, Juli Mallett wrote: > On Thu, Jul 8, 2010 at 01:12, M. Warner Losh wrote: >> In message: >> =A0 =A0 =A0 =A0 =A0 =A0"Jayachandran C." writ= es: >> : ldscript-64.patch >> : =A064 bit linker script (JC) >> : =A0linker script for 64 bit compilation, and XLR configuration file. >> >> I wonder if the octeon ld script can be merged or if we can use this >> for octeon. =A0Some investigation is warranted, I think... > > No investigation needed. > > U-Boot, at least on Octeon, requires only one (executable) program > header, so it's necessary for Octeon to use its own ldscript -- I > suspect other bootloaders have likewise weird constraints. =A0That said, > there's really no need for all of these separate linker scripts, > assuming you use buildkernel and have TARGET_ABI set right when you > build kernel-toolchain. =A0I use a single linker script for all Octeon > kernels, I think. =A0You don't need to specify the output format. We could probably make the single script you have as the standard script if it works for most bootloaders. I still don't like the way ARCH_FLAGS and LDSCRIPT_NAME needs to be specified in the conf file - this could be taken from TARGET_ABI too... JC. From owner-freebsd-mips@FreeBSD.ORG Thu Jul 8 09:22:37 2010 Return-Path: Delivered-To: freebsd-mips@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8C2C51065672; Thu, 8 Jul 2010 09:22:37 +0000 (UTC) (envelope-from c.jayachandran@gmail.com) Received: from mail-vw0-f54.google.com (mail-vw0-f54.google.com [209.85.212.54]) by mx1.freebsd.org (Postfix) with ESMTP id 23DA78FC13; Thu, 8 Jul 2010 09:22:36 +0000 (UTC) Received: by vws6 with SMTP id 6so1054858vws.13 for ; Thu, 08 Jul 2010 02:22:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=7NTkDteChq8QeS/SKEUSltX+5qQFHq/oY8akgHt1YsU=; b=KQGBUCVqg6HAcQhQ0JhDeDg/uri/hZUcTjthiDIU/E7OU5+vLH0McgJ9wCVXg0eXiI yYKws4uH2XkT1hK4UOB6mM+Nodz1thJIN9beaGBOLCQNpKVCi3ZUitPbOB4ESsbRzmcG 8ZaYyk7LhNcvMrj4xKlhyGchrqlEcCrd/h3lc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=CZoXJmHQNgULXEJ69DYe65w+9chB50jrc/6/4ER33nPL4XbDLeqvqpQEX+hlowFv+6 F7wq0Rlf99+HQmdBvVWcpWXQ5v2P89S5AdKwl363PlX/WGeaO44jsRp7M/ZLdA3cTzOP Y1yoGG+JmOZ+P6SoQpSdz27P/pFKW/mvBU8DI= MIME-Version: 1.0 Received: by 10.220.125.88 with SMTP id x24mr4185082vcr.65.1278580936057; Thu, 08 Jul 2010 02:22:16 -0700 (PDT) Received: by 10.220.194.4 with HTTP; Thu, 8 Jul 2010 02:22:15 -0700 (PDT) In-Reply-To: <20100708.021250.1099368555950605809.imp@bsdimp.com> References: <20100708.021250.1099368555950605809.imp@bsdimp.com> Date: Thu, 8 Jul 2010 14:52:15 +0530 Message-ID: From: "Jayachandran C." To: "M. Warner Losh" Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: freebsd-mips@freebsd.org Subject: Re: Merging 64 bit changes to -HEAD - part 4 X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jul 2010 09:22:37 -0000 On Thu, Jul 8, 2010 at 1:42 PM, M. Warner Losh wrote: > In message: > =A0 =A0 =A0 =A0 =A0 =A0"Jayachandran C." write= s: > : On Tue, Jun 15, 2010 at 7:06 PM, Jayachandran C. > : wrote: > : > I have volunteered to merge Juli's 64-bit work into HEAD, =A0and > : > hopefully get it to work on XLR too. The tree > : > (http://svn.freebsd.org/base/user/jmallett/octeon) has quite a bit of > : > changes, so I would like to do this over multiple changesets and > : > without breaking the current o32 code. > : > : Here's the next installment, this has the next set of Juli's changes > : and some fixes to get it working on XLR. The patches in this set are: > : > : mips-segtab-macro.patch : > : =A0 Change PDE/PTE access to a macro (from Juli's branch) > > This looks ok, I think. > > : mips-cache-fix.patch : > : =A0Minor fix for cache code (JC) > > This looks good. > > : rmi-other.patch: > : =A064 bit compilation fixes for sys/mips/rmi (JC) > : =A0Fixes to platform and driver code for 64 bit compilation, including > : changes to ethernet driver. > > This is xlr specific, so I can't comment. > > : mips-rmi-kx-enable.patch: > : =A0Changes to enable KX bit for TARGET_XLR_XLS (JC). > : =A0I have added another case for the TARGET_OCTEON #ifdef in exception.= S > : and locore.S, but I think this can be moved to =A0a header file later. > > Yea, we need to do some rework here, but I think this is basically OK. > > : pmap-n64.patch > : =A0The main n64 patch (from Juli's branch) > : =A0 This still uses the old 2-level page tables. But this adds other > : pmap code to support n64. I have re-arranged some of =A0Juli's code to > : reduce #ifdefs. > > I think this could be done in smaller bites. =A0At least the > MIPS_{PYHS,KSEGx}_TO_{KSEGx,PHYS} stuff can be done as a separate > patch. > > I really like the use of direct maps where possible for 64-bit > machines. > > There's a number of comment fixes in this, which seem to be logically > independent as well. =A0Not sure it is worth the effort of busting these > out though. > > : runq-64.patch > : =A0 64-bit rqb_word_t for n64 (JC) > > I think this is cool. > > : ldscript-64.patch > : =A064 bit linker script (JC) > : =A0linker script for 64 bit compilation, and XLR configuration file. > > I wonder if the octeon ld script can be merged or if we can use this > for octeon. =A0Some investigation is warranted, I think... > > : With these changes, a n64 kernel can be compiled and it will to > : 'mountroot>' on XLR. =A0 There is more code left to merge in Juli's > : branch - 32 bit compat code, sfbuf/uio, UMA alloc, and DDB. which I > : should be able to get in the next =A0one or two passes. > > OK. > > : Let me know your comments. There are only two minor changes should > : affect the existing o32 code paths in the above code (moving the check > : for >512M, and change in pmap_map to handle KSEG0 addresses), but let > : me know if something breaks. > > Will do. =A0I'll see if I can create a system with these patches... Thanks for the review, I'll try to get the patches other than pmap-n64 in first (with mentor approval). I'll post a new split version of pmap-n64 after that. JC. From owner-freebsd-mips@FreeBSD.ORG Fri Jul 9 12:37:01 2010 Return-Path: Delivered-To: freebsd-mips@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C1E81106564A; Fri, 9 Jul 2010 12:37:01 +0000 (UTC) (envelope-from c.jayachandran@gmail.com) Received: from mail-vw0-f54.google.com (mail-vw0-f54.google.com [209.85.212.54]) by mx1.freebsd.org (Postfix) with ESMTP id 4527C8FC17; Fri, 9 Jul 2010 12:37:00 +0000 (UTC) Received: by vws6 with SMTP id 6so3075050vws.13 for ; Fri, 09 Jul 2010 05:36:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type; bh=Mx/OOXmUf2QzwuxMGU/BHRk8mu9xCp9ETLNwN1H4D4s=; b=eG7GZL5rVeS7SHEQP8X7raNtoi927MwFTpyj9bCNY71BSiX+aY/7Wy5+xMEVgbxZet XEyBr8ZqFkRt6+5XImngbb5mcOpauehwCys/8iYH1RHG8zEnqfvafxpdBfFN/K70nThu tPfjpg33yDdr4CECoj9sDAsAixqK1i5D3Md6Q= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=Yfwl0BNisRXApV0ECrjk9Uk4iS5oRMONOs+oGcnpSjfywmyJeH92H3V7/ZZ86PvmZL Y0MAWfAHAT+sniGj22bB83w9zfY3D0Mn8IGbhwIekeM/DfHuu68v82VKgF/gmXDUr8dW GhHIijeFWaMuSBSLEngUeupwMffCcD11Il6J0= MIME-Version: 1.0 Received: by 10.220.157.141 with SMTP id b13mr5224278vcx.27.1278679011798; Fri, 09 Jul 2010 05:36:51 -0700 (PDT) Received: by 10.220.194.4 with HTTP; Fri, 9 Jul 2010 05:36:51 -0700 (PDT) In-Reply-To: References: <20100708.021250.1099368555950605809.imp@bsdimp.com> Date: Fri, 9 Jul 2010 18:06:51 +0530 Message-ID: From: "Jayachandran C." To: "M. Warner Losh" , rrs@lakerest.net, jmallett@freebsd.org, freebsd-mips@freebsd.org Content-Type: multipart/mixed; boundary=e0cb4e887bc147afa7048af3a8ca Cc: Subject: Re: Merging 64 bit changes to -HEAD - part 4 X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jul 2010 12:37:01 -0000 --e0cb4e887bc147afa7048af3a8ca Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Thu, Jul 8, 2010 at 2:52 PM, Jayachandran C. wrote: > On Thu, Jul 8, 2010 at 1:42 PM, M. Warner Losh wrote: >> In message: >> =A0 =A0 =A0 =A0 =A0 =A0"Jayachandran C." writ= es: [...] >> : pmap-n64.patch >> : =A0The main n64 patch (from Juli's branch) >> : =A0 This still uses the old 2-level page tables. But this adds other >> : pmap code to support n64. I have re-arranged some of =A0Juli's code to >> : reduce #ifdefs. >> >> I think this could be done in smaller bites. =A0At least the >> MIPS_{PYHS,KSEGx}_TO_{KSEGx,PHYS} stuff can be done as a separate >> patch. [...] > Thanks for the review, I'll try to get the patches other than pmap-n64 > in first (with mentor approval). I'll post a new split version of > pmap-n64 after that. Here are the pmap changes again, along with a ddb patch. kseg-def-to-cpu.h.patch Move KSEG address definitions from cpu.h to cpuregs.h with the other definitions, add some XKPHYS related definitions. mips-pmap-intial-n64.patch (from Juli's branch) Initial changes to pmap.c for n64 support. When compiled for n64, pmap can use XKPHYS for a lot of its operations. The page tables are still 2-level. mips-tlb64.patch (from Juli's branch) 64 bit TLB definitions. mips-ddb-64.patch (from Juli's branch) Minor fixups for ddb support. This should get n64 up to mountroot - let me know you comments. Thanks, JC. --e0cb4e887bc147afa7048af3a8ca Content-Type: text/x-patch; charset=US-ASCII; name="kseg-def-to-cpuregs.h.patch" Content-Disposition: attachment; filename="kseg-def-to-cpuregs.h.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gbeytzoo0 SW5kZXg6IHN5cy9taXBzL2luY2x1ZGUvY3B1cmVncy5oCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9taXBz L2luY2x1ZGUvY3B1cmVncy5oCShyZXZpc2lvbiAyMDk3NTYpCisrKyBzeXMvbWlwcy9pbmNsdWRl L2NwdXJlZ3MuaAkod29ya2luZyBjb3B5KQpAQCAtNzgsNiArNzgsOSBAQAogICogQ2FjaGluZyBv ZiBtYXBwZWQgYWRkcmVzc2VzIGlzIGNvbnRyb2xsZWQgYnkgYml0cyBpbiB0aGUgVExCIGVudHJ5 LgogICovCiAKKyNkZWZpbmUJTUlQU19LU0VHMF9MQVJHRVNUX1BIWVMgICAgICAgICAoMHgyMDAw MDAwMCkKKyNkZWZpbmUJTUlQU19QSFlTX01BU0sJCQkoMHgxZmZmZmZmZikKKwogI2lmICFkZWZp bmVkKF9MT0NPUkUpCiAjZGVmaW5lCU1JUFNfS1VTRUdfU1RBUlQJCTB4MDAwMDAwMDAKICNkZWZp bmUJTUlQU19LU0VHMF9TVEFSVAkJKChpbnRwdHJfdCkoaW50MzJfdCkweDgwMDAwMDAwKQpAQCAt OTEsOCArOTQsMTkgQEAKIAogI2RlZmluZSBNSVBTX0tTRUcyX1NUQVJUCQlNSVBTX0tTU0VHX1NU QVJUCiAjZGVmaW5lIE1JUFNfS1NFRzJfRU5ECQkJTUlQU19LU1NFR19FTkQKLSNlbmRpZgogCisj ZGVmaW5lCU1JUFNfUEhZU19UT19LU0VHMCh4KQkJKCh1aW50cHRyX3QpKHgpIHwgTUlQU19LU0VH MF9TVEFSVCkKKyNkZWZpbmUJTUlQU19QSFlTX1RPX0tTRUcxKHgpCQkoKHVpbnRwdHJfdCkoeCkg fCBNSVBTX0tTRUcxX1NUQVJUKQorI2RlZmluZQlNSVBTX0tTRUcwX1RPX1BIWVMoeCkJCSgodWlu dHB0cl90KSh4KSAmIE1JUFNfUEhZU19NQVNLKQorI2RlZmluZQlNSVBTX0tTRUcxX1RPX1BIWVMo eCkJCSgodWludHB0cl90KSh4KSAmIE1JUFNfUEhZU19NQVNLKQorCisjZGVmaW5lCU1JUFNfSVNf S1NFRzBfQUREUih4KQkJCQkJXAorCSgoKHZtX29mZnNldF90KSh4KSA+PSBNSVBTX0tTRUcwX1NU QVJUKSAmJgkJXAorCSAgICAoKHZtX29mZnNldF90KSh4KSA8PSBNSVBTX0tTRUcwX0VORCkpCisj ZGVmaW5lCU1JUFNfSVNfS1NFRzFfQUREUih4KQkJCQkJXAorCSgoKHZtX29mZnNldF90KSh4KSA+ PSBNSVBTX0tTRUcxX1NUQVJUKSAmJgkJXAorCSAgICAoKHZtX29mZnNldF90KSh4KSA8PSBNSVBT X0tTRUcxX0VORCkpCisKICNkZWZpbmUJTUlQU19YS1BIWVNfU1RBUlQJCTB4ODAwMDAwMDAwMDAw MDAwMAogI2RlZmluZQlNSVBTX1hLUEhZU19FTkQJCQkweGJmZmZmZmZmZmZmZmZmZmYKIApAQCAt MTAxLDE0ICsxMTUsMjEgQEAKIAogI2RlZmluZQlNSVBTX1BIWVNfVE9fWEtQSFlTKGNjYSx4KSBc CiAJKCgweDJVTEwgPDwgNjIpIHwgKCh1bnNpZ25lZCBsb25nIGxvbmcpKGNjYSkgPDwgNTkpIHwg KHgpKQotI2RlZmluZQlNSVBTX1hLUEhZU19UT19QSFlTKHgpCSgoeCkgJiAweDA3ZmZmZmZmZmZm ZmZmZmZVTEwpCisjZGVmaW5lCU1JUFNfUEhZU19UT19YS1BIWVNfQ0FDSEVEKHgpIFwKKwkoKDB4 MlVMTCA8PCA2MikgfCAoKHVuc2lnbmVkIGxvbmcgbG9uZykoTUlQU19YS1BIWVNfQ0NBX0NOQykg PDwgNTkpIHwgKHgpKQorI2RlZmluZQlNSVBTX1BIWVNfVE9fWEtQSFlTX1VOQ0FDSEVEKHgpIFwK KwkoKDB4MlVMTCA8PCA2MikgfCAoKHVuc2lnbmVkIGxvbmcgbG9uZykoTUlQU19YS1BIWVNfQ0NB X1VDKSA8PCA1OSkgfCAoeCkpCiAKKyNkZWZpbmUJTUlQU19YS1BIWVNfVE9fUEhZUyh4KQkJKCh4 KSAmIDB4MDdmZmZmZmZmZmZmZmZmZlVMTCkKKwogI2RlZmluZQlNSVBTX1hVU0VHX1NUQVJUCQkw eDAwMDAwMDAwMDAwMDAwMDAKICNkZWZpbmUJTUlQU19YVVNFR19FTkQJCQkweDAwMDAwMTAwMDAw MDAwMDAKIAogI2RlZmluZQlNSVBTX1hLU0VHX1NUQVJUCQkweGMwMDAwMDAwMDAwMDAwMDAKICNk ZWZpbmUJTUlQU19YS1NFR19FTkQJCQkweGMwMDAwMGZmODAwMDAwMDAKIAorI2VuZGlmCisKIC8q IENQVSBkZXBlbmRlbnQgbXRjMCBoYXphcmQgaG9vayAqLwogI2lmZGVmIFRBUkdFVF9PQ1RFT04K ICNkZWZpbmUJQ09QMF9TWU5DICBub3A7IG5vcDsgbm9wOyBub3A7IG5vcDsKSW5kZXg6IHN5cy9t aXBzL2luY2x1ZGUvY3B1LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3lzL21pcHMvaW5jbHVkZS9jcHUuaAko cmV2aXNpb24gMjA5NzU2KQorKysgc3lzL21pcHMvaW5jbHVkZS9jcHUuaAkod29ya2luZyBjb3B5 KQpAQCAtNDksMjMgKzQ5LDYgQEAKIAogI2luY2x1ZGUgPG1hY2hpbmUvZW5kaWFuLmg+CiAKLSNk ZWZpbmUJTUlQU19LU0VHMF9MQVJHRVNUX1BIWVMgICAgICAgICAoMHgyMDAwMDAwMCkKLSNkZWZp bmUJTUlQU19QSFlTX01BU0sJCQkoMHgxZmZmZmZmZikKLQotI2RlZmluZQlNSVBTX1BIWVNfVE9f S1NFRzAoeCkJCSgodWludHB0cl90KSh4KSB8IE1JUFNfS1NFRzBfU1RBUlQpCi0jZGVmaW5lCU1J UFNfUEhZU19UT19LU0VHMSh4KQkJKCh1aW50cHRyX3QpKHgpIHwgTUlQU19LU0VHMV9TVEFSVCkK LSNkZWZpbmUJTUlQU19LU0VHMF9UT19QSFlTKHgpCQkoKHVpbnRwdHJfdCkoeCkgJiBNSVBTX1BI WVNfTUFTSykKLSNkZWZpbmUJTUlQU19LU0VHMV9UT19QSFlTKHgpCQkoKHVpbnRwdHJfdCkoeCkg JiBNSVBTX1BIWVNfTUFTSykKLQotI2RlZmluZQlNSVBTX0lTX0tTRUcwX0FERFIoeCkJCQkJCVwK LQkoKCh2bV9vZmZzZXRfdCkoeCkgPj0gTUlQU19LU0VHMF9TVEFSVCkgJiYJCVwKLQkgICAgKCh2 bV9vZmZzZXRfdCkoeCkgPD0gTUlQU19LU0VHMF9FTkQpKQotI2RlZmluZQlNSVBTX0lTX0tTRUcx X0FERFIoeCkJCQkJCVwKLQkoKCh2bV9vZmZzZXRfdCkoeCkgPj0gTUlQU19LU0VHMV9TVEFSVCkg JiYJCVwKLQkgICAgKCh2bV9vZmZzZXRfdCkoeCkgPD0gTUlQU19LU0VHMV9FTkQpKQotI2RlZmlu ZQlNSVBTX0lTX1ZBTElEX1BUUih4KQkJKE1JUFNfSVNfS1NFRzBfQUREUih4KSB8fCBcCi0JCQkJ CQlNSVBTX0lTX0tTRUcxX0FERFIoeCkpCi0KIC8qCiAgKiAgU3RhdHVzIHJlZ2lzdGVyLgogICov Cg== --e0cb4e887bc147afa7048af3a8ca Content-Type: text/x-patch; charset=US-ASCII; name="mips-pmap-intial-n64.patch" Content-Disposition: attachment; filename="mips-pmap-intial-n64.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gbeyu1kt1 SW5kZXg6IHN5cy9taXBzL21pcHMvcG1hcC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9taXBzL21pcHMv cG1hcC5jCShyZXZpc2lvbiAyMDk3NTYpCisrKyBzeXMvbWlwcy9taXBzL3BtYXAuYwkod29ya2lu ZyBjb3B5KQpAQCAtMTI4LDcgKzEyOCwxMSBAQAogI2RlZmluZQlwbWFwX3NlZ3NoaWZ0KHYpCSgo KHYpID4+IFNFR1NISUZUKSAmIChOUERFUEcgLSAxKSkKICNkZWZpbmUJc2VndGFiX3BkZShtLCB2 KQkoKG0pW3BtYXBfc2Vnc2hpZnQoKHYpKV0pCiAKKyNpZiBkZWZpbmVkKF9fbWlwc19uNjQpCisj ZGVmaW5lCU5VU0VSUEdUQkxTCQkoTlBERVBHKQorI2Vsc2UKICNkZWZpbmUJTlVTRVJQR1RCTFMJ CShwbWFwX3NlZ3NoaWZ0KFZNX01BWFVTRVJfQUREUkVTUykpCisjZW5kaWYKICNkZWZpbmUJbWlw c19zZWd0cnVuYyh2YSkJKCh2YSkgJiB+U0VHT0ZTRVQpCiAjZGVmaW5lCWlzX2tlcm5lbF9wbWFw KHgpCSgoeCkgPT0ga2VybmVsX3BtYXApCiAKQEAgLTMxMCw3ICszMTAsNyBAQAogfQogCiAvKgot ICoJQm9vdHN0cmFwIHRoZSBzeXN0ZW0gZW5vdWdoIHRvIHJ1biB3aXRoIHZpcnR1YWwgbWVtb3J5 LiAgVGhpcworICogQm9vdHN0cmFwIHRoZSBzeXN0ZW0gZW5vdWdoIHRvIHJ1biB3aXRoIHZpcnR1 YWwgbWVtb3J5LiAgVGhpcwogICogYXNzdW1lcyB0aGF0IHRoZSBwaHlzX2F2YWlsIGFycmF5IGhh cyBiZWVuIGluaXRpYWxpemVkLgogICovCiB2b2lkCkBAIC0zMzAsMTQgKzMzMCwxMSBAQAogCQlw aHlzX2F2YWlsW2ldID0gcm91bmRfcGFnZShwaHlzX2F2YWlsW2ldKTsKIAkJcGh5c19hdmFpbFtp ICsgMV0gPSB0cnVuY19wYWdlKHBoeXNfYXZhaWxbaSArIDFdKTsKIAotCQlpZiAocGh5c19hdmFp bFtpICsgMV0gPj0gTUlQU19LU0VHMF9MQVJHRVNUX1BIWVMpCi0JCQltZW1vcnlfbGFyZ2VyX3Ro YW5fNTEybWVnKys7CiAJCWlmIChpIDwgMikKIAkJCWNvbnRpbnVlOwogCQlpZiAocGh5c19hdmFp bFtpIC0gMl0gPiBwaHlzX2F2YWlsW2ldKSB7CiAJCQl2bV9wYWRkcl90IHB0ZW1wWzJdOwogCi0K IAkJCXB0ZW1wWzBdID0gcGh5c19hdmFpbFtpICsgMF07CiAJCQlwdGVtcFsxXSA9IHBoeXNfYXZh aWxbaSArIDFdOwogCkBAIC0zNTAsNiArMzQ3LDExIEBACiAJCX0KIAl9CiAKKyNpZiAhZGVmaW5l ZChfX21pcHNfbjY0KQorCWlmIChwaHlzX2F2YWlsW2kgLSAxXSA+PSBNSVBTX0tTRUcwX0xBUkdF U1RfUEhZUykKKwkJbWVtb3J5X2xhcmdlcl90aGFuXzUxMm1lZyA9IDE7CisjZW5kaWYKKwogCS8q CiAJICogQ29weSB0aGUgcGh5c19hdmFpbFtdIGFycmF5IGJlZm9yZSB3ZSBzdGFydCBzdGVhbGlu ZyBtZW1vcnkgZnJvbSBpdC4KIAkgKi8KQEAgLTM4NCw3ICszODYsNiBAQAogCSAqLwogCWtzdGFj azAgPSBwbWFwX3N0ZWFsX21lbW9yeShLU1RBQ0tfUEFHRVMgPDwgUEFHRV9TSElGVCk7CiAKLQog CXZpcnR1YWxfYXZhaWwgPSBWTV9NSU5fS0VSTkVMX0FERFJFU1M7CiAJdmlydHVhbF9lbmQgPSBW TV9NQVhfS0VSTkVMX0FERFJFU1M7CiAKQEAgLTc1OCwxMSArNzU5LDIxIEBACiAgKgl1cGRhdGUg Jyp2aXJ0JyB3aXRoIHRoZSBmaXJzdCB1c2FibGUgYWRkcmVzcyBhZnRlciB0aGUgbWFwcGVkCiAg KglyZWdpb24uCiAgKi8KKyNpZiBkZWZpbmVkKF9fbWlwc19uNjQpCiB2bV9vZmZzZXRfdAogcG1h cF9tYXAodm1fb2Zmc2V0X3QgKnZpcnQsIHZtX29mZnNldF90IHN0YXJ0LCB2bV9vZmZzZXRfdCBl bmQsIGludCBwcm90KQogeworCXJldHVybiAoTUlQU19QSFlTX1RPX1hLUEhZU19DQUNIRUQoc3Rh cnQpKTsKK30KKyNlbHNlCit2bV9vZmZzZXRfdAorcG1hcF9tYXAodm1fb2Zmc2V0X3QgKnZpcnQs IHZtX29mZnNldF90IHN0YXJ0LCB2bV9vZmZzZXRfdCBlbmQsIGludCBwcm90KQorewogCXZtX29m ZnNldF90IHZhLCBzdmE7CiAKKwlpZiAoZW5kIDw9IE1JUFNfS1NFRzBfTEFSR0VTVF9QSFlTKQor CQlyZXR1cm4gKE1JUFNfUEhZU19UT19LU0VHMChzdGFydCkpOworCiAJdmEgPSBzdmEgPSAqdmly dDsKIAl3aGlsZSAoc3RhcnQgPCBlbmQpIHsKIAkJcG1hcF9rZW50ZXIodmEsIHN0YXJ0KTsKQEAg LTc3Miw2ICs3ODMsNyBAQAogCSp2aXJ0ID0gdmE7CiAJcmV0dXJuIChzdmEpOwogfQorI2VuZGlm CiAKIC8qCiAgKiBBZGQgYSBsaXN0IG9mIHdpcmVkIHBhZ2VzIHRvIHRoZSBrdmEKQEAgLTIwMjcs OSArMjAzOSwyMCBAQAogICogTWFrZSBhIHRlbXBvcmFyeSBtYXBwaW5nIGZvciBhIHBoeXNpY2Fs IGFkZHJlc3MuICBUaGlzIGlzIG9ubHkgaW50ZW5kZWQKICAqIHRvIGJlIHVzZWQgZm9yIHBhbmlj IGR1bXBzLgogICovCisjaWYgZGVmaW5lZChfX21pcHNfbjY0KQogdm9pZCAqCiBwbWFwX2tlbnRl cl90ZW1wb3Jhcnkodm1fcGFkZHJfdCBwYSwgaW50IGkpCiB7CisJcmV0dXJuICgodm9pZCAqKU1J UFNfUEhZU19UT19YS1BIWVNfQ0FDSEVEKHBhKSk7Cit9Cit2b2lkCitwbWFwX2tlbnRlcl90ZW1w b3JhcnlfZnJlZSh2bV9wYWRkcl90IHBhKQoreworfQorI2Vsc2UKK3ZvaWQgKgorcG1hcF9rZW50 ZXJfdGVtcG9yYXJ5KHZtX3BhZGRyX3QgcGEsIGludCBpKQorewogCXZtX29mZnNldF90IHZhOwog CXJlZ2lzdGVyX3QgaW50cjsKIAlpZiAoaSAhPSAwKQpAQCAtMjA4Nyw2ICsyMTEwLDcgQEAKIAkJ c3lzbS0+dmFsaWQxID0gMDsKIAl9CiB9CisjZW5kaWYKIAogLyoKICAqIE1vdmVkIHRoZSBjb2Rl IHRvIE1hY2hpbmUgSW5kZXBlbmRlbnQKQEAgLTIxOTMsMTEgKzIyMTcsMjMgQEAKICAqCXBtYXBf emVyb19wYWdlIHplcm9zIHRoZSBzcGVjaWZpZWQgaGFyZHdhcmUgcGFnZSBieSBtYXBwaW5nCiAg Kgl0aGUgcGFnZSBpbnRvIEtWTSBhbmQgdXNpbmcgYnplcm8gdG8gY2xlYXIgaXRzIGNvbnRlbnRz LgogICovCisjaWYgZGVmaW5lZCAoX19taXBzX242NCkKIHZvaWQKIHBtYXBfemVyb19wYWdlKHZt X3BhZ2VfdCBtKQogewogCXZtX29mZnNldF90IHZhOwogCXZtX3BhZGRyX3QgcGh5cyA9IFZNX1BB R0VfVE9fUEhZUyhtKTsKKworCXZhID0gTUlQU19QSFlTX1RPX1hLUEhZU19DQUNIRUQocGh5cyk7 CisJYnplcm8oKGNhZGRyX3QpdmEsIFBBR0VfU0laRSk7CisJbWlwc19kY2FjaGVfd2JpbnZfcmFu Z2UodmEsIFBBR0VfU0laRSk7Cit9CisjZWxzZQordm9pZAorcG1hcF96ZXJvX3BhZ2Uodm1fcGFn ZV90IG0pCit7CisJdm1fb2Zmc2V0X3QgdmE7CisJdm1fcGFkZHJfdCBwaHlzID0gVk1fUEFHRV9U T19QSFlTKG0pOwogCXJlZ2lzdGVyX3QgaW50cjsKIAogCWlmIChwaHlzIDwgTUlQU19LU0VHMF9M QVJHRVNUX1BIWVMpIHsKQEAgLTIyMTQsMTggKzIyNTAsMzAgQEAKIAkJUE1BUF9MTUVNX1VOTUFQ KCk7CiAJfQogfQotCisjZW5kaWYKIC8qCiAgKglwbWFwX3plcm9fcGFnZV9hcmVhIHplcm9zIHRo ZSBzcGVjaWZpZWQgaGFyZHdhcmUgcGFnZSBieSBtYXBwaW5nCiAgKgl0aGUgcGFnZSBpbnRvIEtW TSBhbmQgdXNpbmcgYnplcm8gdG8gY2xlYXIgaXRzIGNvbnRlbnRzLgogICoKICAqCW9mZiBhbmQg c2l6ZSBtYXkgbm90IGNvdmVyIGFuIGFyZWEgYmV5b25kIGEgc2luZ2xlIGhhcmR3YXJlIHBhZ2Uu CiAgKi8KKyNpZiBkZWZpbmVkIChfX21pcHNfbjY0KQogdm9pZAogcG1hcF96ZXJvX3BhZ2VfYXJl YSh2bV9wYWdlX3QgbSwgaW50IG9mZiwgaW50IHNpemUpCiB7CiAJdm1fb2Zmc2V0X3QgdmE7CiAJ dm1fcGFkZHJfdCBwaHlzID0gVk1fUEFHRV9UT19QSFlTKG0pOworCisJdmEgPSBNSVBTX1BIWVNf VE9fWEtQSFlTX0NBQ0hFRChwaHlzKTsKKwliemVybygoY2hhciAqKShjYWRkcl90KXZhICsgb2Zm LCBzaXplKTsKKwltaXBzX2RjYWNoZV93Ymludl9yYW5nZSh2YSArIG9mZiwgc2l6ZSk7Cit9Cisj ZWxzZQordm9pZAorcG1hcF96ZXJvX3BhZ2VfYXJlYSh2bV9wYWdlX3QgbSwgaW50IG9mZiwgaW50 IHNpemUpCit7CisJdm1fb2Zmc2V0X3QgdmE7CisJdm1fcGFkZHJfdCBwaHlzID0gVk1fUEFHRV9U T19QSFlTKG0pOwogCXJlZ2lzdGVyX3QgaW50cjsKIAogCWlmIChwaHlzIDwgTUlQU19LU0VHMF9M QVJHRVNUX1BIWVMpIHsKQEAgLTIyNDEsMTIgKzIyODksMjUgQEAKIAkJUE1BUF9MTUVNX1VOTUFQ KCk7CiAJfQogfQorI2VuZGlmCiAKKyNpZiBkZWZpbmVkIChfX21pcHNfbjY0KQogdm9pZAogcG1h cF96ZXJvX3BhZ2VfaWRsZSh2bV9wYWdlX3QgbSkKIHsKIAl2bV9vZmZzZXRfdCB2YTsKIAl2bV9w YWRkcl90IHBoeXMgPSBWTV9QQUdFX1RPX1BIWVMobSk7CisKKwl2YSA9IE1JUFNfUEhZU19UT19Y S1BIWVNfQ0FDSEVEKHBoeXMpOworCWJ6ZXJvKChjYWRkcl90KXZhLCBQQUdFX1NJWkUpOworCW1p cHNfZGNhY2hlX3diaW52X3JhbmdlKHZhLCBQQUdFX1NJWkUpOworfQorI2Vsc2UKK3ZvaWQKK3Bt YXBfemVyb19wYWdlX2lkbGUodm1fcGFnZV90IG0pCit7CisJdm1fb2Zmc2V0X3QgdmE7CisJdm1f cGFkZHJfdCBwaHlzID0gVk1fUEFHRV9UT19QSFlTKG0pOwogCXJlZ2lzdGVyX3QgaW50cjsKIAog CWlmIChwaHlzIDwgTUlQU19LU0VHMF9MQVJHRVNUX1BIWVMpIHsKQEAgLTIyNjIsNiArMjMyMyw3 IEBACiAJCVBNQVBfTE1FTV9VTk1BUCgpOwogCX0KIH0KKyNlbmRpZgogCiAvKgogICoJcG1hcF9j b3B5X3BhZ2UgY29waWVzIHRoZSBzcGVjaWZpZWQgKG1hY2hpbmUgaW5kZXBlbmRlbnQpCkBAIC0y MjY5LDEyICsyMzMxLDI4IEBACiAgKgliY29weSB0byBjb3B5IHRoZSBwYWdlLCBvbmUgbWFjaGlu ZSBkZXBlbmRlbnQgcGFnZSBhdCBhCiAgKgl0aW1lLgogICovCisjaWYgZGVmaW5lZCAoX19taXBz X242NCkKIHZvaWQKIHBtYXBfY29weV9wYWdlKHZtX3BhZ2VfdCBzcmMsIHZtX3BhZ2VfdCBkc3Qp CiB7CiAJdm1fb2Zmc2V0X3QgdmFfc3JjLCB2YV9kc3Q7CiAJdm1fcGFkZHJfdCBwaHlfc3JjID0g Vk1fUEFHRV9UT19QSFlTKHNyYyk7CiAJdm1fcGFkZHJfdCBwaHlfZHN0ID0gVk1fUEFHRV9UT19Q SFlTKGRzdCk7CisKKwlwbWFwX2ZsdXNoX3B2Y2FjaGUoc3JjKTsKKwltaXBzX2RjYWNoZV93Ymlu dl9yYW5nZV9pbmRleChNSVBTX1BIWVNfVE9fWEtQSFlTX0NBQ0hFRChwaHlfZHN0KSwgUEFHRV9T SVpFKTsKKwl2YV9zcmMgPSBNSVBTX1BIWVNfVE9fWEtQSFlTX0NBQ0hFRChwaHlfc3JjKTsKKwl2 YV9kc3QgPSBNSVBTX1BIWVNfVE9fWEtQSFlTX0NBQ0hFRChwaHlfZHN0KTsKKwliY29weSgoY2Fk ZHJfdCl2YV9zcmMsIChjYWRkcl90KXZhX2RzdCwgUEFHRV9TSVpFKTsKKwltaXBzX2RjYWNoZV93 Ymludl9yYW5nZSh2YV9kc3QsIFBBR0VfU0laRSk7Cit9CisjZWxzZQordm9pZAorcG1hcF9jb3B5 X3BhZ2Uodm1fcGFnZV90IHNyYywgdm1fcGFnZV90IGRzdCkKK3sKKwl2bV9vZmZzZXRfdCB2YV9z cmMsIHZhX2RzdDsKKwl2bV9wYWRkcl90IHBoeV9zcmMgPSBWTV9QQUdFX1RPX1BIWVMoc3JjKTsK Kwl2bV9wYWRkcl90IHBoeV9kc3QgPSBWTV9QQUdFX1RPX1BIWVMoZHN0KTsKIAlyZWdpc3Rlcl90 IGludHI7CiAKIAlpZiAoKHBoeV9zcmMgPCBNSVBTX0tTRUcwX0xBUkdFU1RfUEhZUykgJiYgKHBo eV9kc3QgPCBNSVBTX0tTRUcwX0xBUkdFU1RfUEhZUykpIHsKQEAgLTIyOTksNiArMjM3Nyw3IEBA CiAJCVBNQVBfTE1FTV9VTk1BUCgpOwogCX0KIH0KKyNlbmRpZgogCiAvKgogICogUmV0dXJucyB0 cnVlIGlmIHRoZSBwbWFwJ3MgcHYgaXMgb25lIG9mIHRoZSBmaXJzdApAQCAtMjcwNSw5ICsyNzg0 LDIxIEBACiAgKiByb3V0aW5lIGlzIGludGVuZGVkIHRvIGJlIHVzZWQgZm9yIG1hcHBpbmcgZGV2 aWNlIG1lbW9yeSwKICAqIE5PVCByZWFsIG1lbW9yeS4KICAqLworI2lmIGRlZmluZWQoX19taXBz X242NCkKIHZvaWQgKgogcG1hcF9tYXBkZXYodm1fb2Zmc2V0X3QgcGEsIHZtX3NpemVfdCBzaXpl KQogeworCXJldHVybiAoKHZvaWQgKilNSVBTX1BIWVNfVE9fWEtQSFlTX1VOQ0FDSEVEKHBhKSk7 Cit9CisKK3ZvaWQKK3BtYXBfdW5tYXBkZXYodm1fb2Zmc2V0X3QgdmEsIHZtX3NpemVfdCBzaXpl KQoreworfQorI2Vsc2UKK3ZvaWQgKgorcG1hcF9tYXBkZXYodm1fb2Zmc2V0X3QgcGEsIHZtX3Np emVfdCBzaXplKQorewogICAgICAgICB2bV9vZmZzZXRfdCB2YSwgdG1wdmEsIG9mZnNldDsKIAog CS8qIApAQCAtMjc1MSw2ICsyODQyLDcgQEAKIAkJcG1hcF9rcmVtb3ZlKHRtcHZhKTsKIAlrbWVt X2ZyZWUoa2VybmVsX21hcCwgYmFzZSwgc2l6ZSk7CiB9CisjZW5kaWYKIAogLyoKICAqIHBlcmZv cm0gdGhlIHBtYXAgd29yayBmb3IgbWluY29yZQpAQCAtMzA2Nyw2ICszMTU5LDcgQEAKIAlQSFlT X1RPX1ZNX1BBR0UocGEpLT5tZC5wdl9mbGFncyB8PSAoUFZfVEFCTEVfUkVGIHwgUFZfVEFCTEVf TU9EKTsKIH0KIAorCiAvKgogICoJUm91dGluZToJcG1hcF9rZXh0cmFjdAogICoJRnVuY3Rpb246 CkBAIC0zMDc2LDQxICszMTY5LDY4IEBACiAgLyogUE1BUF9JTkxJTkUgKi8gdm1fb2Zmc2V0X3QK IHBtYXBfa2V4dHJhY3Qodm1fb2Zmc2V0X3QgdmEpCiB7Ci0Jdm1fb2Zmc2V0X3QgcGEgPSAwOwor CWludCBtYXBwZWQ7CiAKLQlpZiAodmEgPCBNSVBTX0tTRUcwX1NUQVJUKSB7Ci0JCS8qIHVzZXIg dmlydHVhbCBhZGRyZXNzICovCisJLyoKKwkgKiBGaXJzdCwgdGhlIGRpcmVjdC1tYXBwZWQgcmVn aW9ucy4KKwkgKi8KKyNpZiBkZWZpbmVkKF9fbWlwc19uNjQpCisJaWYgKHZhID49IE1JUFNfWEtQ SFlTX1NUQVJUICYmIHZhIDwgTUlQU19YS1BIWVNfRU5EKQorCQlyZXR1cm4gKE1JUFNfWEtQSFlT X1RPX1BIWVModmEpKTsKKyNlbmRpZgorCisJaWYgKHZhID49IE1JUFNfS1NFRzBfU1RBUlQgJiYg dmEgPCBNSVBTX0tTRUcwX0VORCkKKwkJcmV0dXJuIChNSVBTX0tTRUcwX1RPX1BIWVModmEpKTsK KworCWlmICh2YSA+PSBNSVBTX0tTRUcxX1NUQVJUICYmIHZhIDwgTUlQU19LU0VHMV9FTkQpCisJ CXJldHVybiAoTUlQU19LU0VHMV9UT19QSFlTKHZhKSk7CisKKwkvKgorCSAqIFVzZXIgdmlydHVh bCBhZGRyZXNzZXMuCisJICovCisJaWYgKHZhIDwgVk1fTUFYVVNFUl9BRERSRVNTKSB7CiAJCXB0 X2VudHJ5X3QgKnB0ZXA7CiAKIAkJaWYgKGN1cnByb2MgJiYgY3VycHJvYy0+cF92bXNwYWNlKSB7 CiAJCQlwdGVwID0gcG1hcF9wdGUoJmN1cnByb2MtPnBfdm1zcGFjZS0+dm1fcG1hcCwgdmEpOwot CQkJaWYgKHB0ZXApCi0JCQkJcGEgPSBUTEJMT19QVEVfVE9fUEEoKnB0ZXApIHwKLQkJCQkgICAg KHZhICYgUEFHRV9NQVNLKTsKKwkJCWlmIChwdGVwKSB7CisJCQkJcmV0dXJuIChUTEJMT19QVEVf VE9fUEEoKnB0ZXApIHwKKwkJCQkgICAgKHZhICYgUEFHRV9NQVNLKSk7CisJCQl9CisJCQlyZXR1 cm4gKDApOwogCQl9Ci0JfSBlbHNlIGlmICh2YSA+PSBNSVBTX0tTRUcwX1NUQVJUICYmCi0JICAg IHZhIDwgTUlQU19LU0VHMV9TVEFSVCkKLQkJcGEgPSBNSVBTX0tTRUcwX1RPX1BIWVModmEpOwot CWVsc2UgaWYgKHZhID49IE1JUFNfS1NFRzFfU1RBUlQgJiYKLQkgICAgdmEgPCBNSVBTX0tTRUcy X1NUQVJUKQotCQlwYSA9IE1JUFNfS1NFRzFfVE9fUEhZUyh2YSk7Ci0JZWxzZSBpZiAodmEgPj0g TUlQU19LU0VHMl9TVEFSVCAmJiB2YSA8IFZNX01BWF9LRVJORUxfQUREUkVTUykgeworCX0KKwor CS8qCisJICogU2hvdWxkIGJlIGtlcm5lbCB2aXJ0dWFsIGhlcmUsIG90aGVyd2lzZSBmYWlsCisJ ICovCisJbWFwcGVkID0gKHZhID49IE1JUFNfS1NFRzJfU1RBUlQgfHwgdmEgPCBNSVBTX0tTRUcy X0VORCk7CisjaWYgZGVmaW5lZChfX21pcHNfbjY0KQorCW1hcHBlZCA9IG1hcHBlZCB8fCAodmEg Pj0gTUlQU19YS1NFR19TVEFSVCB8fCB2YSA8IE1JUFNfWEtTRUdfRU5EKTsKKyNlbmRpZiAKKwkv KgorCSAqIEtlcm5lbCB2aXJ0dWFsLgorCSAqLworCisJaWYgKG1hcHBlZCkgewogCQlwdF9lbnRy eV90ICpwdGVwOwogCiAJCS8qIElzIHRoZSBrZXJuZWwgcG1hcCBpbml0aWFsaXplZD8gKi8KIAkJ aWYgKGtlcm5lbF9wbWFwLT5wbV9hY3RpdmUpIHsKLQkJCS8qIEl0cyBpbnNpZGUgdGhlIHZpcnR1 YWwgYWRkcmVzcyByYW5nZSAqLworCQkJLyogSXQncyBpbnNpZGUgdGhlIHZpcnR1YWwgYWRkcmVz cyByYW5nZSAqLwogCQkJcHRlcCA9IHBtYXBfcHRlKGtlcm5lbF9wbWFwLCB2YSk7CiAJCQlpZiAo cHRlcCkgewogCQkJCXJldHVybiAoVExCTE9fUFRFX1RPX1BBKCpwdGVwKSB8CiAJCQkJICAgICh2 YSAmIFBBR0VfTUFTSykpOwogCQkJfQotCQkJcmV0dXJuICgwKTsKIAkJfQorCQlyZXR1cm4gKDAp OwogCX0KLQlyZXR1cm4gcGE7CisKKwlwYW5pYygiJXMgZm9yIHVua25vd24gYWRkcmVzcyBzcGFj ZSAlcC4iLCBfX2Z1bmNfXywgKHZvaWQgKil2YSk7CiB9CiAKKwogdm9pZCAKIHBtYXBfZmx1c2hf cHZjYWNoZSh2bV9wYWdlX3QgbSkKIHsK --e0cb4e887bc147afa7048af3a8ca Content-Type: text/x-patch; charset=US-ASCII; name="mips-tlb64.patch" Content-Disposition: attachment; filename="mips-tlb64.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gbeyu2gc2 SW5kZXg6IHN5cy9taXBzL2luY2x1ZGUvcHRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3lzL21pcHMvaW5j bHVkZS9wdGUuaAkocmV2aXNpb24gMjA5NzU2KQorKysgc3lzL21pcHMvaW5jbHVkZS9wdGUuaAko d29ya2luZyBjb3B5KQpAQCAtNzMsOCArNzMsMjQgQEAKICAqIE5vdGUgdGhhdCBpbiBGcmVlQlNE LCB3ZSBtYXAgMiBUTEIgcGFnZXMgaXMgZXF1YWwgdG8gMSBWTSBwYWdlLgogICovCiAjZGVmaW5l CVRMQkhJX0FTSURfTUFTSwkJKDB4ZmYpCisjaWYgZGVmaW5lZChfX21pcHNfbjY0KQorI2RlZmlu ZQlUTEJISV9SX1NISUZUCQk2MgorI2RlZmluZQlUTEJISV9SX1VTRVIJCSgweDAwVUwgPDwgVExC SElfUl9TSElGVCkKKyNkZWZpbmUJVExCSElfUl9TVVBFUlZJU09SCSgweDAxVUwgPDwgVExCSElf Ul9TSElGVCkKKyNkZWZpbmUJVExCSElfUl9LRVJORUwJCSgweDAzVUwgPDwgVExCSElfUl9TSElG VCkKKyNkZWZpbmUJVExCSElfUl9NQVNLCQkoMHgwM1VMIDw8IFRMQkhJX1JfU0hJRlQpCisjZGVm aW5lCVRMQkhJX1ZBX1IodmEpCQkoKHZhKSAmIFRMQkhJX1JfTUFTSykKKyNkZWZpbmUJVExCSElf RklMTF9TSElGVAk0MAorI2RlZmluZQlUTEJISV9WUE4yX1NISUZUCShUTEJfUEFHRV9TSElGVCAr IDEpCisjZGVmaW5lCVRMQkhJX1ZQTjJfTUFTSwkJKCgofigoMVVMIDw8IFRMQkhJX1ZQTjJfU0hJ RlQpIC0gMSkpIDw8ICg2MyAtIFRMQkhJX0ZJTExfU0hJRlQpKSA+PiAoNjMgLSBUTEJISV9GSUxM X1NISUZUKSkKKyNkZWZpbmUJVExCSElfVkFfVE9fVlBOMih2YSkJKCh2YSkgJiBUTEJISV9WUE4y X01BU0spCisjZGVmaW5lCVRMQkhJX0VOVFJZKHZhLCBhc2lkKQkoKFRMQkhJX1ZBX1IoKHZhKSkp IC8qIFJlZ2lvbi4gKi8gfCBcCisJCQkJIChUTEJISV9WQV9UT19WUE4yKCh2YSkpKSAvKiBWUE4y LiAqLyB8IFwKKwkJCQkgKChhc2lkKSAmIFRMQkhJX0FTSURfTUFTSykpCisjZWxzZQogI2RlZmlu ZQlUTEJISV9QQUdFX01BU0sJCSgyICogUEFHRV9TSVpFIC0gMSkKICNkZWZpbmUJVExCSElfRU5U UlkodmEsIGFzaWQpCSgoKHZhKSAmIH5UTEJISV9QQUdFX01BU0spIHwgKChhc2lkKSAmIFRMQkhJ X0FTSURfTUFTSykpCisjZW5kaWYKIAogI2lmbmRlZiBfTE9DT1JFCiB0eXBlZGVmCXVpbnQzMl90 IHB0X2VudHJ5X3Q7Cg== --e0cb4e887bc147afa7048af3a8ca Content-Type: text/x-patch; charset=US-ASCII; name="mips-ddb-64.patch" Content-Disposition: attachment; filename="mips-ddb-64.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gbeyzlfx3 SW5kZXg6IHN5cy9taXBzL21pcHMvZGJfaW50ZXJmYWNlLmMKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3lzL21p cHMvbWlwcy9kYl9pbnRlcmZhY2UuYwkocmV2aXNpb24gMjA5NTIxKQorKysgc3lzL21pcHMvbWlw cy9kYl9pbnRlcmZhY2UuYwkod29ya2luZyBjb3B5KQpAQCAtMTE1LDEyICsxMTUsMTIgQEAKIHN0 YXRpYyBpbnQKIGRiX2ZyYW1lKHN0cnVjdCBkYl92YXJpYWJsZSAqdnAsIGRiX2V4cHJfdCAqdmFs dWVwLCBpbnQgb3ApCiB7Ci0JaW50ICpyZWc7CisJcmVnaXN0ZXJfdCAqcmVnOwogCiAJaWYgKGtk Yl9mcmFtZSA9PSBOVUxMKQogCQlyZXR1cm4gKDApOwogCi0JcmVnID0gKGludCAqKSgodWludHB0 cl90KWtkYl9mcmFtZSArIChkYl9leHByX3QpdnAtPnZhbHVlcCk7CisJcmVnID0gKHJlZ2lzdGVy X3QgKikoKHVpbnRwdHJfdClrZGJfZnJhbWUgKyAoc2l6ZV90KShpbnRwdHJfdCl2cC0+dmFsdWVw KTsKIAlpZiAob3AgPT0gREJfVkFSX0dFVCkKIAkJKnZhbHVlcCA9ICpyZWc7CiAJZWxzZQpJbmRl eDogc3lzL21pcHMvbWlwcy9kYl90cmFjZS5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9taXBzL21pcHMv ZGJfdHJhY2UuYwkocmV2aXNpb24gMjA5NTIxKQorKysgc3lzL21pcHMvbWlwcy9kYl90cmFjZS5j CSh3b3JraW5nIGNvcHkpCkBAIC0xNDAsNyArMTQwLDcgQEAKIAl9CiAJLyogY2hlY2sgZm9yIGJh ZCBTUDogY291bGQgZm91bCB1cCBuZXh0IGZyYW1lICovCiAJLypYWFggTUlQUzY0IGJhZDogdGhp cyBoYXJkLWNvZGVkIFNQIGlzIGxhbWUgKi8KLQlpZiAoc3AgJiAzIHx8IHNwIDwgMHg4MDAwMDAw MCkgeworCWlmIChzcCAmIDMgfHwgKHVpbnRwdHJfdClzcCA8IDB4ODAwMDAwMDB1KSB7CiAJCSgq cHJpbnRmbikgKCJTUCAweCV4OiBub3QgaW4ga2VybmVsXG4iLCBzcCk7CiAJCXJhID0gMDsKIAkJ c3ViciA9IDA7CkBAIC0yNjksMjcgKzI2OSwyNyBAQAogCQkJbWFzayB8PSAoMSA8PCBpLklUeXBl LnJ0KTsKIAkJCXN3aXRjaCAoaS5JVHlwZS5ydCkgewogCQkJY2FzZSA0Oi8qIGEwICovCi0JCQkJ YXJnc1swXSA9IGtkYnBlZWsoKGludCAqKShzcCArIChzaG9ydClpLklUeXBlLmltbSkpOworCQkJ CWFyZ3NbMF0gPSBrZGJwZWVrKChpbnQgKikoKGludHB0cl90KXNwICsgKHNob3J0KWkuSVR5cGUu aW1tKSk7CiAJCQkJdmFsaWRfYXJnc1swXSA9IDE7CiAJCQkJYnJlYWs7CiAKIAkJCWNhc2UgNTov KiBhMSAqLwotCQkJCWFyZ3NbMV0gPSBrZGJwZWVrKChpbnQgKikoc3AgKyAoc2hvcnQpaS5JVHlw ZS5pbW0pKTsKKwkJCQlhcmdzWzFdID0ga2RicGVlaygoaW50ICopKChpbnRwdHJfdClzcCArIChz aG9ydClpLklUeXBlLmltbSkpOwogCQkJCXZhbGlkX2FyZ3NbMV0gPSAxOwogCQkJCWJyZWFrOwog CiAJCQljYXNlIDY6LyogYTIgKi8KLQkJCQlhcmdzWzJdID0ga2RicGVlaygoaW50ICopKHNwICsg KHNob3J0KWkuSVR5cGUuaW1tKSk7CisJCQkJYXJnc1syXSA9IGtkYnBlZWsoKGludCAqKSgoaW50 cHRyX3Qpc3AgKyAoc2hvcnQpaS5JVHlwZS5pbW0pKTsKIAkJCQl2YWxpZF9hcmdzWzJdID0gMTsK IAkJCQlicmVhazsKIAogCQkJY2FzZSA3Oi8qIGEzICovCi0JCQkJYXJnc1szXSA9IGtkYnBlZWso KGludCAqKShzcCArIChzaG9ydClpLklUeXBlLmltbSkpOworCQkJCWFyZ3NbM10gPSBrZGJwZWVr KChpbnQgKikoKGludHB0cl90KXNwICsgKHNob3J0KWkuSVR5cGUuaW1tKSk7CiAJCQkJdmFsaWRf YXJnc1szXSA9IDE7CiAJCQkJYnJlYWs7CiAKIAkJCWNhc2UgMzE6CS8qIHJhICovCi0JCQkJcmEg PSBrZGJwZWVrKChpbnQgKikoc3AgKyAoc2hvcnQpaS5JVHlwZS5pbW0pKTsKKwkJCQlyYSA9IGtk YnBlZWsoKGludCAqKSgoaW50cHRyX3Qpc3AgKyAoc2hvcnQpaS5JVHlwZS5pbW0pKTsKIAkJCX0K IAkJCWJyZWFrOwogCkBAIC0zMDMsMjcgKzMwMywyNyBAQAogCQkJbWFzayB8PSAoMSA8PCBpLklU eXBlLnJ0KTsKIAkJCXN3aXRjaCAoaS5JVHlwZS5ydCkgewogCQkJY2FzZSA0Oi8qIGEwICovCi0J CQkJYXJnc1swXSA9IGtkYnBlZWtEKChpbnQgKikoc3AgKyAoc2hvcnQpaS5JVHlwZS5pbW0pKTsK KwkJCQlhcmdzWzBdID0ga2RicGVla0QoKGludCAqKSgoaW50cHRyX3Qpc3AgKyAoc2hvcnQpaS5J VHlwZS5pbW0pKTsKIAkJCQl2YWxpZF9hcmdzWzBdID0gMTsKIAkJCQlicmVhazsKIAogCQkJY2Fz ZSA1Oi8qIGExICovCi0JCQkJYXJnc1sxXSA9IGtkYnBlZWtEKChpbnQgKikoc3AgKyAoc2hvcnQp aS5JVHlwZS5pbW0pKTsKKwkJCQlhcmdzWzFdID0ga2RicGVla0QoKGludCAqKSgoaW50cHRyX3Qp c3AgKyAoc2hvcnQpaS5JVHlwZS5pbW0pKTsKIAkJCQl2YWxpZF9hcmdzWzFdID0gMTsKIAkJCQli cmVhazsKIAogCQkJY2FzZSA2Oi8qIGEyICovCi0JCQkJYXJnc1syXSA9IGtkYnBlZWtEKChpbnQg Kikoc3AgKyAoc2hvcnQpaS5JVHlwZS5pbW0pKTsKKwkJCQlhcmdzWzJdID0ga2RicGVla0QoKGlu dCAqKSgoaW50cHRyX3Qpc3AgKyAoc2hvcnQpaS5JVHlwZS5pbW0pKTsKIAkJCQl2YWxpZF9hcmdz WzJdID0gMTsKIAkJCQlicmVhazsKIAogCQkJY2FzZSA3Oi8qIGEzICovCi0JCQkJYXJnc1szXSA9 IGtkYnBlZWtEKChpbnQgKikoc3AgKyAoc2hvcnQpaS5JVHlwZS5pbW0pKTsKKwkJCQlhcmdzWzNd ID0ga2RicGVla0QoKGludCAqKSgoaW50cHRyX3Qpc3AgKyAoc2hvcnQpaS5JVHlwZS5pbW0pKTsK IAkJCQl2YWxpZF9hcmdzWzNdID0gMTsKIAkJCQlicmVhazsKIAogCQkJY2FzZSAzMToJLyogcmEg Ki8KLQkJCQlyYSA9IGtkYnBlZWtEKChpbnQgKikoc3AgKyAoc2hvcnQpaS5JVHlwZS5pbW0pKTsK KwkJCQlyYSA9IGtkYnBlZWtEKChpbnQgKikoKGludHB0cl90KXNwICsgKHNob3J0KWkuSVR5cGUu aW1tKSk7CiAJCQl9CiAJCQlicmVhazsKIApAQCAtMzY5LDcgKzM2OSw3IEBACiAKIAogaW50Ci1k Yl9tZF9zZXRfd2F0Y2hwb2ludChkYl9leHByX3QgYWRkciwgZGJfZXhwcl90IHNpemUpCitkYl9t ZF9zZXRfd2F0Y2hwb2ludChpbnRwdHJfdCBhZGRyLCBkYl9leHByX3Qgc2l6ZSkKIHsKIAogCXJl dHVybigwKTsKQEAgLTM3Nyw3ICszNzcsNyBAQAogCiAKIGludAotZGJfbWRfY2xyX3dhdGNocG9p bnQoIGRiX2V4cHJfdCBhZGRyLCBkYl9leHByX3Qgc2l6ZSkKK2RiX21kX2Nscl93YXRjaHBvaW50 KGludHB0cl90IGFkZHIsIGRiX2V4cHJfdCBzaXplKQogewogCiAJcmV0dXJuKDApOwpAQCAtNDAz LDggKzQwMyw4IEBACiAJc3RydWN0IHBjYiAqY3R4OwogCiAJaWYgKHRociA9PSBjdXJ0aHJlYWQp IHsKLQkJc3AgPSAocmVnaXN0ZXJfdClfX2J1aWx0aW5fZnJhbWVfYWRkcmVzcygwKTsKLQkJcmEg PSAocmVnaXN0ZXJfdClfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoMCk7CisJCXNwID0gKHJlZ2lz dGVyX3QpKGludHB0cl90KV9fYnVpbHRpbl9mcmFtZV9hZGRyZXNzKDApOworCQlyYSA9IChyZWdp c3Rlcl90KShpbnRwdHJfdClfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoMCk7CiAKICAgICAgICAg CV9fYXNtIF9fdm9sYXRpbGUoCiAJCQkiamFsIDk5ZlxuIgo= --e0cb4e887bc147afa7048af3a8ca-- From owner-freebsd-mips@FreeBSD.ORG Fri Jul 9 20:51:33 2010 Return-Path: Delivered-To: freebsd-mips@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AA9B4106566C; Fri, 9 Jul 2010 20:51:33 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id 4AF7A8FC2C; Fri, 9 Jul 2010 20:51:33 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.3/8.14.1) with ESMTP id o69KkCT6091191; Fri, 9 Jul 2010 14:46:12 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Fri, 09 Jul 2010 14:46:31 -0600 (MDT) Message-Id: <20100709.144631.1141490504242621103.imp@bsdimp.com> To: c.jayachandran@gmail.com From: "M. Warner Losh" In-Reply-To: References: <20100708.021250.1099368555950605809.imp@bsdimp.com> X-Mailer: Mew version 6.3 on Emacs 22.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Cc: jmallett@FreeBSD.org, freebsd-mips@FreeBSD.org Subject: Re: Merging 64 bit changes to -HEAD - part 4 X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jul 2010 20:51:33 -0000 In message: "Jayachandran C." writes: : On Thu, Jul 8, 2010 at 2:52 PM, Jayachandran C. : wrote: : > On Thu, Jul 8, 2010 at 1:42 PM, M. Warner Losh wro= te: : >> In message: : >> =A0 =A0 =A0 =A0 =A0 =A0"Jayachandran C." writes: : [...] : >> : pmap-n64.patch : >> : =A0The main n64 patch (from Juli's branch) : >> : =A0 This still uses the old 2-level page tables. But this adds o= ther : >> : pmap code to support n64. I have re-arranged some of =A0Juli's c= ode to : >> : reduce #ifdefs. : >> : >> I think this could be done in smaller bites. =A0At least the : >> MIPS_{PYHS,KSEGx}_TO_{KSEGx,PHYS} stuff can be done as a separate : >> patch. : [...] : > Thanks for the review, I'll try to get the patches other than pmap-= n64 : > in first (with mentor approval). I'll post a new split version of : > pmap-n64 after that. : = : Here are the pmap changes again, along with a ddb patch. : = : kseg-def-to-cpu.h.patch : Move KSEG address definitions from cpu.h to cpuregs.h with the other : definitions, add some XKPHYS related definitions. This looks good. : mips-pmap-intial-n64.patch (from Juli's branch) : Initial changes to pmap.c for n64 support. When compiled for n64, pma= p : can use XKPHYS for a lot of its operations. The page tables are still= : 2-level. +#if !defined(__mips_n64) + if (phys_avail[i - 1] >=3D MIPS_KSEG0_LARGEST_PHYS) + memory_larger_than_512meg =3D 1; +#endif We never set memory_larger_than_512meg then for __mips_n64. Do we need to ifdef both the declaration of this variable, as well as the if (memory_larger_than_512mb) clauses later in the function? pmap_map should likely have a comment to the effect: * For memory that's directly mappable, we return the direct map * address. For other addresses, we create a map. A similar comment is needed for pmap_kenter_temporary, pmap_zero_page, pmap_zero_page_area, pmap_zero_page_idle, pmap_copy_page, pmap_mapdev, pmap_unmapdev, pmap_kextract. Hmmm, or maybe a general comment? : mips-tlb64.patch (from Juli's branch) : 64 bit TLB definitions. This looks good. : mips-ddb-64.patch (from Juli's branch) : Minor fixups for ddb support. Can you explain the casting for all the calls to kbdpeek*? : This should get n64 up to mountroot - let me know you comments. Cool! thanks for your work. Also, I've been providing reviews on many of these commits, but I haven't seen a 'Reviewed by: imp' in the commit messages. I'd appreciate it if you could add then when I provide a review. Warner From owner-freebsd-mips@FreeBSD.ORG Fri Jul 9 21:08:04 2010 Return-Path: Delivered-To: freebsd-mips@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2D2C8106566C for ; Fri, 9 Jul 2010 21:08:04 +0000 (UTC) (envelope-from juli@clockworksquid.com) Received: from mail-vw0-f54.google.com (mail-vw0-f54.google.com [209.85.212.54]) by mx1.freebsd.org (Postfix) with ESMTP id DD6968FC14 for ; Fri, 9 Jul 2010 21:08:03 +0000 (UTC) Received: by vws6 with SMTP id 6so3735523vws.13 for ; Fri, 09 Jul 2010 14:07:58 -0700 (PDT) Received: by 10.220.49.204 with SMTP id w12mr5569699vcf.103.1278709669124; Fri, 09 Jul 2010 14:07:49 -0700 (PDT) MIME-Version: 1.0 Sender: juli@clockworksquid.com Received: by 10.220.188.69 with HTTP; Fri, 9 Jul 2010 14:07:28 -0700 (PDT) In-Reply-To: <20100709.144631.1141490504242621103.imp@bsdimp.com> References: <20100708.021250.1099368555950605809.imp@bsdimp.com> <20100709.144631.1141490504242621103.imp@bsdimp.com> From: Juli Mallett Date: Fri, 9 Jul 2010 14:07:28 -0700 X-Google-Sender-Auth: gYUut9JmUdy6n1NO_PlHSkSKzVM Message-ID: To: "M. Warner Losh" Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: freebsd-mips@freebsd.org Subject: Re: Merging 64 bit changes to -HEAD - part 4 X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jul 2010 21:08:04 -0000 On Fri, Jul 9, 2010 at 13:46, M. Warner Losh wrote: > pmap_map should likely have a comment to the effect: > =A0* For memory that's directly mappable, we return the direct map > =A0* address. =A0For other addresses, we create a map. Doesn't it already? * The value passed in '*virt' is a suggested virtual address for * the mapping. Architectures which can support a direct-mapped * physical to virtual region can return the appropriate address * within that region, leaving '*virt' unchanged. Other * architectures should map the pages starting at '*virt' and * update '*virt' with the first usable address after the mapped * region. > : mips-ddb-64.patch (from Juli's branch) > : Minor fixups for ddb support. > > Can you explain the casting for all the calls to kbdpeek*? Yes. sp is (or should be) a register_t. You can't go from a register_t to a pointer on n32. Even if we don't intend to support n32 kernels from head, we shouldn't make n32 harder by using the wrong types without casts :) Juli. From owner-freebsd-mips@FreeBSD.ORG Fri Jul 9 21:42:33 2010 Return-Path: Delivered-To: freebsd-mips@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 42239106564A; Fri, 9 Jul 2010 21:42:33 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id E1F448FC19; Fri, 9 Jul 2010 21:42:32 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.3/8.14.1) with ESMTP id o69LXoiH091718; Fri, 9 Jul 2010 15:33:50 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Fri, 09 Jul 2010 15:34:09 -0600 (MDT) Message-Id: <20100709.153409.59640143160064195.imp@bsdimp.com> To: jmallett@FreeBSD.org From: "M. Warner Losh" In-Reply-To: References: <20100709.144631.1141490504242621103.imp@bsdimp.com> X-Mailer: Mew version 6.3 on Emacs 22.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Cc: freebsd-mips@FreeBSD.org Subject: Re: Merging 64 bit changes to -HEAD - part 4 X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jul 2010 21:42:33 -0000 In message: Juli Mallett writes: : On Fri, Jul 9, 2010 at 13:46, M. Warner Losh wrote: : > pmap_map should likely have a comment to the effect: : > =A0* For memory that's directly mappable, we return the direct map : > =A0* address. =A0For other addresses, we create a map. : = : Doesn't it already? : = : * The value passed in '*virt' is a suggested virtual address for : * the mapping. Architectures which can support a direct-mapped : * physical to virtual region can return the appropriate address : * within that region, leaving '*virt' unchanged. Other : * architectures should map the pages starting at '*virt' and : * update '*virt' with the first usable address after the mapped : * region. That's rather generic, and on some mips we do a mixed-mode here... : > : mips-ddb-64.patch (from Juli's branch) : > : Minor fixups for ddb support. : > : > Can you explain the casting for all the calls to kbdpeek*? : = : Yes. sp is (or should be) a register_t. You can't go from a : register_t to a pointer on n32. Even if we don't intend to support : n32 kernels from head, we shouldn't make n32 harder by using the wron= g : types without casts :) True, but can't we redefine these functions such that we don't need these great big ugly casts? They are written in assembler, after all, but are specific to mips so the API can change here... Warner From owner-freebsd-mips@FreeBSD.ORG Fri Jul 9 22:37:22 2010 Return-Path: Delivered-To: freebsd-mips@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A7CAD1065670 for ; Fri, 9 Jul 2010 22:37:22 +0000 (UTC) (envelope-from juli@clockworksquid.com) Received: from mail-vw0-f54.google.com (mail-vw0-f54.google.com [209.85.212.54]) by mx1.freebsd.org (Postfix) with ESMTP id 60AF28FC08 for ; Fri, 9 Jul 2010 22:37:22 +0000 (UTC) Received: by vws6 with SMTP id 6so3845736vws.13 for ; Fri, 09 Jul 2010 15:37:15 -0700 (PDT) Received: by 10.220.59.202 with SMTP id m10mr5582800vch.163.1278715035235; Fri, 09 Jul 2010 15:37:15 -0700 (PDT) MIME-Version: 1.0 Sender: juli@clockworksquid.com Received: by 10.220.188.69 with HTTP; Fri, 9 Jul 2010 15:36:55 -0700 (PDT) In-Reply-To: <20100709.153409.59640143160064195.imp@bsdimp.com> References: <20100709.144631.1141490504242621103.imp@bsdimp.com> <20100709.153409.59640143160064195.imp@bsdimp.com> From: Juli Mallett Date: Fri, 9 Jul 2010 15:36:55 -0700 X-Google-Sender-Auth: aOLy8rEAKlRaNEvCH67k2oct2V8 Message-ID: To: "M. Warner Losh" Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: freebsd-mips@freebsd.org Subject: Re: Merging 64 bit changes to -HEAD - part 4 X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jul 2010 22:37:22 -0000 On Fri, Jul 9, 2010 at 14:34, M. Warner Losh wrote: > In message: > =A0 =A0 =A0 =A0 =A0 =A0Juli Mallett writes: > : =A0* =A0 =A0The value passed in '*virt' is a suggested virtual address = for > : =A0* =A0 =A0the mapping. Architectures which can support a direct-mappe= d > : =A0* =A0 =A0physical to virtual region can return the appropriate addre= ss > : =A0* =A0 =A0within that region, leaving '*virt' unchanged. Other > : =A0* =A0 =A0architectures should map the pages starting at '*virt' and > : =A0* =A0 =A0update '*virt' with the first usable address after the mapp= ed > : =A0* =A0 =A0region. > > That's rather generic, and on some mips we do a mixed-mode here... I guess you and I read the word "can" differently wrt mixed-mode :) > : > : mips-ddb-64.patch (from Juli's branch) > : > : Minor fixups for ddb support. > : > > : > Can you explain the casting for all the calls to kbdpeek*? > : > : Yes. =A0sp is (or should be) a register_t. =A0You can't go from a > : register_t to a pointer on n32. =A0Even if we don't intend to support > : n32 kernels from head, we shouldn't make n32 harder by using the wrong > : types without casts :) > > True, but can't we redefine these functions such that we don't need > these great big ugly casts? =A0They are written in assembler, after all, > but are specific to mips so the API can change here... Of course we can change them. We could change the function to not take a pointer, but an intptr_t or a register_t, but the latter is wrong and the former is kind of weird (especially if we spell it as vm_offset_t, which is more normal for the kernel, since vm_offset_t is unsigned and blah blah sign extension.) It may make sense to make the 'sp' on the stack an intptr_t rather than a register_t. What we really can't do is keep sp a register_t and pass register_t to kdbpeek and do the math on sp without a cast to intptr_t, since on n32 that's extremely incorrect since 64-bit signed integer arithmetic works differently to 32-bit signed integer arithmetic sign-extended to 64 bits :( From owner-freebsd-mips@FreeBSD.ORG Sat Jul 10 03:51:01 2010 Return-Path: Delivered-To: freebsd-mips@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 53291106564A; Sat, 10 Jul 2010 03:51:01 +0000 (UTC) (envelope-from c.jayachandran@gmail.com) Received: from mail-yx0-f182.google.com (mail-yx0-f182.google.com [209.85.213.182]) by mx1.freebsd.org (Postfix) with ESMTP id D8A968FC18; Sat, 10 Jul 2010 03:50:59 +0000 (UTC) Received: by yxn22 with SMTP id 22so630591yxn.13 for ; Fri, 09 Jul 2010 20:50:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=MWSpztiskCbPEp/HUTr5V/SKuq7SOgxi8u2PZjLS0fM=; b=lGMOltBzdiQEKBy9+1qvY0qMf7onXNWC40DYGAtu3hXFrXk5tpkZWlbLJoMgn8897s 2JnZa8ZyF9Q9AjOXJcDocLdhunOi6u5kox6vqf7gsN6T/ujXZR7jl06UYoWROj26CTxL 87s38F07WNWWdr/SJrPNLC6LVePJm4amnKb80= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=N7/mKsSmvA1rAN7jW+Mr++iPJaxFdBVEde9RVuxqmvjytAHxpdQR+UtS0vKbPXzt6b LdJE8GRpImyEgfTsGXyQeGjBLOUByXqwTCxPdycxeDl0IHjv5Zd+lrQzwgBJ6bQ6gAr4 cOzAVoBIL9xGKyRpXZ86Nv1O5FZvbkayrCrdU= MIME-Version: 1.0 Received: by 10.220.62.5 with SMTP id v5mr5557916vch.221.1278733858266; Fri, 09 Jul 2010 20:50:58 -0700 (PDT) Received: by 10.220.176.9 with HTTP; Fri, 9 Jul 2010 20:50:58 -0700 (PDT) In-Reply-To: <20100709.144631.1141490504242621103.imp@bsdimp.com> References: <20100708.021250.1099368555950605809.imp@bsdimp.com> <20100709.144631.1141490504242621103.imp@bsdimp.com> Date: Sat, 10 Jul 2010 09:20:58 +0530 Message-ID: From: "Jayachandran C." To: "M. Warner Losh" Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: freebsd-mips@freebsd.org Subject: Re: Merging 64 bit changes to -HEAD - part 4 X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jul 2010 03:51:01 -0000 On Sat, Jul 10, 2010 at 2:16 AM, M. Warner Losh wrote: > In message: > =A0 =A0 =A0 =A0 =A0 =A0"Jayachandran C." write= s: > : On Thu, Jul 8, 2010 at 2:52 PM, Jayachandran C. > : wrote: > : > On Thu, Jul 8, 2010 at 1:42 PM, M. Warner Losh wrote= : > : >> In message: > : >> =A0 =A0 =A0 =A0 =A0 =A0"Jayachandran C." = writes: > : [...] > : >> : pmap-n64.patch > : >> : =A0The main n64 patch (from Juli's branch) > : >> : =A0 This still uses the old 2-level page tables. But this adds oth= er > : >> : pmap code to support n64. I have re-arranged some of =A0Juli's cod= e to > : >> : reduce #ifdefs. > : >> > : >> I think this could be done in smaller bites. =A0At least the > : >> MIPS_{PYHS,KSEGx}_TO_{KSEGx,PHYS} stuff can be done as a separate > : >> patch. > : [...] > : > Thanks for the review, I'll try to get the patches other than pmap-n6= 4 > : > in first (with mentor approval). I'll post a new split version of > : > pmap-n64 after that. > : > : Here are the pmap changes again, along with a ddb patch. > : > : kseg-def-to-cpu.h.patch > : Move KSEG address definitions from cpu.h to cpuregs.h with the other > : definitions, add some =A0XKPHYS related definitions. > > This looks good. > > : mips-pmap-intial-n64.patch (from Juli's branch) > : Initial changes to pmap.c for n64 support. When compiled for n64, pmap > : can use XKPHYS for a lot of its operations. The page tables are still > : 2-level. > > +#if !defined(__mips_n64) > + =A0 =A0 =A0 if (phys_avail[i - 1] >=3D MIPS_KSEG0_LARGEST_PHYS) > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 memory_larger_than_512meg =3D 1; > +#endif > > We never set memory_larger_than_512meg then for __mips_n64. =A0Do we > need to ifdef both the declaration of this variable, as well as the > if (memory_larger_than_512mb) clauses later in the function? I thought I will prevent more ifdefs. Since the variable is zero, the compiler should optimize it out for n64 - but I have not actually looked at the generated code yet. I can add a comment to the variable if needed. > pmap_map should likely have a comment to the effect: > =A0* For memory that's directly mappable, we return the direct map > =A0* address. =A0For other addresses, we create a map. > > A similar comment is needed for pmap_kenter_temporary, pmap_zero_page, > pmap_zero_page_area, pmap_zero_page_idle, pmap_copy_page, pmap_mapdev, > pmap_unmapdev, pmap_kextract. =A0Hmmm, or maybe a general comment? Will look at this. > : mips-tlb64.patch (from Juli's branch) > : 64 bit TLB definitions. > > This looks good. > > : mips-ddb-64.patch (from Juli's branch) > : Minor fixups for ddb support. > > Can you explain the casting for all the calls to kbdpeek*? I had looked at cleaning it up (this is the reason I did not sent this patch earlier). But after looking at it, looked like we needed to revisit it, and just took the changes from Juli's tree. I can move all the casts to one line where we can define a temp variable of the needed type. > : This should get n64 up to mountroot - let me know you comments. > > Cool! > > thanks for your work. =A0Also, I've been providing reviews on many of > these commits, but I haven't seen a 'Reviewed by: imp' in the commit > messages. =A0I'd appreciate it if you could add then when I provide a > review. I had added reviewed by for 2 changesets for which you said OK. In the other changesets I thought your comments were more neutral so I was not sure if I could add the reviewed by. Will do this in further changes. Thanks JC.