Sfoglia il codice sorgente

[PARISC] Kill off ASM_PAGE_SIZE use

We have the macro _AC() generally available now
so the calculation of PAGE_SIZE can be made
assembler compatible.
Introduce use of _AC() and kill all users of
ASM_PAGE_SIZE.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
Sam Ravnborg 17 anni fa
parent
commit
1c59357109

+ 0 - 1
arch/parisc/kernel/asm-offsets.c

@@ -290,7 +290,6 @@ int main(void)
 	DEFINE(ASM_PTE_ENTRY_SIZE, PTE_ENTRY_SIZE);
 	DEFINE(ASM_PFN_PTE_SHIFT, PFN_PTE_SHIFT);
 	DEFINE(ASM_PT_INITIAL, PT_INITIAL);
-	DEFINE(ASM_PAGE_SIZE, PAGE_SIZE);
 	DEFINE(ASM_PAGE_SIZE_DIV64, PAGE_SIZE/64);
 	DEFINE(ASM_PAGE_SIZE_DIV128, PAGE_SIZE/128);
 	BLANK();

+ 6 - 5
arch/parisc/kernel/syscall.S

@@ -10,6 +10,7 @@
 #include <asm/asm-offsets.h>
 #include <asm/unistd.h>
 #include <asm/errno.h>
+#include <asm/page.h>
 #include <asm/psw.h>
 #include <asm/thread_info.h>
 #include <asm/assembly.h>
@@ -38,7 +39,7 @@
 	 * pointers.
 	 */
 
-	.align ASM_PAGE_SIZE
+	.align PAGE_SIZE
 ENTRY(linux_gateway_page)
 
         /* ADDRESS 0x00 to 0xb0 = 176 bytes / 4 bytes per insn = 44 insns */
@@ -597,7 +598,7 @@ cas_action:
 
 
 	/* Make sure nothing else is placed on this page */
-	.align ASM_PAGE_SIZE
+	.align PAGE_SIZE
 END(linux_gateway_page)
 ENTRY(end_linux_gateway_page)
 
@@ -608,7 +609,7 @@ ENTRY(end_linux_gateway_page)
 
 	.section .rodata,"a"
 
-	.align ASM_PAGE_SIZE
+	.align PAGE_SIZE
 	/* Light-weight-syscall table */
 	/* Start of lws table. */
 ENTRY(lws_table)
@@ -617,13 +618,13 @@ ENTRY(lws_table)
 END(lws_table)
 	/* End of lws table */
 
-	.align ASM_PAGE_SIZE
+	.align PAGE_SIZE
 ENTRY(sys_call_table)
 #include "syscall_table.S"
 END(sys_call_table)
 
 #ifdef CONFIG_64BIT
-	.align ASM_PAGE_SIZE
+	.align PAGE_SIZE
 ENTRY(sys_call_table64)
 #define SYSCALL_TABLE_64BIT
 #include "syscall_table.S"

+ 7 - 7
arch/parisc/kernel/vmlinux.lds.S

@@ -73,7 +73,7 @@ SECTIONS
 	 * that we can properly leave these
 	 * as writable
 	 */
-	. = ALIGN(ASM_PAGE_SIZE);
+	. = ALIGN(PAGE_SIZE);
 	data_start = .;
 	. = ALIGN(16);
 	/* Exception table */
@@ -119,12 +119,12 @@ SECTIONS
 	/* nosave data is really only used for software suspend...it's here
 	 * just in case we ever implement it
 	 */
-	. = ALIGN(ASM_PAGE_SIZE);
+	. = ALIGN(PAGE_SIZE);
 	__nosave_begin = .;
 	.data_nosave : {
 		*(.data.nosave)
 	}
-	. = ALIGN(ASM_PAGE_SIZE);
+	. = ALIGN(PAGE_SIZE);
 	__nosave_end = .;
 
 	/* End of data section */
@@ -133,7 +133,7 @@ SECTIONS
 	/* BSS */
 	__bss_start = .;
 	/* page table entries need to be PAGE_SIZE aligned */
-	. = ALIGN(ASM_PAGE_SIZE);
+	. = ALIGN(PAGE_SIZE);
 	.data.vmpages : {
 		*(.data.vm0.pmd)
 		*(.data.vm0.pgd)
@@ -229,7 +229,7 @@ SECTIONS
 		*(.exit.data)
 	}
 #ifdef CONFIG_BLK_DEV_INITRD
-	. = ALIGN(ASM_PAGE_SIZE);
+	. = ALIGN(PAGE_SIZE);
 	.init.ramfs : {
 		__initramfs_start = .;
 		*(.init.ramfs)
@@ -237,8 +237,8 @@ SECTIONS
 	}
 #endif
 
-	PERCPU(ASM_PAGE_SIZE)
-	. = ALIGN(ASM_PAGE_SIZE);
+	PERCPU(PAGE_SIZE)
+	. = ALIGN(PAGE_SIZE);
 	__init_end = .;
 	/* freed after init ends here */
 	_end = . ;

+ 3 - 1
include/asm-parisc/page.h

@@ -3,6 +3,8 @@
 
 #ifdef __KERNEL__
 
+#include <linux/const.h>
+
 #if defined(CONFIG_PARISC_PAGE_SIZE_4KB)
 # define PAGE_SHIFT	12
 #elif defined(CONFIG_PARISC_PAGE_SIZE_16KB)
@@ -12,7 +14,7 @@
 #else
 # error "unknown default kernel page size"
 #endif
-#define PAGE_SIZE	(1UL << PAGE_SHIFT)
+#define PAGE_SIZE	(_AC(1,UL) << PAGE_SHIFT)
 #define PAGE_MASK	(~(PAGE_SIZE-1))