linux-mips
[Top] [All Lists]

Re: CVS Update@oss.sgi.com: linux

To: Ralf Baechle <ralf@oss.sgi.com>
Subject: Re: CVS Update@oss.sgi.com: linux
From: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Date: Mon, 21 Feb 2000 18:45:30 -0800
Cc: linux@cthulhu.engr.sgi.com, linux-mips@fnet.fr, linux-mips@vger.rutgers.edu
In-reply-to: <20000221125820.A11469@uni-koblenz.de>
Sender: owner-linuxmips@oss.sgi.com
On Mon, 21 Feb 2000, Ralf Baechle wrote:
> On Mon, Feb 21, 2000 at 10:54:45AM +0100, Geert Uytterhoeven wrote:
> > > Modified files:
> > >   include/asm-mips: uaccess.h 
> > >   include/asm-mips64: uaccess.h 
> > > 
> > > Log message:
> > >   Fix copy_from_user() in modules and 64-bit kernel.
> > 
> > Now the assembler complains with
> > 
> >     Warning: Used $at without ".set noat"
> 
> I just tried to build an Indy kernel and did not get this warning.

I guess it depends on the configuration. From looking at the list of files I
got complaints for, I do believe you didn't get them when building for an Indy.

Can you try to compile the module for the loop block device? The problem
happens near the call to copy_from_user() in loop_set_status(). The generated
code is (warning position indicated with `>>>'):

            .set    noreorder
            .set    noat
            .set    noat
            la      $1, __copy_user
            jalr    $1
            .set    at
>>>         addu    $1, $13, $7
            .set    at
            .set    reorder
            move    $7, $6
     #NO_APP
    $L1492:
            .set    noreorder
            .set    nomacro
            bne     $7,$0,$L1502
            li      $2,-14                  # 0xfffffff2
            .set    macro
            .set    reorder

I guess the problem is the nested .set noat/at construct, where __MODULE_JAL
does .set at while copy_from_user() assumes we're still in noat mode?

Gr{oetje,eeting}s,

                                                Geert

--
Geert Uytterhoeven ------------- Sony Software Development Center Europe (SDCE)
Geert.Uytterhoeven@sonycom.com ------------------- Sint-Stevens-Woluwestraat 55
Voice +32-2-7248638 Fax +32-2-7262686 ---------------- B-1130 Brussels, Belgium

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