From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= Subject: Re: [PATCH v5 24/28] xen/x86: allow HVM guests to use hypercalls to bring up vCPUs Date: Mon, 24 Aug 2015 12:43:32 +0200 Message-ID: <55DAF554.7080003@citrix.com> References: <1440176021-18910-1-git-send-email-roger.pau@citrix.com> <1440176021-18910-25-git-send-email-roger.pau@citrix.com> <55D78BD5.9080300@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 1ZTpE1-0003Gj-HE for xen-devel@lists.xenproject.org; Mon, 24 Aug 2015 10:43:37 +0000 In-Reply-To: <55D78BD5.9080300@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: Andrew Cooper , xen-devel@lists.xenproject.org Cc: Stefano Stabellini , Ian Campbell , Jan Beulich List-Id: xen-devel@lists.xenproject.org RWwgMjEvMDgvMTUgYSBsZXMgMjIuMzYsIEFuZHJldyBDb29wZXIgaGEgZXNjcml0Ogo+IE9uIDIx LzA4LzE1IDE3OjUzLCBSb2dlciBQYXUgTW9ubmUgd3JvdGU6Cj4+IEFsbG93IHRoZSB1c2FnZSBv ZiB0aGUgVkNQVU9QX2luaXRpYWxpc2UsIFZDUFVPUF91cCwgVkNQVU9QX2Rvd24gYW5kCj4+IFZD UFVPUF9pc191cCBoeXBlcmNhbGxzIGZyb20gSFZNIGd1ZXN0cy4KPj4KPj4gVGhpcyBwYXRjaCBp bnRyb2R1Y2VzIGEgbmV3IHN0cnVjdHVyZSAodmNwdV9odm1fY29udGV4dCkgdGhhdCBzaG91bGQg YmUgdXNlZAo+PiBpbiBjb25qdWN0aW9uIHdpdGggdGhlIFZDUFVPUF9pbml0aWFsaXNlIGh5cGVy Y2FsbCBpbiBvcmRlciB0byBpbml0aWFsaXplCj4+IHZDUFVzIGZvciBIVk0gZ3Vlc3RzLgo+Pgo+ PiBTaWduZWQtb2ZmLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4K Pj4gQ2M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KPj4gQ2M6IEFuZHJldyBDb29w ZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Cj4+IENjOiBJYW4gQ2FtcGJlbGwgPGlhbi5j YW1wYmVsbEBjaXRyaXguY29tPgo+PiBDYzogU3RlZmFubyBTdGFiZWxsaW5pIDxzdGVmYW5vLnN0 YWJlbGxpbmlAY2l0cml4LmNvbT4KPj4gLS0tCj4+IENoYW5nZXMgc2luY2UgdjQ6Cj4+ICAtIERv bid0IGFzc3VtZSBtb2RlIGlzIDY0QiwgYWRkIGFuIGV4cGxpY2l0IGNoZWNrLgo+PiAgLSBEb24n dCBzZXQgVEZfa2VybmVsX21vZGUsIGl0IGlzIG9ubHkgbmVlZGVkIGZvciBQViBndWVzdHMuCj4+ ICAtIERvbid0IHNldCBDUjBfRVQgdW5jb25kaXRpb25hbGx5Lgo+PiAtLS0KPj4gIHhlbi9hcmNo L2FybS9kb21haW4uYyAgICAgICAgICAgICB8ICAyNCArKysrKysKPj4gIHhlbi9hcmNoL3g4Ni9k b21haW4uYyAgICAgICAgICAgICB8IDE2NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrCj4+ICB4ZW4vYXJjaC94ODYvaHZtL2h2bS5jICAgICAgICAgICAgfCAgIDggKysKPj4g IHhlbi9jb21tb24vZG9tYWluLmMgICAgICAgICAgICAgICB8ICAxNiArLS0tCj4+ICB4ZW4vaW5j bHVkZS9wdWJsaWMvaHZtL2h2bV92Y3B1LmggfCAxNjggKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysKPj4gIHhlbi9pbmNsdWRlL3hlbi9kb21haW4uaCAgICAgICAgICB8ICAg MiArCj4+ICA2IGZpbGVzIGNoYW5nZWQsIDM2NyBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMo LSkKPj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCB4ZW4vaW5jbHVkZS9wdWJsaWMvaHZtL2h2bV92Y3B1 LmgKPj4KPj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9kb21haW4uYyBiL3hlbi9hcmNoL2Fy bS9kb21haW4uYwo+PiBpbmRleCBiMmJmYzdkLi5iMjAwMzVkIDEwMDY0NAo+PiAtLS0gYS94ZW4v YXJjaC9hcm0vZG9tYWluLmMKPj4gKysrIGIveGVuL2FyY2gvYXJtL2RvbWFpbi5jCj4+IEBAIC03 NTIsNiArNzUyLDMwIEBAIGludCBhcmNoX3NldF9pbmZvX2d1ZXN0KAo+PiAgICAgIHJldHVybiAw Owo+PiAgfQo+PiAgCj4+ICtpbnQgYXJjaF9pbml0aWFsaXplX3ZjcHUoc3RydWN0IHZjcHUgKnYs IFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0odm9pZCkgYXJnKQo+PiArewo+PiArICAgIHN0cnVjdCB2 Y3B1X2d1ZXN0X2NvbnRleHQgKmN0eHQ7Cj4+ICsgICAgc3RydWN0IGRvbWFpbiAqZCA9IGN1cnJl bnQtPmRvbWFpbjsKPj4gKyAgICBpbnQgcmM7Cj4+ICsKPj4gKyAgICBpZiAoIChjdHh0ID0gYWxs b2NfdmNwdV9ndWVzdF9jb250ZXh0KCkpID09IE5VTEwgKQo+PiArICAgICAgICByZXR1cm4gLUVO T01FTTsKPiAKPiBJIGhhdmUgcG9zdGVkIG15ICJyZW1vdmUgYWxsb2NfdmNwdV9ndWVzdF9jb250 ZXh0KCkiIHBhdGNoIHRvIHRoZSBsaXN0Cj4gZm9yIHJlZmVyZW5jZSBhcyBpdCBpbnRlcmFjdHMg d2l0aCB0aGlzIHBhdGNoLiAgSSBkb24ndCBtaW5kIHJlYmFzaW5nCj4gaXQsIGJ1dCBpdCBtaWdo dCBhbHNvIGluZmx1ZW5jZSB0aGlzIHBhdGNoLgoKVGhhbmtzLCBJIHdhcyBwbGFubmluZyB0byBh ZGQgc3VjaCBhIHBhdGNoIHRvIHRoZSBzZXJpZXMgYmVjYXVzZSBvZiB5b3VyCmNvbW1lbnRzIGlu IHRoZSBwcmV2aW91cyByb3VuZCwgYnV0IGNvbXBsZXRlbHkgZm9yZ290IGFib3V0IGl0LCBzb3Jy eS4KCkkgZG9uJ3QgbWluZCBwaWNraW5nIGl0IHVwIGFuZCBhZGRpbmcgaXQgdG8gbXkgc2VyaWVz IGlmIG5vdyBpdCdzIHRvbwpsYXRlIGluIHRoZSByZWxlYXNlIHByb2Nlc3MgdG8gY29tbWl0IGl0 LgoKPj4gKwo+PiArICAgIGlmICggY29weV9mcm9tX2d1ZXN0KGN0eHQsIGFyZywgMSkgKQo+PiAr ICAgIHsKPj4gKyAgICAgICAgZnJlZV92Y3B1X2d1ZXN0X2NvbnRleHQoY3R4dCk7Cj4+ICsgICAg ICAgIHJldHVybiAtRUZBVUxUOwo+PiArICAgIH0KPj4gKwo+PiArICAgIGRvbWFpbl9sb2NrKGQp Owo+PiArICAgIHJjID0gdi0+aXNfaW5pdGlhbGlzZWQgPyAtRUVYSVNUIDogYXJjaF9zZXRfaW5m b19ndWVzdCh2LCBjdHh0KTsKPj4gKyAgICBkb21haW5fdW5sb2NrKGQpOwo+PiArCj4+ICsgICAg ZnJlZV92Y3B1X2d1ZXN0X2NvbnRleHQoY3R4dCk7Cj4+ICsKPj4gKyAgICByZXR1cm4gcmM7Cj4+ ICt9Cj4+ICsKPj4gIGludCBhcmNoX3ZjcHVfcmVzZXQoc3RydWN0IHZjcHUgKnYpCj4+ICB7Cj4+ ICAgICAgdmNwdV9lbmRfc2h1dGRvd25fZGVmZXJyYWwodik7Cj4+IGRpZmYgLS1naXQgYS94ZW4v YXJjaC94ODYvZG9tYWluLmMgYi94ZW4vYXJjaC94ODYvZG9tYWluLmMKPj4gaW5kZXggOGZlOTVm Ny4uMjNmZjE0YyAxMDA2NDQKPj4gLS0tIGEveGVuL2FyY2gveDg2L2RvbWFpbi5jCj4+ICsrKyBi L3hlbi9hcmNoL3g4Ni9kb21haW4uYwo+PiBAQCAtMzcsNiArMzcsNyBAQAo+PiAgI2luY2x1ZGUg PHhlbi93YWl0Lmg+Cj4+ICAjaW5jbHVkZSA8eGVuL2d1ZXN0X2FjY2Vzcy5oPgo+PiAgI2luY2x1 ZGUgPHB1YmxpYy9zeXNjdGwuaD4KPj4gKyNpbmNsdWRlIDxwdWJsaWMvaHZtL2h2bV92Y3B1Lmg+ Cj4+ICAjaW5jbHVkZSA8YXNtL3JlZ3MuaD4KPj4gICNpbmNsdWRlIDxhc20vbWMxNDY4MThydGMu aD4KPj4gICNpbmNsdWRlIDxhc20vc3lzdGVtLmg+Cj4+IEBAIC0xMTQwLDYgKzExNDEsMTY5IEBA IGludCBhcmNoX3NldF9pbmZvX2d1ZXN0KAo+PiAgI3VuZGVmIGMKPj4gIH0KPj4gIAo+PiArLyog Q2FsbGVkIGJ5IFZDUFVPUF9pbml0aWFsaXNlIGZvciBIVk0gZ3Vlc3RzLiAqLwo+PiArc3RhdGlj IGludCBhcmNoX3NldF9pbmZvX2h2bV9ndWVzdChzdHJ1Y3QgdmNwdSAqdiwgdmNwdV9odm1fY29u dGV4dF90ICpjdHgpCj4+ICt7Cj4+ICsgICAgc3RydWN0IHNlZ21lbnRfcmVnaXN0ZXIgc2VnOwo+ PiArCj4+ICsjZGVmaW5lIGdldF9jb250ZXh0X3NlZyhjdHgsIHNlZywgZikgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+PiArICAgIChjdHgpLT5tb2RlID09IFZDUFVf SFZNX01PREVfMTZCID8gKGN0eCktPmNwdV9yZWdzLng4Nl8xNi5zZWcjI18jI2YgOiAgIFwKPj4g KyAgICAoY3R4KS0+bW9kZSA9PSBWQ1BVX0hWTV9NT0RFXzMyQiA/IChjdHgpLT5jcHVfcmVncy54 ODZfMzIuc2VnIyNfIyNmIDogICBcCj4+ICsgICAgKGN0eCktPm1vZGUgPT0gVkNQVV9IVk1fTU9E RV82NEIgPyAoY3R4KS0+Y3B1X3JlZ3MueDg2XzY0LnNlZyMjXyMjZiA6ICAgXAo+PiArICAgICh7 IHBhbmljKCJJbnZhbGlkIHZDUFUgbW9kZSAldSByZXF1ZXN0ZWRcbiIsIChjdHgpLT5tb2RlKTsg MDsgfSkKPiAKPiBwYW5pYygpIGlzIGZhciB0b28gc2V2ZXJlLiAgZG9tYWluX2NyYXNoKCkgd291 bGQgYmUgYmV0dGVyLiB3aXRoIGFuCj4gZWFybHkgZXhpdC4KPiAKPj4gKwo+PiArI2RlZmluZSBn ZXRfY29udGV4dF9ncHIoY3R4LCBncHIpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKPj4gKyAgICAoY3R4KS0+bW9kZSA9PSBWQ1BVX0hWTV9NT0RFXzE2QiA/IChj dHgpLT5jcHVfcmVncy54ODZfMTYuZ3ByICAgIDogICAgICBcCj4+ICsgICAgKGN0eCktPm1vZGUg PT0gVkNQVV9IVk1fTU9ERV8zMkIgPyAoY3R4KS0+Y3B1X3JlZ3MueDg2XzMyLmUjI2dwciA6ICAg ICAgXAo+PiArICAgIChjdHgpLT5tb2RlID09IFZDUFVfSFZNX01PREVfNjRCID8gKGN0eCktPmNw dV9yZWdzLng4Nl82NC5yIyNncHIgOiAgICAgIFwKPj4gKyAgICAoeyBwYW5pYygiSW52YWxpZCB2 Q1BVIG1vZGUgJXUgcmVxdWVzdGVkXG4iLCAoY3R4KS0+bW9kZSk7IDA7IH0pCj4+ICsKPj4gKyNk ZWZpbmUgZ2V0X2NvbnRleHRfZmllbGQoY3R4LCBmaWVsZCkgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCj4+ICsgICAgKGN0eCktPm1vZGUgPT0gVkNQVV9IVk1fTU9ERV8x NkIgPyAoY3R4KS0+Y3B1X3JlZ3MueDg2XzE2LmZpZWxkIDogICAgICAgXAo+PiArICAgIChjdHgp LT5tb2RlID09IFZDUFVfSFZNX01PREVfMzJCID8gKGN0eCktPmNwdV9yZWdzLng4Nl8zMi5maWVs ZCA6ICAgICAgIFwKPj4gKyAgICAoY3R4KS0+bW9kZSA9PSBWQ1BVX0hWTV9NT0RFXzY0QiA/IChj dHgpLT5jcHVfcmVncy54ODZfNjQuZmllbGQgOiAgICAgICBcCj4+ICsgICAgKHsgcGFuaWMoIklu dmFsaWQgdkNQVSBtb2RlICV1IHJlcXVlc3RlZFxuIiwgKGN0eCktPm1vZGUpOyAwOyB9KQo+PiAr Cj4+ICsgICAgaWYgKCBjdHgtPm1vZGUgIT0gVkNQVV9IVk1fTU9ERV8xNkIgJiYgY3R4LT5tb2Rl ICE9IFZDUFVfSFZNX01PREVfMzJCICYmCj4+ICsgICAgICAgICBjdHgtPm1vZGUgIT0gVkNQVV9I Vk1fTU9ERV82NEIgKQo+PiArICAgICAgICByZXR1cm4gLUVJTlZBTDsKPiAKPiBGb3IgcmVhZGFi aWxpdHkgKGFuZCBzdHlsZSksIEkgd291bGQgc3VnZ2VzdCBmb3JtYXR0aW5nIHRoaXMgYXMKPiAK PiAgICAgaWYgKCAhKChjdHgtPm1vZGUgPT0gVkNQVV9IVk1fTU9ERV8xNkIpIHx8Cj4gICAgICAg ICAgICAoY3R4LT5tb2RlID09IFZDUFVfSFZNX01PREVfMzJCKSB8fAo+ICAgICAgICAgICAgKGN0 eC0+bW9kZSA9PSBWQ1BVX0hWTV9NT0RFXzY0QikpICkKPiAgICAgICAgIHJldHVybiAtRUlOVkFM Owo+IAo+PiArCj4+ICsgICAgbWVtc2V0KCZzZWcsIDAsIHNpemVvZihzZWcpKTsKPj4gKwo+PiAr ICAgIGlmICggIXBhZ2luZ19tb2RlX2hhcCh2LT5kb21haW4pICkKPj4gKyAgICAgICAgdi0+YXJj aC5ndWVzdF90YWJsZSA9IHBhZ2V0YWJsZV9udWxsKCk7Cj4+ICsKPj4gKyAgICB2LT5hcmNoLnVz ZXJfcmVncy5yYXggPSBnZXRfY29udGV4dF9ncHIoY3R4LCBheCk7Cj4+ICsgICAgdi0+YXJjaC51 c2VyX3JlZ3MucmN4ID0gZ2V0X2NvbnRleHRfZ3ByKGN0eCwgY3gpOwo+PiArICAgIHYtPmFyY2gu dXNlcl9yZWdzLnJkeCA9IGdldF9jb250ZXh0X2dwcihjdHgsIGR4KTsKPj4gKyAgICB2LT5hcmNo LnVzZXJfcmVncy5yYnggPSBnZXRfY29udGV4dF9ncHIoY3R4LCBieCk7Cj4+ICsgICAgdi0+YXJj aC51c2VyX3JlZ3MucnNwID0gZ2V0X2NvbnRleHRfZ3ByKGN0eCwgc3ApOwo+PiArICAgIHYtPmFy Y2gudXNlcl9yZWdzLnJicCA9IGdldF9jb250ZXh0X2dwcihjdHgsIGJwKTsKPj4gKyAgICB2LT5h cmNoLnVzZXJfcmVncy5yc2kgPSBnZXRfY29udGV4dF9ncHIoY3R4LCBzaSk7Cj4+ICsgICAgdi0+ YXJjaC51c2VyX3JlZ3MucmRpID0gZ2V0X2NvbnRleHRfZ3ByKGN0eCwgZGkpOwo+PiArICAgIHYt PmFyY2gudXNlcl9yZWdzLnJpcCA9IGdldF9jb250ZXh0X2dwcihjdHgsIGlwKTsKPj4gKyAgICB2 LT5hcmNoLnVzZXJfcmVncy5yZmxhZ3MgPSBnZXRfY29udGV4dF9ncHIoY3R4LCBmbGFncyk7Cj4g Cj4gQWxsIHRoZXNlIGhpZGRlbiBjb25kaXRpb25hbHMgY2F1c2UgdGhlIGNvbXBpbGVyIHRvIGdl bmVyYXRlIGEgMksKPiBmdW5jdGlvbiwgYSBsYXJnZSBxdWFudGl0eSBvZiB3aGljaCBhcmUgY29u ZGl0aW9uYWwganVtcHMuCgpJIHdhcyBleHBlY3RpbmcgdGhlIGNvbXBpbGVyIHRvIGJlIGNsZXZl ciBoZXJlIGFuZCByZWFsaXplIGN0eC0+bW9kZSBpcwphbHdheXMgdGhlIHNhbWUgYW5kIHBlcmZv cm0gc29tZSBraW5kIG9mIGNsZXZlciBvcHRpbWl6YXRpb24sIGJ1dCBJCmd1ZXNzIHRoaXMgaXMg dG9vIG11Y2guCgo+IEkgZGlkIHNvbWUgZXhwZXJpbWVudGF0aW9uLCBhdmFpbGFibGUgZnJvbQo+ IGdpdDovL3hlbmJpdHMueGVuLm9yZy9wZW9wbGUvYW5kcmV3Y29vcC94ZW4uZ2l0IHdpcC1kbWxp dGUtdjUtcmVmYWN0b3IKPiAKPiBCbG9hdC1vLW1ldGVyIGluZGljYXRlczoKPiAKPiBhZGQvcmVt b3ZlOiAwLzAgZ3Jvdy9zaHJpbms6IDAvMSB1cC9kb3duOiAwLy01NTkgKC01NTkpCj4gZnVuY3Rp b24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2xkICAgICBuZXcgICBkZWx0 YQo+IGFyY2hfc2V0X2luZm9faHZtX2d1ZXN0ICAgICAgICAgICAgICAgICAgICAgMjIwOSAgICAx NjUwICAgIC01NTkKPiAKPiBBbmQgbG9va2luZyBhdCB0aGUgZGlzYXNzZW1ibHksIHRob3NlIC01 NTkgYXJlIG1vc3RseSBjbXAvalhYCj4gY29uc3RydWN0cywgYW5kIHRoZSBkZWFkIHBhbmljKCkg Y2FsbHMuCj4gCj4gVGhlIGNvZGUgaXMgbm93IGxvbmdlciwgYnV0IEkgZG9uJ3QgdGhpbmsgaXQg ZGV0cmFjdHMgZnJvbSB0aGUKPiByZWFkYWJpbGl0eSwgYW5kIGl0IHdpbGwgY2VydGFpbmx5IGJl IGZhc3RlciB0byBleGVjdXRlLgo+IAo+IFdoYXQgZG8geW91IHRoaW5rPyAgSWYgb3RoZXJzIGFn cmVlLCB5b3UgYXJlIHdlbGNvbWUgdG8gZm9sZCB0aGUgcGF0Y2gKPiBpbnRvIHlvdXIgc2VyaWVz LgoKVGhhdCBsb29rcyBmaW5lIElNSE8sIEkgY2FuIGZvbGQgaXQgaW50byB0aGlzIHBhdGNoIGFu ZCBhZGQgeW91ciBTb0IgaWYKdGhhdCdzIGZpbmUuCgpSb2dlci4KCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl bi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=