From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v4 08/19] xen: add basic hooks for PVH in current code Date: Fri, 2 Nov 2018 13:37:27 +0100 Message-ID: <20181102123738.16395-9-jgross@suse.com> References: <20181102123738.16395-1-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181102123738.16395-1-jgross@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: grub-devel@gnu.org Cc: hans@knorrie.org, phcoder@gmail.com, daniel.kiper@oracle.com, Juergen Gross , xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org QWRkIHRoZSBob29rcyB0byBjdXJyZW50IGNvZGUgbmVlZGVkIGZvciBYZW4gUFZILiBUaGV5IHdp bGwgYmUgZmlsbGVkCndpdGggY29kZSBsYXRlciB3aGVuIHRoZSByZWxhdGVkIGZ1bmN0aW9uYWxp dHkgaXMgYmVpbmcgYWRkZWQuCgpTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NA c3VzZS5jb20+Ci0tLQpWMzogeGVucHZoLT54ZW5fcHZoIChEYW5pZWwgS2lwZXIpCiAgICBhZGp1 c3QgY29weXJpZ2h0IGRhdGUgKFJvZ2VyIFBhdSBNb25uw6kpCi0tLQogZ3J1Yi1jb3JlL2tlcm4v aTM4Ni94ZW4vcHZoLmMgICAgICAgICB8IDM2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrCiBncnViLWNvcmUva2Vybi9pMzg2L3hlbi9zdGFydHVwX3B2aC5TIHwgMjkgKysrKysr KysrKysrKysrKysrKysrKysrKysrKwogZ3J1Yi1jb3JlL2tlcm4veGVuL2luaXQuYyAgICAgICAg ICAgICB8ICA2ICsrKysrKwogZ3J1Yi1jb3JlL2xvYWRlci9pMzg2L2xpbnV4LmMgICAgICAgICB8 ICAxICsKIGluY2x1ZGUvZ3J1Yi9pMzg2L3hlbl9wdmgva2VybmVsLmggICAgfCAzMCArKysrKysr KysrKysrKysrKysrKysrKysrKysrKwogaW5jbHVkZS9ncnViL3hlbi5oICAgICAgICAgICAgICAg ICAgICB8ICA2ICsrKysrKwogNiBmaWxlcyBjaGFuZ2VkLCAxMDggaW5zZXJ0aW9ucygrKQogY3Jl YXRlIG1vZGUgMTAwNjQ0IGdydWItY29yZS9rZXJuL2kzODYveGVuL3B2aC5jCiBjcmVhdGUgbW9k ZSAxMDA2NDQgZ3J1Yi1jb3JlL2tlcm4vaTM4Ni94ZW4vc3RhcnR1cF9wdmguUwogY3JlYXRlIG1v ZGUgMTAwNjQ0IGluY2x1ZGUvZ3J1Yi9pMzg2L3hlbl9wdmgva2VybmVsLmgKCmRpZmYgLS1naXQg YS9ncnViLWNvcmUva2Vybi9pMzg2L3hlbi9wdmguYyBiL2dydWItY29yZS9rZXJuL2kzODYveGVu L3B2aC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uYWM2MTgxZjRlCi0t LSAvZGV2L251bGwKKysrIGIvZ3J1Yi1jb3JlL2tlcm4vaTM4Ni94ZW4vcHZoLmMKQEAgLTAsMCAr MSwzNiBAQAorLyoKKyAqICBHUlVCICAtLSAgR1JhbmQgVW5pZmllZCBCb290bG9hZGVyCisgKiAg Q29weXJpZ2h0IChDKSAyMDE4ICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAqCisg KiAgR1JVQiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig bW9kaWZ5CisgKiAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorICogIChhdCB5b3VyIG9wdGlv bikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIEdSVUIgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFO VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJ TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqICBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ug c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZQorICogIGFsb25nIHdpdGggR1JVQi4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5v cmcvbGljZW5zZXMvPi4KKyAqLworCisjaW5jbHVkZSA8Z3J1Yi9rZXJuZWwuaD4KKyNpbmNsdWRl IDxncnViL21pc2MuaD4KKyNpbmNsdWRlIDxncnViL21lbW9yeS5oPgorI2luY2x1ZGUgPGdydWIv bW0uaD4KKyNpbmNsdWRlIDxncnViL3hlbi5oPgorI2luY2x1ZGUgPGdydWIvbWFjaGluZS9rZXJu ZWwuaD4KKworZ3J1Yl91aW50NjRfdCBncnViX3JzZHBfYWRkcjsKKwordm9pZAorZ3J1Yl94ZW5f c2V0dXBfcHZoICh2b2lkKQoreworfQorCitncnViX2Vycl90CitncnViX21hY2hpbmVfbW1hcF9p dGVyYXRlIChncnViX21lbW9yeV9ob29rX3QgaG9vaywgdm9pZCAqaG9va19kYXRhKQoreworfQpk aWZmIC0tZ2l0IGEvZ3J1Yi1jb3JlL2tlcm4vaTM4Ni94ZW4vc3RhcnR1cF9wdmguUyBiL2dydWIt Y29yZS9rZXJuL2kzODYveGVuL3N0YXJ0dXBfcHZoLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwLi42OWI4ZmRjY2EKLS0tIC9kZXYvbnVsbAorKysgYi9ncnViLWNvcmUva2Vy bi9pMzg2L3hlbi9zdGFydHVwX3B2aC5TCkBAIC0wLDAgKzEsMjkgQEAKKy8qIHN0YXJ0dXAuUyAt IGJvb3RzdHJhcCBHUlVCIGl0c2VsZiAqLworLyoKKyAqICBHUlVCICAtLSAgR1JhbmQgVW5pZmll ZCBCb290bG9hZGVyCisgKiAgQ29weXJpZ2h0IChDKSAyMDE4ICBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4KKyAqCisgKiAgR1JVQiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqICB0aGUgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgor ICogIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIEdSVUIgaXMg ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv ZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gIFNlZSB0aGUKKyAqICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFsb25nIHdpdGggR1JVQi4gIElmIG5vdCwgc2Vl IDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAqLworCisjaW5jbHVkZSA8Y29uZmln Lmg+CisjaW5jbHVkZSA8Z3J1Yi9zeW1ib2wuaD4KKworCS5maWxlCSJzdGFydHVwX3B2aC5TIgor CS50ZXh0CisKKy8qIFNhdmVkIHBvaW50ZXIgdG8gc3RhcnQgaW5mbyBzdHJ1Y3R1cmUuICovCisJ Lmdsb2JsCXB2aF9zdGFydF9pbmZvCitwdmhfc3RhcnRfaW5mbzoKKwkubG9uZwkwCmRpZmYgLS1n aXQgYS9ncnViLWNvcmUva2Vybi94ZW4vaW5pdC5jIGIvZ3J1Yi1jb3JlL2tlcm4veGVuL2luaXQu YwppbmRleCAxMDAwN2I0MTEuLjc4MmNhNzI5NSAxMDA2NDQKLS0tIGEvZ3J1Yi1jb3JlL2tlcm4v eGVuL2luaXQuYworKysgYi9ncnViLWNvcmUva2Vybi94ZW4vaW5pdC5jCkBAIC00NSw2ICs0NSw4 IEBAIGdydWJfeGVuX3B0cjJtZm4gKHZvaWQgKnB0cikKICAgZ3J1Yl94ZW5fbWZuX3QgKm1mbl9s aXN0ID0KICAgICAoZ3J1Yl94ZW5fbWZuX3QgKikgZ3J1Yl94ZW5fc3RhcnRfcGFnZV9hZGRyLT5t Zm5fbGlzdDsKICAgcmV0dXJuIG1mbl9saXN0WyhncnViX2FkZHJfdCkgcHRyID4+IEdSVUJfWEVO X0xPR19QQUdFX1NJWkVdOworI2Vsc2UKKyAgcmV0dXJuIChncnViX2FkZHJfdCkgcHRyID4+IEdS VUJfWEVOX0xPR19QQUdFX1NJWkU7CiAjZW5kaWYKIH0KIApAQCAtNTYyLDYgKzU2NCwxMCBAQCBn cnViX21hY2hpbmVfaW5pdCAodm9pZCkKIAkJCSAgICsgR1JVQl9LRVJORUxfTUFDSElORV9NT0Rf R0FQLAogCQkJICAgR1JVQl9LRVJORUxfTUFDSElORV9NT0RfQUxJR04pOwogCisjaWZkZWYgR1JV Ql9NQUNISU5FX1hFTl9QVkgKKyAgZ3J1Yl94ZW5fc2V0dXBfcHZoICgpOworI2VuZGlmCisKICAg Z3J1Yl94ZW5fc2V0dXBfZ250dGFiICgpOwogCiAjaWZkZWYgR1JVQl9NQUNISU5FX1hFTgpkaWZm IC0tZ2l0IGEvZ3J1Yi1jb3JlL2xvYWRlci9pMzg2L2xpbnV4LmMgYi9ncnViLWNvcmUvbG9hZGVy L2kzODYvbGludXguYwppbmRleCA1MTkyMDg5NmUuLmY5NjMwOTQ3NiAxMDA2NDQKLS0tIGEvZ3J1 Yi1jb3JlL2xvYWRlci9pMzg2L2xpbnV4LmMKKysrIGIvZ3J1Yi1jb3JlL2xvYWRlci9pMzg2L2xp bnV4LmMKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlIDxncnViL2kxOG4uaD4KICNpbmNsdWRl IDxncnViL2xpYi9jbWRsaW5lLmg+CiAjaW5jbHVkZSA8Z3J1Yi9saW51eC5oPgorI2luY2x1ZGUg PGdydWIvbWFjaGluZS9rZXJuZWwuaD4KIAogR1JVQl9NT0RfTElDRU5TRSAoIkdQTHYzKyIpOwog CmRpZmYgLS1naXQgYS9pbmNsdWRlL2dydWIvaTM4Ni94ZW5fcHZoL2tlcm5lbC5oIGIvaW5jbHVk ZS9ncnViL2kzODYveGVuX3B2aC9rZXJuZWwuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAuLjJiN2I4YTEyOQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvZ3J1Yi9pMzg2 L3hlbl9wdmgva2VybmVsLmgKQEAgLTAsMCArMSwzMCBAQAorLyoKKyAqICBHUlVCICAtLSAgR1Jh bmQgVW5pZmllZCBCb290bG9hZGVyCisgKiAgQ29weXJpZ2h0IChDKSAyMDE4ICBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KKyAqCisgKiAgR1JVQiBpcyBmcmVlIHNvZnR3YXJlOiB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiAgaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqICB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNl bnNlLCBvcgorICogIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICog IEdSVUIgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK KyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3 YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig bW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFsb25nIHdpdGggR1JVQi4gIElm IG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAqLworCisjaWZuZGVm IEdSVUJfS0VSTkVMX01BQ0hJTkVfSEVBREVSCisjZGVmaW5lIEdSVUJfS0VSTkVMX01BQ0hJTkVf SEVBREVSCTEKKworI2lmbmRlZiBBU01fRklMRQorCisjZGVmaW5lIEdSVUJfS0VSTkVMX1VTRV9S U0RQX0FERFIJMQorCitleHRlcm4gZ3J1Yl91aW50NjRfdCBFWFBPUlRfVkFSKGdydWJfcnNkcF9h ZGRyKTsKKworI2VuZGlmIC8qICEgQVNNX0ZJTEUgKi8KKworI2VuZGlmIC8qIEdSVUJfS0VSTkVM X01BQ0hJTkVfSEVBREVSICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2dydWIveGVuLmggYi9pbmNs dWRlL2dydWIveGVuLmgKaW5kZXggYzMxY2MxMGM3Li40Y2IyYzhmNDMgMTAwNjQ0Ci0tLSBhL2lu Y2x1ZGUvZ3J1Yi94ZW4uaAorKysgYi9pbmNsdWRlL2dydWIveGVuLmgKQEAgLTQzLDYgKzQzLDcg QEAgdHlwZWRlZiBncnViX3VpbnQ2NF90IHVpbnQ2NF90OwogCiAjaW5jbHVkZSA8eGVuL3NjaGVk Lmg+CiAjaW5jbHVkZSA8eGVuL2dyYW50X3RhYmxlLmg+CisjaW5jbHVkZSA8eGVuL2h2bS9zdGFy dF9pbmZvLmg+CiAjaW5jbHVkZSA8eGVuL2lvL2NvbnNvbGUuaD4KICNpbmNsdWRlIDx4ZW4vaW8v eHNfd2lyZS5oPgogI2luY2x1ZGUgPHhlbi9pby94ZW5idXMuaD4KQEAgLTk1LDYgKzk2LDExIEBA IHR5cGVkZWYgZ3J1Yl91aW50NjRfdCBncnViX3hlbl9tZm5fdDsKIHR5cGVkZWYgZ3J1Yl91aW50 MzJfdCBncnViX3hlbl9tZm5fdDsKICNlbmRpZgogdHlwZWRlZiB1bnNpZ25lZCBpbnQgZ3J1Yl94 ZW5fZXZ0Y2huX3Q7CisKKyNpZmRlZiBHUlVCX01BQ0hJTkVfWEVOX1BWSAorZXh0ZXJuIHN0cnVj dCBodm1fc3RhcnRfaW5mbyAqcHZoX3N0YXJ0X2luZm87Cit2b2lkIGdydWJfeGVuX3NldHVwX3B2 aCAodm9pZCk7CisjZW5kaWYKICNlbmRpZgogCiAjZW5kaWYKLS0gCjIuMTYuNAoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5n IGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJv amVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw= From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1gIYwW-0006vP-3Z for mharc-grub-devel@gnu.org; Fri, 02 Nov 2018 08:52:52 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43556) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gIYwR-0005Nw-FF for grub-devel@gnu.org; Fri, 02 Nov 2018 08:52:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gIYhw-00053U-0V for grub-devel@gnu.org; Fri, 02 Nov 2018 08:37:51 -0400 Received: from mx2.suse.de ([195.135.220.15]:50238 helo=mx1.suse.de) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gIYhv-00052S-H6 for grub-devel@gnu.org; Fri, 02 Nov 2018 08:37:47 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id D1072AEE1; Fri, 2 Nov 2018 12:37:42 +0000 (UTC) From: Juergen Gross To: grub-devel@gnu.org Cc: xen-devel@lists.xen.org, phcoder@gmail.com, daniel.kiper@oracle.com, hans@knorrie.org, Juergen Gross Subject: [PATCH v4 08/19] xen: add basic hooks for PVH in current code Date: Fri, 2 Nov 2018 13:37:27 +0100 Message-Id: <20181102123738.16395-9-jgross@suse.com> X-Mailer: git-send-email 2.16.4 In-Reply-To: <20181102123738.16395-1-jgross@suse.com> References: <20181102123738.16395-1-jgross@suse.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x (no timestamps) [generic] X-Received-From: 195.135.220.15 X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Nov 2018 12:52:49 -0000 Add the hooks to current code needed for Xen PVH. They will be filled with code later when the related functionality is being added. Signed-off-by: Juergen Gross --- V3: xenpvh->xen_pvh (Daniel Kiper) adjust copyright date (Roger Pau Monn=C3=A9) --- grub-core/kern/i386/xen/pvh.c | 36 +++++++++++++++++++++++++++++= ++++++ grub-core/kern/i386/xen/startup_pvh.S | 29 ++++++++++++++++++++++++++++ grub-core/kern/xen/init.c | 6 ++++++ grub-core/loader/i386/linux.c | 1 + include/grub/i386/xen_pvh/kernel.h | 30 +++++++++++++++++++++++++++++ include/grub/xen.h | 6 ++++++ 6 files changed, 108 insertions(+) create mode 100644 grub-core/kern/i386/xen/pvh.c create mode 100644 grub-core/kern/i386/xen/startup_pvh.S create mode 100644 include/grub/i386/xen_pvh/kernel.h diff --git a/grub-core/kern/i386/xen/pvh.c b/grub-core/kern/i386/xen/pvh.= c new file mode 100644 index 000000000..ac6181f4e --- /dev/null +++ b/grub-core/kern/i386/xen/pvh.c @@ -0,0 +1,36 @@ +/* + * GRUB -- GRand Unified Bootloader + * Copyright (C) 2018 Free Software Foundation, Inc. + * + * GRUB is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * GRUB is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GRUB. If not, see . + */ + +#include +#include +#include +#include +#include +#include + +grub_uint64_t grub_rsdp_addr; + +void +grub_xen_setup_pvh (void) +{ +} + +grub_err_t +grub_machine_mmap_iterate (grub_memory_hook_t hook, void *hook_data) +{ +} diff --git a/grub-core/kern/i386/xen/startup_pvh.S b/grub-core/kern/i386/= xen/startup_pvh.S new file mode 100644 index 000000000..69b8fdcca --- /dev/null +++ b/grub-core/kern/i386/xen/startup_pvh.S @@ -0,0 +1,29 @@ +/* startup.S - bootstrap GRUB itself */ +/* + * GRUB -- GRand Unified Bootloader + * Copyright (C) 2018 Free Software Foundation, Inc. + * + * GRUB is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * GRUB is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GRUB. If not, see . + */ + +#include +#include + + .file "startup_pvh.S" + .text + +/* Saved pointer to start info structure. */ + .globl pvh_start_info +pvh_start_info: + .long 0 diff --git a/grub-core/kern/xen/init.c b/grub-core/kern/xen/init.c index 10007b411..782ca7295 100644 --- a/grub-core/kern/xen/init.c +++ b/grub-core/kern/xen/init.c @@ -45,6 +45,8 @@ grub_xen_ptr2mfn (void *ptr) grub_xen_mfn_t *mfn_list =3D (grub_xen_mfn_t *) grub_xen_start_page_addr->mfn_list; return mfn_list[(grub_addr_t) ptr >> GRUB_XEN_LOG_PAGE_SIZE]; +#else + return (grub_addr_t) ptr >> GRUB_XEN_LOG_PAGE_SIZE; #endif } =20 @@ -562,6 +564,10 @@ grub_machine_init (void) + GRUB_KERNEL_MACHINE_MOD_GAP, GRUB_KERNEL_MACHINE_MOD_ALIGN); =20 +#ifdef GRUB_MACHINE_XEN_PVH + grub_xen_setup_pvh (); +#endif + grub_xen_setup_gnttab (); =20 #ifdef GRUB_MACHINE_XEN diff --git a/grub-core/loader/i386/linux.c b/grub-core/loader/i386/linux.= c index 51920896e..f96309476 100644 --- a/grub-core/loader/i386/linux.c +++ b/grub-core/loader/i386/linux.c @@ -35,6 +35,7 @@ #include #include #include +#include =20 GRUB_MOD_LICENSE ("GPLv3+"); =20 diff --git a/include/grub/i386/xen_pvh/kernel.h b/include/grub/i386/xen_p= vh/kernel.h new file mode 100644 index 000000000..2b7b8a129 --- /dev/null +++ b/include/grub/i386/xen_pvh/kernel.h @@ -0,0 +1,30 @@ +/* + * GRUB -- GRand Unified Bootloader + * Copyright (C) 2018 Free Software Foundation, Inc. + * + * GRUB is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * GRUB is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GRUB. If not, see . + */ + +#ifndef GRUB_KERNEL_MACHINE_HEADER +#define GRUB_KERNEL_MACHINE_HEADER 1 + +#ifndef ASM_FILE + +#define GRUB_KERNEL_USE_RSDP_ADDR 1 + +extern grub_uint64_t EXPORT_VAR(grub_rsdp_addr); + +#endif /* ! ASM_FILE */ + +#endif /* GRUB_KERNEL_MACHINE_HEADER */ diff --git a/include/grub/xen.h b/include/grub/xen.h index c31cc10c7..4cb2c8f43 100644 --- a/include/grub/xen.h +++ b/include/grub/xen.h @@ -43,6 +43,7 @@ typedef grub_uint64_t uint64_t; =20 #include #include +#include #include #include #include @@ -95,6 +96,11 @@ typedef grub_uint64_t grub_xen_mfn_t; typedef grub_uint32_t grub_xen_mfn_t; #endif typedef unsigned int grub_xen_evtchn_t; + +#ifdef GRUB_MACHINE_XEN_PVH +extern struct hvm_start_info *pvh_start_info; +void grub_xen_setup_pvh (void); +#endif #endif =20 #endif --=20 2.16.4