summaryrefslogtreecommitdiff
path: root/sys/dev/pv
AgeCommit message (Collapse)Author
2019-01-19virtio: Introduce defines for config(8) flagsStefan Fritsch
2019-01-19viomb: tweak feature negotiationStefan Fritsch
VIRTIO_F_RING_INDIRECT_DESC is always negotiated by the transport driver, no need to specify it explicitly. VIRTIO_BALLOON_F_MUST_TELL_HOST is not offered but is handled in the code. Offer it during negotiation, too.
2019-01-10Fix previousStefan Fritsch
It accidentally contained a part of a different diff.
2019-01-10Move some PCI-specific defines to a new virtio_pcireg.h fileStefan Fritsch
Also add some virtio 1.0 status and feature bits
2019-01-10Remove some more code if VIRTIO_DEBUG is 0Stefan Fritsch
2019-01-10Move some common defines to virtiovar.hStefan Fritsch
And fix some comments
2019-01-08viocon: Remove obsolete handling of sc_intrhandStefan Fritsch
2019-01-08virtio: Don't include feature strings without VIRTIO_DEBUGStefan Fritsch
They are only used if VIRTIO_DEBUG is enabled. This should make the kernel slightly smaller.
2018-12-05Correctly disable pvclock(4) on old hardware that lack a stable clockReyk Floeter
I falsely assumed that the KVM_FEATURE_CLOCKSOURCE_STABLE_BIT indicates that the actual clock values are stable, but it turned out that this isn't always the case. To detect if the clock value is stable, we now read it once in pvclock_attach() and check for the PVCLOCK_FLAG_TSC_STABLE flag. This needs further investigation. Reported and fix tested by johnw.mail at gmail.com OK chris@ phessler@
2018-11-24only attach pvclock(4) inside a KVM guestPeter Hessler
tested by brynet@ OK reyk@
2018-11-23Add the pvclock(4) guest driver for paravirtual clocksReyk Floeter
This improves timekeeping on KVM guests as it runs much better than the virtualized acpihpet or acpitimer timecounters and the invtsc is not always available. Many thanks to Janne Johansson, landry@, and benno@ for testing amd64/i386. OK mlarkin@ phessler@
2018-09-25Insert a workaround for per-ifp ioctl being called w/o NET_LOCK().Martin Pieuchot
An example of such code path is vlan_destroy() where we don't want to grab the lock because this driver is already NET_LOCK()-free. The real solution to this problem is to stop holding the NET_LOCK() around driver *_ioctl() routines. Problem reported & fix tested by Élie Bouttier, ok visa@, bluhm@
2018-08-24Add common Ethernet interface attributes to vio(4)'s build config.Visa Hankala
OK deraadt@
2018-05-17Let hvn_iff handle promisc mode activationMike Belopuhov
Tested by Daniel Wade, <Daniel2 ! Wade at ge ! com>, thanks!
2018-04-28replace add_*_randomness with enqueue_randomness()Jasper Lievisse Adriaanse
this gets rid of the source annotation which doesn't really add anything other than adding complexitiy. randomess is generally good enough that the few extra bits that the source type would add are not worth it. ok mikeb@ deraadt@
2018-03-11Workaround an Azure UDP transmit checksum offloading bugMike Belopuhov
According to https://reviews.freebsd.org/D12429, UDP transmit checksum offloading doesn't work in Azure when sizeof(IP hdr + UDP hdr + payload) is greater than 1420 and don't fragment bit isn't set in the IP header. Instead of peeking into the packet and attempting to fix the fallout, we restrict UDP checksum offloading to NDIS versions newer than the one used in Azure (6.30) in an attempt to keep the feature enabled. Unfortunately, there's no way to tell Azure apart from a standalone Hyper-V to make this check more precise.
2018-03-08Implement the VMWare vmbackup protocol using vfs_stall(). This lets youJonathan Matthew
clone running guests and take disk-only snapshots, most of the time ending up with a clean filesystem. ok dlg@ deraadt@
2018-02-27Release the netlock when sleeping for control messages in in vioioctl().Martin Pieuchot
Prevents a deadlock reported by aalm@
2018-02-19Remove almost unused `flags' argument of suser().Martin Pieuchot
The account flag `ASU' will no longer be set but that makes suser() mpsafe since it no longer mess with a per-process field. No objection from millert@, ok tedu@, bluhm@
2018-01-21Release interrupt source if the interrupt task is already scheduledMike Belopuhov
Tested by Imre Oolberg, thanks!
2018-01-21Improve panic messageMike Belopuhov
2018-01-20Disable TCP and UDP transmit checksum offloadingMike Belopuhov
In certain configurations, transmit checksum offloading doesn't appear to work correctly, preventing correct TCP and UDP operation. Some of these issues involving VLAN tagging are documented by the Xen project. Problem reported and fix tested by Imre Oolberg, thanks!
2018-01-18Fix an off-by-one uncovered by the recent free(9) changeMike Belopuhov
From canacar@, thanks!
2017-12-09No need for the txb_used flag anymoreMike Belopuhov
2017-11-26Xen interrupt task barrier is just a taskq_barrier so call itMike Belopuhov
instead of rolling its own now that it's been made available. OK dlg
2017-11-08Fixup what looks like a merge mistake; no functional changeMike Belopuhov
2017-09-08If you use sys/param.h, you don't need sys/types.hTheo de Raadt
2017-08-10Don't forget to call va_end in xen_hypercallMike Belopuhov
Coverity CID 1453343
2017-08-10Prevent an unlikely resource leakMike Belopuhov
Coverity CID 1453069; Severity: unlikely, not user-visible.
2017-08-10sector_count is uninitialized if the SCSI cmdlen is not 6, 10, 12 orReyk Floeter
16 bytes long. This cannot happen. But it is good to silence the uninitialized variable warning. Coverity CID 1453104; Severity: Insignificant OK mikeb@
2017-08-10Fix copy-paste error in the error path of vio_alloc_mem() that checkedReyk Floeter
the wrong variable (sc_tx_dmamaps[i] instead of sc_rx_dmamaps[i]). Coverity CID 1452937; Severity: Minor OK mikeb@
2017-08-10Add missing comma that caused a concatenated string. Fixes printing ofReyk Floeter
the device names of "9P Transport" and "mac80211 wlan" virtio devices. Coverity CID 1453254; Severity: Insignificant OK mikeb@
2017-08-10Correct the upper bound for the command size before the passthroughMike Belopuhov
Coverity CID 1453317; Severity: unlikely, not user-visible.
2017-08-10Buffer size for the SCSI vendor string should be 8 char longMike Belopuhov
A vendor and part of the product string got copied into a larger on-stack buffer as a result of an out-of-bounds access, however only 4 characters are meaningful in this context. Coverity CID 1453206; Severity: insignificant.
2017-08-10Fixup upper bound for the completion descriptor identifierMike Belopuhov
Coverity CID 1452864; Severity: unlikely, not user-visible.
2017-08-10Fail if unknown type of an address family was specifiedMike Belopuhov
Coverity CID 1452981; Severity: unlikely, not user-visible.
2017-07-21Replace MD _bus_dmamap_* function calls with MI onesMike Belopuhov
2017-07-19Turn this into a panic since there's no way to recover from itMike Belopuhov
2017-07-17Forbid overwriting a grant table entry currently in useMike Belopuhov
2017-07-17Reduce amount of CAS attempts in a busy-wait loop by a factor of 100Mike Belopuhov
2017-07-17Pick the correct TX buffer when unrollingMike Belopuhov
2017-07-17Reimplement mbuf/map to descriptor mappingMike Belopuhov
Previously descriptors have referenced DMA maps too loosely which led to bus_dmamap_unload being called before all fragments have been completed. This eliminates the last instance of excessive looping while waiting for a grant table entry to become available.
2017-07-17Grant table entries must be disassociated once CCB is completeMike Belopuhov
Attempting to unload the map before all chunks are done may lead to unnecessary looping.
2017-07-14SpacingMike Belopuhov
2017-07-14Reduce the number of CAS loops from ludicrous to ridiculousMike Belopuhov
Now that the source of the delay with releasing grant table entries has been identified and fixed the number of attempts to CAS entry flags can be substantially reduced and while it's decreased by a factor of 100000, it should go down at least a 100 more in the future.
2017-07-14Silence the interrupt source until the interrupt task has done its jobMike Belopuhov
This small change significantly improves performance under load and halves the number of received interrupts.
2017-07-14Support out-of-order TX completion notificationsMike Belopuhov
Apparently, just like the disk interface, the network backend may post TX completions out-of-order, i.e. the ring position doesn't determine which descriptor is being completed and the code must look at the response id inside the completion message. It might seem obvious, but since networking hardware doesn't usually work this way, it was something that has been overlooked. Based on instability reports from Kirill Miazine <km at krot ! org>, thanks!
2017-07-13Add a comment explaining why pciide(4) must skip attaching disksMike Belopuhov
Requested by kettenis@.
2017-07-12Prefer paravirtualized interface for IDE disks as wellMike Belopuhov
2017-06-27Provide a handler stub for the "channel rescind" messageMike Belopuhov