xnu

    1热度

    1回答

    我正在研究内核扩展 - 设备驱动程序 - 并严重依赖来自kprintf()的诊断消息。 $主机上的$ fwkpfv将显示来自目标上的kprintf()的日志消息,但它需要boot-args中的“debug = 0x8”。 # nvram boot-args="debug=0x14e kdp_match_name=firewire" # nvram -p | grep boot-args boo

    1热度

    1回答

    谷歌没有收获。我无法在内核源代码中搜索 。 我使用开源的IOProxyVideoFamily来实现虚拟帧缓冲区。 我刚刚用OSDynamicCast替换了C风格演员到IODeviceMemory, ,因为我怀疑演员阵容会失败。如果是的话,我会知道如何修复 它。 但我无法找到包含它的KPI库。 IODeviceMemory从10.0开始已经在操作系统中有 ,并且是PCI卡驱动程序所必需的。 $ ke

    1热度

    1回答

    在内核空间中进行调试时,我有时希望根据线程组中的回溯帧搜索线程,如特定任务上的所有线程。 例如,获取kernel_task ID (lldb) showalltasks task vm_map ...command 0xffffff800d828550 0xffffff800a1038d8 ...kernel_task 转储全部线程属于kernel_task (ll

    2热度

    1回答

    以下我的问题here,我在调用文件mmap时将我的研究扩展到了从文件到内存的实际读取/写入,反之亦然。不同的读写系统调用,MMAP的情况是不同的,因为它可以在下面的回溯显示: (lldb) bt * thread #3, name = '0xffffff801a6c24c0', queue = '0x0', stop reason = step in * frame #0: 0xffffff8

    6热度

    2回答

    发送由于IOKit命令我使用由于IOKit框架与使用从用户空间客户IOConnectCallMethod和IOExternalMethodDispatch驾驶员侧我的驱动程序通信。 到目前为止我能够发送固定长度指令,现在我想发送字符的不同大小的阵列(即FULLPATH)。 然而,似乎是,驱动器和所述的客户端侧命令长度耦合,这意味着checkStructureInputSize从IOExternal

    1热度

    1回答

    我一直在研究POSIX系统程序,但我遇到了无法访问sigqueue的问题。达尔文/ XNU有另一种发送信号到另一个过程的方式吗?我见过杀(),但没有别的。

    0热度

    1回答

    我正试图在Mac OS X上只使用syscalls编写一个简单的应用程序,没有标准库。 的main.c #define PROT_READ 0x1 #define PROT_WRITE 0x2 #define MAP_ANONYMOUS 0x20 #define MAP_PRIVATE 0x02 #define PAGE_SIZE 4096 #define NULL 0 #def

    1热度

    1回答

    我想用它来调试内核驱动程序,但我会尽量避免将日志记录添加到所有功能。 OSReportWithBacktrace似乎工作,但我需要符号。

    1热度

    1回答

    今天刚刚发布。它现在一直在运行良好。 当正常工作时,驱动器将匹配USB设备的 产品和供应商的ID,然后将加载和操作。 这是一个USB视频适配器,所以在正常情况下,人们看到桌面上的模糊图像 直到登录,那么你 工作正常获得第二个屏幕,显示首选项。 但是就在今天,如果加密狗连接在启动时,驱动程序不加载并且USB连接的显示器不显示图像。 如果我拔掉加密狗然后再插上,它的工作原理。 如果在引导过程中未安装加

    1热度

    1回答

    有很多页面解释它,但我找不到它。我发现的许多文章只适用于El Capitan和旧系统。 我现在无法使用fwkpfv,因为我没有正确的加密狗。我的客户正在为我购买一台支持Firewire的旧MacBook。 我的内核扩展让我的盒子惊慌失措。很奇怪,如果我的同事建立我的扩展,它的工作就好了。我仍然fl。不乐。