|
nckernel
0.1
|
|
Modules | |
| 인터럽트 | |
| 인터럽트 관련 아키텍쳐 독립적 인터페이스 정의 | |
Data Structures | |
| struct | memmap |
Functions | |
| int | arch_init (void) |
| void | drivers_init (void) |
| void | halt (void) |
| void | panic (const char *fmt,...) |
| void | vm_enable (void) |
| int | vm_frame_init (int cnt, int membase[], int memsize[]) |
| int | vm_init (struct memmap *map, uint32_t kvma) |
| Kernel 이 가상 메모리상에서 동작할 수 있도록 한다. More... | |
| int | vm_init_done (struct memmap *map, unsigned long kpma) |
| Kernel 이 가상 메모리상에서 동작할 준비가 끝나면 호출된다. More... | |
| int | vm_is_enabled (void) |
| void * | vm_rpgd () |
| int arch_init | ( | void | ) |
Definition at line 53 of file common.c.
References divide_error_handler(), interrupt_init(), IRQ_NR_DIVIDE, IRQ_NR_FDC, IRQ_NR_KEYBOARD, IRQ_NR_PAGE_FAULT, IRQ_NR_TIMER, LOW_PRIORITY, NORMAL_PRIORITY, NULL, page_fault_handler(), pic_init(), register_irq(), segment_init(), timer_handler(), timer_init(), and unregister_irq().

| void drivers_init | ( | void | ) |
Definition at line 130 of file common.c.
References fdc_init(), keyboard_init(), serial_init(), and video_init().

| void halt | ( | void | ) |
| void panic | ( | const char * | fmt, |
| ... | |||
| ) |
| void vm_enable | ( | void | ) |
| int vm_frame_init | ( | int | cnt, |
| int | membase[], | ||
| int | memsize[] | ||
| ) |
Definition at line 326 of file paging.c.
References assert, cpu_node_create(), create_zone(), dbg_printf(), EINVAL, ZONE_BASE, ZONE_HIMEM, ZONE_NORMAL, and ZONE_SYSTEM.

Kernel 이 가상 메모리상에서 동작할 수 있도록 한다.
| [in] | map | 메모리 맵 정보 |
| [in] | kvma | 커널이 동작하게 될 가상 메모리 위치(Virtual address) |
Definition at line 162 of file paging.c.
References _SC_PAGESIZE, ENOMEM, memmap::env, memmap::env_size, memmap::heap_size, memmap::initm, initm_alloc(), memmap::initm_size, memmap::kernel_size, memset(), memmap::stack_size, sysconf(), memmap::tcb_size, and vm_enable().
Referenced by _start().


| int vm_init_done | ( | struct memmap * | map, |
| unsigned long | kpma | ||
| ) |
Kernel 이 가상 메모리상에서 동작할 준비가 끝나면 호출된다.
| [in] | map | 메모리 맵 정보 |
| [in] | kpma | 로딩되는 실제 메모리 위치(Linear address) |
Definition at line 241 of file paging.c.
References _SC_PAGESIZE, EFAULT, ENOMEM, memmap::env, memmap::env_size, memmap::heap_size, memmap::initm, initm_alloc(), initm_find_vma(), memmap::initm_size, memmap::kernel_size, memset(), memmap::stack_size, sysconf(), and memmap::tcb_size.

| int vm_is_enabled | ( | void | ) |
| void* vm_rpgd | ( | ) |
Definition at line 368 of file paging.c.
References s_rpgd.
Referenced by pthread_init().

1.8.4