两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉方法和裝置制造方法

文檔序號:6515111閱讀:259來源:國知局
多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉方法和裝置制造方法
【專利摘要】本發(fā)明實施例提供一種多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉方法和裝置。該多節(jié)點系統(tǒng)包括主節(jié)點和至少一個從節(jié)點,該方法包括:主節(jié)點獲取所述主節(jié)點的第一外部設(shè)備互聯(lián)PCI枚舉結(jié)果;所述主節(jié)點獲取所述多節(jié)點系統(tǒng)內(nèi)的各從節(jié)點對應(yīng)的第二PCI枚舉結(jié)果;所述主節(jié)點根據(jù)所述第一PCI枚舉結(jié)果和所述各從節(jié)點對應(yīng)第二PCI枚舉結(jié)果生成所述多節(jié)點系統(tǒng)的PCI樹。本發(fā)明實施例提供的方法,提高了多節(jié)點系統(tǒng)的啟動速度,進(jìn)而縮短了多節(jié)點系統(tǒng)的啟動時間。
【專利說明】多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明實施例涉及通信【技術(shù)領(lǐng)域】,尤其涉及一種多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉方法和裝置。
【背景技術(shù)】
[0002]外部設(shè)備互聯(lián)(PeripheralComponent Interconnect,以下簡稱 PCI)是一種互連總線,其在傳輸速率上與傳統(tǒng)總線相比具有很大的提高。以PCI總線為標(biāo)準(zhǔn)的設(shè)備稱為PCI 設(shè)備。對于統(tǒng)一可擴(kuò)展接 ロ(Unified Extendsible Firmware Interface,以下簡稱UEFI)的基本輸入輸出系統(tǒng)(Basic Input/Output System,以下簡稱BIOS)來說,必須通過驅(qū)動執(zhí)行環(huán)境(Driver Excution Envirenment,以下簡稱DXE)階段的PCI枚舉使能這些PCI設(shè)備。其中,PCI枚舉是為了動態(tài)查詢系統(tǒng)的PCI橋和PCI設(shè)備,并為查詢到的橋分配總線(BUS)號,以及為橋和設(shè)備分配資源;最后加載Option Rom和驅(qū)動,完成PCI設(shè)備的初始化,進(jìn)而使能PCI設(shè)備。一般的,基于節(jié)點控制器(Node Controller,以下簡稱NC)的大系統(tǒng)服務(wù)器,以節(jié)點作為相對獨立的単元,多個節(jié)點組成ー個完整的大系統(tǒng),每個節(jié)點包含一部分硬件資源。節(jié)點之間通過NC互連,每個節(jié)點上還都有一個或多個北橋(1/0 Hub,以下簡稱10H),被當(dāng)作根橋(Root Bridge),每個IOH都有若干接ロ(Port),被當(dāng)作P2P橋(PCIto PCI Bridge,以下簡稱P2P Bridge),PCI設(shè)備掛在由Port引出的PCI插槽上。BIOS啟動時運行PCI枚舉代碼找到系統(tǒng)中的PCI橋和PCI設(shè)備。由于大系統(tǒng)PCI橋和PCI設(shè)備很多,其初始化過程成為ー個影響啟動時間的因素。
[0003]現(xiàn)有技術(shù)中,PCI枚舉是串行的動態(tài)查詢系統(tǒng)中的PCI設(shè)備?;贜C的大系統(tǒng),每個節(jié)點都有I個或多個Root Bridge,通過主節(jié)點的主線程執(zhí)行PCI枚舉代碼,從而輪詢系統(tǒng)中全部的Root Bridge。S卩,首先虛擬ー個主橋(Host Bridge),并根據(jù)系統(tǒng)拓?fù)浍@取所有的Root Bridge,然后輪流查詢姆一個Root Bridge下的P2P Bridge及PCI Device,為其分配BUS號和資源,及加載PCI Device的Option Rom及驅(qū)動,最終使能系統(tǒng)中所有的PCI設(shè)備。
[0004]但是,現(xiàn)有的PCI枚舉經(jīng)常會造成多節(jié)點系統(tǒng)的啟動時間慢。

【發(fā)明內(nèi)容】

