1/* 2 * Internal definitions for a target's KVM support 3 * 4 * This work is licensed under the terms of the GNU GPL, version 2 or later. 5 * See the COPYING file in the top-level directory. 6 * 7 */ 8 9#ifndef QEMU_KVM_INT_H 10#define QEMU_KVM_INT_H 11 12#include "sysemu/sysemu.h" 13#include "sysemu/accel.h" 14#include "sysemu/kvm.h" 15 16typedef struct KVMSlot 17{ 18 hwaddr start_addr; 19 ram_addr_t memory_size; 20 void *ram; 21 int slot; 22 int flags; 23 int old_flags; 24} KVMSlot; 25 26typedef struct KVMMemoryListener { 27 MemoryListener listener; 28 KVMSlot *slots; 29 int as_id; 30} KVMMemoryListener; 31 32#define TYPE_KVM_ACCEL ACCEL_CLASS_NAME("kvm") 33 34#define KVM_STATE(obj) \ 35 OBJECT_CHECK(KVMState, (obj), TYPE_KVM_ACCEL) 36 37void kvm_memory_listener_register(KVMState *s, KVMMemoryListener *kml, 38 AddressSpace *as, int as_id); 39 40#endif 41