summaryrefslogtreecommitdiffstats
path: root/sys/dev/pv/hypervic.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* dev/rndvar.h no longer has statistical interfaces (removed during variousderaadt2020-05-291-2/+0
| | | | | | conversion steps). it only contains kernel prototypes for 4 interfaces, all of which legitimately belong in sys/systm.h, which are already included by all enqueue_randomness() users.
* include sys/sensors.h for sensor usejsg2019-12-311-0/+1
|
* Fail if unknown type of an address family was specifiedmikeb2017-08-101-0/+2
| | | | Coverity CID 1452981; Severity: unlikely, not user-visible.
* Add missing mtx_leave() calls in two hypervic error pathsjsg2017-02-231-2/+6
| | | | ok mikeb@
* Introduce pvbus_reboot() and pvbus_shutdown() to move the repeatedreyk2017-01-101-10/+2
| | | | | | | | tasks from the PV drivers into a central place. While here, we figured out that it is not needed to check for allowpowerdown on the hypervisor-initiated shutdown requests. OK mikeb@
* When running on Azure, the initial timesync "sync" message is not correct,reyk2016-12-161-2/+1
| | | | | | ignore it and only use the timesync "sample" messages. OK mikeb@
* Handle IP address information requestsmikeb2016-11-071-9/+171
| | | | | | | | | | | | | This adds the last required bit of the KVP interface: providing IP address info back to the Host on request. Normally the Host is not specifying the address family and in this case we prefer to report back the first IPv4 address we can find and resort to IPv6 only when no IPv4 addresses are configured. It also appears that the 5th version of the message format is not publicly documented yet and IP address information request messages differ from the 4th version so we have to take the negotiated protocol version down a notch.
* Support for key removal and value update operationsmikeb2016-11-031-30/+81
| | | | | | This change makes it possible for the Host to update the value of an existing key via a Set operation as well as to remove the key completely with a Delete message.
* Add locks to key-value pair poolsmikeb2016-11-031-7/+37
| | | | | | | We need to ensure list and data consistency during concurrent accesses since the interrupt handler is not executed under the kernel lock and may add or modify entries while userland process is reading the value or traversing the list.
* Implement a Key-Value Pair exchange interfacemikeb2016-11-031-8/+470
| | | | | | | | | | | | | | The implemented abstraction allows us to query and set little endian UTF-16 keys exchanged between the Host and the Guest via a text based pvbus(4) interface. All keys are attached to one of several key pools: Auto, Guest, External or Guest/Parameters. The hostctl(8) is able to modify values for keys in the Auto pool as well as set new keys in the Guest pool while the Host provides its keys in External and Guest/Parameters pools. Discussed with reyk@
* Let Integrated Components allocate the receive buffer themselvesmikeb2016-11-031-24/+52
| | | | | | since they have a better clue how to size it. While here, cleanup the kernel output a bit.
* Improve protocol version negotiation for Integrated Componentsmikeb2016-10-281-12/+45
| | | | modelled on the upstream version.
* Channel API users should pick the bufring sizemikeb2016-10-251-13/+8
| | | | | | | | | hvn(4) needs to be able to put up to 128 RNDIS data messages on the channel ring each pointing up to 16 fragments in addition to a small number of RNDIS control messages. This simplifies accounting of available TX descriptors in relation to the available space on the channel ring and as a results prevents packet drops due to the ring being full.
* Get rid of the ch_buf member that is not part of the channel APImikeb2016-10-121-91/+104
| | | | | | | | | Devices need to allocate appropriate input/output buffers for use with the VMBus channel API themselves. There's no reason to keep pointers to these buffers in the channel structure. This requires a bit of restructuring of the code attaching internal devices however.
* Move Hyper-V integration components into a separate source filemikeb2016-10-111-0/+403
Input & OK reyk.