From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH v3 23/32] libxc: allow creating domains without emulated devices. Date: Fri, 3 Jul 2015 13:35:01 +0200 Message-ID: <1435923310-9019-24-git-send-email-roger.pau@citrix.com> References: <1435923310-9019-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.bemta14.messagelabs.com ([193.109.254.103]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1ZAzPW-0004dO-6R for xen-devel@lists.xenproject.org; Fri, 03 Jul 2015 11:45:38 +0000 In-Reply-To: <1435923310-9019-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: Wei Liu , Stefano Stabellini , Ian Jackson , Ian Campbell , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org SW50cm9kdWNlIGEgbmV3IGZsYWcgaW4geGNfZG9tX2ltYWdlIHRoYXQgdHVybnMgb24gYW5kIG9m ZiB0aGUgZW11bGF0ZWQKZGV2aWNlcy4gVGhpcyBwcmV2ZW50cyBjcmVhdGluZyB0aGUgVkdBIGhv bGUsIHRoZSBodm1faW5mbyBwYWdlIGFuZCB0aGUKaW9yZXEgc2VydmVyIHBhZ2VzLiBsaWJ4bCB1 bmNvbmRpdGlvbmFsbHkgc2V0cyBpdCB0byB0cnVlIGZvciBhbGwgSFZNCmRvbWFpbnMgYXQgdGhl IG1vbWVudC4KClNpZ25lZC1vZmYtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRy aXguY29tPgpDYzogSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+CkNjOiBT dGVmYW5vIFN0YWJlbGxpbmkgPHN0ZWZhbm8uc3RhYmVsbGluaUBldS5jaXRyaXguY29tPgpDYzog SWFuIENhbXBiZWxsIDxpYW4uY2FtcGJlbGxAY2l0cml4LmNvbT4KQ2M6IFdlaSBMaXUgPHdlaS5s aXUyQGNpdHJpeC5jb20+Ci0tLQogdG9vbHMvbGlieGMvaW5jbHVkZS94Y19kb20uaCB8ICAxICsK IHRvb2xzL2xpYnhjL3hjX2RvbV94ODYuYyAgICAgfCA3MSArKysrKysrKysrKysrKysrKysrKysr KysrLS0tLS0tLS0tLS0tLS0tLS0tLQogdG9vbHMvbGlieGwvbGlieGxfZG9tLmMgICAgICB8ICAx ICsKIDMgZmlsZXMgY2hhbmdlZCwgNDIgaW5zZXJ0aW9ucygrKSwgMzEgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMvaW5jbHVkZS94Y19kb20uaCBiL3Rvb2xzL2xpYnhjL2lu Y2x1ZGUveGNfZG9tLmgKaW5kZXggNjhiMDUyYy4uNzA4NmY2ZSAxMDA2NDQKLS0tIGEvdG9vbHMv bGlieGMvaW5jbHVkZS94Y19kb20uaAorKysgYi90b29scy9saWJ4Yy9pbmNsdWRlL3hjX2RvbS5o CkBAIC0xOTQsNiArMTk0LDcgQEAgc3RydWN0IHhjX2RvbV9pbWFnZSB7CiAgICAgeGVuX3Bmbl90 IG1taW9fc2l6ZTsKICAgICB4ZW5fcGZuX3QgbG93bWVtX2VuZDsKICAgICB4ZW5fcGZuX3QgaGln aG1lbV9lbmQ7CisgICAgYm9vbCBlbXVsYXRpb247CiAKICAgICAvKiBFeHRyYSBBQ1BJIHRhYmxl cyBwYXNzZWQgdG8gSFZNTE9BREVSICovCiAgICAgc3RydWN0IHhjX2h2bV9maXJtd2FyZV9tb2R1 bGUgYWNwaV9tb2R1bGU7CmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy94Y19kb21feDg2LmMgYi90 b29scy9saWJ4Yy94Y19kb21feDg2LmMKaW5kZXggNjU3M2I5NC4uMzM2ZWFiNCAxMDA2NDQKLS0t IGEvdG9vbHMvbGlieGMveGNfZG9tX3g4Ni5jCisrKyBiL3Rvb2xzL2xpYnhjL3hjX2RvbV94ODYu YwpAQCAtNTIwLDEyICs1MjAsMTUgQEAgc3RhdGljIGludCBhbGxvY19tYWdpY19wYWdlc19odm0o c3RydWN0IHhjX2RvbV9pbWFnZSAqZG9tKQogICAgIHhlbl9wZm5fdCBpb3JlcV9zZXJ2ZXJfYXJy YXlbTlJfSU9SRVFfU0VSVkVSX1BBR0VTXTsKICAgICB4Y19pbnRlcmZhY2UgKnhjaCA9IGRvbS0+ eGNoOwogCi0gICAgaWYgKCAoaHZtX2luZm9fcGFnZSA9IHhjX21hcF9mb3JlaWduX3JhbmdlKAot ICAgICAgICAgICAgICB4Y2gsIGRvbWlkLCBQQUdFX1NJWkUsIFBST1RfUkVBRCB8IFBST1RfV1JJ VEUsCi0gICAgICAgICAgICAgIEhWTV9JTkZPX1BGTikpID09IE5VTEwgKQotICAgICAgICBnb3Rv IGVycm9yX291dDsKLSAgICBidWlsZF9odm1faW5mbyhodm1faW5mb19wYWdlLCBkb20pOwotICAg IG11bm1hcChodm1faW5mb19wYWdlLCBQQUdFX1NJWkUpOworICAgIGlmICggZG9tLT5lbXVsYXRp b24gKQorICAgIHsKKyAgICAgICAgaWYgKCAoaHZtX2luZm9fcGFnZSA9IHhjX21hcF9mb3JlaWdu X3JhbmdlKAorICAgICAgICAgICAgICAgICAgeGNoLCBkb21pZCwgUEFHRV9TSVpFLCBQUk9UX1JF QUQgfCBQUk9UX1dSSVRFLAorICAgICAgICAgICAgICAgICAgSFZNX0lORk9fUEZOKSkgPT0gTlVM TCApCisgICAgICAgICAgICBnb3RvIGVycm9yX291dDsKKyAgICAgICAgYnVpbGRfaHZtX2luZm8o aHZtX2luZm9fcGFnZSwgZG9tKTsKKyAgICAgICAgbXVubWFwKGh2bV9pbmZvX3BhZ2UsIFBBR0Vf U0laRSk7CisgICAgfQogCiAgICAgLyogQWxsb2NhdGUgYW5kIGNsZWFyIHNwZWNpYWwgcGFnZXMu ICovCiAgICAgZm9yICggaSA9IDA7IGkgPCBOUl9TUEVDSUFMX1BBR0VTOyBpKysgKQpAQCAtNTU3 LDMwICs1NjAsMzMgQEAgc3RhdGljIGludCBhbGxvY19tYWdpY19wYWdlc19odm0oc3RydWN0IHhj X2RvbV9pbWFnZSAqZG9tKQogICAgIHhjX2h2bV9wYXJhbV9zZXQoeGNoLCBkb21pZCwgSFZNX1BB UkFNX1NIQVJJTkdfUklOR19QRk4sCiAgICAgICAgICAgICAgICAgICAgICBzcGVjaWFsX3BmbihT UEVDSUFMUEFHRV9TSEFSSU5HKSk7CiAKLSAgICAvKgotICAgICAqIEFsbG9jYXRlIGFuZCBjbGVh ciBhZGRpdGlvbmFsIGlvcmVxIHNlcnZlciBwYWdlcy4gVGhlIGRlZmF1bHQKLSAgICAgKiBzZXJ2 ZXIgd2lsbCB1c2UgdGhlIElPUkVRIGFuZCBCVUZJT1JFUSBzcGVjaWFsIHBhZ2VzIGFib3ZlLgot ICAgICAqLwotICAgIGZvciAoIGkgPSAwOyBpIDwgTlJfSU9SRVFfU0VSVkVSX1BBR0VTOyBpKysg KQotICAgICAgICBpb3JlcV9zZXJ2ZXJfYXJyYXlbaV0gPSBpb3JlcV9zZXJ2ZXJfcGZuKGkpOwot Ci0gICAgcmMgPSB4Y19kb21haW5fcG9wdWxhdGVfcGh5c21hcF9leGFjdCh4Y2gsIGRvbWlkLCBO Ul9JT1JFUV9TRVJWRVJfUEFHRVMsIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAwLCBpb3JlcV9zZXJ2ZXJfYXJyYXkpOwotICAgIGlmICggcmMgIT0gMCApCisg ICAgaWYgKCBkb20tPmVtdWxhdGlvbiApCiAgICAgewotICAgICAgICBET01QUklOVEYoIkNvdWxk IG5vdCBhbGxvY2F0ZSBpb3JlcSBzZXJ2ZXIgcGFnZXMuIik7Ci0gICAgICAgIGdvdG8gZXJyb3Jf b3V0OwotICAgIH0KKyAgICAgICAgLyoKKyAgICAgICAgICogQWxsb2NhdGUgYW5kIGNsZWFyIGFk ZGl0aW9uYWwgaW9yZXEgc2VydmVyIHBhZ2VzLiBUaGUgZGVmYXVsdAorICAgICAgICAgKiBzZXJ2 ZXIgd2lsbCB1c2UgdGhlIElPUkVRIGFuZCBCVUZJT1JFUSBzcGVjaWFsIHBhZ2VzIGFib3ZlLgor ICAgICAgICAgKi8KKyAgICAgICAgZm9yICggaSA9IDA7IGkgPCBOUl9JT1JFUV9TRVJWRVJfUEFH RVM7IGkrKyApCisgICAgICAgICAgICBpb3JlcV9zZXJ2ZXJfYXJyYXlbaV0gPSBpb3JlcV9zZXJ2 ZXJfcGZuKGkpOwogCi0gICAgaWYgKCB4Y19jbGVhcl9kb21haW5fcGFnZXMoeGNoLCBkb21pZCwg aW9yZXFfc2VydmVyX3BmbigwKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOUl9J T1JFUV9TRVJWRVJfUEFHRVMpICkKKyAgICAgICAgcmMgPSB4Y19kb21haW5fcG9wdWxhdGVfcGh5 c21hcF9leGFjdCh4Y2gsIGRvbWlkLCBOUl9JT1JFUV9TRVJWRVJfUEFHRVMsIDAsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgaW9yZXFfc2VydmVyX2Fy cmF5KTsKKyAgICAgICAgaWYgKCByYyAhPSAwICkKKyAgICAgICAgeworICAgICAgICAgICAgRE9N UFJJTlRGKCJDb3VsZCBub3QgYWxsb2NhdGUgaW9yZXEgc2VydmVyIHBhZ2VzLiIpOwogICAgICAg ICAgICAgZ290byBlcnJvcl9vdXQ7CisgICAgICAgIH0KIAotICAgIC8qIFRlbGwgdGhlIGRvbWFp biB3aGVyZSB0aGUgcGFnZXMgYXJlIGFuZCBob3cgbWFueSB0aGVyZSBhcmUgKi8KLSAgICB4Y19o dm1fcGFyYW1fc2V0KHhjaCwgZG9taWQsIEhWTV9QQVJBTV9JT1JFUV9TRVJWRVJfUEZOLAotICAg ICAgICAgICAgICAgICAgICAgaW9yZXFfc2VydmVyX3BmbigwKSk7Ci0gICAgeGNfaHZtX3BhcmFt X3NldCh4Y2gsIGRvbWlkLCBIVk1fUEFSQU1fTlJfSU9SRVFfU0VSVkVSX1BBR0VTLAotICAgICAg ICAgICAgICAgICAgICAgTlJfSU9SRVFfU0VSVkVSX1BBR0VTKTsKKyAgICAgICAgaWYgKCB4Y19j bGVhcl9kb21haW5fcGFnZXMoeGNoLCBkb21pZCwgaW9yZXFfc2VydmVyX3BmbigwKSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlJfSU9SRVFfU0VSVkVSX1BBR0VTKSApCisg ICAgICAgICAgICAgICAgZ290byBlcnJvcl9vdXQ7CisKKyAgICAgICAgLyogVGVsbCB0aGUgZG9t YWluIHdoZXJlIHRoZSBwYWdlcyBhcmUgYW5kIGhvdyBtYW55IHRoZXJlIGFyZSAqLworICAgICAg ICB4Y19odm1fcGFyYW1fc2V0KHhjaCwgZG9taWQsIEhWTV9QQVJBTV9JT1JFUV9TRVJWRVJfUEZO LAorICAgICAgICAgICAgICAgICAgICAgICAgIGlvcmVxX3NlcnZlcl9wZm4oMCkpOworICAgICAg ICB4Y19odm1fcGFyYW1fc2V0KHhjaCwgZG9taWQsIEhWTV9QQVJBTV9OUl9JT1JFUV9TRVJWRVJf UEFHRVMsCisgICAgICAgICAgICAgICAgICAgICAgICAgTlJfSU9SRVFfU0VSVkVSX1BBR0VTKTsK KyAgICB9CiAKICAgICAvKgogICAgICAqIElkZW50aXR5LW1hcCBwYWdlIHRhYmxlIGlzIHJlcXVp cmVkIGZvciBydW5uaW5nIHdpdGggQ1IwLlBHPTAgd2hlbgpAQCAtMTIyOCw3ICsxMjM0LDggQEAg c3RhdGljIGludCBtZW1pbml0X2h2bShzdHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20pCiAgICAgICog YWxsb2NhdGVkIGlzIHBvaW50bGVzcy4KICAgICAgKi8KICAgICBpZiAoIGNsYWltX2VuYWJsZWQg KSB7Ci0gICAgICAgIHJjID0geGNfZG9tYWluX2NsYWltX3BhZ2VzKHhjaCwgZG9taWQsIHRhcmdl dF9wYWdlcyAtIFZHQV9IT0xFX1NJWkUpOworICAgICAgICByYyA9IHhjX2RvbWFpbl9jbGFpbV9w YWdlcyh4Y2gsIGRvbWlkLCB0YXJnZXRfcGFnZXMgLQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBkb20tPmVtdWxhdGlvbiA/IFZHQV9IT0xFX1NJWkUgOiAwKTsKICAgICAgICAg aWYgKCByYyAhPSAwICkKICAgICAgICAgewogICAgICAgICAgICAgRE9NUFJJTlRGKCJDb3VsZCBu b3QgYWxsb2NhdGUgbWVtb3J5IGZvciBIVk0gZ3Vlc3QgYXMgd2UgY2Fubm90IGNsYWltIG1lbW9y eSEiKTsKQEAgLTEyNDQsNyArMTI1MSw4IEBAIHN0YXRpYyBpbnQgbWVtaW5pdF9odm0oc3RydWN0 IHhjX2RvbV9pbWFnZSAqZG9tKQogICAgICAgICAgKiB0b3RfcGFnZXMgd2lsbCBiZSB0YXJnZXRf cGFnZXMgLSBWR0FfSE9MRV9TSVpFIGFmdGVyCiAgICAgICAgICAqIHRoaXMgY2FsbC4KICAgICAg ICAgICovCi0gICAgICAgIHJjID0geGNfZG9tYWluX3NldF9wb2RfdGFyZ2V0KHhjaCwgZG9taWQs IHRhcmdldF9wYWdlcyAtIFZHQV9IT0xFX1NJWkUsCisgICAgICAgIHJjID0geGNfZG9tYWluX3Nl dF9wb2RfdGFyZ2V0KHhjaCwgZG9taWQsIHRhcmdldF9wYWdlcyAtCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGRvbS0+ZW11bGF0aW9uID8gVkdBX0hPTEVfU0laRSA6IDAs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwsIE5VTEwp OwogICAgICAgICBpZiAoIHJjICE9IDAgKQogICAgICAgICB7CkBAIC0xMjYzLDggKzEyNzEsOSBA QCBzdGF0aWMgaW50IG1lbWluaXRfaHZtKHN0cnVjdCB4Y19kb21faW1hZ2UgKmRvbSkKICAgICAg KiBVbmRlciAyTUIgbW9kZSwgd2UgYWxsb2NhdGUgcGFnZXMgaW4gYmF0Y2hlcyBvZiBubyBtb3Jl IHRoYW4gOE1CIHRvIAogICAgICAqIGVuc3VyZSB0aGF0IHdlIGNhbiBiZSBwcmVlbXB0ZWQgYW5k IGhlbmNlIGRvbTAgcmVtYWlucyByZXNwb25zaXZlLgogICAgICAqLwotICAgIHJjID0geGNfZG9t YWluX3BvcHVsYXRlX3BoeXNtYXBfZXhhY3QoCi0gICAgICAgIHhjaCwgZG9taWQsIDB4YTAsIDAs IG1lbWZsYWdzLCAmZG9tLT5wMm1faG9zdFsweDAwXSk7CisgICAgaWYgKCBkb20tPmVtdWxhdGlv biApCisgICAgICAgIHJjID0geGNfZG9tYWluX3BvcHVsYXRlX3BoeXNtYXBfZXhhY3QoCisgICAg ICAgICAgICB4Y2gsIGRvbWlkLCAweGEwLCAwLCBtZW1mbGFncywgJmRvbS0+cDJtX2hvc3RbMHgw MF0pOwogCiAgICAgc3RhdF9ub3JtYWxfcGFnZXMgPSAwOwogICAgIGZvciAoIHZtZW1pZCA9IDA7 IHZtZW1pZCA8IG5yX3ZtZW1yYW5nZXM7IHZtZW1pZCsrICkKQEAgLTEyODMsNyArMTI5Miw3IEBA IHN0YXRpYyBpbnQgbWVtaW5pdF9odm0oc3RydWN0IHhjX2RvbV9pbWFnZSAqZG9tKQogICAgICAg ICAgKiAweEEwMDAwLTB4QzAwMDAuIE5vdGUgdGhhdCAweDAwMDAwLTB4QTAwMDAgaXMgcG9wdWxh dGVkIGp1c3QKICAgICAgICAgICogYmVmb3JlIHRoaXMgbG9vcC4KICAgICAgICAgICovCi0gICAg ICAgIGlmICggdm1lbXJhbmdlc1t2bWVtaWRdLnN0YXJ0ID09IDAgKQorICAgICAgICBpZiAoIHZt ZW1yYW5nZXNbdm1lbWlkXS5zdGFydCA9PSAwICYmIGRvbS0+ZW11bGF0aW9uICkKICAgICAgICAg ewogICAgICAgICAgICAgY3VyX3BhZ2VzID0gMHhjMDsKICAgICAgICAgICAgIHN0YXRfbm9ybWFs X3BhZ2VzICs9IDB4YzA7CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9kb20uYyBiL3Rv b2xzL2xpYnhsL2xpYnhsX2RvbS5jCmluZGV4IDQ4MGI3ZTcuLjZjZTQxMTUgMTAwNjQ0Ci0tLSBh L3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5jCkBA IC05OTIsNiArOTkyLDcgQEAgaW50IGxpYnhsX19idWlsZF9odm0obGlieGxfX2djICpnYywgdWlu dDMyX3QgZG9taWQsCiAgICAgZG9tLT5sb3dtZW1fZW5kID0gbG93bWVtX2VuZDsKICAgICBkb20t PmhpZ2htZW1fZW5kID0gaGlnaG1lbV9lbmQ7CiAgICAgZG9tLT5tbWlvX3N0YXJ0ID0gbW1pb19z dGFydDsKKyAgICBkb20tPmVtdWxhdGlvbiA9IHRydWU7CiAKICAgICBpZiAoaW5mby0+bnVtX3Zu dW1hX25vZGVzICE9IDApIHsKICAgICAgICAgaW50IGk7Ci0tIAoxLjkuNSAoQXBwbGUgR2l0LTUw LjMpCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVu LWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMu eGVuLm9yZy94ZW4tZGV2ZWwK