在linux-6.15.68中,在Documentation/devicetree/bindings/pci/rockchip-pcie-ep.txt中,我看到了这些解释。 (请看标记线。) 在示例 dts 中,“max-functions = /bins/ 8 <8>;”是什么意思 ...
在linux-6.15.68中,在Documentation/devicetree/bindings/pci/rockchip-pcie-ep.txt中,我看到了这些解释。 (请看标记线。) 在示例 dts 中,“max-functions = /bins/ 8 <8>;”是什么意思 ...
我不明白设备树信息是如何在特定的驱动程序中使用的。 这是来自 linux-6.15.68 drivers/pci/controller/dwc/pcie-designware-plat.c 的代码片段。 因此,kernel 在为平台设备运行此探测器 function 时解析设备树(连接到 stru ...
例如,通过命令行获取发行版名称(即Ubuntu、Red Hat Enterprise Linux )非常容易 - 可以从/proc/version或lsb_release -a或uname -a或/etc/*-release获取信息,但我的问题是不同的。 我想在 kernel 模块中获取分发名称,以 ...
我有一个 ST7580 电力线通信调制解调器,它连接到运行 Debian Linux、kernel v4.19 的 BeagleBone Black 设备。 我正在尝试使用基于某些示例的自定义串行驱动程序(使用 SERDEV 模型)与调制解调器通信。 我将其编译为一个名为st7580km.ko的 k ...
在 linux-5.15.68 源代码树中,我试图搜索 function 'pci_write_config_dword' 的定义,这是在调用 'pci_bus_write_config_dword'。 因此,使用 grep,我搜索了“pci_bus_write_config_dword”的定义, ...
我想在 linux (5.15.68) 中测试 cma-allocator。 所以我像这样在 /reserved-memory 节点中添加了 linux,cma 节点。 顺便说一句,这个测试是在 qemu arm64 机器上完成的,虚拟机中只有 1GB ram(从 0x80000000 ~ 0xb ...
我是不是把事情搞得太复杂了,或者这实际上是最简单的方法吗? 我需要一个软件,它允许我强制系统上的任何给定进程使用特定的 GPU。该软件应该能够强制进程在执行中切换 GPU(是的,我知道这会导致很多的问题,这是我正在做的一些实验的一部分,希望能做一些聪明的事情)(Linux btw) 制作一个允许进 ...
Linux Kernel 文档说 Linux Kernel 构建的基本包。 https://docs.kernel.org/process/bhanges.html 有很多包要安装! 我想一次安装或通过几个步骤安装。 有办法做到这一点? 或者我应该手动安装和检查版本? ...
我写了一个linux驱动程序。 主要代码是: 我点击了命令: 主要输出是: 为什么输出 %p 32ba0e06 和输出 %x eef1ff1c 不同? ...
我有多个具有不同屏幕尺寸(4"、7"、12" 等)的板。在启动期间,我需要在 Linux Kernel 中的多个位置使用此信息。我们可以通过读取值来了解设备屏幕尺寸在两条输入线上。我不想每次想知道设备屏幕尺寸时都读取这些行。我想在开头(可能在板文件中)读取这些行并将其存储在全局变量中.在我需要屏幕大 ...
我遇到过两个驱动程序(driver1 和 driver2)使用module_init()向 kernel 注册的情况。 driver1 正在配置芯片,driver2 正在访问该芯片,因此必须在 driver2 的module_init() 调用之前调用 driver1 的 module_init( ...
我想找到__bad_copy_from和__bad_copy_to的源代码,但我似乎找不到。 我该如何分析这段代码? 来自thread_info.h :extern void __compiletime_error("copy source size is too small") __bad_co ...
我正在使用带有 Allwinner H6 ARM CPU 的 Orange Pi3 LTS。 我现在正在为 Rx 和 Tx 编写带有 DMA 的 UART 驱动程序。 我使用 kmalloc() 调用分配了物理 RAM 内存,并获得了分配内存的物理和逻辑地址。 所以,我知道处理器中的物理地址和 Li ...
我想在我的代码中监控 HDMI 电缆 state。 当电缆连接和断开连接时,有一个文件会发生变化。$cat /sys/devices/soc0/soc/20e0000.hdmi_video/cable_state plugin $cat /sys/devices/soc0/soc/20e0000. ...
我正在研究一个 Linux 文件系统驱动程序,我已经掌握了生成超级块、创建 inode 和 dentry 并让它们处理读写的窍门。 不过现在,我希望驱动程序能够动态地向用户显示新文件。 基本上,我的问题是:我该怎么做? 比方说,举一个愚蠢的例子,每次用户从文件中读取时,我们都会创建一个新文件。 直觉 ...
我在此处的文档中阅读了有关pr_cont()的信息,但仍不清楚。 该文档说它: 在同一行中继续上一条日志消息。 正如预期的那样,对于以下代码,我得到以下 output。 OUTPUT: 但是这里的“上一条消息”的scope是什么? 它会 append 到它前面的任何 dmesg 日志,无论以前的 ...
我正在编写一个 Linux 文件系统驱动程序,并在教程中找到了这段代码。 从那里,我遇到了以前代码的修改版本,它可以在 3.x 内核上编译。 然而,文件系统 API 似乎又发生了变化,其中一个函数( inode_init_owner )采用了一个新参数。 这个 function(在linux/fs. ...
我正在尝试修改和编译usbmouse.c 编译时说 function usb_maxpackets需要 3 arguments 但我从 torvald git 复制的代码只传递 2 arguments 到这个 function 代码可以在这里找到: https://github.com/torval ...
我正在尝试在 Toradex Colibry i.MX7D 处理器上使用 PCF85063A RTC 设备。 使用的设置: Colibri iMX7D 1 GB V1.1A Kernel 5.4.161-5.6.0-devel+git.0f0011824921 为此,我创建了一个自己的 DTS ...
我使用 libfdt,我很难从保留的 memory 区域节点(叶)中获取正确的地址单元/大小单元值到我的设备树中。 fdt_address_cells 返回 0x2 并且 fdt_size_cells 为“some-block”返回 0x1,即使“address-cells”/“size-cel ...