1/* 2 * QEMU Hypervisor.framework (HVF) support 3 * 4 * Copyright 2017 Google Inc 5 * 6 * Adapted from target-i386/hax-i386.h: 7 * Copyright (c) 2011 Intel Corporation 8 * Written by: 9 * Jiang Yunhong<yunhong.jiang@intel.com> 10 * 11 * This work is licensed under the terms of the GNU GPL, version 2 or later. 12 * See the COPYING file in the top-level directory. 13 * 14 */ 15 16#ifndef _HVF_I386_H 17#define _HVF_I386_H 18 19#include "sysemu/hvf.h" 20#include "cpu.h" 21#include "x86.h" 22 23#define HVF_MAX_VCPU 0x10 24#define MAX_VM_ID 0x40 25#define MAX_VCPU_ID 0x40 26 27extern struct hvf_state hvf_global; 28 29struct hvf_vm { 30 int id; 31 struct hvf_vcpu_state *vcpus[HVF_MAX_VCPU]; 32}; 33 34struct hvf_state { 35 uint32_t version; 36 struct hvf_vm *vm; 37 uint64_t mem_quota; 38}; 39 40#ifdef NEED_CPU_H 41/* Functions exported to host specific mode */ 42 43/* Host specific functions */ 44int hvf_inject_interrupt(CPUArchState *env, int vector); 45int hvf_vcpu_run(struct hvf_vcpu_state *vcpu); 46#endif 47 48#endif 49