All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/2] Linker script cleanup patches for m68knommu
@ 2009-09-22 16:56 Tim Abbott
  2009-09-22 16:56 ` [PATCH v2 1/2] m68knommu: Make THREAD_SIZE available to assembly files Tim Abbott
  2009-09-22 16:56 ` [PATCH v2 2/2] m68knommu: Clean up linker script using new linker script macros Tim Abbott
  0 siblings, 2 replies; 36+ messages in thread
From: Tim Abbott @ 2009-09-22 16:56 UTC (permalink / raw)
  To: Greg Ungerer; +Cc: linux-kernel, Sam Ravnborg, Tim Abbott

Greg,

This patch series is an updated version of the patch I sent you on
September 6 cleaning up the m68knommu architecture's linker scripts.
Since the original patches had a few bugs, I figured I'd send you a
clean copy of state as of when I last hear from you two weeks ago.

This cross-architecture linker script cleanup project is in
preparation for adding support for building the kernel with
-ffunction-sections -fdata-sections, which is a prerequisite for
Ksplice.

Tim Abbott (2):
  m68knommu: Make THREAD_SIZE available to assembly files.
  m68knommu: Clean up linker script using new linker script macros.

 arch/m68k/include/asm/thread_info_no.h |    4 +-
 arch/m68knommu/kernel/vmlinux.lds.S    |   41 ++++++++-----------------------
 2 files changed, 13 insertions(+), 32 deletions(-)


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

* [PATCH v2 1/2] m68knommu: Make THREAD_SIZE available to assembly files.
  2009-09-22 16:56 [PATCH v2 0/2] Linker script cleanup patches for m68knommu Tim Abbott
@ 2009-09-22 16:56 ` Tim Abbott
  2009-09-22 16:56 ` [PATCH v2 2/2] m68knommu: Clean up linker script using new linker script macros Tim Abbott
  1 sibling, 0 replies; 36+ messages in thread
From: Tim Abbott @ 2009-09-22 16:56 UTC (permalink / raw)
  To: Greg Ungerer; +Cc: linux-kernel, Sam Ravnborg, Tim Abbott, Greg Ungerer

Signed-off-by: Tim Abbott <tabbott@ksplice.com>
Cc: Greg Ungerer <gerg@uclinux.org>
---
 arch/m68k/include/asm/thread_info_no.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/m68k/include/asm/thread_info_no.h b/arch/m68k/include/asm/thread_info_no.h
index c2bde5e..a6512bf 100644
--- a/arch/m68k/include/asm/thread_info_no.h
+++ b/arch/m68k/include/asm/thread_info_no.h
@@ -12,8 +12,6 @@
 
 #ifdef __KERNEL__
 
-#ifndef __ASSEMBLY__
-
 /*
  * Size of kernel stack for each process. This must be a power of 2...
  */
@@ -28,6 +26,8 @@
  */
 #define THREAD_SIZE (PAGE_SIZE<<THREAD_SIZE_ORDER)
 
+#ifndef __ASSEMBLY__
+
 /*
  * low level task data.
  */
-- 
1.6.3.3


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

* [PATCH v2 2/2] m68knommu: Clean up linker script using new linker script macros.
  2009-09-22 16:56 [PATCH v2 0/2] Linker script cleanup patches for m68knommu Tim Abbott
  2009-09-22 16:56 ` [PATCH v2 1/2] m68knommu: Make THREAD_SIZE available to assembly files Tim Abbott
@ 2009-09-22 16:56 ` Tim Abbott
  2009-10-01  5:56   ` Greg Ungerer
  1 sibling, 1 reply; 36+ messages in thread
From: Tim Abbott @ 2009-09-22 16:56 UTC (permalink / raw)
  To: Greg Ungerer; +Cc: linux-kernel, Sam Ravnborg, Tim Abbott, Greg Ungerer

Signed-off-by: Tim Abbott <tabbott@ksplice.com>
Cc: Greg Ungerer <gerg@uclinux.org>
---
 arch/m68knommu/kernel/vmlinux.lds.S |   41 +++++++++-------------------------
 1 files changed, 11 insertions(+), 30 deletions(-)

diff --git a/arch/m68knommu/kernel/vmlinux.lds.S b/arch/m68knommu/kernel/vmlinux.lds.S
index 2736a5e..b236133 100644
--- a/arch/m68knommu/kernel/vmlinux.lds.S
+++ b/arch/m68knommu/kernel/vmlinux.lds.S
@@ -8,6 +8,8 @@
  */
 
 #include <asm-generic/vmlinux.lds.h>
+#include <asm/page.h>
+#include <asm/thread_info.h>
 
 #if defined(CONFIG_RAMKERNEL)
 #define	RAM_START	CONFIG_KERNELBASE
@@ -147,40 +149,19 @@ SECTIONS {
 		. = ALIGN(4);
 		_sdata = . ;
 		DATA_DATA
-		. = ALIGN(32);
-		*(.data.cacheline_aligned)
-		. = ALIGN(8192) ;
-		*(.data.init_task)
+		CACHELINE_ALIGNED_DATA(32)
+		INIT_TASK_DATA(THREAD_SIZE)
 		_edata = . ;
 	} > DATA
 
-	.init : {
-		. = ALIGN(4096);
+	.init_begin : {
+		. = ALIGN(PAGE_SIZE);
 		__init_begin = .;
-		_sinittext = .;
-		INIT_TEXT
-		_einittext = .;
-		INIT_DATA
-		. = ALIGN(16);
-		__setup_start = .;
-		*(.init.setup)
-		__setup_end = .;
-		__initcall_start = .;
-		INITCALLS
-		__initcall_end = .;
-		__con_initcall_start = .;
-		*(.con_initcall.init)
-		__con_initcall_end = .;
-		__security_initcall_start = .;
-		*(.security_initcall.init)
-		__security_initcall_end = .;
-#ifdef CONFIG_BLK_DEV_INITRD
-		. = ALIGN(4);
-		__initramfs_start = .;
-		*(.init.ramfs)
-		__initramfs_end = .;
-#endif
-		. = ALIGN(4096);
+	} > INIT
+	INIT_TEXT_SECTION(PAGE_SIZE) > INIT
+	INIT_DATA_SECTION(16) > INIT
+	.init_end : {
+		. = ALIGN(PAGE_SIZE);
 		__init_end = .;
 	} > INIT
 
-- 
1.6.3.3


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

* Re: [PATCH v2 2/2] m68knommu: Clean up linker script using new linker script macros.
  2009-09-22 16:56 ` [PATCH v2 2/2] m68knommu: Clean up linker script using new linker script macros Tim Abbott
@ 2009-10-01  5:56   ` Greg Ungerer
  2009-10-12 14:47     ` Tim Abbott
  0 siblings, 1 reply; 36+ messages in thread
From: Greg Ungerer @ 2009-10-01  5:56 UTC (permalink / raw)
  To: Tim Abbott; +Cc: Greg Ungerer, linux-kernel, Sam Ravnborg

Hi Tim,

Tim Abbott wrote:
> Signed-off-by: Tim Abbott <tabbott@ksplice.com>
> Cc: Greg Ungerer <gerg@uclinux.org>

This results in kernels that don't boot for me. I haven't done
any more debugging than to just try booting at this time.

Before this patch applied has:

vmlinux:     file format elf32-m68k

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
   0 .text         00125ff0  40020000  40020000  00002000  2**4
                   CONTENTS, ALLOC, LOAD, READONLY, CODE
   1 .data         00012010  40145ff0  40145ff0  00127ff0  2**4
                   CONTENTS, ALLOC, LOAD, DATA
   2 .init         0000c000  40158000  40158000  0013a000  2**2
                   CONTENTS, ALLOC, LOAD, CODE
   3 .bss          0000a9ec  40164000  40164000  00146000  2**4
                   ALLOC
   4 .comment      00001c56  00000000  00000000  00146000  2**0
                   CONTENTS, READONLY


And after applied:

linux-2.6.x/vmlinux:     file format elf32-m68k

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
   0 .text         00125ff0  40020000  40020000  00002000  2**4
                   CONTENTS, ALLOC, LOAD, READONLY, CODE
   1 .data         00012010  40145ff0  40145ff0  00127ff0  2**4
                   CONTENTS, ALLOC, LOAD, DATA
   2 .init.text    0000aaac  40158000  40158000  0013a000  2**2
                   CONTENTS, ALLOC, LOAD, READONLY, CODE
   3 .init.data    00000b5c  40162aac  40162aac  00144aac  2**2
                   CONTENTS, ALLOC, LOAD, DATA
   4 .init_end     000009f8  40163608  40163608  00145608  2**0
                   ALLOC
   5 .bss          0000a9ec  40164000  40164000  00145608  2**4
                   ALLOC
   6 .comment      00001c56  00000000  00000000  00145608  2**0
                   CONTENTS, READONLY

Does that look like what you would have expected?

I suspect the problem may lie in the binary conversion of this
elf file to a raw binary for booting. This uses objcopy with
"-O binary". The resulting binary files are different in size
with and without the patch by about 2582 bytes. Suspicious
me thinks.

Regards
Greg



