From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v2] xen/x86: add a way to obtain the needed number of memory map entries Date: Tue, 6 Dec 2016 14:47:43 +0100 Message-ID: <20161206134743.2813-1-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cEG66-0004yD-Nf for xen-devel@lists.xenproject.org; Tue, 06 Dec 2016 13:47:54 +0000 List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Juergen Gross , sstabellini@kernel.org, wei.liu2@citrix.com, George.Dunlap@eu.citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, tim@xen.org, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org VG9kYXkgdGhlcmUgaXMgbm8gd2F5IGZvciBhIGRvbWFpbiB0byBvYnRhaW4gdGhlIG51bWJlciBv ZiBlbnRyaWVzIG9mCnRoZSBtYWNoaW5lIG1lbW9yeSBtYXAgcmV0dXJuZWQgYnkgWEVOTUVNX21h Y2hpbmVfbWVtb3J5X21hcCBoeXBlcmNhbGwuCgpNb2RpZnkgdGhlIGludGVyZmFjZSB0byByZXR1 cm4ganVzdCB0aGUgbmVlZGVkIG51bWJlciBvZiBtYXAgZW50cmllcwppbiBjYXNlIHRoZSBidWZm ZXIgd2FzIHNwZWNpZmllZCBhcyBOVUxMLgoKU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8 amdyb3NzQHN1c2UuY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9tbS5jICAgICAgICAgICB8IDQwICsr KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0KIHhlbi9pbmNsdWRlL3B1Ymxp Yy9tZW1vcnkuaCB8ICAyICsrCiAyIGZpbGVzIGNoYW5nZWQsIDI3IGluc2VydGlvbnMoKyksIDE1 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS5jIGIveGVuL2FyY2gv eDg2L21tLmMKaW5kZXggMTQ1NTJhMS4uM2ZmMGU5NyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2 L21tLmMKKysrIGIveGVuL2FyY2gveDg2L21tLmMKQEAgLTQ3MzYsMTUgKzQ3MzYsMTggQEAgc3Rh dGljIGludCBfaGFuZGxlX2lvbWVtX3JhbmdlKHVuc2lnbmVkIGxvbmcgcywgdW5zaWduZWQgbG9u ZyBlLAogICAgICAgICBYRU5fR1VFU1RfSEFORExFX1BBUkFNKGU4MjBlbnRyeV90KSBidWZmZXJf cGFyYW07CiAgICAgICAgIFhFTl9HVUVTVF9IQU5ETEUoZTgyMGVudHJ5X3QpIGJ1ZmZlcjsKIAot ICAgICAgICBpZiAoIGN0eHQtPm4gKyAxID49IGN0eHQtPm1hcC5ucl9lbnRyaWVzICkKLSAgICAg ICAgICAgIHJldHVybiAtRUlOVkFMOwotICAgICAgICBlbnQuYWRkciA9ICh1aW50NjRfdCljdHh0 LT5zIDw8IFBBR0VfU0hJRlQ7Ci0gICAgICAgIGVudC5zaXplID0gKHVpbnQ2NF90KShzIC0gY3R4 dC0+cykgPDwgUEFHRV9TSElGVDsKLSAgICAgICAgZW50LnR5cGUgPSBFODIwX1JFU0VSVkVEOwot ICAgICAgICBidWZmZXJfcGFyYW0gPSBndWVzdF9oYW5kbGVfY2FzdChjdHh0LT5tYXAuYnVmZmVy LCBlODIwZW50cnlfdCk7Ci0gICAgICAgIGJ1ZmZlciA9IGd1ZXN0X2hhbmRsZV9mcm9tX3BhcmFt KGJ1ZmZlcl9wYXJhbSwgZTgyMGVudHJ5X3QpOwotICAgICAgICBpZiAoIF9fY29weV90b19ndWVz dF9vZmZzZXQoYnVmZmVyLCBjdHh0LT5uLCAmZW50LCAxKSApCi0gICAgICAgICAgICByZXR1cm4g LUVGQVVMVDsKKyAgICAgICAgaWYgKCAhZ3Vlc3RfaGFuZGxlX2lzX251bGwoY3R4dC0+bWFwLmJ1 ZmZlcikgKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoIGN0eHQtPm4gKyAxID49IGN0eHQt Pm1hcC5ucl9lbnRyaWVzICkKKyAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKKyAgICAg ICAgICAgIGVudC5hZGRyID0gKHVpbnQ2NF90KWN0eHQtPnMgPDwgUEFHRV9TSElGVDsKKyAgICAg ICAgICAgIGVudC5zaXplID0gKHVpbnQ2NF90KShzIC0gY3R4dC0+cykgPDwgUEFHRV9TSElGVDsK KyAgICAgICAgICAgIGVudC50eXBlID0gRTgyMF9SRVNFUlZFRDsKKyAgICAgICAgICAgIGJ1ZmZl cl9wYXJhbSA9IGd1ZXN0X2hhbmRsZV9jYXN0KGN0eHQtPm1hcC5idWZmZXIsIGU4MjBlbnRyeV90 KTsKKyAgICAgICAgICAgIGJ1ZmZlciA9IGd1ZXN0X2hhbmRsZV9mcm9tX3BhcmFtKGJ1ZmZlcl9w YXJhbSwgZTgyMGVudHJ5X3QpOworICAgICAgICAgICAgaWYgKCBfX2NvcHlfdG9fZ3Vlc3Rfb2Zm c2V0KGJ1ZmZlciwgY3R4dC0+biwgJmVudCwgMSkgKQorICAgICAgICAgICAgICAgIHJldHVybiAt RUZBVUxUOworICAgICAgICB9CiAgICAgICAgIGN0eHQtPm4rKzsKICAgICB9CiAgICAgY3R4dC0+ cyA9IGUgKyAxOwpAQCAtNDk3OCw2ICs0OTgxLDcgQEAgbG9uZyBhcmNoX21lbW9yeV9vcCh1bnNp Z25lZCBsb25nIGNtZCwgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSBhcmcpCiAgICAgICAg IFhFTl9HVUVTVF9IQU5ETEUoZTgyMGVudHJ5X3QpIGJ1ZmZlcjsKICAgICAgICAgWEVOX0dVRVNU X0hBTkRMRV9QQVJBTShlODIwZW50cnlfdCkgYnVmZmVyX3BhcmFtOwogICAgICAgICB1bnNpZ25l ZCBpbnQgaTsKKyAgICAgICAgYm9vbCBzdG9yZTsKIAogICAgICAgICByYyA9IHhzbV9tYWNoaW5l X21lbW9yeV9tYXAoWFNNX1BSSVYpOwogICAgICAgICBpZiAoIHJjICkKQEAgLTQ5ODUsMTIgKzQ5 ODksMTUgQEAgbG9uZyBhcmNoX21lbW9yeV9vcCh1bnNpZ25lZCBsb25nIGNtZCwgWEVOX0dVRVNU X0hBTkRMRV9QQVJBTSh2b2lkKSBhcmcpCiAKICAgICAgICAgaWYgKCBjb3B5X2Zyb21fZ3Vlc3Qo JmN0eHQubWFwLCBhcmcsIDEpICkKICAgICAgICAgICAgIHJldHVybiAtRUZBVUxUOwotICAgICAg ICBpZiAoIGN0eHQubWFwLm5yX2VudHJpZXMgPCBlODIwLm5yX21hcCArIDEgKQorCisgICAgICAg IHN0b3JlID0gIWd1ZXN0X2hhbmRsZV9pc19udWxsKGN0eHQubWFwLmJ1ZmZlcik7CisKKyAgICAg ICAgaWYgKCBzdG9yZSAmJiBjdHh0Lm1hcC5ucl9lbnRyaWVzIDwgZTgyMC5ucl9tYXAgKyAxICkK ICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOwogCiAgICAgICAgIGJ1ZmZlcl9wYXJhbSA9IGd1 ZXN0X2hhbmRsZV9jYXN0KGN0eHQubWFwLmJ1ZmZlciwgZTgyMGVudHJ5X3QpOwogICAgICAgICBi dWZmZXIgPSBndWVzdF9oYW5kbGVfZnJvbV9wYXJhbShidWZmZXJfcGFyYW0sIGU4MjBlbnRyeV90 KTsKLSAgICAgICAgaWYgKCAhZ3Vlc3RfaGFuZGxlX29rYXkoYnVmZmVyLCBjdHh0Lm1hcC5ucl9l bnRyaWVzKSApCisgICAgICAgIGlmICggc3RvcmUgJiYgIWd1ZXN0X2hhbmRsZV9va2F5KGJ1ZmZl ciwgY3R4dC5tYXAubnJfZW50cmllcykgKQogICAgICAgICAgICAgcmV0dXJuIC1FRkFVTFQ7CiAK ICAgICAgICAgZm9yICggaSA9IDAsIGN0eHQubiA9IDAsIGN0eHQucyA9IDA7IGkgPCBlODIwLm5y X21hcDsgKytpLCArK2N0eHQubiApCkBAIC01MDA3LDEwICs1MDE0LDEzIEBAIGxvbmcgYXJjaF9t ZW1vcnlfb3AodW5zaWduZWQgbG9uZyBjbWQsIFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0odm9pZCkg YXJnKQogICAgICAgICAgICAgICAgIGlmICggcmMgKQogICAgICAgICAgICAgICAgICAgICByZXR1 cm4gcmM7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoIGN0eHQubWFwLm5yX2VudHJp ZXMgPD0gY3R4dC5uICsgKGU4MjAubnJfbWFwIC0gaSkgKQotICAgICAgICAgICAgICAgIHJldHVy biAtRUlOVkFMOwotICAgICAgICAgICAgaWYgKCBfX2NvcHlfdG9fZ3Vlc3Rfb2Zmc2V0KGJ1ZmZl ciwgY3R4dC5uLCBlODIwLm1hcCArIGksIDEpICkKLSAgICAgICAgICAgICAgICByZXR1cm4gLUVG QVVMVDsKKyAgICAgICAgICAgIGlmICggc3RvcmUgKQorICAgICAgICAgICAgeworICAgICAgICAg ICAgICAgIGlmICggY3R4dC5tYXAubnJfZW50cmllcyA8PSBjdHh0Lm4gKyAoZTgyMC5ucl9tYXAg LSBpKSApCisgICAgICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOworICAgICAgICAgICAg ICAgIGlmICggX19jb3B5X3RvX2d1ZXN0X29mZnNldChidWZmZXIsIGN0eHQubiwgZTgyMC5tYXAg KyBpLCAxKSApCisgICAgICAgICAgICAgICAgICAgIHJldHVybiAtRUZBVUxUOworICAgICAgICAg ICAgfQogICAgICAgICAgICAgY3R4dC5zID0gUEZOX1VQKGU4MjAubWFwW2ldLmFkZHIgKyBlODIw Lm1hcFtpXS5zaXplKTsKICAgICAgICAgfQogCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJs aWMvbWVtb3J5LmggYi94ZW4vaW5jbHVkZS9wdWJsaWMvbWVtb3J5LmgKaW5kZXggNWJmODQwZi4u ZTYzMzA0NyAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL21lbW9yeS5oCisrKyBiL3hl bi9pbmNsdWRlL3B1YmxpYy9tZW1vcnkuaApAQCAtMzM5LDYgKzMzOSw4IEBAIERFRklORV9YRU5f R1VFU1RfSEFORExFKHhlbl9tZW1vcnlfbWFwX3QpOwogLyoKICAqIFJldHVybnMgdGhlIHJlYWwg cGh5c2ljYWwgbWVtb3J5IG1hcC4gUGFzc2VzIHRoZSBzYW1lIHN0cnVjdHVyZSBhcwogICogWEVO TUVNX21lbW9yeV9tYXAuCisgKiBTcGVjaWZ5aW5nIGJ1ZmZlciBhcyBOVUxMIHdpbGwgcmV0dXJu IHRoZSBudW1iZXIgb2YgZW50cmllcyByZXF1aXJlZAorICogdG8gc3RvcmUgdGhlIGNvbXBsZXRl IG1lbW9yeSBtYXAuCiAgKiBhcmcgPT0gYWRkciBvZiB4ZW5fbWVtb3J5X21hcF90LgogICovCiAj ZGVmaW5lIFhFTk1FTV9tYWNoaW5lX21lbW9yeV9tYXAgICAxMAotLSAKMi4xMC4yCgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxp bmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVu LWRldmVsCg==