07.01.2013 Views

Linux i386 Önyükleme Kodu NASIL

Linux i386 Önyükleme Kodu NASIL

Linux i386 Önyükleme Kodu NASIL

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Linux</strong> <strong>i386</strong> <strong>Önyükleme</strong> <strong>Kodu</strong> <strong>NASIL</strong><br />

# burada yükleyiciler 32–bit kod<br />

code32_start: # için farklı ba¸slangıç<br />

# adresleri koyarlar.<br />

#ifndef _ _BIG_KERNEL_ _<br />

.long 0x1000 # 0x1000 = zImage için varsayılan<br />

#else<br />

.long 0x100000 # 0x100000 = büyük çekirdek için öntanımlı<br />

#endif<br />

ramdisk_image: .long 0 # yüklü ramdisk görüntüsünün adresi<br />

# Burada yükleyici görüntüyü yükledi˘gi<br />

# 32–bit adresi koyar. Bu sadece<br />

# çekirdek tarafından okunacaktır.<br />

ramdisk_size: .long 0 # boyutu bayt cinsindendir<br />

bootsect_kludge:<br />

.word bootsect_helper, SETUPSEG<br />

heap_end_ptr: .word modelist+1024 # (Ba¸slık sürümü 0x0201 veya daha büyük)<br />

# buradan sonra kurulum sonuna kadar<br />

# bo¸sluklar (özel) kurulum tarafından<br />

# yerel yı˘gın amaçları için kullanılabilir.<br />

// modelist .text bölümünün sonundadır<br />

pad1: .word 0<br />

cmd_line_ptr: .long 0 # (Ba¸slık sürümü 0x0202 veya daha büyük)<br />

# Sıfır de˘gilse, çekirdek komut<br />

# satırına 32–bit bir gösterici.<br />

# Komut satırı kurulumun ba¸sı ile<br />

# alçak bellek arasına (0xa0000)<br />

# yerle¸stirilmeli veya okunmadan önce<br />

# üzerine yazılmalı. E˘ger bu alan<br />

# kullanılırsa, 0x90000 bölütüyle ilgili<br />

# sihirli bir¸sey kalmaz; kurulum<br />

# alçak bellekte 0x10000 veya<br />

# daha yüksek herhangi bir<br />

# yere yerle¸stirilebilir.<br />

ramdisk_max: .long _ _MAXMEM–1 # (Ba¸slık sürümü 0x0203 veya daha büyük)<br />

# initrd içeri˘gi için en<br />

# yüksek güvenli adres<br />

_ _MAXMEM tanımlaması linux/asm–<strong>i386</strong>/page.h içindedir:<br />

/*<br />

* 0xC0000000’ın bir _ _PAGE_OFFSET de˘geri çekirde˘gin bir gigabayt<br />

* sanal adres bo¸slu˘guna sahip oldu˘gu anlamına gelir ki bu da<br />

* kullanabilece˘giniz fiziksel bellek miktarını 950MB’a sınırlar<br />

*/<br />

#define _ _PAGE_OFFSET (0xC0000000)<br />

/*<br />

* Bu kadar adres bo¸slu˘gu vmalloc() ve iomap() oldu˘gu kadar<br />

* "fixmap" e¸sle¸stirmeleri (mappings) için de tahsis edilir.<br />

*/<br />

#define _ _VMALLOC_RESERVE (128

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!