Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2022-08-08 | tweak virtio comments | Robert Morris | 1 | -3/+3 | |
2021-10-17 | port virtio_disk to virtio spec 1.0+ | Xi Wang | 1 | -33/+45 | |
The legacy interface is confusing. It's better to make virtio_disk conform to the virtio spec. This is supported in QEMU since 4.2 by disabling force-legacy for virtio-mmio. | |||||
2020-10-05 | eliminate virtio DMA into kernel stacks. | Robert Morris | 1 | -10/+12 | |
2020-10-05 | improve virtio_disk comments; bring it closer to wording in the spec | Robert Morris | 1 | -30/+56 | |
2020-10-05 | avoid deadlock by disk intr acking interrupt first, then processing ring | Robert Morris | 1 | -17/+34 | |
2020-04-18 | Write interrupt ack register in virtio_disk_intr() | Takahiro | 1 | -0/+1 | |
2019-08-12 | Wrap state of disk driver in a struct so that it is easier to support | Frans Kaashoek | 1 | -69/+71 | |
several disks (e.g., in a mount lab). | |||||
2019-07-30 | Track in buf if disk "owns" buffer | Frans Kaashoek | 1 | -3/+4 | |
2019-07-30 | The driver should free descriptors, not interrupt handler. This | Frans Kaashoek | 1 | -3/+3 | |
avoids handler freeing descriptors before driver sees that the request has completed. | |||||
2019-07-29 | Remove B_DIRTY | Frans Kaashoek | 1 | -7/+5 | |
Use refcnt to pin blocks into the cache Replace flags/B_VALID with a boolean field valid Use info[id].status to signal completion of disk interrupt Pass a read/write flag to virtio_disk_rw | |||||
2019-07-24 | rationalize some vm function names | Robert Morris | 1 | -2/+2 | |
2019-07-23 | simplify kernel mapping calls | Robert Morris | 1 | -0/+2 | |
2019-07-19 | One way of supporting a guard page below kstack: allocate kstacks in | Frans Kaashoek | 1 | -1/+1 | |
procinit() and map them high up (below TRAMPOLNE) with an empty mapping below each stack. Never free a kernel stack. Another way would be to allocate and map them dynamically, but then we need to reload page table when switching processes in scheduler() and/or have a kernel pagetable per proc (if we want k->stack to be the same virtual address in each process). One gotcha: kernel addresses are not equal to physical addresses for stack addresses. A stack address must be translated if we need its physical address (e.g., virtio passes a stack address to the disk). | |||||
2019-07-11 | cosmetic changes | Robert Morris | 1 | -8/+8 | |
2019-07-01 | x | Frans Kaashoek | 1 | -1/+0 | |
2019-07-01 | Introduce alloc3_desc and UsedArea to make code easier to read | Frans Kaashoek | 1 | -33/+28 | |
2019-06-13 | clean up virtio code | Robert Morris | 1 | -30/+34 | |
2019-06-13 | virtio disk driver | Robert Morris | 1 | -0/+268 | |