kernel相关内容
编译在32位Linux内核结果的内核模块 “__ udivdi3”[mymodule.ko]未定义! [mymodule.ko]未定义“__umoddi3”! 一切都在64位系统上的罚款。据我所知,这样做的原因是,64位整数除法和模数不是32位的Linux内核的支援。 我如何找到code发出64位操作。他们很难找到手动,因为我不能轻松地检查如果“/”是32位宽或64位宽。如果“正常”的功能是
..
可能重复:结果
..
..
我试图理解Linux系统调用了sched_setaffinity()是如何工作的。这是一个后续的从我的问题
..
通过 sys.c 线123: 的void * sys_call_table的[__ NR_syscalls] = { [0 ... __NR_syscalls-1] = sys_ni_syscall, #包括LT&; ASM / unistd.h中> }; sys_call_table的是一个通用的指针数组,我可以看到。然而什么是符号: [0 ... __NR_syscal
..
我试图写一个简单的程序内核,并使用网络链路用户空间之间的通信。基本上这里就是我想实现: 用户空间程序开始结合定义多播组的用户。 插入内核模块 内核模块将消息发送到该组播组 用户空间程序接收到的消息 下面是我的code: ======用户空间程序== #包括LT&;&stdio.h中GT; #包括LT&;&string.h中GT; #包括LT&;&stdlib.h中GT; #包
..
我试图找到glibc的源$ C $ C选择()源$ C $ C(Linux操作系统,i386的弓), 但我无法找到任何(与该架构) 可能有人点我的选择()源$ C $ C? 解决方案 选择()不是libc中的功能,但是内核函数,所以你需要看看到内核源代码。 您可以通过查看手册页告诉这一点:如果是在第2节,这是一个内核函数,如果是在第3节,这是标准C库的函数,你的情况gli
..
我试图调用 sys_readlink(为const char * __user路径,焦炭__user * BUF,INT BUFSIZ) 直接,但得到EFAULT错误code。出现此错误的原因的 BUF 的从内核空间指向的内存。 那么,有没有从内核分配用户存储空间可能的方式? 的kmalloc(大小,GFP_USER)类似于的kmalloc(大小,GFP_KERNEL) 并返回指针到内核
..
我希望有人可以解释在Linux内核源代码中使用的__user宏的细微差别。 首先,宏观: #定义__user __attribute __((noderef,address_space(1))) 现在,一些谷歌搜索后,我读了这个宏允许一个指定的指针为属于用户地址空间,而且它不应该被取消引用。 我可能会丢失一些明显的事实,但也有人请解释这样一个宏的含义是什么?比如,什么是在哪里这个宏将使用一
..
我想调试内核模块。我怀疑有没有一些内存泄漏。要检查它,我有prepared构建内核和模块启用内存泄漏调试。而我得到了一些来自警告: [11839.429168]在verify_redzone_free板错误():缓存大小'64':外界对象的内存被覆盖 [11839.438659]并[d c005575c]的计算值从(unwind_backtrace +为0x0 / 0x164)并[d c011
..
看着Linux内核源代码,我发现这一点: 静态结构tty_operations serial_ops = { 。开= tiny_open, .close = tiny_close, .WRITE = tiny_write, .write_room = tiny_write_room, .set_termios = tiny_set_termios, }; 我从来没有见过这
..
我做了 sudo的执行cat / proc / 1 /图-vv 我试图让output.I感可以看到很多共享库映射到预期的内存映射段。 7f3c00137000-7f3c00179000 R-XP 00000000 08:01 21233923 /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8 7f3c00179000-7f3c00379000 --- p 00
..
我试图编译对文件系统上的任何源代码树一个模块,但我有Makefile文件的麻烦。这是原来的Makefile我不得不对指定的内核: OBJ-M + =新mod.o所有: 使-C / lib / modules目录/ $(壳使用uname -r)/建造M = $(PWD)模块清洁: 使-C / lib / modules目录/ $(壳使用uname -r)/建造M
..
我使用的是Windows驱动程序工具包(WINDDK 6001.18001)来构建,而不是Visual Studio 2005中,我采取这种方法我的用户空间的应用程序,因为我们还必须建立驱动程序组件,所以我倒是preFER有单一的编译环境建立的一切。微软本身使用了这种方法的几个产品。 这是工作的罚款,直到我开始使用升压1.38.0。我没有使用C ++内核模式组件,只需用户空间应用。在C ++中c
..
我重生的就是ttyS1 port.ttyS0的/斌/ bash的是我的控制台。 inittab条目如下。 ::重生:/斌/ bash的<为/ dev /就是ttyS1>的/ dev / 2就是ttyS1>的/ dev /就是ttyS1 我的问题是如何禁用/杀respwning,这样我可以使用串口 对于其他的应用程序。 解决方案 您可以杀死像其他流程,bash进程。但是,初始化
..
我想从vmlinuz的产生的System.map,导致大部分机器没有文件System.map.In事实上,vmlinuz的是COM pressed至vmlinuz或bzImage的。 这是任何工具或脚本可以做到这一点? 我试过: DD如果=的/ boot / vmlinuz的跳跃=`grep的-a -b -o -m 1 -e $'\\ X1F \\ x8b \\ X08 \\ X00'的/
..
我想开发一个虚拟麦克风驱动程序。请不要说关于DirectShow的事情 - 这不是“道”。我需要一个解决方案,将与包括Skype和MSN的任何软件工作。和DirectShow不符合这些要求。 我发现的 AVStream过滤器为中心的模拟捕获驱动程序(avssamp.sys)在Windows 7 WDK。我需要的是它的一个音频部分。默认情况下它读取avssamp.wav并播放。但这个驱动程序被注册
..
我想创建一个虚拟的音频设备,从默认的输出获取音频数据(这是一个输出IOAudioStream),并将其转换为一个输入IOAudioStream。 我完成大部分的例子我能找到了,但他们只实现一个功能,输出IOAudioStream顶多复制到输入之一。这意味着,如果音频设备被选择作为输出它仅变换音频到的输入流。 这应该是可能的,因为ScreenFlow允许计算机音频记录通过安装创建一个虚拟驱动器的
..
为什么我问这一些背景。我问这个问题在几个小时前
..
我是IM pression下的x86上的“诠释”指令没有特权。所以,我认为我们应该能够从用户空间应用程序执行这一指令。但似乎并非如此。 我想在Windows上从用户应用程序执行int类型。我知道这可能不适合这样做。但我想有一番情趣。但Windows是杀害我的申请。 我认为这个问题是由于条件CPL< = IOPL。有谁知道怎么去解决它? 解决方案 一般用户模式code旧的分配机制转
..