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