Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
process.c File Reference
#include <stdlib.h>
#include <unistd.h>
#include <sched.h>
#include <errno.h>
#include <string.h>
#include <sys/mman.h>
#include <sys/wait.h>
#include <asm/unistd.h>
#include <as-layout.h>
#include <init.h>
#include <kern_util.h>
#include <mem.h>
#include <os.h>
#include <proc_mm.h>
#include <ptrace_user.h>
#include <registers.h>
#include <skas.h>
#include <skas_ptrace.h>
#include <sysdep/stub.h>

Go to the source code of this file.

Macros

#define STUB_SIG_MASK   ((1 << SIGVTALRM) | (1 << SIGWINCH))
 
#define STUB_DONE_MASK   (1 << SIGTRAP)
 
#define NR_CPUS   1
 
#define INIT_JMP_NEW_THREAD   0
 
#define INIT_JMP_CALLBACK   1
 
#define INIT_JMP_HALT   2
 
#define INIT_JMP_REBOOT   3
 

Functions

int is_skas_winch (int pid, int fd, void *data)
 
void wait_stub_done (int pid)
 
unsigned long current_stub_stack (void)
 
int start_userspace (unsigned long stub_stack)
 
void userspace (struct uml_pt_regs *regs)
 
 __initcall (init_thread_regs)
 
int copy_context_skas0 (unsigned long new_stack, int pid)
 
int map_stub_pages (int fd, unsigned long code, unsigned long data, unsigned long stack)
 
void new_thread (void *stack, jmp_buf *buf, void(*handler)(void))
 
void switch_threads (jmp_buf *me, jmp_buf *you)
 
int start_idle_thread (void *stack, jmp_buf *switch_buf)
 
void initial_thread_cb_skas (void(*proc)(void *), void *arg)
 
void halt_skas (void)
 
void reboot_skas (void)
 
void __switch_mm (struct mm_id *mm_idp)
 

Variables

int __syscall_stub_start
 
int userspace_pid [NR_CPUS]
 

Macro Definition Documentation

#define INIT_JMP_CALLBACK   1

Definition at line 643 of file process.c.

#define INIT_JMP_HALT   2

Definition at line 644 of file process.c.

#define INIT_JMP_NEW_THREAD   0

Definition at line 642 of file process.c.

#define INIT_JMP_REBOOT   3

Definition at line 645 of file process.c.

#define NR_CPUS   1

Definition at line 268 of file process.c.

#define STUB_DONE_MASK   (1 << SIGTRAP)

Definition at line 53 of file process.c.

#define STUB_SIG_MASK   ((1 << SIGVTALRM) | (1 << SIGWINCH))

Definition at line 50 of file process.c.

Function Documentation

__initcall ( init_thread_regs  )
void __switch_mm ( struct mm_id mm_idp)

Definition at line 729 of file process.c.

int copy_context_skas0 ( unsigned long  new_stack,
int  pid 
)

Definition at line 488 of file process.c.

unsigned long current_stub_stack ( void  )

Definition at line 75 of file process.c.

void halt_skas ( void  )

Definition at line 717 of file process.c.

void initial_thread_cb_skas ( void(*)(void *)  proc,
void arg 
)

Definition at line 699 of file process.c.

int is_skas_winch ( int  pid,
int  fd,
void data 
)

Definition at line 26 of file process.c.

int map_stub_pages ( int  fd,
unsigned long  code,
unsigned long  data,
unsigned long  stack 
)

Definition at line 579 of file process.c.

void new_thread ( void stack,
jmp_buf buf,
void(*)(void handler 
)

Definition at line 635 of file process.c.

void reboot_skas ( void  )

Definition at line 723 of file process.c.

int start_idle_thread ( void stack,
jmp_buf switch_buf 
)

Definition at line 660 of file process.c.

int start_userspace ( unsigned long  stub_stack)

Definition at line 271 of file process.c.

void switch_threads ( jmp_buf me,
jmp_buf you 
)

Definition at line 647 of file process.c.

void userspace ( struct uml_pt_regs regs)

Definition at line 342 of file process.c.

void wait_stub_done ( int  pid)

Definition at line 55 of file process.c.

Variable Documentation

int __syscall_stub_start
int userspace_pid[NR_CPUS]

Definition at line 269 of file process.c.