本發(fā)明涉及一種用于PCIE虛擬化管理的方法,具體是指將物理PCIE設(shè)備虛擬成多個虛擬設(shè)備,每個虛擬設(shè)備與一個虛擬機相連的方法,屬于IT技術(shù)領(lǐng)域。
背景技術(shù):
與PCIE相關(guān)的虛擬化技術(shù)是指在一個處理器系統(tǒng)中運行多個虛擬化處理器系統(tǒng)的技術(shù),每個一個虛擬處理器都需要獨立的虛擬運行環(huán)境,包括CPU、內(nèi)存和外部設(shè)備。在處理器設(shè)置多個同樣的設(shè)備,不僅增加了系統(tǒng)的成本,而且增加了處理器系統(tǒng)的規(guī)模,從而造成了不必要的浪費。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于克服上述不足,提供一種用于PCIE虛擬化管理的方法,保證每一個虛擬功能能夠合理的分配請求序列號,降低系統(tǒng)處理數(shù)據(jù)的成本,提高數(shù)據(jù)處理的速度。
本發(fā)明的目的是這樣實現(xiàn)的:一種用于PCIE虛擬化管理的方法,所述方法包括以步驟:
一、初始化,獲取當(dāng)前整個系統(tǒng)鏈路的拓?fù)浣Y(jié)構(gòu)和總線號、設(shè)備號、功能號并存入PCIE的寄存器中;
二、分配新加入的第一個虛擬功能請求序列號,當(dāng)有物理功能需要進(jìn)行虛擬化時,為了給該物理功能下的每個虛擬功能分配一個獨立的請求序列號,首先對第一個新加入的虛擬功能進(jìn)行分配請求序列號,該虛擬功能的請求序列號通過在所屬物理功能的請求序列號基礎(chǔ)上加上一個偏移量,偏移量的值就是當(dāng)前已分配請求序列號的虛擬功能的總數(shù)值;
三、對需要進(jìn)行虛擬化的物理功能下的所有虛擬功能進(jìn)行請求序列號分配根據(jù)偏移量可以得到第一個虛擬功能的請求序列號,然后該物理功能下面的剩下虛擬功能的虛擬功能在第一個虛擬功能的請求序列號的基礎(chǔ)上依次加1,定義一個幅度值變量,幅度值表示需要增加的虛擬功能的值。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:本發(fā)明給出一個實現(xiàn)虛擬功能的請求序列號的分配方法,保證每個物理功能下面的虛擬功能都是具有不同的請求序列號,能夠根據(jù)請求序列號來直接完成于虛擬機之間的數(shù)據(jù)直接傳輸,從而降低系統(tǒng)處理數(shù)據(jù)的成本,提高數(shù)據(jù)處理的速度。
具體實施方式
本發(fā)明提供一種用于PCIE虛擬化管理的方法,所述方法包括以下步驟:
一、初始化,獲取當(dāng)前整個系統(tǒng)鏈路的拓?fù)浣Y(jié)構(gòu)和總線號、設(shè)備號、功能號并存入PCIE的寄存器中;
二、分配新加入的第一個虛擬功能請求序列號,當(dāng)有物理功能需要進(jìn)行虛擬化時,為了給該物理功能下的每個虛擬功能分配一個獨立的請求序列號,首先對第一個新加入的虛擬功能進(jìn)行分配請求序列號,該虛擬功能的請求序列號通過在所屬物理功能的請求序列號基礎(chǔ)上加上一個偏移量,偏移量的值就是當(dāng)前已分配請求序列號的虛擬功能的總數(shù)值;
三、對需要進(jìn)行虛擬化的物理功能下的所有虛擬功能進(jìn)行請求序列號分配根據(jù)偏移量可以得到第一個虛擬功能的請求序列號,然后該物理功能下面的剩下虛擬功能的虛擬功能在第一個虛擬功能的請求序列號的基礎(chǔ)上依次加1,定義一個幅度值變量,幅度值表示需要增加的虛擬功能的值。