From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH v3] xen: fix setup of PVH Dom0 memory map Date: Fri, 23 May 2014 17:27:18 +0200 Message-ID: <1400858838-21030-1-git-send-email-roger.pau@citrix.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.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1WnrNj-0003UY-3l for xen-devel@lists.xenproject.org; Fri, 23 May 2014 15:27:39 +0000 List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xenproject.org Cc: Tim Deegan , Jan Beulich , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBhZGRzIHRoZSBob2xlcyByZW1vdmVkIGJ5IE1NSU8gcmVnaW9ucyB0byB0aGUg ZW5kIG9mIHRoZQptZW1vcnkgbWFwIGZvciBQVkggRG9tMCwgc28gdGhlIGd1ZXN0IE9TIGRvZXNu J3QgaGF2ZSB0byBtYW51YWxseQpwb3B1bGF0ZSB0aGlzIG1lbW9yeS4KCkFsc28sIHByb3ZpZGUg YSBzdWl0YWJsZSBlODIwIG1lbW9yeSBtYXAgZm9yIFBWSCBEb20wLCB0aGF0IG1hdGNoZXMKdGhl IHVuZGVybHlpbmcgcDJtIG1hcC4gVGhpcyBtZWFucyB0aGF0IFBWSCBndWVzdHMgc2hvdWxkIGFs d2F5cyB1c2UKWEVOTUVNX21lbW9yeV9tYXAgaW4gb3JkZXIgdG8gb2J0YWluIHRoZSBlODIwLCBl dmVuIHdoZW4gcnVubmluZyBhcwpEb20wLgoKU2lnbmVkLW9mZi1ieTogUm9nZXIgUGF1IE1vbm7D qSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CkNjOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5j b20+CkNjOiBUaW0gRGVlZ2FuIDx0aW1AeGVuLm9yZz4KQ2M6IE11a2VzaCBSYXRob3IgPG11a2Vz aC5yYXRob3JAb3JhY2xlLmNvbT4KLS0tCkNoYW5nZXMgc2luY2UgdjI6CiAtIEFkZGVkIHNvbWUg YnJlYWsgcG9pbnRzIHRvIGNhbGwgcHJvY2Vzc19wZW5kaW5nX3NvZnRpcnFzLgogLSBQcmludCBy YyBvbiBlcnJvciBtZXNzYWdlLgogLSBVc2UgUEZOX1VQIGluc3RlYWQgb2YgYW4gb3Blbi1jb2Rl ZCBjZWlsLgogLSBBZGQgb25lIHNwYWNlIGluIGZyb250IG9mIGxhYmVscy4KCkNoYW5nZXMgc2lu Y2UgdjE6CiAtIEZpeCBjb21wYXJpc29uIG9mIHN0YXJ0X3BmbiBhbmQgbnJfcGFnZXMgdG8gdXNl IDwgaW5zdGVhZCBvZiA8PS4KIC0gVXNlIG1lbW9yeSBwYWdlcyBmcm9tIGQtPnBhZ2VfbGlzdCBp biBvcmRlciB0byBmaWxsIHRoZSBob2xlcyBpbgogICB0aGUgbWVtb3J5IG1hcC4KIC0gVXNlIGFz c2lnbWVudHMgaW5zdGVhZCBvZiBtZW1jcHkgdG8gY3JlYXRlIHRoZSBEb20wIGU4MjAgbWFwLgog LSBNYWtlIHN1cmUgd2UgYXJlIGNhbGN1bGF0aW5nIHRoZSByaWdodCBzaXplIG9mIHRoZSBlODIw IGVudHJpZXMgYnkKICAgYWx3YXlzIHJvdW5kaW5nIHVwIHRoZSBzaXplLgotLS0KIHhlbi9hcmNo L3g4Ni9kb21haW5fYnVpbGQuYyB8ICAxMTUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKystCiAxIGZpbGVzIGNoYW5nZWQsIDExMiBpbnNlcnRpb25zKCspLCAzIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9kb21haW5fYnVpbGQuYyBiL3hlbi9h cmNoL3g4Ni9kb21haW5fYnVpbGQuYwppbmRleCAzOGVkOWY2Li5iYTQyZmM5IDEwMDY0NAotLS0g YS94ZW4vYXJjaC94ODYvZG9tYWluX2J1aWxkLmMKKysrIGIveGVuL2FyY2gveDg2L2RvbWFpbl9i dWlsZC5jCkBAIC0zMTUsOSArMzE1LDEzIEBAIHN0YXRpYyBfX2luaXQgdm9pZCBwdmhfYWRkX21l bV9tYXBwaW5nKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLAogICAgIGludCBy YzsKIAogICAgIGZvciAoIGkgPSAwOyBpIDwgbnJfbWZuczsgaSsrICkKKyAgICB7CiAgICAgICAg IGlmICggKHJjID0gc2V0X21taW9fcDJtX2VudHJ5KGQsIGdmbiArIGksIF9tZm4obWZuICsgaSkp KSApCiAgICAgICAgICAgICBwYW5pYygicHZoX2FkZF9tZW1fbWFwcGluZzogZ2ZuOiVseCBtZm46 JWx4IGk6JWxkIHJjOiVkXG4iLAogICAgICAgICAgICAgICAgICAgZ2ZuLCBtZm4sIGksIHJjKTsK KyAgICAgICAgaWYgKCAhKGkgJiAweGZmZmZmKSApCisgICAgICAgICAgICAgICAgcHJvY2Vzc19w ZW5kaW5nX3NvZnRpcnFzKCk7CisgICAgfQogfQogCiAvKgpAQCAtMzI3LDExICszMzEsMTQgQEAg c3RhdGljIF9faW5pdCB2b2lkIHB2aF9hZGRfbWVtX21hcHBpbmcoc3RydWN0IGRvbWFpbiAqZCwg dW5zaWduZWQgbG9uZyBnZm4sCiAgKiBwdmggZml4bWU6IFRoZSBmb2xsb3dpbmcgZG9lc24ndCBt YXAgTU1JTyByYW5nZXMgd2hlbiB0aGV5IHNpdCBhYm92ZSB0aGUKICAqICAgICAgICAgICAgaGln aGVzdCBFODIwIGNvdmVyZWQgYWRkcmVzcy4KICAqLwotc3RhdGljIF9faW5pdCB2b2lkIHB2aF9t YXBfYWxsX2lvbWVtKHN0cnVjdCBkb21haW4gKmQpCitzdGF0aWMgX19pbml0IHZvaWQgcHZoX21h cF9hbGxfaW9tZW0oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBucl9wYWdlcykKIHsK ICAgICB1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwgZW5kX3BmbiwgZW5kID0gMCwgc3RhcnQgPSAw OwogICAgIGNvbnN0IHN0cnVjdCBlODIwZW50cnkgKmVudHJ5OwotICAgIHVuc2lnbmVkIGludCBp LCBudW1wOworICAgIHVuc2lnbmVkIGxvbmcgbnVtcCwgbm1hcCwgbmF2YWlsLCBtZm4sIG5yX2hv bGVzID0gMDsKKyAgICB1bnNpZ25lZCBpbnQgaTsKKyAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwYWdl OworICAgIGludCByYzsKIAogICAgIGZvciAoIGkgPSAwLCBlbnRyeSA9IGU4MjAubWFwOyBpIDwg ZTgyMC5ucl9tYXA7IGkrKywgZW50cnkrKyApCiAgICAgewpAQCAtMzUzLDYgKzM2MCw5IEBAIHN0 YXRpYyBfX2luaXQgdm9pZCBwdmhfbWFwX2FsbF9pb21lbShzdHJ1Y3QgZG9tYWluICpkKQogICAg ICAgICAgICAgICAgIG51bXAgPSBlbmRfcGZuIC0gc3RhcnRfcGZuOwogICAgICAgICAgICAgICAg IC8qIEFkZCBwYWdlcyB0byB0aGUgbWFwcGluZyAqLwogICAgICAgICAgICAgICAgIHB2aF9hZGRf bWVtX21hcHBpbmcoZCwgc3RhcnRfcGZuLCBzdGFydF9wZm4sIG51bXApOworICAgICAgICAgICAg ICAgIGlmICggc3RhcnRfcGZuIDwgbnJfcGFnZXMgKQorICAgICAgICAgICAgICAgICAgICBucl9o b2xlcyArPSAoZW5kX3BmbiA8IG5yX3BhZ2VzKSA/CisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBudW1wIDogKG5yX3BhZ2VzIC0gc3RhcnRfcGZuKTsKICAgICAgICAgICAgIH0K ICAgICAgICAgICAgIHN0YXJ0ID0gZW5kOwogICAgICAgICB9CkBAIC0zNjksNiArMzc5LDEwNCBA QCBzdGF0aWMgX19pbml0IHZvaWQgcHZoX21hcF9hbGxfaW9tZW0oc3RydWN0IGRvbWFpbiAqZCkK ICAgICAgICAgbnVtcCA9IGVuZF9wZm4gLSBzdGFydF9wZm47CiAgICAgICAgIHB2aF9hZGRfbWVt X21hcHBpbmcoZCwgc3RhcnRfcGZuLCBzdGFydF9wZm4sIG51bXApOwogICAgIH0KKworICAgIC8q CisgICAgICogQWRkIHRoZSBtZW1vcnkgcmVtb3ZlZCBieSB0aGUgaG9sZXMgYXQgdGhlIGVuZCBv ZiB0aGUKKyAgICAgKiBtZW1vcnkgbWFwLgorICAgICAqLworICAgIHBhZ2UgPSBwYWdlX2xpc3Rf Zmlyc3QoJmQtPnBhZ2VfbGlzdCk7CisgICAgZm9yICggaSA9IDAsIGVudHJ5ID0gZTgyMC5tYXA7 IGkgPCBlODIwLm5yX21hcCAmJiBucl9ob2xlcyA+IDA7CisgICAgICAgICAgaSsrLCBlbnRyeSsr ICkKKyAgICB7CisgICAgICAgIGlmICggZW50cnktPnR5cGUgIT0gRTgyMF9SQU0gKQorICAgICAg ICAgICAgY29udGludWU7CisKKyAgICAgICAgZW5kX3BmbiA9IFBGTl9VUChlbnRyeS0+YWRkciAr IGVudHJ5LT5zaXplKTsKKyAgICAgICAgaWYgKCBlbmRfcGZuIDw9IG5yX3BhZ2VzICkKKyAgICAg ICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIG5hdmFpbCA9IGVuZF9wZm4gLSBucl9wYWdlczsK KyAgICAgICAgbm1hcCA9IG1pbihuYXZhaWwsIG5yX2hvbGVzKTsKKyAgICAgICAgbnJfaG9sZXMg LT0gbm1hcDsKKyAgICAgICAgc3RhcnRfcGZuID0gbWF4X3QodW5zaWduZWQgbG9uZywgbnJfcGFn ZXMsIFBGTl9ET1dOKGVudHJ5LT5hZGRyKSk7CisgICAgICAgIC8qCisgICAgICAgICAqIFBvcHVs YXRlIHRoaXMgbWVtb3J5IHJlZ2lvbiB1c2luZyB0aGUgcGFnZXMKKyAgICAgICAgICogcHJldmlv dXNseSByZW1vdmVkIGJ5IHRoZSBNTUlPIGhvbGVzLgorICAgICAgICAgKi8KKyAgICAgICAgZG8K KyAgICAgICAgeworICAgICAgICAgICAgbWZuID0gcGFnZV90b19tZm4ocGFnZSk7CisgICAgICAg ICAgICBpZiAoIGdldF9ncGZuX2Zyb21fbWZuKG1mbikgIT0gSU5WQUxJRF9NMlBfRU5UUlkgKQor ICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICByYyA9IGd1ZXN0X3BoeXNt YXBfYWRkX3BhZ2UoZCwgc3RhcnRfcGZuLCBtZm4sIDApOworICAgICAgICAgICAgaWYgKCByYyAh PSAwICkKKyAgICAgICAgICAgICAgICBwYW5pYygiVW5hYmxlIHRvIGFkZCBncGZuICUjbHggbWZu ICUjbHggdG8gRG9tMCBwaHlzbWFwOiAlZCIsCisgICAgICAgICAgICAgICAgICAgICAgc3RhcnRf cGZuLCBtZm4sIHJjKTsKKyAgICAgICAgICAgIHN0YXJ0X3BmbisrOworICAgICAgICAgICAgbm1h cC0tOworICAgICAgICAgICAgaWYgKCAhKG5tYXAgJiAweGZmZmZmKSApCisgICAgICAgICAgICAg ICAgcHJvY2Vzc19wZW5kaW5nX3NvZnRpcnFzKCk7CisgICAgICAgIH0gd2hpbGUgKCAoKHBhZ2Ug PSBwYWdlX2xpc3RfbmV4dChwYWdlLCAmZC0+cGFnZV9saXN0KSkgIT0gTlVMTCkKKyAgICAgICAg ICAgICAgICAgICYmIG5tYXAgKTsKKyAgICAgICAgQVNTRVJUKG5tYXAgPT0gMCk7CisgICAgICAg IGlmICggcGFnZSA9PSBOVUxMICkKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIEFT U0VSVChucl9ob2xlcyA9PSAwKTsKK30KKworc3RhdGljIF9faW5pdCB2b2lkIHB2aF9zZXR1cF9l ODIwKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgbnJfcGFnZXMpCit7CisgICAgc3Ry dWN0IGU4MjBlbnRyeSAqZW50cnksICplbnRyeV9ndWVzdDsKKyAgICB1bnNpZ25lZCBpbnQgaTsK KyAgICB1bnNpZ25lZCBsb25nIHBhZ2VzLCBjdXJfcGFnZXMgPSAwOworCisgICAgLyoKKyAgICAg KiBDcmFmdCB0aGUgZTgyMCBtZW1vcnkgbWFwIGZvciBEb20wIGJhc2VkIG9uIHRoZSBoYXJkd2Fy ZSBlODIwIG1hcC4KKyAgICAgKi8KKyAgICBkLT5hcmNoLmU4MjAgPSB4emFsbG9jX2FycmF5KHN0 cnVjdCBlODIwZW50cnksIGU4MjAubnJfbWFwKTsKKyAgICBpZiAoICFkLT5hcmNoLmU4MjAgKQor ICAgICAgICBwYW5pYygiVW5hYmxlIHRvIGFsbG9jYXRlIG1lbW9yeSBmb3IgRG9tMCBlODIwIG1h cCIpOworICAgIGVudHJ5X2d1ZXN0ID0gZC0+YXJjaC5lODIwOworCisgICAgLyogQ2xhbXAgZTgy MCBtZW1vcnkgbWFwIHRvIG1hdGNoIHRoZSBtZW1vcnkgYXNzaWduZWQgdG8gRG9tMCAqLworICAg IGZvciAoIGkgPSAwLCBlbnRyeSA9IGU4MjAubWFwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKywgZW50 cnkrKyApCisgICAgeworICAgICAgICBpZiAoIGVudHJ5LT50eXBlICE9IEU4MjBfUkFNICkKKyAg ICAgICAgeworICAgICAgICAgICAgKmVudHJ5X2d1ZXN0ID0gKmVudHJ5OworICAgICAgICAgICAg Z290byBuZXh0OworICAgICAgICB9CisKKyAgICAgICAgaWYgKCBucl9wYWdlcyA9PSBjdXJfcGFn ZXMgKQorICAgICAgICB7CisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICogV2UgYWxyZWFk eSBoYXZlIGFsbCB0aGUgYXNzaWduZWQgbWVtb3J5LAorICAgICAgICAgICAgICogc2tpcCB0aGlz IGVudHJ5CisgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9 CisKKyAgICAgICAgKmVudHJ5X2d1ZXN0ID0gKmVudHJ5OworICAgICAgICBwYWdlcyA9IFBGTl9V UChlbnRyeV9ndWVzdC0+c2l6ZSk7CisgICAgICAgIGlmICggKGN1cl9wYWdlcyArIHBhZ2VzKSA+ IG5yX3BhZ2VzICkKKyAgICAgICAgeworICAgICAgICAgICAgLyogVHJ1bmNhdGUgcmVnaW9uICov CisgICAgICAgICAgICBlbnRyeV9ndWVzdC0+c2l6ZSA9IChucl9wYWdlcyAtIGN1cl9wYWdlcykg PDwgUEFHRV9TSElGVDsKKyAgICAgICAgICAgIGN1cl9wYWdlcyA9IG5yX3BhZ2VzOworICAgICAg ICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgY3VyX3BhZ2VzICs9IHBh Z2VzOworICAgICAgICB9CisgbmV4dDoKKyAgICAgICAgZC0+YXJjaC5ucl9lODIwKys7CisgICAg ICAgIGVudHJ5X2d1ZXN0Kys7CisgICAgfQorICAgIEFTU0VSVChjdXJfcGFnZXMgPT0gbnJfcGFn ZXMpOworICAgIEFTU0VSVChkLT5hcmNoLm5yX2U4MjAgPD0gZTgyMC5ucl9tYXApOwogfQogCiBz dGF0aWMgX19pbml0IHZvaWQgZG9tMF91cGRhdGVfcGh5c21hcChzdHJ1Y3QgZG9tYWluICpkLCB1 bnNpZ25lZCBsb25nIHBmbiwKQEAgLTEzOTEsNyArMTQ5OSw4IEBAIGludCBfX2luaXQgY29uc3Ry dWN0X2RvbTAoCiAgICAgICAgIHBmbiA9IHNoYXJlZF9pbmZvX3BhZGRyID4+IFBBR0VfU0hJRlQ7 CiAgICAgICAgIGRvbTBfdXBkYXRlX3BoeXNtYXAoZCwgcGZuLCBtZm4sIDApOwogCi0gICAgICAg IHB2aF9tYXBfYWxsX2lvbWVtKGQpOworICAgICAgICBwdmhfbWFwX2FsbF9pb21lbShkLCBucl9w YWdlcyk7CisgICAgICAgIHB2aF9zZXR1cF9lODIwKGQsIG5yX3BhZ2VzKTsKICAgICB9CiAKICAg ICBpZiAoIGQtPmRvbWFpbl9pZCA9PSBoYXJkd2FyZV9kb21pZCApCi0tIAoxLjcuNy41IChBcHBs ZSBHaXQtMjYpCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8v bGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK