From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Huang Subject: Re: AMD/ATI patch for xen 4.2-unstable Date: Tue, 3 Apr 2012 16:07:47 -0500 Message-ID: <4F7B66A3.3080802@amd.com> References: Reply-To: wei.huang2@amd.com Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------040704040500050502070708" Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: =?UTF-8?B?S3Jpc3RpamFuIExlxI1uaWs=?= Cc: xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org --------------040704040500050502070708 Content-Type: multipart/alternative; boundary="------------060803020400000807020702" --------------060803020400000807020702 Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: quoted-printable I just re-spin the patch, but haven't tested it yet. You want to try it=20 (attached)? Make sure you are using AMD GPU as the primary. -Wei On 04/01/2012 08:03 PM, Kristijan Le=C4=8Dnik wrote: > Hi, > > i am trying to apply AMD/ATI patch on xen4-2 unstable > http://old-list-archives.xen.org/archives/html/xen-devel/2010-12/txtNwR= lN3jloS.txt > > and there was some changes in code and the patch is unusable, is there=20 > a new patch. or can somebody help me to update the patch? > > make[4]: Entering directory=20 > `/root/xen-unstable.hg-IN_USE_PATCHED/tools/qemu-xen-traditional-dir-re= mote/i386-dm' > CC i386-dm/pt-graphics.o > /root/xen-unstable.hg-IN_USE_PATCHED/tools/qemu-xen-traditional-dir/hw/= pt-graphics.c:=20 > In function =E2=80=98igd_register_vga_regions=E2=80=99: > /root/xen-unstable.hg-IN_USE_PATCHED/tools/qemu-xen-traditional-dir/hw/= pt-graphics.c:373:=20 > error: too many arguments to function =E2=80=98pt_pci_host_read=E2=80=99 > /root/xen-unstable.hg-IN_USE_PATCHED/tools/qemu-xen-traditional-dir/hw/= pt-graphics.c:374:=20 > error: too many arguments to function =E2=80=98pt_pci_host_read=E2=80=99 > /root/xen-unstable.hg-IN_USE_PATCHED/tools/qemu-xen-traditional-dir/hw/= pt-graphics.c:=20 > In function =E2=80=98igd_unregister_vga_regions=E2=80=99: > /root/xen-unstable.hg-IN_USE_PATCHED/tools/qemu-xen-traditional-dir/hw/= pt-graphics.c:396:=20 > error: too many arguments to function =E2=80=98pt_pci_host_read=E2=80=99 > /root/xen-unstable.hg-IN_USE_PATCHED/tools/qemu-xen-traditional-dir/hw/= pt-graphics.c:397:=20 > error: too many arguments to function =E2=80=98pt_pci_host_read=E2=80=99 > make[4]: *** [pt-graphics.o] Error 1 > make[4]: Leaving directory=20 > `/root/xen-unstable.hg-IN_USE_PATCHED/tools/qemu-xen-traditional-dir-re= mote/i386-dm' > make[3]: *** [subdir-i386-dm] Error 2 > make[3]: Leaving directory=20 > `/root/xen-unstable.hg-IN_USE_PATCHED/tools/qemu-xen-traditional-dir-re= mote' > make[2]: *** [subdir-install-qemu-xen-traditional-dir] Error 2 > make[2]: Leaving directory `/root/xen-unstable.hg-IN_USE_PATCHED/tools' > make[1]: *** [subdirs-install] Error 2 > make[1]: Leaving directory `/root/xen-unstable.hg-IN_USE_PATCHED/tools' > make: *** [install-tools] Error 2 > > http://xen.1045712.n5.nabble.com/PATCH-1-3-qemu-xen-Change-prototype-fo= r-pt-pci-host-read-write-td5016713.html > > example: > > old syle: > vendor_id =3D pt_pci_host_read(0, 2, 0, 0, 2); > > new syle: > vid =3D pt_pci_host_read(pci_dev_1f, PCI_VENDOR_ID, 2); > > Best Regards, > Kristijan Le=C4=8Dnik --------------060803020400000807020702 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable I just re-spin the patch, but haven't tested it yet. You want to try it (attached)? Make sure you are using AMD GPU as the primary.

-Wei


On 04/01/2012 08:03 PM, Kristijan Le=C4=8Dnik wrote:
Hi,

i am trying to apply AMD/ATI patch on xen4-2 unstable

and there was some changes in code and the patch is unusable, is there a new patch. or can somebody help me to update the patch?

