From 74ebcdb6524ec8150d010f4eae69f6db031498d5 Mon Sep 17 00:00:00 2001 From: Russell King Date: Thu, 15 Sep 2005 15:17:59 +0100 Subject: [PATCH] --- yaml --- r: 8991 b: refs/heads/master c: 1b3cb73f7306f97a68fa973dec9f3c3b68bd29cf h: refs/heads/master i: 8989: c0318926b426306d44c10c70d5b0bcc1f766478c 8987: 747c1ae381d26510736bd465ba9e21c64c82c53f 8983: c9263aacb1be7f2f681e36fd2d2575483ee8639d 8975: 7a3228fbe602368fb0224cc9b50a6708d92dc51c 8959: 854e93cbd15a658d66538fdadd1657f4d9cdd95f v: v3 --- [refs] | 2 +- trunk/include/asm-arm/memory.h | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 737e969033f1..b1387fbc5ede 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 13b9d47ed36e8019a99c798b84c341ef75868e02 +refs/heads/master: 1b3cb73f7306f97a68fa973dec9f3c3b68bd29cf diff --git a/trunk/include/asm-arm/memory.h b/trunk/include/asm-arm/memory.h index e47bea7d1723..a8a933a775db 100644 --- a/trunk/include/asm-arm/memory.h +++ b/trunk/include/asm-arm/memory.h @@ -160,12 +160,25 @@ static inline __deprecated void *bus_to_virt(unsigned long x) #define page_to_pfn(page) \ (( (page) - page_zone(page)->zone_mem_map) \ + page_zone(page)->zone_start_pfn) + #define pfn_to_page(pfn) \ (PFN_TO_MAPBASE(pfn) + LOCAL_MAP_NR((pfn) << PAGE_SHIFT)) -#define pfn_valid(pfn) (PFN_TO_NID(pfn) < MAX_NUMNODES) + +#define pfn_valid(pfn) \ + ({ \ + unsigned int nid = PFN_TO_NID(pfn); \ + int valid = nid < MAX_NUMNODES; \ + if (valid) { \ + pg_data_t *node = NODE_DATA(nid); \ + valid = (pfn - node->node_start_pfn) < \ + node->node_spanned_pages; \ + } \ + valid; \ + }) #define virt_to_page(kaddr) \ (ADDR_TO_MAPBASE(kaddr) + LOCAL_MAP_NR(kaddr)) + #define virt_addr_valid(kaddr) (KVADDR_TO_NID(kaddr) < MAX_NUMNODES) /*