From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [RFC QEMU PATCH v4 08/10] nvdimm acpi: add functions to access DSM memory on Xen Date: Thu, 7 Dec 2017 18:18:10 +0800 Message-ID: <20171207101812.23602-9-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 1eMtGX-0008Uq-T1 for xen-devel@lists.xenproject.org; Thu, 07 Dec 2017 10:18:53 +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 , Xiao Guangrong , "Michael S. Tsirkin" , Igor Mammedov , Anthony Perard , Chao Peng , Dan Williams List-Id: xen-devel@lists.xenproject.org WGVuIGh2bWxvYWRlciBjYW4gbG9hZCBRRU1VLWJ1aWx0IE5WRElNTSBBQ1BJIHRhYmxlcyB2aWEg dGhlCkJJT1NMaW5rZXJMb2FkZXIgaW50ZXJmYWNlLCBidXQgaXQgYWxsb2NhdGVzIG1lbW9yeSBp biBhbiBhcmVhIG5vdApjb3ZlcmVkIGJ5IGFueSBtZW1vcnkgcmVnaW9ucyBpbiBRRU1VLCBpLmUu LCB0aGUgaHZtbG9hZGVyIG1lbW9yeQpjYW5ub3QgYmUgYWNjZXNzZWQgdmlhIHRoZSBub3JtYWwg Y3B1X3BoeXNpY2FsX21lbW9yeV97cmVhZCx3cml0ZX0oKS4KSWYgUUVNVSBvbiBYZW4gaGFzIHRv IGFjY2VzcyB0aGUgaHZtbG9hZGVyIG1lbW9yeSBpbiBEU00gZW11bGF0aW9uLAppdCBoYXMgdG8g dGFrZSBhIGRpZmZlcmVudCBwYXRoLCBpLmUuLCB4ZW5fY29weV97ZnJvbSx0b31fZ3Vlc3QoKS4K ClNpZ25lZC1vZmYtYnk6IEhhb3pob25nIFpoYW5nIDxoYW96aG9uZy56aGFuZ0BpbnRlbC5jb20+ Ci0tLQpDYzogWGlhbyBHdWFuZ3JvbmcgPHhpYW9ndWFuZ3JvbmcuZXJpY0BnbWFpbC5jb20+CkNj OiAiTWljaGFlbCBTLiBUc2lya2luIiA8bXN0QHJlZGhhdC5jb20+CkNjOiBJZ29yIE1hbW1lZG92 IDxpbWFtbWVkb0ByZWRoYXQuY29tPgotLS0KIGh3L2FjcGkvbnZkaW1tLmMgfCA0NCArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDM3 IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaHcvYWNwaS9udmRp bW0uYyBiL2h3L2FjcGkvbnZkaW1tLmMKaW5kZXggNmNlZWExOTZlNy4uN2IzMDYyZTAwMSAxMDA2 NDQKLS0tIGEvaHcvYWNwaS9udmRpbW0uYworKysgYi9ody9hY3BpL252ZGltbS5jCkBAIC0zMiw2 ICszMiw3IEBACiAjaW5jbHVkZSAiaHcvYWNwaS9iaW9zLWxpbmtlci1sb2FkZXIuaCIKICNpbmNs dWRlICJody9udnJhbS9md19jZmcuaCIKICNpbmNsdWRlICJody9tZW0vbnZkaW1tLmgiCisjaW5j bHVkZSAiaHcveGVuL3hlbi5oIgogCiBzdGF0aWMgaW50IG52ZGltbV9kZXZpY2VfbGlzdChPYmpl Y3QgKm9iaiwgdm9pZCAqb3BhcXVlKQogewpAQCAtNDk3LDYgKzQ5OCwzNSBAQCBzdHJ1Y3QgTnZk aW1tRnVuY1JlYWRGSVRPdXQgewogdHlwZWRlZiBzdHJ1Y3QgTnZkaW1tRnVuY1JlYWRGSVRPdXQg TnZkaW1tRnVuY1JlYWRGSVRPdXQ7CiBRRU1VX0JVSUxEX0JVR19PTihzaXplb2YoTnZkaW1tRnVu Y1JlYWRGSVRPdXQpID4gTlZESU1NX0RTTV9NRU1PUllfU0laRSk7CiAKKy8qCisgKiBYZW4gaHZt bG9hZGVyIGNhbiBsb2FkIFFFTVUtYnVpbHQgTlZESU1NIEFDUEkgdGFibGVzIHZpYSB0aGUKKyAq IEJJT1NMaW5rZXJMb2FkZXIgaW50ZXJmYWNlLCBidXQgaXQgYWxsb2NhdGVzIG1lbW9yeSBpbiBh biBhcmVhIG5vdAorICogY292ZXJlZCBieSBhbnkgbWVtb3J5IHJlZ2lvbnMgaW4gUUVNVSwgaS5l LiwgdGhlIGh2bWxvYWRlciBtZW1vcnkKKyAqIGNhbm5vdCBiZSBhY2Nlc3NlZCB2aWEgdGhlIG5v cm1hbCBjcHVfcGh5c2ljYWxfbWVtb3J5X3tyZWFkLHdyaXRlfSgpLgorICogSWYgUUVNVSBvbiBY ZW4gaGFzIHRvIGFjY2VzcyB0aGUgaHZtbG9hZGVyIG1lbW9yeSBpbiBEU00gZW11bGF0aW9uLAor ICogaXQgaGFzIHRvIHRha2UgYSBkaWZmZXJlbnQgcGF0aCwgaS5lLiwgeGVuX2NvcHlfe2Zyb20s dG99X2d1ZXN0KCkuCisgKi8KKworc3RhdGljIHZvaWQKK252ZGltbV9jb3B5X2Zyb21fZHNtX21l bShod2FkZHIgZHNtX21lbV9hZGRyLCB2b2lkICpkc3QsIHVuc2lnbmVkIHNpemUpCit7CisgICAg aWYgKHhlbl9lbmFibGVkKCkpIHsKKyAgICAgICAgeGVuX2NvcHlfZnJvbV9ndWVzdChkc21fbWVt X2FkZHIsIGRzdCwgc2l6ZSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgY3B1X3BoeXNpY2FsX21l bW9yeV9yZWFkKGRzbV9tZW1fYWRkciwgZHN0LCBzaXplKTsKKyAgICB9Cit9CisKK3N0YXRpYyB2 b2lkCitudmRpbW1fY29weV90b19kc21fbWVtKGh3YWRkciBkc21fbWVtX2FkZHIsIHZvaWQgKnNy YywgdW5zaWduZWQgc2l6ZSkKK3sKKyAgICBpZiAoeGVuX2VuYWJsZWQoKSkgeworICAgICAgICB4 ZW5fY29weV90b19ndWVzdChkc21fbWVtX2FkZHIsIHNyYywgc2l6ZSk7CisgICAgfSBlbHNlIHsK KyAgICAgICAgY3B1X3BoeXNpY2FsX21lbW9yeV93cml0ZShkc21fbWVtX2FkZHIsIHNyYywgc2l6 ZSk7CisgICAgfQorfQorCiBzdGF0aWMgdm9pZAogbnZkaW1tX2RzbV9mdW5jdGlvbjAodWludDMy X3Qgc3VwcG9ydGVkX2Z1bmMsIGh3YWRkciBkc21fbWVtX2FkZHIpCiB7CkBAIC01MDQsNyArNTM0 LDcgQEAgbnZkaW1tX2RzbV9mdW5jdGlvbjAodWludDMyX3Qgc3VwcG9ydGVkX2Z1bmMsIGh3YWRk ciBkc21fbWVtX2FkZHIpCiAgICAgICAgIC5sZW4gPSBjcHVfdG9fbGUzMihzaXplb2YoZnVuYzAp KSwKICAgICAgICAgLnN1cHBvcnRlZF9mdW5jID0gY3B1X3RvX2xlMzIoc3VwcG9ydGVkX2Z1bmMp LAogICAgIH07Ci0gICAgY3B1X3BoeXNpY2FsX21lbW9yeV93cml0ZShkc21fbWVtX2FkZHIsICZm dW5jMCwgc2l6ZW9mKGZ1bmMwKSk7CisgICAgbnZkaW1tX2NvcHlfdG9fZHNtX21lbShkc21fbWVt X2FkZHIsICZmdW5jMCwgc2l6ZW9mKGZ1bmMwKSk7CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC01MTQs NyArNTQ0LDcgQEAgbnZkaW1tX2RzbV9ub19wYXlsb2FkKHVpbnQzMl90IGZ1bmNfcmV0X3N0YXR1 cywgaHdhZGRyIGRzbV9tZW1fYWRkcikKICAgICAgICAgLmxlbiA9IGNwdV90b19sZTMyKHNpemVv ZihvdXQpKSwKICAgICAgICAgLmZ1bmNfcmV0X3N0YXR1cyA9IGNwdV90b19sZTMyKGZ1bmNfcmV0 X3N0YXR1cyksCiAgICAgfTsKLSAgICBjcHVfcGh5c2ljYWxfbWVtb3J5X3dyaXRlKGRzbV9tZW1f YWRkciwgJm91dCwgc2l6ZW9mKG91dCkpOworICAgIG52ZGltbV9jb3B5X3RvX2RzbV9tZW0oZHNt X21lbV9hZGRyLCAmb3V0LCBzaXplb2Yob3V0KSk7CiB9CiAKICNkZWZpbmUgTlZESU1NX0RTTV9S RVRfU1RBVFVTX1NVQ0NFU1MgICAgICAgIDAgLyogU3VjY2VzcyAqLwpAQCAtNTY5LDcgKzU5OSw3 IEBAIGV4aXQ6CiAgICAgcmVhZF9maXRfb3V0LT5mdW5jX3JldF9zdGF0dXMgPSBjcHVfdG9fbGUz MihmdW5jX3JldF9zdGF0dXMpOwogICAgIG1lbWNweShyZWFkX2ZpdF9vdXQtPmZpdCwgZml0LT5k YXRhICsgcmVhZF9maXQtPm9mZnNldCwgcmVhZF9sZW4pOwogCi0gICAgY3B1X3BoeXNpY2FsX21l bW9yeV93cml0ZShkc21fbWVtX2FkZHIsIHJlYWRfZml0X291dCwgc2l6ZSk7CisgICAgbnZkaW1t X2NvcHlfdG9fZHNtX21lbShkc21fbWVtX2FkZHIsIHJlYWRfZml0X291dCwgc2l6ZSk7CiAKICAg ICBnX2ZyZWUocmVhZF9maXRfb3V0KTsKIH0KQEAgLTY1NSw4ICs2ODUsOCBAQCBzdGF0aWMgdm9p ZCBudmRpbW1fZHNtX2xhYmVsX3NpemUoTlZESU1NRGV2aWNlICpudmRpbW0sIGh3YWRkciBkc21f bWVtX2FkZHIpCiAgICAgbGFiZWxfc2l6ZV9vdXQubGFiZWxfc2l6ZSA9IGNwdV90b19sZTMyKGxh YmVsX3NpemUpOwogICAgIGxhYmVsX3NpemVfb3V0Lm1heF94ZmVyID0gY3B1X3RvX2xlMzIobXhm ZXIpOwogCi0gICAgY3B1X3BoeXNpY2FsX21lbW9yeV93cml0ZShkc21fbWVtX2FkZHIsICZsYWJl bF9zaXplX291dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihsYWJlbF9z aXplX291dCkpOworICAgIG52ZGltbV9jb3B5X3RvX2RzbV9tZW0oZHNtX21lbV9hZGRyLCAmbGFi ZWxfc2l6ZV9vdXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YobGFiZWxfc2l6 ZV9vdXQpKTsKIH0KIAogc3RhdGljIHVpbnQzMl90IG52ZGltbV9yd19sYWJlbF9kYXRhX2NoZWNr KE5WRElNTURldmljZSAqbnZkaW1tLApAQCAtNzIxLDcgKzc1MSw3IEBAIHN0YXRpYyB2b2lkIG52 ZGltbV9kc21fZ2V0X2xhYmVsX2RhdGEoTlZESU1NRGV2aWNlICpudmRpbW0sIE52ZGltbURzbUlu ICppbiwKICAgICBudmMtPnJlYWRfbGFiZWxfZGF0YShudmRpbW0sIGdldF9sYWJlbF9kYXRhX291 dC0+b3V0X2J1ZiwKICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRfbGFiZWxfZGF0YS0+bGVu Z3RoLCBnZXRfbGFiZWxfZGF0YS0+b2Zmc2V0KTsKIAotICAgIGNwdV9waHlzaWNhbF9tZW1vcnlf d3JpdGUoZHNtX21lbV9hZGRyLCBnZXRfbGFiZWxfZGF0YV9vdXQsIHNpemUpOworICAgIG52ZGlt bV9jb3B5X3RvX2RzbV9tZW0oZHNtX21lbV9hZGRyLCBnZXRfbGFiZWxfZGF0YV9vdXQsIHNpemUp OwogICAgIGdfZnJlZShnZXRfbGFiZWxfZGF0YV9vdXQpOwogfQogCkBAIC04MzEsNyArODYxLDcg QEAgbnZkaW1tX2RzbV93cml0ZSh2b2lkICpvcGFxdWUsIGh3YWRkciBhZGRyLCB1aW50NjRfdCB2 YWwsIHVuc2lnbmVkIHNpemUpCiAgICAgICogdGhpcyBieSBjb3B5aW5nIERTTSBtZW1vcnkgdG8g UUVNVSBsb2NhbCBtZW1vcnkuCiAgICAgICovCiAgICAgaW4gPSBnX25ldyhOdmRpbW1Ec21Jbiwg MSk7Ci0gICAgY3B1X3BoeXNpY2FsX21lbW9yeV9yZWFkKGRzbV9tZW1fYWRkciwgaW4sIHNpemVv ZigqaW4pKTsKKyAgICBudmRpbW1fY29weV9mcm9tX2RzbV9tZW0oZHNtX21lbV9hZGRyLCBpbiwg c2l6ZW9mKCppbikpOwogCiAgICAgbGUzMl90b19jcHVzKCZpbi0+cmV2aXNpb24pOwogICAgIGxl MzJfdG9fY3B1cygmaW4tPmZ1bmN0aW9uKTsKLS0gCjIuMTUuMQoKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVu LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcv bWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=