TW201310345A - 一種龍芯cpu主機板bios及中斷的實現方法 - Google Patents

一種龍芯cpu主機板bios及中斷的實現方法 Download PDF

Info

Publication number
TW201310345A
TW201310345A TW101117229A TW101117229A TW201310345A TW 201310345 A TW201310345 A TW 201310345A TW 101117229 A TW101117229 A TW 101117229A TW 101117229 A TW101117229 A TW 101117229A TW 201310345 A TW201310345 A TW 201310345A
Authority
TW
Taiwan
Prior art keywords
interrupt
address
cpu
pci
loongson
Prior art date
Application number
TW101117229A
Other languages
English (en)
Other versions
TWI488117B (zh
Inventor
Zong-You Shao
xin-chun Liu
xiao-jun Yang
ning-ning Yin
chen-ming Zheng
yong-cheng Li
Feng-Wang Li
Original Assignee
Dawning Information Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dawning Information Industry Co Ltd filed Critical Dawning Information Industry Co Ltd
Publication of TW201310345A publication Critical patent/TW201310345A/zh
Application granted granted Critical
Publication of TWI488117B publication Critical patent/TWI488117B/zh

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本發明提供了一種龍芯CPU主機板BIOS的實現方法,將龍芯CPU與北橋晶片進行位址映射轉換;將DMA設備位址進行映射轉換;對PCI位址空間進行配置;以及將coreboot與PMON融合成新BIOS後,調試;以及,調試內核中斷系統。透過本發明提供的方法,解決了在BIOS層龍芯CPU和AMD橋片之間的位址映射轉換問題,PMON中DMA設備定址問題,龍芯刀片PCI配置空間讀寫問題以及從coreboot到PMON移植和調試的問題。而且龍芯主機板外部設備的中斷處理方式,保證了龍芯主機板上外部設備正常工作。

Description

一種龍芯CPU主機板BIOS及中斷的實現方法
本發明涉及主機板BIOS及中斷的實現,具體地說,提供了一種龍芯CPU主機板BIOS以及中斷的實現方法。
龍芯3號系列CPU包括4核心3A,8核心3B,16核心3C的CPU,以及後續開發的其他系列的CPU。
龍芯3號CPU是一款通用的多核的CPU,採用MIPS架構,完全可以實現Intel和AMD X86架構CPU的功能,而且在節能、安全等方面有獨特的優勢,儘管在性能方面比X86 CPU還稍微落後一些,但在絕大部分領域可以完全代替X86 CPU。
儘管龍芯3A和3B CPU已經問世,但一直沒有解決“用”的關鍵問題,即一直沒有找到與龍芯CPU配套且能正常工作的南北橋晶片組(chipsets)和周邊設備,就像一個人有了大腦,但無法找到配合大腦的軀體和四肢,仍是一個不能實用只是概念意義的CPU。
為解決龍芯CPU的實用問題,曾經探討了“龍芯3 CPU+SIS公司chipsets”,“龍芯3 CPU+nVIDIA公司chipsets”的可能性,並研發了主機板樣品,但最終沒有成功。
目前採用“龍芯3 CPU+AMD公司北橋RS780E+AMD 公司南橋SB710”方案,取得了成功,並最終實現了產品化。如附件一所示,為曙光公司的龍芯主機板CB50-A。
但是在主機板成型之後,如何能夠使主機板運行,就需要軟體方面的支援,這包括BIOS(Basic Input-Output System;基本輸入輸出系統)、內核等的支持。
PMON是一個兼有BIOS和啟動載入器(boot loader)部分功能的開放源碼軟體,支援MIPS、ARM、PowerPC等架構,多用於嵌入式系統。Coreboot是一個自由開源軟體專案,它的目的是替代現有電腦上面傳統的BIOS,主要支持X86平台。
在內核方面,龍芯的中斷系統與X86完全不一樣。龍芯的中斷系統採用異常處理表而不是X86的IDT表(中斷描述符表),採用設備的中斷控制器來控制中斷而不支援APIC;而AMD橋片支持的都是X86平台。因此在內核方面如何與龍芯CPU進行配合是個問題。
為了得到一種在龍芯主機板上可以運行的BIOS以及linux內核,解決位址映射、PCI配置空間讀寫以及中斷分配等問題,本發明提供了一種龍芯CPU主機板BIOS及中斷系統的實現方法。
一種龍芯CPU主機板BIOS以及中斷的實現方法,步驟如下: 將龍芯CPU與北橋晶片進行位址映射轉換;將DMA設備位址進行映射轉換;對PCI位址空間進行配置;以及將coreboot與PMON融合成新BIOS後,調試;以及,調試內核中斷系統。
較佳的是,所述位址映射轉換過程為先將龍芯CPU物理位址空間映射到HT(Hyper Transport;超傳輸)匯流排位址空間,再將HT匯流排位址空間映射到PCI位址空間。
更佳的是,所述龍芯CPU物理位址空間映射到HT匯流排位址空間是透過一級crossbar實現的。
更佳的是,所述龍芯CPU物理位址空間映射時只映射48位位址空間。
更佳的是,所述HT匯流排位址空間映射到PCI位址空間是透過HT至PCI橋接器(HT to PCI bridge)實現。
較佳的是,所述DMA設備位址映射轉換是透過修改北橋晶片內與DMA定址相關的暫存器初值實現。
更佳的是,所述暫存器可以進行8位,16位和32位讀寫操作。
較佳的是,所述BIOS是將PMON的CPU、記憶體和串口的調試部分與coreboot的南北橋控制器和設備的初始化部分融合。
較佳的是,所述BIOS調試時在初始化南橋後,PCI掃描 前,關閉掉所有可能影響調試的設備控制器。
較佳的是,所述內核中斷系統是透過將龍芯CPU的中斷控制器與8259A控制器級聯,來回應和控制南北橋外部設備的中斷要求。
較佳的是,所述中斷系統採用異常處理表來對中斷分類。
較佳的是,採用中斷控制器處理中斷。
更佳的是,所述中斷系統採用南橋8259A控制器與龍芯3A CPU的中斷控制器相配合,來實現外部設備中斷的回應。
更佳的是,龍芯3A主機板透過配置南橋設備的中斷陣腳、中斷線路和觸發方式,來分配南橋設備的中斷號。
透過本發明提供的方法,解決了在BIOS層龍芯CPU和AMD橋片之間的位址映射轉換問題,PMON中DMA設備定址問題,龍芯刀片PCI配置空間讀寫問題以及從coreboot到PMON移植和調試的問題。而且龍芯主機板外部設備的中斷處理方式,保證了龍芯主機板上外部設備正常工作。
一、龍芯CPU與北橋位址映射的轉換
在X86平台中,系統的位址分為物理位址、匯流排位址和虛擬位址。Linux中,進程的4GB(虛擬)記憶體分為用戶空間、內核空間。用戶空間分佈為0~3GB(即PAGE_OFFSET,在0X86中它等於0xC0000000),剩下的1G為內核空間。程 式工程師只能使用虛擬位址。系統中每個進程有各自的私有用戶空間(0~3G),這個空間對系統中的其他進程是不可見的。CPU發出取指令請求時的位址是當前上下文的虛擬位址,MMU再從頁表中找到這個虛擬位址的物理位址,完成取指。
而且X86平台使用了名為記憶體映射(MMIO)的技術,該技術是PCI規範的一部分,IO設備埠被映射到記憶體空間,映射後,CPU訪問IO埠就如同訪問記憶體一樣。圖1是coreboot中AMD橋片的幾個設備的MEM映射位址,‘h’表示十六進位。
龍芯CPU是MIPS架構的CPU,與X86 CPU的位址分配和定址方式有所不同。龍芯3A採用48位的物理位址空間,47~44位區分標示16個節點,44~0為每個節點的內部位址;龍芯刀片伺服器是由兩個節點組成的CC-NUMA的架構,整個系統的位址空間可分為4個層次,即物理位址區間、節點內一二級crossbar路由的位址空間、HT的位址空間、PCI的位址空間。下一層次是上一層的一個子區間,見圖2所示。
系統中必須有一個節點ID(node_id)為0的主節點,負責系統的啟動,龍芯刀片伺服器另一個節點的node_id由硬體跳線設置為01,因此整個系統的物理位址空間範圍為[0x0000_0000_0000~0x2000_0000_0000],其中[0x0000_0000_0000~0x1000_0000_0000]為節點0的物理位址範圍,[0x1000_0000_0000~0x2000_0000_0000]為節點01的物 理位址範圍。
在南北橋晶片上連接的設備都是PCI設備。PCI系統有4GB的記憶體空間和64K的IO空間,CPU要訪問PCI設備的配置空間、記憶體空間、和IO空間需要經過一系列的轉換過程即48位的CPU位址空間→40位的HT位址空間→PCI的位址空間。如圖3所示。
1. CPU的物理位址空間到HT位址空間的轉換
龍芯3A把CPU物理位址空間[0x0e00_0000_0000~0x1000_0000_0000]映射到HT的40位位址空間[0x00_0000_0000~0x100_0000_0000],這種映射是透過一級crossbar的位址路由視窗或者一級crossbar的預設設置實現的。因為HT只有40位的位址空間對多餘的位不予考慮。
2. HT位址空間到PCI位址空間的轉換
HT 40位位址空間的到PCI位址空間的映射是透過HT to PCI bridge實現的,這是硬體保證的不需要軟體做任何配置。映射後PCI設備的起始MEM位址為0x10000000,IO起始位址為0x18000000。這個位址在PMON程式中作為PCI的MEM BASE或者IO BASE。而對於每個PCI設備,PMON透過建立了一個pci_device的結構體。在這個結構體中記錄了每個PCI設備的資訊,包括該設備的類型,MEM大小,以及next device的指標等,組成了一個鏈表。在PCI設備掃描過程中,PMON就會根據該鏈表遞回的搜尋所有設備的資源請求資 訊,並形成pci_win結構,組成記憶體和IO資源請求鏈表。在PCI設備資源配置過程中就會按照下面公式,進行記憶體和IO的分配:PCI設備MEM位址=上一個設備的MEM位址+該PCI設備的MEM請求大小
PCI設備IO位址=上一個設備的MEM位址+該PCI設備的IO請求大小
其中第一個設備的MEM位址的初始值等於0x10000000,IO位址為0x18000000。在PMON程式中,透過讀取PCI設備的配置空間來獲取設備的MEM、IO大小,從而分配PCI設備的MEM、IO位址。
二、龍芯3A主機板上的設備DMA操作配置:
在龍芯CPU中設備以DMA的方式訪問記憶體的過程如下:1、PCI設備發出訪存的位址經過北橋晶片,由北橋路由到HT1控制器;2、HT1控制器根據其內部位址視窗暫存器將位址路由到一級crossbar 3、一級crossbar根據其內部的位址視窗暫存器將位址路由到二級快取記憶體(cache),然後到二級crossbar;4、二級crossbar根據其內部的位址視窗配置將位址路由到記憶體控制器。
南北橋晶片處連接了很多需要進行DMA操作的設備,比如網卡設備,它在接收、發送資料包時,需要進行DMA操作。因為X86架構與MIPS架構在記憶體物理位址上的差異,就需要在BIOS中對北橋的相關DMA操作暫存器的設置做相應的修改,否則會導致DMA操作無法正確進行。本發明在PMON中針對北橋的相關暫存器做了如下修改:將nbconfig 0x90的值由0x40000000改成0xf0000000,從而保證了南北橋設備的DMA操作位址正確,保證了設備DMA的正常工作。
三、龍芯刀片PCI配置空間和IO空間讀寫:
在龍芯刀片BIOS中對南北橋設備的初始化代碼主要借鑒X86架構的BIOS coreboot。在coreboot中,南北橋晶片初始化代碼是完全按照X86 CPU的工作原理實現的。而龍芯3處理器是MIPS架構的CPU,在位址空間、PCI配置空間讀寫訪問等方面與X86架構完全不同,這就需要我們對南北橋晶片初始化代碼進行重新改寫,主要是針對南北橋設備PCI配置空間的讀寫函數等的修改。
X86架構CPU使用的BIOS程式基本上都是使用了PCI相容配置方法讀寫PCI配置空間暫存器。
PCI相容配置方法使用了兩個32位的IO埠,分別為配置位址埠0xCF8和配置資料埠0XCFC。配置位址埠資料格式如圖4所示。
當要讀設備的PCI配置空間暫存器內容時,需要將設備的 匯流排號、設備號、功能號、暫存器位置等資訊寫到配置位址埠,然後讀配置資料埠,即可得到PCI配置空間相關暫存器的內容。
當要寫設備的PCI配置空間暫存器內容時,需要將設備的匯流排號、設備號、功能號、暫存器位置等資訊寫到配置位址埠,然後將資料寫到配置資料埠,即可將相關內容寫到PCI配置空間相關暫存器。
PCI、PCI-E匯流排可以使用此方法對匯流排上的設備內部的PCI配置空間暫存器進行讀寫操作。使用此方法,可以對PCI配置空間暫存器直接進行8位、16位、32位的讀寫操作。
而在MIPS架構下採用的是HT匯流排配置方法讀寫PCI配置空間暫存器。
HT匯流排配置方法指HT匯流排即可以使用PCI相容配置方法對匯流排上的設備內部的PCI配置空間暫存器進行讀寫操作,也可以使用自己特有的配置方法對匯流排上的設備內部的PCI配置空間暫存器進行讀寫操作。
在MIPS架構下,類型0、類型1的位址格式如圖5所示,其中40位到63位位址需要根據CPU和HT匯流排確定,目前我們使用的位址為0x90000E。在龍芯3A主機板上,我們定義類型0位址HT_MAP_TYPE0_CONF_ADDR為0xba000000,類型1位址HT_MAP_TYPE1_CONF_ADDR為0xbb000000。
當要讀設備的PCI配置空間暫存器內容時,需要將設備的匯流排號、設備號、功能號、暫存器位置等資訊與首位址相加,得到最後的讀寫訪問位址。公式如下:addr|=(dev<<11|func<<8|reg)
其中addr=HT_MAP_TYPE0_CONF_ADDR或者HT_MAP_TYPE1_CONF_ADDR;reg為需要操作的PCI暫存器號。
當對最後得到的位址進行讀訪問時,即可得到PCI配置空間相關暫存器的內容;當將相關資料寫到最後得到的位址時,即可將相關內容寫到PCI配置空間相關暫存器。
對於IO操作,在X86架構下,存在區間為0x0-0xffff的IO位址空間,可以使用in、out指令進行訪問。而在MIPS架構中,並沒有直接對應的IO位址空間,也沒有直接對應於in、out這樣的指令對IO位址空間進行訪問。但有些如串口、即時時鐘、中斷控制器、IDE等設備在正常工作時,都需要對它們使用的IO位址空間進行相應的讀寫操作。這樣,在MIPS架構下,也要實現對應的讀寫操作,才能使這些設備正常工作。為了解決此問題,將HT位址視窗中的0xFDFC000000做為IO位址空間。這段區域映射後的基底位址為0xb8000000。這樣IO位址的公式為:addr|=BONITO_PCIIO_BASE_VA+addr
其中BONITO_PCIIO_BASE_VA=0xb8000000
因此,為了實現從coreboot到PMON的無縫移植就需要對PCI配置空間的讀寫函數和IO空間的讀寫函數進行修改和添加。更改、添加的函數介面包括PCI配置空間暫存器8位、16位、32位讀操作函數;PCI配置空間暫存器8位、16位、32位寫操作函數;PCI配置空間類型0、類型1讀/寫方法;調試資訊輸出函數;記憶體暫存器8位、16位、32位讀、寫函數;IO暫存器8位、16位、32位讀、寫函數;初始化配置參數設置函數;設備查找函數;設備定位函數等;其他需要更改的還包括IO位址巨集定義等;
四、龍芯3A主機板的PMON調試方法
在龍芯3A主機板調試初期,並不能保證PMON中對南北橋初始化的代碼都正確,所有設備都能正常工作。為了保證龍芯刀片主機板上電調試進度和減輕調試工作的複雜度,我們選擇一種化繁為簡的方法,即先在PMON代碼的PCI設備掃描之前,屏蔽南北橋中複雜的、不使用的設備,而進行後續必要設備的調試。
圖6為PMON代碼初始化流程圖:從流程圖中看出,PMON在彙編部分主要進行CPU、記憶體與串口等的調試,進入C語言部分後,開始南北橋控制器與設備的初始化。其中南北橋初始化過程中首先會對各個設備的控制器進行使能與初始化,這樣在PCI掃描過程中會枚舉出已被使能的控制器下的設備,而未被使能的控制器就不進行 枚舉和分配資源。因此調試的簡化做法是在初始化南北橋之後,PCI掃描之前,關掉南北橋中這些較複雜的設備的控制器,使得在PCI掃描的時候,程式認為這些設備的控制器都未被使能,控制器下面沒有設備,這樣就不會對這些設備進行初始化,大大減少了干擾,降低了調試的複雜度。
五、龍芯3A主機板中Linux內核的中斷分配:
X86架構的中斷系統有256個中斷號,當中斷發生時,CPU用中斷號索引以IDTR暫存器的值為基底位址的中斷描述符表(IDT),IDT的每個表項指向相應的中斷處理常式。
而在龍芯3號CPU的中斷處理系統中,只存在特例異常和通用異常。特例異常包括冷開機、TLB重填、xTLB重填、cache錯誤;通用異常共32個,第0號通用異常就是與外部設備相關的中斷,圖7中表示的就是龍芯3A主機板的四級級聯的中斷結構圖。其中前三級屬於CPU內部的中斷級聯。
第一級是CPU每個核的中斷控制器,CPU內部有4個核,每個核的Cause和Status暫存器分別組成一個中斷控制器。CPU執行完一條指令後都會檢查Cause暫存器相應的位有沒有被置位。第二級由一個具有32根中斷線的中斷控制器組成,32根中斷線可以透過配置CPU內部的中斷路由暫存器,將中斷分別路由到CPU的4個核上。第三級由HT中斷控制器、LPC中斷控制器、核間中斷控制器組成。其中HT中斷控制器用於接受IO設備的中斷。第四級與AMD晶片組有關,它連 接在南橋的8259A控制器上,而橋片上的所有外設中斷都是先送往8259A控制器,然後再送往HT中斷控制器的。
因此,配置外部設備中斷的關鍵在於外設和南橋8259A控制器的配合。根據AMD南橋8259A的特點,可以分為三個步驟:
1)配置好設備的interrupt_pin是連接在8259A控制器的第幾根中斷線上,這種連接有些是硬體設置好的,有些是需要軟體配置的。在AMD橋片的8259A中斷線有12根。
2)配置interrupt line,也就是中斷號。
3)配置中斷的觸發方式,電平觸發還是邊沿觸發。
配置好這三項後,南北橋設備就可以正常回應中斷了,圖8描述了外部設備回應中斷的過程。
當某個硬體設備觸發了中斷,CPU硬體會相應的設置cause暫存器的Exc code域及IP位。內核中通用異常處理中的程式except_vec3_generic就會查詢cause暫存器的Exc code域來確定是32種通用異常中的哪一種。外部設備中斷屬於0號,那麼內核進入中斷處理常式的入口位址handle_init並調用中斷分發函數plat_irq_dispatch。plat_irq_dispatch將根據CPU CAUSE暫存器的[IP7~IP0]判斷是那個中斷源或者中斷控制器發生了中斷,外部設備中斷是屬於HT1中斷控制器,而與HT1中斷控制器級聯的就是南橋的8259A控制器。這樣函數就會調用8259A的中斷分配過程,也就是上面描述的三個步 驟。透過這三個步驟將中斷號分發完後,內核就會直接調用do_IRQ()函數,執行對應的驅動程式。整個中斷調用過程也就完成了。
另外,從圖7中可以看出,AMD橋片上的所有IO設備中斷是透過HT1中斷路由傳到CPU的,而且由於龍芯3A CPU內沒有實現APIC的功能,因此IO設備的中斷只能發送到主CPU的4個核,次CPU不能處理IO中斷。
最後應當說明的是:以上實施例僅用以說明本發明的技術方案而非對其限制,儘管參照上述實施例對本發明進行了詳細的說明,所屬領域的普通技術人員應當理解:依然可以對本發明的具體實施方式進行修改或者等同替換,而未脫離本發明精神和範圍的任何修改或者等同替換,其均應涵蓋在本發明的申請專利範圍當中。
圖1是AMD橋片設備的位址範圍
圖2是龍芯刀片分層的物理位址結構
圖3是龍芯3A物理位址映射圖
圖4是PCI相容配置模式
圖5是MIPS架構下位址格式
圖6是龍芯BIOS運行流程圖
圖7是CPU中斷結構示意圖
圖8龍芯3A主機板外部中斷回應過程

