public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [patch] s390: setup.c cleanup + build fix
@ 2006-06-23 13:31 Heiko Carstens
  2006-06-24  6:15 ` Andrew Morton
  0 siblings, 1 reply; 3+ messages in thread
From: Heiko Carstens @ 2006-06-23 13:31 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, Martin Schwidefsky

From: Heiko Carstens <heiko.carstens@de.ibm.com>

Cleanup & fix 31 bit compilation:

  CC      arch/s390/kernel/setup.o
arch/s390/kernel/setup.c:83: error: initializer element is not computable at
                                    load time
arch/s390/kernel/setup.c:83: error: (near initialization for
                                    'code_resource.start')
Not sure which patch in the -mm tree breaks this, but since this can be
considered a cleanup it can be merged anyway.

Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
---

Patch is against 2.6.17-mm1.

 arch/s390/kernel/setup.c |   15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

Index: linux-2.6.17-mm1/arch/s390/kernel/setup.c
===================================================================
--- linux-2.6.17-mm1.orig/arch/s390/kernel/setup.c
+++ linux-2.6.17-mm1/arch/s390/kernel/setup.c
@@ -47,6 +47,7 @@
 #include <asm/irq.h>
 #include <asm/page.h>
 #include <asm/ptrace.h>
+#include <asm/sections.h>
 
 /*
  * Machine setup..
@@ -66,11 +67,6 @@ unsigned long __initdata zholes_size[MAX
 static unsigned long __initdata memory_end;
 
 /*
- * Setup options
- */
-extern int _text,_etext, _edata, _end;
-
-/*
  * This is set up by the setup-routine at boot-time
  * for S390 need to find out, what we have to setup
  * using address 0x10400 ...
@@ -80,15 +76,11 @@ extern int _text,_etext, _edata, _end;
 
 static struct resource code_resource = {
 	.name  = "Kernel code",
-	.start = (unsigned long) &_text,
-	.end = (unsigned long) &_etext - 1,
 	.flags = IORESOURCE_BUSY | IORESOURCE_MEM,
 };
 
 static struct resource data_resource = {
 	.name = "Kernel data",
-	.start = (unsigned long) &_etext,
-	.end = (unsigned long) &_edata - 1,
 	.flags = IORESOURCE_BUSY | IORESOURCE_MEM,
 };
 
@@ -422,6 +414,11 @@ setup_resources(void)
 	struct resource *res;
 	int i;
 
+	code_resource.start = (unsigned long) &_text;
+	code_resource.end = (unsigned long) &_etext - 1;
+	data_resource.start = (unsigned long) &_etext;
+	data_resource.end = (unsigned long) &_edata - 1;
+
 	for (i = 0; i < MEMORY_CHUNKS && memory_chunk[i].size > 0; i++) {
 		res = alloc_bootmem_low(sizeof(struct resource));
 		res->flags = IORESOURCE_BUSY | IORESOURCE_MEM;

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [patch] s390: setup.c cleanup + build fix
  2006-06-23 13:31 [patch] s390: setup.c cleanup + build fix Heiko Carstens
@ 2006-06-24  6:15 ` Andrew Morton
  2006-06-24  7:45   ` Heiko Carstens
  0 siblings, 1 reply; 3+ messages in thread
From: Andrew Morton @ 2006-06-24  6:15 UTC (permalink / raw)
  To: Heiko Carstens; +Cc: linux-kernel, schwidefsky

On Fri, 23 Jun 2006 15:31:22 +0200
Heiko Carstens <heiko.carstens@de.ibm.com> wrote:

> From: Heiko Carstens <heiko.carstens@de.ibm.com>
> 
> Cleanup & fix 31 bit compilation:
> 
>   CC      arch/s390/kernel/setup.o
> arch/s390/kernel/setup.c:83: error: initializer element is not computable at
>                                     load time
> arch/s390/kernel/setup.c:83: error: (near initialization for
>                                     'code_resource.start')
> Not sure which patch in the -mm tree breaks this, but since this can be
> considered a cleanup it can be merged anyway.
> 

That's strange.

>  /*
> - * Setup options
> - */
> -extern int _text,_etext, _edata, _end;
> -
> -/*
>   * This is set up by the setup-routine at boot-time
>   * for S390 need to find out, what we have to setup
>   * using address 0x10400 ...
> @@ -80,15 +76,11 @@ extern int _text,_etext, _edata, _end;
>  
>  static struct resource code_resource = {
>  	.name  = "Kernel code",
> -	.start = (unsigned long) &_text,
> -	.end = (unsigned long) &_etext - 1,
>  	.flags = IORESOURCE_BUSY | IORESOURCE_MEM,
>  };
>  
>  static struct resource data_resource = {
>  	.name = "Kernel data",
> -	.start = (unsigned long) &_etext,
> -	.end = (unsigned long) &_edata - 1,
>  	.flags = IORESOURCE_BUSY | IORESOURCE_MEM,
>  };
>  
> @@ -422,6 +414,11 @@ setup_resources(void)
>  	struct resource *res;
>  	int i;
>  
> +	code_resource.start = (unsigned long) &_text;
> +	code_resource.end = (unsigned long) &_etext - 1;
> +	data_resource.start = (unsigned long) &_etext;
> +	data_resource.end = (unsigned long) &_edata - 1;
> +
>  	for (i = 0; i < MEMORY_CHUNKS && memory_chunk[i].size > 0; i++) {
>  		res = alloc_bootmem_low(sizeof(struct resource));
>  		res->flags = IORESOURCE_BUSY | IORESOURCE_MEM;

The linker should be able to handle all that.  I wonder why it didn't.

And it works for me.  What is "31 bit compilation"?

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [patch] s390: setup.c cleanup + build fix
  2006-06-24  6:15 ` Andrew Morton
@ 2006-06-24  7:45   ` Heiko Carstens
  0 siblings, 0 replies; 3+ messages in thread
From: Heiko Carstens @ 2006-06-24  7:45 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, schwidefsky

> >   CC      arch/s390/kernel/setup.o
> > arch/s390/kernel/setup.c:83: error: initializer element is not computable at
> >                                     load time
> > arch/s390/kernel/setup.c:83: error: (near initialization for
> >                                     'code_resource.start')
> > Not sure which patch in the -mm tree breaks this, but since this can be
> > considered a cleanup it can be merged anyway.
> > 
> 
> That's strange.

Indeed.

> The linker should be able to handle all that.  I wonder why it didn't.
> 
> And it works for me.  What is "31 bit compilation"?

Switching off CONFIG_64BIT, so that you will get a 31 bit binary.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-06-24  7:46 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-06-23 13:31 [patch] s390: setup.c cleanup + build fix Heiko Carstens
2006-06-24  6:15 ` Andrew Morton
2006-06-24  7:45   ` Heiko Carstens

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox