ept.h revision 256281
1145485Swpaul/*-
2145485Swpaul * Copyright (c) 2011 NetApp, Inc.
3145485Swpaul * All rights reserved.
4145485Swpaul *
5145485Swpaul * Redistribution and use in source and binary forms, with or without
6145485Swpaul * modification, are permitted provided that the following conditions
7145485Swpaul * are met:
8145485Swpaul * 1. Redistributions of source code must retain the above copyright
9145485Swpaul *    notice, this list of conditions and the following disclaimer.
10145485Swpaul * 2. Redistributions in binary form must reproduce the above copyright
11145485Swpaul *    notice, this list of conditions and the following disclaimer in the
12145485Swpaul *    documentation and/or other materials provided with the distribution.
13145485Swpaul *
14145485Swpaul * THIS SOFTWARE IS PROVIDED BY NETAPP, INC ``AS IS'' AND
15145485Swpaul * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16145485Swpaul * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17145485Swpaul * ARE DISCLAIMED.  IN NO EVENT SHALL NETAPP, INC OR CONTRIBUTORS BE LIABLE
18145485Swpaul * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19145485Swpaul * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20145485Swpaul * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21145485Swpaul * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22145485Swpaul * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23145485Swpaul * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24145485Swpaul * SUCH DAMAGE.
25145485Swpaul *
26145485Swpaul * $FreeBSD: stable/10/sys/amd64/vmm/intel/ept.h 256072 2013-10-05 21:22:35Z neel $
27145485Swpaul */
28145485Swpaul
29145485Swpaul#ifndef	_EPT_H_
30145485Swpaul#define	_EPT_H_
31145485Swpaul
32145485Swpaulstruct vmx;
33145485Swpaul
34145485Swpaulint	ept_init(void);
35145485Swpaulvoid	ept_invalidate_mappings(u_long eptp);
36145485Swpaulstruct vmspace *ept_vmspace_alloc(vm_offset_t min, vm_offset_t max);
37145485Swpaulvoid	ept_vmspace_free(struct vmspace *vmspace);
38145485Swpauluint64_t eptp(uint64_t pml4);
39145485Swpaul#endif
40145485Swpaul