summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorRichard Qin <richard.qin.x@gmail.com>2026-01-01 15:04:47 +0800
committerRichard Qin <richard.qin.x@gmail.com>2026-01-01 15:04:47 +0800
commit2dde56422dcfb94affee2baffc8d240ad16ad4b2 (patch)
treeaeee8a0dad24ceaca22585f773411e386c8019be /docs
parent0a6815b7143a8ffd0e09777b5fbd12098d8884c2 (diff)
downloadlume-2dde56422dcfb94affee2baffc8d240ad16ad4b2.tar.gz
lume-2dde56422dcfb94affee2baffc8d240ad16ad4b2.tar.xz
dev(device): implement VirtIO
See dev log for detail
Diffstat (limited to 'docs')
-rw-r--r--docs/dev/dev_device.md23
-rw-r--r--docs/dev/dev_memory.md (renamed from docs/dev/dev_memoty.md)0
2 files changed, 23 insertions, 0 deletions
diff --git a/docs/dev/dev_device.md b/docs/dev/dev_device.md
new file mode 100644
index 0000000..1eb6462
--- /dev/null
+++ b/docs/dev/dev_device.md
@@ -0,0 +1,23 @@
+# Dev log
+## **3.Device Model & HAL:**
+* Interrupt Controller: PLIC:
+
+ * Implement the PLIC (Platform-Level Interrupt Controller) driver.
+
+ * Set the PLIC priority threshold and enable bits during the start() phase.
+
+ * Dispatch Cause 9 (External Interrupt) in kerneltrap/usertrap.
+
+* Character Device: Interrupt-Driven Console:
+
+ * Implement a Ring Buffer. uart_putc returns immediately after writing to the buffer.
+
+ * UART transmit interrupt: triggers when the serial port is idle, the ISR takes data from the Ring Buffer and writes it to the register.
+
+ * UART receive interrupt: triggers when a key is pressed, the ISR reads the character and wakes up the process waiting to read.
+
+* Block Device: VirtIO-Blk:
+
+ * Implement a block device driver for the PCI or MMIO transport layer according to the VirtIO 2.0 standard.
+
+ * DMA: Use the Buddy System to allocate contiguous memory as the descriptor table for the Virtqueue. \ No newline at end of file
diff --git a/docs/dev/dev_memoty.md b/docs/dev/dev_memory.md
index f05e336..f05e336 100644
--- a/docs/dev/dev_memoty.md
+++ b/docs/dev/dev_memory.md