操作系统之x86架构下的bootloader

xiaoxiao2021-02-28  100

bootloader主要做四件事,1.开启A20地址线;2.探测内存,把内存相关信息告诉内核;3.初始化全局描述符表,开启分段机制,进入保护模式;4.把操作系统内核从磁盘加载到内存指定位置,跳转到内核,执行内核代码。

1.开启A20地址线,把内存寻址扩展到4GB。

enable20.1: inb $0x64, %al testb $0x2, %al jnz enable20.1 movb $0xd1, %al outb %al, $0x64 enable20.2: inb $0x64, %al testb $0x2, %al jnz enable20.2 movb $0xdf, %al

2.探测内存,主要就是获取内存大小,和类型,比如是否可用,保留等,下面给出bios 0x15中断获取内存信息,命令字0xe820.

movl $0, 0x6000 xorl
转载请注明原文地址: https://www.6miu.com/read-64724.html

最新回复(0)