fix grillups
This commit is contained in:
@@ -55,7 +55,7 @@ extern "C" int main() {
|
|||||||
Multiboot::Module* initrd = Multiboot::getModule(0);
|
Multiboot::Module* initrd = Multiboot::getModule(0);
|
||||||
DBG << "initrd address: " << hex << initrd->getStartAddress() << endl << "initrd size: " << initrd->getSize() << endl;
|
DBG << "initrd address: " << hex << initrd->getStartAddress() << endl << "initrd size: " << initrd->getSize() << endl;
|
||||||
memcpy((void *)0x4000000, initrd->getStartAddress(), initrd->getSize());
|
memcpy((void *)0x4000000, initrd->getStartAddress(), initrd->getSize());
|
||||||
mark_pageframes(0x400000, 0x4000000 + initrd->getSize(), false);
|
mark_pageframes(0x4000000, 0x4000000 + initrd->getSize(), false);
|
||||||
|
|
||||||
memset(&paging_tree, 0, sizeof(four_lvl_paging_t));
|
memset(&paging_tree, 0, sizeof(four_lvl_paging_t));
|
||||||
create_basic_page_table(&paging_tree);
|
create_basic_page_table(&paging_tree);
|
||||||
@@ -89,8 +89,8 @@ extern "C" int main() {
|
|||||||
uint32_t appsize = (*apps_header)[i];
|
uint32_t appsize = (*apps_header)[i];
|
||||||
uintptr_t appstart = (0x4000+offset)<<12;
|
uintptr_t appstart = (0x4000+offset)<<12;
|
||||||
DBG << "app " << i << " size " << appsize << " at " << appstart << endl;
|
DBG << "app " << i << " size " << appsize << " at " << appstart << endl;
|
||||||
g.vault().scheduler.ready(new Thread(false, (void*)appstart));
|
g.vault().scheduler.ready(new Thread(false, (void*)appstart, (appsize/4096)+1)); //TODO fix edgecase on size=4096
|
||||||
offset += 1+(appsize-1/4096);
|
offset += 1+(appsize/4096);
|
||||||
}
|
}
|
||||||
//for(void* p=Multiboot::getModule(0)->getStartAddress(); p<Multiboot::getModule(0)->getEndAddress(); p=(void*)((uintptr_t)p+4096)){
|
//for(void* p=Multiboot::getModule(0)->getStartAddress(); p<Multiboot::getModule(0)->getEndAddress(); p=(void*)((uintptr_t)p+4096)){
|
||||||
// DBG << "module at: " << hex << p << endl;
|
// DBG << "module at: " << hex << p << endl;
|
||||||
|
|||||||
Reference in New Issue
Block a user