Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
“do { ... } while (0)”在内核代码中到底做了什么? [复制]
这个问题在这里已经有答案了 可能的重复 当我们定义宏时 do while 0 有什么用 https stackoverflow com questions 923822 whats the use of do while0 when we
c
Linuxkernel
Kernel
是否可以将 CFLAGS 设置为 Linux 内核模块 Makefile?
例如 常见设备模块的Makefile obj m jc o default MAKE C lib modules shell uname r build M shell pwd modules clean MAKE C lib module
makefile
Linuxkernel
linuxdevicedriver
vm.dirty_ratio 和 vm.dirty_background_ratio 之间的区别?
我目前正在试验中找到的内核参数 proc sys vm 尤其dirty ratio and dirty background ratio 内核文档对两者都有以下解释 脏背景比例 包含 以包含空闲页面的总可用内存的百分比表示 和可回收页 后台
Linux
performance
Linuxkernel
如何获取uinput创建的设备的名称(路径)
我已经成功设置了一个小程序来创建uinput questions tagged uinput我计划使用它来自动测试接收键盘输入事件的应用程序 我已关注both http thiemonge org getting started with
c
Linux
Linuxkernel
linuxdevicedriver
uinput
使用Linux虚拟鼠标驱动
我正在尝试实施一个虚拟鼠标驱动程序根据基本 Linux 设备驱动程序书 有一个用户空间应用程序 它生成坐标以及内核模块 See 虚拟鼠标驱动程序和用户空间应用程序代码 http www embeddedlinux org cn Essent
Linux
Linuxkernel
Mouse
MouseEvent
linuxdevicedriver
如何在 Linux 内核空间使用 ioctl()?
可以打电话吗ioctl来自 Linux 内核模块 谁能提供一个如何使用它的例子吗 您可以尝试拨打电话sys ioctl 如果内核是用以下命令编译的 则它会被导出CONFIG COMPAT 或者 如果您有设备驱动程序struct file o
c
Linuxkernel
如何编写需要内核源头文件的 BitBake 驱动程序配方?
介绍 我有一个do install我为驱动程序编写的 BitBake 配方中的任务 我在其中执行自定义install脚本 任务失败 因为安装脚本无法在其中找到内核源头文件
Linuxkernel
headerfiles
yocto
Bitbake
Openembedded
x86 平台中的 KVM 影子页表处理
据我了解 在没有硬件支持来宾虚拟到主机物理地址转换的处理器上 KVM 使用影子页表 当来宾操作系统修改其页表时 会构建和更新影子页表 硬件中有没有专门的指令 以x86为参考 来修改页表 除非有特殊说明 否则不会对VMM 造成陷阱 Linux
Linux
Linuxkernel
x86
virtualization
KVM
在执行期间访问.eh_frame数据
我正在尝试访问以下内容 eh frame正在运行的程序的一部分 具体来说 该程序是 Linux 内核 2 6 34 8 这 eh frame包含用于异常处理的有用数据 我想在内核代码内部使用它 该部分已经由以下人员编写gcc readelf
Kernel
Linuxkernel
c
glibc
ELF
dmesg 和 /var/log/kern.log 之间的区别
我正在修改kvm模块 并在内核代码中添加了printk语句 运行虚拟机后 printk为我提供了错误地址和有关客户操作系统的其他信息 我需要根据此信息生成统计信息 当我使用 dmesg 时 我只能看到错误地址 在内核空间中 即它们的地址高于
logging
Linuxkernel
printk
在内核模块中执行shell命令
是否可以在内核模块中执行shell命令 我知道我们可以在用户空间 C 代码中使用system子程序 我正在调试一个存在内存泄漏问题的内核模块 在无限循环中执行 insmod 和 rmmod module ko 后 8G RAM 的系统在几分
c
Linux
Linuxkernel
Driver
套接字对和一对无名管道有什么区别吗?
我不仅想知道用户端的差异 还想知道 Linux 内核实现中的差异 共同部分 管道是单向的 因此需要两个管道才能进行双向通信 而套接字对是双向的 管道始终是面向流的 而套接字对可以是面向数据报的 套接字对正常AF UNIX套接字 这意味着辅助
Sockets
Linuxkernel
pipe
调试严重的 SIGILL 崩溃:文本段损坏
我们的系统是基于 PowerPC 的运行 Linux 的嵌入式系统 我们遇到了随机的 SIGILL 崩溃 这种情况在各种应用程序中都会出现 崩溃的根本原因是将要执行的指令归零 这表明内存中的文本段已损坏 由于文本段是以只读方式加载的 因此应
c
Linux
Linuxkernel
memorycorruption
使用 bitbake 为 BBB 构建 .dtbo 覆盖
我使用内核 linux ti staging 4 14 和自定义设备树为我的 BBB 构建了 yocto 发行版 rocko 由于我需要将一个旧项目从 Debian 移植到 Yocto 因此我还需要在内核中启用 UIO 功能 这也可以正常工
Linuxkernel
yocto
beagleboneblack
Bitbake
devicetree
USB 端口速度 Linux [关闭]
Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何以编程方式确定运行 Linux 内核的嵌入式设备中的 USB 端口速度 你可以阅读 sys bus usb devices usb s
Linuxkernel
usb
embeddedlinux
使用 GCC 为 Linux 设备驱动程序编译 Intel AVX 内联
我在 corei7 上的 ubuntu 上运行 gcc 版本 4 8 2 从谷歌搜索中找到了有关 AVX 内在函数的信息 但我不确定这组内在函数是否可以用于 Linux 设备驱动程序并进行编译 如果可以的话 这里的任何人都可以告诉我 mak
gcc
Linuxkernel
linuxdevicedriver
SSE
avx
如何在Linux内核中启用CONFIG_PREEMPT选项?
我是 Linux 内核编程的新手 尝试在 x86 64 上使用旧内核 Linux 2 6 32 我想启用其中的 CONFIG PREEMPT 选项 但找不到有关如何执行此操作的信息 我可以使用我的首选选项编译新内核 但不知道在这种情况下我需
Linux
Linuxkernel
Kernel
Linux 内核线程没有地址空间
为什么Linux内核线程没有地址空间 对于任何要执行的任务 它都应该有一个内存区域 对吗 内核线程的文本和数据去了哪里 内核线程确实有一个地址空间 只是他们都有同一个 这并不妨碍它们各自拥有不同的堆栈 文本和数据放置在内核地址空间 由所有线
Multithreading
memory
Linuxkernel
posix_fadvise(WILLNEED) 会使 IO 变慢吗?
在运行 Linux 内核版本 2 6 18 194 26 1 el5 的 CentOS 5 5 机器上 我注意到 posix fadvise WILLNEED 使读取 60K 文件比常规 IO 慢了近 200 看起来实际的 fadvise
Linux
filesystems
operatingsystem
Linuxkernel
POSIX
syn队列和accept队列的混淆
在阅读TCP源码时 我发现一个困惑的事情 我知道 TCP 在 3 次握手中有两个队列 第一个队列存储服务器收到的连接SYN并发回ACK SYN 我们称之为同步队列 第二个队列存储3WHS成功并建立连接的连接 我们称之为接受队列 但在阅读代码
Linux
Sockets
TCP
Linuxkernel
handshake
«
1
2
3
4
5
6
...29
»