From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: Re: [PATCH V2] libxl: enabling upstream qemu as pv backend Date: Thu, 23 Jun 2011 10:53:56 +0800 Message-ID: References: <1307705226.1798.33.camel@limbo> <19968.48357.41977.642024@mariner.uk.xensource.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=20cf3054ab59f8f67204a65833ff Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Ian Jackson Cc: Ian Campbell , "xen-devel@lists.xensource.com" , Stefano Stabellini List-Id: xen-devel@lists.xenproject.org --20cf3054ab59f8f67204a65833ff Content-Type: text/plain; charset=UTF-8 Resend. Gmail is really bad for submitting patch, but it is the only choice for the moment... Wei. --20cf3054ab59f8f67204a65833ff Content-Type: application/octet-stream; name="libxl-upstream-qemu.patch" Content-Disposition: attachment; filename="libxl-upstream-qemu.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gp94baxt0 Y29tbWl0IDQxNTBlYTIzMzQzOGJmM2ZhODM3ZTViYzU3NDZiMDE4NTlmYmJiYjcKQXV0aG9yOiBX ZWkgTGl1IDxsaXV3QGxpdXcubmFtZT4KRGF0ZTogICBXZWQgSnVuIDggMTE6MTM6MjUgMjAxMSAr MDgwMAoKICAgIGxpYnhsOiBlbmFibGluZyB1cHN0cmVhbSBxZW11IGFzIHB1cmUgcHYgYmFja2Vu ZC4KICAgIAogICAgVGhpcyBwYXRjaCBtYWtlcyBkZXZpY2VfbW9kZWxfe3ZlcnNpb24sb3ZlcnJp ZGV9IHdvcmsgZm9yIHB1cmUgcHYKICAgIGd1ZXN0LCBzbyB0aGF0IHVzZXJzIGNhbiBzcGVjaWZ5 IHVwc3RyZWFtIHFlbXUgYXMgcHVyZSBwdiBiYWNrZW5kCiAgICBvdGhlciB0aGFuIHRyYWRpdGlv bmFsIHFlbXUteGVuLgogICAgCiAgICBUaGlzIHBhdGNoIGFsc28gYWRkcyBkZXZpY2VfbW9kZWxf YXJnc197cHYsZnZ9IG9wdGlvbnMgZm9yIHB2IGFuZAogICAgZnYgZ3Vlc3QgcmVzcGVjdGl2ZWx5 LgogICAgCiAgICBJbnRlcm5hbGx5LCBvcmlnaW5hbCBsaWJ4bF9fY3JlYXRlX3hlbnB2X3FlbXUg YWxsb2NhdGVzIGEgbmV3IGVtcHR5CiAgICBkbV9pbmZvIChzdHJ1Y3QgbGlieGxfZGV2aWNlX21v ZGVsX2luZm8pIGZvciBldmVyeSB4ZW5wdiBxZW11IGNyZWF0ZWQuCiAgICBOb3cgdGhlIGNhbGxl ciBvZiBsaWJ4bF9fY3JlYXRlX3hlbnB2X3FlbXUgaXMgcmVzcG9uc2libGUgZm9yCiAgICBhbGxv Y2F0aW5nIHRoaXMgZG1faW5mby4KICAgIAogICAgU2lnbmVkLW9mZi1ieTogV2VpIExpdSA8bGl1 d0BsaXV3Lm5hbWU+CgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGwuaWRsIGIvdG9vbHMv bGlieGwvbGlieGwuaWRsCmluZGV4IGYwZmIyMmYuLmI1YzgxYTMgMTAwNjQ0Ci0tLSBhL3Rvb2xz L2xpYnhsL2xpYnhsLmlkbAorKysgYi90b29scy9saWJ4bC9saWJ4bC5pZGwKQEAgLTIyMiw2ICsy MjIsOCBAQCBsaWJ4bF9kZXZpY2VfbW9kZWxfaW5mbyA9IFN0cnVjdCgiZGV2aWNlX21vZGVsX2lu Zm8iLFsKICAgICAoInZjcHVfYXZhaWwiLCAgICAgICBpbnRlZ2VyLCAgICAgICAgICAgRmFsc2Us ICJ2Y3B1cyBhY3R1YWxseSBhdmFpbGFibGUiKSwKICAgICAoInhlbl9wbGF0Zm9ybV9wY2kiLCBi b29sLCAgICAgICAgICAgICAgRmFsc2UsICJlbmFibGUvZGlzYWJsZSB0aGUgeGVuIHBsYXRmb3Jt IHBjaSBkZXZpY2UiKSwKICAgICAoImV4dHJhIiwgICAgICAgICAgICBsaWJ4bF9zdHJpbmdfbGlz dCwgRmFsc2UsICJleHRyYSBwYXJhbWV0ZXJzIHBhc3MgZGlyZWN0bHkgdG8gcWVtdSwgTlVMTCB0 ZXJtaW5hdGVkIiksCisgICAgKCJleHRyYV9wdiIsICAgICAgICAgbGlieGxfc3RyaW5nX2xpc3Qs IEZhbHNlLCAiZXh0cmEgcGFyYW1ldGVycyBwYXNzIGRpcmVjdGx5IHRvIHFlbXUgZm9yIFBWIGd1 ZXN0LCBOVUxMIHRlcm1pbmF0ZWQiKSwKKyAgICAoImV4dHJhX2Z2IiwgICAgICAgICBsaWJ4bF9z dHJpbmdfbGlzdCwgRmFsc2UsICJleHRyYSBwYXJhbWV0ZXJzIHBhc3MgZGlyZWN0bHkgdG8gcWVt dSBmb3IgRlYgZ3Vlc3QsIE5VTEwgdGVybWluYXRlZCIpLAogICAgIF0sCiAgICAgY29tbWVudD0K ICIiIkRldmljZSBNb2RlbCBpbmZvcm1hdGlvbi4KZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xp YnhsX2NyZWF0ZS5jIGIvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMKaW5kZXggNjIyOTRiMi4u OTI1NTBiYiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMKKysrIGIvdG9v bHMvbGlieGwvbGlieGxfY3JlYXRlLmMKQEAgLTQ4Niw2ICs0ODYsNyBAQCBzdGF0aWMgaW50IGRv X2RvbWFpbl9jcmVhdGUobGlieGxfX2djICpnYywgbGlieGxfZG9tYWluX2NvbmZpZyAqZF9jb25m aWcsCiAgICAgfSBlbHNlIHsKICAgICAgICAgaW50IG5lZWRfcWVtdSA9IDA7CiAgICAgICAgIGxp YnhsX2RldmljZV9jb25zb2xlIGNvbnNvbGU7CisgICAgICAgIGxpYnhsX2RldmljZV9tb2RlbF9p bmZvIHhlbnB2X2RtX2luZm87CiAKICAgICAgICAgZm9yIChpID0gMDsgaSA8IGRfY29uZmlnLT5u dW1fdmZiczsgaSsrKSB7CiAgICAgICAgICAgICBsaWJ4bF9kZXZpY2VfdmZiX2FkZChjdHgsIGRv bWlkLCAmZF9jb25maWctPnZmYnNbaV0pOwpAQCAtNTA2LDggKzUwNywxNSBAQCBzdGF0aWMgaW50 IGRvX2RvbWFpbl9jcmVhdGUobGlieGxfX2djICpnYywgbGlieGxfZG9tYWluX2NvbmZpZyAqZF9j b25maWcsCiAgICAgICAgIGxpYnhsX19kZXZpY2VfY29uc29sZV9hZGQoZ2MsIGRvbWlkLCAmY29u c29sZSwgJnN0YXRlKTsKICAgICAgICAgbGlieGxfZGV2aWNlX2NvbnNvbGVfZGVzdHJveSgmY29u c29sZSk7CiAKKyAgICAgICAgLyogb25seSBjb3B5IHRob3NlIHVzZWZ1bCBjb25maWdzICovCisg ICAgICAgIG1lbXNldCgodm9pZCopJnhlbnB2X2RtX2luZm8sIDB4MDAsIHNpemVvZihsaWJ4bF9k ZXZpY2VfbW9kZWxfaW5mbykpOworICAgICAgICB4ZW5wdl9kbV9pbmZvLmRldmljZV9tb2RlbF92 ZXJzaW9uID0KKyAgICAgICAgICAgIGRfY29uZmlnLT5kbV9pbmZvLmRldmljZV9tb2RlbF92ZXJz aW9uOworICAgICAgICB4ZW5wdl9kbV9pbmZvLnR5cGUgPSBkX2NvbmZpZy0+ZG1faW5mby50eXBl OworICAgICAgICB4ZW5wdl9kbV9pbmZvLmRldmljZV9tb2RlbCA9IGRfY29uZmlnLT5kbV9pbmZv LmRldmljZV9tb2RlbDsKICAgICAgICAgaWYgKG5lZWRfcWVtdSkKLSAgICAgICAgICAgIGxpYnhs X19jcmVhdGVfeGVucHZfcWVtdShnYywgZG9taWQsIGRfY29uZmlnLT52ZmJzLCAmZG1fc3RhcnRp bmcpOworICAgICAgICAgICAgbGlieGxfX2NyZWF0ZV94ZW5wdl9xZW11KGdjLCBkb21pZCwgJnhl bnB2X2RtX2luZm8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZF9jb25m aWctPnZmYnMsICZkbV9zdGFydGluZyk7CiAgICAgfQogCiAgICAgaWYgKGRtX3N0YXJ0aW5nKSB7 CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9kbS5jIGIvdG9vbHMvbGlieGwvbGlieGxf ZG0uYwppbmRleCA0N2E1MWM4Li5mYjBlMGIxIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4 bF9kbS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMKQEAgLTIwNyw5ICsyMDcsMTMgQEAg c3RhdGljIGNoYXIgKiogbGlieGxfX2J1aWxkX2RldmljZV9tb2RlbF9hcmdzX29sZChsaWJ4bF9f Z2MgKmdjLAogICAgIHN3aXRjaCAoaW5mby0+dHlwZSkgewogICAgIGNhc2UgTElCWExfRE9NQUlO X1RZUEVfUFY6CiAgICAgICAgIGZsZXhhcnJheV9hcHBlbmQoZG1fYXJncywgInhlbnB2Iik7Cisg ICAgICAgIGZvciAoaSA9IDA7IGluZm8tPmV4dHJhX3B2ICYmIGluZm8tPmV4dHJhX3B2W2ldICE9 IE5VTEw7IGkrKykKKyAgICAgICAgICAgIGZsZXhhcnJheV9hcHBlbmQoZG1fYXJncywgaW5mby0+ ZXh0cmFfcHZbaV0pOwogICAgICAgICBicmVhazsKICAgICBjYXNlIExJQlhMX0RPTUFJTl9UWVBF X0ZWOgogICAgICAgICBmbGV4YXJyYXlfYXBwZW5kKGRtX2FyZ3MsICJ4ZW5mdiIpOworICAgICAg ICBmb3IgKGkgPSAwOyBpbmZvLT5leHRyYV9mdiAmJiBpbmZvLT5leHRyYV9mdltpXSAhPSBOVUxM OyBpKyspCisgICAgICAgICAgICBmbGV4YXJyYXlfYXBwZW5kKGRtX2FyZ3MsIGluZm8tPmV4dHJh X2Z2W2ldKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGZsZXhhcnJheV9hcHBlbmQoZG1f YXJncywgTlVMTCk7CkBAIC0zNjQsOSArMzY4LDEzIEBAIHN0YXRpYyBjaGFyICoqIGxpYnhsX19i dWlsZF9kZXZpY2VfbW9kZWxfYXJnc19uZXcobGlieGxfX2djICpnYywKICAgICBzd2l0Y2ggKGlu Zm8tPnR5cGUpIHsKICAgICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX1BWOgogICAgICAgICBmbGV4 YXJyYXlfYXBwZW5kKGRtX2FyZ3MsICJ4ZW5wdiIpOworICAgICAgICBmb3IgKGkgPSAwOyBpbmZv LT5leHRyYV9wdiAmJiBpbmZvLT5leHRyYV9wdltpXSAhPSBOVUxMOyBpKyspCisgICAgICAgICAg ICBmbGV4YXJyYXlfYXBwZW5kKGRtX2FyZ3MsIGluZm8tPmV4dHJhX3B2W2ldKTsKICAgICAgICAg YnJlYWs7CiAgICAgY2FzZSBMSUJYTF9ET01BSU5fVFlQRV9GVjoKICAgICAgICAgZmxleGFycmF5 X2FwcGVuZChkbV9hcmdzLCAieGVuZnYiKTsKKyAgICAgICAgZm9yIChpID0gMDsgaW5mby0+ZXh0 cmFfZnYgJiYgaW5mby0+ZXh0cmFfZnZbaV0gIT0gTlVMTDsgaSsrKQorICAgICAgICAgICAgZmxl eGFycmF5X2FwcGVuZChkbV9hcmdzLCBpbmZvLT5leHRyYV9mdltpXSk7CiAgICAgICAgIGJyZWFr OwogICAgIH0KIApAQCAtNTc1LDYgKzU4Myw3IEBAIHN0YXRpYyBpbnQgbGlieGxfX2NyZWF0ZV9z dHViZG9tKGxpYnhsX19nYyAqZ2MsCiAgICAgc3RydWN0IHhzX3Blcm1pc3Npb25zIHBlcm1bMl07 CiAgICAgeHNfdHJhbnNhY3Rpb25fdCB0OwogICAgIGxpYnhsX19kZXZpY2VfbW9kZWxfc3RhcnRp bmcgKmRtX3N0YXJ0aW5nID0gMDsKKyAgICBsaWJ4bF9kZXZpY2VfbW9kZWxfaW5mbyB4ZW5wdl9k bV9pbmZvOwogCiAgICAgaWYgKGluZm8tPmRldmljZV9tb2RlbF92ZXJzaW9uICE9IExJQlhMX0RF VklDRV9NT0RFTF9WRVJTSU9OX1FFTVVfWEVOX1RSQURJVElPTkFMKSB7CiAgICAgICAgIHJldCA9 IEVSUk9SX0lOVkFMOwpAQCAtNjA4LDYgKzYxNyw3IEBAIHN0YXRpYyBpbnQgbGlieGxfX2NyZWF0 ZV9zdHViZG9tKGxpYnhsX19nYyAqZ2MsCiAKICAgICAvKiBmaXhtZTogdGhpcyBmdW5jdGlvbiBj YW4gbGVhayB0aGUgc3R1YmRvbSBpZiBpdCBmYWlscyAqLwogCisgICAgZG9taWQgPSAwOwogICAg IHJldCA9IGxpYnhsX19kb21haW5fbWFrZShnYywgJmNfaW5mbywgJmRvbWlkKTsKICAgICBpZiAo cmV0KQogICAgICAgICBnb3RvIG91dF9mcmVlOwpAQCAtNzAyLDcgKzcxMiwxNCBAQCByZXRyeV90 cmFuc2FjdGlvbjoKICAgICAgICAgaWYgKHJldCkKICAgICAgICAgICAgIGdvdG8gb3V0X2ZyZWU7 CiAgICAgfQotICAgIGlmIChsaWJ4bF9fY3JlYXRlX3hlbnB2X3FlbXUoZ2MsIGRvbWlkLCB2ZmIs ICZkbV9zdGFydGluZykgPCAwKSB7CisKKyAgICBtZW1zZXQoKHZvaWQqKSZ4ZW5wdl9kbV9pbmZv LCAweDAwLCBzaXplb2YobGlieGxfZGV2aWNlX21vZGVsX2luZm8pKTsKKyAgICB4ZW5wdl9kbV9p bmZvLmRldmljZV9tb2RlbF92ZXJzaW9uID0gaW5mby0+ZGV2aWNlX21vZGVsX3ZlcnNpb247Cisg ICAgeGVucHZfZG1faW5mby50eXBlID0gTElCWExfRE9NQUlOX1RZUEVfUFY7CisgICAgeGVucHZf ZG1faW5mby5kZXZpY2VfbW9kZWwgPSBpbmZvLT5kZXZpY2VfbW9kZWw7CisgICAgaWYgKGxpYnhs X19jcmVhdGVfeGVucHZfcWVtdShnYywgZG9taWQsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAmeGVucHZfZG1faW5mbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHZmYiwgJmRtX3N0YXJ0aW5nKSA8IDApIHsKICAgICAgICAgcmV0ID0gRVJST1JfRkFJTDsKICAg ICAgICAgZ290byBvdXRfZnJlZTsKICAgICB9CkBAIC05MDksNyArOTI2LDYgQEAgc3RhdGljIGlu dCBsaWJ4bF9fYnVpbGRfeGVucHZfcWVtdV9hcmdzKGxpYnhsX19nYyAqZ2MsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfZGV2aWNlX21vZGVsX2luZm8gKmlu Zm8pCiB7CiAgICAgbGlieGxfY3R4ICpjdHggPSBsaWJ4bF9fZ2Nfb3duZXIoZ2MpOwotICAgIG1l bXNldChpbmZvLCAweDAwLCBzaXplb2YobGlieGxfZGV2aWNlX21vZGVsX2luZm8pKTsKIAogICAg IGlmICh2ZmIgIT0gTlVMTCkgewogICAgICAgICBpbmZvLT52bmMgPSB2ZmItPnZuYzsKQEAgLTky Nyw5ICs5NDMsNiBAQCBzdGF0aWMgaW50IGxpYnhsX19idWlsZF94ZW5wdl9xZW11X2FyZ3MobGli eGxfX2djICpnYywKICAgICAgICAgaW5mby0+bm9ncmFwaGljID0gMTsKICAgICBpbmZvLT5kb21p ZCA9IGRvbWlkOwogICAgIGluZm8tPmRvbV9uYW1lID0gbGlieGxfZG9taWRfdG9fbmFtZShjdHgs IGRvbWlkKTsKLSAgICBpbmZvLT5kZXZpY2VfbW9kZWxfdmVyc2lvbiA9IExJQlhMX0RFVklDRV9N T0RFTF9WRVJTSU9OX1FFTVVfWEVOX1RSQURJVElPTkFMOwotICAgIGluZm8tPmRldmljZV9tb2Rl bCA9IE5VTEw7Ci0gICAgaW5mby0+dHlwZSA9IExJQlhMX0RPTUFJTl9UWVBFX1BWOwogICAgIHJl dHVybiAwOwogfQogCkBAIC05ODUsMTIgKzk5OCwxMiBAQCBvdXQ6CiAgICAgcmV0dXJuIHJldDsK IH0KIAotaW50IGxpYnhsX19jcmVhdGVfeGVucHZfcWVtdShsaWJ4bF9fZ2MgKmdjLCB1aW50MzJf dCBkb21pZCwgbGlieGxfZGV2aWNlX3ZmYiAqdmZiLAoraW50IGxpYnhsX19jcmVhdGVfeGVucHZf cWVtdShsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbGlieGxfZGV2aWNlX21vZGVsX2luZm8gKmluZm8sCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGxpYnhsX2RldmljZV92ZmIgKnZmYiwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbGlieGxfX2RldmljZV9tb2RlbF9zdGFydGluZyAqKnN0YXJ0aW5nX3IpCiB7Ci0g ICAgbGlieGxfZGV2aWNlX21vZGVsX2luZm8gaW5mbzsKLQotICAgIGxpYnhsX19idWlsZF94ZW5w dl9xZW11X2FyZ3MoZ2MsIGRvbWlkLCB2ZmIsICZpbmZvKTsKLSAgICBsaWJ4bF9fY3JlYXRlX2Rl dmljZV9tb2RlbChnYywgJmluZm8sIE5VTEwsIDAsIE5VTEwsIDAsIHN0YXJ0aW5nX3IpOworICAg IGxpYnhsX19idWlsZF94ZW5wdl9xZW11X2FyZ3MoZ2MsIGRvbWlkLCB2ZmIsIGluZm8pOworICAg IGxpYnhsX19jcmVhdGVfZGV2aWNlX21vZGVsKGdjLCBpbmZvLCBOVUxMLCAwLCBOVUxMLCAwLCBz dGFydGluZ19yKTsKICAgICByZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xp YnhsX2ludGVybmFsLmggYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCmluZGV4IDY0ZTFk NTYuLjU1ZTlmN2YgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKKysr IGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaApAQCAtMjU2LDcgKzI1Niw5IEBAIF9oaWRk ZW4gaW50IGxpYnhsX19jcmVhdGVfZGV2aWNlX21vZGVsKGxpYnhsX19nYyAqZ2MsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9kZXZpY2VfZGlzayAqZGlzaywgaW50IG51bV9k aXNrcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RldmljZV9uaWMgKnZp ZnMsIGludCBudW1fdmlmcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19k ZXZpY2VfbW9kZWxfc3RhcnRpbmcgKipzdGFydGluZ19yKTsKLV9oaWRkZW4gaW50IGxpYnhsX19j cmVhdGVfeGVucHZfcWVtdShsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCwgbGlieGxfZGV2 aWNlX3ZmYiAqdmZiLAorX2hpZGRlbiBpbnQgbGlieGxfX2NyZWF0ZV94ZW5wdl9xZW11KGxpYnhs X19nYyAqZ2MsIHVpbnQzMl90IGRvbWlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxp YnhsX2RldmljZV9tb2RlbF9pbmZvICpkbV9pbmZvLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGxpYnhsX2RldmljZV92ZmIgKnZmYiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBs aWJ4bF9fZGV2aWNlX21vZGVsX3N0YXJ0aW5nICoqc3RhcnRpbmdfcik7CiBfaGlkZGVuIGludCBs aWJ4bF9fbmVlZF94ZW5wdl9xZW11KGxpYnhsX19nYyAqZ2MsCiAgICAgICAgIGludCBucl9jb25z b2xlcywgbGlieGxfZGV2aWNlX2NvbnNvbGUgKmNvbnNvbGVzLApkaWZmIC0tZ2l0IGEvdG9vbHMv bGlieGwveGxfY21kaW1wbC5jIGIvdG9vbHMvbGlieGwveGxfY21kaW1wbC5jCmluZGV4IDU0MTVi YzUuLjI1NDZjMGIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL3hsX2NtZGltcGwuYworKysgYi90 b29scy9saWJ4bC94bF9jbWRpbXBsLmMKQEAgLTYyNyw2ICs2MjcsMTMgQEAgc3RhdGljIHZvaWQg cGFyc2VfY29uZmlnX2RhdGEoY29uc3QgY2hhciAqY29uZmlnZmlsZV9maWxlbmFtZV9yZXBvcnQs CiAgICAgaW50IHBjaV9tc2l0cmFuc2xhdGUgPSAxOwogICAgIGludCBlOwogCisgICAgWExVX0Nv bmZpZ0xpc3QgKmRtYXJnczsKKyAgICBpbnQgbnJfZG1hcmdzID0gMDsKKyAgICBYTFVfQ29uZmln TGlzdCAqZG1hcmdzX2Z2OworICAgIGludCBucl9kbWFyZ3NfZnYgPSAwOworICAgIFhMVV9Db25m aWdMaXN0ICpkbWFyZ3NfcHY7CisgICAgaW50IG5yX2RtYXJnc19wdiA9IDA7CisKICAgICBsaWJ4 bF9kb21haW5fY3JlYXRlX2luZm8gKmNfaW5mbyA9ICZkX2NvbmZpZy0+Y19pbmZvOwogICAgIGxp YnhsX2RvbWFpbl9idWlsZF9pbmZvICpiX2luZm8gPSAmZF9jb25maWctPmJfaW5mbzsKIApAQCAt MTA3NSw0MCArMTA4Miw3NiBAQCBza2lwX3ZmYjoKICAgICAgICAgYnJlYWs7CiAgICAgfQogCi0g ICAgaWYgKGNfaW5mby0+aHZtID09IDEpIHsKLSAgICAgICAgWExVX0NvbmZpZ0xpc3QgKmRtYXJn czsKLSAgICAgICAgaW50IG5yX2RtYXJncyA9IDA7Ci0KLSAgICAgICAgLyogaW5pdCBkbSBmcm9t IGMgYW5kIGIgKi8KLSAgICAgICAgbGlieGxfaW5pdF9kbV9pbmZvKGRtX2luZm8sIGNfaW5mbywg Yl9pbmZvKTsKKyAgICAvKiBpbml0IGRtIGZyb20gYyBhbmQgYiAqLworICAgIGxpYnhsX2luaXRf ZG1faW5mbyhkbV9pbmZvLCBjX2luZm8sIGJfaW5mbyk7CisgICAgLyogcGFyc2UgZGV2aWNlIG1v ZGVsIGFyZ3VtZW50cywgdGhpcyB3b3JrcyBmb3IgcHYsIGZ2IGFuZCBzdHViZG9tICovCisgICAg aWYgKCF4bHVfY2ZnX2dldF9zdHJpbmcgKGNvbmZpZywgImRldmljZV9tb2RlbCIsICZidWYpKSB7 CisgICAgICAgIGZwcmludGYoc3RkZXJyLAorICAgICAgICAgICAgICAgICJXQVJOSU5HOiBpZ25v cmluZyBkZXZpY2VfbW9kZWwgZGlyZWN0aXZlLlxuIgorICAgICAgICAgICAgICAgICJXQVJOSU5H OiBVc2UgXCJkZXZpY2VfbW9kZWxfb3ZlcnJpZGVcIiBpbnN0ZWFkIGlmIHlvdSByZWFsbHkgd2Fu dCBhIG5vbi1kZWZhdWx0IGRldmljZV9tb2RlbFxuIik7CisgICAgICAgIGlmIChzdHJzdHIoYnVm LCAic3R1YmRvbS1kbSIpKSB7CisgICAgICAgICAgICBpZiAoY19pbmZvLT5odm0gPT0gMSkKKyAg ICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIldBUk5JTkc6IE9yIHVzZSBcImRldmljZV9t b2RlbF9zdHViZG9tYWluX292ZXJyaWRlXCIgaWYgeW91IHdhbnQgdG8gZW5hYmxlIHN0dWJkb21h aW5zXG4iKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVy ciwgIldBUk5JTkc6IGlnbm9yaW5nIFwiZGV2aWNlX21vZGVsX3N0dWJkb21haW5fb3ZlcnJpZGVc IiBkaXJlY3RpdmUgZm9yIHB2IGd1ZXN0XG4iKTsKKyAgICAgICAgfQorICAgIH0KIAotICAgICAg ICAvKiB0aGVuIHByb2Nlc3MgY29uZmlnIHJlbGF0ZWQgdG8gZG0gKi8KLSAgICAgICAgaWYgKCF4 bHVfY2ZnX2dldF9zdHJpbmcgKGNvbmZpZywgImRldmljZV9tb2RlbCIsICZidWYpKSB7CisgICAg eGx1X2NmZ19yZXBsYWNlX3N0cmluZyAoY29uZmlnLCAiZGV2aWNlX21vZGVsX292ZXJyaWRlIiwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZG1faW5mby0+ZGV2aWNlX21vZGVsKTsKKyAg ICBpZiAoIXhsdV9jZmdfZ2V0X3N0cmluZyAoY29uZmlnLCAiZGV2aWNlX21vZGVsX3ZlcnNpb24i LCAmYnVmKSkgeworICAgICAgICBpZiAoIXN0cmNtcChidWYsICJxZW11LXhlbi10cmFkaXRpb25h bCIpKSB7CisgICAgICAgICAgICBkbV9pbmZvLT5kZXZpY2VfbW9kZWxfdmVyc2lvbgorICAgICAg ICAgICAgICAgID0gTElCWExfREVWSUNFX01PREVMX1ZFUlNJT05fUUVNVV9YRU5fVFJBRElUSU9O QUw7CisgICAgICAgIH0gZWxzZSBpZiAoIXN0cmNtcChidWYsICJxZW11LXhlbiIpKSB7CisgICAg ICAgICAgICBkbV9pbmZvLT5kZXZpY2VfbW9kZWxfdmVyc2lvbgorICAgICAgICAgICAgICAgID0g TElCWExfREVWSUNFX01PREVMX1ZFUlNJT05fUUVNVV9YRU47CisgICAgICAgIH0gZWxzZSB7CiAg ICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwKLSAgICAgICAgICAgICAgICAgICAgIldBUk5JTkc6 IGlnbm9yaW5nIGRldmljZV9tb2RlbCBkaXJlY3RpdmUuXG4iCi0gICAgICAgICAgICAgICAgICAg ICJXQVJOSU5HOiBVc2UgXCJkZXZpY2VfbW9kZWxfb3ZlcnJpZGVcIiBpbnN0ZWFkIGlmIHlvdSBy ZWFsbHkgd2FudCBhIG5vbi1kZWZhdWx0IGRldmljZV9tb2RlbFxuIik7Ci0gICAgICAgICAgICBp ZiAoc3Ryc3RyKGJ1ZiwgInN0dWJkb20tZG0iKSkKLSAgICAgICAgICAgICAgICBmcHJpbnRmKHN0 ZGVyciwgIldBUk5JTkc6IE9yIHVzZSBcImRldmljZV9tb2RlbF9zdHViZG9tYWluX292ZXJyaWRl XCIgaWYgeW91IHdhbnQgdG8gZW5hYmxlIHN0dWJkb21haW5zXG4iKTsKKyAgICAgICAgICAgICAg ICAgICAgIlVua25vd24gZGV2aWNlX21vZGVsX3ZlcnNpb24gXCIlc1wiIHNwZWNpZmllZFxuIiwg YnVmKTsKKyAgICAgICAgICAgIGV4aXQoMSk7CiAgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKGRt X2luZm8tPmRldmljZV9tb2RlbCkKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJXQVJOSU5HOiBk ZXZpY2UgbW9kZWwgb3ZlcnJpZGUgZ2l2ZW4gd2l0aG91dCBzcGVjaWZpYyBETSB2ZXJzaW9uXG4i KTsKIAotICAgICAgICB4bHVfY2ZnX3JlcGxhY2Vfc3RyaW5nIChjb25maWcsICJkZXZpY2VfbW9k ZWxfb3ZlcnJpZGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZG1faW5mby0+ ZGV2aWNlX21vZGVsKTsKLSAgICAgICAgaWYgKCF4bHVfY2ZnX2dldF9zdHJpbmcgKGNvbmZpZywg ImRldmljZV9tb2RlbF92ZXJzaW9uIiwgJmJ1ZikpIHsKLSAgICAgICAgICAgIGlmICghc3RyY21w KGJ1ZiwgInFlbXUteGVuLXRyYWRpdGlvbmFsIikpIHsKLSAgICAgICAgICAgICAgICBkbV9pbmZv LT5kZXZpY2VfbW9kZWxfdmVyc2lvbgotICAgICAgICAgICAgICAgICAgICA9IExJQlhMX0RFVklD RV9NT0RFTF9WRVJTSU9OX1FFTVVfWEVOX1RSQURJVElPTkFMOwotICAgICAgICAgICAgfSBlbHNl IGlmICghc3RyY21wKGJ1ZiwgInFlbXUteGVuIikpIHsKLSAgICAgICAgICAgICAgICBkbV9pbmZv LT5kZXZpY2VfbW9kZWxfdmVyc2lvbgotICAgICAgICAgICAgICAgICAgICA9IExJQlhMX0RFVklD RV9NT0RFTF9WRVJTSU9OX1FFTVVfWEVOOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg ICAgICAgICBmcHJpbnRmKHN0ZGVyciwKLSAgICAgICAgICAgICAgICAgICAgICAgICJVbmtub3du IGRldmljZV9tb2RlbF92ZXJzaW9uIFwiJXNcIiBzcGVjaWZpZWRcbiIsIGJ1Zik7Ci0gICAgICAg ICAgICAgICAgZXhpdCgxKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfSBlbHNlIGlmIChkbV9p bmZvLT5kZXZpY2VfbW9kZWwpCi0gICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIldBUk5JTkc6 IGRldmljZSBtb2RlbCBvdmVycmlkZSBnaXZlbiB3aXRob3V0IHNwZWNpZmljIERNIHZlcnNpb25c biIpOwotICAgICAgICBpZiAoIXhsdV9jZmdfZ2V0X2xvbmcgKGNvbmZpZywgImRldmljZV9tb2Rl bF9zdHViZG9tYWluX292ZXJyaWRlIiwgJmwpKQotICAgICAgICAgICAgZG1faW5mby0+ZGV2aWNl X21vZGVsX3N0dWJkb21haW4gPSBsOworICAgIGlmIChjX2luZm8tPmh2bSA9PSAxICYmICF4bHVf Y2ZnX2dldF9sb25nIChjb25maWcsICJkZXZpY2VfbW9kZWxfc3R1YmRvbWFpbl9vdmVycmlkZSIs ICZsKSkKKyAgICAgICAgZG1faW5mby0+ZGV2aWNlX21vZGVsX3N0dWJkb21haW4gPSBsOworCisg ICAgLyogcGFyc2UgZXh0cmEgYXJncyBmb3IgcWVtdSwgY29tbW9uIHRvIGJvdGggcHYsIGZ2ICov CisgICAgaWYgKCF4bHVfY2ZnX2dldF9saXN0KGNvbmZpZywgImRldmljZV9tb2RlbF9hcmdzIiwg JmRtYXJncywgJm5yX2RtYXJncywgMCkpCisgICAgeworICAgICAgICBpbnQgaTsKKyAgICAgICAg ZG1faW5mby0+ZXh0cmEgPSB4bWFsbG9jKHNpemVvZihjaGFyICopICogKG5yX2RtYXJncyArIDEp KTsKKyAgICAgICAgZG1faW5mby0+ZXh0cmFbbnJfZG1hcmdzXSA9IE5VTEw7CisgICAgICAgIGZv ciAoaT0wOyBpPG5yX2RtYXJnczsgaSsrKSB7CisgICAgICAgICAgICBjb25zdCBjaGFyICphID0g eGx1X2NmZ19nZXRfbGlzdGl0ZW0oZG1hcmdzLCBpKTsKKyAgICAgICAgICAgIGRtX2luZm8tPmV4 dHJhW2ldID0gYSA/IHN0cmR1cChhKSA6IE5VTEw7CisgICAgICAgIH0KKyAgICB9CisgICAgLyog cGFyc2UgZXh0cmEgYXJncyBkZWRpY2F0ZWQgdG8gcHYgKi8KKyAgICBpZiAoIXhsdV9jZmdfZ2V0 X2xpc3QoY29uZmlnLCAiZGV2aWNlX21vZGVsX2FyZ3NfcHYiLCAmZG1hcmdzX3B2LCAmbnJfZG1h cmdzX3B2LCAwKSkKKyAgICB7CisgICAgICAgIGludCBpOworICAgICAgICBkbV9pbmZvLT5leHRy YV9wdiA9IHhtYWxsb2Moc2l6ZW9mKGNoYXIgKikgKiAobnJfZG1hcmdzX3B2ICsgMSkpOworICAg ICAgICBkbV9pbmZvLT5leHRyYV9wdltucl9kbWFyZ3NfcHZdID0gTlVMTDsKKyAgICAgICAgZm9y IChpID0gMDsgaTxucl9kbWFyZ3NfcHY7IGkrKykgeworICAgICAgICAgICAgY29uc3QgY2hhciAq YSA9IHhsdV9jZmdfZ2V0X2xpc3RpdGVtKGRtYXJnc19wdiwgaSk7CisgICAgICAgICAgICBkbV9p bmZvLT5leHRyYV9wdltpXSA9IGEgPyBzdHJkdXAoYSkgOiBOVUxMOworICAgICAgICB9CisgICAg fQorICAgIC8qIHBhcnNlIGV4dHJhIGFyZ3MgZGVkaWNhdGVkIHRvIGZ2ICovCisgICAgaWYgKCF4 bHVfY2ZnX2dldF9saXN0KGNvbmZpZywgImRldmljZV9tb2RlbF9hcmdzX2Z2IiwgJmRtYXJnc19m diwgJm5yX2RtYXJnc19mdiwgMCkpCisgICAgeworICAgICAgICBpbnQgaTsKKyAgICAgICAgZG1f aW5mby0+ZXh0cmFfZnYgPSB4bWFsbG9jKHNpemVvZihjaGFyICopICogKG5yX2RtYXJnc19mdiAr IDEpKTsKKyAgICAgICAgZG1faW5mby0+ZXh0cmFfZnZbbnJfZG1hcmdzX2Z2XSA9IE5VTEw7Cisg ICAgICAgIGZvciAoaSA9IDA7IGk8bnJfZG1hcmdzX2Z2OyBpKyspIHsKKyAgICAgICAgICAgIGNv bnN0IGNoYXIgKmEgPSB4bHVfY2ZnX2dldF9saXN0aXRlbShkbWFyZ3NfZnYsIGkpOworICAgICAg ICAgICAgZG1faW5mby0+ZXh0cmFfZnZbaV0gPSBhID8gc3RyZHVwKGEpIDogTlVMTDsKKyAgICAg ICAgfQorICAgIH0KKworICAgIGlmIChjX2luZm8tPmh2bSA9PSAxKSB7CiAgICAgICAgIGlmICgh eGx1X2NmZ19nZXRfbG9uZyAoY29uZmlnLCAic3RkdmdhIiwgJmwpKQogICAgICAgICAgICAgZG1f aW5mby0+c3RkdmdhID0gbDsKICAgICAgICAgaWYgKCF4bHVfY2ZnX2dldF9sb25nIChjb25maWcs ICJ2bmMiLCAmbCkpCkBAIC0xMTM2LDE3ICsxMTc5LDYgQEAgc2tpcF92ZmI6CiAgICAgICAgIHhs dV9jZmdfcmVwbGFjZV9zdHJpbmcgKGNvbmZpZywgInNvdW5kaHciLCAmZG1faW5mby0+c291bmRo dyk7CiAgICAgICAgIGlmICgheGx1X2NmZ19nZXRfbG9uZyAoY29uZmlnLCAieGVuX3BsYXRmb3Jt X3BjaSIsICZsKSkKICAgICAgICAgICAgIGRtX2luZm8tPnhlbl9wbGF0Zm9ybV9wY2kgPSBsOwot Ci0gICAgICAgIGlmICgheGx1X2NmZ19nZXRfbGlzdChjb25maWcsICJkZXZpY2VfbW9kZWxfYXJn cyIsICZkbWFyZ3MsICZucl9kbWFyZ3MsIDApKQotICAgICAgICB7Ci0gICAgICAgICAgICBpbnQg aTsKLSAgICAgICAgICAgIGRtX2luZm8tPmV4dHJhID0geG1hbGxvYyhzaXplb2YoY2hhciAqKSAq IChucl9kbWFyZ3MgKyAxKSk7Ci0gICAgICAgICAgICBkbV9pbmZvLT5leHRyYVtucl9kbWFyZ3Nd ID0gTlVMTDsKLSAgICAgICAgICAgIGZvciAoaT0wOyBpPG5yX2RtYXJnczsgaSsrKSB7Ci0gICAg ICAgICAgICAgICAgY29uc3QgY2hhciAqYSA9IHhsdV9jZmdfZ2V0X2xpc3RpdGVtKGRtYXJncywg aSk7Ci0gICAgICAgICAgICAgICAgZG1faW5mby0+ZXh0cmFbaV0gPSBhID8gc3RyZHVwKGEpIDog TlVMTDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQogICAgIH0KIAogICAgIGRtX2luZm8tPnR5 cGUgPSBjX2luZm8tPmh2bSA/Cg== --20cf3054ab59f8f67204a65833ff 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.xensource.com http://lists.xensource.com/xen-devel --20cf3054ab59f8f67204a65833ff--