Claims (14)

  1. 一種龍芯CPU主機板BIOS以及中斷的實現方法,其特徵在於:步驟如下:將龍芯CPU與北橋晶片進行位址映射轉換;將DMA設備位址進行映射轉換;對PCI位址空間進行配置;以及將coreboot與PMON融合成新BIOS後,調試;以及,調試內核中斷系統。
  2. 如申請專利範圍第1項所述的方法,其特徵在於:所述位址映射轉換過程為先將龍芯CPU物理位址空間映射到HT匯流排位址空間,再將HT匯流排位址空間映射到PCI位址空間。
  3. 如申請專利範圍第2項所述的方法,其特徵在於:所述龍芯CPU物理位址空間映射到HT匯流排位址空間是透過一級crossbar實現的。
  4. 如申請專利範圍第3項所述的方法,其特徵在於:所述龍芯CPU物理位址空間映射時只映射48位位址空間。
  5. 如申請專利範圍第2項所述的方法,其特徵在於:所述HT匯流排位址空間映射到PCI位址空間是透過HT to PCI bridge實現。
  6. 如申請專利範圍第1項所述的方法,其特徵在於:所述DMA設備位址映射轉換是透過修改北橋晶片內與DMA定址相關的暫存器初值實現。
  7. 如申請專利範圍第6項所述的方法,其特徵在於:所述暫存器可以進行8位,16位和32位讀寫操作。
  8. 如申請專利範圍第1項所述的方法,其特徵在於:所述BIOS是將PMON的CPU、記憶體和串口的調試部分與coreboot的南北橋控制器和設備的初始化部分融合。
  9. 如申請專利範圍第1項所述的方法,其特徵在於:所述BIOS調試時在初始化南橋後,PCI掃描前,關閉掉所有可能影響調試的設備控制器。
  10. 如申請專利範圍第1項所述的方法,其特徵在於:所述內核中斷系統是透過將龍芯CPU的中斷控制器與8259A控制器級聯,來回應和控制南北橋外部設備的中斷要求。
  11. 如申請專利範圍第1項所述的方法,其特徵在於:所述中斷系統採用異常處理表來對中斷分類。
  12. 如申請專利範圍第1項所述的方法,其特徵在於:採用中斷控制器處理中斷。
  13. 如申請專利範圍第10項所述的方法,其特徵在於:所述中斷系統採用南橋8259A控制器與龍芯3A CPU的中斷控制器相配合,來實現外部設備中斷的回應。
  14. 如申請專利範圍第10項所述的方法,其特徵在於:龍芯3A主機板透過配置南橋設備的中斷陣腳、中斷線路和觸發方式,來分配南橋設備的中斷號。
