Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 06 Mar 1997 15:43:04 -0800
From:      pius@ienet.com
To:        Søren Schmidt <sos@ravenock.cybercity.dk>
Cc:        hackers@FreeBSD.ORG, msmith@atrad.adelaide.edu.au (Michael Smith), Mark Mayo <mark@quickweb.com>
Subject:   Re: Linux JDK on 2.2
Message-ID:  <199703062343.PAA16789@iago.ienet.com>

next in thread | raw e-mail | index | archive | help

On Thu, 6 Mar 1997, sos@ravenock.cybercity.dk wrote:
> In reply to Michael Smith who wrote:
> > Mark Mayo stands accused of saying:
> > > Hi all. I've been trying to get the Linux JDK working on my 2.2-GAMMA
> > > system.  So far, all is well, with the exception of some error messages
> > > from ioctl:
> > > 
> > > LINUX: 'ioctl' fd=4, typ=0x89(), num=0x1 not implemented
> > > LINUX: 'ioctl' fd=5, typ=0x89(), num=0x1 not implemented
> > > LINUX: 'ioctl' fd=6, typ=0x89(), num=0x1 not implemented
> > > LINUX: 'ioctl' fd=6, typ=0x89(), num=0x1 not implemented
> > 
> > cain:/compat/linux/usr/include/asm>less sockios.h 
> > ...
> > /* Socket-level I/O control calls. */
> > #define FIOSETOWN       0x8901
> > 
> > If it bothers you, I'm sure you can implement it. 8)  The emulator doesn't
> > have an 'owner' either just now 8)
> 
> WHAT??, I 'own' it for sure :)

Hmm, to be honest I don't know what FIOSETOWN/FIOGETOWN do exactly, but
the following two patches to the linux lkm seem to work for me (at least
with respect to running the Linux JDK):

/usr/src/sys/i386/linux>diff -u linux.h.orig linux.h
--- linux.h.orig        Fri Jan 17 17:02:25 1997
+++ linux.h     Thu Mar  6 14:03:21 1997
@@ -216,6 +216,9 @@
 #define LINUX_TIOCGLCKTRMIOS   0x5456
 #define LINUX_TIOCSLCKTRMIOS   0x5457
 
+#define LINUX_FIOSETOWN                0x8901
+/*#define LINUX_FIOGETOWN              */
+
 /* arguments for tcflush() and LINUX_TCFLSH */
 #define LINUX_TCIFLUSH        0
 #define LINUX_TCOFLUSH        1
/usr/src/sys/i386/linux>diff -u linux_ioctl.c.orig linux_ioctl.c
--- linux_ioctl.c.orig  Fri Jan 17 17:02:26 1997
+++ linux_ioctl.c       Thu Mar  6 14:06:19 1997
@@ -547,6 +547,14 @@
        args->cmd = FIOCLEX;
        return ioctl(p, (struct ioctl_args *)args, retval);
 
+    case LINUX_FIOSETOWN:
+       args->cmd = FIOSETOWN;
+       return ioctl(p, (struct ioctl_args *)args, retval);
+/*
+    case LINUX_FIOGETOWN:
+       args->cmd = FIOGETOWN;
+       return ioctl(p, (struct ioctl_args *)args, retval);
+*/
     case LINUX_TIOCEXCL:
        args->cmd = TIOCEXCL;
        return ioctl(p, (struct ioctl_args *)args, retval);
/usr/src/sys/i386/linux>

The FIOGETOWN stuff is commented out because I don't know what
the value of LINUX_FIOGETOWN is - I don't have a Linux system so
that I could look at that header file mentioned in the previous
message.

But I don't know - maybe it shouldn't be this simple - maybe FIOSETOWN
in Linux is different from that in FreeBSD. FreeBSD's is defined in
/usr/include/sys/filio.h ("Generic file-descriptor ioctl's")
whereas Linux's seems to be defined in a file with other socket
level ioctl's. I briefly read through sys/kern/sys_generic.c to
understand what FIOSETOWN/FIOGETOWN do, but I'm still confused.

Oh, I'm running 3.0-current as of 97.02.10.00.00.00 (cvsup notation)
which is pre-Lite2.

Regards,
Pius



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199703062343.PAA16789>