專利名稱::修改邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中的虛擬適配器資源的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明總體來(lái)說(shuō)涉及主機(jī)和輸入/輸出(I/O)適配器之間的通信協(xié)議。具體地說(shuō),本發(fā)明提供一種機(jī)制,通過(guò)該機(jī)制,單個(gè)物理I/O適配器(例如,PCI、PCI-X或者PCI-E適配器)可以修改與駐留于所述物理適配器中的一個(gè)或多個(gè)虛擬適配器相關(guān)的資源。
背景技術(shù):
:虛擬化就是為真實(shí)資源產(chǎn)生替代物。替代物與其真實(shí)的對(duì)等物具有相同的功能和外部接口,但是在諸如尺寸、性能和成本之類的屬性上不同。這些替代物是虛擬資源,而且它們的用戶通常不知道替代物的存在。服務(wù)器使用兩種基本方法來(lái)對(duì)系統(tǒng)資源進(jìn)行虛擬化分區(qū)和邏輯分區(qū)(LPAR)管理器。分區(qū)產(chǎn)生虛擬服務(wù)器,作為物理服務(wù)器資源的一部分,通常在以粗粒的(例如,物理)分配單元(例如,整個(gè)處理器及其關(guān)聯(lián)內(nèi)存和I/0適配器).LPAR管理器是軟件或者固件元件,其能夠?qū)⑺械姆?wù)器資源細(xì)粒度地(例如,以單個(gè)物理資源的小部分)虛擬化。在常規(guī)分區(qū)數(shù)據(jù)處理系統(tǒng)中,支持虛擬化的服務(wù)器具有兩種選擇方案用于處理I/O。第一種選擇不允許在虛擬服務(wù)器之間共享單個(gè)物理I/O適配器。第二種選擇是在LPAR管理器或另一個(gè)中介物中增加功能,從而提供允許多個(gè)操作系統(tǒng)共享單個(gè)物理適配器所必要的隔離。第一種選擇存在幾個(gè)問(wèn)題。一個(gè)突出的問(wèn)題是,昂貴的適配器不能在虛擬服務(wù)器之間共享。如果虛擬服務(wù)器只需要使用昂貴的適配器的一部分,那么整個(gè)適配器將專門用于這個(gè)服務(wù)器。隨著在物理服務(wù)器上的虛擬服務(wù)器的數(shù)目增加,這樣導(dǎo)致適配器的利用不足,并且導(dǎo)致更昂貴的解決方案,因?yàn)槊總€(gè)虛擬服務(wù)器需要專門用于其上的至少一個(gè)且潛在很多的物理適配器。對(duì)于支持許多虛擬服務(wù)器的物理服務(wù)器,這種選擇的另一個(gè)突出的問(wèn)題是,其需要多個(gè)適配器插槽,其中,所有的附屬硬件(例如,芯片、連接器、線纜等)要求把這些適配器連接到物理服務(wù)器和下游基礎(chǔ)設(shè)施(例如,線纜、交換機(jī)、路由器),以將附加的主機(jī)適配器與目標(biāo)連接。盡管第二種選擇提供在虛擬服務(wù)器之間共享適配器的機(jī)制,但是該機(jī)制必須在每個(gè)I/0事務(wù)中被調(diào)用和執(zhí)行。由LPAR管理器或其它中介物在每個(gè)I/O事務(wù)中調(diào)用和執(zhí)行所述共享機(jī)制會(huì)降低性能。還會(huì)導(dǎo)致更昂貴的解決方案,因?yàn)榭蛻舯仨氋?gòu)買更多的硬件,以便補(bǔ)償用來(lái)實(shí)現(xiàn)所述共享機(jī)制的周期,或者,如果共享機(jī)制卸栽到了中介物中,則用來(lái)補(bǔ)償所述中介物硬件。有益的是具有改進(jìn)的方法、設(shè)備和計(jì)算機(jī)指令,用來(lái)直接修改與駐留于物理適配器(例如,PCI、PCI-X或PCI-E適配器)中的一個(gè)或多個(gè)虛擬適配器相關(guān)聯(lián)的資源。此外,有益的是使所述機(jī)制應(yīng)用于支持內(nèi)存映射的1/0接口的適配器,例如以太網(wǎng)NIC(網(wǎng)絡(luò)接口控制器)、FC(光纖通道)、HBA(主機(jī)總線適配器)、pSCSI(并行SCSI)、HBA、InfiniBand、TCP/IP減負(fù)引擎、支持RDMA(遠(yuǎn)程直接內(nèi)存存取)的NIC(網(wǎng)絡(luò)接口控制器)、iSCSI適配器、iSER(用于RDMA的iSCSI擴(kuò)展)等等。
發(fā)明內(nèi)容本發(fā)明提供用于直接修改與駐留于物理適配器(例如,PCI、PCI-X或者PCI-E適配器)內(nèi)的一個(gè)或者多個(gè)虛擬適配器相關(guān)聯(lián)的資源的方法、計(jì)算機(jī)程序產(chǎn)品和分布數(shù)據(jù)處理系統(tǒng)。具體來(lái)i兌,本發(fā)明涉及用于共享常規(guī)的PCI(外圍部件互連)I/O適配器、PCI-XI/O適配器、PCI-ExpressI/O適配器、以及(一般來(lái)說(shuō))使用內(nèi)存映射I/O接口用于主機(jī)至適配器通信的任何i/o適配器,提供一機(jī)制,以便直接修改與駐留于物理適配器(例如,PCI、PCI-X或PCI-E適配器)中的一個(gè)或者多個(gè)虛擬適配器相關(guān)聯(lián)的資源。另外,每一個(gè)虛擬適配器具有一組相關(guān)的主機(jī)側(cè)資源(例如,內(nèi)存地址和中斷等級(jí))和適配器側(cè)資源(例如,適配器內(nèi)存地址和處理隊(duì)列),并且每一個(gè)虛擬適配器被隔離訪問(wèn)屬于另一虛擬適配器或者物理適配器的主機(jī)側(cè)資源和適配器資源。現(xiàn)在僅僅以舉例的方式參照附圖描述本發(fā)明,其中圖l是根據(jù)本發(fā)明的優(yōu)選實(shí)施例示出的分布計(jì)算機(jī)系統(tǒng)的視圖;圖2是根據(jù)本發(fā)明的優(yōu)選實(shí)施例的小主機(jī)處理器節(jié)點(diǎn)的功能框圖;圖3是根據(jù)本發(fā)明的優(yōu)選實(shí)施例的小集成主機(jī)處理器節(jié)點(diǎn)的功能框圖;圖4是根據(jù)本發(fā)明的優(yōu)選實(shí)施例的大主機(jī)處理器節(jié)點(diǎn)的功能框圖;圖5是根據(jù)本發(fā)明的優(yōu)選實(shí)施例示出并行外圍計(jì)算機(jī)接口(PCI)總線協(xié)議的元件的視圖;圖6是根據(jù)本發(fā)明的優(yōu)選實(shí)施例示出串聯(lián)PCI總線協(xié)議(PCI-Express或者PCI-E)的元件的視圖;圖7是根據(jù)本發(fā)明的優(yōu)選實(shí)施例示出為了提供虛擬主機(jī)訪問(wèn)隔離而設(shè)置在主機(jī)處理器節(jié)點(diǎn)中的I/O虛擬化功能的視圖;圖8是才艮據(jù)本發(fā)明的優(yōu)選實(shí)施例示出用于PCI總線事務(wù)以識(shí)別虛擬適配器或者系統(tǒng)映像的控制場(chǎng)的視圖;圖9是示出根據(jù)本發(fā)明的優(yōu)選實(shí)施例必須被虛擬化的適配器資源的視圖,以允許適配器直接訪問(wèn)虛擬主機(jī)資源;虛擬主機(jī)直接訪問(wèn)適配器資源;以及適配器上的非PCI端口訪問(wèn)適配器或者主機(jī)上的資源;圖10是根據(jù)本發(fā)明的優(yōu)選實(shí)施例示出支持I/O虛擬化的用于管理PCI系列適配器的三個(gè)訪問(wèn)控制等級(jí)的形成的視圖;圖11是示出根據(jù)本發(fā)明的優(yōu)選實(shí)施例如何通過(guò)邏輯分區(qū)管理器使與系統(tǒng)映像相關(guān)聯(lián)的虛擬適配器可以使用與系統(tǒng)映像相關(guān)聯(lián)的主機(jī)內(nèi)存的視圖;圖12是示出根據(jù)本發(fā)明的優(yōu)選實(shí)施例PCI系列適配器如何允許邏輯分區(qū)管理器將PCI適配器中的內(nèi)存和系統(tǒng)映像及其關(guān)聯(lián)虛擬適配器相關(guān)聯(lián)的視圖;圖13是根據(jù)本發(fā)明的優(yōu)選實(shí)施例示出用于確定與輸入內(nèi)存地址相關(guān)聯(lián)的虛擬適配器的一種選擇方案的視圖;圖14是根據(jù)本發(fā)明的優(yōu)選實(shí)施例示出用于確定與PCI-X或者PCI-E總線事務(wù)相關(guān)聯(lián)的虛擬適配器的一種選擇方案的視圖;圖15是^L據(jù)本發(fā)明的優(yōu)選實(shí)施例示出用于對(duì)適配器資源進(jìn)行虛擬化的虛擬適配器管理方法的視圖;以及圖16是概述根據(jù)本發(fā)明的優(yōu)選實(shí)施例的、實(shí)施圖15所述的虛擬適配器管理方法的數(shù)據(jù)處理系統(tǒng)中的范例虛擬適配器屬性修改過(guò)程的流程圖。具體實(shí)施方式本發(fā)明適用于使用PCI系列I/O適配器直接連接存儲(chǔ)裝置或者連接網(wǎng)絡(luò)的任何普通或者特殊的目的主機(jī),其中,網(wǎng)絡(luò)由終端節(jié)點(diǎn)、交換機(jī)、路由器和互連這些部件的鏈路組成。網(wǎng)絡(luò)鏈路可以是,例如,光纖通道、以太網(wǎng)、InfiniBand,先進(jìn)交換互連、或者使用專用協(xié)議或者標(biāo)準(zhǔn)協(xié)議的專用鏈路。雖然本發(fā)明的實(shí)施例示出和描述為利用外圍部件互連(PCI)系列適配器,但是,本發(fā)明的實(shí)施方式并不局限于這種結(jié)構(gòu),如本領(lǐng)域技術(shù)人員所顯而易見(jiàn)的那樣。本發(fā)明的教導(dǎo)可以在支持內(nèi)存映射輸入/輸出(MMIO)接口(例如,但不限于,HyperTransport、RapidI/O、專用MMIO接口)的任何物理適配器或者現(xiàn)在已知的或稍后開(kāi)發(fā)的具有MMIO接口的其他適配器上實(shí)施。為了幫助理解本發(fā)明的范例目的,提供利用PCI系列適配器的本發(fā)明的實(shí)施方式?,F(xiàn)在參照附圖,尤其,參照?qǐng)Dl,根據(jù)本發(fā)明的優(yōu)選實(shí)施例示出分布計(jì)算機(jī)系統(tǒng)的視圖。圖l所示的分布計(jì)算機(jī)系統(tǒng)采用網(wǎng)絡(luò)例如網(wǎng)絡(luò)120的形式,并且僅僅為了范例的目的,提供該分布計(jì)算機(jī)系統(tǒng),可以在很多其它類型和結(jié)構(gòu)的計(jì)算機(jī)系統(tǒng)上實(shí)施下面所述的本發(fā)明的實(shí)施例。兩個(gè)交換機(jī)(或者路由器),即,交換機(jī)116和交換機(jī)140,示出在網(wǎng)絡(luò)120內(nèi)。交換機(jī)116通過(guò)端口112連接小主機(jī)節(jié)點(diǎn)100。小主機(jī)節(jié)點(diǎn)IOO也包含第二類端口104,該第二類端口連接直接連接存儲(chǔ)子系統(tǒng),例如,直接連接存儲(chǔ)器108。網(wǎng)絡(luò)120也可以通過(guò)端口136連接大主機(jī)節(jié)點(diǎn)124,該端口136連接交換機(jī)140。大主機(jī)節(jié)點(diǎn)124也可以包含第二類端口128,該第二類端口128連接直接連接存儲(chǔ)子系統(tǒng),例如,直接連接存儲(chǔ)器132。網(wǎng)絡(luò)120也可以連接小集成主機(jī)節(jié)點(diǎn)144,該小集成主機(jī)節(jié)點(diǎn)144通過(guò)連接交換機(jī)140的端口148連接網(wǎng)絡(luò)120。小集成主機(jī)節(jié)點(diǎn)144也可以包含第二類端口152,該第二類端口152連接直接連接存儲(chǔ)子系統(tǒng),例如,直接連接存儲(chǔ)器156?,F(xiàn)在轉(zhuǎn)到圖2,根據(jù)本發(fā)明的優(yōu)選實(shí)施例示出小主機(jī)節(jié)點(diǎn)的功能框圖。小主機(jī)節(jié)點(diǎn)202是主機(jī)處理器節(jié)點(diǎn)的例子,例如,圖l所示的小主機(jī)節(jié)點(diǎn)100,在該例子中,圖2所示的小主機(jī)節(jié)點(diǎn)202包括通過(guò)鏈路201互連的兩個(gè)處理器I/0層次,例如,處理器I/O層次200和203。在圖2的范例例子中,處理器I/0層次200包括處理器芯片207,該處理器芯片207包括一個(gè)或者多個(gè)處理器及其相關(guān)高速緩沖器。處理器芯片207通過(guò)鏈路208連接存儲(chǔ)器212。在處理器芯片上的一個(gè)鏈路(例如,鏈路220)連接PCI系列I/O橋228。PCI系列I/O橋228具有一個(gè)或者多個(gè)PCI系列(PCI、PCI-X、PCI-Express或者任何下一代PCI)鏈路,用來(lái)通過(guò)PCI鏈路(例如,鏈路232、236和240)連接其它PCI系列I/O橋或者PCI系列I/O適配器,例如,PCI系列適配器244和PCI系列適配器245。PCI系列適配器245也可以用來(lái)通過(guò)經(jīng)由交換機(jī)或者路由器(例如,交換機(jī)或者路由器260)的鏈路與網(wǎng)絡(luò)(例如,網(wǎng)絡(luò)264)連接。PCI系列適配器244可以用來(lái)通過(guò)鏈路248與直接連接存儲(chǔ)器連接,例如,直接連接存儲(chǔ)器252??梢杂门c就處理器I/O層次200所示出和描述的方式相似的方式構(gòu)造處理器I/O層次203。現(xiàn)在參照?qǐng)D3,根據(jù)本發(fā)明的優(yōu)選實(shí)施例示出小集成主機(jī)節(jié)點(diǎn)的功能框圖。小集成主機(jī)節(jié)點(diǎn)302是主機(jī)處理器節(jié)點(diǎn)的例子,例如,圖1所述的小集成主機(jī)節(jié)點(diǎn)144。在該實(shí)例中,小集成主機(jī)節(jié)點(diǎn)302包括兩個(gè)處理器I/0層次300和303,這兩個(gè)處理器I/O層次300和303通過(guò)鏈路301互連。在所圖示的實(shí)例中,處理器I/0層次300包括處理器芯片304,該處理器芯片304代表一個(gè)或者多個(gè)處理器和關(guān)聯(lián)高速緩沖器。處理器芯片304通過(guò)鏈路308連接存儲(chǔ)器312。在處理器芯片上的一個(gè)鏈路,例如鏈路330,連接PCI系列適配器,例如,PCI系列適配器345。處理器芯片304具有一個(gè)或者多個(gè)PCI系列(即,PCI、PCI-X、PCI-Express或者任何下一代PCI)鏈路,其用來(lái)通過(guò)PCI鏈路(例如,鏈路316、330和324)連接PCI系列1/0橋或者PCI系列1/0適配器,例如,PCI系列適配器344和PCI系列適配器345。PCI系列適配器345也可以用來(lái)通過(guò)經(jīng)由交換機(jī)或者路由器(例如,交換機(jī)或者路由器360)的鏈路與網(wǎng)絡(luò)(例如,網(wǎng)絡(luò)364)連接。PCI系列適配器344可以用來(lái)通過(guò)鏈路348與直接連接存儲(chǔ)器352連接?,F(xiàn)在轉(zhuǎn)到圖4,根據(jù)本發(fā)明的優(yōu)選實(shí)施例示出大主機(jī)節(jié)點(diǎn)的功能框圖。大主機(jī)節(jié)點(diǎn)402是主機(jī)處理器節(jié)點(diǎn)的例子,例如,圖l所示的大主機(jī)節(jié)點(diǎn)124。在該實(shí)例中,大集成主機(jī)節(jié)點(diǎn)402包括兩個(gè)處理器I/0層次400和403,這兩個(gè)處理器I/O層次400和403通過(guò)鏈路401互連。在圖4所示的實(shí)例中,處理器I/O層次400包括處理器芯片404,該處理器芯片404代表一個(gè)或者多個(gè)處理器和關(guān)聯(lián)高速緩沖器。處理器芯片404通過(guò)鏈路408連接存儲(chǔ)器412。在處理器芯片上的一個(gè)鏈路,例如鏈路440,連接PCI系列I/O集線器,例如,PCI系列I/O集線器441。PCI系列I/O集線器使用網(wǎng)絡(luò)442連接PCI系列1/0橋448。即,PCI系列I/O橋448通過(guò)鏈路432連接交換機(jī)或者路由器436,并且,交換機(jī)或者路由器436通過(guò)鏈路443連接PCI系列I/O集線器441。網(wǎng)絡(luò)442允許PCI系列I/O集線器和PCI系列I/O橋置于不同的封裝中。PCI系列I/O橋448具有一個(gè)或者多個(gè)PCI系列(即,PCI、PCI-X、PCI-Express或者任何下一代PCI)鏈路,其用來(lái)通過(guò)PCI鏈路(例如,鏈路444、446和452)連接其它的PCI系列I/O橋或者PCI系列I/O適配器,例如,PCI系列適配器456和PCI系列適配器457。PCI系列適配器456可以用來(lái)通過(guò)鏈路460與直接連接存儲(chǔ)器476連接。PCI系列適配器457也可以用來(lái)通過(guò)經(jīng)由例如交換機(jī)或者路由器472的鏈路468與網(wǎng)絡(luò)464連接。接下來(lái)轉(zhuǎn)到圖5,根據(jù)本發(fā)明的優(yōu)選實(shí)施例示出對(duì)包含在PCI總線事務(wù)500和PCI-X總線事務(wù)520中的各階段的圖例。PCI總線事務(wù)500描述形成通過(guò)用于常規(guī)PCI的PCI結(jié)構(gòu)傳輸?shù)男畔卧某R?guī)PCI總線事務(wù)。PCI-X總線事務(wù)520描述形成通過(guò)用于PCI-X的PCI結(jié)構(gòu)傳輸?shù)男畔卧腜CI-X總線事務(wù)。PCI總線事務(wù)500顯示三個(gè)階段地址階段508;數(shù)據(jù)階段512;以及周轉(zhuǎn)循環(huán)516。此外所示出的是對(duì)下一個(gè)傳輸504的仲裁,其可以與地址階段、數(shù)據(jù)階段和周轉(zhuǎn)階段同時(shí)發(fā)生。對(duì)于PCI,使用包含在地址階段中的地址來(lái)將總線事務(wù)從適配器發(fā)送到主機(jī)以及從主機(jī)發(fā)送到適配器。PCI-X事務(wù)520顯示五個(gè)階段地址階段528;屬性階段532;響應(yīng)階段560;數(shù)據(jù)階段564和周轉(zhuǎn)循環(huán)566。此外所示出的是對(duì)下一個(gè)傳輸524的仲裁,其可以與地址階段、屬性階段、響應(yīng)階段、數(shù)據(jù)階段和周轉(zhuǎn)循環(huán)階段同時(shí)發(fā)生。與常規(guī)PCI相似,PCI-X使用包含在地址階段中的地址來(lái)將總線事務(wù)從適配器發(fā)送到主機(jī)以及從主機(jī)發(fā)送到適配器。但是,PCI-X增加屬性階段532,該屬性階段532包含限定總線事務(wù)請(qǐng)求者的三個(gè)字段,即請(qǐng)求者總線號(hào)544、請(qǐng)求者裝置號(hào)548和請(qǐng)求者功能號(hào)552(在本文總稱為BDF)。總線事務(wù)還包含標(biāo)記540,該標(biāo)記相對(duì)于在請(qǐng)求者和響應(yīng)者之間未完成的其它總線事務(wù)唯一地識(shí)別該特定總線事務(wù)。字節(jié)計(jì)數(shù)556包含對(duì)正發(fā)送的字節(jié)的數(shù)目的計(jì)數(shù)?,F(xiàn)在轉(zhuǎn)到圖6,根據(jù)本發(fā)明的優(yōu)選實(shí)施例示出包含在PCI-Express總線事務(wù)中的各個(gè)階段的圖例。PCI-E總線事務(wù)600形成通過(guò)用于PCI-E的PCI結(jié)構(gòu)傳輸?shù)男畔卧CI-E總線事務(wù)600顯示六個(gè)階段幀階段608;序列號(hào)612;報(bào)頭664;數(shù)據(jù)階段668;循環(huán)冗余檢查(CRC)672;以及幀階段680。PCI-E報(bào)頭664包含在PCI-Express規(guī)格中定義的一組字段。請(qǐng)求者標(biāo)識(shí)符(ID)字段628包含限定總線事務(wù)請(qǐng)求者的三個(gè)字段,即請(qǐng)求者總線號(hào)684、請(qǐng)求者裝置號(hào)688和請(qǐng)求者功能號(hào)692。PCI-E報(bào)頭還包含標(biāo)記652,該標(biāo)記相對(duì)于在請(qǐng)求者和響應(yīng)者之間未完成的其它總線事務(wù)唯一地識(shí)別該特定總線事務(wù)。長(zhǎng)度字段644包含對(duì)正發(fā)送的字節(jié)的數(shù)目的計(jì)數(shù)?,F(xiàn)在參照?qǐng)D7,根據(jù)本發(fā)明的優(yōu)選實(shí)施例示出PCI適配器(例如,PCI系列適配器736)以及在主機(jī)硬件(例如,可以具有I/O集線器或者I/0橋的處理器)(例如,主機(jī)硬件700)上運(yùn)行的固件和軟件。圖7還示出在主機(jī)硬件700上運(yùn)行的邏輯分區(qū)(LPAR)管理器708。LPAR管理器708可以實(shí)施為由美國(guó)紐約市的InternationalBusinessMachines,Inc.ofArmonk制造的Hypervisor,LPAR管理器708可以在固件、軟件或者二者的組合上運(yùn)行。LPAR管理器708宿主兩個(gè)系統(tǒng)映像(SI)分區(qū),例如,系統(tǒng)映像712和系統(tǒng)映像724(示例性地指定系統(tǒng)映像1和系統(tǒng)映像2)。該系統(tǒng)映像分區(qū)可以是在軟件上運(yùn)行的各自操作系統(tǒng)、在軟件上運(yùn)行的特殊目的映像(例如,存儲(chǔ)塊服務(wù)器或者存儲(chǔ)文件服務(wù)器映像)、或者在固件上運(yùn)行的特殊目的映像。在這些系統(tǒng)映像上可以運(yùn)行應(yīng)用程序,例如,應(yīng)用程序716、720、728和732(示例性地指定應(yīng)用程序1A、應(yīng)用程序2、應(yīng)用程序1B和應(yīng)用程序3)。應(yīng)用程序716和728代表公共應(yīng)用程序的單獨(dú)的例子,因此,用相應(yīng)的標(biāo)號(hào)"1A"和"1B"示例性地指定。在所圖示的實(shí)例中,應(yīng)用程序716和720在系統(tǒng)映像712上運(yùn)行,應(yīng)用程序728和732在系統(tǒng)映像724上運(yùn)行。如本文所指,虛擬主機(jī)包括系統(tǒng)映像(例如,系統(tǒng)映像712)或者在系統(tǒng)映像中運(yùn)行的系統(tǒng)映像和應(yīng)用程序的組合。因此,在圖7中示出兩個(gè)虛擬主機(jī)。PCI系列適配器736包含一組物理適配器配置資源740和物理適配器內(nèi)存資源744。物理適配器配置資源740和物理適配器內(nèi)存資源744包含描述PCI系列適配器736可以支持的虛擬適配器的數(shù)目和分配給每一個(gè)虛擬適配器的物理資源的信息。如本文所指,虛擬適配器是與邏輯分區(qū)(例如,系統(tǒng)映像712和在系統(tǒng)映像712上運(yùn)行的應(yīng)用程序716及720)相關(guān)聯(lián)的物理適配器資源的子集(例如,物理適配器資源和物理適配器內(nèi)存的子集)的分配。給LPAR管理器708提供物理配置資源接口738和物理內(nèi)存配置接口742,以在適配器的初始配置和重配置期間讀入和寫入物理適配器配置資源和內(nèi)存空間。通過(guò)物理配置資源接口738和物理配置內(nèi)存接口742,LPAR管理器708創(chuàng)建虛擬適配器,并且分配物理資源給每一個(gè)虛擬適配器。LPAR管理器708可以使用一個(gè)系統(tǒng)映像(例如,特殊軟件或者固件分區(qū))作為主機(jī)分區(qū),該主機(jī)分區(qū)^f吏用物理配置資源接口738和物理配置內(nèi)存接口742,以執(zhí)行虛擬適配器初始配置和重配置功能的一部分或者甚至全部。圖7示出配置有兩個(gè)虛擬適配器的PCI系列適配器736的配置。第一虛擬適配器(指定的虛擬適配器1)包括通過(guò)與系統(tǒng)映像712(指定的系統(tǒng)映像l)相關(guān)聯(lián)的LPAR管理器708分配的虛擬適配器資源748和虛擬適配器內(nèi)存752。類似地,第二虛擬適配器(指定的虛擬適配器2)包括通過(guò)LPAR管理器708分配給虛擬適配器2并與另一系統(tǒng)映像724(指定的系統(tǒng)映像2)相關(guān)聯(lián)的虛擬適配器756和虛擬適配器內(nèi)存760。關(guān)于用于連接一個(gè)直接連接存儲(chǔ)器(例如,圖l所示的直接連接存儲(chǔ)器108、132或者156)的適配器,虛擬適配器資源的例子可以包括一關(guān)聯(lián)物理盤列表、一關(guān)聯(lián)邏輯單元號(hào)列表和一關(guān)聯(lián)適配器功能列表(例如,不昂貴磁盤冗余陣列(RAID)級(jí)別)。關(guān)于用于連接網(wǎng)絡(luò)(例如,圖1的網(wǎng)絡(luò)120)的適配器,虛擬適配器資源的例子可以包括一關(guān)聯(lián)鏈路級(jí)別標(biāo)識(shí)符列表、一關(guān)聯(lián)網(wǎng)絡(luò)級(jí)別標(biāo)識(shí)符列表、一關(guān)聯(lián)虛擬結(jié)構(gòu)標(biāo)識(shí)符列表(例如,用于以太網(wǎng)結(jié)構(gòu)的虛擬LANID、用于光纖通道結(jié)構(gòu)的N-端口ID和用于InfiniBand結(jié)構(gòu)的區(qū)分鍵)、和一關(guān)聯(lián)網(wǎng)絡(luò)層功能列表(例如,網(wǎng)絡(luò)卸栽服務(wù))。在LPAR管理器708配置PCI系列適配器736之后,允許每一個(gè)系統(tǒng)映像僅僅與通過(guò)LPAR管理器708同該系統(tǒng)映像相關(guān)聯(lián)的虛擬適配器通信。如圖7(實(shí)線)所示,允許系統(tǒng)映像712與虛擬適配器1的虛擬適配器資源748和虛擬適配器內(nèi)存752直接通信。不允許系統(tǒng)映像712與如圖7的虛線所示的虛擬適配器2的虛擬適配器資源756和虛擬適配器內(nèi)存760直接通信。類似地,允許系統(tǒng)映像724與虛擬適配器2的虛擬適配器資源756和虛擬適配器內(nèi)存760直接通信,不允許系統(tǒng)映像724與虛擬適配器1的虛擬適配器資源748和虛擬適配器內(nèi)存752直接通信?,F(xiàn)在參照?qǐng)D8,根據(jù)本發(fā)明的優(yōu)選實(shí)施例示出在主機(jī)節(jié)點(diǎn)(例如,圖1所示的小主機(jī)節(jié)點(diǎn)100、大主機(jī)節(jié)點(diǎn)124或者小集成的主機(jī)節(jié)點(diǎn)144)內(nèi)的部件(例如,處理器、I/O集線器或者1/0橋800)的圖例,所述主機(jī)節(jié)點(diǎn)通過(guò)PCI-X或者PCI-E鏈路(例如,PCI-X或者PCI-E鏈路808)連接PCI系列適配器,例如,PCI系列適配器804。圖8示出在系統(tǒng)映像(例如,系統(tǒng)映像712或者724)或者LPAR管理器708執(zhí)行PCI-X或者PCI-E總線事務(wù)(例如,主機(jī)至適配器PCI-X或者PCI-E總線事務(wù)812)時(shí),處理器、1/0集線器、或者連接PCI-X或者PCI-E鏈路808的I/O橋800填入總線號(hào)、裝置號(hào)和在PCI-X或者PCI-E總線亊務(wù)中的功能號(hào)字段,所述鏈路發(fā)送主機(jī)至適配器PCI-X或者PCI-E總線事務(wù)812。處理器、I/O集線器、或者I/O橋具有兩個(gè)選擇方案用于如何填入這三個(gè)字段對(duì)于使用處理器、I/O集線器、或者i/o橋的所有軟件部件,可以使用相同的總線號(hào)、裝置號(hào)和功能號(hào);或者,對(duì)于使用處理器、1/0集線器、或者I/0橋的每一個(gè)軟件部件,可以使用不同的總線號(hào)、裝置號(hào)和功能號(hào)。該事務(wù)的發(fā)起者可以是軟件部件,例如,系統(tǒng)映像712或者系統(tǒng)映像724(或者,在系統(tǒng)映像上運(yùn)行的應(yīng)用程序),或者可以是LPAR管理器708。如果對(duì)于所有的事務(wù)發(fā)起者,處理器、I/O集線器或者I/O橋800使用相同的總線號(hào)、裝置號(hào)和功能號(hào),則在軟件部件發(fā)起PCI-X或者PCI-E總線事務(wù)(例如,主機(jī)至適配器PCI-X或者PCI-E總線事務(wù)812)時(shí),處理器、1/O集線器或者I/O橋800將處理器、1/0集線器或者I/O橋的總線號(hào)置于PCI-X或者PCI-E總線事務(wù)的請(qǐng)求者總線號(hào)字段820(例如,圖5所示的PCI-X事務(wù)的請(qǐng)求者總線號(hào)544字段或者圖6所示的PCI-E事務(wù)的請(qǐng)求者總線號(hào)684字段)中。類似地,處理器、I/O集線器或者I/O橋800將處理器、I/O集線器或者I/O橋的裝置號(hào)置于PCI-E總線事務(wù)的請(qǐng)求者裝置號(hào)824字段,例如,圖5所述的請(qǐng)求者裝置號(hào)548字段或者圖6所示的請(qǐng)求者裝置號(hào)688字段。最后,處理器、1/O集線器或者I/O橋800將處理器、1/0集線器或者I/O橋的功能號(hào)置于PCI-X或者PCI-E總線事務(wù)的請(qǐng)求者功能號(hào)828字段,例如,圖5所示的請(qǐng)求者功能號(hào)552字段或者圖6所示的請(qǐng)求者功能號(hào)692字段。處理器、I/O集線器或者I/O橋800也將所述PCI-X或者PCI-E總線事務(wù)所作為目標(biāo)的物理適配器或者虛擬適配器內(nèi)存地址置于PCI-X或者PCI-E總線事務(wù)中,如圖8中的適配器資源或者地址816字段所示。如果對(duì)于每一個(gè)事務(wù)發(fā)起者,處理器、1/0集線器或者I/O橋800使用不同的總線號(hào)、裝置號(hào)和功能號(hào),則處理器、1/0集線器或者I/0橋800分配總線號(hào)、裝置號(hào)和功能號(hào)給事務(wù)發(fā)起者。當(dāng)軟件部件發(fā)起PCI-X或者PCI-E總線事務(wù)(例如,主機(jī)至適配器PCI-X或者PCI-E總線事務(wù)812)時(shí),處理器、1/O集線器或者I/O橋800將軟件部件的總線號(hào)置于PCI-X或者PCI-E總線事務(wù)的請(qǐng)求者總線號(hào)820字段,例如,圖5所示的請(qǐng)求者總線號(hào)544字段或者圖6所示的請(qǐng)求者總線號(hào)684字段。類似地,處理器、I/O集線器或者1/O橋800將軟件部件的裝置號(hào)置于PCI-X或者PCI-E總線事務(wù)的請(qǐng)求者裝置號(hào)824字段,例如,圖5所示的請(qǐng)求者裝置號(hào)548字段或者圖6所示的請(qǐng)求者裝置號(hào)688。最后,處理器、1/O集線器或者I/O橋800將軟件部件的功能號(hào)置于PCI-X或者PCI-E總線事務(wù)的功能號(hào)828字段,例如,圖5所示的請(qǐng)求者功能號(hào)552字段或者圖6所示的請(qǐng)求者功能號(hào)692字段。處理器、1/0集線器或者I/O橋800也將所述PCI-X或者PCI-E總線事務(wù)所作為目標(biāo)的物理適配器或者虛擬適配器內(nèi)存地址置于PCI-X或者PCI-E總線事務(wù)中,如圖8中的適配器資源或者地址816字段所示。圖8還示出,當(dāng)物理適配器或者虛擬適配器806執(zhí)行PCI-X或者PCI-E總線事務(wù)(例如,適配器至主機(jī)PCI-X或者PCI-E總線事務(wù)832)時(shí),連接PCI-X或者PCI-E鏈路808的PCI系列適配器(例如,物理系列適配器804)將與發(fā)起總線事務(wù)的物理適配器或者虛擬適配器相關(guān)聯(lián)的總線號(hào)、裝置號(hào)和功能號(hào)置于請(qǐng)求者總線號(hào)、裝置號(hào)和功能號(hào)836,840和844字段。顯著地,為了支持一個(gè)以上的總線號(hào)或者裝置號(hào),PCI系列適配器804必須支持一個(gè)或者多個(gè)內(nèi)部總線(對(duì)于PCI-X適配器,參見(jiàn)PCI-X附錄至PCI局部總線規(guī)格l.O或者1.0a版;對(duì)于PCI-E適配器,參見(jiàn)PCI-Express基礎(chǔ)規(guī)格1.0或者1.0a版,其細(xì)節(jié)以引用方式并入本文中)。為了執(zhí)行該功能,LPAR管理器708通過(guò)分配總線號(hào)、裝置號(hào)和功能號(hào)給物理適配器或者虛擬適配器來(lái)將每一個(gè)物理適配器或者虛擬適配器與軟件部件相關(guān)聯(lián)。當(dāng)物理適配器或者虛擬適配器發(fā)起適配器至主機(jī)PCI-X或者PCI-E總線亊務(wù)時(shí),PCI系列適配器804將物理適配器或者虛擬適配器的總線號(hào)放置在PCI-X或者PCI-E總線事務(wù)的請(qǐng)求者總線號(hào)836字段,例如,圖5所示的請(qǐng)求者總線號(hào)544字段或者圖6所述的請(qǐng)求者總線號(hào)684(在圖8中示出為適配器總線號(hào)836)。類似地,PCI系列適配器804將物理適配器和虛擬適配器的裝置號(hào)置于PCI-X或者PCI-E總線事務(wù)的請(qǐng)求者裝置號(hào)840字段,例如,圖5所示的請(qǐng)求者裝置號(hào)548字段或者圖6所述的請(qǐng)求者裝置號(hào)688字段(在圖8中示出為適配器裝置號(hào)840)。PCI系列適配器804將物理適配器或者虛擬適配器的功能號(hào)置于PCI-X或者PCI-E總線事務(wù)的請(qǐng)求者功能號(hào)844字段,例如,圖5所述的請(qǐng)求者功能號(hào)552字段或者圖6所示的請(qǐng)求者功能號(hào)692字段(在圖8中示出為適配器功能號(hào)844)。最后,PCI系列適配器804也將通過(guò)物理適配器或者虛擬適配器所關(guān)聯(lián)并作為目標(biāo)的軟件部件的內(nèi)存地址置于PCI-X或者PCI-E總線事務(wù)中的主機(jī)資源或者地址848字段?,F(xiàn)在參照?qǐng)D9,示出根據(jù)本發(fā)明的優(yōu)選實(shí)施例描述的具有兩個(gè)虛擬適配器的PCI適配器的功能框圖。范例的PCI系列適配器900配置有兩個(gè)虛擬適配器916和920(示例性地指定虛擬適配器1和虛擬適配器2)。PCI系列適配器900可以包含一個(gè)(或者多個(gè))PCI系列適配器端口(在本文中也稱為上游端口),例如,PCI-X或者PCI-E適配器端口912。PCI系列適配器卯0也可以包含一個(gè)(或者多個(gè))裝置或者網(wǎng)絡(luò)端口(在本文中也稱為下游端口),例如,物理端口卯4和物理端口908。圖9也示出在PCI適配器上可以虛擬化的資源類型??梢蕴摂M化的PCI系列適配器900的資源包括處理隊(duì)列、地址和配置內(nèi)存、PCI端口、主機(jī)內(nèi)存管理資源和裝置或者網(wǎng)絡(luò)端口。在所圖示的實(shí)例中,分配給虛擬適配器916的PCI系列適配器900的虛擬化資源包括,例如,處理隊(duì)列924、地址和配置內(nèi)存928、PCI虛擬端口936、主機(jī)內(nèi)存管理資源984(例如,InfiniBand或者iWARP上的內(nèi)存區(qū)域注冊(cè)和內(nèi)存窗粘結(jié)資源)和虛擬裝置或者網(wǎng)絡(luò)端口,例如,虛擬外部端口932和虛擬外部端口934(更通常稱為虛擬端口)。類似地,分配給虛擬適配器920的PCI系列適配器900的虛擬化資源包括,例如,處理隊(duì)列940、地址和配置內(nèi)存944、PCI虛擬端口952、主機(jī)內(nèi)存管理資源980和虛擬裝置或者網(wǎng)絡(luò)端口,例如,虛擬外部端口948和虛擬外部端口950。接下來(lái)轉(zhuǎn)到圖10,根據(jù)本發(fā)明的優(yōu)選實(shí)施例示出在PCI系列適配器(例如,圖9所示的PCI系列適配器900)上的訪問(wèn)控制等級(jí)的功能框圖。三個(gè)訪問(wèn)等級(jí)是超特權(quán)物理資源分配等級(jí)1000、特權(quán)虛擬資源分配等級(jí)1008和非特權(quán)等級(jí)1016。在超特權(quán)物理資源分配等級(jí)1000上執(zhí)行的功能包括,但不限于PCI系列適配器詢問(wèn);創(chuàng)建、修改和刪除虛擬適配器;提交和檢索工作;復(fù)位和恢復(fù)物理適配器;分配物理資源給虛擬適配器實(shí)例。PCI系列適配器詢問(wèn)用來(lái)確定(例如)物理適配器類型(例如,光纖通道、以太網(wǎng)、iSCSI、并行SCSI)、在物理適配器上支持的功能和被PCI系列適配器支持的虛擬適配器的數(shù)目。LPAR管理器,例如,圖7所示的LPAR管理器708,執(zhí)行與超特權(quán)物理資源分配等級(jí)1000相關(guān)聯(lián)的物理適配器資源管理1004功能。但是,LPAR管理器可以使用系統(tǒng)映像,例如,1/0主機(jī)分區(qū),以執(zhí)行物理適配器資源管理1004功能。在特權(quán)虛擬資源分配等級(jí)1008上執(zhí)行的功能包括,例如,虛擬適配器詢問(wèn);分配和初始化虛擬適配器資源;通過(guò)虛擬適配器資源提交和檢索工作;以及,對(duì)于支持卸栽服務(wù)的虛擬適配器,分配和指定虛擬適配器資源給中間件處理和線程實(shí)例。虛擬適配器詢問(wèn)用來(lái)確定虛擬適配器類型(例如,光纖通道、以太網(wǎng)、iSCSI、并行SCSI)和在虛擬適配器上支持的功能。系統(tǒng)映像,例如圖7所示的系統(tǒng)映像712,執(zhí)行與虛擬資源分配等級(jí)1008相關(guān)聯(lián)的特權(quán)虛擬適配器資源管理1012功能。最后,在非特權(quán)等級(jí)1016上執(zhí)行的功能包括,例如,詢問(wèn)已指定給在非特權(quán)等級(jí)1016上運(yùn)行的軟件的虛擬適配器資源;以及通過(guò)已指定給在非特權(quán)等級(jí)1016上運(yùn)行的軟件的虛擬適配器資源提交和檢索工作。應(yīng)用程序,例如圖7所示的應(yīng)用程序716,執(zhí)行與非特權(quán)等級(jí)1016相關(guān)聯(lián)的虛擬適配器訪問(wèn)庫(kù)1020功能。接下來(lái)轉(zhuǎn)到圖11,根據(jù)本發(fā)明的優(yōu)選實(shí)施例示出對(duì)PCI系列適配器可用的主機(jī)內(nèi)存地址的功能框圖。PCI系列適配器1101是如上面圖9所述的可以虛擬化資源的PCI系列適配器900的例子。圖11描述四種不同的機(jī)制,通過(guò)這些機(jī)制,LPAR管理器708可以將主機(jī)內(nèi)存與系統(tǒng)映像和虛擬適配器相關(guān)聯(lián)。一旦主機(jī)內(nèi)存與系統(tǒng)映像和虛擬適配器相關(guān)聯(lián),虛擬適配器就可以執(zhí)行DMA直接寫入和讀入主機(jī)內(nèi)存的操作。系統(tǒng)映像1108和1116是系統(tǒng)映像的例子,例如上面就圖7所述的系統(tǒng)映像712和724,分別與虛擬適配器1104和1112相關(guān)聯(lián)。虛擬適配器1104和1112是虛擬適配器的例子,例如上面就圖9所述的虛擬適配器916和920,包括虛擬適配器資源和虛擬適配器內(nèi)存的各自分配。第一種范例機(jī)制,即,LPAR管理器708可以用來(lái)使主機(jī)內(nèi)存與系統(tǒng)映像和一個(gè)或者多個(gè)虛擬適配器相關(guān)聯(lián)、并使主機(jī)內(nèi)存可用于系統(tǒng)映像和一個(gè)或者多個(gè)虛擬適配器,將系統(tǒng)映像關(guān)聯(lián)列表1122寫入虛擬適配器的資源。虛擬適配器資源1120包含一PCI總線地址列表,其中,在該列表中的每一個(gè)PCI總線地址通過(guò)硬件平臺(tái)與系統(tǒng)映像(SI)頁(yè)(例如,分配給系統(tǒng)映像1108的SI1第1頁(yè)1128到SI1第N頁(yè)1136)的起始地址相關(guān)聯(lián)。虛擬適配器資源1120也包含頁(yè)尺寸,對(duì)于該列表中的所有頁(yè),頁(yè)尺寸相等。在起初配置時(shí),并且,在重配置的期間,LPAR管理器708將系統(tǒng)映像關(guān)聯(lián)列表1122裝入虛擬適配器資源1120。系統(tǒng)映〗象關(guān)聯(lián)列表1122限定虛擬適配器1104可以用于DMA讀寫操作的地址集。在創(chuàng)建系統(tǒng)映像關(guān)聯(lián)列表1122之后,虛擬適配器1104必須驗(yàn)證,通過(guò)系統(tǒng)映《象1108請(qǐng)求的每一個(gè)DMA寫或者DMA讀被包含在系統(tǒng)映像關(guān)聯(lián)列表1122中的頁(yè)內(nèi)。如果通過(guò)系統(tǒng)映像1108請(qǐng)求的DMA寫或者DMA讀被包含在系統(tǒng)映像關(guān)聯(lián)列表U22中的頁(yè)內(nèi),則虛擬適配器1104可以執(zhí)行操作。否則,禁止虛擬適配器1104執(zhí)行操作?;蛘?,PCI系列適配器1101可以使用特殊的LPAR管理器式虛擬適配器(而不是虛擬適配器1104)執(zhí)行檢測(cè),以確定通過(guò)系統(tǒng)映像1108請(qǐng)求的DMA寫或者DMA讀是否被包含在系統(tǒng)映像關(guān)聯(lián)列表1122中的頁(yè)內(nèi)。以相似的方式,與系統(tǒng)映像1116相關(guān)聯(lián)的虛擬適配器1112驗(yàn)證通過(guò)系統(tǒng)映像1116提交的DMA寫或讀請(qǐng)求。具體來(lái)說(shuō),虛擬適配器1112通過(guò)確定DMA寫或讀請(qǐng)求是否在與系統(tǒng)映像1116的系統(tǒng)映像頁(yè)相關(guān)聯(lián)的系統(tǒng)映像關(guān)聯(lián)列表(以與系統(tǒng)映像關(guān)聯(lián)列表1122相似的方式配置)中的頁(yè)內(nèi)來(lái)對(duì)來(lái)自系統(tǒng)映像1116的DMA寫讀請(qǐng)求提供驗(yàn)證。第二種范例機(jī)制,即,LPAR管理器708可以用來(lái)使主機(jī)內(nèi)存與系統(tǒng)映像和一個(gè)或者多個(gè)虛擬適配器相關(guān)聯(lián)、并使主機(jī)內(nèi)存可用于系統(tǒng)映像和一個(gè)或者多個(gè)虛擬適配器,將起始頁(yè)地址和頁(yè)尺寸寫入虛擬適配器資源中的系統(tǒng)映像關(guān)聯(lián)列表1122中。例如,虛擬適配器資源1120可以包含單個(gè)PCI總線地址,該P(yáng)CI總線地址通過(guò)硬件平臺(tái)與系統(tǒng)映像頁(yè)(例如,SI1第1頁(yè)1128)的起始地址相關(guān)聯(lián)。在虛擬適配器資源1120中的映像關(guān)聯(lián)列表1122也包含頁(yè)尺寸。在起初配置時(shí),并且,在重配置期間,LPAR管理器708將頁(yè)尺寸和起始頁(yè)地址裝入虛擬適配器資源1120中的映像關(guān)聯(lián)列表1122中。映l象關(guān)聯(lián)列表1122限定虛擬適配器1104可以用于DMA讀寫操作的地址集。在創(chuàng)建映像關(guān)聯(lián)列表1122之后,虛擬適配器1104驗(yàn)證通過(guò)系統(tǒng)映像1108請(qǐng)求的每一個(gè)DMA寫或者DMA讀是否被包含在系統(tǒng)映像關(guān)聯(lián)列表1122中的頁(yè)內(nèi)。如果通過(guò)系統(tǒng)映l象1108請(qǐng)求的每一個(gè)DMA寫或者DMA讀是被包含在系統(tǒng)映像關(guān)聯(lián)列表1122中的頁(yè)內(nèi),則虛擬適配器1104可以執(zhí)行操作。否則,禁止虛擬適配器執(zhí)行操作?;蛘撸琍CI系列適配器1101可以使用特殊的LPAR管理器式虛擬適配器(而不是虛擬適配器1104)執(zhí)行檢測(cè),以確定通過(guò)系統(tǒng)映像1108請(qǐng)求的DMA寫或者DMA讀是否被包含在系統(tǒng)映像關(guān)聯(lián)列表1122中的頁(yè)內(nèi)。以相似的方式,與系統(tǒng)映像1116相關(guān)聯(lián)的虛擬適配器1112可以驗(yàn)證通過(guò)系統(tǒng)映像1116提交的DMA寫或讀請(qǐng)求。具體來(lái)說(shuō),與系統(tǒng)映像關(guān)聯(lián)列表1122相關(guān)聯(lián)的系統(tǒng)映像管理列表可以與虛擬適配器1112相關(guān)聯(lián)。與虛擬適配器1112相關(guān)聯(lián)的系統(tǒng)映像關(guān)聯(lián)列表裝入與虛擬適配器1112相關(guān)聯(lián)的系統(tǒng)映像1116的系統(tǒng)映像頁(yè)的頁(yè)尺寸和起始頁(yè)地址。因此,與虛擬適配器1112相關(guān)聯(lián)的系統(tǒng)映像關(guān)聯(lián)列表提供這樣的機(jī)制,通過(guò)確定DMA寫或者讀請(qǐng)求是否在與系統(tǒng)映像1116的系統(tǒng)映像頁(yè)相關(guān)聯(lián)的系統(tǒng)映像關(guān)聯(lián)列表中的頁(yè)內(nèi),驗(yàn)證來(lái)自系統(tǒng)映像1116的DMA讀寫請(qǐng)求.第三種范例機(jī)制,即,LPAR管理器708可以用來(lái)使主機(jī)內(nèi)存與系統(tǒng)映像和一個(gè)或者多個(gè)虛擬適配器相關(guān)聯(lián)、并使主機(jī)內(nèi)存可用于系統(tǒng)映像和一個(gè)或者多個(gè)虛擬適配器,將系統(tǒng)映像緩沖器關(guān)聯(lián)列表1154寫入虛擬適配器的資源中。在圖11中,虛擬適配器資源1150包含一PCI總線地址對(duì)列表(起始地址和結(jié)束地址),其中,通過(guò)硬件平臺(tái),將該列表中的每一對(duì)PCI總線地址與系統(tǒng)映像緩沖器的地址對(duì)(起始地址和結(jié)束地址)相關(guān)聯(lián),例如,分配給系統(tǒng)映像1116的SI2第1緩沖器1166到SI1第N緩沖器1180。在起初配置時(shí),并且,在重配置期間,LPAR管理器708將系統(tǒng)映像緩沖器關(guān)聯(lián)列表1154裝入虛擬適配器資源1150。該系統(tǒng)映像緩沖器關(guān)聯(lián)列表1154限定虛擬適配器1112可以用于DMA讀寫操作的地址集。在創(chuàng)建系統(tǒng)映像緩沖器關(guān)聯(lián)列表1154之后,虛擬適配器1112驗(yàn)證通過(guò)系統(tǒng)映像1116請(qǐng)求的每一個(gè)DMA寫或者DMA讀被包含在系統(tǒng)映《象緩沖器關(guān)聯(lián)列表1154的緩沖器內(nèi)。如果通過(guò)系統(tǒng)映像1116請(qǐng)求的DMA寫或者DMA讀被包含在系統(tǒng)映像緩沖器關(guān)聯(lián)列表1154的緩沖器內(nèi),則虛擬適配器1112可以執(zhí)行操作。否則,禁止虛擬適配器1112執(zhí)行操作?;蛘撸琍CI系列適配器1101可以使用特殊的LPAR管理器式虛擬適配器(而不是虛擬適配器1112)執(zhí)行檢測(cè),以確定通過(guò)系統(tǒng)映像1116請(qǐng)求的DMA寫操作或者DMA讀操作是否被包含在系統(tǒng)映像緩沖器關(guān)聯(lián)列表1154的緩沖器內(nèi)。以相似的方式,與系統(tǒng)映像1108相關(guān)聯(lián)的虛擬適配器1104可以驗(yàn)證通過(guò)系統(tǒng)映像1108提交的DMA寫或者讀請(qǐng)求。具體來(lái)說(shuō),以與上面對(duì)系統(tǒng)映像1116和虛擬適配器1112所述的方式相似的方式,虛擬適配器1104通過(guò)確定通過(guò)系統(tǒng)映像1108請(qǐng)求的DMZ寫或者讀被包含在緩沖器管理列表的緩沖器內(nèi),對(duì)來(lái)自系統(tǒng)映像1108的DMA讀寫請(qǐng)求提供驗(yàn)證,所述緩沖器關(guān)聯(lián)列表包含與分配給系統(tǒng)映像1108的緩沖器的系統(tǒng)映像緩沖器起始和結(jié)束地址對(duì)相關(guān)聯(lián)的PCI總線起始和結(jié)束地址對(duì)。第四種范例機(jī)制,即,LPAR管理器708可以用來(lái)使主機(jī)內(nèi)存與系統(tǒng)映像和一個(gè)或者多個(gè)虛擬適配器相關(guān)聯(lián)、并使主機(jī)內(nèi)存可用于系統(tǒng)映像和一個(gè)或者多個(gè)虛擬適配器,將系統(tǒng)映像緩沖器關(guān)聯(lián)列表1154中的單個(gè)起始和結(jié)束地址寫入虛擬適配器的資源中。在圖11中,虛擬適配器資源1150包含單對(duì)PCI總線起始和結(jié)束地址,該單對(duì)PCI總線起始和結(jié)束地址通過(guò)硬件平臺(tái)與同系統(tǒng)映像緩沖器(例如,SI2第1緩沖器1166)相關(guān)聯(lián)的地址對(duì)(起始和結(jié)束地址)相關(guān)聯(lián)。在起初配置時(shí),并且,在重配置期間,LPAR管理器708將SI2緩沖器1166的起始和結(jié)束地址裝入虛擬適配器資源1150中的系統(tǒng)映像緩沖器關(guān)聯(lián)列表1154中。然后,系統(tǒng)映像緩沖器關(guān)聯(lián)列表1154限定虛擬適配器1112可以用于DMA讀寫操作的地址集。在創(chuàng)建系統(tǒng)映像緩沖器關(guān)聯(lián)列表1154之后,虛擬適配器1112驗(yàn)證通過(guò)系統(tǒng)映像1116請(qǐng)求的每一個(gè)DMA寫或者DMA讀是否被包含在系統(tǒng)映像緩沖器關(guān)聯(lián)列表1154內(nèi)。如果通過(guò)系統(tǒng)映像1116請(qǐng)求的DMA寫或者DMA讀被包含在系統(tǒng)映像緩沖器關(guān)聯(lián)列表1154內(nèi),則虛擬適配器1112可以執(zhí)行操作。否則,禁止虛擬適配器1112執(zhí)行操作。或者,PCI系列適配器1101可以使用特殊的、LPAR管理器式虛擬適配器(而不是虛擬適配器1150)執(zhí)行檢測(cè),以確定通過(guò)系統(tǒng)映像1116請(qǐng)求的DMA寫或者DMA讀是否被包含在頁(yè)系統(tǒng)映像緩沖器關(guān)聯(lián)列表1154內(nèi)。以相似的方式,與系統(tǒng)映〗象1108相關(guān)聯(lián)的虛擬適配器1104可以驗(yàn)證通過(guò)系統(tǒng)映像1108提交的DMA寫或者讀請(qǐng)求。具體來(lái)說(shuō),以與上面對(duì)系統(tǒng)映^象1116和虛擬適配器1112描述的方式相似的方式,虛擬適配器1104通過(guò)確定通過(guò)系統(tǒng)映像1108請(qǐng)求的DMA寫或者讀是否被包含在緩沖器關(guān)聯(lián)列表中的緩沖器內(nèi)來(lái)對(duì)來(lái)自系統(tǒng)映像1108的DMA讀寫請(qǐng)求提供驗(yàn)證,所述緩沖器關(guān)聯(lián)列表包含與分配給系統(tǒng)映像1108的系統(tǒng)映像緩沖器起始和結(jié)束地址相關(guān)聯(lián)的單個(gè)PCI總線起始和結(jié)束地址。接著轉(zhuǎn)到圖12,根據(jù)本發(fā)明的優(yōu)選實(shí)施例示出對(duì)系統(tǒng)映像可用的配置有內(nèi)存地址的PCI系列適配器的功能框圖。圖12示出四種不同的機(jī)制,通過(guò)這些機(jī)制,LPAR管理器可以將PCI系列適配器內(nèi)存與虛擬適配器(例如,虛擬適配器1204)和系統(tǒng)映像(例如,系統(tǒng)映像1208)相關(guān)聯(lián)。一旦PCI系列適配器與系統(tǒng)映像和虛擬適配器相關(guān)聯(lián),然后系統(tǒng)映像就可以執(zhí)行直接對(duì)PCI系列適配器內(nèi)存的內(nèi)存映射i/o讀寫操作(即,存儲(chǔ)和裝入)。在圖11和圖12所示的系統(tǒng)映像和虛擬適配器配置之間存在明顯的不同之處。在圖ll所示的配置中,PCI系列適配器1101僅僅保持一主機(jī)地址列表,所述主機(jī)地址不具有與它們相關(guān)聯(lián)的任何局部?jī)?nèi)存。如果PCI系列適配器支持直通通信,則到達(dá)外部端口的數(shù)據(jù)可以直接流過(guò)PCI系列適配器,并且通過(guò)DMA寫直接傳輸?shù)竭@些主機(jī)地址。類似地,如果PCI系列適配器支持直通通信,則來(lái)自這些主機(jī)地址可以直接流過(guò)PCI系列適配器,并且從外部端口傳輸出去。因此,圖11所示的PCI系列適配器1101不包含局部適配器內(nèi)存,因此,不能發(fā)起DMA操作。另一方面,圖12所示的PCI系列適配器1201具有與所述主機(jī)內(nèi)存地址列表相關(guān)聯(lián)的局部適配器內(nèi)存。PCI系列適配器1201可以發(fā)起(例如)從其局部?jī)?nèi)存到主機(jī)內(nèi)存的DMA寫或者從主機(jī)內(nèi)存到其局部?jī)?nèi)存的DMA讀。類似地,主機(jī)可以發(fā)起(例如)從其局部?jī)?nèi)存到PCI系列適配器內(nèi)存的內(nèi)存映射I/O寫或者從PCI系列適配器內(nèi)存到主機(jī)局部?jī)?nèi)存的內(nèi)存映射I/O讀。第一種機(jī)制和第二種機(jī)制,即,LPAR管理器708可以用來(lái)4吏PCI系列適配器內(nèi)存與系統(tǒng)映像和虛擬適配器相關(guān)聯(lián)、并使PCI系列適配器內(nèi)存可用于系統(tǒng)映像和虛擬適配器,將頁(yè)尺寸和一頁(yè)(第一種機(jī)制)或者多頁(yè)(第二種機(jī)制)的起始地址寫入PCI系列適配器的物理適配器內(nèi)存轉(zhuǎn)換表格1290中。在這種情況下,所有的頁(yè)都具有相同的尺寸。例如,圖12示出頁(yè)集,所述頁(yè)在系統(tǒng)映像1208和虛擬適配器1204之間映射。具體來(lái)說(shuō),將系統(tǒng)映像1208的SI1第1頁(yè)1224至SI1第N頁(yè)1242映射(通過(guò)互連箭頭示例性地示出)到物理適配器1201局部?jī)?nèi)存的虛擬適配器內(nèi)存頁(yè)1224-1232。對(duì)于系統(tǒng)映像1208,在該列表中的所有頁(yè)1224-1242具有相同的尺寸。在起初配置時(shí),在重配置期間,LPAR管理器708用頁(yè)尺寸和一頁(yè)或者多頁(yè)的起始地址裝入PCI系列適配器的物理適配器內(nèi)存轉(zhuǎn)換表格12卯。然后,物理適配器內(nèi)存轉(zhuǎn)換表格1290可以限定虛擬適配器1204可以用于DMA讀寫操作的地址集。在創(chuàng)建物理適配器內(nèi)存轉(zhuǎn)換表格1290之后,PCI系列適配器1201(者虛擬適配器1204)驗(yàn)證通過(guò)系統(tǒng)映像1208請(qǐng)求的每一個(gè)DMA寫或者DMA讀是否被包含在物理適配器內(nèi)存轉(zhuǎn)換表格1290中并與虛擬適配器1204相關(guān)聯(lián)。如果系統(tǒng)映像1208請(qǐng)求的DMA寫或者DMA讀被包含在物理適配器內(nèi)存轉(zhuǎn)換表格1290中并與虛擬適配器1204相關(guān)聯(lián),則虛擬適配器1204可以執(zhí)行操作。否則,禁止虛擬適配器1204執(zhí)行操作。物理適配器內(nèi)存轉(zhuǎn)換表格12卯也限定系統(tǒng)映像1208可以用于內(nèi)存映射I/0(MMIO)讀寫操作的地址集。在創(chuàng)建物理適配器內(nèi)存轉(zhuǎn)換表格12卯之后,PCI系列適配器1201(或者虛擬適配器1204)驗(yàn)證通過(guò)系統(tǒng)映像1208請(qǐng)求的內(nèi)存映射I/O寫或者讀是否被包含在物理適配器內(nèi)存轉(zhuǎn)換表格1290中并與虛擬適配器1204相關(guān)聯(lián)。如果通過(guò)系統(tǒng)映像1208請(qǐng)求的MMIO寫或者M(jìn)MIO讀^t包含在物理適配器內(nèi)存轉(zhuǎn)換表格1290中并與虛擬適配器1204相關(guān)聯(lián),則虛擬適配器1204可以執(zhí)行操作。否則,禁止虛擬適配器1204執(zhí)4亍操作。應(yīng)該理解,以與PCI系列適配器1201(或者虛擬適配器1212)驗(yàn)證通過(guò)系統(tǒng)映像1216請(qǐng)求的DMA操作和MMIO操作的方式相似的方式,配置其它系統(tǒng)映像和關(guān)聯(lián)虛擬適配器,例如,系統(tǒng)映4象1216和虛擬適配器1212。第三種機(jī)制和第四種機(jī)制,即,LPAR管理器708可以用來(lái)《吏PCI系列適配器內(nèi)存與系統(tǒng)映像和虛擬適配器相關(guān)聯(lián)、并使PCI系列適配器內(nèi)存可用于系統(tǒng)映像和虛擬適配器,將一個(gè)(第三種機(jī)制)或者多個(gè)(第四種機(jī)制)緩沖器起始和結(jié)束地址(或者,起始地址和長(zhǎng)度)寫入PCI系列適配器的物理適配器內(nèi)存轉(zhuǎn)換表格12卯中。在這種情況下,緩沖器可以具有不同的尺寸。例如,圖12示出不同尺寸的一組緩沖器,所述緩沖器在系統(tǒng)映像1216和虛擬適配器1212之間映射。具體來(lái)說(shuō),系統(tǒng)映像1216的SI2第1緩沖器1244至SI2第N緩沖器1248映射到虛擬適配器1212的虛擬適配器緩沖器1258-1274。關(guān)于系統(tǒng)映像1216,在該列表中的緩沖器具有不同的尺寸。在起初配置時(shí),并且,在重配置期間,LPAR管理器708將一頁(yè)或者多頁(yè)的起始和結(jié)束地址(或者起始地址和長(zhǎng)度)裝入PCI系列適配器的物理適配器內(nèi)存轉(zhuǎn)換表格1290。然后,物理適配器內(nèi)存轉(zhuǎn)換表格1290限定虛擬適配器1212可以用于DMA讀寫操作的地址集。在創(chuàng)建物理適配器內(nèi)存轉(zhuǎn)換表格1290之后,PCI系列適配器1201(虛擬適配器1212)驗(yàn)證通過(guò)系統(tǒng)映像1216請(qǐng)求的每一個(gè)DMA寫或者DMA讀是否被包含在物理適配器內(nèi)存轉(zhuǎn)換表格1290中并與虛擬適配器1212相關(guān)聯(lián)。如果通過(guò)系統(tǒng)映《象1216請(qǐng)求的DMA寫或者DMA讀被包含在物理適配器內(nèi)存轉(zhuǎn)換表格1290中并與虛擬適配器1212相關(guān)聯(lián),則虛擬適配器1212執(zhí)行操作。否則,禁止虛擬適配器1212執(zhí)行操作。物理適配器內(nèi)存轉(zhuǎn)換表格1290也限定系統(tǒng)映像1216可以用于內(nèi)存映射I/O(MMIO)讀寫操作的地址集。在創(chuàng)建物理適配器內(nèi)存轉(zhuǎn)換表格1290之后,PCI系列適配器1201(虛擬適配器1212)驗(yàn)證通過(guò)系統(tǒng)映1象1216請(qǐng)求的MMIO寫或者讀是否被包含在物理適配器內(nèi)存轉(zhuǎn)換表格12卯中并與虛擬適配器1212相關(guān)聯(lián)。如果通過(guò)系統(tǒng)映像1216請(qǐng)求的MMIO寫或者讀,皮包含在物理適配器內(nèi)存轉(zhuǎn)換表格1290中并與虛擬適配器1212相關(guān)聯(lián),則虛擬適配器1212可以執(zhí)行操作。否則,禁止虛擬適配器1212執(zhí)行操作。應(yīng)該理解,以與PCI系列適配器1201(或者虛擬適配器1204)驗(yàn)證通過(guò)系統(tǒng)映像1216請(qǐng)求的DMA操作和MMIO操作的方式相似的方式,配置其它系統(tǒng)映4象和關(guān)聯(lián)虛擬適配器,例如,系統(tǒng)映像1208和關(guān)聯(lián)虛擬適配器1204。接下來(lái),轉(zhuǎn)到圖13,根據(jù)本發(fā)明的優(yōu)選實(shí)施例示出PCI系列適配器和物理地址內(nèi)存轉(zhuǎn)換表格(例如,緩沖器表格或者頁(yè)表格)的功能框圖。圖13也示出如何可以使用在輸入PCI總線事務(wù)1304中引用的地址來(lái)查詢與內(nèi)存地址相關(guān)聯(lián)的虛擬適配器資源(包括映射到主機(jī)地址的局部PCI系列適配器內(nèi)存地址)(例如,虛擬適配器資源1398或者虛擬適配器1394資源)的四種機(jī)制。第一機(jī)制是,將輸入PCI總線事務(wù)1304的內(nèi)存地址與緩沖器表格1390中的高地址1316和低地址1320中的每一行比較。如果輸入PCI總線事務(wù)1304具有低于高地址1316單元的內(nèi)容并高于低地址1320單元的內(nèi)容的地址,則輸入PCI總線事務(wù)1304在與相應(yīng)的虛擬適配器相關(guān)聯(lián)的高地址和低地址單元之內(nèi)。在這種情況下,允許輸入PCI總線事務(wù)1304在匹配的虛擬適配器上執(zhí)行?;蛘?,如果輸入PCI總線事務(wù)1304具有不在高地址1316單元的內(nèi)容和低地址1320單元的內(nèi)容之間的地址,則禁止完成或者處理輸入PCI總線事務(wù)1304。第二種機(jī)制僅僅允許在每一個(gè)虛擬適配器的緩沖器表格1390中的單個(gè)項(xiàng)。第三種機(jī)制是,將輸入PCI總線事務(wù)1304的內(nèi)存地址與每一行頁(yè)起始地址1322和每一行頁(yè)起始地址1332加上頁(yè)表格1392中的頁(yè)尺寸比較。如果輸入PCI總線事務(wù)1304具有高于或者等于頁(yè)起始地址1322單元的內(nèi)容并低于頁(yè)起始地址1322單元加上頁(yè)尺寸的地址,則輸入PCI總線事務(wù)1304在與虛擬適配器相關(guān)聯(lián)的頁(yè)內(nèi)。因此,允許輸入PCI總線事務(wù)1304在匹配的虛擬適配器上執(zhí)行?;蛘?,如果輸入PCI總線事務(wù)1304具有不在頁(yè)起始地址1322單元的內(nèi)容和頁(yè)起始地址1322單元加上頁(yè)尺寸之內(nèi)的地址,則禁止完成輸入PCI總線事務(wù)1304。笫四種機(jī)制僅僅允許在每一個(gè)虛擬適配器的頁(yè)表格1392中的單個(gè)項(xiàng)。接下來(lái),參照?qǐng)D14,根據(jù)本發(fā)明的優(yōu)選實(shí)施例示出PCI系列適配器和物理地址內(nèi)存轉(zhuǎn)換表格(例如,緩沖器表格、頁(yè)表格或者間接局部地址表格)的功能框圖。圖14也示出如何使用在輸入PCI總線事務(wù)1404中引用的請(qǐng)求者總線號(hào)(例如,主機(jī)總線號(hào)1408)、請(qǐng)求者裝置號(hào)(例如,主機(jī)裝置號(hào)1412)和請(qǐng)求者功能號(hào)(例如,主機(jī)功能號(hào)1416)來(lái)給緩沖器表格1498、頁(yè)表格1494或者間接局部地址表格1464編索引的幾種機(jī)制。緩沖器表格1498代表圖13所示的緩沖器表格1390。頁(yè)表格1490代表圖13所示的頁(yè)表格1392。局部地址表格1464包含局部PCI系列適配器內(nèi)存地址,局部PCI系列適配器內(nèi)存地址引用緩沖器表格(例如,緩沖器表格1438)或者頁(yè)表格(例如,頁(yè)表格1434),所述表格僅僅包含映射到同一虛擬適配器上的主機(jī)內(nèi)存地址。在輸入PCI總線事務(wù)1404中引用的請(qǐng)求者總線號(hào)(例如,主機(jī)總線號(hào)1408)、請(qǐng)求者裝置號(hào)(例如,主機(jī)裝置號(hào)1412)和請(qǐng)求者功能號(hào)(例如,主機(jī)功能號(hào)1416)提供由主機(jī)LPAR管理器建立的內(nèi)存地址映射之外的附加檢查。接下來(lái),轉(zhuǎn)到圖15,根據(jù)本發(fā)明的優(yōu)選實(shí)施例示出虛擬適配器等級(jí)管理方法。在該方法中,物理或者虛擬主機(jī)創(chuàng)建一個(gè)或者多個(gè)虛擬適配器(例如,虛擬適配器1514),每一個(gè)包含在物理適配器(例如,PCI適配器1532)的范圍內(nèi)的資源集。每一個(gè)虛擬適配器與主機(jī)側(cè)系統(tǒng)映像相關(guān)聯(lián)。虛擬適配器包含物理適配器的資源集(或者虛擬化的或者分區(qū)的)。通過(guò)限定虛擬適配器實(shí)體,通過(guò)指導(dǎo)對(duì)相應(yīng)的虛擬適配器的操作,可以聯(lián)合地操作與系統(tǒng)映像相關(guān)聯(lián)的所有虛擬資源。例如,通過(guò)執(zhí)行將相應(yīng)的虛擬適配器作為目標(biāo)的功能,可以創(chuàng)建、破壞和修改虛擬適配器(以及,所有包含的虛擬資源)。另外,虛擬適配器管理方法允許虛擬適配器的所有資源用與虛擬適配器相關(guān)聯(lián)的單個(gè)標(biāo)識(shí)符(例如,總線號(hào)、裝置號(hào)和功能號(hào))識(shí)別。與虛擬適配器1514相關(guān)聯(lián)的資源集可以包括,例如處理隊(duì)列和關(guān)聯(lián)資源1504;用于在PCI物理適配器1532上包含的一個(gè)或者多個(gè)適配器PCI端口1528的適配器PCI端口1528;與在適配器PCI端口1528上的一個(gè)可能的地址相關(guān)聯(lián)的PCI虛擬端口1506;用于每一個(gè)下游物理端口的一個(gè)或者多個(gè)下游物理端口1518和1522;與在物理端口1518和1522上的一個(gè)可能的地址相關(guān)聯(lián)的下游虛擬端口1508和1510;以及一個(gè)或者多個(gè)地址轉(zhuǎn)換和保護(hù)表格(ATPT)1512。如本文所指的虛擬端口包括幫助從輸入/輸出適配器的一個(gè)或者多個(gè)資源接收數(shù)據(jù)、并發(fā)送數(shù)據(jù)給輸入/輸出適配器的一個(gè)或者多個(gè)資源的軟件實(shí)體。虛擬端口與在輸入/輸出適配器上部署的端口相關(guān)聯(lián)或者被映射到其上。例如,虛擬端口可以與適配器PCI端口相關(guān)聯(lián),通過(guò)該適配器PCI端口所述輸入/輸出適配器與連接到外圍或者網(wǎng)絡(luò)的適配器上的主機(jī)或者物理端口連接。虛擬端口具有關(guān)聯(lián)標(biāo)識(shí)符(例如,地址、指針)或者用于引用所述虛擬適配器的另一合適的標(biāo)識(shí)符。單個(gè)端口,例如,在輸入/輸出適配器上的PCI端口或者物理端口可以具有多個(gè)與其相關(guān)聯(lián)的虛擬端口。另外,虛擬端口優(yōu)選配置成表現(xiàn)其所映射的物理端口的一種或者多種特性?,F(xiàn)在轉(zhuǎn)到圖16,根據(jù)本發(fā)明的優(yōu)選實(shí)施例示出用于修改與數(shù)據(jù)處理系統(tǒng)中的虛擬適配器相關(guān)的資源的屬性的虛擬適配器資源修改程序,該數(shù)據(jù)處理系統(tǒng)使用圖15所述的虛擬適配器管理方法。通過(guò)調(diào)用修改現(xiàn)有的虛擬適配器的屬性來(lái)開(kāi)始虛擬適配器資源修改例程(步驟1700)。例如,可以通過(guò)用戶管理接口或者自動(dòng)腳本/工作流來(lái)調(diào)用修改虛擬適配器的屬性的請(qǐng)求。表A包含可接受修改請(qǐng)求的各種虛擬適配器屬性的例子。表A<table>tableseeoriginaldocumentpage30</column></row><table>LPAR管理器直接或者通過(guò)另一合適的中介物使用物理適配器的內(nèi)存管理接口(即,用于虛擬適配器配置管理的內(nèi)存映射1/0地址)來(lái)請(qǐng)求物理適配器修改現(xiàn)有的虛擬適配器的屬性(步驟1708)。物理適配器檢查以了解為所修改的虛擬適配器請(qǐng)求的資源的數(shù)目是否超過(guò)可用資源(步驟1724)。如果物理適配器的確沒(méi)有充足的資源來(lái)完成修改請(qǐng)求,則以終止代碼產(chǎn)生錯(cuò)誤,該終止代碼敘述它沒(méi)有足夠的資源(步驟1725)并且虛擬適配器資源修改例程存在(步驟1736)?;蛘撸琇PAR管理器,而不是物理適配器,可以檢查以確定物理適配器在請(qǐng)求物理適配器修改虛擬適配器資源之前是否具有足以修改虛擬適配器資源的資源。再次返回到步驟1724,如果物理適配器的確具有足夠的資源來(lái)完成請(qǐng)求,則它檢查以了解該請(qǐng)求是否是修改當(dāng)前占用的資源的請(qǐng)求(步驟1726)。如果該請(qǐng)求沒(méi)有影響當(dāng)前占用的資源,則物理適配器繼續(xù)修改虛擬適配器的資源屬性(步驟1732)。如果在步驟1726中確定該請(qǐng)求影響占用的資源,則PCI物理適配器啟動(dòng)定時(shí)器以等待靜態(tài)點(diǎn)到達(dá)(步驟1728),靜態(tài)點(diǎn)即是再也沒(méi)有使用下游接口和上游接口上未完成的虛擬適配器資源修改請(qǐng)求所作為目標(biāo)的資源的操作時(shí)。然后,物理適配器評(píng)估在到時(shí)之外是否到達(dá)靜態(tài)點(diǎn)(步驟1730)。如果物理適配器在定時(shí)器到時(shí)之前到達(dá)靜態(tài)點(diǎn),則它繼續(xù)根據(jù)步驟1732修改虛擬適配器的屬性。否則,虛擬適配器資源修改例程產(chǎn)生顯示物理適配器忙碌并且不能完成請(qǐng)求的錯(cuò)誤(步驟1731),并且該例程繼續(xù)根據(jù)步驟1736退出。在物理適配器修改現(xiàn)有的虛擬適配器的屬性并完成請(qǐng)求時(shí),物理適配器產(chǎn)生返回消息,該返回消息傳送到LPAR管理器(步驟1734)。表B示出在成功地修改虛擬適配器資源屬性時(shí)可以傳送到LPAR管理器的范例的屬性信息。31表B<table>tableseeoriginaldocumentpage32</column></row><table>一旦將返回消息傳送給LPAR管理器,根據(jù)步驟1736退出虛擬適配器資源修改例程。權(quán)利要求1.一種用于修改在邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中的資源的方法,該方法包括以下步驟調(diào)用一請(qǐng)求以修改與在物理適配器上分配的虛擬適配器相關(guān)聯(lián)的資源,其中所述資源包括一個(gè)物理適配器資源子集;將所述請(qǐng)求傳送給所述物理適配器;以及響應(yīng)于由所述物理適配器接收所述請(qǐng)求,修改分配給所述物理適配器上的所述虛擬適配器的所述資源。2.根據(jù)權(quán)利要求1所述的方法,其中通過(guò)與邏輯分區(qū)管理器相連接的用戶管理接口執(zhí)行所述調(diào)用步驟。3.根據(jù)權(quán)利要求l所述的方法,其中所述傳送步驟還包括通過(guò)與所述物理適配器連接的邏輯分區(qū)管理器,請(qǐng)求所述物理適配器通過(guò)所述物理適配器的內(nèi)存管理接口修改所述虛擬適配器的所述資源。4.根據(jù)權(quán)利要求1所述的方法,其中所述物理適配器包括外圍部件互連系列適配器。5.根據(jù)權(quán)利要求l所述的方法,還包括評(píng)估與所述虛擬適配器相關(guān)聯(lián)的現(xiàn)有資源是否足以滿足所述請(qǐng)求。6.根據(jù)權(quán)利要求l所述的方法,還包括響應(yīng)于確定與所述虛擬適配器相關(guān)聯(lián)的所述資源可包含在所述現(xiàn)有的資源內(nèi),啟動(dòng)定時(shí)器。7.根據(jù)權(quán)利要求6所述的方法,還包括評(píng)估在所述定時(shí)器到時(shí)之前是否到達(dá)靜態(tài)點(diǎn)。8.根據(jù)權(quán)利要求7所述的方法,其中響應(yīng)于到達(dá)所述靜態(tài)點(diǎn),進(jìn)行修改所述資源。9.根據(jù)權(quán)利要求l所述的方法,還包括將返回消息傳送給邏輯分區(qū)管理器,其顯示已修改的虛擬適配器資源的屬性。10.根據(jù)權(quán)利要求l所述的方法,其中所述虛擬適配器具有包括總線號(hào)、裝置號(hào)和功能號(hào)的關(guān)聯(lián)標(biāo)識(shí)符,并且所述請(qǐng)求通過(guò)參考所述標(biāo)識(shí)符來(lái)指定所述虛擬適配器。11.一種用于修改邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中的資源的計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品包括第一指令,其調(diào)用一請(qǐng)求以修改與分配在物理適配器上的虛擬適配器相關(guān)聯(lián)的資源;笫二指令,其傳送所述請(qǐng)求給所述物理適配器;以及第三指令,其響應(yīng)于由所述物理適配器接收所述請(qǐng)求而修改分配在所述物理適配器上的所述虛擬適配器的所述資源。12.根據(jù)權(quán)利要求ll所述的計(jì)算機(jī)程序產(chǎn)品,還包括第四指令,其通過(guò)與邏輯分區(qū)管理器相連接的用戶管理接口調(diào)用所述請(qǐng)求;13.根據(jù)權(quán)利要求ll所述的計(jì)算機(jī)程序產(chǎn)品,還包括第四指令,其評(píng)估與所述虛擬適配器相關(guān)聯(lián)的所述資源是否可包含在現(xiàn)有資源內(nèi)。14.根據(jù)權(quán)利要求13所述的計(jì)算機(jī)程序產(chǎn)品,還包括第五指令,其響應(yīng)于確定與所述虛擬適配器相關(guān)聯(lián)的所述資源可以包含在所述現(xiàn)有資源內(nèi)的所述第四指令,而啟動(dòng)定時(shí)器。15.根據(jù)權(quán)利要求14所述的計(jì)算機(jī)程序產(chǎn)品,還包括第六指令,其評(píng)估在所述定時(shí)器到時(shí)之前是否到達(dá)所述靜態(tài)點(diǎn)。16.根據(jù)權(quán)利要求15所述的計(jì)算機(jī)程序產(chǎn)品,其中所述第三指令響應(yīng)于確定在所述定時(shí)器到時(shí)之前到達(dá)所述靜態(tài)點(diǎn)的所述第六指令而修改所述資源。17.根據(jù)權(quán)利要求ll所述的計(jì)算機(jī)程序產(chǎn)品,還包括第四指令,其傳送返回消息給邏輯分區(qū)管理器,其顯示已修改的所述資源的屬性。18.根據(jù)權(quán)利要求11所述的計(jì)算機(jī)程序產(chǎn)品,所述虛擬適配器具有包括總線號(hào)、裝置號(hào)和功能號(hào)的關(guān)聯(lián)標(biāo)識(shí)符,并且所述請(qǐng)求通過(guò)參考所述標(biāo)識(shí)符來(lái)指定所述虛擬適配器。19.一種適合修改虛擬適配器資源的邏輯分區(qū)數(shù)據(jù)處理系統(tǒng),包括物理適配器,其具有多個(gè)被分配的虛擬適配器,其中每一個(gè)虛擬適配器具有所分配給它的、所述物理適配器的資源的相應(yīng)子集;內(nèi)存,其包含多個(gè)系統(tǒng)映像,每一個(gè)系統(tǒng)映像分別與所述多個(gè)虛擬適配器之一相關(guān)聯(lián);存儲(chǔ)器,其包含作為指令集的邏輯分區(qū)管理器;以及處理器,響應(yīng)于所述指令的執(zhí)行,該處理器產(chǎn)生修改分配給所述多個(gè)虛擬適配器中的一個(gè)虛擬適配器的資源的子集的請(qǐng)求,并且傳輸所述請(qǐng)求給所述物理適配器,其中所述物理適配器響應(yīng)于接收所述請(qǐng)求而修改分配給所述虛擬適配器的資源的子集。20.根據(jù)權(quán)利要求19所述的數(shù)據(jù)處理系統(tǒng),其中所述存儲(chǔ)器包括系統(tǒng)固件。21.根據(jù)權(quán)利要求19所述的數(shù)據(jù)處理系統(tǒng),其中所述物理適配器包括外圍部件互連系列適配器。22.根據(jù)權(quán)利要求19所述的數(shù)據(jù)處理系統(tǒng),其中所述物理適配器傳送返回消息給所述存儲(chǔ)器,其指定已修改的所述資源的子集的屬性。23.才艮據(jù)權(quán)利要求19所述的數(shù)據(jù)處理系統(tǒng),其中所述虛擬適配器具有包括總線號(hào)、裝置號(hào)和功能號(hào)的關(guān)聯(lián)標(biāo)識(shí)符,并且所述請(qǐng)求通過(guò)參考所述標(biāo)識(shí)符來(lái)指定所述虛擬適配器。全文摘要本發(fā)明提供用于修改邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中的資源的機(jī)制。調(diào)用一請(qǐng)求以修改與分配在物理適配器上的虛擬適配器相關(guān)資源。與虛擬適配器相關(guān)的資源包括物理適配器資源的子集。將修改物理適配器的請(qǐng)求傳送給物理適配器。響應(yīng)于通過(guò)物理適配器接收請(qǐng)求,物理適配器修改分配給虛擬適配器的資源。文檔編號(hào)G06F9/455GK101124541SQ200680005122公開(kāi)日2008年2月13日申請(qǐng)日期2006年2月22日優(yōu)先權(quán)日2005年2月25日發(fā)明者利赫·沙利夫,加亞·斯里克里什南,吉奧拉·比蘭,哈維·G.·基埃爾,帕特里克·A.·巴克蘭德,理查德·L.·阿恩德特,瓦蒂姆·馬克赫爾瓦克斯,雷納多·J.·雷西奧申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司