aboutsummaryrefslogtreecommitdiff
path: root/src/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers')
-rw-r--r--src/drivers/acpi.cc4
-rw-r--r--src/drivers/framebuffer.cc4
-rw-r--r--src/drivers/memtext.cc2
-rw-r--r--src/drivers/vgatext.cc3
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);
}