From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v3 17/19] mini-os: add support for ballooning up Date: Thu, 11 Aug 2016 11:18:20 +0200 Message-ID: <1470907102-14656-18-git-send-email-jgross@suse.com> References: <1470907102-14656-1-git-send-email-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1470907102-14656-1-git-send-email-jgross@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org Cc: Juergen Gross , samuel.thibault@ens-lyon.org, wei.liu2@citrix.com List-Id: xen-devel@lists.xenproject.org QWRkIHN1cHBvcnQgZm9yIGJhbGxvb25pbmcgdGhlIGRvbWFpbiB1cCBieSBhIHNwZWNpZmllZCBh bW91bnQgb2YKcGFnZXMuIEZvbGxvd2luZyBzdGVwcyBhcmUgcGVyZm9ybWVkOgoKLSBleHRlbmRp bmcgdGhlIHAybSBtYXAKLSBleHRlbmRpbmcgdGhlIHBhZ2UgYWxsb2NhdG9yJ3MgYml0bWFwCi0g Z2V0dGluZyBuZXcgbWVtb3J5IHBhZ2VzIGZyb20gdGhlIGh5cGVydmlzb3IKLSBhZGRpbmcgdGhl IG1lbW9yeSBhdCB0aGUgY3VycmVudCBlbmQgb2YgZ3Vlc3QgbWVtb3J5CgpTaWduZWQtb2ZmLWJ5 OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+ClJldmlld2VkLWJ5OiBTYW11ZWwgVGhp YmF1bHQgPHNhbXVlbC50aGliYXVsdEBlbnMtbHlvbi5vcmc+Ci0tLQpWMzogY2hhbmdlICJpZiIg dG8gIndoaWxlIiBpbiBiYWxsb29uX3VwKCkgYXMgcmVxdWVzdGVkIGJ5IFNhbXVlbCBUaGliYXVs dAotLS0KIGFyY2gvYXJtL2JhbGxvb24uYyB8ICA5ICsrKysrKwogYXJjaC94ODYvYmFsbG9vbi5j IHwgOTQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrCiBiYWxsb29uLmMgICAgICAgICAgfCA2NCArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCiBpbmNsdWRlL2JhbGxvb24uaCAgfCAgNSArKysKIG1tLmMgICAgICAgICAgICAg ICB8ICA0ICsrKwogNSBmaWxlcyBjaGFuZ2VkLCAxNzYgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdp dCBhL2FyY2gvYXJtL2JhbGxvb24uYyBiL2FyY2gvYXJtL2JhbGxvb24uYwppbmRleCA1NDllNTFi Li43ZjM1MzI4IDEwMDY0NAotLS0gYS9hcmNoL2FybS9iYWxsb29uLmMKKysrIGIvYXJjaC9hcm0v YmFsbG9vbi5jCkBAIC0yNyw0ICsyNywxMyBAQAogCiB1bnNpZ25lZCBsb25nIHZpcnRfa2VybmVs X2FyZWFfZW5kOyAgIC8qIFRPRE86IGZpbmQgYSB2aXJ0dWFsIGFyZWEgKi8KIAoraW50IGFyY2hf ZXhwYW5kX3AybSh1bnNpZ25lZCBsb25nIG1heF9wZm4pCit7CisgICAgcmV0dXJuIDA7Cit9CisK K3ZvaWQgYXJjaF9wZm5fYWRkKHVuc2lnbmVkIGxvbmcgcGZuLCB1bnNpZ25lZCBsb25nIG1mbikK K3sKK30KKwogI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9iYWxsb29uLmMgYi9hcmNoL3g4 Ni9iYWxsb29uLmMKaW5kZXggYTdmMjBlNC4uNDIzODllNCAxMDA2NDQKLS0tIGEvYXJjaC94ODYv YmFsbG9vbi5jCisrKyBiL2FyY2gveDg2L2JhbGxvb24uYwpAQCAtMjMsNiArMjMsNyBAQAogCiAj aW5jbHVkZSA8bWluaS1vcy9vcy5oPgogI2luY2x1ZGUgPG1pbmktb3MvYmFsbG9vbi5oPgorI2lu Y2x1ZGUgPG1pbmktb3MvZXJybm8uaD4KICNpbmNsdWRlIDxtaW5pLW9zL2xpYi5oPgogI2luY2x1 ZGUgPG1pbmktb3MvbW0uaD4KIApAQCAtMzAsOSArMzEsMzYgQEAKIAogdW5zaWduZWQgbG9uZyB2 aXJ0X2tlcm5lbF9hcmVhX2VuZCA9IFZJUlRfS0VSTkVMX0FSRUE7CiAKK3N0YXRpYyB2b2lkIHAy bV9pbnZhbGlkYXRlKHVuc2lnbmVkIGxvbmcgKmxpc3QsIHVuc2lnbmVkIGxvbmcgc3RhcnRfaWR4 KQoreworICAgIHVuc2lnbmVkIGxvbmcgaWR4OworCisgICAgZm9yICggaWR4ID0gc3RhcnRfaWR4 OyBpZHggPCBQMk1fRU5UUklFUzsgaWR4KysgKQorICAgICAgICBsaXN0W2lkeF0gPSBJTlZBTElE X1AyTV9FTlRSWTsKK30KKworc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nICpwMm1fbDNsaXN0 KHZvaWQpCit7CisgICAgcmV0dXJuIG1mbl90b192aXJ0KEhZUEVSVklTT1Jfc2hhcmVkX2luZm8t PmFyY2gucGZuX3RvX21mbl9mcmFtZV9saXN0X2xpc3QpOworfQorCitzdGF0aWMgaW5saW5lIHVu c2lnbmVkIGxvbmcgKnAybV90b192aXJ0KHVuc2lnbmVkIGxvbmcgcDJtKQoreworICAgIHJldHVy biAoIHAybSA9PSBJTlZBTElEX1AyTV9FTlRSWSApID8gTlVMTCA6IG1mbl90b192aXJ0KHAybSk7 Cit9CisKIHZvaWQgYXJjaF9yZW1hcF9wMm0odW5zaWduZWQgbG9uZyBtYXhfcGZuKQogewogICAg IHVuc2lnbmVkIGxvbmcgcGZuOworICAgIHVuc2lnbmVkIGxvbmcgKmwzX2xpc3QsICpsMl9saXN0 LCAqbDFfbGlzdDsKKworICAgIGwzX2xpc3QgPSBwMm1fbDNsaXN0KCk7CisgICAgbDJfbGlzdCA9 IHAybV90b192aXJ0KGwzX2xpc3RbTDNfUDJNX0lEWChtYXhfcGZuIC0gMSldKTsKKyAgICBsMV9s aXN0ID0gcDJtX3RvX3ZpcnQobDJfbGlzdFtMMl9QMk1fSURYKG1heF9wZm4gLSAxKV0pOworCisg ICAgcDJtX2ludmFsaWRhdGUobDNfbGlzdCwgTDNfUDJNX0lEWChtYXhfcGZuIC0gMSkgKyAxKTsK KyAgICBwMm1faW52YWxpZGF0ZShsMl9saXN0LCBMMl9QMk1fSURYKG1heF9wZm4gLSAxKSArIDEp OworICAgIHAybV9pbnZhbGlkYXRlKGwxX2xpc3QsIEwxX1AyTV9JRFgobWF4X3BmbiAtIDEpICsg MSk7CiAKICAgICBpZiAoIHAybV9wYWdlcyhucl9tYXhfcGFnZXMpIDw9IHAybV9wYWdlcyhtYXhf cGZuKSApCiAgICAgICAgIHJldHVybjsKQEAgLTUwLDQgKzc4LDcwIEBAIHZvaWQgYXJjaF9yZW1h cF9wMm0odW5zaWduZWQgbG9uZyBtYXhfcGZuKQogICAgIEFTU0VSVCh2aXJ0X2tlcm5lbF9hcmVh X2VuZCA8PSBWSVJUX0RFTUFORF9BUkVBKTsKIH0KIAoraW50IGFyY2hfZXhwYW5kX3AybSh1bnNp Z25lZCBsb25nIG1heF9wZm4pCit7CisgICAgdW5zaWduZWQgbG9uZyBwZm47CisgICAgdW5zaWdu ZWQgbG9uZyAqbDFfbGlzdCwgKmwyX2xpc3QsICpsM19saXN0OworCisgICAgcDJtX2Noa19wZm4o bWF4X3BmbiAtIDEpOworICAgIGwzX2xpc3QgPSBwMm1fbDNsaXN0KCk7CisKKyAgICBmb3IgKCBw Zm4gPSAoSFlQRVJWSVNPUl9zaGFyZWRfaW5mby0+YXJjaC5tYXhfcGZuICsgUDJNX01BU0spICYg flAyTV9NQVNLOworICAgICAgICAgIHBmbiA8IG1heF9wZm47IHBmbiArPSBQMk1fRU5UUklFUyAp CisgICAgeworICAgICAgICBsMl9saXN0ID0gcDJtX3RvX3ZpcnQobDNfbGlzdFtMM19QMk1fSURY KHBmbildKTsKKyAgICAgICAgaWYgKCAhbDJfbGlzdCApCisgICAgICAgIHsKKyAgICAgICAgICAg IGwyX2xpc3QgPSAodW5zaWduZWQgbG9uZyopYWxsb2NfcGFnZSgpOworICAgICAgICAgICAgaWYg KCAhbDJfbGlzdCApCisgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07CisgICAgICAgICAg ICBwMm1faW52YWxpZGF0ZShsMl9saXN0LCAwKTsKKyAgICAgICAgICAgIGwzX2xpc3RbTDNfUDJN X0lEWChwZm4pXSA9IHZpcnRfdG9fbWZuKGwyX2xpc3QpOworICAgICAgICB9CisgICAgICAgIGwx X2xpc3QgPSBwMm1fdG9fdmlydChsMl9saXN0W0wyX1AyTV9JRFgocGZuKV0pOworICAgICAgICBp ZiAoICFsMV9saXN0ICkKKyAgICAgICAgeworICAgICAgICAgICAgbDFfbGlzdCA9ICh1bnNpZ25l ZCBsb25nKilhbGxvY19wYWdlKCk7CisgICAgICAgICAgICBpZiAoICFsMV9saXN0ICkKKyAgICAg ICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKKyAgICAgICAgICAgIHAybV9pbnZhbGlkYXRlKGwx X2xpc3QsIDApOworICAgICAgICAgICAgbDJfbGlzdFtMMl9QMk1fSURYKHBmbildID0gdmlydF90 b19tZm4obDFfbGlzdCk7CisKKyAgICAgICAgICAgIGlmICggbWFwX2ZyYW1lX3J3KCh1bnNpZ25l ZCBsb25nKShwaHlzX3RvX21hY2hpbmVfbWFwcGluZyArIHBmbiksCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBsMl9saXN0W0wyX1AyTV9JRFgocGZuKV0pICkKKyAgICAgICAgICAgICAg ICByZXR1cm4gLUVOT01FTTsKKyAgICAgICAgfQorICAgIH0KKworICAgIEhZUEVSVklTT1Jfc2hh cmVkX2luZm8tPmFyY2gubWF4X3BmbiA9IG1heF9wZm47CisKKyAgICAvKiBNYWtlIHN1cmUgdGhl IG5ldyBsYXN0IHBhZ2UgY2FuIGJlIG1hcHBlZC4gKi8KKyAgICBpZiAoICFuZWVkX3BndCgodW5z aWduZWQgbG9uZylwZm5fdG9fdmlydChtYXhfcGZuIC0gMSkpICkKKyAgICAgICAgcmV0dXJuIC1F Tk9NRU07CisKKyAgICByZXR1cm4gMDsKK30KKwordm9pZCBhcmNoX3Bmbl9hZGQodW5zaWduZWQg bG9uZyBwZm4sIHVuc2lnbmVkIGxvbmcgbWZuKQoreworICAgIG1tdV91cGRhdGVfdCBtbXVfdXBk YXRlc1sxXTsKKyAgICBwZ2VudHJ5X3QgKnBndDsKKyAgICBpbnQgcmM7CisKKyAgICBwaHlzX3Rv X21hY2hpbmVfbWFwcGluZ1twZm5dID0gbWZuOworCisgICAgcGd0ID0gbmVlZF9wZ3QoKHVuc2ln bmVkIGxvbmcpcGZuX3RvX3ZpcnQocGZuKSk7CisgICAgQVNTRVJUKHBndCk7CisgICAgbW11X3Vw ZGF0ZXNbMF0ucHRyID0gdmlydF90b19tYWNoKHBndCkgfCBNTVVfTk9STUFMX1BUX1VQREFURTsK KyAgICBtbXVfdXBkYXRlc1swXS52YWwgPSAocGdlbnRyeV90KShtZm4gPDwgUEFHRV9TSElGVCkg fAorICAgICAgICAgICAgICAgICAgICAgICAgIF9QQUdFX1BSRVNFTlQgfCBfUEFHRV9SVzsKKyAg ICByYyA9IEhZUEVSVklTT1JfbW11X3VwZGF0ZShtbXVfdXBkYXRlcywgMSwgTlVMTCwgRE9NSURf U0VMRik7CisgICAgaWYgKCByYyA8IDAgKQorICAgIHsKKyAgICAgICAgcHJpbnRrKCJFUlJPUjog YnVpbGRfcGFnZXRhYmxlKCk6IFBURSBjb3VsZCBub3QgYmUgdXBkYXRlZFxuIik7CisgICAgICAg IHByaW50aygiICAgICAgIG1tdV91cGRhdGUgZmFpbGVkIHdpdGggcmM9JWRcbiIsIHJjKTsKKyAg ICAgICAgZG9fZXhpdCgpOworICAgIH0KK30KKwogI2VuZGlmCmRpZmYgLS1naXQgYS9iYWxsb29u LmMgYi9iYWxsb29uLmMKaW5kZXggNzhiMzBhZi4uMDdlZjUzMiAxMDA2NDQKLS0tIGEvYmFsbG9v bi5jCisrKyBiL2JhbGxvb24uYwpAQCAtMjMsMTEgKzIzLDEzIEBACiAKICNpbmNsdWRlIDxtaW5p LW9zL29zLmg+CiAjaW5jbHVkZSA8bWluaS1vcy9iYWxsb29uLmg+CisjaW5jbHVkZSA8bWluaS1v cy9lcnJuby5oPgogI2luY2x1ZGUgPG1pbmktb3MvbGliLmg+CiAjaW5jbHVkZSA8eGVuL3hlbi5o PgogI2luY2x1ZGUgPHhlbi9tZW1vcnkuaD4KIAogdW5zaWduZWQgbG9uZyBucl9tYXhfcGFnZXM7 Cit1bnNpZ25lZCBsb25nIG5yX21lbV9wYWdlczsKIAogdm9pZCBnZXRfbWF4X3BhZ2VzKHZvaWQp CiB7CkBAIC02MiwzICs2NCw2NSBAQCB2b2lkIG1tX2FsbG9jX2JpdG1hcF9yZW1hcCh2b2lkKQog ICAgIHZpcnRfa2VybmVsX2FyZWFfZW5kICs9IHJvdW5kX3BndXAoKG5yX21heF9wYWdlcyArIDEp ID4+IChQQUdFX1NISUZUICsgMykpOwogICAgIEFTU0VSVCh2aXJ0X2tlcm5lbF9hcmVhX2VuZCA8 PSBWSVJUX0RFTUFORF9BUkVBKTsKIH0KKworI2RlZmluZSBOX0JBTExPT05fRlJBTUVTIDY0Citz dGF0aWMgdW5zaWduZWQgbG9uZyBiYWxsb29uX2ZyYW1lc1tOX0JBTExPT05fRlJBTUVTXTsKKwor aW50IGJhbGxvb25fdXAodW5zaWduZWQgbG9uZyBuX3BhZ2VzKQoreworICAgIHVuc2lnbmVkIGxv bmcgcGFnZSwgcGZuOworICAgIGludCByYzsKKyAgICBzdHJ1Y3QgeGVuX21lbW9yeV9yZXNlcnZh dGlvbiByZXNlcnZhdGlvbiA9IHsKKyAgICAgICAgLmFkZHJlc3NfYml0cyA9IDAsCisgICAgICAg IC5leHRlbnRfb3JkZXIgPSAwLAorICAgICAgICAuZG9taWQgICAgICAgID0gRE9NSURfU0VMRgor ICAgIH07CisKKyAgICBpZiAoIG5fcGFnZXMgPiBucl9tYXhfcGFnZXMgLSBucl9tZW1fcGFnZXMg KQorICAgICAgICBuX3BhZ2VzID0gbnJfbWF4X3BhZ2VzIC0gbnJfbWVtX3BhZ2VzOworICAgIGlm ICggbl9wYWdlcyA+IE5fQkFMTE9PTl9GUkFNRVMgKQorICAgICAgICBuX3BhZ2VzID0gTl9CQUxM T09OX0ZSQU1FUzsKKworICAgIC8qIFJlc2l6ZSBhbGxvY19iaXRtYXAgaWYgbmVjZXNzYXJ5LiAq LworICAgIHdoaWxlICggbW1fYml0bWFwX3NpemUgKiA4IDwgbnJfbWVtX3BhZ2VzICsgbl9wYWdl cyApCisgICAgeworICAgICAgICBwYWdlID0gYWxsb2NfcGFnZSgpOworICAgICAgICBpZiAoICFw YWdlICkKKyAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOworCisgICAgICAgIG1lbXNldCgodm9p ZCAqKXBhZ2UsIH4wLCBQQUdFX1NJWkUpOworICAgICAgICBpZiAoIG1hcF9mcmFtZV9ydygodW5z aWduZWQgbG9uZyltbV9iaXRtYXAgKyBtbV9iaXRtYXBfc2l6ZSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgdmlydF90b19tZm4ocGFnZSkpICkKKyAgICAgICAgeworICAgICAgICAgICAgZnJl ZV9wYWdlKCh2b2lkICopcGFnZSk7CisgICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKKyAgICAg ICAgfQorCisgICAgICAgIG1tX2JpdG1hcF9zaXplICs9IFBBR0VfU0laRTsKKyAgICB9CisKKyAg ICByYyA9IGFyY2hfZXhwYW5kX3AybShucl9tZW1fcGFnZXMgKyBuX3BhZ2VzKTsKKyAgICBpZiAo IHJjICkKKyAgICAgICAgcmV0dXJuIHJjOworCisgICAgLyogR2V0IG5ldyBtZW1vcnkgZnJvbSBo eXBlcnZpc29yLiAqLworICAgIGZvciAoIHBmbiA9IDA7IHBmbiA8IG5fcGFnZXM7IHBmbisrICkK KyAgICB7CisgICAgICAgIGJhbGxvb25fZnJhbWVzW3Bmbl0gPSBucl9tZW1fcGFnZXMgKyBwZm47 CisgICAgfQorICAgIHNldF94ZW5fZ3Vlc3RfaGFuZGxlKHJlc2VydmF0aW9uLmV4dGVudF9zdGFy dCwgYmFsbG9vbl9mcmFtZXMpOworICAgIHJlc2VydmF0aW9uLm5yX2V4dGVudHMgPSBuX3BhZ2Vz OworICAgIHJjID0gSFlQRVJWSVNPUl9tZW1vcnlfb3AoWEVOTUVNX3BvcHVsYXRlX3BoeXNtYXAs ICZyZXNlcnZhdGlvbik7CisgICAgaWYgKCByYyA8PSAwICkKKyAgICAgICAgcmV0dXJuIHJjOwor CisgICAgZm9yICggcGZuID0gMDsgcGZuIDwgcmM7IHBmbisrICkKKyAgICB7CisgICAgICAgIGFy Y2hfcGZuX2FkZChucl9tZW1fcGFnZXMgKyBwZm4sIGJhbGxvb25fZnJhbWVzW3Bmbl0pOworICAg ICAgICBmcmVlX3BhZ2UocGZuX3RvX3ZpcnQobnJfbWVtX3BhZ2VzICsgcGZuKSk7CisgICAgfQor CisgICAgbnJfbWVtX3BhZ2VzICs9IHJjOworCisgICAgcmV0dXJuIHJjOworfQpkaWZmIC0tZ2l0 IGEvaW5jbHVkZS9iYWxsb29uLmggYi9pbmNsdWRlL2JhbGxvb24uaAppbmRleCA5MTU0ZjQ0Li41 ZWMxYmJiIDEwMDY0NAotLS0gYS9pbmNsdWRlL2JhbGxvb24uaAorKysgYi9pbmNsdWRlL2JhbGxv b24uaApAQCAtMjgsMTAgKzI4LDE1IEBACiAKIGV4dGVybiB1bnNpZ25lZCBsb25nIG5yX21heF9w YWdlczsKIGV4dGVybiB1bnNpZ25lZCBsb25nIHZpcnRfa2VybmVsX2FyZWFfZW5kOworZXh0ZXJu IHVuc2lnbmVkIGxvbmcgbnJfbWVtX3BhZ2VzOwogCiB2b2lkIGdldF9tYXhfcGFnZXModm9pZCk7 CitpbnQgYmFsbG9vbl91cCh1bnNpZ25lZCBsb25nIG5fcGFnZXMpOworCiB2b2lkIGFyY2hfcmVt YXBfcDJtKHVuc2lnbmVkIGxvbmcgbWF4X3Bmbik7CiB2b2lkIG1tX2FsbG9jX2JpdG1hcF9yZW1h cCh2b2lkKTsKK2ludCBhcmNoX2V4cGFuZF9wMm0odW5zaWduZWQgbG9uZyBtYXhfcGZuKTsKK3Zv aWQgYXJjaF9wZm5fYWRkKHVuc2lnbmVkIGxvbmcgcGZuLCB1bnNpZ25lZCBsb25nIG1mbik7CiAK ICNlbHNlIC8qIENPTkZJR19CQUxMT09OICovCiAKZGlmZiAtLWdpdCBhL21tLmMgYi9tbS5jCmlu ZGV4IGUyZjU1YWYuLjUzNjQwNzkgMTAwNjQ0Ci0tLSBhL21tLmMKKysrIGIvbW0uYwpAQCAtMzgy LDYgKzM4MiwxMCBAQCB2b2lkIGluaXRfbW0odm9pZCkKICAgICBhcmNoX2luaXRfcDJtKG1heF9w Zm4pOwogICAgIAogICAgIGFyY2hfaW5pdF9kZW1hbmRfbWFwcGluZ19hcmVhKCk7CisKKyNpZmRl ZiBDT05GSUdfQkFMTE9PTgorICAgIG5yX21lbV9wYWdlcyA9IG1heF9wZm47CisjZW5kaWYKIH0K IAogdm9pZCBmaW5pX21tKHZvaWQpCi0tIAoyLjYuNgoKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVs QGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=