龙芯团队完成CoreCLR MIPS64移植,在github开源
國(guó)產(chǎn)龍芯的軟件生態(tài)之中.NET不會(huì)缺席,畢竟 C# 與 .NetCore/Mono 也是全球幾大主流的編程語(yǔ)言和運(yùn)行平臺(tái)之一,最近一段時(shí)間聽(tīng)到太多的鼓吹政務(wù)領(lǐng)域不支持.NET, 大家都明白這是某些人為了自己的利益打壓使用.NET技術(shù)的公司,我今天寫(xiě)這篇文章就是想通過(guò)龍芯團(tuán)隊(duì)的行動(dòng)告訴更多人一起來(lái)推動(dòng).NET技術(shù)在中國(guó)的發(fā)展。希望龍芯廠商、支持龍芯的國(guó)產(chǎn)操作系統(tǒng)廠商能高度重視這個(gè)問(wèn)題,主動(dòng)加入 .Net Core 社區(qū),加入.NET基金會(huì),積極貢獻(xiàn)代碼,盡快做好適配工作。
龍芯團(tuán)隊(duì)一直在做net core的mips64移植工作,2020年6月18日完成了里程碑性的工作,在.NET Core 3.1分支上完成了MIPS64 的移植工作,目前已經(jīng)在github上開(kāi)源,開(kāi)源地址:https://github.com/gsvm/coreclr 。具體說(shuō)明可以參見(jiàn) https://github.com/dotnet/runtime/issues/38069。龍芯團(tuán)隊(duì)正在做移植后的測(cè)試工作,已經(jīng)完成了 9500 多項(xiàng)測(cè)試,ASP.NET Core示例程序 FlightFinder 已經(jīng)可以在MIPS64 上正常運(yùn)行,具體可以參看 https://github.com/dotnet/runtime/issues/4234。
龍芯團(tuán)隊(duì)還在github上面為龍芯.NET 建立了一個(gè)倉(cāng)庫(kù) https://github.com/gsvm/loongson-dotnet,用于關(guān)于龍芯的.NET信息,工作和下載,開(kāi)源協(xié)議采用和.NET Core一樣的MIT協(xié)議。根據(jù)這個(gè)倉(cāng)庫(kù)的信息,龍芯團(tuán)隊(duì)將在不久的將來(lái)發(fā)布.NET Core 3.1版本,然后升級(jí)到https://github.com/dotnet/runtime ,也就是.NET 5了。目前這項(xiàng)工作正在緊鑼密鼓的進(jìn)行,非常歡迎大家的積極參與貢獻(xiàn),包括issue或者PR,如果您有任何問(wèn)題或需要任何支持,請(qǐng)隨時(shí)提交問(wèn)題或通過(guò)電子郵件:aoqi@loongson.cn 與龍芯團(tuán)隊(duì)聯(lián)系。
在文章的最后,我向你分享一個(gè)龍芯團(tuán)隊(duì)成員 xiangzhai 在這個(gè) https://github.com/xiangzhai/mono/issues/2 提到了指令集相關(guān)的編程的一些相關(guān)知識(shí):
OpenJDK、CorelCLR、mono都太大了,比較小的虛擬機(jī)例子可以看看PSP模擬器:https://github.com/xiangzhai/ppsspp-jit-mips64/commits/mips64-port-dev
CoreCLR官方的文檔不錯(cuò):下降、寄存器分配、代碼生成 https://github.com/dotnet/runtime/blob/master/docs/design/coreclr/jit/ryujit-overview.md
CoreCLR代碼生成常用調(diào)試方法:dotnet/runtime#606
總結(jié)
以上是生活随笔為你收集整理的龙芯团队完成CoreCLR MIPS64移植,在github开源的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 使用C#编写STM32对接物联网平台Io
- 下一篇: 数据结构与算法专题——第三题 最长公共子