Sepherosa Ziehau
d1c1d97e6a
hyperv/vmbus: Assert that the bufring address is page aligned.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7962
2016-09-21 06:43:52 +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
67e44048f0
hyperv/vmbus: Make sure that the sub-channel count is valid.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7865
2016-09-14 06:30:14 +00:00
Sepherosa Ziehau
19c8ea1086
hyperv/vmbus: Stringent header length and total length check.
...
While I'm here, minor style changes.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7752
2016-09-05 03:21:31 +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
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
6fd14eb940
hyperv/vmbus: Only make sure the TX bufring will not be closed.
...
KVP can write data, whose size is > 1/2 TX bufring size.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7414
2016-08-05 08:57:51 +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
c0c9089709
hyperv/vmbus: Revoke unnecessary exposure of vmbus softc
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7348
2016-07-29 06:10:27 +00:00
Sepherosa Ziehau
fd42dfc550
hyperv/vmbus: Move driver glue to the beginning of the files
...
Just as most of other drivers do. And move sysinit function close
to its SYSINIT.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7347
2016-07-29 05:58:24 +00:00
Sepherosa Ziehau
5b444edabc
hyperv/vmbus: Forward declare static functions
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7346
2016-07-29 05:49:12 +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
0bc135dffc
hyperv/vmbus: Avoid unnecessary mb()
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7333
2016-07-28 06:30:29 +00:00
Sepherosa Ziehau
dc831186e3
hyperv/vmbus: Rename cleaned up bufring code
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7318
2016-07-27 09:27:08 +00:00
Sepherosa Ziehau
b5ddb4093a
hyperv/vmbus: Cleanup RX bufring read process.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7317
2016-07-27 07:36:54 +00:00
Sepherosa Ziehau
3ddfec1f17
hyperv/vmbus: Stringent RX bufring data length checks.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7316
2016-07-27 07:19:06 +00:00
Sepherosa Ziehau
455cc95f3f
hyperv/vmbus: Cleanup TX bufring write process.
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7315
2016-07-27 06:52:43 +00:00
Sepherosa Ziehau
ca7c18e5c4
hyperv/vmbus: Update comment for bufring
...
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7314
2016-07-27 06:36:57 +00:00
Sepherosa Ziehau
ea06b5d3ec
hyperv/vmbus: Use different struct for RX/TX bufring.
...
So that they can use suitable MP synchronization mechanism.
While I'm here change the bufring init/read/write function names.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7313
2016-07-27 06:17:20 +00:00
Sepherosa Ziehau
a0c3998ea9
hyperv/vmbus: Initialize RX/TX bufring mutex at channel creation time
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7312
2016-07-27 05:47:32 +00:00
Sepherosa Ziehau
34c30e12e2
hyperv/vmbus: Nuke unnecessary accessor functions.
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7303
2016-07-26 05:06:00 +00:00
Sepherosa Ziehau
afffab7e8b
hyperv/vmbus: Move bufring info definition to vmbus_brvar.h
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7282
2016-07-25 03:30:26 +00:00
Sepherosa Ziehau
7dd8881ca6
hyperv/vmbus: Rename hv_vmbus_priv.h to vmbus_brvar.h
...
It only contains bufring related bits for a while.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7281
2016-07-25 03:12:40 +00:00
Sepherosa Ziehau
031e155216
hyperv/vmbus: Move vmbus bufring definition to vmbus_reg.h
...
And add more comment about its fields.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7269
2016-07-22 05:09:08 +00:00
Sepherosa Ziehau
bafad35c7d
hyperv/vmbus: Cleanup and augment bufring sysctl tree creation
...
Binary state node is added, so that userland programs do not have
to parse human readable state string.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7268
2016-07-22 03:42:32 +00:00
Sepherosa Ziehau
a6c54e7eea
hyperv/vmbus: Cosmetic bufring cleanup.
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7267
2016-07-22 03:30:00 +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
3fcf36f408
hyperv/vmbus: Reorder channel fields.
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7258
2016-07-21 05:38:05 +00:00
Sepherosa Ziehau
f617e011c9
hyperv/vmbus: Save event flag location and evet flag mask.
...
This avoids unnecessary access to the vmbus_softc struct on sending path.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7257
2016-07-21 05:30:31 +00:00
Sepherosa Ziehau
e90bb68be6
hyperv/vmbus: Save MNF trigger location instead of MNF trigger index.
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7246
2016-07-20 06:12:32 +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
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
e62409966b
hyperv/vmbus: Rename laundered vmbus channel code
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7232
2016-07-19 07:51:22 +00:00
Sepherosa Ziehau
d9687005ae
hyperv/vmbus: Temp/internal variable/function rename
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7231
2016-07-19 06:04:44 +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
d745ae11c9
hyperv/vmbus: Cleanup channel sysctl tree creation
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7214
2016-07-15 08:40:22 +00:00
Sepherosa Ziehau
3ccc0ce030
hyperv/vmbus: Cosmetic vmbus channel close cleanup
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7213
2016-07-15 08:31:53 +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
7bf5900964
hyperv/vmbus: Factor out macros to do channel packet length conversion.
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7194
2016-07-15 07:35:01 +00:00