kernel相关内容

__udivdi3未定义 - 如何找到使用它的code?

编译在32位Linux内核结果的内核模块 “__ udivdi3”[mymodule.ko]未定义! [mymodule.ko]未定义“__umoddi3”! 一切都在64位系统上的罚款。据我所知,这样做的原因是,64位整数除法和模数不是32位的Linux内核的支援。 我如何找到code发出64位操作。他们很难找到手动,因为我不能轻松地检查如果“/”是32位宽或64位宽。如果“正常”的功能是 ..
发布时间:2016-08-18 14:30:53 服务器开发

什么是用C这种风格的语法?

通过 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 ..
发布时间:2016-08-18 13:48:52 服务器开发

用C从内核中通过网络链路的多播到用户空间

我试图写一个简单的程序内核,并使用网络链路用户空间之间的通信。基本上这里就是我想实现: 用户空间程序开始结合定义多播组的用户。 插入内核模块 内核模块将消息发送到该组播组 用户空间程序接收到的消息 下面是我的code: ======用户空间程序== #包括LT&;&stdio.h中GT; #包括LT&;&string.h中GT; #包括LT&;&stdlib.h中GT; #包 ..
发布时间:2016-08-18 13:40:31 C/C++

在哪里可以找到选择()源$ C ​​$在glibc的C源?

我试图找到glibc的源$ C ​​$ C选择()源$ C ​​$ C(Linux操作系统,i386的弓), 但我无法找到任何(与该架构) 可能有人点我的选择()源$ C ​​$ C? 解决方案 选择()不是libc中的功能,但是内核函数,所以你需要看看到内核源代码。 您可以通过查看手册页告诉这一点:如果是在第2节,这是一个内核函数,如果是在第3节,这是标准C库的函数,你的情况gli ..
发布时间:2016-08-18 13:32:39 服务器开发

从分配内核的用户存储空间

我试图调用 sys_readlink(为const char * __user路径,焦炭__user * BUF,INT BUFSIZ) 直接,但得到EFAULT错误code。出现此错误的原因的 BUF 的从内核空间指向的内存。 那么,有没有从内核分配用户存储空间可能的方式? 的kmalloc(大小,GFP_USER)类似于的kmalloc(大小,GFP_KERNEL) 并返回指针到内核 ..
发布时间:2016-08-18 13:16:05 服务器开发

什么是Linux的__user宏的含义是什么?

我希望有人可以解释在Linux内核源代码中使用的__user宏的细微差别。 首先,宏观: #定义__user __attribute __((noderef,address_space(1))) 现在,一些谷歌搜索后,我读了这个宏允许一个指定的指针为属于用户地址空间,而且它不应该被取消引用。 我可能会丢失一些明显的事实,但也有人请解释这样一个宏的含义是什么?比如,什么是在哪里这个宏将使用一 ..
发布时间:2016-08-18 12:52:56 C/C++

addr2line内核模块

我想调试内核模块。我怀疑有没有一些内存泄漏。要检查它,我有prepared构建内核和模块启用内存泄漏调试。而我得到了一些来自警告: [11839.429168]在verify_redzone_free板错误():缓存大小'64':外界对象的内存被覆盖 [11839.438659]并[d c005575c]的计算值从(unwind_backtrace +为0x0 / 0x164)并[d c011 ..
发布时间:2016-08-18 12:52:25 C/C++

拿什么在结构变量名之前的点?

看着Linux内核源代码,我发现这一点: 静态结构tty_operations serial_ops = { 。开= tiny_open, .close = tiny_close, .WRITE = tiny_write, .write_room = tiny_write_room, .set_termios = tiny_set_termios, }; 我从来没有见过这 ..
发布时间:2016-08-18 12:50:55 服务器开发

什么是VDSO和vsyscall?

我做了 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 ..
发布时间:2016-08-17 21:35:45 服务器开发

在文件系统上编译出树的内核模块,针对任何内核源代码树

我试图编译对文件系统上的任何源代码树一个模块,但我有Makefile文件的麻烦。这是原来的Makefile我不得不对指定的内核: OBJ-M + =新mod.o所有: 使-C / lib / modules目录/ $(壳使用uname -r)/建造M = $(PWD)模块清洁: 使-C / lib / modules目录/ $(壳使用uname -r)/建造M ..
发布时间:2016-08-16 12:51:48 服务器开发

在WDK使用boost构建应用程序的环境呢?

我使用的是Windows驱动程序工具包(WINDDK 6001.18001)来构建,而不是Visual Studio 2005中,我采取这种方法我的用户空间的应用程序,因为我们还必须建立驱动程序组件,所以我倒是preFER有单一的编译环境建立的一切。微软本身使用了这种方法的几个产品。 这是工作的罚款,直到我开始使用升压1.38.0。我没有使用C ++内核模式组件,只需用户空间应用。在C ++中c ..
发布时间:2016-08-12 17:29:38 C/C++

如何通过在Linux的init杀重生过程

我重生的就是ttyS1 port.ttyS0的/斌/ bash的是我的控制台。 inittab条目如下。 ::重生:/斌/ bash的<为/ dev /就是ttyS1>的/ dev / 2就是ttyS1>的/ dev /就是ttyS1 我的问题是如何禁用/杀respwning,这样我可以使用串口 对于其他的应用程序。 解决方案 您可以杀死像其他流程,bash进程。但是,初始化 ..
发布时间:2016-08-03 11:11:58 Linux/Unix

从vmlinuz的或bzImage的vmlinux的提取

我想从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'的/ ..
发布时间:2016-08-02 15:45:48 Linux/Unix

虚拟音频驱动器(麦克风)

我想开发一个虚拟麦克风驱动程序。请不要说关于DirectShow的事情 - 这不是“道”。我需要一个解决方案,将与包括Skype和MSN的任何软件工作。和DirectShow不符合这些要求。 我发现的 AVStream过滤器为中心的模拟捕获驱动程序(avssamp.sys)在Windows 7 WDK。我需要的是它的一个音频部分。默认情况下它读取avssamp.wav并播放。但这个驱动程序被注册 ..
发布时间:2016-07-22 18:36:50 其他开发

Mac OS X的虚拟音频驱动程序

我想创建一个虚拟的音频设备,从默认的输出获取音频数据(这是一个输出IOAudioStream),并将其转换为一个输入IOAudioStream。 我完成大部分的例子我能找到了,但他们只实现一个功能,输出IOAudioStream顶多复制到输入之一。这意味着,如果音频设备被选择作为输出它仅变换音频到的输入流。 这应该是可能的,因为ScreenFlow允许计算机音频记录通过安装创建一个虚拟驱动器的 ..
发布时间:2016-07-22 17:07:17 其他开发

从用户空间INT指令

我是IM pression下的x86上的“诠释”指令没有特权。所以,我认为我们应该能够从用户空间应用程序执行这一指令。但似乎并非如此。 我想在Windows上从用户应用程序执行int类型。我知道这可能不适合这样做。但我想有一番情趣。但Windows是杀害我的申请。 我认为这个问题是由于条件CPL< = IOPL。有谁知道怎么去解决它? 解决方案 一般用户模式code旧的分配机制转 ..
发布时间:2016-07-18 21:52:12 .NET Framework