# HG changeset patch # User Taiki TAIRA # Date 1350253984 -32400 # Node ID 4205fb316c144515effc30fb9a49ce7ec427d76e # Parent f8ef856d6691fcab5efdd363350230d4c28209d6 add memo files diff -r f8ef856d6691 -r 4205fb316c14 Kernel_withGRUB2/Makefile.def --- a/Kernel_withGRUB2/Makefile.def Tue Oct 09 17:35:53 2012 +0900 +++ b/Kernel_withGRUB2/Makefile.def Mon Oct 15 07:33:04 2012 +0900 @@ -35,7 +35,7 @@ LDFLAGS32 = -melf_i386 \ -nostdlib \ - -Ttext 0x100000 \ + -Ttext 0x150000 \ --oformat elf32-i386 \ -o diff -r f8ef856d6691 -r 4205fb316c14 Kernel_withGRUB2/boot/bootstrap.S --- a/Kernel_withGRUB2/boot/bootstrap.S Tue Oct 09 17:35:53 2012 +0900 +++ b/Kernel_withGRUB2/boot/bootstrap.S Mon Oct 15 07:33:04 2012 +0900 @@ -99,6 +99,7 @@ pushl %eax /* activating Long Mode */ + movl $0x80000001, %eax movl %eax, %cr0 lret diff -r f8ef856d6691 -r 4205fb316c14 Kernel_withGRUB2/boot/head64.S --- a/Kernel_withGRUB2/boot/head64.S Tue Oct 09 17:35:53 2012 +0900 +++ b/Kernel_withGRUB2/boot/head64.S Mon Oct 15 07:33:04 2012 +0900 @@ -4,7 +4,7 @@ */ .org 150000 - +.text .code64 start_kernel: diff -r f8ef856d6691 -r 4205fb316c14 memo/asm.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/memo/asm.txt Mon Oct 15 07:33:04 2012 +0900 @@ -0,0 +1,11 @@ +mov %register1 %register2 + registor1 から register2 へ中のデータを移動 + +rep stosl + メモリを初期値で埋める + eax の値を[edi]に代入し、edi の値を8増減させる + +leal 4(a), b + b = a + 4 + + diff -r f8ef856d6691 -r 4205fb316c14 memo/os.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/memo/os.txt Mon Oct 15 07:33:04 2012 +0900 @@ -0,0 +1,30 @@ +memory map +PAE の実装 + + + +GLIBC 使うんじゃない +---- +gcc binutils は必要そう + +-I. -I/usr/local/include/efi -I/usr/local/include/efi/x86_64 +-I/usr/local/include/efi/protocol + + +boot loader から作る? +BLDK つかったら ARM は対応可能か? +OSのブートローダーはUEFIアプリケーションの一種となるので、ファームウェアからアクセス可能なファイルシステム上にファイルとして格納 + +----use tool +toolchain +gnu-efi +bldk_tools_2_0_0 +UDK2010 +gcc 3.7 + +----read source code +kboot-11 +linux-3.3 +grub-1.99 +Barrelfish +