From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v3 12/17] x86: activate per-vcpu stacks in case of xpti Date: Fri, 9 Feb 2018 15:01:46 +0100 Message-ID: <20180209140151.24714-13-jgross@suse.com> References: <20180209140151.24714-1-jgross@suse.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.84_2) (envelope-from ) id 1ek9Fd-0003Cp-Rm for xen-devel@lists.xenproject.org; Fri, 09 Feb 2018 14:02:05 +0000 In-Reply-To: <20180209140151.24714-1-jgross@suse.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: Juergen Gross , andrew.cooper3@citrix.com, dfaggioli@suse.com, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org V2hlbiBzY2hlZHVsaW5nIGEgdmNwdSBzdWJqZWN0IHRvIHhwdGkgYWN0aXZhdGUgdGhlIHBlci12 Y3B1IHN0YWNrcwpieSBsb2FkaW5nIHRoZSB2Y3B1IHNwZWNpZmljIGdkdCBhbmQgdHNzLiBXaGVu IGRlLXNjaGVkdWxpbmcgc3VjaCBhCnZjcHUgc3dpdGNoIGJhY2sgdG8gdGhlIHBlciBwaHlzaWNh bCBjcHUgZ2R0IGFuZCB0c3MuCgpBY2Nlc3NpbmcgdGhlIHVzZXIgcmVnaXN0ZXJzIG9uIHRoZSBz dGFjayBpcyBkb25lIHZpYSBoZWxwZXJzIGFzCmRlcGVuZGluZyBvbiBYUFRJIGFjdGl2ZSBvciBu b3QgdGhlIHJlZ2lzdGVycyBhcmUgbG9jYXRlZCBlaXRoZXIgb24KdGhlIHBlci12Y3B1IHN0YWNr IG9yIG9uIHRoZSBkZWZhdWx0IHN0YWNrLgoKU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8 amdyb3NzQHN1c2UuY29tPgotLS0KVjM6Ci0gbW92ZWQgc29tZSBjb2RlIHRvIHhwdGkuYwotIGZp eCBlcnJvciBmb3IgSFZNIGRvbWFpbnM6IHJlc2V0IE1TUnMgb2YgWFBUSSBkb21haW4gYmVmb3Jl IHNldHRpbmcKICB0aGVtIGZvciBIVk0KLSBmaXggZXJyb3IgZm9yIDMyIGJpdCBwdiBkb21haW5z OiBzZXR1cCBHRFQgaW4gY2FzZSBpdCB3YXMgcmVzZXQgYWZ0ZXIKICBkZXNjaGVkdWxpbmcgYSBY UFRJIGRvbWFpbgotIHJldXNlIHBlcmNwdSBHRFQgZm9yIFhQVEkgZG9tYWlucyBieSB3cml0aW5n IFRTUyBlbnRyeSAoSmFuIEJldWxpY2gpCi0gYXZvaWQgTFRScyBhbmQgV1JNU1JzIGlmIHBvc3Np YmxlIChKYW4gQmV1bGljaCkKLS0tCiB4ZW4vYXJjaC94ODYvZG9tYWluLmMgICAgICB8IDk5ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KIHhlbi9pbmNsdWRl L2FzbS14ODYvcmVncy5oIHwgIDIgKwogMiBmaWxlcyBjaGFuZ2VkLCA5NSBpbnNlcnRpb25zKCsp LCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9kb21haW4uYyBiL3hl bi9hcmNoL3g4Ni9kb21haW4uYwppbmRleCA2ZGQ0N2JiMmJiLi44ZDZkYzczODgxIDEwMDY0NAot LS0gYS94ZW4vYXJjaC94ODYvZG9tYWluLmMKKysrIGIveGVuL2FyY2gveDg2L2RvbWFpbi5jCkBA IC0xNTk0LDI0ICsxNTk0LDU1IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBuZWVkX2Z1bGxfZ2R0KGNv bnN0IHN0cnVjdCBkb21haW4gKmQpCiAgICAgcmV0dXJuIGlzX3B2X2RvbWFpbihkKSAmJiAhaXNf aWRsZV9kb21haW4oZCk7CiB9CiAKKy8qCisgKiBHZXQgYWRkcmVzcyBvZiByZWdpc3RlcnMgb24g c3RhY2s6IHRoaXMgaXMgZWl0aGVyIG9uIHRoZSBwZXIgcGh5c2ljYWwgY3B1CisgKiBzdGFjayAo WFBUSSBpcyBvZmYpIG9yIG9uIHRoZSBwZXItdmNwdSBzdGFjayAoWFBUSSBpcyBvbikKKyAqLwor c3RhdGljIGlubGluZSBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqZ2V0X3JlZ3Nfb25fc3RhY2soY29u c3Qgc3RydWN0IHZjcHUgKnYpCit7CisgICAgcmV0dXJuIGlzX3ZjcHVfeHB0aV9hY3RpdmUodikg PyB2LT5hcmNoLnB2X3ZjcHUuc3RhY2tfcmVncworICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDogJmdldF9jcHVfaW5mbygpLT5ndWVzdF9jcHVfdXNlcl9yZWdzOworfQorCitzdGF0 aWMgaW5saW5lIHZvaWQgY29weV91c2VyX3JlZ3NfZnJvbV9zdGFjayhzdHJ1Y3QgdmNwdSAqdikK K3sKKyAgICBtZW1jcHkoJnYtPmFyY2gudXNlcl9yZWdzLCBnZXRfcmVnc19vbl9zdGFjayh2KSwg Q1RYVF9TV0lUQ0hfU1RBQ0tfQllURVMpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgY29weV91 c2VyX3JlZ3NfdG9fc3RhY2soY29uc3Qgc3RydWN0IHZjcHUgKnYpCit7CisgICAgbWVtY3B5KGdl dF9yZWdzX29uX3N0YWNrKHYpLCAmdi0+YXJjaC51c2VyX3JlZ3MsIENUWFRfU1dJVENIX1NUQUNL X0JZVEVTKTsKK30KKwogc3RhdGljIHZvaWQgX19jb250ZXh0X3N3aXRjaCh2b2lkKQogewotICAg IHN0cnVjdCBjcHVfdXNlcl9yZWdzICpzdGFja19yZWdzID0gZ3Vlc3RfY3B1X3VzZXJfcmVncygp OwogICAgIHVuc2lnbmVkIGludCAgICAgICAgICBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CiAg ICAgc3RydWN0IHZjcHUgICAgICAgICAgKnAgPSBwZXJfY3B1KGN1cnJfdmNwdSwgY3B1KTsKICAg ICBzdHJ1Y3QgdmNwdSAgICAgICAgICAqbiA9IGN1cnJlbnQ7CiAgICAgc3RydWN0IGRvbWFpbiAg ICAgICAgKnBkID0gcC0+ZG9tYWluLCAqbmQgPSBuLT5kb21haW47CiAgICAgc3RydWN0IGRlc2Nf c3RydWN0ICAgKmdkdDsKICAgICBzdHJ1Y3QgZGVzY19wdHIgICAgICAgZ2R0X2Rlc2M7CisgICAg Ym9vbCAgICAgICAgICAgICAgICAgIGlzX3B2X2dkdDsKIAogICAgIEFTU0VSVChwICE9IG4pOwog ICAgIEFTU0VSVCghdmNwdV9jcHVfZGlydHkobikpOwogCiAgICAgaWYgKCAhaXNfaWRsZV9kb21h aW4ocGQpICkKICAgICB7Ci0gICAgICAgIG1lbWNweSgmcC0+YXJjaC51c2VyX3JlZ3MsIHN0YWNr X3JlZ3MsIENUWFRfU1dJVENIX1NUQUNLX0JZVEVTKTsKKyAgICAgICAgY29weV91c2VyX3JlZ3Nf ZnJvbV9zdGFjayhwKTsKICAgICAgICAgdmNwdV9zYXZlX2ZwdShwKTsKICAgICAgICAgcGQtPmFy Y2guY3R4dF9zd2l0Y2gtPmZyb20ocCk7CisgICAgICAgIGlmICggaXNfZG9tYWluX3hwdGlfYWN0 aXZlKHBkKSAmJiAhaXNfZG9tYWluX3hwdGlfYWN0aXZlKG5kKSApCisgICAgICAgIHsKKyAgICAg ICAgICAgIHVuc2lnbmVkIGxvbmcgc3R1Yl92YSA9IHRoaXNfY3B1KHN0dWJzLmFkZHIpOworCisg ICAgICAgICAgICB3cm1zcmwoTVNSX0xTVEFSLCBzdHViX3ZhKTsKKyAgICAgICAgICAgIHdybXNy bChNU1JfQ1NUQVIsIHN0dWJfdmEgKyBTVFVCX1RSQU1QT0xJTkVfU0laRV9QRVJDUFUpOworICAg ICAgICAgICAgaWYgKCBib290X2NwdV9kYXRhLng4Nl92ZW5kb3IgPT0gWDg2X1ZFTkRPUl9JTlRF TCB8fAorICAgICAgICAgICAgICAgICBib290X2NwdV9kYXRhLng4Nl92ZW5kb3IgPT0gWDg2X1ZF TkRPUl9DRU5UQVVSICkKKyAgICAgICAgICAgICAgICB3cm1zcmwoTVNSX0lBMzJfU1lTRU5URVJf RVNQLAorICAgICAgICAgICAgICAgICAgICAgICAodW5zaWduZWQgbG9uZykmZ2V0X2NwdV9pbmZv KCktPmd1ZXN0X2NwdV91c2VyX3JlZ3MuZXMpOworICAgICAgICB9CiAgICAgfQogCiAgICAgLyoK QEAgLTE2MjUsNyArMTY1Niw3IEBAIHN0YXRpYyB2b2lkIF9fY29udGV4dF9zd2l0Y2godm9pZCkK IAogICAgIGlmICggIWlzX2lkbGVfZG9tYWluKG5kKSApCiAgICAgewotICAgICAgICBtZW1jcHko c3RhY2tfcmVncywgJm4tPmFyY2gudXNlcl9yZWdzLCBDVFhUX1NXSVRDSF9TVEFDS19CWVRFUyk7 CisgICAgICAgIGNvcHlfdXNlcl9yZWdzX3RvX3N0YWNrKG4pOwogICAgICAgICBpZiAoIGNwdV9o YXNfeHNhdmUgKQogICAgICAgICB7CiAgICAgICAgICAgICB1NjQgeGNyMCA9IG4tPmFyY2gueGNy MCA/OiBYU1RBVEVfRlBfU1NFOwpAQCAtMTY1NSwyNCArMTY4Niw4MCBAQCBzdGF0aWMgdm9pZCBf X2NvbnRleHRfc3dpdGNoKHZvaWQpCiAgICAgICAgICAgICAgICAgICAgICAgbDFlX2Zyb21fcGZu KG1mbiArIGksIF9fUEFHRV9IWVBFUlZJU09SX1JXKSk7CiAgICAgfQogCi0gICAgaWYgKCBuZWVk X2Z1bGxfZ2R0KHBkKSAmJgotICAgICAgICAgKChwLT52Y3B1X2lkICE9IG4tPnZjcHVfaWQpIHx8 ICFuZWVkX2Z1bGxfZ2R0KG5kKSkgKQorICAgIGlzX3B2X2dkdCA9IG5lZWRfZnVsbF9nZHQocGQp OworICAgIGlmICggaXNfcHZfZ2R0ICYmCisgICAgICAgICAoKHAtPnZjcHVfaWQgIT0gbi0+dmNw dV9pZCkgfHwgIW5lZWRfZnVsbF9nZHQobmQpIHx8CisgICAgICAgICAgKHBkLT5hcmNoLnB2X2Rv bWFpbi54cHRpICYmICFpc19kb21haW5feHB0aV9hY3RpdmUobmQpKSkgKQogICAgIHsKICAgICAg ICAgZ2R0X2Rlc2MubGltaXQgPSBMQVNUX1JFU0VSVkVEX0dEVF9CWVRFOwogICAgICAgICBnZHRf ZGVzYy5iYXNlICA9ICh1bnNpZ25lZCBsb25nKShnZHQgLSBGSVJTVF9SRVNFUlZFRF9HRFRfRU5U UlkpOwogCiAgICAgICAgIGxnZHQoJmdkdF9kZXNjKTsKKyAgICAgICAgaXNfcHZfZ2R0ID0gZmFs c2U7CisKKyAgICAgICAgLyoKKyAgICAgICAgICogV2hlbiBzd2l0Y2hpbmcgZnJvbSBYUFRJIGRv bWFpbiB0byBub24tWFBUSSBkb21haW4gb3Igd2hlbiBjaGFuZ2luZworICAgICAgICAgKiB2Y3B1 X2lkIG9mIFhQVEkgZG9tYWlucyB3ZSBuZWVkIHRvIHN3aXRjaCB0byB0aGUgcGVyIHBoeXNpY2Fs IGNwdQorICAgICAgICAgKiBUU1MgaW4gb3JkZXIgdG8gYXZvaWQgZWl0aGVyIHVubWFwcGVkIHN0 YWNrcyBvciBzdGFja3MgYmVpbmcgaW4gdXNlCisgICAgICAgICAqIG9uIG11bHRpcGxlIGNwdXMg YXQgdGhlIHNhbWUgdGltZS4KKyAgICAgICAgICovCisgICAgICAgIGlmICggcGQtPmFyY2gucHZf ZG9tYWluLnhwdGkgKQorICAgICAgICB7CisgICAgICAgICAgICBfc2V0X3Rzc19kZXNjKGdkdCAr IFRTU19FTlRSWSAtIEZJUlNUX1JFU0VSVkVEX0dEVF9FTlRSWSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgKHVuc2lnbmVkIGxvbmcpJnRoaXNfY3B1KGluaXRfdHNzKSwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgb2Zmc2V0b2Yoc3RydWN0IHRzc19zdHJ1Y3QsIF9fY2FjaGVsaW5lX2Zp bGxlcikgLSAxLAorICAgICAgICAgICAgICAgICAgICAgICAgICBTWVNfREVTQ190c3NfYXZhaWwp OworICAgICAgICAgICAgbHRyKFRTU19FTlRSWSA8PCAzKTsKKyAgICAgICAgICAgIGdldF9jcHVf aW5mbygpLT5mbGFncyAmPSB+VkNQVVNUQUNLX0FDVElWRTsKKyAgICAgICAgfQogICAgIH0KIAog ICAgIHdyaXRlX3B0YmFzZShuKTsKIAorICAgIGlmICggaXNfZG9tYWluX3hwdGlfYWN0aXZlKG5k KSApCisgICAgeworICAgICAgICBzdHJ1Y3QgY3B1X2luZm8gKmluZm87CisKKyAgICAgICAgLyog RG9uJ3QgdXNlIGd1ZXN0X2NwdV91c2VyX3JlZ3MoKSwgbWlnaHQgcG9pbnQgdG8gdmNwdSBzdGFj ay4gKi8KKyAgICAgICAgaW5mbyA9IChzdHJ1Y3QgY3B1X2luZm8gKikoWFBUSV9TVEFSVChuKSAr IFNUQUNLX1NJWkUpIC0gMTsKKyAgICAgICAgaW5mby0+c3RhY2tfYm90dG9tX2NwdSA9CisgICAg ICAgICAgICAgICAgICAgKHVuc2lnbmVkIGxvbmcpJmdldF9jcHVfaW5mbygpLT5ndWVzdF9jcHVf dXNlcl9yZWdzOworICAgIH0KKwogICAgIGlmICggbmVlZF9mdWxsX2dkdChuZCkgJiYKLSAgICAg ICAgICgocC0+dmNwdV9pZCAhPSBuLT52Y3B1X2lkKSB8fCAhbmVlZF9mdWxsX2dkdChwZCkpICkK KyAgICAgICAgICghaXNfcHZfZ2R0IHx8CisgICAgICAgICAgKG5kLT5hcmNoLnB2X2RvbWFpbi54 cHRpICYmICFpc19kb21haW5feHB0aV9hY3RpdmUocGQpKSkgKQogICAgIHsKICAgICAgICAgZ2R0 X2Rlc2MubGltaXQgPSBMQVNUX1JFU0VSVkVEX0dEVF9CWVRFOwogICAgICAgICBnZHRfZGVzYy5i YXNlID0gR0RUX1ZJUlRfU1RBUlQobik7CiAKICAgICAgICAgbGdkdCgmZ2R0X2Rlc2MpOworCisg ICAgICAgIC8qCisgICAgICAgICAqIEVpdGhlciB3ZSBhcmUgY3VycmVudGx5IG9uIHBoeXNpY2Fs IGNwdSBUU1MgYW5kIHN0YWNrcywgb3Igd2UgaGF2ZQorICAgICAgICAgKiBzd2l0Y2hlZCB2Y3B1 X2lkLiBJbiBib3RoIGNhc2VzIHdlIG5lZWQgdG8gcmVsb2FkIFRTUyBhbmQgTVNScyB3aXRoCisg ICAgICAgICAqIHN0dWIgYWRkcmVzc2VzIHdoZW4gd2UgZW50ZXIgYSBYUFRJIGRvbWFpbi4KKyAg ICAgICAgICovCisgICAgICAgIGlmICggbmQtPmFyY2gucHZfZG9tYWluLnhwdGkgKQorICAgICAg ICB7CisgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHN0dWJfdmEgPSBYUFRJX1RSQU1QT0xJTkUo bik7CisKKyAgICAgICAgICAgIF9zZXRfdHNzX2Rlc2MoZ2R0ICsgVFNTX0VOVFJZIC0gRklSU1Rf UkVTRVJWRURfR0RUX0VOVFJZLAorICAgICAgICAgICAgICAgICAgICAgICAgICBYUFRJX1RTUyhu KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0b2Yoc3RydWN0IHRzc19zdHJ1Y3Qs IF9fY2FjaGVsaW5lX2ZpbGxlcikgLSAxLAorICAgICAgICAgICAgICAgICAgICAgICAgICBTWVNf REVTQ190c3NfYXZhaWwpOworCisgICAgICAgICAgICBsdHIoVFNTX0VOVFJZIDw8IDMpOworICAg ICAgICAgICAgZ2V0X2NwdV9pbmZvKCktPmZsYWdzIHw9IFZDUFVTVEFDS19BQ1RJVkU7CisgICAg ICAgICAgICB3cm1zcmwoTVNSX0xTVEFSLAorICAgICAgICAgICAgICAgICAgIHN0dWJfdmEgKyAo KHVuc2lnbmVkIGxvbmcpJnhwdGlfbHN0YXIgJiB+UEFHRV9NQVNLKSk7CisgICAgICAgICAgICB3 cm1zcmwoTVNSX0NTVEFSLAorICAgICAgICAgICAgICAgICAgIHN0dWJfdmEgKyAoKHVuc2lnbmVk IGxvbmcpJnhwdGlfY3N0YXIgJiB+UEFHRV9NQVNLKSk7CisgICAgICAgICAgICBpZiAoIGJvb3Rf Y3B1X2RhdGEueDg2X3ZlbmRvciA9PSBYODZfVkVORE9SX0lOVEVMIHx8CisgICAgICAgICAgICAg ICAgIGJvb3RfY3B1X2RhdGEueDg2X3ZlbmRvciA9PSBYODZfVkVORE9SX0NFTlRBVVIgKQorICAg ICAgICAgICAgICAgIHdybXNybChNU1JfSUEzMl9TWVNFTlRFUl9FU1AsCisgICAgICAgICAgICAg ICAgICAgICAgICh1bnNpZ25lZCBsb25nKSZndWVzdF9jcHVfdXNlcl9yZWdzKCktPmVzKTsKKyAg ICAgICAgfQogICAgIH0KIAogICAgIGlmICggcGQgIT0gbmQgKQpkaWZmIC0tZ2l0IGEveGVuL2lu Y2x1ZGUvYXNtLXg4Ni9yZWdzLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L3JlZ3MuaAppbmRleCA3 MjVhNjY0ZTBhLi4zNjFkZTRjNTRlIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3Jl Z3MuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3JlZ3MuaApAQCAtNyw2ICs3LDggQEAKICNk ZWZpbmUgZ3Vlc3RfbW9kZShyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwKICh7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICB1bnNpZ25l ZCBsb25nIGRpZmYgPSAoY2hhciAqKWd1ZXN0X2NwdV91c2VyX3JlZ3MoKSAtIChjaGFyICopKHIp OyAgICAgICAgIFwKKyAgICBpZiAoIGRpZmYgPj0gU1RBQ0tfU0laRSApICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgZGlmZiA9IChjaGFy ICopJmdldF9jcHVfaW5mbygpLT5ndWVzdF9jcHVfdXNlcl9yZWdzIC0gKGNoYXIgKikocik7ICAg IFwKICAgICAvKiBGcmFtZSBwb2ludGVyIG11c3QgcG9pbnQgaW50byBjdXJyZW50IENQVSBzdGFj ay4gKi8gICAgICAgICAgICAgICAgICAgIFwKICAgICBBU1NFUlQoZGlmZiA8IFNUQUNLX1NJWkUp OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAv KiBJZiBub3QgYSBndWVzdCBmcmFtZSwgaXQgbXVzdCBiZSBhIGh5cGVydmlzb3IgZnJhbWUuICov ICAgICAgICAgICAgICAgIFwKLS0gCjIuMTMuNgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxp c3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9s aXN0aW5mby94ZW4tZGV2ZWw=