CONFIG_STRICT_DEVMEM=n
背景
现代手机这种SOC(system>
#include <errno.h> #include <stdio.h> #include <sys/stat.h> #include <string.h> #include <fcntl.h> #include <stdlib.h> #include <stdint.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> #include <sys/mman.h> // 参考 // https://www.kernel.org/doc/Documentation/vm/pagemap.txt #define page_map_file "/proc/self/pagemap" #define PFN_MASK ((((uint64_t)1)<<55)-1) #define PFN_PRESENT_FLAG (((uint64_t)1)<<63) int mem_addr_vir2phy(unsigned long vir, unsigned long *phy) { int fd; int page_size=getpagesize(); unsigned long vir_page_idx = vir/page_size; unsigned long pfn_item_offset = vir_page_idx*sizeof(uint64_t); uint64_t pfn_item; fd = open(page_map_file, O_RDONLY); if (fd<0) { fprintf(stderr, "open %s failed", page_map_file); return -1; } if ((off_t)-1 == lseek(fd, pfn_item_offset, SEEK_SET)) { fprintf(stderr, "lseek %s failed", page_map_file); return -1; } if (sizeof(uint64_t) != read(fd, &pfn_item, sizeof(uint64_t))) { fprintf(stderr, "read %s failed", page_map_file); return -1; }
推荐阅读
推进信息化、智能化与司法的高度融合
最后,信息化、智能化技巧结不雅的应用要遵守以工本钱的原则。《最高人平易近法院关于加快扶植聪明法院的看法》以及《关于人平易近法院信息化人才部队扶植的看法》均对技恋人才保障问题提出了明白的请求。不过,推动>>>详细阅读
本文标题:Linux虚拟内存地址转化成物理内存地址
地址:http://www.17bianji.com/lsqh/36400.html
1/2 1