cachepc-qemu

Fork of AMDESE/qemu with changes for cachepc side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-qemu
Log | Files | Refs | Submodules | LICENSE | sfeed.txt

kvm_i386.h (1386B)


      1/*
      2 * QEMU KVM support -- x86 specific functions.
      3 *
      4 * Copyright (c) 2012 Linaro Limited
      5 *
      6 * This work is licensed under the terms of the GNU GPL, version 2 or later.
      7 * See the COPYING file in the top-level directory.
      8 *
      9 */
     10
     11#ifndef QEMU_KVM_I386_H
     12#define QEMU_KVM_I386_H
     13
     14#include "sysemu/kvm.h"
     15
     16#define kvm_apic_in_kernel() (kvm_irqchip_in_kernel())
     17
     18#ifdef CONFIG_KVM
     19
     20#define kvm_pit_in_kernel() \
     21    (kvm_irqchip_in_kernel() && !kvm_irqchip_is_split())
     22#define kvm_pic_in_kernel()  \
     23    (kvm_irqchip_in_kernel() && !kvm_irqchip_is_split())
     24#define kvm_ioapic_in_kernel() \
     25    (kvm_irqchip_in_kernel() && !kvm_irqchip_is_split())
     26
     27#else
     28
     29#define kvm_pit_in_kernel()      0
     30#define kvm_pic_in_kernel()      0
     31#define kvm_ioapic_in_kernel()   0
     32
     33#endif  /* CONFIG_KVM */
     34
     35bool kvm_has_smm(void);
     36bool kvm_has_adjust_clock(void);
     37bool kvm_has_adjust_clock_stable(void);
     38bool kvm_has_exception_payload(void);
     39void kvm_synchronize_all_tsc(void);
     40void kvm_arch_reset_vcpu(X86CPU *cs);
     41void kvm_arch_do_init_vcpu(X86CPU *cs);
     42
     43void kvm_put_apicbase(X86CPU *cpu, uint64_t value);
     44
     45bool kvm_enable_x2apic(void);
     46bool kvm_has_x2apic_api(void);
     47bool kvm_has_waitpkg(void);
     48
     49bool kvm_hv_vpindex_settable(void);
     50bool kvm_hyperv_expand_features(X86CPU *cpu, Error **errp);
     51
     52uint64_t kvm_swizzle_msi_ext_dest_id(uint64_t address);
     53
     54bool kvm_enable_sgx_provisioning(KVMState *s);
     55
     56#endif