1302629Ssephe#- 2302629Ssephe# Copyright (c) 2016 Microsoft Corp. 3302629Ssephe# All rights reserved. 4302629Ssephe# 5302629Ssephe# Redistribution and use in source and binary forms, with or without 6302629Ssephe# modification, are permitted provided that the following conditions 7302629Ssephe# are met: 8302629Ssephe# 1. Redistributions of source code must retain the above copyright 9302629Ssephe# notice unmodified, this list of conditions, and the following 10302629Ssephe# disclaimer. 11302629Ssephe# 2. Redistributions in binary form must reproduce the above copyright 12302629Ssephe# notice, this list of conditions and the following disclaimer in the 13302629Ssephe# documentation and/or other materials provided with the distribution. 14302629Ssephe# 15302629Ssephe# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 16302629Ssephe# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 17302629Ssephe# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 18302629Ssephe# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 19302629Ssephe# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 20302629Ssephe# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21302629Ssephe# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22302629Ssephe# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23302629Ssephe# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24302629Ssephe# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25302629Ssephe# 26302629Ssephe# $FreeBSD: stable/11/sys/dev/hyperv/vmbus/vmbus_if.m 311368 2017-01-05 05:51:00Z sephe $ 27302629Ssephe# 28302629Ssephe 29302629Ssephe#include <sys/param.h> 30302629Ssephe#include <sys/bus.h> 31302629Ssephe 32302629SsepheINTERFACE vmbus; 33302629Ssephe 34307307SsepheHEADER { 35307448Ssephe struct hyperv_guid; 36311368Ssephe struct taskqueue; 37307307Ssephe}; 38307307Ssephe 39302629SsepheMETHOD uint32_t get_version { 40302629Ssephe device_t bus; 41302629Ssephe device_t dev; 42302629Ssephe}; 43307307Ssephe 44307307SsepheMETHOD int probe_guid { 45307307Ssephe device_t bus; 46307307Ssephe device_t dev; 47307448Ssephe const struct hyperv_guid *guid; 48307307Ssephe}; 49309312Sdexuan 50309312SdexuanMETHOD uint32_t get_vcpu_id { 51309312Sdexuan device_t bus; 52309312Sdexuan device_t dev; 53309312Sdexuan int cpu; 54309312Sdexuan}; 55311368Ssephe 56311368SsepheMETHOD struct taskqueue * get_event_taskq { 57311368Ssephe device_t bus; 58311368Ssephe device_t dev; 59311368Ssephe int cpu; 60311368Ssephe}; 61