Date: Fri, 09 Nov 2018 21:10:02 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-arm@FreeBSD.org Subject: [Bug 233097] U-Boot/ubldr loaderdev broken Message-ID: <bug-233097-7@https.bugs.freebsd.org/bugzilla/>
index | next in thread | raw e-mail
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=233097 Bug ID: 233097 Summary: U-Boot/ubldr loaderdev broken Product: Base System Version: 12.0-STABLE Hardware: arm OS: Any Status: New Severity: Affects Some People Priority: --- Component: arm Assignee: freebsd-arm@FreeBSD.org Reporter: pawel.worach@gmail.com Board: bcm283x armv6 U-Boot: 2018.09 FreeBSD: stable/12 r340282 Setting loaderdev in U-Boot is supposed to set the correct currdev for ubldr, this seems to be broken. Setting loaderdev to "mmc 0:3.0" seems to cause ubldr to use unit=0, slice=0 and partition=3 instead of slice=3 and partition=0. This is caused by stor_open() in stand/uboot/lib/disk.c which loads a vararg uboot_devdesc struct as a disk_devdesc struct. My workaround was to use the disk_devdesc struct in stand/uboot/common/main.c instead of the uboot_devdesc struct. Post-workaround: U-Boot> setenv loaderdev mmc 0:3.0 U-Boot> boot ... U-Boot env: loaderdev='mmc 0:3.0' Found U-Boot device: disk Checking unit=0 slice=3 partition=0... good. Booting from disk0s3a: -- You are receiving this mail because: You are the assignee for the bug.help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-233097-7>
