From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jike Song Subject: Re: [ANNOUNCE][RFC] KVMGT - the implementation of Intel GVT-g(full GPU virtualization) for KVM Date: Sat, 06 Dec 2014 12:17:35 +0800 Message-ID: <5482835F.5090707@intel.com> References: <547FC5DE.4010701@intel.com> <1417769421.11297.37.camel@nilsson.home.kraxel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 40FB16E26B for ; Fri, 5 Dec 2014 20:20:30 -0800 (PST) In-Reply-To: <1417769421.11297.37.camel@nilsson.home.kraxel.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Gerd Hoffmann Cc: kvm@vger.kernel.org, "White, Michael L" , "Dong, Eddie" , "intel-gfx@lists.freedesktop.org" , "Li, Susie" , "Cowperthwaite, David J" , linux-kernel@vger.kernel.org, "Haron, Sandra" List-Id: intel-gfx@lists.freedesktop.org T24gMTIvMDUvMjAxNCAwNDo1MCBQTSwgR2VyZCBIb2ZmbWFubiB3cm90ZToKPiBBIGZldyBjb21t ZW50cyBvbiB0aGUga2VybmVsIHN0dWZmIChicmllZiBsb29rIHNvIGZhciwgYWxzbwo+IGNvbXBp bGUtdGVzdGVkIG9ubHksIGludGVsIGdmeCBvbiBteSB0ZXN0IG1hY2hpbmUgaXMgdG9vIG9sZCku Cj4KPiAgICogTm90aWNlZCB0aGUga2VybmVsIGJpdHMgZG9uJ3QgZXZlbiBjb21waWxlIHdoZW4g Y29uZmlndXJlZCBhcwo+ICAgICBtb2R1bGUuICBFdmVyeXRoaW5nICh2Z3QsIGk5MTUsIGt2bSkg bXVzdCBiZSBjb21waWxlZCBpbnRvIHRoZQo+ICAgICBrZXJuZWwuCgpZZXMsIHRoYXQncyBwbGFu bmVkIHRvIGJlIGRvbmUgYWxvbmcgd2l0aCBzZXBhcmF0aW5nIGh5cGVydmlzb3ItcmVsYXRlZApj b2RlIGZyb20gdmd0LgoKPiAgICogRGVzaWduIGFwcHJvYWNoIHN0aWxsIHNlZW1zIHRvIGJlIGk5 MTUgb24gdmd0IG5vdCB0aGUgb3RoZXIgd2F5Cj4gICAgIGFyb3VuZC4KClNvIGZhciB5ZXMuCgo+ Cj4gUWVtdS9TZWFCSU9TIGJpdHM6Cj4KPiBJJ3ZlIHNlZW4gdGhlIGhvc3QgYnJpZGdlIGNoYW5n ZXMgaWRlbnRpdHkgZnJvbSBpNDQwZnggdG8KPiBjb3B5LXBjaS1pZHMtZnJvbS1ob3N0LiAgR3Vl c3MgdGhlIHJlYXNvbiBmb3IgdGhpcyBpcyB0aGF0IHNlYWJpb3MgdXNlcwo+IHRoaXMgZGV2aWNl IHRvIGZpZ3VyZSB3aGVuZXZlciBpdCBpcyBydW5uaW5nIG9uIGk0NDBmeCBvciBxMzUuICBDb3Jy ZWN0Pwo+CgpJIGRpZCBzb21lIHRyaWNrIGluIHNlYWJpb3MvcWVtdS4gVGhlIHB1cnBvc2UgaXMg dG8gbWFrZSBxZW11OgoKCS0gcHJvdmlkZSBJRHMgb2YgYW4gb2xkIGhvc3QgYnJpZGdlIHRvIFNl YUJJT1MKCS0gcHJvdmlkZSBJRHMgb2YgbmV3IGhvc3QgYnJpZGdlKHRoZSBwaHlzaWNhbCBvbmVz KSB0byBndWVzdCBPUwoKU28gSSBtYWRlIHNlYWJpb3MgdG8gdGVsbCBxZW11IHRoYXQgUE9TVCBp cyBkb25lIGJlZm9yZSBqdW1waW5nIHRvIGd1ZXN0Ck9TIGNvbnRleHQuCgpUaGlzIG1heSBiZSB0 aGUgc2ltcGxlc3QgbWV0aG9kIHRvIG1ha2UgdGhpbmdzIHdvcmssIGJ1dCB5ZXMsIHEzNSBlbXVs YXRpb24Kb2YgcWVtdSBtYXkgaGF2ZSB0aGlzIHVubmVjZXNzYXJ5LCBzZWUgYmVsb3cuCgo+IFdo YXQgYXJlIHRoZSBleGFjdCByZXF1aXJlbWVudHMgZm9yIHRoZSBkZXZpY2U/ICBNdXN0IGl0IG1h dGNoIHRoZSBob3N0Cj4gZXhhY3RseSwgdG8gbm90IGNvbmZ1c2UgdGhlIGd1ZXN0IGludGVsIGdy YXBoaWNzIGRyaXZlcj8gIE9yIHdvdWxkCj4gc29tZXRoaW5nIG1vcmUgcmVjZW50IC0tIHN1Y2gg YXMgdGhlIHEzNSBlbXVsYXRpb24gcWVtdSBoYXMgLS0gYmUgZ29vZAo+IGVub3VnaCB0byBtYWtl IHRoaW5ncyB3b3JrIChhc3N1bWluZyB3ZSBhZGQgc3VwcG9ydCBmb3IgdGhlCj4gZ3JhcGhpYy1y ZWxhdGVkIHBjaSBjb25maWcgc3BhY2UgcmVnaXN0ZXJzIHRoZXJlKT8KPgoKSSBkb24ndCBrbm93 IHRoYXQgaXMgZXhhY3RseSBuZWVkZWQsIHdlIGFsc28gbmVlZCB0byBoYXZlIFdpbmRvd3MKZHJp dmVyIGNvbnNpZGVyZWQuICBIb3dldmVyLCBJJ20gcXVpdGUgY29uZmlkZW50IHRoYXQsIGlmIHRo aW5ncyBnb25uYQp3b3JrIGZvciBJR0QgcGFzc3Rocm91Z2gsIGl0IGdvbm5hIHdvcmsgZm9yIEdW VC1nLgoKPiBUaGUgcGF0Y2ggYWxzbyBhZGRzIGEgZHVtbXkgaXNhIGJyaWRnZSBhdCAweDFmLiAg U2ltbGlhciBxdWVzdGlvbiBoZXJlOgo+IFdoYXQgZXhhY3RseSBpcyBuZWVkZWQgaGVyZT8gIFdv dWxkIHRoaW5ncyB3b3JrIGlmIHdlIHNpbXBseSB1c2UgdGhlIHEzNQo+IGxwYyBkZXZpY2UgaGVy ZT8KPgoKRGl0dG8uCgo+IG1vcmUgdG8gY29tZSBhZnRlciBJJ3ZlIHJlYWQgdGhlIHBhcGVyIGxp bmtlZCBhYm92ZSAuLi4KClRoYW5rcyBmb3IgcmV2aWV3IDopCgo+Cj4gY2hlZXJzLAo+ICAgIEdl cmQKPgoKLS0KVGhhbmtzLApKaWtlCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752361AbaLFEUa (ORCPT ); Fri, 5 Dec 2014 23:20:30 -0500 Received: from mga11.intel.com ([192.55.52.93]:64824 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751255AbaLFEU3 (ORCPT ); Fri, 5 Dec 2014 23:20:29 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.07,527,1413270000"; d="scan'208";a="643333774" Message-ID: <5482835F.5090707@intel.com> Date: Sat, 06 Dec 2014 12:17:35 +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: Gerd Hoffmann CC: "intel-gfx@lists.freedesktop.org" , kvm@vger.kernel.org, linux-kernel@vger.kernel.org, "Tian, Kevin" , "Cowperthwaite, David J" , "White, Michael L" , "Dong, Eddie" , "Li, Susie" , "Haron, Sandra" Subject: Re: [ANNOUNCE][RFC] KVMGT - the implementation of Intel GVT-g(full GPU virtualization) for KVM References: <547FC5DE.4010701@intel.com> <1417769421.11297.37.camel@nilsson.home.kraxel.org> In-Reply-To: <1417769421.11297.37.camel@nilsson.home.kraxel.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 12/05/2014 04:50 PM, Gerd Hoffmann wrote: > A few comments on the kernel stuff (brief look so far, also > compile-tested only, intel gfx on my test machine is too old). > > * Noticed the kernel bits don't even compile when configured as > module. Everything (vgt, i915, kvm) must be compiled into the > kernel. Yes, that's planned to be done along with separating hypervisor-related code from vgt. > * Design approach still seems to be i915 on vgt not the other way > around. So far yes. > > Qemu/SeaBIOS bits: > > I've seen the host bridge changes identity from i440fx to > copy-pci-ids-from-host. Guess the reason for this is that seabios uses > this device to figure whenever it is running on i440fx or q35. Correct? > I did some trick in seabios/qemu. The purpose is to make qemu: - provide IDs of an old host bridge to SeaBIOS - provide IDs of new host bridge(the physical ones) to guest OS So I made seabios to tell qemu that POST is done before jumping to guest OS context. This may be the simplest method to make things work, but yes, q35 emulation of qemu may have this unnecessary, see below. > What are the exact requirements for the device? Must it match the host > exactly, to not confuse the guest intel graphics driver? Or would > something more recent -- such as the q35 emulation qemu has -- be good > enough to make things work (assuming we add support for the > graphic-related pci config space registers there)? > I don't know that is exactly needed, we also need to have Windows driver considered. However, I'm quite confident that, if things gonna work for IGD passthrough, it gonna work for GVT-g. > The patch also adds a dummy isa bridge at 0x1f. Simliar question here: > What exactly is needed here? Would things work if we simply use the q35 > lpc device here? > Ditto. > more to come after I've read the paper linked above ... Thanks for review :) > > cheers, > Gerd > -- Thanks, Jike