From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: Re: [PATCH] amd-iommu: Fix Guest CR3 Table following c/s 3a7947b6901 Date: Thu, 4 Apr 2019 10:39:07 +0000 Message-ID: References: <1554314899-16357-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1554314899-16357-1-git-send-email-andrew.cooper3@citrix.com> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , Wei Liu , Brian Woods , Jan Beulich , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBBbmRyZXcgQ29vcGVyIFttYWls dG86YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbV0NCj4gU2VudDogMDMgQXByaWwgMjAxOSAxOTow OA0KPiBUbzogWGVuLWRldmVsIDx4ZW4tZGV2ZWxAbGlzdHMueGVuLm9yZz4NCj4gQ2M6IEFuZHJl dyBDb29wZXIgPEFuZHJldy5Db29wZXIzQGNpdHJpeC5jb20+OyBKYW4gQmV1bGljaCA8SkJldWxp Y2hAc3VzZS5jb20+OyBXZWkgTGl1DQo+IDx3ZWkubGl1MkBjaXRyaXguY29tPjsgUm9nZXIgUGF1 IE1vbm5lIDxyb2dlci5wYXVAY2l0cml4LmNvbT47IEJyaWFuIFdvb2RzIDxicmlhbi53b29kc0Bh bWQuY29tPjsgUGF1bA0KPiBEdXJyYW50IDxQYXVsLkR1cnJhbnRAY2l0cml4LmNvbT4NCj4gU3Vi amVjdDogW1BBVENIXSBhbWQtaW9tbXU6IEZpeCBHdWVzdCBDUjMgVGFibGUgZm9sbG93aW5nIGMv cyAzYTc5NDdiNjkwMQ0KPiANCj4gImFtZC1pb21tdTogdXNlIGEgYml0ZmllbGQgZm9yIERURSIg cmVuYW1lZCBpb21tdV9kdGVfc2V0X2d1ZXN0X2NyMygpJ3MgZ2NyMw0KPiBwYXJhbWV0ZXIgdG8g Z2NyM19tZm4gYnV0IGVuZGVkIHVwIHdpdGggYW4gb2ZmLWJ5LVBBR0VfU0laRSBlcnJvciB3aGVu DQo+IGV4dHJhY3RpbmcgYml0cyBmcm9tIHRoZSBhZGRyZXNzLg0KPiANCj4gRmlyc3Qgb2YgYWxs LCBnZXRfZ3Vlc3RfY3IzX2Zyb21fZHRlKCkgYW5kIGlvbW11X2R0ZV9zZXRfZ3Vlc3RfY3IzKCkN Cj4gYXJlIChhbG1vc3QpIGdldHRlcnMgYW5kIHNldHRlcnMgZm9yIHRoZSBzYW1lIGZpZWxkLCBz byBzaG91bGQgbGl2ZSB0b2dldGhlci4NCj4gDQo+IFJlbmFtZSB0aGVtIHRvIGR0ZV97Z2V0LHNl dH1fZ2NyM190YWJsZSgpIHRvIHNwZWNpZmljYWxseSBhdm9pZCAnZ3Vlc3RfY3IzJyBpbg0KPiB0 aGUgbmFtZS4gIFRoaXMgZmllbGQgYWN0dWFsbHkgcG9pbnRzIHRvIGEgdGFibGUgaW4gbWVtb3J5 IGNvbnRhaW5pbmcgYW4gYXJyYXkNCj4gb2YgZ3Vlc3QgQ1IzIHZhbHVlcy4gIEFzIHRoZXNlIGZ1 bmN0aW9ucyBhcmUgdXNlZCBmb3IgZGlmZmVyZW50IGxvZ2ljYWwNCj4gaW5kaXJlY3Rpb25zLCB0 aGV5IHNob3VsZG4ndCB1c2UgZ2ZuL21mbiB0ZXJtaW5vbG9neSBmb3IgdGhlaXIgcGFyYW1ldGVy cy4NCj4gU3dpdGNoIHRoZW0gdG8gdXNlIHN0cmFpZ2h0IHVpbnQ2NF90IGZ1bGwgYWRkcmVzc2Vz Lg0KPiANCj4gRmluYWxseSwgY29ycmVjdCB0aGUgZHRlX3NldF9nY3IzX3RhYmxlKCkgdG8gdXNl IHRoZSBwcm9wZXIgc2hpZnQuICBFeHByZXNzDQo+IHRoZSBzaGlmdHMgdmlzdWFsbHkgdXNpbmcg TUFTS19FWFRSKCkgYW5kIGxpdGVyYWwgbWFza3MsIHdoaWNoIElNTyBpcyB0aGUNCj4gY2xlYXJl c3Qgd2F5IHRvIGV4cHJlc3MgdGhlIGxvZ2ljLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogQW5kcmV3 IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4NCj4gLS0tDQo+IENDOiBKYW4gQmV1 bGljaCA8SkJldWxpY2hAc3VzZS5jb20+DQo+IENDOiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXgu Y29tPg0KPiBDQzogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+DQo+IEND OiBCcmlhbiBXb29kcyA8YnJpYW4ud29vZHNAYW1kLmNvbT4NCj4gQ0M6IFBhdWwgRHVycmFudCA8 cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+DQo+IA0KPiBUaGlzIGNvZGUgaXMgdW5yZWFjaGFibGUs IHNvIGNvbXBsZXRlbHkgdW50ZXN0YWJsZSwgYnV0IEkgdGhpbmsgdGhlIGVuZCByZXN1bHQNCj4g aXMgYmV0dGVyIHRoYW4gaXQgd2FzIHByZXZpb3VzbHkuDQo+IC0tLQ0KPiAgeGVuL2RyaXZlcnMv cGFzc3Rocm91Z2gvYW1kL2lvbW11X2d1ZXN0LmMgICAgIHwgMzIgKysrKysrKysrKysrKysrKysr KysrKystLS0tDQo+ICB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfbWFwLmMgICAg ICAgfCAyMSAtLS0tLS0tLS0tLS0tLS0tLS0NCj4gIHhlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2 bS9hbWQtaW9tbXUtcHJvdG8uaCB8ICAyIC0tDQo+ICAzIGZpbGVzIGNoYW5nZWQsIDI4IGluc2Vy dGlvbnMoKyksIDI3IGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJz L3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9ndWVzdC5jIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gv YW1kL2lvbW11X2d1ZXN0LmMNCj4gaW5kZXggMzI4ZTc1MC4uNDY5MWU4ZiAxMDA2NDQNCj4gLS0t IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X2d1ZXN0LmMNCj4gKysrIGIveGVu L2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X2d1ZXN0LmMNCj4gQEAgLTc2LDEwICs3Niwz NCBAQCBzdGF0aWMgdm9pZCBndWVzdF9pb21tdV9kaXNhYmxlKHN0cnVjdCBndWVzdF9pb21tdSAq aW9tbXUpDQo+ICAgICAgaW9tbXUtPmVuYWJsZWQgPSAwOw0KPiAgfQ0KPiANCj4gLXN0YXRpYyB1 aW50NjRfdCBnZXRfZ3Vlc3RfY3IzX2Zyb21fZHRlKHN0cnVjdCBhbWRfaW9tbXVfZHRlICpkdGUp DQo+ICsvKg0KPiArICogVGhlIEd1ZXN0IENSMyBUYWJsZSBpcyBhIHRhYmxlIHdyaXR0ZW4gYnkg dGhlIGd1ZXN0IGtlcm5lbCwgcG9pbnRpbmcgYXQNCj4gKyAqIGdDUjMgdmFsdWVzIGZvciBQQVNJ RCB0cmFuc2FjdGlvbnMgdG8gdXNlLiAgVGhlIERldmljZSBUYWJsZSBFbnRyeSBwb2ludHMNCj4g KyAqIGF0IGEgc3lzdGVtIHBoeXNpY2FsIGFkZHJlc3MuDQo+ICsgKg0KPiArICogSG93ZXZlciwg dGhlc2UgaGVscGVycyBkZWxpYmVyYXRlbHkgdXNlIHVudHlwZWQgcGFyYW1ldGVycyB3aXRob3V0 DQo+ICsgKiByZWZlcmVuY2UgdG8gZ2ZuL21mbiBiZWNhdXNlIHRoZXkgYXJlIHVzZWQgYm90aCBm b3IgcHJvZ3JhbW1pbmcgdGhlIHJlYWwNCj4gKyAqIElPTU1VLCBhbmQgaW50ZXJwcmV0aW5nIGEg Z3Vlc3RzIHByb2dyYW1taW5nIG9mIGl0cyB2SU9NTVUuDQo+ICsgKi8NCj4gK3N0YXRpYyB1aW50 NjRfdCBkdGVfZ2V0X2djcjNfdGFibGUoY29uc3Qgc3RydWN0IGFtZF9pb21tdV9kdGUgKmR0ZSkN Cj4gIHsNCj4gICAgICByZXR1cm4gKChkdGUtPmdjcjNfdHJwXzUxXzMxIDw8IDMxKSB8IChkdGUt PmdjcjNfdHJwXzMwXzE1IDw8IDE1KSB8DQo+IC0gICAgICAgICAgICAoZHRlLT5nY3IzX3RycF8x NF8xMiA8PCAxMikpID4+IFBBR0VfU0hJRlQ7DQo+ICsgICAgICAgICAgICAoZHRlLT5nY3IzX3Ry cF8xNF8xMiA8PCAxMikpOw0KPiArfQ0KPiArDQo+ICtzdGF0aWMgdm9pZCBkdGVfc2V0X2djcjNf dGFibGUoc3RydWN0IGFtZF9pb21tdV9kdGUgKmR0ZSwgdWludDE2X3QgZG9tX2lkLA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IGFkZHIsIHVpbnQ4X3QgZ3YsIHVp bnQ4X3QgZ2x4KQ0KPiArew0KPiArICAgIC8qIEkgYml0IG11c3QgYmUgc2V0IHdoZW4gZ2NyMyBp cyBlbmFibGVkICovDQo+ICsgICAgZHRlLT5pID0gMTsNCj4gKw0KPiArICAgIGR0ZS0+Z2NyM190 cnBfMTRfMTIgPSBNQVNLX0VYVFIoYWRkciwgMHgwMDAwMDAwMDAwMDA3MDAwdWxsKTsNCj4gKyAg ICBkdGUtPmdjcjNfdHJwXzMwXzE1ID0gTUFTS19FWFRSKGFkZHIsIDB4MDAwMDAwMDA3ZmZmODAw MHVsbCk7DQo+ICsgICAgZHRlLT5nY3IzX3RycF81MV8zMSA9IE1BU0tfRVhUUihhZGRyLCAweDAw MGZmZmZmODAwMDAwMDB1bGwpOw0KDQpJJ20gbm90IGEgZmFuIG9mIHRoZSBiaWcgaGV4IHZhbHVl cyBzbyBJJ2QgcHJlZmVyIHRvIGtlZXAuLi4NCg0KPiArDQo+ICsgICAgZHRlLT5kb21haW5faWQg PSBkb21faWQ7DQo+ICsgICAgZHRlLT5nbHggPSBnbHg7DQo+ICsgICAgZHRlLT5ndiA9IGd2Ow0K PiAgfQ0KPiANCj4gIHN0YXRpYyB1bnNpZ25lZCBpbnQgaG9zdF9kb21pZChzdHJ1Y3QgZG9tYWlu ICpkLCB1aW50NjRfdCBnX2RvbWlkKQ0KPiBAQCAtMzk5LDcgKzQyMyw3IEBAIHN0YXRpYyBpbnQg ZG9faW52YWxpZGF0ZV9kdGUoc3RydWN0IGRvbWFpbiAqZCwgY21kX2VudHJ5X3QgKmNtZCkNCj4g ICAgICBnZHRlID0gJmR0ZV9iYXNlW2diZGYgJSAoUEFHRV9TSVpFIC8gc2l6ZW9mKHN0cnVjdCBh bWRfaW9tbXVfZHRlKSldOw0KPiANCj4gICAgICBnZG9tX2lkID0gZ2R0ZS0+ZG9tYWluX2lkOw0K PiAtICAgIGdjcjNfZ2ZuID0gZ2V0X2d1ZXN0X2NyM19mcm9tX2R0ZShnZHRlKTsNCj4gKyAgICBn Y3IzX2dmbiA9IGR0ZV9nZXRfZ2NyM190YWJsZShnZHRlKSA+PiBQQUdFX1NISUZUOw0KPiAgICAg IGdseCA9IGdkdGUtPmdseDsNCj4gICAgICBndiA9IGdkdGUtPmd2Ow0KPiANCj4gQEAgLTQyOSw3 ICs0NTMsNyBAQCBzdGF0aWMgaW50IGRvX2ludmFsaWRhdGVfZHRlKHN0cnVjdCBkb21haW4gKmQs IGNtZF9lbnRyeV90ICpjbWQpDQo+ICAgICAgbWR0ZSA9ICZkdGVfYmFzZVtyZXFfaWRdOw0KPiAN Cj4gICAgICBzcGluX2xvY2tfaXJxc2F2ZSgmaW9tbXUtPmxvY2ssIGZsYWdzKTsNCj4gLSAgICBp b21tdV9kdGVfc2V0X2d1ZXN0X2NyMyhtZHRlLCBoZG9tX2lkLCBnY3IzX21mbiwgZ3YsIGdseCk7 DQo+ICsgICAgZHRlX3NldF9nY3IzX3RhYmxlKG1kdGUsIGhkb21faWQsIGdjcjNfbWZuIDw8IFBB R0VfU0hJRlQsIGd2LCBnbHgpOw0KPiANCj4gICAgICBhbWRfaW9tbXVfZmx1c2hfZGV2aWNlKGlv bW11LCByZXFfaWQpOw0KPiAgICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlvbW11LT5sb2Nr LCBmbGFncyk7DQo+IGRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9t bXVfbWFwLmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfbWFwLmMNCj4gaW5k ZXggY2JmMDBlOS4uMzJhOGZkYyAxMDA2NDQNCj4gLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91 Z2gvYW1kL2lvbW11X21hcC5jDQo+ICsrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9p b21tdV9tYXAuYw0KPiBAQCAtMTM4LDI3ICsxMzgsNiBAQCB2b2lkIF9faW5pdCBpb21tdV9kdGVf YWRkX2RldmljZV9lbnRyeShzdHJ1Y3QgYW1kX2lvbW11X2R0ZSAqZHRlLA0KPiAgICAgIGR0ZS0+ ZXggPSBpdnJzX2Rldi0+ZHRlX2FsbG93X2V4Y2x1c2lvbjsNCj4gIH0NCj4gDQo+IC12b2lkIGlv bW11X2R0ZV9zZXRfZ3Vlc3RfY3IzKHN0cnVjdCBhbWRfaW9tbXVfZHRlICpkdGUsIHVpbnQxNl90 IGRvbV9pZCwNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgZ2NyM19t Zm4sIHVpbnQ4X3QgZ3YsIHVpbnQ4X3QgZ2x4KQ0KPiAtew0KPiAtI2RlZmluZSBHQ1IzX01BU0so aGksIGxvKSAoKCgxdWwgPDwgKChoaSkgKyAxKSkgLSAxKSAmIH4oKDF1bCA8PCAobG8pKSAtIDEp KQ0KDQouLi4gdGhpcyBtYWNybyB0byBnZW5lcmF0ZSB0aGUgbWFzayB2YWx1ZXMgZm9yIE1BU0tf RVhUUi4NCg0KICBQYXVsDQoNCj4gLSNkZWZpbmUgR0NSM19TSElGVChsbykgKChsbykgLSBQQUdF X1NISUZUKQ0KPiAtDQo+IC0gICAgLyogSSBiaXQgbXVzdCBiZSBzZXQgd2hlbiBnY3IzIGlzIGVu YWJsZWQgKi8NCj4gLSAgICBkdGUtPmkgPSAxOw0KPiAtDQo+IC0gICAgZHRlLT5nY3IzX3RycF8x NF8xMiA9IChnY3IzX21mbiAmIEdDUjNfTUFTSygxNCwgMTIpKSA+PiBHQ1IzX1NISUZUKDEyKTsN Cj4gLSAgICBkdGUtPmdjcjNfdHJwXzMwXzE1ID0gKGdjcjNfbWZuICYgR0NSM19NQVNLKDMwLCAx NSkpID4+IEdDUjNfU0hJRlQoMTUpOw0KPiAtICAgIGR0ZS0+Z2NyM190cnBfNTFfMzEgPSAoZ2Ny M19tZm4gJiBHQ1IzX01BU0soNTEsIDMxKSkgPj4gR0NSM19TSElGVCgzMSk7DQo+IC0NCj4gLSAg ICBkdGUtPmRvbWFpbl9pZCA9IGRvbV9pZDsNCj4gLSAgICBkdGUtPmdseCA9IGdseDsNCj4gLSAg ICBkdGUtPmd2ID0gZ3Y7DQo+IC0NCj4gLSN1bmRlZiBHQ1IzX1NISUZUDQo+IC0jdW5kZWYgR0NS M19NQVNLDQo+IC19DQo+IC0NCj4gIC8qIFdhbGsgaW8gcGFnZSB0YWJsZXMgYW5kIGJ1aWxkIGxl dmVsIHBhZ2UgdGFibGVzIGlmIG5lY2Vzc2FyeQ0KPiAgICoge1JlLCB1bn1tYXBwaW5nIHN1cGVy IHBhZ2UgZnJhbWVzIGNhdXNlcyByZS1hbGxvY2F0aW9uIG9mIGlvDQo+ICAgKiBwYWdlIHRhYmxl cy4NCj4gZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2bS9hbWQtaW9tbXUt cHJvdG8uaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2bS9hbWQtaW9tbXUtDQo+IHByb3Rv LmgNCj4gaW5kZXggZTBkNWQyMy4uYzYxNzlkYyAxMDA2NDQNCj4gLS0tIGEveGVuL2luY2x1ZGUv YXNtLXg4Ni9odm0vc3ZtL2FtZC1pb21tdS1wcm90by5oDQo+ICsrKyBiL3hlbi9pbmNsdWRlL2Fz bS14ODYvaHZtL3N2bS9hbWQtaW9tbXUtcHJvdG8uaA0KPiBAQCAtNzksOCArNzksNiBAQCB2b2lk IGFtZF9pb21tdV9zZXRfcm9vdF9wYWdlX3RhYmxlKHN0cnVjdCBhbWRfaW9tbXVfZHRlICpkdGUs DQo+ICAJCQkJICAgdWludDhfdCBwYWdpbmdfbW9kZSwgdWludDhfdCB2YWxpZCk7DQo+ICB2b2lk IGlvbW11X2R0ZV9hZGRfZGV2aWNlX2VudHJ5KHN0cnVjdCBhbWRfaW9tbXVfZHRlICpkdGUsDQo+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBpdnJzX21hcHBpbmdzICpp dnJzX2Rldik7DQo+IC12b2lkIGlvbW11X2R0ZV9zZXRfZ3Vlc3RfY3IzKHN0cnVjdCBhbWRfaW9t bXVfZHRlICpkdGUsIHVpbnQxNl90IGRvbV9pZCwNCj4gLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdWludDY0X3QgZ2NyM19tZm4sIHVpbnQ4X3QgZ3YsIHVpbnQ4X3QgZ2x4KTsNCj4gDQo+ ICAvKiBzZW5kIGNtZCB0byBpb21tdSAqLw0KPiAgdm9pZCBhbWRfaW9tbXVfZmx1c2hfYWxsX3Bh Z2VzKHN0cnVjdCBkb21haW4gKmQpOw0KPiAtLQ0KPiAyLjEuNA0KDQpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl bi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3Jn L21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs