I looked at the bootindex stuff and found that when the bootindex is
specified for the disk and cdrom it generates a string like:
"/spapr-vio-bridge/spapr-vscsi/channel@0/disk@0,1
/spapr-vio-bridge/spapr-vscsi/channel@0/disk@0,0"
Now converting/translating this to OF device path is going to be
much trickier and might not be proper. So I propose a simple
solution by introducing a global flag that checks if explicit -boot
parameter is provided or not. The presence of this parameter is
verified in SLOF firmware. The flag had to be introduced as
boot_devices defaults to "cad" instead of null and passed to
machine->init().
So you want to hack around the problem. If -boot is specified what
device are you going to boot from?
It is going to boot from the device specified in -boot as default_boot_order is
set to 0 in that case.
Imagine you have 2 controllers:
* vio
* virtio
and you specify -boot c. Which device are you going to boot from?
Currently, by default SLOF boots from the first disk it discovers in the
device tree.
Regards,
Avik
Alex