From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [RFC QEMU PATCH v4 02/10] xen-hvm: create the hotplug memory region on Xen Date: Thu, 7 Dec 2017 18:18:04 +0800 Message-ID: <20171207101812.23602-3-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 1eMtGQ-0008TQ-NZ for xen-devel@lists.xenproject.org; Thu, 07 Dec 2017 10:18:46 +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 VGhlIGd1ZXN0IHBoeXNpY2FsIGFkZHJlc3Mgb2Ygdk5WRElNTSBpcyBhbGxvY2F0ZWQgZnJvbSB0 aGUgaG90cGx1ZwptZW1vcnkgcmVnaW9uLCB3aGljaCBpcyBub3QgY3JlYXRlZCB3aGVuIFFFTVUg aXMgdXNlZCBhcyBYZW4gZGV2aWNlCm1vZGVsLiBJbiBvcmRlciB0byB1c2Ugdk5WRElNTSBmb3Ig WGVuIEhWTSBkb21haW5zLCB0aGlzIGNvbW1pdCByZXVzZXMKdGhlIGNvZGUgZm9yIHBjIG1hY2hp bmUgdHlwZSB0byBjcmVhdGUgdGhlIGhvdHBsdWcgbWVtb3J5IHJlZ2lvbiBmb3IKWGVuIEhWTSBk b21haW5zLgoKU2lnbmVkLW9mZi1ieTogSGFvemhvbmcgWmhhbmcgPGhhb3pob25nLnpoYW5nQGlu dGVsLmNvbT4KLS0tCkNjOiAiTWljaGFlbCBTLiBUc2lya2luIiA8bXN0QHJlZGhhdC5jb20+CkNj OiBQYW9sbyBCb256aW5pIDxwYm9uemluaUByZWRoYXQuY29tPgpDYzogUmljaGFyZCBIZW5kZXJz b24gPHJ0aEB0d2lkZGxlLm5ldD4KQ2M6IEVkdWFyZG8gSGFia29zdCA8ZWhhYmtvc3RAcmVkaGF0 LmNvbT4KQ2M6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KQ2M6 IEFudGhvbnkgUGVyYXJkIDxhbnRob255LnBlcmFyZEBjaXRyaXguY29tPgotLS0KIGh3L2kzODYv cGMuYyAgICAgICAgICB8IDg2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQogaHcvaTM4Ni94ZW4veGVuLWh2bS5jIHwgIDIgKysKIGluY2x1ZGUvaHcv aTM4Ni9wYy5oICB8ICAxICsKIDMgZmlsZXMgY2hhbmdlZCwgNTEgaW5zZXJ0aW9ucygrKSwgMzgg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaHcvaTM4Ni9wYy5jIGIvaHcvaTM4Ni9wYy5jCmlu ZGV4IDE4NjU0NWQyYTQuLjlmNDZjOGRmNzkgMTAwNjQ0Ci0tLSBhL2h3L2kzODYvcGMuYworKysg Yi9ody9pMzg2L3BjLmMKQEAgLTEzMTUsNiArMTMxNSw1MyBAQCB2b2lkIHhlbl9sb2FkX2xpbnV4 KFBDTWFjaGluZVN0YXRlICpwY21zKQogICAgIHBjbXMtPmZ3X2NmZyA9IGZ3X2NmZzsKIH0KIAor dm9pZCBwY19tZW1vcnlfaG90cGx1Z19pbml0KFBDTWFjaGluZVN0YXRlICpwY21zLCBNZW1vcnlS ZWdpb24gKnN5c3RlbV9tZW1vcnkpCit7CisgICAgTWFjaGluZVN0YXRlICptYWNoaW5lID0gTUFD SElORShwY21zKTsKKyAgICBQQ01hY2hpbmVDbGFzcyAqcGNtYyA9IFBDX01BQ0hJTkVfR0VUX0NM QVNTKHBjbXMpOworICAgIHJhbV9hZGRyX3QgaG90cGx1Z19tZW1fc2l6ZSA9IG1hY2hpbmUtPm1h eHJhbV9zaXplIC0gbWFjaGluZS0+cmFtX3NpemU7CisKKyAgICBpZiAoIXBjbWMtPmhhc19yZXNl cnZlZF9tZW1vcnkgfHwgbWFjaGluZS0+cmFtX3NpemUgPj0gbWFjaGluZS0+bWF4cmFtX3NpemUp CisgICAgICAgIHJldHVybjsKKworICAgIGlmIChtZW1vcnlfcmVnaW9uX3NpemUoJnBjbXMtPmhv dHBsdWdfbWVtb3J5Lm1yKSkgeworICAgICAgICBlcnJvcl9yZXBvcnQoImhvdHBsdWcgbWVtb3J5 IHJlZ2lvbiBoYXMgYmVlbiBpbml0aWFsaXplZCIpOworICAgICAgICBleGl0KEVYSVRfRkFJTFVS RSk7CisgICAgfQorCisgICAgaWYgKG1hY2hpbmUtPnJhbV9zbG90cyA+IEFDUElfTUFYX1JBTV9T TE9UUykgeworICAgICAgICBlcnJvcl9yZXBvcnQoInVuc3VwcG9ydGVkIGFtb3VudCBvZiBtZW1v cnkgc2xvdHM6ICUiUFJJdTY0LAorICAgICAgICAgICAgICAgICAgICAgbWFjaGluZS0+cmFtX3Ns b3RzKTsKKyAgICAgICAgZXhpdChFWElUX0ZBSUxVUkUpOworICAgIH0KKworICAgIGlmIChRRU1V X0FMSUdOX1VQKG1hY2hpbmUtPm1heHJhbV9zaXplLAorICAgICAgICAgICAgICAgICAgICAgIFRB UkdFVF9QQUdFX1NJWkUpICE9IG1hY2hpbmUtPm1heHJhbV9zaXplKSB7CisgICAgICAgIGVycm9y X3JlcG9ydCgibWF4aW11bSBtZW1vcnkgc2l6ZSBtdXN0IGJ5IGFsaWduZWQgdG8gbXVsdGlwbGUg b2YgIgorICAgICAgICAgICAgICAgICAgICAgIiVkIGJ5dGVzIiwgVEFSR0VUX1BBR0VfU0laRSk7 CisgICAgICAgIGV4aXQoRVhJVF9GQUlMVVJFKTsKKyAgICB9CisKKyAgICBwY21zLT5ob3RwbHVn X21lbW9yeS5iYXNlID0KKyAgICAgICAgUk9VTkRfVVAoMHgxMDAwMDAwMDBVTEwgKyBwY21zLT5h Ym92ZV80Z19tZW1fc2l6ZSwgMVVMTCA8PCAzMCk7CisKKyAgICBpZiAocGNtYy0+ZW5mb3JjZV9h bGlnbmVkX2RpbW0pIHsKKyAgICAgICAgLyogc2l6ZSBob3RwbHVnIHJlZ2lvbiBhc3N1bWluZyAx RyBwYWdlIG1heCBhbGlnbm1lbnQgcGVyIHNsb3QgKi8KKyAgICAgICAgaG90cGx1Z19tZW1fc2l6 ZSArPSAoMVVMTCA8PCAzMCkgKiBtYWNoaW5lLT5yYW1fc2xvdHM7CisgICAgfQorCisgICAgaWYg KChwY21zLT5ob3RwbHVnX21lbW9yeS5iYXNlICsgaG90cGx1Z19tZW1fc2l6ZSkgPCBob3RwbHVn X21lbV9zaXplKSB7CisgICAgICAgIGVycm9yX3JlcG9ydCgidW5zdXBwb3J0ZWQgYW1vdW50IG9m IG1heGltdW0gbWVtb3J5OiAiIFJBTV9BRERSX0ZNVCwKKyAgICAgICAgICAgICAgICAgICAgIG1h Y2hpbmUtPm1heHJhbV9zaXplKTsKKyAgICAgICAgZXhpdChFWElUX0ZBSUxVUkUpOworICAgIH0K KworICAgIG1lbW9yeV9yZWdpb25faW5pdCgmcGNtcy0+aG90cGx1Z19tZW1vcnkubXIsIE9CSkVD VChwY21zKSwKKyAgICAgICAgICAgICAgICAgICAgICAgImhvdHBsdWctbWVtb3J5IiwgaG90cGx1 Z19tZW1fc2l6ZSk7CisgICAgbWVtb3J5X3JlZ2lvbl9hZGRfc3VicmVnaW9uKHN5c3RlbV9tZW1v cnksIHBjbXMtPmhvdHBsdWdfbWVtb3J5LmJhc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICZwY21zLT5ob3RwbHVnX21lbW9yeS5tcik7Cit9CisKIHZvaWQgcGNfbWVtb3J5X2lu aXQoUENNYWNoaW5lU3RhdGUgKnBjbXMsCiAgICAgICAgICAgICAgICAgICAgIE1lbW9yeVJlZ2lv biAqc3lzdGVtX21lbW9yeSwKICAgICAgICAgICAgICAgICAgICAgTWVtb3J5UmVnaW9uICpyb21f bWVtb3J5LApAQCAtMTM2Niw0NCArMTQxMyw3IEBAIHZvaWQgcGNfbWVtb3J5X2luaXQoUENNYWNo aW5lU3RhdGUgKnBjbXMsCiAgICAgfQogCiAgICAgLyogaW5pdGlhbGl6ZSBob3RwbHVnIG1lbW9y eSBhZGRyZXNzIHNwYWNlICovCi0gICAgaWYgKHBjbWMtPmhhc19yZXNlcnZlZF9tZW1vcnkgJiYK LSAgICAgICAgKG1hY2hpbmUtPnJhbV9zaXplIDwgbWFjaGluZS0+bWF4cmFtX3NpemUpKSB7Ci0g ICAgICAgIHJhbV9hZGRyX3QgaG90cGx1Z19tZW1fc2l6ZSA9Ci0gICAgICAgICAgICBtYWNoaW5l LT5tYXhyYW1fc2l6ZSAtIG1hY2hpbmUtPnJhbV9zaXplOwotCi0gICAgICAgIGlmIChtYWNoaW5l LT5yYW1fc2xvdHMgPiBBQ1BJX01BWF9SQU1fU0xPVFMpIHsKLSAgICAgICAgICAgIGVycm9yX3Jl cG9ydCgidW5zdXBwb3J0ZWQgYW1vdW50IG9mIG1lbW9yeSBzbG90czogJSJQUkl1NjQsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgbWFjaGluZS0+cmFtX3Nsb3RzKTsKLSAgICAgICAgICAgIGV4 aXQoRVhJVF9GQUlMVVJFKTsKLSAgICAgICAgfQotCi0gICAgICAgIGlmIChRRU1VX0FMSUdOX1VQ KG1hY2hpbmUtPm1heHJhbV9zaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICBUQVJHRVRf UEFHRV9TSVpFKSAhPSBtYWNoaW5lLT5tYXhyYW1fc2l6ZSkgewotICAgICAgICAgICAgZXJyb3Jf cmVwb3J0KCJtYXhpbXVtIG1lbW9yeSBzaXplIG11c3QgYnkgYWxpZ25lZCB0byBtdWx0aXBsZSBv ZiAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgIiVkIGJ5dGVzIiwgVEFSR0VUX1BBR0VfU0la RSk7Ci0gICAgICAgICAgICBleGl0KEVYSVRfRkFJTFVSRSk7Ci0gICAgICAgIH0KLQotICAgICAg ICBwY21zLT5ob3RwbHVnX21lbW9yeS5iYXNlID0KLSAgICAgICAgICAgIFJPVU5EX1VQKDB4MTAw MDAwMDAwVUxMICsgcGNtcy0+YWJvdmVfNGdfbWVtX3NpemUsIDFVTEwgPDwgMzApOwotCi0gICAg ICAgIGlmIChwY21jLT5lbmZvcmNlX2FsaWduZWRfZGltbSkgewotICAgICAgICAgICAgLyogc2l6 ZSBob3RwbHVnIHJlZ2lvbiBhc3N1bWluZyAxRyBwYWdlIG1heCBhbGlnbm1lbnQgcGVyIHNsb3Qg Ki8KLSAgICAgICAgICAgIGhvdHBsdWdfbWVtX3NpemUgKz0gKDFVTEwgPDwgMzApICogbWFjaGlu ZS0+cmFtX3Nsb3RzOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKChwY21zLT5ob3RwbHVnX21l bW9yeS5iYXNlICsgaG90cGx1Z19tZW1fc2l6ZSkgPAotICAgICAgICAgICAgaG90cGx1Z19tZW1f c2l6ZSkgewotICAgICAgICAgICAgZXJyb3JfcmVwb3J0KCJ1bnN1cHBvcnRlZCBhbW91bnQgb2Yg bWF4aW11bSBtZW1vcnk6ICIgUkFNX0FERFJfRk1ULAotICAgICAgICAgICAgICAgICAgICAgICAg IG1hY2hpbmUtPm1heHJhbV9zaXplKTsKLSAgICAgICAgICAgIGV4aXQoRVhJVF9GQUlMVVJFKTsK LSAgICAgICAgfQotCi0gICAgICAgIG1lbW9yeV9yZWdpb25faW5pdCgmcGNtcy0+aG90cGx1Z19t ZW1vcnkubXIsIE9CSkVDVChwY21zKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICJob3Rw bHVnLW1lbW9yeSIsIGhvdHBsdWdfbWVtX3NpemUpOwotICAgICAgICBtZW1vcnlfcmVnaW9uX2Fk ZF9zdWJyZWdpb24oc3lzdGVtX21lbW9yeSwgcGNtcy0+aG90cGx1Z19tZW1vcnkuYmFzZSwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZwY21zLT5ob3RwbHVnX21lbW9yeS5t cik7Ci0gICAgfQorICAgIHBjX21lbW9yeV9ob3RwbHVnX2luaXQocGNtcywgc3lzdGVtX21lbW9y eSk7CiAKICAgICAvKiBJbml0aWFsaXplIFBDIHN5c3RlbSBmaXJtd2FyZSAqLwogICAgIHBjX3N5 c3RlbV9maXJtd2FyZV9pbml0KHJvbV9tZW1vcnksICFwY21jLT5wY2lfZW5hYmxlZCk7CmRpZmYg LS1naXQgYS9ody9pMzg2L3hlbi94ZW4taHZtLmMgYi9ody9pMzg2L3hlbi94ZW4taHZtLmMKaW5k ZXggMDJkOTJmZDI2OC4uZmUwMWI3YTAyNSAxMDA2NDQKLS0tIGEvaHcvaTM4Ni94ZW4veGVuLWh2 bS5jCisrKyBiL2h3L2kzODYveGVuL3hlbi1odm0uYwpAQCAtMjM1LDYgKzIzNSw4IEBAIHN0YXRp YyB2b2lkIHhlbl9yYW1faW5pdChQQ01hY2hpbmVTdGF0ZSAqcGNtcywKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHBjbXMtPmFib3ZlXzRnX21lbV9zaXplKTsKICAgICAgICAgbWVt b3J5X3JlZ2lvbl9hZGRfc3VicmVnaW9uKHN5c21lbSwgMHgxMDAwMDAwMDBVTEwsICZyYW1faGkp OwogICAgIH0KKworICAgIHBjX21lbW9yeV9ob3RwbHVnX2luaXQocGNtcywgc3lzbWVtKTsKIH0K IAogdm9pZCB4ZW5fcmFtX2FsbG9jKHJhbV9hZGRyX3QgcmFtX2FkZHIsIHJhbV9hZGRyX3Qgc2l6 ZSwgTWVtb3J5UmVnaW9uICptciwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvaHcvaTM4Ni9wYy5oIGIv aW5jbHVkZS9ody9pMzg2L3BjLmgKaW5kZXggZWY0MzhiZDc2NS4uODZlMzc1YjYxNiAxMDA2NDQK LS0tIGEvaW5jbHVkZS9ody9pMzg2L3BjLmgKKysrIGIvaW5jbHVkZS9ody9pMzg2L3BjLmgKQEAg LTI0OSw2ICsyNDksNyBAQCB2b2lkIHBjX21lbW9yeV9pbml0KFBDTWFjaGluZVN0YXRlICpwY21z LAogICAgICAgICAgICAgICAgICAgICBNZW1vcnlSZWdpb24gKnJvbV9tZW1vcnksCiAgICAgICAg ICAgICAgICAgICAgIE1lbW9yeVJlZ2lvbiAqKnJhbV9tZW1vcnkpOwogdWludDY0X3QgcGNfcGNp X2hvbGU2NF9zdGFydCh2b2lkKTsKK3ZvaWQgcGNfbWVtb3J5X2hvdHBsdWdfaW5pdChQQ01hY2hp bmVTdGF0ZSAqcGNtcywgTWVtb3J5UmVnaW9uICpzeXN0ZW1fbWVtb3J5KTsKIHFlbXVfaXJxIHBj X2FsbG9jYXRlX2NwdV9pcnEodm9pZCk7CiBEZXZpY2VTdGF0ZSAqcGNfdmdhX2luaXQoSVNBQnVz ICppc2FfYnVzLCBQQ0lCdXMgKnBjaV9idXMpOwogdm9pZCBwY19iYXNpY19kZXZpY2VfaW5pdChJ U0FCdXMgKmlzYV9idXMsIHFlbXVfaXJxICpnc2ksCi0tIAoyLjE1LjEKCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0 Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qu b3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs