#include "../cpu/isr.h"
#include "ctypes.h"
Go to the source code of this file.
◆ INDEX_FROM_BIT
#define INDEX_FROM_BIT |
( |
|
a | ) |
(a / (8 * 4)) |
◆ OFFSET_FROM_BIT
#define OFFSET_FROM_BIT |
( |
|
a | ) |
(a % (8 * 4)) |
◆ PAGE_SIZE
◆ page_directory_t
◆ page_t
◆ page_table_t
◆ alloc_frame()
void alloc_frame |
( |
page_t * |
page, |
|
|
int |
is_kernel, |
|
|
int |
is_writeable |
|
) |
| |
Аллокация фрейма
- Parameters
-
page | страница в памяти |
is_kernel | это ядро |
is_writeable | этот участок возможен для записи |
◆ free_frame()
void free_frame |
( |
page_t * |
page | ) |
|
Освобождение фрейма
- Parameters
-
◆ get_page()
Get the page object.
Получение указателя на требуемую страницу. Если make == 1, создает таблицу страниц если она не создана
- Parameters
-
- Returns
- page_t*
◆ initialise_paging()
void initialise_paging |
( |
| ) |
|
Настройка окружения, директорий страниц и включение paging.
◆ page_fault()
Обработчик Page Fault.
- Parameters
-
◆ pkmalloc()
Обычное выделение памяти
- Parameters
-
- Returns
- u32
◆ pkmalloc_a()
Выделение с выравниванием по странице
- Parameters
-
- Returns
- u32
◆ pkmalloc_ap()
Выделение с выравниванием и возвратом физического адреса
- Parameters
-
sz | размер |
phys | физический адрес |
- Returns
- u32
◆ pkmalloc_internal()
u32 pkmalloc_internal |
( |
u32 |
sz, |
|
|
int |
align, |
|
|
u32 * |
phys |
|
) |
| |
Внутренняя функция выделения памяти
- Parameters
-
sz | размер |
align | выравнивание |
phys | физический адрес |
- Returns
- u32
◆ pkmalloc_p()
Выделение с возвратом физического адреса
- Parameters
-
sz | размер |
phys | физический размер |
- Returns
- u32
◆ switch_page_directory()
Загрузка указанной директории страниц в регистр CR3.
- Parameters
-
dir | директория страницы в памяти |
◆ test_frame()
u32 test_frame |
( |
u32 |
frame_addr | ) |
|
Тест фрейма
- Parameters
-
- Returns
- u32
◆ current_directory
◆ free_mem_addr
◆ kernel_directory
◆ nframes