On Sunday 14 March 2010 16:28:32 Aurelien Jarno wrote:
> On Sat, Mar 13, 2010 at 05:11:43PM -0600, Rob Landley wrote:
> > I found out that "-serial stdio" is apparently trying to open /dev/stdio,
> > which Ubuntu 9.04 hasn't got.  If I say -serial /dev/tty it works from
> > the command line (but not in scripts).
>
> This is actually not specific at all to sh4. See this thread:
> http://www.mail-archive.com/qemu-devel@nongnu.org/msg20920.html

http://www.mail-archive.com/qemu-devel@nongnu.org/msg22763.html

> This is redundant.  -nographic implies -serial stdio.

Trying with just -nographic and no -serial lines, I get:

$ qemu-system-sh4 -M r2d -nographic -no-reboot -kernel zImage-sh4 -hda image-
sh4.sqf -append "root=/dev/sda rw init=/usr/sbin/init.sh panic=1 PATH=/usr/bin 
console=ttySC0 noiotrap HOST=sh4"
long read to SH7750_WCR1_A7 (0x000000001f800008) ignored
long read to SH7750_WCR2_A7 (0x000000001f80000c) ignored
long read to SH7750_WCR3_A7 (0x000000001f800010) ignored
long read to SH7750_MCR_A7 (0x000000001f800014) ignored
long read to SH7750_MCR_A7 (0x000000001f800014) ignored

And it hangs.  No output from any of the kernel serial writes.

http://www.mail-archive.com/qemu-devel@nongnu.org/msg22775.html

> >    eg this should work as you'd expect it
> >
> >      qemu -nodefaults -nographic -serial stdio
>
> -nographic is basically equivalent to -serial mon:stdio,signal=on -vga none
> except it operates on defaults. Your invocation actually ends up being very
> different as it doesn't multiplex the monitor and it doesn't disable ctrl-c.
> Basically, your invocation is equivalent to qemu -vga none -serial stdio

http://www.mail-archive.com/qemu-devel@nongnu.org/msg22775.html

$ qemu-system-sh4 -M r2d -nographic -no-reboot -kernel zImage-sh4 -hda image-
sh4.sqf -append "root=/dev/sda rw init=/usr/sbin/init.sh panic=1 PATH=/usr/bin 
console=ttySC0 noiotrap HOST=sh4"  -vga none -serial stdio
chardev: opening backend "stdio" failed
qemu: could not open serial device 'stdio': Inappropriate ioctl for device

http://www.mail-archive.com/qemu-devel@nongnu.org/msg22777.html

$ qemu-system-sh4 -M r2d -nodefaults -nographic -serial stdio -no-reboot -
kernel zImage-sh4 -hda image-sh4.sqf -append "root=/dev/sda rw 
init=/usr/sbin/init.sh panic=1 PATH=/usr/bin console=ttySC0 noiotrap HOST=sh4"
long read to SH7750_WCR1_A7 (0x000000001f800008) ignored
long read to SH7750_WCR2_A7 (0x000000001f80000c) ignored
long read to SH7750_WCR3_A7 (0x000000001f800010) ignored
long read to SH7750_MCR_A7 (0x000000001f800014) ignored
long read to SH7750_MCR_A7 (0x000000001f800014) ignored

And the hang's back, no output...

Ok, this seems to work:

qemu-system-sh4 -M r2d -nodefaults -nographic -serial null -serial stdio -no-
reboot -kernel zImage-sh4 -hda image-sh4.sqf -append "root=/dev/sda rw 
init=/usr/sbin/init.sh panic=1 PATH=/usr/bin console=ttySC0 noiotrap HOST=sh4"

I no longer even pretend to know why...

Do I have to say "-nodefaults" on every other target as well to disable the 
unwanted monitor I never knew was there?

Rob
-- 
Latency is more important than throughput. It's that simple. - Linus Torvalds


Reply via email to