From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chao Gao Subject: [PATCH v2] xen/pt: fix some pass-thru devices don't work across reboot Date: Thu, 15 Nov 2018 09:10:26 +0800 Message-ID: <1542244226-35003-1-git-send-email-chao.gao@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gNDZE-0002jt-LQ for xen-devel@lists.xenproject.org; Thu, 15 Nov 2018 09:04:04 +0000 List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Andrew Cooper , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , Wei Liu , Jan Beulich , Chao Gao List-Id: xen-devel@lists.xenproject.org SSBmaW5kIHNvbWUgcGFzcy10aHJ1IGRldmljZXMgZG9uJ3Qgd29yayBhbnkgbW9yZSBhY3Jvc3Mg Z3Vlc3QKcmVib290LiBBc3NpZ25pbmcgaXQgdG8gYW5vdGhlciBkb21haW4gYWxzbyBtZWV0cyB0 aGUgc2FtZSBpc3N1ZS4gQW5kCnRoZSBvbmx5IHdheSB0byBtYWtlIGl0IHdvcmsgYWdhaW4gaXMg dW4tYmluZGluZyBhbmQgYmluZGluZyBpdCB0bwpwY2liYWNrLiBTb21lb25lIHJlcG9ydGVkIHRo aXMgaXNzdWUgb25lIHllYXIgYWdvIFsxXS4KCklmIHRoZSBkZXZpY2UncyBkcml2ZXIgZG9lc24n dCBkaXNhYmxlIE1TSS1YIGR1cmluZyBzaHV0ZG93biBvciBxZW11IGlzCmtpbGxlZC9jcmFzaGVk IGJlZm9yZSB0aGUgZG9tYWluIHNodXRkb3duLCB0aGlzIGRvbWFpbidzIHBpcnEgd29uJ3QgYmUK dW5tYXBwZWQuIFRoZW4geGVuIHdpbGwgdW5tYXAgYWxsIHBpcnEuIEJ1dCBwY2liYWNrIGhhcyBh bHJlYWR5IGRpc2FibGVkCm1lb3J5IGRlY29kaW5nIGJlZm9yZSB4ZW4gdW5tYXBwaW5nIHBpcnEu IFRoZW4gd2hlbiBYZW4gaXMgZGlzYWJsaW5nIGEKTVNJIG9mIHRoZSBkZXZpY2UsIGl0IGhhcyB0 byBzZXRzIHRoZSBob3N0X21hc2thbGwgZmxhZyBhbmQgbWFza2FsbCBiaXQKdG8gbWFzayBhIE1T SSByYXRoZXIgdGhhbiBzZXRzIG1hc2tiaXQgaW4gTVNJLXggdGFibGUuIFRoZSBjYWxsIHRyYWNl IG9mCnRoaXMgcHJvY2VzcyBpczoKLT5hcmNoX2RvbWFpbl9kZXN0cm95CiAgICAtPmZyZWVfZG9t YWluX3BpcnFzCiAgICAgICAgLT51bm1hcF9kb21haW5fcGlycSAoaWYgcGlycSBpc24ndCB1bm1h cCBieSBxZW11KQogICAgICAgICAgICAtPnBpcnFfZ3Vlc3RfZm9yY2VfdW5iaW5kCiAgICAgICAg ICAgICAgICAtPl9fcGlycV9ndWVzdF91bmJpbmQKICAgICAgICAgICAgICAgICAgICAtPm1hc2tf bXNpX2lycSg9ZGVzYy0+aGFuZGxlci0+ZGlzYWJsZSgpKQogICAgICAgICAgICAgICAgICAgICAg ICAtPnRoZSB3YXJuaW5nIGluIG1zaV9zZXRfbWFza19iaXQoKQoKVGhlIGhvc3RfbWFza2FsbCBi aXQgd2lsbCBwcmV2ZW50IGd1ZXN0cyBmcm9tIGNsZWFyaW5nIHRoZSBtYXNrYWxsIGJpdApldmVu IHRoZSBkZXZpY2UgaXMgYXNzaWduZWQgdG8gYW5vdGhlciBndWVzdCBsYXRlci4gR3Vlc3RzIGNh bm5vdApyZWNlaXZlIGludGVycnVwdHMgZnJvbSB0aGlzIGRldmljZS4KClRvIGZpeCB0aGlzLCBo b3N0X21hc2thbGwgZmxhZyBpcyBjbGVhcmVkIHdoZW4gYWxsIE1TSXMgb2YgYSBkZXZpY2UgYXJl IGZyZWVkLgpJdCBpcyBkZWZpbml0ZWx5IHNhZmVseSB0byBjbGVhciBpdCBiZWNhdXNlIG5vIG1z aSBpcyBhY3R1YWxseSBzZXQgdXAKZm9yIHRoaXMgZGV2aWNlLiBBbHNvLCAnbXNpeC0+d2FybmVk JyBpcyBpbml0aWFsaXplZCB0byBET01JRF9JTlZBTElECnJhdGhlciB0aGFuIDAgdG8gYXZvaWQg d2FybmluZ3MgbWlzc2luZyBmb3IgRG9tMC4KClsxXTogaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0 Lm9yZy9hcmNoaXZlcy9odG1sL3hlbi1kZXZlbC8yMDE3LTA5L21zZzAyNTIwLmh0bWwKClNpZ25l ZC1vZmYtYnk6IENoYW8gR2FvIDxjaGFvLmdhb0BpbnRlbC5jb20+Ci0tLQogeGVuL2FyY2gveDg2 L21zaS5jICAgICAgICAgICAgfCAxOCArKysrKysrKysrKysrKysrKysKIHhlbi9kcml2ZXJzL3Bh c3N0aHJvdWdoL3BjaS5jIHwgIDEgKwogMiBmaWxlcyBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCsp CgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21zaS5jIGIveGVuL2FyY2gveDg2L21zaS5jCmlu ZGV4IDU1Njc5OTAuLmNkNTcwYmMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tc2kuYworKysg Yi94ZW4vYXJjaC94ODYvbXNpLmMKQEAgLTYzNyw2ICs2MzcsNyBAQCBpbnQgbXNpX2ZyZWVfaXJx KHN0cnVjdCBtc2lfZGVzYyAqZW50cnkpCiB7CiAgICAgdW5zaWduZWQgaW50IG5yID0gZW50cnkt Pm1zaV9hdHRyaWIudHlwZSAhPSBQQ0lfQ0FQX0lEX01TSVgKICAgICAgICAgICAgICAgICAgICAg ICA/IGVudHJ5LT5tc2kubnZlYyA6IDE7CisgICAgc3RydWN0IHBjaV9kZXYgKnBkZXYgPSBlbnRy eS0+ZGV2OwogCiAgICAgd2hpbGUgKCBuci0tICkKICAgICB7CkBAIC02NTQsNiArNjU1LDIzIEBA IGludCBtc2lfZnJlZV9pcnEoc3RydWN0IG1zaV9kZXNjICplbnRyeSkKIAogICAgIGxpc3RfZGVs KCZlbnRyeS0+bGlzdCk7CiAgICAgeGZyZWUoZW50cnkpOworCisgICAgLyoKKyAgICAgKiBJbiBz b21lIGNhc2VzLCB0aGUgJ2hvc3RfbWFza2FsbCcgaXMgc2V0IGZvciBzYWZldHkuIEhlcmUgY2xl YXIKKyAgICAgKiAnaG9zdF9tYXNrYWxsJyBpZiBhbGwgTVNJcyBhcmUgZnJlZWQgZm9yIGEgbXNp LXggY2FwYWJsZSBkZXZpY2UuCisgICAgICogV2l0aG91dCBpdCwgdGhlIGRldmljZSdzIG1zaXgg a2VlcHMgZGlzYWJsZWQgZXZlbiBiZWVuIHJlYXNzaWduZWQKKyAgICAgKiB0byBhbm90aGVyIGRv bWFpbi4KKyAgICAgKi8KKyAgICBpZiAoIHBkZXYgJiYgbGlzdF9lbXB0eSgmcGRldi0+bXNpX2xp c3QpICYmIHBkZXYtPm1zaXggKQorICAgIHsKKyAgICAgICAgaWYgKCBwZGV2LT5tc2l4LT5ob3N0 X21hc2thbGwgKQorICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19HX1dBUk5JTkcKKyAgICAgICAg ICAgICAgICAgICAiUmVzZXR0aW5nIG1zaXggc3RhdHVzIG9mICUwNHg6JTAyeDolMDJ4LiV1XG4i LAorICAgICAgICAgICAgICAgICAgIHBkZXYtPnNlZywgcGRldi0+YnVzLCBQQ0lfU0xPVChwZGV2 LT5kZXZmbiksCisgICAgICAgICAgICAgICAgICAgUENJX0ZVTkMocGRldi0+ZGV2Zm4pKTsKKyAg ICAgICAgcGRldi0+bXNpeC0+aG9zdF9tYXNrYWxsID0gZmFsc2U7CisgICAgICAgIHBkZXYtPm1z aXgtPndhcm5lZCA9IERPTUlEX0lOVkFMSUQ7CisgICAgfQogICAgIHJldHVybiAwOwogfQogCmRp ZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9wY2kuYyBiL3hlbi9kcml2ZXJzL3Bh c3N0aHJvdWdoL3BjaS5jCmluZGV4IGU1Yjk2MDIuLmQwYWUwM2QgMTAwNjQ0Ci0tLSBhL3hlbi9k cml2ZXJzL3Bhc3N0aHJvdWdoL3BjaS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Bj aS5jCkBAIC0zMjcsNiArMzI3LDcgQEAgc3RhdGljIHN0cnVjdCBwY2lfZGV2ICphbGxvY19wZGV2 KHN0cnVjdCBwY2lfc2VnICpwc2VnLCB1OCBidXMsIHU4IGRldmZuKQogICAgICAgICAgICAgcmV0 dXJuIE5VTEw7CiAgICAgICAgIH0KICAgICAgICAgc3Bpbl9sb2NrX2luaXQoJm1zaXgtPnRhYmxl X2xvY2spOworICAgICAgICBtc2l4LT53YXJuZWQgPSBET01JRF9JTlZBTElEOwogICAgICAgICBw ZGV2LT5tc2l4ID0gbXNpeDsKICAgICB9CiAKLS0gCjEuOC4zLjEKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl bi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3Jn L21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs