diff options
| author | Richard Qin <richard.qin.x@gmail.com> | 2026-01-01 15:04:47 +0800 |
|---|---|---|
| committer | Richard Qin <richard.qin.x@gmail.com> | 2026-01-01 15:04:47 +0800 |
| commit | 2dde56422dcfb94affee2baffc8d240ad16ad4b2 (patch) | |
| tree | aeee8a0dad24ceaca22585f773411e386c8019be /docs/dev | |
| parent | 0a6815b7143a8ffd0e09777b5fbd12098d8884c2 (diff) | |
| download | lume-2dde56422dcfb94affee2baffc8d240ad16ad4b2.tar.gz lume-2dde56422dcfb94affee2baffc8d240ad16ad4b2.tar.xz | |
dev(device): implement VirtIO
See dev log for detail
Diffstat (limited to 'docs/dev')
| -rw-r--r-- | docs/dev/dev_device.md | 23 | ||||
| -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 |
