linux-kernel

    0熱度

    1回答

    我正在寫一個處理數據包時間戳的linux phy驅動程序。下半部分是計算時間戳並將此信息發送到內核網絡堆棧然後發送到用戶空間的過程。下半部分需要來自tasklet調用者擁有的skb(包)的一些信息。我很難將這個skb傳遞給takslet。 tasklet處理函數不會接受除unsigned long以外的任何輸入。我被困在這裏。以下是您瞭解的代碼片段 - static void tx_ts_task

    -1熱度

    1回答

    我想使用qemu和gdb調試Linux內核。問題在於gdb不會停在斷點處。我搜索了它,發現關閉kASLR可能會有幫助,因爲kASLR會混淆gdb。 - 在guest虛擬機上安裝該內核。 + - 在guest虛擬機上安裝該內核,通過在內核命令行中添加「nokaslr」到 來關閉KASLR。 現在我不知道這意味着什麼增加nokaslr到命令行,並做到這一點的方式。任何想法?

    0熱度

    2回答

    從導理解Linux內核第三版,章8.2.10,板噴漆 我們從第2章知道,相同的硬件高速緩存行映射的許多不同的塊內存。在這個 一章中,我們也看到相同大小的對象最終被存儲在緩存中相同的偏移處。 在相同的緩存行中,具有相同偏移量的對象在相對較高的概率下最終會映射到 。因此,高速緩存硬件可能浪費存儲器週期,將來自同一高速緩存行的兩個對象 來回傳送到不同的RAM位置,而其他高速緩存行未充分利用。 板坯分配器

    0熱度

    1回答

    啓用KASLR後,符號文件與實際符號位置之間會有偏移。 % cat /proc/kallsyms| grep '\<jiffies_64\>' ffffffff86805000 D jiffies_64 % objdump -t /usr/lib/debug/boot/vmlinux-4.13.0-1-amd64 | grep '\<jiffies_64\>' ffffffff81c0500

    0熱度

    1回答

    簡而言之,用戶空間應用程序可以訪問運行在內核模式下的設備驅動程序嗎?如果我想從I2C Linux字符驅動程序中讀取數據,可以使用基本的C可執行文件(無擴展名)來執行該操作,還是需要專門爲該任務開發內核模塊?如果一個基本的C應用程序可以訪問I2C字符驅動程序,那麼gcc makefile的外觀如何?

    0熱度

    1回答

    在Linux中,mmap可用於在進程的虛擬地址空間中創建映射。它的一個用例是處理非常大的文件。不幸的是,它只能創建一個已經連續開始的映射:它只接受一個offset和length。 我正在尋找解決方案將內存中的幾個段映射到一個連續的地址範圍。這個用戶可能是在用戶空間運行的NTFS驅動程序,該用戶空間想要爲實際上在磁盤上碎片化的文件提供連續的地址範圍。在我的理解中,對於在內核中運行的驅動程序,這是可能

    1熱度

    1回答

    我正在嘗試在我正在開發的嵌入式ARM FPGA系統中使用Xilinx中斷控制器驅動程序。 (https://github.com/torvalds/linux/blob/master/drivers/irqchip/irq-xilinx-intc.c) 在此驅動程序的到底是行: IRQCHIP_DECLARE(xilinx_intc_xps, "xlnx,xps-intc-1.00.a", xil

    2熱度

    1回答

    我在研究Linux Kernel中的代碼。特別是,Per-CPU variables。 我對following part的section有疑問。 #define __PCPU_ATTRS(sec) \ __percpu __attribute__((section(PER_CPU_BASE_SECTION sec))) \ PER_CPU_ATTRIBUTES 通

    0熱度

    2回答

    我怎樣才能獲得文件描述符標誌「的fd標誌」駐留在與任何打開的文件描述符相關聯的文件描述符表?我想知道手動或者至少是功能和結構,而不是使用fcntl函數或查看/ proc中的條目進一步研究編寫代碼。 下圖顯示給定進程的文件描述符表有一個標誌字段和一個文件指針字段。我如何編程訪問這些字段?

    0熱度

    3回答

    假設我在內核2.6.32-431中構建了一個模塊,但是我在內核2.6.32-432中成功加載了它。該模塊可以正常工作嗎?還是對系統有害?