blob: cb18f23789be1ea159f63b3059341033cafb7315 [file] [log] [blame]
/*
* Kernel-based Virtual Machine test driver
*
* This test driver provides a simple way of testing kvm, without a full
* device model.
*
* Copyright (C) 2006 Qumranet
*
* Authors:
*
* Avi Kivity <avi@qumranet.com>
* Yaniv Kamay <yaniv@qumranet.com>
*
* This work is licensed under the GNU LGPL license, version 2.
*/
#include <stdint.h>
#define MAX_IO_TABLE 50
typedef int (io_table_handler_t)(void *, int, int, uint64_t, uint64_t *);
struct io_table_entry
{
uint64_t start;
uint64_t end;
io_table_handler_t *handler;
void *opaque;
};
struct io_table
{
int nr_entries;
struct io_table_entry entries[MAX_IO_TABLE];
};
struct io_table_entry *io_table_lookup(struct io_table *io_table,
uint64_t addr);
int io_table_register(struct io_table *io_table, uint64_t start, uint64_t size,
io_table_handler_t *handler, void *opaque);