nckernel  0.1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
page_allocator.c File Reference
#include <sys/types.h>
#include <stdio.h>
#include <stddef.h>
#include <stdint.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
#include <page_allocator.h>
#include <debug.h>
Include dependency graph for page_allocator.c:

Go to the source code of this file.

Data Structures

struct  page_allocator
 

Macros

#define BIT_IDX(j)   ((j) & 0x07)
 
#define BIT_MASK(j)   (0x01 << BIT_IDX(j))
 
#define BYTE_IDX(j)   ((j) >> 3)
 

Functions

void * page_allocator_alloc (struct page_allocator *handle, unsigned int nr_of_pages)
 page frame 을 할당한다. More...
 
void page_allocator_dump_header (struct page_allocator *handle)
 page frame 관리 정보를 화면에 출력한다. More...
 
int page_allocator_fini (struct page_allocator *handle)
 page frame 관리자를 종료한다. More...
 
int page_allocator_free (struct page_allocator *handle, void *addr)
 할당 된 page frame 을 해제한다. More...
 
int page_allocator_get_region (struct page_allocator *handle, unsigned int *start, unsigned int *end)
 handle 이 관리하고 있는 Page frame 관리 영역에 대한 정보를 제공한다. More...
 
unsigned int page_allocator_info_size (unsigned int size)
 page allocator 가 관리 정보를 담기 위해 필요한 information block 의 크기 More...
 
struct page_allocatorpage_allocator_init (void *info, void *addr, unsigned int size)
 page frame 관리자를 초기화 한다. More...
 

Macro Definition Documentation

#define BIT_IDX (   j)    ((j) & 0x07)

Definition at line 39 of file page_allocator.c.

#define BIT_MASK (   j)    (0x01 << BIT_IDX(j))

Definition at line 40 of file page_allocator.c.

Referenced by page_allocator_alloc(), and page_allocator_free().

#define BYTE_IDX (   j)    ((j) >> 3)

Definition at line 38 of file page_allocator.c.

Referenced by page_allocator_alloc(), and page_allocator_free().