nckernel  0.1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Typedefs | Functions | Variables
crt0.c File Reference
#include <sys/types.h>
#include <stdio.h>
#include <fcntl.h>
#include <stdlib.h>
#include <string.h>
#include <stddef.h>
#include <stdarg.h>
#include <stdint.h>
#include <unistd.h>
#include <errno.h>
#include <limits.h>
#include <pthread.h>
#include <assert.h>
#include <object.h>
#include <list.h>
#include <thread.h>
#include <crt0.h>
#include <malloc0.h>
#include <pthread0.h>
#include <arch.h>
#include <vfs.h>
#include <cpu_node.h>
#include <interrupt.h>
#include <zone.h>
#include <page_frame.h>
#include <paging.h>
#include <segment.h>
#include <x86.h>
#include <debug.h>
#include <initm.h>
#include <onetime_map.h>
#include <fat.h>
Include dependency graph for crt0.c:

Go to the source code of this file.

Data Structures

struct  arg_t
 

Typedefs

typedef void(* exec_entry )(char *args, char *envs, unsigned long kpma)
 

Functions

void _start (char *args, char *env)
 

Variables

unsigned long end
 "end" will indicates the end of kernel image region More...
 

Typedef Documentation

typedef void(* exec_entry)(char *args, char *envs, unsigned long kpma)

Definition at line 39 of file crt0.c.

Function Documentation

void _start ( char *  args,
char *  env 
)
Note
Reset the STACK and ENV ... Invoke the _start again on the virtual address

< Virtual address of the ENV block

< Physical address of ENV block

Definition at line 549 of file crt0.c.

References dbg_printf(), memmap::env, memmap::initm, initm_init(), memmap::initm_size, env_t::kvma, memmap::tcb_size, vm_init(), and vm_is_enabled().

Here is the call graph for this function:

Variable Documentation

unsigned long end

"end" will indicates the end of kernel image region

Note
Use the address of "end" to get an address of the end of kernel image. "&end"