qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Fwd: Re: qemu port (was: Re: [Qemu-devel] Running QEMU on FreeBSD)]


From: Antony T Curtis
Subject: [Fwd: Re: qemu port (was: Re: [Qemu-devel] Running QEMU on FreeBSD)]
Date: Thu, 03 Jun 2004 11:03:33 +0100

-----Forwarded Message-----
From: Antony T Curtis <address@hidden>
To: Juergen Lock <address@hidden>
Subject: Re: qemu port (was: Re: [Qemu-devel] Running QEMU on FreeBSD)
Date: Thu, 03 Jun 2004 10:41:00 +0100

On Thu, 2004-06-03 at 00:18, Juergen Lock wrote:
> On Mon, May 31, 2004 at 09:46:21AM +0000, Antony T Curtis wrote:
> > ...
> 
> > Replace the rintl() function in target-i386/op.c with the following:
> > 
> > CPU86_LDouble rintl(CPU86_LDouble __x) {
> >   register CPU86_LDouble __result;
> >   __asm __volatile__ ("frndint" : "=t" (__result) : "0" (__x));
> >   return __result;
> > }
> 
> OK, I've now taken this and the other FreeBSD patches, added a few
> small ones of my own and made a port, it can be fetched at
>       http://www.freebsd.org/cgi/query-pr.cgi?pr=67506&f=raw
> (and hopefully will be committed soon.)
> 
>  I've noticed the following things tho:
> 
> - needs to run as root in order to use /dev/tap* networking (why?)

This is from a access check in the if_tap module. If you look at
/usr/src/sys/net/if_tap.c, you will notice that there is a check for the
uid == 0 in the open path. It needs to be commented out.

> - slirp (usermode networking) compiles but doesn't seem to work for me

I haven't tried it.

> - seems to have a timer problem (time sleep 1 takes 49 seconds and
> booting sleeps for minutes at the acd0 probe), but only on _some_ guest
> systems (FreeSBIE, knoppix.)  An installed 5.2.1 guest system works ok
> (this also doesn't happen with linux as host.)  And enabling /dev/rtc doesn't
> help either... (not included since it needs a patch to emulators/rtc.)

I haven't tried running QEMU on 4.x

> - using physical media doesn't work on 4.x hosts (missing DIOCGMEDIASIZE
> ioctl)

On 4.x you have to use something like...

if (!ioctl(fd, FIOCGDINFO, &disklabel)) {
  int cyls = disklabel.d_ncylinders;
  int heads = disklabel.d_ntracks;
  int sectors = disklabel.d_nsectors;
  disksize_in_sectors = cyls * heads * sectors;
}

>  Testers and anyone who has ideas about these problems welcome...
> 
>       Juergen
>  FLAGS (\Seen))
-- 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]