mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-26 03:21:50 -06:00
Update linux headers to v6.3rc5
commit 7e364e56293bb98cae1b55fd835f5991c4e96e7d Signed-off-by: David 'Digit' Turner <digit@google.com> Message-Id: <20230405172109.3081788-4-digit@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
9fc7dd234f
commit
c5c0fdbe39
15 changed files with 506 additions and 10 deletions
|
@ -41,6 +41,7 @@
|
|||
#define VIRTIO_BLK_F_DISCARD 13 /* DISCARD is supported */
|
||||
#define VIRTIO_BLK_F_WRITE_ZEROES 14 /* WRITE ZEROES is supported */
|
||||
#define VIRTIO_BLK_F_SECURE_ERASE 16 /* Secure Erase is supported */
|
||||
#define VIRTIO_BLK_F_ZONED 17 /* Zoned block device */
|
||||
|
||||
/* Legacy feature bits */
|
||||
#ifndef VIRTIO_BLK_NO_LEGACY
|
||||
|
@ -135,6 +136,16 @@ struct virtio_blk_config {
|
|||
/* Secure erase commands must be aligned to this number of sectors. */
|
||||
__virtio32 secure_erase_sector_alignment;
|
||||
|
||||
/* Zoned block device characteristics (if VIRTIO_BLK_F_ZONED) */
|
||||
struct virtio_blk_zoned_characteristics {
|
||||
uint32_t zone_sectors;
|
||||
uint32_t max_open_zones;
|
||||
uint32_t max_active_zones;
|
||||
uint32_t max_append_sectors;
|
||||
uint32_t write_granularity;
|
||||
uint8_t model;
|
||||
uint8_t unused2[3];
|
||||
} zoned;
|
||||
} QEMU_PACKED;
|
||||
|
||||
/*
|
||||
|
@ -172,6 +183,27 @@ struct virtio_blk_config {
|
|||
/* Secure erase command */
|
||||
#define VIRTIO_BLK_T_SECURE_ERASE 14
|
||||
|
||||
/* Zone append command */
|
||||
#define VIRTIO_BLK_T_ZONE_APPEND 15
|
||||
|
||||
/* Report zones command */
|
||||
#define VIRTIO_BLK_T_ZONE_REPORT 16
|
||||
|
||||
/* Open zone command */
|
||||
#define VIRTIO_BLK_T_ZONE_OPEN 18
|
||||
|
||||
/* Close zone command */
|
||||
#define VIRTIO_BLK_T_ZONE_CLOSE 20
|
||||
|
||||
/* Finish zone command */
|
||||
#define VIRTIO_BLK_T_ZONE_FINISH 22
|
||||
|
||||
/* Reset zone command */
|
||||
#define VIRTIO_BLK_T_ZONE_RESET 24
|
||||
|
||||
/* Reset All zones command */
|
||||
#define VIRTIO_BLK_T_ZONE_RESET_ALL 26
|
||||
|
||||
#ifndef VIRTIO_BLK_NO_LEGACY
|
||||
/* Barrier before this op. */
|
||||
#define VIRTIO_BLK_T_BARRIER 0x80000000
|
||||
|
@ -191,6 +223,72 @@ struct virtio_blk_outhdr {
|
|||
__virtio64 sector;
|
||||
};
|
||||
|
||||
/*
|
||||
* Supported zoned device models.
|
||||
*/
|
||||
|
||||
/* Regular block device */
|
||||
#define VIRTIO_BLK_Z_NONE 0
|
||||
/* Host-managed zoned device */
|
||||
#define VIRTIO_BLK_Z_HM 1
|
||||
/* Host-aware zoned device */
|
||||
#define VIRTIO_BLK_Z_HA 2
|
||||
|
||||
/*
|
||||
* Zone descriptor. A part of VIRTIO_BLK_T_ZONE_REPORT command reply.
|
||||
*/
|
||||
struct virtio_blk_zone_descriptor {
|
||||
/* Zone capacity */
|
||||
uint64_t z_cap;
|
||||
/* The starting sector of the zone */
|
||||
uint64_t z_start;
|
||||
/* Zone write pointer position in sectors */
|
||||
uint64_t z_wp;
|
||||
/* Zone type */
|
||||
uint8_t z_type;
|
||||
/* Zone state */
|
||||
uint8_t z_state;
|
||||
uint8_t reserved[38];
|
||||
};
|
||||
|
||||
struct virtio_blk_zone_report {
|
||||
uint64_t nr_zones;
|
||||
uint8_t reserved[56];
|
||||
struct virtio_blk_zone_descriptor zones[];
|
||||
};
|
||||
|
||||
/*
|
||||
* Supported zone types.
|
||||
*/
|
||||
|
||||
/* Conventional zone */
|
||||
#define VIRTIO_BLK_ZT_CONV 1
|
||||
/* Sequential Write Required zone */
|
||||
#define VIRTIO_BLK_ZT_SWR 2
|
||||
/* Sequential Write Preferred zone */
|
||||
#define VIRTIO_BLK_ZT_SWP 3
|
||||
|
||||
/*
|
||||
* Zone states that are available for zones of all types.
|
||||
*/
|
||||
|
||||
/* Not a write pointer (conventional zones only) */
|
||||
#define VIRTIO_BLK_ZS_NOT_WP 0
|
||||
/* Empty */
|
||||
#define VIRTIO_BLK_ZS_EMPTY 1
|
||||
/* Implicitly Open */
|
||||
#define VIRTIO_BLK_ZS_IOPEN 2
|
||||
/* Explicitly Open */
|
||||
#define VIRTIO_BLK_ZS_EOPEN 3
|
||||
/* Closed */
|
||||
#define VIRTIO_BLK_ZS_CLOSED 4
|
||||
/* Read-Only */
|
||||
#define VIRTIO_BLK_ZS_RDONLY 13
|
||||
/* Full */
|
||||
#define VIRTIO_BLK_ZS_FULL 14
|
||||
/* Offline */
|
||||
#define VIRTIO_BLK_ZS_OFFLINE 15
|
||||
|
||||
/* Unmap this range (only valid for write zeroes command) */
|
||||
#define VIRTIO_BLK_WRITE_ZEROES_FLAG_UNMAP 0x00000001
|
||||
|
||||
|
@ -217,4 +315,11 @@ struct virtio_scsi_inhdr {
|
|||
#define VIRTIO_BLK_S_OK 0
|
||||
#define VIRTIO_BLK_S_IOERR 1
|
||||
#define VIRTIO_BLK_S_UNSUPP 2
|
||||
|
||||
/* Error codes that are specific to zoned block devices */
|
||||
#define VIRTIO_BLK_S_ZONE_INVALID_CMD 3
|
||||
#define VIRTIO_BLK_S_ZONE_UNALIGNED_WP 4
|
||||
#define VIRTIO_BLK_S_ZONE_OPEN_RESOURCE 5
|
||||
#define VIRTIO_BLK_S_ZONE_ACTIVE_RESOURCE 6
|
||||
|
||||
#endif /* _LINUX_VIRTIO_BLK_H */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue