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
Sepherosa Ziehau
a47c066339
hyperv/vmbus: Field rename
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7193
2016-07-15 07:26:31 +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
4817a5a58d
hyperv/vmbus: Cleanup channel sending
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7178
2016-07-15 07:07:17 +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
Sepherosa Ziehau
1680fb300c
hyperv/vmbus: Move channel packet flags definition to vmbus.h
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7176
2016-07-15 06:49:45 +00:00
Sepherosa Ziehau
66e132bd0f
hyeprv/vmbus: Rework prplist sending.
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7175
2016-07-15 06:40:59 +00:00
Sepherosa Ziehau
6199f16549
hyperv/vmbus: Rework sglist sending.
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7156
2016-07-15 06:29:19 +00:00
Sepherosa Ziehau
d64ec3506d
hyperv/vmbus: Redefine channel packet.
...
The channel packet header will be shared w/ PRP (physical region page)
list channel packet and SG (scatter gather) list channel packet.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7155
2016-07-15 06:16:39 +00:00
Sepherosa Ziehau
013c69bf17
hyperv/vmbus: Field rename
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7146
2016-07-15 06:08:48 +00:00
Sepherosa Ziehau
23eaa43cc8
hyperv/vmbus: Set vcpuid to 0, if MSR_HV_VP_INDEX does not exist.
...
Mainly for compatibility. While I'm here, rename cpuid related
fields in hv_vmbus_channel.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7141
2016-07-15 05:59:27 +00:00
Sepherosa Ziehau
29bf5462b5
hyperv/vmbus: Busdma-fy channel bufring.
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7140
2016-07-15 05:51:58 +00:00
Sepherosa Ziehau
9ab42c2138
hyperv/vmbus: Add vmbus_chan_gpadl_connect, which takes GPA physaddr
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7139
2016-07-15 05:40:34 +00:00
Sepherosa Ziehau
b3a6435528
hyperv/vmbus: Use iovec for bufring scatter/gather list.
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7134
2016-07-15 05:29:04 +00:00
Sepherosa Ziehau
9ef6240130
hyperv/vmbus: Function rename
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7129
2016-07-15 05:06:15 +00:00
Sepherosa Ziehau
7d590c7345
hyperv/vmbus: Merge hv_channel_mgmt.c into hv_channel.c
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7126
2016-07-15 04:42:08 +00:00
Sepherosa Ziehau
7e70f1cbaf
hyperv/vmbus: Sub-channel related fields renaming
...
And reorganize comment.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7113
2016-07-14 08:15:13 +00:00
Sepherosa Ziehau
e480791797
hyperv/vmbus: Fix the racy channel close.
...
It is not safe to iterate the sub-channel list w/o lock on the
close path, while it's even more difficult to hold the lock
and iterate the sub-channel list. We leverage the
vmbua_{get,rel}_subchan() functions to solve this dilemma.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7112
2016-07-14 07:59:01 +00:00
Sepherosa Ziehau
8c1ac91660
hyperv/vmbus: Nuke the channel open state.
...
Channel is either opened or not-opened.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7105
2016-07-14 06:59:04 +00:00
Sepherosa Ziehau
d805de567f
hyperv/vmbus: Get rid of rel{_id,id}, use channel id consistently.
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7100
2016-07-14 06:10:00 +00:00
Sepherosa Ziehau
8c8cf3f2e2
hyperv/vmbus: Reorganize MNF event sending.
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7088
2016-07-13 09:28:46 +00:00
Sepherosa Ziehau
562d480b7d
hyperv: Signal event input parameter is shared w/ MNF
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7087
2016-07-13 09:19:33 +00:00
Sepherosa Ziehau
782b0df476
hyperv/vmbus: Install different task function for batch/non-batch channels
...
This avoids bunch of unnecessary checks on hot path and simplifies the
channel processing.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7085
2016-07-13 08:30:14 +00:00
Sepherosa Ziehau
817c040c3f
hyperv/vmbus: Remove unnecessary callback check.
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7046
2016-07-13 06:55:21 +00:00
Sepherosa Ziehau
df1021e7bf
hyperv/vmbus: Pack bool field into flags field
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7038
2016-07-13 06:46:29 +00:00
Sepherosa Ziehau
3b50b13baa
hyperv: Get rid of hv_device, which is unnecessary indirection.
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7034
2016-07-13 06:17:15 +00:00
Sepherosa Ziehau
d74e22ed4a
hyperv/vmbus: Add flags field into hv_vmbus_channel for MNF indication
...
This prepares to remove the unnecessary offer message embedding in
hv_vmbus_channel.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7019
2016-07-13 04:31:08 +00:00
Sepherosa Ziehau
4ac0a9bf1e
hyperv/vmbus: Make subchan index a field of hv_vmbus_channel.
...
This prepares to remove the unnecessary offer message embedding in
hv_vmbus_channel.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7015
2016-07-13 03:35:22 +00:00
Sepherosa Ziehau
2c4888c75b
hyperv/vmbus: Make channel id a field of hv_vmbus_channel.
...
This prepares to remove the unnecessary offer message embedding in
hv_vmbus_channel.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7014
2016-07-13 03:24:29 +00:00
Sepherosa Ziehau
e71d17193d
hyperv/vmbus: Merge hv_connection.c into hv_channel.c
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D7004
2016-07-13 03:14:29 +00:00
Sepherosa Ziehau
81e1f05268
hyperv/vmbus: Free sysctl properly upon channel close.
...
Prepare for sub-channel re-open.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6977
2016-07-12 08:28:51 +00:00
Sepherosa Ziehau
3dee05577d
hyperv/vmbus: More verbose for GPADL_connect/chan_{rescind,offer}
...
Reviewed by: Dexuan Cui <decui microsoft com>, Hongjiang Zhang <honzhan microsoft com>
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6976
2016-07-12 08:21:28 +00:00
Sepherosa Ziehau
ee7e313f03
hyperv/vmbus: Move GPADL index into vmbus_softc
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6954
2016-07-12 07:49:38 +00:00
Sepherosa Ziehau
e44bdd84c9
hyperv/vmbus: Busdma-fy Hypercall signal event input parameter.
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6916
2016-07-12 05:09:07 +00:00
Sepherosa Ziehau
44d03f9a5f
hyperv/vmbus: Avoid tx_evtflags setting code duplication.
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6915
2016-07-12 04:58:21 +00:00
Sepherosa Ziehau
e90ec741f9
hyperv/vmbus: Use post message Hypercall APIs for GPA disconnect
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6912
2016-07-12 03:32:07 +00:00
Sepherosa Ziehau
e9bd7c4417
hyperv/vmbus: Use post message Hypercall APIs for channel close
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6906
2016-07-12 03:25:36 +00:00
Sepherosa Ziehau
2bf62f9a89
hyperv/vmbus: Use post message Hypercall APIs for GPADL connect.
...
This also fixes memory leakge if sub-connect messages are needed.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6878
2016-07-12 03:19:40 +00:00
Sepherosa Ziehau
df9f40d810
hyperv/vmbus: Remove unnecessary check and unapplied comment
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6877
2016-07-12 03:14:35 +00:00
Sepherosa Ziehau
fc1208d658
hyperv/vmbus: Use post message Hypercall APIs for channel open
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6876
2016-07-12 03:09:10 +00:00
Sepherosa Ziehau
3e1c325e63
hyperv/vmbus: Save vmbus softc to channels.
...
So that we don't need to access the global vmbus softc.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6863
2016-07-11 07:54:58 +00:00
Sepherosa Ziehau
51a9a000ee
hyperv/vmbus: Change tx_evtflags type to u_long to match vmbus_evtflags
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6745
2016-06-08 07:47:21 +00:00
Sepherosa Ziehau
6523ab7e00
hyperv/vmbus: Busdma-fy MNF and event flags.
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6744
2016-06-08 05:34:22 +00:00
Sepherosa Ziehau
95a45414a0
hyperv/vmbus: Move event/message taskqueue/task to vmbus softc
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6520
2016-05-25 04:59:20 +00:00
Sepherosa Ziehau
008024f2b8
hyperv/vmbus: Reduce the # of event loops by recording event flag count
...
Use vmbus softc to save vmbus per-cpu data. More stuffs will be moved
into vmbus softc.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6403
2016-05-18 03:19:53 +00:00
Sepherosa Ziehau
677d0d5076
hyperv/vmbus: Mark sysctls MPSAFE
...
MFC after: 1 week
Sponsored by: Microsoft OSTC
2016-04-27 05:45:14 +00:00
Sepherosa Ziehau
96a8c456f1
hyperv/channel: Git rid of the sub-channel creation callback
...
It is no longer used.
MFC after: 1 week
Sponsored by: Microsoft OSTC
2016-04-26 05:21:27 +00:00
Sepherosa Ziehau
7cd9b96b7a
hyperv: Update copyright to 2016 for the files Microsoft changed in 2016
...
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6039
2016-04-22 05:01:43 +00:00
Sepherosa Ziehau
aec810d4c5
hyperv/vmbus: Use default mtx for channel message queue
...
First of all sema_post() can't be called w/ spinlock, and the channel
message queue processing is not on hot code path, i.e. spinlock is not
necessary.
Submitted by: Jun Su <junsu microsoft com>
Reviewed by: sephe, Dexuan Cui <decui microsoft com>
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5812
2016-04-07 05:45:49 +00:00
Sepherosa Ziehau
990aae810b
hyperv/chan: Function renaming; no functional change
...
The renamed function create a sysctl tree for channel, and many
non-statistics nodes exists, so don't claim it only adds sysctl
nodes for statistics.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5503
2016-03-02 01:33:30 +00:00