1#- 2# Copyright (c) 2016 Microsoft Corp. 3# All rights reserved. 4# 5# Redistribution and use in source and binary forms, with or without 6# modification, are permitted provided that the following conditions 7# are met: 8# 1. Redistributions of source code must retain the above copyright 9# notice unmodified, this list of conditions, and the following 10# disclaimer. 11# 2. Redistributions in binary form must reproduce the above copyright 12# notice, this list of conditions and the following disclaimer in the 13# documentation and/or other materials provided with the distribution. 14# 15# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 16# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 17# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 18# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 19# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 20# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25# 26# $FreeBSD$ 27# 28 29#include <sys/param.h> 30#include <sys/bus.h> 31 32INTERFACE vmbus; 33 34HEADER { 35 struct hyperv_guid; 36 struct taskqueue; 37}; 38 39METHOD uint32_t get_version { 40 device_t bus; 41 device_t dev; 42}; 43 44METHOD int probe_guid { 45 device_t bus; 46 device_t dev; 47 const struct hyperv_guid *guid; 48}; 49 50METHOD uint32_t get_vcpu_id { 51 device_t bus; 52 device_t dev; 53 int cpu; 54}; 55 56METHOD struct taskqueue * get_event_taskq { 57 device_t bus; 58 device_t dev; 59 int cpu; 60}; 61