From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joao Martins Subject: [PATCH RFC 19/39] xen/xenbus: xenbus uninit support Date: Wed, 20 Feb 2019 20:15:49 +0000 Message-ID: <20190220201609.28290-20-joao.m.martins__12607.847775665$1550693934$gmane$org@oracle.com> References: <20190220201609.28290-1-joao.m.martins@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gwYJg-0005uv-5b for xen-devel@lists.xenproject.org; Wed, 20 Feb 2019 20:18:04 +0000 In-Reply-To: <20190220201609.28290-1-joao.m.martins@oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: kvm@vger.kernel.org, linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org Cc: Juergen Gross , Stefano Stabellini , =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= , Ankur Arora , Paolo Bonzini , Boris Ostrovsky , Joao Martins List-Id: xen-devel@lists.xenproject.org VGhpcyBhbGxvd3MgcmVpbml0aWFsaXphdGlvbiBvZiB4ZW5idXMgd2hpY2ggaXMgdXNlZnVsIGZv cgp4ZW5fc2hpbV9kb21haW4oKSBzdXBwb3J0LiBDbGVhbmluZyB4ZW5idXMgc3RhdGUgbWVhbnMg Y2FuY2VsbGluZwpwZW5kaW5nIHdhdGNoIGV2ZW50cywgYW5kIGRlbGV0aW5nIGFsbCB3YXRjaGVz LCBjbG9zaW5nIHhlbnN0b3JlIGV2ZW50CmNoYW5uZWwgYW5kIGZpbmFsbHkgc3RvcHBpbmcgeGVu YnVzL3hlbndhdGNoIGt0aHJlYWRzIGFsb25nc2lkZQp1bnJlZ2lzdGVyaW5nIC9wcm9jL3hlbi4K ClNpZ25lZC1vZmYtYnk6IEpvYW8gTWFydGlucyA8am9hby5tLm1hcnRpbnNAb3JhY2xlLmNvbT4K LS0tCiBkcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzLmggICAgICAgIHwgIDIgKysKIGRyaXZlcnMv eGVuL3hlbmJ1cy94ZW5idXNfY2xpZW50LmMgfCAgNSArKysrCiBkcml2ZXJzL3hlbi94ZW5idXMv eGVuYnVzX3Byb2JlLmMgIHwgNTEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst LS0KIGRyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfeHMuYyAgICAgfCAzOCArKysrKysrKysrKysr KysrKysrKysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDkzIGluc2VydGlvbnMoKyksIDMgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1cy5oIGIvZHJp dmVycy94ZW4veGVuYnVzL3hlbmJ1cy5oCmluZGV4IDA5Mjk4MTE3MWRmMS4uZTBlNTg2ZDgxZDQ4 IDEwMDY0NAotLS0gYS9kcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzLmgKKysrIGIvZHJpdmVycy94 ZW4veGVuYnVzL3hlbmJ1cy5oCkBAIC05Niw2ICs5Niw3IEBAIGV4dGVybiB3YWl0X3F1ZXVlX2hl YWRfdCB4Yl93YWl0cTsKIGV4dGVybiBzdHJ1Y3QgbXV0ZXggeGJfd3JpdGVfbXV0ZXg7CiAKIGlu dCB4c19pbml0KHZvaWQpOwordm9pZCB4c19kZWluaXQodm9pZCk7CiBpbnQgeGJfaW5pdF9jb21t cyh2b2lkKTsKIHZvaWQgeGJfZGVpbml0X2NvbW1zKHZvaWQpOwogaW50IHhzX3dhdGNoX21zZyhz dHJ1Y3QgeHNfd2F0Y2hfZXZlbnQgKmV2ZW50KTsKQEAgLTEyOSw2ICsxMzAsNyBAQCBpbnQgeGVu YnVzX3JlYWRfb3RoZXJlbmRfZGV0YWlscyhzdHJ1Y3QgeGVuYnVzX2RldmljZSAqeGVuZGV2LAog CQkJCSBjaGFyICppZF9ub2RlLCBjaGFyICpwYXRoX25vZGUpOwogCiB2b2lkIHhlbmJ1c19yaW5n X29wc19pbml0KHZvaWQpOwordm9pZCB4ZW5idXNfcmluZ19vcHNfZGVpbml0KHZvaWQpOwogCiBp bnQgeGVuYnVzX2Rldl9yZXF1ZXN0X2FuZF9yZXBseShzdHJ1Y3QgeHNkX3NvY2ttc2cgKm1zZywg dm9pZCAqcGFyKTsKIHZvaWQgeGVuYnVzX2Rldl9xdWV1ZV9yZXBseShzdHJ1Y3QgeGJfcmVxX2Rh dGEgKnJlcSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzX2NsaWVudC5j IGIvZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1c19jbGllbnQuYwppbmRleCBlMTdjYTgxNTYxNzEu LmFkYTFjOWFhNjUyNSAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1c19jbGll bnQuYworKysgYi9kcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzX2NsaWVudC5jCkBAIC05MzUsMyAr OTM1LDggQEAgdm9pZCBfX2luaXQgeGVuYnVzX3Jpbmdfb3BzX2luaXQodm9pZCkKICNlbmRpZgog CQlyaW5nX29wcyA9ICZyaW5nX29wc19odm07CiB9CisKK3ZvaWQgeGVuYnVzX3Jpbmdfb3BzX2Rl aW5pdCh2b2lkKQoreworCXJpbmdfb3BzID0gTlVMTDsKK30KZGlmZiAtLWdpdCBhL2RyaXZlcnMv eGVuL3hlbmJ1cy94ZW5idXNfcHJvYmUuYyBiL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfcHJv YmUuYwppbmRleCA1YjQ3MTg4OWQ3MjMuLjJlMGVkNDZiMDVlNyAxMDA2NDQKLS0tIGEvZHJpdmVy cy94ZW4veGVuYnVzL3hlbmJ1c19wcm9iZS5jCisrKyBiL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5i dXNfcHJvYmUuYwpAQCAtNzQxLDYgKzc0MSwyMSBAQCBzdGF0aWMgaW50IF9faW5pdCB4ZW5zdG9y ZWRfbG9jYWxfaW5pdCh2b2lkKQogCXJldHVybiBlcnI7CiB9CiAKK3N0YXRpYyB2b2lkIHhlbnN0 b3JlZF9sb2NhbF9kZWluaXQodm9pZCkKK3sKKwlzdHJ1Y3QgZXZ0Y2huX2Nsb3NlIGNsb3NlOwor CXZvaWQgKnBhZ2UgPSBOVUxMOworCisJcGFnZSA9IGdmbl90b192aXJ0KHhlbl9zdG9yZV9nZm4p OworCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylwYWdlKTsKKworCWNsb3NlLnBvcnQgPSB4ZW5f c3RvcmVfZXZ0Y2huOworCisJSFlQRVJWSVNPUl9ldmVudF9jaGFubmVsX29wKEVWVENITk9QX2Ns b3NlLCAmY2xvc2UpOworCisJeGVuX3N0b3JlX2V2dGNobiA9IDA7Cit9CisKIHN0YXRpYyBpbnQg eGVuYnVzX3Jlc3VtZV9jYihzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iLAogCQkJICAgIHVuc2ln bmVkIGxvbmcgYWN0aW9uLCB2b2lkICpkYXRhKQogewpAQCAtNzY1LDcgKzc4MCwxMSBAQCBzdGF0 aWMgc3RydWN0IG5vdGlmaWVyX2Jsb2NrIHhlbmJ1c19yZXN1bWVfbmIgPSB7CiAJLm5vdGlmaWVy X2NhbGwgPSB4ZW5idXNfcmVzdW1lX2NiLAogfTsKIAotc3RhdGljIGludCBfX2luaXQgeGVuYnVz X2luaXQodm9pZCkKKyNpZmRlZiBDT05GSUdfWEVOX0NPTVBBVF9YRU5GUworc3RydWN0IHByb2Nf ZGlyX2VudHJ5ICp4ZW5fcHJvY2ZzOworI2VuZGlmCisKK2ludCB4ZW5idXNfaW5pdCh2b2lkKQog ewogCWludCBlcnIgPSAwOwogCXVpbnQ2NF90IHYgPSAwOwpAQCAtODMzLDEzICs4NTIsMzkgQEAg c3RhdGljIGludCBfX2luaXQgeGVuYnVzX2luaXQodm9pZCkKIAkgKiBDcmVhdGUgeGVuZnMgbW91 bnRwb2ludCBpbiAvcHJvYyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoCiAJICogdXRpbGl0aWVzIHRo YXQgZXhwZWN0IHRvIGZpbmQgInhlbmJ1cyIgdW5kZXIgIi9wcm9jL3hlbiIuCiAJICovCi0JcHJv Y19jcmVhdGVfbW91bnRfcG9pbnQoInhlbiIpOworCXhlbl9wcm9jZnMgPSBwcm9jX2NyZWF0ZV9t b3VudF9wb2ludCgieGVuIik7CiAjZW5kaWYKIAogb3V0X2Vycm9yOgogCXJldHVybiBlcnI7CiB9 Ci0KK0VYUE9SVF9TWU1CT0xfR1BMKHhlbmJ1c19pbml0KTsKIHBvc3Rjb3JlX2luaXRjYWxsKHhl bmJ1c19pbml0KTsKIAordm9pZCB4ZW5idXNfZGVpbml0KHZvaWQpCit7CisJaWYgKCF4ZW5fZG9t YWluKCkpCisJCXJldHVybjsKKworI2lmZGVmIENPTkZJR19YRU5fQ09NUEFUX1hFTkZTCisJcHJv Y19yZW1vdmUoeGVuX3Byb2Nmcyk7CisJeGVuX3Byb2NmcyA9IE5VTEw7CisjZW5kaWYKKworCXhz X2RlaW5pdCgpOworCXhlbnN0b3JlZF9yZWFkeSA9IDA7CisKKwlzd2l0Y2ggKHhlbl9zdG9yZV9k b21haW5fdHlwZSkgeworCWNhc2UgWFNfTE9DQUw6CisJCXhlbnN0b3JlZF9sb2NhbF9kZWluaXQo KTsKKwkJeGVuX3N0b3JlX2ludGVyZmFjZSA9IE5VTEw7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJ CXByX3dhcm4oIlhlbnN0b3JlIHN0YXRlIHVua25vd25cbiIpOworCQlicmVhazsKKwl9CisJeGVu YnVzX3Jpbmdfb3BzX2RlaW5pdCgpOworfQorRVhQT1JUX1NZTUJPTF9HUEwoeGVuYnVzX2RlaW5p dCk7CisKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL3hl bmJ1cy94ZW5idXNfeHMuYyBiL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfeHMuYwppbmRleCA0 OWEzODc0YWU2YmIuLmJkNmRiMzcwMzk3MiAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4veGVuYnVz L3hlbmJ1c194cy5jCisrKyBiL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfeHMuYwpAQCAtODY2 LDYgKzg2Niw3IEBAIHN0YXRpYyBpbnQgeGVud2F0Y2hfdGhyZWFkKHZvaWQgKnVudXNlZCkKIAog CWZvciAoOzspIHsKIAkJd2FpdF9ldmVudF9pbnRlcnJ1cHRpYmxlKHdhdGNoX2V2ZW50c193YWl0 cSwKKwkJCQkJIGt0aHJlYWRfc2hvdWxkX3N0b3AoKSB8fAogCQkJCQkgIWxpc3RfZW1wdHkoJndh dGNoX2V2ZW50cykpOwogCiAJCWlmIChrdGhyZWFkX3Nob3VsZF9zdG9wKCkpCkBAIC05MTcsNiAr OTE4LDggQEAgc3RhdGljIHN0cnVjdCBub3RpZmllcl9ibG9jayB4c19yZWJvb3RfbmIgPSB7CiAJ Lm5vdGlmaWVyX2NhbGwgPSB4c19yZWJvb3Rfbm90aWZ5LAogfTsKIAorc3RhdGljIHN0cnVjdCB0 YXNrX3N0cnVjdCAqeGVud2F0Y2hfdGFzazsKKwogaW50IHhzX2luaXQodm9pZCkKIHsKIAlpbnQg ZXJyOwpAQCAtOTMyLDkgKzkzNSw0NCBAQCBpbnQgeHNfaW5pdCh2b2lkKQogCXRhc2sgPSBrdGhy ZWFkX3J1bih4ZW53YXRjaF90aHJlYWQsIE5VTEwsICJ4ZW53YXRjaCIpOwogCWlmIChJU19FUlIo dGFzaykpCiAJCXJldHVybiBQVFJfRVJSKHRhc2spOworCXhlbndhdGNoX3Rhc2sgPSB0YXNrOwog CiAJLyogc2h1dGRvd24gd2F0Y2hlcyBmb3Iga2V4ZWMgYm9vdCAqLwogCXhzX3Jlc2V0X3dhdGNo ZXMoKTsKIAogCXJldHVybiAwOwogfQorCit2b2lkIGNhbmNlbF93YXRjaGVzKHZvaWQpCit7CisJ c3RydWN0IHhzX3dhdGNoX2V2ZW50ICpldmVudCwgKnRtcDsKKworCS8qIENhbmNlbCBwZW5kaW5n IHdhdGNoIGV2ZW50cy4gKi8KKwlzcGluX2xvY2soJndhdGNoX2V2ZW50c19sb2NrKTsKKwlsaXN0 X2Zvcl9lYWNoX2VudHJ5X3NhZmUoZXZlbnQsIHRtcCwgJndhdGNoX2V2ZW50cywgbGlzdCkgewor CQlsaXN0X2RlbCgmZXZlbnQtPmxpc3QpOworCQlrZnJlZShldmVudCk7CisJfQorCXNwaW5fdW5s b2NrKCZ3YXRjaF9ldmVudHNfbG9jayk7Cit9CisKK3ZvaWQgZGVsZXRlX3dhdGNoZXModm9pZCkK K3sKKwlzdHJ1Y3QgeGVuYnVzX3dhdGNoICp3YXRjaCwgKnRtcDsKKworCXNwaW5fbG9jaygmd2F0 Y2hlc19sb2NrKTsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUod2F0Y2gsIHRtcCwgJndhdGNo ZXMsIGxpc3QpIHsKKwkJbGlzdF9kZWwoJndhdGNoLT5saXN0KTsKKwl9CisJc3Bpbl91bmxvY2so JndhdGNoZXNfbG9jayk7Cit9CisKK3ZvaWQgeHNfZGVpbml0KHZvaWQpCit7CisJa3RocmVhZF9z dG9wKHhlbndhdGNoX3Rhc2spOworCXhlbndhdGNoX3Rhc2sgPSBOVUxMOworCXhiX2RlaW5pdF9j b21tcygpOworCXVucmVnaXN0ZXJfcmVib290X25vdGlmaWVyKCZ4c19yZWJvb3RfbmIpOworCWNh bmNlbF93YXRjaGVzKCk7CisJZGVsZXRlX3dhdGNoZXMoKTsKK30KLS0gCjIuMTEuMAoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVu cHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=