mm: move lru union within struct page
[linux-2.6-microblaze.git] / mm / memblock.c
index 5108356..93ad42b 100644 (file)
@@ -68,7 +68,7 @@ ulong __init_memblock choose_memblock_flags(void)
 /* adjust *@size so that (@base + *@size) doesn't overflow, return new size */
 static inline phys_addr_t memblock_cap_size(phys_addr_t base, phys_addr_t *size)
 {
-       return *size = min(*size, (phys_addr_t)ULLONG_MAX - base);
+       return *size = min(*size, PHYS_ADDR_MAX - base);
 }
 
 /*
@@ -697,6 +697,11 @@ static int __init_memblock memblock_remove_range(struct memblock_type *type,
 
 int __init_memblock memblock_remove(phys_addr_t base, phys_addr_t size)
 {
+       phys_addr_t end = base + size - 1;
+
+       memblock_dbg("memblock_remove: [%pa-%pa] %pS\n",
+                    &base, &end, (void *)_RET_IP_);
+
        return memblock_remove_range(&memblock.memory, base, size);
 }
 
@@ -925,7 +930,7 @@ void __init_memblock __next_mem_range(u64 *idx, int nid, ulong flags,
                        r = &type_b->regions[idx_b];
                        r_start = idx_b ? r[-1].base + r[-1].size : 0;
                        r_end = idx_b < type_b->cnt ?
-                               r->base : (phys_addr_t)ULLONG_MAX;
+                               r->base : PHYS_ADDR_MAX;
 
                        /*
                         * if idx_b advanced past idx_a,
@@ -1041,7 +1046,7 @@ void __init_memblock __next_mem_range_rev(u64 *idx, int nid, ulong flags,
                        r = &type_b->regions[idx_b];
                        r_start = idx_b ? r[-1].base + r[-1].size : 0;
                        r_end = idx_b < type_b->cnt ?
-                               r->base : (phys_addr_t)ULLONG_MAX;
+                               r->base : PHYS_ADDR_MAX;
                        /*
                         * if idx_b advanced past idx_a,
                         * break out to advance idx_a
@@ -1516,13 +1521,13 @@ phys_addr_t __init_memblock memblock_end_of_DRAM(void)
 
 static phys_addr_t __init_memblock __find_max_addr(phys_addr_t limit)
 {
-       phys_addr_t max_addr = (phys_addr_t)ULLONG_MAX;
+       phys_addr_t max_addr = PHYS_ADDR_MAX;
        struct memblock_region *r;
 
        /*
         * translate the memory @limit size into the max address within one of
         * the memory memblock regions, if the @limit exceeds the total size
-        * of those regions, max_addr will keep original value ULLONG_MAX
+        * of those regions, max_addr will keep original value PHYS_ADDR_MAX
         */
        for_each_memblock(memory, r) {
                if (limit <= r->size) {
@@ -1537,7 +1542,7 @@ static phys_addr_t __init_memblock __find_max_addr(phys_addr_t limit)
 
 void __init memblock_enforce_memory_limit(phys_addr_t limit)
 {
-       phys_addr_t max_addr = (phys_addr_t)ULLONG_MAX;
+       phys_addr_t max_addr = PHYS_ADDR_MAX;
 
        if (!limit)
                return;
@@ -1545,14 +1550,14 @@ void __init memblock_enforce_memory_limit(phys_addr_t limit)
        max_addr = __find_max_addr(limit);
 
        /* @limit exceeds the total size of the memory, do nothing */
-       if (max_addr == (phys_addr_t)ULLONG_MAX)
+       if (max_addr == PHYS_ADDR_MAX)
                return;
 
        /* truncate both memory and reserved regions */
        memblock_remove_range(&memblock.memory, max_addr,
-                             (phys_addr_t)ULLONG_MAX);
+                             PHYS_ADDR_MAX);
        memblock_remove_range(&memblock.reserved, max_addr,
-                             (phys_addr_t)ULLONG_MAX);
+                             PHYS_ADDR_MAX);
 }
 
 void __init memblock_cap_memory_range(phys_addr_t base, phys_addr_t size)
@@ -1580,7 +1585,7 @@ void __init memblock_cap_memory_range(phys_addr_t base, phys_addr_t size)
        /* truncate the reserved regions */
        memblock_remove_range(&memblock.reserved, 0, base);
        memblock_remove_range(&memblock.reserved,
-                       base + size, (phys_addr_t)ULLONG_MAX);
+                       base + size, PHYS_ADDR_MAX);
 }
 
 void __init memblock_mem_limit_remove_map(phys_addr_t limit)
@@ -1593,7 +1598,7 @@ void __init memblock_mem_limit_remove_map(phys_addr_t limit)
        max_addr = __find_max_addr(limit);
 
        /* @limit exceeds the total size of the memory, do nothing */
-       if (max_addr == (phys_addr_t)ULLONG_MAX)
+       if (max_addr == PHYS_ADDR_MAX)
                return;
 
        memblock_cap_memory_range(0, max_addr);