TW101117229A 2011-05-16 2012-05-15 A Kind of Godson CPU Motherboard BIOS and Interrupt Realization Method TWI488117B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110126477.0A CN102184122B (zh) 2011-05-16 2011-05-16 一种龙芯CPU主板bios及中断的实现方法

Publications (2)

Publication Number Publication Date
TW201310345A true TW201310345A (zh) 2013-03-01
TWI488117B TWI488117B (zh) 2015-06-11

Family

ID=44570303

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101117229A TWI488117B (zh) 2011-05-16 2012-05-15 A Kind of Godson CPU Motherboard BIOS and Interrupt Realization Method

Country Status (2)

Country Link
CN (1) CN102184122B (zh)
TW (1) TWI488117B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI727607B (zh) * 2019-02-14 2021-05-11 美商萬國商業機器公司 用於具有中斷表之經引導中斷虛擬化之方法、電腦系統及電腦程式產品
US20210318973A1 (en) 2019-02-14 2021-10-14 International Business Machines Corporation Directed interrupt for multilevel virtualization
US11249927B2 (en) 2019-02-14 2022-02-15 International Business Machines Corporation Directed interrupt virtualization
US11249776B2 (en) 2019-02-14 2022-02-15 International Business Machines Corporation Directed interrupt virtualization with running indicator
US11269794B2 (en) 2019-02-14 2022-03-08 International Business Machines Corporation Directed interrupt for multilevel virtualization with interrupt table
US11314538B2 (en) 2019-02-14 2022-04-26 International Business Machines Corporation Interrupt signaling for directed interrupt virtualization
US11829790B2 (en) 2019-02-14 2023-11-28 International Business Machines Corporation Directed interrupt virtualization with fallback

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541246B (zh) * 2011-12-15 2015-02-04 江苏中科梦兰电子科技有限公司 一种基于龙芯处理器平台的待机方法
CN102646074B (zh) * 2012-02-22 2015-04-15 中国人民解放军国防科学技术大学 龙芯3a平台大内存设备的地址映射方法
CN102662454B (zh) * 2012-03-30 2016-06-01 山东超越数控电子有限公司 一种基于龙芯3a笔记本ec电源管理的有限状态机的设计方法
CN102779052A (zh) * 2012-06-14 2012-11-14 曙光信息产业(北京)有限公司 网卡在mips架构服务器中的实现方法及系统
CN103793342B (zh) * 2012-11-02 2017-02-08 中兴通讯股份有限公司 一种多通道直接内存存取dma控制器
CN103235755A (zh) * 2013-04-16 2013-08-07 合肥联宝信息技术有限公司 一种bios远程网络调试方法
CN104866377B (zh) * 2015-05-28 2018-01-16 江苏中科梦兰电子科技有限公司 一种基于无嵌入式控制器龙芯处理器平台的待机方法
CN106557340B (zh) * 2015-09-29 2022-11-15 中兴通讯股份有限公司 一种配置方法及装置
CN105446920A (zh) * 2015-12-07 2016-03-30 中国电子科技集团公司第三十二研究所 基于龙芯的fpga嵌入式计算机及其配置方法
CN107025132B (zh) * 2016-02-02 2020-03-13 龙芯中科技术有限公司 中断配置方法和装置
CN109977037B (zh) * 2017-12-28 2021-01-22 龙芯中科技术股份有限公司 一种dma数据传输方法及系统
CN109656630B (zh) * 2018-12-27 2021-09-17 龙芯中科技术股份有限公司 配置空间的访问方法、装置、架构及储存介质
CN110083394B (zh) * 2019-04-04 2022-04-22 龙芯中科技术股份有限公司 串口驱动方法、装置及存储介质
CN112597504B (zh) * 2020-12-22 2024-04-30 中国兵器装备集团自动化研究所有限公司 一种国产化计算机两级安全启动系统及方法
CN114691224A (zh) * 2022-03-31 2022-07-01 龙芯中科技术股份有限公司 设备加载系统、方法及电子设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI268428B (en) * 2005-03-11 2006-12-11 Uli Electronics Inc Method of message transmission between system chips applicable to system chips and peripherals using PCI Express bus
TWI341491B (en) * 2007-03-07 2011-05-01 Via Tech Inc Memory access system and memory access method thereof
TWI379234B (en) * 2008-12-09 2012-12-11 Phison Electronics Corp Motherboard, storage device and controller thereof and booting method
CN102023889A (zh) * 2010-11-04 2011-04-20 天津曙光计算机产业有限公司 一种实现x86 vbios在mips架构上运行的方法
CN102023880A (zh) * 2010-11-04 2011-04-20 天津曙光计算机产业有限公司 一种龙芯刀片bios

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI727607B (zh) * 2019-02-14 2021-05-11 美商萬國商業機器公司 用於具有中斷表之經引導中斷虛擬化之方法、電腦系統及電腦程式產品
US20210318973A1 (en) 2019-02-14 2021-10-14 International Business Machines Corporation Directed interrupt for multilevel virtualization
US11249927B2 (en) 2019-02-14 2022-02-15 International Business Machines Corporation Directed interrupt virtualization
US11249776B2 (en) 2019-02-14 2022-02-15 International Business Machines Corporation Directed interrupt virtualization with running indicator
US11269794B2 (en) 2019-02-14 2022-03-08 International Business Machines Corporation Directed interrupt for multilevel virtualization with interrupt table
US11314538B2 (en) 2019-02-14 2022-04-26 International Business Machines Corporation Interrupt signaling for directed interrupt virtualization
US11593153B2 (en) 2019-02-14 2023-02-28 International Business Machines Corporation Directed interrupt virtualization with interrupt table
US11620244B2 (en) 2019-02-14 2023-04-04 International Business Machines Corporation Directed interrupt for multilevel virtualization with interrupt table
US11734037B2 (en) 2019-02-14 2023-08-22 International Business Machines Corporation Directed interrupt virtualization with running indicator
US11822493B2 (en) 2019-02-14 2023-11-21 International Business Machines Corporation Directed interrupt for multilevel virtualization
US11829790B2 (en) 2019-02-14 2023-11-28 International Business Machines Corporation Directed interrupt virtualization with fallback

