From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: [PATCH v4 09/15] x86/domctl: Handle ACPI access from domctl Date: Tue, 29 Nov 2016 10:33:16 -0500 Message-ID: <1480433602-13290-10-git-send-email-boris.ostrovsky@oracle.com> References: <1480433602-13290-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: <1480433602-13290-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 bT4KLS0tCkNoYW5nZXMgaW4gdjQ6CiogTmV3IHBhdGNoCgogeGVuL2FyY2gveDg2L2h2bS9hY3Bp LmMgfCA2MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0t CiAxIGZpbGUgY2hhbmdlZCwgNTQgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2FjcGkuYyBiL3hlbi9hcmNoL3g4Ni9odm0vYWNwaS5j CmluZGV4IGM4MGM0NjQuLjFjMjA1ZWIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vYWNw aS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vYWNwaS5jCkBAIC03LDkgKzcsMTEgQEAKICNpbmNs dWRlIDx4ZW4vbGliLmg+CiAjaW5jbHVkZSA8eGVuL3NjaGVkLmg+CiAKKyNpbmNsdWRlIDxhc20v Z3Vlc3RfYWNjZXNzLmg+CisKICNpbmNsdWRlIDxwdWJsaWMvYXJjaC14ODYveGVuLmg+CiAKLXN0 YXRpYyBpbnQgYWNwaV9hY2Nlc3NfY29tbW9uKHN0cnVjdCBkb21haW4gKmQsCitzdGF0aWMgaW50 IGFjcGlfYWNjZXNzX2NvbW1vbihzdHJ1Y3QgZG9tYWluICpkLCBib29sIGlzX2d1ZXN0X2FjY2Vz cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkaXIsIHVuc2lnbmVkIGludCBw b3J0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGJ5dGVzLCB1 aW50MzJfdCAqdmFsKQogewpAQCAtODcsOCArODksMTMgQEAgc3RhdGljIGludCBhY3BpX2FjY2Vz c19jb21tb24oc3RydWN0IGRvbWFpbiAqZCwKICAgICBlbHNlCiAgICAgewogICAgICAgICAvKiBH dWVzdHMgZG8gbm90IHdyaXRlIENQVSBtYXAgKi8KLSAgICAgICAgaWYgKCAhbWFza19zdHMgKQot ICAgICAgICAgICAgcmV0dXJuIFg4NkVNVUxfVU5IQU5ETEVBQkxFOworICAgICAgICBpZiAoICFp c19ndWVzdF9hY2Nlc3MgJiYgIW1hc2tfc3RzICkKKyAgICAgICAgeworICAgICAgICAgICAgdW5z aWduZWQgaW50IGZpcnN0X2J5dGUgPSBwb3J0IC0gWEVOX0FDUElfQ1BVX01BUDsKKworICAgICAg ICAgICAgbWVtY3B5KCh1aW50OF90ICopZC0+YXZhaWxfdmNwdXMgKyBmaXJzdF9ieXRlLCB2YWws CisgICAgICAgICAgICAgICAgICAgbWluKGJ5dGVzLCAoKGQtPm1heF92Y3B1cyArIDcpIC8gOCkg LSBmaXJzdF9ieXRlKSk7CisgICAgICAgIH0KICAgICAgICAgZWxzZSBpZiAoIG1hc2tfc3RzICkK ICAgICAgICAgewogICAgICAgICAgICAgdWludDMyX3QgdiA9ICp2YWw7CkBAIC05NywxNCArMTA0 LDIwIEBAIHN0YXRpYyBpbnQgYWNwaV9hY2Nlc3NfY29tbW9uKHN0cnVjdCBkb21haW4gKmQsCiAg ICAgICAgICAgICBzd2l0Y2ggKCBwb3J0ICYgMyApCiAgICAgICAgICAgICB7CiAgICAgICAgICAg ICBjYXNlIDA6Ci0gICAgICAgICAgICAgICAgKnN0cyAmPSB+KHYgJiAweGZmKTsKKyAgICAgICAg ICAgICAgICBpZiAoIGlzX2d1ZXN0X2FjY2VzcyApCisgICAgICAgICAgICAgICAgICAgICpzdHMg Jj0gfih2ICYgMHhmZik7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAg ICAqc3RzID0gKCpzdHMgJiAweGZmMDApIHwgKHYgJiAweGZmKTsKICAgICAgICAgICAgICAgICAq c3RzICY9ICptYXNrX3N0czsKICAgICAgICAgICAgICAgICBpZiAoICEtLWJ5dGVzICkKICAgICAg ICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgdiA+Pj0gODsKIAogICAgICAg ICAgICAgY2FzZSAxOgotICAgICAgICAgICAgICAgICpzdHMgJj0gfigodiAmIDB4ZmYpIDw8IDgp OworICAgICAgICAgICAgICAgIGlmICggaXNfZ3Vlc3RfYWNjZXNzICkKKyAgICAgICAgICAgICAg ICAgICAgKnN0cyAmPSB+KCh2ICYgMHhmZikgPDwgOCk7CisgICAgICAgICAgICAgICAgZWxzZQor ICAgICAgICAgICAgICAgICAgICAqc3RzID0gKCh2ICYgMHhmZikgPDwgOCkgfCAoKnN0cyAmIDB4 ZmYpOwogICAgICAgICAgICAgICAgICpzdHMgJj0gKm1hc2tfc3RzOwogICAgICAgICAgICAgICAg IGlmICggIS0tYnl0ZXMgKQogICAgICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTEyOCwxMyAr MTQxLDQ3IEBAIHN0YXRpYyBpbnQgYWNwaV9hY2Nlc3NfY29tbW9uKHN0cnVjdCBkb21haW4gKmQs CiBpbnQgaHZtX2FjcGlfZG9tY3RsX2FjY2VzcyhzdHJ1Y3QgZG9tYWluICpkLCB1aW50OF90IHJ3 LCBnYXNfdCAqZ2FzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWEVOX0dVRVNUX0hBTkRM RV9QQVJBTSh1aW50OCkgYXJnKQogewotICAgIHJldHVybiAtRU5PU1lTOworICAgIHVuc2lnbmVk IGludCBwb3J0LCB0b3RfYnl0ZXMsIGJ5dGVzOworICAgIHVuc2lnbmVkIGludCBpOworICAgIHVp bnQzMl90IHZhbDsKKyAgICB1aW50OF90ICpwdHIgPSAodWludDhfdCAqKSZ2YWw7CisgICAgaW50 IHJjOworCisgICAgLyoKKyAgICAgKiBPbmx5IGFsbG93IGFjY2Vzc2VzIHRvIElPIHNwYWNlLiBB Y2Nlc3NlcyBzaG91bGQgYmUgYnl0ZS1hbGlnbmVkCisgICAgICogYW5kIGludGVncmFsIG51bWJl ciBvZiBieXRlcy4KKyAgICAgKi8KKyAgICBpZiAoIGdhcy0+c3BhY2VfaWQgIT0gWEVOX0FDUElf U1lTVEVNX0lPIHx8CisgICAgICAgICBnYXMtPmJpdF93aWR0aCAmIDcgfHwgZ2FzLT5iaXRfb2Zm c2V0ICYgNyApCisgICAgICAgIHJldHVybiAtRUlOVkFMOworCisgICAgcG9ydCA9IGdhcy0+YWRk cmVzcyArIChnYXMtPmJpdF9vZmZzZXQgPj4gMyk7CisgICAgdG90X2J5dGVzID0gZ2FzLT5iaXRf d2lkdGggPj4gMzsKKworICAgIGZvciAoIGkgPSAwOyBpIDwgdG90X2J5dGVzOyBpICs9IHNpemVv Zih2YWwpICkKKyAgICB7CisgICAgICAgIGJ5dGVzID0gKHRvdF9ieXRlcyAtIGkgPiBzaXplb2Yo dmFsKSkgPyBzaXplb2YodmFsKSA6IHRvdF9ieXRlcyAtIGk7CisKKyAgICAgICAgaWYgKChydyA9 PSBYRU5fRE9NQ1RMX0FDUElfV1JJVEUpICYmCisgICAgICAgICAgICBjb3B5X2Zyb21fZ3Vlc3Rf b2Zmc2V0KHB0ciwgYXJnLCBpLCBieXRlcykpCisgICAgICAgICAgICByZXR1cm4gLUVGQVVMVDsK KworICAgICAgICByYyA9IGFjcGlfYWNjZXNzX2NvbW1vbihkLCBmYWxzZSwgcncsIHBvcnQgKyBp LCBieXRlcywgJnZhbCk7CisgICAgICAgIGlmICggcmMgKQorICAgICAgICAgICAgcmV0dXJuIHJj OworCisgICAgICAgIGlmICgocncgPT0gWEVOX0RPTUNUTF9BQ1BJX1JFQUQpICYmCisgICAgICAg ICAgICBjb3B5X3RvX2d1ZXN0X29mZnNldChhcmcsIGksIHB0ciwgYnl0ZXMpKQorICAgICAgICAg ICAgcmV0dXJuIC1FRkFVTFQ7CisgICAgfQorCisgICAgcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBp bnQgYWNwaV9ndWVzdF9hY2Nlc3MoaW50IGRpciwgdW5zaWduZWQgaW50IHBvcnQsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBieXRlcywgdWludDMyX3QgKnZhbCkK IHsKLSAgICByZXR1cm4gIGFjcGlfYWNjZXNzX2NvbW1vbihjdXJyZW50LT5kb21haW4sCisgICAg cmV0dXJuICBhY3BpX2FjY2Vzc19jb21tb24oY3VycmVudC0+ZG9tYWluLCB0cnVlLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChkaXIgPT0gSU9SRVFfUkVBRCkgPwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFhFTl9ET01DVExfQUNQSV9SRUFEOiBYRU5fRE9NQ1RMX0FD UElfV1JJVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9ydCwgYnl0ZXMsIHZh bCk7Ci0tIAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0 cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=