From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sergey Dyasli Subject: [PATCH v3 7/9] x86/np2m: implement sharing of np2m between vCPUs Date: Tue, 3 Oct 2017 16:21:02 +0100 Message-ID: <20171003152104.1432-8-sergey.dyasli@citrix.com> References: <20171003152104.1432-1-sergey.dyasli@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20171003152104.1432-1-sergey.dyasli@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Sergey Dyasli , Kevin Tian , Jun Nakajima , George Dunlap , Andrew Cooper , Tim Deegan , George Dunlap , Jan Beulich , Boris Ostrovsky , Suravee Suthikulpanit List-Id: xen-devel@lists.xenproject.org QXQgdGhlIG1vbWVudCwgbmVzdGVkIHAybXMgYXJlIG5vdCBzaGFyZWQgYmV0d2VlbiB2Y3B1cyBl dmVuIGlmIHRoZXkKc2hhcmUgdGhlIHNhbWUgYmFzZSBwb2ludGVyLgoKTW9kaWZ5IHAybV9nZXRf bmVzdGVkcDJtKCkgdG8gYWxsb3cgc2hhcmluZyBhIG5wMm0gYmV0d2VlbiBtdWx0aXBsZQp2Y3B1 cyB3aXRoIHRoZSBzYW1lIG5wMm1fYmFzZSAoTDEgbnAybV9iYXNlIHZhbHVlIGluIFZNQ3gxMiku CgpJZiB0aGUgY3VycmVudCBucDJtIGRvZXNuJ3QgbWF0Y2ggdGhlIGN1cnJlbnQgYmFzZSBwb2lu dGVyLCBmaXJzdCBsb29rCmZvciBhbm90aGVyIG5lc3RlZCBwMm0gaW4gdGhlIHNhbWUgZG9tYWlu IHdpdGggdGhlIHNhbWUgYmFzZSBwb2ludGVyLApiZWZvcmUgcmVjbGFpbWluZyBvbmUgZnJvbSB0 aGUgTFJVLgoKU2lnbmVkLW9mZi1ieTogU2VyZ2V5IER5YXNsaSA8c2VyZ2V5LmR5YXNsaUBjaXRy aXguY29tPgpTaWduZWQtb2ZmLWJ5OiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGNpdHJp eC5jb20+Ci0tLQogeGVuL2FyY2gveDg2L2h2bS92bXgvdnZteC5jIHwgIDEgKwogeGVuL2FyY2gv eDg2L21tL3AybS5jICAgICAgIHwgMjYgKysrKysrKysrKysrKysrKysrKysrKy0tLS0KIDIgZmls ZXMgY2hhbmdlZCwgMjMgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS94ZW4vYXJjaC94ODYvaHZtL3ZteC92dm14LmMgYi94ZW4vYXJjaC94ODYvaHZtL3ZteC92dm14 LmMKaW5kZXggMTk4Y2E3MmYyYS4uZGRlMDJjMDc2YiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2 L2h2bS92bXgvdnZteC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3Z2bXguYwpAQCAtMTIw MSw2ICsxMjAxLDcgQEAgc3RhdGljIHZvaWQgdmlydHVhbF92bWVudHJ5KHN0cnVjdCBjcHVfdXNl cl9yZWdzICpyZWdzKQogCiAgICAgLyogU2V0dXAgdmlydHVhbCBFVFAgZm9yIEwyIGd1ZXN0Ki8K ICAgICBpZiAoIG5lc3RlZGh2bV9wYWdpbmdfbW9kZV9oYXAodikgKQorICAgICAgICAvKiBUaGlz IHdpbGwgc2V0dXAgdGhlIGluaXRpYWwgbnAybSBmb3IgdGhlIG5lc3RlZCB2Q1BVICovCiAgICAg ICAgIF9fdm13cml0ZShFUFRfUE9JTlRFUiwgZ2V0X3NoYWRvd19lcHRwKHYpKTsKICAgICBlbHNl CiAgICAgICAgIF9fdm13cml0ZShFUFRfUE9JTlRFUiwgZ2V0X2hvc3RfZXB0cCh2KSk7CmRpZmYg LS1naXQgYS94ZW4vYXJjaC94ODYvbW0vcDJtLmMgYi94ZW4vYXJjaC94ODYvbW0vcDJtLmMKaW5k ZXggM2M2MjI5MjE2NS4uOTBiZjM4MmE0OSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L21tL3Ay bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYwpAQCAtMTgyOCw2ICsxODI4LDcgQEAgcDJt X2dldF9uZXN0ZWRwMm1fbG9ja2VkKHN0cnVjdCB2Y3B1ICp2KQogICAgIHN0cnVjdCBkb21haW4g KmQgPSB2LT5kb21haW47CiAgICAgc3RydWN0IHAybV9kb21haW4gKnAybTsKICAgICB1aW50NjRf dCBucDJtX2Jhc2UgPSBuaHZtX3ZjcHVfcDJtX2Jhc2Uodik7CisgICAgdW5zaWduZWQgaW50IGk7 CiAKICAgICAvKiBNYXNrIG91dCBsb3cgYml0czsgdGhpcyBhdm9pZHMgY29sbGlzaW9ucyB3aXRo IFAyTV9CQVNFX0VBRERSICovCiAgICAgbnAybV9iYXNlICY9IH4oMHhmZmZ1bGwpOwpAQCAtMTg0 MSwxOSArMTg0MiwxOSBAQCBwMm1fZ2V0X25lc3RlZHAybV9sb2NrZWQoc3RydWN0IHZjcHUgKnYp CiAgICAgaWYgKCBwMm0gKSAKICAgICB7CiAgICAgICAgIHAybV9sb2NrKHAybSk7Ci0gICAgICAg IGlmICggcDJtLT5ucDJtX2Jhc2UgPT0gbnAybV9iYXNlIHx8IHAybS0+bnAybV9iYXNlID09IFAy TV9CQVNFX0VBRERSICkKKyAgICAgICAgaWYgKCBwMm0tPm5wMm1fYmFzZSA9PSBucDJtX2Jhc2Ug KQogICAgICAgICB7CiAgICAgICAgICAgICAvKiBDaGVjayBpZiBucDJtIHdhcyBmbHVzaGVkIGp1 c3QgYmVmb3JlIHRoZSBsb2NrICovCi0gICAgICAgICAgICBpZiAoIHAybS0+bnAybV9iYXNlID09 IFAyTV9CQVNFX0VBRERSIHx8Ci0gICAgICAgICAgICAgICAgIG52LT5ucDJtX2dlbmVyYXRpb24g IT0gcDJtLT5ucDJtX2dlbmVyYXRpb24gKQorICAgICAgICAgICAgaWYgKCBudi0+bnAybV9nZW5l cmF0aW9uICE9IHAybS0+bnAybV9nZW5lcmF0aW9uICkKICAgICAgICAgICAgICAgICBudmNwdV9m bHVzaCh2KTsKKyAgICAgICAgICAgIC8qIG5wMm0gaXMgdXAtdG8tZGF0ZSAqLwogICAgICAgICAg ICAgcDJtLT5ucDJtX2Jhc2UgPSBucDJtX2Jhc2U7CiAgICAgICAgICAgICBhc3NpZ25fbnAybSh2 LCBwMm0pOwogICAgICAgICAgICAgbmVzdGVkcDJtX3VubG9jayhkKTsKIAogICAgICAgICAgICAg cmV0dXJuIHAybTsKICAgICAgICAgfQotICAgICAgICBlbHNlCisgICAgICAgIGVsc2UgaWYgKCBw Mm0tPm5wMm1fYmFzZSAhPSBQMk1fQkFTRV9FQUREUiApCiAgICAgICAgIHsKICAgICAgICAgICAg IC8qIHZDUFUgaXMgc3dpdGNoaW5nIGZyb20gc29tZSBvdGhlciB2YWxpZCBucDJtICovCiAgICAg ICAgICAgICBjcHVtYXNrX2NsZWFyX2NwdSh2LT5wcm9jZXNzb3IsIHAybS0+ZGlydHlfY3B1bWFz ayk7CkBAIC0xODYxLDYgKzE4NjIsMjMgQEAgcDJtX2dldF9uZXN0ZWRwMm1fbG9ja2VkKHN0cnVj dCB2Y3B1ICp2KQogICAgICAgICBwMm1fdW5sb2NrKHAybSk7CiAgICAgfQogCisgICAgLyogU2hh cmUgYSBucDJtIGlmIHBvc3NpYmxlICovCisgICAgZm9yICggaSA9IDA7IGkgPCBNQVhfTkVTVEVE UDJNOyBpKysgKQorICAgIHsKKyAgICAgICAgcDJtID0gZC0+YXJjaC5uZXN0ZWRfcDJtW2ldOwor ICAgICAgICBwMm1fbG9jayhwMm0pOworICAgICAgICBpZiAoIHAybS0+bnAybV9iYXNlID09IG5w Mm1fYmFzZSApCisgICAgICAgIHsKKyAgICAgICAgICAgIG52Y3B1X2ZsdXNoKHYpOworICAgICAg ICAgICAgcDJtLT5ucDJtX2Jhc2UgPSBucDJtX2Jhc2U7CisgICAgICAgICAgICBhc3NpZ25fbnAy bSh2LCBwMm0pOworICAgICAgICAgICAgbmVzdGVkcDJtX3VubG9jayhkKTsKKworICAgICAgICAg ICAgcmV0dXJuIHAybTsKKyAgICAgICAgfQorICAgICAgICBwMm1fdW5sb2NrKHAybSk7CisgICAg fQorCiAgICAgLyogQWxsIHAybSdzIGFyZSBvciB3ZXJlIGluIHVzZS4gVGFrZSB0aGUgbGVhc3Qg cmVjZW50IHVzZWQgb25lLAogICAgICAqIGZsdXNoIGl0IGFuZCByZXVzZS4gKi8KICAgICBwMm0g PSBwMm1fZ2V0bHJ1X25lc3RlZHAybShkLCBOVUxMKTsKLS0gCjIuMTEuMAoKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxp c3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZl bAo=