From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [RFC XEN PATCH v4 33/41] tools/libacpi, hvmloader: detect QEMU fw_cfg interface Date: Thu, 7 Dec 2017 18:10:22 +0800 Message-ID: <20171207101030.22364-34-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 , Stefano Stabellini , Wei Liu , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Jan Beulich , Chao Peng , Dan Williams List-Id: xen-devel@lists.xenproject.org QWRkIGEgZnVuY3Rpb24gaW4gbGliYWNwaSB0byBkZXRlY3QgUUVNVSBmd19jZmcgaW50ZXJmYWNl LiBMaW1pdCB0aGUKdXNhZ2Ugb2YgZndfY2ZnIGludGVyZmFjZSB0byBodm1sb2FkZXIgbm93LCBz byB1c2Ugc3R1YiBmdW5jdGlvbnMgZm9yCm90aGVycy4KClNpZ25lZC1vZmYtYnk6IEhhb3pob25n IFpoYW5nIDxoYW96aG9uZy56aGFuZ0BpbnRlbC5jb20+Ci0tLQpDYzogQW5kcmV3IENvb3BlciA8 YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQ2M6IEdlb3JnZSBEdW5sYXAgPEdlb3JnZS5EdW5s YXBAZXUuY2l0cml4LmNvbT4KQ2M6IElhbiBKYWNrc29uIDxpYW4uamFja3NvbkBldS5jaXRyaXgu Y29tPgpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpDYzogS29ucmFkIFJ6ZXN6 dXRlayBXaWxrIDxrb25yYWQud2lsa0BvcmFjbGUuY29tPgpDYzogU3RlZmFubyBTdGFiZWxsaW5p IDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPgpDYzogVGltIERlZWdhbiA8dGltQHhlbi5vcmc+CkNj OiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgotLS0KIHRvb2xzL2Zpcm13YXJlL2h2bWxv YWRlci9NYWtlZmlsZSB8ICAzICstCiB0b29scy9maXJtd2FyZS9odm1sb2FkZXIvdXRpbC5jICAg fCAgMyArKwogdG9vbHMvbGliYWNwaS9idWlsZC5jICAgICAgICAgICAgIHwgIDEgKwogdG9vbHMv bGliYWNwaS9saWJhY3BpLmggICAgICAgICAgIHwgIDQgKysrCiB0b29scy9saWJhY3BpL3FlbXVf ZndfY2ZnLmMgICAgICAgfCA2NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysKIHRvb2xzL2xpYmFjcGkvcWVtdV9zdHViLmMgICAgICAgICB8IDM5ICsrKysrKysrKysrKysr KysrKysrKysrCiB0b29scy9saWJ4bC9NYWtlZmlsZSAgICAgICAgICAgICAgfCAgMyArLQogNyBm aWxlcyBjaGFuZ2VkLCAxMTcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBt b2RlIDEwMDY0NCB0b29scy9saWJhY3BpL3FlbXVfZndfY2ZnLmMKIGNyZWF0ZSBtb2RlIDEwMDY0 NCB0b29scy9saWJhY3BpL3FlbXVfc3R1Yi5jCgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmlybXdhcmUv aHZtbG9hZGVyL01ha2VmaWxlIGIvdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL01ha2VmaWxlCmlu ZGV4IGE1YjRjMzJjMWEuLjUzYjk5ZTJjMjggMTAwNjQ0Ci0tLSBhL3Rvb2xzL2Zpcm13YXJlL2h2 bWxvYWRlci9NYWtlZmlsZQorKysgYi90b29scy9maXJtd2FyZS9odm1sb2FkZXIvTWFrZWZpbGUK QEAgLTc2LDExICs3NiwxMiBAQCBzbWJpb3MubzogQ0ZMQUdTICs9IC1EX19TTUJJT1NfREFURV9f PSJcIiQoU01CSU9TX1JFTF9EQVRFKVwiIgogCiBBQ1BJX1BBVEggPSAuLi8uLi9saWJhY3BpCiBE U0RUX0ZJTEVTID0gZHNkdF9hbnljcHUuYyBkc2R0XzE1Y3B1LmMgZHNkdF9hbnljcHVfcWVtdV94 ZW4uYwotQUNQSV9PQkpTID0gJChwYXRzdWJzdCAlLmMsJS5vLCQoRFNEVF9GSUxFUykpIGJ1aWxk Lm8gc3RhdGljX3RhYmxlcy5vCitBQ1BJX09CSlMgPSAkKHBhdHN1YnN0ICUuYywlLm8sJChEU0RU X0ZJTEVTKSkgYnVpbGQubyBzdGF0aWNfdGFibGVzLm8gcWVtdV9md19jZmcubwogJChBQ1BJX09C SlMpOiBDRkxBR1MgKz0gLUkuIC1ETElCQUNQSV9TVERVVElMUz1cIiQoQ1VSRElSKS91dGlsLmhc IgogQ0ZMQUdTICs9IC1JJChBQ1BJX1BBVEgpCiB2cGF0aCBidWlsZC5jICQoQUNQSV9QQVRIKQog dnBhdGggc3RhdGljX3RhYmxlcy5jICQoQUNQSV9QQVRIKQordnBhdGggcWVtdV9md19jZmcuYyAk KEFDUElfUEFUSCkKIE9CSlMgKz0gJChBQ1BJX09CSlMpCiAKIGh2bWxvYWRlcjogJChPQkpTKQpk aWZmIC0tZ2l0IGEvdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL3V0aWwuYyBiL3Rvb2xzL2Zpcm13 YXJlL2h2bWxvYWRlci91dGlsLmMKaW5kZXggZTRhMzdiMzMxMC4uYmU0YjY0YTM3OSAxMDA2NDQK LS0tIGEvdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL3V0aWwuYworKysgYi90b29scy9maXJtd2Fy ZS9odm1sb2FkZXIvdXRpbC5jCkBAIC05NzksNiArOTc5LDkgQEAgdm9pZCBodm1sb2FkZXJfYWNw aV9idWlsZF90YWJsZXMoc3RydWN0IGFjcGlfY29uZmlnICpjb25maWcsCiAgICAgaWYgKCAhc3Ry bmNtcCh4ZW5zdG9yZV9yZWFkKCJwbGF0Zm9ybS9hY3BpX2xhcHRvcF9zbGF0ZSIsICIwIiksICIx IiwgMSkgICkKICAgICAgICAgY29uZmlnLT50YWJsZV9mbGFncyB8PSBBQ1BJX0hBU19TU0RUX0xB UFRPUF9TTEFURTsKIAorICAgIGlmICggZndfY2ZnX2V4aXN0cygpICkKKyAgICAgICAgY29uZmln LT50YWJsZV9mbGFncyB8PSBBQ1BJX0hBU19RRU1VX1hFTjsKKwogICAgIGNvbmZpZy0+dGFibGVf ZmxhZ3MgfD0gKEFDUElfSEFTX1RDUEEgfCBBQ1BJX0hBU19JT0FQSUMgfAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEFDUElfSEFTX1dBRVQgfCBBQ1BJX0hBU19QTVRJTUVSIHwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBBQ1BJX0hBU19CVVRUT05TIHwgQUNQSV9IQVNfVkdBIHwK ZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYmFjcGkvYnVpbGQuYyBiL3Rvb2xzL2xpYmFjcGkvYnVpbGQu YwppbmRleCBmMjE4NTU4OWY4Li40NjA1MWM0NmFjIDEwMDY0NAotLS0gYS90b29scy9saWJhY3Bp L2J1aWxkLmMKKysrIGIvdG9vbHMvbGliYWNwaS9idWlsZC5jCkBAIC01MzEsNiArNTMxLDcgQEAg c3RhdGljIGludCBjb25zdHJ1Y3Rfc2Vjb25kYXJ5X3RhYmxlcyhzdHJ1Y3QgYWNwaV9jdHh0ICpj dHh0LAogICAgIG5yX3RhYmxlcyArPSBjb25zdHJ1Y3RfcGFzc3Rocm91Z2hfdGFibGVzKGN0eHQs IHRhYmxlX3B0cnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbnJfdGFibGVzLCBjb25maWcpOwogCisKICAgICB0YWJsZV9wdHJzW25yX3RhYmxlc10gPSAw OwogICAgIHJldHVybiBucl90YWJsZXM7CiB9CmRpZmYgLS1naXQgYS90b29scy9saWJhY3BpL2xp YmFjcGkuaCBiL3Rvb2xzL2xpYmFjcGkvbGliYWNwaS5oCmluZGV4IDc0OGE3ZTRhNzMuLjgwNDAz ZjA0YWIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYmFjcGkvbGliYWNwaS5oCisrKyBiL3Rvb2xzL2xp YmFjcGkvbGliYWNwaS5oCkBAIC0yMCw2ICsyMCw4IEBACiAjaWZuZGVmIF9fTElCQUNQSV9IX18K ICNkZWZpbmUgX19MSUJBQ1BJX0hfXwogCisjaW5jbHVkZSA8c3RkYm9vbC5oPgorCiAjZGVmaW5l IEFDUElfSEFTX0NPTTEgICAgICAgICAgICAgICgxPDwwKQogI2RlZmluZSBBQ1BJX0hBU19DT00y ICAgICAgICAgICAgICAoMTw8MSkKICNkZWZpbmUgQUNQSV9IQVNfTFBUMSAgICAgICAgICAgICAg KDE8PDIpCkBAIC0xMDQsNiArMTA2LDggQEAgc3RydWN0IGFjcGlfY29uZmlnIHsKIAogaW50IGFj cGlfYnVpbGRfdGFibGVzKHN0cnVjdCBhY3BpX2N0eHQgKmN0eHQsIHN0cnVjdCBhY3BpX2NvbmZp ZyAqY29uZmlnKTsKIAorYm9vbCBmd19jZmdfZXhpc3RzKHZvaWQpOworCiAjZW5kaWYgLyogX19M SUJBQ1BJX0hfXyAqLwogCiAvKgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGliYWNwaS9xZW11X2Z3X2Nm Zy5jIGIvdG9vbHMvbGliYWNwaS9xZW11X2Z3X2NmZy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAuLjI1NGQyZjU3NWQKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9saWJh Y3BpL3FlbXVfZndfY2ZnLmMKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIGxpYmFjcGkvcWVtdV9m d19jZmcuYworICoKKyAqIERyaXZlciBvZiBRRU1VIGZ3X2NmZyBpbnRlcmZhY2UuIFRoZSByZWZl cmVuY2UgZG9jdW1lbnQgY2FuIGJlIGZvdW5kIGF0CisgKiBodHRwczovL2dpdGh1Yi5jb20vcWVt dS9xZW11L2Jsb2IvbWFzdGVyL2RvY3Mvc3BlY3MvZndfY2ZnLnR4dC4KKyAqCisgKiBDb3B5cmln aHQgKEMpIDIwMTcsICBJbnRlbCBDb3Jwb3JhdGlvbgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBm cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBp dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExp Y2Vuc2UsIHZlcnNpb24gMi4xLCBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0 aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3Ig RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGVzc2Vy IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hv dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGlj CisgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBJZiBub3QsIHNlZSA8aHR0cDov L3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKi8KKworI2luY2x1ZGUgTElCQUNQSV9TVERVVElM UworI2luY2x1ZGUgImxpYmFjcGkuaCIKKworLyogUUVNVSBmd19jZmcgSS9PIHBvcnRzIG9uIHg4 NiAqLworI2RlZmluZSBGV19DRkdfUE9SVF9TRUwgICAgICAgICAweDUxMAorI2RlZmluZSBGV19D RkdfUE9SVF9EQVRBICAgICAgICAweDUxMQorCisvKiBRRU1VIGZ3X2NmZyBlbnRyaWVzICovCisj ZGVmaW5lIEZXX0NGR19TSUdOQVRVUkUgICAgICAgIDB4MDAwMAorCitzdGF0aWMgaW5saW5lIHZv aWQgZndfY2ZnX3NlbGVjdCh1aW50MTZfdCBlbnRyeSkKK3sKKyAgICBvdXR3KEZXX0NGR19QT1JU X1NFTCwgZW50cnkpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgZndfY2ZnX3JlYWQodm9pZCAq YnVmLCB1aW50MzJfdCBsZW4pCit7CisgICAgd2hpbGUgKCBsZW4tLSApCisgICAgICAgICoodWlu dDhfdCAqKShidWYrKykgPSBpbmIoRldfQ0ZHX1BPUlRfREFUQSk7Cit9CisKK3N0YXRpYyB2b2lk IGZ3X2NmZ19yZWFkX2VudHJ5KHVpbnQxNl90IGVudHJ5LCB2b2lkICpidWYsIHVpbnQzMl90IGxl bikKK3sKKyAgICBmd19jZmdfc2VsZWN0KGVudHJ5KTsKKyAgICBmd19jZmdfcmVhZChidWYsIGxl bik7Cit9CisKK2Jvb2wgZndfY2ZnX2V4aXN0cyh2b2lkKQoreworICAgIHVpbnQzMl90IHNpZzsK KworICAgIGZ3X2NmZ19yZWFkX2VudHJ5KEZXX0NGR19TSUdOQVRVUkUsICZzaWcsIHNpemVvZihz aWcpKTsKKworICAgIHJldHVybiBzaWcgPT0gMHg1NTRkNDU1MSAvKiAiUUVNVSIgKi87Cit9CisK Ky8qCisgKiBMb2NhbCB2YXJpYWJsZXM6CisgKiBtb2RlOiBDCisgKiBjLWZpbGUtc3R5bGU6ICJC U0QiCisgKiBjLWJhc2ljLW9mZnNldDogNAorICogdGFiLXdpZHRoOiA0CisgKiBpbmRlbnQtdGFi cy1tb2RlOiBuaWwKKyAqIEVuZDoKKyAqLwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGliYWNwaS9xZW11 X3N0dWIuYyBiL3Rvb2xzL2xpYmFjcGkvcWVtdV9zdHViLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwMC4uNjUwNmRlMmQ5YwotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL2xp YmFjcGkvcWVtdV9zdHViLmMKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIGxpYmFjcGkvcWVtdV9z dHViLmMKKyAqCisgKiBTdHViIGZ1bmN0aW9ucyBvZiBRRU1VIGRyaXZlcnMuIFFFTVUgZHJpdmVy cyBhcmUgb25seSB1c2VkIHdpdGgKKyAqIEhWTUxvYWRlciBub3cuIEFkZCBzdHViIGZ1bmN0aW9u cyB0byBlbnN1cmUgbGliYWNwaSBjYW4gYmUgY29tcGlsZWQKKyAqIHdpdGggb3RoZXJzLgorICoK KyAqIENvcHlyaWdodCAoQykgMjAxNywgIEludGVsIENvcnBvcmF0aW9uCisgKgorICogVGhpcyBs aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgor ICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1 YmxpYworICogTGljZW5zZSwgdmVyc2lvbiAyLjEsIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5U QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05V CisgKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoK KyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2Vu ZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IElmIG5vdCwg c2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAqLworCisjaW5jbHVkZSBMSUJB Q1BJX1NURFVUSUxTCisjaW5jbHVkZSAibGliYWNwaS5oIgorCitib29sIGZ3X2NmZ19leGlzdHMo dm9pZCkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKKy8qCisgKiBMb2NhbCB2YXJpYWJsZXM6 CisgKiBtb2RlOiBDCisgKiBjLWZpbGUtc3R5bGU6ICJCU0QiCisgKiBjLWJhc2ljLW9mZnNldDog NAorICogdGFiLXdpZHRoOiA0CisgKiBpbmRlbnQtdGFicy1tb2RlOiBuaWwKKyAqIEVuZDoKKyAq LwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvTWFrZWZpbGUgYi90b29scy9saWJ4bC9NYWtlZmls ZQppbmRleCBhNmYyZGJkMWNmLi5iNmE4ZjY2MmVkIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9N YWtlZmlsZQorKysgYi90b29scy9saWJ4bC9NYWtlZmlsZQpAQCAtNzgsMTEgKzc4LDEyIEBAIGVu ZGlmCiAKIEFDUElfUEFUSCAgPSAkKFhFTl9ST09UKS90b29scy9saWJhY3BpCiBEU0RUX0ZJTEVT LSQoQ09ORklHX1g4NikgPSBkc2R0X3B2aC5jCi1BQ1BJX09CSlMgID0gJChwYXRzdWJzdCAlLmMs JS5vLCQoRFNEVF9GSUxFUy15KSkgYnVpbGQubyBzdGF0aWNfdGFibGVzLm8KK0FDUElfT0JKUyAg PSAkKHBhdHN1YnN0ICUuYywlLm8sJChEU0RUX0ZJTEVTLXkpKSBidWlsZC5vIHN0YXRpY190YWJs ZXMubyBxZW11X3N0dWIubwogJChEU0RUX0ZJTEVTLXkpOiBhY3BpCiAkKEFDUElfT0JKUyk6IENG TEFHUyArPSAtSS4gLURMSUJBQ1BJX1NURFVUSUxTPVwiJChDVVJESVIpL2xpYnhsX3g4Nl9hY3Bp LmhcIgogdnBhdGggYnVpbGQuYyAkKEFDUElfUEFUSCkvCiB2cGF0aCBzdGF0aWNfdGFibGVzLmMg JChBQ1BJX1BBVEgpLwordnBhdGggcWVtdV9zdHViLmMgJChBQ1BJX1BBVEgpLwogTElCWExfT0JK Uy0kKENPTkZJR19YODYpICs9ICQoQUNQSV9PQkpTKQogCiAuUEhPTlk6IGFjcGkKLS0gCjIuMTUu MQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8v bGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=