From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Auger Subject: Re: [PATCH v16 0/9] KVM platform device passthrough Date: Fri, 05 Jun 2015 09:43:28 +0200 Message-ID: <55715320.5020703@linaro.org> References: <1432717871-2393-1-git-send-email-eric.auger@linaro.org> <1433441461.3510.186.camel@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id D872F5305D for ; Fri, 5 Jun 2015 03:33:40 -0400 (EDT) Received: from mm01.cs.columbia.edu ([127.0.0.1]) by localhost (mm01.cs.columbia.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id zJxaWMkFm8m1 for ; Fri, 5 Jun 2015 03:33:38 -0400 (EDT) Received: from mail-wi0-f176.google.com (mail-wi0-f176.google.com [209.85.212.176]) by mm01.cs.columbia.edu (Postfix) with ESMTPS id A4EA653043 for ; Fri, 5 Jun 2015 03:33:38 -0400 (EDT) Received: by wibut5 with SMTP id ut5so12146541wib.1 for ; Fri, 05 Jun 2015 00:43:43 -0700 (PDT) In-Reply-To: <1433441461.3510.186.camel@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kvmarm-bounces@lists.cs.columbia.edu Sender: kvmarm-bounces@lists.cs.columbia.edu To: Alex Williamson Cc: eric.auger@st.com, patches@linaro.org, qemu-devel@nongnu.org, pbonzini@redhat.com, kvmarm@lists.cs.columbia.edu List-Id: kvmarm@lists.cs.columbia.edu SGkgQWxleCwKT24gMDYvMDQvMjAxNSAwODoxMSBQTSwgQWxleCBXaWxsaWFtc29uIHdyb3RlOgo+ IE9uIFdlZCwgMjAxNS0wNS0yNyBhdCAxMDoxMSArMDEwMCwgRXJpYyBBdWdlciB3cm90ZToKPj4g VGhpcyBzZXJpZXMgYWltcyBhdCBlbmFibGluZyBLVk0gcGxhdGZvcm0gZGV2aWNlIHBhc3N0aHJv dWdoLgo+Pgo+PiBPbiBrZXJuZWwgc2lkZSwgdGhlIHZmaW8gcGxhdGZvcm0gZHJpdmVyIGlzIG5l ZWRlZCwgYXZhaWxhYmxlIGZyb20KPj4gNC4xLXJjMSBvbndhcmRzLgo+Pgo+PiBUaGlzIHNlcmll cyBub3cgb25seSByZWxpZXMgb24gdGhlIGZvbGxvd2luZyBRRU1VIHNlcmllcywgZm9yCj4+IGR5 bmFtaWMgaW5zdGFudGlhdGlvbiBvZiB0aGUgVkZJTyBwbGF0Zm9ybSBkZXZpY2UgZnJvbSBxZW11 IGNvbW1hbmQKPj4gbGluZToKPj4KPj4gWzFdIFtQQVRDSCB2MTIgMC80XSBtYWNodmlydCBkeW5h bWljIHN5c2J1cyBkZXZpY2UgaW5zdGFudGlhdGlvbgo+PiBodHRwOi8vY29tbWVudHMuZ21hbmUu b3JnL2dtYW5lLmNvbXAuZW11bGF0b3JzLmt2bS5hcm0uZGV2ZWwvODg2Cj4gCj4gCj4gSGkgRXJp YywKPiAKPiBOb3cgdGhhdCB5b3VyIHByZS1yZXEgYWJvdmUgaXMgaW4sIGhvdyBkbyB5b3Ugd2Fu dCB0byBwcm9jZWVkIHdpdGggdGhpcwo+IHNlcmllcy4gIFBhdGNoZXMgMS0zIGFyZSBlbnRpcmVs eSBpbiB2ZmlvIHNwYWNlLCBzbyBJIGNhbiBzaWduLW9mZiBhbmQKPiByZXF1ZXN0IGEgcHVsbCBv ZiB0aG9zZS4KVGhhbmtzIGZvciB0aGlzIGVtYWlsIDstKSBJbmRlZWQgSSB3b3VsZCBiZSBkZWZp bml0aXZlbHkgaGFwcHkgdG8gc2VlCnRoaXMgc2VyaWVzIGxhbmRpbmcgaW4gMi40LgotIFllcyBJ IHdvdWxkIGJlIGdyYXRlZnVsIHRvIHlvdSBpZiB5b3UgY291bGQgaGFuZGxlIHBhdGNoZXMgMS0z LgotIDQgaXMgaW4gY29udGludWF0aW9uIG9mIHByZS1yZXEgc2VyaWVzIHNvIFBldGVyIG1pZ2h0 IGJlIHRoZSBiZXN0CmNhbmRpZGF0ZSBmb3IgYWNraW5nIHRoYXQgb25lCi0gVGhlbiBQYW9sbyBn YXZlIGd1aWRhbmNlICYgZm9sbG93ZWQgNC04IHNvIGhlIG1pZ2h0IGJlIHRoZSBiZXN0CmNhbmRp ZGF0ZSBmb3IgYWNraW5nIHRob3NlCi0gYW5kIGV2ZW50dWFsbHkgOSBmb3IgeW91IGFnYWluIDst KQoKVGhhbmtzCgpCZXN0IFJlZ2FyZHMKCkVyaWMKICBJIHRoaW5rIHRoYXQgZ2l2ZXMgeW91IGJh c2ljIGZ1bmN0aW9uYWxpdHksCj4gbW9kdWxvIGR5bmFtaWMgaW5zdGFudGlhdGlvbiBvZiB4Z21h Yy4gIFBhdGNoZXMgNC04IG5lZWQgdG8gZ28gaW4KPiB0aHJvdWdoIG9yIGF0IGxlYXN0IGJlIGFj aydkIGJ5IHRoZWlyIHJlc3BlY3RpdmUgbWFpbnRhaW5lcnMgYmVmb3JlIEkKPiBjYW4gZ2V0IHRv IHBhdGNoIDkuICBMZXQgbWUga25vdy4gIFRoYW5rcywKPiAKPiBBbGV4Cj4gCj4+Cj4+IEJvdGgg c2VyaWVzIGFyZSBjYW5kaWRhdGUgZm9yIFFFTVUgMi40IGFuZCBhdmFpbGFibGUgYXQKPj4KPj4g aHR0cDovL2dpdC5saW5hcm8ub3JnL3Blb3BsZS9lcmljLmF1Z2VyL3FlbXUuZ2l0Cj4+IChicmFu Y2ggdmZpb19pbnRlZ192MTYpCj4+Cj4+IFRoZSBzZXJpZXMgd2FzIHRlc3RlZCBvbiBDYWx4ZWRh IE1pZHdheSAoQVJNdjcpIHdoZXJlIG9uZSB4Z21hYwo+PiBpcyBhc3NpZ25lZCB0byBLVk0gaG9z dCB3aGlsZSB0aGUgc2Vjb25kIG9uZSBpcyBhc3NpZ25lZCB0byB0aGUgZ3Vlc3QuCj4+Cj4+IFdp a2kgZm9yIENhbHhlZGEgTWlkd2F5IHNldHVwOgo+PiBodHRwczovL3dpa2kubGluYXJvLm9yZy9M RUcvRW5naW5lZXJpbmcvVmlydHVhbGl6YXRpb24vUGxhdGZvcm1fRGV2aWNlX1Bhc3N0aHJvdWdo X29uX01pZHdheQo+Pgo+PiBUZXN0ZWQgYnkgVmlrcmFtIFNldGhpIG9uIGEgZGV2aWNlIGZlYXR1 cmluZyAyIE1NSU8gcmVnaW9ucy4KPj4gQ29kZSBhbHNvIGV4ZXJjaXNlZCBzdWNjZXNzZnVsbHkg YnkgVk9TWVMgZm9yIEFNQkEgZGVyaXZhdGl2ZSBzZXJpZXMuCj4+Cj4+IEJlc3QgUmVnYXJkcwo+ Pgo+PiBFcmljCj4+Cj4+IEhpc3Rvcnk6Cj4+Cj4+IHYxNSAtPiB2MTY6Cj4+IC0gbm8gY29kZSBj aGFuZ2UKPj4gLSBhZGQgVmlrcmFtJ3MgVC1iCj4+IC0gcmViYXNlIG9uIDA5MTVhZWQKPj4gLSBy ZW1vdmUgbGludXggaGVhZGVyIHVwZGF0ZSBwYXRjaCBmaWxlCj4+Cj4+IHYxNCAtPiB2MTU6Cj4+ IC0gYWRkIFBldGVyIFItYiBvbiBzeXNidXM6IGFkZCBpcnFfcm91dGluZ19ub3RpZmllcgo+PiAt IGNvcnJlY3QgZ19tYWxsb2MwX24gdXNhZ2UgaW4gc2tlbGV0b24KPj4gLSBjb3JyZWN0IHJldHVy biB2YWx1ZXMgb2YgcmVzZXQgcmVsYXRlZCBmdW5jdGlvbnMKPj4gLSBpbmNsdWRlIENvcm5lbGlh J3MgcGF0Y2ggZm9yIGhlYWRlciB1cGRhdGUKPj4KPj4gdjEzIC0+IHYxNDoKPj4gLSByZW1vdmUg djEzIDksIDEwLCAxMSBwYXRjaCBmaWxlcyBhbmQgcmVwbGFjZSB0aGVtIGJ5IGEgc2luZ2xlIHBh dGNoIGZpbGUKPj4gICAic3lzYnVzOiBhZGQgaXJxX3JvdXRpbmdfbm90aWZpZXIiLgo+PiAtIGlu IHNrZWxldG9uLCBmaXggRU5BTUVUT09MT05HIHNpZ24KPj4gLSByZW1vdmUgVkZJT0lOVHAgdmly dHVhbElEIGluICJhZGQgaXJxIGFzc2lnbm1lbnQiIHBhdGNoIGZpbGUKPj4gLSByZW1vdmVkIHRy YWNlX3ZmaW9fcGxhdGZvcm1fc3RhcnRfZXZlbnRmZAo+Pgo+PiB2MTIgLT4gdjEzOgo+PiAtIGhl YWRlciB1cGRhdGUgYnV0IHNhbWUgdXBkYXRlIHdhcyBhbHJlYWR5IHNlbnQgYnkgQ29ybmVsaWEK Pj4gLSBSZXdvcmsgVkZJTyBzaWduYWxpbmcgJiBpcnFmZCBzZXR1cDogcmVzdG9yZWQgMi1zdGVw IHNldHVwIGZlYXR1cmluZwo+PiAgIGV2ZW50ZmQgc2V0dXAgb24gcmVhbGl6ZSBhbmQgdGhlbiBp cnFmZCBzZXR1cCBvbiBpcnEgYmluZGluZy4KPj4gLSBpcnFmZCBzZXR1cCBub3cgdXNlcyBrdm1f aXJxY2hpcF9hZGRfaXJxZmRfbm90aWZpZXIgYW5kCj4+ICAgc3lzYnVzIGlycV9zZXRfaG9vayBv dmVycmlkZS4gVGhpcyBsZWFkcyB0byB0aGUgaW50cm9kdWN0aW9uIG9mIDYgcGF0Y2gKPj4gICBm aWxlcyBlbmFibGluZyB0aG9zZSAyIGZlYXR1cmVzLiBQYW9sbyBhZHZpc2VkIHRvIGludHJvZHVj ZQo+PiAgIGt2bV9pcnFjaGlwX2FkZF9pcnFmZF9ub3RpZmllciBzZXJpZXMgaW4gdGhlIFZGSU8g b25lLiBJIGRpZCB0aGUKPj4gICBzYW1lIGZvciBpcnFfc2V0X2hvb2sgc2VyaWVzIGJ1dCBpZiBp dCBpcyBiZXR0ZXIgSSBjYW4gc3VibWl0IGl0IGFzaWRlLgo+PiAtIGFib3ZlIGNoYW5nZXMgbWFk ZSBwb3NzaWJsZSB0byByZW1vdmUKPj4gICB4IGh3L3ZmaW8vcGxhdGZvcm06IGFkZCBjYXBhYmls aXR5IHRvIHN0YXJ0IElSUSBwcm9wYWdhdGlvbiIKPj4gICB4IGh3L2FybS92aXJ0OiBzdGFydCBW RklPIElSUSBwcm9wYWdhdGlvbgo+PiAtIGluIHN5c2J1cy1mZHQuYywgdXNlIHBsYXRmb3JtX2J1 c19nZXRfbW1pb19hZGRyIGluc3RlYWQgb2YgZGVwcmVjYXRlZAo+PiAgIG1taW9bMF0gcHJvcGVy dHkuIFRoYW5rcyB0byBCaGFyYXQgd2hvIHBvaW50ZWQgdGhpcyBpc3N1ZSBvdXQuIGFsc28KPj4g ICBjcHVfdG9fYmUzMiB3YXMgdXNlZCBmb3Igc2l6ZSBhbmQgYmFzZSAoVmlrcmFtIGlucHV0KSAu Cj4+IC0gaW4gc2tlbGV0b24gbWlzYyBjb3JyZWN0aW9ucyBmb2xsb3dpbmcgQWxleCByZXZpZXcu Cj4+Cj4+IHYxMS0+djEyOgo+PiAtIGFkZCB4LW1tYXAgcHJvcGVydHkgZGVmaW5pdGlvbiwgd2l0 aG91dCB3aGljaCB0aGUgZGVmYXVsdCB2YWx1ZSBvZgo+PiAgIHZiYXNlZGV2LmFsbG93X21tYXAg aXMgZmFsc2UsIGhlbmNlIHByZXZlbnRpbmcgdGhlIHJlZyBzcGFjZSBmcm9tCj4+ICAgYmVpbmcg bW1hcHBlZC4KPj4KPj4gdjEwLT52MTE6Cj4+IC0gcmViYXNlIG9udG8gdjIuMy4wLXJjMCAobWFp bmx5IHJlbGF0ZWQgdG8gUENJZSBzdXBwb3J0IGluIHZpcnQpCj4+IC0gYWRkIGRtYS1jb2hlcmVu dCBwcm9wZXJ0eSBmb3IgY2FseGVkYSBtaWR3YXkgKGZpeCByZXZlYWxlZCBieSByZW1vdmFsCj4+ ICAgb2Yga2VybmVsLXNpZGUgInZmaW86IHR5cGUxOiBzdXBwb3J0IGZvciBBUk0gU01NVVMgd2l0 aCBWRklPX0lPTU1VX1RZUEUxIikKPj4gLSB2aXJ0IG1vZGlmaWNhdGlvbnMgdG8gc3RhcnQgVkZJ TyBJUlEgZm9yd2FyZGluZyBhcmUgbm93IGluIGEgc2VwYXJhdGUKPj4gICBwYXRjaAo+PiAtIHJl YXJyYW5nZSBsaW51eCBoZWFkZXIgZXhwb3J0cyAodGhvc2UgYXJlIHN0aWxsIHBhcnRpYWwgZXhw b3J0cwo+PiAgIHdhaXRpbmcgZm9yIGRlZmluaXRpdmUgNC4xLXJjMCkKPj4gLSB0YWtlIGludG8g YWNjb3VudCBBbGV4IEJlbm7Dg8KpZSBjb21tZW50czoKPj4gICAtIHVzZSBnX21hbGxvYzBfbiBp bnN0ZWFkIG9mIGdfbWFsbG9jMAo+PiAgIC0gdXNlIGJsb2NrIGRlY2xhcmF0aW9ucyB3aGVuIHBv c3NpYmxlCj4+ICAgLSByZXdvcmsgcmVhZGxpbmsgcmV0dXJuZWQgdmFsdWUgdHJlYXRtZW50Cj4+ ICAgLSB1c2UgZ19zdHJsY2F0IGluIHBsYWNlIHN0cm5jYXQKPj4gICAtIHJlLWFycmFuZ2UgbXV0 ZXggbG9ja2luZyBmb3IgbXVsdGlwbGUgSVJRIHN1cHBvcnQgKHVzZXItc2lkZSBoYW5kbGVkCj4+ ICAgICBldmVudGZkcykKPj4gLSB1c2UgZ19zbnByaW50ZiBpbnN0ZWFkIG9mIHNucHJpbnRmCj4+ IC0gY2hhbmdlIHRoZSBvcmRlciBvZiBmdW5jdGlvbnMgdG8gYXZvaWQgcHJlLWRlY2xhcmF0aW9u IGluIHBsYXRmb3JtLmMKPj4gLSBhZGQgZmxhZ3MgaW4gVkZJT0lOVHAgc3RydWN0IHRvIGRldGVj dCB3aGV0aGVyIHRoZSBJUlEgaXMgYXV0b21hc2tlZAo+PiAtIHNvbWUgY29tbWVudCByZXdyaXRp bmcKPj4KPj4gdjktPnYxMDoKPj4gLSByZWJhc2Ugb24gInZmaW86IGNsZWFudXAgdmZpb19nZXRf ZGV2aWNlIGVycm9yIHBhdGgsIHJlbW92ZQo+PiAgIHZmaW9fcG9wdWxhdGVfZGV2aWNlIjogdmZp b19wb3B1bGF0ZV9kZXZpY2Ugbm8gbW9yZSBjYWxsZWQgaW4KPj4gICB2ZmlvX2dldF9kZXZpY2Ug YnV0IGluIHZmaW9fYmFzZV9kZXZpY2VfaW5pdAo+PiAtIHVwZGF0ZSBWRklPIGhlYWRlciBhY2Nv cmRpbmcgdG8gdmZpbyBwbGF0Zm9ybSBkcml2ZXIgdjEzIChubyBBTUJBKQo+Pgo+PiB2OC0+djk6 Cj4+IC0gcmViYXNlIG9uIDIuMi4wIGFuZCBtYWNodmlydCBkeW5hbWljIHN5c2J1cyBpbnN0YW50 aWF0aW9uIHYxMAo+PiAtIHY4IDEtMTEgd2VyZSBwdWxsZWQKPj4gLSBwYXRjaCBmaWxlcyByZWxh dGVkIHRvIGZvcndhcmRpbmcgYXJlIG1vdmVkIGluIGEgc2VwZXJhdGUgc2VyaWVzIHNpbmNlCj4+ ICAgaXQgZGVwZW5kcyBvbiBrZXJuZWwgc2VyaWVzIHN0aWxsIGluIFJGQy4KPj4gLSBpbnRyb2R1 Y3Rpb24gb2YgYmFzaWMgVkZJTyBwbGF0Zm9ybSBkZXZpY2Ugc3BsaXQgaW50byAzIHBhdGNoIGZp bGVzIHRvCj4+ICAgZWFzZSB0aGUgcmV2aWV3IChob3BlIGl0IHdpbGwgaGVscCkuCj4+IC0gYWRk IGFuIGF1dGhvciBpbiBwbGF0Zm9ybS5jCj4+IC0gYWRkIGRlYWxsb2NhdGlvbiBpbiB2ZmlvX3Bv cHVsYXRlX2RldmljZSBlcnJvciBjYXNlCj4+IC0gYWRkIHBhdGNoIGZpbGUgZG9pbmcgdGhlIFZG SU8gaGVhZGVyIHN5bmMKPj4gLSB1c2UgVkZJT19ERVZJQ0VfRkxBR1NfUExBVEZPUk0gaW4gdmZp b19wb3B1bGF0ZV9kZXZpY2UKPj4gLSByZW5hbWUgY2FseGVkYV94Z21hYy5jIGludG8gY2FseGVk YS14Z21hYy5jCj4+IC0gc3lzYnVzLWZkdDogYWRkX2NhbHhlZGFfbWlkd2F5X3hnbWFjX2ZkdF9u b2RlIGdfZnJlZSBpbiBjYXNlIG9mIGVycm9ycwo+PiAtIHJld29yZCBvZiBsaW51eC1oZWFkZXJz IHBhdGNoIGZpbGVzCj4+Cj4+IHY3LT52ODoKPj4gLSByZWJhc2Ugb24gdjIuMi4wLXJjMyBhbmQg aW50ZWdyYXRlCj4+ICAgIkFkZCBza2lwX2R1bXAgZmxhZyB0byBpZ25vcmUgbWVtb3J5IHJlZ2lv biBkdXJpbmcgZHVtcCIKPj4gLSBLVk0gaGVhZGVyIGV2b2x1dGlvbiB3aXRoIHN1YmluZGV4IGFk ZGl0aW9uIGluIGt2bV9hcmNoX2ZvcndhcmRlZF9pcnEKPj4gLSBzcGxpdCBbUEFUQ0ggdjcgMDMv MTZdIGh3L3ZmaW8vcGNpOiBpbnRyb2R1Y2UgVkZJT0RldmljZSBpbnRvIDQgcGF0Y2hlcwo+PiAt IHZmaW9fY29tcHV0ZV9uZWVkc19yZXNldCBkb2VzIG5vdCByZXR1cm4gYm9vbCBhbnltb3JlCj4+ IC0gYWRkIHNvbWUgY29tbWVudHMgYWJvdXQgZXhwb3NlZCBNTUlPIHJlZ2lvbiBhbmQgSVJRIGlu IGNhbHhlZGEgeGdtYWMKPj4gICBkZXZpY2UKPj4gLSB2ZmlvX1t1bl1tYXNrX2lycWluZGV4IHJl bmFtZWQgaW50byB2ZmlvX1t1bl1tYXNrX3NpbmdsZV9pcnFpbmRleAo+PiAtIHJld29yayBJUlEg c3RhcnR1cDogZm9ybWVyIG1hY2hpbmUgaW5pdCBkb25lIG5vdGlmaWVyIGlzIHJlcGxhY2VkIGJ5 IGEKPj4gICByZXNldCBub3RpZmllci4gbWFjaGluZSBmaWxlIHBhc3NlcyB0aGUgaW50ZXJydXB0 IGNvbnRyb2xsZXIKPj4gICBEZXZpY2VTdGF0ZSBoYW5kbGUgKG5vdCB0aGUgcGxhdGZvcm0gYnVz IGZpcnN0IGlycSBwYXJhbWV0ZXIpLgo+PiAtIHN5c2J1cy1mZHQ6Cj4+ICAgLSBtb3ZlIHRoZSBh ZGRfZmR0X25vZGVfZnVuY3Rpb25zIGFycmF5IGRlY2xhcmF0aW9uIGJldHdlZW4gdGhlIGRldmlj ZQo+PiAgICAgc3BlY2lmaWMgY29kZSBhbmQgdGhlIGdlbmVyaWMgY29kZSB0byBhdm9pZCBmb3J3 YXJkIGRlY2xhcmF0aW9ucyBvZgo+PiAgICAgZGVjaWNlIHNwZWNpZmljIGZ1bmN0aW9ucwo+PiAg IC0gcmVuYW1lIGFkZF9iYXNpY192ZmlvX2ZkdF9ub2RlIGludG8gYWRkX2NhbHhlZGFfbWlkd2F5 X3hnbWFjX2ZkdF9ub2RlCj4+ICAgICBlbXBoYXNpemluZyB0aGUgZmFjdCBpdCBpcyB4Z21hYyBz cGVjaWZpYwo+Pgo+PiB2Ni0+djc6Cj4+IC0gZmFrZSBpbmplY3Rpb24gdGVzdCBtb2RhbGl0eSBy ZW1vdmVkCj4+IC0gVkZJT19ERVZJQ0VfVFlQRV9QTEFURk9STSBvbmx5IGludHJvZHVjZWQgd2l0 aCBWRklPIHBsYXRmb3JtCj4+IC0gbmV3IGhlbHBlciBmdW5jdGlvbnMgdG8gc3RhcnQgVkZJTyBJ UlEgb24gbWFjaGluZSBpbml0IGRvbmUgbm90aWZpZXIKPj4gICAoaW50cm9kdWNlZCBpbiBody92 ZmlvL3BsYXRmb3JtOiBhZGQgdmZpby1wbGF0Zm9ybSBzdXBwb3J0IGFuZCBub3RpZmllcgo+PiAg IHJlZ2lzdHJhdGlvbiBpbnZva2VkIGluIGh3L2FybS92aXJ0OiBhZGQgc3VwcG9ydCBmb3IgVkZJ TyBkZXZpY2VzKS4KPj4gICB2ZmlvX3N0YXJ0X2lycV9pbmplY3Rpb24gaXMgcmVwbGFjZWQgYnkg dmZpb19yZWdpc3Rlcl9pcnFfc3RhcnRlci4KPj4KPj4gdjUtPnY2Ogo+PiAtIHJlYmFzZSBvbiAy LjFyYzUgUENJIGNvZGUKPj4gLSBmb3J3YXJkZWQgSVJRIGZpcnN0IGludGVncmF0b24KPj4gLSB2 ZmlvX2RldmljZSBwcm9wZXJ0eSByZW5hbWVkIGludG8gaG9zdCBwcm9wZXJ0eQo+PiAtIHNwbGl0 IElSUSBzZXR1cCBpbiBkaWZmZXJlbnQgZnVuY3Rpb25zIHRoYXQgbWF0Y2ggdGhlIDMgc3VwcG9y dGVkCj4+ICAgaW5qZWN0aW9uIHRlY2huaXF1ZXMgKHVzZXIgaGFuZGxlZCBldmVudGZkLCBpcnFm ZCwgZm9yd2FyZGVkIElSUSk6Cj4+ICAgcmVtb3ZlcyBkeW5hbWljIHN3aXRjaCBiZXR3ZWVuIGlu amVjdGlvbiBtZXRob2RzCj4+IC0gaW50cm9kdWNlIGZha2UgaW50ZXJydXB0cyBhcyBhIHRlc3Qg bW9kYWxpdHk6Cj4+ICAgeCBtYWtlcyBwb3NzaWJsZSB0byB0ZXN0IG11bHRpcGxlIElSUSB1c2Vy LXNpZGUgaGFuZGxpbmcuCj4+ICAgeCB0aGlzIGlzIGEgdGVzdCBmZWF0dXJlIG9ubHk6IGVuYWJs ZSB0byB0cmlnZ2VyIGEgZmQgYXMgaWYgdGhlCj4+ICAgICByZWFsIHBoeXNpY2FsIElSUSBoaXQu IE5vIHZpcnR1YWwgSVJRIGlzIGluamVjdGVkIGludG8gdGhlIGd1ZXN0Cj4+ICAgICBidXQgaGFu ZGxpbmcgaXMgc2ltdWxhdGVkIHNvIHRoYXQgdGhlIHN0YXRlIG1hY2hpbmUgY2FuIGJlIHRlc3Rl ZAo+PiAtIHVzZXIgaGFuZGxlZCBldmVudGZkOgo+PiAgIHggYWRkIG11dGV4IHRvIHByb3RlY3Qg SVJRIHN0YXRlICYgbGlzdCBtYW5pcHVsYXRpb24sCj4+ICAgeCBjb3JyZWN0IG1pc2xlYWRpbmcg Y29tbWVudCBpbiB2ZmlvX2ludHBfaW50ZXJydXB0Lgo+PiAgIHggRml4IGJ1Z3MgdXNpbmcgZmFr ZSBpbnRlcnJ1cHQgbW9kYWxpdHkKPj4gLSBpcnFmZCBubyBtb3JlIGFkdmVydGlzZWQgaW4gdGhp cyBwYXRjaHNldCAoaGFuZGxlZCBpbiBbM10pCj4+IC0gVkZJT1BsYXRmb3JtRGV2aWNlQ2xhc3Mg YmVjb21lcyBhYnN0cmFjdCBhbmQgQ2FseGVkYSB4Z21hYyBkZXZpY2UKPj4gICBhbmQgY2xhc3Mg aXMgcmUtaW50cm9kdWNlZCAoYXMgcGVyIHY0KQo+PiAtIGFsbCBEUFJJTlRGIHJlbW92ZWQgaW4g cGxhdGZvcm0gYW5kIHJlcGxhY2VkIGJ5IHRyYWNlLXBvaW50cwo+PiAtIGNvcnJlY3RzIGNvbXBp bGF0aW9uIHdpdGggY29uZmlndXJlIC0tZGlzYWJsZS1rdm0KPj4gLSBzaW1wbGlmaWVzIHRoZSBz cGxpdCBmb3IgdmZpb19nZXRfZGV2aWNlIGFuZCBpbnRyb2R1Y2UgYSB1bmlxdWUKPj4gICBzcGVj aWFsaXplZCBmdW5jdGlvbiBuYW1lZCB2ZmlvX3BvcHVsYXRlX2RldmljZQo+PiAtIGdyb3VwX2xp c3QgcmVuYW1lZCBpbnRvIHZmaW9fZ3JvdXBfbGlzdAo+PiAtIGh3L2FybS9keW5fc3lzYnVzX2Rl dnRyZWUuYyBjdXJyZW50bHkgb25seSBzdXBwb3J0IHZmaW8tY2FseGVkYS14Z21hYwo+PiAgIGlu c3RhbnRpYXRpb24uIE5lZWRzIHRvIGJlIHNwZWNpYWxpemVkIGZvciBvdGhlciBWRklPIGRldmlj ZXMKPj4gLSBmaXggMiBidWdzIGluIGR5bl9zeXNidXNfZGV2dHJlZShyZWdfYXR0ciBpbmRleCBh bmQgY29tcGF0KQo+Pgo+PiB2NC0+djU6Cj4+IC0gcmViYXNlIG9uIHYyLjEuMCBQQ0kgY29kZQo+ PiAtIHRha2UgaW50byBhY2NvdW50IEFsZXggV2lsbGlhbXNvbiBjb21tZW50cyBvbiBQQ0kgY29k ZSByZXdvcmsKPj4gICAtIHRyYWNlIHVwZGF0ZXMgaW4gdmZpb19yZWdpb25fd3JpdGUvcmVhZAo+ PiAgIC0gcmVtb3ZlIGZkIGZyb20gVkZJT1JlZ2lvbgo+PiAgIC0gZ2V0L3B1dCBja2VhbnVwCj4+ IC0gYnVnIGZpeDogYmFyIHJlZ2lvbidzIHZiYXNlZGV2IGZpZWxkIGR1bHkgaW5pdGlhbGl6YXRp b24KPj4gLSBtaXNjIGNsZWFudXBzIGluIHBsYXRmb3JtIGRldmljZQo+PiAtIGRldmljZSB0cmVl IG5vZGUgZ2VuZXJhdGlvbiByZW1vdmVkIGZyb20gZGV2aWNlIGFuZCBoYW5kbGVkIGluCj4+ICAg aHcvYXJtL2R5bl9zeXNidXNfZGV2dHJlZS5jCj4+IC0gcmVtb3ZlICJody92ZmlvOiBhZGQgYW4g ZXhhbXBsZSBjYWx4ZWRhX3hnbWFjIjogd2l0aCByZW1vdmFsIG9mCj4+ICAgZGV2aWNlIHRyZWUg bm9kZSBnZW5lcmF0aW9uIHdlIGRvIG5vdCBoYXZlIHNvIG1hbnkgdGhpbmdzIHRvCj4+ICAgaW1w bGVtZW50IGluIHRoYXQgZGVyaXZlZCBkZXZpY2UgeWV0LiBNYXkgYmUgcmUtaW50cm9kdWNlZCBs YXRlcgo+PiAgIG9uIGlmIG5lZWRlZCB0eXBpY2FsbHkgZm9yIHJlc2V0L21pZ3JhdGlvbi4KPj4g LSBubyBHU0kgcm91dGluZyB0YWJsZSBhbnltb3JlCj4+Cj4+IHYzLT52NCBjaGFuZ2VzIChFcmlj IEF1Z2VyLCBBbHZpc2UgUmlnbykKPj4gLSByZWJhc2Ugb24gbGFzdCBWRklPIFBDSSBjb2RlICh2 Mi4xLjAtcmMwKQo+PiAtIGZ1bGwgZ2l0IGhpc3RvcnkgcmV3b3JrIHRvIGVhc2UgUENJIGNvZGUg Y2hhbmdlIHJldmlldwo+PiAtIG12IGluY2x1ZGUgZmlsZXMgaW4gaHcvdmZpbwo+PiAtIERQUklO VEYgcmVmb3JtYXR0aW5nIHRlbXBvcmFyaWx5IG1vdmVkIG91dAo+PiAtIHN1cHBvcnQgb2YgVkZJ TyB2aXJxIChyZW1vdmFsIG9mIHJlc2FtcGxlZmQgaGFuZGxlciBvbiB1c2VyLXNpZGUpCj4+IC0g aW50ZWdyYXRpb24gd2l0aCBzeXNidXMgZHluYW1pYyBpbnN0YW50aWF0aW9uIGZyYW13b3JrCj4+ IC0gcmVtb3ZhbCBvZiB1bnJlYWxpemUgYW5kIGNsZWFudXAgcm91dGluZXMgdW50aWwgaXQgaXMg YmV0dGVyCj4+ICAgdW5kZXJzdG9vZCB3aGF0IGlzIHJlYWxseSBuZWVkZWQKPj4gLSBTdXBwb3J0 IG9mIFZGSU8gZm9yIEFtYmEgZGV2aWNlcyBzaG91bGQgYmUgaGFuZGxlZCBpbiBhbiBpbmhlcml0 ZWQKPj4gICBkZXZpY2UgdG8gc3BlY2lhbGl6ZSB0aGUgZGV2aWNlIHRyZWUgZ2VuZXJhdGlvbiAo Y2xvY2sgaGFuZGxlIGN1cnJlbnRseQo+PiAgIG1pc3NpbmcgaW4gZnJhbWV3b3JrIGhvd2V2ZXIp Cj4+IC0gIkFsd2F5cyB1c2UgZXZlbnRmZCBhcyBub3RpZnlpbmcgbWVjaGFuaXNtIiB0ZW1wb3Jh cmlseSBtb3ZlZCBvdXQKPj4gLSBzdGF0aWMgaW5zdGFudGlhdGlvbiBpcyBub3QgbWFpbnN0cmVh bSAoYWx0aG91Z2ggaXQgcmVtYWlucyBwb3NzaWJsZSkKPj4gICBub3RlIGlmIHN0YXRpYyBpbnN0 YW50aWF0aW9uIGlzIHVzZWQsIGlycWZkIG11c3QgYmUgc2V0dXAgaW4gbWFjaGluZSBmaWxlCj4+ ICAgd2hlbiB2aXJ0dWFsIElSUSBpcyBrbm93bgo+PiAtIGNyZWF0ZSB0aGUgR1NJIHJvdXRpbmcg dGFibGUgb24gcWVtdSBzaWRlCj4+Cj4+IHYyLT52MyBjaGFuZ2VzIChBbHZpc2UgUmlnbywgRXJp YyBBdWdlcik6Cj4+IC0gRm9sbG93aW5nIEFsZXggVyByZWNvbW1hbmRhdGlvbnMsIGZ1cnRoZXIg ZWZmb3J0cyB0byBmYWN0b3JpemUgdGhlCj4+ICAgY29kZSBiZXR3ZWVuIFBDSTppbnRyb2R1Y3Rp b24gb2YgVkZJT0RldmljZSBhbmQgVkZJT1JlZ2lvbgo+PiAgIGFzIGJhc2UgY2xhc3Nlcwo+PiAt IHVuaXF1ZSByZXNldCBoYW5kbGVyIGZvciBwbGF0Zm9ybSBhbmQgUENJCj4+IC0gY2xlYW51cCBm b2xsb3dpbmcgS2ltJ3MgY29tbWVudHMKPj4gLSBtdWx0aXBsZSBJUlEgc3VwcG9ydCBtZWNoYW5p Y3Mgc2hvdWxkIGJlIGluIHBsYWNlIGFsdGhvdWdoIG5vdAo+PiAgIHRlc3RlZAo+PiAtIEJldHRl ciBoYW5kbGluZyBvZiBNTUlPIG11bHRpcGxlIHJlZ2lvbnMKPj4gLSBOZXcgZmVhdHVyZXMgYW5k IGZpeGVzIGJ5IEFsdmlzZSAobXVsdGlwbGUgY29tcGF0IHN0cmluZywgZXhlYwo+PiAgIGZsYWcs IGZvcmNlIGV2ZW50ZmQgdXNhZ2UsIGFtYmEgZGV2aWNlIHRyZWUgc3VwcG9ydCkKPj4gLSBpcnFm ZCBzdXBwb3J0Cj4+Cj4+IHYxLT52MiBjaGFuZ2VzIChLaW0gUGhpbGxpcHMsIEVyaWMgQXVnZXIp Ogo+PiAtIElSUSBpbml0aWFsIHN1cHBvcnQgKGxlZ2FjeSBtb2RlIHdoZXJlIGV2ZW50ZmRzIGFy ZSBoYW5kbGVkIG9uCj4+ICAgdXNlciBzaWRlKQo+PiAtIGhhY2tlZCBkeW5hbWljIGluc3RhbnRp YXRpb24KPj4KPj4gdjEgKEtpbSBQaGlsbGlwcyk6Cj4+IC0gaW5pdGlhbCBzcGxpdCBiZXR3ZWVu IFBDSSBhbmQgcGxhdGZvcm0KPj4gLSBNTUlPIHN1cHBvcnQgb25seQo+PiAtIHN0YXRpYyBpbnN0 YW50aWF0aW9uCj4+Cj4+Cj4+IEVyaWMgQXVnZXIgKDkpOgo+PiAgIGh3L3ZmaW8vcGxhdGZvcm06 IHZmaW8tcGxhdGZvcm0gc2tlbGV0b24KPj4gICBody92ZmlvL3BsYXRmb3JtOiBhZGQgaXJxIGFz c2lnbm1lbnQKPj4gICBody92ZmlvL3BsYXRmb3JtOiBjYWx4ZWRhIHhnbWFjIGRldmljZQo+PiAg IGh3L2FybS9zeXNidXMtZmR0OiBlbmFibGUgdmZpby1jYWx4ZWRhLXhnbWFjIGR5bmFtaWMgaW5z dGFudGlhdGlvbgo+PiAgIGt2bTogcmVuYW1lIGt2bV9pcnFjaGlwX1thZGQscmVtb3ZlXV9pcnFm ZF9ub3RpZmllciB3aXRoIGdzaSBzdWZmaXgKPj4gICBrdm0tYWxsLmM6IGFkZCBxZW11X2lycS9n c2kgaGFzaCB0YWJsZSBhbmQgdXRpbGl0eSByb3V0aW5lcwo+PiAgIGludGM6IGFybV9naWNfa3Zt OiBzZXQgdGhlIHFlbXVfaXJxL2dzaSBtYXBwaW5nCj4+ICAgc3lzYnVzOiBhZGQgaXJxX3JvdXRp bmdfbm90aWZpZXIKPj4gICBody92ZmlvL3BsYXRmb3JtOiBhZGQgaXJxZmQgc3VwcG9ydAo+Pgo+ PiAgaHcvYXJtL3N5c2J1cy1mZHQuYyAgICAgICAgICAgICAgICAgIHwgIDcyICsrKysKPj4gIGh3 L2NvcmUvc3lzYnVzLmMgICAgICAgICAgICAgICAgICAgICB8ICAgNiArCj4+ICBody9pbnRjL2Fy bV9naWNfa3ZtLmMgICAgICAgICAgICAgICAgfCAgIDYgKwo+PiAgaHcvczM5MHgvdmlydGlvLWNj dy5jICAgICAgICAgICAgICAgIHwgICA4ICstCj4+ICBody92ZmlvL01ha2VmaWxlLm9ianMgICAg ICAgICAgICAgICAgfCAgIDIgKwo+PiAgaHcvdmZpby9jYWx4ZWRhLXhnbWFjLmMgICAgICAgICAg ICAgIHwgIDU0ICsrKwo+PiAgaHcvdmZpby9wY2kuYyAgICAgICAgICAgICAgICAgICAgICAgIHwg ICA2ICstCj4+ICBody92ZmlvL3BsYXRmb3JtLmMgICAgICAgICAgICAgICAgICAgfCA3MjMgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPj4gIGh3L3ZpcnRpby92aXJ0aW8tcGNp LmMgICAgICAgICAgICAgICB8ICAgNCArLQo+PiAgaW5jbHVkZS9ody9zeXNidXMuaCAgICAgICAg ICAgICAgICAgIHwgICAxICsKPj4gIGluY2x1ZGUvaHcvdmZpby92ZmlvLWNhbHhlZGEteGdtYWMu aCB8ICA0NiArKysKPj4gIGluY2x1ZGUvaHcvdmZpby92ZmlvLWNvbW1vbi5oICAgICAgICB8ICAg MSArCj4+ICBpbmNsdWRlL2h3L3ZmaW8vdmZpby1wbGF0Zm9ybS5oICAgICAgfCAgNzcgKysrKwo+ PiAgaW5jbHVkZS9zeXNlbXUva3ZtLmggICAgICAgICAgICAgICAgIHwgIDExICstCj4+ICBrdm0t YWxsLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNDQgKystCj4+ICBrdm0tc3R1Yi5j ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDcgKy0KPj4gIHRyYWNlLWV2ZW50cyAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAxMyArCj4+ICAxNyBmaWxlcyBjaGFuZ2VkLCAxMDY0IGlu c2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQo+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGh3L3Zm aW8vY2FseGVkYS14Z21hYy5jCj4+ICBjcmVhdGUgbW9kZSAxMDA2NDQgaHcvdmZpby9wbGF0Zm9y bS5jCj4+ICBjcmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVkZS9ody92ZmlvL3ZmaW8tY2FseGVkYS14 Z21hYy5oCj4+ICBjcmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVkZS9ody92ZmlvL3ZmaW8tcGxhdGZv cm0uaAo+Pgo+IAo+IAo+IAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18Ka3ZtYXJtIG1haWxpbmcgbGlzdAprdm1hcm1AbGlzdHMuY3MuY29sdW1iaWEuZWR1 Cmh0dHBzOi8vbGlzdHMuY3MuY29sdW1iaWEuZWR1L21haWxtYW4vbGlzdGluZm8va3ZtYXJtCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46269) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z0mI8-0004Tg-8P for qemu-devel@nongnu.org; Fri, 05 Jun 2015 03:43:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z0mI5-0001Fm-0l for qemu-devel@nongnu.org; Fri, 05 Jun 2015 03:43:48 -0400 Received: from mail-wi0-f179.google.com ([209.85.212.179]:33054) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z0mI4-0001Fi-OF for qemu-devel@nongnu.org; Fri, 05 Jun 2015 03:43:44 -0400 Received: by wiwd19 with SMTP id d19so12191120wiw.0 for ; Fri, 05 Jun 2015 00:43:43 -0700 (PDT) Message-ID: <55715320.5020703@linaro.org> Date: Fri, 05 Jun 2015 09:43:28 +0200 From: Eric Auger MIME-Version: 1.0 References: <1432717871-2393-1-git-send-email-eric.auger@linaro.org> <1433441461.3510.186.camel@redhat.com> In-Reply-To: <1433441461.3510.186.camel@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [PATCH v16 0/9] KVM platform device passthrough List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alex Williamson Cc: b.reynal@virtualopensystems.com, peter.maydell@linaro.org, eric.auger@st.com, vikrams@codeaurora.org, patches@linaro.org, qemu-devel@nongnu.org, agraf@suse.de, pbonzini@redhat.com, kvmarm@lists.cs.columbia.edu, christoffer.dall@linaro.org Hi Alex, On 06/04/2015 08:11 PM, Alex Williamson wrote: > On Wed, 2015-05-27 at 10:11 +0100, Eric Auger wrote: >> This series aims at enabling KVM platform device passthrough. >> >> On kernel side, the vfio platform driver is needed, available from >> 4.1-rc1 onwards. >> >> This series now only relies on the following QEMU series, for >> dynamic instantiation of the VFIO platform device from qemu command >> line: >> >> [1] [PATCH v12 0/4] machvirt dynamic sysbus device instantiation >> http://comments.gmane.org/gmane.comp.emulators.kvm.arm.devel/886 > > > Hi Eric, > > Now that your pre-req above is in, how do you want to proceed with this > series. Patches 1-3 are entirely in vfio space, so I can sign-off and > request a pull of those. Thanks for this email ;-) Indeed I would be definitively happy to see this series landing in 2.4. - Yes I would be grateful to you if you could handle patches 1-3. - 4 is in continuation of pre-req series so Peter might be the best candidate for acking that one - Then Paolo gave guidance & followed 4-8 so he might be the best candidate for acking those - and eventually 9 for you again ;-) Thanks Best Regards Eric I think that gives you basic functionality, > modulo dynamic instantiation of xgmac. Patches 4-8 need to go in > through or at least be ack'd by their respective maintainers before I > can get to patch 9. Let me know. Thanks, > > Alex > >> >> Both series are candidate for QEMU 2.4 and available at >> >> http://git.linaro.org/people/eric.auger/qemu.git >> (branch vfio_integ_v16) >> >> The series was tested on Calxeda Midway (ARMv7) where one xgmac >> is assigned to KVM host while the second one is assigned to the guest. >> >> Wiki for Calxeda Midway setup: >> https://wiki.linaro.org/LEG/Engineering/Virtualization/Platform_Device_Passthrough_on_Midway >> >> Tested by Vikram Sethi on a device featuring 2 MMIO regions. >> Code also exercised successfully by VOSYS for AMBA derivative series. >> >> Best Regards >> >> Eric >> >> History: >> >> v15 -> v16: >> - no code change >> - add Vikram's T-b >> - rebase on 0915aed >> - remove linux header update patch file >> >> v14 -> v15: >> - add Peter R-b on sysbus: add irq_routing_notifier >> - correct g_malloc0_n usage in skeleton >> - correct return values of reset related functions >> - include Cornelia's patch for header update >> >> v13 -> v14: >> - remove v13 9, 10, 11 patch files and replace them by a single patch file >> "sysbus: add irq_routing_notifier". >> - in skeleton, fix ENAMETOOLONG sign >> - remove VFIOINTp virtualID in "add irq assignment" patch file >> - removed trace_vfio_platform_start_eventfd >> >> v12 -> v13: >> - header update but same update was already sent by Cornelia >> - Rework VFIO signaling & irqfd setup: restored 2-step setup featuring >> eventfd setup on realize and then irqfd setup on irq binding. >> - irqfd setup now uses kvm_irqchip_add_irqfd_notifier and >> sysbus irq_set_hook override. This leads to the introduction of 6 patch >> files enabling those 2 features. Paolo advised to introduce >> kvm_irqchip_add_irqfd_notifier series in the VFIO one. I did the >> same for irq_set_hook series but if it is better I can submit it aside. >> - above changes made possible to remove >> x hw/vfio/platform: add capability to start IRQ propagation" >> x hw/arm/virt: start VFIO IRQ propagation >> - in sysbus-fdt.c, use platform_bus_get_mmio_addr instead of deprecated >> mmio[0] property. Thanks to Bharat who pointed this issue out. also >> cpu_to_be32 was used for size and base (Vikram input) . >> - in skeleton misc corrections following Alex review. >> >> v11->v12: >> - add x-mmap property definition, without which the default value of >> vbasedev.allow_mmap is false, hence preventing the reg space from >> being mmapped. >> >> v10->v11: >> - rebase onto v2.3.0-rc0 (mainly related to PCIe support in virt) >> - add dma-coherent property for calxeda midway (fix revealed by removal >> of kernel-side "vfio: type1: support for ARM SMMUS with VFIO_IOMMU_TYPE1") >> - virt modifications to start VFIO IRQ forwarding are now in a separate >> patch >> - rearrange linux header exports (those are still partial exports >> waiting for definitive 4.1-rc0) >> - take into account Alex Bennée comments: >> - use g_malloc0_n instead of g_malloc0 >> - use block declarations when possible >> - rework readlink returned value treatment >> - use g_strlcat in place strncat >> - re-arrange mutex locking for multiple IRQ support (user-side handled >> eventfds) >> - use g_snprintf instead of snprintf >> - change the order of functions to avoid pre-declaration in platform.c >> - add flags in VFIOINTp struct to detect whether the IRQ is automasked >> - some comment rewriting >> >> v9->v10: >> - rebase on "vfio: cleanup vfio_get_device error path, remove >> vfio_populate_device": vfio_populate_device no more called in >> vfio_get_device but in vfio_base_device_init >> - update VFIO header according to vfio platform driver v13 (no AMBA) >> >> v8->v9: >> - rebase on 2.2.0 and machvirt dynamic sysbus instantiation v10 >> - v8 1-11 were pulled >> - patch files related to forwarding are moved in a seperate series since >> it depends on kernel series still in RFC. >> - introduction of basic VFIO platform device split into 3 patch files to >> ease the review (hope it will help). >> - add an author in platform.c >> - add deallocation in vfio_populate_device error case >> - add patch file doing the VFIO header sync >> - use VFIO_DEVICE_FLAGS_PLATFORM in vfio_populate_device >> - rename calxeda_xgmac.c into calxeda-xgmac.c >> - sysbus-fdt: add_calxeda_midway_xgmac_fdt_node g_free in case of errors >> - reword of linux-headers patch files >> >> v7->v8: >> - rebase on v2.2.0-rc3 and integrate >> "Add skip_dump flag to ignore memory region during dump" >> - KVM header evolution with subindex addition in kvm_arch_forwarded_irq >> - split [PATCH v7 03/16] hw/vfio/pci: introduce VFIODevice into 4 patches >> - vfio_compute_needs_reset does not return bool anymore >> - add some comments about exposed MMIO region and IRQ in calxeda xgmac >> device >> - vfio_[un]mask_irqindex renamed into vfio_[un]mask_single_irqindex >> - rework IRQ startup: former machine init done notifier is replaced by a >> reset notifier. machine file passes the interrupt controller >> DeviceState handle (not the platform bus first irq parameter). >> - sysbus-fdt: >> - move the add_fdt_node_functions array declaration between the device >> specific code and the generic code to avoid forward declarations of >> decice specific functions >> - rename add_basic_vfio_fdt_node into add_calxeda_midway_xgmac_fdt_node >> emphasizing the fact it is xgmac specific >> >> v6->v7: >> - fake injection test modality removed >> - VFIO_DEVICE_TYPE_PLATFORM only introduced with VFIO platform >> - new helper functions to start VFIO IRQ on machine init done notifier >> (introduced in hw/vfio/platform: add vfio-platform support and notifier >> registration invoked in hw/arm/virt: add support for VFIO devices). >> vfio_start_irq_injection is replaced by vfio_register_irq_starter. >> >> v5->v6: >> - rebase on 2.1rc5 PCI code >> - forwarded IRQ first integraton >> - vfio_device property renamed into host property >> - split IRQ setup in different functions that match the 3 supported >> injection techniques (user handled eventfd, irqfd, forwarded IRQ): >> removes dynamic switch between injection methods >> - introduce fake interrupts as a test modality: >> x makes possible to test multiple IRQ user-side handling. >> x this is a test feature only: enable to trigger a fd as if the >> real physical IRQ hit. No virtual IRQ is injected into the guest >> but handling is simulated so that the state machine can be tested >> - user handled eventfd: >> x add mutex to protect IRQ state & list manipulation, >> x correct misleading comment in vfio_intp_interrupt. >> x Fix bugs using fake interrupt modality >> - irqfd no more advertised in this patchset (handled in [3]) >> - VFIOPlatformDeviceClass becomes abstract and Calxeda xgmac device >> and class is re-introduced (as per v4) >> - all DPRINTF removed in platform and replaced by trace-points >> - corrects compilation with configure --disable-kvm >> - simplifies the split for vfio_get_device and introduce a unique >> specialized function named vfio_populate_device >> - group_list renamed into vfio_group_list >> - hw/arm/dyn_sysbus_devtree.c currently only support vfio-calxeda-xgmac >> instantiation. Needs to be specialized for other VFIO devices >> - fix 2 bugs in dyn_sysbus_devtree(reg_attr index and compat) >> >> v4->v5: >> - rebase on v2.1.0 PCI code >> - take into account Alex Williamson comments on PCI code rework >> - trace updates in vfio_region_write/read >> - remove fd from VFIORegion >> - get/put ckeanup >> - bug fix: bar region's vbasedev field duly initialization >> - misc cleanups in platform device >> - device tree node generation removed from device and handled in >> hw/arm/dyn_sysbus_devtree.c >> - remove "hw/vfio: add an example calxeda_xgmac": with removal of >> device tree node generation we do not have so many things to >> implement in that derived device yet. May be re-introduced later >> on if needed typically for reset/migration. >> - no GSI routing table anymore >> >> v3->v4 changes (Eric Auger, Alvise Rigo) >> - rebase on last VFIO PCI code (v2.1.0-rc0) >> - full git history rework to ease PCI code change review >> - mv include files in hw/vfio >> - DPRINTF reformatting temporarily moved out >> - support of VFIO virq (removal of resamplefd handler on user-side) >> - integration with sysbus dynamic instantiation framwork >> - removal of unrealize and cleanup routines until it is better >> understood what is really needed >> - Support of VFIO for Amba devices should be handled in an inherited >> device to specialize the device tree generation (clock handle currently >> missing in framework however) >> - "Always use eventfd as notifying mechanism" temporarily moved out >> - static instantiation is not mainstream (although it remains possible) >> note if static instantiation is used, irqfd must be setup in machine file >> when virtual IRQ is known >> - create the GSI routing table on qemu side >> >> v2->v3 changes (Alvise Rigo, Eric Auger): >> - Following Alex W recommandations, further efforts to factorize the >> code between PCI:introduction of VFIODevice and VFIORegion >> as base classes >> - unique reset handler for platform and PCI >> - cleanup following Kim's comments >> - multiple IRQ support mechanics should be in place although not >> tested >> - Better handling of MMIO multiple regions >> - New features and fixes by Alvise (multiple compat string, exec >> flag, force eventfd usage, amba device tree support) >> - irqfd support >> >> v1->v2 changes (Kim Phillips, Eric Auger): >> - IRQ initial support (legacy mode where eventfds are handled on >> user side) >> - hacked dynamic instantiation >> >> v1 (Kim Phillips): >> - initial split between PCI and platform >> - MMIO support only >> - static instantiation >> >> >> Eric Auger (9): >> hw/vfio/platform: vfio-platform skeleton >> hw/vfio/platform: add irq assignment >> hw/vfio/platform: calxeda xgmac device >> hw/arm/sysbus-fdt: enable vfio-calxeda-xgmac dynamic instantiation >> kvm: rename kvm_irqchip_[add,remove]_irqfd_notifier with gsi suffix >> kvm-all.c: add qemu_irq/gsi hash table and utility routines >> intc: arm_gic_kvm: set the qemu_irq/gsi mapping >> sysbus: add irq_routing_notifier >> hw/vfio/platform: add irqfd support >> >> hw/arm/sysbus-fdt.c | 72 ++++ >> hw/core/sysbus.c | 6 + >> hw/intc/arm_gic_kvm.c | 6 + >> hw/s390x/virtio-ccw.c | 8 +- >> hw/vfio/Makefile.objs | 2 + >> hw/vfio/calxeda-xgmac.c | 54 +++ >> hw/vfio/pci.c | 6 +- >> hw/vfio/platform.c | 723 +++++++++++++++++++++++++++++++++++ >> hw/virtio/virtio-pci.c | 4 +- >> include/hw/sysbus.h | 1 + >> include/hw/vfio/vfio-calxeda-xgmac.h | 46 +++ >> include/hw/vfio/vfio-common.h | 1 + >> include/hw/vfio/vfio-platform.h | 77 ++++ >> include/sysemu/kvm.h | 11 +- >> kvm-all.c | 44 ++- >> kvm-stub.c | 7 +- >> trace-events | 13 + >> 17 files changed, 1064 insertions(+), 17 deletions(-) >> create mode 100644 hw/vfio/calxeda-xgmac.c >> create mode 100644 hw/vfio/platform.c >> create mode 100644 include/hw/vfio/vfio-calxeda-xgmac.h >> create mode 100644 include/hw/vfio/vfio-platform.h >> > > >