vmalloc.c (9e9fd65d1fa51d919d54d731be0e66492b5b6c5a) | vmalloc.c (a8e5202d09c1bac5b83889e1ddeff146eb421565) |
---|---|
1/* 2 * linux/mm/vmalloc.c 3 * 4 * Copyright (C) 1993 Linus Torvalds 5 * Support of BIGMEM added by Gerhard Wichert, Siemens AG, July 1999 6 * SMP-safe vmalloc/vfree/ioremap, Tigran Aivazian <tigran@veritas.com>, May 2000 7 * Major rework to support vmap/vunmap, Christoph Hellwig, SGI, August 2002 8 * Numa awareness, Christoph Lameter, SGI, June 2005 --- 1961 unchanged lines hidden (view full) --- 1970 * 1971 * This function checks that addr is a valid vmalloc'ed area, and 1972 * copy data from that area to a given buffer. If the given memory range 1973 * of [addr...addr+count) includes some valid address, data is copied to 1974 * proper area of @buf. If there are memory holes, they'll be zero-filled. 1975 * IOREMAP area is treated as memory hole and no copy is done. 1976 * 1977 * If [addr...addr+count) doesn't includes any intersects with alive | 1/* 2 * linux/mm/vmalloc.c 3 * 4 * Copyright (C) 1993 Linus Torvalds 5 * Support of BIGMEM added by Gerhard Wichert, Siemens AG, July 1999 6 * SMP-safe vmalloc/vfree/ioremap, Tigran Aivazian <tigran@veritas.com>, May 2000 7 * Major rework to support vmap/vunmap, Christoph Hellwig, SGI, August 2002 8 * Numa awareness, Christoph Lameter, SGI, June 2005 --- 1961 unchanged lines hidden (view full) --- 1970 * 1971 * This function checks that addr is a valid vmalloc'ed area, and 1972 * copy data from that area to a given buffer. If the given memory range 1973 * of [addr...addr+count) includes some valid address, data is copied to 1974 * proper area of @buf. If there are memory holes, they'll be zero-filled. 1975 * IOREMAP area is treated as memory hole and no copy is done. 1976 * 1977 * If [addr...addr+count) doesn't includes any intersects with alive |
1978 * vm_struct area, returns 0. 1979 * @buf should be kernel's buffer. Because this function uses KM_USER0, 1980 * the caller should guarantee KM_USER0 is not used. | 1978 * vm_struct area, returns 0. @buf should be kernel's buffer. |
1981 * 1982 * Note: In usual ops, vread() is never necessary because the caller 1983 * should know vmalloc() area is valid and can use memcpy(). 1984 * This is for routines which have to access vmalloc area without 1985 * any informaion, as /dev/kmem. 1986 * 1987 */ 1988 --- 57 unchanged lines hidden (view full) --- 2046 * 2047 * This function checks that addr is a valid vmalloc'ed area, and 2048 * copy data from a buffer to the given addr. If specified range of 2049 * [addr...addr+count) includes some valid address, data is copied from 2050 * proper area of @buf. If there are memory holes, no copy to hole. 2051 * IOREMAP area is treated as memory hole and no copy is done. 2052 * 2053 * If [addr...addr+count) doesn't includes any intersects with alive | 1979 * 1980 * Note: In usual ops, vread() is never necessary because the caller 1981 * should know vmalloc() area is valid and can use memcpy(). 1982 * This is for routines which have to access vmalloc area without 1983 * any informaion, as /dev/kmem. 1984 * 1985 */ 1986 --- 57 unchanged lines hidden (view full) --- 2044 * 2045 * This function checks that addr is a valid vmalloc'ed area, and 2046 * copy data from a buffer to the given addr. If specified range of 2047 * [addr...addr+count) includes some valid address, data is copied from 2048 * proper area of @buf. If there are memory holes, no copy to hole. 2049 * IOREMAP area is treated as memory hole and no copy is done. 2050 * 2051 * If [addr...addr+count) doesn't includes any intersects with alive |
2054 * vm_struct area, returns 0. 2055 * @buf should be kernel's buffer. Because this function uses KM_USER0, 2056 * the caller should guarantee KM_USER0 is not used. | 2052 * vm_struct area, returns 0. @buf should be kernel's buffer. |
2057 * 2058 * Note: In usual ops, vwrite() is never necessary because the caller 2059 * should know vmalloc() area is valid and can use memcpy(). 2060 * This is for routines which have to access vmalloc area without 2061 * any informaion, as /dev/kmem. 2062 */ 2063 2064long vwrite(char *buf, char *addr, unsigned long count) --- 571 unchanged lines hidden --- | 2053 * 2054 * Note: In usual ops, vwrite() is never necessary because the caller 2055 * should know vmalloc() area is valid and can use memcpy(). 2056 * This is for routines which have to access vmalloc area without 2057 * any informaion, as /dev/kmem. 2058 */ 2059 2060long vwrite(char *buf, char *addr, unsigned long count) --- 571 unchanged lines hidden --- |