这里是我的问题:我想从运行在Linux内核空间中的代码中对数据文件的一部分进行内存映射。我想稍后也从Linux内核空间中运行的代码中撤销相同的内存映射。如何执行这些操作?它们与在用户空间中使用mmap(2)/munmap(2)有何不同?
我试图在没有用户进程的内核空间中做到这一点。
我浏览了网络搜索和Linux内核书籍,包括Bovet和Cesati的"Understanding the Linux Kernel“。一本好书,但没有回答我的问题。
我想知道CPU如何将数据写入IO端口(例如:串行/并行/USB)(并从IO端口读取数据)。
是否有指令直接将数据发送到IO端口,例如:
send the number 3 to pin 0 of serial port 1
或者CPU是否写入指定的内存位置,一旦数据被写入到该内存位置,数据将自动发送到IO端口,例如:
send the number 3 to memory location 0x12345
现在,一旦数字3被写入内存位置0x12345,它将自动发送到串行端口1的引脚0。
我是C和内存管理的新手,我试着用lexer->src_size查找内存泄漏,我在strlen()中发现了所有的问题--我不知道为什么当我使用strlen()时内存泄漏。
缬草:
==49058== Memcheck, a memory error detector
==49058== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==49058== Using Valgrind-3.16.1 and LibVEX; rerun with -h for copyright info
==49058==