From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v3 02/15] x86: refactor psr: Split 'ref' out. Date: Tue, 25 Oct 2016 11:40:50 +0800 Message-ID: <1477366863-5246-3-git-send-email-yi.y.sun@linux.intel.com> References: <1477366863-5246-1-git-send-email-yi.y.sun@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1byrYf-0004Gb-2G for xen-devel@lists.xenproject.org; Tue, 25 Oct 2016 02:33:45 +0000 In-Reply-To: <1477366863-5246-1-git-send-email-yi.y.sun@linux.intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: wei.liu2@citrix.com, he.chen@linux.intel.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, Yi Sun , jbeulich@suse.com, chao.p.peng@linux.intel.com List-Id: xen-devel@lists.xenproject.org J3JlZicgaW4gJ3N0cnVjdCBwc3JfY2F0X2NibScgaXMgdXNlZCBhcyBhIHJlZmVyZW5jZSBjb3Vu dCBmb3IKb25lIENPUyByZWdpc3Rlci4gSXQgZG9lc24ndCByZWxhdGUgdG8gY2JtLiBTbywgaXQg Y2FuIGJlIHNwbGl0dGVkCm91dC4KClRoaXMgcGF0Y2ggcmVtb3ZlcyAncmVmJyBmcm9tICdzdHJ1 Y3QgcHNyX2NhdF9jYm0nIGFuZCBjcmVhdGVzIGEKJ2Nvc19yZWYnIGFycmF5IHRvIG1hbmFnZSBy ZWZlcmVuY2UgY291bnRzIG9mIGFsbCBDT1MgcmVnaXN0ZXJzLgpJdCBhbHNvIHJlbmFtZXMgdGhl ICdjYm1fbG9jaycgdG8gJ3JlZl9sb2NrJyBiZWNhdXNlIHRoaXMgbG9jayBpcwp1c2VkIHRvIHBy b3RlY3QgdGhlIHJlZmVyZW5jZSBjb3VudC4KClNpZ25lZC1vZmYtYnk6IFlpIFN1biA8eWkueS5z dW5AbGludXguaW50ZWwuY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9wc3IuYyB8IDU1ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNo YW5nZWQsIDMzIGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hl bi9hcmNoL3g4Ni9wc3IuYyBiL3hlbi9hcmNoL3g4Ni9wc3IuYwppbmRleCAwYjUwNzNjLi5lZTIw Mzg5IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvcHNyLmMKKysrIGIveGVuL2FyY2gveDg2L3Bz ci5jCkBAIC0yMyw2ICsyMyw5IEBACiAjZGVmaW5lIFBTUl9DQVQgICAgICAgICgxPDwxKQogI2Rl ZmluZSBQU1JfQ0RQICAgICAgICAoMTw8MikKIAorLyogUGVyIHNwZWMsIHRoZSBtYXhpbXVtIENP UyByZWdpc3RlciBudW1iZXIgaXMgMTI4LiAqLworI2RlZmluZSBNQVhfQ09TX1JFR19OVU0gIDEy OAorCiBzdHJ1Y3QgcHNyX2NhdF9jYm0gewogICAgIHVuaW9uIHsKICAgICAgICAgdWludDY0X3Qg Y2JtOwpAQCAtMzEsMTQgKzM0LDE5IEBAIHN0cnVjdCBwc3JfY2F0X2NibSB7CiAgICAgICAgICAg ICB1aW50NjRfdCBkYXRhOwogICAgICAgICB9OwogICAgIH07Ci0gICAgdW5zaWduZWQgaW50IHJl ZjsKIH07CiAKIHN0cnVjdCBwc3JfY2F0X3NvY2tldF9pbmZvIHsKICAgICB1bnNpZ25lZCBpbnQg Y2JtX2xlbjsKICAgICB1bnNpZ25lZCBpbnQgY29zX21heDsKICAgICBzdHJ1Y3QgcHNyX2NhdF9j Ym0gKmNvc190b19jYm07Ci0gICAgc3BpbmxvY2tfdCBjYm1fbG9jazsKKyAgICAvKgorICAgICAq IEV2ZXJ5IGVudHJ5IG9mIGNvc19yZWYgaXMgdGhlIHJlZmVyZW5jZSBjb3VudCBvZiBhIENPUyBy ZWdpc3Rlci4KKyAgICAgKiBPbmUgZW50cnkgb2YgY29zX3JlZiBjb3JyZXNwb25kcyB0byBvbmUg Q09TIElELgorICAgICAqLworICAgIHVuc2lnbmVkIGludCBjb3NfcmVmW01BWF9DT1NfUkVHX05V TV07CisgICAgLyogUHJvdGVjdCBjb3NfcmVmICovCisgICAgc3BpbmxvY2tfdCByZWZfbG9jazsK IH07CiAKIHN0cnVjdCBwc3JfYXNzb2MgewpAQCAtNTQsNyArNjIsNyBAQCBzdGF0aWMgdW5zaWdu ZWQgbG9uZyAqX19yZWFkX21vc3RseSBjZHBfc29ja2V0X2VuYWJsZTsKIAogc3RhdGljIHVuc2ln bmVkIGludCBvcHRfcHNyOwogc3RhdGljIHVuc2lnbmVkIGludCBfX2luaXRkYXRhIG9wdF9ybWlk X21heCA9IDI1NTsKLXN0YXRpYyB1bnNpZ25lZCBpbnQgX19yZWFkX21vc3RseSBvcHRfY29zX21h eCA9IDI1NTsKK3N0YXRpYyB1bnNpZ25lZCBpbnQgX19yZWFkX21vc3RseSBvcHRfY29zX21heCA9 IE1BWF9DT1NfUkVHX05VTSAtIDE7CiBzdGF0aWMgdWludDY0X3Qgcm1pZF9tYXNrOwogc3RhdGlj IERFRklORV9QRVJfQ1BVKHN0cnVjdCBwc3JfYXNzb2MsIHBzcl9hc3NvYyk7CiAKQEAgLTQwMCwx NCArNDA4LDE1IEBAIHN0YXRpYyBpbnQgd3JpdGVfbDNfY2JtKHVuc2lnbmVkIGludCBzb2NrZXQs IHVuc2lnbmVkIGludCBjb3MsCiAgICAgcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgZmluZF9j b3Moc3RydWN0IHBzcl9jYXRfY2JtICptYXAsIHVuc2lnbmVkIGludCBjb3NfbWF4LAorc3RhdGlj IGludCBmaW5kX2NvcyhzdHJ1Y3QgcHNyX2NhdF9jYm0gKm1hcCwgdW5zaWduZWQgaW50ICpyZWYs CisgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBjb3NfbWF4LAogICAgICAgICAgICAg ICAgICAgICB1aW50NjRfdCBjYm1fY29kZSwgdWludDY0X3QgY2JtX2RhdGEsIGJvb2xfdCBjZHBf ZW5hYmxlZCkKIHsKICAgICB1bnNpZ25lZCBpbnQgY29zOwogCiAgICAgZm9yICggY29zID0gMDsg Y29zIDw9IGNvc19tYXg7IGNvcysrICkKICAgICB7Ci0gICAgICAgIGlmICggKG1hcFtjb3NdLnJl ZiB8fCBjb3MgPT0gMCkgJiYKKyAgICAgICAgaWYgKCAocmVmW2Nvc10gfHwgY29zID09IDApICYm CiAgICAgICAgICAgICAgKCghY2RwX2VuYWJsZWQgJiYgbWFwW2Nvc10uY2JtID09IGNibV9jb2Rl KSB8fAogICAgICAgICAgICAgICAoY2RwX2VuYWJsZWQgJiYgbWFwW2Nvc10uY29kZSA9PSBjYm1f Y29kZSAmJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwW2Nvc10uZGF0YSA9PSBj Ym1fZGF0YSkpICkKQEAgLTQxNywxOCArNDI2LDE4IEBAIHN0YXRpYyBpbnQgZmluZF9jb3Moc3Ry dWN0IHBzcl9jYXRfY2JtICptYXAsIHVuc2lnbmVkIGludCBjb3NfbWF4LAogICAgIHJldHVybiAt RU5PRU5UOwogfQogCi1zdGF0aWMgaW50IHBpY2tfYXZhaWxfY29zKHN0cnVjdCBwc3JfY2F0X2Ni bSAqbWFwLCB1bnNpZ25lZCBpbnQgY29zX21heCwKK3N0YXRpYyBpbnQgcGlja19hdmFpbF9jb3Mo dW5zaWduZWQgaW50ICpyZWYsIHVuc2lnbmVkIGludCBjb3NfbWF4LAogICAgICAgICAgICAgICAg ICAgICAgICAgICB1bnNpZ25lZCBpbnQgb2xkX2NvcykKIHsKICAgICB1bnNpZ25lZCBpbnQgY29z OwogCiAgICAgLyogSWYgb2xkIGNvcyBpcyByZWZlcnJlZCBvbmx5IGJ5IHRoZSBkb21haW4sIHRo ZW4gdXNlIGl0LiAqLwotICAgIGlmICggbWFwW29sZF9jb3NdLnJlZiA9PSAxICYmIG9sZF9jb3Mg IT0gMCApCisgICAgaWYgKCByZWZbb2xkX2Nvc10gPT0gMSAmJiBvbGRfY29zICE9IDAgKQogICAg ICAgICByZXR1cm4gb2xkX2NvczsKIAogICAgIC8qIEZpbmQgYW4gdW51c2VkIG9uZSBvdGhlciB0 aGFuIGNvczAuICovCiAgICAgZm9yICggY29zID0gMTsgY29zIDw9IGNvc19tYXg7IGNvcysrICkK LSAgICAgICAgaWYgKCBtYXBbY29zXS5yZWYgPT0gMCApCisgICAgICAgIGlmICggcmVmW2Nvc10g PT0gMCApCiAgICAgICAgICAgICByZXR1cm4gY29zOwogCiAgICAgcmV0dXJuIC1FTk9FTlQ7CkBA IC00NDMsNiArNDUyLDcgQEAgaW50IHBzcl9zZXRfbDNfY2JtKHN0cnVjdCBkb21haW4gKmQsIHVu c2lnbmVkIGludCBzb2NrZXQsCiAgICAgYm9vbF90IGNkcF9lbmFibGVkID0gY2RwX2lzX2VuYWJs ZWQoc29ja2V0KTsKICAgICBzdHJ1Y3QgcHNyX2NhdF9jYm0gKm1hcDsKICAgICBzdHJ1Y3QgcHNy X2NhdF9zb2NrZXRfaW5mbyAqaW5mbyA9IGdldF9jYXRfc29ja2V0X2luZm8oc29ja2V0KTsKKyAg ICB1bnNpZ25lZCBpbnQgKnJlZjsKIAogICAgIGlmICggSVNfRVJSKGluZm8pICkKICAgICAgICAg cmV0dXJuIFBUUl9FUlIoaW5mbyk7CkBAIC00NTcsNiArNDY3LDcgQEAgaW50IHBzcl9zZXRfbDNf Y2JtKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBzb2NrZXQsCiAgICAgY29zX21heCA9 IGluZm8tPmNvc19tYXg7CiAgICAgb2xkX2NvcyA9IGQtPmFyY2gucHNyX2Nvc19pZHNbc29ja2V0 XTsKICAgICBtYXAgPSBpbmZvLT5jb3NfdG9fY2JtOworICAgIHJlZiA9IGluZm8tPmNvc19yZWY7 CiAKICAgICBzd2l0Y2ggKCB0eXBlICkKICAgICB7CkBAIC00ODAsMjIgKzQ5MSwyMiBAQCBpbnQg cHNyX3NldF9sM19jYm0oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IHNvY2tldCwKICAg ICAgICAgcmV0dXJuIC1FSU5WQUw7CiAgICAgfQogCi0gICAgc3Bpbl9sb2NrKCZpbmZvLT5jYm1f bG9jayk7Ci0gICAgY29zID0gZmluZF9jb3MobWFwLCBjb3NfbWF4LCBjYm1fY29kZSwgY2JtX2Rh dGEsIGNkcF9lbmFibGVkKTsKKyAgICBzcGluX2xvY2soJmluZm8tPnJlZl9sb2NrKTsKKyAgICBj b3MgPSBmaW5kX2NvcyhtYXAsIHJlZiwgY29zX21heCwgY2JtX2NvZGUsIGNibV9kYXRhLCBjZHBf ZW5hYmxlZCk7CiAgICAgaWYgKCBjb3MgPj0gMCApCiAgICAgewogICAgICAgICBpZiAoIGNvcyA9 PSBvbGRfY29zICkKICAgICAgICAgewotICAgICAgICAgICAgc3Bpbl91bmxvY2soJmluZm8tPmNi bV9sb2NrKTsKKyAgICAgICAgICAgIHNwaW5fdW5sb2NrKCZpbmZvLT5yZWZfbG9jayk7CiAgICAg ICAgICAgICByZXR1cm4gMDsKICAgICAgICAgfQogICAgIH0KICAgICBlbHNlCiAgICAgewotICAg ICAgICBjb3MgPSBwaWNrX2F2YWlsX2NvcyhtYXAsIGNvc19tYXgsIG9sZF9jb3MpOworICAgICAg ICBjb3MgPSBwaWNrX2F2YWlsX2NvcyhyZWYsIGNvc19tYXgsIG9sZF9jb3MpOwogICAgICAgICBp ZiAoIGNvcyA8IDAgKQogICAgICAgICB7Ci0gICAgICAgICAgICBzcGluX3VubG9jaygmaW5mby0+ Y2JtX2xvY2spOworICAgICAgICAgICAgc3Bpbl91bmxvY2soJmluZm8tPnJlZl9sb2NrKTsKICAg ICAgICAgICAgIHJldHVybiBjb3M7CiAgICAgICAgIH0KIApAQCAtNTA3LDcgKzUxOCw3IEBAIGlu dCBwc3Jfc2V0X2wzX2NibShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgc29ja2V0LAog ICAgICAgICAgICAgcmV0ID0gd3JpdGVfbDNfY2JtKHNvY2tldCwgY29zLCBjYm1fY29kZSwgY2Jt X2RhdGEsIGNkcF9lbmFibGVkKTsKICAgICAgICAgICAgIGlmICggcmV0ICkKICAgICAgICAgICAg IHsKLSAgICAgICAgICAgICAgICBzcGluX3VubG9jaygmaW5mby0+Y2JtX2xvY2spOworICAgICAg ICAgICAgICAgIHNwaW5fdW5sb2NrKCZpbmZvLT5yZWZfbG9jayk7CiAgICAgICAgICAgICAgICAg cmV0dXJuIHJldDsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIG1hcFtjb3NdLmNvZGUgPSBj Ym1fY29kZTsKQEAgLTUxNSw5ICs1MjYsOSBAQCBpbnQgcHNyX3NldF9sM19jYm0oc3RydWN0IGRv bWFpbiAqZCwgdW5zaWduZWQgaW50IHNvY2tldCwKICAgICAgICAgfQogICAgIH0KIAotICAgIG1h cFtjb3NdLnJlZisrOwotICAgIG1hcFtvbGRfY29zXS5yZWYtLTsKLSAgICBzcGluX3VubG9jaygm aW5mby0+Y2JtX2xvY2spOworICAgIHJlZltjb3NdKys7CisgICAgcmVmW29sZF9jb3NdLS07Cisg ICAgc3Bpbl91bmxvY2soJmluZm8tPnJlZl9sb2NrKTsKIAogICAgIGQtPmFyY2gucHNyX2Nvc19p ZHNbc29ja2V0XSA9IGNvczsKIApAQCAtNTQwLDkgKzU1MSw5IEBAIHN0YXRpYyB2b2lkIHBzcl9m cmVlX2NvcyhzdHJ1Y3QgZG9tYWluICpkKQogICAgICAgICAgICAgY29udGludWU7CiAKICAgICAg ICAgaW5mbyA9IGNhdF9zb2NrZXRfaW5mbyArIHNvY2tldDsKLSAgICAgICAgc3Bpbl9sb2NrKCZp bmZvLT5jYm1fbG9jayk7Ci0gICAgICAgIGluZm8tPmNvc190b19jYm1bY29zXS5yZWYtLTsKLSAg ICAgICAgc3Bpbl91bmxvY2soJmluZm8tPmNibV9sb2NrKTsKKyAgICAgICAgc3Bpbl9sb2NrKCZp bmZvLT5yZWZfbG9jayk7CisgICAgICAgIGluZm8tPmNvc19yZWZbY29zXS0tOworICAgICAgICBz cGluX3VubG9jaygmaW5mby0+cmVmX2xvY2spOwogICAgIH0KIAogICAgIHhmcmVlKGQtPmFyY2gu cHNyX2Nvc19pZHMpOwpAQCAtNTc0LDcgKzU4NSw3IEBAIHN0YXRpYyBpbnQgY2F0X2NwdV9wcmVw YXJlKHVuc2lnbmVkIGludCBjcHUpCiAKICAgICBpZiAoIHRlbXBfY29zX3RvX2NibSA9PSBOVUxM ICYmCiAgICAgICAgICAodGVtcF9jb3NfdG9fY2JtID0geHphbGxvY19hcnJheShzdHJ1Y3QgcHNy X2NhdF9jYm0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRf Y29zX21heCArIDFVTCkpID09IE5VTEwgKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgTUFYX0NPU19SRUdfTlVNKSkgPT0gTlVMTCApCiAgICAgICAgIHJldHVybiAt RU5PTUVNOwogCiAgICAgcmV0dXJuIDA7CkBAIC02MDksNyArNjIwLDcgQEAgc3RhdGljIHZvaWQg Y2F0X2NwdV9pbml0KHZvaWQpCiAgICAgICAgIC8qIGNvcz0wIGlzIHJlc2VydmVkIGFzIGRlZmF1 bHQgY2JtKGFsbCBvbmVzKS4gKi8KICAgICAgICAgaW5mby0+Y29zX3RvX2NibVswXS5jYm0gPSAo MXVsbCA8PCBpbmZvLT5jYm1fbGVuKSAtIDE7CiAKLSAgICAgICAgc3Bpbl9sb2NrX2luaXQoJmlu Zm8tPmNibV9sb2NrKTsKKyAgICAgICAgc3Bpbl9sb2NrX2luaXQoJmluZm8tPnJlZl9sb2NrKTsK IAogICAgICAgICBzZXRfYml0KHNvY2tldCwgY2F0X3NvY2tldF9lbmFibGUpOwogCi0tIAoyLjcu NAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54 ZW4ub3JnL3hlbi1kZXZlbAo=