qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Fwd: Re: qemu port (was: Re: [Qemu-devel] Running QEMU on FreeBSD)]
@ 2004-06-03 10:03 Antony T Curtis
  2004-06-04 18:58 ` Juergen Lock
  0 siblings, 1 reply; 2+ messages in thread
From: Antony T Curtis @ 2004-06-03 10:03 UTC (permalink / raw)
  To: qemu-devel

-----Forwarded Message-----
From: Antony T Curtis <antony.t.curtis@ntlworld.com>
To: Juergen Lock <qemu-l@jelal.kn-bremen.de>
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))
-- 

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Fwd: Re: qemu port (was: Re: [Qemu-devel] Running QEMU on FreeBSD)]
  2004-06-03 10:03 [Fwd: Re: qemu port (was: Re: [Qemu-devel] Running QEMU on FreeBSD)] Antony T Curtis
@ 2004-06-04 18:58 ` Juergen Lock
  0 siblings, 0 replies; 2+ messages in thread
From: Juergen Lock @ 2004-06-04 18:58 UTC (permalink / raw)
  To: Antony T Curtis; +Cc: qemu-devel

On Thu, Jun 03, 2004 at 04:00:42PM +0000, Antony T Curtis wrote:

> 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:
> > > ...

> > 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.)

Is committed now btw.

> > 
> >  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.
> 
 Heh.  I wonder why that check was put there in the first place,
since you can as well restrict access by adjusting permissions on
the device node...

> > - slirp (usermode networking) compiles but doesn't seem to work for me
> 
> I haven't tried it.
> 
 Fix (dhcp bug) is in cvs, will update the port later...

> > - 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
> 
 I've now tried it on 5.2.1 host and the exact same thing happens
there also: works on installed 5.2.1 guest, broken with FreeSBIE 1.0
and knoppix 3.4.

> > - 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;

 hmm, heads == tracks?

>   int sectors = disklabel.d_nsectors;
>   disksize_in_sectors = cyls * heads * sectors;
> }
> 
 And what about devices bigger than 1023*255*63 sectors, or whatever
the limit there was?

	Juergen

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2004-06-04 19:15 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-06-03 10:03 [Fwd: Re: qemu port (was: Re: [Qemu-devel] Running QEMU on FreeBSD)] Antony T Curtis
2004-06-04 18:58 ` Juergen Lock

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).