Linux内核在哪里(内存中)存储“特殊”总线地址?

时间:2015-07-30 14:37:19

标签: linux linux-kernel linux-device-driver

当内核启动时,它必须找到硬件并准备运行程序。内核'看起来'在I / O端口 - 可能有设备控制器卡的特殊总线地址。内核不会随意戳;它有很多关于它可能在哪里找到的内置知识,以及如果控制器存在,控制器将如何响应。资料来源:http://www.tldp.org/HOWTO/Unix-and-Internet-Fundamentals-HOWTO/bootup.html

那些特殊的总线地址是否存储在内核空间中?

谢谢!

1 个答案:

答案 0 :(得分:1)

是的,它们存储在内核空间内存中。有一个名为request_region的内核函数,驱动程序可以使用它来“注册”它打算使用的I / O端口范围。内核将这些已注册的I / O端口“区域”保存在树状结构中,当然这些结构驻留在内核内存中。各个驱动程序还跟踪它们在自己的内存中使用的I / O端口,这是内核空间内存。