xfs
[Top] [All Lists]

Re: Running into a roadblock with RHES3, the 27.0.2 kernel, and QLogi c

To: "Harris, Jeff" <JHarris@xxxxxxxxxxxxxxx>
Subject: Re: Running into a roadblock with RHES3, the 27.0.2 kernel, and QLogi c 2300 drivers
From: Keith Owens <kaos@xxxxxxx>
Date: Fri, 06 May 2005 09:51:21 +1000
Cc: linux-xfs@xxxxxxxxxxx
In-reply-to: Your message of "Wed, 04 May 2005 22:26:55 EST." <85063BBE668FD411944400D0B744267A10BBD1F7@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: linux-xfs-bounce@xxxxxxxxxxx
On Wed, 4 May 2005 22:26:55 -0500 , 
"Harris, Jeff" <JHarris@xxxxxxxxxxxxxxx> wrote:
>Hello, we're trying to get a working XFS kernel on our RHES3 servers in
>order to support a migration project. Since the standard patches won't work
>against Redhat's kernels, we had to go with the 27.0.2 testing kernel from
>the ftp site. The included Qla2300 driver in Redhat's kernel is broken when
>working with Engenio products (IBM Fast, Storagetek, etc), and we have to
>replace it with another. When building the qlogic driver, we run into no
>compile errors, however, we're running into long division problems with
>undefined symbols in the modules. The specific symbol is __udivdi3. 

That is generated by division involving 64 bit numbers on a 32 bit
ix86.  Dig through the object code (objdump -Sr foo.o) to find the
references to __udivdi3, look at the source code for the offending
functions to find the division and replace them with do_div() from
include/asm-i386/div64.h.  Beware that do_div() modifies its first
parameter in place, so if you just want the result then you need to
copy the first value to a scratch variable first.


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