From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: [PATCH v3 08/11] pvh/acpi: Handle ACPI accesses for PVH guests Date: Mon, 21 Nov 2016 16:00:44 -0500 Message-ID: <1479762047-29431-9-git-send-email-boris.ostrovsky@oracle.com> References: <1479762047-29431-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: <1479762047-29431-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, Paul Durrant , jbeulich@suse.com, Boris Ostrovsky , roger.pau@citrix.com List-Id: xen-devel@lists.xenproject.org U2lnbmVkLW9mZi1ieTogQm9yaXMgT3N0cm92c2t5IDxib3Jpcy5vc3Ryb3Zza3lAb3JhY2xlLmNv bT4KLS0tCkNDOiBQYXVsIER1cnJhbnQgPHBhdWwuZHVycmFudEBjaXRyaXguY29tPgotLS0KQ2hh bmdlcyBpbiB2MzoKKiBJbnRyb2R1Y2UgYSBtYXNrIGZvciBwbTFhIGFuZCBncGUwIHRoYXQgbGlz dHMgYml0cyB0aGF0IGEKICBndWVzdCBjYW4gb3BlcmF0ZSBvbi4KKiBMb3RzIG9mIHNtYWxsIGNo YW5nZXMuCgogeGVuL2FyY2gveDg2L2h2bS9pb3JlcS5jICAgICAgICAgfCA4NyArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiB4ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9k b21haW4uaCB8ICA2ICsrKwogMiBmaWxlcyBjaGFuZ2VkLCA5MiBpbnNlcnRpb25zKCspLCAxIGRl bGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9pb3JlcS5jIGIveGVuL2Fy Y2gveDg2L2h2bS9pb3JlcS5jCmluZGV4IDUxYmIzOTkuLjRhYjBkMGEgMTAwNjQ0Ci0tLSBhL3hl bi9hcmNoL3g4Ni9odm0vaW9yZXEuYworKysgYi94ZW4vYXJjaC94ODYvaHZtL2lvcmVxLmMKQEAg LTE2LDYgKzE2LDcgQEAKICAqIHRoaXMgcHJvZ3JhbTsgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cu Z251Lm9yZy9saWNlbnNlcy8+LgogICovCiAKKyNpbmNsdWRlIDx4ZW4vYWNwaS5oPgogI2luY2x1 ZGUgPHhlbi9jb25maWcuaD4KICNpbmNsdWRlIDx4ZW4vY3R5cGUuaD4KICNpbmNsdWRlIDx4ZW4v aW5pdC5oPgpAQCAtMTM4Myw3ICsxMzg0LDkxIEBAIHN0YXRpYyBpbnQgaHZtX2FjY2Vzc19jZjgo CiBzdGF0aWMgaW50IGFjcGlfaW9hY2Nlc3MoCiAgICAgaW50IGRpciwgdW5zaWduZWQgaW50IHBv cnQsIHVuc2lnbmVkIGludCBieXRlcywgdWludDMyX3QgKnZhbCkKIHsKLSAgICByZXR1cm4gWDg2 RU1VTF9VTkhBTkRMRUFCTEU7CisgICAgdWludDhfdCAqcmVnID0gTlVMTDsKKyAgICBjb25zdCB1 aW50OF90ICptYXNrID0gTlVMTDsKKyAgICBib29sIGlzX2NwdV9tYXAgPSBmYWxzZTsKKyAgICBz dHJ1Y3QgZG9tYWluICpjdXJyZCA9IGN1cnJlbnQtPmRvbWFpbjsKKyAgICBjb25zdCBzdGF0aWMg dWludDhfdCBwbTFhX21hc2tbNF0gPSB7QUNQSV9CSVRNQVNLX0dMT0JBTF9MT0NLX1NUQVRVUywg MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQUNQSV9CSVRNQVNL X0dMT0JBTF9MT0NLX0VOQUJMRSwgMH07CisgICAgY29uc3Qgc3RhdGljIHVpbnQ4X3QgZ3BlMF9t YXNrWzRdID0gezFVIDw8IFhFTl9HUEUwX0NQVUhQX0JJVCwgMCwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgMVUgPDwgWEVOX0dQRTBfQ1BVSFBfQklULCAwfTsKKwor ICAgIEJVSUxEX0JVR19PTigoQUNQSV9QTTFBX0VWVF9CTEtfTEVOICE9IDQpIHx8CisgICAgICAg ICAgICAgICAgIChBQ1BJX0dQRTBfQkxLX0xFTl9WMSAhPSA0KSk7CisKKyAgICBBU1NFUlQoIWhh c19hY3BpX2ZmKGN1cnJkKSk7CisKKyAgICBzd2l0Y2ggKCBwb3J0ICkKKyAgICB7CisgICAgY2Fz ZSBBQ1BJX1BNMUFfRVZUX0JMS19BRERSRVNTX1YxIC4uLgorICAgICAgICAgQUNQSV9QTTFBX0VW VF9CTEtfQUREUkVTU19WMSArIEFDUElfUE0xQV9FVlRfQkxLX0xFTiAtIDE6CisgICAgICAgIHJl ZyA9IGN1cnJkLT5hcmNoLmh2bV9kb21haW4uYWNwaV9pby5wbTFhOworICAgICAgICBtYXNrID0g cG0xYV9tYXNrOworICAgICAgICBicmVhazsKKworICAgIGNhc2UgQUNQSV9HUEUwX0JMS19BRERS RVNTX1YxIC4uLgorICAgICAgICAgQUNQSV9HUEUwX0JMS19BRERSRVNTX1YxICsgQUNQSV9HUEUw X0JMS19MRU5fVjEgLSAxOgorICAgICAgICByZWcgPSBjdXJyZC0+YXJjaC5odm1fZG9tYWluLmFj cGlfaW8uZ3BlOworICAgICAgICBtYXNrID0gZ3BlMF9tYXNrOworICAgICAgICBicmVhazsKKwor ICAgIGNhc2UgWEVOX0FDUElfQ1BVX01BUCAuLi4KKyAgICAgICAgIFhFTl9BQ1BJX0NQVV9NQVAg KyBYRU5fQUNQSV9DUFVfTUFQX0xFTiAtIDE6CisgICAgICAgIGlzX2NwdV9tYXAgPSB0cnVlOwor ICAgICAgICBicmVhazsKKworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBYODZFTVVMX1VO SEFORExFQUJMRTsKKyAgICB9CisKKyAgICBpZiAoIGJ5dGVzID09IDAgKQorICAgICAgICByZXR1 cm4gWDg2RU1VTF9PS0FZOworCisgICAgaWYgKCBkaXIgPT0gSU9SRVFfUkVBRCApCisgICAgewor ICAgICAgICBpZiAoIGlzX2NwdV9tYXAgKQorICAgICAgICB7CisgICAgICAgICAgICB1bnNpZ25l ZCBpbnQgZmlyc3RfYnl0ZSA9IHBvcnQgLSBYRU5fQUNQSV9DUFVfTUFQOworCisgICAgICAgICAg ICAvKgorICAgICAgICAgICAgICogQ2xlYXIgYml0cyB0aGF0IHdlIGFyZSBhYm91dCB0byByZWFk IHRvIGluIGNhc2Ugd2UKKyAgICAgICAgICAgICAqIGNvcHkgZmV3ZXIgdGhhbiBAYnl0ZXMuCisg ICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICp2YWwgJj0gKH4oKDFVTEwgPDwgKGJ5dGVzICog OCkpIC0gMSkpICYgMHhmZmZmZmZmZjsKKworICAgICAgICAgICAgaWYgKCAoKGN1cnJkLT5tYXhf dmNwdXMgKyA3KSAvIDgpID4gZmlyc3RfYnl0ZSApCisgICAgICAgICAgICB7CisgICAgICAgICAg ICAgICAgbWVtY3B5KHZhbCwgKHVpbnQ4X3QgKiljdXJyZC0+YXZhaWxfdmNwdXMgKyBmaXJzdF9i eXRlLAorICAgICAgICAgICAgICAgICAgICAgICBtaW4oYnl0ZXMsICgoY3VycmQtPm1heF92Y3B1 cyArIDcpIC8gOCkgLSBmaXJzdF9ieXRlKSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAg ICAgICAgZWxzZQorICAgICAgICAgICAgbWVtY3B5KHZhbCwgJnJlZ1twb3J0ICYgM10sIGJ5dGVz KTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgdW5zaWduZWQgaW50IGlkeCA9IHBv cnQgJiAzOworICAgICAgICB1bnNpZ25lZCBpbnQgaTsKKyAgICAgICAgdWludDhfdCAqcHRyOwor CisgICAgICAgIGlmICggaXNfY3B1X21hcCApCisgICAgICAgICAgICAvKgorICAgICAgICAgICAg ICogQ1BVIG1hcCBpcyBvbmx5IHJlYWQgYnkgRFNEVCdzIFBSU0MgbWV0aG9kIGFuZCBzaG91bGQg bmV2ZXIKKyAgICAgICAgICAgICAqIGJlIHdyaXR0ZW4gYnkgYSBndWVzdC4KKyAgICAgICAgICAg ICAqLworICAgICAgICAgICAgcmV0dXJuIFg4NkVNVUxfVU5IQU5ETEVBQkxFOworCisgICAgICAg IHB0ciA9ICh1aW50OF90ICopdmFsOworICAgICAgICBmb3IgKCBpID0gMDsgaSA8IGJ5dGVzOyBp KyssIGlkeCsrICkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCBpZHggPCAyICkgLyogc3Rh dHVzLCB3cml0ZSAxIHRvIGNsZWFyLiAqLworICAgICAgICAgICAgICAgIHJlZ1tpZHhdICY9IH4o bWFza1tpXSAmIHB0cltpXSk7CisgICAgICAgICAgICBlbHNlICAgICAgICAgICAvKiBlbmFibGUg Ki8KKyAgICAgICAgICAgICAgICByZWdbaWR4XSB8PSAobWFza1tpXSAmIHB0cltpXSk7CisgICAg ICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gWDg2RU1VTF9PS0FZOwogfQogCiB2b2lkIGh2bV9p b3JlcV9pbml0KHN0cnVjdCBkb21haW4gKmQpCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20t eDg2L2h2bS9kb21haW4uaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2RvbWFpbi5oCmluZGV4 IGYzNGQ3ODQuLmY0OTJhMmIgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2Rv bWFpbi5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2RvbWFpbi5oCkBAIC04Nyw2ICs4 NywxMiBAQCBzdHJ1Y3QgaHZtX2RvbWFpbiB7CiAgICAgfSBpb3JlcV9zZXJ2ZXI7CiAgICAgc3Ry dWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKmRlZmF1bHRfaW9yZXFfc2VydmVyOwogCisgICAgLyogUFZI IGd1ZXN0cyAqLworICAgIHN0cnVjdCB7CisgICAgICAgIHVpbnQ4X3QgcG0xYVtBQ1BJX1BNMUFf RVZUX0JMS19MRU5dOworICAgICAgICB1aW50OF90IGdwZVtBQ1BJX0dQRTBfQkxLX0xFTl9WMV07 CisgICAgfSBhY3BpX2lvOworCiAgICAgLyogQ2FjaGVkIENGOCBmb3IgZ3Vlc3QgUENJIGNvbmZp ZyBjeWNsZXMgKi8KICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICBwY2lfY2Y4OwogCi0tIAoy LjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhl bi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0 cy54ZW4ub3JnL3hlbi1kZXZlbAo=