From mboxrd@z Thu Jan 1 00:00:00 1970 From: Samuel Ortiz Subject: [PATCH v5 06/24] hw: acpi: Factorize the RSDP build API implementation Date: Mon, 5 Nov 2018 02:40:29 +0100 Message-ID: <20181105014047.26447-7-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 1gJTu6-0003bM-Lg for xen-devel@lists.xenproject.org; Mon, 05 Nov 2018 01:42:10 +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 V2UgY2FuIG5vdyBzaGFyZSB0aGUgUlNEUCBidWlsZCBiZXR3ZWVuIHRoZSBBUk0gYW5kIHg4NiBh cmNoaXRlY3R1cmVzLgpIZXJlIHdlIG1ha2UgdGhlIGRlZmF1bHQgUlNEUCBidWlsZCB1c2UgWFNE VCBhbmQga2VlcCB0aGUgZXhpc3RpbmcgeDg2CkFDUEkgYnVpbGQgaW1wbGVtZW50YXRpb24gdXNp bmcgdGhlIGxlZ2FjeSBSU0RUIHZlcnNpb24uCgpTaWduZWQtb2ZmLWJ5OiBTYW11ZWwgT3J0aXog PHNhbWVvQGxpbnV4LmludGVsLmNvbT4KLS0tCiBpbmNsdWRlL2h3L2FjcGkvYW1sLWJ1aWxkLmgg fCAgOCArKysrLS0tLQogaHcvYWNwaS9hbWwtYnVpbGQuYyAgICAgICAgIHwgMjggKysrKysrKysr KysrKysrKysrKysrKysrKy0tLQogaHcvYXJtL3ZpcnQtYWNwaS1idWlsZC5jICAgIHwgMjggLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogaHcvaTM4Ni9hY3BpLWJ1aWxkLmMgICAgICAgIHwg MjYgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDQgZmlsZXMgY2hhbmdlZCwgMzAgaW5zZXJ0 aW9ucygrKSwgNjAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9ody9hY3BpL2Ft bC1idWlsZC5oIGIvaW5jbHVkZS9ody9hY3BpL2FtbC1idWlsZC5oCmluZGV4IDM1ODBkMGNlOTAu LmEyZWY4YjZmMzEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvaHcvYWNwaS9hbWwtYnVpbGQuaAorKysg Yi9pbmNsdWRlL2h3L2FjcGkvYW1sLWJ1aWxkLmgKQEAgLTM5MCwxMSArMzkwLDExIEBAIHZvaWQg YWNwaV9hZGRfdGFibGUoR0FycmF5ICp0YWJsZV9vZmZzZXRzLCBHQXJyYXkgKnRhYmxlX2RhdGEp Owogdm9pZCBhY3BpX2J1aWxkX3RhYmxlc19pbml0KEFjcGlCdWlsZFRhYmxlcyAqdGFibGVzKTsK IHZvaWQgYWNwaV9idWlsZF90YWJsZXNfY2xlYW51cChBY3BpQnVpbGRUYWJsZXMgKnRhYmxlcywg Ym9vbCBtZnJlKTsKIHZvaWQKLWJ1aWxkX3JzZHAoR0FycmF5ICp0YWJsZV9kYXRhLAotICAgICAg ICAgICBCSU9TTGlua2VyICpsaW5rZXIsIHVuc2lnbmVkIHJzZHRfdGJsX29mZnNldCk7CitidWls ZF9yc2RwX3JzZHQoR0FycmF5ICp0YWJsZV9kYXRhLAorICAgICAgICAgICAgICAgIEJJT1NMaW5r ZXIgKmxpbmtlciwgdW5zaWduZWQgcnNkdF90Ymxfb2Zmc2V0KTsKIHZvaWQKLWJ1aWxkX3JzZHBf eHNkdChHQXJyYXkgKnRhYmxlX2RhdGEsCi0gICAgICAgICAgICAgICAgQklPU0xpbmtlciAqbGlu a2VyLCB1bnNpZ25lZCB4c2R0X3RibF9vZmZzZXQpOworYnVpbGRfcnNkcChHQXJyYXkgKnRhYmxl X2RhdGEsCisgICAgICAgICAgIEJJT1NMaW5rZXIgKmxpbmtlciwgdW5zaWduZWQgeHNkdF90Ymxf b2Zmc2V0KTsKIHZvaWQKIGJ1aWxkX3JzZHQoR0FycmF5ICp0YWJsZV9kYXRhLCBCSU9TTGlua2Vy ICpsaW5rZXIsIEdBcnJheSAqdGFibGVfb2Zmc2V0cywKICAgICAgICAgICAgY29uc3QgY2hhciAq b2VtX2lkLCBjb25zdCBjaGFyICpvZW1fdGFibGVfaWQpOwpkaWZmIC0tZ2l0IGEvaHcvYWNwaS9h bWwtYnVpbGQuYyBiL2h3L2FjcGkvYW1sLWJ1aWxkLmMKaW5kZXggYTAzMGQ0MDY3NC4uOGMyMzg4 Mjc0YyAxMDA2NDQKLS0tIGEvaHcvYWNwaS9hbWwtYnVpbGQuYworKysgYi9ody9hY3BpL2FtbC1i dWlsZC5jCkBAIC0xNjUxLDEwICsxNjUxLDMyIEBAIGJ1aWxkX3hzZHQoR0FycmF5ICp0YWJsZV9k YXRhLCBCSU9TTGlua2VyICpsaW5rZXIsIEdBcnJheSAqdGFibGVfb2Zmc2V0cywKICAgICAgICAg ICAgICAgICAgKHZvaWQgKil4c2R0LCAiWFNEVCIsIHhzZHRfbGVuLCAxLCBvZW1faWQsIG9lbV90 YWJsZV9pZCk7CiB9CiAKKy8qIExlZ2FjeSBSU0RQIHBvaW50aW5nIGF0IGFuIFJTRFQuIFRoaXMg aXMgZGVwcmVjYXRlZCAqLwordm9pZCBidWlsZF9yc2RwX3JzZHQoR0FycmF5ICpyc2RwX3RhYmxl LCBCSU9TTGlua2VyICpsaW5rZXIsIHVuc2lnbmVkIHJzZHRfdGJsX29mZnNldCkKK3sKKyAgICBB Y3BpUnNkcERlc2NyaXB0b3IgKnJzZHAgPSBhY3BpX2RhdGFfcHVzaChyc2RwX3RhYmxlLCBzaXpl b2YgKnJzZHApOworICAgIHVuc2lnbmVkIHJzZHRfcGFfc2l6ZSA9IHNpemVvZihyc2RwLT5yc2R0 X3BoeXNpY2FsX2FkZHJlc3MpOworICAgIHVuc2lnbmVkIHJzZHRfcGFfb2Zmc2V0ID0KKyAgICAg ICAgKGNoYXIgKikmcnNkcC0+cnNkdF9waHlzaWNhbF9hZGRyZXNzIC0gcnNkcF90YWJsZS0+ZGF0 YTsKKworICAgIGJpb3NfbGlua2VyX2xvYWRlcl9hbGxvYyhsaW5rZXIsIEFDUElfQlVJTERfUlNE UF9GSUxFLCByc2RwX3RhYmxlLCAxNiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1 ZSAvKiBmc2VnIG1lbW9yeSAqLyk7CisKKyAgICBtZW1jcHkoJnJzZHAtPnNpZ25hdHVyZSwgIlJT RCBQVFIgIiwgOCk7CisgICAgbWVtY3B5KHJzZHAtPm9lbV9pZCwgQUNQSV9CVUlMRF9BUFBOQU1F NiwgNik7CisgICAgLyogQWRkcmVzcyB0byBiZSBmaWxsZWQgYnkgR3Vlc3QgbGlua2VyICovCisg ICAgYmlvc19saW5rZXJfbG9hZGVyX2FkZF9wb2ludGVyKGxpbmtlciwKKyAgICAgICAgQUNQSV9C VUlMRF9SU0RQX0ZJTEUsIHJzZHRfcGFfb2Zmc2V0LCByc2R0X3BhX3NpemUsCisgICAgICAgIEFD UElfQlVJTERfVEFCTEVfRklMRSwgcnNkdF90Ymxfb2Zmc2V0KTsKKworICAgIC8qIENoZWNrc3Vt IHRvIGJlIGZpbGxlZCBieSBHdWVzdCBsaW5rZXIgKi8KKyAgICBiaW9zX2xpbmtlcl9sb2FkZXJf YWRkX2NoZWNrc3VtKGxpbmtlciwgQUNQSV9CVUlMRF9SU0RQX0ZJTEUsCisgICAgICAgIChjaGFy ICopcnNkcCAtIHJzZHBfdGFibGUtPmRhdGEsIHNpemVvZiAqcnNkcCwKKyAgICAgICAgKGNoYXIg KikmcnNkcC0+Y2hlY2tzdW0gLSByc2RwX3RhYmxlLT5kYXRhKTsKK30KKwogLyogUlNEUCBwb2lu dGluZyBhdCBhbiBYU0RUICovCi12b2lkCi1idWlsZF9yc2RwX3hzZHQoR0FycmF5ICpyc2RwX3Rh YmxlLAotICAgICAgICAgICAgICAgIEJJT1NMaW5rZXIgKmxpbmtlciwgdW5zaWduZWQgeHNkdF90 Ymxfb2Zmc2V0KQordm9pZCBidWlsZF9yc2RwKEdBcnJheSAqcnNkcF90YWJsZSwgQklPU0xpbmtl ciAqbGlua2VyLCB1bnNpZ25lZCB4c2R0X3RibF9vZmZzZXQpCiB7CiAgICAgQWNwaVJzZHBEZXNj cmlwdG9yICpyc2RwID0gYWNwaV9kYXRhX3B1c2gocnNkcF90YWJsZSwgc2l6ZW9mICpyc2RwKTsK ICAgICB1bnNpZ25lZCB4c2R0X3BhX3NpemUgPSBzaXplb2YocnNkcC0+eHNkdF9waHlzaWNhbF9h ZGRyZXNzKTsKZGlmZiAtLWdpdCBhL2h3L2FybS92aXJ0LWFjcGktYnVpbGQuYyBiL2h3L2FybS92 aXJ0LWFjcGktYnVpbGQuYwppbmRleCA2MjNhNmM0ZWFjLi4yNjEzNjNlMjBjIDEwMDY0NAotLS0g YS9ody9hcm0vdmlydC1hY3BpLWJ1aWxkLmMKKysrIGIvaHcvYXJtL3ZpcnQtYWNwaS1idWlsZC5j CkBAIC0zNjYsMzQgKzM2Niw2IEBAIHN0YXRpYyB2b2lkIGFjcGlfZHNkdF9hZGRfcG93ZXJfYnV0 dG9uKEFtbCAqc2NvcGUpCiAgICAgYW1sX2FwcGVuZChzY29wZSwgZGV2KTsKIH0KIAotLyogUlNE UCAqLwotdm9pZAotYnVpbGRfcnNkcChHQXJyYXkgKnJzZHBfdGFibGUsIEJJT1NMaW5rZXIgKmxp bmtlciwgdW5zaWduZWQgeHNkdF90Ymxfb2Zmc2V0KQotewotICAgIEFjcGlSc2RwRGVzY3JpcHRv ciAqcnNkcCA9IGFjcGlfZGF0YV9wdXNoKHJzZHBfdGFibGUsIHNpemVvZiAqcnNkcCk7Ci0gICAg dW5zaWduZWQgeHNkdF9wYV9zaXplID0gc2l6ZW9mKHJzZHAtPnhzZHRfcGh5c2ljYWxfYWRkcmVz cyk7Ci0gICAgdW5zaWduZWQgeHNkdF9wYV9vZmZzZXQgPQotICAgICAgICAoY2hhciAqKSZyc2Rw LT54c2R0X3BoeXNpY2FsX2FkZHJlc3MgLSByc2RwX3RhYmxlLT5kYXRhOwotCi0gICAgYmlvc19s aW5rZXJfbG9hZGVyX2FsbG9jKGxpbmtlciwgQUNQSV9CVUlMRF9SU0RQX0ZJTEUsIHJzZHBfdGFi bGUsIDE2LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlIC8qIGZzZWcgbWVtb3J5 ICovKTsKLQotICAgIG1lbWNweSgmcnNkcC0+c2lnbmF0dXJlLCAiUlNEIFBUUiAiLCBzaXplb2Yo cnNkcC0+c2lnbmF0dXJlKSk7Ci0gICAgbWVtY3B5KHJzZHAtPm9lbV9pZCwgQUNQSV9CVUlMRF9B UFBOQU1FNiwgc2l6ZW9mKHJzZHAtPm9lbV9pZCkpOwotICAgIHJzZHAtPmxlbmd0aCA9IGNwdV90 b19sZTMyKHNpemVvZigqcnNkcCkpOwotICAgIHJzZHAtPnJldmlzaW9uID0gMHgwMjsKLQotICAg IC8qIEFkZHJlc3MgdG8gYmUgZmlsbGVkIGJ5IEd1ZXN0IGxpbmtlciAqLwotICAgIGJpb3NfbGlu a2VyX2xvYWRlcl9hZGRfcG9pbnRlcihsaW5rZXIsCi0gICAgICAgIEFDUElfQlVJTERfUlNEUF9G SUxFLCB4c2R0X3BhX29mZnNldCwgeHNkdF9wYV9zaXplLAotICAgICAgICBBQ1BJX0JVSUxEX1RB QkxFX0ZJTEUsIHhzZHRfdGJsX29mZnNldCk7Ci0KLSAgICAvKiBDaGVja3N1bSB0byBiZSBmaWxs ZWQgYnkgR3Vlc3QgbGlua2VyICovCi0gICAgYmlvc19saW5rZXJfbG9hZGVyX2FkZF9jaGVja3N1 bShsaW5rZXIsIEFDUElfQlVJTERfUlNEUF9GSUxFLAotICAgICAgICAoY2hhciAqKXJzZHAgLSBy c2RwX3RhYmxlLT5kYXRhLCBzaXplb2YgKnJzZHAsCi0gICAgICAgIChjaGFyICopJnJzZHAtPmNo ZWNrc3VtIC0gcnNkcF90YWJsZS0+ZGF0YSk7Ci19Ci0KIHN0YXRpYyB2b2lkCiBidWlsZF9pb3J0 KEdBcnJheSAqdGFibGVfZGF0YSwgQklPU0xpbmtlciAqbGlua2VyLCBWaXJ0TWFjaGluZVN0YXRl ICp2bXMpCiB7CmRpZmYgLS1naXQgYS9ody9pMzg2L2FjcGktYnVpbGQuYyBiL2h3L2kzODYvYWNw aS1idWlsZC5jCmluZGV4IGY3YTY3ZjVjOWMuLmNmYzI0NDRkMGQgMTAwNjQ0Ci0tLSBhL2h3L2kz ODYvYWNwaS1idWlsZC5jCisrKyBiL2h3L2kzODYvYWNwaS1idWlsZC5jCkBAIC0yNTEzLDMwICsy NTEzLDYgQEAgYnVpbGRfYW1kX2lvbW11KEdBcnJheSAqdGFibGVfZGF0YSwgQklPU0xpbmtlciAq bGlua2VyKQogICAgICAgICAgICAgICAgICAiSVZSUyIsIHRhYmxlX2RhdGEtPmxlbiAtIGlvbW11 X3N0YXJ0LCAxLCBOVUxMLCBOVUxMKTsKIH0KIAotdm9pZAotYnVpbGRfcnNkcChHQXJyYXkgKnJz ZHBfdGFibGUsIEJJT1NMaW5rZXIgKmxpbmtlciwgdW5zaWduZWQgcnNkdF90Ymxfb2Zmc2V0KQot ewotICAgIEFjcGlSc2RwRGVzY3JpcHRvciAqcnNkcCA9IGFjcGlfZGF0YV9wdXNoKHJzZHBfdGFi bGUsIHNpemVvZiAqcnNkcCk7Ci0gICAgdW5zaWduZWQgcnNkdF9wYV9zaXplID0gc2l6ZW9mKHJz ZHAtPnJzZHRfcGh5c2ljYWxfYWRkcmVzcyk7Ci0gICAgdW5zaWduZWQgcnNkdF9wYV9vZmZzZXQg PQotICAgICAgICAoY2hhciAqKSZyc2RwLT5yc2R0X3BoeXNpY2FsX2FkZHJlc3MgLSByc2RwX3Rh YmxlLT5kYXRhOwotCi0gICAgYmlvc19saW5rZXJfbG9hZGVyX2FsbG9jKGxpbmtlciwgQUNQSV9C VUlMRF9SU0RQX0ZJTEUsIHJzZHBfdGFibGUsIDE2LAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB0cnVlIC8qIGZzZWcgbWVtb3J5ICovKTsKLQotICAgIG1lbWNweSgmcnNkcC0+c2lnbmF0 dXJlLCAiUlNEIFBUUiAiLCA4KTsKLSAgICBtZW1jcHkocnNkcC0+b2VtX2lkLCBBQ1BJX0JVSUxE X0FQUE5BTUU2LCA2KTsKLSAgICAvKiBBZGRyZXNzIHRvIGJlIGZpbGxlZCBieSBHdWVzdCBsaW5r ZXIgKi8KLSAgICBiaW9zX2xpbmtlcl9sb2FkZXJfYWRkX3BvaW50ZXIobGlua2VyLAotICAgICAg ICBBQ1BJX0JVSUxEX1JTRFBfRklMRSwgcnNkdF9wYV9vZmZzZXQsIHJzZHRfcGFfc2l6ZSwKLSAg ICAgICAgQUNQSV9CVUlMRF9UQUJMRV9GSUxFLCByc2R0X3RibF9vZmZzZXQpOwotCi0gICAgLyog Q2hlY2tzdW0gdG8gYmUgZmlsbGVkIGJ5IEd1ZXN0IGxpbmtlciAqLwotICAgIGJpb3NfbGlua2Vy X2xvYWRlcl9hZGRfY2hlY2tzdW0obGlua2VyLCBBQ1BJX0JVSUxEX1JTRFBfRklMRSwKLSAgICAg ICAgKGNoYXIgKilyc2RwIC0gcnNkcF90YWJsZS0+ZGF0YSwgc2l6ZW9mICpyc2RwLAotICAgICAg ICAoY2hhciAqKSZyc2RwLT5jaGVja3N1bSAtIHJzZHBfdGFibGUtPmRhdGEpOwotfQotCiBzdGF0 aWMgYm9vbCBhY3BpX2dldF9tY2ZnKEFjcGlNY2ZnSW5mbyAqbWNmZykKIHsKICAgICBPYmplY3Qg KnBjaV9ob3N0OwpAQCAtMjY4MSw3ICsyNjU3LDcgQEAgdm9pZCBhY3BpX2J1aWxkKEFjcGlCdWls ZFRhYmxlcyAqdGFibGVzLAogICAgICAgICAgICAgICAgc2xpY19vZW0uaWQsIHNsaWNfb2VtLnRh YmxlX2lkKTsKIAogICAgIC8qIFJTRFAgaXMgaW4gRlNFRyBtZW1vcnksIHNvIGFsbG9jYXRlIGl0 IHNlcGFyYXRlbHkgKi8KLSAgICBidWlsZF9yc2RwKHRhYmxlcy0+cnNkcCwgdGFibGVzLT5saW5r ZXIsIHJzZHQpOworICAgIGJ1aWxkX3JzZHBfcnNkdCh0YWJsZXMtPnJzZHAsIHRhYmxlcy0+bGlu a2VyLCByc2R0KTsKIAogICAgIC8qIFdlJ2xsIGV4cG9zZSBpdCBhbGwgdG8gR3Vlc3Qgc28gd2Ug d2FudCB0byByZWR1Y2UKICAgICAgKiBjaGFuY2Ugb2Ygc2l6ZSBjaGFuZ2VzLgotLSAKMi4xOS4x CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRl dmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9s aXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==