From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [RFC XEN PATCH v4 37/41] tools/libacpi: load QEMU ACPI Date: Thu, 7 Dec 2017 18:10:26 +0800 Message-ID: <20171207101030.22364-38-haozhong.zhang@intel.com> References: <20171207101030.22364-1-haozhong.zhang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20171207101030.22364-1-haozhong.zhang@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Haozhong Zhang , Wei Liu , Ian Jackson , Jan Beulich , Chao Peng , Dan Williams List-Id: xen-devel@lists.xenproject.org SWYgbGliYWNwaSBkZXRlY3RzIFFFTVUgZndfY2ZnIGludGVyZmFjZSwgaXQgd2lsbCB0cnkgdG8g ZGV0ZWN0IGFuZApleGVjdXRlIFFFTVUgQklPU0xpbmtlckxvYWRlciBST00gdG8gbG9hZCBRRU1V LWJ1aWx0IEFDUEkuIElmIGFueSBRRU1VCkFDUEkgdGFibGUgaXMgY29uZmxpY3Qgd2l0aCBYZW4t YnVpbHQgQUNQSSB0YWJsZXMsIGxpYmFjcGkgd2lsbCByZWZ1c2UKdG8gbG9hZCBhbGwgUUVNVSBB Q1BJIHRhYmxlcy4KClNpZ25lZC1vZmYtYnk6IEhhb3pob25nIFpoYW5nIDxoYW96aG9uZy56aGFu Z0BpbnRlbC5jb20+Ci0tLQpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpDYzog SWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+CkNjOiBXZWkgTGl1IDx3ZWku bGl1MkBjaXRyaXguY29tPgotLS0KIHRvb2xzL2xpYmFjcGkvYWNwaTJfMC5oIHwgICAxICsKIHRv b2xzL2xpYmFjcGkvYnVpbGQuYyAgIHwgMTA1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAxMDYgaW5zZXJ0aW9ucygrKQoK ZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYmFjcGkvYWNwaTJfMC5oIGIvdG9vbHMvbGliYWNwaS9hY3Bp Ml8wLmgKaW5kZXggMjYxOWJhMzJkYi4uNzMzYmVkNjg0ZSAxMDA2NDQKLS0tIGEvdG9vbHMvbGli YWNwaS9hY3BpMl8wLmgKKysrIGIvdG9vbHMvbGliYWNwaS9hY3BpMl8wLmgKQEAgLTQzNSw2ICs0 MzUsNyBAQCBzdHJ1Y3QgYWNwaV8yMF9zbGl0IHsKICNkZWZpbmUgQUNQSV8yXzBfV0FFVF9TSUdO QVRVUkUgQVNDSUkzMignVycsJ0EnLCdFJywnVCcpCiAjZGVmaW5lIEFDUElfMl8wX1NSQVRfU0lH TkFUVVJFIEFTQ0lJMzIoJ1MnLCdSJywnQScsJ1QnKQogI2RlZmluZSBBQ1BJXzJfMF9TTElUX1NJ R05BVFVSRSBBU0NJSTMyKCdTJywnTCcsJ0knLCdUJykKKyNkZWZpbmUgQUNQSV8yXzBfU1NEVF9T SUdOQVRVUkUgQVNDSUkzMignUycsJ1MnLCdEJywnVCcpCiAKIC8qCiAgKiBUYWJsZSByZXZpc2lv biBudW1iZXJzLgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGliYWNwaS9idWlsZC5jIGIvdG9vbHMvbGli YWNwaS9idWlsZC5jCmluZGV4IGYyZDY1NTc0ZmYuLjMyNDA1YTRjNzcgMTAwNjQ0Ci0tLSBhL3Rv b2xzL2xpYmFjcGkvYnVpbGQuYworKysgYi90b29scy9saWJhY3BpL2J1aWxkLmMKQEAgLTE2LDYg KzE2LDcgQEAKICNpbmNsdWRlIExJQkFDUElfU1REVVRJTFMKICNpbmNsdWRlICJhY3BpMl8wLmgi CiAjaW5jbHVkZSAibGliYWNwaS5oIgorI2luY2x1ZGUgInFlbXUuaCIKICNpbmNsdWRlICJzc2R0 X3MzLmgiCiAjaW5jbHVkZSAic3NkdF9zNC5oIgogI2luY2x1ZGUgInNzZHRfdHBtLmgiCkBAIC0x MDUsNiArMTA2LDE4IEBAIHN0YXRpYyBpbnQgZG1fYWNwaV9ibGFja2xpc3Rfc2lnbmF0dXJlKHN0 cnVjdCBhY3BpX2NvbmZpZyAqY29uZmlnLCB1aW50NjRfdCBzaWcpCiAgICAgcmV0dXJuIDA7CiB9 CiAKKy8qIFJldHVybiB0cnVlIGlmIG5vIGNvbGxpc2lvbiBpcyBmb3VuZC4gKi8KK3N0YXRpYyBi b29sIGRtX2FjcGlfY2hlY2tfc2lnbmF0dXJlX2NvbGxpc2lvbih1aW50NjRfdCBzaWcpCit7Cisg ICAgdW5zaWduZWQgaW50IGk7CisKKyAgICBmb3IgKCBpID0gMDsgaSA8IE5SX1NJR05BVFVSRV9C TEFDS0xJU1RfRU5UUzsgaSsrICkKKyAgICAgICAgaWYgKCBzaWcgPT0gZG1fYWNwaV9zaWduYXR1 cmVfYmxhY2tsaXN0W2ldICkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVy biB0cnVlOworfQorCiB2b2lkIHNldF9jaGVja3N1bSh2b2lkICp0YWJsZSwgdWludDMyX3QgY2hl Y2tzdW1fb2Zmc2V0LCB1aW50MzJfdCBsZW5ndGgpCiB7CiAgICAgdWludDhfdCAqcCwgc3VtID0g MDsKQEAgLTM4OCw2ICs0MDEsOTQgQEAgc3RhdGljIGludCBjb25zdHJ1Y3RfcGFzc3Rocm91Z2hf dGFibGVzKHN0cnVjdCBhY3BpX2N0eHQgKmN0eHQsCiAgICAgcmV0dXJuIG5yX2FkZGVkOwogfQog CitzdGF0aWMgaW50IGxvYWRfcWVtdV94ZW5fdGFibGVzKHN0cnVjdCBhY3BpX2N0eHQgKmN0eHQs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgKnRhYmxlX3B0 cnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBucl90YWJsZXMsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBhY3BpX2NvbmZpZyAqY29uZmlnKQor eworICAgIHN0cnVjdCBhY3BpX2hlYWRlciAqaGVhZGVyOworICAgIHN0cnVjdCBhY3BpXzIwX3Jz ZHAgKnJzZHA7CisgICAgc3RydWN0IGFjcGlfMjBfcnNkdCAqcnNkdDsKKyAgICB1aW50MzJfdCB0 YWJsZV9wYWRkciwgc2lnOworICAgIHVuc2lnbmVkIGludCBucl9hZGRlZCA9IDAsIG5yX3JzZHRf ZW50czsKKworICAgIHByaW50ZigiTG9hZGluZyBRRU1VIEFDUEkgdGFibGVzIC4uLlxuIik7CisK KyAgICBpZiAoIGZ3X2NmZ19wcm9iZV9yb21zKGN0eHQpICkKKyAgICAgICAgcmV0dXJuIDA7CisK KyAgICBpZiAoIGxvYWRlcl9leGVjKGN0eHQpICkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBy c2RwID0gbG9hZGVyX2dldF9yc2RwKCk7CisgICAgaWYgKCAhcnNkcCApCisgICAgeworICAgICAg ICBwcmludGYoIkNhbm5vdCBmaW5kIFFFTVUgUlNEUFxuIik7CisgICAgICAgIHJldHVybiAwOwor ICAgIH0KKworICAgIHJzZHQgPSAoc3RydWN0IGFjcGlfMjBfcnNkdCAqKWN0eHQtPm1lbV9vcHMu cDJ2KGN0eHQsIHJzZHAtPnJzZHRfYWRkcmVzcyk7CisKKyAgICBucl9yc2R0X2VudHMgPQorICAg ICAgICAocnNkdC0+aGVhZGVyLmxlbmd0aCAtIHNpemVvZihzdHJ1Y3QgYWNwaV9oZWFkZXIpKSAv IHNpemVvZih1aW50MzJfdCk7CisgICAgaWYgKCBucl9yc2R0X2VudHMgPiBBQ1BJX01BWF9TRUNP TkRBUllfVEFCTEVTIC0gbnJfdGFibGVzICkKKyAgICB7CisgICAgICAgIHByaW50ZigiVG9vIG1h bnkgdGFibGVzIGluIFFFTVUgQUNQSSB0YWJsZXNcbiIpOworICAgICAgICBnb3RvIGV4aXQ7Cisg ICAgfQorCisgICAgZm9yICggbnJfYWRkZWQgPSAwOyBucl9hZGRlZCA8IG5yX3JzZHRfZW50czsg bnJfYWRkZWQrKyApCisgICAgeworICAgICAgICB0YWJsZV9wYWRkciA9IHJzZHQtPmVudHJ5W25y X2FkZGVkXTsKKyAgICAgICAgaGVhZGVyID0gY3R4dC0+bWVtX29wcy5wMnYoY3R4dCwgdGFibGVf cGFkZHIpOworICAgICAgICBzaWcgPSBoZWFkZXItPnNpZ25hdHVyZTsKKworICAgICAgICBpZiAo ICFkbV9hY3BpX2NoZWNrX3NpZ25hdHVyZV9jb2xsaXNpb24oc2lnKSApCisgICAgICAgIHsKKyAg ICAgICAgICAgIHByaW50ZigiUUVNVSBBQ1BJIHRhYmxlIGNvbmZsaWN0IHdpdGggWGVuIEFDUEkg dGFibGUgJyVjJWMlYyVjJ1xuIiwKKyAgICAgICAgICAgICAgICAgICAoY2hhcikoc2lnICYgMHhm ZiksCisgICAgICAgICAgICAgICAgICAgKGNoYXIpKChzaWcgPj4gOCkgJiAweGZmKSwKKyAgICAg ICAgICAgICAgICAgICAoY2hhcikoKHNpZyA+PiAxNikgJiAweGZmKSwKKyAgICAgICAgICAgICAg ICAgICAoY2hhcikoKHNpZyA+PiAyNCkgJiAweGZmKSk7CisgICAgICAgICAgICBicmVhazsKKyAg ICAgICAgfQorCisgICAgICAgIGlmICggc2lnICE9IEFDUElfMl8wX1NTRFRfU0lHTkFUVVJFICkK KyAgICAgICAgICAgIGRtX2FjcGlfYmxhY2tsaXN0X3NpZ25hdHVyZShjb25maWcsIHNpZyk7CisK KyAgICAgICAgdGFibGVfcHRyc1tucl90YWJsZXMrK10gPSB0YWJsZV9wYWRkcjsKKyAgICB9CisK KyAgICBpZiAoIG5yX2FkZGVkIDwgbnJfcnNkdF9lbnRzICkKKyAgICAgICAgd2hpbGUgKCBucl9h ZGRlZCApCisgICAgICAgIHsKKyAgICAgICAgICAgIHRhYmxlX3B0cnNbLS1ucl90YWJsZXNdID0g MDsKKyAgICAgICAgICAgIG5yX2FkZGVkLS07CisgICAgICAgIH0KKworZXhpdDoKKyAgICAvKiBD bGVhbnVwIHVudXNlZCBRRU1VIFJTRFAgJiBSU0RULiAqLworICAgIG1lbXNldChyc2RwLCAwLAor ICAgICAgICAgICByc2RwLT5yZXZpc2lvbiA9PSBBQ1BJXzJfMF9SU0RQX1JFVklTSU9OID8KKyAg ICAgICAgICAgcnNkcC0+bGVuZ3RoIDogc2l6ZW9mKHN0cnVjdCBhY3BpXzEwX3JzZHApKTsKKyAg ICBtZW1zZXQocnNkdCwgMCwgcnNkdC0+aGVhZGVyLmxlbmd0aCk7CisKKyAgICByZXR1cm4gbnJf YWRkZWQ7Cit9CisKK3N0YXRpYyBpbnQgY29uc3RydWN0X2RtX2FjcGlfdGFibGVzKHN0cnVjdCBh Y3BpX2N0eHQgKmN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp Z25lZCBsb25nICp0YWJsZV9wdHJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaW50IG5yX3RhYmxlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCBhY3BpX2NvbmZpZyAqY29uZmlnKQoreworICAgIGludCBucl9hZGRlZCA9IDA7CisKKyAg ICBpZiAoIGNvbmZpZy0+dGFibGVfZmxhZ3MgJiBBQ1BJX0hBU19RRU1VX1hFTiApCisgICAgICAg IG5yX2FkZGVkICs9IGxvYWRfcWVtdV94ZW5fdGFibGVzKGN0eHQsIHRhYmxlX3B0cnMsIG5yX3Rh YmxlcywgY29uZmlnKTsKKworICAgIHJldHVybiBucl9hZGRlZDsKK30KKwogc3RhdGljIGludCBj b25zdHJ1Y3Rfc2Vjb25kYXJ5X3RhYmxlcyhzdHJ1Y3QgYWNwaV9jdHh0ICpjdHh0LAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nICp0YWJsZV9wdHJz LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYWNwaV9jb25m aWcgKmNvbmZpZywKQEAgLTUzMCw2ICs2MzEsMTAgQEAgc3RhdGljIGludCBjb25zdHJ1Y3Rfc2Vj b25kYXJ5X3RhYmxlcyhzdHJ1Y3QgYWNwaV9jdHh0ICpjdHh0LAogICAgIG5yX3RhYmxlcyArPSBj b25zdHJ1Y3RfcGFzc3Rocm91Z2hfdGFibGVzKGN0eHQsIHRhYmxlX3B0cnMsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnJfdGFibGVzLCBjb25maWcpOwog CisgICAgLyogTG9hZCBBQ1BJIGJ1aWx0IGJ5IGRldmljZSBtb2RlbCAqLworICAgIGlmICggY29u ZmlnLT50YWJsZV9mbGFncyAmIEFDUElfSEFTX0RNICkKKyAgICAgICAgbnJfdGFibGVzICs9IGNv bnN0cnVjdF9kbV9hY3BpX3RhYmxlcyhjdHh0LCB0YWJsZV9wdHJzLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5yX3RhYmxlcywgY29uZmlnKTsKIAogICAg IHRhYmxlX3B0cnNbbnJfdGFibGVzXSA9IDA7CiAgICAgcmV0dXJuIG5yX3RhYmxlczsKLS0gCjIu MTUuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhl bi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBz Oi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=