From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex =?utf-8?Q?Benn=C3=A9e?= Subject: Re: [RFC PATCH 00/16] KVM: arm64: Initial support for SVE guests Date: Fri, 06 Jul 2018 10:20:04 +0100 Message-ID: <87d0w090vv.fsf@linaro.org> References: <1529593060-542-1-git-send-email-Dave.Martin@arm.com> <87h8lc93jc.fsf@linaro.org> <20180706090534.GD26019@e103592.cambridge.arm.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 D087D49F8C for ; Fri, 6 Jul 2018 05:07:34 -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 3+aE5G7phJy7 for ; Fri, 6 Jul 2018 05:07:33 -0400 (EDT) Received: from mail-wm0-f42.google.com (mail-wm0-f42.google.com [74.125.82.42]) by mm01.cs.columbia.edu (Postfix) with ESMTPS id 961FB408B1 for ; Fri, 6 Jul 2018 05:07:33 -0400 (EDT) Received: by mail-wm0-f42.google.com with SMTP id 69-v6so13727165wmf.3 for ; Fri, 06 Jul 2018 02:20:06 -0700 (PDT) In-reply-to: <20180706090534.GD26019@e103592.cambridge.arm.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: Dave Martin Cc: Okamoto Takayuki , Christoffer Dall , Ard Biesheuvel , Marc Zyngier , Catalin Marinas , Will Deacon , kvmarm@lists.cs.columbia.edu, linux-arm-kernel@lists.infradead.org List-Id: kvmarm@lists.cs.columbia.edu CkRhdmUgTWFydGluIDxEYXZlLk1hcnRpbkBhcm0uY29tPiB3cml0ZXM6Cgo+IE9uIEZyaSwgSnVs IDA2LCAyMDE4IGF0IDA5OjIyOjQ3QU0gKzAxMDAsIEFsZXggQmVubsOpZSB3cm90ZToKPj4KPj4g RGF2ZSBNYXJ0aW4gPERhdmUuTWFydGluQGFybS5jb20+IHdyaXRlczoKPj4KPj4gPHNuaXA+Cj4+ ID4KPj4gPiBUaGlzIHNlcmllcyBpcyBzb21ld2hhdCB0ZXN0ZWQgb24gQXJtIEp1bm8gcjAgYW5k IHRoZSBBcm0gRmFzdCBNb2RlbAo+PiA+ICh3aXRoL3dpdGhvdXQgU1ZFIHN1cHBvcnQpLiAgYXJj aC9hcm0gYnVpbGRzLCBidXQgSSd2ZSBub3QgYm9vdGVkCj4+ID4gaXQgLS0gb25seSBzb21lIHRy aXZpYWwgcmVmYWN0b3JpbmcgaW4gdGhpcyBzZXJpZXMgYWZmZWN0cyBhcmNoL2FybS4KPj4KPj4g Tm93IHRoYXQgUUVNVSBsaW51eC11c2VyIFNWRSBzdXBwb3J0IGlzIHByZXR0eSBtdWNoIGNvbXBs ZXRlIHdlJ3ZlIGFsc28KPj4gZ290IHByZWxpbWluYXJ5IHBhdGNoZXMgZm9yIHN5c3RlbSBlbXVs YXRpb24gbW9kZS4gSG93ZXZlciB3ZSBjdXJyZW50bHkKPj4gZG9uJ3QgaGF2ZSBWSEUgaW1wbGVt ZW50ZWQgc28gSSBndWVzcyB3ZSBuZWVkIHRvIGRvIHRoYXQgZmlyc3QgYmVmb3JlIHdlCj4+IGNh biB0ZXN0IHVuZGVyIFFFTVUuCj4KPiBRZW11IGNhbiB1c2UgdGhpcyBhcyBhIEtWTSBjbGllbnQg d2l0aG91dCBpbnZhc2l2ZSBjaGFuZ2VzLCByaWdodD8KClllYWggZm9yIEtWTSB1c2UgdGhlcmUg YXJlbid0IHJlYWxseSBhbnkgY2hhbmdlcy4KCj4gRm9yIGt2bXRvb2wsIGl0J3MganVzdCBhIHF1 ZXN0aW9uIG9mIGNoZWNraW5nL3NldHRpbmcgYSBmZWF0dXJlIGZsYWcKPiBpbiBLVk1fQVJNX1BS RUZFUlJFRF9UQVJHRVQgYW5kIEtWTV9BUk1fVkNQVV9JTklULCBhbmQgKGV2ZW50dWFsbHkpCj4g ZG9pbmcgYXQgaW9jdGwoKSB0byBzZXQgdGhlIHNldCBvZiBwZXJtaXR0ZWQgdmVjdG9yIGxlbmd0 aHMgKG5vdCB5ZXQsCj4gdGhpcyB3aWxsIGNvbWUgaW4gYSBmb2xsb3ctdXAgc2VyaWVzKS4KCkZv ciB0aGUgbW9zdCBwYXJ0IGluIFFFTVUgd2l0aCBLVk0gd2UganVzdCB0cmVhdCB0aGUgbGlzdCBv ZiByZWdpc3RlcnMKd2UgZ2V0IGZyb20gdGhlIE9TIGFzIGFuIG9wYXF1ZSBibG9iIG9mIHRoaW5n cyB3ZSBzYXZlIHRvIG1lbW9yeSBhbmQKcGFzcyBiYWNrLgoKVGhlIENQVSBmZWF0dXJlcyBjb2Rl IHdpbGwgcHJvYmFibHkgbmVlZCBhIGJpdCBvZiB0d2Vha2luZyBidXQgaXQgd2lsbApiZSBtaW5v ci4gSSdtIG5vdCBzdXJlIHdoYXQgdGhlIGN1cnJlbnQgc3RhdHVzIG9mIGNyb3NzLWhvc3QgQ1BV Cm1pZ3JhdGlvbiBpcyBhdCB0aGUgbW9tZW50IC0gdGhhdCB3YXMgbW9zdGx5IENocmlzdG9waGVy J3MgaGVhZGFjaGUgdG8KdHJhY2sgOy0pCgpGb3IgdGhpbmdzIGxpa2UgZ2Ric3R1YiB3ZSBuZWVk IHRvIGFkZCBhZGRpdGlvbmFsIGhhbmRsaW5nLiBJIHN1c3BlY3QgYXMKd2UgY3VycmVudGx5IGRv bid0IGV4cGxpY2l0bHkgaGFuZGxlIHRoZSBTVkUgcmVnaXN0ZXJzIHRoZXkgd29uJ3Qgc2hvdwp1 cCAtIEkgYmVsaWV2ZSB0aGVyZSBhcmUgcHJvdG9jb2wgdXBkYXRlcyBmb3IgYmV0dGVyIGhhbmRs aW5nIHRoZXNlCnJlZ2lzdGVycyBjb21pbmcuCgpJIHRoaW5rIG1pZ3JhdGlvbiBzaG91bGQgd29y ayBvdXQgb2YgdGhlIGJveCBidXQgSSdkIG5lZWQgdG8gZG91YmxlCmNoZWNrLiBDZXJ0YWlubHkg aXRzIGEgc3Ryb25nIGFyZ3VtZW50IGZvciBnZXR0aW5nIFZIRSBkb25lIGluIFRDRyBtb2RlCmFz IHdlIGNhbiBleGVyY2lzZSBhIGxvdCBvZiB0aGUgY29tbW9uIGNvZGUuCgo+Cj4gQ2hlZXJzCj4g LS0tRGF2ZQoKCi0tCkFsZXggQmVubsOpZQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwprdm1hcm0gbWFpbGluZyBsaXN0Cmt2bWFybUBsaXN0cy5jcy5jb2x1 bWJpYS5lZHUKaHR0cHM6Ly9saXN0cy5jcy5jb2x1bWJpYS5lZHUvbWFpbG1hbi9saXN0aW5mby9r dm1hcm0K From mboxrd@z Thu Jan 1 00:00:00 1970 From: alex.bennee@linaro.org (Alex =?utf-8?Q?Benn=C3=A9e?=) Date: Fri, 06 Jul 2018 10:20:04 +0100 Subject: [RFC PATCH 00/16] KVM: arm64: Initial support for SVE guests In-Reply-To: <20180706090534.GD26019@e103592.cambridge.arm.com> References: <1529593060-542-1-git-send-email-Dave.Martin@arm.com> <87h8lc93jc.fsf@linaro.org> <20180706090534.GD26019@e103592.cambridge.arm.com> Message-ID: <87d0w090vv.fsf@linaro.org> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Dave Martin writes: > On Fri, Jul 06, 2018 at 09:22:47AM +0100, Alex Benn?e wrote: >> >> Dave Martin writes: >> >> >> > >> > This series is somewhat tested on Arm Juno r0 and the Arm Fast Model >> > (with/without SVE support). arch/arm builds, but I've not booted >> > it -- only some trivial refactoring in this series affects arch/arm. >> >> Now that QEMU linux-user SVE support is pretty much complete we've also >> got preliminary patches for system emulation mode. However we currently >> don't have VHE implemented so I guess we need to do that first before we >> can test under QEMU. > > Qemu can use this as a KVM client without invasive changes, right? Yeah for KVM use there aren't really any changes. > For kvmtool, it's just a question of checking/setting a feature flag > in KVM_ARM_PREFERRED_TARGET and KVM_ARM_VCPU_INIT, and (eventually) > doing at ioctl() to set the set of permitted vector lengths (not yet, > this will come in a follow-up series). For the most part in QEMU with KVM we just treat the list of registers we get from the OS as an opaque blob of things we save to memory and pass back. The CPU features code will probably need a bit of tweaking but it will be minor. I'm not sure what the current status of cross-host CPU migration is at the moment - that was mostly Christopher's headache to track ;-) For things like gdbstub we need to add additional handling. I suspect as we currently don't explicitly handle the SVE registers they won't show up - I believe there are protocol updates for better handling these registers coming. I think migration should work out of the box but I'd need to double check. Certainly its a strong argument for getting VHE done in TCG mode as we can exercise a lot of the common code. > > Cheers > ---Dave -- Alex Benn?e