[PATCH v9 01/19] xen: add PV/PVH kernel entry point

看板FB_current作者時間12年前 (2014/01/03 02:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
QWRkIHRoZSBQVi9QVkggZW50cnkgcG9pbnQgYW5kIHRoZSBsb3cgbGV2ZWwgZnVuY3Rpb25zIGZv ciBQVkgKaW5pdGlhbGl6YXRpb24uCi0tLQogc3lzL2FtZDY0L2FtZDY0L2xvY29yZS5TICAgICB8 ICAgIDEgKwogc3lzL2FtZDY0L2FtZDY0L3hlbi1sb2NvcmUuUyB8ICAgODMgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysKIHN5cy9hbWQ2NC9pbmNsdWRlL2FzbWFjcm9zLmggfCAgIDI2ICsr KysrKysrKwogc3lzL2NvbmYvZmlsZXMuYW1kNjQgICAgICAgICB8ICAgIDIgKwogc3lzL2kzODYv eGVuL3hlbl9tYWNoZGVwLmMgICB8ICAgIDIgKwogc3lzL3g4Ni94ZW4vaHZtLmMgICAgICAgICAg ICB8ICAgIDEgKwogc3lzL3g4Ni94ZW4vcHYuYyAgICAgICAgICAgICB8ICAxMTkgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBzeXMveGVuL3hlbi1vcy5oICAgICAg ICAgICAgIHwgICAgNCArKwogOCBmaWxlcyBjaGFuZ2VkLCAyMzggaW5zZXJ0aW9ucygrKSwgMCBk ZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzeXMvYW1kNjQvYW1kNjQveGVuLWxvY29y ZS5TCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3lzL3g4Ni94ZW4vcHYuYwoKZGlmZiAtLWdpdCBhL3N5 cy9hbWQ2NC9hbWQ2NC9sb2NvcmUuUyBiL3N5cy9hbWQ2NC9hbWQ2NC9sb2NvcmUuUwppbmRleCA1 NWNkYTNhLi40YWNlZjk3IDEwMDY0NAotLS0gYS9zeXMvYW1kNjQvYW1kNjQvbG9jb3JlLlMKKysr IGIvc3lzL2FtZDY0L2FtZDY0L2xvY29yZS5TCkBAIC04NCw1ICs4NCw2IEBAIE5PTl9HUFJPRl9F TlRSWShidGV4dCkKIAogCS5ic3MKIAlBTElHTl9EQVRBCQkJLyoganVzdCB0byBiZSBzdXJlICov CisJLmdsb2JsCWJvb3RzdGFjawogCS5zcGFjZQkweDEwMDAJCQkvKiBzcGFjZSBmb3IgYm9vdHN0 YWNrIC0gdGVtcG9yYXJ5IHN0YWNrICovCiBib290c3RhY2s6CmRpZmYgLS1naXQgYS9zeXMvYW1k NjQvYW1kNjQveGVuLWxvY29yZS5TIGIvc3lzL2FtZDY0L2FtZDY0L3hlbi1sb2NvcmUuUwpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NDI4N2M0Ci0tLSAvZGV2L251bGwKKysr IGIvc3lzL2FtZDY0L2FtZDY0L3hlbi1sb2NvcmUuUwpAQCAtMCwwICsxLDgzIEBACisvKi0KKyAq IENvcHlyaWdodCAoYykgMjAwMyBQZXRlciBXZW1tIDxwZXRlckBGcmVlQlNELm9yZz4KKyAqIENv cHlyaWdodCAoYykgMjAxMyBSb2dlciBQYXUgTW9ubmUgPHJveWdlckBGcmVlQlNELm9yZz4KKyAq IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0 aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ Uk9WSURFRCBCWSBUSEUgQVVUSE9SIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorICog QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN SVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuICBJ TiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKyAq IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ LCBPUiBDT05TRVFVRU5USUFMCisgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworICogT1IgU0VSVklDRVM7IExP U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisg KiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg SU4gQ09OVFJBQ1QsIFNUUklDVAorICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorICogT1VUIE9GIFRIRSBV U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP RgorICogU1VDSCBEQU1BR0UuCisgKgorICogJEZyZWVCU0QkCisgKi8KKworI2luY2x1ZGUgPG1h Y2hpbmUvYXNtYWNyb3MuaD4KKyNpbmNsdWRlIDxtYWNoaW5lL3BzbC5oPgorI2luY2x1ZGUgPG1h Y2hpbmUvcG1hcC5oPgorI2luY2x1ZGUgPG1hY2hpbmUvc3BlY2lhbHJlZy5oPgorCisjaW5jbHVk ZSA8eGVuL3hlbi1vcy5oPgorI2RlZmluZSBfX0FTU0VNQkxZX18KKyNpbmNsdWRlIDx4ZW4vaW50 ZXJmYWNlL2VsZm5vdGUuaD4KKworI2luY2x1ZGUgImFzc3ltLnMiCisKKy5zZWN0aW9uIF9feGVu X2d1ZXN0CisJRUxGTk9URShYZW4sIFhFTl9FTEZOT1RFX0dVRVNUX09TLCAgICAgICAuYXNjaXos ICJGcmVlQlNEIikKKwlFTEZOT1RFKFhlbiwgWEVOX0VMRk5PVEVfR1VFU1RfVkVSU0lPTiwgIC5h c2NpeiwgIkhFQUQiKQorCUVMRk5PVEUoWGVuLCBYRU5fRUxGTk9URV9YRU5fVkVSU0lPTiwgICAg LmFzY2l6LCAieGVuLTMuMCIpCisJRUxGTk9URShYZW4sIFhFTl9FTEZOT1RFX1ZJUlRfQkFTRSwg ICAgICAucXVhZCwgIEtFUk5CQVNFKQorCUVMRk5PVEUoWGVuLCBYRU5fRUxGTk9URV9QQUREUl9P RkZTRVQsICAgLnF1YWQsICBLRVJOQkFTRSkgLyogWGVuIGhvbm91cnMgZWxmLT5wX3BhZGRyOyBj b21wZW5zYXRlIGZvciB0aGlzICovCisJRUxGTk9URShYZW4sIFhFTl9FTEZOT1RFX0VOVFJZLCAg ICAgICAgICAucXVhZCwgIHhlbl9zdGFydCkKKwlFTEZOT1RFKFhlbiwgWEVOX0VMRk5PVEVfSFlQ RVJDQUxMX1BBR0UsIC5xdWFkLAkgaHlwZXJjYWxsX3BhZ2UpCisJRUxGTk9URShYZW4sIFhFTl9F TEZOT1RFX0hWX1NUQVJUX0xPVywgICAucXVhZCwgIEhZUEVSVklTT1JfVklSVF9TVEFSVCkKKwlF TEZOT1RFKFhlbiwgWEVOX0VMRk5PVEVfRkVBVFVSRVMsICAgICAgIC5hc2NpeiwgIndyaXRhYmxl X2Rlc2NyaXB0b3JfdGFibGVzfGF1dG9fdHJhbnNsYXRlZF9waHlzbWFwfHN1cGVydmlzb3JfbW9k ZV9rZXJuZWx8aHZtX2NhbGxiYWNrX3ZlY3RvciIpCisJRUxGTk9URShYZW4sIFhFTl9FTEZOT1RF X1BBRV9NT0RFLCAgICAgICAuYXNjaXosICJ5ZXMiKQorCUVMRk5PVEUoWGVuLCBYRU5fRUxGTk9U RV9MMV9NRk5fVkFMSUQsICAgLmxvbmcsICBQR19WLCBQR19WKQorCUVMRk5PVEUoWGVuLCBYRU5f RUxGTk9URV9MT0FERVIsICAgICAgICAgLmFzY2l6LCAiZ2VuZXJpYyIpCisJRUxGTk9URShYZW4s IFhFTl9FTEZOT1RFX1NVU1BFTkRfQ0FOQ0VMLCAubG9uZywgIDApCisJRUxGTk9URShYZW4sIFhF Tl9FTEZOT1RFX0JTRF9TWU1UQUIsCSAuYXNjaXosICJ5ZXMiKQorCisJLnRleHQKKy5wMmFsaWdu IFBBR0VfU0hJRlQsIDB4OTAJLyogSHlwZXJjYWxsX3BhZ2UgbmVlZHMgdG8gYmUgUEFHRSBhbGln bmVkICovCisKK05PTl9HUFJPRl9FTlRSWShoeXBlcmNhbGxfcGFnZSkKKwkuc2tpcAkweDEwMDAs IDB4OTAJLyogRmlsbCB3aXRoICJub3AicyAqLworCitOT05fR1BST0ZfRU5UUlkoeGVuX3N0YXJ0 KQorCS8qIERvbid0IHRydXN0IHdoYXQgdGhlIGxvYWRlciBnaXZlcyBmb3IgcmZsYWdzLiAqLwor CXB1c2hxCSRQU0xfS0VSTkVMCisJcG9wZnEKKworCS8qIFBhcmFtZXRlcnMgZm9yIHRoZSB4ZW4g aW5pdCBmdW5jdGlvbiAqLworCW1vdnEJJXJzaSwgJXJkaQkJLyogc2hhcmVkX2luZm8gKGFyZyAx KSAqLworCW1vdnEJJXJzcCwgJXJzaQkJLyogeGVuc3RhY2sgICAgKGFyZyAyKSAqLworCisJLyog VXNlIG91ciBvd24gc3RhY2sgKi8KKwltb3ZxCSRib290c3RhY2ssJXJzcAorCXhvcmwJJWVicCwg JWVicAorCisJLyogdV9pbnQ2NF90IGhhbW1lcl90aW1lX3hlbihzdGFydF9pbmZvX3QgKnNpLCB1 X2ludDY0X3QgeGVuc3RhY2spOyAqLworCWNhbGwJaGFtbWVyX3RpbWVfeGVuCisJbW92cQklcmF4 LCAlcnNwCQkvKiBzZXQgdXAga3N0YWNrIGZvciBtaV9zdGFydHVwKCkgKi8KKwljYWxsCW1pX3N0 YXJ0dXAJCS8qIGF1dG9jb25maWd1cmF0aW9uLCBtb3VudHJvb3QgZXRjICovCisKKwkvKiBOT1RS RUFDSEVEICovCiswOglobHQKKwlqbXAgCTBiCmRpZmYgLS1naXQgYS9zeXMvYW1kNjQvaW5jbHVk ZS9hc21hY3Jvcy5oIGIvc3lzL2FtZDY0L2luY2x1ZGUvYXNtYWNyb3MuaAppbmRleCAxZmI1OTJh Li5jZThkY2U0IDEwMDY0NAotLS0gYS9zeXMvYW1kNjQvaW5jbHVkZS9hc21hY3Jvcy5oCisrKyBi L3N5cy9hbWQ2NC9pbmNsdWRlL2FzbWFjcm9zLmgKQEAgLTIwMSw0ICsyMDEsMzAgQEAKIAogI2Vu ZGlmIC8qIExPQ09SRSAqLwogCisjaWZkZWYgX19TVERDX18KKyNkZWZpbmUgRUxGTk9URShuYW1l LCB0eXBlLCBkZXNjdHlwZSwgZGVzY2RhdGEuLi4pIFwKKy5wdXNoc2VjdGlvbiAubm90ZS5uYW1l ICAgICAgICAgICAgICAgICA7ICAgICAgIFwKKyAgLmFsaWduIDQgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA7ICAgICAgIFwKKyAgLmxvbmcgMmYgLSAxZiAgICAgICAgIC8qIG5hbWVzeiAq LyAgICA7ICAgICAgIFwKKyAgLmxvbmcgNGYgLSAzZiAgICAgICAgIC8qIGRlc2NzeiAqLyAgICA7 ICAgICAgIFwKKyAgLmxvbmcgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICA7ICAgICAg IFwKKzE6LmFzY2l6ICNuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICA7ICAgICAgIFwKKzI6 LmFsaWduIDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7ICAgICAgIFwKKzM6ZGVzY3R5 cGUgZGVzY2RhdGEgICAgICAgICAgICAgICAgICAgICA7ICAgICAgIFwKKzQ6LmFsaWduIDQgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA7ICAgICAgIFwKKy5wb3BzZWN0aW9uCisjZWxzZSAv KiAhX19TVERDX18sIGkuZS4gLXRyYWRpdGlvbmFsICovCisjZGVmaW5lIEVMRk5PVEUobmFtZSwg dHlwZSwgZGVzY3R5cGUsIGRlc2NkYXRhKSBcCisucHVzaHNlY3Rpb24gLm5vdGUubmFtZSAgICAg ICAgICAgICAgICAgOyAgICAgICBcCisgIC5hbGlnbiA0ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgOyAgICAgICBcCisgIC5sb25nIDJmIC0gMWYgICAgICAgICAvKiBuYW1lc3ogKi8gICAg OyAgICAgICBcCisgIC5sb25nIDRmIC0gM2YgICAgICAgICAvKiBkZXNjc3ogKi8gICAgOyAgICAg ICBcCisgIC5sb25nIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyAgICAgICBcCisx Oi5hc2NpeiAibmFtZSIgICAgICAgICAgICAgICAgICAgICAgICAgOyAgICAgICBcCisyOi5hbGln biA0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyAgICAgICBcCiszOmRlc2N0eXBlIGRl c2NkYXRhICAgICAgICAgICAgICAgICAgICAgOyAgICAgICBcCis0Oi5hbGlnbiA0ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgOyAgICAgICBcCisucG9wc2VjdGlvbgorI2VuZGlmIC8qIF9f U1REQ19fICovCisKICNlbmRpZiAvKiAhX01BQ0hJTkVfQVNNQUNST1NfSF8gKi8KZGlmZiAtLWdp dCBhL3N5cy9jb25mL2ZpbGVzLmFtZDY0IGIvc3lzL2NvbmYvZmlsZXMuYW1kNjQKaW5kZXggZDFi ZGNkOS4uMTYwMjlkOCAxMDA2NDQKLS0tIGEvc3lzL2NvbmYvZmlsZXMuYW1kNjQKKysrIGIvc3lz L2NvbmYvZmlsZXMuYW1kNjQKQEAgLTExOSw2ICsxMTksNyBAQCBhbWQ2NC9hbWQ2NC9pbl9ja3N1 bS5jCQlvcHRpb25hbAlpbmV0IHwgaW5ldDYKIGFtZDY0L2FtZDY0L2luaXRjcHUuYwkJc3RhbmRh cmQKIGFtZDY0L2FtZDY0L2lvLmMJCW9wdGlvbmFsCWlvCiBhbWQ2NC9hbWQ2NC9sb2NvcmUuUwkJ c3RhbmRhcmQJbm8tb2JqCithbWQ2NC9hbWQ2NC94ZW4tbG9jb3JlLlMJb3B0aW9uYWwJeGVuaHZt CiBhbWQ2NC9hbWQ2NC9tYWNoZGVwLmMJCXN0YW5kYXJkCiBhbWQ2NC9hbWQ2NC9tZW0uYwkJb3B0 aW9uYWwJbWVtCiBhbWQ2NC9hbWQ2NC9taW5pZHVtcF9tYWNoZGVwLmMJc3RhbmRhcmQKQEAgLTU2 NiwzICs1NjcsNCBAQCB4ODYveDg2L25leHVzLmMJCQlzdGFuZGFyZAogeDg2L3g4Ni90c2MuYwkJ CXN0YW5kYXJkCiB4ODYveGVuL2h2bS5jCQkJb3B0aW9uYWwJeGVuaHZtCiB4ODYveGVuL3hlbl9p bnRyLmMJCW9wdGlvbmFsCXhlbiB8IHhlbmh2bQoreDg2L3hlbi9wdi5jCQkJb3B0aW9uYWwJeGVu aHZtCmRpZmYgLS1naXQgYS9zeXMvaTM4Ni94ZW4veGVuX21hY2hkZXAuYyBiL3N5cy9pMzg2L3hl bi94ZW5fbWFjaGRlcC5jCmluZGV4IDcwNDliZTYuLmZkNTc1ZWUgMTAwNjQ0Ci0tLSBhL3N5cy9p Mzg2L3hlbi94ZW5fbWFjaGRlcC5jCisrKyBiL3N5cy9pMzg2L3hlbi94ZW5fbWFjaGRlcC5jCkBA IC04OSw2ICs4OSw3IEBAIElEVFZFQyhkaXYpLCBJRFRWRUMoZGJnKSwgSURUVkVDKG5taSksIElE VFZFQyhicHQpLCBJRFRWRUMob2ZsKSwKIAogaW50IHhlbmRlYnVnX2ZsYWdzOyAKIHN0YXJ0X2lu Zm9fdCAqeGVuX3N0YXJ0X2luZm87CitzdGFydF9pbmZvX3QgKkhZUEVSVklTT1Jfc3RhcnRfaW5m bzsKIHNoYXJlZF9pbmZvX3QgKkhZUEVSVklTT1Jfc2hhcmVkX2luZm87CiB4ZW5fcGZuX3QgKnhl bl9tYWNoaW5lX3BoeXMgPSBtYWNoaW5lX3RvX3BoeXNfbWFwcGluZzsKIHhlbl9wZm5fdCAqeGVu X3BoeXNfbWFjaGluZTsKQEAgLTkyNyw2ICs5MjgsNyBAQCBpbml0dmFsdWVzKHN0YXJ0X2luZm9f dCAqc3RhcnRpbmZvKQogCUhZUEVSVklTT1Jfdm1fYXNzaXN0KFZNQVNTVF9DTURfZW5hYmxlLCBW TUFTU1RfVFlQRV80Z2Jfc2VnbWVudHNfbm90aWZ5KTsJCiAjZW5kaWYJCiAJeGVuX3N0YXJ0X2lu Zm8gPSBzdGFydGluZm87CisJSFlQRVJWSVNPUl9zdGFydF9pbmZvID0gc3RhcnRpbmZvOwogCXhl bl9waHlzX21hY2hpbmUgPSAoeGVuX3Bmbl90ICopc3RhcnRpbmZvLT5tZm5fbGlzdDsKIAogCUlk bGVQVEQgPSAocGRfZW50cnlfdCAqKSgodWludDhfdCAqKXN0YXJ0aW5mby0+cHRfYmFzZSArIFBB R0VfU0laRSk7CmRpZmYgLS1naXQgYS9zeXMveDg2L3hlbi9odm0uYyBiL3N5cy94ODYveGVuL2h2 bS5jCmluZGV4IDcyODExZGMuLmIzOTc3MjEgMTAwNjQ0Ci0tLSBhL3N5cy94ODYveGVuL2h2bS5j CisrKyBiL3N5cy94ODYveGVuL2h2bS5jCkBAIC0xNTksNiArMTU5LDcgQEAgRFBDUFVfREVGSU5F KHhlbl9pbnRyX2hhbmRsZV90LCBpcGlfaGFuZGxlW25pdGVtcyh4ZW5faXBpcyldKTsKIC8qKiBI eXBlcmNhbGwgdGFibGUgYWNjZXNzZWQgdmlhIEhZUEVSVklTT1JfKl9vcCgpIG1ldGhvZHMuICov CiBjaGFyICpoeXBlcmNhbGxfc3R1YnM7CiBzaGFyZWRfaW5mb190ICpIWVBFUlZJU09SX3NoYXJl ZF9pbmZvOworc3RhcnRfaW5mb190ICpIWVBFUlZJU09SX3N0YXJ0X2luZm87CiAKICNpZmRlZiBT TVAKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBYRU4gUFYgSVBJIEhhbmRsZXJzIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCmRpZmYgLS1naXQgYS9zeXMveDg2L3hlbi9wdi5j IGIvc3lzL3g4Ni94ZW4vcHYuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41 NTcxZWNmCi0tLSAvZGV2L251bGwKKysrIGIvc3lzL3g4Ni94ZW4vcHYuYwpAQCAtMCwwICsxLDEx OSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAwNCBDaHJpc3RpYW4gTGltcGFjaC4KKyAqIENv cHlyaWdodCAoYykgMjAwNC0yMDA2LDIwMDggS2lwIE1hY3kKKyAqIENvcHlyaWdodCAoYykgMjAx MyBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KKyAqIEFsbCByaWdodHMg cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0 ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU SEUgQVVUSE9SIEFORCBDT05UUklCVVRPUlMgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9S IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB TEwgVEhFIEFVVEhPUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVD VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO VElBTAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZFUiBDQVVT RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT VFJJQ1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFN QUdFLgorICovCisKKyNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KK19fRkJTRElEKCIkRnJlZUJTRCQi KTsKKworI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgorI2luY2x1ZGUgPHN5cy9idXMuaD4KKyNpbmNs dWRlIDxzeXMva2VybmVsLmg+CisjaW5jbHVkZSA8c3lzL3JlYm9vdC5oPgorI2luY2x1ZGUgPHN5 cy9zeXN0bS5oPgorI2luY2x1ZGUgPHN5cy9sb2NrLmg+CisjaW5jbHVkZSA8c3lzL3J3bG9jay5o PgorCisjaW5jbHVkZSA8dm0vdm0uaD4KKyNpbmNsdWRlIDx2bS92bV9leHRlcm4uaD4KKyNpbmNs dWRlIDx2bS92bV9rZXJuLmg+CisjaW5jbHVkZSA8dm0vdm1fcGFnZS5oPgorI2luY2x1ZGUgPHZt L3ZtX21hcC5oPgorI2luY2x1ZGUgPHZtL3ZtX29iamVjdC5oPgorI2luY2x1ZGUgPHZtL3ZtX3Bh Z2VyLmg+CisjaW5jbHVkZSA8dm0vdm1fcGFyYW0uaD4KKworI2luY2x1ZGUgPHhlbi94ZW4tb3Mu aD4KKyNpbmNsdWRlIDx4ZW4vaHlwZXJ2aXNvci5oPgorCisvKiBOYXRpdmUgaW5pdGlhbCBmdW5j dGlvbiAqLworZXh0ZXJuIHVfaW50NjRfdCBoYW1tZXJfdGltZSh1X2ludDY0X3QsIHVfaW50NjRf dCk7CisvKiBYZW4gaW5pdGlhbCBmdW5jdGlvbiAqLworZXh0ZXJuIHVfaW50NjRfdCBoYW1tZXJf dGltZV94ZW4oc3RhcnRfaW5mb190ICosIHVfaW50NjRfdCk7CisKKy8qCisgKiBGaXJzdCBmdW5j dGlvbiBjYWxsZWQgYnkgdGhlIFhlbiBQVkggYm9vdCBzZXF1ZW5jZS4KKyAqCisgKiBTZXQgc29t ZSBYZW4gZ2xvYmFsIHZhcmlhYmxlcyBhbmQgcHJlcGFyZSB0aGUgZW52aXJvbm1lbnQgc28gaXQg aXMKKyAqIGFzIHNpbWlsYXIgYXMgcG9zc2libGUgdG8gd2hhdCBuYXRpdmUgRnJlZUJTRCBpbml0 IGZ1bmN0aW9uIGV4cGVjdHMuCisgKi8KK3VfaW50NjRfdAoraGFtbWVyX3RpbWVfeGVuKHN0YXJ0 X2luZm9fdCAqc2ksIHVfaW50NjRfdCB4ZW5zdGFjaykKK3sKKwl1X2ludDY0X3QgcGh5c2ZyZWU7 CisJdV9pbnQ2NF90ICpQVDQgPSAodV9pbnQ2NF90ICopeGVuc3RhY2s7CisJdV9pbnQ2NF90ICpQ VDMgPSAodV9pbnQ2NF90ICopKHhlbnN0YWNrICsgUEFHRV9TSVpFKTsKKwl1X2ludDY0X3QgKlBU MiA9ICh1X2ludDY0X3QgKikoeGVuc3RhY2sgKyAyICogUEFHRV9TSVpFKTsKKwlpbnQgaTsKKwor CWlmICgoc2kgPT0gTlVMTCkgfHwgKHhlbnN0YWNrID09IDApKSB7CisJCUhZUEVSVklTT1Jfc2h1 dGRvd24oU0hVVERPV05fY3Jhc2gpOworCX0KKworCS8qIFdlIHVzZSAzIHBhZ2VzIG9mIHhlbiBz dGFjayBmb3IgdGhlIGJvb3QgcGFnZXRhYmxlcyAqLworCXBoeXNmcmVlID0geGVuc3RhY2sgKyAz ICogUEFHRV9TSVpFIC0gS0VSTkJBU0U7CisKKwkvKiBTZXR1cCBYZW4gZ2xvYmFsIHZhcmlhYmxl cyAqLworCUhZUEVSVklTT1Jfc3RhcnRfaW5mbyA9IHNpOworCUhZUEVSVklTT1Jfc2hhcmVkX2lu Zm8gPQorCQkoc2hhcmVkX2luZm9fdCAqKShzaS0+c2hhcmVkX2luZm8gKyBLRVJOQkFTRSk7CisK KwkvKgorCSAqIFNldHVwIHNvbWUgbWlzYyBnbG9iYWwgdmFyaWFibGVzIGZvciBYZW4gZGV2aWNl cworCSAqCisJICogWFhYOiBkZXZpY2VzIHRoYXQgbmVlZCB0aGlzIHNwZWNpZmljIHZhcmlhYmxl cyBzaG91bGQKKwkgKiAgICAgIGJlIHJld3JpdHRlbiB0byBmZXRjaCB0aGlzIGluZm8gYnkgdGhl bXNlbHZlcyBmcm9tIHRoZQorCSAqICAgICAgc3RhcnRfaW5mbyBwYWdlLgorCSAqLworCXhlbl9z dG9yZSA9IChzdHJ1Y3QgeGVuc3RvcmVfZG9tYWluX2ludGVyZmFjZSAqKQorCSAgICAgICAgICAg IChwdG9hKHNpLT5zdG9yZV9tZm4pICsgS0VSTkJBU0UpOworCisJeGVuX2RvbWFpbl90eXBlID0g WEVOX1BWX0RPTUFJTjsKKwl2bV9ndWVzdCA9IFZNX0dVRVNUX1hFTjsKKworCS8qCisJICogVXNl IHRoZSBzdGFjayBYZW4gZ2l2ZXMgdXMgdG8gYnVpbGQgdGhlIHBhZ2UgdGFibGVzCisJICogYXMg bmF0aXZlIEZyZWVCU0QgZXhwZWN0cyB0byBmaW5kIHRoZW0gKGNyZWF0ZWQKKwkgKiBieSB0aGUg Ym9vdCB0cmFtcG9saW5lKS4KKwkgKi8KKwlmb3IgKGkgPSAwOyBpIDwgNTEyOyBpKyspIHsKKwkJ LyogRWFjaCBzbG90IG9mIHRoZSBsZXZlbCA0IHBhZ2VzIHBvaW50cyB0byB0aGUgc2FtZSBsZXZl bCAzIHBhZ2UgKi8KKwkJUFQ0W2ldID0gKCh1X2ludDY0X3QpJlBUM1swXSkgLSBLRVJOQkFTRTsK KwkJUFQ0W2ldIHw9IFBHX1YgfCBQR19SVyB8IFBHX1U7CisKKwkJLyogRWFjaCBzbG90IG9mIHRo ZSBsZXZlbCAzIHBhZ2VzIHBvaW50cyB0byB0aGUgc2FtZSBsZXZlbCAyIHBhZ2UgKi8KKwkJUFQz W2ldID0gKCh1X2ludDY0X3QpJlBUMlswXSkgLSBLRVJOQkFTRTsKKwkJUFQzW2ldIHw9IFBHX1Yg fCBQR19SVyB8IFBHX1U7CisKKwkJLyogVGhlIGxldmVsIDIgcGFnZSBzbG90cyBhcmUgbWFwcGVk IHdpdGggMk1CIHBhZ2VzIGZvciAxR0IuICovCisJCVBUMltpXSA9IGkgKiAoMiAqIDEwMjQgKiAx MDI0KTsKKwkJUFQyW2ldIHw9IFBHX1YgfCBQR19SVyB8IFBHX1BTIHwgUEdfVTsKKwl9CisJbG9h ZF9jcjMoKCh1X2ludDY0X3QpJlBUNFswXSkgLSBLRVJOQkFTRSk7CisKKwkvKiBOb3cgd2UgY2Fu IGp1bXAgaW50byB0aGUgbmF0aXZlIGluaXQgZnVuY3Rpb24gKi8KKwlyZXR1cm4gKGhhbW1lcl90 aW1lKDAsIHBoeXNmcmVlKSk7Cit9CmRpZmYgLS1naXQgYS9zeXMveGVuL3hlbi1vcy5oIGIvc3lz L3hlbi94ZW4tb3MuaAppbmRleCA4NzY0NGU5Li5jNzQ3NGQ4IDEwMDY0NAotLS0gYS9zeXMveGVu L3hlbi1vcy5oCisrKyBiL3N5cy94ZW4veGVuLW9zLmgKQEAgLTUxLDYgKzUxLDEwIEBACiB2b2lk IGZvcmNlX2V2dGNobl9jYWxsYmFjayh2b2lkKTsKIAogZXh0ZXJuIHNoYXJlZF9pbmZvX3QgKkhZ UEVSVklTT1Jfc2hhcmVkX2luZm87CitleHRlcm4gc3RhcnRfaW5mb190ICpIWVBFUlZJU09SX3N0 YXJ0X2luZm87CisKKy8qIFhYWDogd2UgbmVlZCB0byBnZXQgcmlkIG9mIHRoaXMgYW5kIHVzZSBI WVBFUlZJU09SX3N0YXJ0X2luZm8gZGlyZWN0bHkgKi8KK2V4dGVybiBzdHJ1Y3QgeGVuc3RvcmVf ZG9tYWluX2ludGVyZmFjZSAqeGVuX3N0b3JlOwogCiBlbnVtIHhlbl9kb21haW5fdHlwZSB7CiAJ WEVOX05BVElWRSwgICAgICAgICAgICAgLyogcnVubmluZyBvbiBiYXJlIGhhcmR3YXJlICAgICov Ci0tIAoxLjcuNy41IChBcHBsZSBHaXQtMjYpCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpmcmVlYnNkLWN1cnJlbnRAZnJlZWJzZC5vcmcgbWFpbGluZyBs aXN0Cmh0dHA6Ly9saXN0cy5mcmVlYnNkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWVic2QtY3Vy cmVudApUbyB1bnN1YnNjcmliZSwgc2VuZCBhbnkgbWFpbCB0byAiZnJlZWJzZC1jdXJyZW50LXVu c3Vic2NyaWJlQGZyZWVic2Qub3JnIg==
文章代碼(AID): #1InQbUOl (FB_current)