Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/virtio/block/virtio_blk.c
Show All 36 Lines | |||||
#include <sys/bio.h> | #include <sys/bio.h> | ||||
#include <sys/malloc.h> | #include <sys/malloc.h> | ||||
#include <sys/module.h> | #include <sys/module.h> | ||||
#include <sys/sglist.h> | #include <sys/sglist.h> | ||||
#include <sys/sysctl.h> | #include <sys/sysctl.h> | ||||
#include <sys/lock.h> | #include <sys/lock.h> | ||||
#include <sys/mutex.h> | #include <sys/mutex.h> | ||||
#include <sys/queue.h> | #include <sys/queue.h> | ||||
#include <sys/unistd.h> | |||||
#include <geom/geom.h> | #include <geom/geom.h> | ||||
#include <geom/geom_disk.h> | #include <geom/geom_disk.h> | ||||
#include <machine/bus.h> | #include <machine/bus.h> | ||||
#include <machine/resource.h> | #include <machine/resource.h> | ||||
#include <sys/bus.h> | #include <sys/bus.h> | ||||
#include <sys/rman.h> | #include <sys/rman.h> | ||||
▲ Show 20 Lines • Show All 620 Lines • ▼ Show 20 Lines | vtblk_alloc_disk(struct vtblk_softc *sc, struct virtio_blk_config *blkcfg) | ||||
dp->d_unit = device_get_unit(dev); | dp->d_unit = device_get_unit(dev); | ||||
dp->d_drv1 = sc; | dp->d_drv1 = sc; | ||||
dp->d_flags = DISKFLAG_CANFLUSHCACHE | DISKFLAG_UNMAPPED_BIO | | dp->d_flags = DISKFLAG_CANFLUSHCACHE | DISKFLAG_UNMAPPED_BIO | | ||||
DISKFLAG_DIRECT_COMPLETION; | DISKFLAG_DIRECT_COMPLETION; | ||||
dp->d_hba_vendor = virtio_get_vendor(dev); | dp->d_hba_vendor = virtio_get_vendor(dev); | ||||
dp->d_hba_device = virtio_get_device(dev); | dp->d_hba_device = virtio_get_device(dev); | ||||
dp->d_hba_subvendor = virtio_get_subvendor(dev); | dp->d_hba_subvendor = virtio_get_subvendor(dev); | ||||
dp->d_hba_subdevice = virtio_get_subdevice(dev); | dp->d_hba_subdevice = virtio_get_subdevice(dev); | ||||
dp->d_mediaword = _PC_MEDIA_VIRTUAL; | |||||
if ((sc->vtblk_flags & VTBLK_FLAG_READONLY) == 0) | if ((sc->vtblk_flags & VTBLK_FLAG_READONLY) == 0) | ||||
dp->d_dump = vtblk_dump; | dp->d_dump = vtblk_dump; | ||||
/* Capacity is always in 512-byte units. */ | /* Capacity is always in 512-byte units. */ | ||||
dp->d_mediasize = blkcfg->capacity * 512; | dp->d_mediasize = blkcfg->capacity * 512; | ||||
if (virtio_with_feature(dev, VIRTIO_BLK_F_BLK_SIZE)) | if (virtio_with_feature(dev, VIRTIO_BLK_F_BLK_SIZE)) | ||||
▲ Show 20 Lines • Show All 717 Lines • Show Last 20 Lines |