kernel相关内容
我正在写一个引导程序和内核为自己和两个引导程序和内核会在CD-R烧坏,并作为CD-肝功能。它不是一个Linux的CD-Live或其他什么东西,完全是我自己的引导程序和内核。我不想使用其他booloaders(即GRUB),所以请不要建议我使用它们。 下面是我的问题: 在我的引导程序ASM code,我想我的内核和内核入口加载到RAM中的从CD-ROM (而不是从硬盘或软盘),并让我们假设,
..
我想数组数据传递给Linux内核模块。 在内核: int类型的[5]; 诠释计数; module_param_array(A,INT和放大器;计数,0); 但我不知道如何从命令行传递值。如果它是一个变量只是我会用: insmod的k1.ko A = 10 解决方案 您可以通过传递数组 insmod的k1.ko A = 10,20,30,40 看
..
我需要一个自己的系统调用添加到Raspbian Linux内核。现在我坚持寻找2天左右找到解决的办法了。 要增加一个系统调用,我基本上遵循大纲 ( http://elinux.org/RPi_Kernel_Compilation )使用内核源代码从以下混帐回购协议: 混帐://github.com/raspberrypi/tools.git 我已经安装使用的crosstool-ng的一
..
在linux内核空闲循环,对于相当多的架构(SH,ARM,X86等。据我所知)是以下行: 如果(cpuidle_idle_call()) pm_idle(); 我的疑问: 目前,至少对于ARM,默认pm_idle功能包括注射用水(等待中断)指令,但令人困惑的部分是,中断被禁止再与WFI指令后启用执行时,如何做一个CPU从WFI回来在线当中断被禁用? 我试图寻找我在linux各种版本的
..
我试图建立与内核映像一个buildroot的,和做后的make menuconfig 和制作,我越来越: 指定内核defconfig名称,请检查您BR2_LINUX_KERNEL_DEFCONFIG设置 我可以设置一个字符串 defconfig ,但我不知道要放什么东西在那里。 我的目标系统是一个AT91SAM9RL板。 修改:我发现有一些pre-做配置文件的一些设备,其实并不完全匹配,以
..
我要交叉编译的 rtl8192cu驱动程序的目标ARM埃的(的BeagleBoard)的,基于x86的Ubuntu 13.04。 交叉编译prerequisites: rtl8192cu驱动程序 交叉工具链的(codeSourcery / ARM埃Linux的gnueabi)的 内核源代码 由于这个原因,我复制的内核源代码的 usr / src目录的BeagleBoard的目录,
..
以下code段是从Linux v2.6.11拍摄。类似的事情在V3.8 present为好。 MRS R13,CPSR BIC R13,R13,#MODE_MASK ORR R13,R13,#MODE_SVC MSR spsr_cxsf,R13 @切换到SVC_32模式和LR,LR,#15 LDR LR,[PC,LR,LSL#2] MOVS PC,LR @变化模式和分支机构 看看下面的链接
..
我有一个处理器运行AT91SAM9G20 2.6内核。看门狗在引导级别启用和配置为16秒。看门狗模式寄存器只能配置一次。 当code的引导,引导程序或内核,主板重启挂起无论是。但是,一旦内核上来即使看门狗未在任何应用程序的更新,董事会不为16秒,但15分钟后复位。 谁刷新看门狗? 在我们的例子中,看门狗应该由应用程序的影响,从而使电路板可以,如果我们的应用程序挂起复位。 这是正在运行的进程
..
按我的设备树的理解,主要用途之一是从驱动程序删除特定于平台的code支持多种平台。如何设备树处理多个配置一个外设? 例如,如果我想在B平台使用LCD面板在平台A和液晶面板的B,做我需要保持两个液晶显示屏A和B组相关code在最终的二进制?如果是这样的话,有多个外设与一个以上的选项,这似乎会有二进制巨大额外code 解决方案 假设考虑,如果你有5个液晶面板和5个平台(机),保持5 DTSI
..
有人可以解释这里我的code 这个片段拍摄从Linux内核? / * *如何从C获得线程信息结构 * / 静态内嵌结构的thread_info * current_thread_info(无效)__attribute_const__; 静态内嵌结构的thread_info * current_thread_info(无效) { 注册无符号长SP ASM(“SP”);
..
有人能解释我,究竟我们有嵌套中断系统模式下工作? 根据ARM网站 在ARMv4及更高版本的体系结构包含一个称为系统模式的特权模式,来克服这个问题。系统模式共享相同的寄存器,用户模式,它可以运行那些需要特权访问的任务,并且异常不再覆盖链接寄存器。 那么,如何系统模式下使用用户模式寄存器的? 和高达什么层级嵌套中断,可处理? 解决方案 试图处理IRQ模式中断嵌套: (US
..
我已经工作了ARM的嵌入式操作系统,但甚至有指ARMARM和Linux源代码后,有几件事情我不明白有关的架构。 原子操作。 ARM公司表示,加载和保存指令是原子和它的执行是保证中断处理程序执行之前完成。通过查看验证 弓/ ARM /有/ ASM / atomic.h中: 的#define atomic_read(ⅴ)(*(挥发性为int *)及(ⅴ) - >计数器) 的
..
我在Linux内核新手。 目前,我看着闲置codeS和有quesition。 当处理器没有在自己的运行队列任何TAKS话,那可就 进入空闲模式,具体WFI(瓦亭中断)。 (所有我提到的是关于ARM架构不是X86,所以什么是错误的X86。) 住在WFI状态后,也许其他处理器(未空闲)要发$ P $垫 他们的任务这一点,空闲处理器(由负载均衡)。当时繁忙的处理器 做任务imigrated
..
我学习linux内核内部和在阅读“理解Linux内核”,相当多的内存相关的问题,让我吃惊。其中之一是,Linux内核如何处理内存映射如果只有512 MB安装我的系统上的物理内存的说。 当我读到,内核的地图 0(或16)MB-896MB 的物理内存为0xC0000000的线性地址,可直接解决这个问题。因此,在上述情况下,我只有512 MB: 如何可以在内核地图仅512 MB 896 MB?在
..
我要与这些系统调用返回后LKM的sys_connect和sys_accept右追查。 我发现,Kprobes的可以给你访问寄存器时,探测系统调用返回,通过定义一个后处理程序。 我的问题是,我不知道如何从数据的系统调用的参数,我在后处理(即结构pt_regs) 后处理程序的定义那样: 无效post_handler(结构kprobe * P,结构pt_regs *暂存器,无符号长标志);
..
有一个小前奏, 我目前正在写一小(读微小)RTOS内核,以及它应该是整体的,在内核的大多数东西。但是我无法找到下面列出了一些东西多的信息,这将是一个很大帮助,除此之外,它实际上不是某种大学的项目,但东西我在我自己的意志做。 来回答所有的问题,一个更好的选择是,如果你可以参考我免费提供的RTOS(甚至是免费的书)为手臂preferably 它们实现用户空间,而且preemptible(但并不
..
一个简单的问题: 这是QueryPerformanceFrequency的单位? 赫兹(每秒蜱)? 非常感谢你, 布鲁诺 解决方案 Q:QueryPerformanceFrequency的单位 答:千赫兹(Hz的不) ===========详情=================================== =========== 我的研究表明,这两个计数器和频率都在多
..
我需要查询现行规则,以及能够轻松地添加和删除规则。我还没有发现任何API的这样做。有没有办法,我失去了一些东西? 我来一个解决方案是使用最近的 iptables的保存| iptables的-XML 查询和手动调用iptables命令本身来添加/删除规则。我认为仅仅是重新生成整个规则集了我的应用程序的数据库和冲洗整条产业链,另一种解决方案然后再应用它。但我想避免这种情况,因为我不想将降大任包 -
..
Linux如何确定下一个PID它将使用一个过程?这个问题的目的,是为了更好地理解Linux内核。不要害怕张贴内核源代码code。如果PID号的顺序分配Linux如何填补空白?当它击中到底会发生什么? 例如,如果我运行Apache的PHP脚本,做了< PHP打印(getmypid());?> 相同的PID会被打印出来因为虽然命中刷新几分钟。这段时间是多少请求Apache是接收的功能
..
是什么的设备地址的物理地址的和的虚拟地址的?之间的区别 其实我想为 MMAP 的司机,我坚持这样的理念。 解决方案 的
..