Physical memory manager now initialized in cpu_init
This commit is contained in:
parent
7d2a8b0894
commit
d9252649d8
@ -1,12 +1,14 @@
|
|||||||
#include "gdt.h"
|
#include "gdt.h"
|
||||||
#include "paging.h"
|
#include "paging.h"
|
||||||
#include "isr.h"
|
#include "isr.h"
|
||||||
|
#include "pmem.h"
|
||||||
#include "../tasking.h"
|
#include "../tasking.h"
|
||||||
|
|
||||||
void cpu_init() {
|
void cpu_init(multiboot_info_t* mbd) {
|
||||||
gdt_init();
|
gdt_init();
|
||||||
isr_install();
|
isr_install();
|
||||||
asm volatile("sti");
|
asm volatile("sti");
|
||||||
|
pmem_init(mbd);
|
||||||
paging_init();
|
paging_init();
|
||||||
tasking_init();
|
tasking_init();
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
#include "../drivers/pci.h"
|
#include "../drivers/pci.h"
|
||||||
#include "../drivers/serial.h"
|
#include "../drivers/serial.h"
|
||||||
#include "../cpu/i386/ports.h"
|
#include "../cpu/i386/ports.h"
|
||||||
#include "../cpu/i386/pmem.h"
|
|
||||||
#include "../cpu/memory.h"
|
#include "../cpu/memory.h"
|
||||||
#include "vfs.h"
|
#include "vfs.h"
|
||||||
#include "../fs/devfs.h"
|
#include "../fs/devfs.h"
|
||||||
@ -81,7 +80,6 @@ static void init() {
|
|||||||
stdout=fopen("/dev/console","w");
|
stdout=fopen("/dev/console","w");
|
||||||
stdin=fopen("/dev/console","r");
|
stdin=fopen("/dev/console","r");
|
||||||
stderr=fopen("/dev/console","w");
|
stderr=fopen("/dev/console","w");
|
||||||
pmem_init(mbd);
|
|
||||||
read_initrd(mbd);
|
read_initrd(mbd);
|
||||||
devfs_add(initrd_dev_drv,"initrd");
|
devfs_add(initrd_dev_drv,"initrd");
|
||||||
initrd_init();
|
initrd_init();
|
||||||
@ -120,7 +118,7 @@ static void init() {
|
|||||||
|
|
||||||
void kmain(multiboot_info_t* header) {
|
void kmain(multiboot_info_t* header) {
|
||||||
mbd=header;
|
mbd=header;
|
||||||
cpu_init();
|
cpu_init(mbd);
|
||||||
text_fb_info info;
|
text_fb_info info;
|
||||||
if (header->flags&MULTIBOOT_INFO_FRAMEBUFFER_INFO&&header->framebuffer_type==2) {
|
if (header->flags&MULTIBOOT_INFO_FRAMEBUFFER_INFO&&header->framebuffer_type==2) {
|
||||||
info.address=(char*)(((uint32_t)header->framebuffer_addr&0xFFFFFFFF)+0xC0000000);
|
info.address=(char*)(((uint32_t)header->framebuffer_addr&0xFFFFFFFF)+0xC0000000);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user