/proc/iomem和/proc/ioports对应的fops
static int __init ioresources_init(void)
{
    struct proc_dir_entry *entry;
    entry = create_proc_entry("ioports", 0, NULL);
    if (entry)
        entry->proc_fops = &proc_ioports_operations;
    entry = create_proc_entry("iomem", 0, NULL);
    if (entry)
        entry->proc_fops = &proc_iomem_operations;
    return 0;
}
__initcall(ioresources_init);
static const struct file_operations proc_iomem_operations = {
    .open        = iomem_open,
    .read        = seq_read,
    .llseek        = seq_lseek,
    .release    = seq_release,
};
static int iomem_open(struct inode *inode, struct file *file)
{
    int res = seq_open(file, &resource_op); // seq方法集resource_op
    if (!res) {
        struct seq_file *m = file->private_data;
        m->private = &iomem_resource; // 被操作数据iomem_resource
    }
    return res;
}
static const struct file_operations proc_ioports_operations = {
    .open        = ioports_open,
    .read        = seq_read,
    .llseek        = seq_lseek,
    .release    = seq_release,
};
static int ioports_open(struct inode *inode, struct file *file)
{
    int res = seq_open(file, &resource_op); // seq方法集resource_op
    if (!res) {
        struct seq_file *m = file->private_data;
        m->private = &ioport_resource; // 被操作数据ioport_resource
    }
    return res;
}
static const struct seq_operations resource_op = {
    .start    = r_start,
    .next    = r_next,
    .stop    = r_stop,
    .show    = r_show,
};

/proc/iomem和/proc/ioports对应的fops的更多相关文章

  1. cat /proc/iomem

    在proc目录下有iomem和ioports文件,其主要描述了系统的io内存和io端口资源分布. 对于外设的访问,最终都是通过读写设备上的寄存器实现的,寄存器不外乎:控制寄存器.状态寄存器和数据寄存器 ...

  2. 移动端测试===PROC系列之---/proc/pid/stat 如何准确取cpu的值【转】

         /proc/ /stat 包含了所有CPU活跃的信息,该文件中的所有值都是从系统启动开始累计到当前时刻. [root@localhost ~]# cat /proc/6873/stat 68 ...

  3. PROC系列之---/proc/pid/stat

      转自: http://blog.csdn.net/zjl_1026_2001/article/details/2294067 /proc/ /stat 包含了所有CPU活跃的信息,该文件中的所有值 ...

  4. Linux内核内存管理算法Buddy和Slab: /proc/meminfo、/proc/buddyinfo、/proc/slabinfo

    slabtop cat /proc/slabinfo # name <active_objs> <num_objs> <objsize> <objpersla ...

  5. /proc/interrupts 和 /proc/stat 查看中断的情况

    在/proc文件系统下,又两个文件提供了中断的信息. /proc/interrupts 文件中列出当前系统使用的中断的情况,所以某个中断处理没有安装,是不会显示的.哪怕之前安装过,被卸载了. 从左到右 ...

  6. SAS笔记(6) PROC MEANS和PROC FREQ

    PROC MEANS和PRC FREQ在做描述性分析的时候很常用,用法也比较简单,不过这两个过程步的某些选项容易忘记,本文就梳理一下. 在进入正文前,我们先创建所需的数据集TEST_SCORES: D ...

  7. /proc/interrupts 和 /proc/stat 查看中断的情况 (转载)

    转自:http://blog.csdn.net/richardysteven/article/details/6064717 在/proc文件系统下,又两个文件提供了中断的信息. /proc/inte ...

  8. /proc/cpuinfo和/proc/meminfo来查看cpu信息与内存信息

    #一般情况下使用root或者oracle用户查都可以. # 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 --查 ...

  9. 内核、中断和网络 $ sysctl -a | grep ...$ cat /proc/interrupts$ cat /proc/net/ip_conntrack /* may take some time on busy servers */$ netstat$ ss -s

    你的中断请求是否是均衡地分配给CPU处理,还是会有某个CPU的核因为大量的网络中断请求或者RAID请求而过载了? SWAP交换的设置是什么?对于工作站来说swappinness 设为 60 就很好, ...

随机推荐

  1. 《Kubernetes与云原生应用》系列之容器设计模式

    http://www.infoq.com/cn/articles/kubernetes-and-cloud-native-app-container-design-pattern <Kubern ...

  2. libjpeg.a exists or that its path is correct

    Android NDK: ERROR:/cygdrive/e/cocos2d-x/code/cocos2d-2.1rc0-x-2.1.3/HelloTest1/proj.android/../../c ...

  3. webapi应用架构详解

    webapi适用场景 常见的应用包括以下四类,PC客户端程序,APP程序,网站程序,H5程序.这些应用需要的数据,服务可由同一个接口服务程序提供,这样,大大提高了产品多平台设计开发的效率,避免了重复的 ...

  4. 0071 CentOS_Tomcat访问文件名包含中文的文件出现404错误

    访问CentOS+Tomcat下的,文件名包含中文的文件出现404错误 修改:apache-tomcat-7.0.78/conf/server.xml <Connector port=" ...

  5. FragmentTabHost的应用

    原创)FragmentTabHost的应用(fragment学习系列文章之二) 时间 2014-04-14 00:11:46  CSDN博客 原文  http://blog.csdn.net/flyi ...

  6. webservice文件上传下载

    使用DataHandler实现webservice的文件上传下载 服务端代码: package com.hello.weChat.controller; import javax.activation ...

  7. ssdfd

    http://www.phpweb.net/ http://wenku.baidu.com/view/6044c67c27284b73f242506b.htmlhttp://www.jb51.net/ ...

  8. jQuery替换内容

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  9. 第二百四十八节,Bootstrap轮播插件

    Bootstrap轮播插件 学习要点: 1.轮播插件 本节课我们主要学习一下 Bootstrap 中的轮播插件. 一.轮播 轮播插件就是将几张同等大小的大图,按照顺序依次播放. 基本实例. 第一步,给 ...

  10. mysql根据查询结果,创建表

    create table copy_materials_details (SELECT * FROM `materials_details`);