FreeBSD kernel kern code
kern_sharedpage.c File Reference
#include <sys/cdefs.h>
#include "opt_compat.h"
#include "opt_vm.h"
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/kernel.h>
#include <sys/lock.h>
#include <sys/mutex.h>
#include <sys/sysent.h>
#include <sys/sysctl.h>
#include <sys/vdso.h>
#include <vm/vm.h>
#include <vm/vm_param.h>
#include <vm/pmap.h>
#include <vm/vm_extern.h>
#include <vm/vm_kern.h>
#include <vm/vm_map.h>
#include <vm/vm_object.h>
#include <vm/vm_page.h>
#include <vm/vm_pager.h>
Include dependency graph for kern_sharedpage.c:

Go to the source code of this file.

Functions

 __FBSDID ("$BSDSUniX$")
 
void shared_page_write (int base, int size, const void *data)
 
static int shared_page_alloc_locked (int size, int align)
 
int shared_page_alloc (int size, int align)
 
int shared_page_fill (int size, int align, const void *data)
 
static void shared_page_init (void *dummy __unused)
 
 SYSINIT (shp, SI_SUB_EXEC, SI_ORDER_FIRST,(sysinit_cfunc_t) shared_page_init, NULL)
 
static void timehands_update (struct sysentvec *sv)
 
void timekeep_push_vdso (void)
 
void exec_sysvec_init (void *param)
 

Variables

static struct sx shared_page_alloc_sx
 
static vm_object_t shared_page_obj
 
static int shared_page_free
 
char * shared_page_mapping
 
static struct sysentvec * host_sysentvec
 

Function Documentation

__FBSDID ( "$BSDSUniX$"  )
void exec_sysvec_init ( void *  param)

Definition at line 199 of file kern_sharedpage.c.

References shared_page_alloc(), shared_page_fill(), shared_page_obj, shared_page_write(), and timekeep_push_vdso().

Here is the call graph for this function:

int shared_page_alloc ( int  size,
int  align 
)

Definition at line 78 of file kern_sharedpage.c.

References shared_page_alloc_locked(), and shared_page_alloc_sx.

Referenced by exec_sysvec_init().

Here is the call graph for this function:

Here is the caller graph for this function:

static int shared_page_alloc_locked ( int  size,
int  align 
)
static

Definition at line 65 of file kern_sharedpage.c.

References shared_page_free, and shared_page_obj.

Referenced by shared_page_alloc(), and shared_page_fill().

Here is the caller graph for this function:

int shared_page_fill ( int  size,
int  align,
const void *  data 
)

Definition at line 89 of file kern_sharedpage.c.

References shared_page_alloc_locked(), shared_page_alloc_sx, and shared_page_write().

Referenced by exec_sysvec_init().

Here is the call graph for this function:

Here is the caller graph for this function:

static void shared_page_init ( void *dummy  __unused)
static

Definition at line 102 of file kern_sharedpage.c.

References shared_page_alloc_sx, shared_page_mapping, and shared_page_obj.

void shared_page_write ( int  base,
int  size,
const void *  data 
)

Definition at line 58 of file kern_sharedpage.c.

References shared_page_mapping.

Referenced by exec_sysvec_init(), and shared_page_fill().

Here is the caller graph for this function:

SYSINIT ( shp  ,
SI_SUB_EXEC  ,
SI_ORDER_FIRST  ,
(sysinit_cfunc_t)  shared_page_init,
NULL   
)
static void timehands_update ( struct sysentvec *  sv)
static

Definition at line 124 of file kern_sharedpage.c.

References shared_page_mapping, and tc_fill_vdso_timehands().

Referenced by timekeep_push_vdso().

Here is the call graph for this function:

Here is the caller graph for this function:

void timekeep_push_vdso ( void  )

Definition at line 186 of file kern_sharedpage.c.

References timehands_update().

Referenced by exec_sysvec_init(), sysctl_fast_gettime(), sysctl_kern_timecounter_hardware(), and tc_windup().

Here is the call graph for this function:

Here is the caller graph for this function:

Variable Documentation

struct sysentvec* host_sysentvec
static

Definition at line 180 of file kern_sharedpage.c.

struct sx shared_page_alloc_sx
static

Definition at line 52 of file kern_sharedpage.c.

Referenced by shared_page_alloc(), shared_page_fill(), and shared_page_init().

int shared_page_free
static

Definition at line 54 of file kern_sharedpage.c.

Referenced by shared_page_alloc_locked().

char* shared_page_mapping

Definition at line 55 of file kern_sharedpage.c.

Referenced by shared_page_init(), shared_page_write(), and timehands_update().

vm_object_t shared_page_obj
static

Definition at line 53 of file kern_sharedpage.c.

Referenced by exec_sysvec_init(), shared_page_alloc_locked(), and shared_page_init().