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