* Written by Martin Schwidefsky (schwidefsky@de.ibm.com)
  */
 
+#include <asm/page.h>
 #include <asm-generic/vmlinux.lds.h>
 
 #ifndef CONFIG_64BIT
        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 */
                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 = .;
        .init.data : {
                *(.init.data)
        }
-       . = ALIGN(256);
+       . = ALIGN(0x100);
        .init.setup : {
                __setup_start = .;
                *(.init.setup)
        SECURITY_INIT
 
 #ifdef CONFIG_BLK_DEV_INITRD
-       . = ALIGN(256);
+       . = ALIGN(0x100);
        .init.ramfs : {
                __initramfs_start = .;
                *(.init.ramfs)
        }
 #endif
 
-       PERCPU(4096)
-       . = ALIGN(4096);
+       PERCPU(PAGE_SIZE)
+       . = ALIGN(PAGE_SIZE);
        __init_end = .;         /* freed after init ends here */
 
        /* BSS */
 
 #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)