From owner-freebsd-hackers Thu Mar 6 15:43:29 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id PAA20187 for hackers-outgoing; Thu, 6 Mar 1997 15:43:29 -0800 (PST) Received: from iago.ienet.com (iago.ienet.com [207.78.32.53]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id PAA20182 for ; Thu, 6 Mar 1997 15:43:26 -0800 (PST) Received: from iago.ienet.com (localhost.ienet.com [127.0.0.1]) by iago.ienet.com (8.8.5/8.8.5) with ESMTP id PAA16789 Thu, 6 Mar 1997 15:43:04 -0800 (PST) Message-Id: <199703062343.PAA16789@iago.ienet.com> From: pius@ienet.com To: Søren Schmidt Cc: hackers@FreeBSD.ORG, msmith@atrad.adelaide.edu.au (Michael Smith), Mark Mayo Subject: Re: Linux JDK on 2.2 Date: Thu, 06 Mar 1997 15:43:04 -0800 Sender: owner-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk 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