/kernel/trunk/arch/ia32/boot/boot.ld |
---|
File deleted |
/kernel/trunk/arch/ia32/boot/boot.S |
---|
File deleted |
/kernel/trunk/arch/ia32/boot/grub.img.gz |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/kernel/trunk/arch/ia32/boot/Makefile |
---|
1,17 → 1,8 |
.PHONY: build clean |
build: boot.bin |
dd if=boot.bin of=../../../image.bin bs=512 conv=sync |
-cat ../../../kernel.bin >> ../../../image.bin |
dd if=/dev/zero of=../../../image.bin bs=1 seek=1474559 count=1 |
build: grub.img.gz |
gunzip -c grub.img.gz > ../../../image.bin |
e2cp ../../../kernel.bin ../../../image.bin:/boot/kernel.bin |
boot.bin: boot.o |
$(LD) -T boot.ld -entry _start_0x7c00 --oformat binary boot.o -o $@ |
boot.o: boot.S |
$(CC) -E -DKERNEL_SIZE=$(KERNEL_SIZE) boot.S > boot.s |
$(AS) boot.s -o $@ |
rm boot.s |
clean: |
-rm -f boot.o boot.bin ../../../image.bin |
-rm -f ../../../image.bin |
/kernel/trunk/arch/ia32/src/boot/boot.S |
---|
164,10 → 164,18 |
jmp mods_invalid |
mods_valid: |
movl 20(%ebx), %ecx # mbi->mods_count |
cmpl $0, %ecx |
je mods_invalid |
movl 24(%ebx), %esi # mbi->mods_addr |
movl 0(%esi), %edx # mods->mod_start |
movl 4(%esi), %ecx # mods->mod_end |
subl %edx, %ecx |
mods_invalid: |
movl %ecx, init_addr |
movl %edx, init_size |
movl %ecx, init_size |
movl %edx, init_addr |
bt $6, %eax # mbi->flags[6] (mmap_length, mmap_addr valid) |
jc mmap_valid |