linux-mips
[Top] [All Lists]

Re: [PATCH] 64-bit on Broadcom SWARM

To: Manish Lachwani <mlachwani@mvista.com>
Subject: Re: [PATCH] 64-bit on Broadcom SWARM
From: "Maciej W. Rozycki" <macro@linux-mips.org>
Date: Thu, 30 Sep 2004 18:36:47 +0100 (BST)
Cc: linux-mips@linux-mips.org
In-reply-to: <415C3ABA.6080601@mvista.com>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <415C3ABA.6080601@mvista.com>
Sender: linux-mips-bounce@linux-mips.org
On Thu, 30 Sep 2004, Manish Lachwani wrote:

> Attached patch gets the 64-bit to work on the Broadcom SWARM.

 Inline, please!

> --- arch/mips/Makefile.orig   2004-09-30 09:49:45.000000000 -0700
> +++ arch/mips/Makefile        2004-09-30 09:50:27.000000000 -0700
> @@ -35,7 +35,7 @@
>  endif
>  ifdef CONFIG_MIPS64
>  gcc-abi                      = 64
> -gas-abi                      = 32
> +gas-abi                      = 64
>  tool-prefix          = $(64bit-tool-prefix)
>  UTS_MACHINE          := mips64
>  endif

 I won't particularly mind having this change in, but there are apparently
people who want to have the current setting preserved.  So I doubt this
part is going to be accepted.  Please use `make "gas-abi=64" <whatever>'
instead.

 Alternatively, please let me check if I can get some time to implement 
one of my to-do list goals, that is having it configurable.

> @@ -580,7 +580,11 @@
>  libs-$(CONFIG_SIBYTE_SENTOSA)        += arch/mips/sibyte/swarm/
>  load-$(CONFIG_SIBYTE_SENTOSA)        := 0x80100000
>  libs-$(CONFIG_SIBYTE_SWARM)  += arch/mips/sibyte/swarm/
> +ifdef CONFIG_MIPS64
> +load-$(CONFIG_SIBYTE_SWARM)  := 0xffffffff80100000
> +else
>  load-$(CONFIG_SIBYTE_SWARM)  := 0x80100000
> +endif
>  
>  #
>  # SNI RM200 PCI

 I think 32-bit tools may be able to cope with 0xffffffff80100000, so you 
wouldn't need this conditional.  Actually some 32-bit can't really cope 
with something like 0x80100000, grr...  Cf. objdump.

> @@ -651,7 +655,11 @@
>  AFLAGS               += $(cflags-y)
>  CFLAGS               += $(cflags-y)
>  
> +ifdef CONFIG_MIPS64
> +LDFLAGS                      += --oformat $(64bit-bfd)
> +else
>  LDFLAGS                      += --oformat $(32bit-bfd)
> +endif
>  
>  head-y := arch/mips/kernel/head.o arch/mips/kernel/init_task.o
>  

 See the comment about gas-abi -- you can override 32bit-bfd. ;-)

> --- arch/mips/Kconfig.orig    2004-09-30 09:49:51.000000000 -0700
> +++ arch/mips/Kconfig 2004-09-30 09:50:34.000000000 -0700
> @@ -1076,7 +1076,7 @@
>  
>  config BOOT_ELF64
>       bool
> -     depends on SGI_IP27
> +     depends on SGI_IP27 || SIBYTE_SB1xxx_SOC
>       default y
>  

 And this is another part to be configurable in general.  E.g. I use
64-bit ELF for 64-bit DECstations, too, but others may prefer 32-bit
binaries.

  Maciej

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