rrxv6 : virtio
在去年五月上一回的文章
中,我們做到了 OS 版的 hello world,
讓 user process 呼叫 print 的 syscall,並由 OS 處理該 syscall 印出 hello world。
在這之後我花了一段時間(好長的一段)思考到底要做什麼,後面 xv6 依序初始化的東西包括幾個:
- buffer cache
- inode table
- file table
- virtio
- 做更多 user process 相關的部分
後來發現 1,2,3 都相依於 4,沒有 virtio 讀不了磁碟那還管什麼 file, inode; User process 在沒有 4 的狀況下,寫起來也是綁手綁腳,於是就決定先挑戰 qemu 的 virtio。
...在 Ubuntu 上安裝開源 FPGA 工具鏈
故事是這個樣子的,大概在一年半前,我花了幾個月小玩了一下從 COSCUP 那邊拿到的 FPGA,那時候是在我的桌電 - 也就是 Archlinux 上進行開發。
最近因為一些原因又把這塊板子拿出來,但這次,我改用我新的筆電,裝的是 Windows 的 WSL 搭配 ubuntu 22.04,然後就發現,
我在文章中
列出來的幾項工具,包括 yosys, nextpnr, prjtrellis,
只有 yosys 能在 ubuntu 上用 apt 完成安裝,其他都在自己編譯,不像 Archlinux 上有人幫你弄好 AUR 了。
這篇文就是安裝工具的筆記,希望能幫到其他想在 ubuntu 上玩 lattice FPGA 的人, 主要參考這篇文章 ,以及一些工具 Github 的 issue。
...書評:死亡盲飛-737MAX客機的空難悲劇與波音帝國的衰落
書名 | 死亡盲飛:737MAX客機的空難悲劇與波音帝國的衰落 |
原書名 | Flying Blind: the 737 MAX Tragedy and the Fall of Boeing |
作者 | Peter Robison |
譯者 | 何絜一 |
出版商 | 臉譜 |
出版日 | 2022-07-16 |
ISBN | 9786263151468 |
用 verilator 輔助數位電路設計:C model 與 SystemC
用 verilator 的目的,就是要驗證 verilog 的實作是正確的,但我們又怎麼知道什麼是正確的呢?
就要準備好 C model 跟 SystemC 的實作了。
用 verilator 輔助數位電路設計:前言
有三個月沒有寫新文了,不過沒關係,這裡不像吉他英雄頻道一樣有人會催更新。
故事是這樣子的,最近小弟的生活出現天翻地覆的變化,在忙各種搬家啦什麼的,都沒時間好好寫 code,
一月月初跨年、月中在三年的閉關之後出發去日本待了 10 天,回來月底接著過第二個年,什麼我的一月怎麼不見了???
這系列的主題要講電路驗證工具 verilator,本來這篇的標題是 在 2022 年應該要如何開發數位電路, 一直拖就拖到 2023 年,然後說真的,verilator 在取代現有的商用工具上應該還是不夠給力, 各大晶片設計公司也應該都有自己一套開發的流程(沒有的公司是做不出像樣的晶片的), 沒什麼稱做應該的理由,所以就改成現在這個標題了。
...Google Test從入門到濫用:參數化測試
發現好久都沒貼文了,因為從八月開始都在忙東忙西都沒時間寫 code,主力在開發的 rrxv6 又(咦我怎麼會說又呢)
在 virtio 嚴重卡關,最近是有突破然後又被 global variable 擋下來,有夠麻煩。
會寫這篇是這樣的,從十月底小弟接到一個小任務,要用一批網路上的測資,去測試公司內一個專案的正確性,要如何做都是小弟自己決定,考量到:
- 待測專案用 C 寫的。
- 測資為自訂的文字格式。
最後決定用 C++ 搭配 google test 來開發測試,搭配大量資料進行 Data Driven Testing, 使用的 feature 為 google test 的 value-parameterized test 。
...第一次參加 FLOLAC 就上手
故事是這樣子的,雖然已經是社會人士但還是要定時學一點東西,COSCUP 一結束,
緊鑼密鼓就接著兩個星期的邏輯、語言與計算暑期研習營 FLOLAC 2022,一個FP 宗教人士們的神祕聚會關於邏輯以及函數式語言的暑假短期課程。
小弟之前研究所認識的大大現在在當助教,也有上過課的教授是本次課程的教授之一,就決定在工作之餘參加一下。
...疫情後第一次實體 COSCUP
人生第三次參加 COSCUP ,2021 年因為武肺大爆發,活動全部轉為線上,連我的演講也變成預錄影片最後回答問題,
活動心得在此
。
今年在疫情後首次舉辦實體活動,也改成不用買票的形式,想聽直接到會場不會有人驗票,沒有想聽的了想走就走,
變得自由很多也不用搶票了,根本超級佛心,看看今年一樣開出了平行近 20 軌的議程,連聽都聽不完的各式講題,
論其廣度與規模,COSCUP 可說是穩坐台灣開源研討會的第一品牌了。
rrxv6 : syscall
上一回我們進入 User Mode,打鐵趁熱這回就來處理 User Mode 下的 interrupt , 以及實作其中一種比較特殊的 interrupt,也就是 system call。
...rrxv6 : user mode
上一回我們實作完 scheduler 之後,下一個大項目就是進入 user space 以及 system call 了,
有了這篇一般使用者和作業系統才能真的分隔開來,使用者行程在獨立的空間,以受限的權限運作,作業系統則從外管理使用者行程。
...