From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoffer Dall Subject: Re: [PATCH v8 6/7] arm/arm64: vgic: Implement VGICv3 CPU interface access Date: Sun, 20 Nov 2016 14:20:05 +0100 Message-ID: <20161120132005.GC23588@cbox> References: <1478258013-6669-1-git-send-email-vijay.kilari@gmail.com> <1478258013-6669-7-git-send-email-vijay.kilari@gmail.com> <20161116185232.GF3811@cbox> <20161117160951.GB23588@cbox> 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 4BBA7401D0 for ; Sun, 20 Nov 2016 08:19:39 -0500 (EST) 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 be3eFCShZa7E for ; Sun, 20 Nov 2016 08:19:37 -0500 (EST) Received: from mail-wm0-f45.google.com (mail-wm0-f45.google.com [74.125.82.45]) by mm01.cs.columbia.edu (Postfix) with ESMTPS id 83DF6400F3 for ; Sun, 20 Nov 2016 08:19:37 -0500 (EST) Received: by mail-wm0-f45.google.com with SMTP id t79so103862217wmt.0 for ; Sun, 20 Nov 2016 05:20:13 -0800 (PST) Content-Disposition: inline In-Reply-To: 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: Vijay Kilari Cc: Marc Zyngier , Vijaya Kumar K , kvmarm@lists.cs.columbia.edu, "linux-arm-kernel@lists.infradead.org" List-Id: kvmarm@lists.cs.columbia.edu T24gU2F0LCBOb3YgMTksIDIwMTYgYXQgMTI6MTg6NTNBTSArMDUzMCwgVmlqYXkgS2lsYXJpIHdy b3RlOgo+IE9uIFRodSwgTm92IDE3LCAyMDE2IGF0IDk6MzkgUE0sIENocmlzdG9mZmVyIERhbGwK PiA8Y2hyaXN0b2ZmZXIuZGFsbEBsaW5hcm8ub3JnPiB3cm90ZToKPiA+IE9uIFRodSwgTm92IDE3 LCAyMDE2IGF0IDA5OjI1OjU5UE0gKzA1MzAsIFZpamF5IEtpbGFyaSB3cm90ZToKPiA+PiBPbiBU aHUsIE5vdiAxNywgMjAxNiBhdCAxMjoyMiBBTSwgQ2hyaXN0b2ZmZXIgRGFsbAo+ID4+IDxjaHJp c3RvZmZlci5kYWxsQGxpbmFyby5vcmc+IHdyb3RlOgo+ID4+ID4gT24gRnJpLCBOb3YgMDQsIDIw MTYgYXQgMDQ6NDM6MzJQTSArMDUzMCwgdmlqYXkua2lsYXJpQGdtYWlsLmNvbSB3cm90ZToKPiA+ PiA+PiBGcm9tOiBWaWpheWEgS3VtYXIgSyA8VmlqYXlhLkt1bWFyQGNhdml1bS5jb20+Cj4gPj4g Pj4KPiA+PiA+PiBWR0lDdjMgQ1BVIGludGVyZmFjZSByZWdpc3RlcnMgYXJlIGFjY2Vzc2VkIHVz aW5nCj4gPj4gPj4gS1ZNX0RFVl9BUk1fVkdJQ19DUFVfU1lTUkVHUyBpb2N0bC4gVGhlc2UgcmVn aXN0ZXJzIGFyZSBhY2Nlc3NlZAo+ID4+ID4+IGFzIDY0LWJpdC4gVGhlIGNwdSBNUElEUiB2YWx1 ZSBpcyBwYXNzZWQgYWxvbmcgd2l0aCByZWdpc3RlciBpZC4KPiA+PiA+PiBpcyB1c2VkIHRvIGlk ZW50aWZ5IHRoZSBjcHUgZm9yIHJlZ2lzdGVycyBhY2Nlc3MuCj4gPj4gPj4KPiA+PiA+PiBUaGUg dmVyc2lvbiBvZiBWR0lDIHYzIHNwZWNpZmljYXRpb24gaXMgZGVmaW5lIGhlcmUKPiA+PiA+PiBo dHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9waXBlcm1haWwvbGludXgtYXJtLWtlcm5lbC8yMDE2 LUp1bHkvNDQ1NjExLmh0bWwKPiA+PiA+Pgo+ID4+ID4+IFNpZ25lZC1vZmYtYnk6IFBhdmVsIEZl ZGluIDxwLmZlZGluQHNhbXN1bmcuY29tPgo+ID4+ID4+IFNpZ25lZC1vZmYtYnk6IFZpamF5YSBL dW1hciBLIDxWaWpheWEuS3VtYXJAY2F2aXVtLmNvbT4KPiA+PiA+PiAtLS0KPiA+PiA+PiAgYXJj aC9hcm02NC9pbmNsdWRlL3VhcGkvYXNtL2t2bS5oICAgfCAgIDMgKwo+ID4+ID4+ICBhcmNoL2Fy bTY0L2t2bS9NYWtlZmlsZSAgICAgICAgICAgICB8ICAgMSArCj4gPj4gPj4gIGluY2x1ZGUva3Zt L2FybV92Z2ljLmggICAgICAgICAgICAgIHwgICA5ICsKPiA+PiA+PiAgdmlydC9rdm0vYXJtL3Zn aWMvdmdpYy1rdm0tZGV2aWNlLmMgfCAgMjcgKysrCj4gPj4gPj4gIHZpcnQva3ZtL2FybS92Z2lj L3ZnaWMtbW1pby12My5jICAgIHwgIDE5ICsrKwo+ID4+ID4+ICB2aXJ0L2t2bS9hcm0vdmdpYy92 Z2ljLXN5cy1yZWctdjMuYyB8IDMyNCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysKPiA+PiA+PiAgdmlydC9rdm0vYXJtL3ZnaWMvdmdpYy12My5jICAgICAgICAgfCAgIDggKwo+ ID4+ID4+ICB2aXJ0L2t2bS9hcm0vdmdpYy92Z2ljLmggICAgICAgICAgICB8ICAgNCArCj4gPj4g Pj4gIDggZmlsZXMgY2hhbmdlZCwgMzk1IGluc2VydGlvbnMoKykKPiA+PiA+Pgo+ID4+ID4+IGRp ZmYgLS1naXQgYS9hcmNoL2FybTY0L2luY2x1ZGUvdWFwaS9hc20va3ZtLmggYi9hcmNoL2FybTY0 L2luY2x1ZGUvdWFwaS9hc20va3ZtLmgKPiA+PiA+PiBpbmRleCA1NmRjMDhkLi45MWM3MTM3IDEw MDY0NAo+ID4+ID4+IC0tLSBhL2FyY2gvYXJtNjQvaW5jbHVkZS91YXBpL2FzbS9rdm0uaAo+ID4+ ID4+ICsrKyBiL2FyY2gvYXJtNjQvaW5jbHVkZS91YXBpL2FzbS9rdm0uaAo+ID4+ID4+IEBAIC0y MDYsOSArMjA2LDEyIEBAIHN0cnVjdCBrdm1fYXJjaF9tZW1vcnlfc2xvdCB7Cj4gPj4gPj4gICAg ICAgICAgICAgICAgICAgICAgICgweGZmZmZmZmZmVUxMIDw8IEtWTV9ERVZfQVJNX1ZHSUNfVjNf TVBJRFJfU0hJRlQpCj4gPj4gPj4gICNkZWZpbmUgICBLVk1fREVWX0FSTV9WR0lDX09GRlNFVF9T SElGVCAgICAgIDAKPiA+PiA+PiAgI2RlZmluZSAgIEtWTV9ERVZfQVJNX1ZHSUNfT0ZGU0VUX01B U0sgICAgICAgKDB4ZmZmZmZmZmZVTEwgPDwgS1ZNX0RFVl9BUk1fVkdJQ19PRkZTRVRfU0hJRlQp Cj4gPj4gPj4gKyNkZWZpbmUgICBLVk1fREVWX0FSTV9WR0lDX1NZU1JFR19JTlNUUl9NQVNLICgw eGZmZmYpCj4gPj4gPj4gICNkZWZpbmUgS1ZNX0RFVl9BUk1fVkdJQ19HUlBfTlJfSVJRUyAzCj4g Pj4gPj4gICNkZWZpbmUgS1ZNX0RFVl9BUk1fVkdJQ19HUlBfQ1RSTCAgICA0Cj4gPj4gPj4gICNk ZWZpbmUgS1ZNX0RFVl9BUk1fVkdJQ19HUlBfUkVESVNUX1JFR1MgNQo+ID4+ID4+ICsjZGVmaW5l IEtWTV9ERVZfQVJNX1ZHSUNfQ1BVX1NZU1JFR1MgICAgNgo+ID4+ID4+ICsKPiA+PiA+PiAgI2Rl ZmluZSAgIEtWTV9ERVZfQVJNX1ZHSUNfQ1RSTF9JTklUIDAKPiA+PiA+Pgo+ID4+ID4+ICAvKiBE ZXZpY2UgQ29udHJvbCBBUEkgb24gdmNwdSBmZCAqLwo+ID4+ID4+IGRpZmYgLS1naXQgYS9hcmNo L2FybTY0L2t2bS9NYWtlZmlsZSBiL2FyY2gvYXJtNjQva3ZtL01ha2VmaWxlCj4gPj4gPj4gaW5k ZXggZDUwYTgyYS4uMWExNGUyOSAxMDA2NDQKPiA+PiA+PiAtLS0gYS9hcmNoL2FybTY0L2t2bS9N YWtlZmlsZQo+ID4+ID4+ICsrKyBiL2FyY2gvYXJtNjQva3ZtL01ha2VmaWxlCj4gPj4gPj4gQEAg LTMyLDUgKzMyLDYgQEAga3ZtLSQoQ09ORklHX0tWTV9BUk1fSE9TVCkgKz0gJChLVk0pL2FybS92 Z2ljL3ZnaWMtbW1pby12My5vCj4gPj4gPj4gIGt2bS0kKENPTkZJR19LVk1fQVJNX0hPU1QpICs9 ICQoS1ZNKS9hcm0vdmdpYy92Z2ljLWt2bS1kZXZpY2Uubwo+ID4+ID4+ICBrdm0tJChDT05GSUdf S1ZNX0FSTV9IT1NUKSArPSAkKEtWTSkvYXJtL3ZnaWMvdmdpYy1pdHMubwo+ID4+ID4+ICBrdm0t JChDT05GSUdfS1ZNX0FSTV9IT1NUKSArPSAkKEtWTSkvaXJxY2hpcC5vCj4gPj4gPj4gK2t2bS0k KENPTkZJR19LVk1fQVJNX0hPU1QpICs9ICQoS1ZNKS9hcm0vdmdpYy92Z2ljLXN5cy1yZWctdjMu bwo+ID4+ID4KPiA+PiA+IFRoaSBpcyBtYWtpbmcgbWUgd29uZGVyOiAgQXJlIHdlIHByb3Blcmx5 IGhhbmRsaW5nIEdJQ3YzIHNhdmUvcmVzdG9yZQo+ID4+ID4gZm9yIEFBcmNoMzIgbm93IHRoYXQg d2UgaGF2ZSBHSUN2MyBzdXBwb3J0IGZvciBBQXJjaDMyPyAgQnkgcHJvcGVybHkgSQo+ID4+ID4g bWVhbiB0aGF0IGVpdGhlciBpdCBpcyBjbGVhcmx5IG9ubHkgc3VwcG9ydGVkIG9uIEFBcmNoNjQg c3lzdGVtcyBvciBpdCdzCj4gPj4gPiBzdXBwb3J0ZWQgb24gYm90aCBBQXJjaDY0IGFuZCBBQXJj aDMyLCBidXQgaXQgc2hvdWxkbid0IGJyZWFrIHJhbmRvbWx5Cj4gPj4gPiBvbiBBQXJjaDMyLgo+ ID4+Cj4gPj4gSXQgc3VwcG9ydHMgYm90aCBBQXJjaDY0IGFuZCBBQXJjaDY0IGluIGhhbmRsaW5n IG9mIHN5c3RlbSByZWdpc3RlcnMKPiA+PiBzYXZlL3Jlc3RvcmUuCj4gPj4gQWxsIHN5c3RlbSBy ZWdpc3RlcnMgdGhhdCB3ZSBzYXZlL3Jlc3RvcmUgYXJlIDMyLWJpdCBmb3IgYm90aCBhYXJjaDY0 Cj4gPj4gYW5kIGFhcmNoMzIuCj4gPj4gVGhvdWdoIG9wY29kZSBvcDAgc2hvdWxkIGJlIHplcm8g Zm9yIGFhcmNoMzIsIHRoZSByZW1haW5pbmcgT3AgYW5kIENSbiBjb2Rlcwo+ID4+IGFyZSBzYW1l LiBIb3dldmVyIHRoZSBjb2RlcyBzZW50IGJ5IHFlbXUgaXMgbWF0Y2hlZCBhbmQgcmVnaXN0ZXIK PiA+PiBhcmUgaGFuZGxlZCBwcm9wZXJseSBpcnJlc3BlY3RpdmUgb2YgQUFyY2gzMiBvciBBQXJj aDY0Lgo+ID4+Cj4gPj4gSSBkb24ndCBoYXZlIHBsYXRmb3JtIHdoaWNoIHN1cHBvcnQgQUFyY2gz MiBndWVzdHMgdG8gdmVyaWZ5Lgo+ID4KPiA+IEFjdHVhbGx5IHRoaXMgaXMgbm90IGFib3V0IHRo ZSBndWVzdCwgaXQncyBhYm91dCBhbiBBUk12OCBBQXJjaDMyIGhvc3QKPiA+IHRoYXQgaGFzIGEg R0lDdjMuCj4gPgo+ID4gSSBqdXN0IHRyaWVkIHRvIGRvIGEgdjcgY29tcGlsZSB3aXRoIHlvdXIg cGF0Y2hlcywgYW5kIGl0IHJlc3VsdHMgaW4gYW4KPiA+IGVwaWMgZmFpbHVyZSwgc28gdGhlcmUn cyBzb21ldGhpbmcgZm9yIHlvdSB0byBsb29rIGF0Lgo+ID4KPiAKPiBDb3VsZCB5b3UgcGxlYXNl IHNoYXJlIHlvdSBjb25maWcgZmlsZT8uIEkgdHJpZWQgd2l0aCBtdWx0aV92NyBkZWZjb25maWcg d2l0aAo+IENPTkZJRyBLVk0gYW5kIENPTkZJR19LVk1fQVJNX0hPU1QgZW5hYmxlZC4gaXQgY29t cGlsZWQgZm9yIG1lLgoKSSB0aGluayB0aGlzIGhhcyB0byBkbyB3aXRoIHdoaWNoIGJyYW5jaCB5 b3UgYXBwbHkgeW91ciBwYXRjaGVzIHRvLgpXaGVuIGFwcGxpZWQgdG8ga3ZtYXJtL25leHQsIGl0 IGZhaWxzLgoKSGVyZSdzIHRoZSBpbnRlZ3JhdGlvbiBJIGRpZDoKaHR0cHM6Ly9naXQubGluYXJv Lm9yZy9wZW9wbGUvY2hyaXN0b2ZmZXIuZGFsbC9saW51eC1rdm0tYXJtLmdpdCB0bXAtZ2ljdjMt bWlncmF0ZS12OAoKSGVyZSdzIHRoZSBjb25maWc6Cmh0dHBzOi8vdHJhbnNmZXIuc2gveGtBeHAv LmNvbmZpZwoKSGVyZSdzIHRoZSBjb21waWxlIG91dHB1dDoKCi9ob21lL2NocmlzdG9mZmVyL3Ny Yy9rdm1hcm0vbGludXgvYXJjaC9hcm0va3ZtLy4uLy4uLy4uL3ZpcnQva3ZtL2FybS92Z2ljL3Zn aWMtbW1pby12My5jOjI2OjIyOiBmYXRhbCBlcnJvcjogc3lzX3JlZ3MuaDogTm8gc3VjaCBmaWxl IG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgInN5c19yZWdzLmgiCiAgICAgICAgICAgICAgICAgICAg ICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCm1ha2VbMl06ICoqKiBbYXJjaC9hcm0va3ZtLy4u Ly4uLy4uL3ZpcnQva3ZtL2FybS92Z2ljL3ZnaWMtbW1pby12My5vXSBFcnJvciAxCm1ha2VbMl06 ICoqKiBXYWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCi9ob21lL2NocmlzdG9mZmVyL3Ny Yy9rdm1hcm0vbGludXgvYXJjaC9hcm0va3ZtLy4uLy4uLy4uL3ZpcnQva3ZtL2FybS92Z2ljL3Zn aWMta3ZtLWRldmljZS5jOiBJbiBmdW5jdGlvbiDigJh2Z2ljX3YzX3BhcnNlX2F0dHLigJk6Ci9o b21lL2NocmlzdG9mZmVyL3NyYy9rdm1hcm0vbGludXgvYXJjaC9hcm0va3ZtLy4uLy4uLy4uL3Zp cnQva3ZtL2FybS92Z2ljL3ZnaWMta3ZtLWRldmljZS5jOjQzODoyOTogZXJyb3I6IOKAmEtWTV9E RVZfQVJNX1ZHSUNfVjNfTVBJRFJfTUFTS+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhp cyBmdW5jdGlvbikKICB2Z2ljX21waWRyID0gKGF0dHItPmF0dHIgJiBLVk1fREVWX0FSTV9WR0lD X1YzX01QSURSX01BU0spID4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9j aHJpc3RvZmZlci9zcmMva3ZtYXJtL2xpbnV4L2FyY2gvYXJtL2t2bS8uLi8uLi8uLi92aXJ0L2t2 bS9hcm0vdmdpYy92Z2ljLWt2bS1kZXZpY2UuYzo0Mzg6Mjk6IG5vdGU6IGVhY2ggdW5kZWNsYXJl ZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBh cHBlYXJzIGluCi9ob21lL2NocmlzdG9mZmVyL3NyYy9rdm1hcm0vbGludXgvYXJjaC9hcm0va3Zt Ly4uLy4uLy4uL3ZpcnQva3ZtL2FybS92Z2ljL3ZnaWMta3ZtLWRldmljZS5jOjQzOTo5OiBlcnJv cjog4oCYS1ZNX0RFVl9BUk1fVkdJQ19WM19NUElEUl9TSElGVOKAmSB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgICAgICAgS1ZNX0RFVl9BUk1fVkdJQ19WM19NUElE Ul9TSElGVDsKICAgICAgICAgXgovaG9tZS9jaHJpc3RvZmZlci9zcmMva3ZtYXJtL2xpbnV4L2Fy Y2gvYXJtL2t2bS8uLi8uLi8uLi92aXJ0L2t2bS9hcm0vdmdpYy92Z2ljLWt2bS1kZXZpY2UuYzo0 NDE6MjogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmE1QSURSX0xF VkVMX1NISUZU4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIG1w aWRyX3JlZyA9IFZHSUNfVE9fTVBJRFIodmdpY19tcGlkcik7CiAgXgovaG9tZS9jaHJpc3RvZmZl ci9zcmMva3ZtYXJtL2xpbnV4L2FyY2gvYXJtL2t2bS8uLi8uLi8uLi92aXJ0L2t2bS9hcm0vdmdp Yy92Z2ljLWt2bS1kZXZpY2UuYzogSW4gZnVuY3Rpb24g4oCYdmdpY192M19hdHRyX3JlZ3NfYWNj ZXNz4oCZOgovaG9tZS9jaHJpc3RvZmZlci9zcmMva3ZtYXJtL2xpbnV4L2FyY2gvYXJtL2t2bS8u Li8uLi8uLi92aXJ0L2t2bS9hcm0vdmdpYy92Z2ljLWt2bS1kZXZpY2UuYzo0OTc6NzogZXJyb3I6 IOKAmEtWTV9ERVZfQVJNX1ZHSUNfR1JQX1JFRElTVF9SRUdT4oCZIHVuZGVjbGFyZWQgKGZpcnN0 IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGNhc2UgS1ZNX0RFVl9BUk1fVkdJQ19HUlBfUkVESVNU X1JFR1M6CiAgICAgICBeCi9ob21lL2NocmlzdG9mZmVyL3NyYy9rdm1hcm0vbGludXgvYXJjaC9h cm0va3ZtLy4uLy4uLy4uL3ZpcnQva3ZtL2FybS92Z2ljL3ZnaWMta3ZtLWRldmljZS5jOjUwNTo3 OiBlcnJvcjog4oCYS1ZNX0RFVl9BUk1fVkdJQ19DUFVfU1lTUkVHU+KAmSB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBjYXNlIEtWTV9ERVZfQVJNX1ZHSUNfQ1BVX1NZ U1JFR1M6IHsKICAgICAgIF4KL2hvbWUvY2hyaXN0b2ZmZXIvc3JjL2t2bWFybS9saW51eC9hcmNo L2FybS9rdm0vLi4vLi4vLi4vdmlydC9rdm0vYXJtL3ZnaWMvdmdpYy1rdm0tZGV2aWNlLmM6NTA4 OjI1OiBlcnJvcjog4oCYS1ZNX0RFVl9BUk1fVkdJQ19TWVNSRUdfSU5TVFJfTUFTS+KAmSB1bmRl Y2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgcmVnaWQgPSAoYXR0ci0+YXR0 ciAmIEtWTV9ERVZfQVJNX1ZHSUNfU1lTUkVHX0lOU1RSX01BU0spOwogICAgICAgICAgICAgICAg ICAgICAgICAgXgovaG9tZS9jaHJpc3RvZmZlci9zcmMva3ZtYXJtL2xpbnV4L2FyY2gvYXJtL2t2 bS8uLi8uLi8uLi92aXJ0L2t2bS9hcm0vdmdpYy92Z2ljLWt2bS1kZXZpY2UuYzo1MTM6NzogZXJy b3I6IOKAmEtWTV9ERVZfQVJNX1ZHSUNfR1JQX0xFVkVMX0lORk/igJkgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgY2FzZSBLVk1fREVWX0FSTV9WR0lDX0dSUF9MRVZF TF9JTkZPOiB7CiAgICAgICBeCi9ob21lL2NocmlzdG9mZmVyL3NyYy9rdm1hcm0vbGludXgvYXJj aC9hcm0va3ZtLy4uLy4uLy4uL3ZpcnQva3ZtL2FybS92Z2ljL3ZnaWMta3ZtLWRldmljZS5jOjUx NjoyNDogZXJyb3I6IOKAmEtWTV9ERVZfQVJNX1ZHSUNfTElORV9MRVZFTF9JTkZPX01BU0vigJkg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgIGluZm8gPSAoYXR0ci0+ YXR0ciAmIEtWTV9ERVZfQVJNX1ZHSUNfTElORV9MRVZFTF9JTkZPX01BU0spID4+CiAgICAgICAg ICAgICAgICAgICAgICAgIF4KL2hvbWUvY2hyaXN0b2ZmZXIvc3JjL2t2bWFybS9saW51eC9hcmNo L2FybS9rdm0vLi4vLi4vLi4vdmlydC9rdm0vYXJtL3ZnaWMvdmdpYy1rdm0tZGV2aWNlLmM6NTE3 OjQ6IGVycm9yOiDigJhLVk1fREVWX0FSTV9WR0lDX0xJTkVfTEVWRUxfSU5GT19TSElGVOKAmSB1 bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEtWTV9ERVZfQVJNX1ZH SUNfTElORV9MRVZFTF9JTkZPX1NISUZUOwogICAgXgovaG9tZS9jaHJpc3RvZmZlci9zcmMva3Zt YXJtL2xpbnV4L2FyY2gvYXJtL2t2bS8uLi8uLi8uLi92aXJ0L2t2bS9hcm0vdmdpYy92Z2ljLWt2 bS1kZXZpY2UuYzo1MTg6MTU6IGVycm9yOiDigJhWR0lDX0xFVkVMX0lORk9fTElORV9MRVZFTOKA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgaWYgKGluZm8gPT0g VkdJQ19MRVZFTF9JTkZPX0xJTkVfTEVWRUwpIHsKICAgICAgICAgICAgICAgXgovaG9tZS9jaHJp c3RvZmZlci9zcmMva3ZtYXJtL2xpbnV4L2FyY2gvYXJtL2t2bS8uLi8uLi8uLi92aXJ0L2t2bS9h cm0vdmdpYy92Z2ljLWt2bS1kZXZpY2UuYzo1MjI6NTogZXJyb3I6IOKAmEtWTV9ERVZfQVJNX1ZH SUNfTElORV9MRVZFTF9JTlRJRF9NQVNL4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKQogICAgIEtWTV9ERVZfQVJNX1ZHSUNfTElORV9MRVZFTF9JTlRJRF9NQVNLOwog ICAgIF4KL2hvbWUvY2hyaXN0b2ZmZXIvc3JjL2t2bWFybS9saW51eC9hcmNoL2FybS9rdm0vLi4v Li4vLi4vdmlydC9rdm0vYXJtL3ZnaWMvdmdpYy1rdm0tZGV2aWNlLmM6IEluIGZ1bmN0aW9uIOKA mHZnaWNfdjNfc2V0X2F0dHLigJk6Ci9ob21lL2NocmlzdG9mZmVyL3NyYy9rdm1hcm0vbGludXgv YXJjaC9hcm0va3ZtLy4uLy4uLy4uL3ZpcnQva3ZtL2FybS92Z2ljL3ZnaWMta3ZtLWRldmljZS5j OjU1NDo3OiBlcnJvcjog4oCYS1ZNX0RFVl9BUk1fVkdJQ19HUlBfUkVESVNUX1JFR1PigJkgdW5k ZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgY2FzZSBLVk1fREVWX0FSTV9W R0lDX0dSUF9SRURJU1RfUkVHUzogewogICAgICAgXgovaG9tZS9jaHJpc3RvZmZlci9zcmMva3Zt YXJtL2xpbnV4L2FyY2gvYXJtL2t2bS8uLi8uLi8uLi92aXJ0L2t2bS9hcm0vdmdpYy92Z2ljLWt2 bS1kZXZpY2UuYzo1NjU6NzogZXJyb3I6IOKAmEtWTV9ERVZfQVJNX1ZHSUNfQ1BVX1NZU1JFR1Pi gJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgY2FzZSBLVk1fREVW X0FSTV9WR0lDX0NQVV9TWVNSRUdTOiB7CiAgICAgICBeCi9ob21lL2NocmlzdG9mZmVyL3NyYy9r dm1hcm0vbGludXgvYXJjaC9hcm0va3ZtLy4uLy4uLy4uL3ZpcnQva3ZtL2FybS92Z2ljL3ZnaWMt a3ZtLWRldmljZS5jOjU3NDo3OiBlcnJvcjog4oCYS1ZNX0RFVl9BUk1fVkdJQ19HUlBfTEVWRUxf SU5GT+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBjYXNlIEtW TV9ERVZfQVJNX1ZHSUNfR1JQX0xFVkVMX0lORk86IHsKICAgICAgIF4KL2hvbWUvY2hyaXN0b2Zm ZXIvc3JjL2t2bWFybS9saW51eC9hcmNoL2FybS9rdm0vLi4vLi4vLi4vdmlydC9rdm0vYXJtL3Zn aWMvdmdpYy1rdm0tZGV2aWNlLmM6IEluIGZ1bmN0aW9uIOKAmHZnaWNfdjNfZ2V0X2F0dHLigJk6 Ci9ob21lL2NocmlzdG9mZmVyL3NyYy9rdm1hcm0vbGludXgvYXJjaC9hcm0va3ZtLy4uLy4uLy4u L3ZpcnQva3ZtL2FybS92Z2ljL3ZnaWMta3ZtLWRldmljZS5jOjYwMDo3OiBlcnJvcjog4oCYS1ZN X0RFVl9BUk1fVkdJQ19HUlBfUkVESVNUX1JFR1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pCiAgY2FzZSBLVk1fREVWX0FSTV9WR0lDX0dSUF9SRURJU1RfUkVHUzog ewogICAgICAgXgovaG9tZS9jaHJpc3RvZmZlci9zcmMva3ZtYXJtL2xpbnV4L2FyY2gvYXJtL2t2 bS8uLi8uLi8uLi92aXJ0L2t2bS9hcm0vdmdpYy92Z2ljLWt2bS1kZXZpY2UuYzo2MTE6NzogZXJy b3I6IOKAmEtWTV9ERVZfQVJNX1ZHSUNfQ1BVX1NZU1JFR1PigJkgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgY2FzZSBLVk1fREVWX0FSTV9WR0lDX0NQVV9TWVNSRUdT OiB7CiAgICAgICBeCi9ob21lL2NocmlzdG9mZmVyL3NyYy9rdm1hcm0vbGludXgvYXJjaC9hcm0v a3ZtLy4uLy4uLy4uL3ZpcnQva3ZtL2FybS92Z2ljL3ZnaWMta3ZtLWRldmljZS5jOjYyMDo3OiBl cnJvcjog4oCYS1ZNX0RFVl9BUk1fVkdJQ19HUlBfTEVWRUxfSU5GT+KAmSB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBjYXNlIEtWTV9ERVZfQVJNX1ZHSUNfR1JQX0xF VkVMX0lORk86IHsKICAgICAgIF4KL2hvbWUvY2hyaXN0b2ZmZXIvc3JjL2t2bWFybS9saW51eC9h cmNoL2FybS9rdm0vLi4vLi4vLi4vdmlydC9rdm0vYXJtL3ZnaWMvdmdpYy1rdm0tZGV2aWNlLmM6 IEluIGZ1bmN0aW9uIOKAmHZnaWNfdjNfaGFzX2F0dHLigJk6Ci9ob21lL2NocmlzdG9mZmVyL3Ny Yy9rdm1hcm0vbGludXgvYXJjaC9hcm0va3ZtLy4uLy4uLy4uL3ZpcnQva3ZtL2FybS92Z2ljL3Zn aWMta3ZtLWRldmljZS5jOjY0Nzo3OiBlcnJvcjog4oCYS1ZNX0RFVl9BUk1fVkdJQ19HUlBfUkVE SVNUX1JFR1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgY2Fz ZSBLVk1fREVWX0FSTV9WR0lDX0dSUF9SRURJU1RfUkVHUzoKICAgICAgIF4KL2hvbWUvY2hyaXN0 b2ZmZXIvc3JjL2t2bWFybS9saW51eC9hcmNoL2FybS9rdm0vLi4vLi4vLi4vdmlydC9rdm0vYXJt L3ZnaWMvdmdpYy1rdm0tZGV2aWNlLmM6NjQ4Ojc6IGVycm9yOiDigJhLVk1fREVWX0FSTV9WR0lD X0NQVV9TWVNSRUdT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQog IGNhc2UgS1ZNX0RFVl9BUk1fVkdJQ19DUFVfU1lTUkVHUzoKICAgICAgIF4KL2hvbWUvY2hyaXN0 b2ZmZXIvc3JjL2t2bWFybS9saW51eC9hcmNoL2FybS9rdm0vLi4vLi4vLi4vdmlydC9rdm0vYXJt L3ZnaWMvdmdpYy1rdm0tZGV2aWNlLmM6NjUyOjc6IGVycm9yOiDigJhLVk1fREVWX0FSTV9WR0lD X0dSUF9MRVZFTF9JTkZP4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9u KQogIGNhc2UgS1ZNX0RFVl9BUk1fVkdJQ19HUlBfTEVWRUxfSU5GTzogewogICAgICAgXgovaG9t ZS9jaHJpc3RvZmZlci9zcmMva3ZtYXJtL2xpbnV4L2FyY2gvYXJtL2t2bS8uLi8uLi8uLi92aXJ0 L2t2bS9hcm0vdmdpYy92Z2ljLWt2bS1kZXZpY2UuYzo2NTM6MjI6IGVycm9yOiDigJhLVk1fREVW X0FSTV9WR0lDX0xJTkVfTEVWRUxfSU5GT19NQVNL4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBp biB0aGlzIGZ1bmN0aW9uKQogICBpZiAoKChhdHRyLT5hdHRyICYgS1ZNX0RFVl9BUk1fVkdJQ19M SU5FX0xFVkVMX0lORk9fTUFTSykgPj4KICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvY2hy aXN0b2ZmZXIvc3JjL2t2bWFybS9saW51eC9hcmNoL2FybS9rdm0vLi4vLi4vLi4vdmlydC9rdm0v YXJtL3ZnaWMvdmdpYy1rdm0tZGV2aWNlLmM6NjU0Ojk6IGVycm9yOiDigJhLVk1fREVWX0FSTV9W R0lDX0xJTkVfTEVWRUxfSU5GT19TSElGVOKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhp cyBmdW5jdGlvbikKICAgICAgICAgS1ZNX0RFVl9BUk1fVkdJQ19MSU5FX0xFVkVMX0lORk9fU0hJ RlQpID09CiAgICAgICAgIF4KL2hvbWUvY2hyaXN0b2ZmZXIvc3JjL2t2bWFybS9saW51eC9hcmNo L2FybS9rdm0vLi4vLi4vLi4vdmlydC9rdm0vYXJtL3ZnaWMvdmdpYy1rdm0tZGV2aWNlLmM6NjU1 Ojk6IGVycm9yOiDigJhWR0lDX0xFVkVMX0lORk9fTElORV9MRVZFTOKAmSB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgICAgICAgVkdJQ19MRVZFTF9JTkZPX0xJTkVf TEVWRUwpCiAgICAgICAgIF4KY2MxOiBzb21lIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJy b3JzCm1ha2VbMl06ICoqKiBbYXJjaC9hcm0va3ZtLy4uLy4uLy4uL3ZpcnQva3ZtL2FybS92Z2lj L3ZnaWMta3ZtLWRldmljZS5vXSBFcnJvciAxCm1ha2VbMV06ICoqKiBbYXJjaC9hcm0va3ZtXSBF cnJvciAyCm1ha2VbMV06ICoqKiBXYWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCm1ha2U6 ICoqKiBbc3ViLW1ha2VdIEVycm9yIDIKClRoYW5rcywKLUNocmlzdG9mZmVyCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmt2bWFybSBtYWlsaW5nIGxpc3QK a3ZtYXJtQGxpc3RzLmNzLmNvbHVtYmlhLmVkdQpodHRwczovL2xpc3RzLmNzLmNvbHVtYmlhLmVk dS9tYWlsbWFuL2xpc3RpbmZvL2t2bWFybQo= From mboxrd@z Thu Jan 1 00:00:00 1970 From: christoffer.dall@linaro.org (Christoffer Dall) Date: Sun, 20 Nov 2016 14:20:05 +0100 Subject: [PATCH v8 6/7] arm/arm64: vgic: Implement VGICv3 CPU interface access In-Reply-To: References: <1478258013-6669-1-git-send-email-vijay.kilari@gmail.com> <1478258013-6669-7-git-send-email-vijay.kilari@gmail.com> <20161116185232.GF3811@cbox> <20161117160951.GB23588@cbox> Message-ID: <20161120132005.GC23588@cbox> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Sat, Nov 19, 2016 at 12:18:53AM +0530, Vijay Kilari wrote: > On Thu, Nov 17, 2016 at 9:39 PM, Christoffer Dall > wrote: > > On Thu, Nov 17, 2016 at 09:25:59PM +0530, Vijay Kilari wrote: > >> On Thu, Nov 17, 2016 at 12:22 AM, Christoffer Dall > >> wrote: > >> > On Fri, Nov 04, 2016 at 04:43:32PM +0530, vijay.kilari at gmail.com wrote: > >> >> From: Vijaya Kumar K > >> >> > >> >> VGICv3 CPU interface registers are accessed using > >> >> KVM_DEV_ARM_VGIC_CPU_SYSREGS ioctl. These registers are accessed > >> >> as 64-bit. The cpu MPIDR value is passed along with register id. > >> >> is used to identify the cpu for registers access. > >> >> > >> >> The version of VGIC v3 specification is define here > >> >> http://lists.infradead.org/pipermail/linux-arm-kernel/2016-July/445611.html > >> >> > >> >> Signed-off-by: Pavel Fedin > >> >> Signed-off-by: Vijaya Kumar K > >> >> --- > >> >> arch/arm64/include/uapi/asm/kvm.h | 3 + > >> >> arch/arm64/kvm/Makefile | 1 + > >> >> include/kvm/arm_vgic.h | 9 + > >> >> virt/kvm/arm/vgic/vgic-kvm-device.c | 27 +++ > >> >> virt/kvm/arm/vgic/vgic-mmio-v3.c | 19 +++ > >> >> virt/kvm/arm/vgic/vgic-sys-reg-v3.c | 324 ++++++++++++++++++++++++++++++++++++ > >> >> virt/kvm/arm/vgic/vgic-v3.c | 8 + > >> >> virt/kvm/arm/vgic/vgic.h | 4 + > >> >> 8 files changed, 395 insertions(+) > >> >> > >> >> diff --git a/arch/arm64/include/uapi/asm/kvm.h b/arch/arm64/include/uapi/asm/kvm.h > >> >> index 56dc08d..91c7137 100644 > >> >> --- a/arch/arm64/include/uapi/asm/kvm.h > >> >> +++ b/arch/arm64/include/uapi/asm/kvm.h > >> >> @@ -206,9 +206,12 @@ struct kvm_arch_memory_slot { > >> >> (0xffffffffULL << KVM_DEV_ARM_VGIC_V3_MPIDR_SHIFT) > >> >> #define KVM_DEV_ARM_VGIC_OFFSET_SHIFT 0 > >> >> #define KVM_DEV_ARM_VGIC_OFFSET_MASK (0xffffffffULL << KVM_DEV_ARM_VGIC_OFFSET_SHIFT) > >> >> +#define KVM_DEV_ARM_VGIC_SYSREG_INSTR_MASK (0xffff) > >> >> #define KVM_DEV_ARM_VGIC_GRP_NR_IRQS 3 > >> >> #define KVM_DEV_ARM_VGIC_GRP_CTRL 4 > >> >> #define KVM_DEV_ARM_VGIC_GRP_REDIST_REGS 5 > >> >> +#define KVM_DEV_ARM_VGIC_CPU_SYSREGS 6 > >> >> + > >> >> #define KVM_DEV_ARM_VGIC_CTRL_INIT 0 > >> >> > >> >> /* Device Control API on vcpu fd */ > >> >> diff --git a/arch/arm64/kvm/Makefile b/arch/arm64/kvm/Makefile > >> >> index d50a82a..1a14e29 100644 > >> >> --- a/arch/arm64/kvm/Makefile > >> >> +++ b/arch/arm64/kvm/Makefile > >> >> @@ -32,5 +32,6 @@ kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/vgic/vgic-mmio-v3.o > >> >> kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/vgic/vgic-kvm-device.o > >> >> kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/vgic/vgic-its.o > >> >> kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/irqchip.o > >> >> +kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/vgic/vgic-sys-reg-v3.o > >> > > >> > Thi is making me wonder: Are we properly handling GICv3 save/restore > >> > for AArch32 now that we have GICv3 support for AArch32? By properly I > >> > mean that either it is clearly only supported on AArch64 systems or it's > >> > supported on both AArch64 and AArch32, but it shouldn't break randomly > >> > on AArch32. > >> > >> It supports both AArch64 and AArch64 in handling of system registers > >> save/restore. > >> All system registers that we save/restore are 32-bit for both aarch64 > >> and aarch32. > >> Though opcode op0 should be zero for aarch32, the remaining Op and CRn codes > >> are same. However the codes sent by qemu is matched and register > >> are handled properly irrespective of AArch32 or AArch64. > >> > >> I don't have platform which support AArch32 guests to verify. > > > > Actually this is not about the guest, it's about an ARMv8 AArch32 host > > that has a GICv3. > > > > I just tried to do a v7 compile with your patches, and it results in an > > epic failure, so there's something for you to look at. > > > > Could you please share you config file?. I tried with multi_v7 defconfig with > CONFIG KVM and CONFIG_KVM_ARM_HOST enabled. it compiled for me. I think this has to do with which branch you apply your patches to. When applied to kvmarm/next, it fails. Here's the integration I did: https://git.linaro.org/people/christoffer.dall/linux-kvm-arm.git tmp-gicv3-migrate-v8 Here's the config: https://transfer.sh/xkAxp/.config Here's the compile output: /home/christoffer/src/kvmarm/linux/arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-mmio-v3.c:26:22: fatal error: sys_regs.h: No such file or directory #include "sys_regs.h" ^ compilation terminated. make[2]: *** [arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-mmio-v3.o] Error 1 make[2]: *** Waiting for unfinished jobs.... /home/christoffer/src/kvmarm/linux/arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c: In function ?vgic_v3_parse_attr?: /home/christoffer/src/kvmarm/linux/arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c:438:29: error: ?KVM_DEV_ARM_VGIC_V3_MPIDR_MASK? undeclared (first use in this function) vgic_mpidr = (attr->attr & KVM_DEV_ARM_VGIC_V3_MPIDR_MASK) >> ^ /home/christoffer/src/kvmarm/linux/arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c:438:29: note: each undeclared identifier is reported only once for each function it appears in /home/christoffer/src/kvmarm/linux/arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c:439:9: error: ?KVM_DEV_ARM_VGIC_V3_MPIDR_SHIFT? undeclared (first use in this function) KVM_DEV_ARM_VGIC_V3_MPIDR_SHIFT; ^ /home/christoffer/src/kvmarm/linux/arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c:441:2: error: implicit declaration of function ?MPIDR_LEVEL_SHIFT? [-Werror=implicit-function-declaration] mpidr_reg = VGIC_TO_MPIDR(vgic_mpidr); ^ /home/christoffer/src/kvmarm/linux/arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c: In function ?vgic_v3_attr_regs_access?: /home/christoffer/src/kvmarm/linux/arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c:497:7: error: ?KVM_DEV_ARM_VGIC_GRP_REDIST_REGS? undeclared (first use in this function) case KVM_DEV_ARM_VGIC_GRP_REDIST_REGS: ^ /home/christoffer/src/kvmarm/linux/arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c:505:7: error: ?KVM_DEV_ARM_VGIC_CPU_SYSREGS? undeclared (first use in this function) case KVM_DEV_ARM_VGIC_CPU_SYSREGS: { ^ /home/christoffer/src/kvmarm/linux/arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c:508:25: error: ?KVM_DEV_ARM_VGIC_SYSREG_INSTR_MASK? undeclared (first use in this function) regid = (attr->attr & KVM_DEV_ARM_VGIC_SYSREG_INSTR_MASK); ^ /home/christoffer/src/kvmarm/linux/arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c:513:7: error: ?KVM_DEV_ARM_VGIC_GRP_LEVEL_INFO? undeclared (first use in this function) case KVM_DEV_ARM_VGIC_GRP_LEVEL_INFO: { ^ /home/christoffer/src/kvmarm/linux/arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c:516:24: error: ?KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_MASK? undeclared (first use in this function) info = (attr->attr & KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_MASK) >> ^ /home/christoffer/src/kvmarm/linux/arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c:517:4: error: ?KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_SHIFT? undeclared (first use in this function) KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_SHIFT; ^ /home/christoffer/src/kvmarm/linux/arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c:518:15: error: ?VGIC_LEVEL_INFO_LINE_LEVEL? undeclared (first use in this function) if (info == VGIC_LEVEL_INFO_LINE_LEVEL) { ^ /home/christoffer/src/kvmarm/linux/arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c:522:5: error: ?KVM_DEV_ARM_VGIC_LINE_LEVEL_INTID_MASK? undeclared (first use in this function) KVM_DEV_ARM_VGIC_LINE_LEVEL_INTID_MASK; ^ /home/christoffer/src/kvmarm/linux/arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c: In function ?vgic_v3_set_attr?: /home/christoffer/src/kvmarm/linux/arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c:554:7: error: ?KVM_DEV_ARM_VGIC_GRP_REDIST_REGS? undeclared (first use in this function) case KVM_DEV_ARM_VGIC_GRP_REDIST_REGS: { ^ /home/christoffer/src/kvmarm/linux/arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c:565:7: error: ?KVM_DEV_ARM_VGIC_CPU_SYSREGS? undeclared (first use in this function) case KVM_DEV_ARM_VGIC_CPU_SYSREGS: { ^ /home/christoffer/src/kvmarm/linux/arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c:574:7: error: ?KVM_DEV_ARM_VGIC_GRP_LEVEL_INFO? undeclared (first use in this function) case KVM_DEV_ARM_VGIC_GRP_LEVEL_INFO: { ^ /home/christoffer/src/kvmarm/linux/arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c: In function ?vgic_v3_get_attr?: /home/christoffer/src/kvmarm/linux/arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c:600:7: error: ?KVM_DEV_ARM_VGIC_GRP_REDIST_REGS? undeclared (first use in this function) case KVM_DEV_ARM_VGIC_GRP_REDIST_REGS: { ^ /home/christoffer/src/kvmarm/linux/arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c:611:7: error: ?KVM_DEV_ARM_VGIC_CPU_SYSREGS? undeclared (first use in this function) case KVM_DEV_ARM_VGIC_CPU_SYSREGS: { ^ /home/christoffer/src/kvmarm/linux/arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c:620:7: error: ?KVM_DEV_ARM_VGIC_GRP_LEVEL_INFO? undeclared (first use in this function) case KVM_DEV_ARM_VGIC_GRP_LEVEL_INFO: { ^ /home/christoffer/src/kvmarm/linux/arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c: In function ?vgic_v3_has_attr?: /home/christoffer/src/kvmarm/linux/arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c:647:7: error: ?KVM_DEV_ARM_VGIC_GRP_REDIST_REGS? undeclared (first use in this function) case KVM_DEV_ARM_VGIC_GRP_REDIST_REGS: ^ /home/christoffer/src/kvmarm/linux/arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c:648:7: error: ?KVM_DEV_ARM_VGIC_CPU_SYSREGS? undeclared (first use in this function) case KVM_DEV_ARM_VGIC_CPU_SYSREGS: ^ /home/christoffer/src/kvmarm/linux/arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c:652:7: error: ?KVM_DEV_ARM_VGIC_GRP_LEVEL_INFO? undeclared (first use in this function) case KVM_DEV_ARM_VGIC_GRP_LEVEL_INFO: { ^ /home/christoffer/src/kvmarm/linux/arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c:653:22: error: ?KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_MASK? undeclared (first use in this function) if (((attr->attr & KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_MASK) >> ^ /home/christoffer/src/kvmarm/linux/arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c:654:9: error: ?KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_SHIFT? undeclared (first use in this function) KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_SHIFT) == ^ /home/christoffer/src/kvmarm/linux/arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c:655:9: error: ?VGIC_LEVEL_INFO_LINE_LEVEL? undeclared (first use in this function) VGIC_LEVEL_INFO_LINE_LEVEL) ^ cc1: some warnings being treated as errors make[2]: *** [arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.o] Error 1 make[1]: *** [arch/arm/kvm] Error 2 make[1]: *** Waiting for unfinished jobs.... make: *** [sub-make] Error 2 Thanks, -Christoffer