内存映射问题

启动时预留了一块物理内存,这块内存不在页表中。使用这块内存时,先通过ioremap将它映射到内核空间,这块内存可以正常读写。ioremap实现应该跟架构有关,它只是检查一下这块内存在不在页表中,如果不在,就给你做映射!我是在x86下的。因为ioremap是映射外设内存的,不知道用来映射内存安不安全?哪位达人分析一下?

作者: kgd7558 发布时间: 08-26

VMALLOC_RESERVE 和 896M

VMALLOC_RESERVE和896MLINUX内核虚拟地址空间到物理地址空间一般是固定连续影射的。假定机器内存为512M,从3G开始,到3G+512M为连续固定影射区。zone_dma,zone_normal为这个区域的。固定影射的VADDR可以直接使用(getafreepage,thenusepfn_to_virt()等宏定义转换得到vaddr)或用kmall

作者: 思一克 发布时间: 01-16

get_user_pages()真是个好东东

发现get_user_pages()接口真是个好东东,它能获取用户区进程使用内存的某个页(structpage),然后可以在内核区通过kmap_atomic(),kmap()等函数映射到内核区线性地址,从而可以在内核区向其写入数据。据我所知,用户区使用共享内存获取的内存是页对齐的,可以比较方便传给内核使用,请问还有其他方式获取整页内存不?get_user_pages()的函数声明如下:

作者: spren 发布时间: 08-25

内核定时器的一点疑问

本帖最后由donotgiveup于2010-08-2610:48编辑按《linux内核设计与实现》所说,del_timer是不安全的。在smp环境下,只要在定时器函数中操作了timer,就可能引发问题,因为这个时候timer已经删除了。那就只能用del_timer_sync了。因为一般会在timer回调函数里面mod_timer,准备下一次定时。我这样理解对吗?书上又说del

作者: donotgiveup 发布时间: 08-25

请教块设备驱动的问题

大家好,我的sd卡驱动(未用linux自带的)是用的blk_init_queue,采用__make_request处理bio,然后发送request,建立线程处理request的做法。以前设置的一次性最大传输长度是PAGE_SIZE,也就是4K,现在希望改成64k提高速度。linuxkernel是2.6.34我在读写前加入card_queue_map_sg将biomap到内部申请的b

作者: fei1700 发布时间: 08-24

谁告诉下我中文maillist的地址啊?

RT请告诉小弟一下啊谢谢各位了。。。。

作者: zqy1005 发布时间: 08-25

【求助】终端设备tty初始化代码

本帖最后由nathan10于2010-08-2517:43编辑tty设备初始化用到如下函数voidtty_init(void){    rs_init();    con_init();}其中rs_init()实现如下voidrs_init(void){ 

作者: nathan10 发布时间: 08-25

内核代码中的 _be32是什么数据类型?

最近在学习romfs,看它的源代码时不知道_be32是什么数据类型.知道_u32的意思是32位整数类型_u32=unsignedlongint但是不知道_be32列如在函数romfs_checksum(void*data,intsize)中有:const_be32*ptr=data;(新手拜求)

作者: wykitty 发布时间: 08-25

请问为何需要local_t类型?

ProfessionalLinuxKernelArchitecture一书讲到:内核为SMP系统也提供了local_t类型,该类型允许在单个CPU上的原子操作。但我看源代码,看不出来local_t与atomic_t有什么区别啊!

作者: rc_hz 发布时间: 08-25

linux 底层网络协议栈测试

有谁是做这个方向的啊,交个朋友,讨论讨论![email protected]

作者: yuanyuansdw 发布时间: 08-25