projects
/
powerpc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fbdev: mm: Deferred IO support
[powerpc.git]
/
mm
/
vmalloc.c
diff --git
a/mm/vmalloc.c
b/mm/vmalloc.c
index
86897ee
..
faa2a52
100644
(file)
--- a/
mm/vmalloc.c
+++ b/
mm/vmalloc.c
@@
-431,7
+431,7
@@
void *__vmalloc_area_node(struct vm_struct *area, gfp_t gfp_mask,
area->flags |= VM_VPAGES;
} else {
pages = kmalloc_node(array_size,
area->flags |= VM_VPAGES;
} else {
pages = kmalloc_node(array_size,
- (gfp_mask &
~(__GFP_HIGHMEM | __GFP_ZERO)
),
+ (gfp_mask &
GFP_LEVEL_MASK
),
node);
}
area->pages = pages;
node);
}
area->pages = pages;
@@
-577,6
+577,14
@@
void *vmalloc_exec(unsigned long size)
return __vmalloc(size, GFP_KERNEL | __GFP_HIGHMEM, PAGE_KERNEL_EXEC);
}
return __vmalloc(size, GFP_KERNEL | __GFP_HIGHMEM, PAGE_KERNEL_EXEC);
}
+#if defined(CONFIG_64BIT) && defined(CONFIG_ZONE_DMA32)
+#define GFP_VMALLOC32 GFP_DMA32
+#elif defined(CONFIG_64BIT) && defined(CONFIG_ZONE_DMA)
+#define GFP_VMALLOC32 GFP_DMA
+#else
+#define GFP_VMALLOC32 GFP_KERNEL
+#endif
+
/**
* vmalloc_32 - allocate virtually contiguous memory (32bit addressable)
* @size: allocation size
/**
* vmalloc_32 - allocate virtually contiguous memory (32bit addressable)
* @size: allocation size
@@
-586,7
+594,7
@@
void *vmalloc_exec(unsigned long size)
*/
void *vmalloc_32(unsigned long size)
{
*/
void *vmalloc_32(unsigned long size)
{
- return __vmalloc(size, GFP_
KERNEL
, PAGE_KERNEL);
+ return __vmalloc(size, GFP_
VMALLOC32
, PAGE_KERNEL);
}
EXPORT_SYMBOL(vmalloc_32);
}
EXPORT_SYMBOL(vmalloc_32);
@@
-602,7
+610,7
@@
void *vmalloc_32_user(unsigned long size)
struct vm_struct *area;
void *ret;
struct vm_struct *area;
void *ret;
- ret = __vmalloc(size, GFP_
KERNEL
| __GFP_ZERO, PAGE_KERNEL);
+ ret = __vmalloc(size, GFP_
VMALLOC32
| __GFP_ZERO, PAGE_KERNEL);
if (ret) {
write_lock(&vmlist_lock);
area = __find_vm_area(ret);
if (ret) {
write_lock(&vmlist_lock);
area = __find_vm_area(ret);
@@
-699,7
+707,7
@@
finished:
* that it is big enough to cover the vma. Will return failure if
* that criteria isn't met.
*
* that it is big enough to cover the vma. Will return failure if
* that criteria isn't met.
*
- * Similar to remap_pfn_range (see mm/memory.c)
+ * Similar to remap_pfn_range
()
(see mm/memory.c)
*/
int remap_vmalloc_range(struct vm_area_struct *vma, void *addr,
unsigned long pgoff)
*/
int remap_vmalloc_range(struct vm_area_struct *vma, void *addr,
unsigned long pgoff)
@@
-747,3
+755,10
@@
out_einval_locked:
}
EXPORT_SYMBOL(remap_vmalloc_range);
}
EXPORT_SYMBOL(remap_vmalloc_range);
+/*
+ * Implement a stub for vmalloc_sync_all() if the architecture chose not to
+ * have one.
+ */
+void __attribute__((weak)) vmalloc_sync_all(void)
+{
+}