ncloader  0.1
 모두 데이타 구조 파일들 함수 변수 타입정의 열거형 타입 열거형 멤버 매크로 그룹들 페이지들
arch.c 파일 참조
#include <slibc.h>
#include <sys/types.h>
#include <stdio.h>
#include <stddef.h>
#include <stdarg.h>
#include <assert.h>
#include <string.h>
#include <errno.h>
#include <unistd.h>
#include <stdlib.h>
#include <list.h>
#include <thread.h>
#include <bootm.h>
#include <arch.h>
#include <x86.h>
#include <mrd.h>
#include <device.h>
#include <pic.h>
#include <interrupt.h>
#include <isr.h>
#include <model.h>
#include <page_allocator.h>
+ arch.c에 대한 include 의존 그래프

매크로

#define LOW16(r)   (((unsigned long)(r)) & 0x0000FFFF)
 
#define HIGH16(r)   (((unsigned long)(r)) >> 16)
 
#define MAX_ENTRY   8
 
#define PRESENT   1
 
#define RING3   3
 
#define RING0   0
 
#define DESC_NULL   0x00
 
#define DESC_TSS   0x07
 
#define DESC_COUNT   0x08
 
#define TI(t)   ((t) << 2)
 
#define GDT   0
 
#define LDT   1
 
#define INITM_SIZE   (1 << 20)
 
#define TCB_SIZE   4096
 
#define ENV_SIZE   4096
 
#define KERNEL_SIZE   (1048576 - ENV_SIZE)
 
#define HEAP_SIZE   1048576
 
#define STACK_SIZE   (16 << 10)
 
#define BOOTM_IDX   0
 
#define SYSTEM_IDX   1
 
#define MMAP_SIZE(mmap)   ((mmap)->tcb_size + (mmap)->env_size + (mmap)->kernel_size + (mmap)->initm_size + (mmap)->heap_size + (mmap)->stack_size)
 

함수

unsigned long _eoc __attribute__ ((section(".eoc")))
 .eoc 섹션을 만들고, eoc 라는 변수를 그곳에 위치 시킨다. ldscript 에서 .eoc 섹션을 가장 마지막에 위치시킨다. eoc라는 변수는 .eoc 섹션 즉, 가장 마지막 섹션에 자리를 잡게 되고 메모리에 적재된 후에 eoc 변수의 주소가 우리가 사용 가능한 메모리 영역의 시작 주소가 된다. 더 자세히 ...
 
int arch_init (void)
 [Stage 2 Build Interrupt Table] 더 자세히 ...
 
unsigned long arch_setup_env (struct memmap *map)
 사용가능한 메모리 정보 및 Architecture 정보를 환경변수 형태로 반환한다. 사용가능한 가장 큰 메모리 영역의 시작 주소에 환경변수 블록을 구성하고, 그 주소를 반환한다. 더 자세히 ...
 
int arch_init_thread_stack (struct thread *handle, unsigned int stack_size, void *(*e)(void *arg), void *arg)
 주어진 메모리 영역에 architecture 의존적인 task stack 을 구성한다. 더 자세히 ...
 
struct threadarch_current_thread (void)
 현재 쓰레드의 구조체를 가져온다. 더 자세히 ...
 
void arch_switch_to_thread (struct thread *thread)
 지정된 쓰레드로 즉시 전환한다. 더 자세히 ...
 
__NORET void halt (void)
 시스템을 정지 시킨다. 더 자세히 ...