linux0.11内核main.c中内存初始化详解.pdfVIP

  • 8
  • 0
  • 约7.67千字
  • 约 7页
  • 2017-06-03 发布于湖北
  • 举报
linux0.11 内核main.c 中的内存初始化 自从进入安全模式之后,CPU 的寻址能力从1M一下子扩展到4G,物理地址=段基址(CS) *16+偏移地址(IP)的日子一去不复返了;可以想象,从这个时候的内存的初始化也就 成为一个关键步骤。那么、内核究竟是怎么做的呢? 下面的代码就是这个时候内核代码, . #define RAMDISK 32 /*这个定义是我特意加上去的,原代码中无此定义*/ #define ORIG_ROOT_DEV (*(unsigned short *)0x901FC) #define DRIVE_INFO (*(struct drive_info *)0x90080) . void main (void) { ROOT_DEV = ORIG_ROOT_DEV; drive_info = DRIVE_INFO; memory_end = (1 20) + (EXT_MEM_K 10); memory_end = 0xfffff000; if (memory_end 16 * 1024 * 1024) memory_end = 16 * 1024 * 1024; if (memory_end 12 *

文档评论(0)

1亿VIP精品文档

相关文档