[sw-dev] Re: [isa-dev] riscv-qemu - linux boot is failing for vda device

Pintu Agarwal pintu.ping at gmail.com
Wed Oct 17 05:03:36 PDT 2018


On Wed, Oct 17, 2018 at 12:08 AM Palmer Dabbelt <palmer at sifive.com> wrote:
>
> On Tue, 16 Oct 2018 06:12:11 PDT (-0700), pintu.ping at gmail.com wrote:
> > On Tue, Oct 16, 2018 at 6:10 AM Palmer Dabbelt <palmer at sifive.com> wrote:
> >>
> >> On Mon, 15 Oct 2018 14:14:51 PDT (-0700), rjones at redhat.com wrote:
> >
> >> >
> >> >> > virtio_blk: probe of virtio0 failed with error -22
> >> >
> >> > ... I saw this exact error when I was using the upstream kernel
> >> > instead of the one which supported interrupt handling.  Interrupt
> >> > handling for RISC-V was added upstream after 4.18 so wouldn't be
> >> > included in upstream 4.18.0-rc6.
> >>
> >> Your best bet today is to run 4.19-rc8, which should be pretty stable.
> >
> > Yes, I checked with mainline linux-kernel 4.19.
> > Now I am able to boot successfully and login into qemu-riscv shell.
> > Thank you so much :)
> >
> > But I am curious to know what changes resulted into this fix, in 4.19 kernel ?
> > Which is the exact patch in mainline, that fixes this issue?
> > Because at times during the development, it will be difficult to
> > simply upgrade the kernel version.
>
> Yes, that's expected.  RISC-V Linux is still pretty bleeding edge, you just
> happened to catch it between when master started working and when there was a
> proper release that contained your patches.  Since master is very calm right
> now (there was an rc8 before release, but it's very close to a release) it's OK
> to use, but you best bet going forward is to use the release tarballs just like
> normal.
>
> > So, I wanted to stick to 4.18 itself, however I can back port the
> > patches from 4.19 to fix the issue.
>
> We have a backports branch, it's called "riscv-linux-4.18".  I'll continue to
> produce a backports branch for the latest upstream release until things get
> pretty stable.
>
> > So, if you can point me to the exact patch, it will be of great help.
>
> Here's the PLIC driver, but it depends on a bunch of other patches.  Like I
> said, that's what the backports branch is for :)
>
> $ git log drivers/irqchip/irq-sifive-plic.c | cat
> commit 8237f8bc4f6eb7e5ce2a19276079cfd3a7c6314a
> gpg: Signature made Mon 13 Aug 2018 08:31:32 AM PDT
> gpg:                using RSA key 00CE76D1834960DFCE886DF8EF4CA1502CCBAB41
> gpg:                issuer "palmer at dabbelt.com"
> gpg: Good signature from "Palmer Dabbelt <palmer at dabbelt.com>" [ultimate]
> gpg:                 aka "Palmer Dabbelt <palmer at sifive.com>" [ultimate]
> Author: Christoph Hellwig <hch at lst.de>
> Date:   Thu Jul 26 16:27:00 2018 +0200
>
>     irqchip: add a SiFive PLIC driver
>
>     Add a driver for the SiFive implementation of the RISC-V Platform Level
>     Interrupt Controller (PLIC).  The PLIC connects global interrupt sources
>     to the local interrupt controller on each hart.
>
>     This driver is based on the driver in the RISC-V tree from Palmer Dabbelt,
>     but has been almost entirely rewritten since, and includes many fixes
>     from Atish Patra.
>

Ok thank you so much for the detailed explanation.
I roughly understood the changes.
I will continue to use 4.19 mainline kernel.
Yes I think it's petty stable :)
Hopefully, I will try to contribute few items for riscv linux kernel.

Thanks

>     Signed-off-by: Christoph Hellwig <hch at lst.de>
>     Acked-by: Thomas Gleixner <tglx at linutronix.de>
>     Reviewed-by: Atish Patra <atish.patra at wdc.com>
>     [Binding update by Palmer]
>     Signed-off-by: Palmer Dabbelt <palmer at sifive.com>
>
> >
> > Thanks,
> > Pintu



More information about the linux-riscv mailing list