diff options
| author | Loic Guegan <manzerbredes@mailbox.org> | 2021-05-01 11:37:52 +0200 |
|---|---|---|
| committer | Loic Guegan <manzerbredes@mailbox.org> | 2021-05-01 11:37:52 +0200 |
| commit | 4f08ba2b1d0ad7ea90d4d97a483b56b891b9c902 (patch) | |
| tree | eeba5dd2a23a346234a1ceb6d6c7b135a7344af3 /src/drivers | |
| parent | fb69c7b05894cee2b8bb691ead948798a0674059 (diff) | |
Creating scheduler, debug paging
Diffstat (limited to 'src/drivers')
| -rw-r--r-- | src/drivers/acpi.cc | 4 | ||||
| -rw-r--r-- | src/drivers/framebuffer.cc | 4 | ||||
| -rw-r--r-- | src/drivers/memtext.cc | 2 | ||||
| -rw-r--r-- | src/drivers/vgatext.cc | 3 |
4 files changed, 7 insertions, 6 deletions
diff --git a/src/drivers/acpi.cc b/src/drivers/acpi.cc index ec7a2ff..f514927 100644 --- a/src/drivers/acpi.cc +++ b/src/drivers/acpi.cc @@ -32,7 +32,7 @@ char acpi_init(void* rsdp_p){ } char acpi_load_rsdt(){ - PAGE_ID_MAP(rsdp.rsdt_addr); // Ensure page is accessible + PAGE_MAP(rsdp.rsdt_addr,rsdp.rsdt_addr,PAGING_OPT_DEFAULTS); // Ensure page is accessible memcpy((void*)rsdp.rsdt_addr, &rsdt, sizeof(rsdt)); rsdt.first_entry_addr_ptr=rsdp.rsdt_addr+36; if(rsdt.header.signature !=ACPI_RSDT_SIGNATURE){ @@ -54,7 +54,7 @@ char acpi_load_madt(){ u32 *addr=(u32*)(rsdt.first_entry_addr_ptr+i*4); // Load header ACPI_TABLE_HEADER header; - PAGE_ID_MAP(*addr); + PAGE_MAP(*addr,*addr,PAGING_OPT_DEFAULTS); memcpy((void*)*addr, &header, sizeof(header)); // Check if it is MADT if(header.signature==ACPI_MADT_SIGNATURE){ diff --git a/src/drivers/framebuffer.cc b/src/drivers/framebuffer.cc index f5b537b..ce7790e 100644 --- a/src/drivers/framebuffer.cc +++ b/src/drivers/framebuffer.cc @@ -11,11 +11,11 @@ void framebuffer_init(FB_CFG config){ // indeed fb_cfg.location could be to big and // thus leading to cross u64 size limit while summing it with // kvar_kernel_vma in paging.cc/hpp - u64 start=0xFFFFFFFFFFFFFFFF - fb_cfg.pitch*fb_cfg.height; + u64 start=0xFFFFFFFFFFFFFFFF - (fb_cfg.pitch*fb_cfg.height); // Ensure we start writing at the begining of the page since // start is not necessarly 4096 bytes aligned start=PAGE(start); - PAGE_RMAP_PHY(start-kvar_kernel_vma,fb_cfg.location, fb_cfg.pitch*fb_cfg.height); + PAGE_RMAP(start,fb_cfg.location, PAGING_OPT_DEFAULTS,fb_cfg.pitch*fb_cfg.height); fb_cfg.location=start; } diff --git a/src/drivers/memtext.cc b/src/drivers/memtext.cc index f010271..bf460b0 100644 --- a/src/drivers/memtext.cc +++ b/src/drivers/memtext.cc @@ -8,7 +8,7 @@ char memtext_buffer[MEMTEXT_BUFFER_SIZE]; u64 memtext_x=0; void memtext_init(){ - PAGE_RMAP(MEMTEXT_ADDR_LOCATION,8); + PAGE_VIRT_MAP(MEMTEXT_ADDR_LOCATION,PAGING_OPT_DEFAULTS); u64* p_addr=(u64*)VIRT(MEMTEXT_ADDR_LOCATION); *p_addr=(u64)memtext_buffer; diff --git a/src/drivers/vgatext.cc b/src/drivers/vgatext.cc index 6a5a1b2..84d28df 100644 --- a/src/drivers/vgatext.cc +++ b/src/drivers/vgatext.cc @@ -1,6 +1,7 @@ #include "vgatext.hpp" #include "boucane.hpp" +#include "core/paging.hpp" #define MAX_COL 80 #define MAX_LINE 25 @@ -14,7 +15,7 @@ VIDEO_STATE VS={ }; void vgatext_init(){ - PAGE_RMAP(0xB8000,4096*2); + PAGE_VIRT_RMAP(0xB8000,PAGING_OPT_DEFAULTS,2); VS.mem=(u8*)VIRT(0xB8000); } |
