2011年3月17日

摘要: Linux0.11内核中有很多函数都是在C语言里面声明,然后通过汇编来实现。例如/kernel/blk_drv/hd.c中函数中声明extern void hd_interrupt (void); 但是其他C代码中没有实现,找了好久,终于知道它在汇编代码中实现了。 下面自己写了个简单的实例来证实 test.c代码#include<stdio.h> extern void test1(void); extern void test2(void); extern void test3(void); int main(void) { printf("0x%x/n",t 阅读全文
posted @ 2011-03-17 22:22 yming0221 阅读(263) 评论(0) 推荐(0)
摘要: #define DEVICE_REQUEST do_hd_request // 设备请求函数do_hd_request()。#define MAJOR_NR 3 // 硬盘主设备号是3。//kernel/blk_drv/blk.hstruct blk_dev_struct { //块设备结构体 void (*request_fn)(void);// 请求操作的函数指针。 struct request * current_request;// 请求信息结构。};//kernel/blk_drv/hd.cvoid hd_init(void){ blk_dev[MAJ... 阅读全文
posted @ 2011-03-17 13:00 yming0221 阅读(232) 评论(0) 推荐(0)

导航