專利名稱:網(wǎng)卡在mips架構(gòu)服務(wù)器中的實(shí)現(xiàn)方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉 及服務(wù)器領(lǐng)域,更具體地,涉及網(wǎng)卡在每秒百萬(wàn)條指令(millioninstructions per second, MIPS)架構(gòu)服務(wù)器中的實(shí)現(xiàn)方法及系統(tǒng)。
背景技術(shù):
在目前的市場(chǎng)上,大多數(shù)CPU選用的都是遵循X86架構(gòu)的Intel或AMD的服務(wù)器,而網(wǎng)卡應(yīng)用也都是基于X86CPU平臺(tái)的,諸如Intel 82576網(wǎng)卡的網(wǎng)卡也是如此。但是,由于MIPS架構(gòu)服務(wù)器是基于MIPS平臺(tái)的,而這些網(wǎng)卡都是在X86平臺(tái)有成功的應(yīng)用,所以需要通過(guò)修改使MIPS架構(gòu)服務(wù)器支持這些網(wǎng)卡。針對(duì)相關(guān)技術(shù)中網(wǎng)卡無(wú)法在MIPS架構(gòu)服務(wù)器(諸如龍騰3600刀片服務(wù)器)上應(yīng)用的問(wèn)題,目前尚未提出有效的解決方案。
發(fā)明內(nèi)容
針對(duì)相關(guān)技術(shù)中的問(wèn)題,本發(fā)明提出了網(wǎng)卡在MIPS架構(gòu)服務(wù)器中的實(shí)現(xiàn)方法及系統(tǒng),能夠使基于X86平臺(tái)的網(wǎng)卡在MIPS架構(gòu)服務(wù)器上正常工作。本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的根據(jù)本發(fā)明的一個(gè)方面,提供了一種網(wǎng)卡在MIPS架構(gòu)服務(wù)器中的實(shí)現(xiàn)方法。該方法包括在基本輸入輸出系統(tǒng)(basic input/output system,BIOS)中識(shí)別網(wǎng)卡;在內(nèi)核下驅(qū)動(dòng)網(wǎng)卡;以及通過(guò)使用中斷控制器在內(nèi)核中對(duì)網(wǎng)卡進(jìn)行中斷分配。其中,在識(shí)別網(wǎng)卡之前,該網(wǎng)卡連接至PCI-E 4X鏈路。此外,驅(qū)動(dòng)網(wǎng)卡包括找到網(wǎng)卡的開源驅(qū)動(dòng)并將其編譯到內(nèi)核中,從而驅(qū)動(dòng)網(wǎng)卡。優(yōu)選地,中斷控制器為8259中斷控制器。優(yōu)選地,通過(guò)使用中斷控制器在內(nèi)核中對(duì)網(wǎng)卡進(jìn)行中斷分配包括根據(jù)網(wǎng)卡的外設(shè)組件互連標(biāo)準(zhǔn)(peripheral component interconnection, PCI)配置寄存器的中斷引腳(INTERRUPT PIN)分別對(duì)多個(gè)網(wǎng)口設(shè)置中斷號(hào)。優(yōu)選地,網(wǎng)卡是Intel 82576網(wǎng)卡。優(yōu)選地,MIPS架構(gòu)服務(wù)器是龍騰3600刀片服務(wù)器。根據(jù)本發(fā)明的另一個(gè)方面,提供了一種網(wǎng)卡在MIPS架構(gòu)服務(wù)器中的實(shí)現(xiàn)系統(tǒng)。該系統(tǒng)包括識(shí)別模塊,用于在BIOS中識(shí)別網(wǎng)卡;驅(qū)動(dòng)模塊,用于在識(shí)別網(wǎng)卡之后在內(nèi)核下驅(qū)動(dòng)網(wǎng)卡;以及中斷分配模塊,用于通過(guò)使用中斷控制器在內(nèi)核中對(duì)網(wǎng)卡進(jìn)行中斷分配。優(yōu)選地,網(wǎng)卡是Intel 82576網(wǎng)卡。優(yōu)選地,MIPS架構(gòu)服務(wù)器是龍騰3600刀片服務(wù)器。本發(fā)明通過(guò)在基本輸入輸出系統(tǒng)中識(shí)別網(wǎng)卡,并在內(nèi)核下驅(qū)動(dòng)網(wǎng)卡,最后通過(guò)使用中斷控制器在內(nèi)核中對(duì)網(wǎng)卡進(jìn)行中斷分配的方法,能夠使應(yīng)用于X86架構(gòu)的網(wǎng)卡在MIPS架構(gòu)服務(wù)器上正常工作。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I是根據(jù)本發(fā)明實(shí)施例的網(wǎng)卡在MIPS架構(gòu)服務(wù)器中的實(shí)現(xiàn)方法的流程圖;圖2是根據(jù)本發(fā)明實(shí)施例的網(wǎng)卡在MIPS架構(gòu)服務(wù)器中的實(shí)現(xiàn)系統(tǒng)的框圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。根據(jù)本發(fā)明的實(shí)施例,提供了一種網(wǎng)卡在MIPS架構(gòu)服務(wù)器中的實(shí)現(xiàn)方法。如圖I所示,根據(jù)本發(fā)明實(shí)施例的網(wǎng)卡在MIPS架構(gòu)服務(wù)器中的實(shí)現(xiàn)方法包括步驟S102,在BIOS中識(shí)別網(wǎng)卡;步驟S104,在內(nèi)核下驅(qū)動(dòng)網(wǎng)卡;步驟S106,通過(guò)使用中斷控制器在內(nèi)核中對(duì)網(wǎng)卡進(jìn)行中斷分配。下面以Intel 82576網(wǎng)卡為例,詳細(xì)描述本發(fā)明的方法。然而,應(yīng)該理解,本發(fā)明不限于Intel 82576網(wǎng)卡,本領(lǐng)域的技術(shù)人員可以將該方法應(yīng)用于其他類似網(wǎng)卡。首先,Intel 82576網(wǎng)卡連接至PCI-E 4X鏈路,并在BIOS里識(shí)別這個(gè)網(wǎng)卡。在識(shí)別之后,需要驅(qū)動(dòng)該網(wǎng)卡。具體地,需要找到這個(gè)設(shè)備的開源驅(qū)動(dòng),編譯進(jìn)內(nèi)核,然后在內(nèi)核下就能驅(qū)動(dòng)這個(gè)設(shè)備。接著,通過(guò)使用中斷控制器在內(nèi)核中對(duì)網(wǎng)卡進(jìn)行中斷分配,這樣網(wǎng)卡才能正常工作。由于網(wǎng)卡Intel 82576是一個(gè)多功能設(shè)備,單芯片、雙端口,所以在不支持高級(jí)配置與電源接口(advanced configuration and power interface,ACPI)的龍騰MIPS平臺(tái)中,只能用傳統(tǒng)的中斷控制器(諸如8259中斷控制器)。由于該中斷控制器是PCI設(shè)備,也就是說(shuō)采用傳統(tǒng)的PCI中斷,所以用INTA、INTB、INTC、INTD四個(gè)中斷線來(lái)實(shí)現(xiàn)中斷路由。這里要使2個(gè)網(wǎng)口都能應(yīng)用,需要分別設(shè)置中斷號(hào),其中根據(jù)設(shè)備的PCI配置寄存器的INTERRUPTPIN來(lái)分配中斷號(hào)。由此,設(shè)備的FUNC O是MACO,中斷路由到INTA ;設(shè)備的FUNCl是MACl,中斷路由到INTB。這里,MIPS架構(gòu)服務(wù)器可以為龍騰3600刀片服務(wù)器,但本領(lǐng)域的技術(shù)人員應(yīng)該理解,還可以為其他MIPS架構(gòu)服務(wù)器。實(shí)現(xiàn)該方法的具體代碼如下//for INTEL 82576
if((dcv-> vendor == 0x8086)
&& (dev->dcvicc == 0xl()c7)
&&(pin == I)) { //NB :NIC irq fixup dev->irq = BCM ETHO IRQ NUM;(void) pci—write—conrig—byte(dcv, PCI—INTERRUPT—LINE,dev->irq);
printk("fixup NB integrated network card interrupt routing 0x4d0=%x\n", i n w (() x4 d 0));
return dev->irq;
}
,"for IN I EL 82576 if ((dcv->vcndor == 0x8086)
&& (dev->device = Ox 10e7)
&&(pin == 2)) { //NB :NIC irq fixup dev->irq = B€M—ETH1」RQ—NUM;
(void) pti write—coni'ig byte(dcv, PCI—INTERRUPT—LINE,
dev->irq);
printk("fixup NB integrated network card interrupt routing Ox4dO=%x\nM,inw(()x4dO));
return dev->irq;
}根據(jù)本發(fā)明的實(shí)施例,還提供了一種網(wǎng)卡在MIPS架構(gòu)服務(wù)器中的實(shí)現(xiàn)系統(tǒng)。如圖2所示,根據(jù)本發(fā)明的網(wǎng)卡在MIPS架構(gòu)服務(wù)器中的實(shí)現(xiàn)系統(tǒng)包括識(shí)別模塊22,用于在基本輸入輸出系統(tǒng)中識(shí)別網(wǎng)卡;驅(qū)動(dòng)模塊24,用于在識(shí)別網(wǎng)卡之后在內(nèi)核下驅(qū)動(dòng)網(wǎng)卡;中斷分配模塊26,用于通過(guò)使用中斷控制器在內(nèi)核中對(duì)網(wǎng)卡進(jìn)行中斷分配。其中,網(wǎng)卡可以為Intel 82576網(wǎng)卡,MIPS架構(gòu)服務(wù)器可以為龍騰3600刀片服務(wù)器,但應(yīng)該明白,本領(lǐng)域的技術(shù)人員還可以將該系統(tǒng)應(yīng)用于其他網(wǎng)卡和MIPS架構(gòu)服務(wù)器。綜上所述,借助于本發(fā)明的上述技術(shù)方案,能夠使得基于X86架構(gòu)的網(wǎng)卡在MIPS架構(gòu)服務(wù)器上正常工作。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換 、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種網(wǎng)卡在MIPS架構(gòu)服務(wù)器中的實(shí)現(xiàn)方法,其特征在于,所述方法包括以下步驟 在基本輸入輸出系統(tǒng)中識(shí)別所述網(wǎng)卡; 在內(nèi)核下驅(qū)動(dòng)所述網(wǎng)卡;以及 通過(guò)使用中斷控制器在所述內(nèi)核中對(duì)所述網(wǎng)卡進(jìn)行中斷分配。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,在識(shí)別所述網(wǎng)卡之前,所述網(wǎng)卡連接至PCI-E 4X 鏈路。
3.根據(jù)權(quán)利要求I所述的方法,其特征在于,驅(qū)動(dòng)所述網(wǎng)卡包括找到所述網(wǎng)卡的開源驅(qū)動(dòng)并將其編譯到所述內(nèi)核中,從而驅(qū)動(dòng)所述網(wǎng)卡。
4.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述中斷控制器為8259中斷控制器。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,通過(guò)使用中斷控制器在所述內(nèi)核中對(duì)所述網(wǎng)卡進(jìn)行中斷分配包括 根據(jù)所述網(wǎng)卡的PCI配置寄存器的中斷引腳分別對(duì)多個(gè)網(wǎng)口設(shè)置中斷號(hào)。
6.根據(jù)權(quán)利要求I至5中任一項(xiàng)所述的方法,其特征在于,所述網(wǎng)卡是Intel82576網(wǎng)卡。
7.根據(jù)權(quán)利要求I至5中任一項(xiàng)所述的方法,其特征在于,所述MIPS架構(gòu)服務(wù)器是龍騰3600刀片服務(wù)器。
8.—種網(wǎng)卡在MIPS架構(gòu)服務(wù)器中的實(shí)現(xiàn)系統(tǒng),其特征在于,所述系統(tǒng)包括 識(shí)別模塊,用于在基本輸入輸出系統(tǒng)中識(shí)別所述網(wǎng)卡; 驅(qū)動(dòng)模塊,用于在識(shí)別所述網(wǎng)卡之后在內(nèi)核下驅(qū)動(dòng)所述網(wǎng)卡;以及 中斷分配模塊,用于通過(guò)使用中斷控制器在所述內(nèi)核中對(duì)所述網(wǎng)卡進(jìn)行中斷分配。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述網(wǎng)卡是Intel82576網(wǎng)卡。
10.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述MIPS架構(gòu)服務(wù)器是龍騰3600刀片服務(wù)器。
全文摘要
本發(fā)明公開了一種網(wǎng)卡在MIPS架構(gòu)服務(wù)器中的實(shí)現(xiàn)方法及系統(tǒng),其中,該方法包括在BIOS中識(shí)別網(wǎng)卡;在內(nèi)核下驅(qū)動(dòng)網(wǎng)卡;以及通過(guò)使用中斷控制器在內(nèi)核中對(duì)網(wǎng)卡進(jìn)行中斷分配。通過(guò)本發(fā)明的方法和系統(tǒng),能夠使網(wǎng)卡在MIPS架構(gòu)服務(wù)器上正常工作。
文檔編號(hào)G06F9/445GK102779052SQ20121019985
公開日2012年11月14日 申請(qǐng)日期2012年6月14日 優(yōu)先權(quán)日2012年6月14日
發(fā)明者尹寧寧, 折星星, 李豐旺, 李永成, 沙超群, 王衛(wèi)鋼, 邵宗有, 鄭臣明 申請(qǐng)人:曙光信息產(chǎn)業(yè)(北京)有限公司