freebsd-skq/usr.sbin/bhyve
Allan Jude 22769bbe30 Add VIRTIO_BLK_T_DISCARD (TRIM) support to the bhyve virtio-blk backend
This will advertise support for TRIM to the guest virtio-blk driver and
perform the DIOCGDELETE ioctl on the backing storage if it supports it.

Thanks to Jason King and others at Joyent and illumos for expanding on
my original patch, adding improvements including better error handling
and making sure to following the virtio spec.

Submitted by:	Jason King <jason.king@joyent.com> (improvements)
Reviewed by:	jhb
Obtained from:	illumos-joyent (improvements)
MFC after:	1 month
Relnotes:	yes
Sponsored by:	Klara Inc.
Differential Revision:	https://reviews.freebsd.org/D21707
2020-04-23 19:20:58 +00:00
..
acpi.c bhyve(8): Add VM Generation Counter ACPI device 2020-04-15 02:00:17 +00:00
acpi.h bhyve(8): Add VM Generation Counter ACPI device 2020-04-15 02:00:17 +00:00
ahci.h Fix style(9) space vs tab. 2018-06-14 01:34:53 +00:00
atkbdc.c Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
atkbdc.h
audio.c bhyve: add wrapper for debug printf statements 2020-01-08 22:55:22 +00:00
audio.h Add SPDX tags to bhyve(8) HD Audio device. 2019-06-25 06:24:56 +00:00
bhyve.8 Improve formatting of synopsis section 2020-04-22 06:32:51 +00:00
bhyvegc.c When this code was introduced at r300829 the author forgot to add 2018-06-13 04:00:21 +00:00
bhyvegc.h Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
bhyverun.c bhyve(8): Minor cosmetic niceties in instemul failure 2020-04-15 02:34:44 +00:00
bhyverun.h Make bhyve SMBIOS table topology aware 2019-04-25 22:53:55 +00:00
block_if.c Add VIRTIO_BLK_T_DISCARD (TRIM) support to the bhyve virtio-blk backend 2020-04-23 19:20:58 +00:00
block_if.h Increase the VirtIO segment count to support modern Windows guests. 2019-05-02 22:46:37 +00:00
bootrom.c bhyve(8): Add bootrom allocation abstraction 2020-04-15 01:58:51 +00:00
bootrom.h bhyve(8): Add bootrom allocation abstraction 2020-04-15 01:58:51 +00:00
console.c Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
console.h Fix style(9) space vs tab. 2018-06-14 01:34:53 +00:00
consport.c bhyve: add wrapper for debug printf statements 2020-01-08 22:55:22 +00:00
dbgport.c Use capsicum_helpers(3) that allow us to simplify the code and its functions 2019-01-16 00:39:23 +00:00
dbgport.h various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
debug.h bhyve: add wrapper for debug printf statements 2020-01-08 22:55:22 +00:00
fwctl.c Always treat firmware request and response sizes as unsigned. 2018-12-04 18:28:25 +00:00
fwctl.h Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
gdb.c Support software breakpoints in the debug server on Intel CPUs. 2019-12-13 19:21:58 +00:00
gdb.h Support software breakpoints in the debug server on Intel CPUs. 2019-12-13 19:21:58 +00:00
hda_codec.c bhyve: add wrapper for debug printf statements 2020-01-08 22:55:22 +00:00
hda_reg.h Add SPDX tags to bhyve(8) HD Audio device. 2019-06-25 06:24:56 +00:00
hdac_reg.h Add SPDX tags to bhyve(8) HD Audio device. 2019-06-25 06:24:56 +00:00
inout.c Fix style(9) space vs tab. 2018-06-14 01:34:53 +00:00
inout.h various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
ioapic.c various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
ioapic.h various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
iov.c bhyve: enable virtio-net mergeable rx buffers for tap(4) 2020-02-20 21:07:23 +00:00
iov.h bhyve: enable virtio-net mergeable rx buffers for tap(4) 2020-02-20 21:07:23 +00:00
Makefile bhyve(8): Add VM Generation Counter ACPI device 2020-04-15 02:00:17 +00:00
Makefile.depend Update Makefile.depend files 2019-12-11 17:37:53 +00:00
Makefile.depend.options Add Makefile.depend.options 2019-12-11 17:37:37 +00:00
mem.c Add support for writing to guest memory in the debug server. 2019-05-24 00:34:13 +00:00
mem.h Add support for writing to guest memory in the debug server. 2019-05-24 00:34:13 +00:00
mevent_test.c Improve bhyve exit(3) error code. 2018-07-11 03:23:09 +00:00
mevent.c bhyve: rework mevent processing to fix a race condition 2019-11-12 21:07:51 +00:00
mevent.h bhyve: add backend rx backpressure to virtio-net 2019-11-03 19:02:32 +00:00
mptbl.c bhyve: add wrapper for debug printf statements 2020-01-08 22:55:22 +00:00
mptbl.h various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
net_backends.c bhyve: enable virtio-net mergeable rx buffers for tap(4) 2020-02-20 21:07:23 +00:00
net_backends.h Add VIRTIO_NET_F_MTU flag support for the bhyve virtio-net device. 2020-04-07 17:06:33 +00:00
net_utils.c Add VIRTIO_NET_F_MTU flag support for the bhyve virtio-net device. 2020-04-07 17:06:33 +00:00
net_utils.h Add VIRTIO_NET_F_MTU flag support for the bhyve virtio-net device. 2020-04-07 17:06:33 +00:00
pci_ahci.c bhyve: add wrapper for debug printf statements 2020-01-08 22:55:22 +00:00
pci_e82545.c bhyve: move virtio-net header processing to pci_virtio_net 2020-02-12 22:44:18 +00:00
pci_emul.c bhyve: add wrapper for debug printf statements 2020-01-08 22:55:22 +00:00
pci_emul.h Keep the shadow PCIR_COMMAND synced with the real one for pass through. 2019-06-07 15:53:27 +00:00
pci_fbuf.c Bhyve: DPRINTF already includes newline, so don't add another 2020-03-18 03:15:57 +00:00
pci_hda.c bhyve: add wrapper for debug printf statements 2020-01-08 22:55:22 +00:00
pci_hda.h bhyve: add wrapper for debug printf statements 2020-01-08 22:55:22 +00:00
pci_hostbridge.c various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
pci_irq.c Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
pci_irq.h Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
pci_lpc.c bhyve(8): Add bootrom allocation abstraction 2020-04-15 01:58:51 +00:00
pci_lpc.h Add -s "help" and -l "help" to print a list of supported PCI and LPC devices. 2018-08-22 20:23:08 +00:00
pci_nvme.c bhyve: fix NVMe emulation update of SQHD 2020-03-27 15:28:27 +00:00
pci_passthru.c Emulate reads of the PCI command register for passthrough devices. 2019-12-11 23:41:39 +00:00
pci_uart.c bhyve: add wrapper for debug printf statements 2020-01-08 22:55:22 +00:00
pci_virtio_block.c Add VIRTIO_BLK_T_DISCARD (TRIM) support to the bhyve virtio-blk backend 2020-04-23 19:20:58 +00:00
pci_virtio_console.c bhyve: add wrapper for debug printf statements 2020-01-08 22:55:22 +00:00
pci_virtio_net.c Add VIRTIO_NET_F_MTU flag support for the bhyve virtio-net device. 2020-04-07 17:06:33 +00:00
pci_virtio_rnd.c bhyve: add wrapper for debug printf statements 2020-01-08 22:55:22 +00:00
pci_virtio_scsi.c bhyve: add wrapper for debug printf statements 2020-01-08 22:55:22 +00:00
pci_xhci.c bhyve: add wrapper for debug printf statements 2020-01-08 22:55:22 +00:00
pci_xhci.h Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
pm.c bhyve(8): Add VM Generation Counter ACPI device 2020-04-15 02:00:17 +00:00
post.c various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
ps2kbd.c bhyve: add wrapper for debug printf statements 2020-01-08 22:55:22 +00:00
ps2kbd.h Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
ps2mouse.c bhyve: add wrapper for debug printf statements 2020-01-08 22:55:22 +00:00
ps2mouse.h Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
rfb.c Bhyve: log message when rfb client connects 2020-03-18 03:17:15 +00:00
rfb.h Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
rtc.c Fix style(9) space vs tab. 2018-06-14 01:34:53 +00:00
rtc.h various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
smbiostbl.c In the past changes have been made to smbios->minor without updating the 2020-04-07 23:17:44 +00:00
smbiostbl.h various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
sockstream.c Fix style(9) space vs tab. 2018-06-14 01:34:53 +00:00
sockstream.h Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
spinup_ap.c various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
spinup_ap.h various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
task_switch.c bhyve: add wrapper for debug printf statements 2020-01-08 22:55:22 +00:00
uart_emul.c bhyve: add wrapper for debug printf statements 2020-01-08 22:55:22 +00:00
uart_emul.h various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
usb_emul.c Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
usb_emul.h Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
usb_mouse.c bhyve: add wrapper for debug printf statements 2020-01-08 22:55:22 +00:00
vga.c Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
vga.h Fix style(9) space vs tab. 2018-06-14 01:34:53 +00:00
virtio.c bhyve: add wrapper for debug printf statements 2020-01-08 22:55:22 +00:00
virtio.h bhyve: add support for virtio-net mergeable rx buffers 2019-11-08 17:57:03 +00:00
vmgenc.c bhyve(8): Correct copyright boilerplate for r359950 2020-04-15 05:55:14 +00:00
vmgenc.h bhyve(8): Correct copyright boilerplate for r359950 2020-04-15 05:55:14 +00:00
xmsr.c bhyve, bhyvectl: Add Hygon Dhyana support. 2020-02-13 19:05:14 +00:00
xmsr.h various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00