[0005]本發(fā)明實施例提供一種多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉方法和裝置,提高了多節(jié)點系統(tǒng)的啟動速度,從而縮短了多節(jié)點系統(tǒng)的啟動時間。
[0006]本發(fā)明實施例第一方面提供一種多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉方法,所述多節(jié)點系統(tǒng)包括主節(jié)點和至少ー個從節(jié)點,所述方法包括:
[0007]主節(jié)點獲取所述主節(jié)點的第一外部設(shè)備互聯(lián)PCI枚舉結(jié)果;
[0008]所述主節(jié)點獲取所述多節(jié)點系統(tǒng)內(nèi)的各從節(jié)點對應(yīng)的第二 PCI枚舉結(jié)果;
[0009]所述主節(jié)點根據(jù)所述第一 PCI枚舉結(jié)果和所述各從節(jié)點對應(yīng)第二 PCI枚舉結(jié)果生成所述多節(jié)點系統(tǒng)的PCI樹。[0010]結(jié)合第一方面,在第一方面的第一種可能的實施方式中,在所述主節(jié)點獲取所述主節(jié)點的第一 PCI枚舉結(jié)果之前,所述方法還包括:
[0011]所述主節(jié)點激活所述多節(jié)點系統(tǒng)內(nèi)的各個從節(jié)點。
[0012]結(jié)合第一方面的第一種可能的實施方式,在第一方面的第二種可能的實施方式中,所述主節(jié)點獲取所述主節(jié)點的第一 PCI枚舉結(jié)果,包括:
[0013]所述主節(jié)點枚舉所述主節(jié)點內(nèi)的第一 PCI設(shè)備;
[0014]所述主節(jié)點為所述第一 PCI設(shè)備分配第一資源,并為所述第一 PCI設(shè)備加載第一Option ROM和第一驅(qū)動,獲得第一 PCI枚舉結(jié)果。
[0015]結(jié)合第一方面的第一種可能的實施方式,在第一方面的第三種可能的實施方式中,所述主節(jié)點獲取所述主節(jié)點的第一 PCI枚舉結(jié)果,還包括:
[0016]所述主節(jié)點枚舉所述主節(jié)點內(nèi)的第一 PCI橋和所述第一 PCI橋的第二 PCI設(shè)備;
[0017]所述主節(jié)點為所述第一 PCI橋分配第一總線BUS號和第二資源,為所述第二 PCI設(shè)備分配第三資源,并為所述第二 PCI設(shè)備加載第二 Option ROM和第二驅(qū)動,獲得第一 PCI枚舉結(jié)果;其中,所述第二資源包括所述第三資源。
[0018]結(jié)合第一方面的第一種可能的實施方式,在第一方面的第四種可能的實施方式中,所述主節(jié)點獲取所述主節(jié)點的第一 PCI枚舉結(jié)果,還包括:
[0019]所述主節(jié)點枚舉所述主節(jié)點內(nèi)的第一 PCI設(shè)備、第一 PCI橋和所述第一 PCI橋的第二 PCI設(shè)備;
[0020]所述主節(jié)點為所述第一 PCI設(shè)備分配第一資源,并為所述第一 PCI設(shè)備加載第一Option ROM和第一驅(qū)動;所述主節(jié)點為所述第一 PCI橋分配第一 BUS號和第二資源,為所述第二 PCI設(shè)備分配第三資源,并為所述第二 PCI設(shè)備加載第二 Option ROM和第二驅(qū)動,獲得第一 PCI枚舉結(jié)果。
[0021]結(jié)合第一方面的第二種可能的實施方式至第一方面的第四種可能的實施方式中的任ー項,在第一方面的第五種可能的實施方式中,所述第二 PCI枚舉結(jié)果包括:
[0022]所述各從節(jié)點內(nèi)的已分配第四資源的第三PCI設(shè)備,且所述第三PCI設(shè)備已加載第三Option ROM和第三驅(qū)動;和/或,
[0023]所述各從節(jié)點內(nèi)的已分配第二 BUS號和第五資源的第二 PCI橋,以及,所述各從節(jié)點內(nèi)的已分配第六資源的第四PCI設(shè)備,且所述第四PCI設(shè)備已加載第四Option ROM和第四驅(qū)動;其中,所述第五資源包括所述第六資源。
[0024]本發(fā)明實施例第二方面提供一種多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉方法,所述多節(jié)點系統(tǒng)包括主節(jié)點和至少ー個從節(jié)點,所述方法包括:
[0025]所述從節(jié)點獲取自身節(jié)點內(nèi)的第二外部設(shè)備互聯(lián)PCI枚舉結(jié)果;
[0026]所述從節(jié)點存儲所述第二 PCI枚舉結(jié)果,以供所述主節(jié)點從所述從節(jié)點獲取所述第二 PCI枚舉結(jié)果,并使所述主節(jié)點根據(jù)所述主節(jié)點的第一 PCI枚舉結(jié)果和所述第二 PCI枚舉結(jié)果生成所述多節(jié)點系統(tǒng)的PCI樹。
[0027]結(jié)合第二方面,在第二方面的第一種可能的實施方式中,所述從節(jié)點獲取自身節(jié)點內(nèi)的第二 PCI枚舉結(jié)果之前,所述從節(jié)點處于等待被所述主節(jié)點激活的狀態(tài)。
[0028]結(jié)合第二方面的第一種可能的實施方式,在第二方面的第二種可能的實施方式中,所述從節(jié)點獲取自身節(jié)點內(nèi)的第二 PCI枚舉結(jié)果,包括:[0029]所述從節(jié)點枚舉自身節(jié)點內(nèi)第三PCI設(shè)備;
[0030]所述從節(jié)點為所述第三PCI設(shè)備分配第四資源,并為所述第三PCI設(shè)備加載第三Option ROM和第三驅(qū)動,獲得第二 PCI枚舉結(jié)果。
[0031]結(jié)合第二方面的第一種可能的實施方式,在第二方面的第三種可能的實施方式中,所述從節(jié)點獲取自身節(jié)點內(nèi)的第二 PCI枚舉結(jié)果,還包括:
[0032]所述從節(jié)點枚舉自身節(jié)點內(nèi)的第二 PCI橋和所述第二 PCI橋的第四PCI設(shè)備;
[0033]所述從節(jié)點為所述第二 PCI橋分配第二總線BUS號和第五資源,以及,為所述第四PCI設(shè)備分配第六資源,并為所述第四PCI設(shè)備加載第四OptionROM和第四驅(qū)動,獲得第二PCI枚舉結(jié)果;其中,所述第五資源包括所述第六資源。
[0034]結(jié)合第二方面的第一種可能的實施方式,在第二方面的第四種可能的實施方式中,所述從節(jié)點獲取自身節(jié)點內(nèi)的第二 PCI枚舉結(jié)果,還包括:
[0035]所述從節(jié)點枚舉自身節(jié)點內(nèi)第三PCI設(shè)備、第二 PCI橋和所述第二 PCI橋的第四PCI設(shè)備;
[0036]所述從節(jié)點為所述第三PCI設(shè)備分配第四資源,并為所述第三PCI設(shè)備加載第三Option ROM和第三驅(qū)動;所述從節(jié)點為所述第二 PCI橋分配第二 BUS號和第五資源,以及,為所述第四PCI設(shè)備分配第六資源,并為所述第四PCI設(shè)備加載第四Option ROM和第四驅(qū)動,獲得第二 PCI枚舉結(jié)果;其中,所述第五資源包括所述第六資源。
[0037]本發(fā)明實施例第三方面提供一種多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉裝置,所述多節(jié)點系統(tǒng)包括主節(jié)點和至少ー個從節(jié)點,所述裝置包括:
[0038]第一獲取模塊,用于獲取所述主節(jié)點的第一外部設(shè)備互聯(lián)PCI枚舉結(jié)果;
[0039]第二獲取模塊,用于獲取所述多節(jié)點系統(tǒng)內(nèi)的各從節(jié)點對應(yīng)的第二 PCI枚舉結(jié)果;
[0040]生成模塊,用于根據(jù)所述第一 PCI枚舉結(jié)果和所述各從節(jié)點對應(yīng)第二 PCI枚舉結(jié)果生成所述多節(jié)點系統(tǒng)的PCI樹。
[0041]結(jié)合第三方面,在第三方面的第一種可能的實施方式中,所述裝置還包括:
[0042]激活模塊,用于在所述第一獲取模塊獲取所述主節(jié)點的第一外部設(shè)備互聯(lián)PCI枚舉結(jié)果之前,激活所述多節(jié)點系統(tǒng)內(nèi)的各個從節(jié)點。
[0043]結(jié)合第三方面的第一種可能的實施方式,在第三方面的第二種可能的實施方式中,所述第一獲取模塊包括:
[0044]第一枚舉單元,用于枚舉所述主節(jié)點內(nèi)的第一 PCI設(shè)備;
[0045]第一分配獲取單元,用于為所述第一 PCI設(shè)備加載第一 Option ROM和第一驅(qū)動,獲得第一 PCI枚舉結(jié)果。
[0046]結(jié)合第三方面的第一種可能的實施方式,在第三方面的第三種可能的實施方式中,所述第一獲取模塊還包括:
[0047]第二枚舉單元,用于枚舉所述主節(jié)點內(nèi)的第一 PCI橋和所述第一 PCI橋的第二 PCI設(shè)備;
[0048]第二分配獲取單元,用于為所述第一 PCI橋分配第一總線BUS號和第二資源,為所述第二 PCI設(shè)備分配第三資源,并為所述第二 PCI設(shè)備加載第二 Option ROM和第二驅(qū)動,獲得第一 PCI枚舉結(jié)果;其中,所述第二資源包括所述第三資源。[0049]結(jié)合第三方面的第一種可能的實施方式,在第三方面的第四種可能的實施方式中,所述第一獲取模塊還包括:
[0050]第三枚舉單元,用于枚舉所述主節(jié)點內(nèi)的第一 PCI設(shè)備、第一 PCI橋和所述第一PCI橋的第二 PCI設(shè)備;
[0051 ] 第三分配獲取單元,用于為所述第一 PCI設(shè)備分配第一資源,并為所述第一 PCI設(shè)備加載第一 Option ROM和第一驅(qū)動;并為所述第一 PCI橋分配第一 BUS號和第二資源,為所述第二PCI設(shè)備分配第三資源,并為所述第二PCI設(shè)備加載第二Option ROM和第二驅(qū)動,獲得第一 PCI枚舉結(jié)果。
[0052]結(jié)合第三方面的第二種可能的實施方式至第三方面的第四種可能的實施方式中的任ー項,在第三方面的第五種可能的實施方式中,所述第二 PCI枚舉結(jié)果,包括;
[0053]所述各從節(jié)點內(nèi)的已分配第四資源的第三PCI設(shè)備,且所述第三PCI設(shè)備已加載第三Option ROM和第三驅(qū)動;和/或,
[0054]所述各從節(jié)點內(nèi)的已分配第二 BUS號和第五資源的第二 PCI橋,以及,所述各從節(jié)點內(nèi)的已分配第六資源的第四PCI設(shè)備,且所述第四PCI設(shè)備已加載第四Option ROM和第四驅(qū)動;其中,所述第五資源包括所述第六資源。
[0055]本發(fā)明實施例第四方面提供一種多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉裝置,所述多節(jié)點系統(tǒng)包括主節(jié)點和至少ー個從節(jié)點,所述裝置包括:
[0056]獲取模塊,用于獲取自身節(jié)點內(nèi)的第二外部設(shè)備互聯(lián)PCI枚舉結(jié)果;
[0057]存儲模塊,用于存儲所述第二 PCI枚舉結(jié)果,以供所述主節(jié)點從所述從節(jié)點獲取所述第二 PCI枚舉結(jié)果,并使所述主節(jié)點根據(jù)所述主節(jié)點的第一 PCI枚舉結(jié)果和所述第二PCI枚舉結(jié)果生成所述多節(jié)點系統(tǒng)的PCI樹。
[0058]結(jié)合第四方面,在第四方面的第一種可能的實施方式中,所述獲取模塊在獲取自身節(jié)點內(nèi)的第二 PCI枚舉結(jié)果之前,所述從節(jié)點處于等待被所述主節(jié)點激活的狀態(tài)。
[0059]結(jié)合第四方面的第一種可能的實施方式,在第四方面的第二種可能的實施方式中,所述獲取模塊包括:
[0060]第一枚舉單元,用于枚舉自身節(jié)點內(nèi)的第二 PCI設(shè)備;
[0061]第一分配獲取單元,用于為所述第二 PCI設(shè)備分配第四資源,并為所述第二 PCI設(shè)備加載第二 Option ROM和第二驅(qū)動,獲得第二 PCI枚舉結(jié)果。
[0062]結(jié)合第四方面的第一種可能的實施方式,在第四方面的第三種可能的實施方式中,所述獲取模塊還包括:
[0063]第二枚舉單元,用于枚舉自身節(jié)點內(nèi)的第二 PCI橋和所述第二 PCI橋的第四PCI設(shè)備;
[0064]第二分配獲取單元,用于為所述第二 PCI橋分配第二總線BUS號和第五資源,以及,為所述第四PCI設(shè)備分配第六資源,并為所述第四PCI設(shè)備加載第四Option ROM和第四驅(qū)動,獲得第二 PCI枚舉結(jié)果;其中,所述第五資源包括所述第六資源。
[0065]結(jié)合第四方面的第一種可能的實施方式,在第四方面的第四種可能的實施方式中,所述獲取模塊還包括:
[0066]第三枚舉單元,用于枚舉自身節(jié)點內(nèi)第三PCI設(shè)備、第二 PCI橋和所述第二 PCI橋的第四PCI設(shè)備;[0067]第三分配獲取單元,用于為所述第三PCI設(shè)備分配第四資源,并為所述第三PCI設(shè)備加載第三Option ROM和第三驅(qū)動;并為所述第二 PCI橋分配第二 BUS號和第五資源,以及,為所述第四PCI設(shè)備分配第六資源,并為所述第四PCI設(shè)備加載第四Option ROM和第四驅(qū)動,獲得第二 PCI枚舉結(jié)果;其中,所述第五資源包括所述第六資源。
[0068]本發(fā)明實施例提供的多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉方法和裝置,通過主節(jié)點分別獲取主節(jié)點內(nèi)的第一 PCI枚舉結(jié)果和多節(jié)點系統(tǒng)中的各個從節(jié)點對應(yīng)的第二 PCI枚舉結(jié)果,并根據(jù)第一 PCI枚舉結(jié)果和各個從節(jié)點對應(yīng)的第二 PCI枚舉結(jié)果生成上述多節(jié)點系統(tǒng)的PCI樹,繼續(xù)運行多節(jié)點系統(tǒng)的其他流程,使得多節(jié)點系統(tǒng)的各個節(jié)點的PCI枚舉過程并行運行,從而加快了多節(jié)點系統(tǒng)的啟動速度,縮短了多節(jié)點系統(tǒng)的啟動時間。
【專利附圖】

