予焦啦!正如 Golang 自己維護了記憶體管理機制(競技場、記憶體抽象層、垃圾回收、...)般,讓 ethanol 核心取用 RISC-V 硬體功能的部分可以...
本節是以 Golang 上游 6a79f358069195e1cddb821e81fab956d9a0c7d1 為基準做的實驗 予焦啦!昨日我們觀察了 Go...
本節是以 Golang 上游 ee91bb83198f61aa8f26c3100ca7558d302c0a98 為基準做的實驗。 予焦啦!昨日不幸地卡在一個...
本節是以 Golang 上游 8854368cb076ea9a2b71c8b3c8f675a8e19b751c 為基準做的實驗 予焦啦!經過了第零章確保開發...
前言 前面我們看到了整個 Switch Thread 的運作,首先會有 Timer Interrupt 產生 trap,接著 yield() 會將 Proce...
本節是以 Golang 上游 4b654c0eeca65ffc6588ffd9c99387a7e48002c1 為基準做的實驗 本節所對應的修補當中,有些...
阮毋是喜愛虛華,阮只是環境來拖磨;人客若叫阮,風雨嘛著行,為伊唱出留戀的情歌。-- 流浪到淡水 終於進到結尾的部份了。過去三十天在鐵人賽官方規定的範疇內,筆...
tags: 鐵人賽 0.前言 今日繼續介紹 IMSIC 加油!! 1. CSRs for external interrupts via an IMSIC 軟體...
tags: 鐵人賽 0. 前言 今日來介紹 APLIC ,究竟 APLIC 的用途意義是什麼呢?以及跟 PLIC 和 IMSIC 有何不同? 1. APLIC...
tags: 鐵人賽 0. 前言 今日來介紹 VM(virtual machine) 的 interrupt 簡介 當實作 hypervisor extensio...
RISC-V 是高效率、低消耗功率及低成本的微處理器核心,它以技術智慧財產權(IP)的方式,將 RISC-V 核心授權廠家以 OEM 附加周邊電路來發展各式各樣...
tags: 鐵人賽 0. 前言 昨日已經介紹 Memory-mapped control region 前 16KB 的各種暫存器,今日我們來介紹 IDC 結構...
tags: 鐵人賽 0. 前言 昨日介紹 APLIC 基本功能與 interrupt source 範圍,今日我們繼續囉~ 1. Hart index numb...
今天是 Hoddarla 系列文中的附錄第 0 篇。筆者在這一年半的準備期當中送了兩個 patch 給 Golang 上游。一次是分心想要更了解 Golang...
tags: 鐵人賽 前言 今日的這篇是參考了某個國外網站做的統整,筆者認為挺不錯的,因此也翻譯之後做整理 overview MSI 不需要 interrupt...
本節是以 Golang 上游 8854368cb076ea9a2b71c8b3c8f675a8e19b751c 為基準做的實驗 予焦啦!正式進入下半場之前,...
tags: 鐵人賽 0.前言 好的,昨天已經簡單介紹了perf的使用方法,那今天來介紹一些深度的一些問題,也就是過去risc-v架構上使用perf會有一些限制,...
tags: 鐵人賽 正文開始 IOMMU 可以選擇性的支援 memory resident interrupt file(以下簡稱 MRIF),如果實作了,使用...
tags: 鐵人賽 正文開始! Configuring priorities of major interrupts at VS level 如同 superv...
tags: 鐵人賽 0. 前言 跟昨日蠻像的,但今天是介紹 supervisor level 的部分 簡介 當 sip/siph 為 1時,sip/siph...
tags: 鐵人賽 0. 前言 今日我們繼續介紹 IMSIC 今天會是 IMSIC 系列的最後一天~加油!! 1. Top external interrupt...
tags: 鐵人賽 0. 前言 今日我們來介紹 Duo-PLIC,為何需要 Duo-PLIC 呢~update:根據最新的 SPEC 描述,RISC-V 不會將...
前言 在前面我們介紹了 page fault 以及 lazy page allocation 的概念,而我們在 usertrap() 中通過 scause C...
前言 前面我們介紹了多 Process 會遇到的 race condition 的問題,以及如何使用 lock 的機制進行處理,後面提到了 xv6 中 Spi...
前言 在前面我們看過了整個 trap 的流程,而在今天我們將以 exec() 這個 System call 來追蹤實際 trap 發生的情況。 exec()...
tags: 鐵人賽 Identification of incoming MSIs for a virtual machine IOMMU 必須識別來自設備 M...
本節是以 Golang 上游 8854368cb076ea9a2b71c8b3c8f675a8e19b751c 為基準做的實驗 予焦啦!今天我們就來驗收前兩...
前言 昨天我們簡單的介紹了 Thread 的一些基本概念,以及 Thread 是如何進行切換的,最後通過一個簡單的實驗去證明 compute bound th...
重新複習operating system,但卻發現nachos真的太舊了,還只能安裝在32位元的linux上,因此轉向改裝xv6-riscv。 在64位元Ubu...
前言 前面我們提到了 Process 的概念,我們知道一個位於 user space 執行中的程式為 Process,而 Process 有虛擬記憶體的概念,...