qemu-block
[Top][All Lists]
Advanced

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

Re: [PATCH 00/22] hw/riscv: sifive_u: Add missing SPI support


From: Bin Meng
Subject: Re: [PATCH 00/22] hw/riscv: sifive_u: Add missing SPI support
Date: Sat, 2 Jan 2021 21:15:50 +0800

Hi Pragnesh,

On Sat, Jan 2, 2021 at 8:27 PM Pragnesh Patel <pragnesh.patel@sifive.com> wrote:
>
> Hi BIn,
>
> 1) Please rebase this series on master.

I remember I rebased it on master already.

>
> 2) When i tried to boot from SD card image it shows below,
>
> pragneshp:sifive-qemu$ ./build/riscv64-softmmu/qemu-system-riscv64 -M
> sifive_u,msel=11 -m 4G -nographic -bios
> ~/opensource/u-boot/spl/u-boot-spl.bin -device
> sd-card,spi=true,drive=mycard -drive
> file=~/opensource/u-boot/fsbl.gpt,id=mycard,format=raw,if=none

The command is not correct. Please check the commit message of:
[18/22] hw/riscv: sifive_u: Add QSPI2 controller and connect an SD card

The command should be:

$ qemu-system-riscv64 -nographic -M sifive_u,msel=11 -smp 5 -m 8G \
    -bios u-boot-spl.bin -drive file=sdcard.img,if=sd

Note the memory should be 8G and the SD card is already connected by
the sifive_u machine codes. No need to create it via "-device
sd-card".

> qemu-system-riscv64: -device sd-card,spi=true,drive=mycard: Drive
> 'mycard' is already in use by another device
>
>
> I hacked the qemu code temporary and able to boot U-Boot from SD card,
> below is my hack
>
> pragneshp:sifive-qemu$ git diff
> diff --git a/block/block-backend.c b/block/block-backend.c
> index ce78d30794..cfa739fa40 100644
> --- a/block/block-backend.c
> +++ b/block/block-backend.c
> @@ -888,10 +888,11 @@ void blk_get_perm(BlockBackend *blk, uint64_t
> *perm, uint64_t *shared_perm)
>   */
>  int blk_attach_dev(BlockBackend *blk, DeviceState *dev)
>  {
> +#if 0
>      if (blk->dev) {
>          return -EBUSY;
>      }
> -
> +#endif
>
> After applying this hack, I was able to boot U-Boot from Sd card
>
> Bootlogs:
>
> pragneshp:sifive-qemu$ ./build/riscv64-softmmu/qemu-system-riscv64 -M
> sifive_u,msel=11 -m 4G -nographic -bios
> ~/opensource/u-boot/spl/u-boot-spl.bin -device
> sd-card,spi=true,drive=mycard -drive
> file=~/opensource/u-boot/fsbl.gpt,id=mycard,format=raw,if=none
>
> U-Boot SPL 2020.10-rc5-00007-gf9aadb57b1 (Dec 29 2020 - 17:48:05 +0530)
> Trying to boot from MMC1
>
>
> U-Boot 2020.10-rc5-00007-gf9aadb57b1 (Dec 29 2020 - 17:48:05 +0530)
>
> CPU:   rv64imafdc
> Model: SiFive HiFive Unleashed A00
> DRAM:  4 GiB
> MMC:   spi@10050000:mmc@0: 0
> Loading Environment from SPIFlash... Invalid bus 0 (err=-19)
> *** Warning - spi_flash_probe_bus_cs() failed, using default environment
>
> In:    serial@10010000
> Out:   serial@10010000
> Err:   serial@10010000
> Net:   eth0: ethernet@10090000
> Hit any key to stop autoboot:  0
> =>
>
> Thanks for the series.
>

Regards,
Bin



reply via email to

[Prev in Thread] Current Thread [Next in Thread]