【附圖說明】
[0069]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作ー簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0070]圖1為本發(fā)明提供的多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉方法實施例一的流程示意圖;
[0071]圖2為本發(fā)明提供的多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉方法實施例ニ的流程示意圖;
[0072]圖3為本發(fā)明提供的多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉方法實施例三的流程示意圖;
[0073]圖4為本發(fā)明提供的多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉裝置實施例一的結(jié)構(gòu)示意圖;
[0074]圖5為本發(fā)明提供的多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉裝置實施例ニ的結(jié)構(gòu)示意圖;
[0075]圖6為本發(fā)明提供的多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉裝置實施例三的結(jié)構(gòu)示意圖;
[0076]圖1為本發(fā)明提供的多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉裝置實施例四的結(jié)構(gòu)示意圖;
[0077]圖8為本發(fā)明提供的多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉裝置實施例五的結(jié)構(gòu)示意圖。
【具體實施方式】
[0078]為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
[0079]圖1為本發(fā)明提供的多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉方法實施例一的流程示意圖,如圖1所示,該方法包括:[0080]SlOl:主節(jié)點獲取主節(jié)點的第一 PCI枚舉結(jié)果。
[0081]具體的,本發(fā)明實施例提供的方法適用于多節(jié)點系統(tǒng),該多節(jié)點系統(tǒng)包括ー個主節(jié)點和至少ー個從節(jié)點,且該多節(jié)點系統(tǒng)可以是基于NC的多節(jié)點的大拓?fù)浣Y(jié)構(gòu)。S卩,節(jié)點之間通過NC互連,每個節(jié)點上還都有一個或多個北橋IOH(即PCI規(guī)范中的Root Bridge),每個IOH都有若干Port (即PCI規(guī)范中的P2P Bridge) ;PCI設(shè)備掛在由Port引出的PCI插槽上,也就是說,P2PBridge下可以直接連接PCI設(shè)備,還可以連接PCI橋,通過PCI橋連接PCI設(shè)備;B10S系統(tǒng)在啟動時CPU運行PCI枚舉代碼找到系統(tǒng)中的PCI橋和PCI設(shè)備,對其進(jìn)行初始化。
[0082]多節(jié)點系統(tǒng)中的主節(jié)點中包括主節(jié)點的CPU、NC和IOH等,CPU與NC和IOH可以通過快速通道互聯(lián)(Quick Path Interconnect,以下簡稱QPI)總線互連,PCI設(shè)備通過PCI總線連在P2P Bridge上。本發(fā)明實施例中的多節(jié)點系統(tǒng)可以為三種方式:
[0083]第一種:多節(jié)點系統(tǒng)的主節(jié)點和從節(jié)點的每個P2P Bridge下均連接的是PCI設(shè)備;
[0084]第二種:多節(jié)點系統(tǒng)主節(jié)點和從節(jié)點的姆個P2P Bridge下均連接的是PCI橋,姆個PCI橋下連接了至少ー個PCI設(shè)備;
[0085]第三種:多節(jié)點系統(tǒng)主節(jié)點和從節(jié)點的部分P2P Bridge下連接的是PCI設(shè)備,另外一部分P2P Bridge下連接的是PCI橋,該些PCI橋下連接了至少ー個PCI設(shè)備。
[0086]多節(jié)點系統(tǒng)上電后,主節(jié)點中的CPU運行PCI枚舉代碼,獲取第一 PCI枚舉結(jié)果。需要注意的是,無論多節(jié)點系統(tǒng)是上述哪ー種方式,主節(jié)點獲取的枚舉結(jié)果均是第一 PCI枚舉結(jié)果,即這里的第一針對的只是主節(jié)點。且該第一PCI枚舉結(jié)果可以為已經(jīng)分配了資源和加載了 Option ROM以及驅(qū)動的PCI設(shè)備,還可以為已經(jīng)分配了 BUS號和資源的PCI橋和已經(jīng)分配了資源和加載了 Option ROM以及驅(qū)動的PCI設(shè)備,本發(fā)明實施例對此不做限制。
[0087]S102:主節(jié)點獲取多節(jié)點系統(tǒng)內(nèi)的各從節(jié)點對應(yīng)的第二 PCI枚舉結(jié)果。
[0088]具體的,多節(jié)點系統(tǒng)內(nèi)有至少ー個從節(jié)點,各個從節(jié)點最初是處于等待狀態(tài),待被主節(jié)點的CPU激活后,各個從節(jié)點各自獲取自己節(jié)點內(nèi)的第二 PCI枚舉結(jié)果,存入內(nèi)存,等待主節(jié)點獲取第二PCI枚舉結(jié)果。即主節(jié)點獲取主節(jié)點的第一PCI枚舉結(jié)果和從節(jié)點獲取自己節(jié)點內(nèi)的第二 PCI枚舉結(jié)果是可以并行進(jìn)行的。需要注意的是,上述的第一 PCI枚舉結(jié)果指的是主節(jié)點的,第二 PCI枚舉結(jié)果指的是從節(jié)點的,且每個從節(jié)點的第二 PCI枚舉結(jié)果可以相同,也可以不同,上述的第一和第二僅是為了區(qū)分枚舉結(jié)果是主節(jié)點的還是從節(jié)點的。并且,上述第二 PCI枚舉結(jié)果可以為已經(jīng)分配了資源和加載了 Option ROM以及驅(qū)動的PCI設(shè)備,還可以為從節(jié)點內(nèi)已經(jīng)分配了 BUS號和資源的PCI橋和已經(jīng)分配了資源和加載了 Option ROM以及驅(qū)動的PCI設(shè)備。
[0089]S103:主節(jié)點根據(jù)第一 PCI枚舉結(jié)果和各從節(jié)點對應(yīng)第二 PCI枚舉結(jié)果生成多節(jié)點系統(tǒng)的PCI樹。
[0090]具體的,待上述主節(jié)點獲取到第一 PCI枚舉結(jié)果和各個從節(jié)點對應(yīng)的第二 PCI枚舉結(jié)果之后,主節(jié)點CPU將獲取到第一 PCI枚舉結(jié)果和各個從節(jié)點對應(yīng)的第二 PCI枚舉結(jié)果構(gòu)成多節(jié)點系統(tǒng)的PCI樹,完成PCI設(shè)備的初始化,進(jìn)而使能PCI設(shè)備,使得主節(jié)點可以繼續(xù)運行多節(jié)點系統(tǒng)的其他流程。[0091]為了進(jìn)一步說明本發(fā)明所能帶來的有益效果,在這里對現(xiàn)有技術(shù)做ー簡單介紹,現(xiàn)有技術(shù)中的PCI枚舉只能通過主節(jié)點的主線程執(zhí)行PCI枚舉代碼來實現(xiàn),即主節(jié)點的CPU獲取多節(jié)點系統(tǒng)內(nèi)的所有節(jié)點的Root Bridge,然后輪詢每ー個Root Bridge下的P2PBridge,再通過姆個Root Bridge下的各個P2P Bridge找到PCI橋和PCI設(shè)備,并為所找到的PCI橋和PCI設(shè)備分配BUS號和資源(為PCI設(shè)備只分配資源),最后為PCI設(shè)備加載Option ROM和驅(qū)動,使能多節(jié)點系統(tǒng)中的所有PCI設(shè)備。即,多節(jié)點系統(tǒng)在枚舉時,是依次串行枚舉的,主節(jié)點先枚舉完自己節(jié)點內(nèi)的PCI橋和PCI設(shè)備,再去依次枚舉從節(jié)點下的PCI橋和PCI設(shè)備,使得主節(jié)點執(zhí)行PCI枚舉代碼重復(fù),造成系統(tǒng)啟動時間慢;并且主節(jié)點在枚舉其他從節(jié)點的PCI橋和PCI設(shè)備吋,也會造成大量的跨節(jié)點地址訪問,導(dǎo)致系統(tǒng)效率低,負(fù)載大;同時,多節(jié)點系統(tǒng)的啟動時間還會隨著從節(jié)點個數(shù)的増加而增加,不利于多節(jié)點系統(tǒng)的擴(kuò)展。
[0092]但是,在本發(fā)明實施例提供的方法中,主節(jié)點只枚舉自己節(jié)點內(nèi)的第一 PCI枚舉結(jié)果,同時從節(jié)點也枚舉自己節(jié)點內(nèi)的第二 PCI枚舉結(jié)果,即主從節(jié)點的PCI枚舉時并行運行的,從而縮短了 PCI設(shè)備初始化的時間,進(jìn)而提高了系統(tǒng)的啟動時間;另一方面,由于主節(jié)點和從節(jié)點均是各自枚舉自己節(jié)點內(nèi)的PCI枚舉結(jié)果,因此不會造成跨節(jié)點地址訪問,提供系統(tǒng)的效率;并且,主節(jié)點和從節(jié)點的PCI枚舉互不影響,因此即使増加多個從節(jié)點,主從節(jié)點的PCI枚舉也是并行運行的,對系統(tǒng)的啟動時間上不會造成影響,使得多節(jié)點系統(tǒng)易于擴(kuò)展。
[0093]本發(fā)明實施例提供的多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉方法,通過主節(jié)點分別獲取主節(jié)點內(nèi)的第一 PCI枚舉結(jié)果和多節(jié)點系統(tǒng)中的各個從節(jié)點對應(yīng)的第二 PCI枚舉結(jié)果,并將第一 PCI枚舉結(jié)果和各個從節(jié)點對應(yīng)的第二 PCI枚舉結(jié)果構(gòu)成上述多節(jié)點系統(tǒng)的PCI樹,繼續(xù)運行多節(jié)點系統(tǒng)的其他流程,使得多節(jié)點系統(tǒng)的各個節(jié)點的PCI枚舉過程并行運行,從而加快了多節(jié)點系統(tǒng)的啟動速度,縮短了多節(jié)點系統(tǒng)的啟動時間。
[0094]圖2為本發(fā)明提供的多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉方法實施例ニ的流程示意圖,在上述圖1所示實施例的基礎(chǔ)上,進(jìn)ー步地,在SlOl之前,上述方法還包括S201:主節(jié)點激活多節(jié)點系統(tǒng)內(nèi)的各個從節(jié)點。
[0095]具體的,多節(jié)點系統(tǒng)上電后,主節(jié)點的CPU開始運行程序,待運行至PCI枚舉代碼入口時(該入ロ也是ー個程序語句,CPU是可以識別的),主節(jié)點CPU激活多節(jié)點系統(tǒng)的各個從節(jié)點。在主節(jié)點未激活從節(jié)點吋,從節(jié)點的CPU —直在讀自己的寄存器,當(dāng)主節(jié)點要激活該從節(jié)點時,就往該從節(jié)點的寄存器中寫入相應(yīng)的數(shù)據(jù),表明激活該從節(jié)點的主線程。同時,需要注意的是,主節(jié)點激活各個從節(jié)點是按照順序ー個ー個激活的,在激活后主節(jié)點獲取自身節(jié)點內(nèi)的第一 PCI枚舉結(jié)果;并且,上述各個從節(jié)點由于激活的順序不同,所以在各自獲取自己的第二 PCI枚舉結(jié)果的結(jié)束時間也是不同的,因此,各個從節(jié)點在獲取完各自的第二 PCI枚舉結(jié)果后要進(jìn)行同歩。
[0096]后續(xù)的執(zhí)行過程可以參見圖1所示的方法實施例,在此不再贅述。
[0097]進(jìn)ー步地,在上述圖2所示實施例的基礎(chǔ)上,作為本發(fā)明實施例的ー種可行的實施方式,本實施例涉及的方法是上述主節(jié)點獲取所述主節(jié)點的第一 PCI枚舉結(jié)果的具體過程,本實施例提供的方法適用于多節(jié)點系統(tǒng)給的第一種方式,即多節(jié)點系統(tǒng)的主節(jié)點的每個P2P Bridge下均連接的是PCI設(shè)備。在主節(jié)點進(jìn)行PCI枚舉時,只考慮主節(jié)點的P2PBridge下連接的第一PCI設(shè)備。該方法具體包括:主節(jié)點枚舉主節(jié)點內(nèi)的第一PCI設(shè)備;主節(jié)點為第一 PCI設(shè)備分配第一資源,并為第一 PCI設(shè)備加載第一 Option ROM和第一驅(qū)動,獲得第一 PCI枚舉結(jié)果。
[0098]具體的,主節(jié)點CPU執(zhí)行PCI枚舉代碼,枚舉主節(jié)點內(nèi)的所有第一 PCI設(shè)備,且主節(jié)點會虛擬ー個Host Bridge,將所枚舉的第一 PCI設(shè)備掛在該Host Bridge下方,形成樹狀結(jié)構(gòu)。并且,在主節(jié)點發(fā)現(xiàn)第一 PCI設(shè)備的過程中,由于多節(jié)點系統(tǒng)的資源已經(jīng)按照節(jié)點號的不同給各個節(jié)點分配了不同的資源,且內(nèi)存映射輸入輸出口(Memory Mapping I/O,以下簡稱MM10)地址空間和PCI配置空間(Memory Mapping Config,以下簡稱MMCFG)地址空間也按照不同的節(jié)點號分在不同的段內(nèi)。因此,這里的主節(jié)點CPU會給所查找到的所有P2PBridge分配不同的BUS號(BUS號的分配范圍為O-OxFF)和資源;由于第一 PCI設(shè)備連接在P2P Bridge下,因此,主節(jié)點CPU為第一 PCI設(shè)備分配的第一資源需要包括在上述主節(jié)點CPU為P2P Bridge分配的資源內(nèi),這樣當(dāng)CPU需要訪問第一PCI設(shè)備吋,就可以通過相應(yīng)的地址和P2PBridge的地址空間找到該第一 PCI設(shè)備。之后,主節(jié)點CPU為上述已分配第一資源的第一 PCI設(shè)備加載第一 Option ROM和第一驅(qū)動,從而獲得第一 PCI枚舉結(jié)果,也就是說,該第一 PCI枚舉結(jié)果指的是上述分配了第一資源并且已經(jīng)加載了第一 Option ROM和第一驅(qū)動的第一 PCI設(shè)備。
[0099]進(jìn)ー步地,在上述圖2所示實施例的基礎(chǔ)上,作為本發(fā)明實施例的另ー種可行的實施方式,本實施例涉及的方法是上述主節(jié)點獲取所述主節(jié)點的第一 PCI枚舉結(jié)果的另ー具體過程,本實施例提供的方法適用于多節(jié)點系統(tǒng)給的第二種方式,即多節(jié)點系統(tǒng)的主節(jié)點的姆個P2P Bridge下均連接的是PCI橋,姆個PCI橋下連接了至少ー個PCI設(shè)備。該方法具體包括:主節(jié)點枚舉主節(jié)點內(nèi)的第一PCI橋和第一PCI橋的第二PCI設(shè)備;主節(jié)點為第一 PCI橋分配第一 BUS號和第二資源,為第二 PCI設(shè)備分配第三資源,并為第二 PCI設(shè)備加載第二 Option ROM和第二驅(qū)動,獲得第一 PCI枚舉結(jié)果;其中,第二資源包括第三資源。
[0100]具體的,主節(jié)點CPU執(zhí)行PCI枚舉代碼,枚舉主節(jié)點內(nèi)的所有第一 PCI設(shè)備,且主節(jié)點會虛擬ー個Host Bridge,將所枚舉的第一 PCI設(shè)備掛在該Host Bridge下方,形成樹狀結(jié)構(gòu)。并且,在主節(jié)點發(fā)現(xiàn)第一 PCI設(shè)備的過程中,由于多節(jié)點系統(tǒng)的資源已經(jīng)按照節(jié)點號的不同給各個節(jié)點分配了不同的資源,且麗10地址空間和MMCFG地址空間也按照不同的節(jié)點號分在不同的段內(nèi)。因此,這里的主節(jié)點CPU會給所查找到的所有P2P Bridge分配不同的BUS號(BUS號的分配范圍為O-OxFF)和資源;由于上述P2P Bridge下均連接了第一 PCI橋,因此,主節(jié)點CPU為第一 PCI橋分配的第二資源需要包括在上述主節(jié)點CPU為P2P Bridge分配的資源內(nèi),這樣當(dāng)CPU需要訪問第一 PCI橋時,就可以通過相應(yīng)的地址和P2P Bridge的地址空間找到該第一 PCI橋;并且,由于上述第一 PCI橋下均連接了第二 PCI設(shè)備,因此主節(jié)點CPU為第一 PCI設(shè)備分配的第三資源需要包括在上述主節(jié)點CPU為第一PCI橋分配的第二資源內(nèi),即第二資源包括第三資源,這樣CPU就可以通過訪問地址、P2PBridge的資源以及第一 PCI橋的第二資源找到該第二 PCI設(shè)備。之后,主節(jié)點CPU為上述已分配第三資源的第二 PCI設(shè)備加載第二 Option ROM和第二驅(qū)動,從而獲得第一 PCI枚舉結(jié)果,也就是說,該第一 PCI枚舉結(jié)果指的是上述分配了第一資源和第一 BUS號的第一 PCI橋,和,上述分配了第二資源并且已經(jīng)加載了第二 Option ROM和第二驅(qū)動的第二PCI設(shè)備。
[0101]進(jìn)ー步地,在上述圖2所示實施例的基礎(chǔ)上,作為本發(fā)明實施例的第三種可行的實施方式,本實施例涉及的方法是上述主節(jié)點獲取所述主節(jié)點的第一 PCI枚舉結(jié)果的第三種具體過程,本實施例提供的方法適用于多節(jié)點系統(tǒng)給的第三種方式,即多節(jié)點系統(tǒng)的主節(jié)點的部分P2P Bridge下連接的是PCI設(shè)備,另外一部分P2P Bridge下連接的是PCI橋,該些PCI橋下連接了至少ー個PCI設(shè)備。該方法具體包括:主節(jié)點枚舉主節(jié)點內(nèi)的第一PCI設(shè)備、第一 PCI橋和第一 PCI橋的第二 PCI設(shè)備;主節(jié)點為第一 PCI設(shè)備分配第一資源,并為第一 PCI設(shè)備加載第一 Option ROM和第一驅(qū)動;主節(jié)點為第一 PCI橋分配第一 BUS號和第二資源,為第二 PCI設(shè)備分配第三資源,并為第二 PCI設(shè)備加載第二 Option ROM和第二驅(qū)動,獲得第一 PCI枚舉結(jié)果。
[0102]具體的,主節(jié)點CPU執(zhí)行PCI枚舉代碼,枚舉主節(jié)點內(nèi)的所有第一 PCI設(shè)備,且主節(jié)點會虛擬ー個Host Bridge,將所枚舉的第一 PCI設(shè)備掛在該Host Bridge下方,形成樹狀結(jié)構(gòu)。并且,在主節(jié)點發(fā)現(xiàn)第一 PCI設(shè)備的過程中,由于多節(jié)點系統(tǒng)的資源已經(jīng)按照節(jié)點號的不同給各個節(jié)點分配了不同的資源,且麗IO地址空間和MMCFG地址空間也按照不同的節(jié)點號分在不同的段內(nèi)。因此,這里的主節(jié)點CPU會給所查找到的所有P2P Bridge分配不同的BUS號(BUS號的分配范圍為O-OxFF)和資源;這里需要注意的是,部分P2PBridge下直接連接是第一 PCI設(shè)備,因此CPU為該些第一 PCI設(shè)備分配的第一資源需要包括在該部分P2P Bridge的資源內(nèi);而另外一部分P2P Bridge由于連接的是第一 PCI橋,且第一 PCI橋下連接了至少ー個第二 PCI設(shè)備,因此主節(jié)點CPU為該些第一 PCI橋分配的第二資源應(yīng)該包括在連接第一 PCI橋的這些P2P Bridge的資源內(nèi),且主節(jié)點CPU為第二 PCI設(shè)備分配的第三資源應(yīng)該包括在第二資源內(nèi)。之后,主節(jié)點CPU分別為第一 PCI設(shè)備加載第一 OptionROM和第一驅(qū)動,為第二 PCI設(shè)備加載第二 Option ROM和第二驅(qū)動。最后,主節(jié)點獲取第一PCI枚舉結(jié)果,也就是說,該第一 PCI枚舉結(jié)果為上述分配了第一資源并且已經(jīng)加載了第一Option ROM和第一驅(qū)動的第一 PCI設(shè)備,和,上述分配了第一資源和第一 BUS號的第一 PCI橋,和,上述分配了第二資源并且已經(jīng)加載了第二 Option ROM和第二驅(qū)動的第二PCI設(shè)備。
[0103]本發(fā)明實施例提供的多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉方法,通過主節(jié)點分別獲取主節(jié)點內(nèi)的第一 PCI枚舉結(jié)果和多節(jié)點系統(tǒng)中的各個從節(jié)點對應(yīng)的第二 PCI枚舉結(jié)果,并將第一 PCI枚舉結(jié)果和各個從節(jié)點對應(yīng)的第二 PCI枚舉結(jié)果構(gòu)成上述多節(jié)點系統(tǒng)的PCI樹,繼續(xù)運行多節(jié)點系統(tǒng)的其他流程,使得多節(jié)點系統(tǒng)的各個節(jié)點的PCI枚舉過程并行運行,從而加快了多節(jié)點系統(tǒng)的啟動速度,縮短了多節(jié)點系統(tǒng)的啟動時間。
[0104]進(jìn)ー步地,上述第二枚舉結(jié)果包括:各從節(jié)點內(nèi)的已分配第四資源的第三PCI設(shè)備,且第三PCI設(shè)備已加載第三Option ROM和第三驅(qū)動;和/或,各從節(jié)點內(nèi)的已分配第二BUS號和第五資源的第二PCI橋,以及,各從節(jié)點內(nèi)的已分配第六資源的第四PCI設(shè)備,且第四PCI設(shè)備已加載第四Option ROM和第四驅(qū)動;其中,第五資源包括第六資源。
[0105]具體的,該多節(jié)點系統(tǒng)內(nèi)的從節(jié)點在被主節(jié)點激活后,會獲取各自節(jié)點內(nèi)的第二PCI枚舉結(jié)果,具體的枚舉過程和主節(jié)點的枚舉過程類似,從節(jié)點的系統(tǒng)結(jié)構(gòu)同樣包括三種不同的方式,即多節(jié)點系統(tǒng)的從節(jié)點的每個P2P Bridge下均連接的是PCI設(shè)備;或,多節(jié)點系統(tǒng)的從節(jié)點的每個P2P Bridge下均連接的是PCI橋,每個PCI橋下連接了至少ー個PCI設(shè)備;或,多節(jié)點系統(tǒng)的從節(jié)點的部分P2P Bridge下連接的是PCI設(shè)備,另外一部分P2PBridge下連接的是PCI橋,該些PCI橋下連接了至少ー個PCI設(shè)備。從節(jié)點的PCI枚舉過程可以參照上述主節(jié)點的PCI枚舉過程執(zhí)行,在此不再贅述。[0106]針對上述從節(jié)點的不同結(jié)構(gòu),獲得第二 PCI枚舉結(jié)果是不同的。
[0107]本發(fā)明實施例提供的多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉方法,通過主節(jié)點分別獲取主節(jié)點內(nèi)的第一 PCI枚舉結(jié)果和多節(jié)點系統(tǒng)中的各個從節(jié)點對應(yīng)的第二 PCI枚舉結(jié)果,并將第一 PCI枚舉結(jié)果和各個從節(jié)點對應(yīng)的第二 PCI枚舉結(jié)果構(gòu)成上述多節(jié)點系統(tǒng)的PCI樹,繼續(xù)運行多節(jié)點系統(tǒng)的其他流程,使得多節(jié)點系統(tǒng)的各個節(jié)點的PCI枚舉過程并行運行,從而加快了多節(jié)點系統(tǒng)的啟動速度,縮短了多節(jié)點系統(tǒng)的啟動時間;另一方面,由于主節(jié)點和從節(jié)點均是各自枚舉自己節(jié)點內(nèi)的PCI枚舉結(jié)果,因此不會造成跨節(jié)點地址訪問,提供系統(tǒng)的效率;并且,主節(jié)點和從節(jié)點的PCI枚舉互不影響,因此即使増加多個從節(jié)點,主從節(jié)點的PCI枚舉也是并行運行的,對系統(tǒng)的啟動時間上不會造成影響,使得多節(jié)點系統(tǒng)易于擴(kuò)展。
[0108]圖3為本發(fā)明提供的多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉方法實施例三的流程示意圖,如圖3所示,該方法包括:
[0109]S301:從節(jié)點獲取自身節(jié)點內(nèi)的第二 PCI枚舉結(jié)果。
[0110]本發(fā)明實施例提供的方法適用于多節(jié)點系統(tǒng),該多節(jié)點系統(tǒng)包括一個主節(jié)點和至少ー個從節(jié)點,且該多節(jié)點系統(tǒng)可以是基于NC的多節(jié)點的大拓?fù)浣Y(jié)構(gòu)。即,節(jié)點之間通過NC互連,每個節(jié)點上還都有一個或多個北橋IOH (即PCI規(guī)范中的Root Bridge),每個IOH都有若干Port (即PCI規(guī)范中的P2P Bridge) ;PCI設(shè)備掛在由Port引出的PCI插槽上,也就是說,P2P Bridge下可以直接連接PCI設(shè)備,還可以連接PCI橋,通過PCI橋連接PCI設(shè)備;B10S系統(tǒng)在啟動時CPU運行PCI枚舉代碼找到系統(tǒng)中的PCI橋和PCI設(shè)備,對其進(jìn)行初始化。
[0111]多節(jié)點系統(tǒng)中的從節(jié)點中包括從節(jié)點的CPU、NC和IOH等,CPU與NC和IOH可以通過QPI總線互連,PCI設(shè)備通過PCI總線連在P2P Bridge上。本發(fā)明實施例中的多節(jié)點系統(tǒng)可以為三種方式:
[0112]第一種:多節(jié)點系統(tǒng)的主節(jié)點和從節(jié)點的每個P2P Bridge下均連接的是PCI設(shè)備;
[0113]第二種:多節(jié)點系統(tǒng)主節(jié)點和從節(jié)點的姆個P2P Bridge下均連接的是PCI橋,姆個PCI橋下連接了至少ー個PCI設(shè)備;
[0114]第三種:多節(jié)點系統(tǒng)主節(jié)點和從節(jié)點的部分P2P Bridge下連接的是PCI設(shè)備,另外一部分P2P Bridge下連接的是PCI橋,該些PCI橋下連接了至少ー個PCI設(shè)備。
[0115]多節(jié)點系統(tǒng)上電后,各個從節(jié)點中的CPU運行PCI枚舉代碼,分別獲取各自對應(yīng)的第二 PCI枚舉結(jié)果。需要注意的是,無論多節(jié)點系統(tǒng)是上述哪ー種方式,從節(jié)點獲取的枚舉結(jié)果均是第二 PCI枚舉結(jié)果,即這里的第二針對的只是從節(jié)點。且該第二 PCI枚舉結(jié)果可以為已經(jīng)分配了資源和加載了 Option ROM以及驅(qū)動的PCI設(shè)備,還可以為已經(jīng)分配了 BUS號和資源的PCI橋和已經(jīng)分配了資源和加載了 Option ROM以及驅(qū)動的PCI設(shè)備,本發(fā)明實施例對此不做限制。
[0116]S302:從節(jié)點存儲第二 PCI枚舉結(jié)果,以供主節(jié)點從上述從節(jié)點獲取第二 PCI枚舉結(jié)果,并使主節(jié)點根據(jù)主節(jié)點的第一 PCI枚舉結(jié)果和上述第二 PCI枚舉結(jié)果生成多節(jié)點系統(tǒng)的PCI樹。
[0117]具體的,多節(jié)點系統(tǒng)的各個從節(jié)點分別存儲各自對應(yīng)的第二 PCI枚舉結(jié)果,等待主節(jié)點從各個從節(jié)點的內(nèi)存中獲取上述第二 PCI枚舉結(jié)果,并將所獲取的第二 PCI枚舉結(jié)果和主節(jié)點自己的第一 PCI枚舉結(jié)果構(gòu)成整個系統(tǒng)的PCI樹,需要注意的是,主節(jié)點獲取主節(jié)點的第一 PCI枚舉結(jié)果和從節(jié)點獲取自己節(jié)點內(nèi)的第二 PCI枚舉結(jié)果是可以并行進(jìn)行的,上述的第一 PCI枚舉結(jié)果指的是主節(jié)點的,第二 PCI枚舉結(jié)果指的是從節(jié)點的,且每個從節(jié)點的第二 PCI枚舉結(jié)果可以相同,也可以不同,上述的第一和第二僅是為了區(qū)分枚舉結(jié)果是主節(jié)點的還是從節(jié)點的。
[0118]本發(fā)明實施例提供的多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉方法,通過從節(jié)點獲取自身節(jié)點內(nèi)的第二 PCI枚舉結(jié)果,使得從節(jié)點的PCI枚舉過程可以和主節(jié)點的PCI枚舉過程并行進(jìn)行,主節(jié)點根據(jù)主節(jié)點內(nèi)的第一 PCI枚舉結(jié)果和各個從節(jié)點對應(yīng)的第二 PCI枚舉結(jié)果構(gòu)成PCI樹執(zhí)行多節(jié)點系統(tǒng)的其他流程,從而加快了多節(jié)點系統(tǒng)的啟動速度,縮短了多節(jié)點系統(tǒng)的啟動時間。
[0119]進(jìn)ー步地,在上述圖3所示實施例的基礎(chǔ)上,上述從節(jié)點獲取自身節(jié)點內(nèi)的第二PCI枚舉結(jié)果之前,從節(jié)點處于等待被主節(jié)點激活的狀態(tài)。
[0120]具體的,在多節(jié)點系統(tǒng)上電后,從節(jié)點一直處于等待被激活的狀態(tài),待主節(jié)點的CPU執(zhí)行到PCI枚舉代碼的入ロ吋,主節(jié)點的CPU激活上述各個從節(jié)點的主線程,使得從節(jié)點可以自己獲取自身節(jié)點內(nèi)的第二 PCI枚舉結(jié)果。
[0121 ] 在上述實施例的基礎(chǔ)上,進(jìn)ー步地,作為本發(fā)明實施例的ー種可行的實施方式,本實施例涉及的方法是從節(jié)點獲取自身節(jié)點內(nèi)的第二 PCI枚舉結(jié)果的具體過程,該方法適用于多節(jié)點系統(tǒng)的第一種方式,即多節(jié)點系統(tǒng)的從節(jié)點的每個P2P Bridge下均連接的是第三PCI設(shè)備。該方法具體包括:從節(jié)點枚舉自身節(jié)點內(nèi)第三PCI設(shè)備;從節(jié)點為第三PCI設(shè)備分配第四資源,并為第三PCI設(shè)備加載第三Option ROM和第三驅(qū)動,獲得第二 PCI枚舉結(jié)果。
[0122]具體的,從節(jié)點的主線程被激活后,從節(jié)點CPU執(zhí)行PCI枚舉代碼,枚舉從節(jié)點內(nèi)的第三PCI設(shè)備,并且,在主節(jié)點枚舉自身節(jié)點內(nèi)的PCI橋和PCI設(shè)備的過程中,由于多節(jié)點系統(tǒng)的資源已經(jīng)按照節(jié)點號的不同給各個節(jié)點分配了不同的資源,且MMio地址空間和MMCFG地址空間也按照不同的節(jié)點號分在不同的段內(nèi),即各個從節(jié)點都有其對應(yīng)的資源。從節(jié)點的CPU會給自身所查找到的所有P2P Bridge分配不同的BUS號(BUS號的分配范圍為O-OxFF)和資源;由于第三PCI設(shè)備連接在P2P Bridge下,因此,從節(jié)點CPU為第三PCI設(shè)備分配的第四資源需要包括在上述從節(jié)點的CPU為P2P Bridge分配的資源內(nèi),這樣當(dāng)CPU需要訪問第三PCI設(shè)備時,就可以通過相應(yīng)的地址和P2PBridge的地址空間找到該第三PCI設(shè)備。之后,從節(jié)點的CPU為上述已分配第四資源的第三PCI設(shè)備加載第三Option ROM和第三驅(qū)動,從而獲得第二 PCI枚舉結(jié)果,也就是說,該第二 PCI枚舉結(jié)果指的是上述分配了第四資源并且已經(jīng)加載了第三Option ROM和第三驅(qū)動的第三PCI設(shè)備。
[0123]在上述實施例的基礎(chǔ)上,進(jìn)ー步地,作為本發(fā)明實施例的另ー種可行的實施方式,本實施例涉及的方法是從節(jié)點獲取自身節(jié)點內(nèi)的第二 PCI枚舉結(jié)果的另一具體過程,該方法適用于多節(jié)點系統(tǒng)的第二種方式,即多節(jié)點系統(tǒng)的從節(jié)點的每個P2P Bridge下均連接的是第二 PCI橋,且每個PCI橋下連接至少ー個PCI設(shè)備。該方法具體包括:從節(jié)點枚舉自身節(jié)點內(nèi)的第二 PCI橋和第二 PCI橋的第四PCI設(shè)備;從節(jié)點為第二 PCI橋分配第二 BUS號和第五資源,以及,為所述第四PCI設(shè)備分配第六資源,并為第四PCI設(shè)備加載第四OptionROM和第四驅(qū)動,獲得第二 PCI枚舉結(jié)果;其中,第五資源包括第六資源。
[0124]具體的,從節(jié)點的主線程被激活后,從節(jié)點CPU執(zhí)行PCI枚舉代碼,枚舉從節(jié)點內(nèi)的所有第三PCI設(shè)備,并且,在主節(jié)點枚舉自身節(jié)點內(nèi)的PCI橋和PCI設(shè)備的過程中,由于多節(jié)點系統(tǒng)的資源已經(jīng)按照節(jié)點號的不同給各個節(jié)點分配了不同的資源,且MMio地址空間和MMCFG地址空間也按照不同的節(jié)點號分在不同的段內(nèi),即各個從節(jié)點都有其對應(yīng)的資源。從節(jié)點的CPU會給自身所查找到的所有P2P Bridge分配不同的BUS號(BUS號的分配范圍為O-OxFF)和資源;由于上述從節(jié)點的P2P Bridge下均連接了第二 PCI橋,因此,從節(jié)點CPU為第二 PCI橋分配的第五資源需要包括在上述從節(jié)點CPU為P2P Bridge分配的資源內(nèi),這樣當(dāng)從節(jié)點CPU需要訪問第二PCI橋時,就可以通過相應(yīng)的地址和P2P Bridge的地址空間找到該第二 PCI橋;并且,由于上述第二 PCI橋下均連接了第四PCI設(shè)備,因此從節(jié)點的CPU為第四PCI設(shè)備分配的第六資源需要包括在上述從節(jié)點CPU為第二 PCI橋分配的第五資源內(nèi),即第五資源包括第六資源,這樣從節(jié)點的CPU就可以通過訪問地址、P2PBridge的資源以及第ニ PCI橋的第五資源找到該第四PCI設(shè)備。之后,從節(jié)點CPU為上述已分配第六資源的第四PCI設(shè)備加載第四Option ROM和第四驅(qū)動,從而獲得第二 PCI枚舉結(jié)果,也就是說,該第二 PCI枚舉結(jié)果指的是上述分配了第五資源和第二 BUS號的第二 PCI橋,和,上述分配了第六資源并且已經(jīng)加載了第四Option ROM和第四驅(qū)動的第四PCI設(shè)備。
[0125]在上述實施例的基礎(chǔ)上,進(jìn)ー步地,作為本發(fā)明實施例的第三種可行的實施方式,本實施例涉及的方法是從節(jié)點獲取自身節(jié)點內(nèi)的第二 PCI枚舉結(jié)果的第三種具體過程,該方法適用于多節(jié)點系統(tǒng)的第三種方式,即多節(jié)點系統(tǒng)的從節(jié)點的部分P2P Bridge下連接的是第二 PCI橋,且每個PCI橋下連接至少ー個PCI設(shè)備,另外一部分P2P Bridge下直接連接的是PCI設(shè)備。該方法具體包括:從節(jié)點枚舉自身節(jié)點內(nèi)第三PCI設(shè)備、第二 PCI橋和第ニ PCI橋的第四PCI設(shè)備;從節(jié)點為第三PCI設(shè)備分配第四資源,并為第三PCI設(shè)備加載第三Option ROM和第三驅(qū)動;從節(jié)點為第二 PCI橋分配第二 BUS號和第五資源,以及,為第四PCI設(shè)備分配第六資源,并為第四PCI設(shè)備加載第四Option ROM和第四驅(qū)動,獲得第二 PCI枚舉結(jié)果;其中,第五資源包括第六資源。
[0126]具體的,從節(jié)點的主線程被激活后,從節(jié)點CPU執(zhí)行PCI枚舉代碼,枚舉從節(jié)點內(nèi)的第三PCI設(shè)備,并且,在主節(jié)點枚舉自身節(jié)點內(nèi)的PCI橋和PCI設(shè)備的過程中,由于多節(jié)點系統(tǒng)的資源已經(jīng)按照節(jié)點號的不同給各個節(jié)點分配了不同的資源,且MMio地址空間和MMCFG地址空間也按照不同的節(jié)點號分在不同的段內(nèi),即各個從節(jié)點都有其對應(yīng)的資源。從節(jié)點的CPU會給自身所查找到的所有P2P Bridge分配不同的BUS號(BUS號的分配范圍為O-OxFF)和資源。這里需要注意的是,從節(jié)點的部分P2P Bridge下直接連接是第三PCI設(shè)備,因此從節(jié)點的CPU為該些第三PCI設(shè)備分配的第四資源需要包括在該部分P2P Bridge的資源內(nèi);而另外一部分P2P Bridge由于連接的是第二 PCI橋,且第二 PCI橋下連接了至少ー個第四PCI設(shè)備,因此從節(jié)點的CPU為該些第二 PCI橋分配的第五資源應(yīng)該包括在連接第二 PCI橋的這些P2PBridge的資源內(nèi),且從節(jié)點的CPU為第四PCI設(shè)備分配的第六資源應(yīng)該包括在第五資源內(nèi)。之后,從節(jié)點CPU分別為第三PCI設(shè)備加載第三Option ROM和第三驅(qū)動,為第四PCI設(shè)備加載第四Option ROM和第四驅(qū)動。最后,從節(jié)點獲得第二 PCI枚舉結(jié)果,也就是說,該第二 PCI枚舉結(jié)果為上述分配了第三資源并且已經(jīng)加載了第三OptionROM和第三驅(qū)動的第三PCI設(shè)備,和,上述分配了第五資源和第二 BUS號的第二 PCI橋,和,上述分配了第六資源并且已經(jīng)加載了第四Option ROM和第四驅(qū)動的第四PCI設(shè)備。
[0127]本發(fā)明實施例提供的多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉方法,通過從節(jié)點獲取自身節(jié)點內(nèi)的第二 PCI枚舉結(jié)果,使得從節(jié)點的PCI枚舉過程可以和主節(jié)點的PCI枚舉過程并行進(jìn)行,主節(jié)點根據(jù)主節(jié)點內(nèi)的第一 PCI枚舉結(jié)果和各個從節(jié)點對應(yīng)的第二 PCI枚舉結(jié)果構(gòu)成PCI樹執(zhí)行多節(jié)點系統(tǒng)的其他流程,從而加快了多節(jié)點系統(tǒng)的啟動速度,縮短了多節(jié)點系統(tǒng)的啟動時間;另一方面,由于主節(jié)點和從節(jié)點均是各自枚舉自己節(jié)點內(nèi)的PCI枚舉結(jié)果,因此不會造成跨節(jié)點地址訪問,提供系統(tǒng)的效率;并且,主節(jié)點和從節(jié)點的PCI枚舉互不影響,因此即使増加多個從節(jié)點,主從節(jié)點的PCI枚舉也是并行運行的,對系統(tǒng)的啟動時間上不會造成影響,使得多節(jié)點系統(tǒng)易于擴(kuò)展。
[0128]本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述各方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成。前述的程序可以存儲于ー計算機(jī)可讀取存儲介質(zhì)中。該程序在執(zhí)行時,執(zhí)行包括上述各方法實施例的步驟;而前述的存儲介質(zhì)包括:R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
[0129]圖4為本發(fā)明提供的多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉裝置實施例一的結(jié)構(gòu)示意圖,所述多節(jié)點系統(tǒng)包括主節(jié)點和至少ー個從節(jié)點,如圖4所示,該裝置包括:第一獲取模塊10,用于獲取主節(jié)點的第一外部設(shè)備互聯(lián)PCI枚舉結(jié)果;第二獲取模塊11,用于獲取上述多節(jié)點系統(tǒng)內(nèi)的各從節(jié)點對應(yīng)的第二 PCI枚舉結(jié)果;生成模塊12,用于根據(jù)上述第一 PCI枚舉結(jié)果和上述各從節(jié)點對應(yīng)第二 PCI枚舉結(jié)果生成上述多節(jié)點系統(tǒng)的PCI樹。
[0130]本發(fā)明實施例提供的多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉裝置,可以執(zhí)行上述方法實施例,其實現(xiàn)原理和技術(shù)效果類似,在此不再贅述。
[0131]圖5為本發(fā)明提供的多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉裝置實施例ニ的結(jié)構(gòu)示意圖,在上述圖4所示實施例的基礎(chǔ)上,進(jìn)ー步地,所述裝置還包括:激活模塊13,用于在上述第一獲取模塊10獲取主節(jié)點的第一外部設(shè)備互聯(lián)PCI枚舉結(jié)果之前,激活上述多節(jié)點系統(tǒng)內(nèi)的各個從節(jié)點。
[0132]本發(fā)明實施例提供的多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉裝置,可以執(zhí)行上述方法實施例,其實現(xiàn)原理和技術(shù)效果類似,在此不再贅述。
[0133]圖6為本發(fā)明提供的多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉裝置實施例三的結(jié)構(gòu)示意圖,在上述圖5所示實施例的基礎(chǔ)上,進(jìn)ー步地,上述第一獲取模塊10包括:第一枚舉單元101,用于枚舉上述主節(jié)點內(nèi)的第一 PCI設(shè)備;第一分配獲取單元102,用于為第一 PCI設(shè)備加載第一 Option ROM和第一驅(qū)動,獲得第一 PCI枚舉結(jié)果。
[0134]本發(fā)明實施例提供的多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉裝置,可以執(zhí)行上述方法實施例,其實現(xiàn)原理和技術(shù)效果類似,在此不再贅述。
[0135]進(jìn)ー步地,在上述圖6所示實施例的基礎(chǔ)上,上述第一獲取模塊10還包括:第二枚舉單元201,用于枚舉上述主節(jié)點內(nèi)的第一 PCI橋和第一 PCI橋的第二 PCI設(shè)備;第二分配獲取單元202,用于為第一 PCI橋分配第一總線BUS號和第二資源,為上述第二 PCI設(shè)備分配第三資源,并為第二 PCI設(shè)備加載第二 Option ROM和第二驅(qū)動,獲得第一 PCI枚舉結(jié)果;其中,上述第二資源包括上述第三資源。
[0136]本發(fā)明實施例提供的多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉裝置,可以執(zhí)行上述方法實施例,其實現(xiàn)原理和技術(shù)效果類似,在此不再贅述。[0137]進(jìn)ー步地,在上述圖6所示實施例的基礎(chǔ)上,上述第一獲取模塊10還包括:第三枚舉單兀301,用于枚舉上述主節(jié)點內(nèi)的第一 PCI設(shè)備、第一 PCI橋和第一 PCI橋的第二 PCI設(shè)備;第三分配獲取單兀302,用于為第一 PCI設(shè)備分配第一資源,并為第一 PCI設(shè)備加載第一 Option ROM和第一驅(qū)動;并為第一 PCI橋分配第一 BUS號和第二資源,為上述第二 PCI設(shè)備分配第三資源,并為上述第二PCI設(shè)備加載第二 Option ROM和第二驅(qū)動,獲得第一PCI枚舉結(jié)果。
[0138]進(jìn)ー步地,上述第二 PCI枚舉結(jié)果,包括;上述各從節(jié)點內(nèi)的已分配第四資源的第三PCI設(shè)備,且上述第三PCI設(shè)備已加載第三Option ROM和第三驅(qū)動;和/或,上述各從節(jié)點內(nèi)的已分配第二 BUS號和第五資源的第二 PCI橋,以及,上述各從節(jié)點內(nèi)的已分配第六資源的第四PCI設(shè)備,且上述第四PCI設(shè)備已加載第四Option ROM和第四驅(qū)動;其中,上述第五資源包括上述第六資源。
[0139]本發(fā)明實施例提供的多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉裝置,可以執(zhí)行上述方法實施例,其實現(xiàn)原理和技術(shù)效果類似,在此不再贅述。
[0140]圖7為本發(fā)明提供的多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉裝置實施例四的結(jié)構(gòu)示意圖,所述多節(jié)點系統(tǒng)包括主節(jié)點和至少ー個從節(jié)點,如圖7所示,該裝置包括:獲取模塊40,用于獲取自身節(jié)點內(nèi)的第二 PCI枚舉結(jié)果;存儲模塊41,用于存儲上述第二 PCI枚舉結(jié)果,以供上述主節(jié)點從上述從節(jié)點獲取上述第二 PCI枚舉結(jié)果,并使所述主節(jié)點根據(jù)主節(jié)點的第一 PCI枚舉結(jié)果和上述第二 PCI枚舉結(jié)果生成多節(jié)點系統(tǒng)的PCI樹。
[0141]本發(fā)明實施例提供的多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉裝置,可以執(zhí)行上述方法實施例,其實現(xiàn)原理和技術(shù)效果類似,在此不再贅述。
[0142]圖8為本發(fā)明提供的多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉裝置實施例五的結(jié)構(gòu)示意圖,在上述圖7所示實施例的基礎(chǔ)上,上述獲取模塊40在獲取自身節(jié)點內(nèi)的第二 PCI枚舉結(jié)果之前,上述從節(jié)點處于等待被所述主節(jié)點激活的狀態(tài)。
[0143]本發(fā)明實施例提供的多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉裝置,可以執(zhí)行上述方法實施例,其實現(xiàn)原理和技術(shù)效果類似,在此不再贅述。
[0144]繼續(xù)參照圖8,進(jìn)ー步地,上述獲取模塊40包括:第一枚舉單元401,用于枚舉自身節(jié)點內(nèi)的第二 PCI設(shè)備;第一分配獲取單元402,用于為上述第二 PCI設(shè)備分配第四資源,并為上述第二 PCI設(shè)備加載第二 Option ROM和第二驅(qū)動,獲得第二 PCI枚舉結(jié)果。
[0145]本發(fā)明實施例提供的多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉裝置,可以執(zhí)行上述方法實施例,其實現(xiàn)原理和技術(shù)效果類似,在此不再贅述。
[0146]進(jìn)ー步地,在上述圖8所示實施例的基礎(chǔ)上,上述獲取模塊40還包括:第二枚舉單元501,用于枚舉自身節(jié)點內(nèi)的第二 PCI橋和上述第二 PCI橋的第四PCI設(shè)備;第二分配獲取単元502,用于為上述第二 PCI橋分配第二總線BUS號和第五資源,以及,為上述第四PCI設(shè)備分配第六資源,并為上述第四PCI設(shè)備加載第四Option ROM和第四驅(qū)動,獲得第二PCI枚舉結(jié)果;其中,上述第五資源包括上述第六資源。
[0147]本發(fā)明實施例提供的多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉裝置,可以執(zhí)行上述方法實施例,其實現(xiàn)原理和技術(shù)效果類似,在此不再贅述。
[0148]進(jìn)ー步地,在上述圖8所示實施例的基礎(chǔ)上,上述獲取模塊40還包括:第三枚舉単元601,用于枚舉自身節(jié)點內(nèi)第三PCI設(shè)備、第二 PCI橋和所述第二 PCI橋的第四PCI設(shè)備;第三分配獲取單元602,用于為上述第三PCI設(shè)備分配第四資源,并為上述第三PCI設(shè)備加載第三Option ROM和第三驅(qū)動;并為上述第二 PCI橋分配第二 BUS號和第五資源,以及,為上述第四PCI設(shè)備分配第六資源,并為上述第四PCI設(shè)備加載第四Option ROM和第四驅(qū)動,獲得第二 PCI枚舉結(jié)果;其中,上述第五資源包括上述第六資源。
[0149]本發(fā)明實施例提供的多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉裝置,可以執(zhí)行上述方法實施例,其實現(xiàn)原理和技術(shù)效果類似,在此不再贅述。
[0150]最后應(yīng)說明的是:以上各實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的范圍。
【權(quán)利要求】
1.一種多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉方法,所述多節(jié)點系統(tǒng)包括主節(jié)點和至少ー個從節(jié)點,其特征在于,所述方法包括: 主節(jié)點獲取所述主節(jié)點的第一外部設(shè)備互聯(lián)PCI枚舉結(jié)果; 所述主節(jié)點獲取所述多節(jié)點系統(tǒng)內(nèi)的各從節(jié)點對應(yīng)的第二 PCI枚舉結(jié)果; 所述主節(jié)點根據(jù)所述第一 PCI枚舉結(jié)果和所述各從節(jié)點對應(yīng)第二 PCI枚舉結(jié)果生成所述多節(jié)點系統(tǒng)的PCI樹。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述主節(jié)點獲取所述主節(jié)點的第一外部設(shè)備互聯(lián)PCI枚舉結(jié)果之前,所述方法還包括: 所述主節(jié)點激活所述多節(jié)點系統(tǒng)內(nèi)的各個從節(jié)點。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述主節(jié)點獲取所述主節(jié)點的第一PCI枚舉結(jié)果,包括: 所述主節(jié)點枚舉所述主節(jié)點內(nèi)的第一 PCI設(shè)備; 所述主節(jié)點為所述第一 PCI設(shè)備分配第一資源,并為所述第一 PCI設(shè)備加載第一Option ROM和第一驅(qū)動,獲得第一 PCI枚舉結(jié)果。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述主節(jié)點獲取所述主節(jié)點的第一PCI枚舉結(jié)果,還包括: 所述主節(jié)點枚舉所述主節(jié)點 內(nèi)的第一 PCI橋和所述第一 PCI橋的第二 PCI設(shè)備; 所述主節(jié)點為所述第一 PCI橋分配第一總線BUS號和第二資源,為所述第二 PCI設(shè)備分配第三資源,并為所述第二 PCI設(shè)備加載第二 Option ROM和第二驅(qū)動,獲得第一 PCI枚舉結(jié)果;其中,所述第二資源包括所述第三資源。
5.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述主節(jié)點獲取所述主節(jié)點的第一PCI枚舉結(jié)果,還包括: 所述主節(jié)點枚舉所述主節(jié)點內(nèi)的第一 PCI設(shè)備、第一 PCI橋和所述第一 PCI橋的第二PCI設(shè)備; 所述主節(jié)點為所述第一 PCI設(shè)備分配第一資源,并為所述第一 PCI設(shè)備加載第一Option ROM和第一驅(qū)動;所述主節(jié)點為所述第一 PCI橋分配第一 BUS號和第二資源,為所述第二 PCI設(shè)備分配第三資源,并為所述第二 PCI設(shè)備加載第二 Option ROM和第二驅(qū)動,獲得第一 PCI枚舉結(jié)果。
6.根據(jù)權(quán)利要求3-5任一項所述的方法,其特征在于,所述第二PCI枚舉結(jié)果包括: 所述各從節(jié)點內(nèi)的已分配第四資源的第三PCI設(shè)備,且所述第三PCI設(shè)備已加載第三Option ROM和第三驅(qū)動;和/或, 所述各從節(jié)點內(nèi)的已分配第二 BUS號和第五資源的第二 PCI橋,以及,所述各從節(jié)點內(nèi)的已分配第六資源的第四PCI設(shè)備,且所述第四PCI設(shè)備已加載第四Option ROM和第四驅(qū)動;其中,所述第五資源包括所述第六資源。
7.一種多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉方法,所述多節(jié)點系統(tǒng)包括主節(jié)點和至少ー個從節(jié)點,其特征在于,所述方法包括: 所述從節(jié)點獲取自身節(jié)點內(nèi)的第二外部設(shè)備互聯(lián)PCI枚舉結(jié)果; 所述從節(jié)點存儲所述第二 PCI枚舉結(jié)果,以供所述主節(jié)點從所述從節(jié)點獲取所述第二PCI枚舉結(jié)果,并使所述主節(jié)點根據(jù)所述主節(jié)點的第一PCI枚舉結(jié)果和所述第二PCI枚舉結(jié)果生成所述多節(jié)點系統(tǒng)的PCI樹。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述從節(jié)點獲取自身節(jié)點內(nèi)的第二PCI枚舉結(jié)果之前,所述從節(jié)點處于等待被所述主節(jié)點激活的狀態(tài)。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述從節(jié)點獲取自身節(jié)點內(nèi)的第二PCI枚舉結(jié)果,包括: 所述從節(jié)點枚舉自身節(jié)點內(nèi)第三PCI設(shè)備; 所述從節(jié)點為所述第三PCI設(shè)備分配第四資源,并為所述第三PCI設(shè)備加載第三Option ROM和第三驅(qū)動,獲得第二 PCI枚舉結(jié)果。
10.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述從節(jié)點獲取自身節(jié)點內(nèi)的第二PCI枚舉結(jié)果,還包括: 所述從節(jié)點枚舉自身節(jié)點內(nèi)的第二PCI橋和所述第二 PCI橋的第四PCI設(shè)備; 所述從節(jié)點為所 述第二 PCI橋分配第二總線BUS號和第五資源,以及,為所述第四PCI設(shè)備分配第六資源,并為所述第四PCI設(shè)備加載第四OptionROM和第四驅(qū)動,獲得第二 PCI枚舉結(jié)果;其中,所述第五資源包括所述第六資源。
11.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述從節(jié)點獲取自身節(jié)點內(nèi)的第二PCI枚舉結(jié)果,還包括: 所述從節(jié)點枚舉自身節(jié)點內(nèi)第三PCI設(shè)備、第二 PCI橋和所述第二 PCI橋的第四PCI設(shè)備; 所述從節(jié)點為所述第三PCI設(shè)備分配第四資源,并為所述第三PCI設(shè)備加載第三Option ROM和第三驅(qū)動;所述從節(jié)點為所述第二 PCI橋分配第二 BUS號和第五資源,以及,為所述第四PCI設(shè)備分配第六資源,并為所述第四PCI設(shè)備加載第四Option ROM和第四驅(qū)動,獲得第二 PCI枚舉結(jié)果;其中,所述第五資源包括所述第六資源。
12.—種多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉裝置,所述多節(jié)點系統(tǒng)包括主節(jié)點和至少ー個從節(jié)點,其特征在于,所述裝置包括: 第一獲取模塊,用于獲取所述主節(jié)點的第一外部設(shè)備互聯(lián)PCI枚舉結(jié)果; 第二獲取模塊,用于獲取所述多節(jié)點系統(tǒng)內(nèi)的各從節(jié)點對應(yīng)的第二 PCI枚舉結(jié)果; 生成模塊,用于根據(jù)所述第一 PCI枚舉結(jié)果和所述各從節(jié)點對應(yīng)第二 PCI枚舉結(jié)果生成所述多節(jié)點系統(tǒng)的PCI樹。
13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述裝置還包括: 激活模塊,用于在所述第一獲取模塊獲取所述主節(jié)點的第一外部設(shè)備互聯(lián)PCI枚舉結(jié)果之前,激活所述多節(jié)點系統(tǒng)內(nèi)的各個從節(jié)點。
14.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述第一獲取模塊包括: 第一枚舉單元,用于枚舉所述主節(jié)點內(nèi)的第一 PCI設(shè)備; 第一分配獲取單元,用于為所述第一 PCI設(shè)備加載第一 Option ROM和第一驅(qū)動,獲得第一 PCI枚舉結(jié)果。
15.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述第一獲取模塊還包括: 第二枚舉單元,用于枚舉所述主節(jié)點內(nèi)的第一 PCI橋和所述第一 PCI橋的第二 PCI設(shè)備; 第二分配獲取單元,用于為所述第一 PCI橋分配第一總線BUS號和第二資源,為所述第二 PCI設(shè)備分配第三資源,并為所述第二 PCI設(shè)備加載第二 Option ROM和第二驅(qū)動,獲得第一 PCI枚舉結(jié)果;其中,所述第二資源包括所述第三資源。
16.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述第一獲取模塊還包括: 第三枚舉單兀,用于枚舉所述主節(jié)點內(nèi)的第一 PCI設(shè)備、第一 PCI橋和所述第一 PCI橋的第二 PCI設(shè)備; 第三分配獲取單元,用于為所述第一 PCI設(shè)備分配第一資源,并為所述第一 PCI設(shè)備加載第一 Option ROM和第一驅(qū)動;并為所述第一 PCI橋分配第一 BUS號和第二資源,為所述第二 PCI設(shè)備分配第三資源,并為所述第二 PCI設(shè)備加載第二 Option ROM和第二驅(qū)動,獲得第一 PCI枚舉結(jié)果。
17.根據(jù)權(quán)利要求14-16任一項所述的裝置,其特征在干,所述第二PCI枚舉結(jié)果,包括; 所述各從節(jié)點內(nèi)的已分配第四資源的第三PCI設(shè)備,且所述第三PCI設(shè)備已加載第三Option ROM和第三驅(qū)動;和/或, 所述各從節(jié)點內(nèi)的已分配第二 BUS號和第五資源的第二 PCI橋,以及,所述各從節(jié)點內(nèi)的已分配第六資源的第四PCI設(shè)備,且所述第四PCI設(shè)備已加載第四Option ROM和第四驅(qū)動;其中,所述第五資源包括所述第六資源。
18.一種多節(jié)點系統(tǒng)的外部設(shè)備互聯(lián)枚舉裝置,所述多節(jié)點系統(tǒng)包括主節(jié)點和至少ー個從節(jié)點,其特征在于,所述裝置包括:` 獲取模塊,用于獲取自身節(jié)點內(nèi)的第二外部設(shè)備互聯(lián)PCI枚舉結(jié)果; 存儲模塊,用于存儲所述第二 PCI枚舉結(jié)果,以供所述主節(jié)點從所述從節(jié)點獲取所述第二 PCI枚舉結(jié)果,并使所述主節(jié)點根據(jù)所述主節(jié)點的第一 PCI枚舉結(jié)果和所述第二 PCI枚舉結(jié)果生成所述多節(jié)點系統(tǒng)的PCI樹。
19.根據(jù)權(quán)利要求18所述的裝置,其特征在于,所述獲取模塊在獲取自身節(jié)點內(nèi)的第二 PCI枚舉結(jié)果之前,所述從節(jié)點處于等待被所述主節(jié)點激活的狀態(tài)。
20.根據(jù)權(quán)利要求19所述的裝置,其特征在于,所述獲取模塊包括: 第一枚舉單元,用于枚舉自身節(jié)點內(nèi)的第二 PCI設(shè)備; 第一分配獲取單元,用于為所述第二 PCI設(shè)備分配第四資源,并為所述第二 PCI設(shè)備加載第二 Option ROM和第二驅(qū)動,獲得第二 PCI枚舉結(jié)果。
21.根據(jù)權(quán)利要求19所述的裝置,其特征在于,所述獲取模塊還包括: 第二枚舉單元,用于枚舉自身節(jié)點內(nèi)的第二 PCI橋和所述第二 PCI橋的第四PCI設(shè)備; 第二分配獲取單元,用于為所述第二 PCI橋分配第二總線BUS號和第五資源,以及,為所述第四PCI設(shè)備分配第六資源,并為所述第四PCI設(shè)備加載第四Option ROM和第四驅(qū)動,獲得第二 PCI枚舉結(jié)果;其中,所述第五資源包括所述第六資源。
22.根據(jù)權(quán)利要求19所述的裝置,其特征在于,所述獲取模塊還包括: 第三枚舉單元,用于枚舉自身節(jié)點內(nèi)第三PCI設(shè)備、第二 PCI橋和所述第二 PCI橋的第四PCI設(shè)備; 第三分配獲取單元,用于為所述第三PCI設(shè)備分配第四資源,并為所述第三PCI設(shè)備加載第三Option ROM和第三驅(qū)動;并為所述第二 PCI橋分配第二 BUS號和第五資源,以及,為所述第四PCI設(shè)備分配第六資源,并為所述第四PCI設(shè)備加載第四Option ROM和第四驅(qū)動,獲得第二 PCI枚舉結(jié)果;其中,所述 第五資源包括所述第六資源。
【文檔編號】G06F9/50GK103530254SQ201310473104
【公開日】2014年1月22日 申請日期:2013年10月11日 優(yōu)先權(quán)日:2013年10月11日
【發(fā)明者】姜廣吉, 劉通良, 張文濤 申請人:杭州華為數(shù)字技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
石阡县| 永宁县| 余庆县| 静乐县| 临桂县| 富顺县| 封丘县| 图们市| 卓资县| 藁城市| 泉州市| 富裕县| 吉首市| 攀枝花市| 航空| 台江县| 宜宾市| 天全县| 乌兰浩特市| 靖安县| 离岛区| 柳州市| 微山县| 江川县| 大余县| 托克托县| 富源县| 新源县| 桂平市| 洪洞县| 中卫市| 阳高县| 安吉县| 皮山县| 嘉义市| 万山特区| 湖口县| 新昌县| 罗平县| 恩平市| 德兴市|