linux-mips
[Top] [All Lists]

Re: Yet another fix

To: Keith Owens <kaos@sgi.com>
Subject: Re: Yet another fix
From: ilya@theIlya.com
Date: Mon, 2 Jun 2003 07:30:23 -0700
Cc: linux-mips@linux-mips.org
In-reply-to: <5368.1054560466@ocs3.intra.ocs.com.au>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20030602045700.GI3035@gateway.total-knowledge.com> <5368.1054560466@ocs3.intra.ocs.com.au>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.4i
For starters, I'm talking about 2.5.51 here.
Secondly, what does register_ioctl32_conversion have to do with
emulating 32bit modutils? Code in quesion is this:
int register_ioctl32_conversion(unsigned int cmd, int (*handler)(unsigned int, 
unsigned int, unsigned long, ...))
{
        int i;
        if (!additional_ioctls) {
                additional_ioctls = module_map(PAGE_SIZE);
                if (!additional_ioctls)
                        return -ENOMEM;
                memset(additional_ioctls, 0, PAGE_SIZE);
        }
.....

As far as I can tell, There is nothing that prevents us from
replacing module_map with vmalloc, or even get_free_pages,
but I am not sure. There must be some reason, why it is there :)
Ralf, it's question for you.

        Ilya.


On Mon, Jun 02, 2003 at 11:27:46PM +1000, Keith Owens wrote:
> On Sun, 1 Jun 2003 21:57:00 -0700, 
> ilya@theIlya.com wrote:
> >module_map is referenced in register_ioctl32_conversion in 
> >arch/mips64/ioctl32.c
> >As far as I can see, it should simply be possible to replace module_map
> >with vmalloc in there, but I am not sure, as I don't know how exactly
> >ioctl translations work...
> 
> Not in 2.4.20 nor 2.4.21-rc6 from Marcelo, must be a mips local change.
> I strongly suggest that you get rid of it, there is no good reason to
> emulate the 32 bit module syscalls on a 64 bit machine.  modutils is
> pure Linux and there is absolutely no justification for emulating 32
> bit versions of modutils when the user can install the 64 bit version
> of modutils instead.  32 bit emulation is a crutch to let binary only
> programs work when you do not have the source to rebuild to 64 bit, by
> definition we have the source to modutils.
> 
> IA64 and x86_64 make no attempt to emulate 32 bit modutils.  sparc64,
> ppc64 and s390x all pass the data straight to the 64 bit kernel code,
> they require the user space modutils to supply 64 bit data.  Emulation
> is a waste of time.
> 

Attachment: pgpGkMTs8anaA.pgp
Description: PGP signature

<Prev in Thread] Current Thread [Next in Thread>