
LINUX DEVICE DRIVERS III
jiangnan0001
这个作者很懒,什么都没留下…
展开
-
08 分配内存
NOTICEstruct kmem_cache_t *kmem_cache_create (const char *name, size_t size, size_t align,unsigned long flags,void (*ctor)(void*, kmem_cache_t *, unsigned long),void (*dtor)(void*, kmem_cache原创 2012-01-31 14:34:29 · 268 阅读 · 0 评论 -
Abbreviation
acpi: Advanced Configuration and Power Management Interfaceasm: Assembly languageNUMA: Non Uniform Memory Access Achitecturemalloc: memory allocatenr: number piix: inter南桥芯片的一种HCD :(Ho原创 2012-01-30 10:39:43 · 273 阅读 · 0 评论 -
02 构造和运行模块
Q1: 编译多个.c到一个模块中A1:MODULE_NAME := common$(MODULE_NAME)-objs := debug.o init.o //source codeobj-m:=$(MODULE_NAME).o // module nameKDIR := /lib/modules/$(shell uname -r)/buildPWD := $(shell p原创 2012-02-07 17:40:03 · 241 阅读 · 0 评论 -
05 Concurrency and Race Conditions .
//spinlock #include spinlock_t mylock = SPIN_LOCK_UNLOCKED; /* Initialize *//* Acquire the spinlock. This is inexpensive if there* is no one inside the critical section. In the face of* contenti转载 2012-02-21 17:07:41 · 291 阅读 · 0 评论 -
15 内存映射和DMA
headremap_fpn_range() use SetPageReserved ClearPageReserved (2.6) or mem_map_reserve(2.4) to use get_free_pages();SetPageReserved(virt_to_page(kernel_memaddr));PG_locked ? can free?P原创 2012-02-07 13:38:25 · 406 阅读 · 0 评论 -
统计Linux kernel的启动时间
http://blog.chinaunix.net/uid-23028407-id-3058667.html转载 2012-03-23 10:55:42 · 462 阅读 · 0 评论 -
06 高级字符驱动
int (*ioctl) (struct inode *, struct file *, unsigned, unsigned long);struct file_operations是一个字符设备把驱动的操作和设备号联系在一起的纽带,是一系列指针的集合,每个被打开的文件都对应于一系列的操作,这就是file_operations,用来执行一系列的系统调用。struct f转载 2012-03-01 10:26:10 · 336 阅读 · 0 评论 -
10 irq
http://www.cnblogs.com/yanyansha/archive/2011/02/27/1966338.html转载 2012-05-07 17:02:23 · 265 阅读 · 0 评论