From mboxrd@z Thu Jan 1 00:00:00 1970 From: Suravee Suthikulpanit Subject: [PATCH v2 07/10] x86/SVM: Add vcpu scheduling support for AVIC Date: Fri, 30 Dec 2016 23:45:58 -0600 Message-ID: <1483163161-2402-8-git-send-email-suravee.suthikulpanit@amd.com> References: <1483163161-2402-1-git-send-email-suravee.suthikulpanit@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1483163161-2402-1-git-send-email-suravee.suthikulpanit@amd.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Jan Beulich , andrew.cooper3@citrix.com, Suravee Suthikulpanit , sherry.hurwitz@amd.com, boris.ostrovsky@oracle.com List-Id: xen-devel@lists.xenproject.org QWRkIGhvb2tzIHRvIG1hbmFnZSBBVklDIGRhdGEgc3RydWN0dXJlIGR1cmluZyB2Y3B1IHNjaGVk dWxpbmcuCgpTaWduZWQtb2ZmLWJ5OiBTdXJhdmVlIFN1dGhpa3VscGFuaXQgPHN1cmF2ZWUuc3V0 aGlrdWxwYW5pdEBhbWQuY29tPgpDYzogS29ucmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2ls a0BvcmFjbGUuY29tPgpDYzogSmFuIEJldWxpY2ggPEpCZXVsaWNoQHN1c2UuY29tPgpDYzogQm9y aXMgT3N0cm92c2t5IDxib3Jpcy5vc3Ryb3Zza3lAb3JhY2xlLmNvbT4KLS0tCiB4ZW4vYXJjaC94 ODYvaHZtL3N2bS9hdmljLmMgfCA3OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKIHhlbi9hcmNoL3g4Ni9odm0vc3ZtL3N2bS5jICB8IDEwICsrKysrKwogMiBm aWxlcyBjaGFuZ2VkLCA4OCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2 L2h2bS9zdm0vYXZpYy5jIGIveGVuL2FyY2gveDg2L2h2bS9zdm0vYXZpYy5jCmluZGV4IGMwYjcx NTEuLjYzNTFjOGUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vc3ZtL2F2aWMuYworKysg Yi94ZW4vYXJjaC94ODYvaHZtL3N2bS9hdmljLmMKQEAgLTczLDYgKzczLDc5IEBAIGF2aWNfZ2V0 X3BoeV9hcGljX2lkX2VudChjb25zdCBzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgaW50IGluZGV4 KQogICAgIHJldHVybiAmYXZpY19waHlfYXBpY19pZF90YWJsZVtpbmRleF07CiB9CiAKK3N0YXRp YyB2b2lkIGF2aWNfdmNwdV9sb2FkKHN0cnVjdCB2Y3B1ICp2KQoreworICAgIHN0cnVjdCBhcmNo X3N2bV9zdHJ1Y3QgKnMgPSAmdi0+YXJjaC5odm1fc3ZtOworICAgIGludCBoX3BoeV9hcGljX2lk OworICAgIHN0cnVjdCBhdmljX3BoeV9hcGljX2lkX2VudCBlbnRyeTsKKworICAgIGlmICggIXMt PmF2aWNfbGFzdF9waHlfaWQgKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIHRlc3RfYml0 KF9WUEZfYmxvY2tlZCwgJnYtPnBhdXNlX2ZsYWdzKSApCisgICAgICAgIHJldHVybjsKKworICAg IC8qCisgICAgICogTm90ZTogQVBJQyBJRCA9IDB4ZmYgaXMgdXNlZCBmb3IgYnJvYWRjYXN0Lgor ICAgICAqICAgICAgIEFQSUMgSUQgPiAweGZmIGlzIHJlc2VydmVkLgorICAgICAqLworICAgIGhf cGh5X2FwaWNfaWQgPSBjcHVfZGF0YVt2LT5wcm9jZXNzb3JdLmFwaWNpZDsKKyAgICBBU1NFUlQo aF9waHlfYXBpY19pZCA8IEFWSUNfUEhZX0FQSUNfSURfTUFYKTsKKworICAgIGVudHJ5ID0gKihz LT5hdmljX2xhc3RfcGh5X2lkKTsKKyAgICBzbXBfcm1iKCk7CisgICAgZW50cnkuaG9zdF9waHlf YXBpY19pZCA9IGhfcGh5X2FwaWNfaWQ7CisgICAgZW50cnkuaXNfcnVubmluZyA9IDE7CisgICAg KihzLT5hdmljX2xhc3RfcGh5X2lkKSA9IGVudHJ5OworICAgIHNtcF93bWIoKTsKK30KKworc3Rh dGljIHZvaWQgYXZpY192Y3B1X3VubG9hZChzdHJ1Y3QgdmNwdSAqdikKK3sKKyAgICBzdHJ1Y3Qg YXJjaF9zdm1fc3RydWN0ICpzID0gJnYtPmFyY2guaHZtX3N2bTsKKyAgICBzdHJ1Y3QgYXZpY19w aHlfYXBpY19pZF9lbnQgZW50cnk7CisKKyAgICBpZiAoICFzdm1fYXZpYyB8fCAhcy0+YXZpY19s YXN0X3BoeV9pZCApCisgICAgICAgIHJldHVybjsKKworICAgIGVudHJ5ID0gKihzLT5hdmljX2xh c3RfcGh5X2lkKTsKKyAgICBzbXBfcm1iKCk7CisgICAgZW50cnkuaXNfcnVubmluZyA9IDA7Cisg ICAgKihzLT5hdmljX2xhc3RfcGh5X2lkKSA9IGVudHJ5OworICAgIHNtcF93bWIoKTsKK30KKwor c3RhdGljIHZvaWQgYXZpY192Y3B1X3Jlc3VtZShzdHJ1Y3QgdmNwdSAqdikKK3sKKyAgICBzdHJ1 Y3QgYXZpY19waHlfYXBpY19pZF9lbnQgZW50cnk7CisgICAgc3RydWN0IGFyY2hfc3ZtX3N0cnVj dCAqcyA9ICZ2LT5hcmNoLmh2bV9zdm07CisKKyAgICBBU1NFUlQoc3ZtX2F2aWNfdmNwdV9lbmFi bGVkKHYpKTsKKyAgICBBU1NFUlQocy0+YXZpY19sYXN0X3BoeV9pZCk7CisgICAgQVNTRVJUKCF0 ZXN0X2JpdChfVlBGX2Jsb2NrZWQsICZ2LT5wYXVzZV9mbGFncykpOworCisgICAgZW50cnkgPSAq KHMtPmF2aWNfbGFzdF9waHlfaWQpOworICAgIHNtcF9ybWIoKTsKKyAgICBlbnRyeS5pc19ydW5u aW5nID0gMTsKKyAgICAqKHMtPmF2aWNfbGFzdF9waHlfaWQpID0gZW50cnk7CisgICAgc21wX3dt YigpOworfQorCitzdGF0aWMgdm9pZCBhdmljX3ZjcHVfYmxvY2soc3RydWN0IHZjcHUgKnYpCit7 CisgICAgc3RydWN0IGF2aWNfcGh5X2FwaWNfaWRfZW50IGVudHJ5OworICAgIHN0cnVjdCBhcmNo X3N2bV9zdHJ1Y3QgKnMgPSAmdi0+YXJjaC5odm1fc3ZtOworCisgICAgQVNTRVJUKHN2bV9hdmlj X3ZjcHVfZW5hYmxlZCh2KSk7CisgICAgQVNTRVJUKHMtPmF2aWNfbGFzdF9waHlfaWQpOworCisg ICAgZW50cnkgPSAqKHMtPmF2aWNfbGFzdF9waHlfaWQpOworICAgIHNtcF9ybWIoKTsKKyAgICBl bnRyeS5pc19ydW5uaW5nID0gMDsKKyAgICAqKHMtPmF2aWNfbGFzdF9waHlfaWQpID0gZW50cnk7 CisgICAgc21wX3dtYigpOworfQorCiBpbnQgc3ZtX2F2aWNfZG9tX2luaXQoc3RydWN0IGRvbWFp biAqZCkKIHsKICAgICBpbnQgcmV0ID0gMDsKQEAgLTEyNyw2ICsyMDAsMTEgQEAgaW50IHN2bV9h dmljX2RvbV9pbml0KHN0cnVjdCBkb21haW4gKmQpCiAKICAgICBzcGluX2xvY2tfaW5pdCgmZC0+ YXJjaC5odm1fZG9tYWluLnN2bS5hdmljX2xkcl9tb2RlX2xvY2spOwogCisgICAgZC0+YXJjaC5o dm1fZG9tYWluLnBpX29wcy5waV9zd2l0Y2hfdG8gPSBhdmljX3ZjcHVfdW5sb2FkOworICAgIGQt PmFyY2guaHZtX2RvbWFpbi5waV9vcHMucGlfc3dpdGNoX2Zyb20gPSBhdmljX3ZjcHVfbG9hZDsK KyAgICBkLT5hcmNoLmh2bV9kb21haW4ucGlfb3BzLnZjcHVfYmxvY2sgPSBhdmljX3ZjcHVfYmxv Y2s7CisgICAgZC0+YXJjaC5odm1fZG9tYWluLnBpX29wcy5waV9kb19yZXN1bWUgPSBhdmljX3Zj cHVfcmVzdW1lOworCiAgICAgcmV0dXJuIHJldDsKICBlcnJfb3V0OgogICAgIHN2bV9hdmljX2Rv bV9kZXN0cm95KGQpOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9zdm0vc3ZtLmMgYi94 ZW4vYXJjaC94ODYvaHZtL3N2bS9zdm0uYwppbmRleCBjYjUyODFjLi5kZjU5YjhkIDEwMDY0NAot LS0gYS94ZW4vYXJjaC94ODYvaHZtL3N2bS9zdm0uYworKysgYi94ZW4vYXJjaC94ODYvaHZtL3N2 bS9zdm0uYwpAQCAtMTAxMiw2ICsxMDEyLDEwIEBAIHN0YXRpYyB2b2lkIHN2bV9jdHh0X3N3aXRj aF9mcm9tKHN0cnVjdCB2Y3B1ICp2KQogICAgIHN2bV90c2NfcmF0aW9fc2F2ZSh2KTsKIAogICAg IHN2bV9zeW5jX3ZtY2Iodik7CisKKyAgICBpZiAoIHYtPmRvbWFpbi0+YXJjaC5odm1fZG9tYWlu LnBpX29wcy5waV9zd2l0Y2hfZnJvbSApCisgICAgICAgIHYtPmRvbWFpbi0+YXJjaC5odm1fZG9t YWluLnBpX29wcy5waV9zd2l0Y2hfZnJvbSh2KTsKKwogICAgIHN2bV92bWxvYWQocGVyX2NwdShy b290X3ZtY2IsIGNwdSkpOwogCiAgICAgLyogUmVzdW1lIHVzZSBvZiBJU1RzIG5vdyB0aGF0IHRo ZSBob3N0IFRSIGlzIHJlaW5zdGF0ZWQuICovCkBAIC0xMDQ4LDYgKzEwNTIsOSBAQCBzdGF0aWMg dm9pZCBzdm1fY3R4dF9zd2l0Y2hfdG8oc3RydWN0IHZjcHUgKnYpCiAgICAgc3ZtX2x3cF9sb2Fk KHYpOwogICAgIHN2bV90c2NfcmF0aW9fbG9hZCh2KTsKIAorICAgIGlmICggdi0+ZG9tYWluLT5h cmNoLmh2bV9kb21haW4ucGlfb3BzLnBpX3N3aXRjaF90byApCisgICAgICAgIHYtPmRvbWFpbi0+ YXJjaC5odm1fZG9tYWluLnBpX29wcy5waV9zd2l0Y2hfdG8odik7CisKICAgICBpZiAoIGNwdV9o YXNfcmR0c2NwICkKICAgICAgICAgd3Jtc3JsKE1TUl9UU0NfQVVYLCBodm1fbXNyX3RzY19hdXgo dikpOwogfQpAQCAtMTA5Myw2ICsxMTAwLDkgQEAgc3RhdGljIHZvaWQgbm9yZXR1cm4gc3ZtX2Rv X3Jlc3VtZShzdHJ1Y3QgdmNwdSAqdikKICAgICAgICAgdm1jYl9zZXRfdmludHIodm1jYiwgaW50 cik7CiAgICAgfQogCisgICAgaWYgKCB2LT5kb21haW4tPmFyY2guaHZtX2RvbWFpbi5waV9vcHMu cGlfZG9fcmVzdW1lICkKKyAgICAgICAgdi0+ZG9tYWluLT5hcmNoLmh2bV9kb21haW4ucGlfb3Bz LnBpX2RvX3Jlc3VtZSh2KTsKKwogICAgIGh2bV9kb19yZXN1bWUodik7CiAKICAgICByZXNldF9z dGFja19hbmRfanVtcChzdm1fYXNtX2RvX3Jlc3VtZSk7Ci0tIAoxLjkuMQoKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxp c3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZl bAo=