Date: Thu, 22 May 2014 11:32:12 -0400 From: =?UTF-8?Q?Rafael_Esp=C3=ADndola?= <rafael.espindola@gmail.com> To: freebsd-current@freebsd.org, Ed Maste <emaste@freebsd.org> Subject: [patch] Switch to text mode during efi boot Message-ID: <CAG3jReLhdO7xdM8W8M65iokD9y5tFDTR7vRO0Tz8C6d0e5Q3Jw@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
--20cf303f6cb229999604f9fed12b Content-Type: text/plain; charset=UTF-8 The attached patch causes both boot1 and loader.efi to switch to text mode. This only seems to make a difference on Macs where otherwise no information was being displayed. The ConsoleControl.h file is copied from EdkCompatibilityPkg/Foundation/Protocol/ConsoleControl in https://github.com/tianocore/edk2. I tested that both programs are able to change to text mode by enabling only one of them at a time. With this patch I am able to see loaders output on all the macs I tried. The kernel boots correctly on a MacPro, but unfortunately it doesn't seem to be able to find the efi buffer in a MacBookPro. Some design questions: * Why do we have both boot1 and loader? It is just the issue with building a usb image without root that requires having a boot1 that has a predictable size? * Even if we want to keep both boot1 and loader, could boot1 use libefi? * Is it ok to always switch to text mode in libefi or should it provide a switch_to_text_mode function? Cheers, Rafael --20cf303f6cb229999604f9fed12b Content-Type: application/octet-stream; name="efi.patch" Content-Disposition: attachment; filename="efi.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hvi7mgn50 SW5kZXg6IHN5cy9ib290L2FtZDY0L2Jvb3QxLmVmaS9ib290MS5jCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5 cy9ib290L2FtZDY0L2Jvb3QxLmVmaS9ib290MS5jCShyZXZpc2lvbiAyNjYxNTkpCisrKyBzeXMv Ym9vdC9hbWQ2NC9ib290MS5lZmkvYm9vdDEuYwkod29ya2luZyBjb3B5KQpAQCAtMjYsNiArMjYs NyBAQAogI2luY2x1ZGUgPG1hY2hpbmUvc3RkYXJnLmg+CiAKICNpbmNsdWRlIDxlZmkuaD4KKyNp bmNsdWRlIDxDb25zb2xlQ29udHJvbC5oPgogCiAjZGVmaW5lIF9QQVRIX0xPQURFUgkiL2Jvb3Qv bG9hZGVyLmVmaSIKICNkZWZpbmUgX1BBVEhfS0VSTkVMCSIvYm9vdC9rZXJuZWwva2VybmVsIgpA QCAtOTcsNiArOTgsNyBAQAogc3RhdGljIEVGSV9HVUlEIEJsb2NrSW9Qcm90b2NvbEdVSUQgPSBC TE9DS19JT19QUk9UT0NPTDsKIHN0YXRpYyBFRklfR1VJRCBEZXZpY2VQYXRoR1VJRCA9IERFVklD RV9QQVRIX1BST1RPQ09MOwogc3RhdGljIEVGSV9HVUlEIExvYWRlZEltYWdlR1VJRCA9IExPQURF RF9JTUFHRV9QUk9UT0NPTDsKK3N0YXRpYyBFRklfR1VJRCBDb25zb2xlQ29udHJvbEdVSUQgPSAg RUZJX0NPTlNPTEVfQ09OVFJPTF9QUk9UT0NPTF9HVUlEOwogCiBzdGF0aWMgRUZJX0JMT0NLX0lP ICpib290ZGV2Owogc3RhdGljIEVGSV9ERVZJQ0VfUEFUSCAqYm9vdGRldnBhdGg7CkBAIC0xMTcs NiArMTE5LDE2IEBACiAJcHJpbnRmKCIgXG4+PiBGcmVlQlNEIEVGSSBib290IGJsb2NrXG4iKTsK IAlwcmludGYoIiAgIExvYWRlciBwYXRoOiAlc1xuIiwgcGF0aCk7CiAKKwlFRklfQk9PVF9TRVJW SUNFUyAqQlMgPSBzeXN0YWItPkJvb3RTZXJ2aWNlczsKKwlFRklfQ09OU09MRV9DT05UUk9MX1BS T1RPQ09MICpDb25zb2xlQ29udHJvbCA9IE5VTEw7CisJc3RhdHVzID0gQlMtPkxvY2F0ZVByb3Rv Y29sKCZDb25zb2xlQ29udHJvbEdVSUQsIE5VTEwsIChWT0lEICoqKSYgQ29uc29sZUNvbnRyb2wp OworCWlmIChFRklfRVJST1Ioc3RhdHVzKSkKKwkJcGFuaWMoIk5vIGNvbnNvbGUgY29udHJvbCBw cm90b2NvbCBsb2NhdGVkIik7CisKKwlzdGF0dXMgPSBDb25zb2xlQ29udHJvbC0+U2V0TW9kZShD b25zb2xlQ29udHJvbCwgRWZpQ29uc29sZUNvbnRyb2xTY3JlZW5UZXh0KTsKKwlpZiAoRUZJX0VS Uk9SKHN0YXR1cykpCisJCXBhbmljKCJDb3VsZCBub3Qgc3dpdGNoIHRvIHRleHQgbW9kZSIpOwor CiAJc3RhdHVzID0gc3lzdGFiLT5Cb290U2VydmljZXMtPkxvY2F0ZUhhbmRsZShCeVByb3RvY29s LAogCSAgICAmQmxvY2tJb1Byb3RvY29sR1VJRCwgTlVMTCwgJm5wYXJ0cywgaGFuZGxlcyk7CiAJ bnBhcnRzIC89IHNpemVvZihoYW5kbGVzWzBdKTsKSW5kZXg6IHN5cy9ib290L2VmaS9pbmNsdWRl L0NvbnNvbGVDb250cm9sLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3lzL2Jvb3QvZWZpL2luY2x1ZGUvQ29u c29sZUNvbnRyb2wuaAkocmV2aXNpb24gMCkKKysrIHN5cy9ib290L2VmaS9pbmNsdWRlL0NvbnNv bGVDb250cm9sLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMjIgQEAKKy8qKysgCisKK0Nv cHlyaWdodCAoYykgMjAwNCAtIDIwMTAsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJl c2VydmVkLjxCUj4KK1RoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMg ICAgICAgICAgICAgICAgICAgICAgICAgIAorYXJlIGxpY2Vuc2VkIGFuZCBtYWRlIGF2YWlsYWJs ZSB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlIEJTRCBMaWNlbnNlICAgICAg ICAgCit3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbi4gIFRoZSBmdWxsIHRleHQg b2YgdGhlIGxpY2Vuc2UgbWF5IGJlIGZvdW5kIGF0ICAgICAgICAKK2h0dHA6Ly9vcGVuc291cmNl Lm9yZy9saWNlbnNlcy9ic2QtbGljZW5zZS5waHAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCitUSEUg UFJPR1JBTSBJUyBESVNUUklCVVRFRCBVTkRFUiBUSEUgQlNEIExJQ0VOU0UgT04gQU4gIkFTIElT IiBCQVNJUywgICAgICAgICAgICAgICAgICAgICAKK1dJVEhPVVQgV0FSUkFOVElFUyBPUiBSRVBS RVNFTlRBVElPTlMgT0YgQU5ZIEtJTkQsIEVJVEhFUiBFWFBSRVNTIE9SIElNUExJRUQuICAgICAg ICAgICAgIAorCitNb2R1bGUgTmFtZToKKworICBDb25zb2xlQ29udHJvbC5oCisKK0Fic3RyYWN0 OgorCisgIEFic3RyYWN0aW9uIG9mIGEgVGV4dCBtb2RlIG9yIEdPUC9VR0Egc2NyZWVuCisKKy0t Ki8KKworI2lmbmRlZiBfX0NPTlNPTEVfQ09OVFJPTF9IX18KKyNkZWZpbmUgX19DT05TT0xFX0NP TlRST0xfSF9fCisKKyNkZWZpbmUgRUZJX0NPTlNPTEVfQ09OVFJPTF9QUk9UT0NPTF9HVUlEIFwK KyAgeyAweGY0MmY3NzgyLCAweDEyZSwgMHg0YzEyLCB7MHg5OSwgMHg1NiwgMHg0OSwgMHhmOSwg MHg0MywgMHg0LCAweGY3LCAweDIxfSB9CisKK3R5cGVkZWYgc3RydWN0IF9FRklfQ09OU09MRV9D T05UUk9MX1BST1RPQ09MICAgRUZJX0NPTlNPTEVfQ09OVFJPTF9QUk9UT0NPTDsKKworCit0eXBl ZGVmIGVudW0geworICBFZmlDb25zb2xlQ29udHJvbFNjcmVlblRleHQsCisgIEVmaUNvbnNvbGVD b250cm9sU2NyZWVuR3JhcGhpY3MsCisgIEVmaUNvbnNvbGVDb250cm9sU2NyZWVuTWF4VmFsdWUK K30gRUZJX0NPTlNPTEVfQ09OVFJPTF9TQ1JFRU5fTU9ERTsKKworCit0eXBlZGVmCitFRklfU1RB VFVTCisoRUZJQVBJICpFRklfQ09OU09MRV9DT05UUk9MX1BST1RPQ09MX0dFVF9NT0RFKSAoCisg IElOICBFRklfQ09OU09MRV9DT05UUk9MX1BST1RPQ09MICAgICAgKlRoaXMsCisgIE9VVCBFRklf Q09OU09MRV9DT05UUk9MX1NDUkVFTl9NT0RFICAgKk1vZGUsCisgIE9VVCBCT09MRUFOICAgICAg ICAgICAgICAgICAgICAgICAgICAgKkdvcFVnYUV4aXN0cywgIE9QVElPTkFMICAKKyAgT1VUIEJP T0xFQU4gICAgICAgICAgICAgICAgICAgICAgICAgICAqU3RkSW5Mb2NrZWQgICAgT1BUSU9OQUwK KyAgKQorLyorKworCisgIFJvdXRpbmUgRGVzY3JpcHRpb246CisgICAgUmV0dXJuIHRoZSBjdXJy ZW50IHZpZGVvIG1vZGUgaW5mb3JtYXRpb24uIEFsc28gcmV0dXJucyBpbmZvIGFib3V0IGV4aXN0 ZW5jZQorICAgIG9mIEdyYXBoaWNzIE91dHB1dCBkZXZpY2VzIG9yIFVHQSBEcmF3IGRldmljZXMg aW4gc3lzdGVtLCBhbmQgaWYgdGhlIFN0ZCBJbgorICAgIGRldmljZSBpcyBsb2NrZWQuIEFsbCB0 aGUgYXJndW1lbnRzIGFyZSBvcHRpb25hbCBhbmQgb25seSByZXR1cm5lZCBpZiBhIG5vbgorICAg IE5VTEwgcG9pbnRlciBpcyBwYXNzZWQgaW4uCisKKyAgQXJndW1lbnRzOgorICAgIFRoaXMgICAg ICAgICAtIFByb3RvY29sIGluc3RhbmNlIHBvaW50ZXIuCisgICAgTW9kZSAgICAgICAgIC0gQXJl IHdlIGluIHRleHQgb2YgZ3JhaGljcyBtb2RlLgorICAgIEdvcFVnYUV4aXN0cyAtIFRSVUUgaWYg Q29uc29sZSBTcGxpdGVyIGhhcyBmb3VuZCBhIEdPUCBvciBVR0EgZGV2aWNlCisgICAgU3RkSW5M b2NrZWQgIC0gVFJVRSBpZiBTdGRJbiBkZXZpY2UgaXMga2V5Ym9hcmQgbG9ja2VkCisKKyAgUmV0 dXJuczoKKyAgICBFRklfU1VDQ0VTUyAgICAgLSBNb2RlIGluZm9ybWF0aW9uIHJldHVybmVkLgor CistLSovCis7CisKKwordHlwZWRlZgorRUZJX1NUQVRVUworKEVGSUFQSSAqRUZJX0NPTlNPTEVf Q09OVFJPTF9QUk9UT0NPTF9TRVRfTU9ERSkgKAorICBJTiAgRUZJX0NPTlNPTEVfQ09OVFJPTF9Q Uk9UT0NPTCAgICAgICpUaGlzLAorICBJTiAgRUZJX0NPTlNPTEVfQ09OVFJPTF9TQ1JFRU5fTU9E RSAgIE1vZGUKKyAgKQorLyorKworCisgIFJvdXRpbmUgRGVzY3JpcHRpb246CisgICAgU2V0IHRo ZSBjdXJyZW50IG1vZGUgdG8gZWl0aGVyIHRleHQgb3IgZ3JhcGhpY3MuIEdyYXBoaWNzIGlzCisg ICAgZm9yIFF1aWV0IEJvb3QuCisKKyAgQXJndW1lbnRzOgorICAgIFRoaXMgIC0gUHJvdG9jb2wg aW5zdGFuY2UgcG9pbnRlci4KKyAgICBNb2RlICAtIE1vZGUgdG8gc2V0IHRoZSAKKworICBSZXR1 cm5zOgorICAgIEVGSV9TVUNDRVNTICAgICAtIE1vZGUgaW5mb3JtYXRpb24gcmV0dXJuZWQuCisK Ky0tKi8KKzsKKworCit0eXBlZGVmCitFRklfU1RBVFVTCisoRUZJQVBJICpFRklfQ09OU09MRV9D T05UUk9MX1BST1RPQ09MX0xPQ0tfU1REX0lOKSAoCisgIElOICBFRklfQ09OU09MRV9DT05UUk9M X1BST1RPQ09MICAgICAgKlRoaXMsCisgIElOIENIQVIxNiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKlBhc3N3b3JkCisgICkKKy8qKysKKworICBSb3V0aW5lIERlc2NyaXB0aW9uOgorICAg IExvY2sgU3RkIEluIGRldmljZXMgdW50aWwgUGFzc3dvcmQgaXMgdHlwZWQuCisKKyAgQXJndW1l bnRzOgorICAgIFRoaXMgICAgIC0gUHJvdG9jb2wgaW5zdGFuY2UgcG9pbnRlci4KKyAgICBQYXNz d29yZCAtIFBhc3N3b3JkIG5lZWRlZCB0byB1bmxvY2sgc2NyZWVuLiBOVUxMIG1lYW5zIHVubG9j ayBrZXlib2FyZAorCisgIFJldHVybnM6CisgICAgRUZJX1NVQ0NFU1MgICAgICAtIE1vZGUgaW5m b3JtYXRpb24gcmV0dXJuZWQuCisgICAgRUZJX0RFVklDRV9FUlJPUiAtIFN0ZCBJbiBub3QgbG9j a2VkCisKKy0tKi8KKzsKKworCisKK3N0cnVjdCBfRUZJX0NPTlNPTEVfQ09OVFJPTF9QUk9UT0NP TCB7CisgIEVGSV9DT05TT0xFX0NPTlRST0xfUFJPVE9DT0xfR0VUX01PREUgICAgICAgICAgIEdl dE1vZGU7CisgIEVGSV9DT05TT0xFX0NPTlRST0xfUFJPVE9DT0xfU0VUX01PREUgICAgICAgICAg IFNldE1vZGU7CisgIEVGSV9DT05TT0xFX0NPTlRST0xfUFJPVE9DT0xfTE9DS19TVERfSU4gICAg ICAgIExvY2tTdGRJbjsKK307CisKK2V4dGVybiBFRklfR1VJRCBnRWZpQ29uc29sZUNvbnRyb2xQ cm90b2NvbEd1aWQ7CisKKyNlbmRpZgoKUHJvcGVydHkgY2hhbmdlcyBvbjogc3lzL2Jvb3QvZWZp L2luY2x1ZGUvQ29uc29sZUNvbnRyb2wuaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWltZS10eXBl CiMjIC0wLDAgKzEgIyMKK3RleHQvcGxhaW4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0 eQpBZGRlZDogc3ZuOmtleXdvcmRzCiMjIC0wLDAgKzEgIyMKK0ZyZWVCU0Q9JUgKXCBObyBuZXds aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj CituYXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogc3lzL2Jvb3Qv ZWZpL2xpYmVmaS9saWJlZmkuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzeXMvYm9vdC9lZmkvbGliZWZpL2xp YmVmaS5jCShyZXZpc2lvbiAyNjYxNTkpCisrKyBzeXMvYm9vdC9lZmkvbGliZWZpL2xpYmVmaS5j CSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSA8ZWZpLmg+CiAjaW5j bHVkZSA8ZWZpbGliLmg+CiAjaW5jbHVkZSA8c3RhbmQuaD4KKyNpbmNsdWRlIDxDb25zb2xlQ29u dHJvbC5oPgogCiBFRklfSEFORExFCQlJSDsKIEVGSV9TWVNURU1fVEFCTEUJKlNUOwpAQCAtODIs NiArODMsOCBAQAogZWZpX21haW4oRUZJX0hBTkRMRSBpbWFnZV9oYW5kbGUsIEVGSV9TWVNURU1f VEFCTEUgKnN5c3RlbV90YWJsZSkKIHsKIAlzdGF0aWMgRUZJX0dVSUQgaW1hZ2VfcHJvdG9jb2wg PSBMT0FERURfSU1BR0VfUFJPVE9DT0w7CisJc3RhdGljIEVGSV9HVUlEIGNvbnNvbGVfY29udHJv bF9wcm90b2NvbCA9ICBFRklfQ09OU09MRV9DT05UUk9MX1BST1RPQ09MX0dVSUQ7CisJRUZJX0NP TlNPTEVfQ09OVFJPTF9QUk9UT0NPTCAqY29uc29sZV9jb250cm9sID0gTlVMTDsKIAlFRklfTE9B REVEX0lNQUdFICppbWc7CiAJQ0hBUjE2ICphcmdwLCAqYXJncywgKiphcmd2OwogCUVGSV9TVEFU VVMgc3RhdHVzOwpAQCAtOTIsNiArOTUsMTQgQEAKIAlCUyA9IFNULT5Cb290U2VydmljZXM7CiAJ UlMgPSBTVC0+UnVudGltZVNlcnZpY2VzOwogCisJc3RhdHVzID0gQlMtPkxvY2F0ZVByb3RvY29s KCZjb25zb2xlX2NvbnRyb2xfcHJvdG9jb2wsIE5VTEwsIChWT0lEICoqKSYgY29uc29sZV9jb250 cm9sKTsKKwlpZiAoRUZJX0VSUk9SKHN0YXR1cykpCisJCUJTLT5FeGl0KElILCBzdGF0dXMsIDAs IE5VTEwpOworCisJc3RhdHVzID0gY29uc29sZV9jb250cm9sLT5TZXRNb2RlKGNvbnNvbGVfY29u dHJvbCwgRWZpQ29uc29sZUNvbnRyb2xTY3JlZW5UZXh0KTsKKwlpZiAoRUZJX0VSUk9SKHN0YXR1 cykpCisJCUJTLT5FeGl0KElILCBzdGF0dXMsIDAsIE5VTEwpOworCiAJaGVhcHNpemUgPSAyICog MTAyNCAqIDEwMjQ7CiAJc3RhdHVzID0gQlMtPkFsbG9jYXRlUGFnZXMoQWxsb2NhdGVBbnlQYWdl cywgRWZpTG9hZGVyRGF0YSwKIAkgICAgRUZJX1NJWkVfVE9fUEFHRVMoaGVhcHNpemUpLCAmaGVh cCk7Cg== --20cf303f6cb229999604f9fed12b--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAG3jReLhdO7xdM8W8M65iokD9y5tFDTR7vRO0Tz8C6d0e5Q3Jw>