From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v5 09/20] xen: add basic hooks for PVH in current code Date: Wed, 21 Nov 2018 15:28:44 +0100 Message-ID: <20181121142855.13537-10-jgross@suse.com> References: <20181121142855.13537-1-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181121142855.13537-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: Juergen Gross , phcoder@gmail.com, daniel.kiper@oracle.com, xen-devel@lists.xen.org, hans@knorrie.org, roger.pau@citrix.com List-Id: xen-devel@lists.xenproject.org QWRkIHRoZSBob29rcyB0byBjdXJyZW50IGNvZGUgbmVlZGVkIGZvciBYZW4gUFZILiBUaGV5IHdp bGwgYmUgZmlsbGVkCndpdGggY29kZSBsYXRlciB3aGVuIHRoZSByZWxhdGVkIGZ1bmN0aW9uYWxp dHkgaXMgYmVpbmcgYWRkZWQuCgpsb2FkZXIvaTM4Ni9saW51eC5jIG5lZWRzIHRvIGluY2x1ZGUg bWFjaGluZS9rZXJuZWwuaCBub3cgYXMgaXQgbmVlZHMKdG8gZ2V0IEdSVUJfS0VSTkVMX1VTRV9S U0RQX0FERFIgZnJvbSB0aGVyZS4KClNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9z c0BzdXNlLmNvbT4KLS0tClYzOiB4ZW5wdmgtPnhlbl9wdmggKERhbmllbCBLaXBlcikKICAgIGFk anVzdCBjb3B5cmlnaHQgZGF0ZSAoUm9nZXIgUGF1IE1vbm7DqSkKVjU6IHVwZGF0ZSBjb21taXQg bWVzc2FnZSAoRGFuaWVsIEtpcGVyKQogICAgbW92ZSBpbmNsdWRpbmcgeGVuL2h2bS9zdGFydF9p bmZvLmggdG8gdGhlIHNvdXJjZXMgcmVhbGx5IG5lZWRpbmcKICAgICAgaXQgKERhbmllbCBLaXBl cikKLS0tCiBncnViLWNvcmUva2Vybi9pMzg2L3hlbi9wdmguYyAgICAgICAgIHwgMzcgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGdydWItY29yZS9rZXJuL2kzODYveGVuL3N0 YXJ0dXBfcHZoLlMgfCAyOSArKysrKysrKysrKysrKysrKysrKysrKysrKysKIGdydWItY29yZS9r ZXJuL3hlbi9pbml0LmMgICAgICAgICAgICAgfCAgNCArKysrCiBncnViLWNvcmUvbG9hZGVyL2kz ODYvbGludXguYyAgICAgICAgIHwgIDEgKwogaW5jbHVkZS9ncnViL2kzODYveGVuX3B2aC9rZXJu ZWwuaCAgICB8IDMwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGluY2x1ZGUvZ3J1Yi94 ZW4uaCAgICAgICAgICAgICAgICAgICAgfCAgNSArKysrKwogNiBmaWxlcyBjaGFuZ2VkLCAxMDYg aW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGdydWItY29yZS9rZXJuL2kzODYveGVu L3B2aC5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ3J1Yi1jb3JlL2tlcm4vaTM4Ni94ZW4vc3RhcnR1 cF9wdmguUwogY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvZ3J1Yi9pMzg2L3hlbl9wdmgva2Vy bmVsLmgKCmRpZmYgLS1naXQgYS9ncnViLWNvcmUva2Vybi9pMzg2L3hlbi9wdmguYyBiL2dydWIt Y29yZS9rZXJuL2kzODYveGVuL3B2aC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMC4uNGY2MjliMTVlCi0tLSAvZGV2L251bGwKKysrIGIvZ3J1Yi1jb3JlL2tlcm4vaTM4Ni94 ZW4vcHZoLmMKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqICBHUlVCICAtLSAgR1JhbmQgVW5pZmll ZCBCb290bG9hZGVyCisgKiAgQ29weXJpZ2h0IChDKSAyMDE4ICBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4KKyAqCisgKiAgR1JVQiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqICB0aGUgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgor ICogIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIEdSVUIgaXMg ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv ZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gIFNlZSB0aGUKKyAqICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFsb25nIHdpdGggR1JVQi4gIElmIG5vdCwgc2Vl IDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAqLworCisjaW5jbHVkZSA8Z3J1Yi9r ZXJuZWwuaD4KKyNpbmNsdWRlIDxncnViL21pc2MuaD4KKyNpbmNsdWRlIDxncnViL21lbW9yeS5o PgorI2luY2x1ZGUgPGdydWIvbW0uaD4KKyNpbmNsdWRlIDxncnViL3hlbi5oPgorI2luY2x1ZGUg PHhlbi9odm0vc3RhcnRfaW5mby5oPgorI2luY2x1ZGUgPGdydWIvbWFjaGluZS9rZXJuZWwuaD4K KworZ3J1Yl91aW50NjRfdCBncnViX3JzZHBfYWRkcjsKKwordm9pZAorZ3J1Yl94ZW5fc2V0dXBf cHZoICh2b2lkKQoreworfQorCitncnViX2Vycl90CitncnViX21hY2hpbmVfbW1hcF9pdGVyYXRl IChncnViX21lbW9yeV9ob29rX3QgaG9vaywgdm9pZCAqaG9va19kYXRhKQoreworfQpkaWZmIC0t Z2l0IGEvZ3J1Yi1jb3JlL2tlcm4vaTM4Ni94ZW4vc3RhcnR1cF9wdmguUyBiL2dydWItY29yZS9r ZXJuL2kzODYveGVuL3N0YXJ0dXBfcHZoLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwLi42OWI4ZmRjY2EKLS0tIC9kZXYvbnVsbAorKysgYi9ncnViLWNvcmUva2Vybi9pMzg2 L3hlbi9zdGFydHVwX3B2aC5TCkBAIC0wLDAgKzEsMjkgQEAKKy8qIHN0YXJ0dXAuUyAtIGJvb3Rz dHJhcCBHUlVCIGl0c2VsZiAqLworLyoKKyAqICBHUlVCICAtLSAgR1JhbmQgVW5pZmllZCBCb290 bG9hZGVyCisgKiAgQ29weXJpZ2h0IChDKSAyMDE4ICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4KKyAqCisgKiAgR1JVQiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqICB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorICogIChh dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIEdSVUIgaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9V VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICog IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZSB0aGUKKyAqICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor ICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZQorICogIGFsb25nIHdpdGggR1JVQi4gIElmIG5vdCwgc2VlIDxodHRw Oi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAqLworCisjaW5jbHVkZSA8Y29uZmlnLmg+Cisj aW5jbHVkZSA8Z3J1Yi9zeW1ib2wuaD4KKworCS5maWxlCSJzdGFydHVwX3B2aC5TIgorCS50ZXh0 CisKKy8qIFNhdmVkIHBvaW50ZXIgdG8gc3RhcnQgaW5mbyBzdHJ1Y3R1cmUuICovCisJLmdsb2Js CXB2aF9zdGFydF9pbmZvCitwdmhfc3RhcnRfaW5mbzoKKwkubG9uZwkwCmRpZmYgLS1naXQgYS9n cnViLWNvcmUva2Vybi94ZW4vaW5pdC5jIGIvZ3J1Yi1jb3JlL2tlcm4veGVuL2luaXQuYwppbmRl eCBhMjNkYWQ2MzMuLjc4MmNhNzI5NSAxMDA2NDQKLS0tIGEvZ3J1Yi1jb3JlL2tlcm4veGVuL2lu aXQuYworKysgYi9ncnViLWNvcmUva2Vybi94ZW4vaW5pdC5jCkBAIC01NjQsNiArNTY0LDEwIEBA IGdydWJfbWFjaGluZV9pbml0ICh2b2lkKQogCQkJICAgKyBHUlVCX0tFUk5FTF9NQUNISU5FX01P RF9HQVAsCiAJCQkgICBHUlVCX0tFUk5FTF9NQUNISU5FX01PRF9BTElHTik7CiAKKyNpZmRlZiBH UlVCX01BQ0hJTkVfWEVOX1BWSAorICBncnViX3hlbl9zZXR1cF9wdmggKCk7CisjZW5kaWYKKwog ICBncnViX3hlbl9zZXR1cF9nbnR0YWIgKCk7CiAKICNpZmRlZiBHUlVCX01BQ0hJTkVfWEVOCmRp ZmYgLS1naXQgYS9ncnViLWNvcmUvbG9hZGVyL2kzODYvbGludXguYyBiL2dydWItY29yZS9sb2Fk ZXIvaTM4Ni9saW51eC5jCmluZGV4IDM3NWVlODBkYy4uYjYwMTU5MTNiIDEwMDY0NAotLS0gYS9n cnViLWNvcmUvbG9hZGVyL2kzODYvbGludXguYworKysgYi9ncnViLWNvcmUvbG9hZGVyL2kzODYv bGludXguYwpAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgPGdydWIvaTE4bi5oPgogI2luY2x1 ZGUgPGdydWIvbGliL2NtZGxpbmUuaD4KICNpbmNsdWRlIDxncnViL2xpbnV4Lmg+CisjaW5jbHVk ZSA8Z3J1Yi9tYWNoaW5lL2tlcm5lbC5oPgogCiBHUlVCX01PRF9MSUNFTlNFICgiR1BMdjMrIik7 CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZ3J1Yi9pMzg2L3hlbl9wdmgva2VybmVsLmggYi9pbmNs dWRlL2dydWIvaTM4Ni94ZW5fcHZoL2tlcm5lbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMC4uMmI3YjhhMTI5Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9ncnViL2kz ODYveGVuX3B2aC9rZXJuZWwuaApAQCAtMCwwICsxLDMwIEBACisvKgorICogIEdSVUIgIC0tICBH UmFuZCBVbmlmaWVkIEJvb3Rsb2FkZXIKKyAqICBDb3B5cmlnaHQgKEMpIDIwMTggIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLgorICoKKyAqICBHUlVCIGlzIGZyZWUgc29mdHdhcmU6IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqICBpdCB1bmRlciB0aGUgdGVy bXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICog IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExp Y2Vuc2UsIG9yCisgKiAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisg KiAgR1JVQiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgYWxvbmcgd2l0aCBHUlVCLiAg SWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorICovCisKKyNpZm5k ZWYgR1JVQl9LRVJORUxfTUFDSElORV9IRUFERVIKKyNkZWZpbmUgR1JVQl9LRVJORUxfTUFDSElO RV9IRUFERVIJMQorCisjaWZuZGVmIEFTTV9GSUxFCisKKyNkZWZpbmUgR1JVQl9LRVJORUxfVVNF X1JTRFBfQUREUgkxCisKK2V4dGVybiBncnViX3VpbnQ2NF90IEVYUE9SVF9WQVIoZ3J1Yl9yc2Rw X2FkZHIpOworCisjZW5kaWYgLyogISBBU01fRklMRSAqLworCisjZW5kaWYgLyogR1JVQl9LRVJO RUxfTUFDSElORV9IRUFERVIgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvZ3J1Yi94ZW4uaCBiL2lu Y2x1ZGUvZ3J1Yi94ZW4uaAppbmRleCBjMzFjYzEwYzcuLjkxY2I3Y2Y4MSAxMDA2NDQKLS0tIGEv aW5jbHVkZS9ncnViL3hlbi5oCisrKyBiL2luY2x1ZGUvZ3J1Yi94ZW4uaApAQCAtOTUsNiArOTUs MTEgQEAgdHlwZWRlZiBncnViX3VpbnQ2NF90IGdydWJfeGVuX21mbl90OwogdHlwZWRlZiBncnVi X3VpbnQzMl90IGdydWJfeGVuX21mbl90OwogI2VuZGlmCiB0eXBlZGVmIHVuc2lnbmVkIGludCBn cnViX3hlbl9ldnRjaG5fdDsKKworI2lmZGVmIEdSVUJfTUFDSElORV9YRU5fUFZICitleHRlcm4g c3RydWN0IGh2bV9zdGFydF9pbmZvICpwdmhfc3RhcnRfaW5mbzsKK3ZvaWQgZ3J1Yl94ZW5fc2V0 dXBfcHZoICh2b2lkKTsKKyNlbmRpZgogI2VuZGlmCiAKICNlbmRpZgotLSAKMi4xNi40CgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1h aWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54 ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA== From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1gPTV9-0006cV-Sp for mharc-grub-devel@gnu.org; Wed, 21 Nov 2018 09:29:11 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56105) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gPTV4-0006JR-0L for grub-devel@gnu.org; Wed, 21 Nov 2018 09:29:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gPTV0-0004JS-8W for grub-devel@gnu.org; Wed, 21 Nov 2018 09:29:05 -0500 Received: from mx2.suse.de ([195.135.220.15]:51152 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 1gPTUz-0004IU-Uh for grub-devel@gnu.org; Wed, 21 Nov 2018 09:29:02 -0500 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay1.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 4D7ECAFE8; Wed, 21 Nov 2018 14:29:00 +0000 (UTC) From: Juergen Gross To: grub-devel@gnu.org Cc: xen-devel@lists.xen.org, phcoder@gmail.com, daniel.kiper@oracle.com, roger.pau@citrix.com, hans@knorrie.org, Juergen Gross Subject: [PATCH v5 09/20] xen: add basic hooks for PVH in current code Date: Wed, 21 Nov 2018 15:28:44 +0100 Message-Id: <20181121142855.13537-10-jgross@suse.com> X-Mailer: git-send-email 2.16.4 In-Reply-To: <20181121142855.13537-1-jgross@suse.com> References: <20181121142855.13537-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: Wed, 21 Nov 2018 14:29:07 -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. loader/i386/linux.c needs to include machine/kernel.h now as it needs to get GRUB_KERNEL_USE_RSDP_ADDR from there. Signed-off-by: Juergen Gross --- V3: xenpvh->xen_pvh (Daniel Kiper) adjust copyright date (Roger Pau Monn=C3=A9) V5: update commit message (Daniel Kiper) move including xen/hvm/start_info.h to the sources really needing it (Daniel Kiper) --- grub-core/kern/i386/xen/pvh.c | 37 +++++++++++++++++++++++++++++= ++++++ grub-core/kern/i386/xen/startup_pvh.S | 29 +++++++++++++++++++++++++++ grub-core/kern/xen/init.c | 4 ++++ grub-core/loader/i386/linux.c | 1 + include/grub/i386/xen_pvh/kernel.h | 30 ++++++++++++++++++++++++++++ include/grub/xen.h | 5 +++++ 6 files changed, 106 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..4f629b15e --- /dev/null +++ b/grub-core/kern/i386/xen/pvh.c @@ -0,0 +1,37 @@ +/* + * 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 +#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 a23dad633..782ca7295 100644 --- a/grub-core/kern/xen/init.c +++ b/grub-core/kern/xen/init.c @@ -564,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 375ee80dc..b6015913b 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..91cb7cf81 100644 --- a/include/grub/xen.h +++ b/include/grub/xen.h @@ -95,6 +95,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