Wei Hu
ace5ce7e70
hyperv/vmbus: Update VMBus version 4.0 and 5.0 support.
...
Add VMBus protocol version 4.0. and 5.0 to support Windows 10 and newer HyperV hosts.
For VMBus 4.0 and newer HyperV, the netvsc gpadl teardown must be done after vmbus close.
Submitted by: whu
MFC after: 2 weeks
Sponsored by: Microsoft
2019-07-09 07:24:18 +00:00
Pedro F. Giffuni
718cf2ccb9
sys/dev: further 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.
2017-11-27 14:52:40 +00:00
Sepherosa Ziehau
6bf331af5d
hyperv/vmbus: Expose Hyper-V major version.
...
MFC after: 3 days
Sponsored by: Microsoft
2017-10-10 08:23:19 +00:00
Sepherosa Ziehau
93b4e111bb
hyperv: Update copyright for the files changed in 2017
...
MFC after: 3 days
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D11982
2017-08-14 06:00:50 +00:00
Sepherosa Ziehau
227bb849d3
hyperv: Add method to read 64bit Hyper-V specific time value.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D9057
2017-01-09 03:38:41 +00:00
Sepherosa Ziehau
9622c93ae8
hyperv: Allow userland to ro-mmap reference TSC page
...
This paves way to implement VDSO for the enlightened time counter.
Reviewed by: kib
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8768
2016-12-15 03:32:24 +00:00
Sepherosa Ziehau
de69dfbbbc
hyperv: Implement "enlightened" time counter, which is rdtsc based.
...
Reviewed by: kib
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8763
2016-12-14 03:20:57 +00:00
Sepherosa Ziehau
b99113a1c1
hyperv/vmbus: Add channel polling support.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8738
2016-12-12 05:04:55 +00:00
Sepherosa Ziehau
096d83feb9
hyperv/timesync: Support "sent TC" to improve accuracy.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8723
2016-12-08 05:37:39 +00:00
Sepherosa Ziehau
1b34e69534
hyperv/vmbus: Add result polling support for xact API.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8633
2016-11-28 07:27:08 +00:00
Sepherosa Ziehau
a54152eaa5
hyperv/vmbus: Add supportive transaction wait function.
...
This function supports channel revocation properly.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8611
2016-11-28 05:07:48 +00:00
Sepherosa Ziehau
2641e75742
hyperv/vmbus: Add a simplified version of channel close.
...
So that the caller can know the channel close error and react accordingly.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8600
2016-11-25 09:13:10 +00:00
Sepherosa Ziehau
32ab625a61
hyperv/vmbus: Return EISCONN if the bufring GPADL can't be disconnected.
...
So that the callers of vmbus_chan_open_br() could handle the passed in
bufring memory properly.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8569
2016-11-25 07:24:11 +00:00
Sepherosa Ziehau
5ab84aaf2f
hyperv/vmbus: Fix the primary channel revoking on vmbus side.
...
Drivers can now use vmbus_chan_{is_revoked,set_orphan,unset_orphan}() and
vmbus_xact_ctx_orphan() to fix their attach/detach DEVMETHODs for revoked
primary channels.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8545
2016-11-24 05:18:45 +00:00
Sepherosa Ziehau
494ec41ae2
hyperv/vmbus: Implement orphan support for transaction API
...
It will be used to fix the primary channel revocation support.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8525
2016-11-24 04:58:13 +00:00
Sepherosa Ziehau
fb6216bd43
hyperv/vmbus: Set a mark on the revoked channel.
...
This will be used to fix device detach DEVMETHOD for revoked primary
channel.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8522
2016-11-23 05:03:44 +00:00
Sepherosa Ziehau
8f3bf5f97b
hyperv/vmbus: Support transction result busy-wait.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8488
2016-11-21 05:09:43 +00:00
Sepherosa Ziehau
2a5a7ca81d
hyperv: GC unused functions.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8406
2016-11-02 05:41:23 +00:00
Sepherosa Ziehau
e41136c060
hyperv/vmbus: Expose channel management taskqueue for driver to use.
...
MFC after: 3 days
Sponsored by: Microsoft
2016-10-19 09:12:14 +00:00
Sepherosa Ziehau
cca23e7c3c
hyperv/vmbus: Allow driver to inject synchronous task into channel taskq.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8208
2016-10-11 02:43:23 +00:00
Sepherosa Ziehau
c8e8d13398
hyperv/vmbus: Add function to drain channel interrupt task.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8045
2016-09-28 04:25:25 +00:00
Sepherosa Ziehau
e8223cc6cf
hyperv/vmbus: Add functions to test RX/TX bufring emptiness
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8044
2016-09-28 04:08:20 +00:00
Sepherosa Ziehau
9613ad24b0
hyperv/vmbus: Allow bufrings preallocation.
...
The assumption that the channel is only opened upon synthetic device
attach time no longer holds, e.g. Hyper-V network device MTU changes.
We have to allow device drivers to preallocate bufrings, e.g. in
attach DEVMETHOD, to prevent bufring allocation failure once the
system memory is fragmented after running for a while.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7960
2016-09-21 05:56:47 +00:00
Sepherosa Ziehau
dd9af4103b
hyperv/vmbus: Add function to calculate max # of elements in a bufring.
...
MFC after: 1 week
Sponsored by: Microsoft
2016-08-25 05:35:51 +00:00
Sepherosa Ziehau
5ac4acb202
hyperv/hn: Factor out hn_nvs_send/hn_nvs_send_sglist
...
Avoid unnecessary message type setting and centralize the send context
to transaction id cast.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7500
2016-08-16 07:26:53 +00:00
Sepherosa Ziehau
3dba61dd3c
hyperv/vmbus: Use xact APIs to implement post message Hypercall APIs
...
Avoid code duplication.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7458
2016-08-11 06:24:17 +00:00
Sepherosa Ziehau
6212aa15fc
hyperv/vmbus: Add APIs for various types of transactions.
...
Reviewed by: Jun Su <junsu microsoft com>
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7456
2016-08-11 05:49:49 +00:00
Sepherosa Ziehau
99fc691eec
hyperv/vmbus: Add macro to get channel packet data length.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7455
2016-08-11 03:20:38 +00:00
Sepherosa Ziehau
9d6016a773
hyperv/vmbus: Remove the artificial entry limit of SG and PRP list.
...
Just make sure that the total channel packet size does not exceed 1/2
data size of the TX bufring.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7359
2016-08-01 04:26:24 +00:00
Sepherosa Ziehau
8018156f90
hyperv/vmbus: Reindent function declarations.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7344
2016-07-29 03:16:51 +00:00
Sepherosa Ziehau
7d8ee480c4
hyperv/vmbus: Inclusion cleanup
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7334
2016-07-28 06:46:10 +00:00
Sepherosa Ziehau
82b8a87964
hyperv: hv_vmbus_channel -> vmbus_channel
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7260
2016-07-21 06:09:47 +00:00
Sepherosa Ziehau
f62b3ae3be
hyperv/vmbus: Shuffle function declaration and macro definition.
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7259
2016-07-21 05:46:26 +00:00
Sepherosa Ziehau
6254947245
hyperv/vmbus: Hide channel struct definition.
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7245
2016-07-20 06:00:27 +00:00
Sepherosa Ziehau
fda1c6ee42
hyperv/vmbus: Deprecate the device private data in channel struct
...
They are neither flexible nor extensible.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7244
2016-07-20 05:48:52 +00:00
Sepherosa Ziehau
ca871fb75c
hyperv/vmbus: Pass channel as the first argument for channel callback
...
The prepares to kill device private fields in channel struct, which
are not flexible and extensible.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7243
2016-07-20 05:34:28 +00:00
Sepherosa Ziehau
9129ad2d70
hyperv/vmbus: Channel struct field rename
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7242
2016-07-20 05:26:04 +00:00
Sepherosa Ziehau
4cd995ff5d
hyperv/vmbus: Move IC register definition to Hyper-V utilities
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7241
2016-07-20 05:16:23 +00:00
Sepherosa Ziehau
267fb25f21
hyperv/vmbus: Get rid of unnecessary definition.
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7240
2016-07-20 05:03:04 +00:00
Sepherosa Ziehau
e93854c495
hyperv/vmbus: Function rename
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7230
2016-07-19 05:57:19 +00:00
Sepherosa Ziehau
742fb4f669
hyperv/vmbus: Cleanup cpu based channel selection.
...
And create cpu to channel map at device attach time for storvsc(4).
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7229
2016-07-19 05:46:15 +00:00
Sepherosa Ziehau
367d703632
hyperv/vmbus: Cosmetic vmbus channel open cleanup
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7217
2016-07-18 05:36:31 +00:00
Sepherosa Ziehau
d0856980e4
hyperv/vmbus: Function rename
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7212
2016-07-15 08:23:33 +00:00
Sepherosa Ziehau
a91e5fd55f
hyperv/vmbus: Back out r302888 temporarily
...
Committed by accident w/ duplicated commit log
MFC after: 1 week
Sponsored by: Microsoft OSTC
2016-07-15 08:13:44 +00:00
Sepherosa Ziehau
047affd165
hyperv/hn: Busdma-fy rxbuf and chimney sending buffer
...
Nuke unused channel GPADL API.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7211
2016-07-15 08:08:13 +00:00
Sepherosa Ziehau
8c209c9206
hyperv/hn: Busdma-fy rxbuf and chimney sending buffer
...
Nuke unused channel GPADL API.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7211
2016-07-15 08:06:48 +00:00
Sepherosa Ziehau
43bbe6b27f
hyperv/vmbus: Cleanup channel packet receiving.
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7204
2016-07-15 07:53:45 +00:00
Sepherosa Ziehau
7c55724859
hyperv/vmbus: Cleanup channel receiving.
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7202
2016-07-15 07:45:30 +00:00
Sepherosa Ziehau
12140675e8
hyperv/vmbus: Function rename
...
And reorder the error prone parameters list.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7191
2016-07-15 07:16:46 +00:00
Sepherosa Ziehau
03055a2cea
hyperv/vmbus: Move channel packet types definition to vmbus.h
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7177
2016-07-15 06:58:21 +00:00