From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH v7 2/4] xen/shadow: fix shadow_track_dirty_vram to work on hvm guests Date: Thu, 14 May 2015 17:06:15 +0200 Message-ID: <1431615977-38284-3-git-send-email-roger.pau@citrix.com> References: <1431615977-38284-1-git-send-email-roger.pau@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1YsulT-0000QI-Ae for xen-devel@lists.xenproject.org; Thu, 14 May 2015 15:09:35 +0000 In-Reply-To: <1431615977-38284-1-git-send-email-roger.pau@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xenproject.org Cc: Andrew Cooper , Tim Deegan , Jan Beulich , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org TW9kaWZ5IHNoYWRvd190cmFja19kaXJ0eV92cmFtIHRvIHVzZSBhIGxvY2FsIGJ1ZmZlciBhbmQg dGhlbiBmbHVzaCB0byB0aGUKZ3Vlc3Qgd2l0aG91dCB0aGUgcGFnaW5nX2xvY2sgaGVsZC4gVGhp cyBpcyBtb2RlbGVkIGFmdGVyCmhhcF90cmFja19kaXJ0eV92cmFtLgoKU2lnbmVkLW9mZi1ieTog Um9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+ClJldmlld2VkLWJ5OiBUaW0g RGVlZ2FuIDx0aW1AeGVuLm9yZz4KQ2M6IFRpbSBEZWVnYW4gPHRpbUB4ZW4ub3JnPgpDYzogSmFu IEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpDYzogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNv b3BlcjNAY2l0cml4LmNvbT4KLS0tCkNoYW5nZXMgc2luY2UgdjU6CiAtIFJlc3RvcmUgZGlydHkg Yml0cyBpZiBjb3B5IHRvIGd1ZXN0IGZhaWxzLgoKQ2hhbmdlcyBzaW5jZSB2NDoKIC0gVXNlIG5l d2x5IGludHJvZHVjZWQgdnphbGxvYyB0aGF0IHplcm9lcyBtZW1vcnkuCgpDaGFuZ2VzIHNpbmNl IHYzOgogLSBVc2UgdGhlIG5ld2x5IGludHJvZHVjZWQgYWxsb2NfeGVuaGVhcF9ub25jb250aWd1 b3VzIGluIG9yZGVyIHRvIGFsbG9jYXRlCiAgIHRoZSB0ZW1wb3JhcnkgYnVmZmVyLgoKQ2hhbmdl cyBzaW5jZSB2MjoKIC0gUmVtb3ZlIGNoZWNrcyBhZ2FpbnN0IG1lbWNweSwgaXQgYWx3YXlzIHJl dHVybnMgdGhlIGFkZHJlc3MgcGFzc2VkIGFzCiAgIGRzdC4KIC0gSm9pbiB0aGUgbmVzdGVkIGlm cyBpbiB0aGUgb3V0IHBhdGguCiAtIEFkZCBBbmRyZXcgQ29vcGVyIFJldmlld2VkLWJ5LgotLS0K IHhlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9uLmMgfCA0OSArKysrKysrKysrKysrKysrKysr KysrKysrLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDMwIGluc2VydGlvbnMoKyks IDE5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29t bW9uLmMgYi94ZW4vYXJjaC94ODYvbW0vc2hhZG93L2NvbW1vbi5jCmluZGV4IDJlNDNkNmQuLjll OWQxOWYgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9uLmMKKysrIGIv eGVuL2FyY2gveDg2L21tL3NoYWRvdy9jb21tb24uYwpAQCAtMzUxNiw3ICszNTE2LDcgQEAgc3Rh dGljIHZvaWQgc2hfY2xlYW5fZGlydHlfYml0bWFwKHN0cnVjdCBkb21haW4gKmQpCiBpbnQgc2hh ZG93X3RyYWNrX2RpcnR5X3ZyYW0oc3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1bnNpZ25lZCBsb25nIGJlZ2luX3BmbiwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB1bnNpZ25lZCBsb25nIG5yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhF Tl9HVUVTVF9IQU5ETEVfNjQodWludDgpIGRpcnR5X2JpdG1hcCkKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICBYRU5fR1VFU1RfSEFORExFXzY0KHVpbnQ4KSBndWVzdF9kaXJ0eV9iaXRtYXAp CiB7CiAgICAgaW50IHJjOwogICAgIHVuc2lnbmVkIGxvbmcgZW5kX3BmbiA9IGJlZ2luX3BmbiAr IG5yOwpAQCAtMzUyNiw2ICszNTI2LDcgQEAgaW50IHNoYWRvd190cmFja19kaXJ0eV92cmFtKHN0 cnVjdCBkb21haW4gKmQsCiAgICAgcDJtX3R5cGVfdCB0OwogICAgIHN0cnVjdCBzaF9kaXJ0eV92 cmFtICpkaXJ0eV92cmFtOwogICAgIHN0cnVjdCBwMm1fZG9tYWluICpwMm0gPSBwMm1fZ2V0X2hv c3RwMm0oZCk7CisgICAgdWludDhfdCAqZGlydHlfYml0bWFwID0gTlVMTDsKIAogICAgIGlmICgg ZW5kX3BmbiA8IGJlZ2luX3BmbiB8fCBlbmRfcGZuID4gcDJtLT5tYXhfbWFwcGVkX3BmbiArIDEg KQogICAgICAgICByZXR1cm4gLUVJTlZBTDsKQEAgLTM1NTQsNiArMzU1NSwxMiBAQCBpbnQgc2hh ZG93X3RyYWNrX2RpcnR5X3ZyYW0oc3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAgZ290byBvdXQ7 CiAgICAgfQogCisgICAgZGlydHlfYml0bWFwID0gdnphbGxvYyhkaXJ0eV9zaXplKTsKKyAgICBp ZiAoIGRpcnR5X2JpdG1hcCA9PSBOVUxMICkKKyAgICB7CisgICAgICAgIHJjID0gLUVOT01FTTsK KyAgICAgICAgZ290byBvdXQ7CisgICAgfQogICAgIC8qIFRoaXMgc2hvdWxkIGhhcHBlbiBzZWxk b21seSAoVmlkZW8gbW9kZSBjaGFuZ2UpLAogICAgICAqIG5vIG5lZWQgdG8gYmUgY2FyZWZ1bC4g Ki8KICAgICBpZiAoICFkaXJ0eV92cmFtICkKQEAgLTM1ODQsMTIgKzM1OTEsOCBAQCBpbnQgc2hh ZG93X3RyYWNrX2RpcnR5X3ZyYW0oc3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAgcmMgPSAtRU5P REFUQTsKICAgICB9CiAgICAgZWxzZSBpZiAoZGlydHlfdnJhbS0+bGFzdF9kaXJ0eSA9PSAtMSkK LSAgICB7CiAgICAgICAgIC8qIHN0aWxsIGNvbXBsZXRlbHkgY2xlYW4sIGp1c3QgY29weSBvdXIg ZW1wdHkgYml0bWFwICovCi0gICAgICAgIHJjID0gLUVGQVVMVDsKLSAgICAgICAgaWYgKCBjb3B5 X3RvX2d1ZXN0KGRpcnR5X2JpdG1hcCwgZGlydHlfdnJhbS0+ZGlydHlfYml0bWFwLCBkaXJ0eV9z aXplKSA9PSAwICkKLSAgICAgICAgICAgIHJjID0gMDsKLSAgICB9CisgICAgICAgIG1lbWNweShk aXJ0eV9iaXRtYXAsIGRpcnR5X3ZyYW0tPmRpcnR5X2JpdG1hcCwgZGlydHlfc2l6ZSk7CiAgICAg ZWxzZQogICAgIHsKICAgICAgICAgdW5zaWduZWQgbG9uZyBtYXBfbWZuID0gSU5WQUxJRF9NRk47 CkBAIC0zNjY4LDIxICszNjcxLDE5IEBAIGludCBzaGFkb3dfdHJhY2tfZGlydHlfdnJhbShzdHJ1 Y3QgZG9tYWluICpkLAogICAgICAgICBpZiAoIG1hcF9zbDFwICkKICAgICAgICAgICAgIHNoX3Vu bWFwX2RvbWFpbl9wYWdlKG1hcF9zbDFwKTsKIAotICAgICAgICByYyA9IC1FRkFVTFQ7Ci0gICAg ICAgIGlmICggY29weV90b19ndWVzdChkaXJ0eV9iaXRtYXAsIGRpcnR5X3ZyYW0tPmRpcnR5X2Jp dG1hcCwgZGlydHlfc2l6ZSkgPT0gMCApIHsKLSAgICAgICAgICAgIG1lbXNldChkaXJ0eV92cmFt LT5kaXJ0eV9iaXRtYXAsIDAsIGRpcnR5X3NpemUpOwotICAgICAgICAgICAgaWYgKGRpcnR5X3Zy YW0tPmxhc3RfZGlydHkgKyBTRUNPTkRTKDIpIDwgTk9XKCkpCisgICAgICAgIG1lbWNweShkaXJ0 eV9iaXRtYXAsIGRpcnR5X3ZyYW0tPmRpcnR5X2JpdG1hcCwgZGlydHlfc2l6ZSk7CisgICAgICAg IG1lbXNldChkaXJ0eV92cmFtLT5kaXJ0eV9iaXRtYXAsIDAsIGRpcnR5X3NpemUpOworICAgICAg ICBpZiAoIGRpcnR5X3ZyYW0tPmxhc3RfZGlydHkgKyBTRUNPTkRTKDIpIDwgTk9XKCkgKQorICAg ICAgICB7CisgICAgICAgICAgICAvKiB3YXMgY2xlYW4gZm9yIG1vcmUgdGhhbiB0d28gc2Vjb25k cywgdHJ5IHRvIGRpc2FibGUgZ3Vlc3QKKyAgICAgICAgICAgICAqIHdyaXRlIGFjY2VzcyAqLwor ICAgICAgICAgICAgZm9yICggaSA9IGJlZ2luX3BmbjsgaSA8IGVuZF9wZm47IGkrKyApCiAgICAg ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgLyogd2FzIGNsZWFuIGZvciBtb3JlIHRoYW4gdHdv IHNlY29uZHMsIHRyeSB0byBkaXNhYmxlIGd1ZXN0Ci0gICAgICAgICAgICAgICAgICogd3JpdGUg YWNjZXNzICovCi0gICAgICAgICAgICAgICAgZm9yICggaSA9IGJlZ2luX3BmbjsgaSA8IGVuZF9w Zm47IGkrKyApIHsKLSAgICAgICAgICAgICAgICAgICAgbWZuX3QgbWZuID0gZ2V0X2dmbl9xdWVy eV91bmxvY2tlZChkLCBpLCAmdCk7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChtZm5feChtZm4p ICE9IElOVkFMSURfTUZOKQotICAgICAgICAgICAgICAgICAgICAgICAgZmx1c2hfdGxiIHw9IHNo X3JlbW92ZV93cml0ZV9hY2Nlc3MoZCwgbWZuLCAxLCAwKTsKLSAgICAgICAgICAgICAgICB9Ci0g ICAgICAgICAgICAgICAgZGlydHlfdnJhbS0+bGFzdF9kaXJ0eSA9IC0xOworICAgICAgICAgICAg ICAgIG1mbl90IG1mbiA9IGdldF9nZm5fcXVlcnlfdW5sb2NrZWQoZCwgaSwgJnQpOworICAgICAg ICAgICAgICAgIGlmICggbWZuX3gobWZuKSAhPSBJTlZBTElEX01GTiApCisgICAgICAgICAgICAg ICAgICAgIGZsdXNoX3RsYiB8PSBzaF9yZW1vdmVfd3JpdGVfYWNjZXNzKGQsIG1mbiwgMSwgMCk7 CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICByYyA9IDA7CisgICAgICAgICAgICBkaXJ0eV92 cmFtLT5sYXN0X2RpcnR5ID0gLTE7CiAgICAgICAgIH0KICAgICB9CiAgICAgaWYgKCBmbHVzaF90 bGIgKQpAQCAtMzY5Nyw2ICszNjk4LDE2IEBAIG91dF9kaXJ0eV92cmFtOgogCiBvdXQ6CiAgICAg cGFnaW5nX3VubG9jayhkKTsKKyAgICBpZiAoIHJjID09IDAgJiYgZGlydHlfYml0bWFwICE9IE5V TEwgJiYKKyAgICAgICAgIGNvcHlfdG9fZ3Vlc3QoZ3Vlc3RfZGlydHlfYml0bWFwLCBkaXJ0eV9i aXRtYXAsIGRpcnR5X3NpemUpICkKKyAgICB7CisgICAgICAgIHBhZ2luZ19sb2NrKGQpOworICAg ICAgICBmb3IgKCBpID0gMDsgaSA8IGRpcnR5X3NpemU7IGkrKyApCisgICAgICAgICAgICBkaXJ0 eV92cmFtLT5kaXJ0eV9iaXRtYXBbaV0gfD0gZGlydHlfYml0bWFwW2ldOworICAgICAgICBwYWdp bmdfdW5sb2NrKGQpOworICAgICAgICByYyA9IC1FRkFVTFQ7CisgICAgfQorICAgIHZmcmVlKGRp cnR5X2JpdG1hcCk7CiAgICAgcDJtX3VubG9jayhwMm1fZ2V0X2hvc3RwMm0oZCkpOwogICAgIHJl dHVybiByYzsKIH0KLS0gCjEuOS41IChBcHBsZSBHaXQtNTAuMykKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl bi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=