> ---
>  arch/m68knommu/kernel/vmlinux.lds.S |   41 +++++++++-------------------------
>  1 files changed, 11 insertions(+), 30 deletions(-)
> 
> diff --git a/arch/m68knommu/kernel/vmlinux.lds.S b/arch/m68knommu/kernel/vmlinux.lds.S
> index 2736a5e..b236133 100644
> --- a/arch/m68knommu/kernel/vmlinux.lds.S
> +++ b/arch/m68knommu/kernel/vmlinux.lds.S
> @@ -8,6 +8,8 @@
>   */
>  
>  #include <asm-generic/vmlinux.lds.h>
> +#include <asm/page.h>
> +#include <asm/thread_info.h>
>  
>  #if defined(CONFIG_RAMKERNEL)
>  #define	RAM_START	CONFIG_KERNELBASE
> @@ -147,40 +149,19 @@ SECTIONS {
>  		. = ALIGN(4);
>  		_sdata = . ;
>  		DATA_DATA
> -		. = ALIGN(32);
> -		*(.data.cacheline_aligned)
> -		. = ALIGN(8192) ;
> -		*(.data.init_task)
> +		CACHELINE_ALIGNED_DATA(32)
> +		INIT_TASK_DATA(THREAD_SIZE)
>  		_edata = . ;
>  	} > DATA
>  
> -	.init : {
> -		. = ALIGN(4096);
> +	.init_begin : {
> +		. = ALIGN(PAGE_SIZE);
>  		__init_begin = .;
> -		_sinittext = .;
> -		INIT_TEXT
> -		_einittext = .;
> -		INIT_DATA
> -		. = ALIGN(16);
> -		__setup_start = .;
> -		*(.init.setup)
> -		__setup_end = .;
> -		__initcall_start = .;
> -		INITCALLS
> -		__initcall_end = .;
> -		__con_initcall_start = .;
> -		*(.con_initcall.init)
> -		__con_initcall_end = .;
> -		__security_initcall_start = .;
> -		*(.security_initcall.init)
> -		__security_initcall_end = .;
> -#ifdef CONFIG_BLK_DEV_INITRD
> -		. = ALIGN(4);
> -		__initramfs_start = .;
> -		*(.init.ramfs)
> -		__initramfs_end = .;
> -#endif
> -		. = ALIGN(4096);
> +	} > INIT
> +	INIT_TEXT_SECTION(PAGE_SIZE) > INIT
> +	INIT_DATA_SECTION(16) > INIT
> +	.init_end : {
> +		. = ALIGN(PAGE_SIZE);
>  		__init_end = .;
>  	} > INIT
>  

-- 
------------------------------------------------------------------------
Greg Ungerer  --  Principal Engineer        EMAIL:     gerg@snapgear.com
SnapGear Group, McAfee                      PHONE:       +61 7 3435 2888
825 Stanley St,                             FAX:         +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia         WEB: http://www.SnapGear.com

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

* Re: [PATCH v2 2/2] m68knommu: Clean up linker script using new linker script macros.
  2009-10-01  5:56   ` Greg Ungerer
@ 2009-10-12 14:47     ` Tim Abbott
  2009-10-12 23:46       ` Greg Ungerer
  0 siblings, 1 reply; 36+ messages in thread
From: Tim Abbott @ 2009-10-12 14:47 UTC (permalink / raw)
  To: Greg Ungerer; +Cc: Greg Ungerer, linux-kernel, Sam Ravnborg

On Thu, 1 Oct 2009, Greg Ungerer wrote:

> Hi Tim,
> 
> Tim Abbott wrote:
> > Signed-off-by: Tim Abbott <tabbott@ksplice.com>
> > Cc: Greg Ungerer <gerg@uclinux.org>
> 
> This results in kernels that don't boot for me. I haven't done
> any more debugging than to just try booting at this time.
[...]
> 
> Does that look like what you would have expected?

Basically.  I'm a bit surprised that the .init_begin section doesn't show 
up, but I'm pretty sure that this is because .init_begin would have had 
size zero as the previous section's end was already page-aligned.

> I suspect the problem may lie in the binary conversion of this
> elf file to a raw binary for booting. This uses objcopy with
> "-O binary". The resulting binary files are different in size
> with and without the patch by about 2582 bytes. Suspicious
> me thinks.

I don't any good ideas for what in patch is likely to be responsible.  
Would it be helpful to debug if I split this into ~5 very small patches so 
that we can find out what part of the patch is responsible?

	-Tim Abbott

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

* Re: [PATCH v2 2/2] m68knommu: Clean up linker script using new linker script macros.
  2009-10-12 14:47     ` Tim Abbott
@ 2009-10-12 23:46       ` Greg Ungerer
  2009-10-13  1:30         ` [PATCH v3 0/7] " Tim Abbott
  0 siblings, 1 reply; 36+ messages in thread
From: Greg Ungerer @ 2009-10-12 23:46 UTC (permalink / raw)
  To: Tim Abbott; +Cc: Greg Ungerer, linux-kernel, Sam Ravnborg

Hi Tim,

Tim Abbott wrote:
> On Thu, 1 Oct 2009, Greg Ungerer wrote:
>> Tim Abbott wrote:
>>> Signed-off-by: Tim Abbott <tabbott@ksplice.com>
>>> Cc: Greg Ungerer <gerg@uclinux.org>
>> This results in kernels that don't boot for me. I haven't done
>> any more debugging than to just try booting at this time.
> [...]
>> Does that look like what you would have expected?
> 
> Basically.  I'm a bit surprised that the .init_begin section doesn't show 
> up, but I'm pretty sure that this is because .init_begin would have had 
> size zero as the previous section's end was already page-aligned.
> 
>> I suspect the problem may lie in the binary conversion of this
>> elf file to a raw binary for booting. This uses objcopy with
>> "-O binary". The resulting binary files are different in size
>> with and without the patch by about 2582 bytes. Suspicious
>> me thinks.
> 
> I don't any good ideas for what in patch is likely to be responsible.  
> Would it be helpful to debug if I split this into ~5 very small patches so 
> that we can find out what part of the patch is responsible?

Yes, that will make it quick and easy for me.

Thanks
Greg



------------------------------------------------------------------------
Greg Ungerer  --  Principal Engineer        EMAIL:     gerg@snapgear.com
SnapGear Group, McAfee                      PHONE:       +61 7 3435 2888
825 Stanley St,                             FAX:         +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia         WEB: http://www.SnapGear.com

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

* [PATCH v3 0/7] m68knommu: Clean up linker script using new linker script macros.
  2009-10-12 23:46       ` Greg Ungerer
@ 2009-10-13  1:30         ` Tim Abbott
  2009-10-13  1:30           ` [PATCH v3 1/7] m68knommu: Don't hardcode the value of PAGE_SIZE in the linker script Tim Abbott
  0 siblings, 1 reply; 36+ messages in thread
From: Tim Abbott @ 2009-10-13  1:30 UTC (permalink / raw)
  To: Greg Ungerer; +Cc: linux-kernel, Sam Ravnborg, Tim Abbott

On Mon, 12 Oct 2009, Greg Ungerer wrote:
> Tim Abbott wrote:
>> I don't any good ideas for what in patch is likely to be
>> responsible.  Would it be helpful to debug if I split this into ~5
>> very small patches so that we can find out what part of the patch
>> is responsible?
> Yes, that will make it quick and easy for me.

OK, below's a new patch series that is the same as the previous one
but in 7-patch format.

	-Tim Abbott

Tim Abbott (7):
  m68knommu: Don't hardcode the value of PAGE_SIZE in the linker
    script.
  m68knommu: Make THREAD_SIZE available to assembly files.
  m68knommu: Use INIT_TASK_DATA and CACHELINE_ALIGNED_DATA.
  m68knommu: Use more macros inside the .init section.
  m68knommu: Move __init_begin out of the .init section.
  m68knommu: Move __init_end out of the .init section.
  m68knommu: Split the .init section into INIT_TEXT_SECTION and
    INIT_DATA_SECTION.

 arch/m68k/include/asm/thread_info_no.h |    4 +-
 arch/m68knommu/kernel/vmlinux.lds.S    |   41 ++++++++-----------------------
 2 files changed, 13 insertions(+), 32 deletions(-)


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

* [PATCH v3 1/7] m68knommu: Don't hardcode the value of PAGE_SIZE in the linker script.
  2009-10-13  1:30         ` [PATCH v3 0/7] " Tim Abbott
@ 2009-10-13  1:30           ` Tim Abbott
  2009-10-13  1:30             ` [PATCH v3 2/7] m68knommu: Make THREAD_SIZE available to assembly files Tim Abbott
  0 siblings, 1 reply; 36+ messages in thread
From: Tim Abbott @ 2009-10-13  1:30 UTC (permalink / raw)
  To: Greg Ungerer; +Cc: linux-kernel, Sam Ravnborg, Tim Abbott

Signed-off-by: Tim Abbott <tabbott@ksplice.com>
---
 arch/m68knommu/kernel/vmlinux.lds.S |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/m68knommu/kernel/vmlinux.lds.S b/arch/m68knommu/kernel/vmlinux.lds.S
index 2736a5e..edc20bd 100644
--- a/arch/m68knommu/kernel/vmlinux.lds.S
+++ b/arch/m68knommu/kernel/vmlinux.lds.S
@@ -8,6 +8,7 @@
  */
 
 #include <asm-generic/vmlinux.lds.h>
+#include <asm/page.h>
 
 #if defined(CONFIG_RAMKERNEL)
 #define	RAM_START	CONFIG_KERNELBASE
@@ -155,7 +156,7 @@ SECTIONS {
 	} > DATA
 
 	.init : {
-		. = ALIGN(4096);
+		. = ALIGN(PAGE_SIZE);
 		__init_begin = .;
 		_sinittext = .;
 		INIT_TEXT
@@ -180,7 +181,7 @@ SECTIONS {
 		*(.init.ramfs)
 		__initramfs_end = .;
 #endif
-		. = ALIGN(4096);
+		. = ALIGN(PAGE_SIZE);
 		__init_end = .;
 	} > INIT
 
-- 
1.6.4.3


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

* [PATCH v3 2/7] m68knommu: Make THREAD_SIZE available to assembly files.
  2009-10-13  1:30           ` [PATCH v3 1/7] m68knommu: Don't hardcode the value of PAGE_SIZE in the linker script Tim Abbott
@ 2009-10-13  1:30             ` Tim Abbott
  2009-10-13  1:30               ` [PATCH v3 3/7] m68knommu: Use INIT_TASK_DATA and CACHELINE_ALIGNED_DATA Tim Abbott
  0 siblings, 1 reply; 36+ messages in thread
From: Tim Abbott @ 2009-10-13  1:30 UTC (permalink / raw)
  To: Greg Ungerer; +Cc: linux-kernel, Sam Ravnborg, Tim Abbott, Greg Ungerer

Signed-off-by: Tim Abbott <tabbott@ksplice.com>
Cc: Greg Ungerer <gerg@uclinux.org>
---
 arch/m68k/include/asm/thread_info_no.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/m68k/include/asm/thread_info_no.h b/arch/m68k/include/asm/thread_info_no.h
index c2bde5e..a6512bf 100644
--- a/arch/m68k/include/asm/thread_info_no.h
+++ b/arch/m68k/include/asm/thread_info_no.h
@@ -12,8 +12,6 @@
 
 #ifdef __KERNEL__
 
-#ifndef __ASSEMBLY__
-
 /*
  * Size of kernel stack for each process. This must be a power of 2...
  */
@@ -28,6 +26,8 @@
  */
 #define THREAD_SIZE (PAGE_SIZE<<THREAD_SIZE_ORDER)
 
+#ifndef __ASSEMBLY__
+
 /*
  * low level task data.
  */
-- 
1.6.4.3


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

* [PATCH v3 3/7] m68knommu: Use INIT_TASK_DATA and CACHELINE_ALIGNED_DATA.
  2009-10-13  1:30             ` [PATCH v3 2/7] m68knommu: Make THREAD_SIZE available to assembly files Tim Abbott
@ 2009-10-13  1:30               ` Tim Abbott
  2009-10-13  1:30                 ` [PATCH v3 4/7] m68knommu: Use more macros inside the .init section Tim Abbott
  0 siblings, 1 reply; 36+ messages in thread
From: Tim Abbott @ 2009-10-13  1:30 UTC (permalink / raw)
  To: Greg Ungerer; +Cc: linux-kernel, Sam Ravnborg, Tim Abbott

Signed-off-by: Tim Abbott <tabbott@ksplice.com>
---
 arch/m68knommu/kernel/vmlinux.lds.S |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/arch/m68knommu/kernel/vmlinux.lds.S b/arch/m68knommu/kernel/vmlinux.lds.S
index edc20bd..153569b 100644
--- a/arch/m68knommu/kernel/vmlinux.lds.S
+++ b/arch/m68knommu/kernel/vmlinux.lds.S
@@ -9,6 +9,7 @@
 
 #include <asm-generic/vmlinux.lds.h>
 #include <asm/page.h>
+#include <asm/thread_info.h>
 
 #if defined(CONFIG_RAMKERNEL)
 #define	RAM_START	CONFIG_KERNELBASE
@@ -148,10 +149,8 @@ SECTIONS {
 		. = ALIGN(4);
 		_sdata = . ;
 		DATA_DATA
-		. = ALIGN(32);
-		*(.data.cacheline_aligned)
-		. = ALIGN(8192) ;
-		*(.data.init_task)
+		CACHELINE_ALIGNED_DATA(32)
+		INIT_TASK_DATA(THREAD_SIZE)
 		_edata = . ;
 	} > DATA
 
-- 
1.6.4.3


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

* [PATCH v3 4/7] m68knommu: Use more macros inside the .init section.
  2009-10-13  1:30               ` [PATCH v3 3/7] m68knommu: Use INIT_TASK_DATA and CACHELINE_ALIGNED_DATA Tim Abbott
@ 2009-10-13  1:30                 ` Tim Abbott
  2009-10-13  1:30                   ` [PATCH v3 5/7] m68knommu: Move __init_begin out of " Tim Abbott
  2009-10-13  5:55                   ` [PATCH v3 4/7] m68knommu: Use more macros inside " Greg Ungerer
  0 siblings, 2 replies; 36+ messages in thread
From: Tim Abbott @ 2009-10-13  1:30 UTC (permalink / raw)
  To: Greg Ungerer; +Cc: linux-kernel, Sam Ravnborg, Tim Abbott

Signed-off-by: Tim Abbott <tabbott@ksplice.com>
---
 arch/m68knommu/kernel/vmlinux.lds.S |   23 +++++------------------
 1 files changed, 5 insertions(+), 18 deletions(-)

diff --git a/arch/m68knommu/kernel/vmlinux.lds.S b/arch/m68knommu/kernel/vmlinux.lds.S
index 153569b..f7df82a 100644
--- a/arch/m68knommu/kernel/vmlinux.lds.S
+++ b/arch/m68knommu/kernel/vmlinux.lds.S
@@ -161,25 +161,12 @@ SECTIONS {
 		INIT_TEXT
 		_einittext = .;
 		INIT_DATA
-		. = ALIGN(16);
-		__setup_start = .;
-		*(.init.setup)
-		__setup_end = .;
-		__initcall_start = .;
+		INIT_SETUP(16)
+		INIT_CALL
 		INITCALLS
-		__initcall_end = .;
-		__con_initcall_start = .;
-		*(.con_initcall.init)
-		__con_initcall_end = .;
-		__security_initcall_start = .;
-		*(.security_initcall.init)
-		__security_initcall_end = .;
-#ifdef CONFIG_BLK_DEV_INITRD
-		. = ALIGN(4);
-		__initramfs_start = .;
-		*(.init.ramfs)
-		__initramfs_end = .;
-#endif
+		CON_INITCALL
+		SECURITY_INITCALL
+		INIT_RAM_FS
 		. = ALIGN(PAGE_SIZE);
 		__init_end = .;
 	} > INIT
-- 
1.6.4.3


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

* [PATCH v3 5/7] m68knommu: Move __init_begin out of the .init section.
  2009-10-13  1:30                 ` [PATCH v3 4/7] m68knommu: Use more macros inside the .init section Tim Abbott
@ 2009-10-13  1:30                   ` Tim Abbott
  2009-10-13  1:30                     ` [PATCH v3 6/7] m68knommu: Move __init_end " Tim Abbott
  2009-10-13  5:55                   ` [PATCH v3 4/7] m68knommu: Use more macros inside " Greg Ungerer
  1 sibling, 1 reply; 36+ messages in thread
From: Tim Abbott @ 2009-10-13  1:30 UTC (permalink / raw)
  To: Greg Ungerer; +Cc: linux-kernel, Sam Ravnborg, Tim Abbott

Signed-off-by: Tim Abbott <tabbott@ksplice.com>
---
 arch/m68knommu/kernel/vmlinux.lds.S |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/arch/m68knommu/kernel/vmlinux.lds.S b/arch/m68knommu/kernel/vmlinux.lds.S
index f7df82a..73fe172 100644
--- a/arch/m68knommu/kernel/vmlinux.lds.S
+++ b/arch/m68knommu/kernel/vmlinux.lds.S
@@ -154,9 +154,11 @@ SECTIONS {
 		_edata = . ;
 	} > DATA
 
-	.init : {
+	.init_begin : {
 		. = ALIGN(PAGE_SIZE);
 		__init_begin = .;
+	} > INIT
+	.init : {
 		_sinittext = .;
 		INIT_TEXT
 		_einittext = .;
-- 
1.6.4.3


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

* [PATCH v3 6/7] m68knommu: Move __init_end out of the .init section.
  2009-10-13  1:30                   ` [PATCH v3 5/7] m68knommu: Move __init_begin out of " Tim Abbott
@ 2009-10-13  1:30                     ` Tim Abbott
  2009-10-13  1:30                       ` [PATCH v3 7/7] m68knommu: Split the .init section into INIT_TEXT_SECTION and INIT_DATA_SECTION Tim Abbott
  2009-10-14  4:41                       ` [PATCH v3 6/7] m68knommu: Move __init_end out of the .init section Greg Ungerer
  0 siblings, 2 replies; 36+ messages in thread
From: Tim Abbott @ 2009-10-13  1:30 UTC (permalink / raw)
  To: Greg Ungerer; +Cc: linux-kernel, Sam Ravnborg, Tim Abbott

Signed-off-by: Tim Abbott <tabbott@ksplice.com>
---
 arch/m68knommu/kernel/vmlinux.lds.S |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/arch/m68knommu/kernel/vmlinux.lds.S b/arch/m68knommu/kernel/vmlinux.lds.S
index 73fe172..49d5c4d 100644
--- a/arch/m68knommu/kernel/vmlinux.lds.S
+++ b/arch/m68knommu/kernel/vmlinux.lds.S
@@ -169,6 +169,8 @@ SECTIONS {
 		CON_INITCALL
 		SECURITY_INITCALL
 		INIT_RAM_FS
+	} > INIT
+	.init_end : {
 		. = ALIGN(PAGE_SIZE);
 		__init_end = .;
 	} > INIT
-- 
1.6.4.3


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

* [PATCH v3 7/7] m68knommu: Split the .init section into INIT_TEXT_SECTION and INIT_DATA_SECTION.
  2009-10-13  1:30                     ` [PATCH v3 6/7] m68knommu: Move __init_end " Tim Abbott
@ 2009-10-13  1:30                       ` Tim Abbott
  2009-10-14  4:41                       ` [PATCH v3 6/7] m68knommu: Move __init_end out of the .init section Greg Ungerer
  1 sibling, 0 replies; 36+ messages in thread
From: Tim Abbott @ 2009-10-13  1:30 UTC (permalink / raw)
  To: Greg Ungerer; +Cc: linux-kernel, Sam Ravnborg, Tim Abbott

Signed-off-by: Tim Abbott <tabbott@ksplice.com>
---
 arch/m68knommu/kernel/vmlinux.lds.S |   14 ++------------
 1 files changed, 2 insertions(+), 12 deletions(-)

diff --git a/arch/m68knommu/kernel/vmlinux.lds.S b/arch/m68knommu/kernel/vmlinux.lds.S
index 49d5c4d..b236133 100644
--- a/arch/m68knommu/kernel/vmlinux.lds.S
+++ b/arch/m68knommu/kernel/vmlinux.lds.S
@@ -158,18 +158,8 @@ SECTIONS {
 		. = ALIGN(PAGE_SIZE);
 		__init_begin = .;
 	} > INIT
-	.init : {
-		_sinittext = .;
-		INIT_TEXT
-		_einittext = .;
-		INIT_DATA
-		INIT_SETUP(16)
-		INIT_CALL
-		INITCALLS
-		CON_INITCALL
-		SECURITY_INITCALL
-		INIT_RAM_FS
-	} > INIT
+	INIT_TEXT_SECTION(PAGE_SIZE) > INIT
+	INIT_DATA_SECTION(16) > INIT
 	.init_end : {
 		. = ALIGN(PAGE_SIZE);
 		__init_end = .;
-- 
1.6.4.3


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

* Re: [PATCH v3 4/7] m68knommu: Use more macros inside the .init section.
  2009-10-13  1:30                 ` [PATCH v3 4/7] m68knommu: Use more macros inside the .init section Tim Abbott
  2009-10-13  1:30                   ` [PATCH v3 5/7] m68knommu: Move __init_begin out of " Tim Abbott
@ 2009-10-13  5:55                   ` Greg Ungerer
  2009-10-13 15:39                     ` Tim Abbott
  1 sibling, 1 reply; 36+ messages in thread
From: Greg Ungerer @ 2009-10-13  5:55 UTC (permalink / raw)
  To: Tim Abbott; +Cc: linux-kernel, Sam Ravnborg

Hi Tim,

Tim Abbott wrote:
> Signed-off-by: Tim Abbott <tabbott@ksplice.com>
> ---
>  arch/m68knommu/kernel/vmlinux.lds.S |   23 +++++------------------
>  1 files changed, 5 insertions(+), 18 deletions(-)
> 
> diff --git a/arch/m68knommu/kernel/vmlinux.lds.S b/arch/m68knommu/kernel/vmlinux.lds.S
> index 153569b..f7df82a 100644
> --- a/arch/m68knommu/kernel/vmlinux.lds.S
> +++ b/arch/m68knommu/kernel/vmlinux.lds.S
> @@ -161,25 +161,12 @@ SECTIONS {
>  		INIT_TEXT
>  		_einittext = .;
>  		INIT_DATA
> -		. = ALIGN(16);
> -		__setup_start = .;
> -		*(.init.setup)
> -		__setup_end = .;
> -		__initcall_start = .;
> +		INIT_SETUP(16)
> +		INIT_CALL
                 ^^^^^^^^^^
I take it this should be INIT_CALLS?


>  		INITCALLS
> -		__initcall_end = .;
> -		__con_initcall_start = .;
> -		*(.con_initcall.init)
> -		__con_initcall_end = .;
> -		__security_initcall_start = .;
> -		*(.security_initcall.init)
> -		__security_initcall_end = .;
> -#ifdef CONFIG_BLK_DEV_INITRD
> -		. = ALIGN(4);
> -		__initramfs_start = .;
> -		*(.init.ramfs)
> -		__initramfs_end = .;
> -#endif
> +		CON_INITCALL
> +		SECURITY_INITCALL
> +		INIT_RAM_FS
>  		. = ALIGN(PAGE_SIZE);
>  		__init_end = .;
>  	} > INIT


With this patch applied the kernel no longer boots. All previous
patches (so 1, 2 and 3) applied run fine.

Headers list:

vmlinux:     file format elf32-m68k

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
   0 .text         00125ff0  40020000  40020000  00002000  2**4
                   CONTENTS, ALLOC, LOAD, READONLY, CODE
   1 .data         00012010  40145ff0  40145ff0  00127ff0  2**4
                   CONTENTS, ALLOC, LOAD, DATA
   2 .init         0000c000  40158000  40158000  0013a000  2**2
                   CONTENTS, ALLOC, LOAD, CODE
   3 .bss          0000a9ec  40164000  40164000  00146000  2**4
                   ALLOC
   4 .comment      00001c56  00000000  00000000  00146000  2**0
                   CONTENTS, READONLY

I haven't debugged any further...

Regards
Greg



------------------------------------------------------------------------
Greg Ungerer  --  Principal Engineer        EMAIL:     gerg@snapgear.com
SnapGear Group, McAfee                      PHONE:       +61 7 3435 2888
825 Stanley St,                             FAX:         +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia         WEB: http://www.SnapGear.com

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

* Re: [PATCH v3 4/7] m68knommu: Use more macros inside the .init section.
  2009-10-13  5:55                   ` [PATCH v3 4/7] m68knommu: Use more macros inside " Greg Ungerer
@ 2009-10-13 15:39                     ` Tim Abbott
  2009-10-14  4:22                       ` Greg Ungerer
  0 siblings, 1 reply; 36+ messages in thread
From: Tim Abbott @ 2009-10-13 15:39 UTC (permalink / raw)
  To: Greg Ungerer; +Cc: linux-kernel, Sam Ravnborg

On Tue, 13 Oct 2009, Greg Ungerer wrote:

> Hi Tim,
> 
> Tim Abbott wrote:
> > Signed-off-by: Tim Abbott <tabbott@ksplice.com>
> > ---
> >  arch/m68knommu/kernel/vmlinux.lds.S |   23 +++++------------------
> >  1 files changed, 5 insertions(+), 18 deletions(-)
> > 
> > diff --git a/arch/m68knommu/kernel/vmlinux.lds.S
> > b/arch/m68knommu/kernel/vmlinux.lds.S
> > index 153569b..f7df82a 100644
> > --- a/arch/m68knommu/kernel/vmlinux.lds.S
> > +++ b/arch/m68knommu/kernel/vmlinux.lds.S
> > @@ -161,25 +161,12 @@ SECTIONS {
> >  		INIT_TEXT
> >  		_einittext = .;
> >  		INIT_DATA
> > -		. = ALIGN(16);
> > -		__setup_start = .;
> > -		*(.init.setup)
> > -		__setup_end = .;
> > -		__initcall_start = .;
> > +		INIT_SETUP(16)
> > +		INIT_CALL
>                 ^^^^^^^^^^
> I take it this should be INIT_CALLS?

Oops, yes.  Also the INITCALLS on the following line should be deleted.  
So it should look like the below patch.

> With this patch applied the kernel no longer boots. All previous
> patches (so 1, 2 and 3) applied run fine.

Hopefully this is because we had INIT_CALLS followed by INITCALLS.  If it 
doesn't boot using the patch below instead, then that would be surprising 
to me.

	-Tim Abbott

m68knommu: Use more macros inside the .init section.

Signed-off-by: Tim Abbott <tabbott@ksplice.com>
---
 arch/m68knommu/kernel/vmlinux.lds.S |   24 +++++-------------------
 1 files changed, 5 insertions(+), 19 deletions(-)

diff --git a/arch/m68knommu/kernel/vmlinux.lds.S b/arch/m68knommu/kernel/vmlinux.lds.S
index 153569b..ac7e785 100644
--- a/arch/m68knommu/kernel/vmlinux.lds.S
+++ b/arch/m68knommu/kernel/vmlinux.lds.S
@@ -161,25 +161,11 @@ SECTIONS {
 		INIT_TEXT
 		_einittext = .;
 		INIT_DATA
-		. = ALIGN(16);
-		__setup_start = .;
-		*(.init.setup)
-		__setup_end = .;
-		__initcall_start = .;
-		INITCALLS
-		__initcall_end = .;
-		__con_initcall_start = .;
-		*(.con_initcall.init)
-		__con_initcall_end = .;
-		__security_initcall_start = .;
-		*(.security_initcall.init)
-		__security_initcall_end = .;
-#ifdef CONFIG_BLK_DEV_INITRD
-		. = ALIGN(4);
-		__initramfs_start = .;
-		*(.init.ramfs)
-		__initramfs_end = .;
-#endif
+		INIT_SETUP(16)
+		INIT_CALLS
+		CON_INITCALL
+		SECURITY_INITCALL
+		INIT_RAM_FS
 		. = ALIGN(PAGE_SIZE);
 		__init_end = .;
 	} > INIT
-- 
1.6.4.3


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

* Re: [PATCH v3 4/7] m68knommu: Use more macros inside the .init section.
  2009-10-13 15:39                     ` Tim Abbott
@ 2009-10-14  4:22                       ` Greg Ungerer
  0 siblings, 0 replies; 36+ messages in thread
From: Greg Ungerer @ 2009-10-14  4:22 UTC (permalink / raw)
  To: Tim Abbott; +Cc: linux-kernel, Sam Ravnborg

Hi Tim,

Tim Abbott wrote:
> On Tue, 13 Oct 2009, Greg Ungerer wrote:
> 
>> Hi Tim,
>>
>> Tim Abbott wrote:
>>> Signed-off-by: Tim Abbott <tabbott@ksplice.com>
>>> ---
>>>  arch/m68knommu/kernel/vmlinux.lds.S |   23 +++++------------------
>>>  1 files changed, 5 insertions(+), 18 deletions(-)
>>>
>>> diff --git a/arch/m68knommu/kernel/vmlinux.lds.S
>>> b/arch/m68knommu/kernel/vmlinux.lds.S
>>> index 153569b..f7df82a 100644
>>> --- a/arch/m68knommu/kernel/vmlinux.lds.S
>>> +++ b/arch/m68knommu/kernel/vmlinux.lds.S
>>> @@ -161,25 +161,12 @@ SECTIONS {
>>>  		INIT_TEXT
>>>  		_einittext = .;
>>>  		INIT_DATA
>>> -		. = ALIGN(16);
>>> -		__setup_start = .;
>>> -		*(.init.setup)
>>> -		__setup_end = .;
>>> -		__initcall_start = .;
>>> +		INIT_SETUP(16)
>>> +		INIT_CALL
>>                 ^^^^^^^^^^
>> I take it this should be INIT_CALLS?
> 
> Oops, yes.  Also the INITCALLS on the following line should be deleted.  
> So it should look like the below patch.
> 
>> With this patch applied the kernel no longer boots. All previous
>> patches (so 1, 2 and 3) applied run fine.
> 
> Hopefully this is because we had INIT_CALLS followed by INITCALLS.  If it 
> doesn't boot using the patch below instead, then that would be surprising 
> to me.

Runs fine with this updated patch.
Trying the rest of the series now.

Regards
Greg




> m68knommu: Use more macros inside the .init section.
> 
> Signed-off-by: Tim Abbott <tabbott@ksplice.com>
> ---
>  arch/m68knommu/kernel/vmlinux.lds.S |   24 +++++-------------------
>  1 files changed, 5 insertions(+), 19 deletions(-)
> 
> diff --git a/arch/m68knommu/kernel/vmlinux.lds.S b/arch/m68knommu/kernel/vmlinux.lds.S
> index 153569b..ac7e785 100644
> --- a/arch/m68knommu/kernel/vmlinux.lds.S
> +++ b/arch/m68knommu/kernel/vmlinux.lds.S
> @@ -161,25 +161,11 @@ SECTIONS {
>  		INIT_TEXT
>  		_einittext = .;
>  		INIT_DATA
> -		. = ALIGN(16);
> -		__setup_start = .;
> -		*(.init.setup)
> -		__setup_end = .;
> -		__initcall_start = .;
> -		INITCALLS
> -		__initcall_end = .;
> -		__con_initcall_start = .;
> -		*(.con_initcall.init)
> -		__con_initcall_end = .;
> -		__security_initcall_start = .;
> -		*(.security_initcall.init)
> -		__security_initcall_end = .;
> -#ifdef CONFIG_BLK_DEV_INITRD
> -		. = ALIGN(4);
> -		__initramfs_start = .;
> -		*(.init.ramfs)
> -		__initramfs_end = .;
> -#endif
> +		INIT_SETUP(16)
> +		INIT_CALLS
> +		CON_INITCALL
> +		SECURITY_INITCALL
> +		INIT_RAM_FS
>  		. = ALIGN(PAGE_SIZE);
>  		__init_end = .;
>  	} > INIT

-- 
------------------------------------------------------------------------
Greg Ungerer  --  Principal Engineer        EMAIL:     gerg@snapgear.com
SnapGear Group, McAfee                      PHONE:       +61 7 3435 2888
825 Stanley St,                             FAX:         +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia         WEB: http://www.SnapGear.com

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

* Re: [PATCH v3 6/7] m68knommu: Move __init_end out of the .init section.
  2009-10-13  1:30                     ` [PATCH v3 6/7] m68knommu: Move __init_end " Tim Abbott
  2009-10-13  1:30                       ` [PATCH v3 7/7] m68knommu: Split the .init section into INIT_TEXT_SECTION and INIT_DATA_SECTION Tim Abbott
@ 2009-10-14  4:41                       ` Greg Ungerer
  2009-10-14 15:16                         ` Sam Ravnborg
  1 sibling, 1 reply; 36+ messages in thread
From: Greg Ungerer @ 2009-10-14  4:41 UTC (permalink / raw)
  To: Tim Abbott; +Cc: linux-kernel, Sam Ravnborg

Hi Tim,

Tim Abbott wrote:
> Signed-off-by: Tim Abbott <tabbott@ksplice.com>
> ---
>  arch/m68knommu/kernel/vmlinux.lds.S |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/m68knommu/kernel/vmlinux.lds.S b/arch/m68knommu/kernel/vmlinux.lds.S
> index 73fe172..49d5c4d 100644
> --- a/arch/m68knommu/kernel/vmlinux.lds.S
> +++ b/arch/m68knommu/kernel/vmlinux.lds.S
> @@ -169,6 +169,8 @@ SECTIONS {
>  		CON_INITCALL
>  		SECURITY_INITCALL
>  		INIT_RAM_FS
> +	} > INIT
> +	.init_end : {
>  		. = ALIGN(PAGE_SIZE);
>  		__init_end = .;
>  	} > INIT


After applying this I can no longer boot.

Resulting headers for vmlinux are:

vmlinux:     file format elf32-m68k

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
   0 .text         00125ff0  40020000  40020000  00002000  2**4
                   CONTENTS, ALLOC, LOAD, READONLY, CODE
   1 .data         00012010  40145ff0  40145ff0  00127ff0  2**4
                   CONTENTS, ALLOC, LOAD, DATA
   2 .init         0000b608  40158000  40158000  0013a000  2**2
                   CONTENTS, ALLOC, LOAD, CODE
   3 .init_end     000009f8  40163608  40163608  00145608  2**0
                   ALLOC
   4 .bss          0000a9ec  40164000  40164000  00145608  2**4
                   ALLOC
   5 .comment      00001c56  00000000  00000000  00145608  2**0
                   CONTENTS, READONLY


Regards
Greg



------------------------------------------------------------------------
Greg Ungerer  --  Principal Engineer        EMAIL:     gerg@snapgear.com
SnapGear Group, McAfee                      PHONE:       +61 7 3435 2888
825 Stanley St,                             FAX:         +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia         WEB: http://www.SnapGear.com

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

* Re: [PATCH v3 6/7] m68knommu: Move __init_end out of the .init section.
  2009-10-14  4:41                       ` [PATCH v3 6/7] m68knommu: Move __init_end out of the .init section Greg Ungerer
@ 2009-10-14 15:16                         ` Sam Ravnborg
  2009-10-18 17:22                           ` Tim Abbott
  2009-10-30  0:44                           ` [PATCH v3 6/7] m68knommu: Move __init_end out of the .init section Greg Ungerer
  0 siblings, 2 replies; 36+ messages in thread
From: Sam Ravnborg @ 2009-10-14 15:16 UTC (permalink / raw)
  To: Greg Ungerer; +Cc: Tim Abbott, linux-kernel

On Wed, Oct 14, 2009 at 02:41:38PM +1000, Greg Ungerer wrote:
> Hi Tim,
>
> Tim Abbott wrote:
>> Signed-off-by: Tim Abbott <tabbott@ksplice.com>
>> ---
>>  arch/m68knommu/kernel/vmlinux.lds.S |    2 ++
>>  1 files changed, 2 insertions(+), 0 deletions(-)
>>
>> diff --git a/arch/m68knommu/kernel/vmlinux.lds.S b/arch/m68knommu/kernel/vmlinux.lds.S
>> index 73fe172..49d5c4d 100644
>> --- a/arch/m68knommu/kernel/vmlinux.lds.S
>> +++ b/arch/m68knommu/kernel/vmlinux.lds.S
>> @@ -169,6 +169,8 @@ SECTIONS {
>>  		CON_INITCALL
>>  		SECURITY_INITCALL
>>  		INIT_RAM_FS
>> +	} > INIT
>> +	.init_end : {
>>  		. = ALIGN(PAGE_SIZE);
>>  		__init_end = .;
>>  	} > INIT
>
>
> After applying this I can no longer boot.
>
> Resulting headers for vmlinux are:
>
> vmlinux:     file format elf32-m68k
>
> Sections:
> Idx Name          Size      VMA       LMA       File off  Algn
>   0 .text         00125ff0  40020000  40020000  00002000  2**4
>                   CONTENTS, ALLOC, LOAD, READONLY, CODE
>   1 .data         00012010  40145ff0  40145ff0  00127ff0  2**4
>                   CONTENTS, ALLOC, LOAD, DATA
>   2 .init         0000b608  40158000  40158000  0013a000  2**2
>                   CONTENTS, ALLOC, LOAD, CODE
>   3 .init_end     000009f8  40163608  40163608  00145608  2**0
>                   ALLOC
>   4 .bss          0000a9ec  40164000  40164000  00145608  2**4
>                   ALLOC
>   5 .comment      00001c56  00000000  00000000  00145608  2**0
>                   CONTENTS, READONLY

Took a look at this trying to understand why this
caused a non-booting system.

The previous post should have created a section named "init_begin",
but it is not present in the above.
I think this is beacuse the section had a zero size and thus
got ignored by the linker.

An the linker is allowed to rearrange sections so the concept
with a init_begin, init_end sections looks wrongs.
We do not know the order of these sections and they may
be linked in a different order than what we expect.

I think the better solution is to use the same section name
several times like this:

	.init : {
              . = ALIGN(PAGE_SIZE);
              __init_end = .;
      } > INIT

We should do this both for begin and end.
Then the linker will not fool us and try to rearrange stuff.
And we do not end up with zero sized sections.
		
Greg - I assume the boot failed when it tried to free initmem.

	Sam

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

* Re: [PATCH v3 6/7] m68knommu: Move __init_end out of the .init section.
  2009-10-14 15:16                         ` Sam Ravnborg
@ 2009-10-18 17:22                           ` Tim Abbott
  2009-10-18 17:23                             ` [PATCH v4 1/7] m68knommu: Don't hardcode the value of PAGE_SIZE in the linker script Tim Abbott
                                               ` (6 more replies)
  2009-10-30  0:44                           ` [PATCH v3 6/7] m68knommu: Move __init_end out of the .init section Greg Ungerer
  1 sibling, 7 replies; 36+ messages in thread
From: Tim Abbott @ 2009-10-18 17:22 UTC (permalink / raw)
  To: Sam Ravnborg; +Cc: Greg Ungerer, linux-kernel

On Wed, 14 Oct 2009, Sam Ravnborg wrote:

> Took a look at this trying to understand why this
> caused a non-booting system.

Thanks, I really appreciate your looking at this!

[...]
> I think the better solution is to use the same section name
> several times like this:
> 
> 	.init : {
>               . = ALIGN(PAGE_SIZE);
>               __init_end = .;
>       } > INIT
> 
> We should do this both for begin and end.
> Then the linker will not fool us and try to rearrange stuff.
> And we do not end up with zero sized sections.

OK, I have an attempt at implementing this idea.  Of course, the final 
patch which uses INIT_TEXT_SECTION and INIT_DATA_SECTION has multiple 
output sections (.init.data and .init.text), but I think perhaps including 
these alignment guards in the adjacent section might work.

	-Tim Abbott


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

* [PATCH v4 1/7] m68knommu: Don't hardcode the value of PAGE_SIZE in the linker script.
  2009-10-18 17:22                           ` Tim Abbott
@ 2009-10-18 17:23                             ` Tim Abbott
  2009-10-30  0:57                               ` Greg Ungerer
  2009-10-18 17:23                             ` [PATCH v4 2/7] m68knommu: Make THREAD_SIZE available to assembly files Tim Abbott
                                               ` (5 subsequent siblings)
  6 siblings, 1 reply; 36+ messages in thread
From: Tim Abbott @ 2009-10-18 17:23 UTC (permalink / raw)
  To: Greg Ungerer; +Cc: linux-kernel, Sam Ravnborg, Tim Abbott

Signed-off-by: Tim Abbott <tabbott@ksplice.com>
---
 arch/m68knommu/kernel/vmlinux.lds.S |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/m68knommu/kernel/vmlinux.lds.S b/arch/m68knommu/kernel/vmlinux.lds.S
index 2736a5e..edc20bd 100644
--- a/arch/m68knommu/kernel/vmlinux.lds.S
+++ b/arch/m68knommu/kernel/vmlinux.lds.S
@@ -8,6 +8,7 @@
  */
 
 #include <asm-generic/vmlinux.lds.h>
+#include <asm/page.h>
 
 #if defined(CONFIG_RAMKERNEL)
 #define	RAM_START	CONFIG_KERNELBASE
@@ -155,7 +156,7 @@ SECTIONS {
 	} > DATA
 
 	.init : {
-		. = ALIGN(4096);
+		. = ALIGN(PAGE_SIZE);
 		__init_begin = .;
 		_sinittext = .;
 		INIT_TEXT
@@ -180,7 +181,7 @@ SECTIONS {
 		*(.init.ramfs)
 		__initramfs_end = .;
 #endif
-		. = ALIGN(4096);
+		. = ALIGN(PAGE_SIZE);
 		__init_end = .;
 	} > INIT
 
-- 
1.6.4.3


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

* [PATCH v4 2/7] m68knommu: Make THREAD_SIZE available to assembly files.
  2009-10-18 17:22                           ` Tim Abbott
  2009-10-18 17:23                             ` [PATCH v4 1/7] m68knommu: Don't hardcode the value of PAGE_SIZE in the linker script Tim Abbott
@ 2009-10-18 17:23                             ` Tim Abbott
  2009-10-18 17:23                             ` [PATCH v4 3/7] m68knommu: Use INIT_TASK_DATA and CACHELINE_ALIGNED_DATA Tim Abbott
                                               ` (4 subsequent siblings)
  6 siblings, 0 replies; 36+ messages in thread
From: Tim Abbott @ 2009-10-18 17:23 UTC (permalink / raw)
  To: Greg Ungerer; +Cc: linux-kernel, Sam Ravnborg, Tim Abbott, Greg Ungerer

Signed-off-by: Tim Abbott <tabbott@ksplice.com>
Cc: Greg Ungerer <gerg@uclinux.org>
---
 arch/m68k/include/asm/thread_info_no.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/m68k/include/asm/thread_info_no.h b/arch/m68k/include/asm/thread_info_no.h
index c2bde5e..a6512bf 100644
--- a/arch/m68k/include/asm/thread_info_no.h
+++ b/arch/m68k/include/asm/thread_info_no.h
@@ -12,8 +12,6 @@
 
 #ifdef __KERNEL__
 
-#ifndef __ASSEMBLY__
-
 /*
  * Size of kernel stack for each process. This must be a power of 2...
  */
@@ -28,6 +26,8 @@
  */
 #define THREAD_SIZE (PAGE_SIZE<<THREAD_SIZE_ORDER)
 
+#ifndef __ASSEMBLY__
+
 /*
  * low level task data.
  */
-- 
1.6.4.3


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

* [PATCH v4 3/7] m68knommu: Use INIT_TASK_DATA and CACHELINE_ALIGNED_DATA.
  2009-10-18 17:22                           ` Tim Abbott
  2009-10-18 17:23                             ` [PATCH v4 1/7] m68knommu: Don't hardcode the value of PAGE_SIZE in the linker script Tim Abbott
  2009-10-18 17:23                             ` [PATCH v4 2/7] m68knommu: Make THREAD_SIZE available to assembly files Tim Abbott
@ 2009-10-18 17:23                             ` Tim Abbott
  2009-10-18 17:23                             ` [PATCH v4 4/7] m68knommu: Use more macros inside the .init section Tim Abbott
                                               ` (3 subsequent siblings)
  6 siblings, 0 replies; 36+ messages in thread
From: Tim Abbott @ 2009-10-18 17:23 UTC (permalink / raw)
  To: Greg Ungerer; +Cc: linux-kernel, Sam Ravnborg, Tim Abbott

Signed-off-by: Tim Abbott <tabbott@ksplice.com>
---
 arch/m68knommu/kernel/vmlinux.lds.S |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/arch/m68knommu/kernel/vmlinux.lds.S b/arch/m68knommu/kernel/vmlinux.lds.S
index edc20bd..153569b 100644
--- a/arch/m68knommu/kernel/vmlinux.lds.S
+++ b/arch/m68knommu/kernel/vmlinux.lds.S
@@ -9,6 +9,7 @@
 
 #include <asm-generic/vmlinux.lds.h>
 #include <asm/page.h>
+#include <asm/thread_info.h>
 
 #if defined(CONFIG_RAMKERNEL)
 #define	RAM_START	CONFIG_KERNELBASE
@@ -148,10 +149,8 @@ SECTIONS {
 		. = ALIGN(4);
 		_sdata = . ;
 		DATA_DATA
-		. = ALIGN(32);
-		*(.data.cacheline_aligned)
-		. = ALIGN(8192) ;
-		*(.data.init_task)
+		CACHELINE_ALIGNED_DATA(32)
+		INIT_TASK_DATA(THREAD_SIZE)
 		_edata = . ;
 	} > DATA
 
-- 
1.6.4.3


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

* [PATCH v4 4/7] m68knommu: Use more macros inside the .init section.
  2009-10-18 17:22                           ` Tim Abbott
                                               ` (2 preceding siblings ...)
  2009-10-18 17:23                             ` [PATCH v4 3/7] m68knommu: Use INIT_TASK_DATA and CACHELINE_ALIGNED_DATA Tim Abbott
@ 2009-10-18 17:23                             ` Tim Abbott
  2009-10-18 17:23                             ` [PATCH v4 5/7] m68knommu: Move __init_begin out of " Tim Abbott
                                               ` (2 subsequent siblings)
  6 siblings, 0 replies; 36+ messages in thread
From: Tim Abbott @ 2009-10-18 17:23 UTC (permalink / raw)
  To: Greg Ungerer; +Cc: linux-kernel, Sam Ravnborg, Tim Abbott

Signed-off-by: Tim Abbott <tabbott@ksplice.com>
---
 arch/m68knommu/kernel/vmlinux.lds.S |   24 +++++-------------------
 1 files changed, 5 insertions(+), 19 deletions(-)

diff --git a/arch/m68knommu/kernel/vmlinux.lds.S b/arch/m68knommu/kernel/vmlinux.lds.S
index 153569b..ac7e785 100644
--- a/arch/m68knommu/kernel/vmlinux.lds.S
+++ b/arch/m68knommu/kernel/vmlinux.lds.S
@@ -161,25 +161,11 @@ SECTIONS {
 		INIT_TEXT
 		_einittext = .;
 		INIT_DATA
-		. = ALIGN(16);
-		__setup_start = .;
-		*(.init.setup)
-		__setup_end = .;
-		__initcall_start = .;
-		INITCALLS
-		__initcall_end = .;
-		__con_initcall_start = .;
-		*(.con_initcall.init)
-		__con_initcall_end = .;
-		__security_initcall_start = .;
-		*(.security_initcall.init)
-		__security_initcall_end = .;
-#ifdef CONFIG_BLK_DEV_INITRD
-		. = ALIGN(4);
-		__initramfs_start = .;
-		*(.init.ramfs)
-		__initramfs_end = .;
-#endif
+		INIT_SETUP(16)
+		INIT_CALLS
+		CON_INITCALL
+		SECURITY_INITCALL
+		INIT_RAM_FS
 		. = ALIGN(PAGE_SIZE);
 		__init_end = .;
 	} > INIT
-- 
1.6.4.3


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

* [PATCH v4 5/7] m68knommu: Move __init_begin out of the .init section.
  2009-10-18 17:22                           ` Tim Abbott
                                               ` (3 preceding siblings ...)
  2009-10-18 17:23                             ` [PATCH v4 4/7] m68knommu: Use more macros inside the .init section Tim Abbott
@ 2009-10-18 17:23                             ` Tim Abbott
  2009-10-18 17:23                             ` [PATCH v4 6/7] m68knommu: Move __init_end " Tim Abbott
  2009-10-18 17:23                             ` [PATCH v4 7/7] m68knommu: Split the .init section into INIT_TEXT_SECTION and INIT_DATA_SECTION Tim Abbott
  6 siblings, 0 replies; 36+ messages in thread
From: Tim Abbott @ 2009-10-18 17:23 UTC (permalink / raw)
  To: Greg Ungerer; +Cc: linux-kernel, Sam Ravnborg, Tim Abbott

Signed-off-by: Tim Abbott <tabbott@ksplice.com>
---
 arch/m68knommu/kernel/vmlinux.lds.S |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/arch/m68knommu/kernel/vmlinux.lds.S b/arch/m68knommu/kernel/vmlinux.lds.S
index ac7e785..0d430da 100644
--- a/arch/m68knommu/kernel/vmlinux.lds.S
+++ b/arch/m68knommu/kernel/vmlinux.lds.S
@@ -157,6 +157,8 @@ SECTIONS {
 	.init : {
 		. = ALIGN(PAGE_SIZE);
 		__init_begin = .;
+	} > INIT
+	.init : {
 		_sinittext = .;
 		INIT_TEXT
 		_einittext = .;
-- 
1.6.4.3


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

* [PATCH v4 6/7] m68knommu: Move __init_end out of the .init section.
  2009-10-18 17:22                           ` Tim Abbott
                                               ` (4 preceding siblings ...)
  2009-10-18 17:23                             ` [PATCH v4 5/7] m68knommu: Move __init_begin out of " Tim Abbott
@ 2009-10-18 17:23                             ` Tim Abbott
  2009-10-18 17:23                             ` [PATCH v4 7/7] m68knommu: Split the .init section into INIT_TEXT_SECTION and INIT_DATA_SECTION Tim Abbott
  6 siblings, 0 replies; 36+ messages in thread
From: Tim Abbott @ 2009-10-18 17:23 UTC (permalink / raw)
  To: Greg Ungerer; +Cc: linux-kernel, Sam Ravnborg, Tim Abbott

Signed-off-by: Tim Abbott <tabbott@ksplice.com>
---
 arch/m68knommu/kernel/vmlinux.lds.S |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/arch/m68knommu/kernel/vmlinux.lds.S b/arch/m68knommu/kernel/vmlinux.lds.S
index 0d430da..65e2874 100644
--- a/arch/m68knommu/kernel/vmlinux.lds.S
+++ b/arch/m68knommu/kernel/vmlinux.lds.S
@@ -168,6 +168,8 @@ SECTIONS {
 		CON_INITCALL
 		SECURITY_INITCALL
 		INIT_RAM_FS
+	} > INIT
+	.init : {
 		. = ALIGN(PAGE_SIZE);
 		__init_end = .;
 	} > INIT
-- 
1.6.4.3


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

* [PATCH v4 7/7] m68knommu: Split the .init section into INIT_TEXT_SECTION and INIT_DATA_SECTION.
  2009-10-18 17:22                           ` Tim Abbott
                                               ` (5 preceding siblings ...)
  2009-10-18 17:23                             ` [PATCH v4 6/7] m68knommu: Move __init_end " Tim Abbott
@ 2009-10-18 17:23                             ` Tim Abbott
  2009-10-30  1:13                               ` Greg Ungerer
  6 siblings, 1 reply; 36+ messages in thread
From: Tim Abbott @ 2009-10-18 17:23 UTC (permalink / raw)
  To: Greg Ungerer; +Cc: linux-kernel, Sam Ravnborg, Tim Abbott

Signed-off-by: Tim Abbott <tabbott@ksplice.com>
---
 arch/m68knommu/kernel/vmlinux.lds.S |   17 ++++-------------
 1 files changed, 4 insertions(+), 13 deletions(-)

diff --git a/arch/m68knommu/kernel/vmlinux.lds.S b/arch/m68knommu/kernel/vmlinux.lds.S
index 65e2874..2bff62f 100644
--- a/arch/m68knommu/kernel/vmlinux.lds.S
+++ b/arch/m68knommu/kernel/vmlinux.lds.S
@@ -154,22 +154,13 @@ SECTIONS {
 		_edata = . ;
 	} > DATA
 
-	.init : {
+	.init.text : {
 		. = ALIGN(PAGE_SIZE);
 		__init_begin = .;
 	} > INIT
-	.init : {
-		_sinittext = .;
-		INIT_TEXT
-		_einittext = .;
-		INIT_DATA
-		INIT_SETUP(16)
-		INIT_CALLS
-		CON_INITCALL
-		SECURITY_INITCALL
-		INIT_RAM_FS
-	} > INIT
-	.init : {
+	INIT_TEXT_SECTION(PAGE_SIZE) > INIT
+	INIT_DATA_SECTION(16) > INIT
+	.init.data : {
 		. = ALIGN(PAGE_SIZE);
 		__init_end = .;
 	} > INIT
-- 
1.6.4.3


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

* Re: [PATCH v3 6/7] m68knommu: Move __init_end out of the .init section.
  2009-10-14 15:16                         ` Sam Ravnborg
  2009-10-18 17:22                           ` Tim Abbott
@ 2009-10-30  0:44                           ` Greg Ungerer
  1 sibling, 0 replies; 36+ messages in thread
From: Greg Ungerer @ 2009-10-30  0:44 UTC (permalink / raw)
  To: Sam Ravnborg; +Cc: Tim Abbott, linux-kernel

Hi Sam,

Sorry for the slow response.


Sam Ravnborg wrote:
> On Wed, Oct 14, 2009 at 02:41:38PM +1000, Greg Ungerer wrote:
>> Hi Tim,
>>
>> Tim Abbott wrote:
>>> Signed-off-by: Tim Abbott <tabbott@ksplice.com>
>>> ---
>>>  arch/m68knommu/kernel/vmlinux.lds.S |    2 ++
>>>  1 files changed, 2 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/arch/m68knommu/kernel/vmlinux.lds.S b/arch/m68knommu/kernel/vmlinux.lds.S
>>> index 73fe172..49d5c4d 100644
>>> --- a/arch/m68knommu/kernel/vmlinux.lds.S
>>> +++ b/arch/m68knommu/kernel/vmlinux.lds.S
>>> @@ -169,6 +169,8 @@ SECTIONS {
>>>  		CON_INITCALL
>>>  		SECURITY_INITCALL
>>>  		INIT_RAM_FS
>>> +	} > INIT
>>> +	.init_end : {
>>>  		. = ALIGN(PAGE_SIZE);
>>>  		__init_end = .;
>>>  	} > INIT
>>
>> After applying this I can no longer boot.
>>
>> Resulting headers for vmlinux are:
>>
>> vmlinux:     file format elf32-m68k
>>
>> Sections:
>> Idx Name          Size      VMA       LMA       File off  Algn
>>   0 .text         00125ff0  40020000  40020000  00002000  2**4
>>                   CONTENTS, ALLOC, LOAD, READONLY, CODE
>>   1 .data         00012010  40145ff0  40145ff0  00127ff0  2**4
>>                   CONTENTS, ALLOC, LOAD, DATA
>>   2 .init         0000b608  40158000  40158000  0013a000  2**2
>>                   CONTENTS, ALLOC, LOAD, CODE
>>   3 .init_end     000009f8  40163608  40163608  00145608  2**0
>>                   ALLOC
>>   4 .bss          0000a9ec  40164000  40164000  00145608  2**4
>>                   ALLOC
>>   5 .comment      00001c56  00000000  00000000  00145608  2**0
>>                   CONTENTS, READONLY
> 
> Took a look at this trying to understand why this
> caused a non-booting system.
> 
> The previous post should have created a section named "init_begin",
> but it is not present in the above.
> I think this is beacuse the section had a zero size and thus
> got ignored by the linker.
> 
> An the linker is allowed to rearrange sections so the concept
> with a init_begin, init_end sections looks wrongs.
> We do not know the order of these sections and they may
> be linked in a different order than what we expect.
> 
> I think the better solution is to use the same section name
> several times like this:
> 
> 	.init : {
>               . = ALIGN(PAGE_SIZE);
>               __init_end = .;
>       } > INIT
> 
> We should do this both for begin and end.
> Then the linker will not fool us and try to rearrange stuff.
> And we do not end up with zero sized sections.
> 		
> Greg - I assume the boot failed when it tried to free initmem.

No, it was very early - no console trace even. I didn't check
in logbuf to see what early kernel boot messages there where.

I'll try Tim's next set and see where that gets to.

Regards
Greg


------------------------------------------------------------------------
Greg Ungerer  --  Principal Engineer        EMAIL:     gerg@snapgear.com
SnapGear Group, McAfee                      PHONE:       +61 7 3435 2888
825 Stanley St,                             FAX:         +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia         WEB: http://www.SnapGear.com

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

* Re: [PATCH v4 1/7] m68knommu: Don't hardcode the value of PAGE_SIZE in the linker script.
  2009-10-18 17:23                             ` [PATCH v4 1/7] m68knommu: Don't hardcode the value of PAGE_SIZE in the linker script Tim Abbott
@ 2009-10-30  0:57                               ` Greg Ungerer
  2009-10-30  1:22                                 ` Tim Abbott
  0 siblings, 1 reply; 36+ messages in thread
From: Greg Ungerer @ 2009-10-30  0:57 UTC (permalink / raw)
  To: Tim Abbott; +Cc: linux-kernel, Sam Ravnborg

Hi Tim,

This one gives me:

arch/m68knommu/kernel/vmlinux.lds.S:19:1: warning: "BSS" redefined
In file included from arch/m68knommu/kernel/vmlinux.lds.S:10:
include/asm-generic/vmlinux.lds.h:495:1: warning: this is the location 
of the previous definition

A define named "BSS" is already used inside of vmlinux.lds.S.
No big deal, I just changed that internal one.

But otherwise no problems with this patch.

Regards
Greg



Tim Abbott wrote:
> Signed-off-by: Tim Abbott <tabbott@ksplice.com>
> ---
>  arch/m68knommu/kernel/vmlinux.lds.S |    5 +++--
>  1 files changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/m68knommu/kernel/vmlinux.lds.S b/arch/m68knommu/kernel/vmlinux.lds.S
> index 2736a5e..edc20bd 100644
> --- a/arch/m68knommu/kernel/vmlinux.lds.S
> +++ b/arch/m68knommu/kernel/vmlinux.lds.S
> @@ -8,6 +8,7 @@
>   */
>  
>  #include <asm-generic/vmlinux.lds.h>
> +#include <asm/page.h>
>  
>  #if defined(CONFIG_RAMKERNEL)
>  #define	RAM_START	CONFIG_KERNELBASE
> @@ -155,7 +156,7 @@ SECTIONS {
>  	} > DATA
>  
>  	.init : {
> -		. = ALIGN(4096);
> +		. = ALIGN(PAGE_SIZE);
>  		__init_begin = .;
>  		_sinittext = .;
>  		INIT_TEXT
> @@ -180,7 +181,7 @@ SECTIONS {
>  		*(.init.ramfs)
>  		__initramfs_end = .;
>  #endif
> -		. = ALIGN(4096);
> +		. = ALIGN(PAGE_SIZE);
>  		__init_end = .;
>  	} > INIT
>  

-- 
------------------------------------------------------------------------
Greg Ungerer  --  Principal Engineer        EMAIL:     gerg@snapgear.com
SnapGear Group, McAfee                      PHONE:       +61 7 3435 2888
825 Stanley St,                             FAX:         +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia         WEB: http://www.SnapGear.com

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

* Re: [PATCH v4 7/7] m68knommu: Split the .init section into INIT_TEXT_SECTION and INIT_DATA_SECTION.
  2009-10-18 17:23                             ` [PATCH v4 7/7] m68knommu: Split the .init section into INIT_TEXT_SECTION and INIT_DATA_SECTION Tim Abbott
@ 2009-10-30  1:13                               ` Greg Ungerer
  2009-10-30  1:30                                 ` Tim Abbott
  0 siblings, 1 reply; 36+ messages in thread
From: Greg Ungerer @ 2009-10-30  1:13 UTC (permalink / raw)
  To: Tim Abbott; +Cc: linux-kernel, Sam Ravnborg

Hi Tim,

The whole series applied and ran fine for me!
(Of course excepting the define name clash in 1/7)

Do you want me to push these into m68knommu.git?

Regards
Greg



Tim Abbott wrote:
> Signed-off-by: Tim Abbott <tabbott@ksplice.com>
> ---
>  arch/m68knommu/kernel/vmlinux.lds.S |   17 ++++-------------
>  1 files changed, 4 insertions(+), 13 deletions(-)
> 
> diff --git a/arch/m68knommu/kernel/vmlinux.lds.S b/arch/m68knommu/kernel/vmlinux.lds.S
> index 65e2874..2bff62f 100644
> --- a/arch/m68knommu/kernel/vmlinux.lds.S
> +++ b/arch/m68knommu/kernel/vmlinux.lds.S
> @@ -154,22 +154,13 @@ SECTIONS {
>  		_edata = . ;
>  	} > DATA
>  
> -	.init : {
> +	.init.text : {
>  		. = ALIGN(PAGE_SIZE);
>  		__init_begin = .;
>  	} > INIT
> -	.init : {
> -		_sinittext = .;
> -		INIT_TEXT
> -		_einittext = .;
> -		INIT_DATA
> -		INIT_SETUP(16)
> -		INIT_CALLS
> -		CON_INITCALL
> -		SECURITY_INITCALL
> -		INIT_RAM_FS
> -	} > INIT
> -	.init : {
> +	INIT_TEXT_SECTION(PAGE_SIZE) > INIT
> +	INIT_DATA_SECTION(16) > INIT
> +	.init.data : {
>  		. = ALIGN(PAGE_SIZE);
>  		__init_end = .;
>  	} > INIT

-- 
------------------------------------------------------------------------
Greg Ungerer  --  Principal Engineer        EMAIL:     gerg@snapgear.com
SnapGear Group, McAfee                      PHONE:       +61 7 3435 2888
825 Stanley St,                             FAX:         +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia         WEB: http://www.SnapGear.com

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

* Re: [PATCH v4 1/7] m68knommu: Don't hardcode the value of PAGE_SIZE in the linker script.
  2009-10-30  0:57                               ` Greg Ungerer
@ 2009-10-30  1:22                                 ` Tim Abbott
  2009-10-30  5:02                                   ` Greg Ungerer
  0 siblings, 1 reply; 36+ messages in thread
From: Tim Abbott @ 2009-10-30  1:22 UTC (permalink / raw)
  To: Greg Ungerer; +Cc: linux-kernel, Sam Ravnborg

On Fri, 30 Oct 2009, Greg Ungerer wrote:

> Hi Tim,
> 
> This one gives me:
> 
> arch/m68knommu/kernel/vmlinux.lds.S:19:1: warning: "BSS" redefined
> In file included from arch/m68knommu/kernel/vmlinux.lds.S:10:
> include/asm-generic/vmlinux.lds.h:495:1: warning: this is the location of the
> previous definition
> 
> A define named "BSS" is already used inside of vmlinux.lds.S.
> No big deal, I just changed that internal one.
> 
> But otherwise no problems with this patch.

This actually wasn't introduced by this patch -- it was introduced when 
the BSS macro was merged into include/asm-generic/vmlinux.lds.h in commit 
ef53dae8658cf0e93d380983824a661067948d87.

Regardless, changing the internal one was the right fix.

	-Tim Abbott

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

* Re: [PATCH v4 7/7] m68knommu: Split the .init section into INIT_TEXT_SECTION and INIT_DATA_SECTION.
  2009-10-30  1:13                               ` Greg Ungerer
@ 2009-10-30  1:30                                 ` Tim Abbott
  2009-10-30  5:10                                   ` Greg Ungerer
  2009-10-30 11:35                                   ` Sam Ravnborg
  0 siblings, 2 replies; 36+ messages in thread
From: Tim Abbott @ 2009-10-30  1:30 UTC (permalink / raw)
  To: Greg Ungerer; +Cc: linux-kernel, Sam Ravnborg

On Fri, 30 Oct 2009, Greg Ungerer wrote:

> Hi Tim,
> 
> The whole series applied and ran fine for me!
> (Of course excepting the define name clash in 1/7)

Thanks for your patience debugging this patch series!

> Do you want me to push these into m68knommu.git?

Yes, that'd be great.  Do you expect these to end up in 2.6.32?  I have an 
API change to INIT_DATA_SECTION that I want to put in 2.6.32 to fix a tiny 
regression on blackfin, and I'd like to know which change is likely to get 
merged first (since the API change will likely conflict).

	-Tim Abbott

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

* Re: [PATCH v4 1/7] m68knommu: Don't hardcode the value of PAGE_SIZE in the linker script.
  2009-10-30  1:22                                 ` Tim Abbott
@ 2009-10-30  5:02                                   ` Greg Ungerer
  0 siblings, 0 replies; 36+ messages in thread
From: Greg Ungerer @ 2009-10-30  5:02 UTC (permalink / raw)
  To: Tim Abbott; +Cc: linux-kernel, Sam Ravnborg

Hi Tim,

Tim Abbott wrote:
> On Fri, 30 Oct 2009, Greg Ungerer wrote:
> 
>> Hi Tim,
>>
>> This one gives me:
>>
>> arch/m68knommu/kernel/vmlinux.lds.S:19:1: warning: "BSS" redefined
>> In file included from arch/m68knommu/kernel/vmlinux.lds.S:10:
>> include/asm-generic/vmlinux.lds.h:495:1: warning: this is the location of the
>> previous definition
>>
>> A define named "BSS" is already used inside of vmlinux.lds.S.
>> No big deal, I just changed that internal one.
>>
>> But otherwise no problems with this patch.
> 
> This actually wasn't introduced by this patch -- it was introduced when 
> the BSS macro was merged into include/asm-generic/vmlinux.lds.h in commit 
> ef53dae8658cf0e93d380983824a661067948d87.
> 
> Regardless, changing the internal one was the right fix.

Indeed. Yep. I'll commit a fix for this first.

Regards
Greg


------------------------------------------------------------------------
Greg Ungerer  --  Principal Engineer        EMAIL:     gerg@snapgear.com
SnapGear Group, McAfee                      PHONE:       +61 7 3435 2888
825 Stanley St,                             FAX:         +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia         WEB: http://www.SnapGear.com

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

* Re: [PATCH v4 7/7] m68knommu: Split the .init section into INIT_TEXT_SECTION and INIT_DATA_SECTION.
  2009-10-30  1:30                                 ` Tim Abbott
@ 2009-10-30  5:10                                   ` Greg Ungerer
  2009-10-30 11:35                                   ` Sam Ravnborg
  1 sibling, 0 replies; 36+ messages in thread
From: Greg Ungerer @ 2009-10-30  5:10 UTC (permalink / raw)
  To: Tim Abbott; +Cc: linux-kernel, Sam Ravnborg

Hi Tim,

Tim Abbott wrote:
> On Fri, 30 Oct 2009, Greg Ungerer wrote:
>> The whole series applied and ran fine for me!
>> (Of course excepting the define name clash in 1/7)
> 
> Thanks for your patience debugging this patch series!
> 
>> Do you want me to push these into m68knommu.git?
> 
> Yes, that'd be great.  Do you expect these to end up in 2.6.32?

No, I wouldn't want to push them this late in the 2.6.32 cycle.
Definitely for 2.6.33 (I anticipate pushing them in the 2.6.33
merge window).


>  I have an 
> API change to INIT_DATA_SECTION that I want to put in 2.6.32 to fix a tiny 
> regression on blackfin, and I'd like to know which change is likely to get 
> merged first (since the API change will likely conflict).

I have put them in the "for-linus" branch of:

git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu.git

Regards
Greg


------------------------------------------------------------------------
Greg Ungerer  --  Principal Engineer        EMAIL:     gerg@snapgear.com
SnapGear Group, McAfee                      PHONE:       +61 7 3435 2888
825 Stanley St,                             FAX:         +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia         WEB: http://www.SnapGear.com

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

* Re: [PATCH v4 7/7] m68knommu: Split the .init section into INIT_TEXT_SECTION and INIT_DATA_SECTION.
  2009-10-30  1:30                                 ` Tim Abbott
  2009-10-30  5:10                                   ` Greg Ungerer
@ 2009-10-30 11:35                                   ` Sam Ravnborg
  2009-10-30 18:10                                     ` Tim Abbott
  1 sibling, 1 reply; 36+ messages in thread
From: Sam Ravnborg @ 2009-10-30 11:35 UTC (permalink / raw)
  To: Tim Abbott; +Cc: Greg Ungerer, linux-kernel

On Thu, Oct 29, 2009 at 09:30:37PM -0400, Tim Abbott wrote:
> On Fri, 30 Oct 2009, Greg Ungerer wrote:
> 
> > Hi Tim,
> > 
> > The whole series applied and ran fine for me!
> > (Of course excepting the define name clash in 1/7)
> 
> Thanks for your patience debugging this patch series!
> 
> > Do you want me to push these into m68knommu.git?
> 
> Yes, that'd be great.  Do you expect these to end up in 2.6.32?  I have an 
> API change to INIT_DATA_SECTION that I want to put in 2.6.32 to fix a tiny 
> regression on blackfin, and I'd like to know which change is likely to get 
> merged first (since the API change will likely conflict).

Let's postpone this fix until merge window opens.
I doubt it has any real effect anyway.

And I'm glad the m68knommu stuff is fixed now.

	Sam

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

* Re: [PATCH v4 7/7] m68knommu: Split the .init section into INIT_TEXT_SECTION and INIT_DATA_SECTION.
  2009-10-30 11:35                                   ` Sam Ravnborg
@ 2009-10-30 18:10                                     ` Tim Abbott
  0 siblings, 0 replies; 36+ messages in thread
From: Tim Abbott @ 2009-10-30 18:10 UTC (permalink / raw)
  To: Sam Ravnborg; +Cc: Greg Ungerer, linux-kernel

On Fri, 30 Oct 2009, Sam Ravnborg wrote:

> Let's postpone this fix until merge window opens.
> I doubt it has any real effect anyway.

OK, seems reasonable.

	-Tim Abbott

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

end of thread, other threads:[~2009-10-30 18:17 UTC | newest]

Thread overview: 36+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-09-22 16:56 [PATCH v2 0/2] Linker script cleanup patches for m68knommu Tim Abbott
2009-09-22 16:56 ` [PATCH v2 1/2] m68knommu: Make THREAD_SIZE available to assembly files Tim Abbott
2009-09-22 16:56 ` [PATCH v2 2/2] m68knommu: Clean up linker script using new linker script macros Tim Abbott
2009-10-01  5:56   ` Greg Ungerer
2009-10-12 14:47     ` Tim Abbott
2009-10-12 23:46       ` Greg Ungerer
2009-10-13  1:30         ` [PATCH v3 0/7] " Tim Abbott
2009-10-13  1:30           ` [PATCH v3 1/7] m68knommu: Don't hardcode the value of PAGE_SIZE in the linker script Tim Abbott
2009-10-13  1:30             ` [PATCH v3 2/7] m68knommu: Make THREAD_SIZE available to assembly files Tim Abbott
2009-10-13  1:30               ` [PATCH v3 3/7] m68knommu: Use INIT_TASK_DATA and CACHELINE_ALIGNED_DATA Tim Abbott
2009-10-13  1:30                 ` [PATCH v3 4/7] m68knommu: Use more macros inside the .init section Tim Abbott
2009-10-13  1:30                   ` [PATCH v3 5/7] m68knommu: Move __init_begin out of " Tim Abbott
2009-10-13  1:30                     ` [PATCH v3 6/7] m68knommu: Move __init_end " Tim Abbott
2009-10-13  1:30                       ` [PATCH v3 7/7] m68knommu: Split the .init section into INIT_TEXT_SECTION and INIT_DATA_SECTION Tim Abbott
2009-10-14  4:41                       ` [PATCH v3 6/7] m68knommu: Move __init_end out of the .init section Greg Ungerer
2009-10-14 15:16                         ` Sam Ravnborg
2009-10-18 17:22                           ` Tim Abbott
2009-10-18 17:23                             ` [PATCH v4 1/7] m68knommu: Don't hardcode the value of PAGE_SIZE in the linker script Tim Abbott
2009-10-30  0:57                               ` Greg Ungerer
2009-10-30  1:22                                 ` Tim Abbott
2009-10-30  5:02                                   ` Greg Ungerer
2009-10-18 17:23                             ` [PATCH v4 2/7] m68knommu: Make THREAD_SIZE available to assembly files Tim Abbott
2009-10-18 17:23                             ` [PATCH v4 3/7] m68knommu: Use INIT_TASK_DATA and CACHELINE_ALIGNED_DATA Tim Abbott
2009-10-18 17:23                             ` [PATCH v4 4/7] m68knommu: Use more macros inside the .init section Tim Abbott
2009-10-18 17:23                             ` [PATCH v4 5/7] m68knommu: Move __init_begin out of " Tim Abbott
2009-10-18 17:23                             ` [PATCH v4 6/7] m68knommu: Move __init_end " Tim Abbott
2009-10-18 17:23                             ` [PATCH v4 7/7] m68knommu: Split the .init section into INIT_TEXT_SECTION and INIT_DATA_SECTION Tim Abbott
2009-10-30  1:13                               ` Greg Ungerer
2009-10-30  1:30                                 ` Tim Abbott
2009-10-30  5:10                                   ` Greg Ungerer
2009-10-30 11:35                                   ` Sam Ravnborg
2009-10-30 18:10                                     ` Tim Abbott
2009-10-30  0:44                           ` [PATCH v3 6/7] m68knommu: Move __init_end out of the .init section Greg Ungerer
2009-10-13  5:55                   ` [PATCH v3 4/7] m68knommu: Use more macros inside " Greg Ungerer
2009-10-13 15:39                     ` Tim Abbott
2009-10-14  4:22                       ` Greg Ungerer

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.