📄 00000038.htm
字号:
<HTML><HEAD> <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人: mephisto (梦菲斯特*大宝宝), 信区: Linux <BR>标 题: Re: 源码分析的问题 <BR>发信站: BBS 水木清华站 (Tue Dec 12 18:02:12 2000) <BR> <BR>这个地方不是setup.S写的, <BR>是bootloader 写的. 例如lilo和 loadlin, 用来放启动的linux的信息的. <BR>看 arch/i386/boot/bootsect.S bsetup.s <BR>! bootsect.s is loaded at 0x7c00 by the bios-startup routines, and moves <BR>! itself out of the way to address 0x90000, and jumps there. <BR>! <BR>! bde - should not jump blindly, there may be systems with only 512K low <BR>! memory. Use int 0x12 to get the top of memory, etc. <BR>! <BR>! It then loads 'setup' directly after itself (0x90200), and the system <BR>! at 0x10000, using BIOS interrupts. <BR>! <BR>-------------------- <BR> <BR>! Signature words to ensure LILO loaded us right <BR> ^^^^^ <BR> <BR>INITSEG = 0x9000 ! 0x9000, we move boot here - out of the way <BR>SYSSEG = 0x1000 ! 0x1000, system loaded at 0x10000 (65536). <BR>SETUPSEG = 0x9020 ! 0x9020, this is the current segment <BR> ! ... and the former contents of CS <BR>DELTA_INITSEG = SETUPSEG - INITSEG ! 0x0020 <BR> <BR> <BR> <BR>【 在 sonicbb (风间苍月) 的大作中提到: 】 <BR>∶<I> 小弟在分析linux内河源代码的Head.S时,遇到如下语句 </I><BR>∶<I> cmpw $(CL_MAGIC),CL_MAGIC_ADDR </I><BR>∶<I> 前面有定义:CL_MAGIC=0xa33f CL_MAGIC_ADDR=0x90020 </I><BR>∶<I> 请问setup.S在0x90020处写入了一个什么东东?我老是找不到setup.S中的相关部分. </I><BR>∶<I> 谢谢! </I><BR> <BR> <BR>-- <BR>约塞连怀疑地摇了摇头,拒绝接受丹比的劝告."当我抬起来时,我看到人们全在设法赚钱.我 <BR>看不见天堂,看不见圣人,也看不见天使.我只看见人们利用每一次正当的冲动和每一场人类 <BR>的悲剧大把大把地捞钱." <BR> <BR> <BR>※ 来源:·BBS 水木清华站 smth.org·[FROM: 211.99.240.21] <BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -