草庐IT

linux - Linux 内核中的主要页面错误处理程序

我想知道主要页面错误处理程序在哪里。我编写了一个算法来最小化内核中的页面错误。因此,每当发生页面错误时,我都需要记录一些东西。我目前在arch/x86/mm/fault_32.c中的do_page_fault(...)处记录了一个页面错误但是,似乎次要页面错误和主要页面错误都会转到do_page_fault(...)...小页面错误一直在发生,并扰乱了算法。我想我只想在发生重大page_fault时记录一些东西。那么,内核黑客们,请问我应该把我的代码放在哪里?哪个文件和哪个函数。顺便说一句,我正在破解内核2.6.24非常感谢!阿尔弗雷德 最佳答案

linux - 在用户模式下读取 kallsyms

我正在编写有关低级内容的代码。我需要知道内核符号地址才能编写可靠的代码。所以我在Ubuntukernel-3.0.19的用户模式下尝试读取kallsyms。这是用户模式下的kallsyms输出。...00000000r__ksymtab_prepare_kernel_cred00000000r__kcrctab_prepare_kernel_cred00000000r__kstrtab_prepare_kernel_cred...我如何在用户模式下解决这个问题。当我root时,一切正常,但这不是我需要的。谢谢。 最佳答案 /proc

linux - 在用户模式下读取 kallsyms

我正在编写有关低级内容的代码。我需要知道内核符号地址才能编写可靠的代码。所以我在Ubuntukernel-3.0.19的用户模式下尝试读取kallsyms。这是用户模式下的kallsyms输出。...00000000r__ksymtab_prepare_kernel_cred00000000r__kcrctab_prepare_kernel_cred00000000r__kstrtab_prepare_kernel_cred...我如何在用户模式下解决这个问题。当我root时,一切正常,但这不是我需要的。谢谢。 最佳答案 /proc

c - 有什么方法可以从 Linux 用户空间向 SD 卡发送命令?

我有一个Debian7.0Linux3.2嵌入式ARMTIAM335x系统。这是我们开发的定制板,但是SD卡部分至少和开发板是一样的。我想向卡发出一些特定于供应商的SD卡命令,即使用CMD56读取一些SMART数据。有没有办法向SD卡Controller发送命令并从用户空间读取响应? 最佳答案 你的司机是omap_hsmmc根据http://processors.wiki.ti.com/index.php/AM335x_MMC/SD_Driver%27s_Guide一些信息也在https://www.kernel.org/doc/D

c - 有什么方法可以从 Linux 用户空间向 SD 卡发送命令?

我有一个Debian7.0Linux3.2嵌入式ARMTIAM335x系统。这是我们开发的定制板,但是SD卡部分至少和开发板是一样的。我想向卡发出一些特定于供应商的SD卡命令,即使用CMD56读取一些SMART数据。有没有办法向SD卡Controller发送命令并从用户空间读取响应? 最佳答案 你的司机是omap_hsmmc根据http://processors.wiki.ti.com/index.php/AM335x_MMC/SD_Driver%27s_Guide一些信息也在https://www.kernel.org/doc/D

linux - 理解/boot/config文件

在/boot/config-$kernel_version中,我看到如下内容:CONFIG_X86_TSC=yCONFIG_CAN_TSCAN1=m现在,我认为y代表yes,这意味着该选项已设置。但是m呢? 最佳答案 Y=Moduleiscompileddirectlyinkernel.注意:一些驱动程序应该在内核功能中一直准备就绪,没有它们系统就不能像Unixdomainsockets(CONFIG_UNIX)那样运行,它应该是YN=Don'tcompilemoduleinkernel.donothing.注意:要不要你自己选择。

linux - 理解/boot/config文件

在/boot/config-$kernel_version中,我看到如下内容:CONFIG_X86_TSC=yCONFIG_CAN_TSCAN1=m现在,我认为y代表yes,这意味着该选项已设置。但是m呢? 最佳答案 Y=Moduleiscompileddirectlyinkernel.注意:一些驱动程序应该在内核功能中一直准备就绪,没有它们系统就不能像Unixdomainsockets(CONFIG_UNIX)那样运行,它应该是YN=Don'tcompilemoduleinkernel.donothing.注意:要不要你自己选择。

c - 内核模块没有找到调试符号

在我加载linux内核模块之后user@c4:$insmodmmaptest.ko我可以验证它是否已加载user@c4:$cat/proc/modulesmmaptest127270-Live0x0000000000000000(OF)但所有段都以0x00地址列出。user@c4$:$systool-vmmmaptestModule="mmaptest"Attributes:coresize="12727"initsize="0"initstate="live"refcnt="0"srcversion="EABEF6F90BEAAD0D15B576A"taint="OF"uevent=

c - 内核模块没有找到调试符号

在我加载linux内核模块之后user@c4:$insmodmmaptest.ko我可以验证它是否已加载user@c4:$cat/proc/modulesmmaptest127270-Live0x0000000000000000(OF)但所有段都以0x00地址列出。user@c4$:$systool-vmmmaptestModule="mmaptest"Attributes:coresize="12727"initsize="0"initstate="live"refcnt="0"srcversion="EABEF6F90BEAAD0D15B576A"taint="OF"uevent=

linux - 直接访问 linux framebuffer - copyarea

我想在嵌入式linux应用程序中的帧缓冲区上快速移动一个矩形。我发现函数cfb_copyarea可能很有用。但是我在/dev/fb设备上找不到任何ioctl来调用该函数。还是可以直接调用这个函数? 最佳答案 这是初始化和关闭FrameBuffer的代码classCFrameBuffer{void*m_FrameBuffer;structfb_fix_screeninfom_FixInfo;structfb_var_screeninfom_VarInfo;intm_FBFD;intInitFB(){intiFrameBufferSiz