Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/hyperv/vmbus/hyperv_mmu.h
- This file was copied from sys/dev/hyperv/vmbus/hyperv_var.h.
/*- | /*- | ||||
* Copyright (c) 2016 Microsoft Corp. | * Copyright (c) 2009-2012,2016-2017 Microsoft Corp. | ||||
* Copyright (c) 2012 NetApp Inc. | |||||
* Copyright (c) 2012 Citrix Inc. | |||||
* All rights reserved. | * All rights reserved. | ||||
* | * | ||||
* Redistribution and use in source and binary forms, with or without | * Redistribution and use in source and binary forms, with or without | ||||
* modification, are permitted provided that the following conditions | * modification, are permitted provided that the following conditions | ||||
* are met: | * are met: | ||||
* 1. Redistributions of source code must retain the above copyright | * 1. Redistributions of source code must retain the above copyright | ||||
* notice unmodified, this list of conditions, and the following | * notice unmodified, this list of conditions, and the following | ||||
* disclaimer. | * disclaimer. | ||||
* 2. Redistributions in binary form must reproduce the above copyright | * 2. Redistributions in binary form must reproduce the above copyright | ||||
* notice, this list of conditions and the following disclaimer in the | * notice, this list of conditions and the following disclaimer in the | ||||
* documentation and/or other materials provided with the distribution. | * documentation and/or other materials provided with the distribution. | ||||
* | * | ||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR | ||||
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | ||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. | ||||
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | ||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||||
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
*/ | */ | ||||
#ifndef _HYPERV_VAR_H_ | #ifndef _HYPERV_MMU_H_ | ||||
#define _HYPERV_VAR_H_ | #define _HYPERV_MMU_H_ | ||||
extern u_int hyperv_recommends; | #include "vmbus_var.h" | ||||
struct hypercall_ctx { | #define HV_VCPUS_PER_SPARSE_BANK (64) | ||||
void *hc_addr; | #define HV_MAX_SPARSE_VCPU_BANKS (64) | ||||
vm_paddr_t hc_paddr; | |||||
}; | |||||
uint64_t hypercall_post_message(bus_addr_t msg_paddr); | |||||
uint64_t hypercall_signal_event(bus_addr_t monprm_paddr); | |||||
#endif /* !_HYPERV_VAR_H_ */ | |||||
struct hyperv_tlb_flush { | |||||
uint64_t address_space; | |||||
uint64_t flags; | |||||
uint64_t processor_mask; | |||||
uint64_t gva_list[]; | |||||
}__packed; | |||||
struct hv_vpset { | |||||
uint64_t format; | |||||
uint64_t valid_bank_mask; | |||||
uint64_t bank_contents[]; | |||||
} __packed; | |||||
struct hv_tlb_flush_ex { | |||||
uint64_t address_space; | |||||
uint64_t flags; | |||||
struct hv_vpset hv_vp_set; | |||||
} __packed; | |||||
#endif |