From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Zhai, Edwin" Subject: [PATCH] [IOMMU] clean interrupt remapping and queued invalidation Date: Fri, 16 Oct 2009 16:58:27 +0800 Message-ID: <4AD835B3.6030306@intel.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------030908080203060008090900" Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Keir Fraser Cc: xen-devel@lists.xensource.com, "Zhai, Edwin" , Jan Beulich List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format. --------------030908080203060008090900 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit This patch enlarges interrupt remapping table to fix the out-of range table access when using many multiple-function PCI devices. Invalidation queue is also expanded. Signed-Off-By: Zhai Edwin Signed-Off-By: Cui Dexuan --------------030908080203060008090900 Content-Type: application/octet-stream; name="vtd_table_fix_v2.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="vtd_table_fix_v2.patch" SW5kZXg6IHhlbi1kZXYveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2ludHJlbWFwLmMK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0geGVuLWRldi5vcmlnL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo L3Z0ZC9pbnRyZW1hcC5jCisrKyB4ZW4tZGV2L3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0 ZC9pbnRyZW1hcC5jCkBAIC0xNDYsNiArMTQ2LDcgQEAgc3RhdGljIGludCByZW1hcF9lbnRy eV90b19pb2FwaWNfcnRlKAogICAgIHN0cnVjdCBpcmVtYXBfZW50cnkgKmlyZW1hcF9lbnRy eSA9IE5VTEwsICppcmVtYXBfZW50cmllczsKICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOwog ICAgIHN0cnVjdCBpcl9jdHJsICppcl9jdHJsID0gaW9tbXVfaXJfY3RybChpb21tdSk7Cisg ICAgdTY0IGVudHJ5X2Jhc2U7CiAKICAgICBpZiAoIGlyX2N0cmwgPT0gTlVMTCApCiAgICAg ewpAQCAtMTY0LDkgKzE2NSwxMSBAQCBzdGF0aWMgaW50IHJlbWFwX2VudHJ5X3RvX2lvYXBp Y19ydGUoCiAKICAgICBzcGluX2xvY2tfaXJxc2F2ZSgmaXJfY3RybC0+aXJlbWFwX2xvY2ss IGZsYWdzKTsKIAorICAgIGVudHJ5X2Jhc2UgPSBpcl9jdHJsLT5pcmVtYXBfbWFkZHIgKwor ICAgICAgICAgICAgICAgICAoKCBpbmRleCA+PiBJUkVNQVBfRU5UUllfT1JERVIgKSA8PCBQ QUdFX1NISUZUICk7CiAgICAgaXJlbWFwX2VudHJpZXMgPQotICAgICAgICAoc3RydWN0IGly ZW1hcF9lbnRyeSAqKW1hcF92dGRfZG9tYWluX3BhZ2UoaXJfY3RybC0+aXJlbWFwX21hZGRy KTsKLSAgICBpcmVtYXBfZW50cnkgPSAmaXJlbWFwX2VudHJpZXNbaW5kZXhdOworICAgICAg ICAoc3RydWN0IGlyZW1hcF9lbnRyeSAqKW1hcF92dGRfZG9tYWluX3BhZ2UoZW50cnlfYmFz ZSk7CisgICAgaXJlbWFwX2VudHJ5ID0gJmlyZW1hcF9lbnRyaWVzW2luZGV4ICUgKDEgPDwg SVJFTUFQX0VOVFJZX09SREVSKV07CiAKICAgICBvbGRfcnRlLT52ZWN0b3IgPSBpcmVtYXBf ZW50cnktPmxvLnZlY3RvcjsKICAgICBvbGRfcnRlLT5kZWxpdmVyeV9tb2RlID0gaXJlbWFw X2VudHJ5LT5sby5kbG07CkBAIC0xOTIsNiArMTk1LDcgQEAgc3RhdGljIGludCBpb2FwaWNf cnRlX3RvX3JlbWFwX2VudHJ5KHN0cgogICAgIGludCBpbmRleDsKICAgICB1bnNpZ25lZCBs b25nIGZsYWdzOwogICAgIHN0cnVjdCBpcl9jdHJsICppcl9jdHJsID0gaW9tbXVfaXJfY3Ry bChpb21tdSk7CisgICAgdTY0IGVudHJ5X2Jhc2U7CiAKICAgICByZW1hcF9ydGUgPSAoc3Ry dWN0IElPX0FQSUNfcm91dGVfcmVtYXBfZW50cnkgKikgb2xkX3J0ZTsKICAgICBzcGluX2xv Y2tfaXJxc2F2ZSgmaXJfY3RybC0+aXJlbWFwX2xvY2ssIGZsYWdzKTsKQEAgLTIwOCwxNSAr MjEyLDE3IEBAIHN0YXRpYyBpbnQgaW9hcGljX3J0ZV90b19yZW1hcF9lbnRyeShzdHIKICAg ICB7CiAgICAgICAgIGRwcmludGsoWEVOTE9HX0VSUiBWVERQUkVGSVgsCiAgICAgICAgICAg ICAgICAgIiVzOiBpbnRyZW1hcCBpbmRleCAoJWQpIGlzIGxhcmdlciB0aGFuIgotICAgICAg ICAgICAgICAgICIgdGhlIG1heGltdW0gaW5kZXggKCVsZCkhXG4iLAorICAgICAgICAgICAg ICAgICIgdGhlIG1heGltdW0gaW5kZXggKCVkKSFcbiIsCiAgICAgICAgICAgICAgICAgX19m dW5jX18sIGluZGV4LCBJUkVNQVBfRU5UUllfTlIgLSAxKTsKICAgICAgICAgc3Bpbl91bmxv Y2tfaXJxcmVzdG9yZSgmaXJfY3RybC0+aXJlbWFwX2xvY2ssIGZsYWdzKTsKICAgICAgICAg cmV0dXJuIC1FRkFVTFQ7CiAgICAgfQogCisgICAgZW50cnlfYmFzZSA9IGlyX2N0cmwtPmly ZW1hcF9tYWRkciArCisgICAgICAgICAgICAgICAgICgoIGluZGV4ID4+IElSRU1BUF9FTlRS WV9PUkRFUiApIDw8IFBBR0VfU0hJRlQgKTsKICAgICBpcmVtYXBfZW50cmllcyA9Ci0gICAg ICAgIChzdHJ1Y3QgaXJlbWFwX2VudHJ5ICopbWFwX3Z0ZF9kb21haW5fcGFnZShpcl9jdHJs LT5pcmVtYXBfbWFkZHIpOwotICAgIGlyZW1hcF9lbnRyeSA9ICZpcmVtYXBfZW50cmllc1tp bmRleF07CisgICAgICAgIChzdHJ1Y3QgaXJlbWFwX2VudHJ5ICopbWFwX3Z0ZF9kb21haW5f cGFnZShlbnRyeV9iYXNlKTsKKyAgICBpcmVtYXBfZW50cnkgPSAmaXJlbWFwX2VudHJpZXNb aW5kZXggJSAoMSA8PCBJUkVNQVBfRU5UUllfT1JERVIpXTsKIAogICAgIG1lbWNweSgmbmV3 X2lyZSwgaXJlbWFwX2VudHJ5LCBzaXplb2Yoc3RydWN0IGlyZW1hcF9lbnRyeSkpOwogCkBA IC00MjUsNiArNDMxLDcgQEAgc3RhdGljIGludCByZW1hcF9lbnRyeV90b19tc2lfbXNnKAog ICAgIGludCBpbmRleDsKICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOwogICAgIHN0cnVjdCBp cl9jdHJsICppcl9jdHJsID0gaW9tbXVfaXJfY3RybChpb21tdSk7CisgICAgdTY0IGVudHJ5 X2Jhc2U7CiAKICAgICBpZiAoIGlyX2N0cmwgPT0gTlVMTCApCiAgICAgewpAQCAtNDQ3LDkg KzQ1NCwxMSBAQCBzdGF0aWMgaW50IHJlbWFwX2VudHJ5X3RvX21zaV9tc2coCiAKICAgICBz cGluX2xvY2tfaXJxc2F2ZSgmaXJfY3RybC0+aXJlbWFwX2xvY2ssIGZsYWdzKTsKIAorICAg IGVudHJ5X2Jhc2UgPSBpcl9jdHJsLT5pcmVtYXBfbWFkZHIgKworICAgICAgICAgICAgICAg ICAoKCBpbmRleCA+PiBJUkVNQVBfRU5UUllfT1JERVIgKSA8PCBQQUdFX1NISUZUICk7CiAg ICAgaXJlbWFwX2VudHJpZXMgPQotICAgICAgICAoc3RydWN0IGlyZW1hcF9lbnRyeSAqKW1h cF92dGRfZG9tYWluX3BhZ2UoaXJfY3RybC0+aXJlbWFwX21hZGRyKTsKLSAgICBpcmVtYXBf ZW50cnkgPSAmaXJlbWFwX2VudHJpZXNbaW5kZXhdOworICAgICAgICAoc3RydWN0IGlyZW1h cF9lbnRyeSAqKW1hcF92dGRfZG9tYWluX3BhZ2UoZW50cnlfYmFzZSk7CisgICAgaXJlbWFw X2VudHJ5ID0gJmlyZW1hcF9lbnRyaWVzW2luZGV4ICUgKDEgPDwgSVJFTUFQX0VOVFJZX09S REVSKV07CiAKICAgICBtc2ctPmFkZHJlc3NfaGkgPSBNU0lfQUREUl9CQVNFX0hJOwogICAg IG1zZy0+YWRkcmVzc19sbyA9CkBAIC00ODUsNiArNDk0LDcgQEAgc3RhdGljIGludCBtc2lf bXNnX3RvX3JlbWFwX2VudHJ5KAogICAgIGludCBpbmRleDsKICAgICB1bnNpZ25lZCBsb25n IGZsYWdzOwogICAgIHN0cnVjdCBpcl9jdHJsICppcl9jdHJsID0gaW9tbXVfaXJfY3RybChp b21tdSk7CisgICAgdTY0IGVudHJ5X2Jhc2U7CiAKICAgICByZW1hcF9ydGUgPSAoc3RydWN0 IG1zaV9tc2dfcmVtYXBfZW50cnkgKikgbXNnOwogICAgIHNwaW5fbG9ja19pcnFzYXZlKCZp cl9jdHJsLT5pcmVtYXBfbG9jaywgZmxhZ3MpOwpAQCAtNTAyLDE2ICs1MTIsMTggQEAgc3Rh dGljIGludCBtc2lfbXNnX3RvX3JlbWFwX2VudHJ5KAogICAgIHsKICAgICAgICAgZHByaW50 ayhYRU5MT0dfRVJSIFZURFBSRUZJWCwKICAgICAgICAgICAgICAgICAiJXM6IGludHJlbWFw IGluZGV4ICglZCkgaXMgbGFyZ2VyIHRoYW4iCi0gICAgICAgICAgICAgICAgIiB0aGUgbWF4 aW11bSBpbmRleCAoJWxkKSFcbiIsCisgICAgICAgICAgICAgICAgIiB0aGUgbWF4aW11bSBp bmRleCAoJWQpIVxuIiwKICAgICAgICAgICAgICAgICBfX2Z1bmNfXywgaW5kZXgsIElSRU1B UF9FTlRSWV9OUiAtIDEpOwogICAgICAgICBtc2lfZGVzYy0+cmVtYXBfaW5kZXggPSAtMTsK ICAgICAgICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaXJfY3RybC0+aXJlbWFwX2xvY2ss IGZsYWdzKTsKICAgICAgICAgcmV0dXJuIC1FRkFVTFQ7CiAgICAgfQogCisgICAgZW50cnlf YmFzZSA9IGlyX2N0cmwtPmlyZW1hcF9tYWRkciArCisgICAgICAgICAgICAgICAgICgoIGlu ZGV4ID4+IElSRU1BUF9FTlRSWV9PUkRFUiApIDw8IFBBR0VfU0hJRlQgKTsKICAgICBpcmVt YXBfZW50cmllcyA9Ci0gICAgICAgIChzdHJ1Y3QgaXJlbWFwX2VudHJ5ICopbWFwX3Z0ZF9k b21haW5fcGFnZShpcl9jdHJsLT5pcmVtYXBfbWFkZHIpOwotICAgIGlyZW1hcF9lbnRyeSA9 ICZpcmVtYXBfZW50cmllc1tpbmRleF07CisgICAgICAgIChzdHJ1Y3QgaXJlbWFwX2VudHJ5 ICopbWFwX3Z0ZF9kb21haW5fcGFnZShlbnRyeV9iYXNlKTsKKyAgICBpcmVtYXBfZW50cnkg PSAmaXJlbWFwX2VudHJpZXNbaW5kZXggJSAoMSA8PCBJUkVNQVBfRU5UUllfT1JERVIpXTsK ICAgICBtZW1jcHkoJm5ld19pcmUsIGlyZW1hcF9lbnRyeSwgc2l6ZW9mKHN0cnVjdCBpcmVt YXBfZW50cnkpKTsKIAogICAgIC8qIFNldCBpbnRlcnJ1cHQgcmVtYXBwaW5nIHRhYmxlIGVu dHJ5ICovCkBAIC02MTcsNyArNjI5LDcgQEAgaW50IGVuYWJsZV9pbnRyZW1hcChzdHJ1Y3Qg aW9tbXUgKmlvbW11KQogICAgIGlmICggaXJfY3RybC0+aXJlbWFwX21hZGRyID09IDAgKQog ICAgIHsKICAgICAgICAgZHJoZCA9IGlvbW11X3RvX2RyaGQoaW9tbXUpOwotICAgICAgICBp cl9jdHJsLT5pcmVtYXBfbWFkZHIgPSBhbGxvY19wZ3RhYmxlX21hZGRyKGRyaGQsIDEpOwor ICAgICAgICBpcl9jdHJsLT5pcmVtYXBfbWFkZHIgPSBhbGxvY19wZ3RhYmxlX21hZGRyKGRy aGQsIElSRU1BUF9BUkNIX1BBR0VfTlIgKTsKICAgICAgICAgaWYgKCBpcl9jdHJsLT5pcmVt YXBfbWFkZHIgPT0gMCApCiAgICAgICAgIHsKICAgICAgICAgICAgIGRwcmludGsoWEVOTE9H X1dBUk5JTkcgVlREUFJFRklYLApJbmRleDogeGVuLWRldi94ZW4vZHJpdmVycy9wYXNzdGhy b3VnaC92dGQvaW9tbXUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB4ZW4tZGV2Lm9yaWcveGVuL2Ry aXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmgKKysrIHhlbi1kZXYveGVuL2RyaXZlcnMv cGFzc3Rocm91Z2gvdnRkL2lvbW11LmgKQEAgLTMwMiw3ICszMDIsMjMgQEAgc3RydWN0IGly ZW1hcF9lbnRyeSB7CiAgICAgfWhpOwogICB9OwogfTsKLSNkZWZpbmUgSVJFTUFQX0VOVFJZ X05SIChQQUdFX1NJWkVfNEsvc2l6ZW9mKHN0cnVjdCBpcmVtYXBfZW50cnkpKQorCisvKiBN YXggaW50ciByZW1hcHBpbmcgdGFibGUgcGFnZSBvcmRlciBpcyA4LCBhcyBtYXggbnVtYmVy IG9mIElSVEVzIGlzIDY0SyAqLworI2RlZmluZSBJUkVNQVBfUEFHRV9PUkRFUiAgOAorCisv KgorICogVlRkIGVuZ2luZSBoYW5kbGVzIDRLIHBhZ2UsIHdoaWxlIENQVSBtYXkgaGF2ZSBk aWZmZXJlbnQgcGFnZSBzaXplIG9uCisgKiBkaWZmZXJlbnQgYXJjaC4gRS5nLiAxNksgb24g SVBGLgorICovCisjZGVmaW5lIElSRU1BUF9BUkNIX1BBR0VfT1JERVIgIChJUkVNQVBfUEFH RV9PUkRFUiArIFBBR0VfU0hJRlRfNEsgLSBQQUdFX1NISUZUKQorI2RlZmluZSBJUkVNQVBf QVJDSF9QQUdFX05SICAgICAoIElSRU1BUF9BUkNIX1BBR0VfT1JERVIgPCAwID8gIFwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSA6ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgPDwgSVJFTUFQ X0FSQ0hfUEFHRV9PUkRFUiApCisKKy8qIEVhY2ggZW50cnkgaXMgMTYgYnl0ZXMsIHNvIDJe OCBlbnRyaWVzIHBlciA0SyBwYWdlICovCisjZGVmaW5lIElSRU1BUF9FTlRSWV9PUkRFUiAg KCBQQUdFX1NISUZUIC0gNCApCisjZGVmaW5lIElSRU1BUF9FTlRSWV9OUiAgICAgKCAxIDw8 ICggSVJFTUFQX1BBR0VfT1JERVIgKyA4ICkgKQorCiAjZGVmaW5lIGlyZW1hcF9wcmVzZW50 KHYpICgodikubG8gJiAxKQogI2RlZmluZSBpcmVtYXBfZmF1bHRfZGlzYWJsZSh2KSAoKCh2 KS5sbyA+PiAxKSAmIDEpCiAKQEAgLTM5MiwxMiArNDA4LDE3IEBAIHN0cnVjdCBxaW52YWxf ZW50cnkgewogICAgIH1xOwogfTsKIAotLyogT3JkZXIgb2YgcXVldWUgaW52YWxpZGF0aW9u IHBhZ2VzICovCi0jZGVmaW5lIElRQV9SRUdfUVMgICAgICAgMAotI2RlZmluZSBOVU1fUUlO VkFMX1BBR0VTICgxIDw8IElRQV9SRUdfUVMpCisvKiBPcmRlciBvZiBxdWV1ZSBpbnZhbGlk YXRpb24gcGFnZXMobWF4IGlzIDgpICovCisjZGVmaW5lIFFJTlZBTF9QQUdFX09SREVSICAg MgogCi0vKiBFYWNoIGVudHJ5IGlzIDE2IGJ5dGUgKi8KLSNkZWZpbmUgUUlOVkFMX0VOVFJZ X05SICAoMSA8PCAoSVFBX1JFR19RUyArIDgpKQorI2RlZmluZSBRSU5WQUxfQVJDSF9QQUdF X09SREVSICAoUUlOVkFMX1BBR0VfT1JERVIgKyBQQUdFX1NISUZUXzRLIC0gUEFHRV9TSElG VCkKKyNkZWZpbmUgUUlOVkFMX0FSQ0hfUEFHRV9OUiAgICAgKCBRSU5WQUxfQVJDSF9QQUdF X09SREVSIDwgMCA/ICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgOiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAxIDw8IFFJTlZBTF9BUkNIX1BBR0VfT1JERVIgKQorCisvKiBFYWNoIGVudHJ5 IGlzIDE2IGJ5dGVzLCBzbyAyXjggZW50cmllcyBwZXIgcGFnZSAqLworI2RlZmluZSBRSU5W QUxfRU5UUllfT1JERVIgICggUEFHRV9TSElGVCAtIDQgKQorI2RlZmluZSBRSU5WQUxfRU5U UllfTlIgICAgICgxIDw8IChRSU5WQUxfUEFHRV9PUkRFUiArIDgpKQogCiAvKiBTdGF0dXMg ZGF0YSBmbGFnICovCiAjZGVmaW5lIFFJTlZBTF9TVEFUX0lOSVQgIDAKQEAgLTQyOSw5ICs0 NTAsOSBAQCBzdHJ1Y3QgcWludmFsX2VudHJ5IHsKICNkZWZpbmUgSUVDX0dMT0JBTF9JTlZM ICAgICAgICAgMAogI2RlZmluZSBJRUNfSU5ERVhfSU5WTCAgICAgICAgICAxCiAjZGVmaW5l IElSVEFfUkVHX0VJTUVfU0hJRlQgICAgIDExCi0jZGVmaW5lIElSVEFfUkVHX1RBQkxFX1NJ WkUgICAgIDcgICAgLy8gNGsgcGFnZSA9IDI1NiAqIDE2IGJ5dGUgZW50cmllcwotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDJeXihJUlRBX1JFR19UQUJMRV9T SVpFICsgMSkgPSAyNTYKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv LyBJUlRBX1JFR19UQUJMRV9TSVpFID0gNworCisvKiAyXihJUlRBX1JFR19UQUJMRV9TSVpF ICsgMSkgPSBJUkVNQVBfRU5UUllfTlIgKi8KKyNkZWZpbmUgSVJUQV9SRUdfVEFCTEVfU0la RSAgICAgKCBJUkVNQVBfUEFHRV9PUkRFUiArIDcgKQogCiAjZGVmaW5lIFZURF9QQUdFX1RB QkxFX0xFVkVMXzMgIDMKICNkZWZpbmUgVlREX1BBR0VfVEFCTEVfTEVWRUxfNCAgNApJbmRl eDogeGVuLWRldi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYwo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLSB4ZW4tZGV2Lm9yaWcveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lv bW11LmMKKysrIHhlbi1kZXYveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMK QEAgLTEzNSwxNiArMTM1LDE2IEBAIHZvaWQgaW9tbXVfZmx1c2hfY2FjaGVfZW50cnkodm9p ZCAqYWRkcikKIAogdm9pZCBpb21tdV9mbHVzaF9jYWNoZV9wYWdlKHZvaWQgKmFkZHIsIHVu c2lnbmVkIGxvbmcgbnBhZ2VzKQogewotICAgIF9faW9tbXVfZmx1c2hfY2FjaGUoYWRkciwg UEFHRV9TSVpFXzRLICogbnBhZ2VzKTsKKyAgICBfX2lvbW11X2ZsdXNoX2NhY2hlKGFkZHIs IFBBR0VfU0laRSAqIG5wYWdlcyk7CiB9CiAKIC8qIEFsbG9jYXRlIHBhZ2UgdGFibGUsIHJl dHVybiBpdHMgbWFjaGluZSBhZGRyZXNzICovCiB1NjQgYWxsb2NfcGd0YWJsZV9tYWRkcihz dHJ1Y3QgYWNwaV9kcmhkX3VuaXQgKmRyaGQsIHVuc2lnbmVkIGxvbmcgbnBhZ2VzKQogewog ICAgIHN0cnVjdCBhY3BpX3Joc2FfdW5pdCAqcmhzYTsKLSAgICBzdHJ1Y3QgcGFnZV9pbmZv ICpwZzsKKyAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwZywgKmN1cl9wZzsKICAgICB1NjQgKnZh ZGRyOwotICAgIGludCBub2RlID0gLTE7CisgICAgaW50IG5vZGUgPSAtMSwgaTsKIAogICAg IHJoc2EgPSBkcmhkX3RvX3Joc2EoZHJoZCk7CiAgICAgaWYgKCByaHNhICkKQEAgLTE1NCwx MSArMTU0LDE3IEBAIHU2NCBhbGxvY19wZ3RhYmxlX21hZGRyKHN0cnVjdCBhY3BpX2RyaGQK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5vZGUgPT0gLTEgKSA/IDAgOiBNRU1G X25vZGUobm9kZSkpOwogICAgIGlmICggIXBnICkKICAgICAgICAgcmV0dXJuIDA7Ci0gICAg dmFkZHIgPSBfX21hcF9kb21haW5fcGFnZShwZyk7Ci0gICAgbWVtc2V0KHZhZGRyLCAwLCBQ QUdFX1NJWkUgKiBucGFnZXMpOwogCi0gICAgaW9tbXVfZmx1c2hfY2FjaGVfcGFnZSh2YWRk ciwgbnBhZ2VzKTsKLSAgICB1bm1hcF9kb21haW5fcGFnZSh2YWRkcik7CisgICAgY3VyX3Bn ID0gcGc7CisgICAgZm9yICggaSA9IDA7IGkgPCBucGFnZXM7IGkrKyApCisgICAgeworICAg ICAgICB2YWRkciA9IF9fbWFwX2RvbWFpbl9wYWdlKGN1cl9wZyk7CisgICAgICAgIG1lbXNl dCh2YWRkciwgMCwgUEFHRV9TSVpFKTsKKworICAgICAgICBpb21tdV9mbHVzaF9jYWNoZV9w YWdlKHZhZGRyLCAxKTsKKyAgICAgICAgdW5tYXBfZG9tYWluX3BhZ2UodmFkZHIpOworICAg ICAgICBjdXJfcGcrKzsKKyAgICB9CiAKICAgICByZXR1cm4gcGFnZV90b19tYWRkcihwZyk7 CiB9CkluZGV4OiB4ZW4tZGV2L3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9xaW52YWwu Ywo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLSB4ZW4tZGV2Lm9yaWcveGVuL2RyaXZlcnMvcGFzc3Rocm91 Z2gvdnRkL3FpbnZhbC5jCisrKyB4ZW4tZGV2L3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0 ZC9xaW52YWwuYwpAQCAtNDUsMTcgKzQ1LDE1IEBAIHN0YXRpYyB2b2lkIHByaW50X3FpX3Jl Z3Moc3RydWN0IGlvbW11ICoKIAogc3RhdGljIGludCBxaW52YWxfbmV4dF9pbmRleChzdHJ1 Y3QgaW9tbXUgKmlvbW11KQogewotICAgIHU2NCB0YWlsLCBoZWFkOworICAgIHU2NCB0YWls OwogCiAgICAgdGFpbCA9IGRtYXJfcmVhZHEoaW9tbXUtPnJlZywgRE1BUl9JUVRfUkVHKTsK ICAgICB0YWlsID4+PSBRSU5WQUxfSU5ERVhfU0hJRlQ7CiAKLSAgICBoZWFkID0gZG1hcl9y ZWFkcShpb21tdS0+cmVnLCBETUFSX0lRSF9SRUcpOwotICAgIGhlYWQgPj49IFFJTlZBTF9J TkRFWF9TSElGVDsKLQotICAgIC8qIHJvdW5kIHdyYXAgY2hlY2sgKi8KLSAgICBpZiAoICgg dGFpbCArIDEgKSAlIFFJTlZBTF9FTlRSWV9OUiA9PSBoZWFkICApCi0gICAgICAgIHJldHVy biAtMTsKKyAgICAvKiAodGFpbCsxID09IGhlYWQpIGluZGljYXRlcyBhIGZ1bGwgcXVldWUs IHdhaXQgZm9yIEhXICovCisgICAgd2hpbGUgKCAoIHRhaWwgKyAxICkgJSBRSU5WQUxfRU5U UllfTlIgPT0KKyAgICAgICAgICAgICggZG1hcl9yZWFkcShpb21tdS0+cmVnLCBETUFSX0lR SF9SRUcpID4+IFFJTlZBTF9JTkRFWF9TSElGVCApICkKKyAgICAgICAgY3B1X3JlbGF4KCk7 CiAKICAgICByZXR1cm4gdGFpbDsKIH0KQEAgLTc3LDExICs3NSwxMyBAQCBzdGF0aWMgaW50 IGdlbl9jY19pbnZfZHNjKHN0cnVjdCBpb21tdSAqCiAgICAgdW5zaWduZWQgbG9uZyBmbGFn czsKICAgICBzdHJ1Y3QgcWludmFsX2VudHJ5ICpxaW52YWxfZW50cnkgPSBOVUxMLCAqcWlu dmFsX2VudHJpZXM7CiAgICAgc3RydWN0IHFpX2N0cmwgKnFpX2N0cmwgPSBpb21tdV9xaV9j dHJsKGlvbW11KTsKKyAgICB1NjQgZW50cnlfYmFzZSA9IHFpX2N0cmwtPnFpbnZhbF9tYWRk ciArCisgICAgICAgICAgICAgICAgICgoIGluZGV4ID4+IFFJTlZBTF9FTlRSWV9PUkRFUiAp IDw8IFBBR0VfU0hJRlQgKTsKIAogICAgIHNwaW5fbG9ja19pcnFzYXZlKCZxaV9jdHJsLT5x aW52YWxfbG9jaywgZmxhZ3MpOwogICAgIHFpbnZhbF9lbnRyaWVzID0KLSAgICAgICAgKHN0 cnVjdCBxaW52YWxfZW50cnkgKiltYXBfdnRkX2RvbWFpbl9wYWdlKHFpX2N0cmwtPnFpbnZh bF9tYWRkcik7Ci0gICAgcWludmFsX2VudHJ5ID0gJnFpbnZhbF9lbnRyaWVzW2luZGV4XTsK KyAgICAgICAgKHN0cnVjdCBxaW52YWxfZW50cnkgKiltYXBfdnRkX2RvbWFpbl9wYWdlKGVu dHJ5X2Jhc2UpOworICAgIHFpbnZhbF9lbnRyeSA9ICZxaW52YWxfZW50cmllc1tpbmRleCAl ICgxIDw8IFFJTlZBTF9FTlRSWV9PUkRFUildOwogICAgIHFpbnZhbF9lbnRyeS0+cS5jY19p bnZfZHNjLmxvLnR5cGUgPSBUWVBFX0lOVkFMX0NPTlRFWFQ7CiAgICAgcWludmFsX2VudHJ5 LT5xLmNjX2ludl9kc2MubG8uZ3JhbnUgPSBncmFudTsKICAgICBxaW52YWxfZW50cnktPnEu Y2NfaW52X2RzYy5sby5yZXNfMSA9IDA7CkBAIC0xMjEsMTQgKzEyMSwxNCBAQCBzdGF0aWMg aW50IGdlbl9pb3RsYl9pbnZfZHNjKHN0cnVjdCBpb21tCiAgICAgdW5zaWduZWQgbG9uZyBm bGFnczsKICAgICBzdHJ1Y3QgcWludmFsX2VudHJ5ICpxaW52YWxfZW50cnkgPSBOVUxMLCAq cWludmFsX2VudHJpZXM7CiAgICAgc3RydWN0IHFpX2N0cmwgKnFpX2N0cmwgPSBpb21tdV9x aV9jdHJsKGlvbW11KTsKKyAgICB1NjQgZW50cnlfYmFzZSA9IHFpX2N0cmwtPnFpbnZhbF9t YWRkciArCisgICAgICAgICAgICAgICAgICgoIGluZGV4ID4+IFFJTlZBTF9FTlRSWV9PUkRF UiApIDw8IFBBR0VfU0hJRlQgKTsKIAotICAgIGlmICggaW5kZXggPT0gLTEgKQotICAgICAg ICByZXR1cm4gLTE7CiAgICAgc3Bpbl9sb2NrX2lycXNhdmUoJnFpX2N0cmwtPnFpbnZhbF9s b2NrLCBmbGFncyk7CiAKICAgICBxaW52YWxfZW50cmllcyA9Ci0gICAgICAgIChzdHJ1Y3Qg cWludmFsX2VudHJ5ICopbWFwX3Z0ZF9kb21haW5fcGFnZShxaV9jdHJsLT5xaW52YWxfbWFk ZHIpOwotICAgIHFpbnZhbF9lbnRyeSA9ICZxaW52YWxfZW50cmllc1tpbmRleF07CisgICAg ICAgIChzdHJ1Y3QgcWludmFsX2VudHJ5ICopbWFwX3Z0ZF9kb21haW5fcGFnZShlbnRyeV9i YXNlKTsKKyAgICBxaW52YWxfZW50cnkgPSAmcWludmFsX2VudHJpZXNbaW5kZXggJSAoMSA8 PCBRSU5WQUxfRU5UUllfT1JERVIpXTsKICAgICBxaW52YWxfZW50cnktPnEuaW90bGJfaW52 X2RzYy5sby50eXBlID0gVFlQRV9JTlZBTF9JT1RMQjsKICAgICBxaW52YWxfZW50cnktPnEu aW90bGJfaW52X2RzYy5sby5ncmFudSA9IGdyYW51OwogICAgIHFpbnZhbF9lbnRyeS0+cS5p b3RsYl9pbnZfZHNjLmxvLmRyID0gZHI7CkBAIC0xNzIsMTMgKzE3MiwxMyBAQCBzdGF0aWMg aW50IGdlbl93YWl0X2RzYyhzdHJ1Y3QgaW9tbXUgKmlvCiAgICAgdW5zaWduZWQgbG9uZyBm bGFnczsKICAgICBzdHJ1Y3QgcWludmFsX2VudHJ5ICpxaW52YWxfZW50cnkgPSBOVUxMLCAq cWludmFsX2VudHJpZXM7CiAgICAgc3RydWN0IHFpX2N0cmwgKnFpX2N0cmwgPSBpb21tdV9x aV9jdHJsKGlvbW11KTsKKyAgICB1NjQgZW50cnlfYmFzZSA9IHFpX2N0cmwtPnFpbnZhbF9t YWRkciArCisgICAgICAgICAgICAgICAgICgoIGluZGV4ID4+IFFJTlZBTF9FTlRSWV9PUkRF UiApIDw8IFBBR0VfU0hJRlQgKTsKIAotICAgIGlmICggaW5kZXggPT0gLTEgKQotICAgICAg ICByZXR1cm4gLTE7CiAgICAgc3Bpbl9sb2NrX2lycXNhdmUoJnFpX2N0cmwtPnFpbnZhbF9s b2NrLCBmbGFncyk7CiAgICAgcWludmFsX2VudHJpZXMgPQotICAgICAgICAoc3RydWN0IHFp bnZhbF9lbnRyeSAqKW1hcF92dGRfZG9tYWluX3BhZ2UocWlfY3RybC0+cWludmFsX21hZGRy KTsKLSAgICBxaW52YWxfZW50cnkgPSAmcWludmFsX2VudHJpZXNbaW5kZXhdOworICAgICAg ICAoc3RydWN0IHFpbnZhbF9lbnRyeSAqKW1hcF92dGRfZG9tYWluX3BhZ2UoZW50cnlfYmFz ZSk7CisgICAgcWludmFsX2VudHJ5ID0gJnFpbnZhbF9lbnRyaWVzW2luZGV4ICUgKDEgPDwg UUlOVkFMX0VOVFJZX09SREVSKV07CiAgICAgcWludmFsX2VudHJ5LT5xLmludl93YWl0X2Rz Yy5sby50eXBlID0gVFlQRV9JTlZBTF9XQUlUOwogICAgIHFpbnZhbF9lbnRyeS0+cS5pbnZf d2FpdF9kc2MubG8uaWZsYWcgPSBpZmxhZzsKICAgICBxaW52YWxfZW50cnktPnEuaW52X3dh aXRfZHNjLmxvLnN3ID0gc3c7CkBAIC0yNDcsMTQgKzI0NywxNCBAQCBzdGF0aWMgaW50IGdl bl9kZXZfaW90bGJfaW52X2RzYyhzdHJ1Y3QgCiAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsK ICAgICBzdHJ1Y3QgcWludmFsX2VudHJ5ICpxaW52YWxfZW50cnkgPSBOVUxMLCAqcWludmFs X2VudHJpZXM7CiAgICAgc3RydWN0IHFpX2N0cmwgKnFpX2N0cmwgPSBpb21tdV9xaV9jdHJs KGlvbW11KTsKKyAgICB1NjQgZW50cnlfYmFzZSA9IHFpX2N0cmwtPnFpbnZhbF9tYWRkciAr CisgICAgICAgICAgICAgICAgICgoIGluZGV4ID4+IFFJTlZBTF9FTlRSWV9PUkRFUiApIDw8 IFBBR0VfU0hJRlQgKTsKIAotICAgIGlmICggaW5kZXggPT0gLTEgKQotICAgICAgICByZXR1 cm4gLTE7CiAgICAgc3Bpbl9sb2NrX2lycXNhdmUoJnFpX2N0cmwtPnFpbnZhbF9sb2NrLCBm bGFncyk7CiAKICAgICBxaW52YWxfZW50cmllcyA9Ci0gICAgICAgIChzdHJ1Y3QgcWludmFs X2VudHJ5ICopbWFwX3Z0ZF9kb21haW5fcGFnZShxaV9jdHJsLT5xaW52YWxfbWFkZHIpOwot ICAgIHFpbnZhbF9lbnRyeSA9ICZxaW52YWxfZW50cmllc1tpbmRleF07CisgICAgICAgIChz dHJ1Y3QgcWludmFsX2VudHJ5ICopbWFwX3Z0ZF9kb21haW5fcGFnZShlbnRyeV9iYXNlKTsK KyAgICBxaW52YWxfZW50cnkgPSAmcWludmFsX2VudHJpZXNbaW5kZXggJSAoMSA8PCBRSU5W QUxfRU5UUllfT1JERVIpXTsKICAgICBxaW52YWxfZW50cnktPnEuZGV2X2lvdGxiX2ludl9k c2MubG8udHlwZSA9IFRZUEVfSU5WQUxfREVWSUNFX0lPVExCOwogICAgIHFpbnZhbF9lbnRy eS0+cS5kZXZfaW90bGJfaW52X2RzYy5sby5yZXNfMSA9IDA7CiAgICAgcWludmFsX2VudHJ5 LT5xLmRldl9pb3RsYl9pbnZfZHNjLmxvLm1heF9pbnZzX3BlbmQgPSBtYXhfaW52c19wZW5k OwpAQCAtMjk1LDE0ICsyOTUsMTQgQEAgc3RhdGljIGludCBnZW5faWVjX2ludl9kc2Moc3Ry dWN0IGlvbW11IAogICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAgICAgc3RydWN0IHFpbnZh bF9lbnRyeSAqcWludmFsX2VudHJ5ID0gTlVMTCwgKnFpbnZhbF9lbnRyaWVzOwogICAgIHN0 cnVjdCBxaV9jdHJsICpxaV9jdHJsID0gaW9tbXVfcWlfY3RybChpb21tdSk7CisgICAgdTY0 IGVudHJ5X2Jhc2UgPSBxaV9jdHJsLT5xaW52YWxfbWFkZHIgKworICAgICAgICAgICAgICAg ICAoKCBpbmRleCA+PiBRSU5WQUxfRU5UUllfT1JERVIgKSA8PCBQQUdFX1NISUZUICk7CiAK LSAgICBpZiAoIGluZGV4ID09IC0xICkKLSAgICAgICAgcmV0dXJuIC0xOwogICAgIHNwaW5f bG9ja19pcnFzYXZlKCZxaV9jdHJsLT5xaW52YWxfbG9jaywgZmxhZ3MpOwogCiAgICAgcWlu dmFsX2VudHJpZXMgPQotICAgICAgICAoc3RydWN0IHFpbnZhbF9lbnRyeSAqKW1hcF92dGRf ZG9tYWluX3BhZ2UocWlfY3RybC0+cWludmFsX21hZGRyKTsKLSAgICBxaW52YWxfZW50cnkg PSAmcWludmFsX2VudHJpZXNbaW5kZXhdOworICAgICAgICAoc3RydWN0IHFpbnZhbF9lbnRy eSAqKW1hcF92dGRfZG9tYWluX3BhZ2UoZW50cnlfYmFzZSk7CisgICAgcWludmFsX2VudHJ5 ID0gJnFpbnZhbF9lbnRyaWVzW2luZGV4ICUgKDEgPDwgUUlOVkFMX0VOVFJZX09SREVSKV07 CiAgICAgcWludmFsX2VudHJ5LT5xLmllY19pbnZfZHNjLmxvLnR5cGUgPSBUWVBFX0lOVkFM X0lFQzsKICAgICBxaW52YWxfZW50cnktPnEuaWVjX2ludl9kc2MubG8uZ3JhbnUgPSBncmFu dTsKICAgICBxaW52YWxfZW50cnktPnEuaWVjX2ludl9kc2MubG8ucmVzXzEgPSAwOwpAQCAt NDQ1LDcgKzQ0NSw3IEBAIGludCBlbmFibGVfcWludmFsKHN0cnVjdCBpb21tdSAqaW9tbXUp CiAgICAgaWYgKCBxaV9jdHJsLT5xaW52YWxfbWFkZHIgPT0gMCApCiAgICAgewogICAgICAg ICBkcmhkID0gaW9tbXVfdG9fZHJoZChpb21tdSk7Ci0gICAgICAgIHFpX2N0cmwtPnFpbnZh bF9tYWRkciA9IGFsbG9jX3BndGFibGVfbWFkZHIoZHJoZCwgTlVNX1FJTlZBTF9QQUdFUyk7 CisgICAgICAgIHFpX2N0cmwtPnFpbnZhbF9tYWRkciA9IGFsbG9jX3BndGFibGVfbWFkZHIo ZHJoZCwgUUlOVkFMX0FSQ0hfUEFHRV9OUik7CiAgICAgICAgIGlmICggcWlfY3RybC0+cWlu dmFsX21hZGRyID09IDAgKQogICAgICAgICB7CiAgICAgICAgICAgICBkcHJpbnRrKFhFTkxP R19XQVJOSU5HIFZURFBSRUZJWCwKQEAgLTQ2NCw3ICs0NjQsNyBAQCBpbnQgZW5hYmxlX3Fp bnZhbChzdHJ1Y3QgaW9tbXUgKmlvbW11KQogICAgICAqIHJlZ2lzdGVycyBhcmUgYXV0b21h dGljYWxseSByZXNldCB0byAwIHdpdGggd3JpdGUKICAgICAgKiB0byBJUUEgcmVnaXN0ZXIu CiAgICAgICovCi0gICAgcWlfY3RybC0+cWludmFsX21hZGRyIHw9IElRQV9SRUdfUVM7Cisg ICAgcWlfY3RybC0+cWludmFsX21hZGRyIHw9IFFJTlZBTF9QQUdFX09SREVSOwogCiAgICAg c3Bpbl9sb2NrX2lycXNhdmUoJmlvbW11LT5yZWdpc3Rlcl9sb2NrLCBmbGFncyk7CiAgICAg ZG1hcl93cml0ZXEoaW9tbXUtPnJlZywgRE1BUl9JUUFfUkVHLCBxaV9jdHJsLT5xaW52YWxf bWFkZHIpOwpJbmRleDogeGVuLWRldi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvdXRp bHMuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLSB4ZW4tZGV2Lm9yaWcveGVuL2RyaXZlcnMvcGFzc3Ro cm91Z2gvdnRkL3V0aWxzLmMKKysrIHhlbi1kZXYveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gv dnRkL3V0aWxzLmMKQEAgLTIyNiw4ICsyMjYsNyBAQCBzdGF0aWMgdm9pZCBkdW1wX2lvbW11 X2luZm8odW5zaWduZWQgY2hhCiAgICAgICAgICAgICAvKiBEdW1wIGludGVycnVwdCByZW1h cHBpbmcgdGFibGUuICovCiAgICAgICAgICAgICB1NjQgaXJlbWFwX21hZGRyID0gZG1hcl9y ZWFkcShpb21tdS0+cmVnLCBETUFSX0lSVEFfUkVHKTsKICAgICAgICAgICAgIGludCBucl9l bnRyeSA9IDEgPDwgKChpcmVtYXBfbWFkZHIgJiAweEYpICsgMSk7Ci0gICAgICAgICAgICBz dHJ1Y3QgaXJlbWFwX2VudHJ5ICppcmVtYXBfZW50cmllcyA9Ci0gICAgICAgICAgICAgICAg KHN0cnVjdCBpcmVtYXBfZW50cnkgKiltYXBfdnRkX2RvbWFpbl9wYWdlKGlyZW1hcF9tYWRk cik7CisgICAgICAgICAgICBzdHJ1Y3QgaXJlbWFwX2VudHJ5ICppcmVtYXBfZW50cmllcyA9 IE5VTEw7CiAKICAgICAgICAgICAgIHByaW50aygiICBJbnRlcnJ1cHQgcmVtYXBwaW5nIHRh YmxlIChucl9lbnRyeT0weCV4LiAiCiAgICAgICAgICAgICAgICAgIk9ubHkgZHVtcCBQPTEg ZW50cmllcyBoZXJlKTpcbiIsIG5yX2VudHJ5KTsKQEAgLTIzNSw3ICsyMzQsMTggQEAgc3Rh dGljIHZvaWQgZHVtcF9pb21tdV9pbmZvKHVuc2lnbmVkIGNoYQogICAgICAgICAgICAgICAg ICAgICJGUEQgUFxuIik7CiAgICAgICAgICAgICBmb3IgKCBpID0gMDsgaSA8IG5yX2VudHJ5 OyBpKysgKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHN0cnVjdCBpcmVtYXBf ZW50cnkgKnAgPSBpcmVtYXBfZW50cmllcyArIGk7CisgICAgICAgICAgICAgICAgc3RydWN0 IGlyZW1hcF9lbnRyeSAqcDsKKyAgICAgICAgICAgICAgICBpZiAoIGkgJSAoMSA8PCBJUkVN QVBfRU5UUllfT1JERVIpID09IDAgKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAg ICAgICAgICAgLyogVGhpcyBlbnRyeSBhY3Jvc3MgcGFnZSBib3VuZHJ5ICovCisgICAgICAg ICAgICAgICAgICAgIHU2NCBlbnRyeV9iYXNlID0gaXJlbWFwX21hZGRyICsKKyAgICAgICAg ICAgICAgICAgICAgICAgICgoIGkgPj4gSVJFTUFQX0VOVFJZX09SREVSICkgPDwgUEFHRV9T SElGVCApOworICAgICAgICAgICAgICAgICAgICBpZiAoIGlyZW1hcF9lbnRyaWVzICkKKyAg ICAgICAgICAgICAgICAgICAgICAgIHVubWFwX3Z0ZF9kb21haW5fcGFnZShpcmVtYXBfZW50 cmllcyk7CisgICAgICAgICAgICAgICAgICAgIGlyZW1hcF9lbnRyaWVzID0KKyAgICAgICAg ICAgICAgICAgICAgICAgIChzdHJ1Y3QgaXJlbWFwX2VudHJ5ICopbWFwX3Z0ZF9kb21haW5f cGFnZShlbnRyeV9iYXNlKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAg cCA9ICZpcmVtYXBfZW50cmllc1tpICUgKDEgPDwgSVJFTUFQX0VOVFJZX09SREVSKV07CiAK ICAgICAgICAgICAgICAgICBpZiAoICFwLT5sby5wICkKICAgICAgICAgICAgICAgICAgICAg Y29udGludWU7CkBAIC0yNDYsOCArMjU2LDkgQEAgc3RhdGljIHZvaWQgZHVtcF9pb21tdV9p bmZvKHVuc2lnbmVkIGNoYQogICAgICAgICAgICAgICAgICAgICAodTMyKXAtPmxvLmRsbSwg KHUzMilwLT5sby50bSwgKHUzMilwLT5sby5yaCwKICAgICAgICAgICAgICAgICAgICAgKHUz MilwLT5sby5kbSwgKHUzMilwLT5sby5mcGQsICh1MzIpcC0+bG8ucCk7CiAgICAgICAgICAg ICB9CisgICAgICAgICAgICBpZiAoIGlyZW1hcF9lbnRyaWVzICkKKyAgICAgICAgICAgICAg ICB1bm1hcF92dGRfZG9tYWluX3BhZ2UoaXJlbWFwX2VudHJpZXMpOwogCi0gICAgICAgICAg ICB1bm1hcF92dGRfZG9tYWluX3BhZ2UoaXJlbWFwX2VudHJpZXMpOwogICAgICAgICB9CiAg ICAgfQogCg== --------------030908080203060008090900 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 --------------030908080203060008090900--