vmbus_if.m revision 309313
11541Srgrimes#-
21541Srgrimes# Copyright (c) 2016 Microsoft Corp.
31541Srgrimes# All rights reserved.
41541Srgrimes#
51541Srgrimes# Redistribution and use in source and binary forms, with or without
61541Srgrimes# modification, are permitted provided that the following conditions
71541Srgrimes# are met:
81541Srgrimes# 1. Redistributions of source code must retain the above copyright
91541Srgrimes#    notice unmodified, this list of conditions, and the following
101541Srgrimes#    disclaimer.
111541Srgrimes# 2. Redistributions in binary form must reproduce the above copyright
121541Srgrimes#    notice, this list of conditions and the following disclaimer in the
131541Srgrimes#    documentation and/or other materials provided with the distribution.
141541Srgrimes#
151541Srgrimes# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
161541Srgrimes# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
171541Srgrimes# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
181541Srgrimes# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
191541Srgrimes# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
201541Srgrimes# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
211541Srgrimes# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
221541Srgrimes# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
231541Srgrimes# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
241541Srgrimes# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
251541Srgrimes#
261541Srgrimes# $FreeBSD: stable/10/sys/dev/hyperv/vmbus/vmbus_if.m 309313 2016-11-30 06:26:37Z dexuan $
271541Srgrimes#
281541Srgrimes
291541Srgrimes#include <sys/param.h>
301541Srgrimes#include <sys/bus.h>
311541Srgrimes
321541SrgrimesINTERFACE vmbus;
331541Srgrimes
341541SrgrimesHEADER {
3550477Speter	struct hyperv_guid;
361541Srgrimes};
371541Srgrimes
381541SrgrimesMETHOD uint32_t get_version {
391541Srgrimes	device_t bus;
401541Srgrimes	device_t dev;
411541Srgrimes};
421541Srgrimes
431541SrgrimesMETHOD int probe_guid {
441541Srgrimes	device_t bus;
451541Srgrimes	device_t dev;
461541Srgrimes	const struct hyperv_guid *guid;
47103506Smike};
48103506Smike
49103506SmikeMETHOD uint32_t get_vcpu_id {
50103506Smike	device_t bus;
51103506Smike	device_t dev;
52103506Smike	int cpu;
531541Srgrimes};
541541Srgrimes