Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
sq.c File Reference
#include <linux/init.h>
#include <linux/cpu.h>
#include <linux/bitmap.h>
#include <linux/device.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/vmalloc.h>
#include <linux/mm.h>
#include <linux/io.h>
#include <linux/prefetch.h>
#include <asm/page.h>
#include <asm/cacheflush.h>
#include <cpu/sq.h>

Go to the source code of this file.

Data Structures

struct  sq_mapping
 
struct  sq_sysfs_attr
 

Macros

#define store_queue_barrier()
 

Functions

void sq_flush_range (unsigned long start, unsigned int len)
 
 EXPORT_SYMBOL (sq_flush_range)
 

is logged at boot time as well as through

the sysfs interface.

#define to_sq_sysfs_attr(a)   container_of(a, struct sq_sysfs_attr, attr)
 
unsigned long sq_remap (unsigned long phys, unsigned int size, const char *name, pgprot_t prot)
 
 EXPORT_SYMBOL (sq_remap)
 
void sq_unmap (unsigned long vaddr)
 
 EXPORT_SYMBOL (sq_unmap)
 
 module_init (sq_api_init)
 
 module_exit (sq_api_exit)
 
 MODULE_AUTHOR ("Paul Mundt <[email protected]>, M. R. Brown <[email protected]>")
 
 MODULE_DESCRIPTION ("Simple API for SH-4 integrated Store Queues")
 
 MODULE_LICENSE ("GPL")
 

Macro Definition Documentation

#define store_queue_barrier ( )
Value:
do { \
__raw_writel(0, P4SEG_STORE_QUE + 0); \
__raw_writel(0, P4SEG_STORE_QUE + 8); \
} while (0);

Definition at line 45 of file sq.c.

#define to_sq_sysfs_attr (   a)    container_of(a, struct sq_sysfs_attr, attr)

Definition at line 267 of file sq.c.

Function Documentation

EXPORT_SYMBOL ( sq_flush_range  )
EXPORT_SYMBOL ( sq_remap  )
EXPORT_SYMBOL ( sq_unmap  )
MODULE_AUTHOR ( "Paul Mundt <[email protected] ,
M.R.Brown< mrbrown @0xd6.org >"   
)
MODULE_DESCRIPTION ( "Simple API for SH-4 integrated Store Queues"  )
module_exit ( sq_api_exit  )
module_init ( sq_api_init  )
MODULE_LICENSE ( "GPL"  )
void sq_flush_range ( unsigned long  start,
unsigned int  len 
)

sq_flush_range - Flush (prefetch) a specific SQ range : the store queue address to start flushing from : the length to flush

Flushes the store queue cache from to + in a linear fashion.

Definition at line 60 of file sq.c.

unsigned long sq_remap ( unsigned long  phys,
unsigned int  size,
const char name,
pgprot_t  prot 
)

Definition at line 145 of file sq.c.

void sq_unmap ( unsigned long  vaddr)

sq_unmap - Unmap a Store Queue allocation : Pre-allocated Store Queue mapping.

Unmaps the store queue allocation that was previously created by sq_remap(). Also frees up the pte that was previously inserted into the kernel page table and discards the UTLB translation.

Definition at line 209 of file sq.c.