新四季網

一種基於X86模擬器的國產平臺BIOS顯卡驅動方法與流程

2023-05-20 00:40:01


本本發明公開一種bios顯卡驅動方法,涉及顯卡驅動領域,具體地說是一種基於x86模擬器的國產平臺bios顯卡驅動方法。



背景技術:

顯卡bios(即videobios,以下簡稱vbios),是pcie顯卡提供的一段顯卡控制程序,包含顯卡的型號、規格及生產廠家等信息,並向bios或作業系統提供顯卡初始化、字符輸出、模式設定等編程接口。系統初始化時,bios通過pcie總線將vbios加載至內存,並執行vbios的入口函數完成顯卡初始化,vbios入口函數執行結束後,會安裝int10h中斷,bios或作業系統可通過調用int10h中斷實現字符輸出、模式設定等功能。但vbios中的程序為x86處理器的二進位機器碼,無法直接在非x86體系架構的國產平臺下運行。

本發明針對國產處理器的bios進行設計,提供一種基於x86模擬器的國產平臺bios顯卡驅動方法,利用x86模擬器在非x86體系架構下,運行x86設計的程序,使國產平臺bios顯卡能進行驅動。

x86模擬器可以在現有的軟體和硬體條件下,模擬x86架構的微處理器及符合x86輸入輸出規範的所有必備外設。



技術實現要素:

本發明針對現有技術存在的不足和問題,提供一種基於x86模擬器的國產平臺bios顯卡驅動方法,利用x86模擬器在非x86體系架構下,運行x86設計的程序,使國產平臺bios顯卡能進行驅動。

本發明提出的具體方案是:

一種基於x86模擬器的國產平臺bios顯卡驅動方法,利用x86模擬器讀取pcie顯卡中的vbios,加載至x86模擬器的模擬內存中,並執行vbios的入口函數完成顯卡初始化,vbios入口函數執行結束後,x86模擬器向顯示驅動提供int10h中斷調用接口使vbios入口函數所安裝的int10h中斷實現自身功能。

所述的方法中x86模擬器讀取顯卡中的vbios,並對vbios進行校驗,若校驗正確,則申請存儲空間存放模擬cpu寄存器,同時申請連續內存區域作模擬內存,存儲vbios。

所述的方法中x86模擬器通過調用接口執行vbios入口函數,從模擬內存的特定地址讀取並解析x86機器碼,根據x86機器碼的內容執行對應的操作。

所述的方法中x86模擬器根據所應用的國產平臺處理器架構,對所讀寫的內存地址或io地址進行映射,可從物理內存或pcie設備中獲得正確的數據。

一種x86模擬器,應用於所述的方法中,

包括模擬器初始化模塊、x86機器碼解碼器、地址映射處理模塊、pcie/io讀寫模塊和int10h中斷調用接口;

其中模擬器初始化模塊讀取顯卡中的vbios,並對vbios進行校驗,若校驗正確,則申請存儲空間存放模擬cpu寄存器,同時申請連續內存區域作模擬內存,存儲vbios;同時調用x86機器碼解碼器提供的接口,執行vbios的入口函數;

x86機器碼解碼器從模擬內存的特定地址讀取並解析x86機器碼,根據x86機器碼的內容執行對應的操作,並為其它模塊提供x86機器碼的執行接口;

地址映射處理模塊根據所應用的國產平臺處理器架構,對x86機器碼解碼器所讀寫的內存地址或io地址進行映射,可從物理內存或pcie設備中獲得正確的數據;

pcie/io讀寫模塊負責對模擬器初始化模塊或地址映射模塊給出的指定pcie或io地址進行讀寫;

int10h中斷調用接口負責向顯示驅動提供int10h中斷調用接口使vbios入口函數所安裝的int10h中斷實現自身功能。

所述的x86模擬器中模擬器初始化模塊將模擬內存中部分用於系統內存,部分用於smbios,部分用於存放vbios。

所述的x86模擬器中x86機器碼解碼器從模擬cpu寄存器的cs和ip寄存器中獲取指令地址,並調用地址映射處理模塊提供的接口,從指令地址讀取指令,並根據指令內容修改模擬cpu寄存器。

所述的x86模擬器中x86機器碼解碼器從模擬cpu寄存器的cs和ip寄存器中獲取指令地址,並調用地址映射處理模塊提供的接口,從指令地址讀取指令,若指令需要讀寫內存或io,則調用地址映射處理模塊提供的接口進行處理。

所述的x86模擬器中pcie/io讀寫模塊通過pcie內存存取接口、vgamemory存取接口、pcie配置空間存取接口和io存取接口來進行指定pcie或io地址讀寫。

所述的x86模擬器中int10h中斷調用接口根據顯示驅動設定的寄存器的值,初始化模擬cpu寄存器,隨後將中斷觸發指令和中斷號填入模擬內存的特定地址,最後調用x86機器碼解碼器跳轉至該地址執行,觸發vbios所安裝的int10h中斷。

