Remove uncessesary asm files
This commit is contained in:
parent
bb7682186d
commit
9f77482506
@ -1,4 +1,3 @@
|
||||
#include "seg_upd.h"
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
|
||||
@ -129,8 +128,17 @@ void gdt_init() {
|
||||
write_tss(5,0x10,int_stack_top+0xC0000000);
|
||||
gdt_desc.size=(sizeof(gdt_entry)*NUM_ENTRIES)-1;
|
||||
gdt_desc.address=gdt;
|
||||
asm volatile("lgdt (%%eax)"::"a"((uint32_t)&gdt_desc));
|
||||
seg_upd();
|
||||
asm volatile(" \
|
||||
lgdt (%%eax); \
|
||||
jmp $0x8,$gdt_init_asm_code_upd; \
|
||||
gdt_init_asm_code_upd: \
|
||||
mov $0x10, %%ax; \
|
||||
mov %%ax, %%ds; \
|
||||
mov %%ax, %%ss; \
|
||||
mov %%ax, %%es; \
|
||||
mov %%ax, %%fs; \
|
||||
mov %%ax, %%gs; \
|
||||
"::"a"((uint32_t)&gdt_desc));
|
||||
asm volatile("mov $0x2B, %ax; \
|
||||
ltr %ax; \
|
||||
");
|
||||
|
@ -3,7 +3,6 @@
|
||||
#include "../halt.h"
|
||||
#include "../paging.h"
|
||||
#include "arch_consts.h"
|
||||
#include "paging_helpers.h"
|
||||
#include <klog.h>
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
@ -136,7 +135,7 @@ void* paging_new_address_space() {
|
||||
}
|
||||
|
||||
void load_address_space(void* cr3) {
|
||||
load_page_directory((uint32_t*)cr3);
|
||||
asm volatile("movl %0, %%eax; movl %%eax, %%cr3;":"=m"(cr3)::"%eax");
|
||||
}
|
||||
|
||||
void unmap_pages(void* start_virt,int num_pages) {
|
||||
@ -176,7 +175,7 @@ void paging_init() {
|
||||
page_directory[i+1018]=(entry_virt-0xC0000000)|0x3;
|
||||
}
|
||||
page_directory[1023]=((uint32_t)page_directory-0xC0000000)|0x3;
|
||||
load_page_directory((uint32_t*)((uint32_t)page_directory-0xC0000000));
|
||||
load_address_space((uint32_t*)((uint32_t)page_directory-0xC0000000));
|
||||
}
|
||||
|
||||
void* get_cr3() {
|
||||
|
@ -1,9 +0,0 @@
|
||||
global load_page_directory
|
||||
load_page_directory:
|
||||
push ebp
|
||||
mov ebp, esp
|
||||
mov eax, [esp+8]
|
||||
mov cr3, eax
|
||||
mov esp, ebp
|
||||
pop ebp
|
||||
ret
|
@ -1,6 +0,0 @@
|
||||
#ifndef PAGING_HELPERS_H
|
||||
#define PAGING_HELPERS_H
|
||||
|
||||
void load_page_directory(void* dir);
|
||||
|
||||
#endif
|
@ -1,11 +0,0 @@
|
||||
global seg_upd
|
||||
seg_upd:
|
||||
jmp 0x8:code_upd
|
||||
code_upd:
|
||||
mov ax, 0x10
|
||||
mov ds, ax
|
||||
mov ss, ax
|
||||
mov es, ax
|
||||
mov fs, ax
|
||||
mov gs, ax
|
||||
ret
|
@ -1,6 +0,0 @@
|
||||
#ifndef SEG_UPD_H
|
||||
#define SEG_UPD_H
|
||||
|
||||
void seg_upd();
|
||||
|
||||
#endif
|
Loading…
x
Reference in New Issue
Block a user