linux-mips
[Top] [All Lists]

Support for (au1100) 64-bit physical address space broken on 2.6.12?

To: linux-mips <linux-mips@linux-mips.org>
Subject: Support for (au1100) 64-bit physical address space broken on 2.6.12?
From: Rodolfo Giometti <giometti@linux.it>
Date: Sat, 16 Jul 2005 14:42:06 +0200
Organization: Programmi e soluzioni GNU/Linux
Original-recipient: rfc822;linux-mips@linux-mips.org
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.5.6+20040722i
Hello,

switching from linux-mips 2.6.12-rc3 to 2.6.12 I notice that the
following patch has been applied:

   http://www.linux-mips.org/archives/linux-mips/2005-06/msg00207.html

But, on my system, recompiling the source I noticed that compilation
stops with errors. Even downloading a clean version of source code
from linux-mips's CVS and choosing, for instance, the board DB1100, I
got the same result.

The problem is that the above patch works well if the 64-bit physical
address space support is disabled, but, if enabled, it breaks
compilation stage.

Here what I get after getting source form CVS and doing the commands:

   # make pb1100_defconfig   (this board turn on CONFIG_64BIT_PHYS_ADDR option)
   # make
   ...
   include/asm-mips/mach-au1x00/ioremap.h:25: warning: static declaration of 
'fixup_bigphys_addr' follows non-static declaration
   include/asm/pgtable.h:363: warning: 'fixup_bigphys_addr' declared inline 
after being called
   include/asm/pgtable.h:363: warning: previous declaration of 
'fixup_bigphys_addr' was here
   include/asm-mips/mach-au1x00/ioremap.h: In function `fixup_bigphys_addr':
   include/asm-mips/mach-au1x00/ioremap.h:26: warning: implicit declaration of 
function `__fixup_bigphys_addr'
   arch/mips/au1000/common/setup.c: At top level:
   arch/mips/au1000/common/setup.c:159: error: conflicting types for 
'__fixup_bigphys_addr'
   include/asm-mips/mach-au1x00/ioremap.h:26: error: previous implicit 
declaration of '__fixup_bigphys_addr' was here
   arch/mips/au1000/common/setup.c: In function `__fixup_bigphys_addr':
   ...

After a little job I implemented the attached patch
(patch-64BIT_PHYS_ADDR) that works on my system on both settings
(CONFIG_64BIT_PHYS_ADDR on or off).

I don't know if it can resolve the above problem for others CPUs (I
tested it on au1100) but, at least, on this processor the PCMCIA
support now is functional. :)

I also suggest to apply the second patch (patch-PCMCIA_Kconfig) who
simply auto enable 64 bit support when choosing PCMCIA support.

Ciao,

Rodolfo

-- 

GNU/Linux Solutions                  e-mail:    giometti@linux.it
Linux Device Driver                             giometti@enneenne.com
Embedded Systems                     home page: giometti.enneenne.com
UNIX programming                     phone:     +39 349 2432127

Attachment: patch-64BIT_PHYS_ADDR
Description: Text document

Attachment: patch-PCMCIA_Kconfig
Description: Text document

Attachment: signature.asc
Description: Digital signature

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