From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH for-next v2 08/10] x86/domain: factor out pv_domain_initialise Date: Tue, 25 Apr 2017 14:52:09 +0100 Message-ID: <20170425135211.4696-9-wei.liu2@citrix.com> References: <20170425135211.4696-1-wei.liu2@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.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d30tO-0007JX-Tt for xen-devel@lists.xenproject.org; Tue, 25 Apr 2017 13:52:35 +0000 In-Reply-To: <20170425135211.4696-1-wei.liu2@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , Wei Liu , Jan Beulich List-Id: xen-devel@lists.xenproject.org THVtcCBldmVyeXRoaW5nIFBWIHJlbGF0ZWQgaW4gYXJjaF9kb21haW5fY3JlYXRlIGludG8KcHZf ZG9tYWluX2luaXRpYWxpc2UuCgpUaG91Z2ggZG9tY3JfZmxhZ3MgYW5kIGNvbmZpZyBhcmUgbm90 IG5lY2Vzc2FyeSwgdGhlIG5ldyBmdW5jdGlvbiBpcwpnaXZlbiB0aG9zZSB0byBtYXRjaCBodm0g Y291bnRlcnBhcnQuCgpTaW5jZSBpdCBjbGVhbnMgdXAgYWZ0ZXIgaXRzZWxmIHRoZXJlIGlzIG5v IG5lZWQgdG8gY2xlYW4gdXAgaW4KYXJjaF9kb21haW5fY3JlYXRlIGluIGNhc2Ugb2YgZmFpbHVy ZS4gUmVtb3ZlIHRoZSBpbml0aWFsaXNlciBvZiByYyBpbgphcmNoX2RvbWFpbl9jcmVhdGUuCgpO byBmdW5jdGlvbmFsIGNoYW5nZS4KClNpZ25lZC1vZmYtYnk6IFdlaSBMaXUgPHdlaS5saXUyQGNp dHJpeC5jb20+Ci0tLQpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpDYzogQW5k cmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYv ZG9tYWluLmMgfCA4OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA1MSBpbnNlcnRpb25zKCspLCAzOCBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvZG9tYWluLmMgYi94ZW4vYXJjaC94ODYvZG9t YWluLmMKaW5kZXggOTUyZTA1MzY2YS4uZjVlOTE3NDMxZCAxMDA2NDQKLS0tIGEveGVuL2FyY2gv eDg2L2RvbWFpbi5jCisrKyBiL3hlbi9hcmNoL3g4Ni9kb21haW4uYwpAQCAtNTQ2LDExICs1NDYs NTQgQEAgc3RhdGljIHZvaWQgcHZfZG9tYWluX2Rlc3Ryb3koc3RydWN0IGRvbWFpbiAqZCkKICAg ICBkLT5hcmNoLnB2X2RvbWFpbi5nZHRfbGR0X2wxdGFiID0gTlVMTDsKIH0KIAorc3RhdGljIGlu dCBwdl9kb21haW5faW5pdGlhbGlzZShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgZG9t Y3JfZmxhZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4ZW5fYXJj aF9kb21haW5jb25maWcgKmNvbmZpZykKK3sKKyAgICBzdGF0aWMgY29uc3Qgc3RydWN0IGFyY2hf Y3N3IHB2X2NzdyA9IHsKKyAgICAgICAgLmZyb20gPSBwYXJhdmlydF9jdHh0X3N3aXRjaF9mcm9t LAorICAgICAgICAudG8gICA9IHBhcmF2aXJ0X2N0eHRfc3dpdGNoX3RvLAorICAgICAgICAudGFp bCA9IGNvbnRpbnVlX25vbmlkbGVfZG9tYWluLAorICAgIH07CisgICAgaW50IHJjID0gLUVOT01F TTsKKworICAgIGQtPmFyY2gucHZfZG9tYWluLmdkdF9sZHRfbDF0YWIgPQorICAgICAgICBhbGxv Y194ZW5oZWFwX3BhZ2VzKDAsIE1FTUZfbm9kZShkb21haW5fdG9fbm9kZShkKSkpOworICAgIGlm ICggIWQtPmFyY2gucHZfZG9tYWluLmdkdF9sZHRfbDF0YWIgKQorICAgICAgICBnb3RvIGZhaWw7 CisgICAgY2xlYXJfcGFnZShkLT5hcmNoLnB2X2RvbWFpbi5nZHRfbGR0X2wxdGFiKTsKKworICAg IGlmICggbGV2ZWxsaW5nX2NhcHMgJiB+TENBUF9mYXVsdGluZyApCisgICAgeworICAgICAgICBk LT5hcmNoLnB2X2RvbWFpbi5jcHVpZG1hc2tzID0geG1hbGxvYyhzdHJ1Y3QgY3B1aWRtYXNrcyk7 CisgICAgICAgIGlmICggIWQtPmFyY2gucHZfZG9tYWluLmNwdWlkbWFza3MgKQorICAgICAgICAg ICAgZ290byBmYWlsOworICAgICAgICAqZC0+YXJjaC5wdl9kb21haW4uY3B1aWRtYXNrcyA9IGNw dWlkbWFza19kZWZhdWx0czsKKyAgICB9CisKKyAgICByYyA9IGNyZWF0ZV9wZXJkb21haW5fbWFw cGluZyhkLCBHRFRfTERUX1ZJUlRfU1RBUlQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgR0RUX0xEVF9NQllURVMgPDwgKDIwIC0gUEFHRV9TSElGVCksCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCk7CisgICAgaWYgKCByYyApCisgICAgICAg IGdvdG8gZmFpbDsKKworICAgIGQtPmFyY2guY3R4dF9zd2l0Y2ggPSAmcHZfY3N3OworCisgICAg LyogNjQtYml0IFBWIGd1ZXN0IGJ5IGRlZmF1bHQuICovCisgICAgZC0+YXJjaC5pc18zMmJpdF9w diA9IGQtPmFyY2guaGFzXzMyYml0X3NoaW5mbyA9IDA7CisKKyAgICByZXR1cm4gMDsKKworIGZh aWw6CisgICAgcHZfZG9tYWluX2Rlc3Ryb3koZCk7CisKKyAgICByZXR1cm4gcmM7Cit9CisKIGlu dCBhcmNoX2RvbWFpbl9jcmVhdGUoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IGRvbWNy X2ZsYWdzLAogICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgeGVuX2FyY2hfZG9tYWluY29u ZmlnICpjb25maWcpCiB7CiAgICAgYm9vbCBwYWdpbmdfaW5pdGlhbGlzZWQgPSBmYWxzZTsKLSAg ICBpbnQgcmMgPSAtRU5PTUVNOworICAgIGludCByYzsKIAogICAgIGlmICggY29uZmlnID09IE5V TEwgJiYgIWlzX2lkbGVfZG9tYWluKGQpICkKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CkBAIC02 MDYsMzAgKzY0OSw2IEBAIGludCBhcmNoX2RvbWFpbl9jcmVhdGUoc3RydWN0IGRvbWFpbiAqZCwg dW5zaWduZWQgaW50IGRvbWNyX2ZsYWdzLAogICAgICAgICBkLT5hcmNoLmVtdWxhdGlvbl9mbGFn cyA9IGVtZmxhZ3M7CiAgICAgfQogCi0gICAgcmMgPSAwOyAvKiBIVk0gYW5kIGlkbGUgZG9tYWlu ICovCi0gICAgaWYgKCBpc19wdl9kb21haW4oZCkgKQotICAgIHsKLSAgICAgICAgZC0+YXJjaC5w dl9kb21haW4uZ2R0X2xkdF9sMXRhYiA9Ci0gICAgICAgICAgICBhbGxvY194ZW5oZWFwX3BhZ2Vz KDAsIE1FTUZfbm9kZShkb21haW5fdG9fbm9kZShkKSkpOwotICAgICAgICBpZiAoICFkLT5hcmNo LnB2X2RvbWFpbi5nZHRfbGR0X2wxdGFiICkKLSAgICAgICAgICAgIGdvdG8gZmFpbDsKLSAgICAg ICAgY2xlYXJfcGFnZShkLT5hcmNoLnB2X2RvbWFpbi5nZHRfbGR0X2wxdGFiKTsKLQotICAgICAg ICBpZiAoIGxldmVsbGluZ19jYXBzICYgfkxDQVBfZmF1bHRpbmcgKQotICAgICAgICB7Ci0gICAg ICAgICAgICBkLT5hcmNoLnB2X2RvbWFpbi5jcHVpZG1hc2tzID0geG1hbGxvYyhzdHJ1Y3QgY3B1 aWRtYXNrcyk7Ci0gICAgICAgICAgICBpZiAoICFkLT5hcmNoLnB2X2RvbWFpbi5jcHVpZG1hc2tz ICkKLSAgICAgICAgICAgICAgICBnb3RvIGZhaWw7Ci0gICAgICAgICAgICAqZC0+YXJjaC5wdl9k b21haW4uY3B1aWRtYXNrcyA9IGNwdWlkbWFza19kZWZhdWx0czsKLSAgICAgICAgfQotCi0gICAg ICAgIHJjID0gY3JlYXRlX3BlcmRvbWFpbl9tYXBwaW5nKGQsIEdEVF9MRFRfVklSVF9TVEFSVCwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0RUX0xEVF9NQllURVMgPDwg KDIwIC0gUEFHRV9TSElGVCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IE5VTEwsIE5VTEwpOwotICAgIH0KLSAgICBpZiAoIHJjICkKLSAgICAgICAgZ290byBmYWlsOwot CiAgICAgbWFwY2FjaGVfZG9tYWluX2luaXQoZCk7CiAKICAgICBIWVBFUlZJU09SX0NPTVBBVF9W SVJUX1NUQVJUKGQpID0KQEAgLTY3NywyMyArNjk2LDIwIEBAIGludCBhcmNoX2RvbWFpbl9jcmVh dGUoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IGRvbWNyX2ZsYWdzLAogICAgICAgICBp ZiAoIChyYyA9IGh2bV9kb21haW5faW5pdGlhbGlzZShkLCBkb21jcl9mbGFncywgY29uZmlnKSkg IT0gMCApCiAgICAgICAgICAgICBnb3RvIGZhaWw7CiAgICAgfQotICAgIGVsc2UKKyAgICBlbHNl IGlmICggaXNfaWRsZV9kb21haW4oZCkgKQogICAgIHsKLSAgICAgICAgc3RhdGljIGNvbnN0IHN0 cnVjdCBhcmNoX2NzdyBwdl9jc3cgPSB7Ci0gICAgICAgICAgICAuZnJvbSA9IHBhcmF2aXJ0X2N0 eHRfc3dpdGNoX2Zyb20sCi0gICAgICAgICAgICAudG8gICA9IHBhcmF2aXJ0X2N0eHRfc3dpdGNo X3RvLAotICAgICAgICAgICAgLnRhaWwgPSBjb250aW51ZV9ub25pZGxlX2RvbWFpbiwKLSAgICAg ICAgfTsKICAgICAgICAgc3RhdGljIGNvbnN0IHN0cnVjdCBhcmNoX2NzdyBpZGxlX2NzdyA9IHsK ICAgICAgICAgICAgIC5mcm9tID0gcGFyYXZpcnRfY3R4dF9zd2l0Y2hfZnJvbSwKICAgICAgICAg ICAgIC50byAgID0gcGFyYXZpcnRfY3R4dF9zd2l0Y2hfdG8sCiAgICAgICAgICAgICAudGFpbCA9 IGNvbnRpbnVlX2lkbGVfZG9tYWluLAogICAgICAgICB9OwogCi0gICAgICAgIGQtPmFyY2guY3R4 dF9zd2l0Y2ggPSBpc19pZGxlX2RvbWFpbihkKSA/ICZpZGxlX2NzdyA6ICZwdl9jc3c7Ci0KLSAg ICAgICAgLyogNjQtYml0IFBWIGd1ZXN0IGJ5IGRlZmF1bHQuICovCi0gICAgICAgIGQtPmFyY2gu aXNfMzJiaXRfcHYgPSBkLT5hcmNoLmhhc18zMmJpdF9zaGluZm8gPSAwOworICAgICAgICBkLT5h cmNoLmN0eHRfc3dpdGNoID0gJmlkbGVfY3N3OworICAgIH0KKyAgICBlbHNlCisgICAgeworICAg ICAgICBpZiAoIChyYyA9IHB2X2RvbWFpbl9pbml0aWFsaXNlKGQsIGRvbWNyX2ZsYWdzLCBjb25m aWcpKSAhPSAwICkKKyAgICAgICAgICAgIGdvdG8gZmFpbDsKICAgICB9CiAKICAgICAvKiBpbml0 aWFsaXplIGRlZmF1bHQgdHNjIGJlaGF2aW9yIGluIGNhc2UgdG9vbHMgZG9uJ3QgKi8KQEAgLTcy MSw5ICs3MzcsNiBAQCBpbnQgYXJjaF9kb21haW5fY3JlYXRlKHN0cnVjdCBkb21haW4gKmQsIHVu c2lnbmVkIGludCBkb21jcl9mbGFncywKICAgICBpZiAoIHBhZ2luZ19pbml0aWFsaXNlZCApCiAg ICAgICAgIHBhZ2luZ19maW5hbF90ZWFyZG93bihkKTsKICAgICBmcmVlX3BlcmRvbWFpbl9tYXBw aW5ncyhkKTsKLSAgICBpZiAoIGlzX3B2X2RvbWFpbihkKSApCi0gICAgICAgIHB2X2RvbWFpbl9k ZXN0cm95KGQpOwotCiAgICAgcmV0dXJuIHJjOwogfQogCi0tIAoyLjExLjAKCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBs aXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2 ZWwK