master
h 37 lines 1.35 KB
Raw
1 /*
2 * Copyright (C) 2016 Veertu Inc,
3 * Copyright (C) 2017 Google Inc,
4 *
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this program; if not, see <http://www.gnu.org/licenses/>.
17 */
18 #ifndef X86HVF_H
19 #define X86HVF_H
20 #include "cpu.h"
21 #include "x86_descr.h"
22
23 int hvf_process_events(CPUState *cs);
24 bool hvf_inject_interrupts(CPUState *cs);
25 void hvf_set_segment(CPUState *cs, struct vmx_segment *vmx_seg,
26 SegmentCache *qseg, bool is_tr);
27 void hvf_get_segment(SegmentCache *qseg, struct vmx_segment *vmx_seg);
28 void hvf_put_xsave(CPUState *cs);
29 void hvf_put_msrs(CPUState *cs);
30 void hvf_get_xsave(CPUState *cs);
31 void hvf_get_msrs(CPUState *cs);
32 void vmx_clear_int_window_exiting(CPUState *cs);
33 void vmx_update_tpr(CPUState *cs);
34
35 void hvf_load_regs(CPUState *cpu);
36 void hvf_store_regs(CPUState *cpu);
37 #endif