From mboxrd@z Thu Jan 1 00:00:00 1970 From: Suravee Suthikulpanit Subject: Re: [PATCH v2 05/10] x86/HVM/SVM: Add AVIC initialization code Date: Thu, 5 Jan 2017 00:24:27 +0700 Message-ID: <5f20d5f2-bc8e-500b-5820-71a08fce5fe6@amd.com> References: <1483163161-2402-1-git-send-email-suravee.suthikulpanit@amd.com> <1483163161-2402-6-git-send-email-suravee.suthikulpanit@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Andrew Cooper , xen-devel@lists.xen.org Cc: boris.ostrovsky@oracle.com, sherry.hurwitz@amd.com, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org SGkgQW5kcmV3CgpPbiAxLzIvMTcgMjM6MzcsIEFuZHJldyBDb29wZXIgd3JvdGU6Cj4gT24gMzEv MTIvMjAxNiAwNTo0NSwgU3VyYXZlZSBTdXRoaWt1bHBhbml0IHdyb3RlOgo+PiBbLi4uXQo+PiAr LyoKPj4gKyAqIE5vdGU6IEN1cnJlbnQgbWF4IGluZGV4IGFsbG93ZWQgZm9yIHBoeXNpY2FsIEFQ SUMgSUQgdGFibGUgaXMgMjU1Lgo+PiArICovCj4+ICsjZGVmaW5lIEFWSUNfUEhZX0FQSUNfSURf TUFYICAgIDB4RkYKPj4gKwo+PiArI2RlZmluZSBBVklDX0RPT1JCRUxMICAgICAgICAgICAweGMw MDEwMTFiCj4+ICsKPj4gKyNkZWZpbmUgQVZJQ19IUEFfU0hJRlQgIDEyCj4+ICsjZGVmaW5lIEFW SUNfSFBBX01BU0sgICAgICAgICAgICgoKDFVTEwgPDwgNDApIC0gMSkgPDwgQVZJQ19IUEFfU0hJ RlQpCj4KPiBXaGF0IGRvZXMgdGhpcyBtYXNrIHJlcHJlc2VudD8gIEkgaGF2ZSBzcG90dGVkIGEg dHJ1bmNhdGlvbiBidWcgYmVsb3csCj4gYnV0IGhvdyB0byBmaXggdGhlIGlzc3VlIGRlcGVuZHMg b24gdGhlIG1lYW5pbmcgb2YgdGhlIG1hc2suCj4KPiBUaGUgb25seSBsaW1pdHMgSSBjYW4gc2Vl IGluIHRoZSBzcGVjIGlzIHRoYXQgdGhlIGhvc3QgcGh5c2ljYWwKPiBhZGRyZXNzZXMgbXVzdCBi ZSBwcmVzZW50IGluIHN5c3RlbSBSQU0sIHdoaWNoIHByZXN1bWFibHkgbWVhbnMgdGhleQo+IHNo b3VsZCBmb2xsb3cgbWF4cGh5c2FkZHIgbGlrZSBldmVyeXRoaW5nIGVsc2U/CgpQbGVhc2Ugc2Vl IGJlbG93LgoKPj4gWy4uLl0KPj4gKy8qCj4+ICsgKiBOb3RlOgo+PiArICogQ3VycmVudGx5LCBz dm0tYXZpYyBtb2RlIGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCBuZXN0ZWQgdmlydHVhbGl6YXRpb24u Cj4+ICsgKiBUaGVyZWZvcmUsIGl0IGlzIG5vdCB5ZXQgY3VycmVudGx5IGVuYWJsZWQgYnkgZGVm YXVsdC4gT25jZSB0aGUgc3VwcG9ydAo+PiArICogaXMgaW4tcGxhY2UsIHRoaXMgc2hvdWxkIGJl IGVuYWJsZWQgYnkgZGVmYXVsdC4KPj4gKyAqLwo+PiArYm9vbCBzdm1fYXZpYyA9IDA7Cj4+ICti b29sZWFuX3BhcmFtKCJzdm0tYXZpYyIsIHN2bV9hdmljKTsKPgo+IFdlIGFyZSB0cnlpbmcgdG8g YXZvaWQgdGhlIHByb2xpZmVyYXRpb24gb2YgdG9wLWxldmVsIG9wdGlvbnMuICBQbGVhc2UKPiBj b3VsZCB5b3UgaW50cm9kdWNlIGEgInN2bT0iIG9wdGlvbiB3aGljaCB0YWtlcyBhdmljIGFzIGEg c3ViLWJvb2xlYW4sCj4gc2ltaWxhciB0byBob3cgaW9tbXU9IGN1cnJlbnRseSB3b3Jrcz8KClN1 cmUsIEkgd2lsbCBpbnRyb2R1Y2UgdGhlIGN1c3RvbV9wYXJhbSgic3ZtIiwgcGFyc2Vfc3ZtX3Bh cmFtKS4KCj4+IFsuLi5dCiA+PiArewo+PiArICAgIHN0cnVjdCBhdmljX3BoeV9hcGljX2lkX2Vu dCAqYXZpY19waHlfYXBpY19pZF90YWJsZTsKPj4gKyAgICBzdHJ1Y3Qgc3ZtX2RvbWFpbiAqZCA9 ICZ2LT5kb21haW4tPmFyY2guaHZtX2RvbWFpbi5zdm07Cj4+ICsKPj4gKyAgICBpZiAoICFkLT5h dmljX3BoeV9hcGljX2lkX3RhYmxlX21mbiApCj4+ICsgICAgICAgIHJldHVybiBOVUxMOwo+PiAr Cj4+ICsgICAgLyoKPj4gKyAgICAqIE5vdGU6IEFQSUMgSUQgPSAweGZmIGlzIHVzZWQgZm9yIGJy b2FkY2FzdC4KPj4gKyAgICAqICAgICAgIEFQSUMgSUQgPiAweGZmIGlzIHJlc2VydmVkLgo+PiAr ICAgICovCj4+ICsgICAgaWYgKCBpbmRleCA+PSAweGZmICkKPj4gKyAgICAgICAgcmV0dXJuIE5V TEw7Cj4+ICsKPj4gKyAgICBhdmljX3BoeV9hcGljX2lkX3RhYmxlID0gbWZuX3RvX3ZpcnQoZC0+ YXZpY19waHlfYXBpY19pZF90YWJsZV9tZm4pOwo+Cj4gVGhpcyBpcyB1bnNhZmUgYW5kIHdpbGwg YnJlYWsgb24gaG9zdHMgd2l0aCBtb3JlIHRoYW4gNVRCIG9mIFJBTS4KPgo+IEFzIHlvdSBhbGxv Y2F0ZSBhdmljX3BoeV9hcGljX2lkX3RhYmxlX21mbiB3aXRoIGFsbG9jX2RvbWhlYXBfcGFnZSgp LAo+IHlvdSBtdXN0IHVzZSB7bWFwLHVubWFwfV9kb21haW5fcGFnZSgpIHRvIGdldCB0ZW1wb3Jh cnkgbWFwcGluZ3MgKHdoaWNoCj4gd2lsbCB1c2UgbWZuX3RvX3ZpcnQoKSBpbiB0aGUgY29tbW9u IGNhc2UpLCBvciB1c2UKPiB7bWFwLHVubWFwfV9kb21haW5fcGFnZV9nbG9iYWwoKSB0byBnZXQg cGVybWFuZW50IG1hcHBpbmdzLgo+Cj4gQXMgdGhlIHZhbHVlcyBpbiBoZXJlIG5lZWQgbW9kaWZ5 aW5nIGFjcm9zcyBhIHNjaGVkdWxlLCBJIHdvdWxkIHN1Z2dlc3QKPiBtYWtpbmcgYSBnbG9iYWwg bWFwcGluZyBhdCBjcmVhdGUgdGltZSwgYW5kIHN0b3JpbmcgdGhlIHJlc3VsdCBpbiBhCj4gcHJv cGVybHktdHlwZWQgcG9pbnRlci4KClRoYW5rcyBmb3IgcG9pbnRpbmcgdGhpcyBvdXQuIEknbGwg dXBkYXRlIGJvdGggbG9naWNhbCBhbmQgcGh5c2ljYWwgQVBJQyAKSUQgdGFibGUgdG8gdXNlIHRo ZSB7bWFwLHVubWFwfV9kb21haW5fcGFnZV9nbG9iYWwoKSBpbnN0ZWFkLgoKCj4+IFsuLi5dCj4+ ICsKPj4gKyAgICBpZiAoICFzdm1fYXZpYyApCj4+ICsgICAgICAgIHJldHVybiAwOwo+Cj4gfHwg IWhhc192bGFwaWMoZCkKPgo+IEhWTUxpdGUgZG9tYWlucyBtYXkgbGVnaXRpbWF0ZWx5IGJlIGNv bmZpZ3VyZWQgd2l0aG91dCBhbiBMQVBJQyBhdCBhbGwuCj4KSG0uLi4gVGhhdCBtZWFucyBJIHdv dWxkIGFsc28gbmVlZCB0byBjaGVjayB0aGlzIGluIApzdm1fYXZpY19kb21fZGVzdHJveSgpIGFu ZCBzdm1fYXZpY19pbml0X3ZtY2IoKS4KCj4+IFsuLi5dCj4+ICsKPj4gK3N0YXRpYyBpbmxpbmUg dTMyICoKPj4gK2F2aWNfZ2V0X2JrX3BhZ2VfZW50cnkoY29uc3Qgc3RydWN0IHZjcHUgKnYsIHUz MiBvZmZzZXQpCj4+ICt7Cj4+ICsgICAgY29uc3Qgc3RydWN0IHZsYXBpYyAqdmxhcGljID0gdmNw dV92bGFwaWModik7Cj4+ICsgICAgY2hhciAqdG1wOwo+PiArCj4+ICsgICAgaWYgKCAhdmxhcGlj IHx8ICF2bGFwaWMtPnJlZ3NfcGFnZSApCj4+ICsgICAgICAgIHJldHVybiBOVUxMOwo+PiArCj4+ ICsgICAgdG1wID0gKGNoYXIgKilwYWdlX3RvX3ZpcnQodmxhcGljLT5yZWdzX3BhZ2UpOwo+PiAr ICAgIHJldHVybiAodTMyICopKHRtcCArIG9mZnNldCk7Cj4KPiBUaGlzIGlzIGFsc28gdW5zYWZl IG92ZXIgNVRCLiAgdmxhcGljLT5yZWdzIGlzIGFscmVhZHkgYSBnbG9iYWwgbWFwcGluZwo+IHdo aWNoIHlvdSBzaG91bGQgdXNlLgoKR29vZCBwb2ludC4KPgo+IEFsc28sIHlvdSBzaG91bGQgbGVh dmUgYSBjb21tZW50IGJ5IHRoZSBhbGxvY2F0aW9uIG9mIHJlZ3NfcGFnZSB0aGF0Cj4gQVZJQyBk ZXBlbmRzIG9uIGl0IGJlaW5nIGEgZnVsbCBwYWdlIGFsbG9jYXRpb24uCgpPaywgSSB3aWxsIGFk ZCBhIGNvbW1lbnQgaW4gYXJjaC94ODYvaHZtL3ZsYXBpYy5jOiB2bGFwaWNfaW5pdCgpLgoKPj4g K30KPj4gKwo+PiArdm9pZCBzdm1fYXZpY191cGRhdGVfdmFwaWNfYmFyKGNvbnN0IHN0cnVjdCB2 Y3B1ICp2LCB1aW50NjRfdCBkYXRhKQo+PiArewo+PiArICAgIGNvbnN0IHN0cnVjdCBhcmNoX3N2 bV9zdHJ1Y3QgKnMgPSAmdi0+YXJjaC5odm1fc3ZtOwo+PiArCj4+ICsgICAgcy0+dm1jYi0+YXZp Y192YXBpY19iYXIgPSBkYXRhICYgQVZJQ19WQVBJQ19CQVJfTUFTSzsKPj4gKyAgICBzLT52bWNi LT5jbGVhbmJpdHMuZmllbGRzLmF2aWMgPSAwOwo+Cj4gV2hpbGUgSSBjYW4gYXBwcmVjaWF0ZSB3 aGF0IHlvdSBhcmUgdHJ5aW5nIHRvIGRvIGhlcmUsIGFsdGVyaW5nIHRoZQo+IHBoeXNpY2FsIGFk ZHJlc3MgaW4gSUEzMl9BUElDQkFTRSBoYXMgbmV2ZXIgZnVuY3Rpb25lZCBwcm9wZXJseSB1bmRl cgo+IFhlbiwgYXMgbm90aGluZyB1cGRhdGVzIHRoZSBQMk0uICBXb3JzZSwgd2l0aCBtdWx0aS12 Y3B1IGd1ZXN0cywgdGhlIHVzZQo+IG9mIGEgc2luZ2xlIHNoYXJlZCBwMm0gbWFrZXMgdGhpcyBp bXBvc3NpYmxlIHRvIGRvIHByb3Blcmx5LgoKQWhoLi4gR29vZCB0byBrbm93Cgo+IEkga25vdyBp dCBpcyBub24tYXJjaGl0ZWN0dXJhbCBiZWhhdmlvdXIsIGJ1dCBJTU8gdmxhcGljX21zcl9zZXQo KQo+IHNob3VsZCBiZSB1cGRhdGVkIHRvIHJhaXNlICNHUFswXSB3aGVuIGF0dGVtcHRpbmcgdG8g Y2hhbmdlIHRoZSBmcmFtZSwKPiB0byBtYWtlIGl0IGZhaWwgb2J2aW91c2x5IHJhdGhlciB0aGFu IGhhdmluZyBpbnRlcnJ1cHRzIGdvIG1pc3NpbmcuCj4KPiBBbHNvIEkgc2VlIHRoYXQgdGhlIElu dGVsIHNpZGUgKHZpYSB2bXhfdmxhcGljX21zcl9jaGFuZ2VkKCkpIG1ha2VzIHRoZQo+IHNhbWUg bWlzdGFrZS4KCk9rYXksIGl0IHNlZW1zIHRoYXQgdGhlIGh2bV9tc3Jfd3JpdGVfaW50ZXJjZXB0 KCkgaGFzIGFscmVhZHkgaGFuZGxlZCAKdGhpcyBpc24ndCBpdD8gU28sIEkgc2hvdWxkIGJlIGFi bGUgdG8gcHJldHR5IG11Y2ggcmVtb3ZpbmcgdGhlIGhhbmRsaW5nIApmb3IgdGhlIE1TUiBoZXJl LgoKPj4gK30KPj4gKwo+PiAraW50IHN2bV9hdmljX2luaXRfdm1jYihzdHJ1Y3QgdmNwdSAqdikK Pj4gK3sKPj4gKyAgICBwYWRkcl90IG1hOwo+PiArICAgIHUzMiAqYXBpY19pZF9yZWc7Cj4+ICsg ICAgc3RydWN0IGFyY2hfc3ZtX3N0cnVjdCAqcyA9ICZ2LT5hcmNoLmh2bV9zdm07Cj4+ICsgICAg c3RydWN0IHZtY2Jfc3RydWN0ICp2bWNiID0gcy0+dm1jYjsKPj4gKyAgICBzdHJ1Y3Qgc3ZtX2Rv bWFpbiAqZCA9ICZ2LT5kb21haW4tPmFyY2guaHZtX2RvbWFpbi5zdm07Cj4+ICsgICAgY29uc3Qg c3RydWN0IHZsYXBpYyAqdmxhcGljID0gdmNwdV92bGFwaWModik7Cj4+ICsgICAgc3RydWN0IGF2 aWNfcGh5X2FwaWNfaWRfZW50IGVudHJ5Owo+PiArCj4+ICsgICAgaWYgKCAhc3ZtX2F2aWMgKQo+ PiArICAgICAgICByZXR1cm4gMDsKPj4gKwo+PiArICAgIGlmICggIXZsYXBpYyB8fCAhdmxhcGlj LT5yZWdzX3BhZ2UgKQo+PiArICAgICAgICByZXR1cm4gLUVJTlZBTDsKPgo+IFNvbWV3aGVyZSB5 b3UgbmVlZCBhIGJvdW5kcyBjaGVjayBhZ2FpbnN0IHRoZSBBUElDIElEIGJlaW5nIHdpdGhpbiBB VklDCj4gbGltaXRzLgoKV2UgYXJlIGNoZWNraW5nIHRoZSBib3VuZCBpbiB0aGUgYXZpY19nZXRf cGh5X2FwaWNfaWRfZW50KCkuCgo+Cj4+ICsgICAgaWYgKCAhcy0+YXZpY19sYXN0X3BoeV9pZCAp Cj4+ICsgICAgICAgIHJldHVybiAtRUlOVkFMOwo+Cj4gV2h5IGRvZXMgYSBwb2ludGVyIGludG8g dGhlIHBoeXNpY2FsIElEIHBhZ2UgbmVlZCBzdG9yaW5nIGluCj4gYXJjaF9zdm1fc3RydWN0Pwo+ CgpUaGlzIHdhcyBzbyB0aGF0IHdlIGNhbiBxdWlja2x5IGFjY2VzcyB0aGUgcGh5c2ljYWwgQVBJ QyBJRCBlbnRyeSB0byAKdXBkYXRlIHRoZW0gdy9vIGhhdmluZyB0byBjYWxsIGF2aWNfZ2V0X3Bo eV9hcGljX2lkX2VudHJ5KCkuCgo+PiArCj4+ICsgICAgdm1jYi0+YXZpY19ia19wZ19wYSA9IHBh Z2VfdG9fbWFkZHIodmxhcGljLT5yZWdzX3BhZ2UpICYgQVZJQ19IUEFfTUFTSzsKPgo+IFRoaXMg dXNlIG9mIEFWSUNfSFBBX01BU0sgbWF5IHRydW5jYXRlIHRoZSB0aGUgYWRkcmVzcywgd2hpY2gg aXMKPiBkZWZpbml0ZWx5IGEgcHJvYmxlbS4KCkknbSBub3QgcXVpdGUgc3VyZSB0aGF0IEkgZ290 IHRoZSB0cnVuY2F0aW9uIHRoYXQgeW91IHBvaW50ZWQgb3V0LiBDb3VsZCAKeW91IHBsZWFzZSBl bGFib3JhdGU/Cgo+IElmIEFWSUNfSFBBX01BU0sgaXNuJ3QganVzdCByZWxhdGVkIHRvIG1heHBo eXNhZGRyLCB0aGVuIHlvdSBuZWVkIHRvCj4gcGFzcyBhcHByb3ByaWF0ZSBtZW1mbGFncyBpbnRv IHRoZSBhbGxvY19kb21oZWFwX3BhZ2UoKSBjYWxscyB0byBnZXQgYQo+IHN1aXRhYmxlIHBhZ2Uu Cj4KCklmIGJ5ICJtYXhwaHlzYWRkciIgaXMgdGhlIDUyLWJpdCBwaHlzaWNhbCBhZGRyZXNzIGxp bWl0IGZvciB0aGUgUEFFIAptb2RlLCB0aGVuIEkgdGhpbmsgdGhhdCdzIHJlbGF0ZWQuCgo+PiAr Cj4+ICsgICAgZW50cnkgPSAqKHMtPmF2aWNfbGFzdF9waHlfaWQpOwo+PiArICAgIHNtcF9ybWIo KTsKPj4gKyAgICBlbnRyeS5ia19wZ19wdHIgPSAodm1jYi0+YXZpY19ia19wZ19wYSAmIEFWSUNf SFBBX01BU0spID4+IEFWSUNfSFBBX1NISUZUOwo+PiArICAgIGVudHJ5LmlzX3J1bm5pbmcgPSAw Owo+PiArICAgIGVudHJ5LnZhbGlkID0gMTsKPj4gKyAgICAqKHMtPmF2aWNfbGFzdF9waHlfaWQp ID0gZW50cnk7Cj4+ICsgICAgc21wX3dtYigpOwo+Cj4gRHVyaW5nIGRvbWFpbiBjcmVhdGlvbiwg bm8gZ3Vlc3RzIGFyZSBydW5uaW5nLCBzbyB5b3UgY2FuIGVkaXQgdGhpcyBjbGVhbmx5LgogPgo+ IFdoYXQgdmFsdWVzIGFyZSBhY3R1YWxseSBiZWluZyBleGNsdWRlZCBoZXJlPyAgVGhpcywgYW5k IG90aGVyIHBhdGNoZXMsCj4gbG9vayBsaWtlIHlvdSBhcmUgYWN0dWFsbHkganVzdCB0cnlpbmcg dG8gZG8gYSByZWFkX2F0b21pYygpLCBtb2RpZnksCj4gd3JpdGVfYXRvbWljKCkgdXBkYXRlLCBy YXRoZXIgdGhhbiBhY3R1YWxseSByZXF1aXJpbmcgb3JkZXJpbmcuCj4KCkJlc2lkZXMgdGhlIHJl YWRfYXRvbWljKCksIG1vZGlmeSB3cml0ZV9hdG9taWMoKSB0byB1cGRhdGUgdGhlIGVudHJ5LiBJ IAphbHNvIHdhbnQgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIGNvbXBpbGVyIHdvbid0IHNodWZmbGUg dGhlIG9yZGVyIGFyb3VuZCwgCndoaWNoIEkgdGhvdWdodCBjYW4gYmUgYWNoaWV2ZWQgdmlhIHNt cF9ybWIoKSBhbmQgc21wX3dtYigpLgoKPj4gWy4uLl0KPj4gQEAgLTE3OTksNiArMTgwMiwxMCBA QCBzdGF0aWMgaW50IHN2bV9tc3Jfd3JpdGVfaW50ZXJjZXB0KHVuc2lnbmVkIGludCBtc3IsIHVp bnQ2NF90IG1zcl9jb250ZW50KQo+Pgo+PiAgICAgIHN3aXRjaCAoIG1zciApCj4+ICAgICAgewo+ PiArICAgIGNhc2UgTVNSX0lBMzJfQVBJQ0JBU0U6Cj4+ICsgICAgICAgIGlmICggc3ZtX2F2aWNf dmNwdV9lbmFibGVkKHYpICkKPj4gKyAgICAgICAgICAgIHN2bV9hdmljX3VwZGF0ZV92YXBpY19i YXIodiwgbXNyX2NvbnRlbnQpOwo+PiArICAgICAgICBicmVhazsKPgo+IEkgdGhpbmsgdGhpcyBp cyBkZWFkIGNvZGUuICBNU1JfSUEzMl9BUElDQkFTRSBpcyBoYW5kbGVkIGluCj4gaHZtX21zcl93 cml0ZV9pbnRlcmNlcHQoKSwgYW5kIHdvbid0IGZhbGwgaW50byB0aGUgdmVuZG9yIGhvb2suICBJ ZiB5b3UKPiB3ZXJlIHRvIGNvbnRpbnVlIGRvd24gdGhpcyByb3V0ZSwgSSB3b3VsZCBhZGQgYW5v dGhlciBwaV9vcHMgaG9vaywgYW5kCj4gcmVwbGFjZSB0aGUgVk1YIGxheWVyaW5nIHZpb2xhdGlv biBpbiB2bGFwaWNfbXNyX3NldCgpLgo+CgpJIHNlZSBub3cuIEkgd2lsbCByZW1vdmUgdGhlIGNv ZGUgYWRkZWQgaGVyZS4KCgpUaGFua3MsClN1cmF2ZWUKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVs QGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=