From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751605AbdIOXAp (ORCPT ); Fri, 15 Sep 2017 19:00:45 -0400 Received: from mail.kernel.org ([198.145.29.99]:37016 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751164AbdIOXAn (ORCPT ); Fri, 15 Sep 2017 19:00:43 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E33E621EAD Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=sstabellini@kernel.org From: Stefano Stabellini To: xen-devel@lists.xen.org Cc: linux-kernel@vger.kernel.org, sstabellini@kernel.org, jgross@suse.com, boris.ostrovsky@oracle.com, Stefano Stabellini Subject: [PATCH v4 01/13] xen/pvcalls: introduce the pvcalls xenbus frontend Date: Fri, 15 Sep 2017 16:00:28 -0700 Message-Id: <1505516440-11111-1-git-send-email-sstabellini@kernel.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: References: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Introduce a xenbus frontend for the pvcalls protocol, as defined by https://xenbits.xen.org/docs/unstable/misc/pvcalls.html. This patch only adds the stubs, the code will be added by the following patches. Signed-off-by: Stefano Stabellini Reviewed-by: Boris Ostrovsky CC: boris.ostrovsky@oracle.com CC: jgross@suse.com --- drivers/xen/pvcalls-front.c | 61 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 drivers/xen/pvcalls-front.c diff --git a/drivers/xen/pvcalls-front.c b/drivers/xen/pvcalls-front.c new file mode 100644 index 0000000..a8d38c2 --- /dev/null +++ b/drivers/xen/pvcalls-front.c @@ -0,0 +1,61 @@ +/* + * (c) 2017 Stefano Stabellini + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include + +#include +#include +#include +#include +#include + +static const struct xenbus_device_id pvcalls_front_ids[] = { + { "pvcalls" }, + { "" } +}; + +static int pvcalls_front_remove(struct xenbus_device *dev) +{ + return 0; +} + +static int pvcalls_front_probe(struct xenbus_device *dev, + const struct xenbus_device_id *id) +{ + return 0; +} + +static void pvcalls_front_changed(struct xenbus_device *dev, + enum xenbus_state backend_state) +{ +} + +static struct xenbus_driver pvcalls_front_driver = { + .ids = pvcalls_front_ids, + .probe = pvcalls_front_probe, + .remove = pvcalls_front_remove, + .otherend_changed = pvcalls_front_changed, +}; + +static int __init pvcalls_frontend_init(void) +{ + if (!xen_domain()) + return -ENODEV; + + pr_info("Initialising Xen pvcalls frontend driver\n"); + + return xenbus_register_frontend(&pvcalls_front_driver); +} + +module_init(pvcalls_frontend_init); -- 1.9.1 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v4 01/13] xen/pvcalls: introduce the pvcalls xenbus frontend Date: Fri, 15 Sep 2017 16:00:28 -0700 Message-ID: <1505516440-11111-1-git-send-email-sstabellini@kernel.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: jgross@suse.com, Stefano Stabellini , boris.ostrovsky@oracle.com, sstabellini@kernel.org, linux-kernel@vger.kernel.org List-Id: xen-devel@lists.xenproject.org SW50cm9kdWNlIGEgeGVuYnVzIGZyb250ZW5kIGZvciB0aGUgcHZjYWxscyBwcm90b2NvbCwgYXMg ZGVmaW5lZCBieQpodHRwczovL3hlbmJpdHMueGVuLm9yZy9kb2NzL3Vuc3RhYmxlL21pc2MvcHZj YWxscy5odG1sLgoKVGhpcyBwYXRjaCBvbmx5IGFkZHMgdGhlIHN0dWJzLCB0aGUgY29kZSB3aWxs IGJlIGFkZGVkIGJ5IHRoZSBmb2xsb3dpbmcKcGF0Y2hlcy4KClNpZ25lZC1vZmYtYnk6IFN0ZWZh bm8gU3RhYmVsbGluaSA8c3RlZmFub0BhcG9yZXRvLmNvbT4KUmV2aWV3ZWQtYnk6IEJvcmlzIE9z dHJvdnNreSA8Ym9yaXMub3N0cm92c2t5QG9yYWNsZS5jb20+CkNDOiBib3Jpcy5vc3Ryb3Zza3lA b3JhY2xlLmNvbQpDQzogamdyb3NzQHN1c2UuY29tCi0tLQogZHJpdmVycy94ZW4vcHZjYWxscy1m cm9udC5jIHwgNjEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr CiAxIGZpbGUgY2hhbmdlZCwgNjEgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRy aXZlcnMveGVuL3B2Y2FsbHMtZnJvbnQuYwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL3B2Y2Fs bHMtZnJvbnQuYyBiL2RyaXZlcnMveGVuL3B2Y2FsbHMtZnJvbnQuYwpuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwLi5hOGQzOGMyCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy94 ZW4vcHZjYWxscy1mcm9udC5jCkBAIC0wLDAgKzEsNjEgQEAKKy8qCisgKiAoYykgMjAxNyBTdGVm YW5vIFN0YWJlbGxpbmkgPHN0ZWZhbm9AYXBvcmV0by5jb20+CisgKgorICogVGhpcyBwcm9ncmFt IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkK KyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug YXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIg dmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0 ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICovCisKKyNpbmNsdWRlIDxs aW51eC9tb2R1bGUuaD4KKworI2luY2x1ZGUgPHhlbi9ldmVudHMuaD4KKyNpbmNsdWRlIDx4ZW4v Z3JhbnRfdGFibGUuaD4KKyNpbmNsdWRlIDx4ZW4veGVuLmg+CisjaW5jbHVkZSA8eGVuL3hlbmJ1 cy5oPgorI2luY2x1ZGUgPHhlbi9pbnRlcmZhY2UvaW8vcHZjYWxscy5oPgorCitzdGF0aWMgY29u c3Qgc3RydWN0IHhlbmJ1c19kZXZpY2VfaWQgcHZjYWxsc19mcm9udF9pZHNbXSA9IHsKKwl7ICJw dmNhbGxzIiB9LAorCXsgIiIgfQorfTsKKworc3RhdGljIGludCBwdmNhbGxzX2Zyb250X3JlbW92 ZShzdHJ1Y3QgeGVuYnVzX2RldmljZSAqZGV2KQoreworCXJldHVybiAwOworfQorCitzdGF0aWMg aW50IHB2Y2FsbHNfZnJvbnRfcHJvYmUoc3RydWN0IHhlbmJ1c19kZXZpY2UgKmRldiwKKwkJCSAg Y29uc3Qgc3RydWN0IHhlbmJ1c19kZXZpY2VfaWQgKmlkKQoreworCXJldHVybiAwOworfQorCitz dGF0aWMgdm9pZCBwdmNhbGxzX2Zyb250X2NoYW5nZWQoc3RydWN0IHhlbmJ1c19kZXZpY2UgKmRl diwKKwkJCSAgICBlbnVtIHhlbmJ1c19zdGF0ZSBiYWNrZW5kX3N0YXRlKQoreworfQorCitzdGF0 aWMgc3RydWN0IHhlbmJ1c19kcml2ZXIgcHZjYWxsc19mcm9udF9kcml2ZXIgPSB7CisJLmlkcyA9 IHB2Y2FsbHNfZnJvbnRfaWRzLAorCS5wcm9iZSA9IHB2Y2FsbHNfZnJvbnRfcHJvYmUsCisJLnJl bW92ZSA9IHB2Y2FsbHNfZnJvbnRfcmVtb3ZlLAorCS5vdGhlcmVuZF9jaGFuZ2VkID0gcHZjYWxs c19mcm9udF9jaGFuZ2VkLAorfTsKKworc3RhdGljIGludCBfX2luaXQgcHZjYWxsc19mcm9udGVu ZF9pbml0KHZvaWQpCit7CisJaWYgKCF4ZW5fZG9tYWluKCkpCisJCXJldHVybiAtRU5PREVWOwor CisJcHJfaW5mbygiSW5pdGlhbGlzaW5nIFhlbiBwdmNhbGxzIGZyb250ZW5kIGRyaXZlclxuIik7 CisKKwlyZXR1cm4geGVuYnVzX3JlZ2lzdGVyX2Zyb250ZW5kKCZwdmNhbGxzX2Zyb250X2RyaXZl cik7Cit9CisKK21vZHVsZV9pbml0KHB2Y2FsbHNfZnJvbnRlbmRfaW5pdCk7Ci0tIAoxLjkuMQoK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZl bCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4u b3JnL3hlbi1kZXZlbAo=