vmx.h (22a3a45ade8d331f3c318afeb0374c94129e55b4) vmx.h (9323e79f10e5f5d8fffc3b307776173ca11faeae)
1/*
2 * Copyright (C) 2016 Veertu Inc,
3 * Copyright (C) 2017 Google Inc,
4 * Based on Veertu vddh/vmm/vmx.h
5 *
6 * Interfaces to Hypervisor.framework to read/write X86 registers and VMCS.
7 *
8 * This program is free software; you can redistribute it and/or

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

75{
76 return (ctrl | (cap & 0xffffffff)) & (cap >> 32);
77}
78
79#define VM_ENTRY_GUEST_LMA (1LL << 9)
80
81#define AR_TYPE_ACCESSES_MASK 1
82#define AR_TYPE_READABLE_MASK (1 << 1)
1/*
2 * Copyright (C) 2016 Veertu Inc,
3 * Copyright (C) 2017 Google Inc,
4 * Based on Veertu vddh/vmm/vmx.h
5 *
6 * Interfaces to Hypervisor.framework to read/write X86 registers and VMCS.
7 *
8 * This program is free software; you can redistribute it and/or

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

75{
76 return (ctrl | (cap & 0xffffffff)) & (cap >> 32);
77}
78
79#define VM_ENTRY_GUEST_LMA (1LL << 9)
80
81#define AR_TYPE_ACCESSES_MASK 1
82#define AR_TYPE_READABLE_MASK (1 << 1)
83#define AR_TYPE_WRITEABLE_MASK (1 << 2)
83#define AR_TYPE_WRITABLE_MASK (1 << 2)
84#define AR_TYPE_CODE_MASK (1 << 3)
85#define AR_TYPE_MASK 0x0f
86#define AR_TYPE_BUSY_64_TSS 11
87#define AR_TYPE_BUSY_32_TSS 11
88#define AR_TYPE_BUSY_16_TSS 3
89#define AR_TYPE_LDT 2
90
91static void enter_long_mode(hv_vcpuid_t vcpu, uint64_t cr0, uint64_t efer)

--- 146 unchanged lines hidden ---
84#define AR_TYPE_CODE_MASK (1 << 3)
85#define AR_TYPE_MASK 0x0f
86#define AR_TYPE_BUSY_64_TSS 11
87#define AR_TYPE_BUSY_32_TSS 11
88#define AR_TYPE_BUSY_16_TSS 3
89#define AR_TYPE_LDT 2
90
91static void enter_long_mode(hv_vcpuid_t vcpu, uint64_t cr0, uint64_t efer)

--- 146 unchanged lines hidden ---