/kernel/trunk/arch/mips32/Makefile.inc |
---|
41,8 → 41,10 |
endif |
KERNEL_LOAD_ADDRESS = 0x80100000 |
INIT_ADDRESS = 0x80110000 |
INIT_SIZE = 65536 |
CFLAGS += -mno-abicalls -G 0 -fno-zero-initialized-in-bss |
DEFS += -DMACHINE=${MACHINE} -DKERNEL_LOAD_ADDRESS=${KERNEL_LOAD_ADDRESS} |
DEFS += -DMACHINE=${MACHINE} -DKERNEL_LOAD_ADDRESS=${KERNEL_LOAD_ADDRESS} -DINIT_ADDRESS=${INIT_ADDRESS} -DINIT_SIZE=${INIT_SIZE} |
## Accepted MACHINEs |
# |
/kernel/trunk/arch/ia32/include/boot/memmapasm.h |
---|
File deleted |
/kernel/trunk/arch/ia32/include/boot/memmap.h |
---|
29,8 → 29,26 |
#ifndef __ia32_MEMMAP_H__ |
#define __ia32_MEMMAP_H__ |
/* E820h memory range types - other values*/ |
/* Free memory */ |
#define MEMMAP_MEMORY_AVAILABLE 1 |
/* Not available for OS */ |
#define MEMMAP_MEMORY_RESERVED 2 |
/* OS may use it after reading ACPI table */ |
#define MEMMAP_MEMORY_ACPI 3 |
/* Unusable, required to be saved and restored across an NVS sleep */ |
#define MEMMAP_MEMORY_NVS 4 |
/* Corrupted memory */ |
#define MEMMAP_MEMORY_UNUSABLE 5 |
#include <arch/boot/memmapasm.h> |
/* size of one entry */ |
#define MEMMAP_E820_RECORD_SIZE 20 |
/* maximum entries */ |
#define MEMMAP_E820_MAX_RECORDS 32 |
#ifndef __ASM__ |
#include <arch/types.h> |
struct e820memmap_ { |
46,3 → 64,5 |
extern __u32 e801memorysize; // size of memory in KB |
#endif |
#endif |
/kernel/trunk/arch/ia32/include/boot/boot.h |
---|
33,7 → 33,7 |
#define BOOT_OFFSET 0x100000 |
#define MULTIBOOT_HEADER_MAGIC 0x1BADB002 |
#define MULTIBOOT_HEADER_FLAGS 0x00010003 |
#define MULTIBOOT_HEADER_FLAGS 0x0001000B |
#define MULTIBOOT_LOADER_MAGIC 0x2BADB002 |
/kernel/trunk/arch/ia32/src/boot/boot.S |
---|
27,7 → 27,7 |
# |
#include <arch/boot/boot.h> |
#include <arch/boot/memmapasm.h> |
#include <arch/boot/memmap.h> |
#include <arch/mm/page.h> |
#include <arch/pm.h> |
156,6 → 156,19 |
mem_invalid: |
movl %ecx, e801memorysize |
bt $3, %eax # mbi->flags[3] (mods_count, mods_addr valid) |
jc mods_valid |
xorl %ecx, %ecx |
xorl %edx, %edx |
jmp mods_invalid |
mods_valid: |
mods_invalid: |
movl %ecx, init_addr |
movl %edx, init_size |
bt $6, %eax # mbi->flags[6] (mmap_length, mmap_addr valid) |
jc mmap_valid |
/kernel/trunk/arch/ia32/src/boot/memmap.S |
---|
27,7 → 27,7 |
*/ |
#include <arch/boot/memmapasm.h> |
#include <arch/boot/memmap.h> |
E820_SMAP = 0x534d4150 |