#
4d65a7c6 |
|
24-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
usr.sbin: Automated cleanup of cdefs and other formatting Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row. Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/ Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/ Remove /\n+#if.*\n#endif.*\n+/ Remove /^#if.*\n#endif.*\n/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/ Sponsored by: Netflix
|
#
b0936440 |
|
16-Oct-2023 |
John Baldwin <jhb@FreeBSD.org> |
bhyve: Replace many fprintf(stderr, ...) calls with EPRINTLN EPRINTLN handles newlines appropriately when stdout/stderr have been reused as the backend for a serial port. For bhyverun.c itself, the rule this attempts to follow is to use regular fprintf/perror/warn/err prior to init_pci() (which is when serial ports are configured) and to switch to EPRINTLN afterwards. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D42182
|
#
edd2a9b8 |
|
13-Oct-2023 |
John Baldwin <jhb@FreeBSD.org> |
bhyve ahci: Replace WPRINTF with EPRINTLN Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D42181
|
#
1d386b48 |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line .c pattern Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
#
b3e76948 |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: two-line .h pattern Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
#
480bef94 |
|
16-Aug-2021 |
Corvin Köhne <corvink@FreeBSD.org> |
bhyve: add bootindex option for several devices The bootindex option creates an entry in the "bootorder" fwcfg file. This file can be picked up by the guest firmware to determine the bootorder. Nevertheless, it's not guaranteed that the guest firmware uses the bootorder. At the moment, our OVMF ignores the bootorder. This will change in the future. If guest firmware supports the "bootorder" fwcfg file and no device uses the bootindex option, the boot order is determined by the firmware itself. If one or more devices specify a bootindex, the first bootable device with the lowest bootindex will be booted. It's not garanteed that devices without a bootindex will be recognized as bootable from the firmware in that case. Reviewed by: jhb MFC after: 1 week Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D39285
|
#
4d846d26 |
|
10-May-2023 |
Warner Losh <imp@FreeBSD.org> |
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause. Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
|
#
0f735657 |
|
24-Mar-2023 |
John Baldwin <jhb@FreeBSD.org> |
bhyve: Remove vmctx member from struct vm_snapshot_meta. This is a userland-only pointer that isn't relevant to the kernel and doesn't belong in the ioctl structure shared between userland and the kernel. For the kernel, the old structure for the ioctl is still supported under COMPAT_FREEBSD13. This changes vm_snapshot_req() in libvmmapi to accept an explicit vmctx argument. It also changes vm_snapshot_guest2host_addr to take an explicit vmctx argument. As part of this change, move the declaration for this function and its wrapper macro from vmm_snapshot.h to snapshot.h as it is a userland-only API. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D38125
|
#
6a284cac |
|
19-Jan-2023 |
John Baldwin <jhb@FreeBSD.org> |
bhyve: Remove vmctx argument from PCI device model methods. Most of these arguments were unused. Device models which do need access to the vmctx in one of these methods can obtain it from the pi_vmctx member of the pci_devinst argument instead. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D38096
|
#
78c2cd83 |
|
09-Dec-2022 |
John Baldwin <jhb@FreeBSD.org> |
bhyve: Remove unused vcpu argument from PCI read/write methods. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37652
|
#
5d805962 |
|
28-Nov-2022 |
John Baldwin <jhb@FreeBSD.org> |
bhyve: Avoid unlikely truncation of the blockif ident strings. The ident string for NVMe and VirtIO block deivces do not contain the bus, and the various fields can potentially use up to three characters when printed as unsigned values (full range of uint8_t) even if not likely in practice. Reviewed by: corvink, chuck Differential Revision: https://reviews.freebsd.org/D37488
|
#
f0553616 |
|
25-Oct-2022 |
Mark Johnston <markj@FreeBSD.org> |
bhyve: Address signed/unsigned comparison warnings in the AHCI model No functional change intended. MFC after: 1 week
|
#
03f7ccab |
|
25-Oct-2022 |
Mark Johnston <markj@FreeBSD.org> |
bhyve: Avoid arithmetic on void pointers No functional change intended. MFC after: 1 week
|
#
98d920d9 |
|
08-Oct-2022 |
Mark Johnston <markj@FreeBSD.org> |
bhyve: Annotate unused function parameters MFC after: 1 week
|
#
37045dfa |
|
16-Aug-2022 |
Mark Johnston <markj@FreeBSD.org> |
bhyve: Mark variables and functions as static where appropriate Mark them const as well when it makes sense to do so. No functional change intended. MFC after: 1 week Sponsored by: The FreeBSD Foundation
|
#
cd9618bd |
|
23-Jun-2022 |
Vitaliy Gusev <gusev.vitaliy@gmail.com> |
bhyve: Snapshot impovements for 'blockif' backend When pausing a block I/O device model as part of suspending a VM, wait for all active block I/O requests to finish before saving snapshot data. This avoids having to save information about in-flight requests both in the block_if layer and in storage device models. For the AHCI device model, the queues are now guaranteed to be idle when taking a snapshot, so remove the code to save queue state and rely on the initial state in a resumed VM having all queues already idle. This will also simplify adding NVMe snapshot support in the future. Reviewed by: jhb Sponsored by: vStack Differential Revision: https://reviews.freebsd.org/D26267
|
#
b252fb24 |
|
20-Jan-2022 |
Ryan Moeller <freqlabs@FreeBSD.org> |
bhyve: ahci: Fix regression with no ports An AHCI controller may be specified with no connected ports. Avoid dumping core in this case for compatibility with existing VM configs. Reviewed by: khng, jhb Fixes: 621b5090487de Refactor configuration management in bhyve. MFC after: 1 week Sponsored by: iXsystems, Inc. Differential Revision: https://reviews.freebsd.org/D33969
|
#
c2fa905c |
|
26-Dec-2021 |
Toomas Soome <tsoome@FreeBSD.org> |
bhyve: clean up trailing whitespaces Clean up trailing whitespaces. No functional changes. Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D33681
|
#
621b5090 |
|
26-Jun-2019 |
John Baldwin <jhb@FreeBSD.org> |
Refactor configuration management in bhyve. Replace the existing ad-hoc configuration via various global variables with a small database of key-value pairs. The database supports heirarchical keys using a MIB-like syntax to name the path to a given key. Values are always stored as strings. The API used to manage configuation values does include wrappers to handling boolean values. Other values use non-string types require parsing by consumers. The configuration values are stored in a tree using nvlists. Leaf nodes hold string values. Configuration values are permitted to reference other configuration values using '%(name)'. This permits constructing template configurations. All existing command line arguments now set configuration values. For devices, the "-s" option parses its option argument to generate a list of key-value pairs for the given device. A new '-o' command line option permits setting an individual configuration variable. The key name is always given as a full path of dot-separated components. A new '-k' command line option parses a simple configuration file. This configuration file holds a flat list of 'key=value' lines where the 'key' is the full path of a configuration variable. Lines starting with a '#' are comments. In general, bhyve starts by parsing command line options in sequence and applying those settings to configuration values. Once this is complete, bhyve then begins initializing its state based on the configuration values. This means that subsequent configuration options or files may override or supplement previously given settings. A special 'config.dump' configuration value can be set to true to help debug configuration issues. When this value is set, bhyve will print out the configuration variables as a flat list of 'key=value' lines. Most command line argments map to a single configuration variable, e.g. '-w' sets the 'x86.strictmsr' value to false. A few command line arguments have less obvious effects: - Multiple '-p' options append their values (as a comma-seperated list) to "vcpu.N.cpuset" values (where N is a decimal vcpu number). - For '-s' options, a pci.<bus>.<slot>.<function> node is created. The first argument to '-s' (the device type) is used as the value of a "device" variable. Additional comma-separated arguments are then parsed into 'key=value' pairs and used to set additional variables under the device node. A PCI device emulation driver can provide its own hook to override the parsing of the additonal '-s' arguments after the device type. After the configuration phase as completed, the init_pci hook then walks the "pci.<bus>.<slot>.<func>" nodes. It uses the "device" value to find the device model to use. The device model's init routine is passed a reference to its nvlist node in the configuration tree which it can query for specific variables. The result is that a lot of the string parsing is removed from the device models and centralized. In addition, adding a new variable just requires teaching the model to look for the new variable. - For '-l' options, a similar model is used where the string is parsed into values that are later read during initialization. One key note here is that the serial ports use the commonly used lowercase names from existing documentation and examples (e.g. "lpc.com1") instead of the uppercase names previously used internally in bhyve. Reviewed by: grehan MFC after: 3 months Differential Revision: https://reviews.freebsd.org/D26035
|
#
cd5b6d16 |
|
14-Nov-2020 |
Peter Grehan <grehan@FreeBSD.org> |
Fix regression in AHCI controller settings. When the AHCI code was reworked to use FreeBSD struct definitions, the valid element was mis-transcribed resulting in the UMDA capability being hidden. This prevented Illumos from using AHCI disk/cdrom drives. Fix by using definitions that match the code pre-rework. PR: 250924 Submitted by: Rolf Stalder Reported by: Rolf Stalder MFC after: 3 days
|
#
6f64e4f3 |
|
01-Oct-2020 |
John Baldwin <jhb@FreeBSD.org> |
bhyve: Fix build with option BHYVE_SNAPSHOT 'ident' was replaced with 'ata_ident' in revision r363596. Submitted by: Vitaliy Gusev <gusev.vitaliy_gmail.com> Reviewed by: Darius Mihai Differential Revision: https://reviews.freebsd.org/D26263
|
#
f1c3dac4 |
|
30-Jul-2020 |
Peter Grehan <grehan@FreeBSD.org> |
Replace magic numbers in Identify page register 0 with ATA definitions. No functional change. Verified with objdump output before/after. Requested by: rpokala Reviewed by: rpokala MFC after: 3 weeks
|
#
9af3bcd7 |
|
27-Jul-2020 |
Peter Grehan <grehan@FreeBSD.org> |
Support the setting of additional AHCI controller parameters. Allow the serial number, firmware revision, model number and nominal media rotation rate (nmrr) parameters to be set from the command line. Note that setting the nmrr value can be used to indicate the AHCI device is an SSD. Submitted by: Wanpeng Qian Reviewed by: jhb, grehan (#bhyve) Approved by: jhb, grehan MFC after: 3 weeks Relnotes: yes Differential Revision: https://reviews.freebsd.org/D24174
|
#
483d953a |
|
04-May-2020 |
John Baldwin <jhb@FreeBSD.org> |
Initial support for bhyve save and restore. Save and restore (also known as suspend and resume) permits a snapshot to be taken of a guest's state that can later be resumed. In the current implementation, bhyve(8) creates a UNIX domain socket that is used by bhyvectl(8) to send a request to save a snapshot (and optionally exit after the snapshot has been taken). A snapshot currently consists of two files: the first holds a copy of guest RAM, and the second file holds other guest state such as vCPU register values and device model state. To resume a guest, bhyve(8) must be started with a matching pair of command line arguments to instantiate the same set of device models as well as a pointer to the saved snapshot. While the current implementation is useful for several uses cases, it has a few limitations. The file format for saving the guest state is tied to the ABI of internal bhyve structures and is not self-describing (in that it does not communicate the set of device models present in the system). In addition, the state saved for some device models closely matches the internal data structures which might prove a challenge for compatibility of snapshot files across a range of bhyve versions. The file format also does not currently support versioning of individual chunks of state. As a result, the current file format is not a fixed binary format and future revisions to save and restore will break binary compatiblity of snapshot files. The goal is to move to a more flexible format that adds versioning, etc. and at that point to commit to providing a reasonable level of compatibility. As a result, the current implementation is not enabled by default. It can be enabled via the WITH_BHYVE_SNAPSHOT=yes option for userland builds, and the kernel option BHYVE_SHAPSHOT. Submitted by: Mihai Tiganus, Flavius Anton, Darius Mihai Submitted by: Elena Mihailescu, Mihai Carabas, Sergiu Weisz Relnotes: yes Sponsored by: University Politehnica of Bucharest Sponsored by: Matthew Grooms (student scholarships) Sponsored by: iXsystems Differential Revision: https://reviews.freebsd.org/D19495
|
#
332eff95 |
|
08-Jan-2020 |
Vincenzo Maffione <vmaffione@FreeBSD.org> |
bhyve: add wrapper for debug printf statements Add printf() wrapper to use CR/CRLF terminators depending on whether stdio is mapped to a tty open in raw mode. Try to use the wrapper everywhere. For now we leave the custom DPRINTF/WPRINTF defined by device models, but we may remove them in the future. Reviewed by: grehan, jhb MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D22657
|
#
79c1428e |
|
02-Dec-2019 |
Vincenzo Maffione <vmaffione@FreeBSD.org> |
bhyve: uniform printf format string newlines Some of the printf statements only use LF to get a newline. However, a CR character is also required for the serial console to print debug logs in a nice way. Fix those code locations that only use LF, by adding a CR character. Reviewed by: markj, aleksandr.fedorov@itglobal.com MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D22552
|
#
edce78c2 |
|
20-Nov-2018 |
Marcelo Araujo <araujo@FreeBSD.org> |
Define AHCI_PORT_IDENT and increase by 1 the VTBLK_BLK_ID_BYTES to avoid buffer accessed out of bounds, also switch to snprintf(3). PR: 200859 Submitted by: Caglar <caglar@10ur.org> Obtained from: https://github.com/mist64/xhyve/pull/24 MFC after: 4 weeks Sponsored by: iXsystems Inc.
|
#
1de7b4b8 |
|
27-Nov-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
various: general adoption of SPDX licensing ID tags. Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error prone - task. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. No functional change intended.
|
#
ec46b920 |
|
02-Apr-2017 |
Alexander Motin <mav@FreeBSD.org> |
Fix variable for sizeof() in previous commit. MFC after: 2 weeks
|
#
4e183a48 |
|
02-Apr-2017 |
Alexander Motin <mav@FreeBSD.org> |
Add Log directory and SATA NCQ Send and Receive Log. Those are used at least by Linux guests to detect queued TRIM support. MFC after: 2 weeks Sponsored by: iXsystems, Inc.
|
#
6d6fccac |
|
17-Jul-2016 |
Alexander Motin <mav@FreeBSD.org> |
Fix NCQ TRIM emulation. When this code was written, there was no guests using it to test.
|
#
3dd79610 |
|
08-Jul-2016 |
Alexander Motin <mav@FreeBSD.org> |
Add emulation for multiple (up to 16) MSI vectors for AHCI. It was useless before, but may improve performance now if multiple devices are configured and guest supports this feature. Sponsored by: iXsystems, Inc.
|
#
098f5155 |
|
08-Jul-2016 |
Alexander Motin <mav@FreeBSD.org> |
Allow AHCI controller to support up to 32 arbitrary devices. While old syntax is still supported, new syntax looks like this: -s 3,ahci,hd:/dev/zvol/XXX,hd:/dev/zvol/YYY,cd:/storage/ZZZ.iso Sponsored by: iXsystems, Inc.
|
#
f94fd843 |
|
05-Jul-2016 |
Enji Cooper <ngie@FreeBSD.org> |
Fix gcc warnings Put cfl/prdt under AHCI_DEBUG #defines as they are only used in those cases. Approved by: re (gjb) Differential Revision: https://reviews.freebsd.org/D7119 MFC after: 1 week Reported by: Jenkins Reviewed by: grehan (maintainer) Sponsored by: EMC / Isilon Storage Division
|
#
59c895f1 |
|
22-Apr-2016 |
Marcelo Araujo <araujo@FreeBSD.org> |
Use MIN()/MAX() macros from sys/param.h. Reviewed by: grehan Differential Revision: https://reviews.freebsd.org/D6054
|
#
91e34616 |
|
05-Apr-2016 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
bhyve: Remove unneeded variable ncq. ncq was not being inititialized properly but it was not actually necessary either, so make the code smaller by removing it. CID: 1248842 Reviewed by: grehan
|
#
305b5a14 |
|
26-Jan-2016 |
Marcelo Araujo <araujo@FreeBSD.org> |
Cleanup unused-but-set-variable spotted by gcc-4.9. Reviewed by: neel Approved by: rodrigc (mentor) Differential Revision: https://reviews.freebsd.org/D5042
|
#
45b3ff5f |
|
05-Oct-2015 |
Peter Grehan <grehan@FreeBSD.org> |
Clean up some harmless unimplemented-command warning messages. - Don't advertize trusted-computing capability in the Identify page. This prevents Windows from issuing a TRUSTED_RECEIVE_DMA command. - Windows will send down SMART and SECURITY_FREEZE_LOCK even though smart and security capabilities were not advertized. Send back a silent abort. Reviewed by: mav
|
#
7a40703d |
|
16-Aug-2015 |
Peter Grehan <grehan@FreeBSD.org> |
Add simple (no-op) emulations for the CHECK_POWER_MODE, READ_VERIFY and READ_VERIFY_EXT commands. Reviewed by: mav
|
#
1cba3333 |
|
07-May-2015 |
Neel Natu <neel@FreeBSD.org> |
Allow byte reads of AHCI registers. This is needed to support Windows guests that use byte reads to access certain AHCI registers (e.g. PxTFD.Status and PxTFD.Error). Reviewed by: grehan, mav Reported by: Leon Dang (ldang@nahannisys.com) Differential Revision: https://reviews.freebsd.org/D2469 MFC after: 2 weeks
|
#
5b3ee130 |
|
06-May-2015 |
Alexander Motin <mav@FreeBSD.org> |
Reimplement queue freeze on error, added in r282429: It is not required to use CLO to recover from task file error, it should be enough to do only stop/start, that does not clear the PxTFD.STS.ERR. MFC after: 13 days
|
#
b208a147 |
|
04-May-2015 |
Alexander Motin <mav@FreeBSD.org> |
Implement in-order execution of non-NCQ commands. Using status updates in r282364, block queue on BSY, DRQ or ERR bits set. This can be a performance penalization for non-NCQ commands, but it is required for proper error recovery and standard compliance. MFC after: 2 weeks
|
#
9dba9460 |
|
03-May-2015 |
Alexander Motin <mav@FreeBSD.org> |
Implement basic PxTFD.STS.BSY reporting. MFC after: 2 weeks
|
#
1025d8e6 |
|
02-May-2015 |
Alexander Motin <mav@FreeBSD.org> |
Initialize PxCMD on reset and make its read-only bits such. MFC after: 2 weeks
|
#
52f224df |
|
02-May-2015 |
Alexander Motin <mav@FreeBSD.org> |
Handle ATA_SEND_FPDMA_QUEUED as NCQ in ahci_port_stop(). MFC after: 1 week
|
#
fdd86701 |
|
20-Apr-2015 |
Alexander Motin <mav@FreeBSD.org> |
Don't set bits that should be zero for SATA devices. Old value made Linux think that it is PATA device with SATA bridge. MFC after: 2 weeks
|
#
bb1524af |
|
18-Apr-2015 |
Alexander Motin <mav@FreeBSD.org> |
Workaround bhyve virtual disks operation on top of GEOM providers. GEOM does not support scatter/gather lists in its I/Os. Such requests are cut in pieces by physio(), that may be problematic, if those pieces are not multiple of provider's sector size. If such case is detected, move the data through temporary sequential buffer. MFC after: 2 weeks
|
#
0990a330 |
|
17-Apr-2015 |
Alexander Motin <mav@FreeBSD.org> |
Make virtual AHCI more careful with I/O lengths. MFC after: 2 weeks
|
#
8187174a |
|
20-Mar-2015 |
Alexander Motin <mav@FreeBSD.org> |
Add missing variable initialization. Reported by: Coverity CID: 1288938 MFC after: 3 days
|
#
e72d4950 |
|
15-Mar-2015 |
Alexander Motin <mav@FreeBSD.org> |
Give AHCI disk serial based on backing file path same as for virtio block. It is still not good that they may intersect on different hosts, but that is better then intersecting on the same host. MFC after: 2 weeks
|
#
7e8e5539 |
|
15-Mar-2015 |
Alexander Motin <mav@FreeBSD.org> |
Block delete capability for read-only devices. Submitted by: neel MFC after: 2 weeks
|
#
df57ec49 |
|
14-Mar-2015 |
Alexander Motin <mav@FreeBSD.org> |
Add checksums to identify data and NCQ command error log. MFC after: 2 weeks
|
#
b441dabf |
|
13-Mar-2015 |
Alexander Motin <mav@FreeBSD.org> |
Slightly polish virtual AHCI CD reporting. MFC after: 2 weeks
|
#
fb329df8 |
|
14-Mar-2015 |
Alexander Motin <mav@FreeBSD.org> |
Fix NOP and IDLE commands for virtual AHCI disks. MFC after: 2 weeks
|
#
1fcb8019 |
|
14-Mar-2015 |
Alexander Motin <mav@FreeBSD.org> |
Add support for NCQ variant of DSM TRIM for virtual AHCI disks. The code is not really tested yet due to lack of initiator support. Requested by: imp MFC after: 2 weeks
|
#
9009f434 |
|
14-Mar-2015 |
Alexander Motin <mav@FreeBSD.org> |
Improve NCQ errors reporting for virtual AHCI disks. While this implementation is still not perfect, previous was just broken. MFC after: 2 weeks
|
#
dcd0c998 |
|
13-Mar-2015 |
Alexander Motin <mav@FreeBSD.org> |
Remove incorrect SERR register setting. At this point we have nothing to report through that register. MFC after: 2 weeks
|
#
9463f47b |
|
13-Mar-2015 |
Alexander Motin <mav@FreeBSD.org> |
Change prdbc value reporting. MFC after: 2 weeks
|
#
295e61d6 |
|
13-Mar-2015 |
Alexander Motin <mav@FreeBSD.org> |
Polish AHCI disk identify data and fix speed negotiation. MFC after: 2 weeks
|
#
5f6b63de |
|
13-Mar-2015 |
Alexander Motin <mav@FreeBSD.org> |
Add support for PIO variants of READ/WRITE commands for AHCI disks. AHCI API hides all PIO specifics, so this functionality is almost free. MFC after: 2 weeks
|
#
f7c5bc2c |
|
13-Mar-2015 |
Alexander Motin <mav@FreeBSD.org> |
Use ahci_write_fis_d2h() for commands completion. MFC after: 2 weeks
|
#
0b9d25c9 |
|
13-Mar-2015 |
Alexander Motin <mav@FreeBSD.org> |
Add DSM TRIM command support for virtual AHCI disks. It works only for virtual disks backed by ZVOLs and raw devices supporting BIO_DELETE. Virtual disks backed by files won't report this capability. MFC after: 2 weeks Relnotes: yes
|
#
94682383 |
|
04-Mar-2015 |
Alexander Motin <mav@FreeBSD.org> |
Report logical/physical sector sizes for virtual SATA disk. MFC after: 2 weeks
|
#
65392c66 |
|
23-Feb-2015 |
Peter Grehan <grehan@FreeBSD.org> |
Don't close a block context if it couldn't be opened, for example if the backing file doesn't exist, avoiding a null deref. Reviewed by: neel MFC after: 1 week.
|
#
26bf9611 |
|
02-Nov-2014 |
Tycho Nightingale <tychon@FreeBSD.org> |
If the start bit, PxCMD.ST, is cleared and nothing is in-flight then PxCI, PxSACT, PxCMD.CCS and PxCMD.CR should be 0. Reviewed by: grehan
|
#
3ef05c46 |
|
17-Oct-2014 |
Tycho Nightingale <tychon@FreeBSD.org> |
Support stopping and restarting the AHCI command list via toggling PxCMD.ST from '1' to '0' and back. This allows the driver a chance to recover if for instance a timeout occurred due to activity on the host. Reviewed by: grehan
|
#
42404fae |
|
30-Jul-2014 |
Tycho Nightingale <tychon@FreeBSD.org> |
Commands which encounter a fatal error shouldn't be marked as completed. Furthermore, provide an indication of the current command so it can be determined which one actually failed. Reviewed by: grehan
|
#
ad15140e |
|
14-Jul-2014 |
Peter Grehan <grehan@FreeBSD.org> |
Use the blockif CHS routine to create fake CHS values, and then populate them in the identity page. This fixes a divide-by-zero error at probe time with NetBSD. MFC after: 1 week.
|
#
67e17052 |
|
28-Apr-2014 |
Peter Grehan <grehan@FreeBSD.org> |
Implement legacy interrupts for the AHCI device emulation according to the method outlined in the AHCI spec. Tested with FreeBSD 9/10/11 with MSI disabled, and also NetBSD/amd64 (lightly). Reviewed by: neel, tychon MFC after: 3 weeks
|
#
994f858a |
|
22-Apr-2014 |
Xin LI <delphij@FreeBSD.org> |
Use calloc() in favor of malloc + memset. Reviewed by: neel
|
#
8b4a7f85 |
|
09-Apr-2014 |
Tycho Nightingale <tychon@FreeBSD.org> |
Constrain the amount of data returned to what is actually available not the size of the buffer. Approved by: grehan (co-mentor)
|
#
4feac03f |
|
18-Mar-2014 |
Tycho Nightingale <tychon@FreeBSD.org> |
Don't reissue in-flight commands. Approved by: neel (co-mentor)
|
#
7292923b |
|
15-Mar-2014 |
Tycho Nightingale <tychon@FreeBSD.org> |
Though there currently isn't a way to insert new media into an ATAPI drive, at least pretend to support Asynchronous Notification (AN) to avoid a guest needlessly polling for it. Approved by: grehan (co-mentor)
|
#
2a261121 |
|
11-Feb-2014 |
Tycho Nightingale <tychon@FreeBSD.org> |
Provide an indication a "PIO Setup Device to Host FIS" occurred while executing the IDENTIFY DEVICE and IDENTIFY PACKET DEVICE commands. Also, provide an indication a "D2H Register FIS" occurred during a SET FEATURES command. Approved by: grehan (co-mentor)
|
#
4e5f86e0 |
|
21-Jan-2014 |
Tycho Nightingale <tychon@FreeBSD.org> |
Fix issue with stale fields from a recycled request pulled off the freelist. Approved by: grehan (co-mentor)
|
#
4b48ea6a |
|
25-Nov-2013 |
Peter Grehan <grehan@FreeBSD.org> |
The Data Byte Count (DBC) field of a Physical Region Descriptor Table is 22 bits, with the bit 31 being the interrupt-on-completion bit. OpenBSD and UEFI set this bit, resulting in large block i/o lengths being sent to bhyve and coredumping the process. Fix by masking off the relevant 22 bits when using the DBC field as a length. Reviewed by: Zhixiang Yu Discussed with: Tycho Nightingale (tycho.nightingale@pluribusnetworks.com) MFC after: 10.0
|
#
7f5487ac |
|
05-Nov-2013 |
Peter Grehan <grehan@FreeBSD.org> |
Add the VM name to the process name with setproctitle(). Remove the VM name from some of the thread-naming calls since it is now in the proc title. Slightly modify the thread-naming for the net and block threads. This improves readability when using top/ps with the -a and -H options on a system with a large number of bhyve VMs. Requested by: Michael Dexter Reviewed by: neel MFC after: 4 weeks
|
#
10016ed5 |
|
22-Oct-2013 |
Peter Grehan <grehan@FreeBSD.org> |
Fix AHCI ATAPI emulation when backed with /dev/cd0 - remove assumption that the backing file/device had 512-byte sectors - fix incorrect iovec size variable that would result in a buffer overrun when an o/s issued an i/o request with more s/g elements than the blockif api Reviewed by: Zhixiang Yu (zxyu.core@gmail.com) MFC after: 3 days
|
#
7b8d7047 |
|
17-Oct-2013 |
Peter Grehan <grehan@FreeBSD.org> |
Eliminate unconditional debug printfs. Linux writes to these nominally read-only registers, so avoid having bhyve write warning messages to stdout when the reg writes can be safely ignored. Change the WPRINTF to DPRINTF which is conditional. Reviewed by: mav Discussed with: mav, Zhixiang Yu MFC after: 3 days
|
#
cdb9cd7a |
|
08-Oct-2013 |
Dimitry Andric <dim@FreeBSD.org> |
In usr.sbin/bhyve/pci_ahci.c, fix several gcc warnings of the form "assignment makes pointer from integer without a cast", by changing the cmd_lst and rbis members of struct ahci_port from integers to pointers. Also surround a pow-of-2 test expression with parentheses to clarify it, and avoid another gcc warning. Approved by: re (glebius) Reviewed by: grehan, mav
|
#
c354c096 |
|
04-Oct-2013 |
Peter Grehan <grehan@FreeBSD.org> |
Import Zhixiang Yu's GSoC'13 AHCI emulation: https://wiki.freebsd.org/SummerOfCode2013/bhyveAHCI This provides ICH8 SATA disk and ATAPI ports, selectable via the bhyve slot command-line parameter: SATA -s <slot>,ahci-hd,<image-file> ATAPI -s <slot>,ahci-cd,<image-file> Slight modifications by: grehan@ Approved by: re@ (blanket) Obtained from: FreeBSD GSoC'13
|