From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH v1 07/12] libxl: remove the Qemu bodge for driver domain devices Date: Wed, 2 Oct 2013 11:24:29 +0200 Message-ID: <1380705874-58491-8-git-send-email-roger.pau@citrix.com> References: <1380705874-58491-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.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1VRIfk-0008CD-PG for xen-devel@lists.xenproject.org; Wed, 02 Oct 2013 09:24:45 +0000 In-Reply-To: <1380705874-58491-1-git-send-email-roger.pau@citrix.com> 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: Ian Jackson , Ian Campbell , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org V2hlbiBRZW11IGlzIGxhdW5jaGVkIGZyb20gYSBkcml2ZXIgZG9tYWluIHRvIGFjdCBhcyBhIFBW IGRpc2sKYmFja2VuZCB3ZSBjYW4gbWFrZSBzdXJlIHRoYXQgUWVtdSBpcyBydW5uaW5nIGJlZm9y ZSBkZXRhY2hpbmcKZGV2aWNlcywgc28gdGhlcmUncyBubyBuZWVkIGZvciB0aGUgYm9kZ2UgdGhl cmUuCgpTaWduZWQtb2ZmLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNv bT4KQ2M6IElhbiBKYWNrc29uIDxJYW4uSmFja3NvbkBldS5jaXRyaXguY29tPgpDYzogSWFuIENh bXBiZWxsIDxpYW4uY2FtcGJlbGxAY2l0cml4LmNvbT4KLS0tCiB0b29scy9saWJ4bC9saWJ4bF9k ZXZpY2UuYyB8ICAgNzEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0t LQogMSBmaWxlcyBjaGFuZ2VkLCA1MyBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9kZXZpY2UuYyBiL3Rvb2xzL2xpYnhsL2xpYnhs X2RldmljZS5jCmluZGV4IGZiYWIwZDUuLjA0MDRmOGQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhs L2xpYnhsX2RldmljZS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RldmljZS5jCkBAIC03ODAs MzAgKzc4MCwzOCBAQCB2b2lkIGxpYnhsX19pbml0aWF0ZV9kZXZpY2VfcmVtb3ZlKGxpYnhsX19l Z2MgKmVnYywKICAgICBjaGFyICpvbmxpbmVfcGF0aCA9IEdDU1BSSU5URigiJXMvb25saW5lIiwg YmVfcGF0aCk7CiAgICAgY29uc3QgY2hhciAqc3RhdGU7CiAgICAgbGlieGxfZG9taW5mbyBpbmZv OwotICAgIHVpbnQzMl90IGRvbWlkID0gYW9kZXYtPmRldi0+ZG9taWQ7CisgICAgdWludDMyX3Qg bXlfZG9taWQsIGRvbWlkID0gYW9kZXYtPmRldi0+ZG9taWQ7CiAgICAgaW50IHJjID0gMDsKIAot ICAgIGxpYnhsX2RvbWluZm9faW5pdCgmaW5mbyk7Ci0gICAgcmMgPSBsaWJ4bF9kb21haW5faW5m byhDVFgsICZpbmZvLCBkb21pZCk7CisgICAgcmMgPSBsaWJ4bF9fZ2V0X2RvbWlkKGdjLCAmbXlf ZG9taWQpOwogICAgIGlmIChyYykgewotICAgICAgICBMT0coRVJST1IsICJ1bmFibGUgdG8gZ2V0 IGluZm8gZm9yIGRvbWFpbiAlZCIsIGRvbWlkKTsKKyAgICAgICAgTE9HKEVSUk9SLCAidW5hYmxl IHRvIGdldCBteSBkb21pZCIpOwogICAgICAgICBnb3RvIG91dDsKICAgICB9Ci0gICAgaWYgKFFF TVVfQkFDS0VORChhb2Rldi0+ZGV2KSAmJgotICAgICAgICAoaW5mby5wYXVzZWQgfHwgaW5mby5k eWluZyB8fCBpbmZvLnNodXRkb3duKSkgewotICAgICAgICAvKgotICAgICAgICAgKiBUT0RPOiA0 LjIgQm9kZ2UgZHVlIHRvIFFFTVUsIHNlZSBjb21tZW50IG9uIHRvcCBvZgotICAgICAgICAgKiBs aWJ4bF9faW5pdGlhdGVfZGV2aWNlX3JlbW92ZSBpbiBsaWJ4bF9pbnRlcm5hbC5oCi0gICAgICAg ICAqLwotICAgICAgICByYyA9IGxpYnhsX19ldl90aW1lX3JlZ2lzdGVyX3JlbChnYywgJmFvZGV2 LT50aW1lb3V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZp Y2VfcWVtdV90aW1lb3V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBMSUJYTF9RRU1VX0JPREdFX1RJTUVPVVQgKiAxMDAwKTsKKworICAgIGlmIChteV9kb21pZCA9 PSBMSUJYTF9UT09MU1RBQ0tfRE9NSUQpIHsKKyAgICAgICAgbGlieGxfZG9taW5mb19pbml0KCZp bmZvKTsKKyAgICAgICAgcmMgPSBsaWJ4bF9kb21haW5faW5mbyhDVFgsICZpbmZvLCBkb21pZCk7 CiAgICAgICAgIGlmIChyYykgewotICAgICAgICAgICAgTE9HKEVSUk9SLCAidW5hYmxlIHRvIHJl Z2lzdGVyIHRpbWVvdXQgZm9yIFFlbXUgZGV2aWNlICVzIiwKLSAgICAgICAgICAgICAgICAgICAg ICAgYmVfcGF0aCk7CisgICAgICAgICAgICBMT0coRVJST1IsICJ1bmFibGUgdG8gZ2V0IGluZm8g Zm9yIGRvbWFpbiAlZCIsIGRvbWlkKTsKICAgICAgICAgICAgIGdvdG8gb3V0OwogICAgICAgICB9 Ci0gICAgICAgIHJldHVybjsKKyAgICAgICAgaWYgKFFFTVVfQkFDS0VORChhb2Rldi0+ZGV2KSAm JgorICAgICAgICAgICAgKGluZm8ucGF1c2VkIHx8IGluZm8uZHlpbmcgfHwgaW5mby5zaHV0ZG93 bikpIHsKKyAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgKiBUT0RPOiA0LjIgQm9kZ2UgZHVl IHRvIFFFTVUsIHNlZSBjb21tZW50IG9uIHRvcCBvZgorICAgICAgICAgICAgICogbGlieGxfX2lu aXRpYXRlX2RldmljZV9yZW1vdmUgaW4gbGlieGxfaW50ZXJuYWwuaAorICAgICAgICAgICAgICov CisgICAgICAgICAgICByYyA9IGxpYnhsX19ldl90aW1lX3JlZ2lzdGVyX3JlbChnYywgJmFvZGV2 LT50aW1lb3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZGV2aWNlX3FlbXVfdGltZW91dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIExJQlhMX1FFTVVfQk9ER0VfVElNRU9VVCAqIDEwMDApOworICAgICAgICAgICAg aWYgKHJjKSB7CisgICAgICAgICAgICAgICAgTE9HKEVSUk9SLCAidW5hYmxlIHRvIHJlZ2lzdGVy IHRpbWVvdXQgZm9yIFFlbXUgZGV2aWNlICVzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg IGJlX3BhdGgpOworICAgICAgICAgICAgICAgIGdvdG8gb3V0OworICAgICAgICAgICAgfQorICAg ICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAgICAgfQogCiAgICAgZm9yICg7OykgewpAQCAt ODcyLDE5ICs4ODAsNDYgQEAgc3RhdGljIHZvaWQgZGV2aWNlX3FlbXVfdGltZW91dChsaWJ4bF9f ZWdjICplZ2MsIGxpYnhsX19ldl90aW1lICpldiwKICAgICBTVEFURV9BT19HQyhhb2Rldi0+YW8p OwogICAgIGNoYXIgKmJlX3BhdGggPSBsaWJ4bF9fZGV2aWNlX2JhY2tlbmRfcGF0aChnYywgYW9k ZXYtPmRldik7CiAgICAgY2hhciAqc3RhdGVfcGF0aCA9IEdDU1BSSU5URigiJXMvc3RhdGUiLCBi ZV9wYXRoKTsKKyAgICBjb25zdCBjaGFyICp4c19zdGF0ZTsKKyAgICB4c190cmFuc2FjdGlvbl90 IHQgPSAwOwogICAgIGludCByYyA9IDA7CiAKICAgICBsaWJ4bF9fZXZfdGltZV9kZXJlZ2lzdGVy KGdjLCAmYW9kZXYtPnRpbWVvdXQpOwogCi0gICAgcmMgPSBsaWJ4bF9feHNfd3JpdGVfY2hlY2tl ZChnYywgWEJUX05VTEwsIHN0YXRlX3BhdGgsICI2Iik7Ci0gICAgaWYgKHJjKSBnb3RvIG91dDsK KyAgICBmb3IgKDs7KSB7CisgICAgICAgIHJjID0gbGlieGxfX3hzX3RyYW5zYWN0aW9uX3N0YXJ0 KGdjLCAmdCk7CisgICAgICAgIGlmIChyYykgeworICAgICAgICAgICAgTE9HKEVSUk9SLCAidW5h YmxlIHRvIHN0YXJ0IHRyYW5zYWN0aW9uIik7CisgICAgICAgICAgICBnb3RvIG91dDsKKyAgICAg ICAgfQorCisgICAgICAgIC8qCisgICAgICAgICAqIENoZWNrIHRoYXQgdGhlIHN0YXRlIHBhdGgg ZXhpc3RzIGFuZCBpcyBhY3R1YWxseSBkaWZmZXJlbnQgdGhhbgorICAgICAgICAgKiA2IGJlZm9y ZSB1bmNvbmRpdGlvbmFsbHkgc2V0dGluZyBpdC4gSWYgUWVtdSBydW5zIG9uIGEgZHJpdmVyCisg ICAgICAgICAqIGRvbWFpbiBpdCBpcyBwb3NzaWJsZSB0aGF0IHRoZSBkcml2ZXIgZG9tYWluIGhh cyBhbHJlYWR5IGNsZWFuZWQKKyAgICAgICAgICogdGhlIGJhY2tlbmQgcGF0aCBpZiB0aGUgZGV2 aWNlIGhhcyByZWFjaGVkIHN0YXRlIDYuCisgICAgICAgICAqLworICAgICAgICByYyA9IGxpYnhs X194c19yZWFkX2NoZWNrZWQoZ2MsIFhCVF9OVUxMLCBzdGF0ZV9wYXRoLCAmeHNfc3RhdGUpOwor ICAgICAgICBpZiAocmMpIGdvdG8gb3V0OworCisgICAgICAgIGlmICh4c19zdGF0ZSAmJiBhdG9p KHhzX3N0YXRlKSAhPSBYZW5idXNTdGF0ZUNsb3NlZCkgeworICAgICAgICAgICAgcmMgPSBsaWJ4 bF9feHNfd3JpdGVfY2hlY2tlZChnYywgWEJUX05VTEwsIHN0YXRlX3BhdGgsICI2Iik7CisgICAg ICAgICAgICBpZiAocmMpIGdvdG8gb3V0OworICAgICAgICB9CisKKyAgICAgICAgcmMgPSBsaWJ4 bF9feHNfdHJhbnNhY3Rpb25fY29tbWl0KGdjLCAmdCk7CisgICAgICAgIGlmICghcmMpIGJyZWFr OworICAgICAgICBpZiAocmMgPCAwKSBnb3RvIG91dDsKKyAgICB9CiAKICAgICBkZXZpY2VfaG90 cGx1ZyhlZ2MsIGFvZGV2KTsKICAgICByZXR1cm47CiAKIG91dDoKKyAgICBsaWJ4bF9feHNfdHJh bnNhY3Rpb25fYWJvcnQoZ2MsICZ0KTsKICAgICBhb2Rldi0+cmMgPSByYzsKICAgICBkZXZpY2Vf aG90cGx1Z19kb25lKGVnYywgYW9kZXYpOworICAgIHJldHVybjsKIH0KIAogc3RhdGljIHZvaWQg ZGV2aWNlX2JhY2tlbmRfY2FsbGJhY2sobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fZXZfZGV2c3Rh dGUgKmRzLAotLSAKMS43LjcuNSAoQXBwbGUgR2l0LTI2KQoKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRl dmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==