riscvarchive/riscv-qemu

Why is '-nographic' required to use qemu ?

vsiles opened this issue · 2 comments

Hi ! I'm testing bare metal development using qemu and riscv, and I successfully tested the freedom-e-sdk from sifive:

qemu-system-riscv32 -machine sifive_e -kernel /tmp/freedom-e-sdk/software/hello/hello -nographic
core freq at 11597503 Hz
hello world!

Progam has exited with code:0x00000000
# I have to get the qemu monitor using ctrl-a c + quit to exit

However if I run the exact same command without the -nographic flag, I don't get any output, nor can I go to qemu monitor with ctrl-a c. I can only kill my command using ctrl c.

Am I missing something ?

My current revision is

$ git log -1
commit 4d37030aa03e07ae927174c8fce0227648552e51
Author: Michael Clark <mjc@sifive.com>
Date:   Tue Apr 24 10:12:27 2018 +1200

Hey Vincent,

You need to tell QEMU where the console output should go. To do this you can use the -serial options. From memory -nographic will automatically imply them, which is why it doesn't work without -nographic.

There really isn't any reason to remove -nographic for an embedded board though.

Oh ok, I thought -stdio serial was the default. Thank you Alistair for the info !