From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: [PATCH v2 04/23] acpi/hvmloader: Decide which SSDTs to install in hvmloader Date: Thu, 4 Aug 2016 17:06:32 -0400 Message-ID: <1470344811-14225-5-git-send-email-boris.ostrovsky@oracle.com> References: <1470344811-14225-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: <1470344811-14225-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, julien.grall@arm.com, jbeulich@suse.com, zhaoshenglong@huawei.com, boris.ostrovsky@oracle.com, roger.pau@citrix.com List-Id: xen-devel@lists.xenproject.org V2l0aCB0aGF0LCB4ZW5zdG9yZV9yZWFkKCkgd29uJ3QgbmVlZCB0byBiZSBkb25lIGluIEFDUEkg Y29kZQoKU2lnbmVkLW9mZi1ieTogQm9yaXMgT3N0cm92c2t5IDxib3Jpcy5vc3Ryb3Zza3lAb3Jh Y2xlLmNvbT4KQWNrZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KLS0tCiB0 b29scy9maXJtd2FyZS9odm1sb2FkZXIvYWNwaS9idWlsZC5jICAgfCAxNSArKysrKystLS0tLS0t LS0KIHRvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci9hY3BpL2xpYmFjcGkuaCB8ICA0ICsrKysKIHRv b2xzL2Zpcm13YXJlL2h2bWxvYWRlci91dGlsLmMgICAgICAgICB8IDEyICsrKysrKysrKysrKwog MyBmaWxlcyBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci9hY3BpL2J1aWxkLmMgYi90b29scy9maXJt d2FyZS9odm1sb2FkZXIvYWNwaS9idWlsZC5jCmluZGV4IGRmMTA0YTMuLmE1NzUwZWIgMTAwNjQ0 Ci0tLSBhL3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci9hY3BpL2J1aWxkLmMKKysrIGIvdG9vbHMv ZmlybXdhcmUvaHZtbG9hZGVyL2FjcGkvYnVpbGQuYwpAQCAtNzAsMTEgKzcwLDYgQEAgc3RhdGlj IHZvaWQgc2V0X2NoZWNrc3VtKAogICAgIHBbY2hlY2tzdW1fb2Zmc2V0XSA9IC1zdW07CiB9CiAK LXN0YXRpYyB1aW50OF90IGJhdHRlcnlfcG9ydF9leGlzdHModm9pZCkKLXsKLSAgICByZXR1cm4g KGluYigweDg4KSA9PSAweDFGKTsKLX0KLQogc3RhdGljIHN0cnVjdCBhY3BpXzIwX21hZHQgKmNv bnN0cnVjdF9tYWR0KHN0cnVjdCBhY3BpX2luZm8gKmluZm8pCiB7CiAgICAgc3RydWN0IGFjcGlf MjBfbWFkdCAgICAgICAgICAgKm1hZHQ7CkBAIC0zMzYsNiArMzMxLDcgQEAgc3RhdGljIGludCBj b25zdHJ1Y3RfcGFzc3Rocm91Z2hfdGFibGVzKHVuc2lnbmVkIGxvbmcgKnRhYmxlX3B0cnMsCiB9 CiAKIHN0YXRpYyBpbnQgY29uc3RydWN0X3NlY29uZGFyeV90YWJsZXModW5zaWduZWQgbG9uZyAq dGFibGVfcHRycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0 IGFjcGlfY29uZmlnICpjb25maWcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHN0cnVjdCBhY3BpX2luZm8gKmluZm8pCiB7CiAgICAgaW50IG5yX3RhYmxlcyA9IDA7CkBA IC0zNjksNyArMzY1LDcgQEAgc3RhdGljIGludCBjb25zdHJ1Y3Rfc2Vjb25kYXJ5X3RhYmxlcyh1 bnNpZ25lZCBsb25nICp0YWJsZV9wdHJzLAogICAgIGlmICghd2FldCkgcmV0dXJuIC0xOwogICAg IHRhYmxlX3B0cnNbbnJfdGFibGVzKytdID0gKHVuc2lnbmVkIGxvbmcpd2FldDsKIAotICAgIGlm ICggYmF0dGVyeV9wb3J0X2V4aXN0cygpICkKKyAgICBpZiAoIGNvbmZpZy0+dGFibGVfZmxhZ3Mg JiBBQ1BJX0hBU19TU0RUX1BNICkKICAgICB7CiAgICAgICAgIHNzZHQgPSBtZW1fYWxsb2Moc2l6 ZW9mKHNzZHRfcG0pLCAxNik7CiAgICAgICAgIGlmICghc3NkdCkgcmV0dXJuIC0xOwpAQCAtMzc3 LDcgKzM3Myw3IEBAIHN0YXRpYyBpbnQgY29uc3RydWN0X3NlY29uZGFyeV90YWJsZXModW5zaWdu ZWQgbG9uZyAqdGFibGVfcHRycywKICAgICAgICAgdGFibGVfcHRyc1tucl90YWJsZXMrK10gPSAo dW5zaWduZWQgbG9uZylzc2R0OwogICAgIH0KIAotICAgIGlmICggIXN0cm5jbXAoeGVuc3RvcmVf cmVhZCgicGxhdGZvcm0vYWNwaV9zMyIsICIxIiksICIxIiwgMSkgKQorICAgIGlmICggY29uZmln LT50YWJsZV9mbGFncyAmIEFDUElfSEFTX1NTRFRfUzMgKQogICAgIHsKICAgICAgICAgc3NkdCA9 IG1lbV9hbGxvYyhzaXplb2Yoc3NkdF9zMyksIDE2KTsKICAgICAgICAgaWYgKCFzc2R0KSByZXR1 cm4gLTE7CkBAIC0zODcsNyArMzgzLDcgQEAgc3RhdGljIGludCBjb25zdHJ1Y3Rfc2Vjb25kYXJ5 X3RhYmxlcyh1bnNpZ25lZCBsb25nICp0YWJsZV9wdHJzLAogICAgICAgICBwcmludGYoIlMzIGRp c2FibGVkXG4iKTsKICAgICB9CiAKLSAgICBpZiAoICFzdHJuY21wKHhlbnN0b3JlX3JlYWQoInBs YXRmb3JtL2FjcGlfczQiLCAiMSIpLCAiMSIsIDEpICkKKyAgICBpZiAoIGNvbmZpZy0+dGFibGVf ZmxhZ3MgJiBBQ1BJX0hBU19TU0RUX1M0ICkKICAgICB7CiAgICAgICAgIHNzZHQgPSBtZW1fYWxs b2Moc2l6ZW9mKHNzZHRfczQpLCAxNik7CiAgICAgICAgIGlmICghc3NkdCkgcmV0dXJuIC0xOwpA QCAtNTcyLDcgKzU2OCw4IEBAIHZvaWQgYWNwaV9idWlsZF90YWJsZXMoc3RydWN0IGFjcGlfY29u ZmlnICpjb25maWcpCiAgICAgICAgICAgICAgICAgIG9mZnNldG9mKHN0cnVjdCBhY3BpX2hlYWRl ciwgY2hlY2tzdW0pLAogICAgICAgICAgICAgICAgICBzaXplb2Yoc3RydWN0IGFjcGlfMjBfZmFk dCkpOwogCi0gICAgbnJfc2Vjb25kYXJpZXMgPSBjb25zdHJ1Y3Rfc2Vjb25kYXJ5X3RhYmxlcyhz ZWNvbmRhcnlfdGFibGVzLCBhY3BpX2luZm8pOworICAgIG5yX3NlY29uZGFyaWVzID0gY29uc3Ry dWN0X3NlY29uZGFyeV90YWJsZXMoc2Vjb25kYXJ5X3RhYmxlcywKKyAgICAgICAgICAgICAgICAg Y29uZmlnLCBhY3BpX2luZm8pOwogICAgIGlmICggbnJfc2Vjb25kYXJpZXMgPCAwICkKICAgICAg ICAgZ290byBvb207CiAKZGlmZiAtLWdpdCBhL3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci9hY3Bp L2xpYmFjcGkuaCBiL3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci9hY3BpL2xpYmFjcGkuaAppbmRl eCA0Y2JkNDFlLi5mMzk3YTkzIDEwMDY0NAotLS0gYS90b29scy9maXJtd2FyZS9odm1sb2FkZXIv YWNwaS9saWJhY3BpLmgKKysrIGIvdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL2FjcGkvbGliYWNw aS5oCkBAIC0yNCw2ICsyNCwxMCBAQAogI2RlZmluZSBBQ1BJX0hBU19DT00yICAgICAgICAoMTw8 MSkKICNkZWZpbmUgQUNQSV9IQVNfTFBUMSAgICAgICAgKDE8PDIpCiAjZGVmaW5lIEFDUElfSEFT X0hQRVQgICAgICAgICgxPDwzKQorI2RlZmluZSBBQ1BJX0hBU19TU0RUX1BNICAgICAoMTw8NCkK KyNkZWZpbmUgQUNQSV9IQVNfU1NEVF9TMyAgICAgKDE8PDUpCisjZGVmaW5lIEFDUElfSEFTX1NT RFRfUzQgICAgICgxPDw2KQorCiAKIHN0cnVjdCBhY3BpX2NvbmZpZyB7CiAgICAgY29uc3QgdW5z aWduZWQgY2hhciAqZHNkdF9hbnljcHU7CmRpZmYgLS1naXQgYS90b29scy9maXJtd2FyZS9odm1s b2FkZXIvdXRpbC5jIGIvdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL3V0aWwuYwppbmRleCBlOGNl MTJiLi42MWZjMjExIDEwMDY0NAotLS0gYS90b29scy9maXJtd2FyZS9odm1sb2FkZXIvdXRpbC5j CisrKyBiL3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci91dGlsLmMKQEAgLTg1OSw2ICs4NTksMTEg QEAgaW50IGhwZXRfZXhpc3RzKHVuc2lnbmVkIGxvbmcgaHBldF9iYXNlKQogICAgIHJldHVybiAo KGhwZXRfaWQgPj4gMTYpID09IDB4ODA4Nik7CiB9CiAKK3N0YXRpYyB1aW50OF90IGJhdHRlcnlf cG9ydF9leGlzdHModm9pZCkKK3sKKyAgICByZXR1cm4gKGluYigweDg4KSA9PSAweDFGKTsKK30K Kwogdm9pZCBodm1sb2FkZXJfYWNwaV9idWlsZF90YWJsZXMoc3RydWN0IGFjcGlfY29uZmlnICpj b25maWcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgcGh5 c2ljYWwpCiB7CkBAIC04OTUsNiArOTAwLDEzIEBAIHZvaWQgaHZtbG9hZGVyX2FjcGlfYnVpbGRf dGFibGVzKHN0cnVjdCBhY3BpX2NvbmZpZyAqY29uZmlnLAogICAgICAgICAgICAgY29uZmlnLT52 bV9naWRbMV0gPSBzdHJ0b2xsKGVuZCsxLCBOVUxMLCAwKTsKICAgICB9CiAKKyAgICBpZiAoIGJh dHRlcnlfcG9ydF9leGlzdHMoKSApCisgICAgICAgIGNvbmZpZy0+dGFibGVfZmxhZ3MgfD0gQUNQ SV9IQVNfU1NEVF9QTTsKKyAgICBpZiAoICFzdHJuY21wKHhlbnN0b3JlX3JlYWQoInBsYXRmb3Jt L2FjcGlfczMiLCAiMSIpLCAiMSIsIDEpICApCisgICAgICAgIGNvbmZpZy0+dGFibGVfZmxhZ3Mg fD0gQUNQSV9IQVNfU1NEVF9TMzsKKyAgICBpZiAoICFzdHJuY21wKHhlbnN0b3JlX3JlYWQoInBs YXRmb3JtL2FjcGlfczQiLCAiMSIpLCAiMSIsIDEpICApCisgICAgICAgIGNvbmZpZy0+dGFibGVf ZmxhZ3MgfD0gQUNQSV9IQVNfU1NEVF9TNDsKKwogICAgIGNvbmZpZy0+cnNkcCA9IHBoeXNpY2Fs OwogICAgIGNvbmZpZy0+aW5mb3AgPSBBQ1BJX0lORk9fUEhZU0lDQUxfQUREUkVTUzsKIAotLSAK MS44LjMuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Clhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9s aXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=