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。不樂。