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>
