NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

re: port-arm/57324: NetBSD 10.99.2 -current fails to detect root wedge using name on Raspberry Pi 3 official image



>  What happens is that bcm283x uses ld0 a default booted_device
>  and the change prevents set_root_device from overriding it from
>  the command line parameter.
>  
>  In fact, the change always prevents set_root_device from overriding
>  the booted_device which is nonsense.

ah, i see.  this code runs more like normal platform's
device_register() code, but it basically forces the booted_device
to be set to ld0@sdmmc if found, regardless of where the system
has booted from.

the reason it works elsewhere is that the rest of evbarm (at least
the pure UEFI or FDT ones) act differently here and don't see the
booted_device in the device_register() backend, so that by the
time set_root_device() is called, booted_device isn't set.

i commited the fix.  thanks!

i'm gonna claim this is both a bug in the change i made to
set_root_device(), that also revealed the bug in
bcm283x_platform_device_register() where it forces booted_device
to something when it may not actually be true (afaict, this could
also be net booted, and possibly non-ld@sdmmc storage?).  while it
is normal for other platforms to set booted_device via the
backend device_register(), it's normally only done _when known_,
not as a guess.


.mrg.


Home | Main Index | Thread Index | Old Index