From mboxrd@z Thu Jan 1 00:00:00 1970 From: Janakarajan Natarajan Subject: [PATCH 4/8] x86/SVM: Add vcpu scheduling support for AVIC Date: Tue, 3 Apr 2018 18:01:20 -0500 Message-ID: <5d6f4ad92f0ef62afedbc0a111ec2d4fe8286c43.1522794651.git.Janakarajan.Natarajan@amd.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: 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 L3N2bS9hdmljLmMgfCA1NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysKIHhlbi9hcmNoL3g4Ni9odm0vc3ZtL3N2bS5jICB8IDEwICsrKysrKysrKwogMiBmaWxl cyBjaGFuZ2VkLCA2NCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2 bS9zdm0vYXZpYy5jIGIveGVuL2FyY2gveDg2L2h2bS9zdm0vYXZpYy5jCmluZGV4IGUxMTI0Njk3 NzQuLjdhMjVkODM5NTQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vc3ZtL2F2aWMuYwor KysgYi94ZW4vYXJjaC94ODYvaHZtL3N2bS9hdmljLmMKQEAgLTQwLDYgKzQwLDcgQEAKIAogI2Rl ZmluZSBBVklDX1VOQUNDRUxfQUNDRVNTX09GRlNFVF9NQVNLICAgIDB4RkYwCiAKKyNkZWZpbmUg SVNfUlVOTklOR19CSVQgICAgICAgIDYyCiAvKgogICogTm90ZToKICAqIEN1cnJlbnRseSwgc3Zt LWF2aWMgbW9kZSBpcyBub3Qgc3VwcG9ydGVkIHdpdGggbmVzdGVkIHZpcnR1YWxpemF0aW9uLgpA QCAtNjMsNiArNjQsNTQgQEAgYXZpY19nZXRfcGh5c2ljYWxfaWRfZW50cnkoc3RydWN0IHN2bV9k b21haW4gKmQsIHVuc2lnbmVkIGludCBpbmRleCkKICAgICByZXR1cm4gJmQtPmF2aWNfcGh5c2lj YWxfaWRfdGFibGVbaW5kZXhdOwogfQogCitzdGF0aWMgdm9pZCBhdmljX3ZjcHVfbG9hZChzdHJ1 Y3QgdmNwdSAqdikKK3sKKyAgICB1bnNpZ25lZCBsb25nIHRtcDsKKyAgICBzdHJ1Y3QgYXJjaF9z dm1fc3RydWN0ICpzID0gJnYtPmFyY2guaHZtX3N2bTsKKyAgICBpbnQgaF9waHlfYXBpY19pZDsK KyAgICBzdHJ1Y3QgYXZpY19waHlzaWNhbF9pZF9lbnRyeSAqZW50cnkgPSAoc3RydWN0IGF2aWNf cGh5c2ljYWxfaWRfZW50cnkgKikmdG1wOworCisgICAgQVNTRVJUKCF0ZXN0X2JpdChfVlBGX2Js b2NrZWQsICZ2LT5wYXVzZV9mbGFncykpOworCisgICAgLyoKKyAgICAgKiBOb3RlOiBBUElDIElE ID0gMHhmZiBpcyB1c2VkIGZvciBicm9hZGNhc3QuCisgICAgICogICAgICAgQVBJQyBJRCA+IDB4 ZmYgaXMgcmVzZXJ2ZWQuCisgICAgICovCisgICAgaF9waHlfYXBpY19pZCA9IGNwdV9kYXRhW3Yt PnByb2Nlc3Nvcl0uYXBpY2lkOworICAgIEFTU0VSVChoX3BoeV9hcGljX2lkIDwgQVZJQ19QSFlf QVBJQ19JRF9NQVgpOworCisgICAgdG1wID0gcmVhZF9hdG9taWMoKHU2NCopKHMtPmF2aWNfbGFz dF9waHlfaWQpKTsKKyAgICBlbnRyeS0+aG9zdF9waHlfYXBpY19pZCA9IGhfcGh5X2FwaWNfaWQ7 CisgICAgZW50cnktPmlzX3J1bm5pbmcgPSAxOworICAgIHdyaXRlX2F0b21pYygodTY0Kikocy0+ YXZpY19sYXN0X3BoeV9pZCksIHRtcCk7Cit9CisKK3N0YXRpYyB2b2lkIGF2aWNfdmNwdV91bmxv YWQoc3RydWN0IHZjcHUgKnYpCit7CisgICAgc3RydWN0IGFyY2hfc3ZtX3N0cnVjdCAqcyA9ICZ2 LT5hcmNoLmh2bV9zdm07CisKKyAgICBjbGVhcl9iaXQoSVNfUlVOTklOR19CSVQsICh1NjQqKShz LT5hdmljX2xhc3RfcGh5X2lkKSk7Cit9CisKK3N0YXRpYyB2b2lkIGF2aWNfdmNwdV9yZXN1bWUo c3RydWN0IHZjcHUgKnYpCit7CisgICAgc3RydWN0IGFyY2hfc3ZtX3N0cnVjdCAqcyA9ICZ2LT5h cmNoLmh2bV9zdm07CisKKyAgICBBU1NFUlQoc3ZtX2F2aWNfdmNwdV9lbmFibGVkKHYpKTsKKyAg ICBBU1NFUlQoIXRlc3RfYml0KF9WUEZfYmxvY2tlZCwgJnYtPnBhdXNlX2ZsYWdzKSk7CisKKyAg ICBzZXRfYml0KElTX1JVTk5JTkdfQklULCAodTY0Kikocy0+YXZpY19sYXN0X3BoeV9pZCkpOwor fQorCitzdGF0aWMgdm9pZCBhdmljX3ZjcHVfYmxvY2soc3RydWN0IHZjcHUgKnYpCit7CisgICAg c3RydWN0IGFyY2hfc3ZtX3N0cnVjdCAqcyA9ICZ2LT5hcmNoLmh2bV9zdm07CisKKyAgICBBU1NF UlQoc3ZtX2F2aWNfdmNwdV9lbmFibGVkKHYpKTsKKworICAgIGNsZWFyX2JpdChJU19SVU5OSU5H X0JJVCwgKHU2NCopKHMtPmF2aWNfbGFzdF9waHlfaWQpKTsKK30KKwogaW50IHN2bV9hdmljX2Rv bV9pbml0KHN0cnVjdCBkb21haW4gKmQpCiB7CiAgICAgaW50IHJldCA9IDA7CkBAIC0xMDYsNiAr MTU1LDExIEBAIGludCBzdm1fYXZpY19kb21faW5pdChzdHJ1Y3QgZG9tYWluICpkKQogCiAgICAg c3Bpbl9sb2NrX2luaXQoJmQtPmFyY2guaHZtX2RvbWFpbi5zdm0uYXZpY19kZnJfbW9kZV9sb2Nr KTsKIAorICAgIGQtPmFyY2guaHZtX2RvbWFpbi5waV9vcHMuc3dpdGNoX2Zyb20gPSBhdmljX3Zj cHVfdW5sb2FkOworICAgIGQtPmFyY2guaHZtX2RvbWFpbi5waV9vcHMuc3dpdGNoX3RvID0gYXZp Y192Y3B1X2xvYWQ7CisgICAgZC0+YXJjaC5odm1fZG9tYWluLnBpX29wcy52Y3B1X2Jsb2NrID0g YXZpY192Y3B1X2Jsb2NrOworICAgIGQtPmFyY2guaHZtX2RvbWFpbi5waV9vcHMuZG9fcmVzdW1l ID0gYXZpY192Y3B1X3Jlc3VtZTsKKwogICAgIHJldHVybiByZXQ7CiAgZXJyX291dDoKICAgICBz dm1fYXZpY19kb21fZGVzdHJveShkKTsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vc3Zt L3N2bS5jIGIveGVuL2FyY2gveDg2L2h2bS9zdm0vc3ZtLmMKaW5kZXggYzQ3MDQyYmY2Yi4uNjQx YWQwZGJjMSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9zdm0vc3ZtLmMKKysrIGIveGVu L2FyY2gveDg2L2h2bS9zdm0vc3ZtLmMKQEAgLTEwNzAsNiArMTA3MCwxMCBAQCBzdGF0aWMgdm9p ZCBzdm1fY3R4dF9zd2l0Y2hfZnJvbShzdHJ1Y3QgdmNwdSAqdikKICAgICBzdm1fdHNjX3JhdGlv X3NhdmUodik7CiAKICAgICBzdm1fc3luY192bWNiKHYpOworCisgICAgaWYgKCB2LT5kb21haW4t PmFyY2guaHZtX2RvbWFpbi5waV9vcHMuc3dpdGNoX2Zyb20gKQorICAgICAgICB2LT5kb21haW4t PmFyY2guaHZtX2RvbWFpbi5waV9vcHMuc3dpdGNoX2Zyb20odik7CisKICAgICBzdm1fdm1sb2Fk X3BhKHBlcl9jcHUoaG9zdF92bWNiLCBjcHUpKTsKIAogICAgIC8qIFJlc3VtZSB1c2Ugb2YgSVNU cyBub3cgdGhhdCB0aGUgaG9zdCBUUiBpcyByZWluc3RhdGVkLiAqLwpAQCAtMTEwMiw2ICsxMTA2 LDkgQEAgc3RhdGljIHZvaWQgc3ZtX2N0eHRfc3dpdGNoX3RvKHN0cnVjdCB2Y3B1ICp2KQogICAg IHN2bV9sd3BfbG9hZCh2KTsKICAgICBzdm1fdHNjX3JhdGlvX2xvYWQodik7CiAKKyAgICBpZiAo IHYtPmRvbWFpbi0+YXJjaC5odm1fZG9tYWluLnBpX29wcy5zd2l0Y2hfdG8gKQorICAgICAgICB2 LT5kb21haW4tPmFyY2guaHZtX2RvbWFpbi5waV9vcHMuc3dpdGNoX3RvKHYpOworCiAgICAgaWYg KCBjcHVfaGFzX3JkdHNjcCApCiAgICAgICAgIHdybXNyX3RzY19hdXgoaHZtX21zcl90c2NfYXV4 KHYpKTsKIH0KQEAgLTExNDgsNiArMTE1NSw5IEBAIHN0YXRpYyB2b2lkIG5vcmV0dXJuIHN2bV9k b19yZXN1bWUoc3RydWN0IHZjcHUgKnYpCiAgICAgICAgIHZtY2Jfc2V0X3ZpbnRyKHZtY2IsIGlu dHIpOwogICAgIH0KIAorICAgIGlmICggdi0+ZG9tYWluLT5hcmNoLmh2bV9kb21haW4ucGlfb3Bz LmRvX3Jlc3VtZSApCisgICAgICAgIHYtPmRvbWFpbi0+YXJjaC5odm1fZG9tYWluLnBpX29wcy5k b19yZXN1bWUodik7CisKICAgICBodm1fZG9fcmVzdW1lKHYpOwogCiAgICAgcmVzZXRfc3RhY2tf YW5kX2p1bXAoc3ZtX2FzbV9kb19yZXN1bWUpOwotLSAKMi4xMS4wCgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApY ZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9y Zy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==