-
关于struct page所在队列的问题structpage的几个与队列指针:structlist_headlist;structaddress_space*mapping;structpage*next_hash;structpage**pprev_hashstructlist_headlru;各有什么用?他们根据page的状态各自挂入哪个队列?内核2.4.0vmscan.c的代码中:intrnew_new_one 时间:08-11 + 阅读全文
-
关于linux驱动 io映射 ioremap(附代码)这是我在2.6下写的一个pc104的驱动,io映射,只是实现读写功能,但是pc104没有反映(用示波器直接测地址,数据引脚),pc104是16位的,在x86上运行的,不知道是ioremap()用错了,还是什么问题,请高手指点:#ifndef__KERNEL__#define__KERNEL__#endif#ifndefMODULE#defineMODULE#endgoldsea5188 时间:10-09 + 阅读全文
-
grub加载initrd.img报错。error 28: select item cannot fit into memory.为实现redhat64位操作系统的自动安装(我测试的版本是RHELAS4.7X86_64),利用gentoolivecd在硬盘上划出一个分区,将redhat的安装源、kernel和initrd都拷贝到该分区中,并且将gentoo的grub(0.96)安装到该分区上,重新启动,进入grub界面:grub#>root(hd0,0)grub#>kernel/vmlinuzrdaping 时间:07-09 + 阅读全文
-
再请教大家一个powerpc异常向量表的问题再请教大家一个powerpc异常向量表的问题,我用的是E300核,开发板是mpc8313,自己写bootloader(参考uboot),首先要设置中断向量表,E300比较奇怪,没有象E500内核使用IVPR和IVORn寄存器保存中断向量。每个中断向量的入口地址是IVPR+IVORn。IVPR提供中断向量的基址,IVORn提供中断向量的偏移。在linux底下用下面这个宏:#defineSET_Ibitliu1983 时间:09-11 + 阅读全文
-
关于测试磁盘性能的一点问题,欢迎大家发表看法我现在想分别在两个物理机器上作磁盘性能的测试,测试工具IOZONE3.23两个物理机器上的硬件配置都是一样的,除了一个内存容量一个1GB,另外一个则是2GB。然后测试的方法是每个物理机都分别读写一个4GB的文件,当分别读完,或者写完这个测试文件后,再输出结果,结果就是读或写这个文件的平均每秒带宽值。MB/s现在的问题是苦于没有硬件条件,不知道这个内存的大小的不同,会对最终的结almeydifer 时间:09-15 + 阅读全文
-
Linux内核2.6.31启动过程 (x86架构)1.构造调试环境由于bochs内建调试功能,且支持gdb,用它调试内核会很方便.1.1构建磁盘镜像代码:ddif=/dev/zeroof=hd0.imgcount=$((63*16*100))用这个命令可以构建一个50MB左右的磁盘镜像,输出结果如下:100800+0recordsin100800+0recordsout51swordhui 时间:09-21 + 阅读全文
-
【讨论】大家都是如何编译内核的?如下:#cd/usr/src#tarxjf~/linux-2.6.9.tar.bz2#chown-Rsrc.srclinux-2.6.9#chmod-Ra-w,a+rlinux-2.6.9#mkdir/boot2注:此举保证kernelsource为src用户所有,并且所有人无写有读权限,由root执行(#之意)$mkdir-crquan 时间:11-14 + 阅读全文