Another QEMU oddity..

Eric Anderson anderson at freebsd.org
Mon Jul 16 11:53:56 UTC 2007


Since QEMU is a popular subject lately, I think I'll bring up one more 
issue.

When booting FreeBSD (-CURRENT in this case) in a QEMU session (with or 
without any kqemu), it nearly always hangs at the loader countdown 
screen, somewhere in the 1-10 seconds it takes to countdown.  When it 
hangs, it spins doing:

[..snip..]
   3216 qemu     CALL  clock_gettime(0x4,0xbfbfb048)
   3216 qemu     RET   clock_gettime 0
   3216 qemu     CALL  sigreturn(0xbfbfb0b0)
   3216 qemu     RET   sigreturn JUSTRETURN
   3216 qemu     CALL  sigprocmask(SIG_SETMASK,0xbfbfb360,0)
   3216 qemu     RET   sigprocmask 0
   3216 qemu     CALL  sigprocmask(SIG_BLOCK,0,0x28669288)
   3216 qemu     RET   sigprocmask 0
   3216 qemu     CALL 
select(0xa,0xbfbfb3c0,0xbfbfb340,0xbfbfb2c0,0xbfbfb2b8)
   3216 qemu     RET   select 0
   3216 qemu     CALL  clock_gettime(0x4,0xbfbfb278)
   3216 qemu     RET   clock_gettime 0
   3216 qemu     CALL  clock_gettime(0x4,0xbfbfb218)
   3216 qemu     RET   clock_gettime 0
   3216 qemu     CALL  clock_gettime(0x4,0xbfbfb278)
   3216 qemu     RET   clock_gettime 0
   3216 qemu     CALL  sigprocmask(SIG_BLOCK,0,0x28669288)
   3216 qemu     RET   sigprocmask 0
   3216 qemu     PSIG  SIGALRM caught handler=0x804bf14 mask=0x0 code=0x0
   3216 qemu     CALL  clock_gettime(0x4,0xbfbfb048)
   3216 qemu     RET   clock_gettime 0
   3216 qemu     CALL  sigreturn(0xbfbfb0b0)
   3216 qemu     RET   sigreturn JUSTRETURN
[..repeats forever..]

In the QEMU console, if I press a key it will break the loop and move on 
just fine.  The only problem is that I can't have auto-started qemu 
FreeBSD systems, since it requires a keystroke to boot it up.

Anyone have any ideas on this?  I can test any patches, and do whatever 
debugging someone whats to point me to.

Side note: Windows qemu sessions do not do this, and FreeBSD boots that 
do not use the loader software also don't do it if I recall correctly.


Eric



More information about the freebsd-emulation mailing list