问题描述: 输入一个整数,返回其二进制表示中最低的一位为1的下标值。
很多CPU都在硬件层面直接提供该指令,例如,i386的BSF指令。但是,如果硬件没有提供该指令,又当如何。来看kernel中的算法:
应用分治思想进行依序判断..... 1 int __ffs(int x) 2 ...
分类:
其他好文 时间:
2014-07-22 23:00:13
阅读次数:
336
kernel version:2.6.33.7/linux-2.6.33.7OS:CentOS
6.4cross-compilation
chain:arm-linux-4.3.2/usr/local/arm/4.3.2/bin第一步:修改配置(1)选择合适的内核代码,作为硬件参考目标平台arch/...
分类:
系统相关 时间:
2014-05-09 11:38:14
阅读次数:
560
一、Linux Security Modules Linux Security Modules
(LSM) 是一种 Linux 内核子系统,旨在将内核以模块形式集成到各种安全模块中。在 2001 年的 Linux Kernel 峰会上,NSA 代表建议在
Linux 内核版本 2.5 中包含强制控....
分类:
系统相关 时间:
2014-05-08 21:20:31
阅读次数:
1245
在memory.c里面有这么一段代码。为了其中的一句话,让我内牛满面啊!
dir = (unsigned long *) ((from>>20) & 0xffc)
int free_page_tables(unsigned long from,unsigned long size)
{
unsigned long *pg_table;
unsigned long...
分类:
系统相关 时间:
2014-05-04 18:22:41
阅读次数:
459
Linux的内核和System Call不好调试,参考这里:
http://stackoverflow.com/questions/5999205/cannot-step-into-system-call-source-code
简单来说,如果想在本机调试system call,那么当你进入system call时,系统已经在挂起状态了,那么它又怎样能响应用户的输入?
所以,有一个UML...
分类:
数据库 时间:
2014-05-04 09:28:22
阅读次数:
463
1.编译kernel进入源码根目录make defconfig
//这一步生成了默认的内核配置,请参考make help生成的信息。make //这一步生成了bzImage2.制作根文件系统dd if=/dev/zero
of=rootfs.img bs=1M count=10 //生成了rootf...
分类:
系统相关 时间:
2014-05-03 23:59:39
阅读次数:
592
更改第三方手机检测到的CPU厂商型号,在kernel\arch\arm\mach-msm下面对应的Board-*.c文件里更改,比如我们是8226的CPU,就要在Board-8226.c里将DT_MACHINE_START(MSM8226_DT, "Qualcomm MSM 8226 (Flattened Device Tree)") 这里的8226改成客户指定的型号,比如要改成8926,就要这...
分类:
其他好文 时间:
2014-05-03 21:41:37
阅读次数:
432
前言
我在今天在这里跟大家详细地探讨一下Linux系统的定制过程和实现例如、用户能够远程登录;和Nginx能够稳定地运行在我们私人定制的LINUX系统上、一步一步从头开始定制属于我们自己的系统。正文
首先我们先来简单的介绍一下我们这里定制属于自己的Linux系统的基本元素. 一个定制的linu...
分类:
系统相关 时间:
2014-05-02 09:41:12
阅读次数:
740
在memory.c里面,遇到一个宏定义,如下:
#define CODE_SPACE(addr) ((((addr)+4095)&~4095) start_code + current->end_code)
看的第一眼,不知道,第二眼,还是不知道,纠结了半天还是不知道。
睡了一晚,今天早上再看,嘿嘿,居然看懂了。。。
这个宏定义用于判断给定的addr线...
分类:
系统相关 时间:
2014-05-01 17:54:09
阅读次数:
516
之前一篇写的不完整,重新写一篇
OpenWRT数据发送过程 这里使用的是ath9k网卡驱动,硬件平台是TP-link TL-WR841N V7.1 路由器...
分类:
系统相关 时间:
2014-04-30 22:48:39
阅读次数:
621