Hi,
Since PG_skip is no longer used in the generic kernel code, and only
used by a couple of architectures in their architecture specific
code, it seems reasonable to remove these definitions from each
asm-*/pgtable.h file. The attached patch does this.
The two affected architectures are: MIPS64/SGI and ARM.
(The ARM bits are not included in this patch).
Can all architecture maintainers please give this patch a go and
report back on success/failures.
I'm not a MIPS64/sgi expert, so I've not removed PG_skip wholely
from that architecture (maybe someone who is can look at the
feasibility of removing it?)
(If I've missed anyone/mismailed anyone, can they please let me know).
diff -urN linux-orig/arch/mips64/sgi-ip27/ip27-memory.c linux/arch/mips64/sgi-ip27/ip27-memory.c
--- linux-orig/arch/mips64/sgi-ip27/ip27-memory.c Thu Aug 10 20:45:49 2000
+++ linux/arch/mips64/sgi-ip27/ip27-memory.c Sun Aug 13 10:19:49 2000
@@ -32,6 +32,12 @@
#define PFN_UP(x) (((x) + PAGE_SIZE-1) >> PAGE_SHIFT)
#define SLOT_IGNORED 0xffff
+/* FIXME:
+ * PG_skip is used on sparc/sparc64 architectures to "skip" certain
+ * parts of the address space.
+ */
+#define PG_skip 10
+
short slot_lastfilled_cache[MAX_COMPACT_NODES];
unsigned short slot_psize_cache[MAX_COMPACT_NODES][MAX_MEM_SLOTS];
static pfn_t numpages;
@@ -250,6 +256,9 @@
PLAT_NODE_DATA_SIZE(node);
}
}
+
+/* Needs to be defined here and not in linux/mm.h, as it is arch dependent */
+#define PageSkip(page) test_bit(PG_skip, &(page)->flags)
void __init mem_init(void)
{
diff -urN linux-orig/include/asm-alpha/pgtable.h linux/include/asm-alpha/pgtable.h
--- linux-orig/include/asm-alpha/pgtable.h Thu Aug 10 20:46:32 2000
+++ linux/include/asm-alpha/pgtable.h Sun Aug 13 10:07:49 2000
@@ -304,7 +304,6 @@
#define module_unmap vfree
/* Needs to be defined here and not in linux/mm.h, as it is arch dependent */
-#define PageSkip(page) (0)
#define kern_addr_valid(addr) (1)
#define io_remap_page_range(start, busaddr, size, prot) \
diff -urN linux-orig/include/asm-i386/pgtable.h linux/include/asm-i386/pgtable.h
--- linux-orig/include/asm-i386/pgtable.h Thu Aug 10 20:46:32 2000
+++ linux/include/asm-i386/pgtable.h Sun Aug 13 10:07:49 2000
@@ -333,7 +333,6 @@
#endif /* !__ASSEMBLY__ */
/* Needs to be defined here and not in linux/mm.h, as it is arch dependent */
-#define PageSkip(page) (0)
#define kern_addr_valid(addr) (1)
#define io_remap_page_range remap_page_range
diff -urN linux-orig/include/asm-ia64/pgtable.h linux/include/asm-ia64/pgtable.h
--- linux-orig/include/asm-ia64/pgtable.h Sat Aug 26 19:56:38 2000
+++ linux/include/asm-ia64/pgtable.h Sat Aug 26 19:48:03 2000
@@ -413,8 +413,7 @@
#define module_unmap vfree
/* Needs to be defined here and not in linux/mm.h, as it is arch dependent */
-#define PageSkip(page) (0)
-
#define io_remap_page_range remap_page_range /* XXX is this right? */
/*
diff -urN linux-orig/include/asm-m68k/pgtable.h linux/include/asm-m68k/pgtable.h
--- linux-orig/include/asm-m68k/pgtable.h Thu Aug 10 20:46:32 2000
+++ linux/include/asm-m68k/pgtable.h Sun Aug 13 10:07:49 2000
@@ -394,7 +394,6 @@
#define module_unmap vfree
/* Needs to be defined here and not in linux/mm.h, as it is arch dependent */
-#define PageSkip(page) (0)
#define kern_addr_valid(addr) (1)
#define io_remap_page_range remap_page_range
diff -urN linux-orig/include/asm-mips/pgtable.h linux/include/asm-mips/pgtable.h
--- linux-orig/include/asm-mips/pgtable.h Thu Aug 10 20:46:33 2000
+++ linux/include/asm-mips/pgtable.h Sun Aug 13 10:07:49 2000
@@ -456,7 +456,6 @@
#define module_unmap vfree
/* Needs to be defined here and not in linux/mm.h, as it is arch dependent */
-#define PageSkip(page) (0)
#define kern_addr_valid(addr) (1)
/* TLB operations. */
diff -urN linux-orig/include/asm-mips64/pgtable.h linux/include/asm-mips64/pgtable.h
--- linux-orig/include/asm-mips64/pgtable.h Thu Aug 10 20:46:33 2000
+++ linux/include/asm-mips64/pgtable.h Sun Aug 13 10:06:01 2000
@@ -529,7 +529,6 @@
#define module_unmap vfree
/* Needs to be defined here and not in linux/mm.h, as it is arch dependent */
-#define PageSkip(page) test_bit(PG_skip, &(page)->flags)
#ifndef CONFIG_DISCONTIGMEM
#define kern_addr_valid(addr) (1)
#endif
diff -urN linux-orig/include/asm-ppc/pgtable.h linux/include/asm-ppc/pgtable.h
--- linux-orig/include/asm-ppc/pgtable.h Thu Aug 10 20:46:33 2000
+++ linux/include/asm-ppc/pgtable.h Sun Aug 13 10:07:49 2000
@@ -483,7 +483,6 @@
unsigned int cmode);
/* Needs to be defined here and not in linux/mm.h, as it is arch dependent */
-#define PageSkip(page) (0)
#define kern_addr_valid(addr) (1)
#define io_remap_page_range remap_page_range
diff -urN linux-orig/include/asm-s390/pgtable.h linux/include/asm-s390/pgtable.h
--- linux-orig/include/asm-s390/pgtable.h Thu Aug 10 20:46:34 2000
+++ linux/include/asm-s390/pgtable.h Sun Aug 13 10:07:49 2000
@@ -411,7 +411,6 @@
#endif /* !__ASSEMBLY__ */
/* Needs to be defined here and not in linux/mm.h, as it is arch dependent */
-#define PageSkip(page) (0)
#define kern_addr_valid(addr) (1)
#endif /* _S390_PAGE_H */
diff -urN linux-orig/include/asm-sh/pgtable.h linux/include/asm-sh/pgtable.h
--- linux-orig/include/asm-sh/pgtable.h Thu Aug 10 20:46:35 2000
+++ linux/include/asm-sh/pgtable.h Sun Aug 13 10:07:49 2000
@@ -256,7 +256,6 @@
#endif /* !__ASSEMBLY__ */
/* Needs to be defined here and not in linux/mm.h, as it is arch dependent */
-#define PageSkip(page) (0)
#define kern_addr_valid(addr) (1)
#define io_remap_page_range remap_page_range
_____
|_____| ------------------------------------------------- ---+---+-
| | Russell King rmk@arm.linux.org.uk --- ---
| | | | http://www.arm.linux.org.uk/personal/aboutme.html / / |
| +-+-+ --- -+-
/ | THE developer of ARM Linux |+| /|\
/ | | | --- |
+-+-+ ------------------------------------------------- /\\\ |
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Thu Aug 31 2000 - 21:00:22 EST