-
系统调用int 0x80在内核kernel的system_call.s中,实现了对int0x80中断的响应。里面有一行call_sys_call_table(,%eax,4)我知道这个是用来定位include/linux/sys.h下系统调用表的sys_call_table[]的。但是,这里的_sys_call_table应该还不是sys.h中的这个sys_call_table。哪位大哥大姐能告诉我这行canathan10 时间:09-01 + 阅读全文
-
32位操作系统与64位操作系统的区别rt.那位大虾知道32位系统与64位系统的区别。在编译内核时有什么区别?在写内核模块时有什么区别?在写应用程序时有什么区别?瀚海书香 时间:09-01 + 阅读全文
-
疑问: PCIe BAR 只有32bit, 怎么在64bit kernel上使用??本帖最后由gaoping561于2010-08-3122:19编辑有个帖子讨论过IOMMU,IOMMU解决了32bit设备在64bit系统中使用的问题,主要是DMA的问题.http://linux.chinaunix.net/bbs/v...p;extra=&page=1但是,如果PCIe设备的BAR寄存器大小只有32bit, 能否在64gaoping561 时间:08-31 + 阅读全文
-
vfree 函数导致的oops调用vfree的代码大致为:spin_lock_bh(&sip_lock);...releasehashtable...vfree(hashtable);spin_unlock_bh(&sip_lock);复制代码这段代码是在卸Godbach 时间:08-31 + 阅读全文
-
希望各位高手不要潜水了各位: 知道里面有很多高手,ineedyouhelp最近在学习文件系统,想修改一个文件系统里面的东西,把它变成另外一个名字,如原来是filesystemA现在变为filesystemB最重要的是我想把经过修改的文件系统B挂载到某个目录下面?使用insmodB虽然可以看到这个文件系统模块嵌入了内核但是使用df命令看磁盘情况的时候,还是显示的A文件hjwsm1989 时间:08-31 + 阅读全文
-
【原】Linux-千兆网卡驱动实现机制浅析Linux-千兆网卡驱动实现机制浅析[email protected] 本人对网卡驱动没有太多实践经验,此分析纯属学习总结所为,希望各位CU的大牛能及时的提出其中的问题,也欢迎大家积极拍砖,我抛砖引玉,你们抛砖给我吧^_^。我相信这其中的分析一定有不太正确的地方,希望各位能够Minit 时间:03-25 + 阅读全文
-
求助:关于通过线性地址读取pte写了如下的代码intevent_write(structfile*filp,char__user*buff,size_tcount,  spongeliu 时间:08-31 + 阅读全文
-
内核模块中对文件的读写平时网络部分的东西碰的多些,这块一开始还真不知道怎么写,因为肯定和在用户空间下是不同的。google过后,得到以下答案。一般可以用两种方法:第一种是用系统调用。第二种方法是filp->open()等函数。下面分别来说下这两种方法。1利用系统调用:sys_open,sys_write,sys_read等。其实分析过sys_open可以知道,最后调用的也是filp->open。ubuntuer 时间:12-12 + 阅读全文
-
Linux内存:内存管理的实质1.内核初始化: *内核建立好内核页目录页表数据库,假设物理内存大小为len,则建立了[3G--3G+len]::[0--len]这样的虚地址vaddr和物理地址paddr的线性对应关系; *内核建立一个page数组,page数组和物理页面系列完全是线性对应,page用来管理该物理页面状态,每个物理页面的虚地址保存在page->frank_seng 时间:05-19 + 阅读全文