From mboxrd@z Thu Jan 1 00:00:00 1970 From: Janakarajan Natarajan Subject: [PATCH v2 06/10] x86/SVM: Add vcpu scheduling support for AVIC Date: Mon, 7 May 2018 16:07:49 -0500 Message-ID: <20180507210753.2280-7-Janakarajan.Natarajan@amd.com> References: <20180507210753.2280-1-Janakarajan.Natarajan@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180507210753.2280-1-Janakarajan.Natarajan@amd.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Jun Nakajima , Kevin Tian , Stefano Stabellini , Wei Liu , Suravee Suthikulpanit , Janakarajan Natarajan , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall , Jan Beulich , Boris Ostrovsky List-Id: xen-devel@lists.xenproject.org RnJvbTogU3VyYXZlZSBTdXRoaWt1bHBhbml0IDxzdXJhdmVlLnN1dGhpa3VscGFuaXRAYW1kLmNv bT4KCkFkZCBob29rcyB0byBtYW5hZ2UgQVZJQyBkYXRhIHN0cnVjdHVyZSBkdXJpbmcgdmNwdSBz Y2hlZHVsaW5nLgoKU2lnbmVkLW9mZi1ieTogU3VyYXZlZSBTdXRoaWt1bHBhbml0IDxzdXJhdmVl LnN1dGhpa3VscGFuaXRAYW1kLmNvbT4KU2lnbmVkLW9mZi1ieTogSmFuYWthcmFqYW4gTmF0YXJh amFuIDxKYW5ha2FyYWphbi5OYXRhcmFqYW5AYW1kLmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvaHZt L3N2bS9hdmljLmMgfCA1MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysKIHhlbi9hcmNoL3g4Ni9odm0vc3ZtL3N2bS5jICB8IDEwICsrKysrKysrKwogMiBmaWxl cyBjaGFuZ2VkLCA2MSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2 bS9zdm0vYXZpYy5jIGIveGVuL2FyY2gveDg2L2h2bS9zdm0vYXZpYy5jCmluZGV4IDJmYmEzNWZl NDcuLjdjYzEwYzMxM2EgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vc3ZtL2F2aWMuYwor KysgYi94ZW4vYXJjaC94ODYvaHZtL3N2bS9hdmljLmMKQEAgLTM2LDYgKzM2LDcgQEAKIAogI2Rl ZmluZSBBVklDX1VOQUNDRUxfQUNDRVNTX09GRlNFVF9NQVNLICAgIDB4RkYwCiAKKyNkZWZpbmUg SVNfUlVOTklOR19CSVQgICAgICAgIDYyCiAvKgogICogTm90ZToKICAqIEN1cnJlbnRseSwgc3Zt LWF2aWMgbW9kZSBpcyBub3Qgc3VwcG9ydGVkIHdpdGggbmVzdGVkIHZpcnR1YWxpemF0aW9uLgpA QCAtNjUsNiArNjYsNTEgQEAgYXZpY19nZXRfcGh5c2ljYWxfaWRfZW50cnkoc3RydWN0IHN2bV9k b21haW4gKmQsIHVuc2lnbmVkIGludCBpbmRleCkKICAgICByZXR1cm4gJmQtPmF2aWNfcGh5c2lj YWxfaWRfdGFibGVbaW5kZXhdOwogfQogCitzdGF0aWMgdm9pZCBhdmljX3ZjcHVfbG9hZChzdHJ1 Y3QgdmNwdSAqdikKK3sKKyAgICBzdHJ1Y3QgYXJjaF9zdm1fc3RydWN0ICpzID0gJnYtPmFyY2gu aHZtX3N2bTsKKyAgICBpbnQgaF9waHlfYXBpY19pZDsKKworICAgIEFTU0VSVCghdGVzdF9iaXQo X1ZQRl9ibG9ja2VkLCAmdi0+cGF1c2VfZmxhZ3MpKTsKKworICAgIC8qCisgICAgICogTm90ZTog QVBJQyBJRCA9IDB4ZmYgaXMgdXNlZCBmb3IgYnJvYWRjYXN0LgorICAgICAqICAgICAgIEFQSUMg SUQgPiAweGZmIGlzIHJlc2VydmVkLgorICAgICAqLworICAgIGhfcGh5X2FwaWNfaWQgPSBjcHVf ZGF0YVt2LT5wcm9jZXNzb3JdLmFwaWNpZDsKKyAgICBBU1NFUlQoaF9waHlfYXBpY19pZCA8IEFW SUNfUEhZX0FQSUNfSURfTUFYKTsKKworICAgIHMtPmF2aWNfbGFzdF9waHlfaWQtPmhvc3RfcGh5 X2FwaWNfaWQgPSBoX3BoeV9hcGljX2lkOworICAgIHNtcF93bWIoKTsKKyAgICBzZXRfYml0KElT X1JVTk5JTkdfQklULCAodTY0Kikocy0+YXZpY19sYXN0X3BoeV9pZCkpOworfQorCitzdGF0aWMg dm9pZCBhdmljX3ZjcHVfdW5sb2FkKHN0cnVjdCB2Y3B1ICp2KQoreworICAgIHN0cnVjdCBhcmNo X3N2bV9zdHJ1Y3QgKnMgPSAmdi0+YXJjaC5odm1fc3ZtOworCisgICAgY2xlYXJfYml0KElTX1JV Tk5JTkdfQklULCAodTY0Kikocy0+YXZpY19sYXN0X3BoeV9pZCkpOworfQorCitzdGF0aWMgdm9p ZCBhdmljX3ZjcHVfcmVzdW1lKHN0cnVjdCB2Y3B1ICp2KQoreworICAgIHN0cnVjdCBhcmNoX3N2 bV9zdHJ1Y3QgKnMgPSAmdi0+YXJjaC5odm1fc3ZtOworCisgICAgQVNTRVJUKHN2bV9hdmljX3Zj cHVfZW5hYmxlZCh2KSk7CisgICAgQVNTRVJUKCF0ZXN0X2JpdChfVlBGX2Jsb2NrZWQsICZ2LT5w YXVzZV9mbGFncykpOworCisgICAgc2V0X2JpdChJU19SVU5OSU5HX0JJVCwgKHU2NCopKHMtPmF2 aWNfbGFzdF9waHlfaWQpKTsKK30KKworc3RhdGljIHZvaWQgYXZpY192Y3B1X2Jsb2NrKHN0cnVj dCB2Y3B1ICp2KQoreworICAgIHN0cnVjdCBhcmNoX3N2bV9zdHJ1Y3QgKnMgPSAmdi0+YXJjaC5o dm1fc3ZtOworCisgICAgQVNTRVJUKHN2bV9hdmljX3ZjcHVfZW5hYmxlZCh2KSk7CisKKyAgICBj bGVhcl9iaXQoSVNfUlVOTklOR19CSVQsICh1NjQqKShzLT5hdmljX2xhc3RfcGh5X2lkKSk7Cit9 CisKIGludCBzdm1fYXZpY19kb21faW5pdChzdHJ1Y3QgZG9tYWluICpkKQogewogICAgIGludCBy ZXQgPSAwOwpAQCAtMTA4LDYgKzE1NCwxMSBAQCBpbnQgc3ZtX2F2aWNfZG9tX2luaXQoc3RydWN0 IGRvbWFpbiAqZCkKIAogICAgIHNwaW5fbG9ja19pbml0KCZkLT5hcmNoLmh2bV9kb21haW4uc3Zt LmF2aWNfZGZyX21vZGVfbG9jayk7CiAKKyAgICBkLT5hcmNoLmh2bV9kb21haW4ucGlfb3BzLnN3 aXRjaF9mcm9tID0gYXZpY192Y3B1X3VubG9hZDsKKyAgICBkLT5hcmNoLmh2bV9kb21haW4ucGlf b3BzLnN3aXRjaF90byA9IGF2aWNfdmNwdV9sb2FkOworICAgIGQtPmFyY2guaHZtX2RvbWFpbi5w aV9vcHMudmNwdV9ibG9jayA9IGF2aWNfdmNwdV9ibG9jazsKKyAgICBkLT5hcmNoLmh2bV9kb21h aW4ucGlfb3BzLmRvX3Jlc3VtZSA9IGF2aWNfdmNwdV9yZXN1bWU7CisKICAgICByZXR1cm4gcmV0 OwogIGVycl9vdXQ6CiAgICAgc3ZtX2F2aWNfZG9tX2Rlc3Ryb3koZCk7CmRpZmYgLS1naXQgYS94 ZW4vYXJjaC94ODYvaHZtL3N2bS9zdm0uYyBiL3hlbi9hcmNoL3g4Ni9odm0vc3ZtL3N2bS5jCmlu ZGV4IDI0OTA1OTYyNWMuLmIzZTNjODQxNzUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0v c3ZtL3N2bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vc3ZtL3N2bS5jCkBAIC0xMDg4LDYgKzEw ODgsMTAgQEAgc3RhdGljIHZvaWQgc3ZtX2N0eHRfc3dpdGNoX2Zyb20oc3RydWN0IHZjcHUgKnYp CiAgICAgc3ZtX3RzY19yYXRpb19zYXZlKHYpOwogCiAgICAgc3ZtX3N5bmNfdm1jYih2KTsKKwor ICAgIGlmICggdi0+ZG9tYWluLT5hcmNoLmh2bV9kb21haW4ucGlfb3BzLnN3aXRjaF9mcm9tICkK KyAgICAgICAgdi0+ZG9tYWluLT5hcmNoLmh2bV9kb21haW4ucGlfb3BzLnN3aXRjaF9mcm9tKHYp OworCiAgICAgc3ZtX3ZtbG9hZF9wYShwZXJfY3B1KGhvc3Rfdm1jYiwgY3B1KSk7CiAKICAgICAv KiBSZXN1bWUgdXNlIG9mIElTVHMgbm93IHRoYXQgdGhlIGhvc3QgVFIgaXMgcmVpbnN0YXRlZC4g Ki8KQEAgLTExMjAsNiArMTEyNCw5IEBAIHN0YXRpYyB2b2lkIHN2bV9jdHh0X3N3aXRjaF90byhz dHJ1Y3QgdmNwdSAqdikKICAgICBzdm1fbHdwX2xvYWQodik7CiAgICAgc3ZtX3RzY19yYXRpb19s b2FkKHYpOwogCisgICAgaWYgKCB2LT5kb21haW4tPmFyY2guaHZtX2RvbWFpbi5waV9vcHMuc3dp dGNoX3RvICkKKyAgICAgICAgdi0+ZG9tYWluLT5hcmNoLmh2bV9kb21haW4ucGlfb3BzLnN3aXRj aF90byh2KTsKKwogICAgIGlmICggY3B1X2hhc19yZHRzY3AgKQogICAgICAgICB3cm1zcl90c2Nf YXV4KGh2bV9tc3JfdHNjX2F1eCh2KSk7CiB9CkBAIC0xMTY3LDYgKzExNzQsOSBAQCBzdGF0aWMg dm9pZCBub3JldHVybiBzdm1fZG9fcmVzdW1lKHN0cnVjdCB2Y3B1ICp2KQogICAgICAgICB2bWNi X3NldF92aW50cih2bWNiLCBpbnRyKTsKICAgICB9CiAKKyAgICBpZiAoIHYtPmRvbWFpbi0+YXJj aC5odm1fZG9tYWluLnBpX29wcy5kb19yZXN1bWUgKQorICAgICAgICB2LT5kb21haW4tPmFyY2gu aHZtX2RvbWFpbi5waV9vcHMuZG9fcmVzdW1lKHYpOworCiAgICAgaHZtX2RvX3Jlc3VtZSh2KTsK IAogICAgIHJlc2V0X3N0YWNrX2FuZF9qdW1wKHN2bV9hc21fZG9fcmVzdW1lKTsKLS0gCjIuMTEu MAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8v bGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=