專利名稱:為系統(tǒng)提供硅集成代碼的制作方法
為系統(tǒng)提供硅集成代碼
背景技術(shù):
歷史上,基本輸入/輸出系統(tǒng)(BIOS)軟件是用于引導(dǎo)和執(zhí)行計(jì)算機(jī)系統(tǒng)中的低級(jí)操作的低級(jí)軟件,該基本輸入/輸出系統(tǒng)(BIOS)軟件通常已經(jīng)被所謂的原始設(shè)備制造商 (OEM)——即計(jì)算機(jī)制造商——包含。為了為處理器提供BIOS支持,處理器制造商(所謂的硅制造商)向OEM提供詳細(xì)的信息。該信息通常是源代碼形式的。然而,通過(guò)提供這種代碼,諸如如何編程處理器以及底層硬件細(xì)節(jié)之類的處理器的硬件知識(shí)產(chǎn)權(quán)(IP)方面被暴露于第三方。此外,通過(guò)提供源代碼,OEM可修改代碼,以非標(biāo)準(zhǔn)方式集成它,或調(diào)整它以支持非標(biāo)準(zhǔn)硬件,這可提高復(fù)雜性和操作問(wèn)題,導(dǎo)致對(duì)于硅制造商的支持成本增加。為了初始化系統(tǒng)通常提供的信息的示例包括關(guān)于處理器的細(xì)節(jié)、互連鏈路、存儲(chǔ)器結(jié)構(gòu)等等。這些細(xì)節(jié)可包括寄存器定義和至該硬件的接口。該信息除被分發(fā)給OEM外, 還被分發(fā)給獨(dú)立的BIOS供應(yīng)商(IBV)。盡管對(duì)于x86計(jì)算機(jī)系統(tǒng)而言IBV和OEM的總體相對(duì)較小,但隨著處理器及其它先進(jìn)的硅控制器被包含到不同類型的系統(tǒng)和設(shè)備,預(yù)期該總體將大大擴(kuò)張,提出了更多的IP問(wèn)題和支持挑戰(zhàn)。附圖簡(jiǎn)述
圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的獨(dú)立于平臺(tái)的硅集成代碼(SIC)的組分的框圖。圖2是根據(jù)本發(fā)明實(shí)施例的系統(tǒng)的框圖。圖3是根據(jù)本發(fā)明一個(gè)實(shí)施例的硅集成代碼的發(fā)起的流程圖。圖4A和4B是根據(jù)本發(fā)明另一個(gè)實(shí)施例的SIC的發(fā)起的流程圖。圖5A和5B是根據(jù)本發(fā)明又一個(gè)實(shí)施例的SIC的發(fā)起的流程圖。圖6是根據(jù)本發(fā)明實(shí)施例的用于進(jìn)行運(yùn)行時(shí)間SIC執(zhí)行的方法的流程圖。圖7是根據(jù)本發(fā)明實(shí)施例的系統(tǒng)中的引導(dǎo)時(shí)間的高級(jí)流程的框圖。圖8是根據(jù)本發(fā)明實(shí)施例的執(zhí)行短暫SIC代碼的方法的流程圖。詳細(xì)描述在各實(shí)施例中,早期的初始化軟件具有對(duì)底層處理器硬件的緊耦合捆綁,使得硅制造商控制和提供早期的初始化軟件,而不是由OEM BIOS來(lái)實(shí)現(xiàn)。這種硅集成代碼(SIC)可在一種環(huán)境中使用,以加載代碼,保證其起源并且在SIC 的執(zhí)行之后,以無(wú)縫方式將控制轉(zhuǎn)讓給OEM BIOS。SIC可用于執(zhí)行諸如設(shè)定模擬鏈路的訓(xùn)練、診斷和針對(duì)測(cè)試鉤(hook)的設(shè)計(jì)之類的存儲(chǔ)器初始化的低級(jí)方面。盡管本發(fā)明的范圍不限于此方面,但用于存儲(chǔ)器控制器和互連鏈路以及用于各種處理器和系統(tǒng)特征的可能的運(yùn)行時(shí)間支持的關(guān)鍵初始化代碼可能是SIC形式的。在一些實(shí)施例中,該代碼的信任根 (root of trust)可經(jīng)由處理器微代碼中的鉤來(lái)提供,以實(shí)現(xiàn)SIC加載器,從而認(rèn)證然后加載可以是硅制造商的BIOS形式的SIC,然后將控制傳遞給OEM BIOS。鑒于升級(jí)到OEM BIOS 的挑戰(zhàn),存儲(chǔ)諸如包含在閃存中的固件卷之類的BIOS的存儲(chǔ)器可能是惡意的,所以用于發(fā)起SIC加載器的處理器封裝內(nèi)的核微代碼的信任根可用于保證包括SIC的OEM BIOS的這些輔助塊是有效的。在SIC執(zhí)行之后,控制可傳遞到OEM BIOS,該OEM BIOS可根據(jù)統(tǒng)一可擴(kuò)展固件接口(UEFI)開(kāi)源核(例如,UEFI規(guī)范版本2. 0(2006年2月21日))來(lái)實(shí)現(xiàn),或者經(jīng)由開(kāi)放固件電氣與電子工程師協(xié)會(huì)(IEEE) 1275-1994或經(jīng)由各自引導(dǎo)一個(gè)或多個(gè)操作系統(tǒng)(OS) 的常規(guī)BIOS或私有OEM引導(dǎo)代碼來(lái)實(shí)現(xiàn)。在一些實(shí)現(xiàn)中,SIC可用于執(zhí)行補(bǔ)丁,例如以解決錯(cuò)誤或執(zhí)行二進(jìn)制變換。而且,SIC能夠?yàn)槟承┐鎯?chǔ)塊設(shè)置保護(hù),例如以便對(duì)于二進(jìn)制變換、錯(cuò)誤處理或在運(yùn)行時(shí)間中運(yùn)行且對(duì)OS不可見(jiàn)的硅制造商的其它代碼隱藏存儲(chǔ)器塊。由此,在處理器將保留的代碼例如用于微代碼只讀存儲(chǔ)器(uROM)卸載、協(xié)處理器支持等的情況下,在將機(jī)器暴露于第三方OEM代碼之前使SIC提供這種存儲(chǔ)器允許存儲(chǔ)器的子集對(duì)于處理器可用。在各實(shí)施例中,SIC可作為二進(jìn)制代碼提供用于包含在OEM BIOS中,例如作為閃存或其它非易失性存儲(chǔ)器,或者SIC可實(shí)現(xiàn)在處理器封裝的非易失性存儲(chǔ)中。因此,實(shí)施例使處理器或其它硅制造商能夠?qū)⒍M(jìn)制模塊傳送給客戶,而非將源代碼傳送給客戶,從而提供更大的IP保護(hù)。此外隨著客戶數(shù)量的增長(zhǎng),可通過(guò)將BIOS構(gòu)造塊與硅一起傳送來(lái)降低技術(shù)支持成本。圖I是根據(jù)本發(fā)明的一個(gè)實(shí)施例可包含在SIC中的獨(dú)立于平臺(tái)的BIOS的組件的框圖。對(duì)于獨(dú)立于平臺(tái),它表示所包括的組件將在任何給定平臺(tái)上執(zhí)行,而不管機(jī)器的具體細(xì)節(jié)如何(例如,存儲(chǔ)器類型、鏈路速度、可用電壓等)。相反,正如以下將描述的,依賴平臺(tái)的任何東西可通過(guò)平臺(tái)制造商數(shù)據(jù)文件來(lái)編碼。作為示例,平臺(tái)供應(yīng)商可將諸如關(guān)于系統(tǒng)板的信息等某些信息參數(shù)化。進(jìn)行基本初始化(例如,建立信任根的鏈路初始化)的某些組件可由SIC在將控制轉(zhuǎn)讓給第三方代碼之前完成。這種SIC的暫時(shí)隔離提供了保證處理器在通電復(fù)位時(shí)擁有硬件且在將控制給予第三方代碼之前僅Sic代碼能夠運(yùn)行。如圖1所見(jiàn),SIC組件可包括初始程序加載器(IPL) 20,它負(fù)責(zé)在第三方代碼之前定位和加載SIC的其余部分。注意,可不將該加載器看作SIC的組件。SIC的組件可以是短暫的或持久的。對(duì)于持久的組件,它可以是主動(dòng)的(作用類似于平臺(tái)初始化(PI)模塊)或被動(dòng)的(作用類似于庫(kù),通過(guò)新指令)。在圖1的實(shí)施例中,SIC 10包括嵌入式中央處理單元(CPU)邏輯(ECL) 30,它初始化諸如板上互連之類的處理器間邏輯。用于鏈路初始化和存儲(chǔ)器初始化兩者的訓(xùn)練可包括在鏈路兩端之間的通信。在鏈路的情況下,處理器可耦合到另一個(gè)處理器或輸入/輸出 (10)中樞,且可確定它們能夠處理數(shù)據(jù)的最優(yōu)頻率和鏈路寬度。該ECL模塊通??梢允嵌虝旱?。在一些實(shí)施例中,在從低功率狀態(tài)(例如,高級(jí)配置和電源接口(ACPI)低功率狀態(tài), 例如,ACPI規(guī)范版本4. 0(2009年6月16日)的S3)的恢復(fù)操作中,鏈路初始化可在不破壞存儲(chǔ)器內(nèi)容的情況下重新完成。SIC 10還可包括嵌入式存儲(chǔ)器邏輯(EML)40以初始化存儲(chǔ)器。在運(yùn)行時(shí)間(例如,用于處理溫度調(diào)節(jié)或錯(cuò)誤處理)中,該組件可以是部分短暫的且部分持久的。存儲(chǔ)器初始化還可包括設(shè)定尋址,因?yàn)椴煌慕M件具有不同的存儲(chǔ)器視圖。例如,CPU可具有處理器物理地址,動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)可具有DRAM物理地址,且在一些實(shí)施例中,可存在平臺(tái)物理地址。因此取決于如何編程鏈路地址解碼器,可存在不同的存儲(chǔ)器視圖。為了使一定量的隔絕存儲(chǔ)器用于處理器,可對(duì)地址解碼器和存儲(chǔ)器解碼器的子集編程以用于處理器。這種隔絕存儲(chǔ)器可在系統(tǒng)操作期間由處理器排他地使用,且可存儲(chǔ)微代碼卸載、二進(jìn)制轉(zhuǎn)換器、許可信息、可管理性信息等。此外,保留的邏輯50可用于支持獨(dú)立于平臺(tái)的邏輯的其它特征。盡管在圖1的實(shí)施例中示出,但是應(yīng)理解本發(fā)明的范圍在這方面不受限制?,F(xiàn)在參見(jiàn)圖2,所示為根據(jù)本發(fā)明實(shí)施例的系統(tǒng)的框圖。圖2所示系統(tǒng)100包括硬件和各種軟件層。還應(yīng)注意,所示的硬件實(shí)現(xiàn)是以代表性的高級(jí)示出的,且更多的組件將存在于給定系統(tǒng)中。此外,盡管軟件部分被示為在不同位置的各組件,但應(yīng)理解在不同實(shí)施例中具體的SIC部分可存在于不同的位置。關(guān)于系統(tǒng)的底層硬件,硬件110可包括各種組件,包括一個(gè)或多個(gè)處理器、存儲(chǔ)器、輸入/輸出設(shè)備等。然而,為了便于示出,在圖2的實(shí)施例中僅示出幾個(gè)這樣的組件。具體地,示出的是處理器核115和用于在該核上執(zhí)行的相應(yīng)的微代碼120。在各實(shí)施例中,核 115可表示多核處理器的多個(gè)核,每個(gè)可包括其自身的微代碼存儲(chǔ)。此外,在很多實(shí)現(xiàn)中,處理器封裝還可包括集成存儲(chǔ)器控制器(IMC) 125,該集成存儲(chǔ)器控制器(IMC) 125又可與系統(tǒng)存儲(chǔ)器130耦合,該系統(tǒng)存儲(chǔ)器130在一個(gè)實(shí)施例中可由多個(gè)諸如雙數(shù)據(jù)率(DDR) -3DIMM 之類的雙列直插存儲(chǔ)器模塊(DIMM)形成。如進(jìn)一步看到的,IMC 125可耦合到外圍控制器中樞(PCH) 135,該外圍控制器中樞(PCH) 135又可耦合到諸如可信任平臺(tái)模塊(TPM) 140和外圍模塊145之類的其它設(shè)備。盡管本發(fā)明的范圍不限于此,但各種設(shè)備至PCH 135的互連可經(jīng)由低引腳數(shù)(LPC)總線。盡管僅以這些有限組件示出,但應(yīng)理解在不同實(shí)現(xiàn)中可存在更多的組件。緊耦合到處理器硬件的可以是SIC模塊150。在各實(shí)現(xiàn)中,SIC模塊可實(shí)現(xiàn)在可存在于處理器封裝內(nèi)的諸如閃存之類的非易失性存儲(chǔ)中。或者,SIC模塊可作為二進(jìn)制從處理器制造商提供給OEM,該OEM將其包含到它的BIOS中。因此,注意在不同的實(shí)現(xiàn)中SIC的實(shí)際位置可改變。在一個(gè)實(shí)施例中,SIC可以是OEM BIOS的一部分,例如集成到固定于主板的閃存設(shè)備。然而,為了便于示出,SIC模塊150示為單獨(dú)的代碼塊。具體地,示出該模塊包括多個(gè)SIC代碼修訂15&-152n。即,如以下將進(jìn)一步討論的,可在現(xiàn)場(chǎng)更新SIC。除代碼外,各數(shù)據(jù)塊巧‘-巧‘可存在于SIC模塊中。在一個(gè)實(shí)施例中,硅制造商策略可包含在這種SIC數(shù)據(jù)塊中,且它可基于庫(kù)存單位(stock keeping unit (SKU))。這種信息可包括額定電壓和溫度以指示部件等級(jí)、所支持的特征和/或熱一物理硅特性。為了訪問(wèn)這些各種代碼和數(shù)據(jù)塊,可提供固件接口表(FIT) 155。注意,代碼和數(shù)據(jù)塊可受密鑰對(duì)結(jié)構(gòu)保護(hù)。 注意在各實(shí)施例中,SIC 150可密碼地綁定到硬件,且發(fā)起以核微代碼120為中介。另外的系統(tǒng)軟件可以是OEM BIOS形式的,包括根據(jù)UEFI標(biāo)準(zhǔn)的預(yù)引導(dǎo)代碼。這種代碼可存儲(chǔ)在各種固件卷中且可包括安全初始化代碼(SEC)、預(yù)EFI (PEI)代碼、以及驅(qū)動(dòng)器執(zhí)行環(huán)境(DXE)和引導(dǎo)設(shè)備選擇(BDQ代碼。作為邏輯示出,這種代碼可被分成第一代碼模塊160和第二代碼模塊170。固件卷是可包括BIOS和其它低級(jí)軟件的非電壓存儲(chǔ)器的邏輯劃分。一般而言,模塊160和170各自可以是具有第三方可擴(kuò)展代碼的固件卷。第一代碼模塊160可用于執(zhí)行OEM平臺(tái)初始化并從SIC代碼獲得存儲(chǔ)器孔(memory aperture) (塊162)??刂迫缓罂蓚鬟f到代碼塊614以執(zhí)行物理存在分析并執(zhí)行安全散列操作,在進(jìn)行對(duì)主固件卷168的任何測(cè)量之前,這進(jìn)而允許執(zhí)行安全固件更新機(jī)制166。如果所有這些認(rèn)證檢驗(yàn)通過(guò),則控制傳遞到第二代碼模塊170,它可包括DXE核且可例如利用存儲(chǔ)在ACPI 存儲(chǔ)器中的測(cè)量日志176來(lái)執(zhí)行UEFI安全引導(dǎo)模塊174。然后可執(zhí)行OS加載器和驅(qū)動(dòng)器 185,進(jìn)而加載OS 180,該OS 180可以是遵守UEFI的0S。在其它實(shí)現(xiàn)中,可經(jīng)由一個(gè)或多個(gè)任選ROM 195實(shí)現(xiàn)傳統(tǒng)OS 190。
如下所述,SIC初始程序加載器的實(shí)現(xiàn)可取決于將SIC綁定到平臺(tái)所選擇的方法。 在一個(gè)實(shí)施例中,可發(fā)生復(fù)位補(bǔ)丁(P@R)操作,其中一旦處理器處理補(bǔ)丁,CPU中的核微代碼或其它邏輯可將SIC段定位在CPU閃存或OEM閃存中;或者它可經(jīng)由初始程序加載(IPL) 邏輯內(nèi)的核補(bǔ)丁發(fā)起以便發(fā)起SIC。在SIC位于CPU或CPU認(rèn)證的元件之外的情況下,可進(jìn)行認(rèn)證以在加載前驗(yàn)證SIC 二進(jìn)制?,F(xiàn)在參見(jiàn)圖3A,所示是根據(jù)本發(fā)明一個(gè)實(shí)施例的SIC的發(fā)起的流程圖。如圖3A 所示,可在處理器復(fù)位時(shí)開(kāi)始操作(框210)。非常微小的低級(jí)操作可由處理器響應(yīng)于復(fù)位而執(zhí)行,該復(fù)位可由處理器經(jīng)由復(fù)位信號(hào)接收。接下來(lái),可由核微代碼加載補(bǔ)丁(框215)。 核微代碼可訪問(wèn)具有能指向核微代碼補(bǔ)丁的FIT指針的固件接口表。在一些實(shí)施例中,表可指向IPL。在一個(gè)實(shí)施例中,補(bǔ)丁可存儲(chǔ)在OEM閃存中,該OEM閃存還可包括FIT。表的每個(gè)條目指向給定的代碼位置。在這種補(bǔ)丁加載之后,可經(jīng)由核微代碼標(biāo)識(shí)并發(fā)起SIC(框 220)。在不同的實(shí)現(xiàn)中,補(bǔ)丁可包括IPL。IPL可被驗(yàn)證作為核補(bǔ)丁加載的一部分,然后它能進(jìn)行其自身的完整機(jī)制,諸如單獨(dú)的密鑰對(duì)以驗(yàn)證SIC。在一個(gè)實(shí)施例中,IPL可以是核微代碼的一部分。因此,如圖3B所示,在處理器復(fù)位(框230)和補(bǔ)丁加載(框235)之后,可發(fā)生執(zhí)行補(bǔ)丁,這包括IPL(框M0)進(jìn)而發(fā)起SIC(框250)。在另一個(gè)實(shí)現(xiàn)中,在處理器復(fù)位時(shí)發(fā)起被認(rèn)證的代碼模塊(ACM),以在發(fā)起B(yǎng)IOS 代碼之前檢驗(yàn)適當(dāng)?shù)耐C(jī)和/或?qū)⒋鎯?chǔ)器歸零。這些操作可包括在OEM BIOS中執(zhí)行散列, 以及通過(guò)認(rèn)證的代碼模塊訪問(wèn)TPM。這種ACM可嵌入SIC或IPL并使其找到例如在第三方 BIOS內(nèi)的SIC(例如,母板的閃存設(shè)備)。因此,在其它實(shí)現(xiàn)中,可從認(rèn)證的代碼模塊發(fā)起 SIC。如圖4A所見(jiàn),圖4A是根據(jù)本發(fā)明的另一個(gè)實(shí)施例的發(fā)起SIC的流程圖,在框310處處理器復(fù)位之后,可由核微代碼發(fā)起ACM (框31 。進(jìn)而,可在ACM的清潔停機(jī)(clean shut down)時(shí)發(fā)起SIC (框320)。在又一個(gè)實(shí)現(xiàn)中,可提供在ACM的清潔停機(jī)時(shí)發(fā)起的IPL。因此,如圖4B所示,在處理器復(fù)位(框350)后,發(fā)起ACM(框360)然后在ACM的清潔停機(jī)時(shí), 可發(fā)起IPL (框370),進(jìn)而發(fā)起SIC (框380)。在SIC執(zhí)行結(jié)束時(shí),控制可傳遞到BIOS (SIC是該BIOS的一部分)。例如,控制可傳遞到機(jī)器的復(fù)位向量,且經(jīng)由UEFI入口點(diǎn),F(xiàn)IT條目可由SIC訪問(wèn)以在PI模塊上開(kāi)始運(yùn)行 OEM BIOS。在一些實(shí)現(xiàn)中,可用PI代碼可用于執(zhí)行SIC。作為一示例,“SEC”模塊可邏輯上重命名為“SIC_IPL”,而無(wú)需任何硬件修改。這在圖5A中示出,其中在處理器復(fù)位(框410) 時(shí),發(fā)起IPL (框41 ,且進(jìn)而發(fā)起SIC (框420)。另一方式是將SIC嵌入初始化R0M(INIT ROM)。即,閃存最終未映射到第三方BIOS或OS地址空間。在在圖5B中示出,其中在處理器復(fù)位(框430)時(shí),執(zhí)行INIT R0M,其包括發(fā)起SIC的IPL (框435、440和450)。在又一個(gè)實(shí)現(xiàn)中,可利用基于處理器的代碼例如通過(guò)PI SEC或INIT ROM執(zhí)行獨(dú)立SIC發(fā)起。在“SEC”的情況下,可在發(fā)起SIC之后執(zhí)行認(rèn)證。換言之,該方法將BIOS弓|導(dǎo)塊表示為核的信任根(CRTM)。該模型的安全考慮包括確保SIC的完整,即二進(jìn)制的起源是通過(guò)硅制造商的。將SIC綁定到被認(rèn)證的代碼模塊或補(bǔ)丁是一種機(jī)制,充分利用這些二進(jìn)制中已經(jīng)使用的完整覆蓋。或者,另一模型是將SIC_IPL集成到上述實(shí)體。SIC_IPL將負(fù)責(zé)完成確保SIC的完整檢驗(yàn),但在復(fù)位時(shí)加載的勘誤補(bǔ)丁、BIOS ACM、INIT ROM或其它復(fù)位時(shí)間可執(zhí)行的現(xiàn)有邏輯將從SIC去耦。這可允許升級(jí)機(jī)制,其中SIC可從前面的二進(jìn)制實(shí)體以不同的步調(diào)改變。然而,注意這種去耦不表示可存在SIC_IPL主機(jī)模塊和后續(xù)SIC實(shí)例的各種修訂的自組織混合。相反,可一起驗(yàn)證元組(SIC_IPL主機(jī),SIC),使得僅SIC_IPL主機(jī)和SIC的所支持的修訂經(jīng)由更新被支持,從而不會(huì)經(jīng)由未驗(yàn)證的組合暴露回退和其它攻
擊ο為了實(shí)現(xiàn)早期初始化的硅制造商控制,可存在各種數(shù)據(jù)模塊。在一個(gè)實(shí)施例中,整個(gè)SIC數(shù)據(jù)模塊可與SIC相關(guān)聯(lián)且包括由處理器制造商、OEM和終端用戶提供的數(shù)據(jù)。因此,除處理器制造商數(shù)據(jù)之外,如上所述,可訪問(wèn)SIC平臺(tái)數(shù)據(jù)編碼(PDE),即由平臺(tái)制造商 (PM)創(chuàng)建且綁定到系統(tǒng)板的數(shù)據(jù)結(jié)構(gòu)。在一個(gè)實(shí)施例中,PDE可包括但不限于例如通過(guò)固件接口表(FIT)條目參考的UEFI PI平臺(tái)配置數(shù)據(jù)(POT)。PDE可提供功率管理(PM)策略和不可發(fā)現(xiàn)的板專用信息。平臺(tái)數(shù)據(jù)編碼可提供關(guān)于如何將處理器包含到板內(nèi)的細(xì)節(jié),諸如板是否是無(wú)風(fēng)扇設(shè)計(jì)。該信息可包括供應(yīng)商需要的頻率模式設(shè)置,用于存儲(chǔ)器DIMM上的串行存在檢測(cè)(SPD)EEPROM的某些系統(tǒng)管理總線(SMBUS)地址的路由等??赡艿男畔⒖墒沟迷赑DE中錯(cuò)誤信息的情況下(諸如經(jīng)由供應(yīng)商錯(cuò)誤或惡意軟件 (malware)攻擊ROM) SIC將安全地出故障。另一個(gè)模型是可信任的PDE,諸如使PM設(shè)備處的硅制造商工具獲取PM輸入并使用遠(yuǎn)程硅制造商服務(wù)器對(duì)PDE簽名并將其返回給PM以供后續(xù)集成到平臺(tái)。除PDE外,還有一些后傳送設(shè)置要傳達(dá)給SIC。這些通常是平臺(tái)所有者(PO)弓丨起的變化。特定的數(shù)據(jù)編碼和存儲(chǔ)可被稱為所有者數(shù)據(jù)編碼(ODE)。在不同的系統(tǒng)中ODE可具有不同的位置,諸如可信任的計(jì)算組(TCG)TPM非易失性(NV)數(shù)據(jù)位置,且NV索引被保留用于SIC或一些其它所有者授權(quán)的位置??赡茉贠DE中的數(shù)據(jù)類型可包括所有者選擇, 諸如存儲(chǔ)器交織、特征啟用/禁用(例如,同時(shí)多線程(SMT))。存在類似的自變量用于相對(duì)于ODE的信任,即在對(duì)ODE進(jìn)行惡意或錯(cuò)誤的所有者更新的情況下SIC應(yīng)安全地出故障。盡管以上討論集中在初始化時(shí)間SIC,但諸實(shí)施例還可使SIC能夠在運(yùn)行時(shí)間中使用,例如尤其是對(duì)于可靠性-可用性-可服務(wù)性(RAQ的目的的高可用性服務(wù)器。具體地,在引導(dǎo)/初始化時(shí)間中發(fā)生的某些操作,諸如鏈路初始化和存儲(chǔ)器初始化代碼可在運(yùn)行時(shí)間中再次發(fā)生。設(shè)想存儲(chǔ)器或I0H/CPU的熱添加。該運(yùn)行時(shí)間活動(dòng)可整體地表達(dá)在ACPI機(jī)器語(yǔ)言(AML)流中,使得OS功率管理(OSPM)代碼可在沒(méi)有固件同謀(firmware complicity)的情況下執(zhí)行動(dòng)作。但在實(shí)際上,這些流中的很多使用系統(tǒng)管理模式(SMM)幫助。SMM實(shí)現(xiàn)是補(bǔ)充ACPI和芯片組動(dòng)作以完成諸如經(jīng)由DIMM的熱添加的存儲(chǔ)器再初始化之類的動(dòng)作的處理程序。這需要在運(yùn)行時(shí)間中具有SIC,但因?yàn)镾MM處理程序受OEM的控制,在存儲(chǔ)器初始化中需要的IP將與OEM共享,無(wú)論它經(jīng)由文檔使得它們可寫入其自身的處理程序,還是經(jīng)由源代碼使得它們可將邏輯集成到其SMM流。代替使用本發(fā)明的實(shí)施例, 可在運(yùn)行時(shí)間中執(zhí)行SIC以避免這些披露的事實(shí)?,F(xiàn)參照?qǐng)D6,示出根據(jù)本發(fā)明的實(shí)施例的進(jìn)行運(yùn)行時(shí)間SIC執(zhí)行的方法的流程圖。 在高可用性系統(tǒng)上的運(yùn)行時(shí)間操作的上下文下示出圖6,該運(yùn)行時(shí)間操作對(duì)該系統(tǒng)提供動(dòng)態(tài)變化,諸如熱添加操作。此外,應(yīng)該理解,圖6的方法500可在ACPI流的上下文中使用, 其中控制通常傳遞到SMM上下文以執(zhí)行用于處理ACPI請(qǐng)求的某些任務(wù)。如圖6所示,方法500可通過(guò)接收熱插拔指示開(kāi)始(框510)。這種熱插拔指標(biāo)可以是新組件將被合并到系統(tǒng)中的指示。這種組件可以是多處理器系統(tǒng)的新處理器、另外的存儲(chǔ)器等。此外,盡管圖6的實(shí)施例在熱插拔操作的上下文中,但諸實(shí)施例可同樣適用于對(duì)系統(tǒng)的其他動(dòng)態(tài)變化,諸如去除事件、故障恢復(fù)事件或其它這種操作。在接收到熱插拔指標(biāo)時(shí),可觸發(fā)功率管理操作以處理熱插拔事件(框520)。這種功率管理操作可以是ACPI實(shí)現(xiàn)的操作,諸如根據(jù)ACPI AML流。通常,在諸如初始化等熱插拔事件的過(guò)程中,這種流將觸發(fā)SMM事件以處理要執(zhí)行的各種任務(wù)。由于SMM模式由給定的OEM實(shí)現(xiàn),然而OEM需要訪問(wèn)例如硅制造商的底層IP。因此,在各實(shí)施例中,替代地,功率管理操作可包括用于調(diào)用短暫SIC的代碼(框 530)。這種短暫的SIC可執(zhí)行各種任務(wù),包括否則在SMM中執(zhí)行的初始化等。更具體地,如框540所示,SIC可基于一個(gè)或多個(gè)FIT條目和來(lái)自功率管理操作的輸入執(zhí)行例如熱插拔組件的初始化。例如,ACPI AML可提供各種輸入信息。在一個(gè)實(shí)施例中,在ACPI流中,解釋器可訪問(wèn)FIT表或在ACPI名稱空間中包括例程SIC模塊以提供暫時(shí)隔離。在其它實(shí)施例中,ACPI可調(diào)用CPU驅(qū)動(dòng)器寄存器用于回叫,然后調(diào)用SIC來(lái)進(jìn)行補(bǔ)丁模式,或者在SIC 模型是認(rèn)證的代碼模塊的情況下,經(jīng)由EnterAccs指令執(zhí)行。利用ACPI AML,可執(zhí)行對(duì)存儲(chǔ)器或IO位置的讀或?qū)?,所以在一個(gè)實(shí)施例中,合成外圍設(shè)備地址可合成在芯片組中以指示該模式。在這種情況下AMI相信它正與芯片組的一部分通信,然后芯片組實(shí)際上調(diào)用SIC。另一種方法是當(dāng)早期短暫SIC代碼運(yùn)行時(shí),它可存儲(chǔ)在被隔絕的存儲(chǔ)器中,然后通過(guò)這種合成外圍設(shè)備被再次調(diào)用且不必再次加載。因此在不同的實(shí)施例中,持久的SIC代碼可被執(zhí)行,或者可響應(yīng)于指標(biāo)發(fā)生短暫SIC代碼執(zhí)行。在初始化或其它操作的執(zhí)行之后,可卸載短暫SIC,且控制可返回到功率管理操作 (框550)。這種功率管理操作,例如,可發(fā)生ACPI AML流的連續(xù)執(zhí)行,以使系統(tǒng)準(zhǔn)備好用于增加的另外組件。盡管在圖6的實(shí)施例中示出了該特定實(shí)現(xiàn),但本發(fā)明的范圍在這方面不受限制。出于本討論的目的,剛描述的運(yùn)行時(shí)間SIC(RT_SIC)操作與從復(fù)位向量開(kāi)始運(yùn)行的上述SIC (還可稱為弓丨導(dǎo)時(shí)間SIC (BT_SIC)不同。RT_SIC可具有類似于SIC_IPL的區(qū)別的 IPL進(jìn)程。處理器可驗(yàn)證正確的SIC模塊以確保SIC的內(nèi)容對(duì)于系統(tǒng)板構(gòu)造器是不透明的。 為此,可實(shí)現(xiàn)短暫和持久的運(yùn)行時(shí)間調(diào)用的兩個(gè)模型中的至少一個(gè)。在短暫模型中,ACPI AML流可調(diào)用運(yùn)行時(shí)間二進(jìn)制模塊,例如,作為認(rèn)證的代碼模塊(ACM)。構(gòu)造為ACM的運(yùn)行時(shí)間SIC可參考來(lái)自FIT的SIC數(shù)據(jù)并執(zhí)行其初始化動(dòng)作,但在完成后卸載其自身。在該模式下,運(yùn)行時(shí)間SIC的完整保護(hù)的暴露窗僅在其動(dòng)作執(zhí)行期間,但貫穿平臺(tái)的使用期SIC 的保護(hù)不是所顧慮的。這補(bǔ)充具有短暫隔離的前述引導(dǎo)時(shí)間SIC的信任模型,即它首先運(yùn)行并在運(yùn)行之后卸載其自身。運(yùn)行時(shí)間支持的其它模型是持久運(yùn)行時(shí)間SIC。在該模型中,引導(dǎo)時(shí)間SIC可具有另外的IPL,即運(yùn)行時(shí)間SIC_IPL,其創(chuàng)建運(yùn)行時(shí)間代碼的環(huán)境和執(zhí)行上下文。對(duì)運(yùn)行時(shí)間SIC的策略輸入可以是具有控制/狀態(tài)寄存器(CSR)且將諸如熱插拔存儲(chǔ)器或其它命令之類的運(yùn)行時(shí)間動(dòng)作參數(shù)化的合成外圍設(shè)備(例如,外圍組件互連 (PCI))。這些CSR可由運(yùn)行時(shí)間持久SIC公開(kāi),且SIC按照其指示作用。這表示對(duì)這些能力的主機(jī)平臺(tái)接口經(jīng)由CSR,所以它看起來(lái)像是主機(jī)的硬件。當(dāng)因?yàn)閳?zhí)行內(nèi)容貫穿平臺(tái)的使用期受到保護(hù),所以信任模型對(duì)于運(yùn)行時(shí)間持久的SIC更有希望時(shí),密碼存儲(chǔ)器孔(CMA)可用于覆蓋運(yùn)行時(shí)間持久的SIC的執(zhí)行方式。諸實(shí)施例還可用于SIC的更新和遷移。由此,SIC可現(xiàn)場(chǎng)更新,包括以前的SIC (例如,SIC_revl)至隨后的SIC(例如,SIC_rev2)的遷移。為了維持工廠和用戶配置,可保留平臺(tái)所有者或制造商設(shè)置,諸如將SIC_DATA_revl映射至SIC_DATA_rev2作為安全變換,即, SIC_DATA_rev2 = T (SIC_DATA_revl)。該變換 T()的一個(gè)實(shí)施例可包括獲取在 SIC_DATA_ rev2中未定義的SIC_DATA_revl的任一工廠設(shè)置,并施加到SIC_DATA_rev2,包括完整或秘密性元數(shù)據(jù)塊的再生成(例如,密碼地再簽名和/或再加密)。而且,為了安全目的,SIC_IPL和SIC_C0DE可被配置成避免允許“更新”到較早的修訂(例如,將 SIC_CODE/DATA_rev”n-l” 施加到具有 SIC_C0DE/C0DE_rev”η” 的系統(tǒng))。 基本原理是系統(tǒng)部署的模型是為了處理器或芯片組制造商通過(guò)制造商在修訂‘η’中釋放修補(bǔ)來(lái)響應(yīng)修訂‘η-Γ中的安全性缺陷。攻擊者通常倒轉(zhuǎn)設(shè)計(jì)該修補(bǔ),并懷著重新引入錯(cuò)誤的期望來(lái)試圖將修訂‘η-Γ更新施加到系統(tǒng)。SIC_C0DE和SIC_IPL中的這種‘反回退’規(guī)定因此是提供抵抗這種攻擊的保護(hù)的附加策略。這種更新可解決稍后發(fā)現(xiàn)的問(wèn)題,不管是響應(yīng)于由客戶報(bào)告且在傳送處理器后現(xiàn)場(chǎng)發(fā)現(xiàn)的產(chǎn)品缺陷的硅勘誤、安全修補(bǔ),還是其它可用性顧慮(例如,功率、性能、修補(bǔ))??蛇M(jìn)行核微代碼和固件接口表(FIT)的增加,以允許多個(gè)SIC_C0DE和SIC_DATA 塊。除修訂標(biāo)識(shí)符外,代碼和數(shù)據(jù)還可包括其前面的密碼元數(shù)據(jù)(對(duì)于模塊的秘密性,可使用用于完整性的CMA和簽名)。稍后的修訂可用于前面的代碼設(shè)置向后者的改編遷移,但還可使用該修訂使得代碼和數(shù)據(jù)可具有所述的其它訪問(wèn)標(biāo)準(zhǔn),諸如“不回退至較舊版本”以便禁止攻擊,其中具有已知安全性缺陷的較早SIC_C0DE和SIC_DATA被攻擊者故意施加到系統(tǒng),從而再次引入其后解決的弱點(diǎn)?,F(xiàn)在參見(jiàn)圖7,所示為根據(jù)本發(fā)明實(shí)施例的系統(tǒng)中的引導(dǎo)時(shí)間的高級(jí)流的框圖。如圖7所示,該引導(dǎo)時(shí)間流用于確定多個(gè)SIC中要執(zhí)行的適當(dāng)一個(gè)。如所見(jiàn),在第一階段期間的通電時(shí),核微代碼710可開(kāi)始執(zhí)行。該核微代碼可定位FIT 722并認(rèn)證一個(gè)或多個(gè)SIC模塊7M和726。在不同的實(shí)施例中,該認(rèn)證可采取各種形式。例如,在一些實(shí)施例中,認(rèn)證可包括執(zhí)行散列(例如,SHA-256)和/或密碼數(shù)字簽名(例如,Rivest Shamir Adelman (RSA)、 糾錯(cuò)編碼(ECC)、數(shù)字簽名算法(DSA))以及借助于將散列和/或數(shù)字簽名與處理器或芯片組硬件聯(lián)合體中存儲(chǔ)的白名單(允許)和/或黑名單(禁止)進(jìn)行比較來(lái)確保由處理器硬件的平臺(tái)所有權(quán)。該階段可以使用哪個(gè)SIC策略決定而發(fā)起SIC來(lái)結(jié)束。如所見(jiàn)到的,基于FIT 722中的一個(gè)或多個(gè)條目,可選擇多個(gè)SIC修訂7 和726中所選的一個(gè)連同相關(guān)聯(lián)的SIC數(shù)據(jù)728,該SIC數(shù)據(jù)7 如上所述除處理器制造商數(shù)據(jù)編碼外還可包括平臺(tái)制造商數(shù)據(jù)編碼和終端用戶數(shù)據(jù)編碼。因此,控制傳遞到第二階段,其中執(zhí)行初始化ROM 720。 通過(guò)執(zhí)行硅集成代碼中的常規(guī)的源自第三方的活動(dòng),發(fā)生硅制造商授權(quán)的活動(dòng),包括圍繞升級(jí)SIC (例如,在存在多個(gè)SIC代碼和數(shù)據(jù)塊的情況下使用哪個(gè))以及屏蔽SIC本身的活動(dòng)的內(nèi)容的策略。初始化ROM可包括SIC,或者SIC可包括在諸如OEM BIOS存儲(chǔ)器之類的外部ROM 中(相對(duì)于處理器)。SIC的執(zhí)行可啟用與處理器、存儲(chǔ)器等相關(guān)聯(lián)的鏈路??刂迫缓罂蓚鬟f到第三方,在一個(gè)實(shí)施例中第三方可根據(jù)UEFI固件730執(zhí)行進(jìn)一步的平臺(tái)初始化,該 UEFI固件730可包括安全代碼、預(yù)執(zhí)行初始化和DXE核735.為了執(zhí)行這種代碼,可執(zhí)行各種設(shè)備、總線或服務(wù)驅(qū)動(dòng)器733b_n。注意該UEFI固件可實(shí)現(xiàn)在OEM BIOS中。控制然后經(jīng)由UEFI接口傳遞到由引導(dǎo)管理器744a執(zhí)行的引導(dǎo)設(shè)備選擇(BDQ代碼740,該引導(dǎo)管理器 744a進(jìn)而使OS引導(dǎo)。注意,SIC是短暫的且僅在第二階段期間存在,從而實(shí)現(xiàn)空間和時(shí)間隔離。盡管圖7未示出,但應(yīng)理解,在運(yùn)行時(shí)間中,該代碼或運(yùn)行時(shí)間SIC可被訪問(wèn),例如如上所述對(duì)于可用于平臺(tái)管理操作的各種動(dòng)態(tài)事件?,F(xiàn)在參見(jiàn)圖8,所示是根據(jù)本發(fā)明實(shí)施例的執(zhí)行SIC代碼的方法的流程圖。如所見(jiàn),方法800可經(jīng)由微代碼的執(zhí)行在機(jī)器的重啟時(shí)開(kāi)始(框810)。具體地,微代碼可確定 FIT表是否可訪問(wèn)(菱形815)。如果不是,則可設(shè)定標(biāo)志以指示從FIT表的加載是不可能的(框82;3)??刂迫缓髠鬟f到框824,由于引導(dǎo)失敗而進(jìn)入恢復(fù)狀態(tài)。如果相反,F(xiàn)IT表可訪問(wèn),則接下來(lái)可確定SIC代碼條目是否對(duì)應(yīng)于最大修訂號(hào) (菱形820)。如果是的話,則可發(fā)起初始程序加載器(框82 。如果該IPL是成功的(菱形830),則可運(yùn)行SIC (框840)。否則如果不成功,則控制傳遞到菱形835以確定是否存在另外的SIC FIT條目。如果是的話,則控制傳遞到框840,其中FIT條目可遞增且控制傳遞回菱形820。仍參考圖8,當(dāng)運(yùn)行SIC代碼時(shí),控制可傳遞到菱形850,以例如基于一個(gè)或多個(gè)認(rèn)證過(guò)程確定合法的SIC數(shù)據(jù)值是否存在(菱形850)。如果不是的話,則如上所討論的,控制傳遞回框824。如果合法的數(shù)據(jù)模塊存在,則控制傳遞到框855,其中可利用SIC數(shù)據(jù)模塊執(zhí)行包括存儲(chǔ)器初始化和鏈路初始化的某些系統(tǒng)初始化。在初始化之后,存儲(chǔ)器和鏈路可使其設(shè)置受到測(cè)試(框860)。接下來(lái),可確定測(cè)試是否通過(guò)(菱形86 。如果否,則可進(jìn)入恢復(fù)。如果相反測(cè)試通過(guò),則控制傳遞到框870,其中所有的設(shè)置可經(jīng)由安全變換遷移到最新的SIC數(shù)據(jù)。在一個(gè)實(shí)施例中,可通過(guò)SIC_C0DE映射較早的SIC_DATA的設(shè)置且映射至較晚的SIC_DATA(包括再次創(chuàng)建SIC_DATA塊的完整度量)來(lái)執(zhí)行這種安全變換。然后控制傳遞到例如OEM BIOS(框875)。盡管在圖8的實(shí)施例中示出了該特定實(shí)現(xiàn),但本發(fā)明的范圍在這方面不受限制。各實(shí)施例可以用代碼實(shí)現(xiàn),并可存儲(chǔ)在其上存儲(chǔ)有指令的存儲(chǔ)介質(zhì)上,這些指令可用來(lái)對(duì)系統(tǒng)編程以執(zhí)行這些指令。存儲(chǔ)介質(zhì)可包括但不限于任何類型的盤,包括軟盤、光盤、光碟、固態(tài)驅(qū)動(dòng)器(SSD)、緊湊盤只讀存儲(chǔ)器(⑶-ROM)、可重寫緊湊盤(⑶-RW)和磁光盤、諸如只讀存儲(chǔ)器(ROM)的半導(dǎo)體器件、諸如動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)、靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)之類的隨機(jī)存取存儲(chǔ)器(RAM)、可擦除可編程只讀存儲(chǔ)器(EPROM)、閃存、電可擦除可編程只讀存儲(chǔ)器(EEPROM)、磁卡或者光學(xué)卡、或適于存儲(chǔ)電子指令的任意其它類型的介質(zhì)。盡管本發(fā)明已針對(duì)有限數(shù)量的實(shí)施例作了描述,然而本領(lǐng)域技術(shù)人員將會(huì)從其中領(lǐng)會(huì)到許多修改和變型。所附權(quán)利要求旨在覆蓋所有這樣的修改和變型,只要其落在本發(fā)明的真實(shí)精神和范圍內(nèi)。
權(quán)利要求
1.一種裝置,包括非易失性存儲(chǔ),用于存儲(chǔ)與處理器制造商的獨(dú)立于平臺(tái)的代碼相對(duì)應(yīng)的半導(dǎo)體集成代碼(SIC),所述SIC包括嵌入式處理器邏輯,用于對(duì)處理器以及將所述處理器耦合到存儲(chǔ)器的至少一個(gè)鏈路進(jìn)行初始化;以及嵌入式存儲(chǔ)器邏輯,用于初始化存儲(chǔ)器,其中響應(yīng)于處理器復(fù)位并且在將控制提供給原始設(shè)備制造商(OEM)的預(yù)引導(dǎo)代碼之前執(zhí)行SIC。
2.如權(quán)利要求1所述的裝置,其特征在于,還包括初始程序加載器(IPL),用于加載 SIC,所述IPL從處理器的微代碼發(fā)起,其中所述IPL將認(rèn)證SIC然后發(fā)起SIC。
3.如權(quán)利要求2所述的裝置,其特征在于,所述IPL訪問(wèn)具有包括指向SIC位置的指針的條目的固件接口表(FIT)。
4.如權(quán)利要求3所述的裝置,其特征在于,將SIC作為二進(jìn)制提供給OEM,用于包含在非易失性存儲(chǔ)中,所述非易失性存儲(chǔ)包括OEM基本輸入/輸出系統(tǒng)(BIOS)。
5.如權(quán)利要求4所述的裝置,其特征在于,所述非易失性存儲(chǔ)包括多個(gè)SIC修訂,每一個(gè)與相應(yīng)的SIC數(shù)據(jù)模塊相關(guān)聯(lián),且其中所述IPL選擇多個(gè)SIC版本和SIC數(shù)據(jù)模塊中的一個(gè)以基于FIT中的條目發(fā)起。
6.如權(quán)利要求5所述的裝置,其特征在于,所述SIC數(shù)據(jù)模塊包括處理器制造商數(shù)據(jù)、 OEM數(shù)據(jù)和終端用戶數(shù)據(jù),其中所述OEM數(shù)據(jù)和終端用戶數(shù)據(jù)是依賴于平臺(tái)的。
7.如權(quán)利要求6所述的裝置,其特征在于,所述OEM數(shù)據(jù)是在插入到非易失性存儲(chǔ)之前由處理器制造商簽名的可信任數(shù)據(jù)。
8.如權(quán)利要求1所述的裝置,其特征在于,所述非易失性存儲(chǔ)是處理器封裝的,所述處理器封裝包括多個(gè)核、至少一個(gè)微代碼存儲(chǔ)和集成存儲(chǔ)器控制器。
9.如權(quán)利要求1所述的裝置,其特征在于,SIC將隔絕一部分存儲(chǔ)器用于處理器,其中隔絕的部分對(duì)于操作系統(tǒng)不可見(jiàn)。
10.如權(quán)利要求9所述的裝置,其特征在于,所述處理器在隔絕部分中存儲(chǔ)二進(jìn)制轉(zhuǎn)換ο
11.一種方法,包括在系統(tǒng)中接收至少一個(gè)組件將被動(dòng)態(tài)地包含到所述系統(tǒng)中的指示;響應(yīng)于所述指示經(jīng)由操作系統(tǒng)功率管理(OSPM)代碼觸發(fā)功率管理操作;調(diào)用來(lái)自O(shè)SPM代碼的半導(dǎo)體集成代碼(SIC)且不進(jìn)入系統(tǒng)管理模式,所述SIC對(duì)應(yīng)于處理器制造商的獨(dú)立于平臺(tái)的代碼,并且利用SIC執(zhí)行至少一個(gè)組件的初始化;以及卸載SIC并且返回到0SPM,其中SIC作為二進(jìn)制模塊由處理器制造商提供給系統(tǒng)的原始設(shè)備制造商(OEM)。
12.如權(quán)利要求11所述的方法,其特征在于,還包括基于固件接口表(FIT)中的條目, 利用SIC訪問(wèn)SIC數(shù)據(jù)模塊。
13.如權(quán)利要求12所述的方法,其特征在于,還包括利用SIC數(shù)據(jù)模塊中的信息執(zhí)行初始化。
14.如權(quán)利要求11所述的方法,其特征在于,還包括在系統(tǒng)啟動(dòng)時(shí)發(fā)起SIC以執(zhí)行系統(tǒng)的處理器和存儲(chǔ)器的初始化。
15.如權(quán)利要求14所述的方法,其特征在于,還包括在執(zhí)行初始化之后,將SIC存儲(chǔ)在由SIC設(shè)定的存儲(chǔ)器的隔絕部分中。
16.如權(quán)利要求15所述的方法,其特征在于,還包括調(diào)用隔絕部分中存儲(chǔ)的SIC。
17.如權(quán)利要求11所述的方法,其特征在于,還包括在芯片組中合成外圍設(shè)備地址并且經(jīng)由OSPM代碼對(duì)外圍設(shè)備地址的訪問(wèn)來(lái)調(diào)用SIC。
18.一種系統(tǒng),包括處理器,包括多個(gè)核和非易失性存儲(chǔ)器,所述非易失性存儲(chǔ)器用于存儲(chǔ)與處理器制造商的獨(dú)立于平臺(tái)的代碼相對(duì)應(yīng)的半導(dǎo)體集成代碼(SIC),所述SIC包括嵌入式處理器邏輯,用于對(duì)處理器以及將所述處理器耦合到系統(tǒng)存儲(chǔ)器的至少一個(gè)鏈路進(jìn)行初始化;以及嵌入式存儲(chǔ)器邏輯,用于初始化系統(tǒng)存儲(chǔ)器,其中響應(yīng)于處理器復(fù)位并且在將控制提供給原始設(shè)備制造商(OEM)的基本輸入/輸出系統(tǒng)(BIOS)之前執(zhí)行SIC;閃存,用于存儲(chǔ)OEM的固件,所述固件包括OEM BIOS ;以及耦合到所述處理器的系統(tǒng)存儲(chǔ)器。
19.如權(quán)利要求18所述的系統(tǒng),其特征在于,還包括初始程序加載器(IPL),用于認(rèn)證然后發(fā)起SIC,所述IPL從處理器的微代碼發(fā)起。
20.如權(quán)利要求19所述的系統(tǒng),其特征在于,SIC將隔絕一部分系統(tǒng)存儲(chǔ)器用于在系統(tǒng)操作期間由處理器排他地使用,其中隔絕的部分對(duì)于操作系統(tǒng)不可見(jiàn)。
全文摘要
在一個(gè)實(shí)施例中,可由處理器制造商提供二進(jìn)制形式的半導(dǎo)體集成代碼(SIC)。該SIC可包括處理器制造商的獨(dú)立于平臺(tái)的代碼。這種代碼可包括嵌入式處理器邏輯,用于對(duì)處理器以及將處理器耦合到存儲(chǔ)器的至少一個(gè)鏈路進(jìn)行初始化;以及嵌入式存儲(chǔ)器邏輯,用于初始化存儲(chǔ)器。描述并要求保護(hù)其他實(shí)施例。
文檔編號(hào)G06F9/445GK102298529SQ20111018857
公開(kāi)日2011年12月28日 申請(qǐng)日期2011年6月24日 優(yōu)先權(quán)日2010年6月25日
發(fā)明者S·H·魯濱遜, V·J·齊默, 幸濱 申請(qǐng)人:英特爾公司