Deleted Added
full compact
vmcs.h (245678) vmcs.h (249879)
1/*-
2 * Copyright (c) 2011 NetApp, Inc.
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 unchanged lines hidden (view full) ---

18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
1/*-
2 * Copyright (c) 2011 NetApp, Inc.
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 unchanged lines hidden (view full) ---

18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
26 * $FreeBSD: head/sys/amd64/vmm/intel/vmcs.h 245678 2013-01-20 03:42:49Z neel $
26 * $FreeBSD: head/sys/amd64/vmm/intel/vmcs.h 249879 2013-04-25 04:56:43Z grehan $
27 */
28
29#ifndef _VMCS_H_
30#define _VMCS_H_
31
32#ifdef _KERNEL
33struct vmcs {
34 uint32_t identifier;

--- 12 unchanged lines hidden (view full) ---

47
48int vmcs_set_msr_save(struct vmcs *vmcs, u_long g_area, u_int g_count);
49int vmcs_set_defaults(struct vmcs *vmcs, u_long host_rip, u_long host_rsp,
50 u_long ept_pml4,
51 uint32_t pinbased_ctls, uint32_t procbased_ctls,
52 uint32_t procbased_ctls2, uint32_t exit_ctls,
53 uint32_t entry_ctls, u_long msr_bitmap,
54 uint16_t vpid);
27 */
28
29#ifndef _VMCS_H_
30#define _VMCS_H_
31
32#ifdef _KERNEL
33struct vmcs {
34 uint32_t identifier;

--- 12 unchanged lines hidden (view full) ---

47
48int vmcs_set_msr_save(struct vmcs *vmcs, u_long g_area, u_int g_count);
49int vmcs_set_defaults(struct vmcs *vmcs, u_long host_rip, u_long host_rsp,
50 u_long ept_pml4,
51 uint32_t pinbased_ctls, uint32_t procbased_ctls,
52 uint32_t procbased_ctls2, uint32_t exit_ctls,
53 uint32_t entry_ctls, u_long msr_bitmap,
54 uint16_t vpid);
55int vmcs_getreg(struct vmcs *vmcs, int ident, uint64_t *retval);
56int vmcs_setreg(struct vmcs *vmcs, int ident, uint64_t val);
55int vmcs_getreg(struct vmcs *vmcs, int running, int ident, uint64_t *rv);
56int vmcs_setreg(struct vmcs *vmcs, int running, int ident, uint64_t val);
57int vmcs_getdesc(struct vmcs *vmcs, int ident,
58 struct seg_desc *desc);
59int vmcs_setdesc(struct vmcs *vmcs, int ident,
60 struct seg_desc *desc);
61uint64_t vmcs_read(uint32_t encoding);
62
63#define vmexit_instruction_length() vmcs_read(VMCS_EXIT_INSTRUCTION_LENGTH)
64#define vmcs_guest_rip() vmcs_read(VMCS_GUEST_RIP)

--- 274 unchanged lines hidden ---
57int vmcs_getdesc(struct vmcs *vmcs, int ident,
58 struct seg_desc *desc);
59int vmcs_setdesc(struct vmcs *vmcs, int ident,
60 struct seg_desc *desc);
61uint64_t vmcs_read(uint32_t encoding);
62
63#define vmexit_instruction_length() vmcs_read(VMCS_EXIT_INSTRUCTION_LENGTH)
64#define vmcs_guest_rip() vmcs_read(VMCS_GUEST_RIP)

--- 274 unchanged lines hidden ---