Main Page | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

kmap.c File Reference

#include <linux/config.h>
#include <linux/mm.h>
#include <linux/kernel.h>
#include <linux/string.h>
#include <linux/types.h>
#include <linux/malloc.h>
#include <linux/vmalloc.h>
#include <asm/setup.h>
#include <asm/segment.h>
#include <asm/page.h>
#include <asm/pgtable.h>
#include <asm/io.h>
#include <asm/system.h>

Include dependency graph for kmap.c:

Go to the source code of this file.

Defines

#define PTRTREESIZE   (256*1024)
#define ROOTTREESIZE   (32*1024*1024)
#define IO_SIZE   (256*1024)

Functions

static struct vm_structget_io_area (unsigned long size)
static void free_io_area (void *addr)
void * __ioremap (unsigned long physaddr, unsigned long size, int cacheflag)
void iounmap (void *addr)
void __iounmap (void *addr, unsigned long size)
void kernel_set_cachemode (void *addr, unsigned long size, int cmode)

Variables

static struct vm_structiolist = NULL


Define Documentation

#define IO_SIZE   (256*1024)
 

Definition at line 54 of file kmap.c.

Referenced by __ioremap(), free_io_area(), and get_io_area().

#define PTRTREESIZE   (256*1024)
 

Definition at line 27 of file kmap.c.

#define ROOTTREESIZE   (32*1024*1024)
 

Definition at line 28 of file kmap.c.


Function Documentation

void* __ioremap unsigned long  physaddr,
unsigned long  size,
int  cacheflag
 

Definition at line 106 of file kmap.c.

References _PAGE_ACCESSED, _PAGE_CACHE040, _PAGE_CACHE040W, _PAGE_DIRTY, _PAGE_GLOBAL040, _PAGE_NOCACHE, _PAGE_NOCACHE030, _PAGE_NOCACHE_S, _PAGE_PRESENT, vm_struct::addr, flush_tlb_all, get_io_area(), IO_SIZE, long, NULL, offset, PAGE_SIZE, pgd_offset_k, pgd_present, pmd_alloc_kernel, pmd_offset, pmd_present, printk, pte_alloc_kernel, pte_offset, PTRTREESIZE, ROOTTREESIZE, and x40000000.

Here is the call graph for this function:

void __iounmap void *  addr,
unsigned long  size
 

Definition at line 261 of file kmap.c.

References _DESCTYPE_MASK, _PAGE_PRESENT, flush_tlb_all, long, PAGE_SIZE, pgd_bad, pgd_clear, pgd_offset_k, pmd_bad, pmd_clear, pmd_offset, printk, pte_offset, and PTRTREESIZE.

static void free_io_area void *  addr  )  [inline, static]
 

Definition at line 81 of file kmap.c.

References __iounmap(), vm_struct::addr, IO_SIZE, kfree(), long, vm_struct::next, p, vm_struct::size, and tmp.

Referenced by iounmap().

Here is the call graph for this function:

static struct vm_struct* get_io_area unsigned long  size  )  [static]
 

Definition at line 58 of file kmap.c.

References vm_struct::addr, IO_SIZE, kmalloc(), KMAP_END, KMAP_START, long, vm_struct::next, NULL, p, vm_struct::size, and tmp.

Referenced by __ioremap().

Here is the call graph for this function:

void iounmap void *  addr  )  [inline]
 

Definition at line 244 of file kmap.c.

References free_io_area(), and x40000000.

Here is the call graph for this function:

void kernel_set_cachemode void *  addr,
unsigned long  size,
int  cmode
 

Definition at line 308 of file kmap.c.

Referenced by __initfunc(), allocate_cmd(), mace68k_probe(), my_free_page(), ncr53c7xx_init(), and sim710_detect().


Variable Documentation

struct vm_struct* iolist = NULL [static]
 

Definition at line 56 of file kmap.c.