Skip to content
Snippets Groups Projects
Commit d558228d authored by Byron Lathi's avatar Byron Lathi
Browse files

actually use variable fb address

turns out that last commit still used a constant lol
parent dc073fbd
No related branches found
No related tags found
No related merge requests found
......@@ -5,11 +5,12 @@
int32_t sys_read(int32_t fd, const void* buf, int32_t len)
{
printf("sysread\n");
return -1;
}
int32_t sys_write(int32_t fd, const void* buf, int32_t len)
{
printf("syswrite");
return 0;
printf("syswrite\n");
return -1;
}
\ No newline at end of file
......@@ -55,18 +55,23 @@ void init_paging()
}
int32_t map_large(uint32_t v_addr, uint32_t p_addr)
int32_t kmap_large(uint32_t v_addr, uint32_t p_addr)
{
page_directory[0x3f4].present = 1;
page_directory[0x3f4].rw = 1;
page_directory[0x3f4].ps = 1;
page_directory[0x3f4].g = 1;
PDIR_SET_ADDR(0x3f4, 0xFD000000);
uint32_t dir_index = (uint32_t)v_addr >> DIR_BIT_OFF;
if (dir_index > 1023)
return -1;
page_directory[dir_index].present = 1;
page_directory[dir_index].rw = 1;
page_directory[dir_index].ps = 1;
page_directory[dir_index].g = 1;
PDIR_SET_ADDR(dir_index, p_addr);
FLUSH_TLB();
}
int32_t map_2large(uint32_t v_addr, uint32_t p_addr)
int32_t map_large(uint32_t v_addr, uint32_t p_addr)
{
uint32_t dir_index = (uint32_t)v_addr >> DIR_BIT_OFF;
......
......@@ -70,6 +70,7 @@ extern ptable_entry_t page_table[PT_SIZE];
/* Initialize Paging */
void init_paging(void);
int32_t kmap_large(uint32_t v_addr, uint32_t p_addr);
int32_t map_large(uint32_t v_addr, uint32_t p_addr);
int32_t map_vmem(uint8_t** start);
int32_t unmap_small(uint32_t* v_addr);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment