From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NKNIN-0005Jp-E7 for qemu-devel@nongnu.org; Mon, 14 Dec 2009 21:37:51 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NKNIK-0005DE-1W for qemu-devel@nongnu.org; Mon, 14 Dec 2009 21:37:51 -0500 Received: from [199.232.76.173] (port=57299 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NKNIJ-0005D1-Nv for qemu-devel@nongnu.org; Mon, 14 Dec 2009 21:37:47 -0500 Received: from mail-yx0-f188.google.com ([209.85.210.188]:55371) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NKNIJ-0006T3-AX for qemu-devel@nongnu.org; Mon, 14 Dec 2009 21:37:47 -0500 Received: by yxe26 with SMTP id 26so3600476yxe.4 for ; Mon, 14 Dec 2009 18:37:46 -0800 (PST) Message-ID: <4B26F678.4010603@codemonkey.ws> Date: Mon, 14 Dec 2009 20:37:44 -0600 From: Anthony Liguori MIME-Version: 1.0 Subject: Proper support for PCI-based option rom loading (was Re: [Qemu-devel] Re: qdev property bug?) References: <4B264AF1.6060802@codemonkey.ws> <7FB8DD1225E54176BCAF5523B6AEA89B@FSCPC> <4B26931E.4000101@codemonkey.ws> <20091214194210.GB6150@redhat.com> <4B269933.3010906@codemonkey.ws> <20091214202019.GF6150@redhat.com> <4B26A0DE.5000304@redhat.com> <20091214203428.GI6150@redhat.com> <20091214203603.GJ6150@redhat.com> <4B26A3B2.2030006@codemonkey.ws> <20091214205141.GC6398@redhat.com> In-Reply-To: <20091214205141.GC6398@redhat.com> Content-Type: multipart/mixed; boundary="------------050607030307040402070202" List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael S. Tsirkin" Cc: glommer@redhat.com, qemu-devel@nongnu.org, Alexander Graf , Kevin O'Connor , Gerd Hoffmann , Sebastian Herbszt This is a multi-part message in MIME format. --------------050607030307040402070202 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Michael S. Tsirkin wrote: > On Mon, Dec 14, 2009 at 02:44:34PM -0600, Anthony Liguori wrote: > >> Michael S. Tsirkin wrote: >> >>> Or, we could have a very small ROM, that loads >>> more actual code from card or from qemu directly >>> when it is run. >>> >>> >> It's not as simple as it sounds but it's possible, in theory at least. >> >> But I think the question really is, what problem are we trying to solve? >> > > Support 256 devices on PCI bus seamlessly Okay, I think I've figured out how this is supposed to work. With these two patches to SeaBIOS and the patch to qemu, I can run: qemu -net nic,model=rtl8139 -net nic,model=virtio -net nic,model=e1000 -boot menu=on And all three option roms load. I can also select which NIC I want to boot from using the F12 menu. This works by not actually loading the option roms in the 1M space, but instead making them mappable through the PCI devices. With PMM and DDIM, the result is that we only have to copy in 2K for each option rom which means we can support up to 48 unique option roms. That should be plenty for now. These patches are very rough but I'll clean them up tomorrow. I'm not sure the best way to integrate with the rom infrastructure since we no longer have a physical address to map to. Any suggestions Gerd? Regards, Anthony Liguori --------------050607030307040402070202 Content-Type: application/mbox; name="0001-Do-not-guard-qemu-shadow-ram-work-around-in-CONFIG_O.patch" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename*0="0001-Do-not-guard-qemu-shadow-ram-work-around-in-CONFIG_O.pa"; filename*1="tch" RnJvbSAxY2JlNGQyMzc5YzA5ZTQ0MDJlM2EzYzMyMDEyOGQ1YTgwZGZmNWE4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRob255IExpZ3VvcmkgPGFsaWd1b3JpQHVzLmli bS5jb20+CkRhdGU6IE1vbiwgMTQgRGVjIDIwMDkgMjA6Mjg6MzggLTA2MDAKU3ViamVjdDog W1BBVENIIDEvMl0gRG8gbm90IGd1YXJkIHFlbXUgc2hhZG93IHJhbSB3b3JrIGFyb3VuZCBp biBDT05GSUdfT1BUSU9OUk9NU19ERVBMT1lFRAoKQXMgd2UgYXJlIGdvaW5nIHRvIGRpc2Fi bGUgQ09ORklHX09QVElPTlJPTVNfREVQTE9ZRUQgdW5kZXIgUUVNVSBzbyB0aGF0IHdlIGNh bgptYWtlIHByb3BlciB1c2Ugb2YgRERJTS4KClNpZ25lZC1vZmYtYnk6IEFudGhvbnkgTGln dW9yaSA8YWxpZ3VvcmlAdXMuaWJtLmNvbT4KLS0tCiBzcmMvc2hhZG93LmMgfCAgIDIwICsr KysrKysrLS0tLS0tLS0tLS0tCiAxIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwg MTIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL3NoYWRvdy5jIGIvc3JjL3NoYWRv dy5jCmluZGV4IGYwZjk3YzUuLjNmNDQzZWQgMTAwNjQ0Ci0tLSBhL3NyYy9zaGFkb3cuYwor KysgYi9zcmMvc2hhZG93LmMKQEAgLTI5LDE4ICsyOSwxNCBAQCBfX21ha2VfYmlvc193cml0 YWJsZSh1MTYgYmRmKQogICAgIGludCBjbGVhciA9IDA7CiAgICAgaW50IGk7CiAgICAgZm9y IChpPTA7IGk8NjsgaSsrKSB7Ci0gICAgICAgIGlmIChDT05GSUdfT1BUSU9OUk9NU19ERVBM T1lFRCkgewotICAgICAgICAgICAgaW50IHJlZyA9IHBjaV9jb25maWdfcmVhZGIoYmRmLCAw eDVhICsgaSk7Ci0gICAgICAgICAgICBpZiAoKHJlZyAmIDB4MTEpICE9IDB4MTEpIHsKLSAg ICAgICAgICAgICAgICAvLyBOZWVkIHRvIGNvcHkgb3B0aW9ucm9tcyB0byB3b3JrIGFyb3Vu ZCBxZW11IGltcGxlbWVudGF0aW9uCi0gICAgICAgICAgICAgICAgdm9pZCAqbWVtID0gKHZv aWQqKShCVUlMRF9ST01fU1RBUlQgKyBpICogMzIqMTAyNCk7Ci0gICAgICAgICAgICAgICAg bWVtY3B5KCh2b2lkKilCVUlMRF9CSU9TX1RNUF9BRERSLCBtZW0sIDMyKjEwMjQpOwotICAg ICAgICAgICAgICAgIHBjaV9jb25maWdfd3JpdGViKGJkZiwgMHg1YSArIGksIDB4MzMpOwot ICAgICAgICAgICAgICAgIG1lbWNweShtZW0sICh2b2lkKilCVUlMRF9CSU9TX1RNUF9BRERS LCAzMioxMDI0KTsKLSAgICAgICAgICAgICAgICBjbGVhciA9IDE7Ci0gICAgICAgICAgICB9 IGVsc2UgewotICAgICAgICAgICAgICAgIHBjaV9jb25maWdfd3JpdGViKGJkZiwgMHg1YSAr IGksIDB4MzMpOwotICAgICAgICAgICAgfQorICAgICAgICBpbnQgcmVnID0gcGNpX2NvbmZp Z19yZWFkYihiZGYsIDB4NWEgKyBpKTsKKyAgICAgICAgaWYgKChyZWcgJiAweDExKSAhPSAw eDExKSB7CisgICAgICAgICAgICAvLyBOZWVkIHRvIGNvcHkgb3B0aW9ucm9tcyB0byB3b3Jr IGFyb3VuZCBxZW11IGltcGxlbWVudGF0aW9uCisgICAgICAgICAgICB2b2lkICptZW0gPSAo dm9pZCopKEJVSUxEX1JPTV9TVEFSVCArIGkgKiAzMioxMDI0KTsKKyAgICAgICAgICAgIG1l bWNweSgodm9pZCopQlVJTERfQklPU19UTVBfQUREUiwgbWVtLCAzMioxMDI0KTsKKyAgICAg ICAgICAgIHBjaV9jb25maWdfd3JpdGViKGJkZiwgMHg1YSArIGksIDB4MzMpOworICAgICAg ICAgICAgbWVtY3B5KG1lbSwgKHZvaWQqKUJVSUxEX0JJT1NfVE1QX0FERFIsIDMyKjEwMjQp OworICAgICAgICAgICAgY2xlYXIgPSAxOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAg ICAgcGNpX2NvbmZpZ193cml0ZWIoYmRmLCAweDVhICsgaSwgMHgzMyk7CiAgICAgICAgIH0K LS0gCjEuNi4yLjUKCg== --------------050607030307040402070202 Content-Type: application/mbox; name="0001-Support-PCI-based-option-rom-loading.patch" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="0001-Support-PCI-based-option-rom-loading.patch" RnJvbSBiZTQ1N2QxMjFmNDM3NWU5MGQ2Mzk2ZjI4ZjRlNzJlZmRmYjcxNGFlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRob255IExpZ3VvcmkgPGFsaWd1b3JpQHVzLmli bS5jb20+CkRhdGU6IE1vbiwgMTQgRGVjIDIwMDkgMjA6MjY6MTkgLTA2MDAKU3ViamVjdDog W1BBVENIIDEvMV0gU3VwcG9ydCBQQ0kgYmFzZWQgb3B0aW9uIHJvbSBsb2FkaW5nCgpDdXJy ZW50bHksIHdlIHByZWxvYWQgb3B0aW9uIHJvbXMgaW50byB0aGUgb3B0aW9uIHJvbSBzcGFj ZSBpbiBtZW1vcnkuICBUaGlzCnByZXZlbnRzIERESU0gZnJvbSBmdW5jdGlvbmluZyBjb3Jy ZWN0bHkgd2hpY2ggc2V2ZXJlbHkgbGltaXRzIHRoZSBudW1iZXIKb2Ygcm9tcyB3ZSBjYW4g c3VwcG9ydC4KClRoaXMgcGF0Y2ggaW50cm9kdWNlcyBhIHBjaV9hZGRfb3B0aW9uX3JvbSgp IHdoaWNoIHJlZ2lzdGVycyB0aGUKUENJX1JPTV9BRERSRVNTIGJhciB3aGljaCBwb2ludHMg dG8gb3VyIG9wdGlvbiByb20uICBJdCBhbHNvIGNvbnZlcnRzIG92ZXIKdGhlIGNpcnJ1cyB2 Z2EgYWRhcHRlciwgdGhlIHJ0bDgxMzksIHZpcnRpbywgYW5kIHRoZSBlMTAwMCB0byB1c2Ug dGhpcwpuZXcgbWVjaGFuaXNtLgoKVGhlIHJlc3VsdCBpcyB0aGF0IFBYRSBib290IGZ1bmN0 aW9ucyBldmVuIHdpdGggdGhyZWUgdW5pcXVlIHR5cGVzIG9mIGNhcmRzLgoKU2lnbmVkLW9m Zi1ieTogQW50aG9ueSBMaWd1b3JpIDxhbGlndW9yaUB1cy5pYm0uY29tPgotLS0KIGh3L2Np cnJ1c192Z2EuYyB8ICAgIDIgKy0KIGh3L2UxMDAwLmMgICAgICB8ICAgIDIgKy0KIGh3L3Bj aS5jICAgICAgICB8ICAgMzUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK IGh3L3BjaS5oICAgICAgICB8ICAgIDUgKysrKysKIGh3L3J0bDgxMzkuYyAgICB8ICAgIDIg Ky0KIGh3L3ZpcnRpby1wY2kuYyB8ICAgIDIgKy0KIDYgZmlsZXMgY2hhbmdlZCwgNDQgaW5z ZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9ody9jaXJydXNfdmdh LmMgYi9ody9jaXJydXNfdmdhLmMKaW5kZXggMjRhZjgxYy4uYjA4ZDJhZSAxMDA2NDQKLS0t IGEvaHcvY2lycnVzX3ZnYS5jCisrKyBiL2h3L2NpcnJ1c192Z2EuYwpAQCAtMzIxMSw3ICsz MjExLDcgQEAgc3RhdGljIGludCBwY2lfY2lycnVzX3ZnYV9pbml0Zm4oUENJRGV2aWNlICpk ZXYpCiAgICAgIH0KIAogICAgICAvKiBST00gQklPUyAqLwotICAgICByb21fYWRkX3ZnYShW R0FCSU9TX0NJUlJVU19GSUxFTkFNRSk7CisgICAgIHBjaV9hZGRfb3B0aW9uX3JvbSgoUENJ RGV2aWNlICopZCwgVkdBQklPU19DSVJSVVNfRklMRU5BTUUpOwogICAgICByZXR1cm4gMDsK IH0KIApkaWZmIC0tZ2l0IGEvaHcvZTEwMDAuYyBiL2h3L2UxMDAwLmMKaW5kZXggODU2NmZl My4uZjc5NTYwMSAxMDA2NDQKLS0tIGEvaHcvZTEwMDAuYworKysgYi9ody9lMTAwMC5jCkBA IC0xMTI1LDcgKzExMjUsNyBAQCBzdGF0aWMgaW50IHBjaV9lMTAwMF9pbml0KFBDSURldmlj ZSAqcGNpX2RldikKICAgICBpZiAoIXBjaV9kZXYtPnFkZXYuaG90cGx1Z2dlZCkgewogICAg ICAgICBzdGF0aWMgaW50IGxvYWRlZCA9IDA7CiAgICAgICAgIGlmICghbG9hZGVkKSB7Ci0g ICAgICAgICAgICByb21fYWRkX29wdGlvbigicHhlLWUxMDAwLmJpbiIpOworICAgICAgICAg ICAgcGNpX2FkZF9vcHRpb25fcm9tKCZkLT5kZXYsICJweGUtZTEwMDAuYmluIik7CiAgICAg ICAgICAgICBsb2FkZWQgPSAxOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvaHcv cGNpLmMgYi9ody9wY2kuYwppbmRleCAwODZkYTRmLi5iMDM3ZmQ4IDEwMDY0NAotLS0gYS9o dy9wY2kuYworKysgYi9ody9wY2kuYwpAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgIm1v bml0b3IuaCIKICNpbmNsdWRlICJuZXQuaCIKICNpbmNsdWRlICJzeXNlbXUuaCIKKyNpbmNs dWRlICJsb2FkZXIuaCIKIAogLy8jZGVmaW5lIERFQlVHX1BDSQogI2lmZGVmIERFQlVHX1BD SQpAQCAtMTQzOCw2ICsxNDM5LDQwIEBAIHN0YXRpYyB1aW50OF90IHBjaV9maW5kX2NhcGFi aWxpdHlfbGlzdChQQ0lEZXZpY2UgKnBkZXYsIHVpbnQ4X3QgY2FwX2lkLAogICAgIHJldHVy biBuZXh0OwogfQogCitzdGF0aWMgdm9pZCBwY2lfbWFwX29wdGlvbl9yb20oUENJRGV2aWNl ICpwZGV2LCBpbnQgcmVnaW9uX251bSwgcGNpYnVzX3QgYWRkciwgcGNpYnVzX3Qgc2l6ZSwg aW50IHR5cGUpCit7CisgICAgY3B1X3JlZ2lzdGVyX3BoeXNpY2FsX21lbW9yeShhZGRyLCBz aXplLCBwZGV2LT5yb21fb2Zmc2V0KTsKK30KKworLyogQWRkIGFuIG9wdGlvbiByb20gZm9y IHRoZSBkZXZpY2UgKi8KK2ludCBwY2lfYWRkX29wdGlvbl9yb20oUENJRGV2aWNlICpwZGV2 LCBjb25zdCBjaGFyICpuYW1lKQoreworICAgIGludCBzaXplOworICAgIGNoYXIgKnBhdGg7 CisgICAgdm9pZCAqcHRyOworCisgICAgcGF0aCA9IHFlbXVfZmluZF9maWxlKFFFTVVfRklM RV9UWVBFX0JJT1MsIG5hbWUpOworICAgIGlmIChwYXRoID09IE5VTEwpIHsKKyAgICAgICAg cGF0aCA9IHFlbXVfc3RyZHVwKG5hbWUpOworICAgIH0KKworICAgIHNpemUgPSBnZXRfaW1h Z2Vfc2l6ZShwYXRoKTsKKyAgICBpZiAoc2l6ZSAmIChzaXplIC0gMSkpIHsKKyAgICAgICAg c2l6ZSA9IDEgPDwgcWVtdV9mbHMoc2l6ZSk7CisgICAgfQorCisgICAgcGRldi0+cm9tX29m ZnNldCA9IHFlbXVfcmFtX2FsbG9jKHNpemUpOworCisgICAgcHRyID0gcWVtdV9nZXRfcmFt X3B0cihwZGV2LT5yb21fb2Zmc2V0KTsKKyAgICBsb2FkX2ltYWdlKHBhdGgsIHB0cik7Cisg ICAgcWVtdV9mcmVlKHBhdGgpOworCisgICAgcGNpX3JlZ2lzdGVyX2JhcihwZGV2LCBQQ0lf Uk9NX1NMT1QsIHNpemUsCisgICAgICAgICAgICAgICAgICAgICAwLCBwY2lfbWFwX29wdGlv bl9yb20pOworCisgICAgcmV0dXJuIDA7Cit9CisKIC8qIFJlc2VydmUgc3BhY2UgYW5kIGFk ZCBjYXBhYmlsaXR5IHRvIHRoZSBsaW5rZWQgbGlzdCBpbiBwY2kgY29uZmlnIHNwYWNlICov CiBpbnQgcGNpX2FkZF9jYXBhYmlsaXR5KFBDSURldmljZSAqcGRldiwgdWludDhfdCBjYXBf aWQsIHVpbnQ4X3Qgc2l6ZSkKIHsKZGlmZiAtLWdpdCBhL2h3L3BjaS5oIGIvaHcvcGNpLmgK aW5kZXggZGM5Yjg2MC4uZDI1ZmU1MCAxMDA2NDQKLS0tIGEvaHcvcGNpLmgKKysrIGIvaHcv cGNpLmgKQEAgLTI0Miw2ICsyNDIsOSBAQCBzdHJ1Y3QgUENJRGV2aWNlIHsKICAgICB1aW50 MzJfdCBtc2l4X2Jhcl9zaXplOwogICAgIC8qIFZlcnNpb24gaWQgbmVlZGVkIGZvciBWTVN0 YXRlICovCiAgICAgaW50MzJfdCB2ZXJzaW9uX2lkOworCisgICAgLyogTG9jYXRpb24gb2Yg b3B0aW9uIHJvbSAqLworICAgIHJhbV9hZGRyX3Qgcm9tX29mZnNldDsKIH07CiAKIFBDSURl dmljZSAqcGNpX3JlZ2lzdGVyX2RldmljZShQQ0lCdXMgKmJ1cywgY29uc3QgY2hhciAqbmFt ZSwKQEAgLTI1Myw2ICsyNTYsOCBAQCB2b2lkIHBjaV9yZWdpc3Rlcl9iYXIoUENJRGV2aWNl ICpwY2lfZGV2LCBpbnQgcmVnaW9uX251bSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBwY2lidXNfdCBzaXplLCBpbnQgdHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBQQ0lNYXBJT1JlZ2lvbkZ1bmMgKm1hcF9mdW5jKTsKIAoraW50IHBjaV9hZGRfb3B0aW9u X3JvbShQQ0lEZXZpY2UgKnBkZXYsIGNvbnN0IGNoYXIgKm5hbWUpOworCiBpbnQgcGNpX2Fk ZF9jYXBhYmlsaXR5KFBDSURldmljZSAqcGNpX2RldiwgdWludDhfdCBjYXBfaWQsIHVpbnQ4 X3QgY2FwX3NpemUpOwogCiB2b2lkIHBjaV9kZWxfY2FwYWJpbGl0eShQQ0lEZXZpY2UgKnBj aV9kZXYsIHVpbnQ4X3QgY2FwX2lkLCB1aW50OF90IGNhcF9zaXplKTsKZGlmZiAtLWdpdCBh L2h3L3J0bDgxMzkuYyBiL2h3L3J0bDgxMzkuYwppbmRleCA5ZmQwNWE4Li4yY2VlOTdiIDEw MDY0NAotLS0gYS9ody9ydGw4MTM5LmMKKysrIGIvaHcvcnRsODEzOS5jCkBAIC0zMzU3LDcg KzMzNTcsNyBAQCBzdGF0aWMgaW50IHBjaV9ydGw4MTM5X2luaXQoUENJRGV2aWNlICpkZXYp CiAgICAgaWYgKCFkZXYtPnFkZXYuaG90cGx1Z2dlZCkgewogICAgICAgICBzdGF0aWMgaW50 IGxvYWRlZCA9IDA7CiAgICAgICAgIGlmICghbG9hZGVkKSB7Ci0gICAgICAgICAgICByb21f YWRkX29wdGlvbigicHhlLXJ0bDgxMzkuYmluIik7CisgICAgICAgICAgICBwY2lfYWRkX29w dGlvbl9yb20oJnMtPmRldiwgInB4ZS1ydGw4MTM5LmJpbiIpOwogICAgICAgICAgICAgbG9h ZGVkID0gMTsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL2h3L3ZpcnRpby1wY2ku YyBiL2h3L3ZpcnRpby1wY2kuYwppbmRleCA0NTAwMTMwLi44NWYxNGEyIDEwMDY0NAotLS0g YS9ody92aXJ0aW8tcGNpLmMKKysrIGIvaHcvdmlydGlvLXBjaS5jCkBAIC01MjIsNyArNTIy LDcgQEAgc3RhdGljIGludCB2aXJ0aW9fbmV0X2luaXRfcGNpKFBDSURldmljZSAqcGNpX2Rl dikKICAgICBpZiAoIXBjaV9kZXYtPnFkZXYuaG90cGx1Z2dlZCkgewogICAgICAgICBzdGF0 aWMgaW50IGxvYWRlZCA9IDA7CiAgICAgICAgIGlmICghbG9hZGVkKSB7Ci0gICAgICAgICAg ICByb21fYWRkX29wdGlvbigicHhlLXZpcnRpby5iaW4iKTsKKyAgICAgICAgICAgIHBjaV9h ZGRfb3B0aW9uX3JvbShwY2lfZGV2LCAicHhlLXZpcnRpby5iaW4iKTsKICAgICAgICAgICAg IGxvYWRlZCA9IDE7CiAgICAgICAgIH0KICAgICB9Ci0tIAoxLjYuMi41Cgo= --------------050607030307040402070202 Content-Type: application/mbox; name="0002-Disable-CONFIG_OPTIONROMS_DEPLOYED-by-default.patch" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename*0="0002-Disable-CONFIG_OPTIONROMS_DEPLOYED-by-default.patch" RnJvbSA1NjBiZDM1NTNiOTYxYTQ2MTNkMjk4YWQyNzZkODU5YmUzOGJlMGYzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRob255IExpZ3VvcmkgPGFsaWd1b3JpQHVzLmli bS5jb20+CkRhdGU6IE1vbiwgMTQgRGVjIDIwMDkgMjA6Mjk6NDEgLTA2MDAKU3ViamVjdDog W1BBVENIIDIvMl0gRGlzYWJsZSBDT05GSUdfT1BUSU9OUk9NU19ERVBMT1lFRCBieSBkZWZh dWx0CgpTaW5jZSBxZW11IG5vdyBzdXBwb3J0cyBsb2FkaW5nIG9wdGlvbiByb21zIHRocm91 Z2ggUENJCgpTaWduZWQtb2ZmLWJ5OiBBbnRob255IExpZ3VvcmkgPGFsaWd1b3JpQHVzLmli bS5jb20+Ci0tLQogc3JjL2NvbmZpZy5oIHwgICAgMiArLQogMSBmaWxlcyBjaGFuZ2VkLCAx IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2NvbmZp Zy5oIGIvc3JjL2NvbmZpZy5oCmluZGV4IDA1ZjM5NDIuLmEyMDg2NTAgMTAwNjQ0Ci0tLSBh L3NyYy9jb25maWcuaAorKysgYi9zcmMvY29uZmlnLmgKQEAgLTgzLDcgKzgzLDcgQEAKIC8v IFN1cHBvcnQgZmluZGluZyBhbmQgcnVubmluZyBvcHRpb24gcm9tcyBkdXJpbmcgcG9zdC4K ICNkZWZpbmUgQ09ORklHX09QVElPTlJPTVMgMQogLy8gU2V0IGlmIG9wdGlvbiByb21zIGFy ZSBhbHJlYWR5IGNvcGllZCB0byAweGMwMDAwLTB4ZjAwMDAKLSNkZWZpbmUgQ09ORklHX09Q VElPTlJPTVNfREVQTE9ZRUQgMQorI2RlZmluZSBDT05GSUdfT1BUSU9OUk9NU19ERVBMT1lF RCAwCiAvLyBXaGVuIG9wdGlvbiByb21zIGFyZSBub3QgcHJlLWRlcGxveWVkLCBTZWFCSU9T IGNhbiBjb3B5IGFuIG9wdGlvbnJvbQogLy8gZnJvbSBmbGFzaCBmb3IgdXAgdG8gMiBkZXZp Y2VzLgogI2RlZmluZSBPUFRJT05ST01fVkVOREVWXzEgMHgwMDAwMDAwMAotLSAKMS42LjIu NQoK --------------050607030307040402070202--