tasking, mm: remove unused functions and page_directory field from the Task struct
This commit is contained in:
+2
-31
@@ -2,10 +2,6 @@
|
||||
#include <stdint.h>
|
||||
#include "../include/string.h"
|
||||
|
||||
uint32_t kernel_page_directory[1024] __attribute__((aligned(4096)));
|
||||
uint32_t kernel_page_table[1024] __attribute__((aligned(4096)));
|
||||
uint32_t user_page_table[1024] __attribute__((aligned(4096)));
|
||||
|
||||
uint32_t *kpage_dir;
|
||||
|
||||
uint32_t setup_tmp_pgdir(uint32_t magic, uint32_t info)
|
||||
@@ -128,7 +124,7 @@ uint32_t phys_to_virt(uint32_t phys)
|
||||
return phys+0xC0000000;
|
||||
}
|
||||
|
||||
uint32_t create_page_dir()
|
||||
uint32_t* create_page_dir()
|
||||
{
|
||||
void* ppp = alloc_page();
|
||||
memset(ppp, 0, 0x1000);
|
||||
@@ -148,30 +144,5 @@ uint32_t create_page_dir()
|
||||
|
||||
new_pd[1023] = (uint32_t)ppp | 0x03; // Present + Read/Write
|
||||
|
||||
return (uint32_t)new_pd;
|
||||
}
|
||||
|
||||
void enablePaging() {
|
||||
asm volatile (
|
||||
"mov %%cr0, %%eax\n"
|
||||
"or $0x80000000, %%eax\n"
|
||||
"mov %%eax, %%cr0\n"
|
||||
"jmp 1f\n"
|
||||
"1:\n"
|
||||
"mov %%cr3, %%eax\n" // Перезагрузка CR3 для сброса TLB
|
||||
"mov %%eax, %%cr3\n"
|
||||
"nop\n"
|
||||
:
|
||||
:
|
||||
: "eax", "memory"
|
||||
);
|
||||
}
|
||||
|
||||
void loadPageDirectory(uint32_t* page_directory) {
|
||||
asm volatile (
|
||||
"mov %0, %%cr3\n" // Загружаем физический адрес каталога страниц в CR3
|
||||
: // Нет выходных операндов
|
||||
: "r" (page_directory) // Входной операнд — адрес каталога
|
||||
: // Нет изменяемых регистров
|
||||
);
|
||||
return new_pd;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user