Linux源码学习(3) 2013-2-27

 

Setup.s的过程

1.利用Rom bios中断读取系统硬件信息 并存储到0x90000位置即原来bootsect.s的位置

2.将System模块从0x10000位置移到0x00000处

3.加载IDTR和GDTR

4.开启A20地址线

5.重新设置8259A的中断向量,将0x00~0x0f 设置成0x20~0x2f

6.设置CR0寄存器,进入保护模式

7.跳转到System模块最前面的Head.s中开始执行

关于A20地址线

实模式下需要A0~A19地址线,通过A20信号来判断是否开启了高位地址。

A20信号读取在当时是通过8042键盘上一个空闲的IO端口P2来实现的

此时内存视图

原文地址:https://www.cnblogs.com/fengpeng/p/4628391.html