QEMU 4.1 and RISC-V

Muhammad Moinur Rahman bofh at FreeBSD.org
Mon Sep 30 10:58:49 UTC 2019


Hi Li-Wen,
Should we add this to pkg-message for 4.1.X?
Kind Regards,
@bofh

> On 30 Sep, 2019, at 08:54, Li-Wen Hsu <lwhsu at freebsd.org> wrote:
> 
> On Mon, Sep 30, 2019 at 4:28 AM Li-Wen Hsu <lwhsu at freebsd.org> wrote:
>> 
>> On Mon, Sep 30, 2019 at 4:12 AM Mitchell Horne <mhorne at freebsd.org> wrote:
>>> 
>>> On Sun, Sep 29, 2019 at 4:56 PM Li-Wen Hsu <lwhsu at freebsd.org> wrote:
>>>> 
>>>> On Sun, Sep 29, 2019 at 10:48 PM Mitchell Horne <mhorne at freebsd.org> wrote:
>>>>> 
>>>>> 
>>>>> On Sun, Sep 29, 2019, 15:17 Li-Wen Hsu <lwhsu at freebsd.org> wrote:
>>>>>> 
>>>>>> I found that RISC-V test started failing recently:
>>>>>> https://ci.freebsd.org/job/FreeBSD-head-riscv64-test/
>>>>>> 
>>>>>> After some checking, I found the issue is our bbl image cannot boot
>>>>>> with this command:
>>>>>> 
>>>>>> qemu-system-riscv64 -nographic -m 2048M -kernel ./bbl
>>>>>> 
>>>>>> in QEMU 4.1, while 3.1 and 4.0 are fine.  I've switched the QEMU
>>>>>> version used in that job to 4.0, but I think it would be best if we
>>>>>> can find the root cause is in FreeBSD or QEMU.
>>>>>> 
>>>>>> Can anyone also help on this?
>>>>> 
>>>>> 
>>>>> Hi Li-Wen,
>>>>> 
>>>>> I can take a look in the coming week if you're okay with the workaround for the time being. Locally
>>>>> I've had no issue running bbl with qemu 4.1 but perhaps there's something more specific that the
>>>>> CI script is doing.
>>>>> 
>>>>> I'm hoping we will soon be able to replace bbl with the more actively maintained OpenSBI firmware.
>>>>> I have some pending changes that will allow us to boot FreeBSD with it, and after that I'd like to
>>>>> create ports for both bootloaders, which I hope will make the CI setup a little simpler and less fragile
>>>>> than building bbl currently is.
>>>> 
>>>> Thanks very much, Mitchell,
>>>> 
>>>> Let's narrow down the scope, are you using the qemu-devel pkg from
>>>> official repository or building by yourself?
>>>> 
>>> 
>>> This was using qemu that I had built myself, but the executable from qemu-devel
>>> works for me as well.
>>> 
>>>> And can you try this bbl image?
>>>> https://artifact.ci.freebsd.org/snapshot/head/r352870/riscv/riscv64/bbl.xz
>>> 
>>> I had no issue booting this image with my self-built qemu or the one from
>>> pkg. The only observable difference from qemu 3.1 is that a warning is
>>> printed to stderr, but considering the CI script is timing out I don't think
>>> that is the issue.
>> 
>> What's your command line to launch qemu? The CI (and I) uses this:
>> 
>> qemu-system-riscv64 -nographic -m 2048M -kernel ./bbl
>> 
>> I also tried to build qemu locally, and result is the same. I also did
>> a git bisect:
>> 
>> 0ac24d56c5e7d32423ea78ac58a06b444d1df04d is the first bad commit
> 
> Hmm, after checking with wiki.freebsd.org/riscv, I found that we need
> to specify `-machine virt` now.
> 
> QEMU 4.1 default machine for riscv64 is "spike" not "spike_v1.10"
> anymore, and need other more arguments.



More information about the freebsd-riscv mailing list