From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jike Song Subject: Re: [Announcement] 2015-Q2 release of XenGT - a Mediated Graphics Passthrough Solution from Intel Date: Tue, 07 Jul 2015 10:49:28 +0800 Message-ID: <559B3E38.1080707@intel.com> References: <53D215D3.50608@intel.com> <547FCAAD.2060406@intel.com> <54AF967B.3060503@intel.com> <5527CEC4.9080700@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 91EC56E3DB for ; Mon, 6 Jul 2015 19:58:29 -0700 (PDT) In-Reply-To: <5527CEC4.9080700@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: xen-devel@lists.xen.org, intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org Cc: "Reddy, Raghuveer" , "White, Michael L" , "Dong, Eddie" , "Li, Susie" , "Cowperthwaite, David J" , "Zhou, Chao" , "Zhu, Libo" , "Wang, Hongbo" List-Id: intel-gfx@lists.freedesktop.org SGkgYWxsLAoKV2UncmUgcGxlYXNlZCB0byBhbm5vdW5jZSBhIHB1YmxpYyB1cGRhdGUgdG8gSW50 ZWwgR3JhcGhpY3MgVmlydHVhbGl6YXRpb24gVGVjaG5vbG9neShJbnRlbCBHVlQtZywgZm9ybWVy bHkga25vd24gYXMgWGVuR1QpLgoKSW50ZWwgR1ZULWcgaXMgYSBmdWxsIEdQVSB2aXJ0dWFsaXph dGlvbiBzb2x1dGlvbiB3aXRoIG1lZGlhdGVkIHBhc3MtdGhyb3VnaCwgc3RhcnRpbmcgZnJvbSA0 dGggZ2VuZXJhdGlvbiBJbnRlbCBDb3JlKFRNKSBwcm9jZXNzb3JzIHdpdGggSW50ZWwgR3JhcGhp Y3MgcHJvY2Vzc29ycy4gQSB2aXJ0dWFsIEdQVSBpbnN0YW5jZSBpcyBtYWludGFpbmVkIGZvciBl YWNoIFZNLCB3aXRoIHBhcnQgb2YgcGVyZm9ybWFuY2UgY3JpdGljYWwgcmVzb3VyY2VzIGRpcmVj dGx5IGFzc2lnbmVkLiBUaGUgY2FwYWJpbGl0eSBvZiBydW5uaW5nIG5hdGl2ZSBncmFwaGljcyBk cml2ZXIgaW5zaWRlIGEgVk0sIHdpdGhvdXQgaHlwZXJ2aXNvciBpbnRlcnZlbnRpb24gaW4gcGVy Zm9ybWFuY2UgY3JpdGljYWwgcGF0aHMsIGFjaGlldmVzIGEgZ29vZCBiYWxhbmNlIGFtb25nIHBl cmZvcm1hbmNlLCBmZWF0dXJlLCBhbmQgc2hhcmluZyBjYXBhYmlsaXR5LiBYZW4gaXMgY3VycmVu dGx5IHN1cHBvcnRlZCBvbiBJbnRlbCBQcm9jZXNzb3IgR3JhcGhpY3MgKGEuay5hLiBYZW5HVCk7 IGFuZCB0aGUgY29yZSBsb2dpYyBjYW4gYmUgZWFzaWx5IHBvcnRlZCB0byBvdGhlciBoeXBlcnZp c29ycywgZm9yIGV4YW1wbGUsIHRoZSBleHBlcmltZW50YWwgY29kZSBoYXMgYmVlbiByZWxlYXNl ZCB0byBzdXBwb3J0IEdWVC1nIHJ1bm5pbmcgb24gYSBLVk0gaHlwZXJ2aXNvciAoYS5rLmEgS1ZN R1QpLgoKVGlwIG9mIHJlcG9zaXRvcmllcwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogICAg IEtlcm5lbDogNWI3MzY1M2Q1Y2EsIEJyYW5jaDogbWFzdGVyLTIwMTVRMi0zLjE4LjAKICAgICBR ZW11OiAyYTc1YmJmZjYyYzEsIEJyYW5jaDogbWFzdGVyCiAgICAgWGVuOiAzOGMzNmYwZjUxMWIx LCBCcmFuY2g6IG1hc3Rlci0yMDE1UTItNC41CgpUaGlzIHVwZGF0ZSBjb25zaXN0cyBvZjoKICAg ICAtIENoYW5nZSB0aW1lIGJhc2VkIHNjaGVkdWxlciB0aW1lciB0byBiZSBjb25maWd1cmFibGUg dG8gZW5oYW5jZSBzdGFiaWxpdHkKICAgICAtIEZpeCBzdGFiaWxpdHkgaXNzdWVzIHRoYXQgVk0v RG9tMCBnb3QgdGRyIHdoZW4gaGFuZyB1cCBhdCBzb21lIHNwZWNpZmljIGluc3RydWN0aW9uIG9u IEJEVwogICAgIC0gT3B0aW1pemUgdGhlIGVtdWxhdGlvbiBvZiBlbF9zdGF0dXMgcmVnaXN0ZXIg dG8gZW5oYW5jZSBzdGFiaWxpdHkKICAgICAtIDJELzNEIHBlcmZvcm1hbmNlIGluIGxpbnV4IFZN cyBoYXMgYmVlbiBpbXByb3ZlZCBhYm91dCA1MCUgb24gQkRXCiAgICAgLSBGaXggYWJub3JtYWwg aWRsZSBwb3dlciBjb25zdW1wdGlvbiBpc3N1ZSBkdWUgdG8gd3JvbmcgZm9yY2V3YWtlIHBvbGlj eQogICAgIC0gRml4IHRkciBpc3N1ZSB3aGVuIHJ1bm5pbmcgMkQvM0QvTWVkaWEgd29ya2xvYWRz IGluIFdpbmRvd3MgVk1zIHNpbXVsdGFuZW91c2x5CiAgICAgLSBLVk0gc3VwcG9ydCBpcyBzdGls bCBpbiBhIHNlcGFyYXRlIGJyYW5jaCBhcyBwcm90b3R5cGUgd29yay4gV2UgcGxhbiB0byBpbnRl Z3JhdGUgS1ZNL1hlbiBzdXBwb3J0IHRvZ2V0aGVyIGluIHRoZSBmdXR1cmUgcmVsZWFzZXMKICAg ICAtIE5leHQgdXBkYXRlIHdpbGwgYmUgYXJvdW5kIGVhcmx5IE9jdCwgMjAxNQoKTm90aWNlIHRo YXQgdGhpcyByZWxlYXNlIGNhbiBzdXBwb3J0IGJvdGggSW50ZWwgNHRoIGdlbmVyYXRpb24gQ29y ZSBDUFUoY29kZSBuYW1lOiBIYXN3ZWxsKSBhbmQgSW50ZWwgNXRoIGdlbmVyYXRpb24gQ29yZSBD UFUgKGNvZGUgbmFtZTogQnJvYWR3ZWxsKSwgd2hpbGUgdGhlIGxpbWl0YXRpb24gb2YgdGhlIGxh dHRlciBpbmNsdWRlOgogICAgICogM0QgY29uZm9ybWFuY2UgbWF5IGhhdmUgc29tZSBmYWlsdXJl CiAgICAgKiBVbmRlciBoaWdoIGRlbWFuZCAzRCB3b3JrbG9hZHMsIHN0YWJpbGl0eSBpc3N1ZXMg YXJlIGRldGVjdGVkCiAgICAgKiBNdWx0aS1tb25pdG9yIHNjZW5hcmlvIGlzIG5vdCBmdWxseSB0 ZXN0ZWQsIHdoaWxlIHNpbmdsZSBtb25pdG9yIG9mIFZHQS9IRE1JL0RQL2VEUCBzaG91bGQganVz dCB3b3JrCiAgICAgKiBIb3RwbHVnIERQIG1heSBjYXVzZSBibGFjayBzY3JlZW4gZXZlbiBvbiBu YXRpdmUgZW52aXJvbm1lbnQKCldoZXJlIHRvIGdldAoKa2VybmVsOiBodHRwczovL2dpdGh1Yi5j b20vMDFvcmcvWGVuR1QtUHJldmlldy1rZXJuZWwuZ2l0CnhlbjogaHR0cHM6Ly9naXRodWIuY29t LzAxb3JnL1hlbkdULVByZXZpZXcteGVuLmdpdApxZW11OiBodHRwczovL2dpdGh1Yi5jb20vMDFv cmcvWGVuR1QtUHJldmlldy1xZW11LmdpdAoKCldlIGhhdmUgYSBtYWlsaW5nIGxpc3QgZm9yIEdW VC1nIGRldmVsb3BtZW50LCBidWcgcmVwb3J0IGFuZCB0ZWNobmljYWwgZGlzY3Vzc2lvbjoKCiAg ICAgaHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3Z0LWcKCk1vcmUgaW5m b3JtYXRpb24gYWJvdXQgSW50ZWwgR1ZULWcgYmFja2dyb3VuZCwgYXJjaGl0ZWN0dXJlLCBldGMg Y2FuIGJlIGZvdW5kIGF0OgoKICAgICBodHRwczovL3d3dy51c2VuaXgub3JnL2NvbmZlcmVuY2Uv YXRjMTQvdGVjaG5pY2FsLXNlc3Npb25zL3ByZXNlbnRhdGlvbi90aWFuCiAgICAgaHR0cDovL2V2 ZW50cy5saW51eGZvdW5kYXRpb24ub3JnL3NpdGVzL2V2ZW50cy9maWxlcy9zbGlkZXMvWGVuR1Qt WGVuJTIwU3VtbWl0LXY3XzAucGRmCiAgICAgaHR0cHM6Ly8wMS5vcmcveGVuL2Jsb2dzL3NyY2xh cmt4LzIwMTMvZ3JhcGhpY3MtdmlydHVhbGl6YXRpb24teGVuZ3QKCgpOb3RlOiBUaGUgWGVuR1Qg cHJvamVjdCBzaG91bGQgYmUgY29uc2lkZXJlZCBhIHdvcmsgaW4gcHJvZ3Jlc3MuIEFzIHN1Y2gg aXQgaXMgbm90IGEgY29tcGxldGUgcHJvZHVjdCBub3Igc2hvdWxkIGl0IGJlIGNvbnNpZGVyZWQg b25lLiBFeHRyYSBjYXJlIHNob3VsZCBiZSB0YWtlbiB3aGVuIHRlc3RpbmcgYW5kIGNvbmZpZ3Vy aW5nIGEgc3lzdGVtIHRvIHVzZSB0aGUgWGVuR1QgcHJvamVjdC4KCgotLQpUaGFua3MsCkppa2UK Ck9uIDA0LzEwLzIwMTUgMDk6MjMgUE0sIEppa2UgU29uZyB3cm90ZToKPiBIaSBhbGwsCj4KPiBX ZSdyZSBwbGVhc2VkIHRvIGFubm91bmNlIGEgcHVibGljIHVwZGF0ZSB0byBJbnRlbCBHcmFwaGlj cyBWaXJ0dWFsaXphdGlvbiBUZWNobm9sb2d5IChJbnRlbCBHVlQtZywgZm9ybWVybHkga25vd24g YXMgWGVuR1QpLiBJbnRlbCBHVlQtZyBpcyBhIGNvbXBsZXRlIHZHUFUgc29sdXRpb24gd2l0aCBt ZWRpYXRlZCBwYXNzLXRocm91Z2gsIHN1cHBvcnRlZCB0b2RheSBvbiA0dGggZ2VuZXJhdGlvbiBJ bnRlbCBDb3JlKFRNKSBwcm9jZXNzb3JzIHdpdGggSW50ZWwgR3JhcGhpY3MgcHJvY2Vzc29ycy4g QSB2aXJ0dWFsIEdQVSBpbnN0YW5jZSBpcyBtYWludGFpbmVkIGZvciBlYWNoIFZNLCB3aXRoIHBh cnQgb2YgcGVyZm9ybWFuY2UgY3JpdGljYWwgcmVzb3VyY2VzIGRpcmVjdGx5IGFzc2lnbmVkLiBU aGUgY2FwYWJpbGl0eSBvZiBydW5uaW5nIG5hdGl2ZSBncmFwaGljcyBkcml2ZXIgaW5zaWRlIGEg Vk0sIHdpdGhvdXQgaHlwZXJ2aXNvciBpbnRlcnZlbnRpb24gaW4gcGVyZm9ybWFuY2UgY3JpdGlj YWwgcGF0aHMsIGFjaGlldmVzIGEgZ29vZCBiYWxhbmNlIGFtb25nIHBlcmZvcm1hbmNlLCBmZWF0 dXJlLCBhbmQgc2hhcmluZyBjYXBhYmlsaXR5LiBUaG91Z2ggd2Ugb25seSBzdXBwb3J0IFhlbiBv biBJbnRlbCBQcm9jZXNzb3IgR3JhcGhpY3Mgc28gZmFyLCB0aGUgY29yZSBsb2dpYyBjYW4gYmUg ZWFzaWx5IHBvcnRlZCB0byBvdGhlciBoeXBlcnZpc29ycy4KPgo+IFRpcCBvZiByZXBvc2l0b3Jp ZXMKPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4KPiAgICAgICAgICAgIEtlcm5lbDogYTAx MWM5Zjk1M2UsIEJyYW5jaDogbWFzdGVyLTIwMTVRMS0zLjE4LjAKPiAgICAgICAgICAgIFFlbXU6 IDJhNzViYmZmNjJjMSwgQnJhbmNoOiBtYXN0ZXIKPiAgICAgICAgICAgIFhlbjogMzhjMzZmMGY1 MTFiMSwgQnJhbmNoOiBtYXN0ZXItMjAxNVExLTQuNQo+Cj4gU3VtbWFyeSB0aGlzIHVwZGF0ZQo+ IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAJLSBQcmVsaW1pbmFyeSBCcm9hZHdlbGwgc3Vw cG9ydC4KPiAJLSBrZXJuZWwgdXBkYXRlIGZyb20gZHJtLWludGVsIDMuMTcuMCB0byBkcm0taW50 ZWwgMy4xOC4wKHRhZzogZHJtLWludGVsLW5leHQtZml4ZXMtMjAxNC0xMi0xNywgbm90aWNlIHRo YXQgaTkxNSBkcml2ZXIgY29kZSBpcyBtdWNoIG5ld2VyIHRoYW4ga2VybmVsIHN0YWJsZSB2ZXJz aW9uKS4KPiAJLSBOZXh0IHVwZGF0ZSB3aWxsIGJlIGFyb3VuZCBlYXJseSBKdWx5LCAyMDE1Lgo+ IAktIEtWTSBzdXBwb3J0IGlzIHN0aWxsIGluIGEgc2VwYXJhdGUgYnJhbmNoIGFzIHByb3RvdHlw ZSB3b3JrLiBXZSBwbGFuIHRvIGludGVncmF0ZSBLVk0vWGVuIHN1cHBvcnQgdG9nZXRoZXIgaW4g ZnV0dXJlIHJlbGVhc2VzLgo+Cj4gVGhpcyB1cGRhdGUgY29uc2lzdHMgb2Y6Cj4gCS0gZ3Z0LWcg Y29yZSBsb2dpYyBjb2RlIHdhcyBtb3ZlZCBpbnRvIGk5MTUgZHJpdmVyIGRpcmVjdG9yeS4KPiAJ LSBIb3N0IG1lZGlhdGlvbiBpcyB1c2VkIGZvciBkb20wIGk5MTUgZHJpdmVyIGFjY2VzcywgaW5z dGVhZCBvZiBkZS1wcml2aWxlZ2VkIGRvbTAuCj4gCS0gVGhlIFhlbi1zcGVjaWZpYyBjb2RlIHdh cyBzZXBhcmF0ZWQgZnJvbSB2Z3QgY29yZSBsb2dpYyBpbnRvIGEgbmV3IGZpbGUgImRyaXZlci94 ZW4veGVuZ3QuYyIuCj4gCS0gQnJvYWR3ZWxsIGlzIHByZWxpbWluYXJpbHkgc3VwcG9ydGVkIGlu IHRoaXMgcmVsZWFzZS4gVXNlcnMgY291bGQgc3RhcnQgbXVsdGlwbGUgbGludXgvd2luZG93cyA2 NC1iaXQgdmlydHVhbCBtYWNoaW5lcyBzaW11bHRhbmVvdXNseSwgYW5kIHBlcmZvcm0gZGlzcGxh eSBzd2l0Y2ggYW1vbmcgdGhlbS4KPgo+IE5vdGljZSB0aGF0IGl0IGlzIHN0aWxsIHByZWxpbWlu YXJ5IHJlbGVhc2UgZm9yIEJEVywgd2hpY2ggaXMgbm90IHlldCBpbiB0aGUgc2FtZSBsZXZlbCBv ZiBIU1cgcmVsZWFzZS4gRGlmZmVyZW5jZXMgaW5jbHVkZToKPiAgICAgICAgICAgICAgICAgICAq IFBvd2VyL3BlcmZvcm1hbmNlIHR1bmluZyBvbiBCRFcgaXMgbm90IHlldCBkb25lLgo+IAkgKiBT dGFiaWxpdHkgbmVlZHMgdG8gYmUgaW1wcm92ZWQuCj4gICAgICAgICAgICAgICAgICAgKiBObyAz Mi1iaXQgZ3Vlc3QgT1Mgc3VwcG9ydC4KPiAgICAgICAgICAgICAgICAgICAqIE11bHRpLW1vbml0 b3Igc2NlbmFyaW8gaXMgbm90IGZ1bGx5IHRlc3RlZCwgd2hpbGUgc2luZ2xlIG1vbml0b3Igb2Yg VkdBL0hETUkvRFAvZURQIHNob3VsZCBqdXN0IHdvcmsuCj4KPgo+IFdoZXJlIHRvIGdldDoKPiAt LS0tLS0tLS0tLS0tLS0tLQo+ICAgICAgICAgICAgICAgICAgIGtlcmVubDogaHR0cHM6Ly9naXRo dWIuY29tLzAxb3JnL1hlbkdULVByZXZpZXcta2VybmVsLmdpdAo+ICAgICAgICAgICAgICAgICAg IFhlbjogaHR0cHM6Ly9naXRodWIuY29tLzAxb3JnL1hlbkdULVByZXZpZXcteGVuLmdpdAo+ICAg ICAgICAgICAgICAgICAgIFFlbXU6IGh0dHBzOi8vZ2l0aHViLmNvbS8wMW9yZy9YZW5HVC1QcmV2 aWV3LXFlbXUuZ2l0Cj4KPiBQbGVhc2UgcmVmZXIgdG8gdGhlIG5ldyBzZXR1cCBndWlkZSwgd2hp Y2ggcHJvdmlkZXMgc3RlcC10by1zdGVwIGRldGFpbHMgYWJvdXQgYnVpbGRpbmcvY29uZmlndXJp bmcvcnVubmluZyBJbnRlbCBHVlQtZzoKPiAJIGh0dHBzOi8vZ2l0aHViLmNvbS8wMW9yZy9YZW5H VC1QcmV2aWV3LWtlcm5lbC9ibG9iL21hc3Rlci0yMDE1UTEtMy4xOC4wL1hlbkdUX1NldHVwX0d1 aWRlXzIwMTVRMS5wZGYKPgo+IE1vcmUgaW5mb3JtYXRpb24gYWJvdXQgSW50ZWwgR1ZULWcgYmFj a2dyb3VuZCwgYXJjaGl0ZWN0dXJlLCBldGMgY2FuIGJlIGZvdW5kIGF0Ogo+ICAgICAgICAgICAg ICAgICAgIGh0dHBzOi8vd3d3LnVzZW5peC5vcmcvY29uZmVyZW5jZS9hdGMxNC90ZWNobmljYWwt c2Vzc2lvbnMvcHJlc2VudGF0aW9uL3RpYW4KPiAgICAgICAgICAgICAgICAgICBodHRwOi8vZXZl bnRzLmxpbnV4Zm91bmRhdGlvbi5vcmcvc2l0ZXMvZXZlbnRzL2ZpbGVzL3NsaWRlcy9YZW5HVC1Y ZW4lMjBTdW1taXQtdjdfMC5wZGYKPiAgICAgICAgICAgICAgICAgICBodHRwczovLzAxLm9yZy94 ZW4vYmxvZ3Mvc3JjbGFya3gvMjAxMy9ncmFwaGljcy12aXJ0dWFsaXphdGlvbi14ZW5ndAo+Cj4g VGhlIHByZXZpb3VzIHVwZGF0ZSBjYW4gYmUgZm91bmQgaGVyZToKPiAgICAgICAgICAgICAgICAg IGh0dHA6Ly9saXN0cy54ZW4ub3JnL2FyY2hpdmVzL2h0bWwveGVuLWRldmVsLzIwMTQtMTIvbXNn MDA0NzQuaHRtbAo+Cj4KPiBOb3RlCj4gLS0tLS0tLS0tLS0tLS0tCj4gCVRoZSBYZW5HVCBwcm9q ZWN0IHNob3VsZCBiZSBjb25zaWRlcmVkIGEgd29yayBpbiBwcm9ncmVzcywgQXMgc3VjaCBpdCBp cyBub3QgYSBjb21wbGV0ZSBwcm9kdWN0IG5vciBzaG91bGQgaXQgYmUgY29uc2lkZXJlZCBvbmUu LCBFeHRyYSBjYXJlIHNob3VsZCBiZSB0YWtlbiB3aGVuIHRlc3RpbmcgYW5kIGNvbmZpZ3VyaW5n IGEgc3lzdGVtIHRvIHVzZSB0aGUgWGVuR1QgcHJvamVjdC4KPgo+Cj4gLS0KPiBUaGFua3MsCj4g SmlrZQo+Cj4gT24gMDEvMDkvMjAxNSAwNDo1MSBQTSwgSmlrZSBTb25nIHdyb3RlOgo+PiBIaSBh bGwsCj4+Cj4+ICAgICAgV2UncmUgcGxlYXNlZCB0byBhbm5vdW5jZSBhIHB1YmxpYyB1cGRhdGUg dG8gSW50ZWwgR3JhcGhpY3MgVmlydHVhbGl6YXRpb24gVGVjaG5vbG9neSAoSW50ZWwgR1ZULWcs IGZvcm1lcmx5IGtub3duIGFzIFhlbkdUKS4gSW50ZWwgR1ZULWcgaXMgYSBjb21wbGV0ZSB2R1BV IHNvbHV0aW9uIHdpdGggbWVkaWF0ZWQgcGFzcy10aHJvdWdoLCBzdXBwb3J0ZWQgdG9kYXkgb24g NHRoIGdlbmVyYXRpb24gSW50ZWwgQ29yZShUTSkgcHJvY2Vzc29ycyB3aXRoIEludGVsIEdyYXBo aWNzIHByb2Nlc3NvcnMuIEEgdmlydHVhbCBHUFUgaW5zdGFuY2UgaXMgbWFpbnRhaW5lZCBmb3Ig ZWFjaCBWTSwgd2l0aCBwYXJ0IG9mIHBlcmZvcm1hbmNlIGNyaXRpY2FsIHJlc291cmNlcyBkaXJl Y3RseSBhc3NpZ25lZC4gVGhlIGNhcGFiaWxpdHkgb2YgcnVubmluZyBuYXRpdmUgZ3JhcGhpY3Mg ZHJpdmVyIGluc2lkZSBhIFZNLCB3aXRob3V0IGh5cGVydmlzb3IgaW50ZXJ2ZW50aW9uIGluIHBl cmZvcm1hbmNlIGNyaXRpY2FsIHBhdGhzLCBhY2hpZXZlcyBhIGdvb2QgYmFsYW5jZSBhbW9uZyBw ZXJmb3JtYW5jZSwgZmVhdHVyZSwgYW5kIHNoYXJpbmcgY2FwYWJpbGl0eS4gVGhvdWdoIHdlIG9u bHkgc3VwcG9ydCBYZW4gb24gSW50ZWwgUHJvY2Vzc29yIEdyYXBoaWNzIHNvIGZhciwgdGhlIGNv cmUgbG9naWMgY2FuIGJlIGVhc2lseSBwb3J0ZWQgdG8gb3RoZXIgaHlwZXJ2aXNvcnMuICAgVGhl IFhlbkdUIHByb2plY3Qgc2hvdWxkIGJlIGNvbnNpZGVyZWQgYSB3b3JrIGluIHByb2dyZXNzLCBB cyBzdWNoIGl0IGlzIG5vdCBhIGNvbXBsZXRlIHByb2R1Y3Qgbm9yIHNob3VsZCBpdCBiZSBjb25z aWRlcmVkIG9uZS4sIEV4dHJhIGNhcmUgc2hvdWxkIGJlIHRha2VuIHdoZW4gdGVzdGluZyBhbmQg Y29uZmlndXJpbmcgYSBzeXN0ZW0gdG8gdXNlIHRoZSBYZW5HVCBwcm9qZWN0Lgo+Pgo+PiBUaGUg bmV3cyBvZiB0aGlzIHVwZGF0ZToKPj4KPj4gCS0ga2VybmVsIHVwZGF0ZSBmcm9tIDMuMTQuMSB0 byBkcm0taW50ZWwgMy4xNy4wLgo+PiAJLSBXZSBwbGFuIHRvIGludGVncmF0ZSBJbnRlbCBHVlQt ZyBhcyBhIGZlYXR1cmUgaW4gaTkxNSBkcml2ZXIuIFRoYXQgZWZmb3J0IGlzIHN0aWxsIHVuZGVy IHJldmlldywgbm90IGluY2x1ZGVkIGluIHRoaXMgdXBkYXRlIHlldC4KPj4gCS0gTmV4dCB1cGRh dGUgd2lsbCBiZSBhcm91bmQgZWFybHkgQXByLCAyMDE1Lgo+Pgo+PiBUaGlzIHVwZGF0ZSBjb25z aXN0cyBvZjoKPj4KPj4gCS0gSW5jbHVkaW5nIHNvbWUgYnVnIGZpeGVzIGFuZCBzdGFiaWxpdHkg ZW5oYW5jZW1lbnQuCj4+IAktIE1ha2luZyBYZW5HVCBkZXZpY2UgbW9kZWwgdG8gYmUgYXdhcmUg b2YgQnJvYWR3ZWxsLiBJbiB0aGlzIHZlcnNpb24gQkRXIGlzIG5vdCB5ZXQgZnVuY3Rpb25pbmcu Cj4+IAktIEF2YWlsYWJsZSBGZW5jZSByZWdpc3RlcnMgbnVtYmVyIGlzIGNoYW5nZWQgdG8gMzIg ZnJvbSAxNiB0byBhbGlnbiB3aXRoIEhTVyBoYXJkd2FyZS4KPj4gCS0gTmV3IGNhc2NhZGUgaW50 ZXJydXB0IGZyYW1ld29yayBmb3Igc3VwcG9ydGluZyBpbnRlcnJ1cHQgdmlydHVhbGl6YXRpb24g b24gYm90aCBIYXN3ZWxsIGFuZCBCcm9hZHdlbGwuCj4+IAktIEFkZCBiYWNrIHRoZSBnZW1fdmd0 YnVmZmVyLiBUaGUgcHJldmlvdXMgcmVsZWFzZSBkaWQgbm90IGJ1aWxkIHRoYXQgbW9kdWxlIGZv ciAzLjE0IGtlcm5lbC4gSW4gdGhpcyByZWxlYXNlLCB0aGUgbW9kdWxlIGlzIGJhY2sgYW5kIHJl YmFzZWQgdG8gMy4xNy4KPj4gCS0gRW5hYmxlIHRoZSBpcnEgYmFzZWQgY29udGV4dCBzd2l0Y2gg aW4gdmd0IGRyaXZlciwgd2hpY2ggd2lsbCBoZWxwIHJlZHVjZSB0aGUgY3B1IHV0aWxpemF0aW9u IHdoaWxlIGRvaW5nIGNvbnRleHQgc3dpdGNoLCBpdCBpcyBlbmFibGVkIGJ5IGRlZmF1bHQsIGFu ZCBjYW4gYmUgdHVybiBvZmYgYnkga2VybmVsIGZsYWcgaXJxX2Jhc2VkX2N0eF9zd2l0Y2guCj4+ Cj4+Cj4+IFBsZWFzZSByZWZlciB0byB0aGUgbmV3IHNldHVwIGd1aWRlLCB3aGljaCBwcm92aWRl cyBzdGVwLXRvLXN0ZXAgZGV0YWlscyBhYm91dCBidWlsZGluZy9jb25maWd1cmluZy9ydW5uaW5n IEludGVsIEdWVC1nOgo+Pgo+PiAJaHR0cHM6Ly9naXRodWIuY29tLzAxb3JnL1hlbkdULVByZXZp ZXcta2VybmVsL2Jsb2IvbWFzdGVyL1hlbkdUX1NldHVwX0d1aWRlLnBkZgo+Pgo+PiBUaGUgbmV3 IHNvdXJjZSBjb2RlcyBhcmUgYXZhaWxhYmxlIGF0IHRoZSB1cGRhdGVkIGdpdGh1YiByZXBvczoK Pj4KPj4gCUxpbnV4OiBodHRwczovL2dpdGh1Yi5jb20vMDFvcmcvWGVuR1QtUHJldmlldy1rZXJu ZWwuZ2l0Cj4+IAlYZW46IGh0dHBzOi8vZ2l0aHViLmNvbS8wMW9yZy9YZW5HVC1QcmV2aWV3LXhl bi5naXQKPj4gCVFlbXU6IGh0dHBzOi8vZ2l0aHViLmNvbS8wMW9yZy9YZW5HVC1QcmV2aWV3LXFl bXUuZ2l0Cj4+Cj4+Cj4+IE1vcmUgaW5mb3JtYXRpb24gYWJvdXQgSW50ZWwgR1ZULWcgYmFja2dy b3VuZCwgYXJjaGl0ZWN0dXJlLCBldGMgY2FuIGJlIGZvdW5kIGF0Ogo+Pgo+Pgo+PiAJaHR0cHM6 Ly93d3cudXNlbml4Lm9yZy9jb25mZXJlbmNlL2F0YzE0L3RlY2huaWNhbC1zZXNzaW9ucy9wcmVz ZW50YXRpb24vdGlhbgo+PiAJaHR0cDovL2V2ZW50cy5saW51eGZvdW5kYXRpb24ub3JnL3NpdGVz L2V2ZW50cy9maWxlcy9zbGlkZXMvWGVuR1QtWGVuJTIwU3VtbWl0LXY3XzAucGRmCj4+IAlodHRw czovLzAxLm9yZy94ZW4vYmxvZ3Mvc3JjbGFya3gvMjAxMy9ncmFwaGljcy12aXJ0dWFsaXphdGlv bi14ZW5ndAo+Pgo+Pgo+Pgo+PiBUaGUgcHJldmlvdXMgdXBkYXRlIGNhbiBiZSBmb3VuZCBoZXJl Ogo+Pgo+Pgo+PiAJaHR0cDovL2xpc3RzLnhlbi5vcmcvYXJjaGl2ZXMvaHRtbC94ZW4tZGV2ZWwv MjAxNC0xMi9tc2cwMDQ3NC5odG1sCj4+Cj4+Cj4+Cj4+IEFwcHJlY2lhdGUgeW91ciBjb21tZW50 cyEKPj4KPj4KPj4KPj4gLS0KPj4gVGhhbmtzLAo+PiBKaWtlCj4+Cj4+Cj4+IE9uIDEyLzA0LzIw MTQgMTA6NDUgQU0sIEppa2UgU29uZyB3cm90ZToKPj4+IEhpIGFsbCwKPj4+Cj4+PiBXZSdyZSBw bGVhc2VkIHRvIGFubm91bmNlIGEgcHVibGljIHJlbGVhc2UgdG8gSW50ZWwgR3JhcGhpY3MgVmly dHVhbGl6YXRpb24gVGVjaG5vbG9neSAoSW50ZWwgR1ZULWcsIGZvcm1lcmx5IGtub3duIGFzIFhl bkdUKS4gSW50ZWwgR1ZULWcgaXMgYSBjb21wbGV0ZSB2R1BVIHNvbHV0aW9uIHdpdGggbWVkaWF0 ZWQgcGFzcy10aHJvdWdoLCBzdXBwb3J0ZWQgdG9kYXkgb24gNHRoIGdlbmVyYXRpb24gSW50ZWwg Q29yZShUTSkgcHJvY2Vzc29ycyB3aXRoIEludGVsIEdyYXBoaWNzIHByb2Nlc3NvcnMuIEEgdmly dHVhbCBHUFUgaW5zdGFuY2UgaXMgbWFpbnRhaW5lZCBmb3IgZWFjaCBWTSwgd2l0aCBwYXJ0IG9m IHBlcmZvcm1hbmNlIGNyaXRpY2FsIHJlc291cmNlcyBkaXJlY3RseSBhc3NpZ25lZC4gVGhlIGNh cGFiaWxpdHkgb2YgcnVubmluZyBuYXRpdmUgZ3JhcGhpY3MgZHJpdmVyIGluc2lkZSBhIFZNLCB3 aXRob3V0IGh5cGVydmlzb3IgaW50ZXJ2ZW50aW9uIGluIHBlcmZvcm1hbmNlIGNyaXRpY2FsIHBh dGhzLCBhY2hpZXZlcyBhIGdvb2QgYmFsYW5jZSBhbW9uZyBwZXJmb3JtYW5jZSwgZmVhdHVyZSwg YW5kIHNoYXJpbmcgY2FwYWJpbGl0eS4gVGhvdWdoIHdlIG9ubHkgc3VwcG9ydCBYZW4gb24gSW50 ZWwgUHJvY2Vzc29yIEdyYXBoaWNzIHNvIGZhciwgdGhlIGNvcmUgbG9naWMgY2FuIGJlIGVhc2ls eSBwb3J0ZWQgdG8gb3RoZXIgaHlwZXJ2aXNvcnMuCj4+Pgo+Pj4KPj4+IFRoZSBuZXdzIG9mIHRo aXMgdXBkYXRlOgo+Pj4KPj4+Cj4+PiAJLSBrZXJuZWwgdXBkYXRlIGZyb20gMy4xMS42IHRvIDMu MTQuMQo+Pj4KPj4+IAktIFdlIHBsYW4gdG8gaW50ZWdyYXRlIEludGVsIEdWVC1nIGFzIGEgZmVh dHVyZSBpbiBpOTE1IGRyaXZlci4gVGhhdCBlZmZvcnQgaXMgc3RpbGwgdW5kZXIgcmV2aWV3LCBu b3QgaW5jbHVkZWQgaW4gdGhpcyB1cGRhdGUgeWV0Cj4+Pgo+Pj4gCS0gTmV4dCB1cGRhdGUgd2ls bCBiZSBhcm91bmQgZWFybHkgSmFuLCAyMDE1Cj4+Pgo+Pj4KPj4+IFRoaXMgdXBkYXRlIGNvbnNp c3RzIG9mOgo+Pj4KPj4+IAktIFdpbmRvd3MgSFZNIHN1cHBvcnQgd2l0aCBkcml2ZXIgdmVyc2lv biAxNS4zMy4zOTEwCj4+Pgo+Pj4gCS0gU3RhYmlsaXR5IGZpeGVzLCBlLmcuIHN0YWJpbGl6ZSBH UFUsIHRoZSBHUFUgaGFuZyBvY2N1cnJlbmNlIHJhdGUgYmVjb21lcyByYXJlIG5vdwo+Pj4KPj4+ IAktIEhhcmR3YXJlIE1lZGlhIEFjY2VsZXJhdGlvbiBmb3IgRGVjb2RpbmcvRW5jb2RpbmcvVHJh bnNjb2RpbmcsIFZDMSwgSDI2NCBldGMuIGZvcm1hdCBzdXBwb3J0aW5nCj4+Pgo+Pj4gCS0gRGlz cGxheSBlbmhhbmNlbWVudHMsIGUuZy4gRFAgdHlwZSBpcyBzdXBwb3J0ZWQgZm9yIHZpcnR1YWwg UE9SVAo+Pj4KPj4+IAktIERpc3BsYXkgcG9ydCBjYXBhYmlsaXR5IHZpcnR1YWxpemF0aW9uOiB3 aXRoIHRoaXMgZmVhdHVyZSwgZG9tMCBtYW5hZ2VyIGNvdWxkIGZyZWVseSBhc3NpZ24gdmlydHVh bCBEREkgcG9ydHMgdG8gVk0sIG5vdCBuZWNlc3NhcnkgdG8gY2hlY2sgd2hldGhlciB0aGUgY29y cmVzcG9uZGluZyBwaHlzaWNhbCBEREkgcG9ydHMgYXJlIGF2YWlsYWJsZQo+Pj4KPj4+Cj4+Pgo+ Pj4gUGxlYXNlIHJlZmVyIHRvIHRoZSBuZXcgc2V0dXAgZ3VpZGUsIHdoaWNoIHByb3ZpZGVzIHN0 ZXAtdG8tc3RlcCBkZXRhaWxzIGFib3V0IGJ1aWxkaW5nL2NvbmZpZ3VyaW5nL3J1bm5pbmcgSW50 ZWwgR1ZULWc6Cj4+Pgo+Pj4KPj4+IAlodHRwczovL2dpdGh1Yi5jb20vMDFvcmcvWGVuR1QtUHJl dmlldy1rZXJuZWwvYmxvYi9tYXN0ZXIvWGVuR1RfU2V0dXBfR3VpZGUucGRmCj4+Pgo+Pj4KPj4+ Cj4+PiBUaGUgbmV3IHNvdXJjZSBjb2RlcyBhcmUgYXZhaWxhYmxlIGF0IHRoZSB1cGRhdGVkIGdp dGh1YiByZXBvczoKPj4+Cj4+Pgo+Pj4gCUxpbnV4OiBodHRwczovL2dpdGh1Yi5jb20vMDFvcmcv WGVuR1QtUHJldmlldy1rZXJuZWwuZ2l0Cj4+Pgo+Pj4gCVhlbjogaHR0cHM6Ly9naXRodWIuY29t LzAxb3JnL1hlbkdULVByZXZpZXcteGVuLmdpdAo+Pj4KPj4+IAlRZW11OiBodHRwczovL2dpdGh1 Yi5jb20vMDFvcmcvWGVuR1QtUHJldmlldy1xZW11LmdpdAo+Pj4KPj4+Cj4+PiBNb3JlIGluZm9y bWF0aW9uIGFib3V0IEludGVsIEdWVC1nIGJhY2tncm91bmQsIGFyY2hpdGVjdHVyZSwgZXRjIGNh biBiZSBmb3VuZCBhdDoKPj4+Cj4+Pgo+Pj4gCWh0dHBzOi8vd3d3LnVzZW5peC5vcmcvY29uZmVy ZW5jZS9hdGMxNC90ZWNobmljYWwtc2Vzc2lvbnMvcHJlc2VudGF0aW9uL3RpYW4KPj4+Cj4+PiAJ aHR0cDovL2V2ZW50cy5saW51eGZvdW5kYXRpb24ub3JnL3NpdGVzL2V2ZW50cy9maWxlcy9zbGlk ZXMvWGVuR1QtWGVuJTIwU3VtbWl0LXY3XzAucGRmCj4+Pgo+Pj4gCWh0dHBzOi8vMDEub3JnL3hl bi9ibG9ncy9zcmNsYXJreC8yMDEzL2dyYXBoaWNzLXZpcnR1YWxpemF0aW9uLXhlbmd0Cj4+Pgo+ Pj4KPj4+IFRoZSBwcmV2aW91cyB1cGRhdGUgY2FuIGJlIGZvdW5kIGhlcmU6Cj4+Pgo+Pj4KPj4+ IAlodHRwOi8vbGlzdHMueGVuLm9yZy9hcmNoaXZlcy9odG1sL3hlbi1kZXZlbC8yMDE0LTA3L21z ZzAzMjQ4Lmh0bWwKPj4+Cj4+Pgo+Pj4gQXBwcmVjaWF0ZSB5b3VyIGNvbW1lbnRzIQo+Pj4KPj4+ Cj4+PiAtLQo+Pj4gVGhhbmtzLAo+Pj4gSmlrZQo+Pj4KPj4+IE9uIDA3LzI1LzIwMTQgMDQ6MzEg UE0sIEppa2UgU29uZyB3cm90ZToKPj4+PiBIaSBhbGwsCj4+Pj4KPj4+PiBXZSdyZSBwbGVhc2Vk IHRvIGFubm91bmNlIGFuIHVwZGF0ZSB0byBJbnRlbCBHcmFwaGljcyBWaXJ0dWFsaXphdGlvbiBU ZWNobm9sb2d5IChJbnRlbCBHVlQtZywgZm9ybWVybHkga25vd24gYXMgWGVuR1QpLiBJbnRlbCBH VlQtZyBpcyBhIGNvbXBsZXRlIHZHUFUgc29sdXRpb24gd2l0aCBtZWRpYXRlZCBwYXNzLXRocm91 Z2gsIHN1cHBvcnRlZCB0b2RheSBvbiA0dGggZ2VuZXJhdGlvbiBJbnRlbCBDb3JlKFRNKSBwcm9j ZXNzb3JzIHdpdGggSW50ZWwgR3JhcGhpY3MgcHJvY2Vzc29ycy4gQSB2aXJ0dWFsIEdQVSBpbnN0 YW5jZSBpcyBtYWludGFpbmVkIGZvciBlYWNoIFZNLCB3aXRoIHBhcnQgb2YgcGVyZm9ybWFuY2Ug Y3JpdGljYWwgcmVzb3VyY2VzIGRpcmVjdGx5IGFzc2lnbmVkLiBUaGUgY2FwYWJpbGl0eSBvZiBy dW5uaW5nIG5hdGl2ZSBncmFwaGljcyBkcml2ZXIgaW5zaWRlIGEgVk0sIHdpdGhvdXQgaHlwZXJ2 aXNvciBpbnRlcnZlbnRpb24gaW4gcGVyZm9ybWFuY2UgY3JpdGljYWwgcGF0aHMsIGFjaGlldmVz IGEgZ29vZCBiYWxhbmNlIGFtb25nIHBlcmZvcm1hbmNlLCBmZWF0dXJlLCBhbmQgc2hhcmluZyBj YXBhYmlsaXR5LiBUaG91Z2ggd2Ugb25seSBzdXBwb3J0IFhlbiBvbiBJbnRlbCBQcm9jZXNzb3Ig R3JhcGhpY3Mgc28gZmFyLCB0aGUgY29yZSBsb2dpYyBjYW4gYmUgZWFzaWx5IHBvcnRlZCB0byBv dGhlciBoeXBlcnZpc29ycy4KPj4+Pgo+Pj4+IFRoZSBuZXdzIG9mIHRoaXMgdXBkYXRlOgo+Pj4+ Cj4+Pj4gCS0gUHJvamVjdCBjb2RlIG5hbWUgaXMgIlhlbkdUIiwgbm93IG9mZmljaWFsIG5hbWUg aXMgSW50ZWwgR3JhcGhpY3MgVmlydHVhbGl6YXRpb24gVGVjaG5vbG9neSAoSW50ZWwgR1ZULWcp Cj4+Pj4gCS0gQ3VycmVudGx5IEludGVsIEdWVC1nIHN1cHBvcnRzIEludGVsIFByb2Nlc3NvciBH cmFwaGljcyBidWlsdCBpbnRvIDR0aCBnZW5lcmF0aW9uIEludGVsIENvcmUgcHJvY2Vzc29ycyAt IEhhc3dlbGwgcGxhdGZvcm0KPj4+PiAJLSBNb3ZpbmcgZm9yd2FyZCwgWGVuR1Qgd2lsbCBjaGFu Z2UgdG8gcXVhcnRlcmx5IHJlbGVhc2UgY2FkZW5jZS4gTmV4dCB1cGRhdGUgd2lsbCBiZSBhcm91 bmQgZWFybHkgT2N0b2JlciwgMjAxNC4KPj4+Pgo+Pj4+IFRoaXMgdXBkYXRlIGNvbnNpc3RzIG9m Ogo+Pj4+Cj4+Pj4gCS0gU3RhYmlsaXR5IGZpeGVzLCBlLmcuIHN0YWJsZSBEUCBzdXBwb3J0Cj4+ Pj4gCS0gRGlzcGxheSBlbmhhbmNlbWVudHMsIGUuZy4gdmlydHVhbCBtb25pdG9yIHN1cHBvcnQu IFVzZXJzIGNhbiBkZWZpbmUgYSB2aXJ0dWFsIG1vbml0b3IgdHlwZSB3aXRoIGN1c3RvbWl6ZWQg RURJRCBmb3IgdmlydHVhbCBtYWNoaW5lcywgbm90IG5lY2Vzc2FyaWx5IHRoZSBzYW1lIGFzIHBo eXNpY2FsIG1vbml0b3JzLgo+Pj4+IAktIEltcHJvdmVkIHN1cHBvcnQgZm9yIEdQVSByZWNvdmVy eQo+Pj4+IAktIEV4cGVyaW1lbnRhbCBXaW5kb3dzIEhWTSBzdXBwb3J0LiBUbyBkb3dubG9hZCB0 aGUgZXhwZXJpbWVudGFsIHZlcnNpb24sIHNlZSBzZXR1cCBndWlkZSBmb3IgZGV0YWlscwo+Pj4+ IAktIEV4cGVyaW1lbnRhbCBIYXJkd2FyZSBNZWRpYSBBY2NlbGVyYXRpb24gZm9yIGRlY29kaW5n Lgo+Pj4+Cj4+Pj4KPj4+PiBQbGVhc2UgcmVmZXIgdG8gdGhlIG5ldyBzZXR1cCBndWlkZSwgd2hp Y2ggcHJvdmlkZXMgc3RlcC10by1zdGVwIGRldGFpbHMgYWJvdXQgYnVpbGRpbmcvY29uZmlndXJp bmcvcnVubmluZyBJbnRlbCBHVlQtZzoKPj4+Pgo+Pj4+IAlodHRwczovL2dpdGh1Yi5jb20vMDFv cmcvWGVuR1QtUHJldmlldy1rZXJuZWwvYmxvYi9tYXN0ZXIvWGVuR1RfU2V0dXBfR3VpZGUucGRm Cj4+Pj4KPj4+Pgo+Pj4+IFRoZSBuZXcgc291cmNlIGNvZGVzIGFyZSBhdmFpbGFibGUgYXQgdGhl IHVwZGF0ZWQgZ2l0aHViIHJlcG9zOgo+Pj4+Cj4+Pj4gCUxpbnV4OiBodHRwczovL2dpdGh1Yi5j b20vMDFvcmcvWGVuR1QtUHJldmlldy1rZXJuZWwuZ2l0Cj4+Pj4gCVhlbjogaHR0cHM6Ly9naXRo dWIuY29tLzAxb3JnL1hlbkdULVByZXZpZXcteGVuLmdpdAo+Pj4+IAlRZW11OiBodHRwczovL2dp dGh1Yi5jb20vMDFvcmcvWGVuR1QtUHJldmlldy1xZW11LmdpdAo+Pj4+Cj4+Pj4KPj4+PiBNb3Jl IGluZm9ybWF0aW9uIGFib3V0IEludGVsIEdWVC1nIGJhY2tncm91bmQsIGFyY2hpdGVjdHVyZSwg ZXRjIGNhbiBiZSBmb3VuZCBhdDoKPj4+Pgo+Pj4+IAlodHRwczovL3d3dy51c2VuaXgub3JnL2Nv bmZlcmVuY2UvYXRjMTQvdGVjaG5pY2FsLXNlc3Npb25zL3ByZXNlbnRhdGlvbi90aWFuCj4+Pj4g CWh0dHA6Ly9ldmVudHMubGludXhmb3VuZGF0aW9uLm9yZy9zaXRlcy9ldmVudHMvZmlsZXMvc2xp ZGVzL1hlbkdULVhlbiUyMFN1bW1pdC12N18wLnBkZgo+Pj4+IAlodHRwczovLzAxLm9yZy94ZW4v YmxvZ3Mvc3JjbGFya3gvMjAxMy9ncmFwaGljcy12aXJ0dWFsaXphdGlvbi14ZW5ndAo+Pj4+Cj4+ Pj4gVGhlIHByZXZpb3VzIHVwZGF0ZSBjYW4gYmUgZm91bmQgaGVyZToKPj4+Pgo+Pj4+IAlodHRw Oi8vbGlzdHMueGVuLm9yZy9hcmNoaXZlcy9odG1sL3hlbi1kZXZlbC8yMDE0LTAyL21zZzAxODQ4 Lmh0bWwKPj4+Pgo+Pj4+IEFwcHJlY2lhdGUgeW91ciBjb21tZW50cyEKPj4+Pgo+Pj4+Cj4+Pj4K Pj4+Pgo+Pj4+IC0tCj4+Pj4gVGhhbmtzLAo+Pj4+IEppa2UKPj4+PgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752693AbbGGC6g (ORCPT ); Mon, 6 Jul 2015 22:58:36 -0400 Received: from mga09.intel.com ([134.134.136.24]:64390 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751524AbbGGC6a (ORCPT ); Mon, 6 Jul 2015 22:58:30 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.15,419,1432623600"; d="scan'208";a="724049883" Message-ID: <559B3E38.1080707@intel.com> Date: Tue, 07 Jul 2015 10:49:28 +0800 From: Jike Song User-Agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:17.0) Gecko/20130801 Thunderbird/17.0.8 MIME-Version: 1.0 To: xen-devel@lists.xen.org, intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org CC: "White, Michael L" , "Dong, Eddie" , "Li, Susie" , "Cowperthwaite, David J" , "Reddy, Raghuveer" , "Tian, Kevin" , "Zhu, Libo" , "Zhou, Chao" , "Wang, Hongbo" , Zhiyuan Lv Subject: Re: [Intel-gfx] [Announcement] 2015-Q2 release of XenGT - a Mediated Graphics Passthrough Solution from Intel References: <53D215D3.50608@intel.com> <547FCAAD.2060406@intel.com> <54AF967B.3060503@intel.com> <5527CEC4.9080700@intel.com> In-Reply-To: <5527CEC4.9080700@intel.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi all, We're pleased to announce a public update to Intel Graphics Virtualization Technology(Intel GVT-g, formerly known as XenGT). Intel GVT-g is a full GPU virtualization solution with mediated pass-through, starting from 4th generation Intel Core(TM) processors with Intel Graphics processors. A virtual GPU instance is maintained for each VM, with part of performance critical resources directly assigned. The capability of running native graphics driver inside a VM, without hypervisor intervention in performance critical paths, achieves a good balance among performance, feature, and sharing capability. Xen is currently supported on Intel Processor Graphics (a.k.a. XenGT); and the core logic can be easily ported to other hypervisors, for example, the experimental code has been released to support GVT-g running on a KVM hypervisor (a.k.a KVMGT). Tip of repositories ------------------------- Kernel: 5b73653d5ca, Branch: master-2015Q2-3.18.0 Qemu: 2a75bbff62c1, Branch: master Xen: 38c36f0f511b1, Branch: master-2015Q2-4.5 This update consists of: - Change time based scheduler timer to be configurable to enhance stability - Fix stability issues that VM/Dom0 got tdr when hang up at some specific instruction on BDW - Optimize the emulation of el_status register to enhance stability - 2D/3D performance in linux VMs has been improved about 50% on BDW - Fix abnormal idle power consumption issue due to wrong forcewake policy - Fix tdr issue when running 2D/3D/Media workloads in Windows VMs simultaneously - KVM support is still in a separate branch as prototype work. We plan to integrate KVM/Xen support together in the future releases - Next update will be around early Oct, 2015 Notice that this release can support both Intel 4th generation Core CPU(code name: Haswell) and Intel 5th generation Core CPU (code name: Broadwell), while the limitation of the latter include: * 3D conformance may have some failure * Under high demand 3D workloads, stability issues are detected * Multi-monitor scenario is not fully tested, while single monitor of VGA/HDMI/DP/eDP should just work * Hotplug DP may cause black screen even on native environment Where to get kernel: https://github.com/01org/XenGT-Preview-kernel.git xen: https://github.com/01org/XenGT-Preview-xen.git qemu: https://github.com/01org/XenGT-Preview-qemu.git We have a mailing list for GVT-g development, bug report and technical discussion: https://lists.01.org/mailman/listinfo/igvt-g More information about Intel GVT-g background, architecture, etc can be found at: https://www.usenix.org/conference/atc14/technical-sessions/presentation/tian http://events.linuxfoundation.org/sites/events/files/slides/XenGT-Xen%20Summit-v7_0.pdf https://01.org/xen/blogs/srclarkx/2013/graphics-virtualization-xengt Note: The XenGT project should be considered a work in progress. As such it is not a complete product nor should it be considered one. Extra care should be taken when testing and configuring a system to use the XenGT project. -- Thanks, Jike On 04/10/2015 09:23 PM, Jike Song wrote: > Hi all, > > We're pleased to announce a public update to Intel Graphics Virtualization Technology (Intel GVT-g, formerly known as XenGT). Intel GVT-g is a complete vGPU solution with mediated pass-through, supported today on 4th generation Intel Core(TM) processors with Intel Graphics processors. A virtual GPU instance is maintained for each VM, with part of performance critical resources directly assigned. The capability of running native graphics driver inside a VM, without hypervisor intervention in performance critical paths, achieves a good balance among performance, feature, and sharing capability. Though we only support Xen on Intel Processor Graphics so far, the core logic can be easily ported to other hypervisors. > > Tip of repositories > ------------------------- > > Kernel: a011c9f953e, Branch: master-2015Q1-3.18.0 > Qemu: 2a75bbff62c1, Branch: master > Xen: 38c36f0f511b1, Branch: master-2015Q1-4.5 > > Summary this update > ------------------------- > - Preliminary Broadwell support. > - kernel update from drm-intel 3.17.0 to drm-intel 3.18.0(tag: drm-intel-next-fixes-2014-12-17, notice that i915 driver code is much newer than kernel stable version). > - Next update will be around early July, 2015. > - KVM support is still in a separate branch as prototype work. We plan to integrate KVM/Xen support together in future releases. > > This update consists of: > - gvt-g core logic code was moved into i915 driver directory. > - Host mediation is used for dom0 i915 driver access, instead of de-privileged dom0. > - The Xen-specific code was separated from vgt core logic into a new file "driver/xen/xengt.c". > - Broadwell is preliminarily supported in this release. Users could start multiple linux/windows 64-bit virtual machines simultaneously, and perform display switch among them. > > Notice that it is still preliminary release for BDW, which is not yet in the same level of HSW release. Differences include: > * Power/performance tuning on BDW is not yet done. > * Stability needs to be improved. > * No 32-bit guest OS support. > * Multi-monitor scenario is not fully tested, while single monitor of VGA/HDMI/DP/eDP should just work. > > > Where to get: > ----------------- > kerenl: https://github.com/01org/XenGT-Preview-kernel.git > Xen: https://github.com/01org/XenGT-Preview-xen.git > Qemu: https://github.com/01org/XenGT-Preview-qemu.git > > Please refer to the new setup guide, which provides step-to-step details about building/configuring/running Intel GVT-g: > https://github.com/01org/XenGT-Preview-kernel/blob/master-2015Q1-3.18.0/XenGT_Setup_Guide_2015Q1.pdf > > More information about Intel GVT-g background, architecture, etc can be found at: > https://www.usenix.org/conference/atc14/technical-sessions/presentation/tian > http://events.linuxfoundation.org/sites/events/files/slides/XenGT-Xen%20Summit-v7_0.pdf > https://01.org/xen/blogs/srclarkx/2013/graphics-virtualization-xengt > > The previous update can be found here: > http://lists.xen.org/archives/html/xen-devel/2014-12/msg00474.html > > > Note > --------------- > The XenGT project should be considered a work in progress, As such it is not a complete product nor should it be considered one., Extra care should be taken when testing and configuring a system to use the XenGT project. > > > -- > Thanks, > Jike > > On 01/09/2015 04:51 PM, Jike Song wrote: >> Hi all, >> >> We're pleased to announce a public update to Intel Graphics Virtualization Technology (Intel GVT-g, formerly known as XenGT). Intel GVT-g is a complete vGPU solution with mediated pass-through, supported today on 4th generation Intel Core(TM) processors with Intel Graphics processors. A virtual GPU instance is maintained for each VM, with part of performance critical resources directly assigned. The capability of running native graphics driver inside a VM, without hypervisor intervention in performance critical paths, achieves a good balance among performance, feature, and sharing capability. Though we only support Xen on Intel Processor Graphics so far, the core logic can be easily ported to other hypervisors. The XenGT project should be considered a work in progress, As such it is not a complete product nor should it be considered one., Extra care should be taken when testing and configuring a system to use the XenGT project. >> >> The news of this update: >> >> - kernel update from 3.14.1 to drm-intel 3.17.0. >> - We plan to integrate Intel GVT-g as a feature in i915 driver. That effort is still under review, not included in this update yet. >> - Next update will be around early Apr, 2015. >> >> This update consists of: >> >> - Including some bug fixes and stability enhancement. >> - Making XenGT device model to be aware of Broadwell. In this version BDW is not yet functioning. >> - Available Fence registers number is changed to 32 from 16 to align with HSW hardware. >> - New cascade interrupt framework for supporting interrupt virtualization on both Haswell and Broadwell. >> - Add back the gem_vgtbuffer. The previous release did not build that module for 3.14 kernel. In this release, the module is back and rebased to 3.17. >> - Enable the irq based context switch in vgt driver, which will help reduce the cpu utilization while doing context switch, it is enabled by default, and can be turn off by kernel flag irq_based_ctx_switch. >> >> >> Please refer to the new setup guide, which provides step-to-step details about building/configuring/running Intel GVT-g: >> >> https://github.com/01org/XenGT-Preview-kernel/blob/master/XenGT_Setup_Guide.pdf >> >> The new source codes are available at the updated github repos: >> >> Linux: https://github.com/01org/XenGT-Preview-kernel.git >> Xen: https://github.com/01org/XenGT-Preview-xen.git >> Qemu: https://github.com/01org/XenGT-Preview-qemu.git >> >> >> More information about Intel GVT-g background, architecture, etc can be found at: >> >> >> https://www.usenix.org/conference/atc14/technical-sessions/presentation/tian >> http://events.linuxfoundation.org/sites/events/files/slides/XenGT-Xen%20Summit-v7_0.pdf >> https://01.org/xen/blogs/srclarkx/2013/graphics-virtualization-xengt >> >> >> >> The previous update can be found here: >> >> >> http://lists.xen.org/archives/html/xen-devel/2014-12/msg00474.html >> >> >> >> Appreciate your comments! >> >> >> >> -- >> Thanks, >> Jike >> >> >> On 12/04/2014 10:45 AM, Jike Song wrote: >>> Hi all, >>> >>> We're pleased to announce a public release to Intel Graphics Virtualization Technology (Intel GVT-g, formerly known as XenGT). Intel GVT-g is a complete vGPU solution with mediated pass-through, supported today on 4th generation Intel Core(TM) processors with Intel Graphics processors. A virtual GPU instance is maintained for each VM, with part of performance critical resources directly assigned. The capability of running native graphics driver inside a VM, without hypervisor intervention in performance critical paths, achieves a good balance among performance, feature, and sharing capability. Though we only support Xen on Intel Processor Graphics so far, the core logic can be easily ported to other hypervisors. >>> >>> >>> The news of this update: >>> >>> >>> - kernel update from 3.11.6 to 3.14.1 >>> >>> - We plan to integrate Intel GVT-g as a feature in i915 driver. That effort is still under review, not included in this update yet >>> >>> - Next update will be around early Jan, 2015 >>> >>> >>> This update consists of: >>> >>> - Windows HVM support with driver version 15.33.3910 >>> >>> - Stability fixes, e.g. stabilize GPU, the GPU hang occurrence rate becomes rare now >>> >>> - Hardware Media Acceleration for Decoding/Encoding/Transcoding, VC1, H264 etc. format supporting >>> >>> - Display enhancements, e.g. DP type is supported for virtual PORT >>> >>> - Display port capability virtualization: with this feature, dom0 manager could freely assign virtual DDI ports to VM, not necessary to check whether the corresponding physical DDI ports are available >>> >>> >>> >>> Please refer to the new setup guide, which provides step-to-step details about building/configuring/running Intel GVT-g: >>> >>> >>> https://github.com/01org/XenGT-Preview-kernel/blob/master/XenGT_Setup_Guide.pdf >>> >>> >>> >>> The new source codes are available at the updated github repos: >>> >>> >>> Linux: https://github.com/01org/XenGT-Preview-kernel.git >>> >>> Xen: https://github.com/01org/XenGT-Preview-xen.git >>> >>> Qemu: https://github.com/01org/XenGT-Preview-qemu.git >>> >>> >>> More information about Intel GVT-g background, architecture, etc can be found at: >>> >>> >>> https://www.usenix.org/conference/atc14/technical-sessions/presentation/tian >>> >>> http://events.linuxfoundation.org/sites/events/files/slides/XenGT-Xen%20Summit-v7_0.pdf >>> >>> https://01.org/xen/blogs/srclarkx/2013/graphics-virtualization-xengt >>> >>> >>> The previous update can be found here: >>> >>> >>> http://lists.xen.org/archives/html/xen-devel/2014-07/msg03248.html >>> >>> >>> Appreciate your comments! >>> >>> >>> -- >>> Thanks, >>> Jike >>> >>> On 07/25/2014 04:31 PM, Jike Song wrote: >>>> Hi all, >>>> >>>> We're pleased to announce an update to Intel Graphics Virtualization Technology (Intel GVT-g, formerly known as XenGT). Intel GVT-g is a complete vGPU solution with mediated pass-through, supported today on 4th generation Intel Core(TM) processors with Intel Graphics processors. A virtual GPU instance is maintained for each VM, with part of performance critical resources directly assigned. The capability of running native graphics driver inside a VM, without hypervisor intervention in performance critical paths, achieves a good balance among performance, feature, and sharing capability. Though we only support Xen on Intel Processor Graphics so far, the core logic can be easily ported to other hypervisors. >>>> >>>> The news of this update: >>>> >>>> - Project code name is "XenGT", now official name is Intel Graphics Virtualization Technology (Intel GVT-g) >>>> - Currently Intel GVT-g supports Intel Processor Graphics built into 4th generation Intel Core processors - Haswell platform >>>> - Moving forward, XenGT will change to quarterly release cadence. Next update will be around early October, 2014. >>>> >>>> This update consists of: >>>> >>>> - Stability fixes, e.g. stable DP support >>>> - Display enhancements, e.g. virtual monitor support. Users can define a virtual monitor type with customized EDID for virtual machines, not necessarily the same as physical monitors. >>>> - Improved support for GPU recovery >>>> - Experimental Windows HVM support. To download the experimental version, see setup guide for details >>>> - Experimental Hardware Media Acceleration for decoding. >>>> >>>> >>>> Please refer to the new setup guide, which provides step-to-step details about building/configuring/running Intel GVT-g: >>>> >>>> https://github.com/01org/XenGT-Preview-kernel/blob/master/XenGT_Setup_Guide.pdf >>>> >>>> >>>> The new source codes are available at the updated github repos: >>>> >>>> Linux: https://github.com/01org/XenGT-Preview-kernel.git >>>> Xen: https://github.com/01org/XenGT-Preview-xen.git >>>> Qemu: https://github.com/01org/XenGT-Preview-qemu.git >>>> >>>> >>>> More information about Intel GVT-g background, architecture, etc can be found at: >>>> >>>> https://www.usenix.org/conference/atc14/technical-sessions/presentation/tian >>>> http://events.linuxfoundation.org/sites/events/files/slides/XenGT-Xen%20Summit-v7_0.pdf >>>> https://01.org/xen/blogs/srclarkx/2013/graphics-virtualization-xengt >>>> >>>> The previous update can be found here: >>>> >>>> http://lists.xen.org/archives/html/xen-devel/2014-02/msg01848.html >>>> >>>> Appreciate your comments! >>>> >>>> >>>> >>>> >>>> -- >>>> Thanks, >>>> Jike >>>>