This is the delta between the qemu and qemu-kvm v0.15.1 versions
Signed-off-by: Bruce Rogers <brogers@suse.com>
This commit is contained in:
94
kvm/libkvm/kvm-common.h
Normal file
94
kvm/libkvm/kvm-common.h
Normal file
@@ -0,0 +1,94 @@
|
||||
/*
|
||||
* This header is for functions & variables that will ONLY be
|
||||
* used inside libkvm.
|
||||
*
|
||||
* derived from libkvm.c
|
||||
*
|
||||
* Copyright (C) 2006 Qumranet, Inc.
|
||||
*
|
||||
* Authors:
|
||||
* Avi Kivity <avi@qumranet.com>
|
||||
* Yaniv Kamay <yaniv@qumranet.com>
|
||||
*
|
||||
* This work is licensed under the GNU LGPL license, version 2.
|
||||
*/
|
||||
|
||||
#ifndef KVM_COMMON_H
|
||||
#define KVM_COMMON_H
|
||||
|
||||
/* FIXME: share this number with kvm */
|
||||
/* FIXME: or dynamically alloc/realloc regions */
|
||||
#ifdef __s390__
|
||||
#define KVM_MAX_NUM_MEM_REGIONS 1u
|
||||
#define MAX_VCPUS 64
|
||||
#define LIBKVM_S390_ORIGIN (0UL)
|
||||
#elif defined(__ia64__)
|
||||
#define KVM_MAX_NUM_MEM_REGIONS 32u
|
||||
#define MAX_VCPUS 256
|
||||
#else
|
||||
#define KVM_MAX_NUM_MEM_REGIONS 32u
|
||||
#define MAX_VCPUS 16
|
||||
#endif
|
||||
|
||||
|
||||
/* kvm abi verison variable */
|
||||
extern int kvm_abi;
|
||||
|
||||
/**
|
||||
* \brief The KVM context
|
||||
*
|
||||
* The verbose KVM context
|
||||
*/
|
||||
|
||||
struct kvm_context {
|
||||
/// Filedescriptor to /dev/kvm
|
||||
int fd;
|
||||
int vm_fd;
|
||||
int vcpu_fd[MAX_VCPUS];
|
||||
struct kvm_run *run[MAX_VCPUS];
|
||||
/// Callbacks that KVM uses to emulate various unvirtualizable functionality
|
||||
struct kvm_callbacks *callbacks;
|
||||
void *opaque;
|
||||
/// is dirty pages logging enabled for all regions or not
|
||||
int dirty_pages_log_all;
|
||||
/// do not create in-kernel irqchip if set
|
||||
int no_irqchip_creation;
|
||||
/// in-kernel irqchip status
|
||||
int irqchip_in_kernel;
|
||||
/// ioctl to use to inject interrupts
|
||||
int irqchip_inject_ioctl;
|
||||
/// do not create in-kernel pit if set
|
||||
int no_pit_creation;
|
||||
/// in-kernel pit status
|
||||
int pit_in_kernel;
|
||||
/// in-kernel coalesced mmio
|
||||
int coalesced_mmio;
|
||||
#ifdef KVM_CAP_IRQ_ROUTING
|
||||
struct kvm_irq_routing *irq_routes;
|
||||
int nr_allocated_irq_routes;
|
||||
#endif
|
||||
void *used_gsi_bitmap;
|
||||
int max_gsi;
|
||||
};
|
||||
|
||||
int kvm_alloc_kernel_memory(kvm_context_t kvm, unsigned long memory,
|
||||
void **vm_mem);
|
||||
int kvm_alloc_userspace_memory(kvm_context_t kvm, unsigned long memory,
|
||||
void **vm_mem);
|
||||
|
||||
int kvm_arch_create(kvm_context_t kvm, unsigned long phys_mem_bytes,
|
||||
void **vm_mem);
|
||||
int kvm_arch_run(struct kvm_run *run, kvm_context_t kvm, int vcpu);
|
||||
|
||||
|
||||
void kvm_show_code(kvm_context_t kvm, int vcpu);
|
||||
|
||||
int handle_halt(kvm_context_t kvm, int vcpu);
|
||||
int handle_shutdown(kvm_context_t kvm, void *env);
|
||||
void post_kvm_run(kvm_context_t kvm, void *env);
|
||||
int pre_kvm_run(kvm_context_t kvm, void *env);
|
||||
int handle_io_window(kvm_context_t kvm);
|
||||
int handle_debug(kvm_context_t kvm, int vcpu, void *env);
|
||||
int try_push_interrupts(kvm_context_t kvm);
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user