From mboxrd@z Thu Jan 1 00:00:00 1970 From: Samuel Ortiz Subject: [PATCH v5 21/24] hw: i386: Implement the ACPI builder interface for PC Date: Mon, 5 Nov 2018 02:40:44 +0100 Message-ID: <20181105014047.26447-22-sameo@linux.intel.com> References: <20181105014047.26447-1-sameo@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gJTvQ-0004dU-HZ for xen-devel@lists.xenproject.org; Mon, 05 Nov 2018 01:43:32 +0000 In-Reply-To: <20181105014047.26447-1-sameo@linux.intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: qemu-devel@nongnu.org Cc: Peter Maydell , Stefano Stabellini , Eduardo Habkost , "Michael S. Tsirkin" , Shannon Zhao , Igor Mammedov , qemu-arm@nongnu.org, Marcel Apfelbaum , Paolo Bonzini , Anthony Perard , xen-devel@lists.xenproject.org, Richard Henderson List-Id: xen-devel@lists.xenproject.org QWxsIFBDIG1hY2hpbmUgdHlwZSBkZXJpdmF0aXZlcyB3aWxsIHVzZSB0aGUgc2FtZSBBQ1BJIHRh YmxlIGJ1aWxkCm1ldGhvZHMuIEJ1dCB3aXRoIHRoYXQgY2hhbmdlIGluIHBsYWNlLCBhbnkgbmV3 IHg4NiBtYWNoaW5lIHR5cGUgd2lsbCBiZQphYmxlIHRvIHJlLXVzZSB0aGUgYWNwaS1idWlsZCBB UEkgYW5kIGN1c3RvbWl6ZSBwYXJ0IG9mIGl0IGJ5IGRlZmluaW5nCml0cyBvd24gQUNQSSB0YWJs ZSBidWlsZCBtZXRob2RzLgoKUmV2aWV3ZWQtYnk6IFBoaWxpcHBlIE1hdGhpZXUtRGF1ZMOpIDxw aGlsbWRAcmVkaGF0LmNvbT4KVGVzdGVkLWJ5OiBQaGlsaXBwZSBNYXRoaWV1LURhdWTDqSA8cGhp bG1kQHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IFNhbXVlbCBPcnRpeiA8c2FtZW9AbGludXgu aW50ZWwuY29tPgotLS0KIGh3L2kzODYvYWNwaS1idWlsZC5jIHwgMTQgKysrKysrKysrLS0tLS0K IGh3L2kzODYvcGMuYyAgICAgICAgIHwgMTkgKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBj aGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2h3 L2kzODYvYWNwaS1idWlsZC5jIGIvaHcvaTM4Ni9hY3BpLWJ1aWxkLmMKaW5kZXggNGIxZDhmYmUz Zi4uOTNkODliOTZmMSAxMDA2NDQKLS0tIGEvaHcvaTM4Ni9hY3BpLWJ1aWxkLmMKKysrIGIvaHcv aTM4Ni9hY3BpLWJ1aWxkLmMKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJody9hY3BpL2Fj cGktZGVmcy5oIgogI2luY2x1ZGUgImh3L2FjcGkvYWNwaS5oIgogI2luY2x1ZGUgImh3L2FjcGkv Y3B1LmgiCisjaW5jbHVkZSAiaHcvYWNwaS9idWlsZGVyLmgiCiAjaW5jbHVkZSAiaHcvbnZyYW0v ZndfY2ZnLmgiCiAjaW5jbHVkZSAiaHcvbG9hZGVyLmgiCiAjaW5jbHVkZSAiaHcvaXNhL2lzYS5o IgpAQCAtMTY4Myw2ICsxNjg0LDcgQEAgdm9pZCBhY3BpX2J1aWxkKEFjcGlCdWlsZFRhYmxlcyAq dGFibGVzLAogICAgIEdBcnJheSAqdGFibGVzX2Jsb2IgPSB0YWJsZXMtPnRhYmxlX2RhdGE7CiAg ICAgQWNwaVNsaWNPZW0gc2xpY19vZW0gPSB7IC5pZCA9IE5VTEwsIC50YWJsZV9pZCA9IE5VTEwg fTsKICAgICBPYmplY3QgKnZtZ2VuaWRfZGV2OworICAgIEFjcGlCdWlsZGVyICphYiA9IEFDUElf QlVJTERFUihtYWNoaW5lKTsKIAogICAgIGFjcGlfZ2V0X3BtX2luZm8oJnBtKTsKICAgICBhY3Bp X2dldF9taXNjX2luZm8oJm1pc2MpOwpAQCAtMTczMiw3ICsxNzM0LDggQEAgdm9pZCBhY3BpX2J1 aWxkKEFjcGlCdWlsZFRhYmxlcyAqdGFibGVzLAogICAgIGFtbF9sZW4gKz0gdGFibGVzX2Jsb2It PmxlbiAtIGZhZHQ7CiAKICAgICBhY3BpX2FkZF90YWJsZSh0YWJsZV9vZmZzZXRzLCB0YWJsZXNf YmxvYik7Ci0gICAgYnVpbGRfbWFkdCh0YWJsZXNfYmxvYiwgdGFibGVzLT5saW5rZXIsIG1hY2hp bmUsIGFjcGlfY29uZik7CisgICAgYWNwaV9idWlsZGVyX21hZHQoYWIsIHRhYmxlc19ibG9iLCB0 YWJsZXMtPmxpbmtlciwKKyAgICAgICAgICAgICAgICAgICAgICBtYWNoaW5lLCBhY3BpX2NvbmYp OwogCiAgICAgdm1nZW5pZF9kZXYgPSBmaW5kX3ZtZ2VuaWRfZGV2KCk7CiAgICAgaWYgKHZtZ2Vu aWRfZGV2KSB7CkBAIC0xNzU2LDE1ICsxNzU5LDE2IEBAIHZvaWQgYWNwaV9idWlsZChBY3BpQnVp bGRUYWJsZXMgKnRhYmxlcywKICAgICB9CiAgICAgaWYgKGFjcGlfY29uZi0+bnVtYV9ub2Rlcykg ewogICAgICAgICBhY3BpX2FkZF90YWJsZSh0YWJsZV9vZmZzZXRzLCB0YWJsZXNfYmxvYik7Ci0g ICAgICAgIGJ1aWxkX3NyYXQodGFibGVzX2Jsb2IsIHRhYmxlcy0+bGlua2VyLCBtYWNoaW5lLCBh Y3BpX2NvbmYpOworICAgICAgICBhY3BpX2J1aWxkZXJfc3JhdChhYiwgdGFibGVzX2Jsb2IsIHRh Ymxlcy0+bGlua2VyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNoaW5lLCBhY3BpX2Nv bmYpOwogICAgICAgICBpZiAoaGF2ZV9udW1hX2Rpc3RhbmNlKSB7CiAgICAgICAgICAgICBhY3Bp X2FkZF90YWJsZSh0YWJsZV9vZmZzZXRzLCB0YWJsZXNfYmxvYik7Ci0gICAgICAgICAgICBidWls ZF9zbGl0KHRhYmxlc19ibG9iLCB0YWJsZXMtPmxpbmtlcik7CisgICAgICAgICAgICBhY3BpX2J1 aWxkZXJfc2xpdChhYiwgdGFibGVzX2Jsb2IsIHRhYmxlcy0+bGlua2VyKTsKICAgICAgICAgfQog ICAgIH0KICAgICBpZiAoYWNwaV9nZXRfbWNmZygmbWNmZykpIHsKICAgICAgICAgYWNwaV9hZGRf dGFibGUodGFibGVfb2Zmc2V0cywgdGFibGVzX2Jsb2IpOwotICAgICAgICBidWlsZF9tY2ZnKHRh Ymxlc19ibG9iLCB0YWJsZXMtPmxpbmtlciwgJm1jZmcpOworICAgICAgICBhY3BpX2J1aWxkZXJf bWNmZyhhYiwgdGFibGVzX2Jsb2IsIHRhYmxlcy0+bGlua2VyLCAmbWNmZyk7CiAgICAgfQogICAg IGlmICh4ODZfaW9tbXVfZ2V0X2RlZmF1bHQoKSkgewogICAgICAgICBJb21tdVR5cGUgSU9NTVVU eXBlID0geDg2X2lvbW11X2dldF90eXBlKCk7CkBAIC0xNzk1LDcgKzE3OTksNyBAQCB2b2lkIGFj cGlfYnVpbGQoQWNwaUJ1aWxkVGFibGVzICp0YWJsZXMsCiAgICAgICAgICAgICAgICBzbGljX29l bS5pZCwgc2xpY19vZW0udGFibGVfaWQpOwogCiAgICAgLyogUlNEUCBpcyBpbiBGU0VHIG1lbW9y eSwgc28gYWxsb2NhdGUgaXQgc2VwYXJhdGVseSAqLwotICAgIGJ1aWxkX3JzZHBfcnNkdCh0YWJs ZXMtPnJzZHAsIHRhYmxlcy0+bGlua2VyLCByc2R0KTsKKyAgICBhY3BpX2J1aWxkZXJfcnNkcChh YiwgdGFibGVzLT5yc2RwLCB0YWJsZXMtPmxpbmtlciwgcnNkdCk7CiAKICAgICAvKiBXZSdsbCBl eHBvc2UgaXQgYWxsIHRvIEd1ZXN0IHNvIHdlIHdhbnQgdG8gcmVkdWNlCiAgICAgICogY2hhbmNl IG9mIHNpemUgY2hhbmdlcy4KZGlmZiAtLWdpdCBhL2h3L2kzODYvcGMuYyBiL2h3L2kzODYvcGMu YwppbmRleCBjOWZmYzhjZmY2Li41M2EzMDM2MDY2IDEwMDY0NAotLS0gYS9ody9pMzg2L3BjLmMK KysrIGIvaHcvaTM4Ni9wYy5jCkBAIC02NCw2ICs2NCw3IEBACiAjaW5jbHVkZSAicWVtdS9vcHRp b24uaCIKICNpbmNsdWRlICJody9hY3BpL2FjcGkuaCIKICNpbmNsdWRlICJody9hY3BpL2NwdV9o b3RwbHVnLmgiCisjaW5jbHVkZSAiaHcvYWNwaS9idWlsZGVyLmgiCiAjaW5jbHVkZSAiaHcvYm9h cmRzLmgiCiAjaW5jbHVkZSAiYWNwaS1idWlsZC5oIgogI2luY2x1ZGUgImh3L21lbS9wYy1kaW1t LmgiCkBAIC03NSw2ICs3Niw3IEBACiAjaW5jbHVkZSAiaHcvbm1pLmgiCiAjaW5jbHVkZSAiaHcv aTM4Ni9pbnRlbF9pb21tdS5oIgogI2luY2x1ZGUgImh3L25ldC9uZTIwMDAtaXNhLmgiCisjaW5j bHVkZSAiaHcvaTM4Ni9hY3BpLmgiCiAKIC8qIGRlYnVnIFBDL0lTQSBpbnRlcnJ1cHRzICovCiAv LyNkZWZpbmUgREVCVUdfSVJRCkBAIC0yNDA0LDEyICsyNDA2LDIwIEBAIHN0YXRpYyB2b2lkIHg4 Nl9ubWkoTk1JU3RhdGUgKm4sIGludCBjcHVfaW5kZXgsIEVycm9yICoqZXJycCkKICAgICB9CiB9 CiAKK3N0YXRpYyBBY3BpQ29uZmlndXJhdGlvbiAqcGNfYWNwaV9jb25maWd1cmF0aW9uKEFjcGlC dWlsZGVyICpidWlsZGVyKQoreworICAgIFBDTWFjaGluZVN0YXRlICpwY21zID0gUENfTUFDSElO RShidWlsZGVyKTsKKworICAgIHJldHVybiAmcGNtcy0+YWNwaV9jb25maWd1cmF0aW9uOworfQor CiBzdGF0aWMgdm9pZCBwY19tYWNoaW5lX2NsYXNzX2luaXQoT2JqZWN0Q2xhc3MgKm9jLCB2b2lk ICpkYXRhKQogewogICAgIE1hY2hpbmVDbGFzcyAqbWMgPSBNQUNISU5FX0NMQVNTKG9jKTsKICAg ICBQQ01hY2hpbmVDbGFzcyAqcGNtYyA9IFBDX01BQ0hJTkVfQ0xBU1Mob2MpOwogICAgIEhvdHBs dWdIYW5kbGVyQ2xhc3MgKmhjID0gSE9UUExVR19IQU5ETEVSX0NMQVNTKG9jKTsKICAgICBOTUlD bGFzcyAqbmMgPSBOTUlfQ0xBU1Mob2MpOworICAgIEFjcGlCdWlsZGVyTWV0aG9kcyAqYWJtID0g QUNQSV9CVUlMREVSX01FVEhPRFMob2MpOwogCiAgICAgcGNtYy0+cGNpX2VuYWJsZWQgPSB0cnVl OwogICAgIHBjbWMtPmhhc19hY3BpX2J1aWxkID0gdHJ1ZTsKQEAgLTI0NDQsNiArMjQ1NCwxNCBA QCBzdGF0aWMgdm9pZCBwY19tYWNoaW5lX2NsYXNzX2luaXQoT2JqZWN0Q2xhc3MgKm9jLCB2b2lk ICpkYXRhKQogICAgIG5jLT5ubWlfbW9uaXRvcl9oYW5kbGVyID0geDg2X25taTsKICAgICBtYy0+ ZGVmYXVsdF9jcHVfdHlwZSA9IFRBUkdFVF9ERUZBVUxUX0NQVV9UWVBFOwogCisgICAgLyogQUNQ SSBidWlsZGluZyBtZXRob2RzICovCisgICAgYWJtLT5tYWR0ID0gYnVpbGRfbWFkdDsKKyAgICBh Ym0tPnJzZHAgPSBidWlsZF9yc2RwX3JzZHQ7CisgICAgYWJtLT5tY2ZnID0gYnVpbGRfbWNmZzsK KyAgICBhYm0tPnNyYXQgPSBidWlsZF9zcmF0OworICAgIGFibS0+c2xpdCA9IGJ1aWxkX3NsaXQ7 CisgICAgYWJtLT5jb25maWd1cmF0aW9uID0gcGNfYWNwaV9jb25maWd1cmF0aW9uOworCiAgICAg b2JqZWN0X2NsYXNzX3Byb3BlcnR5X2FkZChvYywgTUVNT1JZX0RFVklDRV9SRUdJT05fU0laRSwg ImludCIsCiAgICAgICAgIHBjX21hY2hpbmVfZ2V0X2RldmljZV9tZW1vcnlfcmVnaW9uX3NpemUs IE5VTEwsCiAgICAgICAgIE5VTEwsIE5VTEwsICZlcnJvcl9hYm9ydCk7CkBAIC0yNDk1LDYgKzI1 MTMsNyBAQCBzdGF0aWMgY29uc3QgVHlwZUluZm8gcGNfbWFjaGluZV9pbmZvID0gewogICAgIC5p bnRlcmZhY2VzID0gKEludGVyZmFjZUluZm9bXSkgewogICAgICAgICAgeyBUWVBFX0hPVFBMVUdf SEFORExFUiB9LAogICAgICAgICAgeyBUWVBFX05NSSB9LAorICAgICAgICAgeyBUWVBFX0FDUElf QlVJTERFUiB9LAogICAgICAgICAgeyB9CiAgICAgfSwKIH07Ci0tIAoyLjE5LjEKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGlu ZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnBy b2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs