[RFC 02/10] m32r: vmlinux.lds.S cleanup - use PAGE_SIZE, THREAD_SIZE macroses

gorcunov
2008-02-27T21:04:15Z

[-- Attachment #1: m32r-vmlinux --]
[-- Type: text/plain, Size: 2783 bytes --]

This patch modifies PAGE_SIZE definition to be able to
include it in vmlinux.lds.S script and use it then

Also THREAD_SIZE macro is used to replace numeric constant

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
---

WARNING: COMPLETELY UNTESTED !!!

arch/m32r/kernel/vmlinux.lds.S | 19 ++++++++++---------
include/asm-m32r/page.h | 4 +++-
2 files changed, 13 insertions(+), 10 deletions(-)

Index: linux-2.6.git/arch/m32r/kernel/vmlinux.lds.S
===================================================================
--- linux-2.6.git.orig/arch/m32r/kernel/vmlinux.lds.S 2008-02-21 22:26:02.000000000 +0300
+++ linux-2.6.git/arch/m32r/kernel/vmlinux.lds.S 2008-02-27 20:44:12.000000000 +0300
@@ -4,6 +4,7 @@
#include <asm-generic/vmlinux.lds.h>
#include <asm/addrspace.h>
#include <asm/page.h>
+#include <asm/thread_info.h>

OUTPUT_ARCH(m32r)
#if defined(__LITTLE_ENDIAN__)
@@ -20,7 +21,7 @@ SECTIONS
. = CONFIG_MEMORY_START + __PAGE_OFFSET;
eit_vector = .;

- . = . + 0x1000;
+ . = . + PAGE_SIZE;
.empty_zero_page : { *(.empty_zero_page) } = 0

/* read-only */
@@ -54,13 +55,13 @@ SECTIONS
CONSTRUCTORS
}

- . = ALIGN(4096);
+ . = ALIGN(PAGE_SIZE);
__nosave_begin = .;
.data_nosave : { *(.data.nosave) }
- . = ALIGN(4096);
+ . = ALIGN(PAGE_SIZE);
__nosave_end = .;

- . = ALIGN(4096);
+ . = ALIGN(PAGE_SIZE);
.data.page_aligned : { *(.data.idt) }

. = ALIGN(32);
@@ -68,11 +69,11 @@ SECTIONS

_edata = .; /* End of data section */

- . = ALIGN(8192); /* init_task */
+ . = ALIGN(THREAD_SIZE); /* init_task */
.data.init_task : { *(.data.init_task) }

/* will be freed after init */
- . = ALIGN(4096); /* Init code and data */
+ . = ALIGN(PAGE_SIZE); /* Init code and data */
__init_begin = .;
.init.text : {
_sinittext = .;
@@ -104,14 +105,14 @@ SECTIONS
.exit.data : { EXIT_DATA }

#ifdef CONFIG_BLK_DEV_INITRD
- . = ALIGN(4096);
+ . = ALIGN(PAGE_SIZE);
__initramfs_start = .;
.init.ramfs : { *(.init.ramfs) }
__initramfs_end = .;
#endif

- PERCPU(4096)
- . = ALIGN(4096);
+ PERCPU(PAGE_SIZE)
+ . = ALIGN(PAGE_SIZE);
__init_end = .;
/* freed after init ends here */

Index: linux-2.6.git/include/asm-m32r/page.h
===================================================================
--- linux-2.6.git.orig/include/asm-m32r/page.h 2008-02-09 12:09:28.000000000 +0300
+++ linux-2.6.git/include/asm-m32r/page.h 2008-02-27 20:48:11.000000000 +0300
@@ -1,9 +1,11 @@
#ifndef _ASM_M32R_PAGE_H
#define _ASM_M32R_PAGE_H

+#include <linux/const.h>
+
/* PAGE_SHIFT determines the page size */
#define PAGE_SHIFT 12
-#define PAGE_SIZE (1UL << PAGE_SHIFT)
+#define PAGE_SIZE (_AC(1, UL) << PAGE_SHIFT)
#define PAGE_MASK (~(PAGE_SIZE-1))

#ifndef __ASSEMBLY__

--