From mboxrd@z Thu Jan 1 00:00:00 1970 From: Liam Merwick Subject: [RFC 3/3] pvh: Boot uncompressed kernel using direct boot ABI Date: Wed, 5 Dec 2018 22:37:26 +0000 Message-ID: <1544049446-6359-4-git-send-email-liam.merwick@oracle.com> References: <1544049446-6359-1-git-send-email-liam.merwick@oracle.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 1gUfns-0005e3-Py for xen-devel@lists.xenproject.org; Wed, 05 Dec 2018 22:38:00 +0000 In-Reply-To: <1544049446-6359-1-git-send-email-liam.merwick@oracle.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: liam.merwick@oracle.com, ehabkost@redhat.com, mst@redhat.com, maran.wilson@oracle.com, stefanha@redhat.com, xen-devel@lists.xenproject.org, pbonzini@redhat.com, rth@twiddle.net, sgarzare@redhat.com List-Id: xen-devel@lists.xenproject.org VGhlc2UgY2hhbmdlcyAoYWxvbmcgd2l0aCBjb3JyZXNwb25kaW5nIHFib290IGFuZCBMaW51eCBr ZXJuZWwgY2hhbmdlcykKZW5hYmxlIGEgZ3Vlc3QgdG8gYmUgYm9vdGVkIHVzaW5nIHRoZSB4ODYv SFZNIGRpcmVjdCBib290IEFCSS4KClRoaXMgY29tbWl0IGFkZHMgYSBsb2FkX2VsZmJvb3QoKSBy b3V0aW5lIHRvIHBhc3MgdGhlIHNpemUgYW5kCmxvY2F0aW9uIG9mIHRoZSBrZXJuZWwgZW50cnkg cG9pbnQgdG8gcWJvb3QgKHdoaWNoIHdpbGwgZmlsbCBpbgp0aGUgc3RhcnRfaW5mbyBzdHJ1Y3Qg aW5mb3JtYXRpb24gbmVlZGVkIHRvIHRvIGJvb3QgdGhlIGd1ZXN0KS4KSGF2aW5nIGxvYWRlZCB0 aGUgRUxGIGJpbmFyeSwgbG9hZF9saW51eCgpIHdpbGwgcnVuIHFib290CndoaWNoIGNvbnRpbnVl cyB0aGUgYm9vdC4KClRoZSBhZGRyZXNzIGZvciB0aGUga2VybmVsIGVudHJ5IHBvaW50IGhhcyBh bHJlYWR5IGJlZW4gcmVhZApmcm9tIGFuIEVMRiBOb3RlIGluIHRoZSB1bmNvbXByZXNzZWQga2Vy bmVsIGJpbmFyeSBlYXJsaWVyCmluIHBjX21lbW9yeV9pbml0KCkuCgpTaWduZWQtb2ZmLWJ5OiBH ZW9yZ2UgS2VubmVkeSA8R2VvcmdlLktlbm5lZHlAb3JhY2xlLmNvbT4KU2lnbmVkLW9mZi1ieTog TGlhbSBNZXJ3aWNrIDxMaWFtLk1lcndpY2tAb3JhY2xlLmNvbT4KLS0tCiBody9pMzg2L3BjLmMg fCA3MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA3MiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEv aHcvaTM4Ni9wYy5jIGIvaHcvaTM4Ni9wYy5jCmluZGV4IDA1NmFhNDZkOTliOS4uZDMwMTJjYmQ4 NTk3IDEwMDY0NAotLS0gYS9ody9pMzg2L3BjLmMKKysrIGIvaHcvaTM4Ni9wYy5jCkBAIC01NCw2 ICs1NCw3IEBACiAjaW5jbHVkZSAic3lzZW11L3F0ZXN0LmgiCiAjaW5jbHVkZSAia3ZtX2kzODYu aCIKICNpbmNsdWRlICJody94ZW4veGVuLmgiCisjaW5jbHVkZSAiaHcveGVuL3N0YXJ0X2luZm8u aCIKICNpbmNsdWRlICJ1aS9xZW11LXNwaWNlLmgiCiAjaW5jbHVkZSAiZXhlYy9tZW1vcnkuaCIK ICNpbmNsdWRlICJleGVjL2FkZHJlc3Mtc3BhY2VzLmgiCkBAIC0xMDk4LDYgKzEwOTksNTAgQEAg ZG9uZToKICAgICByZXR1cm4gcHZoX3N0YXJ0X2FkZHIgIT0gMDsKIH0KIAorc3RhdGljIGJvb2wg bG9hZF9lbGZib290KGNvbnN0IGNoYXIgKmtlcm5lbF9maWxlbmFtZSwKKyAgICAgICAgICAgICAg ICAgICBpbnQga2VybmVsX2ZpbGVfc2l6ZSwKKyAgICAgICAgICAgICAgICAgICB1aW50OF90ICpo ZWFkZXIsCisgICAgICAgICAgICAgICAgICAgc2l6ZV90IHB2aF94ZW5fc3RhcnRfYWRkciwKKyAg ICAgICAgICAgICAgICAgICBGV0NmZ1N0YXRlICpmd19jZmcpCit7CisgICAgdWludDMyX3QgZmxh Z3MgPSAwOworICAgIHVpbnQzMl90IG1oX2xvYWRfYWRkciA9IDA7CisgICAgdWludDMyX3QgZWxm X2tlcm5lbF9zaXplID0gMDsKKyAgICB1aW50NjRfdCBlbGZfZW50cnk7CisgICAgdWludDY0X3Qg ZWxmX2xvdywgZWxmX2hpZ2g7CisgICAgaW50IGtlcm5lbF9zaXplOworCisgICAgaWYgKGxkbF9w KGhlYWRlcikgIT0gMHg0NjRjNDU3ZikgeworICAgICAgICByZXR1cm4gZmFsc2U7IC8qIG5vIGVs ZmJvb3QgKi8KKyAgICB9CisKKyAgICBib29sIGVsZl9pczY0ID0gaGVhZGVyW0VJX0NMQVNTXSA9 PSBFTEZDTEFTUzY0OworICAgIGZsYWdzID0gZWxmX2lzNjQgPworICAgICAgICAoKEVsZjY0X0Vo ZHIgKiloZWFkZXIpLT5lX2ZsYWdzIDogKChFbGYzMl9FaGRyICopaGVhZGVyKS0+ZV9mbGFnczsK KworICAgIGlmIChmbGFncyAmIDB4MDAwMTAwMDQpIHsgLyogTE9BRF9FTEZfSEVBREVSX0hBU19B RERSICovCisgICAgICAgIGVycm9yX3JlcG9ydCgiZWxmYm9vdCB1bnN1cHBvcnRlZCBmbGFncyA9 ICV4IiwgZmxhZ3MpOworICAgICAgICBleGl0KDEpOworICAgIH0KKworICAgIGtlcm5lbF9zaXpl ID0gbG9hZF9lbGYoa2VybmVsX2ZpbGVuYW1lLCBOVUxMLCBOVUxMLCAmZWxmX2VudHJ5LAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgJmVsZl9sb3csICZlbGZfaGlnaCwgMCwgSTM4Nl9FTEZf TUFDSElORSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIDApOworCisgICAgaWYgKGtl cm5lbF9zaXplIDwgMCkgeworICAgICAgICBlcnJvcl9yZXBvcnQoIkVycm9yIHdoaWxlIGxvYWRp bmcgZWxmIGtlcm5lbCIpOworICAgICAgICBleGl0KDEpOworICAgIH0KKyAgICBtaF9sb2FkX2Fk ZHIgPSBlbGZfbG93OworICAgIGVsZl9rZXJuZWxfc2l6ZSA9IGVsZl9oaWdoIC0gZWxmX2xvdzsK KworICAgIGZ3X2NmZ19hZGRfaTMyKGZ3X2NmZywgRldfQ0ZHX0tFUk5FTF9FTlRSWSwgcHZoX3hl bl9zdGFydF9hZGRyKTsKKyAgICBmd19jZmdfYWRkX2kzMihmd19jZmcsIEZXX0NGR19LRVJORUxf QUREUiwgbWhfbG9hZF9hZGRyKTsKKyAgICBmd19jZmdfYWRkX2kzMihmd19jZmcsIEZXX0NGR19L RVJORUxfU0laRSwgZWxmX2tlcm5lbF9zaXplKTsKKworICAgIHJldHVybiB0cnVlOworfQorCiBz dGF0aWMgdm9pZCBsb2FkX2xpbnV4KFBDTWFjaGluZVN0YXRlICpwY21zLAogICAgICAgICAgICAg ICAgICAgICAgICBGV0NmZ1N0YXRlICpmd19jZmcpCiB7CkBAIC0xMTM4LDYgKzExODMsMzMgQEAg c3RhdGljIHZvaWQgbG9hZF9saW51eChQQ01hY2hpbmVTdGF0ZSAqcGNtcywKICAgICBpZiAobGRs X3AoaGVhZGVyKzB4MjAyKSA9PSAweDUzNzI2NDQ4KSB7CiAgICAgICAgIHByb3RvY29sID0gbGR1 d19wKGhlYWRlcisweDIwNik7CiAgICAgfSBlbHNlIHsKKyAgICAgICAgLyogSWYgdGhlIGtlcm5l bCBhZGRyZXNzIGZvciB1c2luZyB0aGUgeDg2L0hWTSBkaXJlY3QgYm9vdCBBQkkgaGFzCisgICAg ICAgICAqIGJlZW4gc2F2ZWQgdGhlbiBwcm9jZWVkIHdpdGggYm9vdGluZyB0aGUgdW5jb21wcmVz c2VkIGtlcm5lbCAqLworICAgICAgICBpZiAocHZoX3N0YXJ0X2FkZHIpIHsKKyAgICAgICAgICAg IGlmIChsb2FkX2VsZmJvb3Qoa2VybmVsX2ZpbGVuYW1lLCBrZXJuZWxfc2l6ZSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgaGVhZGVyLCBwdmhfc3RhcnRfYWRkciwgZndfY2ZnKSkgewor ICAgICAgICAgICAgICAgIHN0cnVjdCBodm1fbW9kbGlzdF9lbnRyeSByYW1kaXNrX21vZCA9IHsg MCB9OworCisgICAgICAgICAgICAgICAgZmNsb3NlKGYpOworCisgICAgICAgICAgICAgICAgZndf Y2ZnX2FkZF9pMzIoZndfY2ZnLCBGV19DRkdfQ01ETElORV9TSVpFLAorICAgICAgICAgICAgICAg ICAgICBzdHJsZW4oa2VybmVsX2NtZGxpbmUpICsgMSk7CisgICAgICAgICAgICAgICAgZndfY2Zn X2FkZF9zdHJpbmcoZndfY2ZnLCBGV19DRkdfQ01ETElORV9EQVRBLCBrZXJuZWxfY21kbGluZSk7 CisKKyAgICAgICAgICAgICAgICBhc3NlcnQobWFjaGluZS0+ZGV2aWNlX21lbW9yeSAhPSBOVUxM KTsKKyAgICAgICAgICAgICAgICByYW1kaXNrX21vZC5wYWRkciA9IG1hY2hpbmUtPmRldmljZV9t ZW1vcnktPmJhc2U7CisgICAgICAgICAgICAgICAgcmFtZGlza19tb2Quc2l6ZSA9CisgICAgICAg ICAgICAgICAgICAgIG1lbW9yeV9yZWdpb25fc2l6ZSgmbWFjaGluZS0+ZGV2aWNlX21lbW9yeS0+ bXIpOworCisgICAgICAgICAgICAgICAgZndfY2ZnX2FkZF9ieXRlcyhmd19jZmcsIEZXX0NGR19L RVJORUxfREFUQSwgJnJhbWRpc2tfbW9kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2l6ZW9mKHJhbWRpc2tfbW9kKSk7CisgICAgICAgICAgICAgICAgZndfY2ZnX2FkZF9pMzIo ZndfY2ZnLCBGV19DRkdfU0VUVVBfU0laRSwgc2l6ZW9mKGhlYWRlcikpOworICAgICAgICAgICAg ICAgIGZ3X2NmZ19hZGRfYnl0ZXMoZndfY2ZnLCBGV19DRkdfU0VUVVBfREFUQSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlciwgc2l6ZW9mKGhlYWRlcikpOworCisgICAg ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9CiAgICAgICAgIC8q IFRoaXMgbG9va3MgbGlrZSBhIG11bHRpYm9vdCBrZXJuZWwuIElmIGl0IGlzLCBsZXQncyBzdG9w CiAgICAgICAgICAgIHRyZWF0aW5nIGl0IGxpa2UgYSBMaW51eCBrZXJuZWwuICovCiAgICAgICAg IGlmIChsb2FkX211bHRpYm9vdChmd19jZmcsIGYsIGtlcm5lbF9maWxlbmFtZSwgaW5pdHJkX2Zp bGVuYW1lLAotLSAKMS44LjMuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnBy b2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94 ZW4tZGV2ZWw=