From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH v4 1/5] vpci: fix updating the command register Date: Wed, 14 Nov 2018 12:57:36 +0100 Message-ID: <20181114115740.1050-2-roger.pau@citrix.com> References: <20181114115740.1050-1-roger.pau@citrix.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 1gMtnr-0005VE-PB for xen-devel@lists.xenproject.org; Wed, 14 Nov 2018 11:57:51 +0000 In-Reply-To: <20181114115740.1050-1-roger.pau@citrix.com> 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: Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall , Jan Beulich , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org V2hlbiBzd2l0Y2hpbmcgdGhlIG1lbW9yeSBkZWNvZGluZyBiaXQgaW4gdGhlIGNvbW1hbmQgcmVn aXN0ZXIgdGhlCnJlc3Qgb2YgdGhlIGNoYW5nZXMgd2hlcmUgZHJvcHBlZCwgbGVhZGluZyB0byBv bmx5IHRoZSBtZW1vcnkgZGVjb2RpbmcKYml0IGJlaW5nIHVwZGF0ZWQuCgpGaXggdGhpcyBieSB3 cml0aW5nIHRoZSBjb21tYW5kIHJlZ2lzdGVyIG9uY2UgdGhlIGd1ZXN0IHBoeXNtYXAKbWFuaXB1 bGF0aW9ucyBhcmUgZG9uZSBpZiB0aGVyZSBhcmUgY2hhbmdlcyB0byB0aGUgbWVtb3J5IGRlY29k aW5nCmJpdC4KClNpZ25lZC1vZmYtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRy aXguY29tPgotLS0KQ2M6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+ CkNjOiBHZW9yZ2UgRHVubGFwIDxHZW9yZ2UuRHVubGFwQGV1LmNpdHJpeC5jb20+CkNjOiBJYW4g SmFja3NvbiA8aWFuLmphY2tzb25AZXUuY2l0cml4LmNvbT4KQ2M6IEphbiBCZXVsaWNoIDxqYmV1 bGljaEBzdXNlLmNvbT4KQ2M6IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+CkNj OiBLb25yYWQgUnplc3p1dGVrIFdpbGsgPGtvbnJhZC53aWxrQG9yYWNsZS5jb20+CkNjOiBTdGVm YW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+CkNjOiBUaW0gRGVlZ2FuIDx0 aW1AeGVuLm9yZz4KQ2M6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+Ci0tLQpDaGFuZ2Vz IHNpbmNlIHYzOgogLSBPbmx5IHVwZGF0ZSB0aGUgY29tbWFuZCByZWdpc3RlciBvbmNlIGFmdGVy IHRoZSBwaHlzbWFwIGNoYW5nZXMgYXJlCiAgIGRvbmUuCi0tLQogeGVuL2RyaXZlcnMvdnBjaS9o ZWFkZXIuYyB8IDM1ICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCiB4ZW4vaW5j bHVkZS94ZW4vdnBjaS5oICAgIHwgIDIgKy0KIDIgZmlsZXMgY2hhbmdlZCwgMTggaW5zZXJ0aW9u cygrKSwgMTkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvdnBjaS9oZWFk ZXIuYyBiL3hlbi9kcml2ZXJzL3ZwY2kvaGVhZGVyLmMKaW5kZXggNDU3M2NjYWRmMC4uMTYyZDUx ZjdlMiAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvdnBjaS9oZWFkZXIuYworKysgYi94ZW4vZHJp dmVycy92cGNpL2hlYWRlci5jCkBAIC04MSwxMSArODEsMTIgQEAgc3RhdGljIGludCBtYXBfcmFu Z2UodW5zaWduZWQgbG9uZyBzLCB1bnNpZ25lZCBsb25nIGUsIHZvaWQgKmRhdGEsCiAgKiBCQVIn cyBlbmFibGUgYml0IGhhcyBjaGFuZ2VkIHdpdGggdGhlIG1lbW9yeSBkZWNvZGluZyBiaXQgYWxy ZWFkeSBlbmFibGVkLgogICogSWYgcm9tX29ubHkgaXMgbm90IHNldCB0aGVuIGl0J3MgdGhlIG1l bW9yeSBkZWNvZGluZyBiaXQgdGhhdCBjaGFuZ2VkLgogICovCi1zdGF0aWMgdm9pZCBtb2RpZnlf ZGVjb2RpbmcoY29uc3Qgc3RydWN0IHBjaV9kZXYgKnBkZXYsIGJvb2wgbWFwLCBib29sIHJvbV9v bmx5KQorc3RhdGljIHZvaWQgbW9kaWZ5X2RlY29kaW5nKGNvbnN0IHN0cnVjdCBwY2lfZGV2ICpw ZGV2LCB1aW50MTZfdCBjbWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCByb21f b25seSkKIHsKICAgICBzdHJ1Y3QgdnBjaV9oZWFkZXIgKmhlYWRlciA9ICZwZGV2LT52cGNpLT5o ZWFkZXI7CiAgICAgdWludDhfdCBzbG90ID0gUENJX1NMT1QocGRldi0+ZGV2Zm4pLCBmdW5jID0g UENJX0ZVTkMocGRldi0+ZGV2Zm4pOwotICAgIHVpbnQxNl90IGNtZDsKKyAgICBib29sIG1hcCA9 IGNtZCAmIFBDSV9DT01NQU5EX01FTU9SWTsKICAgICB1bnNpZ25lZCBpbnQgaTsKIAogICAgIGZv ciAoIGkgPSAwOyBpIDwgQVJSQVlfU0laRShoZWFkZXItPmJhcnMpOyBpKysgKQpAQCAtMTExLDkg KzExMiw2IEBAIHN0YXRpYyB2b2lkIG1vZGlmeV9kZWNvZGluZyhjb25zdCBzdHJ1Y3QgcGNpX2Rl diAqcGRldiwgYm9vbCBtYXAsIGJvb2wgcm9tX29ubHkpCiAgICAgfQogCiAgICAgQVNTRVJUKCFy b21fb25seSk7Ci0gICAgY21kID0gcGNpX2NvbmZfcmVhZDE2KHBkZXYtPnNlZywgcGRldi0+YnVz LCBzbG90LCBmdW5jLCBQQ0lfQ09NTUFORCk7Ci0gICAgY21kICY9IH5QQ0lfQ09NTUFORF9NRU1P Ulk7Ci0gICAgY21kIHw9IG1hcCA/IFBDSV9DT01NQU5EX01FTU9SWSA6IDA7CiAgICAgcGNpX2Nv bmZfd3JpdGUxNihwZGV2LT5zZWcsIHBkZXYtPmJ1cywgc2xvdCwgZnVuYywgUENJX0NPTU1BTkQs CiAgICAgICAgICAgICAgICAgICAgICBjbWQpOwogfQpAQCAtMTI0LDcgKzEyMiw3IEBAIGJvb2wg dnBjaV9wcm9jZXNzX3BlbmRpbmcoc3RydWN0IHZjcHUgKnYpCiAgICAgewogICAgICAgICBzdHJ1 Y3QgbWFwX2RhdGEgZGF0YSA9IHsKICAgICAgICAgICAgIC5kID0gdi0+ZG9tYWluLAotICAgICAg ICAgICAgLm1hcCA9IHYtPnZwY2kubWFwLAorICAgICAgICAgICAgLm1hcCA9IHYtPnZwY2kuY21k ICYgUENJX0NPTU1BTkRfTUVNT1JZLAogICAgICAgICB9OwogICAgICAgICBpbnQgcmMgPSByYW5n ZXNldF9jb25zdW1lX3Jhbmdlcyh2LT52cGNpLm1lbSwgbWFwX3JhbmdlLCAmZGF0YSk7CiAKQEAg LTEzMyw3ICsxMzEsOCBAQCBib29sIHZwY2lfcHJvY2Vzc19wZW5kaW5nKHN0cnVjdCB2Y3B1ICp2 KQogCiAgICAgICAgIHNwaW5fbG9jaygmdi0+dnBjaS5wZGV2LT52cGNpLT5sb2NrKTsKICAgICAg ICAgLyogRGlzYWJsZSBtZW1vcnkgZGVjb2RpbmcgdW5jb25kaXRpb25hbGx5IG9uIGZhaWx1cmUu ICovCi0gICAgICAgIG1vZGlmeV9kZWNvZGluZyh2LT52cGNpLnBkZXYsICFyYyAmJiB2LT52cGNp Lm1hcCwKKyAgICAgICAgbW9kaWZ5X2RlY29kaW5nKHYtPnZwY2kucGRldiwKKyAgICAgICAgICAg ICAgICAgICAgICAgIHJjID8gdi0+dnBjaS5jbWQgJiB+UENJX0NPTU1BTkRfTUVNT1JZIDogdi0+ dnBjaS5jbWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAhcmMgJiYgdi0+dnBjaS5yb21fb25s eSk7CiAgICAgICAgIHNwaW5fdW5sb2NrKCZ2LT52cGNpLnBkZXYtPnZwY2ktPmxvY2spOwogCkBA IC0xNTQsNyArMTUzLDcgQEAgYm9vbCB2cGNpX3Byb2Nlc3NfcGVuZGluZyhzdHJ1Y3QgdmNwdSAq dikKIH0KIAogc3RhdGljIGludCBfX2luaXQgYXBwbHlfbWFwKHN0cnVjdCBkb21haW4gKmQsIGNv bnN0IHN0cnVjdCBwY2lfZGV2ICpwZGV2LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCByYW5nZXNldCAqbWVtKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBy YW5nZXNldCAqbWVtLCB1aW50MTZfdCBjbWQpCiB7CiAgICAgc3RydWN0IG1hcF9kYXRhIGRhdGEg PSB7IC5kID0gZCwgLm1hcCA9IHRydWUgfTsKICAgICBpbnQgcmM7CkBAIC0xNjMsMTMgKzE2Miwx MyBAQCBzdGF0aWMgaW50IF9faW5pdCBhcHBseV9tYXAoc3RydWN0IGRvbWFpbiAqZCwgY29uc3Qg c3RydWN0IHBjaV9kZXYgKnBkZXYsCiAgICAgICAgIHByb2Nlc3NfcGVuZGluZ19zb2Z0aXJxcygp OwogICAgIHJhbmdlc2V0X2Rlc3Ryb3kobWVtKTsKICAgICBpZiAoICFyYyApCi0gICAgICAgIG1v ZGlmeV9kZWNvZGluZyhwZGV2LCB0cnVlLCBmYWxzZSk7CisgICAgICAgIG1vZGlmeV9kZWNvZGlu ZyhwZGV2LCBjbWQsIGZhbHNlKTsKIAogICAgIHJldHVybiByYzsKIH0KIAogc3RhdGljIHZvaWQg ZGVmZXJfbWFwKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCBwY2lfZGV2ICpwZGV2LAotICAgICAg ICAgICAgICAgICAgICAgIHN0cnVjdCByYW5nZXNldCAqbWVtLCBib29sIG1hcCwgYm9vbCByb21f b25seSkKKyAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcmFuZ2VzZXQgKm1lbSwgdWludDE2 X3QgY21kLCBib29sIHJvbV9vbmx5KQogewogICAgIHN0cnVjdCB2Y3B1ICpjdXJyID0gY3VycmVu dDsKIApAQCAtMTgxLDExICsxODAsMTEgQEAgc3RhdGljIHZvaWQgZGVmZXJfbWFwKHN0cnVjdCBk b21haW4gKmQsIHN0cnVjdCBwY2lfZGV2ICpwZGV2LAogICAgICAqLwogICAgIGN1cnItPnZwY2ku cGRldiA9IHBkZXY7CiAgICAgY3Vyci0+dnBjaS5tZW0gPSBtZW07Ci0gICAgY3Vyci0+dnBjaS5t YXAgPSBtYXA7CisgICAgY3Vyci0+dnBjaS5jbWQgPSBjbWQ7CiAgICAgY3Vyci0+dnBjaS5yb21f b25seSA9IHJvbV9vbmx5OwogfQogCi1zdGF0aWMgaW50IG1vZGlmeV9iYXJzKGNvbnN0IHN0cnVj dCBwY2lfZGV2ICpwZGV2LCBib29sIG1hcCwgYm9vbCByb21fb25seSkKK3N0YXRpYyBpbnQgbW9k aWZ5X2JhcnMoY29uc3Qgc3RydWN0IHBjaV9kZXYgKnBkZXYsIHVpbnQxNl90IGNtZCwgYm9vbCBy b21fb25seSkKIHsKICAgICBzdHJ1Y3QgdnBjaV9oZWFkZXIgKmhlYWRlciA9ICZwZGV2LT52cGNp LT5oZWFkZXI7CiAgICAgc3RydWN0IHJhbmdlc2V0ICptZW0gPSByYW5nZXNldF9uZXcoTlVMTCwg TlVMTCwgMCk7CkBAIC0zMDUsMTEgKzMwNCwxMSBAQCBzdGF0aWMgaW50IG1vZGlmeV9iYXJzKGNv bnN0IHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBib29sIG1hcCwgYm9vbCByb21fb25seSkKICAgICAg ICAgICogYmUgY2FsbGVkIGlmZiB0aGUgbWVtb3J5IGRlY29kaW5nIGJpdCBpcyBlbmFibGVkLCB0 aHVzIHRoZSBvcGVyYXRpb24KICAgICAgICAgICogd2lsbCBhbHdheXMgYmUgdG8gZXN0YWJsaXNo IG1hcHBpbmdzIGFuZCBwcm9jZXNzIGFsbCB0aGUgQkFScy4KICAgICAgICAgICovCi0gICAgICAg IEFTU0VSVChtYXAgJiYgIXJvbV9vbmx5KTsKLSAgICAgICAgcmV0dXJuIGFwcGx5X21hcChwZGV2 LT5kb21haW4sIHBkZXYsIG1lbSk7CisgICAgICAgIEFTU0VSVCgoY21kICYgUENJX0NPTU1BTkRf TUVNT1JZKSAmJiAhcm9tX29ubHkpOworICAgICAgICByZXR1cm4gYXBwbHlfbWFwKHBkZXYtPmRv bWFpbiwgcGRldiwgbWVtLCBjbWQpOwogICAgIH0KIAotICAgIGRlZmVyX21hcChkZXYtPmRvbWFp biwgZGV2LCBtZW0sIG1hcCwgcm9tX29ubHkpOworICAgIGRlZmVyX21hcChkZXYtPmRvbWFpbiwg ZGV2LCBtZW0sIGNtZCwgcm9tX29ubHkpOwogCiAgICAgcmV0dXJuIDA7CiB9CkBAIC0zMzIsNyAr MzMxLDcgQEAgc3RhdGljIHZvaWQgY21kX3dyaXRlKGNvbnN0IHN0cnVjdCBwY2lfZGV2ICpwZGV2 LCB1bnNpZ25lZCBpbnQgcmVnLAogICAgICAgICAgKiBtZW1vcnkgZGVjb2RpbmcgYml0IGhhcyBu b3QgYmVlbiBjaGFuZ2VkLCBzbyBsZWF2ZSBldmVyeXRoaW5nIGFzLWlzLAogICAgICAgICAgKiBo b3BpbmcgdGhlIGd1ZXN0IHdpbGwgcmVhbGl6ZSBhbmQgdHJ5IGFnYWluLgogICAgICAgICAgKi8K LSAgICAgICAgbW9kaWZ5X2JhcnMocGRldiwgY21kICYgUENJX0NPTU1BTkRfTUVNT1JZLCBmYWxz ZSk7CisgICAgICAgIG1vZGlmeV9iYXJzKHBkZXYsIGNtZCwgZmFsc2UpOwogICAgIGVsc2UKICAg ICAgICAgcGNpX2NvbmZfd3JpdGUxNihwZGV2LT5zZWcsIHBkZXYtPmJ1cywgc2xvdCwgZnVuYywg cmVnLCBjbWQpOwogfQpAQCAtNDEzLDcgKzQxMiw3IEBAIHN0YXRpYyB2b2lkIHJvbV93cml0ZShj b25zdCBzdHJ1Y3QgcGNpX2RldiAqcGRldiwgdW5zaWduZWQgaW50IHJlZywKICAgICAgICAgaGVh ZGVyLT5yb21fZW5hYmxlZCA9IG5ld19lbmFibGVkOwogICAgICAgICBwY2lfY29uZl93cml0ZTMy KHBkZXYtPnNlZywgcGRldi0+YnVzLCBzbG90LCBmdW5jLCByZWcsIHZhbCk7CiAgICAgfQotICAg IGVsc2UgaWYgKCBtb2RpZnlfYmFycyhwZGV2LCBuZXdfZW5hYmxlZCwgdHJ1ZSkgKQorICAgIGVs c2UgaWYgKCBtb2RpZnlfYmFycyhwZGV2LCBuZXdfZW5hYmxlZCA/IFBDSV9DT01NQU5EX01FTU9S WSA6IDAsIHRydWUpICkKICAgICAgICAgLyoKICAgICAgICAgICogTm8gbWVtb3J5IGhhcyBiZWVu IGFkZGVkIG9yIHJlbW92ZWQgZnJvbSB0aGUgcDJtIChiZWNhdXNlIHRoZSBhY3R1YWwKICAgICAg ICAgICogcDJtIGNoYW5nZXMgYXJlIGRlZmVycmVkIGluIGRlZmVyX21hcCkgYW5kIHRoZSBST00g ZW5hYmxlIGJpdCBoYXMKQEAgLTU0OSw3ICs1NDgsNyBAQCBzdGF0aWMgaW50IGluaXRfYmFycyhz dHJ1Y3QgcGNpX2RldiAqcGRldikKICAgICAgICAgICAgIHJvbS0+dHlwZSA9IFZQQ0lfQkFSX0VN UFRZOwogICAgIH0KIAotICAgIHJldHVybiAoY21kICYgUENJX0NPTU1BTkRfTUVNT1JZKSA/IG1v ZGlmeV9iYXJzKHBkZXYsIHRydWUsIGZhbHNlKSA6IDA7CisgICAgcmV0dXJuIChjbWQgJiBQQ0lf Q09NTUFORF9NRU1PUlkpID8gbW9kaWZ5X2JhcnMocGRldiwgY21kLCBmYWxzZSkgOiAwOwogfQog UkVHSVNURVJfVlBDSV9JTklUKGluaXRfYmFycywgVlBDSV9QUklPUklUWV9NSURETEUpOwogCmRp ZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vdnBjaS5oIGIveGVuL2luY2x1ZGUveGVuL3ZwY2ku aAppbmRleCBhZjJiODU4MGVlLi40NDEwNGI3NWI2IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94 ZW4vdnBjaS5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi92cGNpLmgKQEAgLTE0NSw3ICsxNDUsNyBA QCBzdHJ1Y3QgdnBjaV92Y3B1IHsKICAgICAvKiBQZXItdmNwdSBzdHJ1Y3R1cmUgdG8gc3RvcmUg c3RhdGUgd2hpbGUge3VufW1hcHBpbmcgb2YgUENJIEJBUnMuICovCiAgICAgc3RydWN0IHJhbmdl c2V0ICptZW07CiAgICAgc3RydWN0IHBjaV9kZXYgKnBkZXY7Ci0gICAgYm9vbCBtYXAgICAgICA6 IDE7CisgICAgdWludDE2X3QgY21kOwogICAgIGJvb2wgcm9tX29ubHkgOiAxOwogfTsKIAotLSAK Mi4xOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K WGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0 cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==