
linux
xuhilar
这个作者很懒,什么都没留下…
展开
-
【转】printk和printf 实现完全不一样
这两个函数是经常用到的函数,闲暇之余,剖析下这两个函数的原理。这两个函数都是把字符串打印到终端上。其最终所要做的就是把存放在缓存区里的内容输出到串口。 printk printk函数在kernel/printk.c中,其把主要工作交给了vprintk。vprintk经过vscnprintf把要打印的数据格式化 后存放到printk_buf缓存区中,然后通过emit_log_char把要打印转载 2013-05-19 20:04:44 · 2213 阅读 · 0 评论 -
在x86 linux上porting driver 遇到的dma memory不一致的问题
前几天在Intel i386 linux PC上移植了一个PCIE Ramdisk的驱动。 在PC上通过dma_alloc_coherent()分配了一块区域,分配出来的physical address在0x15000~0x15000+1M区间。按照linux的Documentaion,用这个函数分配的区域能保证数据一致性,而且x86平台本身就有硬件保证让这段区域non-cacheable no原创 2014-02-12 11:13:31 · 1163 阅读 · 0 评论