XenevaOS
Loading...
Searching...
No Matches
virtioblk.h
Go to the documentation of this file.
1
32#ifndef __VIRTIO_BLK_H__
33#define __VIRTIO_BLK_H__
34
35#include <aurora.h>
36
37#define VIRTIO_BLK_BLOCK_SZ 512
38
39#define VIRTIO_BLK_OP_IN 0
40#define VIRTIO_BLK_OP_OUT 1
41#define VIRTIO_BLK_T_FLUSH 4
42#define VIRTIO_BLK_T_GET_ID 8
43#define VIRTIO_BLK_T_GET_LIFETIME 10
44#define VIRTIO_BLK_T_DISCARD 11
45#define VIRTIO_BLK_T_WRITE_ZEROES 13
46#define VIRTIO_BLK_T_SECURE_ERASE 14
47
48
49
50enum {
54};
55
56#define RQ_BUFFERS 32
57#define VIRTIO_BLK_F_RO (1u << 5)
58
64
68
72
81
87
127#endif
unsigned int uint32_t
Definition acefiex.h:163
unsigned char uint8_t
Definition acefiex.h:161
COMPILER_DEPENDENT_UINT64 uint64_t
Definition acefiex.h:165
unsigned short int uint16_t
Definition acefiex.h:162
Definition virtioblk.h:69
uint64_t capacity
Definition virtioblk.h:70
Definition virtioblk.h:73
uint32_t unmap
Definition virtioblk.h:77
uint64_t sector
Definition virtioblk.h:74
struct virtio_blk_discard_write_zeroes::@476 flags
uint32_t num_sectors
Definition virtioblk.h:75
uint32_t reserved
Definition virtioblk.h:78
Definition virtioblk.h:82
uint64_t device_lifetime_est_type_a
Definition virtioblk.h:84
uint16_t pre_eol_info
Definition virtioblk.h:83
uint64_t device_lifetime_est_type_b
Definition virtioblk.h:85
Definition virtioblk.h:59
uint64_t sector
Definition virtioblk.h:62
uint32_t type
Definition virtioblk.h:60
uint32_t reserved
Definition virtioblk.h:61
uint8_t sectors
Definition virtioblk.h:95
uint16_t cylinders
Definition virtioblk.h:93
uint8_t heads
Definition virtioblk.h:94
uint32_t opt_io_size
Definition virtioblk.h:102
uint8_t alignment_offset
Definition virtioblk.h:100
uint16_t min_io_size
Definition virtioblk.h:101
uint8_t physical_block_exp
Definition virtioblk.h:99
uint8_t unused2[3]
Definition virtioblk.h:124
uint32_t max_append_sectors
Definition virtioblk.h:121
uint32_t zone_sectors
Definition virtioblk.h:118
uint32_t max_active_zones
Definition virtioblk.h:120
uint32_t max_open_zones
Definition virtioblk.h:119
uint32_t write_granularity
Definition virtioblk.h:122
Definition virtioblk.h:88
uint32_t seg_max
Definition virtioblk.h:91
uint32_t discard_sector_alignment
Definition virtioblk.h:109
uint32_t blk_sz
Definition virtioblk.h:97
uint32_t max_discard_seg
Definition virtioblk.h:108
uint64_t capacity
Definition virtioblk.h:89
uint8_t writeback
Definition virtioblk.h:104
uint32_t secure_erase_sector_alignment
Definition virtioblk.h:116
struct virtioblk_dev_config::virtio_blk_topology topology
uint8_t unused0
Definition virtioblk.h:105
uint32_t size_max
Definition virtioblk.h:90
struct virtioblk_dev_config::virtio_blk_zoned_characteristics zoned
uint16_t num_queues
Definition virtioblk.h:106
uint32_t max_secure_erase_seg
Definition virtioblk.h:115
uint32_t max_write_zeroes_seg
Definition virtioblk.h:111
uint32_t max_write_zeroes_sectors
Definition virtioblk.h:110
struct virtioblk_dev_config::virtio_blk_geometry geometry
uint32_t max_discard_sectors
Definition virtioblk.h:107
uint32_t max_secure_erase_sectors
Definition virtioblk.h:114
uint8_t unused[3]
Definition virtioblk.h:113
uint8_t write_zeroes_may_unmap
Definition virtioblk.h:112
@ VIRTIO_BLK_S_OK
Definition virtioblk.h:51
@ VIRTIO_BLK_S_IOERR
Definition virtioblk.h:52
@ VIRTIO_BLK_S_UNSUPP
Definition virtioblk.h:53