From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [RFC QEMU PATCH v4 07/10] xen-hvm: add functions to copy data from/to HVM memory Date: Thu, 7 Dec 2017 18:18:09 +0800 Message-ID: <20171207101812.23602-8-haozhong.zhang@intel.com> References: <20171207101812.23602-1-haozhong.zhang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eMtHT-0000TY-9u for xen-devel@lists.xenproject.org; Thu, 07 Dec 2017 10:19:51 +0000 In-Reply-To: <20171207101812.23602-1-haozhong.zhang@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: qemu-devel@nongnu.org, xen-devel@lists.xenproject.org Cc: Haozhong Zhang , Stefano Stabellini , Eduardo Habkost , "Michael S. Tsirkin" , Paolo Bonzini , Anthony Perard , Chao Peng , Dan Williams , Richard Henderson List-Id: xen-devel@lists.xenproject.org U2lnbmVkLW9mZi1ieTogSGFvemhvbmcgWmhhbmcgPGhhb3pob25nLnpoYW5nQGludGVsLmNvbT4K LS0tCkNjOiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+CkNjOiBB bnRob255IFBlcmFyZCA8YW50aG9ueS5wZXJhcmRAY2l0cml4LmNvbT4KQ2M6IFBhb2xvIEJvbnpp bmkgPHBib256aW5pQHJlZGhhdC5jb20+CkNjOiBSaWNoYXJkIEhlbmRlcnNvbiA8cnRoQHR3aWRk bGUubmV0PgpDYzogRWR1YXJkbyBIYWJrb3N0IDxlaGFia29zdEByZWRoYXQuY29tPgpDYzogIk1p Y2hhZWwgUy4gVHNpcmtpbiIgPG1zdEByZWRoYXQuY29tPgotLS0KIGh3L2kzODYveGVuL3hlbi1o dm0uYyB8IDU1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKwogaW5jbHVkZS9ody94ZW4veGVuLmggIHwgIDMgKysrCiBzdHVicy94ZW4taHZtLmMgICAg ICAgfCAxMCArKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDY4IGluc2VydGlvbnMoKykKCmRp ZmYgLS1naXQgYS9ody9pMzg2L3hlbi94ZW4taHZtLmMgYi9ody9pMzg2L3hlbi94ZW4taHZtLmMK aW5kZXggM2RmMjBmZjI4Mi4uYTdlOTliZDQzOCAxMDA2NDQKLS0tIGEvaHcvaTM4Ni94ZW4veGVu LWh2bS5jCisrKyBiL2h3L2kzODYveGVuL3hlbi1odm0uYwpAQCAtMTQ5NCwzICsxNDk0LDU4IEBA IHZvaWQgeGVuX2FjcGlfYnVpbGQoQWNwaUJ1aWxkVGFibGVzICp0YWJsZXMsIEdBcnJheSAqdGFi bGVfb2Zmc2V0cywKICAgICBidWlsZF9yc2R0KHRhYmxlc19ibG9iLCB0YWJsZXMtPmxpbmtlciwg dGFibGVfb2Zmc2V0cywgMCwgMCk7CiAgICAgYnVpbGRfcnNkcCh0YWJsZXMtPnJzZHAsIHRhYmxl cy0+bGlua2VyLCByc2R0KTsKIH0KKworc3RhdGljIHNpemVfdCB4ZW5fcndfZ3Vlc3QocmFtX2Fk ZHJfdCBncGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpidWYsIHNpemVfdCBs ZW5ndGgsIGJvb2wgaXNfd3JpdGUpCit7CisgICAgc2l6ZV90IGNvcGllZCA9IDAsIHNpemU7Cisg ICAgcmFtX2FkZHJfdCBzLCBlLCBvZmZzZXQsIGN1ciA9IGdwYTsKKyAgICB4ZW5fcGZuX3QgY3Vy X3BmbjsKKyAgICB2b2lkICpwYWdlOworICAgIGludCBwcm90ID0gaXNfd3JpdGUgPyBQUk9UX1dS SVRFIDogUFJPVF9SRUFEOworCisgICAgaWYgKCFidWYgfHwgIWxlbmd0aCkgeworICAgICAgICBy ZXR1cm4gMDsKKyAgICB9CisKKyAgICBzID0gZ3BhICYgVEFSR0VUX1BBR0VfTUFTSzsKKyAgICBl ID0gZ3BhICsgbGVuZ3RoOworICAgIGlmIChlIDwgcykgeworICAgICAgICByZXR1cm4gMDsKKyAg ICB9CisKKyAgICB3aGlsZSAoY3VyIDwgZSkgeworICAgICAgICBjdXJfcGZuID0gY3VyID4+IFRB UkdFVF9QQUdFX0JJVFM7CisgICAgICAgIG9mZnNldCA9IGN1ciAtIChjdXJfcGZuIDw8IFRBUkdF VF9QQUdFX0JJVFMpOworICAgICAgICBzaXplID0gTUlOKGxlbmd0aCwgVEFSR0VUX1BBR0VfU0la RSAtIG9mZnNldCk7CisKKyAgICAgICAgcGFnZSA9IHhlbmZvcmVpZ25tZW1vcnlfbWFwKHhlbl9m bWVtLCB4ZW5fZG9taWQsIHByb3QsIDEsICZjdXJfcGZuLCBOVUxMKTsKKyAgICAgICAgaWYgKCFw YWdlKSB7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChpc193 cml0ZSkgeworICAgICAgICAgICAgbWVtY3B5KHBhZ2UgKyBvZmZzZXQsIGJ1Ziwgc2l6ZSk7Cisg ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBtZW1jcHkoYnVmLCBwYWdlICsgb2Zmc2V0LCBz aXplKTsKKyAgICAgICAgfQorICAgICAgICB4ZW5mb3JlaWdubWVtb3J5X3VubWFwKHhlbl9mbWVt LCBwYWdlLCAxKTsKKworICAgICAgICBjb3BpZWQgKz0gc2l6ZTsKKyAgICAgICAgYnVmICs9IHNp emU7CisgICAgICAgIGN1ciArPSBzaXplOworICAgICAgICBsZW5ndGggLT0gc2l6ZTsKKyAgICB9 CisKKyAgICByZXR1cm4gY29waWVkOworfQorCitzaXplX3QgeGVuX2NvcHlfdG9fZ3Vlc3QocmFt X2FkZHJfdCBncGEsIHZvaWQgKmJ1Ziwgc2l6ZV90IGxlbmd0aCkKK3sKKyAgICByZXR1cm4geGVu X3J3X2d1ZXN0KGdwYSwgYnVmLCBsZW5ndGgsIHRydWUpOworfQorCitzaXplX3QgeGVuX2NvcHlf ZnJvbV9ndWVzdChyYW1fYWRkcl90IGdwYSwgdm9pZCAqYnVmLCBzaXplX3QgbGVuZ3RoKQorewor ICAgIHJldHVybiB4ZW5fcndfZ3Vlc3QoZ3BhLCBidWYsIGxlbmd0aCwgZmFsc2UpOworfQpkaWZm IC0tZ2l0IGEvaW5jbHVkZS9ody94ZW4veGVuLmggYi9pbmNsdWRlL2h3L3hlbi94ZW4uaAppbmRl eCAyNzg1YjhmZDM1Li5jYzQwZDQ1YWViIDEwMDY0NAotLS0gYS9pbmNsdWRlL2h3L3hlbi94ZW4u aAorKysgYi9pbmNsdWRlL2h3L3hlbi94ZW4uaApAQCAtNTIsNCArNTIsNyBAQCB2b2lkIHhlbl9y ZWdpc3Rlcl9mcmFtZWJ1ZmZlcihzdHJ1Y3QgTWVtb3J5UmVnaW9uICptcik7CiB2b2lkIHhlbl9h Y3BpX2J1aWxkKEFjcGlCdWlsZFRhYmxlcyAqdGFibGVzLCBHQXJyYXkgKnRhYmxlX29mZnNldHMs CiAgICAgICAgICAgICAgICAgICAgIE1hY2hpbmVTdGF0ZSAqbWFjaGluZSk7CiAKK3NpemVfdCB4 ZW5fY29weV90b19ndWVzdChyYW1fYWRkcl90IGdwYSwgdm9pZCAqYnVmLCBzaXplX3QgbGVuZ3Ro KTsKK3NpemVfdCB4ZW5fY29weV9mcm9tX2d1ZXN0KHJhbV9hZGRyX3QgZ3BhLCB2b2lkICpidWYs IHNpemVfdCBsZW5ndGgpOworCiAjZW5kaWYgLyogUUVNVV9IV19YRU5fSCAqLwpkaWZmIC0tZ2l0 IGEvc3R1YnMveGVuLWh2bS5jIGIvc3R1YnMveGVuLWh2bS5jCmluZGV4IDU4MDE3YzE0NTcuLjVk ZTAyODQyYTMgMTAwNjQ0Ci0tLSBhL3N0dWJzL3hlbi1odm0uYworKysgYi9zdHVicy94ZW4taHZt LmMKQEAgLTY2LDMgKzY2LDEzIEBAIHZvaWQgeGVuX2FjcGlfYnVpbGQoQWNwaUJ1aWxkVGFibGVz ICp0YWJsZXMsIEdBcnJheSAqdGFibGVfb2Zmc2V0cywKICAgICAgICAgICAgICAgICAgICAgTWFj aGluZVN0YXRlICptYWNoaW5lKQogewogfQorCitzaXplX3QgeGVuX2NvcHlfdG9fZ3Vlc3QocmFt X2FkZHJfdCBncGEsIHZvaWQgKmJ1Ziwgc2l6ZV90IGxlbmd0aCkKK3sKKyAgICByZXR1cm4gMDsK K30KKworc2l6ZV90IHhlbl9jb3B5X2Zyb21fZ3Vlc3QocmFtX2FkZHJfdCBncGEsIHZvaWQgKmJ1 Ziwgc2l6ZV90IGxlbmd0aCkKK3sKKyAgICByZXR1cm4gMDsKK30KLS0gCjIuMTUuMQoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVu cHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=