|
@@ -3,6 +3,7 @@
|
|
|
|
|
|
#ifdef __KERNEL__
|
|
|
#ifndef __ASSEMBLY__
|
|
|
+#ifndef __GENERATING_BOUNDS_H
|
|
|
|
|
|
#include <linux/spinlock.h>
|
|
|
#include <linux/list.h>
|
|
@@ -15,6 +16,7 @@
|
|
|
#include <linux/seqlock.h>
|
|
|
#include <linux/nodemask.h>
|
|
|
#include <linux/pageblock-flags.h>
|
|
|
+#include <linux/bounds.h>
|
|
|
#include <asm/atomic.h>
|
|
|
#include <asm/page.h>
|
|
|
|
|
@@ -129,6 +131,8 @@ struct per_cpu_pageset {
|
|
|
#define zone_pcp(__z, __cpu) (&(__z)->pageset[(__cpu)])
|
|
|
#endif
|
|
|
|
|
|
+#endif /* !__GENERATING_BOUNDS.H */
|
|
|
+
|
|
|
enum zone_type {
|
|
|
#ifdef CONFIG_ZONE_DMA
|
|
|
/*
|
|
@@ -177,9 +181,11 @@ enum zone_type {
|
|
|
ZONE_HIGHMEM,
|
|
|
#endif
|
|
|
ZONE_MOVABLE,
|
|
|
- MAX_NR_ZONES
|
|
|
+ __MAX_NR_ZONES
|
|
|
};
|
|
|
|
|
|
+#ifndef __GENERATING_BOUNDS_H
|
|
|
+
|
|
|
/*
|
|
|
* When a memory allocation must conform to specific limitations (such
|
|
|
* as being suitable for DMA) the caller will pass in hints to the
|
|
@@ -188,28 +194,15 @@ enum zone_type {
|
|
|
* match the requested limits. See gfp_zone() in include/linux/gfp.h
|
|
|
*/
|
|
|
|
|
|
-/*
|
|
|
- * Count the active zones. Note that the use of defined(X) outside
|
|
|
- * #if and family is not necessarily defined so ensure we cannot use
|
|
|
- * it later. Use __ZONE_COUNT to work out how many shift bits we need.
|
|
|
- */
|
|
|
-#define __ZONE_COUNT ( \
|
|
|
- defined(CONFIG_ZONE_DMA) \
|
|
|
- + defined(CONFIG_ZONE_DMA32) \
|
|
|
- + 1 \
|
|
|
- + defined(CONFIG_HIGHMEM) \
|
|
|
- + 1 \
|
|
|
-)
|
|
|
-#if __ZONE_COUNT < 2
|
|
|
+#if MAX_NR_ZONES < 2
|
|
|
#define ZONES_SHIFT 0
|
|
|
-#elif __ZONE_COUNT <= 2
|
|
|
+#elif MAX_NR_ZONES <= 2
|
|
|
#define ZONES_SHIFT 1
|
|
|
-#elif __ZONE_COUNT <= 4
|
|
|
+#elif MAX_NR_ZONES <= 4
|
|
|
#define ZONES_SHIFT 2
|
|
|
#else
|
|
|
#error ZONES_SHIFT -- too many zones configured adjust calculation
|
|
|
#endif
|
|
|
-#undef __ZONE_COUNT
|
|
|
|
|
|
struct zone {
|
|
|
/* Fields commonly accessed by the page allocator */
|
|
@@ -1008,6 +1001,7 @@ unsigned long __init node_memmap_size_bytes(int, unsigned long, unsigned long);
|
|
|
#define pfn_valid_within(pfn) (1)
|
|
|
#endif
|
|
|
|
|
|
+#endif /* !__GENERATING_BOUNDS.H */
|
|
|
#endif /* !__ASSEMBLY__ */
|
|
|
#endif /* __KERNEL__ */
|
|
|
#endif /* _LINUX_MMZONE_H */
|