声明:该文件为本人原创,如转载修改及使用其中图片,请注明出处及原作者。
Author:lanbo(高兆成)
E-mail:lanbo_g@126.com
如有任何疑问可留言或E-mail
下图为示意图,读者可以参考该图来阅读代码。
个人认为对linux下I/O资源的管理如掌握__request_region函数就能掌握其精髓。
linux下对I/O资源主要用结构体resource来管理,管理的方法就是用resource来描述使用的I/O资源的状态,并将这些resource用如下两个resource作为表头按地址大小的顺序链接起来。
struct resource ioport_resource = {
.name = "PCI IO",
.start = 0,
.end = IO_SPACE_LIMIT,
.flags = IORESOURCE_IO,
};
EXPORT_SYMBOL(ioport_resource);
struct resource iomem_resource = {
.name = "PCI mem",
.start = 0,
.end = -1,