#
ca6d474a |
|
16-Sep-2022 |
Jérôme Duval <jerome.duval@gmail.com> |
virtio_block: add support for the topology feature gets the physical block size Change-Id: I7b4d80874d1463a5122c34171956af2b267b1c69 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5669 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
#
e19769d2 |
|
02-Jul-2013 |
Jérôme Duval <jerome.duval@gmail.com> |
virtio_block: replaced __packed with _PACKED
|
#
6bbf9c9d |
|
26-May-2013 |
Jérôme Duval <jerome.duval@gmail.com> |
Virtio: added drivers for PCI busses, bus manager and block device. * the Virtio PCI bus driver exposes a Virtio controller to the Virtio bus manager, which in turn exposes a Virtio device consumed by Virtio drivers. Drivers follow the new driver model. * virtio_block handles Virtio block devices under disk/virtual/virtio_block/x/raw. * Here is the Qemu command line option for Virtio disk devices: -drive file=haiku.image,if=virtio * the PCI bus driver currently supports only legacy interrupts (no MSI(-X) yet). * There is room for improvements in the bus manager: - it notifies the host for each queued request, which isn't optimal. - transfer descriptors should probably be simply preallocated (they are nicely leaked at the moment). - indirect descriptors are not supported yet. and in the block driver: - get the id of the disk. - implements flushing the cache. - improves dma restrictions. - do_io() should use a page for header descriptors instead of malloc(), which could cross boundaries. * The device manager tries to guess the driver based on the PCI device type, this implies having to declare the "busses/virtio" path for each possible type provided by Virtio. Thus future driver additions might require patching the device manager. * virtio.h is still private, the API is subject to changes. * virtio_pci.h, virtio_blk.h, virtio_ring.h are copied unchanged from FreeBSD.
|
#
e19769d2967f21c79ea8485e3b245d65fe1b1f1a |
|
02-Jul-2013 |
Jérôme Duval <jerome.duval@gmail.com> |
virtio_block: replaced __packed with _PACKED
|
#
6bbf9c9da977b2ea9d1caf36a867d320de81a836 |
|
26-May-2013 |
Jérôme Duval <jerome.duval@gmail.com> |
Virtio: added drivers for PCI busses, bus manager and block device. * the Virtio PCI bus driver exposes a Virtio controller to the Virtio bus manager, which in turn exposes a Virtio device consumed by Virtio drivers. Drivers follow the new driver model. * virtio_block handles Virtio block devices under disk/virtual/virtio_block/x/raw. * Here is the Qemu command line option for Virtio disk devices: -drive file=haiku.image,if=virtio * the PCI bus driver currently supports only legacy interrupts (no MSI(-X) yet). * There is room for improvements in the bus manager: - it notifies the host for each queued request, which isn't optimal. - transfer descriptors should probably be simply preallocated (they are nicely leaked at the moment). - indirect descriptors are not supported yet. and in the block driver: - get the id of the disk. - implements flushing the cache. - improves dma restrictions. - do_io() should use a page for header descriptors instead of malloc(), which could cross boundaries. * The device manager tries to guess the driver based on the PCI device type, this implies having to declare the "busses/virtio" path for each possible type provided by Virtio. Thus future driver additions might require patching the device manager. * virtio.h is still private, the API is subject to changes. * virtio_pci.h, virtio_blk.h, virtio_ring.h are copied unchanged from FreeBSD.
|