From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 04/11] x86: Fix calculation of %dr6/7 reserved bits Date: Mon, 4 Jun 2018 14:59:08 +0100 Message-ID: <1528120755-17455-5-git-send-email-andrew.cooper3@citrix.com> References: <1528120755-17455-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: <1528120755-17455-1-git-send-email-andrew.cooper3@citrix.com> 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 , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org VGhlIHJlc2VydmVkIGJpdCBjYWxjdWxhdGlvbnMgZm9yICVkcjYgYW5kICVkcjcgZGVwZW5kIG9u IHdoZXRoZXIgdGhlIFZNIGhhcwp0aGUgUmVzdHJpY3RlZCBUcmFuc25hdGlvbmFsIE1lbW9yeSBm ZWF0dXJlIGF2YWlsYWJsZS4KCkludHJvZHVjZSBhZGp1c3RfZHJ7Niw3fV9yc3ZkKCkgYW5kIHJl cGxhY2UgdGhlIG9wZW5jb2RlZCBsb2dpYyBhbmQgY29uc3RhbnRzCihleGNlcHQgZm9yIERSX1NU QVRVU19SRVNFUlZFRF9PTkUgd2hpY2ggaXMgKG1pcyl1c2VkIGVsc2V3aGVyZSBhbmQgd2lsbCBi ZQpyZW1vdmVkIGFmdGVyIGZ1dHVyZSBidWdmaXhlcykuICBUaGUgdXNlIG9mIHRoZXNlIGhlbHBl cnMgaW4gc2V0X2RlYnVncmVnKCkKY292ZXJzIHRvb2xzdGFjayB2YWx1ZXMgZm9yIFBWIGd1ZXN0 cywgYnV0IEhWTSBndWVzdHMgbmVlZCBzaW1pbGFyIHRyZWF0bWVudC4KClRoZSB1c2Ugb2YgdGhl IGd1ZXN0cyBjcHVpZCBwb2xpY3kgaXMgbGVzcyB0aGFuIG9wdGltYWwgaW4gdGhlIGNyZWF0ZS9y ZXN0b3JlCnBhdGhzLiAgSG93ZXZlciBpbiBzdWNoIGNhc2VzLCB0aGUgcG9saWN5IHdpbGwgYmUg dGhlIGd1ZXN0IG1heGltdW0gcG9saWN5LAp3aGljaCB3aWxsIGJlIG1vcmUgcGVybWlzc2l2ZSB3 aXRoIHJlc3BlY3QgdG8gdGhlIFJUTSBmZWF0dXJlLgoKU2lnbmVkLW9mZi1ieTogQW5kcmV3IENv b3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0tCkNDOiBKYW4gQmV1bGljaCA8SkJl dWxpY2hAc3VzZS5jb20+CkNDOiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgpDQzogUm9n ZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+Ci0tLQogeGVuL2FyY2gveDg2L2Rv bWFpbi5jICAgICAgICAgIHwgIDUgKysrKy0KIHhlbi9hcmNoL3g4Ni9odm0vaHZtLmMgICAgICAg ICB8ICA1ICsrKy0tCiB4ZW4vYXJjaC94ODYvdHJhcHMuYyAgICAgICAgICAgfCAxNyArKysrKy0t LS0tLS0tLS0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L2RlYnVncmVnLmggfCA0NCArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0KIDQgZmlsZXMgY2hhbmdlZCwgNTAgaW5z ZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2Rv bWFpbi5jIGIveGVuL2FyY2gveDg2L2RvbWFpbi5jCmluZGV4IDdhZTk3ODkuLmNlZTU3YTggMTAw NjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9kb21haW4uYworKysgYi94ZW4vYXJjaC94ODYvZG9tYWlu LmMKQEAgLTc4Myw2ICs3ODMsNyBAQCBpbnQgYXJjaF9zZXRfaW5mb19ndWVzdCgKICAgICBzdHJ1 Y3QgdmNwdSAqdiwgdmNwdV9ndWVzdF9jb250ZXh0X3UgYykKIHsKICAgICBzdHJ1Y3QgZG9tYWlu ICpkID0gdi0+ZG9tYWluOworICAgIGNvbnN0IHN0cnVjdCBjcHVpZF9wb2xpY3kgKmNwID0gZC0+ YXJjaC5jcHVpZDsKICAgICB1bnNpZ25lZCBsb25nIGNyM19nZm47CiAgICAgc3RydWN0IHBhZ2Vf aW5mbyAqY3IzX3BhZ2U7CiAgICAgdW5zaWduZWQgbG9uZyBmbGFncywgY3I0OwpAQCAtODk0LDgg Kzg5NSwxMCBAQCBpbnQgYXJjaF9zZXRfaW5mb19ndWVzdCgKIAogICAgIGlmICggaXNfaHZtX2Rv bWFpbihkKSApCiAgICAgewotICAgICAgICBmb3IgKCBpID0gMDsgaSA8IEFSUkFZX1NJWkUodi0+ YXJjaC5kZWJ1Z3JlZyk7ICsraSApCisgICAgICAgIGZvciAoIGkgPSAwOyBpIDwgQVJSQVlfU0la RSh2LT5hcmNoLmRlYnVncmVnKSAtIDI7ICsraSApCiAgICAgICAgICAgICB2LT5hcmNoLmRlYnVn cmVnW2ldID0gYyhkZWJ1Z3JlZ1tpXSk7CisgICAgICAgIHYtPmFyY2guZGVidWdyZWdbNl0gPSBh ZGp1c3RfZHI2X3JzdmQoYyhkZWJ1Z3JlZ1s2XSksIGNwLT5mZWF0LnJ0bSk7CisgICAgICAgIHYt PmFyY2guZGVidWdyZWdbN10gPSBhZGp1c3RfZHI3X3JzdmQoYyhkZWJ1Z3JlZ1s3XSksIGNwLT5m ZWF0LnJ0bSk7CiAKICAgICAgICAgaHZtX3NldF9pbmZvX2d1ZXN0KHYpOwogICAgICAgICBnb3Rv IG91dDsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMgYi94ZW4vYXJjaC94ODYv aHZtL2h2bS5jCmluZGV4IDEwNDE1ZTYuLjdmZGRhZTEgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4 Ni9odm0vaHZtLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS9odm0uYwpAQCAtOTc3LDYgKzk3Nyw3 IEBAIHVuc2lnbmVkIGxvbmcgaHZtX2NyNF9ndWVzdF92YWxpZF9iaXRzKGNvbnN0IHN0cnVjdCBk b21haW4gKmQsIGJvb2wgcmVzdG9yZSkKIAogc3RhdGljIGludCBodm1fbG9hZF9jcHVfY3R4dChz dHJ1Y3QgZG9tYWluICpkLCBodm1fZG9tYWluX2NvbnRleHRfdCAqaCkKIHsKKyAgICBjb25zdCBz dHJ1Y3QgY3B1aWRfcG9saWN5ICpjcCA9IGQtPmFyY2guY3B1aWQ7CiAgICAgaW50IHZjcHVpZDsK ICAgICBzdHJ1Y3QgdmNwdSAqdjsKICAgICBzdHJ1Y3QgaHZtX2h3X2NwdSBjdHh0OwpAQCAtMTE1 NCw4ICsxMTU1LDggQEAgc3RhdGljIGludCBodm1fbG9hZF9jcHVfY3R4dChzdHJ1Y3QgZG9tYWlu ICpkLCBodm1fZG9tYWluX2NvbnRleHRfdCAqaCkKICAgICB2LT5hcmNoLmRlYnVncmVnWzFdID0g Y3R4dC5kcjE7CiAgICAgdi0+YXJjaC5kZWJ1Z3JlZ1syXSA9IGN0eHQuZHIyOwogICAgIHYtPmFy Y2guZGVidWdyZWdbM10gPSBjdHh0LmRyMzsKLSAgICB2LT5hcmNoLmRlYnVncmVnWzZdID0gY3R4 dC5kcjY7Ci0gICAgdi0+YXJjaC5kZWJ1Z3JlZ1s3XSA9IGN0eHQuZHI3OworICAgIHYtPmFyY2gu ZGVidWdyZWdbNl0gPSBhZGp1c3RfZHI2X3JzdmQoY3R4dC5kcjYsIGNwLT5mZWF0LnJ0bSk7Cisg ICAgdi0+YXJjaC5kZWJ1Z3JlZ1s3XSA9IGFkanVzdF9kcjdfcnN2ZChjdHh0LmRyNywgY3AtPmZl YXQucnRtKTsKIAogICAgIHYtPmFyY2gudmdjX2ZsYWdzID0gVkdDRl9vbmxpbmU7CiAKZGlmZiAt LWdpdCBhL3hlbi9hcmNoL3g4Ni90cmFwcy5jIGIveGVuL2FyY2gveDg2L3RyYXBzLmMKaW5kZXgg Njk5MGM2Ny4uZTliZmJjNyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3RyYXBzLmMKKysrIGIv eGVuL2FyY2gveDg2L3RyYXBzLmMKQEAgLTIwNTcsNiArMjA1Nyw3IEBAIHZvaWQgYWN0aXZhdGVf ZGVidWdyZWdzKGNvbnN0IHN0cnVjdCB2Y3B1ICpjdXJyKQogbG9uZyBzZXRfZGVidWdyZWcoc3Ry dWN0IHZjcHUgKnYsIHVuc2lnbmVkIGludCByZWcsIHVuc2lnbmVkIGxvbmcgdmFsdWUpCiB7CiAg ICAgc3RydWN0IHZjcHUgKmN1cnIgPSBjdXJyZW50OworICAgIGNvbnN0IHN0cnVjdCBjcHVpZF9w b2xpY3kgKmNwID0gY3Vyci0+ZG9tYWluLT5hcmNoLmNwdWlkOwogCiAgICAgc3dpdGNoICggcmVn ICkKICAgICB7CkBAIC0yMDg2LDEyICsyMDg3LDggQEAgbG9uZyBzZXRfZGVidWdyZWcoc3RydWN0 IHZjcHUgKnYsIHVuc2lnbmVkIGludCByZWcsIHVuc2lnbmVkIGxvbmcgdmFsdWUpCiAgICAgICAg IGlmICggdmFsdWUgIT0gKHVpbnQzMl90KXZhbHVlICkKICAgICAgICAgICAgIHJldHVybiAtRUlO VkFMOwogCi0gICAgICAgIC8qCi0gICAgICAgICAqIERSNjogQml0cyA0LTExLDE2LTMxIHJlc2Vy dmVkIChzZXQgdG8gMSkuCi0gICAgICAgICAqICAgICAgQml0IDEyIHJlc2VydmVkIChzZXQgdG8g MCkuCi0gICAgICAgICAqLwotICAgICAgICB2YWx1ZSAmPSB+RFJfU1RBVFVTX1JFU0VSVkVEX1pF Uk87IC8qIHJlc2VydmVkIGJpdHMgPT4gMCAqLwotICAgICAgICB2YWx1ZSB8PSAgRFJfU1RBVFVT X1JFU0VSVkVEX09ORTsgIC8qIHJlc2VydmVkIGJpdHMgPT4gMSAqLworICAgICAgICB2YWx1ZSA9 IGFkanVzdF9kcjZfcnN2ZCh2YWx1ZSwgY3AtPmZlYXQucnRtKTsKKwogICAgICAgICBpZiAoIHYg PT0gY3VyciApCiAgICAgICAgICAgICB3cml0ZV9kZWJ1Z3JlZyg2LCB2YWx1ZSk7CiAgICAgICAg IGJyZWFrOwpAQCAtMjEwNiwxMiArMjEwMyw4IEBAIGxvbmcgc2V0X2RlYnVncmVnKHN0cnVjdCB2 Y3B1ICp2LCB1bnNpZ25lZCBpbnQgcmVnLCB1bnNpZ25lZCBsb25nIHZhbHVlKQogICAgICAgICBp ZiAoIHZhbHVlICE9ICh1aW50MzJfdCl2YWx1ZSApCiAgICAgICAgICAgICByZXR1cm4gLUVJTlZB TDsKIAotICAgICAgICAvKgotICAgICAgICAgKiBEUjc6IEJpdCAxMCByZXNlcnZlZCAoc2V0IHRv IDEpLgotICAgICAgICAgKiAgICAgIEJpdHMgMTEtMTIsMTQtMTUgcmVzZXJ2ZWQgKHNldCB0byAw KS4KLSAgICAgICAgICovCi0gICAgICAgIHZhbHVlICY9IH5EUl9DT05UUk9MX1JFU0VSVkVEX1pF Uk87IC8qIHJlc2VydmVkIGJpdHMgPT4gMCAqLwotICAgICAgICB2YWx1ZSB8PSAgRFJfQ09OVFJP TF9SRVNFUlZFRF9PTkU7ICAvKiByZXNlcnZlZCBiaXRzID0+IDEgKi8KKyAgICAgICAgdmFsdWUg PSBhZGp1c3RfZHI3X3JzdmQodmFsdWUsIGNwLT5mZWF0LnJ0bSk7CisKICAgICAgICAgLyoKICAg ICAgICAgICogUHJpdmlsZWdlZCBiaXRzOgogICAgICAgICAgKiAgICAgIEdEIChiaXQgMTMpOiBt dXN0IGJlIDAuCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2RlYnVncmVnLmggYi94 ZW4vaW5jbHVkZS9hc20teDg2L2RlYnVncmVnLmgKaW5kZXggOGU2YTY1Ni4uOGRmNTY2YiAxMDA2 NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9kZWJ1Z3JlZy5oCisrKyBiL3hlbi9pbmNsdWRl L2FzbS14ODYvZGVidWdyZWcuaApAQCAtMTAsOSArMTAsMTggQEAKICNkZWZpbmUgRFJfU1RBVFVT ICAgIDYKICNkZWZpbmUgRFJfQ09OVFJPTCAgIDcKIAotLyogRGVmaW5lIGEgZmV3IHRoaW5ncyBm b3IgdGhlIHN0YXR1cyByZWdpc3Rlci4gIFdlIGNhbiB1c2UgdGhpcyB0byBkZXRlcm1pbmUKLSAg IHdoaWNoIGRlYnVnZ2luZyByZWdpc3RlciB3YXMgcmVzcG9uc2libGUgZm9yIHRoZSB0cmFwLiAg VGhlIG90aGVyIGJpdHMKLSAgIGFyZSBlaXRoZXIgcmVzZXJ2ZWQgb3Igbm90IG9mIGludGVyZXN0 IHRvIHVzLiAqLworLyoKKyAqIERSNiBzdGF0dXMgYml0cy4KKyAqICAgTi5CLiBGb3IgYmFja3dh cmRzIGNvbXBhdGliaWxpdHksIFg4Nl9EUjZfUlRNIGhhcyBpbnZlcnRlZCBwb2xhcml0eS4KKyAq LworI2RlZmluZSBYODZfRFI2X0IwICAgICAgICAgICAgICAoMXUgPDwgIDApICAvKiBCcmVha3Bv aW50IDAgdHJpZ2dlcmVkICAqLworI2RlZmluZSBYODZfRFI2X0IxICAgICAgICAgICAgICAoMXUg PDwgIDEpICAvKiBCcmVha3BvaW50IDEgdHJpZ2dlcmVkICAqLworI2RlZmluZSBYODZfRFI2X0Iy ICAgICAgICAgICAgICAoMXUgPDwgIDIpICAvKiBCcmVha3BvaW50IDIgdHJpZ2dlcmVkICAqLwor I2RlZmluZSBYODZfRFI2X0IzICAgICAgICAgICAgICAoMXUgPDwgIDMpICAvKiBCcmVha3BvaW50 IDMgdHJpZ2dlcmVkICAqLworI2RlZmluZSBYODZfRFI2X0JEICAgICAgICAgICAgICAoMXUgPDwg MTMpICAvKiBEZWJ1ZyByZWdpc3RlciBhY2Nlc3NlZCAqLworI2RlZmluZSBYODZfRFI2X0JTICAg ICAgICAgICAgICAoMXUgPDwgMTQpICAvKiBTaW5nbGUgc3RlcCAgICAgICAgICAgICAqLworI2Rl ZmluZSBYODZfRFI2X0JUICAgICAgICAgICAgICAoMXUgPDwgMTUpICAvKiBUYXNrIHN3aXRjaCAg ICAgICAgICAgICAqLworI2RlZmluZSBYODZfRFI2X1JUTSAgICAgICAgICAgICAoMXUgPDwgMTYp ICAvKiAjREIvI0JQIGluIFJUTSByZWdpb24gICAqLwogCiAjZGVmaW5lIERSX1RSQVAwICAgICAg ICAoMHgxKSAgICAgICAgICAgLyogZGIwICovCiAjZGVmaW5lIERSX1RSQVAxICAgICAgICAoMHgy KSAgICAgICAgICAgLyogZGIxICovCkBAIC0yMSw3ICszMCw2IEBACiAjZGVmaW5lIERSX1NURVAg ICAgICAgICAoMHg0MDAwKSAgICAgICAgLyogc2luZ2xlLXN0ZXAgKi8KICNkZWZpbmUgRFJfU1dJ VENIICAgICAgICgweDgwMDApICAgICAgICAvKiB0YXNrIHN3aXRjaCAqLwogI2RlZmluZSBEUl9O T1RfUlRNICAgICAgKDB4MTAwMDApICAgICAgIC8qIGNsZWFyOiAjQlAgaW5zaWRlIFJUTSByZWdp b24gKi8KLSNkZWZpbmUgRFJfU1RBVFVTX1JFU0VSVkVEX1pFUk8gKH4weGZmZmZlZmZmdWwpIC8q IFJlc2VydmVkLCByZWFkIGFzIHplcm8gKi8KICNkZWZpbmUgRFJfU1RBVFVTX1JFU0VSVkVEX09O RSAgMHhmZmZmMGZmMHVsIC8qIFJlc2VydmVkLCByZWFkIGFzIG9uZSAqLwogCiAjZGVmaW5lIFg4 Nl9EUjZfREVGQVVMVCAweGZmZmYwZmYwdWwgICAgLyogRGVmYXVsdCAlZHI2IHZhbHVlLiAqLwpA QCAtNjMsOCArNzEsNiBAQAogICAgV2UgY2FuIHNsb3cgdGhlIGluc3RydWN0aW9uIHBpcGVsaW5l IGZvciBpbnN0cnVjdGlvbnMgY29taW5nIHZpYSB0aGUKICAgIGdkdCBvciB0aGUgbGR0IGlmIHdl IHdhbnQgdG8uICBJIGFtIG5vdCBzdXJlIHdoeSB0aGlzIGlzIGFuIGFkdmFudGFnZSAqLwogCi0j ZGVmaW5lIERSX0NPTlRST0xfUkVTRVJWRURfWkVSTyAofjB4ZmZmZjI3ZmZ1bCkgLyogUmVzZXJ2 ZWQsIHJlYWQgYXMgemVybyAqLwotI2RlZmluZSBEUl9DT05UUk9MX1JFU0VSVkVEX09ORSAgKDB4 MDAwMDA0MDB1bCkgLyogUmVzZXJ2ZWQsIHJlYWQgYXMgb25lICovCiAjZGVmaW5lIERSX0xPQ0FM X0VYQUNUX0VOQUJMRSAgICAoMHgwMDAwMDEwMHVsKSAvKiBMb2NhbCBleGFjdCBlbmFibGUgKi8K ICNkZWZpbmUgRFJfR0xPQkFMX0VYQUNUX0VOQUJMRSAgICgweDAwMDAwMjAwdWwpIC8qIEdsb2Jh bCBleGFjdCBlbmFibGUgKi8KICNkZWZpbmUgRFJfUlRNX0VOQUJMRSAgICAgICAgICAgICgweDAw MDAwODAwdWwpIC8qIFJUTSBkZWJ1Z2dpbmcgZW5hYmxlICovCkBAIC04NCw0ICs5MCwzMCBAQAog bG9uZyBzZXRfZGVidWdyZWcoc3RydWN0IHZjcHUgKiwgdW5zaWduZWQgaW50IHJlZywgdW5zaWdu ZWQgbG9uZyB2YWx1ZSk7CiB2b2lkIGFjdGl2YXRlX2RlYnVncmVncyhjb25zdCBzdHJ1Y3QgdmNw dSAqKTsKIAorc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIGFkanVzdF9kcjZfcnN2ZCh1bnNp Z25lZCBsb25nIGRyNiwgYm9vbCBydG0pCit7CisgICAgLyoKKyAgICAgKiBEUjY6IEJpdHMgNC0x MSwxNy0zMSByZXNlcnZlZCAoc2V0IHRvIDEpLgorICAgICAqICAgICAgQml0ICAxNiByZXNlcnZl ZCAoc2V0IHRvIDEpIGlmIFJUTSB1bmF2YWlsYWJsZS4KKyAgICAgKiAgICAgIEJpdCAgMTIgcmVz ZXJ2ZWQgKHNldCB0byAwKS4KKyAgICAgKi8KKyAgICBkcjYgfD0gMHhmZmZlMGZmMCB8IChydG0g PyAwIDogWDg2X0RSNl9SVE0pOworICAgIGRyNiAmPSAweGZmZmZlZmZmOworCisgICAgcmV0dXJu IGRyNjsKK30KKworc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIGFkanVzdF9kcjdfcnN2ZCh1 bnNpZ25lZCBsb25nIGRyNywgYm9vbCBydG0pCit7CisgICAgLyoKKyAgICAgKiBEUjc6IEJpdCAg MTAgcmVzZXJ2ZWQgKHNldCB0byAxKS4KKyAgICAgKiAgICAgIEJpdCAgMTEgcmVzZXJ2ZWQgKHNl dCB0byAwKSBpZiBSVE0gdW5hdmFpbGFibGUuCisgICAgICogICAgICBCaXRzIDEyLDE0LTE1IHJl c2VydmVkIChzZXQgdG8gMCkuCisgICAgICovCisgICAgZHI3IHw9IDB4MDAwMDA0MDA7CisgICAg ZHI3ICY9IDB4ZmZmZjIzZmYgJiAocnRtID8gMCA6IH5EUl9SVE1fRU5BQkxFKTsKKworICAgIHJl dHVybiBkcjc7Cit9CisKICNlbmRpZiAvKiBfWDg2X0RFQlVHUkVHX0ggKi8KLS0gCjIuMS40CgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0 cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==