本發明的有益之處是:

本發明提供一種基於x86模擬器的國產平臺bios顯卡驅動方法,利用x86模擬器讀取pcie顯卡中的vbios,加載至x86模擬器的模擬內存中,並執行vbios的入口函數完成顯卡初始化,vbios入口函數執行結束後,x86模擬器向顯示驅動提供int10h中斷調用接口使vbios入口函數所安裝的int10h中斷實現自身功能;

利用本發明方法通過x86模擬器在非x86體系架構下,運行x86設計的程序,使得國產平臺bios顯卡能進行驅動。

附圖說明

圖1本發明x86模擬器的模塊框架示意圖;

圖2本發明方法流程示意圖。

具體實施方式

本發明提供一種基於x86模擬器的國產平臺bios顯卡驅動方法,利用x86模擬器讀取pcie顯卡中的vbios,加載至x86模擬器的模擬內存中,並執行vbios的入口函數完成顯卡初始化,vbios入口函數執行結束後,x86模擬器向顯示驅動提供int10h中斷調用接口使vbios入口函數所安裝的int10h中斷實現自身功能。

同時提供一種x86模擬器,應用於所述的方法中,

包括模擬器初始化模塊、x86機器碼解碼器、地址映射處理模塊、pcie/io讀寫模塊和int10h中斷調用接口;

其中模擬器初始化模塊讀取顯卡中的vbios,並對vbios進行校驗,若校驗正確,則申請存儲空間存放模擬cpu寄存器,同時申請連續內存區域作模擬內存,存儲vbios;同時調用x86機器碼解碼器提供的接口,執行vbios的入口函數;

x86機器碼解碼器從模擬內存的特定地址讀取並解析x86機器碼,根據x86機器碼的內容執行對應的操作,並為其它模塊提供x86機器碼的執行接口;

地址映射處理模塊根據所應用的國產平臺處理器架構,對x86機器碼解碼器所讀寫的內存地址或io地址進行映射,可從物理內存或pcie設備中獲得正確的數據;

pcie/io讀寫模塊負責對模擬器初始化模塊或地址映射模塊給出的指定pcie或io地址進行讀寫;

int10h中斷調用接口負責向顯示驅動提供int10h中斷調用接口使vbios入口函數所安裝的int10h中斷實現自身功能。

結合附圖及具體實施,進一步說明本發明的技術方案。

利用本發明方法及x86模擬器,其中x86模擬器中模擬器初始化模塊通過pcie總線,讀取顯卡中的vbios,並對vbios進行校驗,若校驗正確,則申請存儲空間存放模擬cpu寄存器,同時16mb的連續內存區域作為模擬內存,其中:16mb模擬內存偏移為0x00000-0x10000的部分用於系統內存,偏移為0xc0000-0xf0000的部分用於存放vbios,偏移為0xf0000-0xfffff的部分用於smbios。隨後,調用x86機器碼解碼器提供的接口,跳轉至vbios入口函數運行;

x86機器碼解碼器從模擬cpu寄存器的cs和ip寄存器中獲取指令地址,並調用地址映射處理模塊提供的接口,從指令地址讀取1條指令,並根據指令內容修改模擬cpu寄存器;若指令需要讀寫內存或io,則調用地址映射處理模塊提供的接口進行處理。

地址映射處理模塊向x86機器碼解碼器提供內存和io讀寫接口,根據所應用的國產平臺處理器架構,對x86機器碼解碼器所讀寫的內存地址或io地址進行映射:若為內存讀寫且地址為0xa0000-0xb0000(即vgamemory),則根據宿主處理器的架構進行映射,調用pcie/io讀寫模塊提供的pcie存取接口進行讀寫;若為內存讀寫且地址不是0xa0000-0xb0000,則從模擬內存的對應偏移地址讀寫數據;若為io讀寫且地址為0xcf8/0xcfc,則調用pcie/io讀寫模塊提供的pcie存取接口讀寫pcie配置空間;若為io讀寫且地址不是0xcf8/0xcfc,則根據宿主處理器的架構進行映射,調用pcie/io讀寫模塊提供的io存取接口進行讀寫;

pcie/io讀寫模塊通過pcie內存存取接口、vgamemory存取接口、pcie配置空間存取接口和io存取接口來進行指定pcie或io地址讀寫;

int10h中斷調用接口向顯示驅動提供int10h中斷的調用機制,根據顯示驅動設定的ax、bx、cx等寄存器的值,初始化模擬cpu寄存器,隨後將中斷觸發指令0xcd和中斷號0x10填入模擬內存的特定地址,最後調用x86機器碼解碼器跳轉至該地址執行,觸發vbios所安裝的int10h中斷,實現int10h中斷的字符輸出、模式設定等功能。

利用本發明方法通過x86模擬器在非x86體系架構下,運行x86設計的程序,使得國產平臺bios顯卡能進行驅動。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