From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1LhniH-0004K1-Ml for mharc-grub-devel@gnu.org; Thu, 12 Mar 2009 12:24:53 -0400 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LhniE-0004JW-Bn for grub-devel@gnu.org; Thu, 12 Mar 2009 12:24:50 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LhniC-0004JC-TQ for grub-devel@gnu.org; Thu, 12 Mar 2009 12:24:50 -0400 Received: from [199.232.76.173] (port=51020 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LhniC-0004J9-MX for grub-devel@gnu.org; Thu, 12 Mar 2009 12:24:48 -0400 Received: from web42104.mail.mud.yahoo.com ([209.191.86.237]:28975) by monty-python.gnu.org with smtp (Exim 4.60) (envelope-from ) id 1LhniC-000188-4K for grub-devel@gnu.org; Thu, 12 Mar 2009 12:24:48 -0400 Received: (qmail 21805 invoked by uid 60001); 12 Mar 2009 16:24:47 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1236875087; bh=p9Sl6sK3mB1I7lvAChG7NBnV9ebPtuYXsXHi2K8PB78=; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:In-Reply-To:MIME-Version:Content-Type; b=H6ePGqjNqUPxd2vu/p52x0X2cSAa5j+RaCxXBbNf451+nWMobTdjc5VVl/f2AFPt87M7gI2Nl40X+VXLyfnoZu7eSuvjnIIXt8xEFzLhIazerOTSLxAgS1j3pnZ+rwP3+BIUi2fbnU7E8GFtxwV2pYwuPdeEol4POFcqw/YVcGk= DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:In-Reply-To:MIME-Version:Content-Type; b=DnrUEIymYLE75mXvlil0Ah6R6lGTs1+9arebNHKjTK6ho0d8i378riC29w7buQXiQyfX/3moKHGjebJtK1xdEPpRFy9QI+gpQsbuRvZRnOHOHiwF/668qK3UwKMfE/mjukBlIYr5VJDpNBZMv4t1x1pfL6nzycG4sssP4lv9CEc=; Message-ID: <275187.21714.qm@web42104.mail.mud.yahoo.com> X-YMail-OSG: LCkksn8VM1lR_snf8UK26DXjtvjRUPJeEmd3vfKgGFpcHG5sW0vHRhHYxMNBY4fBjf9ETjRJz5IkIp6HtDTu0GSIrcV89uF51NlLp8_No7vsetPVnDTlHOlpqj2XJF2qhhuitE4a3aKdTH1cAnVL1P5PU_dT1gcRwlSGDEX2IQ4o2V2LNRwOSu0pOp2zFfxpePVe2DRvcA6snOLYAA5BZ3YNlONh Received: from [75.147.75.137] by web42104.mail.mud.yahoo.com via HTTP; Thu, 12 Mar 2009 09:24:46 PDT X-Mailer: YahooMailWebService/0.7.289.1 Date: Thu, 12 Mar 2009 09:24:46 -0700 (PDT) From: Andrey Shuvikov To: The development of GRUB 2 In-Reply-To: <20090207193905.GB988@thorin> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="0-1406754912-1236875086=:21714" X-detected-operating-system: by monty-python.gnu.org: FreeBSD 6.x (1) Subject: Re: stat for FreeBSD X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: The development of GRUB 2 List-Id: The development of GRUB 2 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Mar 2009 16:24:51 -0000 --0-1406754912-1236875086=:21714 Content-Type: text/plain; charset=us-ascii --- On Sat, 2/7/09, Robert Millan wrote: > From: Robert Millan > Subject: Re: stat for FreeBSD > To: "The development of GRUB 2" > Date: Saturday, February 7, 2009, 2:39 PM > On Mon, Dec 15, 2008 at 09:24:41AM -0800, Andrey Shuvikov > wrote: > > I don't have much experience developing under > FreeBSD but this call taken from the fdisk source code seems > to work (see attachment also): > > > > error = ioctl(fd, DIOCGMEDIASIZE, &size); > > This seems fine. Could you provide a tested patch? > > -- > Robert Millan > > The DRM opt-in fallacy: "Your data belongs to us. We > will decide when (and > how) you may access your data; but nobody's > threatening your freedom: we > still allow you to remove your data and not access it at > all." > > > _______________________________________________ > Grub-devel mailing list > Grub-devel@gnu.org > http://lists.gnu.org/mailman/listinfo/grub-devel Here is the patch to make grub-probe working on FreeBSD. It includes this ioctl call, FreeBSD device names parsing, and accounts for the fact that disk drives are character devices under FreeBSD. Regards, Andrey Shuvikov --0-1406754912-1236875086=:21714 Content-Type: application/octet-stream; name="grub_probe_freebsd.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="grub_probe_freebsd.patch" SW5kZXg6IGluY2x1ZGUvZ3J1Yi91dGlsL2dldHJvb3QuaAo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLSBpbmNsdWRlL2dydWIvdXRpbC9nZXRyb290Lmgg KHJldmlzaW9uIDIwMjgpCisrKyBpbmNsdWRlL2dydWIvdXRpbC9nZXRyb290 LmggKHdvcmtpbmcgY29weSkKQEAgLTMwLDUgKzMwLDYgQEAKIGludCBncnVi X3V0aWxfZ2V0X2Rldl9hYnN0cmFjdGlvbiAoY29uc3QgY2hhciAqb3NfZGV2 KTsKIGNoYXIgKmdydWJfdXRpbF9nZXRfZ3J1Yl9kZXYgKGNvbnN0IGNoYXIg Km9zX2Rldik7CiBjb25zdCBjaGFyICpncnViX3V0aWxfY2hlY2tfYmxvY2tf ZGV2aWNlIChjb25zdCBjaGFyICpibGtfZGV2KTsKK2NvbnN0IGNoYXIgKmdy dWJfdXRpbF9jaGVja19jaGFyX2RldmljZSAoY29uc3QgY2hhciAqYmxrX2Rl dik7CiAKICNlbmRpZiAvKiAhIEdSVUJfVVRJTF9HRVRST09UX0hFQURFUiAq LwpJbmRleDogdXRpbC9ncnViLXByb2JlLmMKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0gdXRpbC9ncnViLXByb2JlLmMgKHJldmlzaW9uIDIwMjgpCisr KyB1dGlsL2dydWItcHJvYmUuYyAod29ya2luZyBjb3B5KQpAQCAtMTEyLDgg KzExMiwxMyBAQAogICAKICAgaWYgKHBhdGggPT0gTlVMTCkKICAgICB7Cisj aWYgZGVmaW5lZChfX0ZyZWVCU0RfXykKKyAgICAgIGlmICghIGdydWJfdXRp bF9jaGVja19jaGFyX2RldmljZSAoZGV2aWNlX25hbWUpKQorICAgICAgICBn cnViX3V0aWxfZXJyb3IgKCIlcyBpcyBub3QgYSBjaGFyYWN0ZXIgZGV2aWNl LlxuIiwgZGV2aWNlX25hbWUpOworI2Vsc2UKICAgICAgIGlmICghIGdydWJf dXRpbF9jaGVja19ibG9ja19kZXZpY2UgKGRldmljZV9uYW1lKSkKICAgICAg ICAgZ3J1Yl91dGlsX2Vycm9yICgiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNl LlxuIiwgZGV2aWNlX25hbWUpOworI2VuZGlmCiAgICAgfQogICBlbHNlCiAg ICAgZGV2aWNlX25hbWUgPSBncnViX2d1ZXNzX3Jvb3RfZGV2aWNlIChwYXRo KTsKSW5kZXg6IHV0aWwvZ2V0cm9vdC5jCj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tIHV0aWwvZ2V0cm9vdC5jICAocmV2aXNpb24gMjAyOCkKKysrIHV0 aWwvZ2V0cm9vdC5jICAod29ya2luZyBjb3B5KQpAQCAtMjM4LDcgKzIzOCwx MSBAQAogICAgICB9CiAgfQogCisjaWZkZWYgX19GcmVlQlNEX18gCisgICAg ICBpZiAoU19JU0NIUiAoc3Quc3RfbW9kZSkgJiYgc3Quc3RfcmRldiA9PSBk ZXYpCisjZWxzZQogICAgICAgaWYgKFNfSVNCTEsgKHN0LnN0X21vZGUpICYm IHN0LnN0X3JkZXYgPT0gZGV2KQorI2VuZGlmCiAgewogI2lmZGVmIF9fbGlu dXhfXwogICAgLyogU2tpcCBkZXZpY2UgbmFtZXMgbGlrZSAvZGV2L2RtLTAs IHdoaWNoIGFyZSBzaG9ydC1oYW5kIGFsaWFzZXMKQEAgLTUxOSwzICs1MjMs MTggQEAKICAgZWxzZQogICAgIHJldHVybiAwOwogfQorCitjb25zdCBjaGFy ICoKK2dydWJfdXRpbF9jaGVja19jaGFyX2RldmljZSAoY29uc3QgY2hhciAq YmxrX2RldikKK3sKKyAgc3RydWN0IHN0YXQgc3Q7CisKKyAgaWYgKHN0YXQg KGJsa19kZXYsICZzdCkgPCAwKQorICAgIGdydWJfdXRpbF9lcnJvciAoIkNh bm5vdCBzdGF0IGAlcyciLCBibGtfZGV2KTsKKworICBpZiAoU19JU0NIUiAo c3Quc3RfbW9kZSkpCisgICAgcmV0dXJuIChibGtfZGV2KTsKKyAgZWxzZQor ICAgIHJldHVybiAwOworfQorCkluZGV4OiB1dGlsL2hvc3RkaXNrLmMKPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0gdXRpbC9ob3N0ZGlzay5jIChyZXZp c2lvbiAyMDI4KQorKysgdXRpbC9ob3N0ZGlzay5jICh3b3JraW5nIGNvcHkp CkBAIC04Niw2ICs4NiwxMCBAQAogIyBkZWZpbmUgRkxPUFBZX01BSk9SICAy CiAjZW5kaWYKIAorI2lmZGVmIF9fRnJlZUJTRF9fCisjIGluY2x1ZGUgPHN5 cy9kaXNrLmg+IC8qIERJT0NHTUVESUFTSVpFICovCisjZW5kaWYKKwogc3Ry dWN0CiB7CiAgIGNoYXIgKmRyaXZlOwpAQCAtMTc5LDcgKzE4Myw3IEBACiAK ICAgICByZXR1cm4gR1JVQl9FUlJfTk9ORTsKICAgfQotI2VsaWYgZGVmaW5l ZChfX2xpbnV4X18pIHx8IGRlZmluZWQoX19DWUdXSU5fXykKKyNlbGlmIGRl ZmluZWQoX19saW51eF9fKSB8fCBkZWZpbmVkKF9fQ1lHV0lOX18pIHx8IGRl ZmluZWQoX19GcmVlQlNEX18pCiAgIHsKICAgICB1bnNpZ25lZCBsb25nIGxv bmcgbnI7CiAgICAgaW50IGZkOwpAQCAtMTg4LDEzICsxOTIsMjEgQEAKICAg ICBpZiAoZmQgPT0gLTEpCiAgICAgICByZXR1cm4gZ3J1Yl9lcnJvciAoR1JV Ql9FUlJfQkFEX0RFVklDRSwgImNhbm5vdCBvcGVuIGAlcycgd2hpbGUgYXR0 ZW1wdGluZyB0byBnZXQgZGlzayBzaXplIiwgbWFwW2RyaXZlXS5kZXZpY2Up OwogCisjaWYgZGVmaW5lZChfX0ZyZWVCU0RfXykKKyAgICBpZiAoZnN0YXQg KGZkLCAmc3QpIDwgMCB8fCAhIFNfSVNDSFIgKHN0LnN0X21vZGUpKQorI2Vs c2UKICAgICBpZiAoZnN0YXQgKGZkLCAmc3QpIDwgMCB8fCAhIFNfSVNCTEsg KHN0LnN0X21vZGUpKQorI2VuZGlmCiAgICAgICB7CiAgY2xvc2UgKGZkKTsK ICBnb3RvIGZhaWw7CiAgICAgICB9CiAgICAgCisjaWYgZGVmaW5lZChfX0Zy ZWVCU0RfXykKKyAgICBpZiAoaW9jdGwgKGZkLCBESU9DR01FRElBU0laRSwg Jm5yKSkKKyNlbHNlCiAgICAgaWYgKGlvY3RsIChmZCwgQkxLR0VUU0laRTY0 LCAmbnIpKQorI2VuZGlmCiAgICAgICB7CiAgY2xvc2UgKGZkKTsKICBnb3Rv IGZhaWw7CkBAIC03NDEsNiArNzUzLDIyIEBACiAgICAgcGF0aFs4XSA9IDA7 CiAgIHJldHVybiBwYXRoOwogCisjZWxpZiBkZWZpbmVkKF9fRnJlZUJTRF9f KQorICBjaGFyICpwYXRoID0geHN0cmR1cCAob3NfZGV2KTsKKyAgaWYgKHN0 cm5jbXAgKCIvZGV2LyIsIHBhdGgsIDUpID09IDApCisgICAgeworICAgICAg Y2hhciAqcDsKKyAgICAgIGZvciAocCA9IHBhdGggKyA1OyAqcDsgKytwKQor ICAgICAgICBpZiAoZ3J1Yl9pc2RpZ2l0KCpwKSkKKyAgICAgICAgICB7Cisg ICAgICAgICAgICBwID0gc3RyY2hyIChwLCAncycpOworICAgICAgICAgICAg aWYgKHApCisgICAgICAgICAgICAgICpwID0gJ1wwJzsKKyAgICAgICAgICAg IGJyZWFrOworICAgICAgICAgIH0KKyAgICB9CisgIHJldHVybiBwYXRoOwor CiAjZWxzZQogIyB3YXJuaW5nICJUaGUgZnVuY3Rpb24gYGNvbnZlcnRfc3lz dGVtX3BhcnRpdGlvbl90b19zeXN0ZW1fZGlzaycgbWlnaHQgbm90IHdvcmsg b24geW91ciBPUyBjb3JyZWN0bHkuIgogICByZXR1cm4geHN0cmR1cCAob3Nf ZGV2KTsKQEAgLTc4OCw3ICs4MTYsMTEgQEAKICAgICAgIHJldHVybiAwOwog ICAgIH0KICAgCisjaWYgZGVmaW5lZChfX0ZyZWVCU0RfXykKKyAgaWYgKCEg U19JU0NIUiAoc3Quc3RfbW9kZSkpCisjZWxzZQogICBpZiAoISBTX0lTQkxL IChzdC5zdF9tb2RlKSkKKyNlbmRpZgogICAgIHJldHVybiBtYWtlX2Rldmlj ZV9uYW1lIChkcml2ZSwgLTEsIC0xKTsKICAgCiAjaWYgZGVmaW5lZChfX2xp bnV4X18pIHx8IGRlZmluZWQoX19DWUdXSU5fXykKQEAgLTkzMyw2ICs5NjUs NDAgQEAKICAgICByZXR1cm4gbWFrZV9kZXZpY2VfbmFtZSAoZHJpdmUsIGRv c19wYXJ0LCBic2RfcGFydCk7CiAgIH0KICAgCisjZWxpZiBkZWZpbmVkKF9f RnJlZUJTRF9fKQorICAvKiBGcmVlQlNEIHVzZXMgIi9kZXYvW2Etel0rWzAt OV0rKHNbMC05XStbYS16XT8pPyIuICAqLworICB7CisgICAgaW50IGRvc19w YXJ0ID0gLTE7CisgICAgaW50IGJzZF9wYXJ0ID0gLTE7CisgIAorICAgIGlm IChzdHJuY21wICgiL2Rldi8iLCBvc19kZXYsIDUpID09IDApCisgICAgICB7 CisgICAgICAgIGNoYXIgKnAsICpxOworICAgICAgICBsb25nIGludCBuOwor CisgICAgICAgIGZvciAocCA9IG9zX2RldiArIDU7ICpwOyArK3ApCisgICAg ICAgICAgaWYgKGdydWJfaXNkaWdpdCgqcCkpCisgICAgICAgICAgICB7Cisg ICAgICAgICAgICAgIHAgPSBzdHJjaHIgKHAsICdzJyk7CisgICAgICAgICAg ICAgIGlmIChwKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg ICAgIHArKzsKKyAgICAgICAgICAgICAgICAgIG4gPSBzdHJ0b2wgKHAsICZx LCAxMCk7CisgICAgICAgICAgICAgICAgICBpZiAocCAhPSBxICYmIG4gIT0g TE9OR19NSU4gJiYgbiAhPSBMT05HX01BWCkKKyAgICAgICAgICAgICAgICAg ICAgeworICAgICAgICAgICAgICAgICAgICAgIGRvc19wYXJ0ID0gKGludCkg biAtIDE7CisKKyAgICAgICAgICAgICAgICAgICAgICBpZiAoKnEgPj0gJ2En ICYmICpxIDw9ICdnJykKKyAgICAgICAgICAgICAgICAgICAgICAgIGJzZF9w YXJ0ID0gKnEgLSAnYSc7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAg ICAgICAgICAgICB9CisgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg ICAgfQorICAgICAgfQorICAgIAorICAgIHJldHVybiBtYWtlX2RldmljZV9u YW1lIChkcml2ZSwgZG9zX3BhcnQsIGJzZF9wYXJ0KTsKKyAgfQorCiAjZWxz ZQogIyB3YXJuaW5nICJUaGUgZnVuY3Rpb24gYGdydWJfdXRpbF9iaW9zZGlz a19nZXRfZ3J1Yl9kZXYnIG1pZ2h0IG5vdCB3b3JrIG9uIHlvdXIgT1MgY29y cmVjdGx5LiIKICAgcmV0dXJuIG1ha2VfZGV2aWNlX25hbWUgKGRyaXZlLCAt MSwgLTEpOwo= --0-1406754912-1236875086=:21714--