Also Published As

Publication number Publication date
CN102184122B (zh) 2014-04-23
TWI488117B (zh) 2015-06-11
CN102184122A (zh) 2011-09-14

Similar Documents

Publication Publication Date Title
TWI488117B (zh) A Kind of Godson CPU Motherboard BIOS and Interrupt Realization Method
JP5911985B2 (ja) ローカル物理メモリとリモート物理メモリとの間で共有されるバーチャルメモリのためのハードウェアサポートの提供
US10048881B2 (en) Restricted address translation to protect against device-TLB vulnerabilities
KR101861297B1 (ko) 효율적 메모리 및 자원 관리
US9335943B2 (en) Method and apparatus for fine grain memory protection
US9384132B2 (en) Emulated message signaled interrupts in a virtualization environment
US20130145051A1 (en) Direct Device Assignment
WO2013090594A2 (en) Infrastructure support for gpu memory paging without operating system integration
US9891936B2 (en) Method and apparatus for page-level monitoring
WO2013081942A1 (en) Peripheral memory management
TWI723080B (zh) 用於子頁寫入保護的方法及設備
JP2014182813A (ja) 命令エミュレーションプロセッサ、方法、およびシステム
CN111133425A (zh) 输入/输出(i/o)存储器管理单元的基于硬件的虚拟化
US20230124004A1 (en) Method for handling exception or interrupt in heterogeneous instruction set architecture and apparatus
CN104583959A (zh) 允许处理器资源的虚拟化
CN113196234A (zh) 使用硬件分页提示的进程空间标识符虚拟化
US9330024B1 (en) Processing device and method thereof
CN112559120B (zh) 定制化pcie总线io虚拟化支撑方法
Kornaros et al. Towards full virtualization of heterogeneous noc-based multicore embedded architectures
WO2012155301A1 (zh) 一种龙芯cpu主板bios实现方法及其中断方法
US20220100532A1 (en) Technology for transferring iommu ownership to a new version of system software
US20220350499A1 (en) Collaborated page fault handling
e Silva Arm TrustZone: Evaluating the Diversity of the Memory Subsystem
CN113849427A (zh) 用于处理器中的细粒度地址空间选择的系统、装置和方法
Nie et al. Research on the inter-core communication of multi-core embedded system via FPGA