mirror of
https://github.com/daeken/Zookeeper.git
synced 2024-05-15 11:29:33 -04:00
Some more
This commit is contained in:
parent
a5a799c83c
commit
a5ee5dcb96
|
@ -3,7 +3,7 @@
|
|||
PageManager::PageManager() {
|
||||
virtgroup_t group;
|
||||
group.start = 0x10000000;
|
||||
group.end = 0xc0000000;
|
||||
group.end = KBASE;
|
||||
group.count = (group.end - group.start) / PAGE_SIZE;
|
||||
virtGroups.push_back(group);
|
||||
}
|
||||
|
|
2
Xbe.cpp
2
Xbe.cpp
|
@ -12,7 +12,7 @@ Xbe::Xbe(char *fn) {
|
|||
file_data = new uint8_t[file_size];
|
||||
fread(file_data, file_size, 1, fp);
|
||||
header = (XbeHeader_t *) file_data;
|
||||
assert(header->soh == 0x1000);
|
||||
assert(header->soh == PAGE_SIZE);
|
||||
full_header = new uint8_t[header->soh];
|
||||
memcpy(full_header, file_data, header->soh);
|
||||
|
||||
|
|
8
main.cpp
8
main.cpp
|
@ -5,14 +5,14 @@ uint32_t load_multiboot(Cpu *cpu, uint32_t *header) {
|
|||
|
||||
uint8_t *rel = (uint8_t *) header;
|
||||
|
||||
uint32_t memsize = header[6] - 0xC0000000;
|
||||
uint32_t memsize = header[6] - KBASE;
|
||||
if(memsize & PAGE_MASK)
|
||||
memsize = (memsize & ~PAGE_MASK) + PAGE_SIZE;
|
||||
assert(memsize <= KRAM_SIZE);
|
||||
|
||||
memcpy(cpu->kmem + (header[4] - 0xC0000000), rel + (header[4] - header[3]), memsize);
|
||||
memset(cpu->kmem + (header[5] - 0xC0000000), 0, header[6] - header[5]);
|
||||
cpu->map_pages(0xC0000000, 0xC0000000, memsize / PAGE_SIZE);
|
||||
memcpy(cpu->kmem + (header[4] - KBASE), rel + (header[4] - header[3]), memsize);
|
||||
memset(cpu->kmem + (header[5] - KBASE), 0, header[6] - header[5]);
|
||||
cpu->map_pages(KBASE, KBASE, memsize / PAGE_SIZE);
|
||||
|
||||
return header[7];
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue