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