From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v5 07/11] xen: factor out allocation of special pages into separate function Date: Thu, 25 Feb 2016 12:33:33 +0100 Message-ID: <1456400017-5789-8-git-send-email-jgross@suse.com> References: <1456400017-5789-1-git-send-email-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1456400017-5789-1-git-send-email-jgross@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: grub-devel@gnu.org Cc: Juergen Gross , phcoder@gmail.com, daniel.kiper@oracle.com, mchang@suse.com, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org RG8gdGhlIGFsbG9jYXRpb24gb2Ygc3BlY2lhbCBwYWdlcyAoc3RhcnQgaW5mbywgY29uc29sZSBh bmQgeGVuYnVzCnJpbmcgYnVmZmVycykgaW4gYSBzZXBhcmF0ZSBmdW5jdGlvbi4gVGhpcyB3aWxs IGFsbG93IHRvIGRvIHRoZQphbGxvY2F0aW9uIGF0IGRpZmZlcmVudCB0aW1lcyBvZiB0aGUgYm9v dCBwcmVwYXJhdGlvbnMgZGVwZW5kaW5nIG9uCnRoZSBmZWF0dXJlcyB0aGUga2VybmVsIGlzIHN1 cHBvcnRpbmcuCgpTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+ ClJldmlld2VkLWJ5OiBEYW5pZWwgS2lwZXIgPGRhbmllbC5raXBlckBvcmFjbGUuY29tPgotLS0K IGdydWItY29yZS9sb2FkZXIvaTM4Ni94ZW4uYyB8IDQ4ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDMxIGluc2VydGlvbnMoKyks IDE3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2dydWItY29yZS9sb2FkZXIvaTM4Ni94ZW4u YyBiL2dydWItY29yZS9sb2FkZXIvaTM4Ni94ZW4uYwppbmRleCBhMmZkMWY2Li5hODBjMGY4IDEw MDY0NAotLS0gYS9ncnViLWNvcmUvbG9hZGVyL2kzODYveGVuLmMKKysrIGIvZ3J1Yi1jb3JlL2xv YWRlci9pMzg2L3hlbi5jCkBAIC00OCw2ICs0OCw4IEBAIHN0cnVjdCB4ZW5fbG9hZGVyX3N0YXRl IHsKICAgc3RydWN0IHN0YXJ0X2luZm8gbmV4dF9zdGFydDsKICAgc3RydWN0IGdydWJfeGVuX2Zp bGVfaW5mbyB4ZW5faW5mOwogICBncnViX3hlbl9tZm5fdCAqdmlydF9tZm5fbGlzdDsKKyAgc3Ry dWN0IHN0YXJ0X2luZm8gKnZpcnRfc3RhcnRfaW5mbzsKKyAgZ3J1Yl94ZW5fbWZuX3QgY29uc29s ZV9wZm47CiAgIGdydWJfdWludDY0X3QgbWF4X2FkZHI7CiAgIHN0cnVjdCB4ZW5fbXVsdGlib290 X21vZF9saXN0ICptb2R1bGVfaW5mb19wYWdlOwogICBncnViX3VpbnQ2NF90IG1vZHVsZXNfdGFy Z2V0X3N0YXJ0OwpAQCAtMjQwLDIyICsyNDIsMTAgQEAgZ3J1Yl94ZW5fcDJtX2FsbG9jICh2b2lk KQogfQogCiBzdGF0aWMgZ3J1Yl9lcnJfdAotZ3J1Yl94ZW5fYm9vdCAodm9pZCkKK2dydWJfeGVu X3NwZWNpYWxfYWxsb2MgKHZvaWQpCiB7CiAgIGdydWJfcmVsb2NhdG9yX2NodW5rX3QgY2g7CiAg IGdydWJfZXJyX3QgZXJyOwotICBzdHJ1Y3Qgc3RhcnRfaW5mbyAqbnN0OwotICBncnViX3VpbnQ2 NF90IG5yX2luZm9fcGFnZXM7Ci0gIGdydWJfdWludDY0X3QgbnJfcGFnZXMsIG5yX3B0X3BhZ2Vz LCBucl9uZWVkX3BhZ2VzOwotICBzdHJ1Y3QgZ250dGFiX3NldF92ZXJzaW9uIGdudHRhYl9zZXR2 ZXI7Ci0gIGdydWJfc2l6ZV90IGk7Ci0KLSAgaWYgKGdydWJfeGVuX25fYWxsb2NhdGVkX3NoYXJl ZF9wYWdlcykKLSAgICByZXR1cm4gZ3J1Yl9lcnJvciAoR1JVQl9FUlJfQlVHLCAiYWN0aXZlIGdy YW50cyIpOwotCi0gIGVyciA9IGdydWJfeGVuX3AybV9hbGxvYyAoKTsKLSAgaWYgKGVycikKLSAg ICByZXR1cm4gZXJyOwogCiAgIGVyciA9IGdydWJfcmVsb2NhdG9yX2FsbG9jX2NodW5rX2FkZHIg KHhlbl9zdGF0ZS5yZWxvY2F0b3IsICZjaCwKIAkJCQkJIHhlbl9zdGF0ZS5tYXhfYWRkciwKQEAg LTI2Myw5ICsyNTMsMTEgQEAgZ3J1Yl94ZW5fYm9vdCAodm9pZCkKICAgaWYgKGVycikKICAgICBy ZXR1cm4gZXJyOwogICB4ZW5fc3RhdGUuc3RhdGUuc3RhcnRfaW5mbyA9IHhlbl9zdGF0ZS5tYXhf YWRkciArIHhlbl9zdGF0ZS54ZW5faW5mLnZpcnRfYmFzZTsKLSAgbnN0ID0gZ2V0X3ZpcnR1YWxf Y3VycmVudF9hZGRyZXNzIChjaCk7CisgIHhlbl9zdGF0ZS52aXJ0X3N0YXJ0X2luZm8gPSBnZXRf dmlydHVhbF9jdXJyZW50X2FkZHJlc3MgKGNoKTsKICAgeGVuX3N0YXRlLm1heF9hZGRyID0KICAg ICBBTElHTl9VUCAoeGVuX3N0YXRlLm1heF9hZGRyICsgc2l6ZW9mICh4ZW5fc3RhdGUubmV4dF9z dGFydCksIFBBR0VfU0laRSk7CisgIHhlbl9zdGF0ZS5jb25zb2xlX3BmbiA9IHhlbl9zdGF0ZS5t YXhfYWRkciA+PiBQQUdFX1NISUZUOworICB4ZW5fc3RhdGUubWF4X2FkZHIgKz0gMiAqIFBBR0Vf U0laRTsKIAogICB4ZW5fc3RhdGUubmV4dF9zdGFydC5ucl9wYWdlcyA9IGdydWJfeGVuX3N0YXJ0 X3BhZ2VfYWRkci0+bnJfcGFnZXM7CiAgIGdydWJfbWVtY3B5ICh4ZW5fc3RhdGUubmV4dF9zdGFy dC5tYWdpYywgZ3J1Yl94ZW5fc3RhcnRfcGFnZV9hZGRyLT5tYWdpYywKQEAgLTI3NSwxMCArMjY3 LDI4IEBAIGdydWJfeGVuX2Jvb3QgKHZvaWQpCiAgIHhlbl9zdGF0ZS5uZXh0X3N0YXJ0LmNvbnNv bGUuZG9tVSA9IGdydWJfeGVuX3N0YXJ0X3BhZ2VfYWRkci0+Y29uc29sZS5kb21VOwogICB4ZW5f c3RhdGUubmV4dF9zdGFydC5zaGFyZWRfaW5mbyA9IGdydWJfeGVuX3N0YXJ0X3BhZ2VfYWRkci0+ c2hhcmVkX2luZm87CiAKLSAgZXJyID0gc2V0X21mbnMgKHhlbl9zdGF0ZS5tYXhfYWRkciA+PiBQ QUdFX1NISUZUKTsKKyAgcmV0dXJuIEdSVUJfRVJSX05PTkU7Cit9CisKK3N0YXRpYyBncnViX2Vy cl90CitncnViX3hlbl9ib290ICh2b2lkKQoreworICBncnViX3JlbG9jYXRvcl9jaHVua190IGNo OworICBncnViX2Vycl90IGVycjsKKyAgZ3J1Yl91aW50NjRfdCBucl9pbmZvX3BhZ2VzOworICBn cnViX3VpbnQ2NF90IG5yX3BhZ2VzLCBucl9wdF9wYWdlcywgbnJfbmVlZF9wYWdlczsKKyAgc3Ry dWN0IGdudHRhYl9zZXRfdmVyc2lvbiBnbnR0YWJfc2V0dmVyOworICBncnViX3NpemVfdCBpOwor CisgIGlmIChncnViX3hlbl9uX2FsbG9jYXRlZF9zaGFyZWRfcGFnZXMpCisgICAgcmV0dXJuIGdy dWJfZXJyb3IgKEdSVUJfRVJSX0JVRywgImFjdGl2ZSBncmFudHMiKTsKKworICBlcnIgPSBncnVi X3hlbl9wMm1fYWxsb2MgKCk7CisgIGlmIChlcnIpCisgICAgcmV0dXJuIGVycjsKKyAgZXJyID0g Z3J1Yl94ZW5fc3BlY2lhbF9hbGxvYyAoKTsKICAgaWYgKGVycikKICAgICByZXR1cm4gZXJyOwot ICB4ZW5fc3RhdGUubWF4X2FkZHIgKz0gMiAqIFBBR0VfU0laRTsKIAogICB4ZW5fc3RhdGUubmV4 dF9zdGFydC5wdF9iYXNlID0KICAgICB4ZW5fc3RhdGUubWF4X2FkZHIgKyB4ZW5fc3RhdGUueGVu X2luZi52aXJ0X2Jhc2U7CkBAIC0zMDksNiArMzE5LDEwIEBAIGdydWJfeGVuX2Jvb3QgKHZvaWQp CiAgIGlmIChlcnIpCiAgICAgcmV0dXJuIGVycjsKIAorICBlcnIgPSBzZXRfbWZucyAoeGVuX3N0 YXRlLmNvbnNvbGVfcGZuKTsKKyAgaWYgKGVycikKKyAgICByZXR1cm4gZXJyOworCiAgIGdlbmVy YXRlX3BhZ2VfdGFibGUgKGdldF92aXJ0dWFsX2N1cnJlbnRfYWRkcmVzcyAoY2gpLAogCQkgICAg ICAgeGVuX3N0YXRlLm1heF9hZGRyID4+IFBBR0VfU0hJRlQsIG5yX3BhZ2VzLAogCQkgICAgICAg eGVuX3N0YXRlLnhlbl9pbmYudmlydF9iYXNlLCB4ZW5fc3RhdGUudmlydF9tZm5fbGlzdCk7CkBA IC0zMjEsNyArMzM1LDcgQEAgZ3J1Yl94ZW5fYm9vdCAodm9pZCkKICAgeGVuX3N0YXRlLm5leHRf c3RhcnQubnJfcHRfZnJhbWVzID0gbnJfcHRfcGFnZXM7CiAgIHhlbl9zdGF0ZS5zdGF0ZS5wYWdp bmdfc2l6ZSA9IG5yX3B0X3BhZ2VzOwogCi0gICpuc3QgPSB4ZW5fc3RhdGUubmV4dF9zdGFydDsK KyAgKnhlbl9zdGF0ZS52aXJ0X3N0YXJ0X2luZm8gPSB4ZW5fc3RhdGUubmV4dF9zdGFydDsKIAog ICBncnViX21lbXNldCAoJmdudHRhYl9zZXR2ZXIsIDAsIHNpemVvZiAoZ250dGFiX3NldHZlcikp OwogCi0tIAoyLjYuMgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0 cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==