openbmc / qemu

Official QEMU mirror
Other
20 stars 22 forks source link

hw/arm/aspeed:Added mmc boot support for AST2600 eMMC image. #35

Open shitalkumar-gandhi opened 3 years ago

shitalkumar-gandhi commented 3 years ago

This patch has been added to boot eMMC image for AST2600 machine on QEMU.

Run quemu as follows:

./qemu-system-arm -m 1G -M ast2600-evb -nographic -drive file=mmc-evb-ast2600.img,format=raw,if=sd,index=2

Tested: Booted AST2600 eMMC image on QEMU. Signed-off-by: Shitalkumar Gandhi shitalkumar.gandhi@seagate.com

shitalkumar-gandhi commented 3 years ago

@williamspatrick @amboar @legoater @shenki please review.

amboar commented 3 years ago

Hi @shitalkumar-gandhi , thanks for the patch. For qemu we try to do upstream first and only accept downstream patches if it's truly necessary (usually outright hacks that have an unfortunate bang-for-buck value).

That said you should review the conversation here on this exact topic: https://github.com/openbmc/openbmc/issues/3818 . It's hard to say how the ast2600 evb boot configuration should be managed, and worse, because of the situation upstream with eMMC it's hard to see an way forward that isn't a minefield. Anyway, if you have some thoughts after reading the linked thread I'm interested to hear them :)

legoater commented 3 years ago

@shitalkumar-gandhi, yes, the QEMU patches should be sent upstream on the qemu-devel mailing list and this patch is changing a default behavior :/ I think the right approach would be to use the boot index of the device on the command line.

Could you please check an alternate and easier approach in https://github.com/legoater/qemu/commits/aspeed-6.2 ? The changes add a boot-emmc machine option to set/unset the emmc boot.

To boot from emmc on the ast2600-evb QEMU machine, you will need to use option -M ast2600-evb,boot-emmc=true

@amboar @shenki Could you give it a try ? Thanks.

shitalkumar-gandhi commented 3 years ago

Hi @legoater

The following option is not working in QEMU for eMMC boot. -M ast2600-evb,boot-emmc=true

Hi @amboar

I don't have the alternate approach. I feel this change should be included in QEMU's upstream.

Please let me know what you think about this. Thanks to all for the responses.

amboar commented 3 years ago

@shitalkumar-gandhi this change won't be acceptable upstream as is because it prevents booting from SPI-NOR (by forcing the boot source to eMMC). Either boot source is valid for the EVB, so we need a solution that allows for both.

legoater commented 3 years ago

@shitalkumar-gandhi which QEMU repository and which branch are you using ?

shitalkumar-gandhi commented 3 years ago

ok @amboar thanks got it, we should have a mechanism that permits both eMMC and flash booting. @legoater I am using your repo i.e. https://github.com/legoater/qemu and aspeed-6.2 branch.

legoater commented 3 years ago

Could you please give us the command line, the reported errors and access to the eMMC image you are using. Thanks