Skip to content

Commit

Permalink
[S390] s390: use PAGE_SIZE in vmlinux.lds
Browse files Browse the repository at this point in the history
Replace the hardcoded 4096 value with the PAGE_SIZE macro.
Converted a few decimal numbers to readable hex numbers.

Use of PAGE_SIZE required a small change to page.h
to allow PAGE_SIZE to be used from assembler/linker scripts.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
  • Loading branch information
Sam Ravnborg authored and Martin Schwidefsky committed Oct 12, 2007
1 parent e16af09 commit 52480ee
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 14 deletions.
27 changes: 14 additions & 13 deletions arch/s390/kernel/vmlinux.lds.S
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
* Written by Martin Schwidefsky (schwidefsky@de.ibm.com)
*/

#include <asm/page.h>
#include <asm-generic/vmlinux.lds.h>

#ifndef CONFIG_64BIT
Expand Down Expand Up @@ -35,10 +36,10 @@ SECTIONS
RODATA

#ifdef CONFIG_SHARED_KERNEL
. = ALIGN(1048576); /* VM shared segments are 1MB aligned */
. = ALIGN(0x100000); /* VM shared segments are 1MB aligned */
#endif

. = ALIGN(4096);
. = ALIGN(PAGE_SIZE);
_eshared = .; /* End of shareable data */

. = ALIGN(16); /* Exception table */
Expand All @@ -56,37 +57,37 @@ SECTIONS
CONSTRUCTORS
}

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

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

. = ALIGN(256);
. = ALIGN(0x100);
.data.cacheline_aligned : {
*(.data.cacheline_aligned)
}

. = ALIGN(256);
. = ALIGN(0x100);
.data.read_mostly : {
*(.data.read_mostly)
}
_edata = .; /* End of data section */

. = ALIGN(8192); /* init_task */
. = ALIGN(2 * PAGE_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 = .;
Expand All @@ -104,7 +105,7 @@ SECTIONS
.init.data : {
*(.init.data)
}
. = ALIGN(256);
. = ALIGN(0x100);
.init.setup : {
__setup_start = .;
*(.init.setup)
Expand All @@ -124,7 +125,7 @@ SECTIONS
SECURITY_INIT

#ifdef CONFIG_BLK_DEV_INITRD
. = ALIGN(256);
. = ALIGN(0x100);
.init.ramfs : {
__initramfs_start = .;
*(.init.ramfs)
Expand All @@ -133,8 +134,8 @@ SECTIONS
}
#endif

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

/* BSS */
Expand Down
3 changes: 2 additions & 1 deletion include/asm-s390/page.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,12 @@
#ifndef _S390_PAGE_H
#define _S390_PAGE_H

#include <linux/const.h>
#include <asm/types.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))
#define PAGE_DEFAULT_ACC 0
#define PAGE_DEFAULT_KEY (PAGE_DEFAULT_ACC << 4)
Expand Down

0 comments on commit 52480ee

Please sign in to comment.