/kernel/trunk/arch/sparc64/_link.ld.in |
---|
26,9 → 26,9 |
*(.sdata2); |
*(.sbss); |
hardcoded_ktext_size = .; |
LONG(ktext_end - ktext_start); |
QUAD(ktext_end - ktext_start); |
hardcoded_kdata_size = .; |
LONG(kdata_end - kdata_start); |
QUAD(kdata_end - kdata_start); |
hardcoded_load_address = .; |
QUAD(0x4000); |
*(.bss); /* uninitialized static variables */ |
/kernel/trunk/arch/sparc64/src/mm/frame.c |
---|
29,10 → 29,11 |
#include <arch/mm/frame.h> |
#include <mm/frame.h> |
#include <config.h> |
#include <align.h> |
void frame_arch_init(void) |
{ |
zone_create(0, config.memory_size >> FRAME_WIDTH, 1, 0); |
zone_create(0, config.memory_size >> FRAME_WIDTH, ADDR2PFN(ALIGN_UP(config.base + config.kernel_size + CONFIG_STACK_SIZE, FRAME_SIZE)), 0); |
/* |
* Workaround to prevent slab allocator from allocating frame 0. |
/kernel/trunk/arch/amd64/_link.ld.in |
---|
38,9 → 38,9 |
hardcoded_kdata_size = .; |
QUAD(kdata_end - kdata_start + (unmapped_kdata_end - unmapped_kdata_start)); |
hardcoded_unmapped_ktext_size = .; |
LONG(unmapped_ktext_end - unmapped_ktext_start); |
QUAD(unmapped_ktext_end - unmapped_ktext_start); |
hardcoded_unmapped_kdata_size = .; |
LONG(unmapped_kdata_end - unmapped_kdata_start); |
QUAD(unmapped_kdata_end - unmapped_kdata_start); |
*(COMMON); /* global variables */ |
*(.eh_frame); |
/kernel/trunk/arch/amd64/src/asm_utils.S |
---|
218,4 → 218,4 |
.data |
.global interrupt_handler_size |
interrupt_handler_size: .long (h_end-h_start)/IDT_ITEMS |
interrupt_handler_size: .quad (h_end-h_start)/IDT_ITEMS |
/kernel/trunk/arch/amd64/src/boot/boot.S |
---|
164,6 → 164,7 |
je mods_invalid |
xorq %rdx, %rdx |
movq %rdx, %rcx |
movl 24(%ebx), %esi # mbi->mods_addr |
movl 0(%esi), %edx # mods->mod_start |
movl 4(%esi), %ecx # mods->mod_end |
171,7 → 172,7 |
addq $0xffffffff80000000, %rdx |
mods_invalid: |
movl %ecx, init_size |
movq %rcx, init_size |
movq %rdx, init_addr |
bt $6, %eax # mbi->flags[6] (mmap_length, mmap_addr valid) |
/kernel/trunk/arch/mips32/src/drivers/arc.c |
---|
305,7 → 305,7 |
total += basesize; |
zone_create(ADDR2PFN(base), |
SIZE2PFN(ALIGN_DOWN(basesize,FRAME_SIZE)), |
SIZE2FRAMES(ALIGN_DOWN(basesize,FRAME_SIZE)), |
ADDR2PFN(base),0); |
} |
desc = arc_entry->getmemorydescriptor(desc); |
/kernel/trunk/arch/ia32/src/mm/frame.c |
---|
41,7 → 41,6 |
#include <console/cmd.h> |
#include <console/kconsole.h> |
size_t hardcoded_unmapped_ktext_size = 0; |
size_t hardcoded_unmapped_kdata_size = 0; |
50,13 → 49,14 |
static void init_e820_memory(pfn_t minconf) |
{ |
int i; |
pfn_t start, size,conf; |
pfn_t start, conf; |
size_t size; |
for (i = 0; i < e820counter; i++) { |
if (e820table[i].type == MEMMAP_MEMORY_AVAILABLE) { |
start = ADDR2PFN(ALIGN_UP(e820table[i].base_address, |
FRAME_SIZE)); |
size = SIZE2PFN(ALIGN_DOWN(e820table[i].size, |
size = SIZE2FRAMES(ALIGN_DOWN(e820table[i].size, |
FRAME_SIZE)); |
if (minconf < start || minconf >= start+size) |
conf = start; |