From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: [PATCH v6 05/12] x86/domctl: Handle ACPI access from domctl Date: Tue, 3 Jan 2017 09:04:09 -0500 Message-ID: <1483452256-2879-6-git-send-email-boris.ostrovsky@oracle.com> References: <1483452256-2879-1-git-send-email-boris.ostrovsky@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1483452256-2879-1-git-send-email-boris.ostrovsky@oracle.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: wei.liu2@citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, jbeulich@suse.com, Boris Ostrovsky , roger.pau@citrix.com List-Id: xen-devel@lists.xenproject.org U2lnbmVkLW9mZi1ieTogQm9yaXMgT3N0cm92c2t5IDxib3Jpcy5vc3Ryb3Zza3lAb3JhY2xlLmNv bT4KLS0tCkNoYW5nZXMgaW4gdjY6CiogQWRqdXN0bWVudHMgdG8gdG8gcGF0Y2ggNCBjaGFuZ2Vz LgoqIEFkZGVkIGEgc3BpbmxvY2sgZm9yIFZDUFUgbWFwIGFjY2VzcwoqIFJldHVybiBhbiBlcnJv ciBvbiBndWVzdCB0cnlpbmcgdG8gd3JpdGUgVkNQVSBtYXAKCiB4ZW4vYXJjaC94ODYvaHZtL2Fj cGkuYyAgICAgICAgICB8IDU3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0t LS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2RvbWFpbi5oIHwgIDEgKwogMiBmaWxlcyBjaGFu Z2VkLCA1MiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9h cmNoL3g4Ni9odm0vYWNwaS5jIGIveGVuL2FyY2gveDg2L2h2bS9hY3BpLmMKaW5kZXggZjBhODRm OS4uOWYwNTc4ZSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9hY3BpLmMKKysrIGIveGVu L2FyY2gveDg2L2h2bS9hY3BpLmMKQEAgLTcsMTcgKzcsMjIgQEAKICNpbmNsdWRlIDx4ZW4vbGli Lmg+CiAjaW5jbHVkZSA8eGVuL3NjaGVkLmg+CiAKKyNpbmNsdWRlIDxhc20vZ3Vlc3RfYWNjZXNz Lmg+CisKICNpbmNsdWRlIDxwdWJsaWMvYXJjaC14ODYveGVuLmg+CiAKLXN0YXRpYyBpbnQgYWNw aV9jcHVtYXBfYWNjZXNzX2NvbW1vbihzdHJ1Y3QgZG9tYWluICpkLCBib29sIGlzX3dyaXRlLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBwb3J0LAor c3RhdGljIGludCBhY3BpX2NwdW1hcF9hY2Nlc3NfY29tbW9uKHN0cnVjdCBkb21haW4gKmQsIGJv b2wgaXNfZ3Vlc3RfYWNjZXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGJvb2wgaXNfd3JpdGUsIHVuc2lnbmVkIGludCBwb3J0LAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBieXRlcywgdWludDMyX3QgKnZhbCkKIHsKICAg ICB1bnNpZ25lZCBpbnQgZmlyc3RfYnl0ZSA9IHBvcnQgLSBYRU5fQUNQSV9DUFVfTUFQOworICAg IGludCByYyA9IFg4NkVNVUxfT0tBWTsKIAogICAgIEJVSUxEX0JVR19PTihYRU5fQUNQSV9DUFVf TUFQICsgWEVOX0FDUElfQ1BVX01BUF9MRU4KICAgICAgICAgICAgICAgICAgPiBBQ1BJX0dQRTBf QkxLX0FERFJFU1NfVjEpOwogCisgICAgc3Bpbl9sb2NrKCZkLT5hcmNoLmh2bV9kb21haW4uYWNw aV9sb2NrKTsKKwogICAgIGlmICggIWlzX3dyaXRlICkKICAgICB7CiAgICAgICAgIHVpbnQzMl90 IG1hc2sgPSAoYnl0ZXMgPCA0KSA/IH4wVSA8PCAoYnl0ZXMgKiA4KSA6IDA7CkBAIC0zMiwyMyAr MzcsNjEgQEAgc3RhdGljIGludCBhY3BpX2NwdW1hcF9hY2Nlc3NfY29tbW9uKHN0cnVjdCBkb21h aW4gKmQsIGJvb2wgaXNfd3JpdGUsCiAgICAgICAgICAgICBtZW1jcHkodmFsLCAodWludDhfdCAq KWQtPmF2YWlsX3ZjcHVzICsgZmlyc3RfYnl0ZSwKICAgICAgICAgICAgICAgICAgICBtaW4oYnl0 ZXMsICgoZC0+bWF4X3ZjcHVzICsgNykgLyA4KSAtIGZpcnN0X2J5dGUpKTsKICAgICB9CisgICAg ZWxzZSBpZiAoICFpc19ndWVzdF9hY2Nlc3MgKQorICAgICAgICBtZW1jcHkoKHVpbnQ4X3QgKilk LT5hdmFpbF92Y3B1cyArIGZpcnN0X2J5dGUsIHZhbCwKKyAgICAgICAgICAgICAgIG1pbihieXRl cywgKChkLT5tYXhfdmNwdXMgKyA3KSAvIDgpIC0gZmlyc3RfYnl0ZSkpOwogICAgIGVsc2UKICAg ICAgICAgLyogR3Vlc3RzIGRvIG5vdCB3cml0ZSBDUFUgbWFwICovCi0gICAgICAgIHJldHVybiBY ODZFTVVMX1VOSEFORExFQUJMRTsKKyAgICAgICAgcmMgPSBYODZFTVVMX1VOSEFORExFQUJMRTsK IAotICAgIHJldHVybiBYODZFTVVMX09LQVk7CisgICAgc3Bpbl91bmxvY2soJmQtPmFyY2guaHZt X2RvbWFpbi5hY3BpX2xvY2spOworCisgICAgcmV0dXJuIHJjOwogfQogCiBpbnQgaHZtX2FjcGlf ZG9tY3RsX2FjY2VzcyhzdHJ1Y3QgZG9tYWluICpkLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29uc3Qgc3RydWN0IHhlbl9kb21jdGxfYWNwaV9hY2Nlc3MgKmFjY2VzcykKIHsKLSAgICBy ZXR1cm4gLUVOT1NZUzsKKyAgICB1bnNpZ25lZCBpbnQgYnl0ZXMsIGk7CisgICAgdWludDMyX3Qg dmFsID0gMDsKKyAgICB1aW50OF90ICpwdHIgPSAodWludDhfdCAqKSZ2YWw7CisgICAgaW50IHJj OworICAgIGJvb2wgaXNfd3JpdGUgPSAoYWNjZXNzLT5ydyA9PSBYRU5fRE9NQ1RMX0FDUElfV1JJ VEUpID8gdHJ1ZSA6IGZhbHNlOworCisgICAgaWYgKCBoYXNfYWNwaV9kbV9mZihkKSApCisgICAg ICAgIHJldHVybiAtRU9QTk9UU1VQUDsKKworICAgIGlmICggYWNjZXNzLT5zcGFjZV9pZCAhPSBY RU5fQUNQSV9TWVNURU1fSU8gKQorICAgICAgICByZXR1cm4gLUVJTlZBTDsKKworICAgIGlmICgg ISgoYWNjZXNzLT5hZGRyZXNzID49IFhFTl9BQ1BJX0NQVV9NQVApICYmCisgICAgICAgICAgIChh Y2Nlc3MtPmFkZHJlc3MgPCBYRU5fQUNQSV9DUFVfTUFQICsgWEVOX0FDUElfQ1BVX01BUF9MRU4p KSApCisgICAgICAgIHJldHVybiAtRU5PREVWOworCisgICAgZm9yICggaSA9IDA7IGkgPCBhY2Nl c3MtPndpZHRoOyBpICs9IHNpemVvZih2YWwpICkKKyAgICB7CisgICAgICAgIGJ5dGVzID0gKGFj Y2Vzcy0+d2lkdGggLSBpID4gc2l6ZW9mKHZhbCkpID8KKyAgICAgICAgICAgIHNpemVvZih2YWwp IDogYWNjZXNzLT53aWR0aCAtIGk7CisKKyAgICAgICAgaWYgKCBpc193cml0ZSAmJiBjb3B5X2Zy b21fZ3Vlc3Rfb2Zmc2V0KHB0ciwgYWNjZXNzLT52YWwsIGksIGJ5dGVzKSApCisgICAgICAgICAg ICByZXR1cm4gLUVGQVVMVDsKKworICAgICAgICByYyA9IGFjcGlfY3B1bWFwX2FjY2Vzc19jb21t b24oZCwgZmFsc2UsIGlzX3dyaXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYWNjZXNzLT5hZGRyZXNzLCBieXRlcywgJnZhbCk7CisgICAgICAgIGlmICggcmMgKQor ICAgICAgICAgICAgcmV0dXJuIHJjOworCisgICAgICAgIGlmICggIWlzX3dyaXRlICYmIGNvcHlf dG9fZ3Vlc3Rfb2Zmc2V0KGFjY2Vzcy0+dmFsLCBpLCBwdHIsIGJ5dGVzKSApCisgICAgICAgICAg ICByZXR1cm4gLUVGQVVMVDsKKyAgICB9CisKKyAgICByZXR1cm4gMDsKIH0KIAogc3RhdGljIGlu dCBhY3BpX2NwdW1hcF9ndWVzdF9hY2Nlc3MoaW50IGRpciwgdW5zaWduZWQgaW50IHBvcnQsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgYnl0ZXMsIHVp bnQzMl90ICp2YWwpCiB7Ci0gICAgcmV0dXJuICBhY3BpX2NwdW1hcF9hY2Nlc3NfY29tbW9uKGN1 cnJlbnQtPmRvbWFpbiwKKyAgICByZXR1cm4gIGFjcGlfY3B1bWFwX2FjY2Vzc19jb21tb24oY3Vy cmVudC0+ZG9tYWluLCB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoZGlyID09IElPUkVRX1dSSVRFKSA/IHRydWUgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgcG9ydCwgYnl0ZXMsIHZhbCk7CiB9CkBAIC0xNDgsNiArMTkx LDggQEAgdm9pZCBodm1fYWNwaV9pbml0KHN0cnVjdCBkb21haW4gKmQpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc2l6ZW9mKGQtPmFyY2guaHZtX2RvbWFpbi5hY3BpLnBtMWFfc3RzKSAr CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKGQtPmFyY2guaHZtX2RvbWFpbi5h Y3BpLnBtMWFfZW4pLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjcGlfZ3Vlc3RfYWNj ZXNzKTsKKworICAgIHNwaW5fbG9ja19pbml0KCZkLT5hcmNoLmh2bV9kb21haW4uYWNwaV9sb2Nr KTsKIH0KIAogLyoKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2RvbWFpbi5o IGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vZG9tYWluLmgKaW5kZXggMDc4MTViNi4uNDM4ZWEx MiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vZG9tYWluLmgKKysrIGIveGVu L2luY2x1ZGUvYXNtLXg4Ni9odm0vZG9tYWluLmgKQEAgLTExMSw2ICsxMTEsNyBAQCBzdHJ1Y3Qg aHZtX2RvbWFpbiB7CiAgICAgICovCiAjZGVmaW5lIGh2bV9od19hY3BpIGh2bV9od19wbXRpbWVy CiAgICAgc3RydWN0IGh2bV9od19hY3BpICAgICBhY3BpOworICAgIHNwaW5sb2NrX3QgICAgICAg ICAgICAgYWNwaV9sb2NrOwogCiAgICAgLyogVkNQVSB3aGljaCBpcyBjdXJyZW50IHRhcmdldCBm b3IgODI1OSBpbnRlcnJ1cHRzLiAqLwogICAgIHN0cnVjdCB2Y3B1ICAgICAgICAgICAqaTgyNTlf dGFyZ2V0OwotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3Jn Cmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK