zoukankan      html  css  js  c++  java
  • /dev/mem

    [root@localhost ~]# cat /dev/mem
    cat: /dev/mem: No such file or directory
    [root@localhost ~]# dmidecode -s system-product-name
    TaiShan 200 (Model 2280)
    [root@localhost ~]#

    [root@localhost ~]# mknod -m 660 /dev/mem c 1 1
    [root@localhost ~]# cat /dev/mem
    cat: /dev/mem: No such device or address
    [root@localhost ~]# chown root:kmem /dev/mem
    [root@localhost ~]# cat /dev/mem
    cat: /dev/mem: No such device or address
    [root@localhost ~]# cat /boot/config-4.14.0-115.el7a.0.1.aarch64 | grep -Ee 'DEV(|K)MEM'
    # CONFIG_DEVMEM is not set
    CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
    [root@localhost ~]# 
    user@debian-macbook:~$ cat /boot/config-4.13.9 | grep -Ee 'DEV(|K)MEM'
    CONFIG_DEVMEM=y
    CONFIG_DEVKMEM=y
    CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
    # CONFIG_STRICT_DEVMEM is not set
    [root@localhost ~]# cat /dev/mem
    cat: /dev/mem: Bad address
    [root@localhost ~]# 
    [root@localhost ~]# cat /boot/config-4.19.90-9.10.aarch64 | grep -Ee 'DEV(|K)MEM'
    CONFIG_DEVMEM=y
    CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
    CONFIG_STRICT_DEVMEM=y
    CONFIG_IO_STRICT_DEVMEM=y
    [root@localhost ~]#
    [root@localhost ~]# ./mem 
    /dev/mem opened.
    [root@localhost ~]# cat mem.c 
    #include <stdio.h>
    #include <stdlib.h>
    #include <fcntl.h>
    #include <sys/mman.h>
      
    int main()
    {
        int memfd;
      
        memfd = open("/dev/mem", O_RDWR | O_SYNC);
            if (memfd == -1) {
            printf("Can't open /dev/mem.
    ");
            exit(0);
        }
        printf("/dev/mem opened.
    ");
        close(memfd);
    }
    [root@localhost ~]# 
  • 相关阅读:
    SpringMVC之@RequestParam @RequestBody @RequestHeader 等详解
    RabbitMQ基础介绍
    linux查看tomcat日志
    HTML-01
    Ajax和json
    使用VBScript实现设置系统环境变量的小程序
    WinForm中重绘TabControl选项卡标题
    Action向视图传值的6种方式
    C#中常用的系统内置委托
    C#中的扩展方法
  • 原文地址:https://www.cnblogs.com/dream397/p/13658804.html
Copyright © 2011-2022 走看看