Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 212750
b: refs/heads/master
c: c7fc2de
h: refs/heads/master
v: v3
  • Loading branch information
Yinghai Lu authored and H. Peter Anvin committed Oct 12, 2010
1 parent 77f55c0 commit 83feda9
Show file tree
Hide file tree
Showing 7 changed files with 30 additions and 31 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 8e4029ee3517084ae00fbfbcb51cc365d8857061
refs/heads/master: c7fc2de0c83dbd2eaf759c5cd0e2b9cf1eb4df3a
8 changes: 4 additions & 4 deletions trunk/arch/arm/mm/init.c
Original file line number Diff line number Diff line change
Expand Up @@ -182,8 +182,8 @@ static void __init arm_bootmem_init(struct meminfo *mi,
* Reserve the memblock reserved regions in bootmem.
*/
for_each_memblock(reserved, reg) {
phys_addr_t start = memblock_region_base_pfn(reg);
phys_addr_t end = memblock_region_end_pfn(reg);
phys_addr_t start = memblock_region_reserved_base_pfn(reg);
phys_addr_t end = memblock_region_reserved_end_pfn(reg);
if (start >= start_pfn && end <= end_pfn)
reserve_bootmem_node(pgdat, __pfn_to_phys(start),
(end - start) << PAGE_SHIFT,
Expand Down Expand Up @@ -251,8 +251,8 @@ static void arm_memory_present(void)
struct memblock_region *reg;

for_each_memblock(memory, reg)
memory_present(0, memblock_region_base_pfn(reg),
memblock_region_end_pfn(reg));
memory_present(0, memblock_region_memory_base_pfn(reg),
memblock_region_memory_end_pfn(reg));
}
#endif

Expand Down
14 changes: 7 additions & 7 deletions trunk/arch/powerpc/mm/mem.c
Original file line number Diff line number Diff line change
Expand Up @@ -148,8 +148,8 @@ walk_system_ram_range(unsigned long start_pfn, unsigned long nr_pages,
int ret = -1;

for_each_memblock(memory, reg) {
tstart = max(start_pfn, memblock_region_base_pfn(reg));
tend = min(end_pfn, memblock_region_end_pfn(reg));
tstart = max(start_pfn, memblock_region_memory_base_pfn(reg));
tend = min(end_pfn, memblock_region_memory_end_pfn(reg));
if (tstart >= tend)
continue;
ret = (*func)(tstart, tend - tstart, arg);
Expand Down Expand Up @@ -195,8 +195,8 @@ void __init do_init_bootmem(void)
/* Add active regions with valid PFNs */
for_each_memblock(memory, reg) {
unsigned long start_pfn, end_pfn;
start_pfn = memblock_region_base_pfn(reg);
end_pfn = memblock_region_end_pfn(reg);
start_pfn = memblock_region_memory_base_pfn(reg);
end_pfn = memblock_region_memory_end_pfn(reg);
add_active_range(0, start_pfn, end_pfn);
}

Expand Down Expand Up @@ -236,9 +236,9 @@ static int __init mark_nonram_nosave(void)

for_each_memblock(memory, reg) {
if (prev &&
memblock_region_end_pfn(prev) < memblock_region_base_pfn(reg))
register_nosave_region(memblock_region_end_pfn(prev),
memblock_region_base_pfn(reg));
memblock_region_memory_end_pfn(prev) < memblock_region_memory_base_pfn(reg))
register_nosave_region(memblock_region_memory_end_pfn(prev),
memblock_region_memory_base_pfn(reg));
prev = reg;
}
return 0;
Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/powerpc/mm/numa.c
Original file line number Diff line number Diff line change
Expand Up @@ -811,8 +811,8 @@ static void __init setup_nonnuma(void)
(top_of_ram - total_ram) >> 20);

for_each_memblock(memory, reg) {
start_pfn = memblock_region_base_pfn(reg);
end_pfn = memblock_region_end_pfn(reg);
start_pfn = memblock_region_memory_base_pfn(reg);
end_pfn = memblock_region_memory_end_pfn(reg);

fake_numa_create_new_node(end_pfn, &nid);
add_active_range(nid, start_pfn, end_pfn);
Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/sh/mm/init.c
Original file line number Diff line number Diff line change
Expand Up @@ -244,8 +244,8 @@ static void __init do_init_bootmem(void)
/* Add active regions with valid PFNs. */
for_each_memblock(memory, reg) {
unsigned long start_pfn, end_pfn;
start_pfn = memblock_region_base_pfn(reg);
end_pfn = memblock_region_end_pfn(reg);
start_pfn = memblock_region_memory_base_pfn(reg);
end_pfn = memblock_region_memory_end_pfn(reg);
__add_active_range(0, start_pfn, end_pfn);
}

Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/sparc/mm/init_64.c
Original file line number Diff line number Diff line change
Expand Up @@ -1294,8 +1294,8 @@ static void __init bootmem_init_nonnuma(void)
if (!reg->size)
continue;

start_pfn = memblock_region_base_pfn(reg);
end_pfn = memblock_region_end_pfn(reg);
start_pfn = memblock_region_memory_base_pfn(reg);
end_pfn = memblock_region_memory_end_pfn(reg);
add_active_range(0, start_pfn, end_pfn);
}

Expand Down
25 changes: 12 additions & 13 deletions trunk/include/linux/memblock.h
Original file line number Diff line number Diff line change
Expand Up @@ -111,40 +111,39 @@ extern void memblock_set_current_limit(phys_addr_t limit);
*/

/**
* memblock_region_base_pfn - Return the lowest pfn intersecting with the region
* memblock_region_memory_base_pfn - Return the lowest pfn intersecting with the memory region
* @reg: memblock_region structure
*/
static inline unsigned long memblock_region_base_pfn(const struct memblock_region *reg)
static inline unsigned long memblock_region_memory_base_pfn(const struct memblock_region *reg)
{
return reg->base >> PAGE_SHIFT;
return PFN_UP(reg->base);
}

/**
* memblock_region_last_pfn - Return the highest pfn intersecting with the region
* memblock_region_memory_end_pfn - Return the end_pfn this region
* @reg: memblock_region structure
*/
static inline unsigned long memblock_region_last_pfn(const struct memblock_region *reg)
static inline unsigned long memblock_region_memory_end_pfn(const struct memblock_region *reg)
{
return (reg->base + reg->size - 1) >> PAGE_SHIFT;
return PFN_DOWN(reg->base + reg->size);
}

/**
* memblock_region_end_pfn - Return the pfn of the first page following the region
* but not intersecting it
* memblock_region_reserved_base_pfn - Return the lowest pfn intersecting with the reserved region
* @reg: memblock_region structure
*/
static inline unsigned long memblock_region_end_pfn(const struct memblock_region *reg)
static inline unsigned long memblock_region_reserved_base_pfn(const struct memblock_region *reg)
{
return memblock_region_last_pfn(reg) + 1;
return PFN_DOWN(reg->base);
}

/**
* memblock_region_pages - Return the number of pages covering a region
* memblock_region_reserved_end_pfn - Return the end_pfn this region
* @reg: memblock_region structure
*/
static inline unsigned long memblock_region_pages(const struct memblock_region *reg)
static inline unsigned long memblock_region_reserved_end_pfn(const struct memblock_region *reg)
{
return memblock_region_end_pfn(reg) - memblock_region_end_pfn(reg);
return PFN_UP(reg->base + reg->size);
}

#define for_each_memblock(memblock_type, region) \
Expand Down

0 comments on commit 83feda9

Please sign in to comment.