make[4]: Entering directory `/root/xen-unstable.hg-IN_USE_PATCHED/tools/qemu-xen-traditional-dir-remo= te/i386-dm'
=C2=A0 CC =C2=A0 =C2=A0i386-dm/pt-graphics.o
/root/xen-unstable.hg-IN_USE_PATCHED/tools/qemu-xen-traditio= nal-dir/hw/pt-graphics.c: In function =E2=80=98igd_register_vga_regions=E2=80=99:
/root/xen-unstable.hg-IN_USE_PATCHED/tools/qemu-xen-traditio= nal-dir/hw/pt-graphics.c:373: error: too many arguments to function =E2=80=98pt_pci_host_read= =E2=80=99
/root/xen-unstable.hg-IN_USE_PATCHED/tools/qemu-xen-traditio= nal-dir/hw/pt-graphics.c:374: error: too many arguments to function =E2=80=98pt_pci_host_read= =E2=80=99
/root/xen-unstable.hg-IN_USE_PATCHED/tools/qemu-xen-traditio= nal-dir/hw/pt-graphics.c: In function =E2=80=98igd_unregister_vga_regions=E2=80=99:
/root/xen-unstable.hg-IN_USE_PATCHED/tools/qemu-xen-traditio= nal-dir/hw/pt-graphics.c:396: error: too many arguments to function =E2=80=98pt_pci_host_read= =E2=80=99
/root/xen-unstable.hg-IN_USE_PATCHED/tools/qemu-xen-traditio= nal-dir/hw/pt-graphics.c:397: error: too many arguments to function =E2=80=98pt_pci_host_read= =E2=80=99
make[4]: *** [pt-graphics.o] Error 1
make[4]: Leaving directory `/root/xen-unstable.hg-IN_USE_PATCHED/tools/qemu-xen-traditional-dir-remo= te/i386-dm'
make[3]: *** [subdir-i386-dm] Error 2
make[3]: Leaving directory `/root/xen-unstable.hg-IN_USE_PATCHED/tools/qemu-xen-traditional-dir-remo= te'
make[2]: *** [subdir-install-qemu-xen-traditional-dir] Error 2
make[2]: Leaving directory `/root/xen-unstable.hg-IN_USE_PATCHED/tools'
make[1]: *** [subdirs-install] Error 2
make[1]: Leaving directory `/root/xen-unstable.hg-IN_USE_PATCHED/tools'
make: *** [install-tools] Error 2


example:

old syle:
vendor_id =3D pt_pci_host_read(0, 2, 0, 0, 2);

new syle:
vid =3D pt_pci_host_read(pci_dev_1f, PCI_VENDOR_ID, 2);

Best Regards,
Kristijan Le=C4=8Dnik

--------------060803020400000807020702-- --------------040704040500050502070708 Content-Type: text/plain; name="ati_vbios_patch_respin.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="ati_vbios_patch_respin.txt" Content-Description: ati_vbios_patch_respin.txt ZGlmZiAtLWdpdCBhL2h3L3Bhc3MtdGhyb3VnaC5jIGIvaHcvcGFzcy10aHJvdWdoLmMKaW5k ZXggZGJlODgwNC4uYzAxMTc4MiAxMDA2NDQKLS0tIGEvaHcvcGFzcy10aHJvdWdoLmMKKysr IGIvaHcvcGFzcy10aHJvdWdoLmMKQEAgLTE0MjAsOSArMTQyMCwxNyBAQCBzdGF0aWMgdm9p ZCBwdF9pb3BvcnRfbWFwKFBDSURldmljZSAqZCwgaW50IGksCiAgICAgaWYgKGVfcGh5cyAh PSAtMSkKICAgICB7CiAgICAgICAgIC8qIENyZWF0ZSBuZXcgbWFwcGluZyAqLwotICAgICAg ICByZXQgPSB4Y19kb21haW5faW9wb3J0X21hcHBpbmcoeGNfaGFuZGxlLCBkb21pZCwgZV9w aHlzLAotICAgICAgICAgICAgICAgICAgICBhc3NpZ25lZF9kZXZpY2UtPmJhc2VzW2ldLmFj Y2Vzcy5waW9fYmFzZSwgZV9zaXplLAotICAgICAgICAgICAgICAgICAgICBEUENJX0FERF9N QVBQSU5HKTsKKyAgICAgICAgaWYgKCB2Z2Ffc2tpcF9pb3BvcnRfbWFwKGQpICkgCisgICAg ICAgIHsKKyAgICAgICAgICAgIGFzc2lnbmVkX2RldmljZS0+YmFzZXNbaV0uZV9waHlzYmFz ZSA9IC0xOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAg ICAgcmV0ID0geGNfZG9tYWluX2lvcG9ydF9tYXBwaW5nKHhjX2hhbmRsZSwgZG9taWQsIGVf cGh5cywKKyAgICAgICAgICAgICAgICAgICBhc3NpZ25lZF9kZXZpY2UtPmJhc2VzW2ldLmFj Y2Vzcy5waW9fYmFzZSwgZV9zaXplLAorICAgICAgICAgICAgICAgICAgIERQQ0lfQUREX01B UFBJTkcpOworICAgICAgICB9CisKICAgICAgICAgaWYgKCByZXQgIT0gMCApCiAgICAgICAg IHsKICAgICAgICAgICAgIFBUX0xPRygiRXJyb3I6IGNyZWF0ZSBuZXcgbWFwcGluZyBmYWls ZWQhXG4iKTsKZGlmZiAtLWdpdCBhL2h3L3Bhc3MtdGhyb3VnaC5oIGIvaHcvcGFzcy10aHJv dWdoLmgKaW5kZXggZTY0MWI1Ni4uOTA1M2IwYyAxMDA2NDQKLS0tIGEvaHcvcGFzcy10aHJv dWdoLmgKKysrIGIvaHcvcGFzcy10aHJvdWdoLmgKQEAgLTQxOSw2ICs0MTksMTEgQEAgaW50 IHB0X3BjaV9ob3N0X3dyaXRlKHN0cnVjdCBwY2lfZGV2ICpwY2lfZGV2LCB1MzIgYWRkciwg dTMyIHZhbCwgaW50IGxlbik7CiB2b2lkIGludGVsX3BjaF9pbml0KFBDSUJ1cyAqYnVzKTsK IGludCByZWdpc3Rlcl92Z2FfcmVnaW9ucyhzdHJ1Y3QgcHRfZGV2ICpyZWFsX2RldmljZSk7 CiBpbnQgdW5yZWdpc3Rlcl92Z2FfcmVnaW9ucyhzdHJ1Y3QgcHRfZGV2ICpyZWFsX2Rldmlj ZSk7CitpbnQgdmdhX3NraXBfaW9wb3J0X21hcChQQ0lEZXZpY2UgKmQpOworaW50IGlnZF9y ZWdpc3Rlcl92Z2FfcmVnaW9ucyhzdHJ1Y3QgcHRfZGV2ICpyZWFsX2RldmljZSk7CitpbnQg aWdkX3VucmVnaXN0ZXJfdmdhX3JlZ2lvbnMoc3RydWN0IHB0X2RldiAqcmVhbF9kZXZpY2Up OworaW50IGF0aV9yZWdpc3Rlcl92Z2FfcmVnaW9ucyhzdHJ1Y3QgcHRfZGV2ICpyZWFsX2Rl dmljZSk7CitpbnQgYXRpX3VucmVnaXN0ZXJfdmdhX3JlZ2lvbnMoc3RydWN0IHB0X2RldiAq cmVhbF9kZXZpY2UpOwogaW50IHNldHVwX3ZnYV9wdChzdHJ1Y3QgcHRfZGV2ICpyZWFsX2Rl dmljZSk7CiBQQ0lCdXMgKmludGVsX3BjaV9icmlkZ2VfaW5pdChQQ0lCdXMgKmJ1cywgaW50 IGRldmZuLCB1aW50MTZfdCB2aWQsCiAgICAgICAgICAgIHVpbnQxNl90IGRpZCwgY29uc3Qg Y2hhciAqbmFtZSwgdWludDE2X3QgcmV2aXNpb24pOwpkaWZmIC0tZ2l0IGEvaHcvcGNpLmgg Yi9ody9wY2kuaAppbmRleCBlZGM1OGI2Li5mZmRiNDgwIDEwMDY0NAotLS0gYS9ody9wY2ku aAorKysgYi9ody9wY2kuaApAQCAtNTQsNiArNTQsOCBAQCBleHRlcm4gdGFyZ2V0X3BoeXNf YWRkcl90IHBjaV9tZW1fYmFzZTsKIAogI2RlZmluZSBQQ0lfVkVORE9SX0lEX0NJUlJVUyAg ICAgICAgICAgICAweDEwMTMKIAorI2RlZmluZSBQQ0lfVkVORE9SX0lEX0FUSSAgICAgICAg ICAgICAgICAweDEwMDIKKwogI2RlZmluZSBQQ0lfVkVORE9SX0lEX0lCTSAgICAgICAgICAg ICAgICAweDEwMTQKICNkZWZpbmUgUENJX0RFVklDRV9JRF9JQk1fT1BFTlBJQzIgICAgICAg MHhmZmZmCiAKZGlmZiAtLWdpdCBhL2h3L3B0LWdyYXBoaWNzLmMgYi9ody9wdC1ncmFwaGlj cy5jCmluZGV4IDljNDFmM2UuLjNkMGFhODggMTAwNjQ0Ci0tLSBhL2h3L3B0LWdyYXBoaWNz LmMKKysrIGIvaHcvcHQtZ3JhcGhpY3MuYwpAQCAtOCwxMSArOCwyNDggQEAKIAogI2luY2x1 ZGUgPHVuaXN0ZC5oPgogI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorI2luY2x1ZGUgPHN5cy9p by5oPgogI2luY2x1ZGUgPGFzc2VydC5oPgogCiBleHRlcm4gaW50IGdmeF9wYXNzdGhydTsK IGV4dGVybiBpbnQgaWdkX3Bhc3N0aHJ1OwogCisvKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqLworLyogICBDb2RlIGZvciBBVEkgR0ZYIFBhc3N0aHJ1ICAgKi8KKy8qKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBBVEkgVkJJT1MgV29ya2luZyBN ZWNoYW5pc20gCisgKgorICogR2VuZXJhbGx5IHRoZXJlIGFyZSB0aHJlZSBtZW1vcnkgcmVz b3VyY2VzICh0d28gTU1JTyBhbmQgb25lIFBJTykgCisgKiBhc3NvY2lhdGVkIHdpdGggbW9k ZXJuIEFUSSBnZnguIFZCSU9TIHVzZXMgc3BlY2lhbCB0cmlja3MgdG8gZmlndXJlIG91dCAK KyAqIEJBUnMsIGluc3RlYWQgb2YgdXNpbmcgcmVndWxhciBQQ0kgY29uZmlnIHNwYWNlIHJl YWQuCisgKgorICogICgxKSBWQklPUyByZWxpZXMgb24gSS9PIHBvcnQgMHgzQzMgdG8gcmV0 cmlldmUgUElPIEJBUiAKKyAqICAoMikgVkJJT1MgbWFpbnRhaW5zIGEgc2hhZG93IGNvcHkg b2YgUENJIGNvbmZpZ3VyZSBzcGFjZS4gSXQgcmV0cmllcyB0aGUgCisgKiAgICAgIE1NSU8g QkFScyBmcm9tIHRoaXMgc2hhZG93IGNvcHkgdmlhIHNlbmRpbmcgSS9PIHJlcXVlc3RzIHRv IGZpcnN0IHR3byAKKyAqICAgICAgcmVnaXN0ZXJzIG9mIFBJTyAoTU1JTkRFWCBhbmQgTU1E QVRBKS4gVGhlIHdvcmtmbG93IGlzIGxpa2UgdGhpczogCisgKiAgICAgIE1NSU5ERVggKHJl Z2lzdGVyIDApIGlzIHdyaXR0ZW4gd2l0aCBhbiBpbmRleCB2YWx1ZSwgc3BlY2lmeWluZyB0 aGUgCisgKiAgICAgIHJlZ2lzdGVyIFZCSU9TIHdhbnRpbmcgdG8gYWNjZXNzLiBUaGVuIHRo ZSBzaGFkb3dlZCBkYXRhIGNhbiBiZSAKKyAqICAgICAgcmVhZC93cml0dGVuIGZyb20gTU1E QVRBIChyZWdpc3RlciAxKS4gRm9yIHR3byBNTUlPIEJBUnMsIHRoZSBpbmRleCAKKyAqICAg ICAgdmFsdWVzIGFyZSAweDQwMTAgKyA0ICogYmFyX2luZGV4LiBGb3IgaW5zdGFuY2UgdGhl IGluZGV4IHZhbHVlIGZvcgorICogICAgICBCQVIgMiBpcyAweDQwMTggKDB4NDAxMCArIDQq MikuCisgKgorICovCisKKyNkZWZpbmUgQVRJX0JBUl9NTUlOREVYX0JBU0UgIDB4NDAxMCAg Ly9kYXRhIHdyaXR0ZW4gdG8gTU1JTkRFWCBmb3IgTU1JTyBCQVIxCisKK3N0cnVjdCBhdGlf Z2Z4X2luZm8geworICAgIGludCBpbml0aWFsaXplZDsgICAgICAgICAgICAvKiBpbml0aWFs aXplZCBhbHJlYWR5PyAqLworCisgICAgLyogUElPICovCisgICAgdWludDMyX3QgaG9zdF9w aW9fYmFzZTsgICAgIC8qIGhvc3QgYmFzZSBhZGRyIG9mIFBJTyAqLworICAgIHVpbnQzMl90 IGd1ZXN0X3Bpb19iYXNlOyAgICAvKiBndWVzdCBiYXNlIGFkZHIgb2YgUElPICovCisgICAg dWludDMyX3QgcGlvX2Jhcl9pbmRleDsgICAgIC8qIFBJTyBCQVIgaW5kZXggY2FuIHZhcnkg ICovCisgICAgdWludDMyX3QgcGlvX3NpemU7ICAgICAgICAgIC8qIFBJTyBzaXplICovCisK KyAgICAvKiBNTUlPICovCisgICAgdWludDMyX3QgZ3Vlc3RfbW1pb19iYXNlMTsgIC8qIGd1 ZXN0IGJhc2UgYWRkciBvZiBNTUlPIDEgKi8KKyAgICB1aW50MzJfdCBtbWlvX2JhcjFfaW5k ZXg7ICAgLyogZ3Vlc3QgTU1JTyBCQVIxIGluZGV4ICovCisgICAgdWludDMyX3QgZ3Vlc3Rf bW1pb19iYXNlMjsgIC8qIGd1ZXN0IGJhc2UgYWRkciBvZiBNTUlPIDIgKi8KKyAgICB1aW50 MzJfdCBtbWlvX2JhcjJfaW5kZXg7ICAgLyogZ3Vlc3QgTU1JTyBCQVIyIGluZGV4ICovCisK KyAgICAvKiBQSU8gTU1JTkRFWCBhY2Nlc3MgcmVjb3JkaW5nICovCisgICAgdWludDMyX3Qg cHJlX21taW5kZXhfZGF0YTsgICAgICAgLyogcHJldmlvdXMgZGF0YSB3cml0dGVuIHRvIE1N SU5ERVggKi8KK307CisKK3N0YXRpYyBzdHJ1Y3QgYXRpX2dmeF9pbmZvIGdmeF9pbmZvOwor CisvKiBDb252ZXJ0IGd1ZXN0IFBJTyBwb3J0IHRvIGhvc3QgUElPIHBvcnQgKi8KK3N0YXRp YyB1aW50MTZfdCBncG9ydF90b19ocG9ydCh1aW50MTZfdCBncG9ydCkKK3sKKyAgICByZXR1 cm4gKGdwb3J0IC0gZ2Z4X2luZm8uZ3Vlc3RfcGlvX2Jhc2UpICsgZ2Z4X2luZm8uaG9zdF9w aW9fYmFzZTsKK30KKworLyogUmVhZCBob3N0IFBJTyBwb3J0ICovCitzdGF0aWMgdWludDMy X3QgYXRpX2h3X2luKHVpbnQxNl90IGhwb3J0KQoreworICAgIHVuc2lnbmVkIHZhbDsKKwor ICAgIGlvcGVybShnZnhfaW5mby5ob3N0X3Bpb19iYXNlLCBnZnhfaW5mby5waW9fc2l6ZSwg MSk7ICAgIAorICAgIGFzbSB2b2xhdGlsZSAoImluICUxLCUwIjoiPWEiKHZhbCk6Ik5kIiho cG9ydCkpOworICAgIGlvcGVybShnZnhfaW5mby5ob3N0X3Bpb19iYXNlLCBnZnhfaW5mby5w aW9fc2l6ZSwgMCk7CisKKyAgICByZXR1cm4gdmFsOworfQorCisvKiBXcml0ZSBkYXRhIHRv IGhvc3QgUElPICovCitzdGF0aWMgdm9pZCBhdGlfaHdfb3V0KHVpbnQxNl90IGhwb3J0LCB1 aW50MzJfdCBkYXRhKQoreworICAgIGlvcGVybShnZnhfaW5mby5ob3N0X3Bpb19iYXNlLCBn ZnhfaW5mby5waW9fc2l6ZSwgMSk7ICAgIAorICAgIGFzbSB2b2xhdGlsZSAoIm91dCAlMSwg JTAiOjoiTmQiKGhwb3J0KSwiYSIoZGF0YSkpOworICAgIGlvcGVybShnZnhfaW5mby5ob3N0 X3Bpb19iYXNlLCBnZnhfaW5mby5waW9fc2l6ZSwgMCk7Cit9CisKK3N0YXRpYyB1aW50MzJf dCBhdGlfaW9fcmVnc19yZWFkKHZvaWQgKm9wYXF1ZSwgdWludDMyX3QgYWRkcikKK3sKKyAg ICB1aW50MzJfdCB2YWwsIGluZGV4OworCisgICAgdmFsID0gYXRpX2h3X2luKGdwb3J0X3Rv X2hwb3J0KGFkZHIpKTsKKworICAgIC8qIHR3ZWFrIHRoZSB2YWx1ZSBpZiBWQklPUyBpcyBy ZWFkaW5nIE1NSU8gQkFSMSBhbmQgQkFSMiAqLworICAgIGlmICggYWRkciA9PSAoZ2Z4X2lu Zm8uZ3Vlc3RfcGlvX2Jhc2UgKyA0KSApCisgICAgeworICAgICAgICBpbmRleCA9IChnZnhf aW5mby5wcmVfbW1pbmRleF9kYXRhIC0gQVRJX0JBUl9NTUlOREVYX0JBU0UpIC8gNDsgCisg ICAgCisgICAgICAgIGlmICggaW5kZXggPT0gZ2Z4X2luZm8ubW1pb19iYXIxX2luZGV4ICkK KyAgICAgICAgICAgIHZhbCA9IGdmeF9pbmZvLmd1ZXN0X21taW9fYmFzZTEgfCAodmFsICYg MHgwMDAwMDAwZik7CisgICAgICAgIGVsc2UgaWYgKCBpbmRleCA9PSBnZnhfaW5mby5tbWlv X2JhcjJfaW5kZXggKQorICAgICAgICAgICAgdmFsID0gZ2Z4X2luZm8uZ3Vlc3RfbW1pb19i YXNlMiB8ICh2YWwgJiAweDAwMDAwMDBmKTsKKyAgICB9CisKKyAgICByZXR1cm4gdmFsOwor fQorCitzdGF0aWMgdm9pZCBhdGlfaW9fcmVnc193cml0ZSh2b2lkICpvcGFxdWUsIHVpbnQz Ml90IGFkZHIsIHVpbnQzMl90IHZhbCkKK3sKKyAgICBhdGlfaHdfb3V0KGdwb3J0X3RvX2hw b3J0KGFkZHIpLCB2YWwpOworCisgICAgLyogYm9vayBrZWVwaW5nICovCisgICAgaWYgKCBh ZGRyID09IGdmeF9pbmZvLmd1ZXN0X3Bpb19iYXNlICkKKyAgICAgICAgZ2Z4X2luZm8ucHJl X21taW5kZXhfZGF0YSA9IHZhbDsKK30KKworI2RlZmluZSBQQ0lfTlVNX0JBUlMgNgorc3Rh dGljIHZvaWQgYXRpX2dmeF9pbml0KHN0cnVjdCBwdF9kZXYgKmFzc2lnbmVkKQoreworICAg IFBDSURldmljZSAqZGV2ID0gKFBDSURldmljZSAqKSZhc3NpZ25lZC0+ZGV2OworICAgIGlu dCBpLCBtbWlvX2JhcjFfaW5kZXgsIG1taW9fYmFyMl9pbmRleCwgcGlvX2luZGV4OworICAg IFBDSUlPUmVnaW9uICpyOworCisgICAgcGlvX2luZGV4ID0gbW1pb19iYXIxX2luZGV4ID0g bW1pb19iYXIyX2luZGV4ID0gLTE7CisKKyAgICAvKiBQQ0kgY29uZmlndXJlIHNwYWNlIG9u bHkgY29udGFpbnMgNiBCQVJzLiBEb24ndCB1c2UgUENJX05VTV9SRUdJT05TLiAqLworICAg IGZvciAoIGkgPSAwOyBpIDwgUENJX05VTV9CQVJTOyBpKysgKSAKKyAgICB7CisgICAgICAg IHIgPSAmZGV2LT5pb19yZWdpb25zW2ldOworCisgICAgICAgIGlmICggci0+c2l6ZSAmJiAo ci0+YWRkciA+IDApICYmIAorICAgICAgICAgICAgIChyLT50eXBlID09IFBDSV9BRERSRVNT X1NQQUNFX01FTSB8fAorICAgICAgICAgICAgICByLT50eXBlID09IFBDSV9BRERSRVNTX1NQ QUNFX01FTV9QUkVGRVRDSCkgKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoIG1taW9f YmFyMV9pbmRleCA8IDAgKQorICAgICAgICAgICAgICAgIG1taW9fYmFyMV9pbmRleCA9IGk7 CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgbW1pb19iYXIyX2luZGV4ID0g aTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgaWYgKCByLT5zaXplICYmIChyLT5h ZGRyID4gMCkgJiYgKHItPnR5cGUgPT0gUENJX0FERFJFU1NfU1BBQ0VfSU8pICkKKyAgICAg ICAgeworICAgICAgICAgICAgcGlvX2luZGV4ID0gaTsKKyAgICAgICAgICAgIAorICAgICAg ICB9CisgICAgfQorCisgICAgaWYgKCBwaW9faW5kZXggPCAwIHx8IG1taW9fYmFyMV9pbmRl eCA8IDAgfHwgbW1pb19iYXIyX2luZGV4IDwgMCApCisgICAgeworICAgICAgICBQVF9MT0co IkVycm9yOiBjYW4ndCBmaW5kIGNvcnJlY3QgZ2Z4IG1lbW9yeSByZXNvdXJjZSBCQVJzXG4i KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICAKKyAgICByZWdpc3Rlcl9pb3BvcnRf cmVhZChkZXYtPmlvX3JlZ2lvbnNbcGlvX2luZGV4XS5hZGRyLCAKKyAgICAgIGRldi0+aW9f cmVnaW9uc1twaW9faW5kZXhdLnNpemUsIDQsIGF0aV9pb19yZWdzX3JlYWQsIGFzc2lnbmVk KTsKKworICAgIHJlZ2lzdGVyX2lvcG9ydF93cml0ZShkZXYtPmlvX3JlZ2lvbnNbcGlvX2lu ZGV4XS5hZGRyLCAKKyAgICAgIGRldi0+aW9fcmVnaW9uc1twaW9faW5kZXhdLnNpemUsIDQs IGF0aV9pb19yZWdzX3dyaXRlLCBhc3NpZ25lZCk7CisgICAgICAgICAgICAKKyAgICAvKiBp bml0aWFsaXplIFBJTyBmaWVsZHMgKi8KKyAgICBnZnhfaW5mby5ndWVzdF9waW9fYmFzZSA9 IGRldi0+aW9fcmVnaW9uc1twaW9faW5kZXhdLmFkZHI7CisgICAgZ2Z4X2luZm8ucGlvX3Np emUgPSBkZXYtPmlvX3JlZ2lvbnNbcGlvX2luZGV4XS5zaXplOworICAgIGdmeF9pbmZvLnBp b19iYXJfaW5kZXggPSBwaW9faW5kZXg7CisgICAgZ2Z4X2luZm8uaG9zdF9waW9fYmFzZSA9 IGFzc2lnbmVkLT5iYXNlc1twaW9faW5kZXhdLmFjY2Vzcy5waW9fYmFzZTsKKworICAgIC8q IGluaXRpYWxpemUgTU1JTyBmaWVsZHMgKi8KKyAgICBnZnhfaW5mby5ndWVzdF9tbWlvX2Jh c2UxID0gZGV2LT5pb19yZWdpb25zW21taW9fYmFyMV9pbmRleF0uYWRkcjsKKyAgICBnZnhf aW5mby5tbWlvX2JhcjFfaW5kZXggPSBtbWlvX2JhcjFfaW5kZXg7CisgICAgZ2Z4X2luZm8u Z3Vlc3RfbW1pb19iYXNlMiA9IGRldi0+aW9fcmVnaW9uc1ttbWlvX2JhcjJfaW5kZXhdLmFk ZHI7CisgICAgZ2Z4X2luZm8ubW1pb19iYXIyX2luZGV4ID0gbW1pb19iYXIyX2luZGV4Owor ICAgIAorICAgIGdmeF9pbmZvLmluaXRpYWxpemVkID0gMTsKKworICAgIFBUX0xPRygiQVRJ IEdGWCBHdWVzdCBJbmZvOlxuIgorICAgICAgICAgICAiICAgICAgIHBpb19pbmRleD0weCUw OHgsICAgICAgIGd1ZXN0X3Bpb19iYXI9MHglMDh4XG4iCisgICAgICAgICAgICIgICAgICAg bW1pb19iYXIxX2luZGV4PTB4JTA4eCwgZ3Vlc3RfbW1pb19iYXIxPTB4JTA4eFxuIgorICAg ICAgICAgICAiICAgICAgIG1taW9fYmFyMl9pbmRleD0weCUwOHgsIGd1ZXN0X21taW9fYmFy Mj0weCUwOHhcbiIsIAorICAgICAgICAgICBnZnhfaW5mby5waW9fYmFyX2luZGV4LCBnZnhf aW5mby5ndWVzdF9waW9fYmFzZSwgCisgICAgICAgICAgIGdmeF9pbmZvLm1taW9fYmFyMV9p bmRleCwgZ2Z4X2luZm8uZ3Vlc3RfbW1pb19iYXNlMSwgCisgICAgICAgICAgIGdmeF9pbmZv Lm1taW9fYmFyMl9pbmRleCwgZ2Z4X2luZm8uZ3Vlc3RfbW1pb19iYXNlMik7Cit9CisKK3N0 YXRpYyB1aW50MzJfdCBhdGlfbGVnYWN5X2lvX3JlYWQodm9pZCAqb3BhcXVlLCB1aW50MzJf dCBhZGRyKQoreworICAgIHN0cnVjdCBwdF9kZXYgKmFzc2lnbmVkX2RldmljZSA9IG9wYXF1 ZTsKKyAgICBQQ0lEZXZpY2UgKmRldiA9IChQQ0lEZXZpY2UgKikmYXNzaWduZWRfZGV2aWNl LT5kZXY7CisgICAgdWludDMyX3QgdmFsID0gMHhGRjsKKworICAgIHN3aXRjaCggYWRkciAp CisgICAgeworICAgIGNhc2UgMHgzYzM6CisgICAgICAgIHZhbCA9IGRldi0+aW9fcmVnaW9u c1tnZnhfaW5mby5waW9fYmFyX2luZGV4XS5hZGRyID4+IDg7CisgICAgICAgIC8qIEludGVy Y2VwdCBHRlggSU8gcmVnaXN0ZXJzLiBUaGlzIHN1cHBvc2VzIHRvIGhhcHBlbiBpbiAKKyAg ICAgICAgICogYXRpX3JlZ2lzdGVyX3ZnYV9yZWdpb25zKCkuIEJ1dCB3ZSBjYW5ub3QgZ2V0 IGd1ZXN0IHBoeXMgSU8gQkFSIAorICAgICAgICAgKiBvdmVyIHRoZXJlLiAqLworICAgICAg ICBpZiAoICFnZnhfaW5mby5pbml0aWFsaXplZCApCisgICAgICAgICAgICBhdGlfZ2Z4X2lu aXQoYXNzaWduZWRfZGV2aWNlKTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAg ICAgICAgUFRfTE9HKCJFUlJPUjogcG9ydCAweCV4IEkvTyByZWFkIG5vdCBoYW5kbGVkXG4i LCBhZGRyKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgcmV0dXJuIHZhbDsKK30K Kworc3RhdGljIHZvaWQgYXRpX2xlZ2FjeV9pb193cml0ZSh2b2lkICpvcGFxdWUsIHVpbnQz Ml90IGFkZHIsIHVpbnQzMl90IHZhbCkKK3sKKyAgICBQVF9MT0coIkVSUk9SOiBwb3J0IDB4 JXggSS9PIHdyaXRlIG5vdCBoYW5kbGVkXG4iLCBhZGRyKTsKK30KKworaW50IGF0aV9yZWdp c3Rlcl92Z2FfcmVnaW9ucyhzdHJ1Y3QgcHRfZGV2ICpyZWFsX2RldmljZSkKK3sKKyAgICBQ Q0lEZXZpY2UgKmRldiA9IChQQ0lEZXZpY2UgKikmcmVhbF9kZXZpY2UtPmRldjsKKyAgICBp bnQgcmV0ID0gMDsKKworICAgIC8qIFdlIG5lZWQgdG8gaW50ZXJjZXB0IFZCSU9TIGFjY2Vz c2VzIHRvIHBvcnQgMHgzQzMsIHdoaWNoIHJldHVybnMgCisgICAgICogZGV2aWNlIHBvcnQg SS9PIEJBUi4gRm9yIHRoZSByZXN0IG9mIGxlZ2FjeSBJL08gcG9ydHMsIHdlIGFsbG93IGRp cmVjdAorICAgICAqIGFjY2Vzc2VzLgorICAgICAqLworICAgIHJldCB8PSB4Y19kb21haW5f aW9wb3J0X21hcHBpbmcoeGNfaGFuZGxlLCBkb21pZCwgMHgzQzAsCisgICAgICAgICAgICAw eDNDMCwgMHgzLCBEUENJX0FERF9NQVBQSU5HKTsKKyAgICAKKyAgICByZXQgfD0geGNfZG9t YWluX2lvcG9ydF9tYXBwaW5nKHhjX2hhbmRsZSwgZG9taWQsIDB4M0M0LAorICAgICAgICAg ICAgMHgzQzQsIDB4MUMsIERQQ0lfQUREX01BUFBJTkcpOworCisgICAgcmVnaXN0ZXJfaW9w b3J0X3JlYWQoMHgzYzMsIDEsIDEsIGF0aV9sZWdhY3lfaW9fcmVhZCwgcmVhbF9kZXZpY2Up OworICAgIHJlZ2lzdGVyX2lvcG9ydF93cml0ZSgweDNjMywgMSwgMSwgYXRpX2xlZ2FjeV9p b193cml0ZSwgcmVhbF9kZXZpY2UpOworCisgICAgLyogaW5pdGlhbGl6ZWQgb24gdGhlIGZp cnN0IHBvcnQgMHgzQzMgYWNjZXNzIGluIGF0aV9nZnhfaW5pdCAqLworICAgIGdmeF9pbmZv LmluaXRpYWxpemVkID0gMDsKKworICAgIHJldHVybiByZXQ7Cit9CisKK2ludCBhdGlfdW5y ZWdpc3Rlcl92Z2FfcmVnaW9ucyhzdHJ1Y3QgcHRfZGV2ICpyZWFsX2RldmljZSkKK3sKKyAg ICBpbnQgcmV0ID0gMDsKKworICAgIHJldCB8PSB4Y19kb21haW5faW9wb3J0X21hcHBpbmco eGNfaGFuZGxlLCBkb21pZCwgMHgzQzAsCisgICAgICAgICAgICAweDNDMCwgMHgzLCBEUENJ X1JFTU9WRV9NQVBQSU5HKTsKKyAgICAKKyAgICByZXQgfD0geGNfZG9tYWluX2lvcG9ydF9t YXBwaW5nKHhjX2hhbmRsZSwgZG9taWQsIDB4M0M0LAorICAgICAgICAgICAgMHgzQzQsIDB4 MUMsIERQQ0lfUkVNT1ZFX01BUFBJTkcpOworCisgICAgZ2Z4X2luZm8uaW5pdGlhbGl6ZWQg PSAwOworCisgICAgcmV0dXJuIHJldDsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKi8KKy8qICBDb2RlIGZvciBJbnRlbCBJR0QgUGFzc3RocnUgICovCisvKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogc3RhdGljIGludCBwY2hfbWFwX2ly cShQQ0lEZXZpY2UgKnBjaV9kZXYsIGludCBpcnFfbnVtKQogewogICAgIFBUX0xPRygicGNo X21hcF9pcnEgY2FsbGVkXG4iKTsKQEAgLTEyMyw2ICszNjAsNzkgQEAgcmVhZF9kZWZhdWx0 OgogICAgcmV0dXJuIHBjaV9kZWZhdWx0X3JlYWRfY29uZmlnKHBjaV9kZXYsIGNvbmZpZ19h ZGRyLCBsZW4pOwogfQogCitpbnQgaWdkX3JlZ2lzdGVyX3ZnYV9yZWdpb25zKHN0cnVjdCBw dF9kZXYgKnJlYWxfZGV2aWNlKQoreworICAgIHUzMiB2ZW5kb3JfaWQsIGlnZF9vcHJlZ2lv bjsKKyAgICBpbnQgcmV0ID0gMDsKKyAgICAKKyAgICAvKiBsZWdhY3kgSS9PIHBvcnRzIDB4 M0MwIC0tIDB4M0UwICovCisgICAgcmV0IHw9IHhjX2RvbWFpbl9pb3BvcnRfbWFwcGluZyh4 Y19oYW5kbGUsIGRvbWlkLCAweDNDMCwKKyAgICAgICAgICAgIDB4M0MwLCAweDIwLCBEUENJ X0FERF9NQVBQSU5HKTsKKworICAgIC8qIDE6MSBtYXAgQVNMIFN0b3JhZ2UgcmVnaXN0ZXIg dmFsdWUgKi8KKyAgICB2ZW5kb3JfaWQgPSBwdF9wY2lfaG9zdF9yZWFkKHJlYWxfZGV2aWNl LT5wY2lfZGV2LCAwLCAyKTsKKyAgICBpZ2Rfb3ByZWdpb24gPSBwdF9wY2lfaG9zdF9yZWFk KHJlYWxfZGV2aWNlLT5wY2lfZGV2LCBQQ0lfSU5URUxfT1BSRUdJT04sIDQpOworICAgIGlm ICggKHZlbmRvcl9pZCA9PSBQQ0lfVkVORE9SX0lEX0lOVEVMKSAmJiBpZ2Rfb3ByZWdpb24g KQorICAgIHsKKyAgICAgICAgcmV0IHw9IHhjX2RvbWFpbl9tZW1vcnlfbWFwcGluZyh4Y19o YW5kbGUsIGRvbWlkLAorICAgICAgICAgICAgICAgIGlnZF9vcHJlZ2lvbiA+PiBYQ19QQUdF X1NISUZULAorICAgICAgICAgICAgICAgIGlnZF9vcHJlZ2lvbiA+PiBYQ19QQUdFX1NISUZU LAorICAgICAgICAgICAgICAgIDIsCisgICAgICAgICAgICAgICAgRFBDSV9BRERfTUFQUElO Ryk7CisgICAgICAgIFBUX0xPRygicmVnaXN0ZXJfdmdhOiBpZ2Rfb3ByZWdpb24gPSAleFxu IiwgaWdkX29wcmVnaW9uKTsKKyAgICB9CisKKyAgICByZXR1cm4gcmV0OworfQorCitpbnQg aWdkX3VucmVnaXN0ZXJfdmdhX3JlZ2lvbnMoc3RydWN0IHB0X2RldiAqcmVhbF9kZXZpY2Up Cit7CisgICAgdTMyIHZlbmRvcl9pZCwgaWdkX29wcmVnaW9uOworICAgIGludCByZXQgPSAw OworICAgIHN0cnVjdCBwY2lfZGV2ICpwaHlzX2RldiA9IHB0X3BjaV9nZXRfZGV2KDAsIDIs IDApOworCisgICAgcmV0IHw9IHhjX2RvbWFpbl9pb3BvcnRfbWFwcGluZyh4Y19oYW5kbGUs IGRvbWlkLCAweDNDMCwKKyAgICAgICAgICAgIDB4M0MwLCAweDIwLCBEUENJX1JFTU9WRV9N QVBQSU5HKTsKKworICAgIHZlbmRvcl9pZCA9IHB0X3BjaV9ob3N0X3JlYWQocmVhbF9kZXZp Y2UtPnBjaV9kZXYsIDAsIDIpOworICAgIGlnZF9vcHJlZ2lvbiA9IHB0X3BjaV9ob3N0X3Jl YWQocmVhbF9kZXZpY2UtPnBjaV9kZXYsIFBDSV9JTlRFTF9PUFJFR0lPTiwgNCk7CisgICAg aWYgKCAodmVuZG9yX2lkID09IFBDSV9WRU5ET1JfSURfSU5URUwpICYmIGlnZF9vcHJlZ2lv biApCisgICAgeworICAgICAgICByZXQgfD0geGNfZG9tYWluX21lbW9yeV9tYXBwaW5nKHhj X2hhbmRsZSwgZG9taWQsCisgICAgICAgICAgICAgICAgaWdkX29wcmVnaW9uID4+IFhDX1BB R0VfU0hJRlQsCisgICAgICAgICAgICAgICAgaWdkX29wcmVnaW9uID4+IFhDX1BBR0VfU0hJ RlQsCisgICAgICAgICAgICAgICAgMiwKKyAgICAgICAgICAgICAgICBEUENJX1JFTU9WRV9N QVBQSU5HKTsKKyAgICB9CisKKyAgICByZXR1cm4gcmV0OworfQorLyoqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKi8KKy8qIEdlbmVyaWMgQ29kZSBmb3IgR0ZYIFBhc3N0aHJ1 ICovCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogVGhpcyBmdW5j dGlvbiBkZWNpZGVzIHdoZXRoZXIgSS9PIHBvcnQgbWFwIHNob3VsZCBiZSBza2lwcGVkICov CitpbnQgdmdhX3NraXBfaW9wb3J0X21hcChQQ0lEZXZpY2UgKmQpCit7CisgICAgc3RydWN0 IHB0X2RldiAqZGV2ID0gKHN0cnVjdCBwdF9kZXYgKilkOworICAgIGludCBza2lwID0gMDsK KworICAgIGlmICggIWdmeF9wYXNzdGhydSB8fCBkZXYtPnBjaV9kZXYtPmRldmljZV9jbGFz cyAhPSAweDAzMDAgKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHN3aXRjaCggZGV2LT5w Y2lfZGV2LT52ZW5kb3JfaWQgKSAKKyAgICB7CisgICAgY2FzZSBQQ0lfVkVORE9SX0lEX0FU SToKKyAgICBjYXNlIFBDSV9WRU5ET1JfSURfQU1EOgorICAgICAgICBza2lwID0gMTsKKyAg ICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgc2tpcCA9IDA7CisgICAgICAg IGJyZWFrOworICAgIH0KKyAgICAgICAgCisgICAgcmV0dXJuIHNraXA7Cit9CisKIC8qCiAg KiByZWdpc3RlciBWR0EgcmVzb3VyY2VzIGZvciB0aGUgZG9tYWluIHdpdGggYXNzaWduZWQg Z2Z4CiAgKi8KQEAgLTEzNSwyOSArNDQ1LDMwIEBAIGludCByZWdpc3Rlcl92Z2FfcmVnaW9u cyhzdHJ1Y3QgcHRfZGV2ICpyZWFsX2RldmljZSkKICAgICBpZiAoICFnZnhfcGFzc3RocnUg fHwgcmVhbF9kZXZpY2UtPnBjaV9kZXYtPmRldmljZV9jbGFzcyAhPSAweDAzMDAgKQogICAg ICAgICByZXR1cm4gcmV0OwogCisgICAgLyogbGVnYWN5IEkvTyBwb3J0cyAweDNCMCAtIDB4 M0JDICovCiAgICAgcmV0IHw9IHhjX2RvbWFpbl9pb3BvcnRfbWFwcGluZyh4Y19oYW5kbGUs IGRvbWlkLCAweDNCMCwKICAgICAgICAgICAgIDB4M0IwLCAweEMsIERQQ0lfQUREX01BUFBJ TkcpOwotCi0gICAgcmV0IHw9IHhjX2RvbWFpbl9pb3BvcnRfbWFwcGluZyh4Y19oYW5kbGUs IGRvbWlkLCAweDNDMCwKLSAgICAgICAgICAgIDB4M0MwLCAweDIwLCBEUENJX0FERF9NQVBQ SU5HKTsKLQorICAgIAorICAgIC8qIGxlZ2FjeSB2aWRlbyBNTUlPIHJhbmdlIDB4QTAwMDAg LSAweEJGRkZGICovCiAgICAgcmV0IHw9IHhjX2RvbWFpbl9tZW1vcnlfbWFwcGluZyh4Y19o YW5kbGUsIGRvbWlkLAogICAgICAgICAgICAgMHhhMDAwMCA+PiBYQ19QQUdFX1NISUZULAog ICAgICAgICAgICAgMHhhMDAwMCA+PiBYQ19QQUdFX1NISUZULAogICAgICAgICAgICAgMHgy MCwKICAgICAgICAgICAgIERQQ0lfQUREX01BUFBJTkcpOwogCi0gICAgLyogMToxIG1hcCBB U0wgU3RvcmFnZSByZWdpc3RlciB2YWx1ZSAqLwotICAgIHZlbmRvcl9pZCA9IHB0X3BjaV9o b3N0X3JlYWQocmVhbF9kZXZpY2UtPnBjaV9kZXYsIDAsIDIpOwotICAgIGlnZF9vcHJlZ2lv biA9IHB0X3BjaV9ob3N0X3JlYWQocmVhbF9kZXZpY2UtPnBjaV9kZXYsIFBDSV9JTlRFTF9P UFJFR0lPTiwgNCk7Ci0gICAgaWYgKCAodmVuZG9yX2lkID09IFBDSV9WRU5ET1JfSURfSU5U RUwgKSAmJiBpZ2Rfb3ByZWdpb24gKQorICAgIHN3aXRjaCggcmVhbF9kZXZpY2UtPnBjaV9k ZXYtPnZlbmRvcl9pZCApIAogICAgIHsKLSAgICAgICAgcmV0IHw9IHhjX2RvbWFpbl9tZW1v cnlfbWFwcGluZyh4Y19oYW5kbGUsIGRvbWlkLAotICAgICAgICAgICAgICAgIGlnZF9vcHJl Z2lvbiA+PiBYQ19QQUdFX1NISUZULAotICAgICAgICAgICAgICAgIGlnZF9vcHJlZ2lvbiA+ PiBYQ19QQUdFX1NISUZULAotICAgICAgICAgICAgICAgIDIsCi0gICAgICAgICAgICAgICAg RFBDSV9BRERfTUFQUElORyk7Ci0gICAgICAgIFBUX0xPRygicmVnaXN0ZXJfdmdhOiBpZ2Rf b3ByZWdpb24gPSAleFxuIiwgaWdkX29wcmVnaW9uKTsKKyAgICBjYXNlIFBDSV9WRU5ET1Jf SURfSU5URUw6CisgICAgICAgIHJldCA9IGlnZF9yZWdpc3Rlcl92Z2FfcmVnaW9ucyhyZWFs X2RldmljZSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUENJX1ZFTkRPUl9JRF9BVEk6 CisgICAgY2FzZSBQQ0lfVkVORE9SX0lEX0FNRDoKKyAgICAgICAgcmV0ID0gYXRpX3JlZ2lz dGVyX3ZnYV9yZWdpb25zKHJlYWxfZGV2aWNlKTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVm YXVsdDoKKyAgICAgICAgUFRfTE9HKCJnZnggY2FyZCB3YXNuJ3Qgc3VwcG9ydGVkIGJ5IFhl biBwYXNzdGhydSFcbiIpOworICAgICAgICByZXQgPSAxOworICAgICAgICBicmVhazsKICAg ICB9CiAKICAgICBpZiAoIHJldCAhPSAwICkKQEAgLTE3MSwzMyArNDgyLDM2IEBAIGludCBy ZWdpc3Rlcl92Z2FfcmVnaW9ucyhzdHJ1Y3QgcHRfZGV2ICpyZWFsX2RldmljZSkKICAqLwog aW50IHVucmVnaXN0ZXJfdmdhX3JlZ2lvbnMoc3RydWN0IHB0X2RldiAqcmVhbF9kZXZpY2Up CiB7Ci0gICAgdTMyIHZlbmRvcl9pZCwgaWdkX29wcmVnaW9uOwogICAgIGludCByZXQgPSAw OwogCiAgICAgaWYgKCAhZ2Z4X3Bhc3N0aHJ1IHx8IHJlYWxfZGV2aWNlLT5wY2lfZGV2LT5k ZXZpY2VfY2xhc3MgIT0gMHgwMzAwICkKICAgICAgICAgcmV0dXJuIHJldDsKIAorICAgIC8q IGxlZ2FjeSBJL08gcG9ydHMgMHgzQjAgLSAweDNCQyAqLwogICAgIHJldCB8PSB4Y19kb21h aW5faW9wb3J0X21hcHBpbmcoeGNfaGFuZGxlLCBkb21pZCwgMHgzQjAsCiAgICAgICAgICAg ICAweDNCMCwgMHhDLCBEUENJX1JFTU9WRV9NQVBQSU5HKTsKIAotICAgIHJldCB8PSB4Y19k b21haW5faW9wb3J0X21hcHBpbmcoeGNfaGFuZGxlLCBkb21pZCwgMHgzQzAsCi0gICAgICAg ICAgICAweDNDMCwgMHgyMCwgRFBDSV9SRU1PVkVfTUFQUElORyk7Ci0KKyAgICAvKiBsZWdh Y3kgdmlkZW8gTU1JTyByYW5nZSAweEEwMDAwIC0gMHhCRkZGRiAqLwogICAgIHJldCB8PSB4 Y19kb21haW5fbWVtb3J5X21hcHBpbmcoeGNfaGFuZGxlLCBkb21pZCwKICAgICAgICAgICAg IDB4YTAwMDAgPj4gWENfUEFHRV9TSElGVCwKICAgICAgICAgICAgIDB4YTAwMDAgPj4gWENf UEFHRV9TSElGVCwKICAgICAgICAgICAgIDIwLAogICAgICAgICAgICAgRFBDSV9SRU1PVkVf TUFQUElORyk7CiAKLSAgICB2ZW5kb3JfaWQgPSBwdF9wY2lfaG9zdF9yZWFkKHJlYWxfZGV2 aWNlLT5wY2lfZGV2LCBQQ0lfVkVORE9SX0lELCAyKTsKLSAgICBpZ2Rfb3ByZWdpb24gPSBw dF9wY2lfaG9zdF9yZWFkKHJlYWxfZGV2aWNlLT5wY2lfZGV2LCBQQ0lfSU5URUxfT1BSRUdJ T04sIDQpOwotICAgIGlmICggKHZlbmRvcl9pZCA9PSBQQ0lfVkVORE9SX0lEX0lOVEVMKSAm JiBpZ2Rfb3ByZWdpb24gKQorICAgIC8qIE90aGVyIFZHQSByZWdpb25zIGFyZSB2ZW5kb3Ig c3BlY2lmaWMgKi8KKyAgICBzd2l0Y2goIHJlYWxfZGV2aWNlLT5wY2lfZGV2LT52ZW5kb3Jf aWQgKSAKICAgICB7Ci0gICAgICAgIHJldCB8PSB4Y19kb21haW5fbWVtb3J5X21hcHBpbmco eGNfaGFuZGxlLCBkb21pZCwKLSAgICAgICAgICAgICAgICBpZ2Rfb3ByZWdpb24gPj4gWENf UEFHRV9TSElGVCwKLSAgICAgICAgICAgICAgICBpZ2Rfb3ByZWdpb24gPj4gWENfUEFHRV9T SElGVCwKLSAgICAgICAgICAgICAgICAyLAotICAgICAgICAgICAgICAgIERQQ0lfUkVNT1ZF X01BUFBJTkcpOworICAgIGNhc2UgUENJX1ZFTkRPUl9JRF9JTlRFTDoKKyAgICAgICAgcmV0 ID0gaWdkX3VucmVnaXN0ZXJfdmdhX3JlZ2lvbnMocmVhbF9kZXZpY2UpOworICAgICAgICBi cmVhazsKKyAgICBjYXNlIFBDSV9WRU5ET1JfSURfQVRJOgorICAgIGNhc2UgUENJX1ZFTkRP Ul9JRF9BTUQ6CisgICAgICAgIHJldCA9IGF0aV91bnJlZ2lzdGVyX3ZnYV9yZWdpb25zKHJl YWxfZGV2aWNlKTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgUFRf TE9HKCJnZnggY2FyZCB3YXNuJ3Qgc3VwcG9ydGVkIGJ5IFhlbiBwYXNzdGhydSFcbiIpOwor ICAgICAgICByZXQgPSAxOworICAgICAgICBicmVhazsKICAgICB9CiAKICAgICBpZiAoIHJl dCAhPSAwICkKQEAgLTI2NywxMiArNTgxLDEyIEBAIGludCBzZXR1cF92Z2FfcHQoc3RydWN0 IHB0X2RldiAqcmVhbF9kZXZpY2UpCiAgICAgaWYgKCAhZ2Z4X3Bhc3N0aHJ1IHx8IHJlYWxf ZGV2aWNlLT5wY2lfZGV2LT5kZXZpY2VfY2xhc3MgIT0gMHgwMzAwICkKICAgICAgICAgcmV0 dXJuIHJjOwogCi0gICAgLyogQWxsb2NhdGVkIDY0SyBmb3IgdGhlIHZnYSBiaW9zICovCi0g ICAgaWYgKCAhKGJpb3MgPSBtYWxsb2MoNjQgKiAxMDI0KSkgKQorICAgIC8qIEFsbG9jYXRl ZCAxMjhLIGZvciB0aGUgdmdhIGJpb3MgKi8KKyAgICBpZiAoICEoYmlvcyA9IG1hbGxvYygx MjggKiAxMDI0KSkgKQogICAgICAgICByZXR1cm4gLTE7CiAKICAgICBiaW9zX3NpemUgPSBn ZXRfdmdhYmlvcyhiaW9zKTsKLSAgICBpZiAoIGJpb3Nfc2l6ZSA9PSAwIHx8IGJpb3Nfc2l6 ZSA+IDY0ICogMTAyNCkKKyAgICBpZiAoIGJpb3Nfc2l6ZSA9PSAwIHx8IGJpb3Nfc2l6ZSA+ IDEyOCAqIDEwMjQpCiAgICAgewogICAgICAgICBQVF9MT0coInZnYSBiaW9zIHNpemUgKDB4 JXgpIGlzIGludmFsaWQhXG4iLCBiaW9zX3NpemUpOwogICAgICAgICByYyA9IC0xOwo= --------------040704040500050502070708 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel --------------040704040500050502070708--