強制開啟BIOS中禁用的I OAT DCA 二

2021-08-24 21:26:47 字數 1240 閱讀 9180

上文提到開啟r410中i/oat dca特性, 是通過在使用者層控制.

還有一種可以直接修改核心dma i/oat 驅動可以做到. google搜尋到的 :)

首先開啟核心支援:

device drivers ---> dma engine support ---> intel i/oat dma support

新增修改暫存器函式, 詳細可看前篇.

// 修改cpu msr暫存器 static void dca_force_msr(void *dummy) #define intel_bridge_dcaen_offset 0x64 #define intel_bridge_dcaen_bit 6 // 修改pci配置暫存器 void dca_force(void) module_init(ioat_init_module); diff --git a/drivers/dma/ioat_dca.c b/drivers/dma/ioat_dca.c index c012a1e..3f45f78 100644 --- a/drivers/dma/ioat_dca.c +++ b/drivers/dma/ioat_dca.c @@ -88,6 +88,45 @@ static inline u16 dcaid_from_pcidev(struct pci_dev *pci) return (pci->bus->number << 8) | pci->devfn; } +static void dca_force_msr(void *dummy) + + +#define intel_bridge_dcaen_offset 0x64 +#define intel_bridge_dcaen_bit 6 + +void dca_force(void) +{ + struct pci_dev *pdev = null; + + /* enable dca in intel upstream bridges */ + for_each_pci_dev(pdev) { + if (pdev->hdr_type == pci_header_type_bridge + && pdev->vendor == pci_vendor_id_intel + && !pdev->bus->self) { + u32 val; + int ret; + + ret = pci_read_config_dword(pdev, intel_bridge_dcaen_offset, &val); + if (ret < 0) + continue; + if (!(val & (1

強制開啟BIOS中禁用的I OAT DCA 一

hardware platform dell poweredge r410 develop platform redhat el5 kernel version 2.6.29.5 gcc version 4.3.2 dell poweredge r410採用英特爾 至強 5500系列處理器.而至強5...

強制開啟BIOS中禁用的I OAT DCA 一

hardware platform dell poweredge r410 develop platform redhat el5 kernel version 2.6.29.5 gcc version 4.3.2 dell poweredge r410採用英特爾 至強 5500系列處理器.而至強5...

3 開啟bios的方式

ps 嘿嘿,順便說一哈,其實f1到f12都可以試試,還有就是del啊啥的,反正鍵盤上也只有那麼些鍵 1.一般的電腦進入bios方法 del鍵 esc鍵 f2鍵 2.筆記本 1 ibm 冷開機按f1,部分新型號可以在重新啟動時啟動按f1 2 hp 啟動和重新啟動時按f2 3 sony 啟動和重新啟動時...