From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v2 10/13] libx86: introduce a helper to deserialise msr_policy objects Date: Fri, 13 Jul 2018 21:03:11 +0100 Message-ID: <1531512194-6865-11-git-send-email-andrew.cooper3@citrix.com> References: <1531512194-6865-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1531512194-6865-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: Sergey Dyasli , Wei Liu , Andrew Cooper , Jan Beulich , Ian Jackson , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org RnJvbTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CgpTaWduZWQtb2Zm LWJ5OiBTZXJnZXkgRHlhc2xpIDxzZXJnZXkuZHlhc2xpQGNpdHJpeC5jb20+ClNpZ25lZC1vZmYt Ynk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpTaWduZWQtb2ZmLWJ5 OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0KQ0M6IEphbiBC ZXVsaWNoIDxKQmV1bGljaEBzdXNlLmNvbT4KQ0M6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5j b20+CkNDOiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KQ0M6IFNlcmdl eSBEeWFzbGkgPHNlcmdleS5keWFzbGlAY2l0cml4LmNvbT4KQ0M6IElhbiBKYWNrc29uIDxJYW4u SmFja3NvbkBjaXRyaXguY29tPgoKdjI6CiAqIFJlYmFzZSBvdmVyIHRoZSBtc3Jfe2RvbWFpbix2 Y3B1fV9wb2xpY3kgcmVuYW1lCiAqIE9ubHkgZGVzZXJpYWxzZSBtc3JfcG9saWN5CiAqIEV4cGFu ZCBib3VuZGFyeSBqdXN0aWZpY2F0aW9ucwotLS0KIHhlbi9jb21tb24vbGlieDg2L21zci5jICAg ICAgfCA1MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVu L2luY2x1ZGUveGVuL2xpYng4Ni9tc3IuaCB8IDEwICsrKysrKysrKwogMiBmaWxlcyBjaGFuZ2Vk LCA2MSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9saWJ4ODYvbXNyLmMg Yi94ZW4vY29tbW9uL2xpYng4Ni9tc3IuYwppbmRleCA3MWM4ZTlhLi4wOTEyYWNlIDEwMDY0NAot LS0gYS94ZW4vY29tbW9uL2xpYng4Ni9tc3IuYworKysgYi94ZW4vY29tbW9uL2xpYng4Ni9tc3Iu YwpAQCAtNDUsNiArNDUsNTcgQEAgaW50IHg4Nl9tc3JfY29weV90b19idWZmZXIoY29uc3Qgc3Ry dWN0IG1zcl9wb2xpY3kgKnAsCiAgICAgcmV0dXJuIDA7CiB9CiAKK2ludCB4ODZfbXNyX2NvcHlf ZnJvbV9idWZmZXIoc3RydWN0IG1zcl9wb2xpY3kgKnAsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnN0IG1zcl9lbnRyeV9idWZmZXJfdCBtc3JzLCB1aW50MzJfdCBucl9tc3JzLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqZXJyX21zcikKK3sKKyAgICB1 bnNpZ25lZCBpbnQgaTsKKyAgICB4ZW5fbXNyX2VudHJ5X3QgZGF0YTsKKworICAgIC8qCisgICAg ICogQSB3ZWxsIGZvcm1lZCBjYWxsZXIgaXMgZXhwZWN0ZWQgcGFzcyBhbiBhcnJheSB3aXRoIGVu dHJpZXMgaW4gb3JkZXIsCisgICAgICogYW5kIHdpdGhvdXQgYW55IHJlcGV0aXRpb25zLiAgSG93 ZXZlciwgZHVlIHRvIHBlci12ZW5kb3IgZGlmZmVyZW5jZXMsCisgICAgICogYW5kIGluIHRoZSBj YXNlIG9mIHVwZ3JhZGUgb3IgbGV2ZWxsZWQgc2NlbmFyaW9zLCB3ZSB0eXBpY2FsbHkgZXhwZWN0 CisgICAgICogZmV3ZXIgdGhhbiBNQVggZW50cmllcyB0byBiZSBwYXNzZWQuCisgICAgICoKKyAg ICAgKiBEZXRlY3RpbmcgcmVwZWF0ZWQgZW50cmllcyBpcyBwcm9oaWJpdGl2ZWx5IGNvbXBsaWNh dGVkLCBzbyB3ZSBkb24ndAorICAgICAqIGJvdGhlci4gIFRoYXQgc2FpZCwgb25lIHdheSBvciBh bm90aGVyIGlmIG1vcmUgdGhhbiBNQVggZW50cmllcyBhcmUKKyAgICAgKiBwYXNzZWQsIHNvbWV0 aGluZyBpcyB3cm9uZy4KKyAgICAgKi8KKyAgICBpZiAoIG5yX21zcnMgPiBNU1JfTUFYX1NFUklB TElTRURfRU5UUklFUyApCisgICAgICAgIHJldHVybiAtRTJCSUc7CisKKyAgICBmb3IgKCBpID0g MDsgaSA8IG5yX21zcnM7IGkrKyApCisgICAgeworICAgICAgICBpZiAoIGNvcHlfZnJvbV9idWZm ZXJfb2Zmc2V0KCZkYXRhLCBtc3JzLCBpLCAxKSApCisgICAgICAgICAgICByZXR1cm4gLUVGQVVM VDsKKworICAgICAgICBpZiAoIGRhdGEuZmxhZ3MgKSAvKiAuZmxhZ3MgTUJaICovCisgICAgICAg ICAgICBnb3RvIGVycjsKKworICAgICAgICBzd2l0Y2ggKCBkYXRhLmlkeCApCisgICAgICAgIHsK KyAgICAgICAgY2FzZSBNU1JfSU5URUxfUExBVEZPUk1fSU5GTzoKKyAgICAgICAgICAgIGlmICgg ZGF0YS52YWwgPiB+MHUgKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyOworCisgICAgICAgICAg ICBwLT5wbGFmb3JtX2luZm8ucmF3ID0gZGF0YS52YWw7CisgICAgICAgICAgICBicmVhazsKKwor ICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgZ290byBlcnI7CisgICAgICAgIH0KKyAgICB9 CisKKyAgICByZXR1cm4gMDsKKworIGVycjoKKyAgICBpZiAoIGVycl9tc3IgKQorICAgICAgICAq ZXJyX21zciA9IGRhdGEuaWR4OworCisgICAgcmV0dXJuIC1FSU5WQUw7Cit9CisKIC8qCiAgKiBM b2NhbCB2YXJpYWJsZXM6CiAgKiBtb2RlOiBDCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4v bGlieDg2L21zci5oIGIveGVuL2luY2x1ZGUveGVuL2xpYng4Ni9tc3IuaAppbmRleCAyZTRhY2Q0 Li5kNzFhZDc4IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vbGlieDg2L21zci5oCisrKyBi L3hlbi9pbmNsdWRlL3hlbi9saWJ4ODYvbXNyLmgKQEAgLTQyLDYgKzQyLDE2IEBAIHR5cGVkZWYg eGVuX21zcl9lbnRyeV90IG1zcl9lbnRyeV9idWZmZXJfdFtdOwogaW50IHg4Nl9tc3JfY29weV90 b19idWZmZXIoY29uc3Qgc3RydWN0IG1zcl9wb2xpY3kgKnAsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBtc3JfZW50cnlfYnVmZmVyX3QgbXNycywgdWludDMyX3QgKm5yX2VudHJpZXNfcCk7 CiAKKy8qCisgKiBDb3B5IE1TUiBkYXRhIGZyb20gYSBidWZmZXIsIGZpbGxpbmcgYW4gbXNyX3Bv bGljeSBvYmplY3QuICBNU1IgaW5kaWNpZXMKKyAqIGFyZSBjaGVja2VkIGZvciBiZWluZyBpbiBy YW5nZSwgYnV0IG5vIGNvbnRlbnQgdmFsaWRhdGlvbiBpcyBwZXJmb3JtZWQgZm9yCisgKiBpbi1y YW5nZSBNU1JzLiAgT24gYW4gZXJyb3IsIHRoZSBvcHRpb25hbCBlcnJfKiBwb2ludGVyIG1heSBo ZWxwIGlkZW50aWZ5CisgKiB3aGVyZSB0aGUgaXNzdWUgbGllcy4KKyAqLworaW50IHg4Nl9tc3Jf Y29weV9mcm9tX2J1ZmZlcihzdHJ1Y3QgbXNyX3BvbGljeSAqZHAsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IG1zcl9lbnRyeV9idWZmZXJfdCBtc3JzLCB1aW50MzJfdCBucl9t c3JzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqZXJyX21zcik7CisK ICNlbmRpZiAvKiAhWEVOX0xJQlg4Nl9NU1JfSCAqLwogCiAvKgotLSAKMi4xLjQKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGlu ZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnBy b2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs