Commit 52480ee5 authored by Sam Ravnborg's avatar Sam Ravnborg Committed by Martin Schwidefsky

[S390] s390: use PAGE_SIZE in vmlinux.lds

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: default avatarSam Ravnborg <sam@ravnborg.org>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent e16af09d
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
* Written by Martin Schwidefsky (schwidefsky@de.ibm.com) * Written by Martin Schwidefsky (schwidefsky@de.ibm.com)
*/ */
#include <asm/page.h>
#include <asm-generic/vmlinux.lds.h> #include <asm-generic/vmlinux.lds.h>
#ifndef CONFIG_64BIT #ifndef CONFIG_64BIT
...@@ -35,10 +36,10 @@ SECTIONS ...@@ -35,10 +36,10 @@ SECTIONS
RODATA RODATA
#ifdef CONFIG_SHARED_KERNEL #ifdef CONFIG_SHARED_KERNEL
. = ALIGN(1048576); /* VM shared segments are 1MB aligned */ . = ALIGN(0x100000); /* VM shared segments are 1MB aligned */
#endif #endif
. = ALIGN(4096); . = ALIGN(PAGE_SIZE);
_eshared = .; /* End of shareable data */ _eshared = .; /* End of shareable data */
. = ALIGN(16); /* Exception table */ . = ALIGN(16); /* Exception table */
...@@ -56,37 +57,37 @@ SECTIONS ...@@ -56,37 +57,37 @@ SECTIONS
CONSTRUCTORS CONSTRUCTORS
} }
. = ALIGN(4096); . = ALIGN(PAGE_SIZE);
.data_nosave : { .data_nosave : {
__nosave_begin = .; __nosave_begin = .;
*(.data.nosave) *(.data.nosave)
} }
. = ALIGN(4096); . = ALIGN(PAGE_SIZE);
__nosave_end = .; __nosave_end = .;
. = ALIGN(4096); . = ALIGN(PAGE_SIZE);
.data.page_aligned : { .data.page_aligned : {
*(.data.idt) *(.data.idt)
} }
. = ALIGN(256); . = ALIGN(0x100);
.data.cacheline_aligned : { .data.cacheline_aligned : {
*(.data.cacheline_aligned) *(.data.cacheline_aligned)
} }
. = ALIGN(256); . = ALIGN(0x100);
.data.read_mostly : { .data.read_mostly : {
*(.data.read_mostly) *(.data.read_mostly)
} }
_edata = .; /* End of data section */ _edata = .; /* End of data section */
. = ALIGN(8192); /* init_task */ . = ALIGN(2 * PAGE_SIZE); /* init_task */
.data.init_task : { .data.init_task : {
*(.data.init_task) *(.data.init_task)
} }
/* will be freed after init */ /* will be freed after init */
. = ALIGN(4096); /* Init code and data */ . = ALIGN(PAGE_SIZE); /* Init code and data */
__init_begin = .; __init_begin = .;
.init.text : { .init.text : {
_sinittext = .; _sinittext = .;
...@@ -104,7 +105,7 @@ SECTIONS ...@@ -104,7 +105,7 @@ SECTIONS
.init.data : { .init.data : {
*(.init.data) *(.init.data)
} }
. = ALIGN(256); . = ALIGN(0x100);
.init.setup : { .init.setup : {
__setup_start = .; __setup_start = .;
*(.init.setup) *(.init.setup)
...@@ -124,7 +125,7 @@ SECTIONS ...@@ -124,7 +125,7 @@ SECTIONS
SECURITY_INIT SECURITY_INIT
#ifdef CONFIG_BLK_DEV_INITRD #ifdef CONFIG_BLK_DEV_INITRD
. = ALIGN(256); . = ALIGN(0x100);
.init.ramfs : { .init.ramfs : {
__initramfs_start = .; __initramfs_start = .;
*(.init.ramfs) *(.init.ramfs)
...@@ -133,8 +134,8 @@ SECTIONS ...@@ -133,8 +134,8 @@ SECTIONS
} }
#endif #endif
PERCPU(4096) PERCPU(PAGE_SIZE)
. = ALIGN(4096); . = ALIGN(PAGE_SIZE);
__init_end = .; /* freed after init ends here */ __init_end = .; /* freed after init ends here */
/* BSS */ /* BSS */
......
...@@ -9,11 +9,12 @@ ...@@ -9,11 +9,12 @@
#ifndef _S390_PAGE_H #ifndef _S390_PAGE_H
#define _S390_PAGE_H #define _S390_PAGE_H
#include <linux/const.h>
#include <asm/types.h> #include <asm/types.h>
/* PAGE_SHIFT determines the page size */ /* PAGE_SHIFT determines the page size */
#define PAGE_SHIFT 12 #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_MASK (~(PAGE_SIZE-1))
#define PAGE_DEFAULT_ACC 0 #define PAGE_DEFAULT_ACC 0
#define PAGE_DEFAULT_KEY (PAGE_DEFAULT_ACC << 4) #define PAGE_DEFAULT_KEY (PAGE_DEFAULT_ACC << 4)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment