http://blog.chinaunix.net/uid/16979052.html
全部博文(286)
发布时间:2012-06-28 08:12:59
ENTRY(multiboot_entry)OUTPUT_FORMAT("elf32-i386")phys = 0x00100000; /*1 meg*/virt = 0;SECTIONS{ . = virt + phys; kernelStart = .; .text : { *(.boot) *(.task0) *(.text) *(.rdata) *(.rodata .rodata.*) kernel_size = .; LONG(kernelE.........【阅读全文】
发布时间:2012-06-28 08:12:11
#include .text.global wrappers.macro ISRNOERROR func,nr.align 4 \func: pushl $0 pushl $\nr jmp error_code.endm.macro ISR__ERROR func,nr.align 4 \func: pushl $\nr jmp error_code.endm.align 4error_code: pusha.........【阅读全文】
发布时间:2012-06-28 08:11:11
#ifndef KERNAL_TYPES_INCLUDED#define KERNAL_TYPES_INCLUDEDtypedef unsigned char uint8_t;typedef char int8_t;typedef unsigned short uint16_t;typedef short int16_t;typedef unsigned int uint32_t;typedef int int32_t;typedef unsigned long long uint64_t;typedef l.........【阅读全文】
发布时间:2012-06-28 08:09:17
#ifndef __KERNEL_PRINTK_INCLUDED__#define __KERNEL_PRINTK_INCLUDED__#include <types.h>#include <platform.h>int __printk(const char *file, int line, const char *fmt, ...);#define printk(fmt, ...) __printk(__FUNCTION__, __LINE__, fmt, ## __VA_ARGS__)#ifdef.........【阅读全文】
发布时间:2012-06-27 17:21:44
#ifndef PLATFORM_H_INCLUDED#define PLATFORM_H_INCLUDED#define STACK_SIZE 4096 /*struct thread_t size is 2K*/#define PAGE_SIZE 4096/*Segment*/#define GDT_SEL(gdt) ((gdt) << 3)#define GDT_NULL 0#define GDT_KERNEL_CS  .........【阅读全文】