Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging
[qemu/ar7.git] / target / i386 / hvf / x86hvf.h
blob79539f7282fae0954dfed4f519b858b36d8f52bd
1 /*
2 * Copyright (C) 2016 Veertu Inc,
3 * Copyright (C) 2017 Google Inc,
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 of the License, or (at your option) any later version.
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.
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/>.
18 #ifndef X86HVF_H
19 #define X86HVF_H
20 #include "cpu.h"
21 #include "x86_descr.h"
23 int hvf_process_events(CPUState *);
24 int hvf_put_registers(CPUState *);
25 int hvf_get_registers(CPUState *);
26 bool hvf_inject_interrupts(CPUState *);
27 void hvf_set_segment(struct CPUState *cpu, struct vmx_segment *vmx_seg,
28 SegmentCache *qseg, bool is_tr);
29 void hvf_get_segment(SegmentCache *qseg, struct vmx_segment *vmx_seg);
30 void hvf_put_xsave(CPUState *cpu_state);
31 void hvf_put_segments(CPUState *cpu_state);
32 void hvf_put_msrs(CPUState *cpu_state);
33 void hvf_get_xsave(CPUState *cpu_state);
34 void hvf_get_msrs(CPUState *cpu_state);
35 void vmx_clear_int_window_exiting(CPUState *cpu);
36 void hvf_get_segments(CPUState *cpu_state);
37 void vmx_update_tpr(CPUState *cpu);
38 void hvf_cpu_synchronize_state(CPUState *cpu_state);
39 #endif